![]() |
MFEM v4.8.0
Finite element discretization library
|
Base class for Matrix Coefficients that optionally depend on time and space. More...
#include <coefficient.hpp>
Public Member Functions | |
MatrixCoefficient (int dim, bool symm=false) | |
Construct a dim x dim matrix coefficient. | |
MatrixCoefficient (int h, int w, bool symm=false) | |
Construct a h x w matrix coefficient. | |
virtual void | SetTime (real_t t) |
Set the time for time dependent coefficients. | |
real_t | GetTime () |
Get the time for time dependent coefficients. | |
int | GetHeight () const |
Get the height of the matrix. | |
int | GetWidth () const |
Get the width of the matrix. | |
int | GetVDim () const |
For backward compatibility get the width of the matrix. | |
bool | IsSymmetric () const |
virtual void | Eval (DenseMatrix &K, ElementTransformation &T, const IntegrationPoint &ip)=0 |
Evaluate the matrix coefficient in the element described by T at the point ip, storing the result in K. | |
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. | |
virtual void | EvalSymmetric (Vector &K, ElementTransformation &T, const IntegrationPoint &ip) |
(DEPRECATED) Evaluate a symmetric matrix coefficient. | |
virtual | ~MatrixCoefficient () |
Protected Attributes | |
int | height |
int | width |
real_t | time |
bool | symmetric |
Base class for Matrix Coefficients that optionally depend on time and space.
Definition at line 1046 of file coefficient.hpp.
|
inlineexplicit |
Construct a dim x dim matrix coefficient.
Definition at line 1055 of file coefficient.hpp.
|
inline |
Construct a h x w matrix coefficient.
Definition at line 1059 of file coefficient.hpp.
|
inlinevirtual |
Definition at line 1107 of file coefficient.hpp.
|
pure virtual |
Evaluate the matrix coefficient in the element described by T at the point ip, storing the result in K.
Implemented in HessianCoefficient, HRHessianCoefficient, mfem::CrossCrossCoefficient, mfem::ExponentialMatrixCoefficient, mfem::IdentityMatrixCoefficient, mfem::InverseMatrixCoefficient, mfem::MatrixArrayCoefficient, mfem::MatrixArrayVectorCoefficient, mfem::MatrixConstantCoefficient, mfem::MatrixFunctionCoefficient, mfem::MatrixProductCoefficient, mfem::MatrixRestrictedCoefficient, mfem::MatrixSumCoefficient, mfem::OuterProductCoefficient, mfem::PmlMatrixCoefficient, mfem::PWMatrixCoefficient, mfem::ScalarMatrixProductCoefficient, mfem::SymmetricMatrixCoefficient, mfem::SymmetricMatrixConstantCoefficient, mfem::SymmetricMatrixFunctionCoefficient, and mfem::TransposeMatrixCoefficient.
|
inlinevirtual |
(DEPRECATED) Evaluate a symmetric matrix coefficient.
Evaluate the upper triangular entries of the matrix coefficient in the symmetric case, similarly to Eval. Matrix entry (i,j) is stored in K[j - i + os_i] for 0 <= i <= j < width, os_0 = 0, os_{i+1} = os_i + width - i. That is, K = {M(0,0), ..., M(0,w-1), M(1,1), ..., M(1,w-1), ..., M(w-1,w-1) with w = width.
Reimplemented in mfem::MatrixFunctionCoefficient.
Definition at line 1103 of file coefficient.hpp.
|
inline |
Get the height of the matrix.
Definition at line 1069 of file coefficient.hpp.
|
inline |
Get the time for time dependent coefficients.
Definition at line 1066 of file coefficient.hpp.
|
inline |
For backward compatibility get the width of the matrix.
Definition at line 1075 of file coefficient.hpp.
|
inline |
Get the width of the matrix.
Definition at line 1072 of file coefficient.hpp.
|
inline |
Definition at line 1078 of file coefficient.hpp.
|
virtual |
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.
The vdim of the QuadratureFunction should be equal to the height times the width of the matrix.
Definition at line 628 of file coefficient.cpp.
|
inlinevirtual |
Set the time for time dependent coefficients.
Reimplemented in mfem::CrossCrossCoefficient, mfem::ExponentialMatrixCoefficient, mfem::InverseMatrixCoefficient, mfem::MatrixArrayCoefficient, mfem::MatrixArrayVectorCoefficient, mfem::MatrixFunctionCoefficient, mfem::MatrixRestrictedCoefficient, mfem::MatrixSumCoefficient, mfem::OuterProductCoefficient, mfem::PWMatrixCoefficient, mfem::ScalarMatrixProductCoefficient, mfem::SymmetricMatrixFunctionCoefficient, and mfem::TransposeMatrixCoefficient.
Definition at line 1063 of file coefficient.hpp.
|
protected |
Definition at line 1049 of file coefficient.hpp.
|
protected |
Definition at line 1051 of file coefficient.hpp.
|
protected |
Definition at line 1050 of file coefficient.hpp.
|
protected |
Definition at line 1049 of file coefficient.hpp.