MFEM
v4.6.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. More... | |
MatrixCoefficient (int h, int w, bool symm=false) | |
Construct a h x w matrix coefficient. More... | |
virtual void | SetTime (double t) |
Set the time for time dependent coefficients. 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 | 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. More... | |
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 () |
Protected Attributes | |
int | height |
int | width |
double | time |
bool | symmetric |
Base class for Matrix Coefficients that optionally depend on time and space.
Definition at line 1040 of file coefficient.hpp.
|
inlineexplicit |
Construct a dim x dim matrix coefficient.
Definition at line 1049 of file coefficient.hpp.
|
inline |
Construct a h x w matrix coefficient.
Definition at line 1053 of file coefficient.hpp.
|
inlinevirtual |
Definition at line 1101 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 mfem::CrossCrossCoefficient, mfem::OuterProductCoefficient, mfem::InverseMatrixCoefficient, mfem::TransposeMatrixCoefficient, mfem::ScalarMatrixProductCoefficient, mfem::MatrixProductCoefficient, mfem::MatrixSumCoefficient, mfem::IdentityMatrixCoefficient, mfem::SymmetricMatrixCoefficient, mfem::MatrixRestrictedCoefficient, mfem::MatrixArrayCoefficient, mfem::MatrixFunctionCoefficient, mfem::PWMatrixCoefficient, mfem::MatrixConstantCoefficient, HRHessianCoefficient, HessianCoefficient, and mfem::PmlMatrixCoefficient.
|
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 1097 of file coefficient.hpp.
|
inline |
Get the height of the matrix.
Definition at line 1063 of file coefficient.hpp.
|
inline |
Get the time for time dependent coefficients.
Definition at line 1060 of file coefficient.hpp.
|
inline |
For backward compatibility get the width of the matrix.
Definition at line 1069 of file coefficient.hpp.
|
inline |
Get the width of the matrix.
Definition at line 1066 of file coefficient.hpp.
|
inline |
Definition at line 1072 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::OuterProductCoefficient, mfem::InverseMatrixCoefficient, mfem::TransposeMatrixCoefficient, mfem::ScalarMatrixProductCoefficient, mfem::MatrixSumCoefficient, mfem::SymmetricMatrixFunctionCoefficient, mfem::MatrixRestrictedCoefficient, mfem::MatrixArrayCoefficient, mfem::MatrixFunctionCoefficient, and mfem::PWMatrixCoefficient.
Definition at line 1057 of file coefficient.hpp.
|
protected |
Definition at line 1043 of file coefficient.hpp.
|
protected |
Definition at line 1045 of file coefficient.hpp.
|
protected |
Definition at line 1044 of file coefficient.hpp.
|
protected |
Definition at line 1043 of file coefficient.hpp.