MFEM
v4.5.2
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 809 of file coefficient.hpp.
|
inline |
Construct with a vector of dimension vdim_.
Definition at line 817 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 822 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 827 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 832 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 837 of file coefficient.hpp.
|
inlinevirtual |
Definition at line 870 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.
|
inlinevirtual |
A VectorDeltaFunction cannot be evaluated. Calling this method will cause an MFEM error, terminating the application.
Implements mfem::VectorCoefficient.
Definition at line 867 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 534 of file coefficient.cpp.
|
inline |
Definition at line 856 of file coefficient.hpp.
|
inline |
Return the associated scalar DeltaCoefficient.
Definition at line 850 of file coefficient.hpp.
|
inline |
Definition at line 855 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 847 of file coefficient.hpp.
void mfem::VectorDeltaCoefficient::SetDirection | ( | const Vector & | d_ | ) |
Definition at line 528 of file coefficient.cpp.
|
inline |
Definition at line 852 of file coefficient.hpp.
|
virtual |
Set the time for internally stored coefficients.
Reimplemented from mfem::VectorCoefficient.
Definition at line 522 of file coefficient.cpp.
|
protected |
Definition at line 813 of file coefficient.hpp.
|
protected |
Definition at line 812 of file coefficient.hpp.