Skip to content
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

[WIP] MFEM development #29657

Draft
wants to merge 353 commits into
base: next
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
353 commits
Select commit Hold shift + click to select a range
f606176
Merge pull request #26 from aurora-multiphysics/alexanderianblair/MFE…
alexanderianblair Sep 3, 2024
5c89afa
Added class to map between names and (piecewise) coefficients
cmacmackin Jul 31, 2024
2bc6909
Wrote unit tests for PropertyManager
cmacmackin Aug 30, 2024
7e43945
Implemented PropertyManager (with some minor refactoring)
cmacmackin Aug 30, 2024
33c5184
Adapt kernel and material classes to use PropertyManager class
cmacmackin Sep 4, 2024
a0ad27c
Get Platypus to compile with new design for materials
cmacmackin Sep 3, 2024
df69a2d
Got regression tests passing with new materials
cmacmackin Sep 4, 2024
6827b39
Got everything building post-rebase
cmacmackin Sep 5, 2024
8bb000e
Support for vector function material properties
cmacmackin Sep 5, 2024
4658bbd
Added more material classes
cmacmackin Sep 6, 2024
f6db733
Debugging
cmacmackin Sep 6, 2024
7947dfc
Got unit tests passing with new materials
cmacmackin Sep 6, 2024
e4993f3
Reverted changes to forcing term in curlcurl kernel
cmacmackin Sep 10, 2024
75b7815
Merge pull request #28 from aurora-multiphysics/cmacmackin/materials
alexanderianblair Sep 11, 2024
cc23b7e
Add MFEMMassKernel and its equivalent to act on time derivatives
alexanderianblair Aug 22, 2024
35f6aac
Add templated method to add kernels to kernel maps
alexanderianblair Aug 30, 2024
871ba27
Convert Diffusion test to use Steady executioner
alexanderianblair Aug 30, 2024
4356c57
Add assembly methods for time derivative kernels and heat conduction …
alexanderianblair Aug 30, 2024
80cc571
Add missing gold files
alexanderianblair Aug 30, 2024
f507287
Remove Finalize call in TimeDependentEquationSystem::SetTimeStep caus…
alexanderianblair Aug 31, 2024
6b06bc6
Remove Formulations. Required ProblemBuilder will be automatically se…
alexanderianblair Aug 31, 2024
7722d0d
Add comments explaining conversion of Dirichlet boundary values
alexanderianblair Sep 1, 2024
6ff0490
Fixes to heat conduction test and automatic identification of appropr…
alexanderianblair Sep 3, 2024
82dc3a6
Move method for GetTimeDerivativeName into named_fields_map
alexanderianblair Sep 3, 2024
69c2ce6
Update heat conduction test and MFEMTimeDerivativeMassKernel followin…
alexanderianblair Sep 11, 2024
39c111c
Merge pull request #27 from aurora-multiphysics/alexanderianblair/tim…
alexanderianblair Sep 13, 2024
90b48fe
Move NamedFieldsMap into containers directory
alexanderianblair Sep 3, 2024
f95e671
Remove platypus::InputParameters
alexanderianblair Sep 3, 2024
b2984ad
Add MFEM Executioners
alexanderianblair Sep 4, 2024
56ef15c
Remove unused executioner headers
alexanderianblair Sep 4, 2024
bf64061
Remove unused members of MFEMProblem
alexanderianblair Sep 4, 2024
5d1717c
Fix MFEMTransient for multiple timesteps
alexanderianblair Sep 14, 2024
ebb9e97
Move setDevice, setMesh and addBoundaryCondition logic into MFEMProblem
alexanderianblair Sep 14, 2024
b9afd21
Move operator construction and initialisation of outputs into MFEMPro…
alexanderianblair Sep 17, 2024
f027987
Add getProblemData to MFEMProblem
alexanderianblair Sep 17, 2024
11a5632
Move timestepper initialisation into MFEMTransient
alexanderianblair Sep 26, 2024
0106c24
Remove ConstructState from ProblemBuilders
alexanderianblair Sep 26, 2024
c205a16
Move addition of NewtonSolver into MFEMProblem
alexanderianblair Sep 26, 2024
c171d6a
Remove SetOperatorGridFunctions from ProblemBuilders
alexanderianblair Sep 26, 2024
2c4d3b4
Move InitialiseKernels into MFEMProblem
alexanderianblair Sep 26, 2024
c4f7763
Move RegisterTimeDerivatives into MFEMTransient
alexanderianblair Sep 26, 2024
6125cde
Remove ProblemBuilders
alexanderianblair Sep 26, 2024
67689ca
Rename platypus::Problem to platypus::ProblemData
alexanderianblair Sep 27, 2024
2f9cb48
Move ProblemOperator methods from ProblemData into Executioners and m…
alexanderianblair Sep 27, 2024
ad9a689
Rename ProblemData to MFEMProblemData
alexanderianblair Sep 27, 2024
0f7408b
Add reference to MFEMProblemData in MFEMExecutioners
alexanderianblair Sep 28, 2024
e804ead
Store MFEMProblemData in MFEMProblem directly rather than a shared ptr
alexanderianblair Sep 28, 2024
b8f8df3
Remove coefficients member from MFEMProblem
alexanderianblair Sep 28, 2024
840b4bf
Rename AddProblemBuilderAction to AddProblemOperatorAction
alexanderianblair Sep 28, 2024
49a3cbc
Remove equation system getters from Executioners
alexanderianblair Sep 28, 2024
05b8d73
Remove std::move of EquationSystem in ProblemOperator constructors no…
alexanderianblair Oct 2, 2024
3e170a0
Move mfem::Device into MFEMExecutioners to prevent segfaults on GPU d…
alexanderianblair Oct 2, 2024
8b49d02
Add line break at EOF and clang-format MFEMExecutioner
alexanderianblair Oct 2, 2024
b58617c
Remove SetOperator from Executioners
alexanderianblair Oct 3, 2024
273b943
Remove unused GetOperator in Executioners, and update Executioner met…
alexanderianblair Oct 3, 2024
3cea9ea
Move PropertiesManager into MFEMProblemData and remove redundant head…
alexanderianblair Oct 3, 2024
46d2ff0
Add comment explaining useage of time variables in MFEMSteady
alexanderianblair Oct 3, 2024
40bb9ae
Remove friend class declarations and GLVis references from platypus::…
alexanderianblair Oct 3, 2024
9dad2a3
Merge pull request #29 from aurora-multiphysics/alexanderianblair/hep…
alexanderianblair Oct 3, 2024
2d838d0
Created a FormSystem that takes inn assembly type
Heinrich-BR Sep 26, 2024
93a0c6f
Fixed MFEM deprecated warnings
Heinrich-BR Sep 26, 2024
be26a8b
Added new solvers that can be used with non-legacy assembly
Heinrich-BR Sep 26, 2024
97f7a7d
Added partial assembly diffusion test
Heinrich-BR Sep 26, 2024
122bd36
Fixed syncing issue on Device
Heinrich-BR Sep 26, 2024
4f1cef8
Included rectangular system check
Heinrich-BR Sep 26, 2024
29a6c97
Linting
Heinrich-BR Sep 26, 2024
f19e402
Returned diffusion_partial.i test to CPU
Heinrich-BR Sep 26, 2024
e84ca96
Changed preconditioner to GMRES for more code coverage
Heinrich-BR Sep 27, 2024
6387c00
Added Jacobi Smoother to preconditioners
Heinrich-BR Oct 1, 2024
85a2bb6
Linting
Heinrich-BR Oct 1, 2024
3aa8089
Fixed constructor call
Heinrich-BR Oct 2, 2024
046ecbf
Added matrix-free assembly to options
Heinrich-BR Oct 2, 2024
fa251eb
Review fixes
Heinrich-BR Oct 2, 2024
b557199
Linting
Heinrich-BR Oct 2, 2024
6438fe4
Simplified assembly level assignment
Heinrich-BR Oct 2, 2024
98a4da9
Changed legacy FormSystem to prevent memory leaks and added comment
Heinrich-BR Oct 3, 2024
81ed88d
Changed if clause to switch statement
Heinrich-BR Oct 4, 2024
04684d1
Resolving rebase clashes
Heinrich-BR Oct 4, 2024
1bbd4fc
Linting
Heinrich-BR Oct 4, 2024
6d8801e
Merge pull request #32 from aurora-multiphysics/HenriqueBR/assembly_l…
alexanderianblair Oct 4, 2024
cbf43f5
Remove unnecessary platypus::Outputs in favour of using MOOSE's outpu…
alexanderianblair Oct 7, 2024
04bdabb
Move registration of GridFunctions into an MFEMDataCollections method
alexanderianblair Oct 7, 2024
8ba5abe
Add test covering VisItDataCollection
alexanderianblair Oct 7, 2024
329e176
Added separate directory for diffusion_partial example
Heinrich-BR Oct 8, 2024
858ceed
Merge pull request #35 from aurora-multiphysics/alexanderianblair/out…
alexanderianblair Oct 8, 2024
099458d
Remove unused methods for complex BCs
alexanderianblair Oct 1, 2024
863ad83
Remove Hephaestus boundary conditions
alexanderianblair Oct 1, 2024
feb6cd2
Add MFEMConvectiveHeatFluxBC
alexanderianblair Oct 1, 2024
db94acd
Use correct MFEMExecutioner for heattransfer.i after rebase
alexanderianblair Oct 3, 2024
09a5675
Make time derivative kernel sign convention consistent with native MOOSE
alexanderianblair Oct 3, 2024
921922d
Shorten heattransfer.i test runtime
alexanderianblair Oct 3, 2024
f326c51
Add unit tests for MFEMIntegratedBCs
alexanderianblair Oct 4, 2024
70c50fb
Add ScaleIntegrator
Heinrich-BR Oct 9, 2024
24dd8e1
Added scaled integrator to equation system
Heinrich-BR Oct 9, 2024
07ed7cb
Fixed segfault
Heinrich-BR Oct 9, 2024
36bb4f6
Added partial assembly heat onduction test
Heinrich-BR Oct 9, 2024
fe67170
Merge pull request #36 from aurora-multiphysics/HenriqueBR/diffusion_…
alexanderianblair Oct 9, 2024
71550b7
Fixed Partial Assembly results
Heinrich-BR Oct 10, 2024
29e4752
Fixed element assembly issues
Heinrich-BR Oct 11, 2024
e9e0de7
Linting
Heinrich-BR Oct 11, 2024
f2c6279
Added ScaleIntegrator to platypus namespace and included matrix-free …
Heinrich-BR Oct 11, 2024
2c150e1
Added ScaleIntegrator test and changed heatconduction test to element…
Heinrich-BR Oct 11, 2024
87aa346
Added HeatConductionElement gold files
Heinrich-BR Oct 11, 2024
f9cc4ec
Removed Matrix-Free assembly from ScaleIntegrator, which cannot be te…
Heinrich-BR Oct 11, 2024
d0c1f3c
Merge pull request #33 from aurora-multiphysics/alexanderianblair/hea…
alexanderianblair Oct 14, 2024
f8f15e6
Merge main
Heinrich-BR Oct 16, 2024
8163443
Fixed sign convention
Heinrich-BR Oct 16, 2024
081e2fa
Removed doubled sum integrator
Heinrich-BR Oct 16, 2024
e23b8e3
Copy shared pointer to ParMesh rather than copying mesh
k-collie Oct 17, 2024
da48c19
Merge pull request #40 from aurora-multiphysics/k-collie/fix-mesh-copy
alexanderianblair Oct 17, 2024
e7f46ac
Sign convention fix
Heinrich-BR Oct 18, 2024
b2e0d0c
Check for nullptr bilinear form for integrated BCs
k-collie Oct 21, 2024
c9e0e72
Avoid building equation system twice
k-collie Oct 21, 2024
6cc474c
Use variable coefficient for VectorNormalIntegratedBC
k-collie Oct 21, 2024
37ac352
Add MFEMLinearElasticityKernel
k-collie Oct 21, 2024
9ce8376
Split up MFEMVectorDirichletBC
k-collie Oct 21, 2024
0ab0450
Add MFEMVectorBoundaryIntegratedBC
k-collie Oct 21, 2024
ae6a5e2
Implement mesh updates for steady state problems
k-collie Oct 21, 2024
25b51e2
Add linear elastic beam (MFEM example 2)
k-collie Oct 21, 2024
03c99c0
Use VDIM ordering by default instead of NODES
k-collie Oct 21, 2024
95fc21f
Add class for building and tracking objects
cmacmackin Sep 27, 2024
ff24ae2
Start using ObjectManager for building coefficients
cmacmackin Oct 4, 2024
42716ef
Automatically create coefficients from functions
cmacmackin Oct 3, 2024
0308168
Check properties have been created using an ObjectManager
cmacmackin Oct 3, 2024
bbe52c5
Fix after rebase
cmacmackin Oct 7, 2024
1027c33
Considering some new factory methods
cmacmackin Oct 7, 2024
d06b777
Refactored methods for creating properties
cmacmackin Oct 22, 2024
2c9a34f
Switch to using new interface for managing coefficients
cmacmackin Oct 23, 2024
61b6863
Updated DomainLFKernel to use new coefficient interface
cmacmackin Oct 22, 2024
c951374
Fix unit tests in line with refactoring
cmacmackin Oct 23, 2024
545ffb1
Fix errors from incorrectly handling rebase conflicts
cmacmackin Oct 23, 2024
ba2d916
Add unit tests for getting MFEM coefficients for functions
cmacmackin Oct 23, 2024
20501ec
Correct weak form comment for linear elasticity kernel
k-collie Oct 23, 2024
ff756d6
Fixed integrated BCs for time-dependent problems
Heinrich-BR Oct 23, 2024
1f35c41
Linting
Heinrich-BR Oct 23, 2024
547a0c0
Remove commented out line
Heinrich-BR Oct 23, 2024
7fa4ba0
Use EquationSystem::BuildBilinearForms to assemble time dependent blfs
Heinrich-BR Oct 23, 2024
03fda40
Correct linear elasticity moose class description
k-collie Oct 24, 2024
82f5005
Rename Curl->Tangential, Div->Normal in Vector Dirichlet BCs
k-collie Oct 24, 2024
72b5f6a
Remove MFEMVectorNormalDirichletBC
k-collie Oct 24, 2024
b7c81da
PR review fixes
Heinrich-BR Oct 24, 2024
d3a85c8
Merge pull request #37 from aurora-multiphysics/HenriqueBR/assembly_l…
alexanderianblair Oct 28, 2024
d6dba27
Match doc and comment for LinearElasticity integrator with MFEM
k-collie Oct 30, 2024
f0ecf34
Add nullptr check for linear form components of BCs
k-collie Oct 30, 2024
d8a706f
Merge pull request #41 from aurora-multiphysics/k-collie/linear-elastic
alexanderianblair Oct 30, 2024
1a40f3c
Add MFEMConduitDataCollection
Heinrich-BR Oct 31, 2024
76efddf
Linting
Heinrich-BR Oct 31, 2024
494dcbb
Remove _high_order_output variable from VisIt class
Heinrich-BR Oct 31, 2024
0cadf2f
Convert BCs no longer to expose coefficients to end-user
cmacmackin Oct 31, 2024
d3e149e
Removed references to Platypus coefficient classes
cmacmackin Oct 31, 2024
35f6c8c
Fixed failing tests to use new BCs
cmacmackin Nov 4, 2024
12907da
Add convenience methods for creating tracked coefficients
cmacmackin Nov 4, 2024
2c48a6c
Merge remote-tracking branch 'origin/main' into cmacmackin/coefficients
cmacmackin Nov 4, 2024
e6bac91
Merge branch 'cmacmackin/coefficients' into cmacmackin/bc_coefficients
cmacmackin Nov 4, 2024
749b2ba
Added function versions of new BCs
cmacmackin Nov 4, 2024
1023413
Merge pull request #42 from aurora-multiphysics/cmacmackin/coefficients
alexanderianblair Nov 4, 2024
c26ad97
Add Platypus Problem and EquationSystem docs
alexanderianblair Oct 29, 2024
806e9ed
Add documentation for kernels and boundary conditions
alexanderianblair Oct 29, 2024
92ba76d
Apply Nuno's review suggestions for kernel and BC documentation
alexanderianblair Oct 31, 2024
1436952
Use hat notation for surface normals in docs, and correct bug introdu…
alexanderianblair Oct 31, 2024
05ea584
Add MFEMMesh, MFEMFESpace and MFEMVariable docs
alexanderianblair Oct 30, 2024
c5433dc
Add backticks around additional class names in MFEMVariable and MFEMF…
alexanderianblair Nov 4, 2024
820a2f1
Add missing backticks around mfem::ParGridFunction in MFEMVariable do…
alexanderianblair Nov 4, 2024
d8c7f87
Add documentation for solvers and outputs
alexanderianblair Oct 30, 2024
cf46705
Fix issues in MFEMVectorDirichletBC class descriptions
alexanderianblair Nov 4, 2024
ee7cb99
Add documentation for Platypus Actions
alexanderianblair Oct 29, 2024
07446cc
Merge pull request #49 from aurora-multiphysics/alexanderianblair/doc…
alexanderianblair Nov 4, 2024
2177380
Add material and coefficient documentation
alexanderianblair Oct 30, 2024
4372e21
Remove reference to MFEMCoefficient objects from test configs
cmacmackin Nov 4, 2024
5b5ebbf
Merge branch 'main' into HenriqueBR/conduit_support
Heinrich-BR Nov 5, 2024
50aecfd
Merge pull request #47 from aurora-multiphysics/alexanderianblair/doc…
alexanderianblair Nov 5, 2024
849f1fb
Fixed error when converting tests to use new BCs
cmacmackin Nov 5, 2024
a5232c7
Added tests for new integrated BCs
cmacmackin Nov 5, 2024
9f7779a
Use convenience function to build coefficient objects
cmacmackin Nov 5, 2024
75f0de4
Changed protocol member from string to enum
Heinrich-BR Nov 5, 2024
bfbcfe0
Add documentation for additional vector Dirichlet and integrated BCs …
alexanderianblair Nov 19, 2024
ccaf4b6
Add documentation for the linear elasticity kernel and its correspond…
alexanderianblair Nov 19, 2024
ae4892b
Move equation_system_interface into ProblemOperators where it is used
alexanderianblair Nov 19, 2024
f5fd804
Add MFEMVectorNormalDirichletBC
k-collie Nov 5, 2024
cce570d
Add MFEMDivDivKernel
k-collie Nov 14, 2024
13628e9
Add HypreADS preconditioner
k-collie Nov 18, 2024
c1171bf
Fixed file hierarchy issue preventing VisIt from opening Conduit files
Heinrich-BR Nov 29, 2024
e937107
Add grad-div test
k-collie Nov 14, 2024
ab9668b
Merge branch 'main' into HenriqueBR/conduit_support
Heinrich-BR Dec 9, 2024
c5aa077
Merge pull request #58 from aurora-multiphysics/k-collie/grad-div-pro…
alexanderianblair Dec 9, 2024
fe9b6c7
Merge pull request #50 from aurora-multiphysics/HenriqueBR/conduit_su…
alexanderianblair Dec 9, 2024
71c8c84
Merge remote-tracking branch 'origin/main' into cmacmackin/bc_coeffic…
Dec 11, 2024
1719b21
Added docs and a function version of vector normal Dirichlet BC
Dec 11, 2024
6f5e5f4
Fixed compile bug in normal dirichlet BCs
Dec 11, 2024
e3dd505
Removed Coefficient objects from test
cmacmackin Dec 16, 2024
4d7a633
Fixed up BC for graddiv test and added missing documentation
cmacmackin Dec 16, 2024
9c57e3c
Still trying to fix graddiv
cmacmackin Dec 16, 2024
5977851
Merge pull request #53 from aurora-multiphysics/cmacmackin/bc_coeffic…
alexanderianblair Dec 17, 2024
e69ef34
Add a kernel supporting the addition of an mfem::VectorDomainLFIntegr…
alexanderianblair Nov 13, 2024
d243454
Use a Material for the body force coefficient in MFEMVectorDomainLFKe…
alexanderianblair Nov 14, 2024
3c5ad0c
Add support for an FESpace to be provided to HypreBoomerAMG to set ad…
alexanderianblair Nov 14, 2024
dcb88f4
Add strength threshold option to HypreBoomerAMG wrapper
alexanderianblair Nov 14, 2024
cf4b0af
Add a scalar boundary integrated BC for Neumann H1 BCs
alexanderianblair Nov 15, 2024
c70e072
Use a reference to a property in MFEMScalarBoundaryIntegratedBC
alexanderianblair Dec 10, 2024
70ea705
Add test for beam deformation under gravitational loads
alexanderianblair Dec 10, 2024
b563b69
Use vdim ordering for HypreBoomerAMG FESpace ordering in gravity test
alexanderianblair Dec 10, 2024
b48393b
Fix gravity loaded kernel test after rebase
alexanderianblair Dec 18, 2024
162ad98
Merge pull request #65 from aurora-multiphysics/alexanderianblair/h1-…
alexanderianblair Dec 18, 2024
59becf8
Fix broken transient problems in parallel by switching to use of ParG…
alexanderianblair Dec 19, 2024
087d573
Fix issue causing parallel transient problems to output a zero solution
alexanderianblair Dec 19, 2024
27d5474
Merge pull request #70 from aurora-multiphysics/alexanderianblair/par…
alexanderianblair Dec 19, 2024
869cd3a
Do includes/libraries based more off a traditional installation
lindsayad Nov 11, 2024
8709ad3
Code linting
lindsayad Dec 19, 2024
fb49232
More code linting
nmnobre Dec 19, 2024
c299f3c
Merge pull request #56 from lindsayad/leverage-actual-mfem-installation
alexanderianblair Dec 20, 2024
31820c8
Merge platypus content into moose mfem
loganharbour Jan 7, 2025
3d7e7fb
New round of file copies from Platypus to MOOSE
lindsayad Jan 9, 2025
5f7d8e2
Update configure for newer autotools
lindsayad Jan 2, 2025
e249042
Add configure support for mfem
lindsayad Jan 2, 2025
2b207eb
autoreconf to get changes for mfem
lindsayad Jan 2, 2025
63971a8
Update moose.mk
lindsayad Jan 2, 2025
f7fe617
Extend not ignore output rules to subdirectores of gold
lindsayad Jan 2, 2025
f8f7c2b
Ignore MFEM OutputData
lindsayad Jan 2, 2025
aa5cf79
Ignore warnings around mfem includes
lindsayad Jan 2, 2025
84e36ca
Eliminate compilation warnings from migrated platypus code
lindsayad Jan 2, 2025
3bbf0ef
Make sure to get mfem tpl headers
lindsayad Jan 2, 2025
7172a96
Add Platypus tasks/syntax to Moose.C if MFEM enabled
lindsayad Jan 2, 2025
fe35755
Change PlatypusApp object/action registration to MooseApp
lindsayad Jan 2, 2025
88686ee
Remove trailing whitespace from input files
lindsayad Jan 2, 2025
0319164
whitespace/newline formatting
lindsayad Jan 2, 2025
4ec8d5b
Remove non-unicode characters
lindsayad Jan 3, 2025
0243148
Remove catch-by-value polymorphic type warnings
lindsayad Jan 6, 2025
af966ef
Wrap Platypus code with ifdefs
lindsayad Jan 6, 2025
1001cdf
Add test spec options for mfem
lindsayad Jan 6, 2025
15a2242
version check fixes
lindsayad Jan 6, 2025
63a1506
Add mfem submodule
loganharbour Jan 2, 2025
ede10d7
Add conduit submodule
loganharbour Jan 2, 2025
1754237
Add mfem install to moose-dev container
loganharbour Jan 2, 2025
c8fa722
Update moose-dev
loganharbour Jan 2, 2025
dce66ff
libmesh_dbg_var wrap manager param
lindsayad Jan 7, 2025
ddc1a09
Resolve compiler warning: catch by ref
loganharbour Jan 8, 2025
bf2c55c
Add missing includes for non-unity builds
lindsayad Jan 9, 2025
b27d4fd
Move mfem_kernels into mfem/kernels
lindsayad Jan 9, 2025
3b577bd
Delete trailing whitespace
lindsayad Jan 9, 2025
a436ec6
Remove non-unicode characters
lindsayad Jan 9, 2025
452d4ec
Guard with MFEM_ENABLED
lindsayad Jan 9, 2025
14f9d60
Remove warnings
lindsayad Jan 9, 2025
112b2d4
Use MooseUnit instead of Platypus
lindsayad Jan 9, 2025
87162e5
FuncionTest throws on function addition
lindsayad Jan 9, 2025
f53dacd
don't use cout
lindsayad Jan 9, 2025
a8b8940
Convert FunctionBCs to FunctorBCs accepting Coefficient inputs formed…
alexanderianblair Dec 17, 2024
fe8f147
Some MFEM development in support of traditional MOOSE use
lindsayad Nov 26, 2024
d8545b9
update some const and pass-by-ref
lindsayad Dec 3, 2024
3348afe
Add support for named boundaries
lindsayad Jan 10, 2025
574ddcf
Create MFEM version of Namjae's conduction test
lindsayad Nov 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
31 changes: 22 additions & 9 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -108,15 +108,15 @@ framework/contrib/libtorch
test.cache

