CoefficientManager

CoefficientManager owns and manages MFEM coefficient objects and can handle the set-up of piecewise coefficients representing properties defined across multiple materials.

Overview

CoefficientManager owns and manages mfem::Coefficient, mfem::VectorCoefficient, and mfem::MatrixCoefficient derived objects added to the MFEM problem. It also handles the set-up of global piecewise coefficients constructed from multiple coefficients defined on separate subdomains of the mesh. These are used to represent what MOOSE calls material properties.

End users should not usually need to interact with the CoefficientManager directly, instead defining Functions or Materials. Developers wanting to add new coefficients or properties to the MFEMProblem should do so using the CoefficientManager::declareXXXCoefficient method to create a global coefficient object or CoefficientManager::declareXXXProperty method to create a material property with values limited to certain blocks of the domain. Coefficients (including piecewise material properties) can be retrieved with getScalarCoefficient, getVectorCoefficient, and/or getMatrixCoefficient. These methods can also parse numbers to create new constant coefficients.