Skip to content
This repository was archived by the owner on Sep 26, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 27 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
9b80799
Store FunctionCoefficients in the PropertyManager
alexanderianblair Dec 17, 2024
db2c0c1
Expect std::string rather than FunctionName for coefficient names in …
alexanderianblair Dec 17, 2024
a926258
Rename FunctionBCs to FunctorBCs
cmacmackin Mar 31, 2025
8b1b64b
Define type aliases for MFEM coefficient names for readability in inputs
alexanderianblair Dec 18, 2024
8fb1f58
Add helper methods to MFEMGeneralUserObject for fetching properties
alexanderianblair Dec 18, 2024
72bdbc5
Add _vec_coef_name reference to BCs and Kernels using vector coeffici…
alexanderianblair Dec 18, 2024
2de0f03
Rename MFEMScalarBoundaryIntegratedBC to MFEMScalarFunctorBoundaryInt…
cmacmackin Mar 31, 2025
df9902b
Fix old MFEMScalarBoundaryIntegratedBC references in MFEMIntegratedBC…
alexanderianblair Dec 18, 2024
ceac33f
Rename MFEMScalarBoundaryIntegratedBC source documentation to match c…
alexanderianblair Dec 18, 2024
11a4d38
Adopting new nomenclature for coefficients versus properties
cmacmackin Mar 31, 2025
ed56fb3
Further clarified distinction between coefficients and properties
cmacmackin Mar 31, 2025
f520954
Updated names in documentation
cmacmackin Mar 31, 2025
f2de76d
Fixed assertion error when building functions
cmacmackin Mar 31, 2025
59efcd2
Refactored so only need to return references to coefficients
cmacmackin Apr 1, 2025
15ff1e1
Adopted the functor name in more places
cmacmackin Apr 1, 2025
087b19c
Changed references to functions in documentation
cmacmackin Apr 2, 2025
0979c80
Updated documentation for renamed materials
cmacmackin Apr 2, 2025
fefaefa
Got regression tests running properly
cmacmackin Apr 2, 2025
dc5013c
Ensure coefficients all made with same factory
cmacmackin Apr 2, 2025
9c795f8
Add methods to check if FESpace is for scalars or vectors
cmacmackin Apr 3, 2025
7639b41
Add support for using postprocessors and (aux)variables as functors
cmacmackin Apr 3, 2025
6f5ec88
Wrote test for adding alias coefficients
cmacmackin Apr 3, 2025
62467c3
Changed references "properties" to "coefficients"
cmacmackin Apr 3, 2025
a4c061d
Simplified interface for creating coefficients
cmacmackin Apr 4, 2025
3938479
getProperties() -> GetCoefficients()
cmacmackin Apr 4, 2025
fa3cc01
Removed separate factory class for creating coefficients
cmacmackin Apr 4, 2025
edf7150
Consistently use "coefficient" as parameter name
cmacmackin Apr 29, 2025
c7c3421
Switch from using location in memory to MOOSE unique name
cmacmackin May 2, 2025
fcae0b6
Fixed typo
cmacmackin May 2, 2025
51cbaab
Replace references to "functor" with "coefficient" in documentation
cmacmackin May 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion doc/content/source/bcs/MFEMConvectiveHeatFluxBC.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Adds the boundary integrator for integrating the bilinear form
!equation
\lambda(u-u_0, v)_{\partial\Omega} \,\,\, \forall v \in V

where $u, v \in H^1$ are the test and trial variables, and $\lambda, u_0$ are scalar functions on the boundary independent of $u$.
where $u, v \in H^1$ are the test and trial variables, and $\lambda, u_0$ are scalar functors on the boundary independent of $u$.

This boundary condition is particularly useful for thermal problems, where it can be used to
represent a heat transfer boundary condition
Expand Down
21 changes: 0 additions & 21 deletions doc/content/source/bcs/MFEMScalarBoundaryIntegratedBC.md

This file was deleted.

19 changes: 0 additions & 19 deletions doc/content/source/bcs/MFEMScalarFunctionDirichletBC.md

