www.mooseframework.org
Public Member Functions | Public Attributes | Protected Attributes | List of all members
XFEMInterface Class Referenceabstract

This is the XFEMInterface class. More...

#include <XFEMInterface.h>

Inheritance diagram for XFEMInterface:
[legend]

Public Member Functions

 XFEMInterface (const InputParameters &params)
 Constructor. More...
 
virtual ~XFEMInterface ()
 Destructor. More...
 
void setMesh (MooseMesh *mesh)
 Set the pointer to the primary mesh that is modified by XFEM. More...
 
void setDisplacedMesh (MooseMesh *displaced_mesh)
 Set the pointer to the displaced mesh that is modified by XFEM. More...
 
void setMaterialData (std::vector< std::shared_ptr< MaterialData >> *material_data)
 Set the pointer to the MaterialData. More...
 
void setBoundaryMaterialData (std::vector< std::shared_ptr< MaterialData >> *bnd_material_data)
 Set the pointer to the Boundary MaterialData. More...
 
virtual bool update (Real time, NonlinearSystemBase &nl, AuxiliarySystem &aux)=0
 Method to update the mesh due to modified cut definitions. More...
 
virtual void initSolution (NonlinearSystemBase &nl, AuxiliarySystem &aux)=0
 Initialize the solution on newly created nodes. More...
 
virtual bool getXFEMWeights (MooseArray< Real > &weights, const Elem *elem, QBase *qrule, const MooseArray< Point > &q_points)=0
 Get the factors for the QP weighs for XFEM partial elements. More...
 

Public Attributes

const ConsoleStream _console
 An instance of helper class to write streams to the Console objects. More...
 

Protected Attributes

FEProblemBase_fe_problem
 
std::vector< std::shared_ptr< MaterialData > > * _material_data
 
std::vector< std::shared_ptr< MaterialData > > * _bnd_material_data
 
MooseMesh_moose_mesh
 
MooseMesh_moose_displaced_mesh
 
MeshBase * _mesh
 
MeshBase * _displaced_mesh
 

Detailed Description

This is the XFEMInterface class.

This is an abstract base class that defines interfaces with a class that dynamically modifies the mesh in support of a phantom node approach for XFEM

Definition at line 43 of file XFEMInterface.h.

Constructor & Destructor Documentation

XFEMInterface::XFEMInterface ( const InputParameters params)
inlineexplicit

Constructor.

Definition at line 49 of file XFEMInterface.h.

50  : ConsoleStreamInterface(*params.getCheckedPointerParam<MooseApp *>("_moose_app")),
51  _fe_problem(params.getCheckedPointerParam<FEProblemBase *>("_fe_problem_base")),
52  _material_data(nullptr),
53  _bnd_material_data(nullptr),
54  _moose_mesh(nullptr),
55  _moose_displaced_mesh(nullptr),
56  _mesh(nullptr),
57  _displaced_mesh(nullptr)
58  {
59  }
Base class for MOOSE-based applications.
Definition: MooseApp.h:58
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
FEProblemBase * _fe_problem
MooseMesh * _moose_displaced_mesh
T getCheckedPointerParam(const std::string &name, const std::string &error_string="") const
Verifies that the requested parameter exists and is not NULL and returns it to the caller...
ConsoleStreamInterface(MooseApp &app)
A class for providing a helper stream object for writting message to all the Output objects...
std::vector< std::shared_ptr< MaterialData > > * _material_data
std::vector< std::shared_ptr< MaterialData > > * _bnd_material_data
MeshBase * _mesh
MooseMesh * _moose_mesh
MeshBase * _displaced_mesh
virtual XFEMInterface::~XFEMInterface ( )
inlinevirtual

Destructor.

Definition at line 64 of file XFEMInterface.h.

64 {}

Member Function Documentation

virtual bool XFEMInterface::getXFEMWeights ( MooseArray< Real > &  weights,
const Elem *  elem,
QBase *  qrule,
const MooseArray< Point > &  q_points 
)
pure virtual

Get the factors for the QP weighs for XFEM partial elements.

virtual void XFEMInterface::initSolution ( NonlinearSystemBase nl,
AuxiliarySystem aux 
)
pure virtual

Initialize the solution on newly created nodes.

void XFEMInterface::setBoundaryMaterialData ( std::vector< std::shared_ptr< MaterialData >> *  bnd_material_data)
inline

Set the pointer to the Boundary MaterialData.

Definition at line 95 of file XFEMInterface.h.

96  {
97  _bnd_material_data = bnd_material_data;
98  }
std::vector< std::shared_ptr< MaterialData > > * _bnd_material_data
void XFEMInterface::setDisplacedMesh ( MooseMesh displaced_mesh)
inline

Set the pointer to the displaced mesh that is modified by XFEM.

Definition at line 78 of file XFEMInterface.h.

79  {
80  _moose_displaced_mesh = displaced_mesh;
81  _displaced_mesh = &displaced_mesh->getMesh();
82  }
MooseMesh * _moose_displaced_mesh
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object.
Definition: MooseMesh.C:2355
MeshBase * _displaced_mesh
void XFEMInterface::setMaterialData ( std::vector< std::shared_ptr< MaterialData >> *  material_data)
inline

