25 "Central difference time integrator using NEML2 material models and kernels.");
27 "assembly",
"The NEML2Assembly object to use to provide assembly information");
29 "fe",
"The NEML2FEInterpolation object to use to couple variables");
48 std::unordered_set<BoundaryID> bnds;
49 for (
const auto & ibc : ibcs.getObjects())
50 bnds.insert(ibc->boundaryIDs().begin(), ibc->boundaryIDs().end());
54 mooseInfo(
"Dectected BCs on ", bnds.size(),
" boundaries.");
57 std::unordered_set<const Elem *> unique_elems;
60 if (bnds.find((*it)->_bnd_id) != bnds.end())
61 unique_elems.insert((*it)->_elem);
115 #endif // NEML2_ENABLED
virtual bnd_elem_iterator bndElemsEnd()
void setCurrentAlgebraicElementRange(libMesh::ConstElemRange *range)
void mooseInfo(Args &&... args) const
std::vector< const Elem * > _boundary_elems
Empty element vector to help zero out the algebraic range.
T & getUserObject(const std::string &name, unsigned int tid=0) const
std::vector< const Node * > _no_node
Empty node vector to help zero out the algebraic range.
void setCurrentAlgebraicNodeRange(libMesh::ConstNodeRange *range)
virtual void initialSetup() override
FEProblemBase & _fe_problem
NEML2Assembly * _neml2_assembly
The assembly object with cached assembly information.
NonlinearSystemBase * _nl
virtual void postSolve() override
virtual bnd_elem_iterator bndElemsBegin()
MooseObjectTagWarehouse< IntegratedBCBase > & getIntegratedBCWarehouse()
Implements a form of the central difference time integrator that calculates acceleration directly fro...
bool _boundary_elems_dirty
Whether the cached boundary element list needs rebuilding.
static InputParameters validParams()
void invalidateInterpolations()
static InputParameters validParams()
void postSolve() override
NEML2FEInterpolation * _fe
The FE interface for getting variable values/gradients interpolated onto the finite element space...
bool contextUpToDate() const
NEML2CentralDifference(const InputParameters ¶meters)
virtual void meshChanged() override
registerMooseObject("SolidMechanicsApp", NEML2CentralDifference)
virtual MooseMesh & mesh() override
void meshChanged() override
virtual void evaluateRHSResidual()
Evaluate the RHS residual.
void rebuildBoundaryElementList()
void evaluateRHSResidual() override
Evaluate the RHS residual.
void initialSetup() override