-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Globally constrained current flow on closed toroidal domain #31405
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Globally constrained current flow on closed toroidal domain #31405
Conversation
… SubMesh for the cut transition region
…ribute labelling topologically closed subdomain divided by cut
…MFEMCutTransitionSubMesh, since this is now handled within MFEM's submesh creation
…ation over all mesh elements
…ing of cut vertices and elements
…ributes of domains split by transition region
Job Coverage, step Generate coverage on 292dcef wanted to post the following: Framework coverage
Modules coverageCoverage did not change Full coverage reportsReports
This comment will be updated on new commits. |
…eated with MFEMDomainSubmesh. Refs idaholab#31404
… condition using a DomainSubMesh boundary. Refs idaholab#31404
framework/doc/content/source/mfem/kernels/MFEMMixedGradGradKernel.md
Outdated
Show resolved
Hide resolved
framework/doc/content/source/mfem/kernels/MFEMMixedGradGradKernel.md
Outdated
Show resolved
Hide resolved
Co-authored-by: Alex Lindsay <alexander.lindsay@inl.gov>
Job Precheck, step Clang format on 1ba016a wanted to post the following: Your code requires style changes. A patch was auto generated and copied here
Alternatively, with your repository up to date and in the top level of your repository:
|
Adds an MFEM example enforcing a global (topological) constraint on the loop voltage of a closed toroidal conductor to drive a non-trivial current flow. Closes #31404.
Solution originally based on the method detailed here, as implemented in the MFEM-based library hephaestus, but with a number of fixes to the hephaestus implementation for adding transition regions in parallel and from multiple domains.
Adds a new SubMesh class to specify the set of elements adjacent to a planar cut surface, used to define the (constrained) source field.
Also adds a number of auxiliary AuxKernels and ICs as required to impose the constraint and for testing:
MFEMSumAux
for storing the sum of twoMFEMVariables
, used to combine the external and internal fields hereMFEMScalarBoundaryIC
, for specifying an initial condition on a scalar variable on a boundary, used here set the constrained values of an auxiliary source potential on the cut planeMFEMMixedGradGradKernel
andMFEMMixedVectorMassKernel
, to addMixedBilinearFormIntegrators
similar to the diffusion and vector mass integrators, but for cases where the test and trial variable may differ - used here for adding source terms to the weak formMFEMVectorFEInnerProductIntegralPostprocessor
, to report the integral of the dot product of two vector MFEM variables, used here to report the power dissipated by the coil as a test metric.Additional documentation has also been added to the MFEM examples index detailing the method implemented in the new test.