# Allow certain files in gold directories
!**/gold/*.e
!**/gold/*.e-s*
!**/gold/*.csv
!**/gold/*.csv.*
!**/gold/*.vtk
!**/gold/*.vtu
!**/gold/*.pvtu
!**/gold/*.xml*
!**/gold/*.json*
!**/gold/**/*.e
!**/gold/**/*.e-s*
!**/gold/**/*.csv
!**/gold/**/*.csv.*
!**/gold/**/*.vtk
!**/gold/**/*.vtu
!**/gold/**/*.pvtu
!**/gold/**/*.xml*
!**/gold/**/*.json*

peacock_run_tmp.i
yaml_dump*
Expand Down Expand Up @@ -338,3 +338,16 @@ share/
*.hpc_out.txt
*.hpc_result
*.hpc_submit

# MFEM output
OutputData
!**/gold/**/OutputData
!**/gold/**/OutputData/**/*.e
!**/gold/**/OutputData/**/*.e-s*
!**/gold/**/OutputData/**/*.csv
!**/gold/**/OutputData/**/*.csv.*
!**/gold/**/OutputData/**/*.vtk
!**/gold/**/OutputData/**/*.vtu
!**/gold/**/OutputData/**/*.pvtu
!**/gold/**/OutputData/**/*.xml*
!**/gold/**/OutputData/**/*.json*
8 changes: 8 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -47,3 +47,11 @@
path = modules/fluid_properties/contrib/carbon_dioxide
url = https://github.com/idaholab/carbon_dioxide.git
update = none
[submodule "framework/contrib/mfem"]
path = framework/contrib/mfem
url = ../../mfem/mfem.git
update = none
[submodule "framework/contrib/conduit"]
path = framework/contrib/conduit
url = https://github.com/LLNL/conduit.git
update = none
4 changes: 2 additions & 2 deletions aclocal.m4
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# generated automatically by aclocal 1.16.1 -*- Autoconf -*-
# generated automatically by aclocal 1.16.5 -*- Autoconf -*-

