Base class for Matrix Coefficients that optionally depend on time and space.
More...
#include <coefficient.hpp>
|
| 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...
|
|
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 | EvalSymmetric (Vector &K, ElementTransformation &T, const IntegrationPoint &ip) |
| 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. More...
|
|
virtual | ~MatrixCoefficient () |
|
Base class for Matrix Coefficients that optionally depend on time and space.
Definition at line 693 of file coefficient.hpp.
mfem::MatrixCoefficient::MatrixCoefficient |
( |
int |
dim, |
|
|
bool |
symm = false |
|
) |
| |
|
inlineexplicit |
mfem::MatrixCoefficient::MatrixCoefficient |
( |
int |
h, |
|
|
int |
w, |
|
|
bool |
symm = false |
|
) |
| |
|
inline |
virtual mfem::MatrixCoefficient::~MatrixCoefficient |
( |
| ) |
|
|
inlinevirtual |
Evaluate the matrix coefficient in the element described by T at the point ip, storing the result in K.
- Note
- When this method is called, the caller must make sure that the IntegrationPoint associated with T is the same as ip. This can be achieved by calling T.SetIntPoint(&ip).
Implemented in mfem::CrossCrossCoefficient, mfem::OuterProductCoefficient, mfem::InverseMatrixCoefficient, mfem::TransposeMatrixCoefficient, mfem::ScalarMatrixProductCoefficient, mfem::MatrixSumCoefficient, mfem::IdentityMatrixCoefficient, mfem::MatrixRestrictedCoefficient, mfem::MatrixArrayCoefficient, mfem::MatrixFunctionCoefficient, mfem::MatrixConstantCoefficient, and HessianCoefficient.
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 739 of file coefficient.hpp.
int mfem::MatrixCoefficient::GetHeight |
( |
| ) |
const |
|
inline |
double mfem::MatrixCoefficient::GetTime |
( |
| ) |
|
|
inline |
Get the time for time dependent coefficients.
Definition at line 713 of file coefficient.hpp.
int mfem::MatrixCoefficient::GetVDim |
( |
| ) |
const |
|
inline |
For backward compatibility get the width of the matrix.
Definition at line 722 of file coefficient.hpp.
int mfem::MatrixCoefficient::GetWidth |
( |
| ) |
const |
|
inline |
bool mfem::MatrixCoefficient::IsSymmetric |
( |
| ) |
const |
|
inline |
void mfem::MatrixCoefficient::SetTime |
( |
double |
t | ) |
|
|
inline |
Set the time for time dependent coefficients.
Definition at line 710 of file coefficient.hpp.
int mfem::MatrixCoefficient::height |
|
protected |
bool mfem::MatrixCoefficient::symmetric |
|
protected |
double mfem::MatrixCoefficient::time |
|
protected |
int mfem::MatrixCoefficient::width |
|
protected |
The documentation for this class was generated from the following file: