24 "geometric_cut_userobject",
25 "Name of GeometricCutUserObject associated with this constraint.");
26 params.
addClassDescription(
"Enforce that the solution have the same value on opposing sides of " 27 "an XFEM interface.");
36 mooseError(
"Problem casting to XFEM in XFEMEqualValueAtInterface");
41 if (dynamic_cast<const GeometricCutUserObject *>(uo) ==
nullptr)
42 mooseError(
"UserObject casting to GeometricCutUserObject in XFEMEqualValueAtInterface");
44 _interface_id =
_xfem->getGeometricCutID(dynamic_cast<const GeometricCutUserObject *>(uo));
FEProblemBase & _fe_problem
unsigned int _interface_id
virtual Real computeQpResidual(Moose::DGResidualType type) override
const VariableValue & _u_neighbor
Real _value
Value at the interface.
XFEMEqualValueAtInterface(const InputParameters ¶meters)
const VariableTestValue & _test_neighbor
static InputParameters validParams()
virtual void reinitConstraintQuadrature(const ElementPairInfo &element_pair_info)
const VariableTestValue & _test
const std::string & type() const
const VariablePhiValue & _phi_neighbor
registerMooseObject("XFEMApp", XFEMEqualValueAtInterface)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::shared_ptr< XFEMInterface > getXFEM()
virtual Real computeQpJacobian(Moose::DGJacobianType type) override
std::shared_ptr< XFEM > _xfem
Pointer to the XFEM controller object.
static InputParameters validParams()
void mooseError(Args &&... args) const
const VariablePhiValue & _phi
virtual ~XFEMEqualValueAtInterface()
const UserObject & getUserObjectBase(const std::string &name, const THREAD_ID tid=0) const
virtual void reinitConstraintQuadrature(const ElementPairInfo &element_pair_info) override