12#ifndef MFEM_SBM_SOLVER_HPP
13#define MFEM_SBM_SOLVER_HPP
42 return (
this)->Eval(T, ip, D);
67 return (
this)->Eval(V, T, ip, D);
116 bool include_cut_cell_ =
false,
178 bool include_cut_cell_ =
false,
240 bool include_cut_cell_ =
false,
242 :
vN(&vN_),
vD(&vD_),
302 bool include_cut_cell_ =
false,
Base class Coefficients that optionally depend on space and time. These are used by the BilinearFormI...
Data type dense matrix using column-major storage.
Abstract class for all finite elements.
Class for integration point with weight.
Class for parallel meshes.
Array< int > * elem_marker
virtual ~SBM2DirichletIntegrator()
SBM2DirichletIntegrator(const ParMesh *pmesh, const real_t a, VectorCoefficient &vD_, Array< int > &elem_marker_, Array< int > &cut_marker_, bool include_cut_cell_=false, int nterms_=0)
virtual void AssembleFaceMatrix(const FiniteElement &el1, const FiniteElement &el2, FaceElementTransformations &Trans, DenseMatrix &elmat)
int par_shared_face_count
SBM2DirichletLFIntegrator(const ParMesh *pmesh, ShiftedFunctionCoefficient &u, const real_t alpha_, VectorCoefficient &vD_, Array< int > &elem_marker_, bool include_cut_cell_=false, int nterms_=0, int ls_cut_marker_=ShiftedFaceMarker::SBElementType::CUT)
Array< int > * elem_marker
ShiftedFunctionCoefficient * uD
int par_shared_face_count
virtual void AssembleRHSElementVect(const FiniteElement &el, ElementTransformation &Tr, Vector &elvect)
virtual ~SBM2NeumannIntegrator()
ShiftedVectorFunctionCoefficient * vN
Array< int > * elem_marker
SBM2NeumannIntegrator(const ParMesh *pmesh, VectorCoefficient &vD_, ShiftedVectorFunctionCoefficient &vN_, Array< int > &elem_marker_, Array< int > &cut_marker_, bool include_cut_cell_=false, int nterms_=1)
int par_shared_face_count
virtual void AssembleFaceMatrix(const FiniteElement &el1, const FiniteElement &el2, FaceElementTransformations &Trans, DenseMatrix &elmat)
ShiftedFunctionCoefficient * uN
ShiftedVectorFunctionCoefficient * vN
Array< int > * elem_marker
SBM2NeumannLFIntegrator(const ParMesh *pmesh, ShiftedFunctionCoefficient &u, VectorCoefficient &vD_, ShiftedVectorFunctionCoefficient &vN_, Array< int > &elem_marker_, int nterms_=0, bool include_cut_cell_=false, int ls_cut_marker_=ShiftedFaceMarker::SBElementType::CUT)
virtual void AssembleRHSElementVect(const FiniteElement &el, ElementTransformation &Tr, Vector &elvect)
int par_shared_face_count
ShiftedFunctionCoefficient(real_t constant_)
ShiftedFunctionCoefficient(std::function< real_t(const Vector &v)> F)
std::function< real_t(const Vector &)> Function
virtual real_t Eval(ElementTransformation &T, const IntegrationPoint &ip)
Evaluate the coefficient in the element described by T at the point ip.
std::function< void(const Vector &, Vector &)> Function
ShiftedVectorFunctionCoefficient(int dim, std::function< void(const Vector &, Vector &)> F)
virtual void Eval(Vector &V, ElementTransformation &T, const IntegrationPoint &ip)
Evaluate the vector coefficient in the element described by T at the point ip, storing the result in ...
Base class for vector Coefficients that optionally depend on time and space.
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 ...
real_t u(const Vector &xvec)