MFEM
v4.5.2
Finite element discretization library
|
A matrix coefficient with an optional scalar coefficient multiplier q. The matrix function can either be represented by a std function or a constant matrix provided when constructing this object. More...
#include <coefficient.hpp>
Public Member Functions | |
SymmetricMatrixFunctionCoefficient (int dim, std::function< void(const Vector &, DenseSymmetricMatrix &)> F, Coefficient *q=nullptr) | |
Define a time-independent symmetric matrix coefficient from a std function. More... | |
SymmetricMatrixFunctionCoefficient (const DenseSymmetricMatrix &m, Coefficient &q) | |
Define a constant matrix coefficient times a scalar Coefficient. More... | |
SymmetricMatrixFunctionCoefficient (int dim, std::function< void(const Vector &, double, DenseSymmetricMatrix &)> TDF, Coefficient *q=nullptr) | |
Define a time-dependent square matrix coefficient from a std function. More... | |
void | SetTime (double t) |
Set the time for internally stored coefficients. More... | |
virtual void | Eval (DenseSymmetricMatrix &K, ElementTransformation &T, const IntegrationPoint &ip) |
Evaluate the matrix coefficient at ip. More... | |
virtual | ~SymmetricMatrixFunctionCoefficient () |
virtual void | Eval (DenseSymmetricMatrix &K, ElementTransformation &T, const IntegrationPoint &ip)=0 |
Evaluate the matrix coefficient in the element described by T at the point ip, storing the result as a symmetric matrix K. More... | |
virtual void | Eval (DenseMatrix &K, ElementTransformation &T, const IntegrationPoint &ip) |
Evaluate the matrix coefficient in the element described by T at the point ip, storing the result as a dense matrix K. More... | |
Public Member Functions inherited from mfem::SymmetricMatrixCoefficient | |
SymmetricMatrixCoefficient (int dimension) | |
Construct a dim x dim matrix coefficient. More... | |
int | GetSize () const |
Get the size of the matrix. More... | |
virtual void | ProjectSymmetric (QuadratureFunction &qf) |
Fill the QuadratureFunction qf by evaluating the coefficient at the quadrature points. More... | |
virtual void | Eval (DenseMatrix &K, ElementTransformation &T, const IntegrationPoint &ip) |
Evaluate the matrix coefficient in the element described by T at the point ip, storing the result as a dense matrix K. More... | |
const DenseSymmetricMatrix & | GetMatrix () |
Return a reference to the constant matrix. More... | |
virtual | ~SymmetricMatrixCoefficient () |
Public Member Functions inherited from mfem::MatrixCoefficient | |
MatrixCoefficient (int dim, bool symm=false) | |
Construct a dim x dim matrix coefficient. More... | |
MatrixCoefficient (int h, int w, bool symm=false) | |
Construct a h x w matrix coefficient. More... | |
double | GetTime () |
Get the time for time dependent coefficients. More... | |
int | GetHeight () const |
Get the height of the matrix. More... | |
int | GetWidth () const |
Get the width of the matrix. More... | |
int | GetVDim () const |
For backward compatibility get the width of the matrix. More... | |
bool | IsSymmetric () const |
virtual void | Project (QuadratureFunction &qf, bool transpose=false) |
Fill the QuadratureFunction qf by evaluating the coefficient at the quadrature points. The matrix will be transposed or not according to the boolean argument transpose. More... | |
virtual void | EvalSymmetric (Vector &K, ElementTransformation &T, const IntegrationPoint &ip) |
(DEPRECATED) Evaluate a symmetric matrix coefficient. More... | |
virtual | ~MatrixCoefficient () |
Additional Inherited Members | |
Protected Attributes inherited from mfem::SymmetricMatrixCoefficient | |
DenseSymmetricMatrix | mat |
Internal matrix used when evaluating this coefficient as a DenseMatrix. More... | |
Protected Attributes inherited from mfem::MatrixCoefficient | |
int | height |
int | width |
double | time |
bool | symmetric |
A matrix coefficient with an optional scalar coefficient multiplier q. The matrix function can either be represented by a std function or a constant matrix provided when constructing this object.
Definition at line 1360 of file coefficient.hpp.
|
inline |
Define a time-independent symmetric matrix coefficient from a std function.
dim | - the size of the matrix |
F | - time-independent function |
q | - optional scalar Coefficient to scale the matrix coefficient |
Definition at line 1374 of file coefficient.hpp.
|
inline |
Define a constant matrix coefficient times a scalar Coefficient.
m | - constant matrix |
q | - optional scalar Coefficient to scale the matrix coefficient |
Definition at line 1383 of file coefficient.hpp.
|
inline |
Define a time-dependent square matrix coefficient from a std function.
dim | - the size of the matrix |
TDF | - time-dependent function |
q | - optional scalar Coefficient to scale the matrix coefficient |
Definition at line 1392 of file coefficient.hpp.
|
inlinevirtual |
Definition at line 1406 of file coefficient.hpp.
virtual void mfem::SymmetricMatrixCoefficient::Eval |
Evaluate the matrix coefficient in the element described by T at the point ip, storing the result as a symmetric matrix K.
void mfem::SymmetricMatrixCoefficient::Eval |
Evaluate the matrix coefficient in the element described by T at the point ip, storing the result as a dense matrix K.
This function allows the use of SymmetricMatrixCoefficient in situations where the symmetry is not taken advantage of.
Definition at line 778 of file coefficient.cpp.
|
virtual |
Evaluate the matrix coefficient at ip.
Implements mfem::SymmetricMatrixCoefficient.
Definition at line 798 of file coefficient.cpp.
|
virtual |
Set the time for internally stored coefficients.
Reimplemented from mfem::MatrixCoefficient.
Definition at line 792 of file coefficient.cpp.