Set the pointer to the MaterialData.

Definition at line 87 of file XFEMInterface.h.

88  {
89  _material_data = material_data;
90  }
std::vector< std::shared_ptr< MaterialData > > * _material_data
void XFEMInterface::setMesh ( MooseMesh mesh)
inline

Set the pointer to the primary mesh that is modified by XFEM.

Definition at line 69 of file XFEMInterface.h.

70  {
71  _moose_mesh = mesh;
72  _mesh = &mesh->getMesh();
73  }
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object.
Definition: MooseMesh.C:2355
MeshBase * _mesh
MooseMesh * _moose_mesh
virtual bool XFEMInterface::update ( Real  time,
NonlinearSystemBase nl,
AuxiliarySystem aux 
)
pure virtual

Method to update the mesh due to modified cut definitions.

Member Data Documentation

std::vector<std::shared_ptr<MaterialData> >* XFEMInterface::_bnd_material_data
protected

Definition at line 121 of file XFEMInterface.h.

const ConsoleStream ConsoleStreamInterface::_console
inherited

An instance of helper class to write streams to the Console objects.

Definition at line 37 of file ConsoleStreamInterface.h.

Referenced by IterationAdaptiveDT::acceptStep(), CreateProblemAction::act(), SetupRecoverFileBaseAction::act(), Adaptivity::adaptMesh(), FEProblemBase::adaptMesh(), FEProblemBase::advanceMultiApps(), SimplePredictor::apply(), FEProblemBase::backupMultiApps(), FEProblemBase::checkProblemIntegrity(), IterationAdaptiveDT::computeAdaptiveDT(), Transient::computeConstrainedDT(), NonlinearSystemBase::computeDamping(), IterationAdaptiveDT::computeDT(), IterationAdaptiveDT::computeFailedDT(), IterationAdaptiveDT::computeInterpolationDT(), FEProblemBase::computeResidualType(), IterationAdaptiveDT::constrainStep(), TimeStepper::constrainStep(), AB2PredictorCorrector::converged(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), MultiAppPostprocessorTransfer::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppInterpolationTransfer::execute(), MultiAppMeshFunctionTransfer::execute(), MultiAppProjectionTransfer::execute(), MultiAppCopyTransfer::execute(), Steady::execute(), MultiAppDTKUserObjectTransfer::execute(), ActionWarehouse::executeActionsWithAction(), ActionWarehouse::executeAllActions(), MultiApp::globalAppToLocal(), InversePowerMethod::init(), NonlinearEigen::init(), Steady::init(), FEProblemBase::initialAdaptMesh(), FEProblemBase::initialSetup(), EigenExecutionerBase::inversePowerIteration(), Transient::keepGoing(), IterationAdaptiveDT::limitDTByFunction(), IterationAdaptiveDT::limitDTToPostprocessorValue(), EigenExecutionerBase::makeBXConsistent(), Console::meshChanged(), MooseObject::mooseDeprecated(), MooseObject::mooseInfo(), MooseObject::mooseWarning(), DOFMapOutput::output(), VariableResidualNormsDebugOutput::output(), Console::output(), ControlOutput::outputActiveObjects(), ControlOutput::outputChangedControls(), ControlOutput::outputControls(), Console::outputInput(), Console::outputPostprocessors(), Console::outputScalarVariables(), Console::outputSystemInformation(), FEProblemBase::possiblyRebuildGeomSearchPatches(), EigenExecutionerBase::postExecute(), ActionWarehouse::printActionDependencySets(), EigenExecutionerBase::printEigenvalue(), MaterialPropertyDebugOutput::printMaterialMap(), SolutionTimeAdaptiveDT::rejectStep(), DT2::rejectStep(), FEProblemBase::restoreMultiApps(), SimplePredictor::shouldApply(), NonlinearSystem::solve(), LStableDirk2::solve(), LStableDirk3::solve(), ImplicitMidpoint::solve(), ExplicitTVDRK2::solve(), AStableDirk4::solve(), LStableDirk4::solve(), ExplicitRK2::solve(), TransientMultiApp::solveStep(), Transient::solveStep(), DT2::step(), AB2PredictorCorrector::step(), NonlinearEigen::takeStep(), FEProblemBase::useFECache(), Console::writeTimestepInformation(), Console::writeVariableNorms(), and FEProblemBase::~FEProblemBase().

MeshBase* XFEMInterface::_displaced_mesh
protected

Definition at line 126 of file XFEMInterface.h.

FEProblemBase* XFEMInterface::_fe_problem
protected

Definition at line 119 of file XFEMInterface.h.

std::vector<std::shared_ptr<MaterialData> >* XFEMInterface::_material_data
protected

Definition at line 120 of file XFEMInterface.h.

MeshBase* XFEMInterface::_mesh
protected

Definition at line 125 of file XFEMInterface.h.

MooseMesh* XFEMInterface::_moose_displaced_mesh
protected

Definition at line 124 of file XFEMInterface.h.

MooseMesh* XFEMInterface::_moose_mesh
protected

Definition at line 123 of file XFEMInterface.h.


The documentation for this class was generated from the following file: