Replies: 2 comments 1 reply
|
Woah, before holiday I was also looking into extending the minimizer to include magnetoelastics, but it seems you are further along than I am.
world.timesolver.timestep = choose_starting_timestep
world.timesolver._impl.run(duration) # notice _impl
By the way, how are you extending the minimizer? I was thinking of setting the velocity to 0, then using the force density directly as the step direction for the displacement, as that is the energy descent direction, similar to torque for magnetization. Magnetic and elastic equations would get their own Barzilai Borwein step sizes. |
|
In regards to 1): I found your (very nice) plotting code, and it seems the stepsize problem is actually because the no-traction boundary conditions are causing the displacement to break for some simulations? This is running magnetoelastic.py from #60, but with 2 minor changes: No PBC, by changing and setting the driving field to 0, so there is no excitation (just to rule out that it was pumping energy into the system or something). This is also with the same 5e4 amplification in the original script for the graphic magnetoelastic.mp4I did try removing the rigidmodes from the dynamic solver as well, just to make sure translation/rotation weren't causing the weird graphics, but that doesn't really seems to change this output. So it seems to be something real, not just due to the sample translating/rotating. The vortex/donut has a similar break, except a bit more violent: magnetoelastic.mp4 |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Hi,
I am working on extending the minimizer to allow for magnetoelastics. The initial results are promising and it works as expected, I just need to do some final cleanup and I hope to be able to share it soon. To verify the results, I am comparing it to some long runs using the dynamics solver. I ran into a few issues with the runs():
In Add adaptive time stepping to elastic sims via enum in Variable #60 , is the adaptive timestep known to collapse to very small values (~1e-15 to ~1e-16, it basically stops) for certain problems? The PR mentions looking at
sensibletimestep, so you may already be aware of this. I can send a test script, I'm not sure if this is expected or not.How are boundary conditions handled when you have a geometry that doesn't fill the simulation box? I was peeking through, and Magnetoelasticity #4 mentions only free BC's are currently implemented. However, the displacements outside the geometry are being pinned to 0,0,0 , so it seems to be doing something.
Uniform displacements and rotations seem to build up over long run()'s, is there a way to subtract them off? Similar to how you would normalize the magnetization. I suppose this isn't a huge deal since it shouldn't affect the dynamics, it just messes with the plots unless some post-processing is done?
edit:
It looks like the minimizer's lastDu is sensitive to those uniform rigid modes
All reactions