EquationSystem

The EquationSystem is responsible for defining and assembling the weak form of the PDE into an mfem::Operator used to solve an iteration of the FE problem. This operator is passed to an mfem::NewtonSolver in a ProblemOperator, which handles the update of the state of all variables (including any required nonlinear iterations).

Discretizing the trial variable by , and approximating the test space by a finite dimensional subspace spanned by the basis , the weak form becomes

after variation over the test variable . This can be expressed in matrix form by defining and .

MFEMKernels contribute domain integrators to the weak form, and MFEMIntegratedBCs contribute boundary integrators to the weak form. mfem::BilinearFormIntegrators add contributions to and mfem::LinearFormIntegrators add contributions to when assembled.

TimeDependentEquationSystem

For transient problems, time derivatives of the trial variables will also be present in the weak form.

Contributions to are given by time derivative kernels such as MFEMTimeDerivativeMassKernel

Currently, transient problems in Platypus are solved using an implicit backwards Euler method. Denoting , and approximating , we have