This file was deleted.

21 changes: 21 additions & 0 deletions doc/content/source/bcs/MFEMScalarFunctorBoundaryIntegratedBC.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# MFEMScalarFunctorBoundaryIntegratedBC

## Summary

!syntax description /BCs/MFEMScalarFunctorBoundaryIntegratedBC

## Overview

Adds the boundary integrator for integrating the linear form

!equation
(f, v)_{\partial\Omega} \,\,\, \forall v \in V

where the test variable $v \in H^1$ and $f$ is a scalar coefficient. Often used for representing
Neumann-type boundary conditions.

!syntax parameters /BCs/MFEMScalarFunctorBoundaryIntegratedBC

!syntax inputs /BCs/MFEMScalarFunctorBoundaryIntegratedBC

!syntax children /BCs/MFEMScalarFunctorBoundaryIntegratedBC
19 changes: 19 additions & 0 deletions doc/content/source/bcs/MFEMScalarFunctorDirichletBC.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# MFEMScalarFunctorDirichletBC

## Summary

!syntax description /BCs/MFEMScalarFunctorDirichletBC

## Overview

Boundary condition for enforcing an essential (Dirichlet) condition on
a scalar variable on the boundary, fixing its values to the input
scalar functor on the boundary.

## Example Input File Syntax

!syntax parameters /BCs/MFEMScalarFunctorDirichletBC

!syntax inputs /BCs/MFEMScalarFunctorDirichletBC

!syntax children /BCs/MFEMScalarFunctorDirichletBC
22 changes: 0 additions & 22 deletions doc/content/source/bcs/MFEMVectorFunctionBoundaryIntegratedBC.md

This file was deleted.

20 changes: 0 additions & 20 deletions doc/content/source/bcs/MFEMVectorFunctionDirichletBC.md

This file was deleted.

21 changes: 0 additions & 21 deletions doc/content/source/bcs/MFEMVectorFunctionNormalDirichletBC.md

This file was deleted.

21 changes: 0 additions & 21 deletions doc/content/source/bcs/MFEMVectorFunctionNormalIntegratedBC.md

This file was deleted.

21 changes: 0 additions & 21 deletions doc/content/source/bcs/MFEMVectorFunctionTangentialDirichletBC.md

This file was deleted.

22 changes: 22 additions & 0 deletions doc/content/source/bcs/MFEMVectorFunctorBoundaryIntegratedBC.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# MFEMVectorFunctorBoundaryIntegratedBC

## Summary

!syntax description /BCs/MFEMVectorFunctorBoundaryIntegratedBC

## Overview

Adds the boundary integrator for integrating the linear form

!equation
(\vec f, \vec v)_{\partial\Omega} \,\,\, \forall \vec v \in V

where $v \in \vec H^1$ and $\vec f$ is a vector functor of the same dimension.

## Example Input File Syntax

!syntax parameters /BCs/MFEMVectorFunctorBoundaryIntegratedBC

!syntax inputs /BCs/MFEMVectorFunctorBoundaryIntegratedBC

!syntax children /BCs/MFEMVectorFunctorBoundaryIntegratedBC
20 changes: 20 additions & 0 deletions doc/content/source/bcs/MFEMVectorFunctorDirichletBC.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# MFEMVectorFunctorDirichletBC

## Summary

!syntax description /BCs/MFEMVectorFunctorDirichletBC

## Overview

Boundary condition for enforcing an essential (Dirichlet) boundary condition on all components of a
vector $H^1$ conforming variable on the boundary. The boundary value is a functor of space and/or time.

## Example Input File Syntax

!listing test/tests/kernels/linearelasticity.i block=BCs

!syntax parameters /BCs/MFEMVectorFunctorDirichletBC

!syntax inputs /BCs/MFEMVectorFunctorDirichletBC

!syntax children /BCs/MFEMVectorFunctorDirichletBC
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# MFEMVectorFunctionDirichletBCBase
# MFEMVectorFunctorDirichletBCBase

## Summary