# Copyright (C) 1996-2018 Free Software Foundation, Inc.
# Copyright (C) 1996-2021 Free Software Foundation, Inc.

# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
Expand Down
80 changes: 65 additions & 15 deletions apptainer/moose-dev.def
Original file line number Diff line number Diff line change
Expand Up @@ -7,31 +7,47 @@

{#- Optional jinja arguments -#}
{#- CONDA_ALT_CHANNEL: An alternate channel to add to conda -#}
{#- CONDUIT_GIT_SHA: The git SHA to use for conduit -#}
{#- CONDUIT_GIT_REMOTE: The git remote to use to get conduit -#}
{#- MFEM_GIT_SHA: The git SHA to use for MFEM -#}
{#- MFEM_GIT_REMOTE: The git remote to use to get MFEM -#}
{#- MFEM_OPTIONS: Options to pass to mfem build -#}
{#- MOOSE_TOOLS_VERSION: The version to pin moose-tools to (if any) -#}
{#- MOOSE_JOBS: Number of jobs to pass to the builds -#}
{#- WITH_LIBTORCH: The libtorch distribution to use (cpu, cu121, etc); default: cpu -#}
{#- PROFILING: Set to anything to build for profiling (add gperftools) -#}
{#- WITH_LIBTORCH: The libtorch distribution to use (cpu, cu121, etc); default: cpu -#}
{#- WITH_MFEM: Whether or not to build mfem (default: 1 to build, 0 to not build) -#}

{#- Set WITH_LIBTORCH default if not set -#}
{%- if WITH_LIBTORCH is not defined %}
{%- set WITH_LIBTORCH = 'cpu' %}
{%- endif %}
{#- Set WITH_MFEM default if not set -#}
{%- if WITH_MFEM is not defined %}
{%- set WITH_MFEM = '1' %}
{%- endif %}

{#- The within-container build directory to use -#}
{%- set ROOT_BUILD_DIR = '/root/build' -%}

{#- Location to install miniforge3 -#}
{%- set MOOSE_MINIFORGE = '/opt/miniforge3' -%}

{#- The installation location for wasp -#}
{%- set WASP_DIR = '/opt/wasp' -%}
{#- Name of the environment to create in conda -#}
{%- set MOOSE_CONDA_ENV_NAME = 'moose' -%}

{#- The installation location for gperftools -#}
{%- set GPERF_DIR = '/opt/gperftools' -%}
{#- The installation location for pprof -#}
{%- set PPROF_DIR = '/opt/pprof' -%}
{#- The installation location for libtorch -#}
{%- set LIBTORCH_DEST = '/opt' -%}

{%- set LIBTORCH_DIR = '/opt/libtorch' -%}
{#- The script used to install mfem -#}
{%- set MFEM_BUILD_SCRIPT = 'update_and_rebuild_mfem.sh' -%}
{#- The installation location for mfem -#}
{%- set MFEM_DIR = '/opt/mfem' -%}
{#- The installation location for wasp -#}
{%- set WASP_DIR = '/opt/wasp' -%}
{#- The script used to install wasp -#}
{%- set WASP_BUILD_SCRIPT = 'update_and_rebuild_wasp.sh' -%}

Expand All @@ -50,9 +66,13 @@ Fingerprints: 0CFFCAB55E806363601C442D211817B01E0911DB
export WASP_DIR={{ WASP_DIR }}
export PATH=${WASP_DIR}/bin:$PATH

{%- if WITH_MFEM %}
export MFEM_DIR={{ MFEM_DIR }}
{%- endif %}

{%- if WITH_LIBTORCH %}
# Make libtorch visible to moose
export LIBTORCH_DIR={{ LIBTORCH_DEST }}/libtorch
export LIBTORCH_DIR={{ LIBTORCH_DIR }}
# Adding this to not get GPU initialization errors from MPICH
export MPIR_CVAR_ENABLE_GPU=0
{%- endif %}
Expand Down Expand Up @@ -105,17 +125,9 @@ Fingerprints: 0CFFCAB55E806363601C442D211817B01E0911DB
chmod 755 /opt/code-server/bin/*
chmod 644 /opt/code-server/extensions/*

# Clone WASP
cd ${ROOT_BUILD_DIR}
WASP_SRC_DIR=${ROOT_BUILD_DIR}/wasp
git clone ${WASP_GIT_REMOTE} ${WASP_SRC_DIR}
cd ${WASP_SRC_DIR}
git checkout ${WASP_GIT_SHA}
git submodule update --init --recursive

{%- if WITH_LIBTORCH %}
# Libtorch-related vars
LIBTORCH_DEST={{ LIBTORCH_DEST }}
LIBTORCH_DEST=$(realpath -m {{ LIBTORCH_DIR }}/..)
LIBTORCH_VER=2.1.0
LIBTORCH_DISTRIBUTION={{ WITH_LIBTORCH }}

Expand All @@ -134,6 +146,35 @@ Fingerprints: 0CFFCAB55E806363601C442D211817B01E0911DB
{%- endif %}
{%- endif %}

{%- if WITH_MFEM %}
# Load MFEM jinja variables
CONDUIT_GIT_SHA={{ CONDUIT_GIT_SHA }}
CONDUIT_GIT_REMOTE={{ CONDUIT_GIT_REMOTE }}
CONDUIT_DIR={{ CONDUIT_DIR }}
MFEM_BUILD_SCRIPT=${ROOT_BUILD_DIR}/{{ MFEM_BUILD_SCRIPT }}
MFEM_DIR={{ MFEM_DIR }}
MFEM_GIT_SHA={{ MFEM_GIT_SHA }}
MFEM_GIT_REMOTE={{ MFEM_GIT_REMOTE }}

# Clone conduit
cd ${ROOT_BUILD_DIR}
git clone $CONDUIT_GIT_REMOTE
CONDUIT_SRC_DIR=${ROOT_BUILD_DIR}/conduit
cd ${CONDUIT_SRC_DIR}
git checkout $CONDUIT_GIT_SHA
git submodule update --init

# Clone MFEM
cd ${ROOT_BUILD_DIR}
git clone $MFEM_GIT_REMOTE
MFEM_SRC_DIR=${ROOT_BUILD_DIR}/mfem
cd ${MFEM_SRC_DIR}
git checkout $MFEM_GIT_SHA

# Install MFEM
MFEM_DIR=${MFEM_DIR} MFEM_SRC_DIR=${MFEM_SRC_DIR} CONDUIT_SRC_DIR=${CONDUIT_SRC_DIR} ${MFEM_BUILD_SCRIPT} {{ MFEM_OPTIONS }}
{%- endif %}

# Install miniforge in MOOSE_MINIFORGE
MINIFORGE_SCRIPT=${ROOT_BUILD_DIR}/miniforge3.sh
curl -L https://github.com/conda-forge/miniforge/releases/download/${MINIFORGE_VERSION}/Miniforge3-${MINIFORGE_VERSION}-Linux-x86_64.sh -o ${MINIFORGE_SCRIPT}
Expand All @@ -156,6 +197,14 @@ Fingerprints: 0CFFCAB55E806363601C442D211817B01E0911DB
# Needed for coverage
pip3 --no-cache install lcov-cobertura

# Clone WASP
cd ${ROOT_BUILD_DIR}
WASP_SRC_DIR=${ROOT_BUILD_DIR}/wasp
git clone ${WASP_GIT_REMOTE} ${WASP_SRC_DIR}
cd ${WASP_SRC_DIR}
git checkout ${WASP_GIT_SHA}
git submodule update --init --recursive

# Build and install wasp
# This is redundant; hopefully we can use the one from conda in the future
WASP_SRC_DIR=${WASP_SRC_DIR} ${WASP_BUILD_SCRIPT} -D CMAKE_INSTALL_PREFIX:STRING=${WASP_DIR}
Expand Down Expand Up @@ -204,6 +253,7 @@ Fingerprints: 0CFFCAB55E806363601C442D211817B01E0911DB
%files
{{ FILES_DIR }}/opt/code-server/bin/code-server-setup-extensions /opt/code-server/bin/code-server-setup-extensions
{{ FILES_DIR }}/opt/code-server/bin/code-server-start /opt/code-server/bin/code-server-start
{{ MOOSE_DIR }}/scripts/{{ MFEM_BUILD_SCRIPT }} {{ ROOT_BUILD_DIR }}/{{ MFEM_BUILD_SCRIPT }}
{{ MOOSE_DIR }}/scripts/{{ WASP_BUILD_SCRIPT }} {{ ROOT_BUILD_DIR }}/{{ WASP_BUILD_SCRIPT }}
{{ MOOSE_DIR }}/scripts/configure_wasp.sh {{ ROOT_BUILD_DIR }}/configure_wasp.sh
{%- if WITH_LIBTORCH %}
Expand Down
2 changes: 1 addition & 1 deletion conda/moose-dev/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# REMEMBER TO UPDATE the .yaml files for the following packages:
# moose/conda_build_config.yaml
# As well as any directions pertaining to modifying those files.
{% set version = "2024.12.23" %}
{% set version = "2025.01.07" %}

package:
name: moose-dev
Expand Down
2 changes: 1 addition & 1 deletion conda/moose/conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ mpi:
- openmpi

moose_dev:
- moose-dev 2024.12.23
- moose-dev 2025.01.07

#### Darwin SDK SYSROOT
CONDA_BUILD_SYSROOT: # [osx]
Expand Down
2 changes: 2 additions & 0 deletions conf_vars.mk.in
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@ libPNG_INCLUDE := @LIBPNG_INCLUDES@
PREFIX := @prefix@
ENABLE_LIBTORCH := @libtorch_support@
LIBTORCH_DIR := @libtorch_library@
ENABLE_MFEM := @mfem_support@
MFEM_DIR := @mfem_library@
Loading