MFEM
v4.6.0
Finite element discretization library
|
Vector coefficient defined by a scalar DeltaCoefficient and a constant vector direction. More...
#include <coefficient.hpp>
Public Member Functions | |
VectorDeltaCoefficient (int vdim_) | |
Construct with a vector of dimension vdim_. More... | |
VectorDeltaCoefficient (const Vector &dir_) | |
Construct with a Vector object representing the direction and a unit delta function centered at (0.0,0.0,0.0) More... | |
VectorDeltaCoefficient (const Vector &dir_, double x, double s) | |
Construct with a Vector object representing the direction and a delta function scaled by s and centered at (x,0.0,0.0) More... | |
VectorDeltaCoefficient (const Vector &dir_, double x, double y, double s) | |
Construct with a Vector object representing the direction and a delta function scaled by s and centered at (x,y,0.0) More... | |
VectorDeltaCoefficient (const Vector &dir_, double x, double y, double z, double s) | |
Construct with a Vector object representing the direction and a delta function scaled by s and centered at (x,y,z) More... | |
void | SetTime (double t) |
Set the time for internally stored coefficients. More... | |
void | SetDeltaCoefficient (const DeltaCoefficient &d_) |
Replace the associated DeltaCoefficient with a new DeltaCoefficient. More... | |
DeltaCoefficient & | GetDeltaCoefficient () |
Return the associated scalar DeltaCoefficient. More... | |
void | SetScale (double s) |
void | SetDirection (const Vector &d_) |
void | SetDeltaCenter (const Vector ¢er) |
void | GetDeltaCenter (Vector ¢er) |
virtual void | EvalDelta (Vector &V, ElementTransformation &T, const IntegrationPoint &ip) |
Return the specified direction vector multiplied by the value returned by DeltaCoefficient::EvalDelta() of the associated scalar DeltaCoefficient. More... | |
virtual void | Eval (Vector &V, ElementTransformation &T, const IntegrationPoint &ip) |
A VectorDeltaFunction cannot be evaluated. Calling this method will cause an MFEM error, terminating the application. More... | |
virtual | ~VectorDeltaCoefficient () |
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... | |
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 () |
Protected Attributes | |
Vector | dir |
DeltaCoefficient | d |
Protected Attributes inherited from mfem::VectorCoefficient | |
int | vdim |
double | time |
Vector coefficient defined by a scalar DeltaCoefficient and a constant vector direction.
WARNING this cannot be used as a normal coefficient. The usual Eval method is disabled.
Definition at line 943 of file coefficient.hpp.
|
inline |
Construct with a vector of dimension vdim_.
Definition at line 951 of file coefficient.hpp.
|
inline |
Construct with a Vector object representing the direction and a unit delta function centered at (0.0,0.0,0.0)
Definition at line 956 of file coefficient.hpp.
|
inline |
Construct with a Vector object representing the direction and a delta function scaled by s and centered at (x,0.0,0.0)
Definition at line 961 of file coefficient.hpp.
|
inline |
Construct with a Vector object representing the direction and a delta function scaled by s and centered at (x,y,0.0)
Definition at line 966 of file coefficient.hpp.
|
inline |
Construct with a Vector object representing the direction and a delta function scaled by s and centered at (x,y,z)
Definition at line 971 of file coefficient.hpp.
|
inlinevirtual |
Definition at line 1004 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 265 of file coefficient.cpp.
|
inlinevirtual |
A VectorDeltaFunction cannot be evaluated. Calling this method will cause an MFEM error, terminating the application.
Implements mfem::VectorCoefficient.
Definition at line 1001 of file coefficient.hpp.
|
virtual |
Return the specified direction vector multiplied by the value returned by DeltaCoefficient::EvalDelta() of the associated scalar DeltaCoefficient.
Definition at line 584 of file coefficient.cpp.
|
inline |
Definition at line 990 of file coefficient.hpp.
|
inline |
Return the associated scalar DeltaCoefficient.
Definition at line 984 of file coefficient.hpp.
|
inline |
Definition at line 989 of file coefficient.hpp.
|
inline |
Replace the associated DeltaCoefficient with a new DeltaCoefficient.
The new DeltaCoefficient cannot have a specified weight Coefficient, i.e. DeltaCoefficient::Weight() should return NULL.
Definition at line 981 of file coefficient.hpp.
void mfem::VectorDeltaCoefficient::SetDirection | ( | const Vector & | d_ | ) |
Definition at line 578 of file coefficient.cpp.
|
inline |
Definition at line 986 of file coefficient.hpp.
|
virtual |
Set the time for internally stored coefficients.
Reimplemented from mfem::VectorCoefficient.
Definition at line 572 of file coefficient.cpp.
|
protected |
Definition at line 947 of file coefficient.hpp.
|
protected |
Definition at line 946 of file coefficient.hpp.