MFEM
v4.5.1
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 906 of file coefficient.hpp.
|
inlineexplicit |
Construct a dim x dim matrix coefficient.
Definition at line 915 of file coefficient.hpp.
|
inline |
Construct a h x w matrix coefficient.
Definition at line 919 of file coefficient.hpp.
|
inlinevirtual |
Definition at line 967 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, and HessianCoefficient.
|
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 963 of file coefficient.hpp.
|
inline |
Get the height of the matrix.
Definition at line 929 of file coefficient.hpp.
|
inline |
Get the time for time dependent coefficients.
Definition at line 926 of file coefficient.hpp.
|
inline |
For backward compatibility get the width of the matrix.
Definition at line 935 of file coefficient.hpp.
|
inline |
Get the width of the matrix.
Definition at line 932 of file coefficient.hpp.
|
inline |
Definition at line 938 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 578 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 923 of file coefficient.hpp.
|
protected |
Definition at line 909 of file coefficient.hpp.
|
protected |
Definition at line 911 of file coefficient.hpp.
|
protected |
Definition at line 910 of file coefficient.hpp.
|
protected |
Definition at line 909 of file coefficient.hpp.