MFEM
v4.5.2
Finite element discretization library
|
Base class Coefficients that optionally depend on space and time. These are used by the BilinearFormIntegrator, LinearFormIntegrator, and NonlinearFormIntegrator classes to represent the physical coefficients in the PDEs that are being discretized. This class can also be used in a more general way to represent functions that don't necessarily belong to a FE space, e.g., to project onto GridFunctions to use as initial conditions, exact solutions, etc. See, e.g., ex4 or ex22 for these uses. More...
#include <coefficient.hpp>
Public Member Functions | |
Coefficient () | |
virtual void | SetTime (double t) |
Set the time for time dependent coefficients. More... | |
double | GetTime () |
Get the time for time dependent coefficients. More... | |
virtual double | Eval (ElementTransformation &T, const IntegrationPoint &ip)=0 |
Evaluate the coefficient in the element described by T at the point ip. More... | |
double | Eval (ElementTransformation &T, const IntegrationPoint &ip, double t) |
Evaluate the coefficient in the element described by T at the point ip at time t. More... | |
virtual void | Project (QuadratureFunction &qf) |
Fill the QuadratureFunction qf by evaluating the coefficient at the quadrature points. More... | |
virtual | ~Coefficient () |
Protected Attributes | |
double | time |
Base class Coefficients that optionally depend on space and time. These are used by the BilinearFormIntegrator, LinearFormIntegrator, and NonlinearFormIntegrator classes to represent the physical coefficients in the PDEs that are being discretized. This class can also be used in a more general way to represent functions that don't necessarily belong to a FE space, e.g., to project onto GridFunctions to use as initial conditions, exact solutions, etc. See, e.g., ex4 or ex22 for these uses.
Definition at line 41 of file coefficient.hpp.
|
inline |
Definition at line 47 of file coefficient.hpp.
|
inlinevirtual |
Definition at line 79 of file coefficient.hpp.
|
pure virtual |
Evaluate the coefficient in the element described by T at the point ip.
Implemented in mfem::QuadratureFunctionCoefficient, mfem::DeterminantCoefficient, mfem::VectorRotProductCoefficient, mfem::InnerProductCoefficient, mfem::PowerCoefficient, mfem::RatioCoefficient, mfem::ProductCoefficient, mfem::SumCoefficient, mfem::ExtrudeCoefficient, mfem::DivergenceGridFunctionCoefficient, mfem::RestrictedCoefficient, mfem::DeltaCoefficient, mfem::TransformedCoefficient, mfem::GridFunctionCoefficient, mfem::FunctionCoefficient, mfem::electromagnetics::JouleHeatingCoefficient, mfem::PWCoefficient, Combo_Level_Set_Coefficient, mfem::NormalGradComponentCoeff, mfem::PProductCoefficient, Dist_Level_Set_Coefficient, mfem::NormalGradCoeff, mfem::PWConstCoefficient, mfem::GradComponentCoeff, mfem::ConstantCoefficient, mfem::electromagnetics::ScaledGFCoefficient, mfem::electromagnetics::MeshDependentCoefficient, and mfem::ShiftedFunctionCoefficient.
|
inline |
Evaluate the coefficient in the element described by T at the point ip at time t.
Definition at line 68 of file coefficient.hpp.
|
inline |
Get the time for time dependent coefficients.
Definition at line 53 of file coefficient.hpp.
|
virtual |
Fill the QuadratureFunction qf by evaluating the coefficient at the quadrature points.
Reimplemented in mfem::QuadratureFunctionCoefficient, mfem::GridFunctionCoefficient, and mfem::ConstantCoefficient.
Definition at line 51 of file coefficient.cpp.
|
inlinevirtual |
Set the time for time dependent coefficients.
Reimplemented in mfem::DeterminantCoefficient, mfem::VectorRotProductCoefficient, mfem::InnerProductCoefficient, mfem::PowerCoefficient, mfem::RatioCoefficient, mfem::ProductCoefficient, mfem::SumCoefficient, mfem::RestrictedCoefficient, mfem::DeltaCoefficient, mfem::TransformedCoefficient, and mfem::PWCoefficient.
Definition at line 50 of file coefficient.hpp.
|
protected |
Definition at line 44 of file coefficient.hpp.