Base class for objects applying essential boundary conditions on vector variables in an MFEM FE problem.

## Overview

Classes deriving from `MFEMVectorFunctionDirichletBCBase` are used for the application of Dirichlet-like BCs that
Classes deriving from `MFEMVectorFunctorDirichletBCBase` are used for the application of Dirichlet-like BCs that
remove degrees of freedom from vector variables in the problem on the specified boundary. These are commonly used when
strongly constraining the values a solution may take on boundaries. The imposed values may vary in space and/or time.
21 changes: 21 additions & 0 deletions doc/content/source/bcs/MFEMVectorFunctorNormalDirichletBC.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# MFEMVectorFunctorNormalDirichletBC

## Summary

!syntax description /BCs/MFEMVectorFunctorNormalDirichletBC

## Overview

Boundary condition for enforcing an essential (Dirichlet) boundary condition on the normal
components of a $H(\mathrm{div})$ conforming vector FE at a boundary. The imposed value is
a functor of space and/or time.

## Example Input File Syntax

!listing test/tests/kernels/graddiv.i block=BCs

!syntax parameters /BCs/MFEMVectorFunctorNormalDirichletBC

!syntax inputs /BCs/MFEMVectorFunctorNormalDirichletBC

!syntax children /BCs/MFEMVectorFunctorNormalDirichletBC
21 changes: 21 additions & 0 deletions doc/content/source/bcs/MFEMVectorFunctorNormalIntegratedBC.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# MFEMVectorFunctorNormalIntegratedBC

## Summary

!syntax description /BCs/MFEMVectorFunctorNormalIntegratedBC

## Overview

Adds the boundary integrator for integrating the linear form

!equation
(\vec f \cdot \hat n, v)_{\partial\Omega} \,\,\, \forall v \in V

where $v \in H^1$, $\vec f$ is a vector functor, and $\hat n$ is the outward facing unit normal
vector on the boundary.

!syntax parameters /BCs/MFEMVectorFunctorNormalIntegratedBC

!syntax inputs /BCs/MFEMVectorFunctorNormalIntegratedBC

!syntax children /BCs/MFEMVectorFunctorNormalIntegratedBC
21 changes: 21 additions & 0 deletions doc/content/source/bcs/MFEMVectorFunctorTangentialDirichletBC.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# MFEMVectorFunctorTangentialDirichletBC

## Summary

!syntax description /BCs/MFEMVectorFunctorTangentialDirichletBC

## Overview

Boundary condition for enforcing an essential (Dirichlet) boundary condition on the tangential
components of a $H(\mathrm{curl})$ conforming vector FE at a boundary. The boundary value is
a functor of space and/or time.

## Example Input File Syntax

!listing test/tests/kernels/curlcurl.i block=BCs

!syntax parameters /BCs/MFEMVectorFunctorTangentialDirichletBC

!syntax inputs /BCs/MFEMVectorFunctorTangentialDirichletBC

!syntax children /BCs/MFEMVectorFunctorTangentialDirichletBC
18 changes: 0 additions & 18 deletions doc/content/source/materials/MFEMGenericFunctionMaterial.md

This file was deleted.

20 changes: 0 additions & 20 deletions doc/content/source/materials/MFEMGenericFunctionVectorMaterial.md

This file was deleted.

18 changes: 18 additions & 0 deletions doc/content/source/materials/MFEMGenericFunctorMaterial.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# MFEMGenericFunctorMaterial

## Summary

!syntax description /Materials/MFEMGenericFunctorMaterial

## Overview

`MFEMGenericFunctorMaterial` defines one or more scalar material properties with values obtained from a functor on
one or more subdomains of the mesh, given by the `blocks` parameter if provided, or applied to the
entire mesh if missing. The scalar material properties are named according to members in the
`prop_names` parameter, with respective functors used to get property values given by the members of `prop_values`.

!syntax parameters /Materials/MFEMGenericFunctorMaterial

!syntax inputs /Materials/MFEMGenericFunctorMaterial

!syntax children /Materials/MFEMGenericFunctorMaterial
Loading