MFEM
v4.5.2
Finite element discretization library
|
A general vector function coefficient. More...
#include <coefficient.hpp>
Public Member Functions | |
VectorFunctionCoefficient (int dim, std::function< void(const Vector &, Vector &)> F, Coefficient *q=nullptr) | |
Define a time-independent vector coefficient from a std function. More... | |
VectorFunctionCoefficient (int dim, std::function< void(const Vector &, double, Vector &)> TDF, Coefficient *q=nullptr) | |
Define a time-dependent vector coefficient from a std function. More... | |
virtual void | Eval (Vector &V, ElementTransformation &T, const IntegrationPoint &ip) |
Evaluate the vector coefficient at ip. More... | |
virtual | ~VectorFunctionCoefficient () |
virtual void | Eval (Vector &V, ElementTransformation &T, const IntegrationPoint &ip)=0 |
Evaluate the vector coefficient in the element described by T at the point ip, storing the result in V. More... | |
virtual void | Eval (DenseMatrix &M, ElementTransformation &T, const IntegrationRule &ir) |
Evaluate the vector coefficient in the element described by T at all points of ir, storing the result in M. More... | |
Public Member Functions inherited from mfem::VectorCoefficient | |
VectorCoefficient (int vd) | |
Initialize the VectorCoefficient with vector dimension vd. 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 | GetVDim () |
Returns dimension of the vector. More... | |
virtual void | Eval (DenseMatrix &M, ElementTransformation &T, const IntegrationRule &ir) |
Evaluate the vector coefficient in the element described by T at all points of ir, storing the result in M. More... | |
virtual void | Project (QuadratureFunction &qf) |
Fill the QuadratureFunction qf by evaluating the coefficient at the quadrature points. More... | |
virtual | ~VectorCoefficient () |
Additional Inherited Members | |
Protected Attributes inherited from mfem::VectorCoefficient | |
int | vdim |
double | time |
A general vector function coefficient.
Definition at line 604 of file coefficient.hpp.
|
inline |
Define a time-independent vector coefficient from a std function.
dim | - the size of the vector |
F | - time-independent function |
q | - optional scalar Coefficient to scale the vector coefficient |
Definition at line 616 of file coefficient.hpp.
|
inline |
Define a time-dependent vector coefficient from a std function.
dim | - the size of the vector |
TDF | - time-dependent function |
q | - optional scalar Coefficient to scale the vector coefficient |
Definition at line 626 of file coefficient.hpp.
|
inlinevirtual |
Definition at line 637 of file coefficient.hpp.
virtual void mfem::VectorCoefficient::Eval |
Evaluate the vector coefficient in the element described by T at the point ip, storing the result in V.
void mfem::VectorCoefficient::Eval |
Evaluate the vector coefficient in the element described by T at all points of ir, storing the result in M.
The dimensions of M are GetVDim() by ir.GetNPoints() and they must be set by the implementation of this method.
The general implementation provided by the base class (using the Eval method for one IntegrationPoint at a time) can be overloaded for more efficient implementation.
Definition at line 222 of file coefficient.cpp.
|
virtual |
Evaluate the vector coefficient at ip.
Implements mfem::VectorCoefficient.
Definition at line 316 of file coefficient.cpp.