Functionalities for flux trapping analysis#461
Conversation
hughcars
left a comment
There was a problem hiding this comment.
I haven't managed to review the MFEM portion directly yet, but this should be a lot to be going on with. At a high level,
- check running on more than 2 ranks, I was getting errors for 3 or more from geom factors not being initialized etc.
- run with order >= 3, I was getting errors where the computed flux was not matching the target flux, not sure what is causing this directly.
On the interface, broadly think more about how to a) avoid any 3D object allocation within the surface pde solving function and b) pass such objects in as buffers. There are already existing A sized gridfunctions, and even a true sized A buffer that can be used to compute the RHS (The next solution vector has already been allocated, you can use that!)
|
In light of the recently merged #459, let's not forget to save all |
|
@hughcars All your requested changes are addressed. Sorry for the delay. Please have a look and feel free to take over if you feel it is more convenient and efficient that way. |
be9408f to
0d0272c
Compare
This PR adds methods to enable flux trapping analysis in magnetostatic simulations. Key additions are:
GetFluxLoopExcitationVectorincurlcurloperator.cppto compute the RHS for flux excitationsurfacecurlsolver.cpp, along with postprocessing function for verificationmagnetostaticsolver.cppto enable 3D solve using flux BCPostprocessTerminalsto enable inductance calculations in flux-only and mix current-flux setups.geodata.cppto find loop boundary edges on submesh and their orientationsconfigfile.cppto look for flux loop terminals for magnetostatics