www.mooseframework.org
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
DisplacedProblem Class Reference

#include <DisplacedProblem.h>

Inheritance diagram for DisplacedProblem:
[legend]

Public Member Functions

 DisplacedProblem (const InputParameters &parameters)
 
virtual EquationSystems & es () override
 
virtual MooseMeshmesh () override
 
MooseMeshrefMesh ()
 
DisplacedSystemnlSys ()
 
DisplacedSystemauxSys ()
 
const std::vector< std::string > & getDisplacementVarNames () const
 
virtual void createQRules (QuadratureType type, Order order, Order volume_order, Order face_order)
 
virtual void init () override
 
virtual void solve () override
 
virtual bool converged () override
 
virtual void saveOldSolutions ()
 Allocate vectors and save old solutions into them. More...
 
virtual void restoreOldSolutions ()
 Restore old solutions from the backup vectors and deallocate them. More...
 
virtual void syncSolutions ()
 Copy the solutions on the undisplaced systems to the displaced systems. More...
 
virtual void syncSolutions (const NumericVector< Number > &soln, const NumericVector< Number > &aux_soln)
 Synchronize the solutions on the displaced systems to the given solutions. More...
 
virtual void updateMesh ()
 Copy the solutions on the undisplaced systems to the displaced systems and reinitialize the geometry search data and Dirac kernel information due to mesh displacement. More...
 
virtual void updateMesh (const NumericVector< Number > &soln, const NumericVector< Number > &aux_soln)
 Synchronize the solutions on the displaced systems to the given solutions and reinitialize the geometry search data and Dirac kernel information due to mesh displacement. More...
 
virtual TagID addVectorTag (TagName tag_name) override
 Create a Tag. More...
 
virtual TagID getVectorTagID (const TagName &tag_name) override
 Get a TagID from a TagName. More...
 
virtual TagName vectorTagName (TagID tag) override
 Retrieve the name associated with a TagID. More...
 
virtual bool vectorTagExists (TagID tag) override
 Check to see if a particular Tag exists. More...
 
virtual unsigned int numVectorTags () override
 The total number of tags. More...
 
virtual std::map< TagName, TagID > & getVectorTags () override
 Return all vector tags, where a tag is represented by a map from name to ID. More...
 
virtual TagID addMatrixTag (TagName tag_name) override
 Create a Tag. More...
 
virtual TagID getMatrixTagID (const TagName &tag_name) override
 Get a TagID from a TagName. More...
 
virtual TagName matrixTagName (TagID tag) override
 Retrieve the name associated with a TagID. More...
 
virtual bool matrixTagExists (const TagName &tag_name) override
 Check to see if a particular Tag exists. More...
 
virtual bool matrixTagExists (TagID tag_id) override
 Check to see if a particular Tag exists. More...
 
virtual unsigned int numMatrixTags () override
 The total number of tags. More...
 
virtual bool isTransient () const override
 
virtual Moose::CoordinateSystemType getCoordSystem (SubdomainID sid) override
 
virtual bool hasVariable (const std::string &var_name) const override
 
virtual MooseVariableFEBasegetVariable (THREAD_ID tid, const std::string &var_name, Moose::VarKindType expected_var_type=Moose::VarKindType::VAR_ANY, Moose::VarFieldType expected_var_field_type=Moose::VarFieldType::VAR_FIELD_ANY) override
 Returns the variable reference for requested variable which must be of the expected_var_type (Nonlinear vs. More...
 
virtual MooseVariablegetStandardVariable (THREAD_ID tid, const std::string &var_name) override
 Returns the variable reference for requested MooseVariable which may be in any system. More...
 
virtual VectorMooseVariablegetVectorVariable (THREAD_ID tid, const std::string &var_name) override
 Returns the variable reference for requested VectorMooseVariable which may be in any system. More...
 
virtual bool hasScalarVariable (const std::string &var_name) const override
 Returns a Boolean indicating whether any system contains a variable with the name provided. More...
 
virtual MooseVariableScalargetScalarVariable (THREAD_ID tid, const std::string &var_name) override
 Returns the scalar variable reference from whichever system contains it. More...
 
virtual System & getSystem (const std::string &var_name) override
 Returns the equation system containing the variable provided. More...
 
virtual void addVariable (const std::string &var_name, const FEType &type, Real scale_factor, const std::set< SubdomainID > *const active_subdomains=NULL)
 
virtual void addAuxVariable (const std::string &var_name, const FEType &type, const std::set< SubdomainID > *const active_subdomains=NULL)
 
virtual void addScalarVariable (const std::string &var_name, Order order, Real scale_factor=1., const std::set< SubdomainID > *const active_subdomains=NULL)
 
virtual void addAuxScalarVariable (const std::string &var_name, Order order, Real scale_factor=1., const std::set< SubdomainID > *const active_subdomains=NULL)
 
virtual void initAdaptivity ()
 
virtual void meshChanged () override
 
virtual void prepare (const Elem *elem, THREAD_ID tid) override
 
virtual void prepareNonlocal (THREAD_ID tid)
 
virtual void prepareFace (const Elem *elem, THREAD_ID tid) override
 
virtual void prepare (const Elem *elem, unsigned int ivar, unsigned int jvar, const std::vector< dof_id_type > &dof_indices, THREAD_ID tid) override
 
virtual void setCurrentSubdomainID (const Elem *elem, THREAD_ID tid) override
 
virtual void setNeighborSubdomainID (const Elem *elem, unsigned int side, THREAD_ID tid) override
 
virtual void prepareBlockNonlocal (unsigned int ivar, unsigned int jvar, const std::vector< dof_id_type > &idof_indices, const std::vector< dof_id_type > &jdof_indices, THREAD_ID tid)
 
virtual void prepareAssembly (THREAD_ID tid) override
 
virtual void prepareAssemblyNeighbor (THREAD_ID tid)
 
virtual bool reinitDirac (const Elem *elem, THREAD_ID tid) override
 Returns true if the Problem has Dirac kernels it needs to compute on elem. More...
 
virtual void reinitElem (const Elem *elem, THREAD_ID tid) override
 
virtual void reinitElemPhys (const Elem *elem, const std::vector< Point > &phys_points_in_elem, THREAD_ID tid, bool=false) override
 
virtual void reinitElemFace (const Elem *elem, unsigned int side, BoundaryID bnd_id, THREAD_ID tid) override
 
virtual void reinitNode (const Node *node, THREAD_ID tid) override
 
virtual void reinitNodeFace (const Node *node, BoundaryID bnd_id, THREAD_ID tid) override
 
virtual void reinitNodes (const std::vector< dof_id_type > &nodes, THREAD_ID tid) override
 
virtual void reinitNodesNeighbor (const std::vector< dof_id_type > &nodes, THREAD_ID tid) override
 
virtual void reinitNeighbor (const Elem *elem, unsigned int side, THREAD_ID tid) override
 
virtual void reinitNeighborPhys (const Elem *neighbor, unsigned int neighbor_side, const std::vector< Point > &physical_points, THREAD_ID tid) override
 
virtual void reinitNeighborPhys (const Elem *neighbor, const std::vector< Point > &physical_points, THREAD_ID tid) override
 
virtual void reinitScalars (THREAD_ID tid) override
 
virtual void reinitOffDiagScalars (THREAD_ID tid) override
 
virtual void getDiracElements (std::set< const Elem *> &elems) override
 Fills "elems" with the elements that should be looped over for Dirac Kernels. More...
 
virtual void clearDiracInfo () override
 Gets called before Dirac Kernels are asked to add the points they are supposed to be evaluated in. More...
 
virtual void addResidual (THREAD_ID tid) override
 
virtual void addResidualNeighbor (THREAD_ID tid) override
 
virtual void cacheResidual (THREAD_ID tid) override
 
virtual void cacheResidualNeighbor (THREAD_ID tid) override
 
virtual void addCachedResidual (THREAD_ID tid) override
 
virtual void addCachedResidualDirectly (NumericVector< Number > &residual, THREAD_ID tid)
 
virtual void setResidual (NumericVector< Number > &residual, THREAD_ID tid) override
 
virtual void setResidualNeighbor (NumericVector< Number > &residual, THREAD_ID tid) override
 
virtual void addJacobian (THREAD_ID tid) override
 
virtual void addJacobianNonlocal (THREAD_ID tid)
 
virtual void addJacobianNeighbor (THREAD_ID tid) override
 
virtual void addJacobianBlock (SparseMatrix< Number > &jacobian, unsigned int ivar, unsigned int jvar, const DofMap &dof_map, std::vector< dof_id_type > &dof_indices, THREAD_ID tid) override
 
virtual void addJacobianBlockNonlocal (SparseMatrix< Number > &jacobian, unsigned int ivar, unsigned int jvar, const DofMap &dof_map, const std::vector< dof_id_type > &idof_indices, const std::vector< dof_id_type > &jdof_indices, THREAD_ID tid)
 
virtual void addJacobianNeighbor (SparseMatrix< Number > &jacobian, unsigned int ivar, unsigned int jvar, const DofMap &dof_map, std::vector< dof_id_type > &dof_indices, std::vector< dof_id_type > &neighbor_dof_indices, THREAD_ID tid) override
 
virtual void cacheJacobian (THREAD_ID tid) override
 
virtual void cacheJacobianNonlocal (THREAD_ID tid)
 
virtual void cacheJacobianNeighbor (THREAD_ID tid) override
 
virtual void addCachedJacobian (THREAD_ID tid) override
 
virtual void prepareShapes (unsigned int var, THREAD_ID tid) override
 
virtual void prepareFaceShapes (unsigned int var, THREAD_ID tid) override
 
virtual void prepareNeighborShapes (unsigned int var, THREAD_ID tid) override
 
virtual Assemblyassembly (THREAD_ID tid) override
 
virtual void updateGeomSearch (GeometricSearchData::GeometricSearchType type=GeometricSearchData::ALL) override
 
virtual GeometricSearchDatageomSearchData () override
 
virtual bool computingInitialResidual () const override
 Returns true if the problem is in the process of computing it's initial residual. More...
 
virtual void onTimestepBegin () override
 
virtual void onTimestepEnd () override
 
virtual std::set< dof_id_type > & ghostedElems () override
 Return the list of elements that should have their DoFs ghosted to this processor. More...
 
virtual void addGhostedElem (dof_id_type elem_id) override
 Will make sure that all dofs connected to elem_id are ghosted to this processor. More...
 
virtual void addGhostedBoundary (BoundaryID boundary_id) override
 Will make sure that all necessary elements from boundary_id are ghosted to this processor. More...
 
virtual void ghostGhostedBoundaries () override
 Causes the boundaries added using addGhostedBoundary to actually be ghosted. More...
 
void undisplaceMesh ()
 Resets the displaced mesh to the reference mesh. More...
 
virtual bool checkNonlocalCouplingRequirement ()
 
bool vectorTagExists (const TagName &tag_name)
 Check to see if a particular Tag exists by using Tag name. More...
 
virtual std::map< TagName, TagID > & getMatrixTags ()
 Return all matrix tags in the sytem, where a tag is represented by a map from name to ID. More...
 
virtual void setActiveElementalMooseVariables (const std::set< MooseVariableFEBase *> &moose_vars, THREAD_ID tid)
 Set the MOOSE variables to be reinited on each element. More...
 
virtual const std::set< MooseVariableFEBase * > & getActiveElementalMooseVariables (THREAD_ID tid) const
 Get the MOOSE variables to be reinited on each element. More...
 
virtual bool hasActiveElementalMooseVariables (THREAD_ID tid) const
 Whether or not a list of active elemental moose variables has been set. More...
 
virtual void clearActiveElementalMooseVariables (THREAD_ID tid)
 Clear the active elemental MooseVariableFEBase. More...
 
virtual void setActiveMaterialProperties (const std::set< unsigned int > &mat_prop_ids, THREAD_ID tid)
 Record and set the material properties required by the current computing thread. More...
 
virtual const std::set< unsigned int > & getActiveMaterialProperties (THREAD_ID tid) const
 Get the material properties required by the current computing thread. More...
 
virtual bool hasActiveMaterialProperties (THREAD_ID tid) const
 Method to check whether or not a list of active material roperties has been set. More...
 
virtual void clearActiveMaterialProperties (THREAD_ID tid)
 Clear the active material properties. More...
 
unsigned int getAxisymmetricRadialCoord () const
 Returns the desired radial direction for RZ coordinate transformation. More...
 
virtual DiracKernelInfodiracKernelInfo ()
 
virtual Real finalNonlinearResidual () const
 
virtual unsigned int nNonlinearIterations () const
 
virtual unsigned int nLinearIterations () const
 
virtual void storeSubdomainMatPropName (SubdomainID block_id, const std::string &name)
 Adds the given material property to a storage map based on block ids. More...
 
virtual void storeBoundaryMatPropName (BoundaryID boundary_id, const std::string &name)
 Adds the given material property to a storage map based on boundary ids. More...
 
virtual void storeSubdomainZeroMatProp (SubdomainID block_id, const MaterialPropertyName &name)
 Adds to a map based on block ids of material properties for which a zero value can be returned. More...
 
virtual void storeBoundaryZeroMatProp (BoundaryID boundary_id, const MaterialPropertyName &name)
 Adds to a map based on boundary ids of material properties for which a zero value can be returned. More...
 
virtual void storeSubdomainDelayedCheckMatProp (const std::string &requestor, SubdomainID block_id, const std::string &name)
 Adds to a map based on block ids of material properties to validate. More...
 
virtual void storeBoundaryDelayedCheckMatProp (const std::string &requestor, BoundaryID boundary_id, const std::string &name)
 Adds to a map based on boundary ids of material properties to validate. More...
 
virtual void checkBlockMatProps ()
 Checks block material properties integrity. More...
 
virtual void checkBoundaryMatProps ()
 Checks boundary material properties integrity. More...
 
virtual void markMatPropRequested (const std::string &)
 Helper method for adding a material property name to the _material_property_requested set. More...
 
virtual bool isMatPropRequested (const std::string &prop_name) const
 Find out if a material property has been requested by any object. More...
 
virtual std::set< SubdomainIDgetMaterialPropertyBlocks (const std::string &prop_name)
 Get a vector containing the block ids the material property is defined on. More...
 
virtual std::vector< SubdomainName > getMaterialPropertyBlockNames (const std::string &prop_name)
 Get a vector of block id equivalences that the material property is defined on. More...
 
virtual bool hasBlockMaterialProperty (SubdomainID block_id, const std::string &prop_name)
 Check if a material property is defined on a block. More...
 
virtual std::set< BoundaryIDgetMaterialPropertyBoundaryIDs (const std::string &prop_name)
 Get a vector containing the block ids the material property is defined on. More...
 
virtual std::vector< BoundaryName > getMaterialPropertyBoundaryNames (const std::string &prop_name)
 Get a vector of block id equivalences that the material property is defined on. More...
 
virtual bool hasBoundaryMaterialProperty (BoundaryID boundary_id, const std::string &prop_name)
 Check if a material property is defined on a block. More...
 
const CouplingMatrix & nonlocalCouplingMatrix () const
 
virtual const bool & currentlyComputingJacobian () const
 Returns true if the problem is in the process of computing Jacobian. More...
 
virtual void setCurrentlyComputingJacobian (const bool &flag)
 
bool & computingNonlinearResid ()
 Check whether residual being evaulated is non-linear. More...
 
bool safeAccessTaggedMatrices ()
 Is it safe to access the tagged matrices. More...
 
bool safeAccessTaggedVectors ()
 Is it safe to access the tagged vectors. More...
 
virtual void clearActiveFEVariableCoupleableMatrixTags (THREAD_ID tid)
 
virtual void clearActiveFEVariableCoupleableVectorTags (THREAD_ID tid)
 
virtual void setActiveFEVariableCoupleableVectorTags (std::set< TagID > &vtags, THREAD_ID tid)
 
virtual void setActiveFEVariableCoupleableMatrixTags (std::set< TagID > &mtags, THREAD_ID tid)
 
virtual void clearActiveScalarVariableCoupleableMatrixTags (THREAD_ID tid)
 
virtual void clearActiveScalarVariableCoupleableVectorTags (THREAD_ID tid)
 
virtual void setActiveScalarVariableCoupleableVectorTags (std::set< TagID > &vtags, THREAD_ID tid)
 
virtual void setActiveScalarVariableCoupleableMatrixTags (std::set< TagID > &mtags, THREAD_ID tid)
 
std::set< TagID > & getActiveScalarVariableCoupleableVectorTags (THREAD_ID tid)
 
std::set< TagID > & getActiveScalarVariableCoupleableMatrixTags (THREAD_ID tid)
 
std::set< TagID > & getActiveFEVariableCoupleableVectorTags (THREAD_ID tid)
 
std::set< TagID > & getActiveFEVariableCoupleableMatrixTags (THREAD_ID tid)
 
virtual void haveADObjects (bool have_ad_objects)
 Method for setting whether we have any ad objects. More...
 
bool haveADObjects () const
 Method for reading wehther we have any ad objects. More...
 
void _setCLIOption ()
 For Internal Use. More...
 
virtual void terminateSolve ()
 Allow objects to request clean termination of the solve. More...
 
virtual bool isSolveTerminationRequested ()
 Check of termination has been requested. More...
 
const std::string & type () const
 Get the type of this object. More...
 
const std::string & name () const
 Get the name of the object. More...
 
const InputParametersparameters () const
 Get the parameters of the object. More...
 
template<typename T >
const T & getParam (const std::string &name) const
 Retrieve a parameter for the object. More...
 
template<typename 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. More...
 
bool isParamValid (const std::string &name) const
 Test if the supplied parameter is valid. More...
 
MooseAppgetMooseApp () const
 Get the MooseApp this object is associated with. More...
 
virtual bool enabled () const
 Return the enabled status of the object. More...
 
template<typename... Args>
void paramError (const std::string &param, Args... args)
 Emits an error prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
template<typename... Args>
void paramWarning (const std::string &param, Args... args)
 Emits a warning prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
template<typename... Args>
void paramInfo (const std::string &param, Args... args)
 Emits an informational message prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
template<typename... Args>
void mooseError (Args &&... args) const
 
template<typename... Args>
void mooseWarning (Args &&... args) const
 
template<typename... Args>
void mooseDeprecated (Args &&... args) const
 
template<typename... Args>
void mooseInfo (Args &&... args) const
 

Public Attributes

std::map< std::string, std::vector< dof_id_type > > _var_dof_map
 
const ConsoleStream _console
 An instance of helper class to write streams to the Console objects. More...
 

Protected Member Functions

MooseVariableFEBasegetVariableHelper (THREAD_ID tid, const std::string &var_name, Moose::VarKindType expected_var_type, Moose::VarFieldType expected_var_field_type, SystemBase &nl, SystemBase &aux)
 Helper function called by getVariable that handles the logic for checking whether Variables of the requested type are available. More...
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level)
 Call to register a named section for timing. More...
 

Protected Attributes

FEProblemBase_mproblem
 
MooseMesh_mesh
 
EquationSystems _eq
 
MooseMesh_ref_mesh
 reference mesh More...
 
std::vector< std::string > _displacements
 
DisplacedSystem _displaced_nl
 
DisplacedSystem _displaced_aux
 
const NumericVector< Number > * _nl_solution
 
const NumericVector< Number > * _aux_solution
 
std::vector< std::unique_ptr< Assembly > > _assembly
 
GeometricSearchData _geometric_search_data
 
PerfID _eq_init_timer
 Timers. More...
 
PerfID _update_mesh_timer
 
PerfID _sync_solutions_timer
 
PerfID _update_geometric_search_timer
 
std::map< TagName, TagID_vector_tag_name_to_tag_id
 The currently declared tags. More...
 
std::map< TagID, TagName > _vector_tag_id_to_tag_name
 Reverse map. More...
 
std::map< TagName, TagID_matrix_tag_name_to_tag_id
 The currently declared tags. More...
 
std::map< TagID, TagName > _matrix_tag_id_to_tag_name
 Reverse map. More...
 
Factory_factory
 The Factory for building objects. More...
 
CouplingMatrix _nonlocal_cm
 
std::map< SubdomainID, Moose::CoordinateSystemType_coord_sys
 nonlocal coupling matrix; More...
 
DiracKernelInfo _dirac_kernel_info
 
std::map< SubdomainID, std::set< std::string > > _map_block_material_props
 Map of material properties (block_id -> list of properties) More...
 
std::map< BoundaryID, std::set< std::string > > _map_boundary_material_props
 Map for boundary material properties (boundary_id -> list of properties) More...
 
std::map< SubdomainID, std::set< MaterialPropertyName > > _zero_block_material_props
 Set of properties returned as zero properties. More...
 
std::map< BoundaryID, std::set< MaterialPropertyName > > _zero_boundary_material_props
 
std::set< std::string > _material_property_requested
 set containing all material property names that have been requested by getMaterialProperty* More...
 
std::vector< std::set< MooseVariableFEBase * > > _active_elemental_moose_variables
 This is the set of MooseVariableFEBases that will actually get reinited by a call to reinit(elem) More...
 
std::vector< unsigned int > _has_active_elemental_moose_variables
 Whether or not there is currently a list of active elemental moose variables. More...
 
std::vector< std::set< unsigned int > > _active_material_property_ids
 Set of material property ids that determine whether materials get reinited. More...
 
std::vector< std::set< TagID > > _active_fe_var_coupleable_matrix_tags
 
std::vector< std::set< TagID > > _active_fe_var_coupleable_vector_tags
 
std::vector< std::set< TagID > > _active_sc_var_coupleable_matrix_tags
 
std::vector< std::set< TagID > > _active_sc_var_coupleable_vector_tags
 
bool _requires_nonlocal_coupling
 nonlocal coupling requirement flag More...
 
std::set< dof_id_type > _ghosted_elems
 Elements that should have Dofs ghosted to the local processor. More...
 
unsigned int _rz_coord_axis
 Storage for RZ axis selection. More...
 
bool _currently_computing_jacobian
 Flag to determine whether the problem is currently computing Jacobian. More...
 
bool _computing_nonlinear_residual
 Whether residual being evaulated is non-linear. More...
 
bool _safe_access_tagged_matrices
 Is it safe to retrieve data from tagged matrices. More...
 
bool _safe_access_tagged_vectors
 Is it safe to retrieve data from tagged vectors. More...
 
bool _have_ad_objects
 AD flag indicating whether any AD objects have been added. More...
 
bool _cli_option_found
 True if the CLI option is found. More...
 
bool _color_output
 True if we're going to attempt to write color output. More...
 
bool _termination_requested
 True if termination of the solve has been requested. More...
 
const InputParameters_pars
 Parameters of this object, references the InputParameters stored in the InputParametersWarehouse. More...
 
MooseApp_app
 The MooseApp this object is associated with. More...
 
const std::string & _type
 The type of this object (the Class name) More...
 
const std::string & _name
 The name of this object, reference to value stored in InputParameters. More...
 
const bool & _enabled
 Reference to the "enable" InputParaemters, used by Controls for toggling on/off MooseObjects. More...
 
const InputParameters_pg_params
 Params. More...
 
PerfGraph_perf_graph
 The performance graph to add to. More...
 
std::string _prefix
 A prefix to use for all sections. More...
 
std::map< SubdomainID, std::multimap< std::string, std::string > > _map_block_material_props_check
 Data structures of the requested material properties. More...
 
std::map< BoundaryID, std::multimap< std::string, std::string > > _map_boundary_material_props_check
 

Friends

class UpdateDisplacedMeshThread
 
class Restartable
 

Detailed Description

Definition at line 39 of file DisplacedProblem.h.

Constructor & Destructor Documentation

◆ DisplacedProblem()

DisplacedProblem::DisplacedProblem ( const InputParameters parameters)

Definition at line 37 of file DisplacedProblem.C.

39  _mproblem(parameters.have_parameter<FEProblemBase *>("_fe_problem_base")
40  ? *getParam<FEProblemBase *>("_fe_problem_base")
41  : *getParam<FEProblem *>("_fe_problem")),
42  _mesh(*getParam<MooseMesh *>("mesh")),
43  _eq(_mesh),
45  _displacements(getParam<std::vector<std::string>>("displacements")),
46  _displaced_nl(*this,
48  _mproblem.getNonlinearSystemBase().name() + "_displaced",
50  _displaced_aux(*this,
52  _mproblem.getAuxiliarySystem().name() + "_displaced",
55  _eq_init_timer(registerTimedSection("eq::init", 2)),
56  _update_mesh_timer(registerTimedSection("updateMesh", 3)),
57  _sync_solutions_timer(registerTimedSection("syncSolutions", 5)),
58  _update_geometric_search_timer(registerTimedSection("updateGeometricSearch", 3))
59 {
60  // TODO: Move newAssemblyArray further up to SubProblem so that we can use it here
61  unsigned int n_threads = libMesh::n_threads();
62 
63  _assembly.reserve(n_threads);
64  for (unsigned int i = 0; i < n_threads; ++i)
65  _assembly.emplace_back(libmesh_make_unique<Assembly>(_displaced_nl, i));
66 
68 }
PerfID registerTimedSection(const std::string &section_name, const unsigned int level)
Call to register a named section for timing.
GeometricSearchData _geometric_search_data
PerfID _update_geometric_search_timer
NonlinearSystemBase & getNonlinearSystemBase()
FEProblemBase & _mproblem
std::vector< std::unique_ptr< Assembly > > _assembly
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl
PerfID _eq_init_timer
Timers.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
const T & getParam(const std::string &name) const
Retrieve a parameter for the object.
Definition: MooseObject.h:188
virtual const std::string & name() const
Definition: SystemBase.C:1022
void addTimeIntegrator(std::shared_ptr< TimeIntegrator > ti) override
EquationSystems _eq
MooseMesh & _ref_mesh
reference mesh
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseObject.h:62
SubProblem(const InputParameters &parameters)
Definition: SubProblem.C:30
std::vector< std::string > _displacements
AuxiliarySystem & getAuxiliarySystem()
std::shared_ptr< TimeIntegrator > getSharedTimeIntegrator()
Definition: SystemBase.h:691
virtual MooseMesh & mesh() override

Member Function Documentation

◆ _setCLIOption()

void Problem::_setCLIOption ( )
inlineinherited

For Internal Use.

Definition at line 36 of file Problem.h.

36 { _cli_option_found = true; }
bool _cli_option_found
True if the CLI option is found.
Definition: Problem.h:47

◆ addAuxScalarVariable()

void DisplacedProblem::addAuxScalarVariable ( const std::string &  var_name,
Order  order,
Real  scale_factor = 1.,
const std::set< SubdomainID > *const  active_subdomains = NULL 
)
virtual

Definition at line 411 of file DisplacedProblem.C.

415 {
416  _displaced_aux.addScalarVariable(var_name, order, scale_factor, active_subdomains);
417 }
DisplacedSystem _displaced_aux
virtual void addScalarVariable(const std::string &var_name, Order order, Real scale_factor, const std::set< SubdomainID > *const active_subdomains=NULL)
Adds a scalar variable.
Definition: SystemBase.C:628

◆ addAuxVariable()

void DisplacedProblem::addAuxVariable ( const std::string &  var_name,
const FEType &  type,
const std::set< SubdomainID > *const  active_subdomains = NULL 
)
virtual

Definition at line 394 of file DisplacedProblem.C.

397 {
398  _displaced_aux.addVariable(var_name, type, 1.0, active_subdomains);
399 }
virtual void addVariable(const std::string &var_name, const FEType &type, Real scale_factor, const std::set< SubdomainID > *const active_subdomains=NULL)
Adds a variable to the system.
Definition: SystemBase.C:597
DisplacedSystem _displaced_aux
const std::string & type() const
Get the type of this object.
Definition: MooseObject.h:50

◆ addCachedJacobian()

void DisplacedProblem::addCachedJacobian ( THREAD_ID  tid)
overridevirtual

Implements SubProblem.

Definition at line 750 of file DisplacedProblem.C.

751 {
752  _assembly[tid]->addCachedJacobian();
753 }
std::vector< std::unique_ptr< Assembly > > _assembly

◆ addCachedResidual()

void DisplacedProblem::addCachedResidual ( THREAD_ID  tid)
overridevirtual

Implements SubProblem.

Definition at line 689 of file DisplacedProblem.C.

690 {
691  _assembly[tid]->addCachedResiduals();
692 }
std::vector< std::unique_ptr< Assembly > > _assembly

◆ addCachedResidualDirectly()

void DisplacedProblem::addCachedResidualDirectly ( NumericVector< Number > &  residual,
THREAD_ID  tid 
)
virtual

Definition at line 695 of file DisplacedProblem.C.

696 {
697  _assembly[tid]->addCachedResidual(residual, _displaced_nl.timeVectorTag());
698  _assembly[tid]->addCachedResidual(residual, _displaced_nl.nonTimeVectorTag());
699 }
std::vector< std::unique_ptr< Assembly > > _assembly
DisplacedSystem _displaced_nl
virtual TagID timeVectorTag() override
Ideally, we should not need this API.
virtual TagID nonTimeVectorTag() override

◆ addGhostedBoundary()

void DisplacedProblem::addGhostedBoundary ( BoundaryID  boundary_id)
overridevirtual

Will make sure that all necessary elements from boundary_id are ghosted to this processor.

Parameters
boundary_idBoundary ID

Implements SubProblem.

Definition at line 838 of file DisplacedProblem.C.

839 {
840  _mproblem.addGhostedBoundary(boundary_id);
841 }
FEProblemBase & _mproblem
virtual void addGhostedBoundary(BoundaryID boundary_id) override
Will make sure that all necessary elements from boundary_id are ghosted to this processor.

◆ addGhostedElem()

void DisplacedProblem::addGhostedElem ( dof_id_type  elem_id)
overridevirtual

Will make sure that all dofs connected to elem_id are ghosted to this processor.

Implements SubProblem.

Definition at line 832 of file DisplacedProblem.C.

833 {
834  _mproblem.addGhostedElem(elem_id);
835 }
virtual void addGhostedElem(dof_id_type elem_id) override
Will make sure that all dofs connected to elem_id are ghosted to this processor.
FEProblemBase & _mproblem

◆ addJacobian()

void DisplacedProblem::addJacobian ( THREAD_ID  tid)
overridevirtual

Implements SubProblem.

Definition at line 714 of file DisplacedProblem.C.

715 {
716  _assembly[tid]->addJacobian();
717 }
std::vector< std::unique_ptr< Assembly > > _assembly

◆ addJacobianBlock()

void DisplacedProblem::addJacobianBlock ( SparseMatrix< Number > &  jacobian,
unsigned int  ivar,
unsigned int  jvar,
const DofMap &  dof_map,
std::vector< dof_id_type > &  dof_indices,
THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 756 of file DisplacedProblem.C.

762 {
763  _assembly[tid]->addJacobianBlock(jacobian, ivar, jvar, dof_map, dof_indices);
764 }
std::vector< std::unique_ptr< Assembly > > _assembly
DofMap & dof_map

◆ addJacobianBlockNonlocal()

void DisplacedProblem::addJacobianBlockNonlocal ( SparseMatrix< Number > &  jacobian,
unsigned int  ivar,
unsigned int  jvar,
const DofMap &  dof_map,
const std::vector< dof_id_type > &  idof_indices,
const std::vector< dof_id_type > &  jdof_indices,
THREAD_ID  tid 
)
virtual

Definition at line 767 of file DisplacedProblem.C.

774 {
775  _assembly[tid]->addJacobianBlockNonlocal(
776  jacobian, ivar, jvar, dof_map, idof_indices, jdof_indices);
777 }
std::vector< std::unique_ptr< Assembly > > _assembly
DofMap & dof_map

◆ addJacobianNeighbor() [1/2]

void DisplacedProblem::addJacobianNeighbor ( THREAD_ID  tid)
overridevirtual

Implements SubProblem.

Definition at line 726 of file DisplacedProblem.C.

727 {
728  _assembly[tid]->addJacobianNeighbor();
729 }
std::vector< std::unique_ptr< Assembly > > _assembly

◆ addJacobianNeighbor() [2/2]

void DisplacedProblem::addJacobianNeighbor ( SparseMatrix< Number > &  jacobian,
unsigned int  ivar,
unsigned int  jvar,
const DofMap &  dof_map,
std::vector< dof_id_type > &  dof_indices,
std::vector< dof_id_type > &  neighbor_dof_indices,
THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 780 of file DisplacedProblem.C.

787 {
788  _assembly[tid]->addJacobianNeighbor(
789  jacobian, ivar, jvar, dof_map, dof_indices, neighbor_dof_indices);
790 }
std::vector< std::unique_ptr< Assembly > > _assembly
DofMap & dof_map

◆ addJacobianNonlocal()

void DisplacedProblem::addJacobianNonlocal ( THREAD_ID  tid)
virtual

Definition at line 720 of file DisplacedProblem.C.

721 {
722  _assembly[tid]->addJacobianNonlocal();
723 }
std::vector< std::unique_ptr< Assembly > > _assembly

◆ addMatrixTag()

TagID DisplacedProblem::addMatrixTag ( TagName  tag_name)
overridevirtual

Create a Tag.

Tags can be associated with Vectors and Matrices and allow objects (such as Kernels) to arbitrarily contribute values to any set of vectors/matrics

Note: If the tag is already present then this will simply return the TagID of that Tag

Parameters
tag_nameThe name of the tag to create, the TagID will get automatically generated

Reimplemented from SubProblem.

Definition at line 273 of file DisplacedProblem.C.

274 {
275  return _mproblem.addMatrixTag(tag_name);
276 }
FEProblemBase & _mproblem
virtual TagID addMatrixTag(TagName tag_name)
Create a Tag.
Definition: SubProblem.C:102

◆ addResidual()

void DisplacedProblem::addResidual ( THREAD_ID  tid)
overridevirtual

Implements SubProblem.

Definition at line 665 of file DisplacedProblem.C.

666 {
667  _assembly[tid]->addResidual(getVectorTags());
668 }
std::vector< std::unique_ptr< Assembly > > _assembly
virtual std::map< TagName, TagID > & getVectorTags() override
Return all vector tags, where a tag is represented by a map from name to ID.

◆ addResidualNeighbor()

void DisplacedProblem::addResidualNeighbor ( THREAD_ID  tid)
overridevirtual

Implements SubProblem.

Definition at line 671 of file DisplacedProblem.C.

672 {
673  _assembly[tid]->addResidualNeighbor(getVectorTags());
674 }
std::vector< std::unique_ptr< Assembly > > _assembly
virtual std::map< TagName, TagID > & getVectorTags() override
Return all vector tags, where a tag is represented by a map from name to ID.

◆ addScalarVariable()

void DisplacedProblem::addScalarVariable ( const std::string &  var_name,
Order  order,
Real  scale_factor = 1.,
const std::set< SubdomainID > *const  active_subdomains = NULL 
)
virtual

Definition at line 402 of file DisplacedProblem.C.

406 {
407  _displaced_nl.addScalarVariable(var_name, order, scale_factor, active_subdomains);
408 }
DisplacedSystem _displaced_nl
virtual void addScalarVariable(const std::string &var_name, Order order, Real scale_factor, const std::set< SubdomainID > *const active_subdomains=NULL)
Adds a scalar variable.
Definition: SystemBase.C:628

◆ addVariable()

void DisplacedProblem::addVariable ( const std::string &  var_name,
const FEType &  type,
Real  scale_factor,
const std::set< SubdomainID > *const  active_subdomains = NULL 
)
virtual

Definition at line 385 of file DisplacedProblem.C.

389 {
390  _displaced_nl.addVariable(var_name, type, scale_factor, active_subdomains);
391 }
virtual void addVariable(const std::string &var_name, const FEType &type, Real scale_factor, const std::set< SubdomainID > *const active_subdomains=NULL)
Adds a variable to the system.
Definition: SystemBase.C:597
DisplacedSystem _displaced_nl
const std::string & type() const
Get the type of this object.
Definition: MooseObject.h:50

◆ addVectorTag()

TagID DisplacedProblem::addVectorTag ( TagName  tag_name)
overridevirtual

Create a Tag.

Tags can be associated with Vectors and Matrices and allow objects (such as Kernels) to arbitrarily contribute values to any set of vectors/matrics

Note: If the tag is already present then this will simply return the TagID of that Tag

Parameters
tag_nameThe name of the tag to create, the TagID will get automatically generated

Reimplemented from SubProblem.

Definition at line 237 of file DisplacedProblem.C.

238 {
239  return _mproblem.addVectorTag(tag_name);
240 }
virtual TagID addVectorTag(TagName tag_name)
Create a Tag.
Definition: SubProblem.C:56
FEProblemBase & _mproblem

◆ assembly()

virtual Assembly& DisplacedProblem::assembly ( THREAD_ID  tid)
inlineoverridevirtual

Implements SubProblem.

Definition at line 237 of file DisplacedProblem.h.

237 { return *_assembly[tid]; }
std::vector< std::unique_ptr< Assembly > > _assembly

◆ auxSys()

DisplacedSystem& DisplacedProblem::auxSys ( )
inline

Definition at line 49 of file DisplacedProblem.h.

49 { return _displaced_aux; }
DisplacedSystem _displaced_aux

◆ cacheJacobian()

void DisplacedProblem::cacheJacobian ( THREAD_ID  tid)
overridevirtual

Implements SubProblem.

Definition at line 732 of file DisplacedProblem.C.

733 {
734  _assembly[tid]->cacheJacobian();
735 }
std::vector< std::unique_ptr< Assembly > > _assembly

◆ cacheJacobianNeighbor()

void DisplacedProblem::cacheJacobianNeighbor ( THREAD_ID  tid)
overridevirtual

Implements SubProblem.

Definition at line 744 of file DisplacedProblem.C.

745 {
746  _assembly[tid]->cacheJacobianNeighbor();
747 }
std::vector< std::unique_ptr< Assembly > > _assembly

◆ cacheJacobianNonlocal()

void DisplacedProblem::cacheJacobianNonlocal ( THREAD_ID  tid)
virtual

Definition at line 738 of file DisplacedProblem.C.

739 {
740  _assembly[tid]->cacheJacobianNonlocal();
741 }
std::vector< std::unique_ptr< Assembly > > _assembly

◆ cacheResidual()

void DisplacedProblem::cacheResidual ( THREAD_ID  tid)
overridevirtual

Implements SubProblem.

Definition at line 677 of file DisplacedProblem.C.

678 {
679  _assembly[tid]->cacheResidual();
680 }
std::vector< std::unique_ptr< Assembly > > _assembly

◆ cacheResidualNeighbor()

void DisplacedProblem::cacheResidualNeighbor ( THREAD_ID  tid)
overridevirtual

Implements SubProblem.

Definition at line 683 of file DisplacedProblem.C.

684 {
685  _assembly[tid]->cacheResidualNeighbor();
686 }
std::vector< std::unique_ptr< Assembly > > _assembly

◆ checkBlockMatProps()

void SubProblem::checkBlockMatProps ( )
virtualinherited

Checks block material properties integrity.

See also
FEProblemBase::checkProblemIntegrity

Definition at line 436 of file SubProblem.C.

Referenced by FEProblemBase::checkProblemIntegrity().

437 {
438  // Variable for storing the value for ANY_BLOCK_ID/ANY_BOUNDARY_ID
440 
441  // Variable for storing all available blocks/boundaries from the mesh
442  std::set<SubdomainID> all_ids(mesh().meshSubdomains());
443 
444  // Loop through the properties to check
445  for (const auto & check_it : _map_block_material_props_check)
446  {
447  // The current id for the property being checked (BoundaryID || BlockID)
448  SubdomainID check_id = check_it.first;
449 
450  // In the case when the material being checked has an ID is set to ANY, then loop through all
451  // the possible ids and verify that the material property is defined.
452  std::set<SubdomainID> check_ids = {check_id};
453  if (check_id == any_id)
454  check_ids = all_ids;
455 
456  // Loop through all the block/boundary ids
457  for (const auto & id : check_ids)
458  {
459  // Loop through all the stored properties
460  for (const auto & prop_it : check_it.second)
461  {
462  // Produce an error if the material property is not defined on the current block/boundary
463  // and any block/boundary
464  // and not is not a zero material property.
465  if (_map_block_material_props[id].count(prop_it.second) == 0 &&
466  _map_block_material_props[any_id].count(prop_it.second) == 0 &&
467  _zero_block_material_props[id].count(prop_it.second) == 0 &&
468  _zero_block_material_props[any_id].count(prop_it.second) == 0)
469  {
470  std::string check_name = restrictionSubdomainCheckName(id);
471  if (check_name.empty())
472  check_name = std::to_string(id);
473  mooseError("Material property '",
474  prop_it.second,
475  "', requested by '",
476  prop_it.first,
477  "' is not defined on block ",
478  check_name);
479  }
480  }
481  }
482  }
483 }
virtual MooseMesh & mesh()=0
subdomain_id_type SubdomainID
Definition: MooseTypes.h:124
void mooseError(Args &&... args) const
Definition: MooseObject.h:144
std::string restrictionSubdomainCheckName(SubdomainID check_id)
Helper functions for checking MaterialProperties.
Definition: SubProblem.C:578
const SubdomainID ANY_BLOCK_ID
Definition: MooseTypes.C:15
std::map< SubdomainID, std::set< MaterialPropertyName > > _zero_block_material_props
Set of properties returned as zero properties.
Definition: SubProblem.h:598
std::map< SubdomainID, std::multimap< std::string, std::string > > _map_block_material_props_check
Data structures of the requested material properties.
Definition: SubProblem.h:610
std::map< SubdomainID, std::set< std::string > > _map_block_material_props
Map of material properties (block_id -> list of properties)
Definition: SubProblem.h:592

◆ checkBoundaryMatProps()

void SubProblem::checkBoundaryMatProps ( )
virtualinherited

Checks boundary material properties integrity.

See also
FEProblemBase::checkProblemIntegrity

Definition at line 486 of file SubProblem.C.

Referenced by FEProblemBase::checkProblemIntegrity().

487 {
488  // Variable for storing the value for ANY_BLOCK_ID/ANY_BOUNDARY_ID
490 
491  // Variable for storing all available blocks/boundaries from the mesh
492  std::set<BoundaryID> all_ids(mesh().getBoundaryIDs());
493 
494  // Loop through the properties to check
495  for (const auto & check_it : _map_boundary_material_props_check)
496  {
497  // The current id for the property being checked (BoundaryID || BlockID)
498  BoundaryID check_id = check_it.first;
499 
500  // In the case when the material being checked has an ID is set to ANY, then loop through all
501  // the possible ids and verify that the material property is defined.
502  std::set<BoundaryID> check_ids{check_id};
503  if (check_id == any_id)
504  check_ids = all_ids;
505 
506  // Loop through all the block/boundary ids
507  for (const auto & id : check_ids)
508  {
509  // Loop through all the stored properties
510  for (const auto & prop_it : check_it.second)
511  {
512  // Produce an error if the material property is not defined on the current block/boundary
513  // and any block/boundary
514  // and not is not a zero material property.
515  if (_map_boundary_material_props[id].count(prop_it.second) == 0 &&
516  _map_boundary_material_props[any_id].count(prop_it.second) == 0 &&
517  _zero_boundary_material_props[id].count(prop_it.second) == 0 &&
518  _zero_boundary_material_props[any_id].count(prop_it.second) == 0)
519  {
520  std::string check_name = restrictionBoundaryCheckName(id);
521  if (check_name.empty())
522  check_name = std::to_string(id);
523  mooseError("Material property '",
524  prop_it.second,
525  "', requested by '",
526  prop_it.first,
527  "' is not defined on boundary ",
528  check_name);
529  }
530  }
531  }
532  }
533 }
virtual MooseMesh & mesh()=0
std::map< BoundaryID, std::multimap< std::string, std::string > > _map_boundary_material_props_check
Definition: SubProblem.h:611
std::string restrictionBoundaryCheckName(BoundaryID check_id)
Definition: SubProblem.C:589
void mooseError(Args &&... args) const
Definition: MooseObject.h:144
std::map< BoundaryID, std::set< MaterialPropertyName > > _zero_boundary_material_props
Definition: SubProblem.h:599
std::map< BoundaryID, std::set< std::string > > _map_boundary_material_props
Map for boundary material properties (boundary_id -> list of properties)
Definition: SubProblem.h:595
std::vector< libMesh::boundary_id_type > getBoundaryIDs(const libMesh::MeshBase &mesh, const std::vector< BoundaryName > &boundary_name, bool generate_unknown)
const BoundaryID ANY_BOUNDARY_ID
Definition: MooseTypes.C:17
boundary_id_type BoundaryID
Definition: MooseTypes.h:122

◆ checkNonlocalCouplingRequirement()

virtual bool SubProblem::checkNonlocalCouplingRequirement ( )
inlinevirtualinherited

◆ clearActiveElementalMooseVariables()

void SubProblem::clearActiveElementalMooseVariables ( THREAD_ID  tid)
virtualinherited

Clear the active elemental MooseVariableFEBase.

If there are no active variables then they will all be reinited. Call this after finishing the computation that was using a restricted set of MooseVariableFEBases

Parameters
tidThe thread id

Reimplemented in FEProblemBase.

Definition at line 249 of file SubProblem.C.

Referenced by FEProblemBase::clearActiveElementalMooseVariables().

250 {
253 }
std::vector< unsigned int > _has_active_elemental_moose_variables
Whether or not there is currently a list of active elemental moose variables.
Definition: SubProblem.h:619
std::vector< std::set< MooseVariableFEBase * > > _active_elemental_moose_variables
This is the set of MooseVariableFEBases that will actually get reinited by a call to reinit(elem) ...
Definition: SubProblem.h:615

◆ clearActiveFEVariableCoupleableMatrixTags()

void SubProblem::clearActiveFEVariableCoupleableMatrixTags ( THREAD_ID  tid)
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 172 of file SubProblem.C.

Referenced by FEProblemBase::clearActiveFEVariableCoupleableMatrixTags().

173 {
175 }
std::vector< std::set< TagID > > _active_fe_var_coupleable_matrix_tags
Definition: SubProblem.h:624

◆ clearActiveFEVariableCoupleableVectorTags()

void SubProblem::clearActiveFEVariableCoupleableVectorTags ( THREAD_ID  tid)
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 166 of file SubProblem.C.

Referenced by FEProblemBase::clearActiveFEVariableCoupleableVectorTags().

167 {
169 }
std::vector< std::set< TagID > > _active_fe_var_coupleable_vector_tags
Definition: SubProblem.h:626

◆ clearActiveMaterialProperties()

void SubProblem::clearActiveMaterialProperties ( THREAD_ID  tid)
virtualinherited

Clear the active material properties.

Should be called at the end of every computing thread

Parameters
tidThe thread id

Reimplemented in FEProblemBase.

Definition at line 275 of file SubProblem.C.

Referenced by FEProblemBase::clearActiveMaterialProperties().

276 {
277  _active_material_property_ids[tid].clear();
278 }
std::vector< std::set< unsigned int > > _active_material_property_ids
Set of material property ids that determine whether materials get reinited.
Definition: SubProblem.h:622

◆ clearActiveScalarVariableCoupleableMatrixTags()

void SubProblem::clearActiveScalarVariableCoupleableMatrixTags ( THREAD_ID  tid)
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 208 of file SubProblem.C.

Referenced by FEProblemBase::clearActiveScalarVariableCoupleableMatrixTags().

209 {
211 }
std::vector< std::set< TagID > > _active_sc_var_coupleable_matrix_tags
Definition: SubProblem.h:628

◆ clearActiveScalarVariableCoupleableVectorTags()

void SubProblem::clearActiveScalarVariableCoupleableVectorTags ( THREAD_ID  tid)
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 202 of file SubProblem.C.

Referenced by FEProblemBase::clearActiveScalarVariableCoupleableVectorTags().

203 {
205 }
std::vector< std::set< TagID > > _active_sc_var_coupleable_vector_tags
Definition: SubProblem.h:630

◆ clearDiracInfo()

void DisplacedProblem::clearDiracInfo ( )
overridevirtual

Gets called before Dirac Kernels are asked to add the points they are supposed to be evaluated in.

Implements SubProblem.

Definition at line 659 of file DisplacedProblem.C.

660 {
662 }
void clearPoints()
Remove all of the current points and elements.
DiracKernelInfo _dirac_kernel_info
Definition: SubProblem.h:589

◆ computingInitialResidual()

bool DisplacedProblem::computingInitialResidual ( ) const
overridevirtual

Returns true if the problem is in the process of computing it's initial residual.

Returns
Whether or not the problem is currently computing the initial residual.

Implements SubProblem.

Definition at line 867 of file DisplacedProblem.C.

868 {
870 }
virtual bool computingInitialResidual() const override
Returns true if the problem is in the process of computing it&#39;s initial residual. ...
FEProblemBase & _mproblem

◆ computingNonlinearResid()

bool& SubProblem::computingNonlinearResid ( )
inlineinherited

Check whether residual being evaulated is non-linear.

Definition at line 516 of file SubProblem.h.

Referenced by NonlinearSystemBase::computeResidualInternal(), ComputeFDResidualFunctor::residual(), and ComputeResidualFunctor::residual().

bool _computing_nonlinear_residual
Whether residual being evaulated is non-linear.
Definition: SubProblem.h:645

◆ converged()

bool DisplacedProblem::converged ( )
overridevirtual

Implements SubProblem.

Definition at line 861 of file DisplacedProblem.C.

862 {
863  return _mproblem.converged();
864 }
FEProblemBase & _mproblem
virtual bool converged() override

◆ createQRules()

void DisplacedProblem::createQRules ( QuadratureType  type,
Order  order,
Order  volume_order,
Order  face_order 
)
virtual

Definition at line 89 of file DisplacedProblem.C.

93 {
94  for (unsigned int tid = 0; tid < libMesh::n_threads(); ++tid)
95  _assembly[tid]->createQRules(type, order, volume_order, face_order);
96 }
std::vector< std::unique_ptr< Assembly > > _assembly
virtual void createQRules(QuadratureType type, Order order, Order volume_order, Order face_order)
const std::string & type() const
Get the type of this object.
Definition: MooseObject.h:50

◆ currentlyComputingJacobian()

virtual const bool& SubProblem::currentlyComputingJacobian ( ) const
inlinevirtualinherited

Returns true if the problem is in the process of computing Jacobian.

Definition at line 508 of file SubProblem.h.

Referenced by Material::copyDualNumbersToValues(), PenetrationLocator::detectPenetration(), ComputeUserObjectsThread::onBoundary(), and ComputeUserObjectsThread::onElement().

bool _currently_computing_jacobian
Flag to determine whether the problem is currently computing Jacobian.
Definition: SubProblem.h:642

◆ diracKernelInfo()

DiracKernelInfo & SubProblem::diracKernelInfo ( )
virtualinherited

Definition at line 548 of file SubProblem.C.

549 {
550  return _dirac_kernel_info;
551 }
DiracKernelInfo _dirac_kernel_info
Definition: SubProblem.h:589

◆ enabled()

virtual bool MooseObject::enabled ( ) const
inlinevirtualinherited

Return the enabled status of the object.

Reimplemented in EigenKernel.

Definition at line 96 of file MooseObject.h.

Referenced by EigenKernel::enabled().

96 { return _enabled; }
const bool & _enabled
Reference to the "enable" InputParaemters, used by Controls for toggling on/off MooseObjects.
Definition: MooseObject.h:183

◆ es()

virtual EquationSystems& DisplacedProblem::es ( )
inlineoverridevirtual

Implements SubProblem.

Definition at line 44 of file DisplacedProblem.h.

44 { return _eq; }
EquationSystems _eq

◆ finalNonlinearResidual()

Real SubProblem::finalNonlinearResidual ( ) const
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 554 of file SubProblem.C.

Referenced by Residual::getValue().

555 {
556  return 0;
557 }

◆ geomSearchData()

virtual GeometricSearchData& DisplacedProblem::geomSearchData ( )
inlineoverridevirtual

Implements SubProblem.

Definition at line 242 of file DisplacedProblem.h.

242 { return _geometric_search_data; }
GeometricSearchData _geometric_search_data

◆ getActiveElementalMooseVariables()

const std::set< MooseVariableFEBase * > & SubProblem::getActiveElementalMooseVariables ( THREAD_ID  tid) const
virtualinherited

Get the MOOSE variables to be reinited on each element.

Parameters
tidThe thread id

Definition at line 237 of file SubProblem.C.

Referenced by SystemBase::prepare(), SystemBase::prepareFace(), FEProblemBase::prepareMaterials(), and SystemBase::reinitElem().

238 {
240 }
std::vector< std::set< MooseVariableFEBase * > > _active_elemental_moose_variables
This is the set of MooseVariableFEBases that will actually get reinited by a call to reinit(elem) ...
Definition: SubProblem.h:615

◆ getActiveFEVariableCoupleableMatrixTags()

std::set< TagID > & SubProblem::getActiveFEVariableCoupleableMatrixTags ( THREAD_ID  tid)
inherited

Definition at line 178 of file SubProblem.C.

179 {
181 }
std::vector< std::set< TagID > > _active_fe_var_coupleable_matrix_tags
Definition: SubProblem.h:624

◆ getActiveFEVariableCoupleableVectorTags()

std::set< TagID > & SubProblem::getActiveFEVariableCoupleableVectorTags ( THREAD_ID  tid)
inherited

Definition at line 184 of file SubProblem.C.

185 {
187 }
std::vector< std::set< TagID > > _active_fe_var_coupleable_vector_tags
Definition: SubProblem.h:626

◆ getActiveMaterialProperties()

const std::set< unsigned int > & SubProblem::getActiveMaterialProperties ( THREAD_ID  tid) const
virtualinherited

Get the material properties required by the current computing thread.

Parameters
tidThe thread id

Definition at line 263 of file SubProblem.C.

Referenced by FEProblemBase::prepareMaterials().

264 {
265  return _active_material_property_ids[tid];
266 }
std::vector< std::set< unsigned int > > _active_material_property_ids
Set of material property ids that determine whether materials get reinited.
Definition: SubProblem.h:622

◆ getActiveScalarVariableCoupleableMatrixTags()

std::set< TagID > & SubProblem::getActiveScalarVariableCoupleableMatrixTags ( THREAD_ID  tid)
inherited

Definition at line 214 of file SubProblem.C.

Referenced by MooseVariableScalar::reinit().

215 {
217 }
std::vector< std::set< TagID > > _active_sc_var_coupleable_matrix_tags
Definition: SubProblem.h:628

◆ getActiveScalarVariableCoupleableVectorTags()

std::set< TagID > & SubProblem::getActiveScalarVariableCoupleableVectorTags ( THREAD_ID  tid)
inherited

Definition at line 220 of file SubProblem.C.

Referenced by MooseVariableScalar::reinit().

221 {
223 }
std::vector< std::set< TagID > > _active_sc_var_coupleable_vector_tags
Definition: SubProblem.h:630

◆ getAxisymmetricRadialCoord()

unsigned int SubProblem::getAxisymmetricRadialCoord ( ) const
inherited

Returns the desired radial direction for RZ coordinate transformation.

Returns
The coordinate direction for the radial direction

Definition at line 595 of file SubProblem.C.

Referenced by Assembly::reinitNeighbor(), and Assembly::setCoordinateTransformation().

596 {
597  if (_rz_coord_axis == 0)
598  return 1; // if the rotation axis is x (0), then the radial direction is y (1)
599  else
600  return 0; // otherwise the radial direction is assumed to be x, i.e., the rotation axis is y
601 }
unsigned int _rz_coord_axis
Storage for RZ axis selection.
Definition: SubProblem.h:639

◆ getCheckedPointerParam()

template<typename T >
T MooseObject::getCheckedPointerParam ( const std::string &  name,
const std::string &  error_string = "" 
) const
inlineinherited

Verifies that the requested parameter exists and is not NULL and returns it to the caller.

The template parameter must be a pointer or an error will be thrown.

Definition at line 77 of file MooseObject.h.

78  {
79  return parameters().getCheckedPointerParam<T>(name, error_string);
80  }
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...
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseObject.h:62
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:56

◆ getCoordSystem()

Moose::CoordinateSystemType DisplacedProblem::getCoordSystem ( SubdomainID  sid)
overridevirtual

Implements SubProblem.

Definition at line 77 of file DisplacedProblem.C.

78 {
79  return _mproblem.getCoordSystem(sid);
80 }
FEProblemBase & _mproblem
virtual Moose::CoordinateSystemType getCoordSystem(SubdomainID sid) override

◆ getDiracElements()

void DisplacedProblem::getDiracElements ( std::set< const Elem *> &  elems)
overridevirtual

Fills "elems" with the elements that should be looped over for Dirac Kernels.

Implements SubProblem.

Definition at line 653 of file DisplacedProblem.C.

654 {
656 }
std::set< const Elem * > & getElements()
Returns a writeable reference to the _elements container.
DiracKernelInfo _dirac_kernel_info
Definition: SubProblem.h:589

◆ getDisplacementVarNames()

const std::vector<std::string>& DisplacedProblem::getDisplacementVarNames ( ) const
inline

Definition at line 52 of file DisplacedProblem.h.

52 { return _displacements; }
std::vector< std::string > _displacements

◆ getMaterialPropertyBlockNames()

std::vector< SubdomainName > SubProblem::getMaterialPropertyBlockNames ( const std::string &  prop_name)
virtualinherited

Get a vector of block id equivalences that the material property is defined on.

Definition at line 297 of file SubProblem.C.

Referenced by MaterialPropertyInterface::getMaterialPropertyBlockNames().

298 {
299  std::set<SubdomainID> blocks = getMaterialPropertyBlocks(prop_name);
300  std::vector<SubdomainName> block_names;
301  block_names.reserve(blocks.size());
302  for (const auto & block_id : blocks)
303  {
304  SubdomainName name;
305  if (block_id == Moose::ANY_BLOCK_ID)
306  name = "ANY_BLOCK_ID";
307  else
308  {
309  name = mesh().getMesh().subdomain_name(block_id);
310  if (name.empty())
311  {
312  std::ostringstream oss;
313  oss << block_id;
314  name = oss.str();
315  }
316  }
317  block_names.push_back(name);
318  }
319 
320  return block_names;
321 }
virtual MooseMesh & mesh()=0
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object.
Definition: MooseMesh.C:2562
const SubdomainID ANY_BLOCK_ID
Definition: MooseTypes.C:15
virtual std::set< SubdomainID > getMaterialPropertyBlocks(const std::string &prop_name)
Get a vector containing the block ids the material property is defined on.
Definition: SubProblem.C:281
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:56

◆ getMaterialPropertyBlocks()

std::set< SubdomainID > SubProblem::getMaterialPropertyBlocks ( const std::string &  prop_name)
virtualinherited

Get a vector containing the block ids the material property is defined on.

Definition at line 281 of file SubProblem.C.

Referenced by MaterialPropertyInterface::getBlockMaterialProperty(), SubProblem::getMaterialPropertyBlockNames(), and MaterialPropertyInterface::getMaterialPropertyBlocks().

282 {
283  std::set<SubdomainID> blocks;
284 
285  for (const auto & it : _map_block_material_props)
286  {
287  const std::set<std::string> & prop_names = it.second;
288  std::set<std::string>::iterator name_it = prop_names.find(prop_name);
289  if (name_it != prop_names.end())
290  blocks.insert(it.first);
291  }
292 
293  return blocks;
294 }
std::map< SubdomainID, std::set< std::string > > _map_block_material_props
Map of material properties (block_id -> list of properties)
Definition: SubProblem.h:592

◆ getMaterialPropertyBoundaryIDs()

std::set< BoundaryID > SubProblem::getMaterialPropertyBoundaryIDs ( const std::string &  prop_name)
virtualinherited

Get a vector containing the block ids the material property is defined on.

Definition at line 338 of file SubProblem.C.

Referenced by MaterialPropertyInterface::getMaterialPropertyBoundaryIDs(), and SubProblem::getMaterialPropertyBoundaryNames().

339 {
340  std::set<BoundaryID> boundaries;
341 
342  for (const auto & it : _map_boundary_material_props)
343  {
344  const std::set<std::string> & prop_names = it.second;
345  std::set<std::string>::iterator name_it = prop_names.find(prop_name);
346  if (name_it != prop_names.end())
347  boundaries.insert(it.first);
348  }
349 
350  return boundaries;
351 }
std::map< BoundaryID, std::set< std::string > > _map_boundary_material_props
Map for boundary material properties (boundary_id -> list of properties)
Definition: SubProblem.h:595

◆ getMaterialPropertyBoundaryNames()

std::vector< BoundaryName > SubProblem::getMaterialPropertyBoundaryNames ( const std::string &  prop_name)
virtualinherited

Get a vector of block id equivalences that the material property is defined on.

Definition at line 354 of file SubProblem.C.

Referenced by MaterialPropertyInterface::getMaterialPropertyBoundaryNames().

355 {
356  std::set<BoundaryID> boundaries = getMaterialPropertyBoundaryIDs(prop_name);
357  std::vector<BoundaryName> boundary_names;
358  boundary_names.reserve(boundaries.size());
359  const BoundaryInfo & boundary_info = mesh().getMesh().get_boundary_info();
360 
361  for (const auto & bnd_id : boundaries)
362  {
363  BoundaryName name;
364  if (bnd_id == Moose::ANY_BOUNDARY_ID)
365  name = "ANY_BOUNDARY_ID";
366  else
367  {
368  name = boundary_info.get_sideset_name(bnd_id);
369  if (name.empty())
370  {
371  std::ostringstream oss;
372  oss << bnd_id;
373  name = oss.str();
374  }
375  }
376  boundary_names.push_back(name);
377  }
378 
379  return boundary_names;
380 }
virtual MooseMesh & mesh()=0
virtual std::set< BoundaryID > getMaterialPropertyBoundaryIDs(const std::string &prop_name)
Get a vector containing the block ids the material property is defined on.
Definition: SubProblem.C:338
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object.
Definition: MooseMesh.C:2562
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:56
const BoundaryID ANY_BOUNDARY_ID
Definition: MooseTypes.C:17

◆ getMatrixTagID()

TagID DisplacedProblem::getMatrixTagID ( const TagName &  tag_name)
overridevirtual

Get a TagID from a TagName.

Reimplemented from SubProblem.

Definition at line 279 of file DisplacedProblem.C.

280 {
281  return _mproblem.getMatrixTagID(tag_name);
282 }
FEProblemBase & _mproblem
virtual TagID getMatrixTagID(const TagName &tag_name)
Get a TagID from a TagName.
Definition: SubProblem.C:133

◆ getMatrixTags()

virtual std::map<TagName, TagID>& SubProblem::getMatrixTags ( )
inlinevirtualinherited

Return all matrix tags in the sytem, where a tag is represented by a map from name to ID.

Definition at line 157 of file SubProblem.h.

Referenced by NonlinearSystemBase::computeJacobian(), FEProblemBase::computeJacobian(), and NonlinearSystemBase::computeJacobianBlocks().

157 { return _matrix_tag_name_to_tag_id; }
std::map< TagName, TagID > _matrix_tag_name_to_tag_id
The currently declared tags.
Definition: SubProblem.h:576

◆ getMooseApp()

MooseApp& MooseObject::getMooseApp ( ) const
inlineinherited

Get the MooseApp this object is associated with.

Definition at line 91 of file MooseObject.h.

Referenced by RestartableDataIO::createBackup(), RestartableDataIO::deserializeRestartableData(), ConsoleUtils::outputMeshInformation(), Resurrector::restartRestartableData(), and RestartableDataIO::restoreBackup().

91 { return _app; }
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:174

◆ getParam()

template<typename T >
const T & MooseObject::getParam ( const std::string &  name) const
inherited

Retrieve a parameter for the object.

Parameters
nameThe name of the parameter
Returns
The value of the parameter

Definition at line 188 of file MooseObject.h.

Referenced by FEProblemBase::addMaterialHelper(), ConstraintWarehouse::addObject(), BicubicSplineFunction::BicubicSplineFunction(), Piecewise::buildFromXandY(), MultiApp::createApp(), DerivativeParsedMaterial::DerivativeParsedMaterial(), EigenKernel::EigenKernel(), FEProblemBase::FEProblemBase(), FieldSplitPreconditioner::FieldSplitPreconditioner(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), SideSetsBetweenSubdomainsGenerator::generate(), ExtraNodesetGenerator::generate(), MeshExtruderGenerator::generate(), SideSetsAroundSubdomainGenerator::generate(), GenericConstantRankTwoTensor::GenericConstantRankTwoTensor(), TimeSequenceStepper::init(), AttribThread::initFrom(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), Console::initialSetup(), AdvancedOutput::initialSetup(), SideSetsBetweenSubdomains::modify(), AddExtraNodeset::modify(), MeshExtruder::modify(), SideSetsAroundSubdomain::modify(), ParsedAddSideset::ParsedAddSideset(), ParsedAux::ParsedAux(), ParsedGenerateSideset::ParsedGenerateSideset(), ParsedMaterial::ParsedMaterial(), ParsedODEKernel::ParsedODEKernel(), ParsedSubdomainMeshGenerator::ParsedSubdomainMeshGenerator(), ParsedSubdomainMeshModifier::ParsedSubdomainMeshModifier(), PhysicsBasedPreconditioner::PhysicsBasedPreconditioner(), SingleMatrixPreconditioner::SingleMatrixPreconditioner(), TimePeriod::TimePeriod(), and VectorOfPostprocessors::VectorOfPostprocessors().

189 {
190  return InputParameters::getParamHelper(name, _pars, static_cast<T *>(0));
191 }
static const T & getParamHelper(const std::string &name, const InputParameters &pars, const T *the_type)
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:171
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:56

◆ getScalarVariable()

MooseVariableScalar & DisplacedProblem::getScalarVariable ( THREAD_ID  tid,
const std::string &  var_name 
)
overridevirtual

Returns the scalar variable reference from whichever system contains it.

Implements SubProblem.

Definition at line 363 of file DisplacedProblem.C.

364 {
365  if (_displaced_nl.hasScalarVariable(var_name))
366  return _displaced_nl.getScalarVariable(tid, var_name);
367  else if (_displaced_aux.hasScalarVariable(var_name))
368  return _displaced_aux.getScalarVariable(tid, var_name);
369  else
370  mooseError("No variable with name '" + var_name + "'");
371 }
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl
void mooseError(Args &&... args) const
Definition: MooseObject.h:144
virtual bool hasScalarVariable(const std::string &var_name) const
Definition: SystemBase.C:661
virtual MooseVariableScalar & getScalarVariable(THREAD_ID tid, const std::string &var_name)
Gets a reference to a scalar variable with specified number.
Definition: SystemBase.C:149

◆ getStandardVariable()

MooseVariable & DisplacedProblem::getStandardVariable ( THREAD_ID  tid,
const std::string &  var_name 
)
overridevirtual

Returns the variable reference for requested MooseVariable which may be in any system.

Implements SubProblem.

Definition at line 330 of file DisplacedProblem.C.

331 {
332  if (_displaced_nl.hasVariable(var_name))
333  return _displaced_nl.getFieldVariable<Real>(tid, var_name);
334  else if (!_displaced_aux.hasVariable(var_name))
335  mooseError("No variable with name '" + var_name + "'");
336 
337  return _displaced_aux.getFieldVariable<Real>(tid, var_name);
338 }
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl
void mooseError(Args &&... args) const
Definition: MooseObject.h:144
virtual bool hasVariable(const std::string &var_name) const
Query a system for a variable.
Definition: SystemBase.C:652
MooseVariableFE< T > & getFieldVariable(THREAD_ID tid, const std::string &var_name)
Gets a reference to a variable of with specified name.
Definition: SystemBase.C:136

◆ getSystem()

System & DisplacedProblem::getSystem ( const std::string &  var_name)
overridevirtual

Returns the equation system containing the variable provided.

Implements SubProblem.

Definition at line 374 of file DisplacedProblem.C.

375 {
376  if (_displaced_nl.hasVariable(var_name))
377  return _displaced_nl.system();
378  else if (_displaced_aux.hasVariable(var_name))
379  return _displaced_aux.system();
380  else
381  mooseError("Unable to find a system containing the variable " + var_name);
382 }
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl
void mooseError(Args &&... args) const
Definition: MooseObject.h:144
virtual bool hasVariable(const std::string &var_name) const
Query a system for a variable.
Definition: SystemBase.C:652
virtual System & system() override
Get the reference to the libMesh system.

◆ getVariable()

MooseVariableFEBase & DisplacedProblem::getVariable ( THREAD_ID  tid,
const std::string &  var_name,
Moose::VarKindType  expected_var_type = Moose::VarKindType::VAR_ANY,
Moose::VarFieldType  expected_var_field_type = Moose::VarFieldType::VAR_FIELD_ANY 
)
overridevirtual

Returns the variable reference for requested variable which must be of the expected_var_type (Nonlinear vs.

Auxiliary) and expected_var_field_type (standard, scalar, vector). The default values of VAR_ANY and VAR_FIELD_ANY should be used when "any" type of variable is acceptable. Throws an error if the variable in question is not in the expected System or of the expected type.

Implements SubProblem.

Definition at line 320 of file DisplacedProblem.C.

Referenced by init().

324 {
325  return getVariableHelper(
326  tid, var_name, expected_var_type, expected_var_field_type, _displaced_nl, _displaced_aux);
327 }
DisplacedSystem _displaced_aux
MooseVariableFEBase & getVariableHelper(THREAD_ID tid, const std::string &var_name, Moose::VarKindType expected_var_type, Moose::VarFieldType expected_var_field_type, SystemBase &nl, SystemBase &aux)
Helper function called by getVariable that handles the logic for checking whether Variables of the re...
Definition: SubProblem.C:604
DisplacedSystem _displaced_nl

◆ getVariableHelper()

MooseVariableFEBase & SubProblem::getVariableHelper ( THREAD_ID  tid,
const std::string &  var_name,
Moose::VarKindType  expected_var_type,
Moose::VarFieldType  expected_var_field_type,
SystemBase nl,
SystemBase aux 
)
protectedinherited

Helper function called by getVariable that handles the logic for checking whether Variables of the requested type are available.

Definition at line 604 of file SubProblem.C.

Referenced by getVariable(), and FEProblemBase::getVariable().

610 {
611  // Eventual return value
612  MooseVariableFEBase * var = nullptr;
613 
614  // First check that the variable is found on the expected system.
615  if (expected_var_type == Moose::VarKindType::VAR_ANY)
616  {
617  if (nl.hasVariable(var_name))
618  var = &(nl.getVariable(tid, var_name));
619  else if (aux.hasVariable(var_name))
620  var = &(aux.getVariable(tid, var_name));
621  else
622  mooseError("Unknown variable " + var_name);
623  }
624  else if (expected_var_type == Moose::VarKindType::VAR_NONLINEAR && nl.hasVariable(var_name))
625  var = &(nl.getVariable(tid, var_name));
626  else if (expected_var_type == Moose::VarKindType::VAR_AUXILIARY && aux.hasVariable(var_name))
627  var = &(aux.getVariable(tid, var_name));
628  else
629  {
630  std::string expected_var_type_string =
631  (expected_var_type == Moose::VarKindType::VAR_NONLINEAR ? "nonlinear" : "auxiliary");
632  mooseError("No ",
633  expected_var_type_string,
634  " variable named ",
635  var_name,
636  " found. "
637  "Did you specify an auxiliary variable when you meant to specify a nonlinear "
638  "variable (or vice-versa)?");
639  }
640 
641  // Now make sure the var found has the expected field type.
642  bool var_is_vector = var->isVector();
643  if ((expected_var_field_type == Moose::VarFieldType::VAR_FIELD_ANY) ||
644  (var_is_vector && expected_var_field_type == Moose::VarFieldType::VAR_FIELD_VECTOR) ||
645  (!var_is_vector && expected_var_field_type == Moose::VarFieldType::VAR_FIELD_STANDARD))
646  return *var;
647  else
648  {
649  std::string expected_var_field_type_string =
650  (expected_var_field_type == Moose::VarFieldType::VAR_FIELD_STANDARD ? "standard"
651  : "vector");
652 
653  mooseError("No ",
654  expected_var_field_type_string,
655  " variable named ",
656  var_name,
657  " found. "
658  "Did you specify a vector variable when you meant to specify a standard variable "
659  "(or vice-versa)?");
660  }
661 }
virtual bool isVector() const =0
void mooseError(Args &&... args) const
Definition: MooseObject.h:144
NonlinearSystemBase * nl
MooseVariableFEBase & getVariable(THREAD_ID tid, const std::string &var_name)
Gets a reference to a variable of with specified name.
Definition: SystemBase.C:105
virtual bool hasVariable(const std::string &var_name) const
Query a system for a variable.
Definition: SystemBase.C:652

◆ getVectorTagID()

TagID DisplacedProblem::getVectorTagID ( const TagName &  tag_name)
overridevirtual

Get a TagID from a TagName.

Reimplemented from SubProblem.

Definition at line 243 of file DisplacedProblem.C.

244 {
245  return _mproblem.getVectorTagID(tag_name);
246 }
virtual TagID getVectorTagID(const TagName &tag_name)
Get a TagID from a TagName.
Definition: SubProblem.C:81
FEProblemBase & _mproblem

◆ getVectorTags()

std::map< TagName, TagID > & DisplacedProblem::getVectorTags ( )
overridevirtual

Return all vector tags, where a tag is represented by a map from name to ID.

Reimplemented from SubProblem.

Definition at line 267 of file DisplacedProblem.C.

Referenced by addResidual(), and addResidualNeighbor().

268 {
269  return _mproblem.getVectorTags();
270 }
virtual std::map< TagName, TagID > & getVectorTags()
Return all vector tags, where a tag is represented by a map from name to ID.
Definition: SubProblem.h:102
FEProblemBase & _mproblem

◆ getVectorVariable()

VectorMooseVariable & DisplacedProblem::getVectorVariable ( THREAD_ID  tid,
const std::string &  var_name 
)
overridevirtual

Returns the variable reference for requested VectorMooseVariable which may be in any system.

Implements SubProblem.

Definition at line 341 of file DisplacedProblem.C.

342 {
343  if (_displaced_nl.hasVariable(var_name))
344  return _displaced_nl.getFieldVariable<RealVectorValue>(tid, var_name);
345  else if (!_displaced_aux.hasVariable(var_name))
346  mooseError("No variable with name '" + var_name + "'");
347 
348  return _displaced_aux.getFieldVariable<RealVectorValue>(tid, var_name);
349 }
VectorValue< Real > RealVectorValue
Definition: Assembly.h:32
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl
void mooseError(Args &&... args) const
Definition: MooseObject.h:144
virtual bool hasVariable(const std::string &var_name) const
Query a system for a variable.
Definition: SystemBase.C:652
MooseVariableFE< T > & getFieldVariable(THREAD_ID tid, const std::string &var_name)
Gets a reference to a variable of with specified name.
Definition: SystemBase.C:136

◆ ghostedElems()

std::set< dof_id_type > & DisplacedProblem::ghostedElems ( )
overridevirtual

Return the list of elements that should have their DoFs ghosted to this processor.

Returns
The list

Reimplemented from SubProblem.

Definition at line 83 of file DisplacedProblem.C.

84 {
85  return _mproblem.ghostedElems();
86 }
FEProblemBase & _mproblem
virtual std::set< dof_id_type > & ghostedElems()
Return the list of elements that should have their DoFs ghosted to this processor.
Definition: SubProblem.h:500

◆ ghostGhostedBoundaries()

void DisplacedProblem::ghostGhostedBoundaries ( )
overridevirtual

Causes the boundaries added using addGhostedBoundary to actually be ghosted.

Implements SubProblem.

Definition at line 844 of file DisplacedProblem.C.

845 {
847 }
FEProblemBase & _mproblem
virtual void ghostGhostedBoundaries() override
Causes the boundaries added using addGhostedBoundary to actually be ghosted.

◆ hasActiveElementalMooseVariables()

bool SubProblem::hasActiveElementalMooseVariables ( THREAD_ID  tid) const
virtualinherited

Whether or not a list of active elemental moose variables has been set.

Returns
True if there has been a list of active elemental moose variables set, False otherwise

Definition at line 243 of file SubProblem.C.

Referenced by SystemBase::prepare(), SystemBase::prepareFace(), and SystemBase::reinitElem().

244 {
246 }
std::vector< unsigned int > _has_active_elemental_moose_variables
Whether or not there is currently a list of active elemental moose variables.
Definition: SubProblem.h:619

◆ hasActiveMaterialProperties()

bool SubProblem::hasActiveMaterialProperties ( THREAD_ID  tid) const
virtualinherited

Method to check whether or not a list of active material roperties has been set.

This method is called by reinitMaterials to determine whether Material computeProperties methods need to be called. If the return is False, this check prevents unnecessary material property computation

Parameters
tidThe thread id
Returns
True if there has been a list of active material properties set, False otherwise

Definition at line 269 of file SubProblem.C.

Referenced by FEProblemBase::reinitMaterials(), FEProblemBase::reinitMaterialsBoundary(), FEProblemBase::reinitMaterialsFace(), and FEProblemBase::reinitMaterialsNeighbor().

270 {
271  return !_active_material_property_ids[tid].empty();
272 }
std::vector< std::set< unsigned int > > _active_material_property_ids
Set of material property ids that determine whether materials get reinited.
Definition: SubProblem.h:622

◆ hasBlockMaterialProperty()

bool SubProblem::hasBlockMaterialProperty ( SubdomainID  block_id,
const std::string &  prop_name 
)
virtualinherited

Check if a material property is defined on a block.

Definition at line 324 of file SubProblem.C.

325 {
326  auto it = _map_block_material_props.find(bid);
327  if (it == _map_block_material_props.end())
328  return false;
329 
330  if (it->second.count(prop_name) > 0)
331  return true;
332  else
333  return false;
334 }
std::map< SubdomainID, std::set< std::string > > _map_block_material_props
Map of material properties (block_id -> list of properties)
Definition: SubProblem.h:592

◆ hasBoundaryMaterialProperty()

bool SubProblem::hasBoundaryMaterialProperty ( BoundaryID  boundary_id,
const std::string &  prop_name 
)
virtualinherited

Check if a material property is defined on a block.

Definition at line 383 of file SubProblem.C.

384 {
385  auto it = _map_boundary_material_props.find(bid);
386  if (it == _map_boundary_material_props.end())
387  return false;
388 
389  if (it->second.count(prop_name) > 0)
390  return true;
391  else
392  return false;
393 }
std::map< BoundaryID, std::set< std::string > > _map_boundary_material_props
Map for boundary material properties (boundary_id -> list of properties)
Definition: SubProblem.h:595

◆ hasScalarVariable()

bool DisplacedProblem::hasScalarVariable ( const std::string &  var_name) const
overridevirtual

Returns a Boolean indicating whether any system contains a variable with the name provided.

Implements SubProblem.

Definition at line 352 of file DisplacedProblem.C.

353 {
354  if (_displaced_nl.hasScalarVariable(var_name))
355  return true;
356  else if (_displaced_aux.hasScalarVariable(var_name))
357  return true;
358  else
359  return false;
360 }
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl
virtual bool hasScalarVariable(const std::string &var_name) const
Definition: SystemBase.C:661

◆ hasVariable()

bool DisplacedProblem::hasVariable ( const std::string &  var_name) const
overridevirtual

Implements SubProblem.

Definition at line 309 of file DisplacedProblem.C.

310 {
311  if (_displaced_nl.hasVariable(var_name))
312  return true;
313  else if (_displaced_aux.hasVariable(var_name))
314  return true;
315  else
316  return false;
317 }
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl
virtual bool hasVariable(const std::string &var_name) const
Query a system for a variable.
Definition: SystemBase.C:652

◆ haveADObjects() [1/2]

virtual void SubProblem::haveADObjects ( bool  have_ad_objects)
inlinevirtualinherited

Method for setting whether we have any ad objects.

Reimplemented in FEProblemBase.

Definition at line 551 of file SubProblem.h.

Referenced by Assembly::reinitFE(), and Assembly::reinitFEFace().

551 { _have_ad_objects = have_ad_objects; }
bool _have_ad_objects
AD flag indicating whether any AD objects have been added.
Definition: SubProblem.h:654

◆ haveADObjects() [2/2]

bool SubProblem::haveADObjects ( ) const
inlineinherited

Method for reading wehther we have any ad objects.

Definition at line 555 of file SubProblem.h.

555 { return _have_ad_objects; }
bool _have_ad_objects
AD flag indicating whether any AD objects have been added.
Definition: SubProblem.h:654

◆ init()

void DisplacedProblem::init ( )
overridevirtual

Implements Problem.

Definition at line 99 of file DisplacedProblem.C.

100 {
101  for (THREAD_ID tid = 0; tid < libMesh::n_threads(); ++tid)
102  {
103  _assembly[tid]->init(_mproblem.couplingMatrix());
104  std::vector<unsigned> disp_numbers;
105  for (const auto & disp_string : _displacements)
106  {
107  const auto & disp_variable = getVariable(tid, disp_string);
108  if (disp_variable.kind() == Moose::VarKindType::VAR_NONLINEAR)
109  disp_numbers.push_back(disp_variable.number());
110  }
111  _assembly[tid]->assignDisplacements(std::move(disp_numbers));
112  }
113 
114  _displaced_nl.dofMap().attach_extra_send_list_function(&extraSendList, &_displaced_nl);
115  _displaced_aux.dofMap().attach_extra_send_list_function(&extraSendList, &_displaced_aux);
116 
119 
120  {
121  TIME_SECTION(_eq_init_timer);
122  _eq.init();
123  }
124 
125  _mesh.meshChanged();
126 }
const CouplingMatrix * couplingMatrix()
FEProblemBase & _mproblem
std::vector< std::unique_ptr< Assembly > > _assembly
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl
PerfID _eq_init_timer
Timers.
EquationSystems _eq
virtual DofMap & dofMap()
Gets the dof map.
Definition: SystemBase.C:900
void extraSendList(std::vector< dof_id_type > &send_list, void *context)
///< Type of coordinate system
Definition: SystemBase.C:31
std::vector< std::string > _displacements
virtual MooseVariableFEBase & getVariable(THREAD_ID tid, const std::string &var_name, Moose::VarKindType expected_var_type=Moose::VarKindType::VAR_ANY, Moose::VarFieldType expected_var_field_type=Moose::VarFieldType::VAR_FIELD_ANY) override
Returns the variable reference for requested variable which must be of the expected_var_type (Nonline...
virtual void init() override
Initialize the system.
void meshChanged()
Declares that the MooseMesh has changed, invalidates cached data and rebuilds caches.
Definition: MooseMesh.C:491
unsigned int THREAD_ID
Definition: MooseTypes.h:126

◆ initAdaptivity()

void DisplacedProblem::initAdaptivity ( )
virtual

Definition at line 129 of file DisplacedProblem.C.

130 {
131 }

◆ isMatPropRequested()

bool SubProblem::isMatPropRequested ( const std::string &  prop_name) const
virtualinherited

Find out if a material property has been requested by any object.

Definition at line 542 of file SubProblem.C.

Referenced by DerivativeFunctionMaterialBase::initialSetup().

543 {
544  return _material_property_requested.find(prop_name) != _material_property_requested.end();
545 }
std::set< std::string > _material_property_requested
set containing all material property names that have been requested by getMaterialProperty* ...
Definition: SubProblem.h:602

◆ isParamValid()

bool MooseObject::isParamValid ( const std::string &  name) const
inlineinherited

Test if the supplied parameter is valid.

Parameters
nameThe name of the parameter to test

Definition at line 86 of file MooseObject.h.

Referenced by AdvancedOutput::AdvancedOutput(), BicubicSplineFunction::BicubicSplineFunction(), Piecewise::buildFromFile(), Piecewise::buildFromXandY(), DistributedGeneratedMesh::buildMesh(), GeneratedMesh::buildMesh(), CartesianMeshGenerator::CartesianMeshGenerator(), LibmeshPartitioner::clone(), OversampleOutput::cloneMesh(), CSVReader::CSVReader(), MultiAppNearestNodeTransfer::execute(), Exodus::Exodus(), FEProblemBase::FEProblemBase(), FileOutput::FileOutput(), MultiApp::fillPositions(), FunctionDT::FunctionDT(), RenameBoundaryGenerator::generate(), BreakBoundaryOnSubdomainGenerator::generate(), ElementSubdomainIDGenerator::generate(), ExtraNodesetGenerator::generate(), LowerDBlockFromSidesetGenerator::generate(), MeshSideSetGenerator::generate(), RenameBlockGenerator::generate(), GeneratedMeshGenerator::generate(), ParsedSubdomainMeshGenerator::generate(), MeshExtruderGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), MultiAppNearestNodeTransfer::getLocalEntities(), MeshGenerator::getMesh(), MultiAppNearestNodeTransfer::getNearestNode(), EigenExecutionerBase::init(), IterationAdaptiveDT::init(), MooseMesh::init(), AdvancedOutput::initExecutionTypes(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), SolutionAux::initialSetup(), MooseParsedVectorFunction::initialSetup(), Console::initialSetup(), Receiver::initialSetup(), SolutionFunction::initialSetup(), MooseParsedGradFunction::initialSetup(), MooseParsedFunction::initialSetup(), AdvancedOutput::initialSetup(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), IterationAdaptiveDT::IterationAdaptiveDT(), LeastSquaresFit::LeastSquaresFit(), LibmeshPartitioner::LibmeshPartitioner(), BreakBoundaryOnSubdomain::modify(), MeshExtruder::modify(), MeshSideSet::modify(), LowerDBlockFromSideset::modify(), AssignElementSubdomainID::modify(), ParsedSubdomainMeshModifier::modify(), RenameBlock::modify(), SubdomainBoundingBox::modify(), MooseMesh::MooseMesh(), EigenExecutionerBase::normalizeSolution(), Output::Output(), PetscOutput::PetscOutput(), Piecewise::Piecewise(), SolutionUserObject::readExodusII(), RenameBlock::RenameBlock(), RenameBlockGenerator::RenameBlockGenerator(), RenameBoundaryGenerator::RenameBoundaryGenerator(), SolutionUserObject::SolutionUserObject(), and TimePeriod::TimePeriod().

86 { return _pars.isParamValid(name); }
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:171
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:56
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ isSolveTerminationRequested()

virtual bool Problem::isSolveTerminationRequested ( )
inlinevirtualinherited

Check of termination has been requested.

This should be called by transient Executioners in the keepGoing() member.

Definition at line 47 of file Problem.h.

Referenced by Transient::keepGoing().

47 { return _termination_requested; };
bool _termination_requested
True if termination of the solve has been requested.
Definition: Problem.h:57

◆ isTransient()

bool DisplacedProblem::isTransient ( ) const
overridevirtual

Implements SubProblem.

Definition at line 71 of file DisplacedProblem.C.

72 {
73  return _mproblem.isTransient();
74 }
FEProblemBase & _mproblem
virtual bool isTransient() const override

◆ markMatPropRequested()

void SubProblem::markMatPropRequested ( const std::string &  prop_name)
virtualinherited

Helper method for adding a material property name to the _material_property_requested set.

Definition at line 536 of file SubProblem.C.

Referenced by Material::getZeroMaterialProperty(), and MaterialPropertyInterface::markMatPropRequested().

537 {
538  _material_property_requested.insert(prop_name);
539 }
std::set< std::string > _material_property_requested
set containing all material property names that have been requested by getMaterialProperty* ...
Definition: SubProblem.h:602

◆ matrixTagExists() [1/2]

bool DisplacedProblem::matrixTagExists ( const TagName &  tag_name)
overridevirtual

Check to see if a particular Tag exists.

Reimplemented from SubProblem.

Definition at line 291 of file DisplacedProblem.C.

292 {
293  return _mproblem.matrixTagExists(tag_name);
294 }
FEProblemBase & _mproblem
virtual bool matrixTagExists(const TagName &tag_name)
Check to see if a particular Tag exists.
Definition: SubProblem.C:119

◆ matrixTagExists() [2/2]

bool DisplacedProblem::matrixTagExists ( TagID  tag_id)
overridevirtual

Check to see if a particular Tag exists.

Reimplemented from SubProblem.

Definition at line 297 of file DisplacedProblem.C.

298 {
299  return _mproblem.matrixTagExists(tag_id);
300 }
FEProblemBase & _mproblem
virtual bool matrixTagExists(const TagName &tag_name)
Check to see if a particular Tag exists.
Definition: SubProblem.C:119

◆ matrixTagName()

TagName DisplacedProblem::matrixTagName ( TagID  tag)
overridevirtual

Retrieve the name associated with a TagID.

Reimplemented from SubProblem.

Definition at line 285 of file DisplacedProblem.C.

286 {
287  return _mproblem.matrixTagName(tag);
288 }
FEProblemBase & _mproblem
virtual TagName matrixTagName(TagID tag)
Retrieve the name associated with a TagID.
Definition: SubProblem.C:148

◆ mesh()

virtual MooseMesh& DisplacedProblem::mesh ( )
inlineoverridevirtual

Implements SubProblem.

Definition at line 45 of file DisplacedProblem.h.

45 { return _mesh; }

◆ meshChanged()

void DisplacedProblem::meshChanged ( )
overridevirtual

Reimplemented from SubProblem.

Definition at line 819 of file DisplacedProblem.C.

820 {
821  // mesh changed
822  _eq.reinit();
823  _mesh.meshChanged();
824 
825  // Since the Mesh changed, update the PointLocator object used by DiracKernels.
827 
829 }
GeometricSearchData _geometric_search_data
EquationSystems _eq
void reinit()
Completely redo all geometric search objects.
DiracKernelInfo _dirac_kernel_info
Definition: SubProblem.h:589
void updatePointLocator(const MooseMesh &mesh)
Called during FEProblemBase::meshChanged() to update the PointLocator object used by the DiracKernels...
void meshChanged()
Declares that the MooseMesh has changed, invalidates cached data and rebuilds caches.
Definition: MooseMesh.C:491

◆ mooseDeprecated()

template<typename... Args>
void MooseObject::mooseDeprecated ( Args &&...  args) const
inlineinherited

◆ mooseError()

template<typename... Args>
void MooseObject::mooseError ( Args &&...  args) const
inlineinherited

Definition at line 144 of file MooseObject.h.

Referenced by PetscExternalPartitioner::_do_partition(), GridPartitioner::_do_partition(), FEProblemBase::addConstraint(), FEProblemBase::addInitialCondition(), FEProblem::addLineSearch(), FEProblemBase::addLineSearch(), FEProblemBase::addOutput(), DiracKernel::addPointWithValidId(), FEProblemBase::addPostprocessor(), MooseMesh::addQuadratureNode(), FEProblemBase::addVectorPostprocessor(), Output::advancedExecuteOn(), AnnularMesh::AnnularMesh(), AnnularMeshGenerator::AnnularMeshGenerator(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), DerivativeParsedMaterialHelper::assembleDerivatives(), Function::average(), Axisymmetric2D3DSolutionFunction::Axisymmetric2D3DSolutionFunction(), BicubicSplineFunction::BicubicSplineFunction(), BoundingValueElementDamper::BoundingValueElementDamper(), BoundingValueNodalDamper::BoundingValueNodalDamper(), BoundsAux::BoundsAux(), BreakMeshByBlockGenerator::BreakMeshByBlockGenerator(), BreakMeshByBlockGeneratorBase::BreakMeshByBlockGeneratorBase(), MooseMesh::buildCoarseningMap(), Piecewise::buildFromFile(), Piecewise::buildFromXandY(), Piecewise::buildFromXY(), TiledMesh::buildMesh(), FileMesh::buildMesh(), SpiralAnnularMesh::buildMesh(), DistributedGeneratedMesh::buildMesh(), GeneratedMesh::buildMesh(), ImageMeshGenerator::buildMesh3D(), ImageMesh::buildMesh3D(), MooseMesh::buildMeshBaseObject(), MooseMesh::buildRefinementMap(), MooseMesh::buildSideList(), CartesianMeshGenerator::CartesianMeshGenerator(), ChangeOverTimePostprocessor::ChangeOverTimePostprocessor(), EigenExecutionerBase::chebyshev(), SubProblem::checkBlockMatProps(), SubProblem::checkBoundaryMatProps(), FEProblemBase::checkCoordinateSystems(), FEProblemBase::checkDependMaterialsHelper(), FEProblemBase::checkDisplacementOrders(), Material::checkExecutionStage(), BreakMeshByBlockBase::checkInputParameter(), Steady::checkIntegrity(), EigenExecutionerBase::checkIntegrity(), ActuallyExplicitEuler::checkLinearConvergence(), FEProblemBase::checkProblemIntegrity(), Material::checkStatefulSanity(), FEProblemBase::checkUserObjects(), LibmeshPartitioner::clone(), MooseMesh::clone(), ComparisonPostprocessor::comparisonIsTrue(), CompositeFunction::CompositeFunction(), ElementLpNormAux::compute(), ElementH1ErrorFunctionAux::compute(), NodalPatchRecovery::compute(), KernelBase::computeADOffDiagJacobian(), InterfaceKernel::computeElemNeighJacobian(), TimeSequenceStepperBase::computeFailedDT(), IterationAdaptiveDT::computeFailedDT(), TimeStepper::computeFailedDT(), HistogramVectorPostprocessor::computeHistogram(), EqualValueEmbeddedConstraint::computeQpJacobian(), EqualValueEmbeddedConstraint::computeQpOffDiagJacobian(), KernelValue::computeQpResidual(), FEProblemBase::computeResidualInternal(), FEProblemBase::computeResidualTag(), FEProblemBase::computeResidualType(), StatisticsVectorPostprocessor::computeStatValue(), Material::computeSubdomainProperties(), ExplicitEuler::computeTimeDerivatives(), ImplicitEuler::computeTimeDerivatives(), BDF2::computeTimeDerivatives(), NewmarkBeta::computeTimeDerivatives(), CrankNicolson::computeTimeDerivatives(), ActuallyExplicitEuler::computeTimeDerivatives(), LStableDirk2::computeTimeDerivatives(), LStableDirk3::computeTimeDerivatives(), ImplicitMidpoint::computeTimeDerivatives(), ExplicitTVDRK2::computeTimeDerivatives(), AStableDirk4::computeTimeDerivatives(), LStableDirk4::computeTimeDerivatives(), ExplicitRK2::computeTimeDerivatives(), PenetrationAux::computeValue(), ConcentricCircleMesh::ConcentricCircleMesh(), ConcentricCircleMeshGenerator::ConcentricCircleMeshGenerator(), TimeStepper::constrainStep(), AuxKernel::coupledDot(), AuxKernel::coupledDotDu(), CoupledForce::CoupledForce(), DebugResidualAux::DebugResidualAux(), BicubicSplineFunction::derivative(), DerivativeSumMaterial::DerivativeSumMaterial(), DGKernel::DGKernel(), FEProblemBase::duplicateVariableCheck(), EigenProblem::EigenProblem(), Eigenvalues::Eigenvalues(), ElementalVariableValue::ElementalVariableValue(), ElementQualityAux::ElementQualityAux(), MooseMesh::errorIfDistributedMesh(), SolutionUserObject::evalMeshFunction(), SolutionUserObject::evalMeshFunctionGradient(), SolutionUserObject::evalMultiValuedMeshFunction(), SolutionUserObject::evalMultiValuedMeshFunctionGradient(), MultiAppPostprocessorTransfer::execute(), DiscreteElementUserObject::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), ElementQualityChecker::execute(), NodalValueSampler::execute(), PointValue::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppInterpolationTransfer::execute(), MultiAppUserObjectTransfer::execute(), FindValueOnLine::execute(), MultiAppNearestNodeTransfer::execute(), TimeExtremeValue::execute(), VectorPostprocessorComparison::execute(), LeastSquaresFit::execute(), LeastSquaresFitHistory::execute(), FEProblemBase::executeControls(), MultiAppVectorPostprocessorTransfer::executeFromMultiapp(), MultiAppVectorPostprocessorTransfer::executeToMultiapp(), Exodus::Exodus(), FileOutput::FileOutput(), CentroidMultiApp::fillPositions(), MultiApp::fillPositions(), VerifyElementUniqueID::finalize(), VerifyNodalUniqueID::finalize(), DiscreteElementUserObject::finalize(), ElementQualityChecker::finalize(), MemoryUsage::finalize(), PointSamplerBase::finalize(), Transfer::find_sys(), BreakMeshByBlockBase::findFreeBoundaryId(), BreakMeshByBlockGeneratorBase::findFreeBoundaryId(), FunctionDT::FunctionDT(), FunctionMaterialBase::FunctionMaterialBase(), ParsedMaterialHelper::functionParse(), FunctionScalarAux::FunctionScalarAux(), FunctionScalarIC::FunctionScalarIC(), GapValueAux::GapValueAux(), ElementSubdomainIDGenerator::generate(), ExtraNodesetGenerator::generate(), RenameBlockGenerator::generate(), RenameBoundaryGenerator::generate(), GeneratedMeshGenerator::generate(), MeshExtruderGenerator::generate(), SideSetsFromBoundingBoxGenerator::generate(), StackGenerator::generate(), SpiralAnnularMeshGenerator::generate(), PatternedMeshGenerator::generate(), BoundingBoxNodeSetGenerator::generate(), GeneratedMesh::GeneratedMesh(), GeneratedMeshGenerator::GeneratedMeshGenerator(), RandomICBase::generateRandom(), GenericConstantMaterial::GenericConstantMaterial(), GenericFunctionMaterial::GenericFunctionMaterial(), MooseMesh::getBoundaryID(), MultiApp::getBoundingBox(), MooseMesh::getCoarseningMap(), Control::getControllableParameterByName(), FEProblemBase::getCoordSystem(), PiecewiseConstant::getDirection(), FEProblemBase::getDistribution(), ElementGenerator::getElemType(), MultiApp::getExecutioner(), FEProblemBase::getFunction(), SolutionUserObject::getLocalVarIndex(), AuxKernel::getMaterialProperty(), AuxKernel::getMaterialPropertyOld(), AuxKernel::getMaterialPropertyOlder(), SubProblem::getMatrixTagID(), AnnularMesh::getMaxInDimension(), DistributedGeneratedMesh::getMaxInDimension(), GeneratedMesh::getMaxInDimension(), FEProblemBase::getMaxQps(), FEProblemBase::getMaxShapeFunctions(), AnnularMesh::getMinInDimension(), DistributedGeneratedMesh::getMinInDimension(), GeneratedMesh::getMinInDimension(), MooseMesh::getMortarInterface(), MooseMesh::getMortarInterfaceByName(), MooseMesh::getNodeBlockIds(), MooseMesh::getNodeList(), FEProblemBase::getNonlinearSystem(), MooseMesh::getPairedBoundaryMapping(), ImageMeshGenerator::GetPixelInfo(), ImageMesh::GetPixelInfo(), MaterialStdVectorAux::getRealValue(), MooseMesh::getRefinementMap(), FEProblemBase::getSampler(), getScalarVariable(), FEProblemBase::getScalarVariable(), getStandardVariable(), FEProblemBase::getStandardVariable(), MooseMesh::getSubdomainBoundaryIds(), MooseMesh::getSubdomainID(), getSystem(), FEProblemBase::getSystem(), FEProblemBase::getUserObject(), FEProblemBase::getUserObjectBase(), Residual::getValue(), PerformanceData::getValue(), PerfGraphData::getValue(), LineValueSampler::getValue(), FindValueOnLine::getValueAtPoint(), SubProblem::getVariableHelper(), SubProblem::getVectorTagID(), getVectorVariable(), FEProblemBase::getVectorVariable(), MultiApp::globalAppToLocal(), MooseParsedVectorFunction::gradient(), AdvancedOutput::hasOutputHelper(), CrankNicolson::init(), CSVTimeSequenceStepper::init(), IterationAdaptiveDT::init(), EigenExecutionerBase::init(), Transient::init(), MooseMesh::init(), FEProblemBase::init(), NumPicardIterations::initialize(), FullSolveMultiApp::initialSetup(), PiecewiseBase::initialSetup(), SolutionAux::initialSetup(), Axisymmetric2D3DSolutionFunction::initialSetup(), SolutionFunction::initialSetup(), Exodus::initialSetup(), SolutionUserObject::initialSetup(), FEProblemBase::initialSetup(), AdvancedOutput::initOutputList(), AdvancedOutput::initShowHideLists(), Material::initStatefulProperties(), Function::integral(), InterfaceKernel::InterfaceKernel(), InterfaceTimeKernel::InterfaceTimeKernel(), EigenExecutionerBase::inversePowerIteration(), InversePowerMethod::InversePowerMethod(), IterationAdaptiveDT::IterationAdaptiveDT(), LayeredSideIntegral::LayeredSideIntegral(), LeastSquaresFit::LeastSquaresFit(), LibmeshPartitioner::LibmeshPartitioner(), LinearCombinationFunction::LinearCombinationFunction(), LinearCombinationPostprocessor::LinearCombinationPostprocessor(), LinearNodalConstraint::LinearNodalConstraint(), LineMaterialSamplerBase< Real >::LineMaterialSamplerBase(), LineSearch::lineSearch(), LineValueSampler::LineValueSampler(), MaterialRealTensorValueAux::MaterialRealTensorValueAux(), MaterialRealVectorValueAux::MaterialRealVectorValueAux(), MaterialStdVectorRealGradientAux::MaterialStdVectorRealGradientAux(), MaterialVectorPostprocessor::MaterialVectorPostprocessor(), Distribution::median(), SubProblem::meshChanged(), MeshExtruder::MeshExtruder(), MeshExtruderGenerator::MeshExtruderGenerator(), MeshSideSetGenerator::MeshSideSetGenerator(), SideSetsFromNormals::modify(), SideSetsFromPoints::modify(), BreakMeshByBlockBase::modify(), MeshExtruder::modify(), AddExtraNodeset::modify(), SmoothMesh::modify(), AssignElementSubdomainID::modify(), AddAllSideSetsByNormals::modify(), ElementDeleterBase::modify(), RenameBlock::modify(), ParsedSubdomainMeshModifier::modify(), ImageSubdomain::modify(), OrientedSubdomainBoundingBox::modify(), BoundingBoxNodeSet::modify(), AddSideSetsFromBoundingBox::modify(), SubdomainBoundingBox::modify(), MooseMesh::MooseMesh(), MultiAppMeshFunctionTransfer::MultiAppMeshFunctionTransfer(), MultiAppPostprocessorTransfer::MultiAppPostprocessorTransfer(), NearestNodeDistanceAux::NearestNodeDistanceAux(), NearestNodeValueAux::NearestNodeValueAux(), RenameBlockGenerator::newBlockID(), RenameBlock::newBlockID(), RenameBlockGenerator::newBlockName(), RenameBlock::newBlockName(), NewmarkBeta::NewmarkBeta(), NodalConstraint::NodalConstraint(), NodalScalarKernel::NodalScalarKernel(), NodalVariableValue::NodalVariableValue(), NumDOFs::NumDOFs(), NumNonlinearIterations::NumNonlinearIterations(), NumVars::NumVars(), ElementSideNeighborLayers::operator()(), ElementPointNeighbors::operator()(), RelationshipManager::operator==(), XDA::output(), SolutionHistory::output(), Exodus::output(), AdvancedOutput::outputElementalVariables(), AdvancedOutput::outputInput(), AdvancedOutput::outputNodalVariables(), AdvancedOutput::outputPostprocessors(), AdvancedOutput::outputScalarVariables(), AdvancedOutput::outputSystemInformation(), Console::outputVectorPostprocessors(), AdvancedOutput::outputVectorPostprocessors(), MooseObject::paramError(), PiecewiseBilinear::parse(), ParsedAddSideset::ParsedAddSideset(), ParsedAux::ParsedAux(), ParsedGenerateSideset::ParsedGenerateSideset(), ParsedODEKernel::ParsedODEKernel(), ParsedSubdomainMeshGenerator::ParsedSubdomainMeshGenerator(), ParsedSubdomainMeshModifier::ParsedSubdomainMeshModifier(), PetscExternalPartitioner::PetscExternalPartitioner(), PhysicsBasedPreconditioner::PhysicsBasedPreconditioner(), Piecewise::Piecewise(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), PiecewiseMulticonstant::PiecewiseMulticonstant(), PiecewiseMultiInterpolation::PiecewiseMultiInterpolation(), SolutionUserObject::pointValueGradientWrapper(), SolutionUserObject::pointValueWrapper(), LStableDirk2::postResidual(), LStableDirk3::postResidual(), ImplicitMidpoint::postResidual(), ExplicitTVDRK2::postResidual(), LStableDirk4::postResidual(), AStableDirk4::postResidual(), ExplicitRK2::postResidual(), Predictor::Predictor(), SolutionUserObject::readExodusII(), SolutionUserObject::readXda(), EqualValueEmbeddedConstraint::reinitConstraint(), RelativeSolutionDifferenceNorm::RelativeSolutionDifferenceNorm(), RenameBlock::RenameBlock(), RenameBlockGenerator::RenameBlockGenerator(), RenameBoundaryGenerator::RenameBoundaryGenerator(), RinglebMesh::RinglebMesh(), RinglebMeshGenerator::RinglebMeshGenerator(), ScalarComponentIC::ScalarComponentIC(), BicubicSplineFunction::secondDerivative(), FEProblemBase::setCoordSystem(), PiecewiseBase::setData(), EigenProblem::setEigenproblemType(), Sampler::setNumberOfRequiedRandomSeeds(), Exodus::setOutputDimensionInExodusWriter(), Split::setup(), TransientMultiApp::setupApp(), TimeSequenceStepperBase::setupSequence(), Transient::setupTimeIntegrator(), SideSetsFromBoundingBoxGenerator::SideSetsFromBoundingBoxGenerator(), SideSetsFromNormals::SideSetsFromNormals(), SideSetsFromNormalsGenerator::SideSetsFromNormalsGenerator(), SideSetsFromPoints::SideSetsFromPoints(), SideSetsFromPointsGenerator::SideSetsFromPointsGenerator(), SolutionTimeAdaptiveDT::SolutionTimeAdaptiveDT(), SolutionUserObject::SolutionUserObject(), PicardSolve::solve(), ActuallyExplicitEuler::solve(), FullSolveMultiApp::solveStep(), UserObject::spatialValue(), SphericalAverage::SphericalAverage(), SpiralAnnularMesh::SpiralAnnularMesh(), SpiralAnnularMeshGenerator::SpiralAnnularMeshGenerator(), StitchedMesh::StitchedMesh(), NodalUserObject::subdomainSetup(), GeneralUserObject::subdomainSetup(), Constraint::subdomainSetup(), Console::systemInfoFlags(), Terminator::Terminator(), TestSetupPostprocessorDataActionFunction::TestSetupPostprocessorDataActionFunction(), ThreadedGeneralUserObject::ThreadedGeneralUserObject(), ThreadedGeneralUserObject::threadJoin(), DiscreteElementUserObject::threadJoin(), GeneralUserObject::threadJoin(), TiledMeshGenerator::TiledMeshGenerator(), Function::timeDerivative(), TimeExtremeValue::TimeExtremeValue(), TimePeriod::TimePeriod(), VectorPostprocessorVisualizationAux::timestepSetup(), MultiAppCopyTransfer::transfer(), MultiAppMeshFunctionTransfer::transferVariable(), FEProblemBase::uDotDotOldRequested(), FEProblemBase::uDotOldRequested(), EqualValueBoundaryConstraint::updateConstrainedNodes(), SolutionUserObject::updateExodusBracketingTimeIndices(), Axisymmetric2D3DSolutionFunction::value(), ValueRangeMarker::ValueRangeMarker(), ValueThresholdMarker::ValueThresholdMarker(), MultiAppTransfer::variableIntegrityCheck(), VariableTimeIntegrationAux::VariableTimeIntegrationAux(), VectorNodalBC::VectorNodalBC(), VectorOfPostprocessors::VectorOfPostprocessors(), VectorPostprocessorFunction::VectorPostprocessorFunction(), MooseParsedGradFunction::vectorValue(), MooseParsedFunction::vectorValue(), VolumeHistogram::VolumeHistogram(), VTKOutput::VTKOutput(), DOFMapOutput::writeStreamToFile(), and Console::writeStreamToFile().

144  {
145  std::ostringstream oss;
146  moose::internal::mooseStreamAll(oss, std::forward<Args>(args)...);
147  std::string msg = oss.str();
148  callMooseErrorRaw(msg, &_app);
149  }
void mooseStreamAll(std::ostringstream &ss)
All of the following are not meant to be called directly - they are called by the normal macros (moos...
Definition: MooseError.C:87
void callMooseErrorRaw(std::string &msg, MooseApp *app)
Definition: MooseObject.C:57
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:174

◆ mooseInfo()

template<typename... Args>
void MooseObject::mooseInfo ( Args &&...  args) const
inlineinherited

◆ mooseWarning()

template<typename... Args>
void MooseObject::mooseWarning ( Args &&...  args) const
inlineinherited

◆ name()

const std::string& MooseObject::name ( ) const
inlineinherited

Get the name of the object.

Returns
The name of the object

Definition at line 56 of file MooseObject.h.

Referenced by GridPartitioner::_do_partition(), FEProblemBase::addADJacobianMaterial(), FEProblemBase::addADResidualMaterial(), Executioner::addAttributeReporter(), DumpObjectsProblem::addAuxKernel(), FEProblemBase::addAuxKernel(), DumpObjectsProblem::addAuxScalarKernel(), FEProblemBase::addAuxScalarKernel(), DumpObjectsProblem::addBoundaryCondition(), FEProblemBase::addBoundaryCondition(), DumpObjectsProblem::addConstraint(), FEProblemBase::addConstraint(), FEProblemBase::addDamper(), DumpObjectsProblem::addDGKernel(), FEProblemBase::addDGKernel(), DumpObjectsProblem::addDiracKernel(), FEProblemBase::addDiracKernel(), FEProblemBase::addDistribution(), DumpObjectsProblem::addFunction(), FEProblemBase::addFunction(), FEProblemBase::addIndicator(), DumpObjectsProblem::addInitialCondition(), FEProblemBase::addInitialCondition(), DumpObjectsProblem::addInterfaceKernel(), FEProblemBase::addInterfaceKernel(), DumpObjectsProblem::addKernel(), FEProblemBase::addKernel(), FEProblemBase::addMarker(), DumpObjectsProblem::addMaterial(), FEProblemBase::addMaterial(), FEProblemBase::addMaterialHelper(), MooseMesh::addMortarInterface(), FEProblemBase::addMultiApp(), DumpObjectsProblem::addNodalKernel(), FEProblemBase::addNodalKernel(), FEProblemBase::addPostprocessor(), FEProblemBase::addPredictor(), FEProblemBase::addSampler(), DumpObjectsProblem::addScalarKernel(), FEProblemBase::addScalarKernel(), FEProblemBase::addTimeIntegrator(), FEProblemBase::addTransfer(), FEProblemBase::addUserObject(), FEProblemBase::addVectorPostprocessor(), Output::advancedExecuteOn(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), DerivativeParsedMaterialHelper::assembleDerivatives(), AStableDirk4::AStableDirk4(), Function::average(), BreakMeshByBlockGenerator::BreakMeshByBlockGenerator(), ChangeOverTimePostprocessor::ChangeOverTimePostprocessor(), FEProblemBase::checkDependMaterialsHelper(), Damper::checkMinDamping(), Material::checkStatefulSanity(), CompositeFunction::CompositeFunction(), Material::computeSubdomainProperties(), VectorPostprocessorVisualizationAux::computeValue(), AuxKernel::coupledCallback(), AuxKernel::coupledDot(), AuxKernel::coupledDotDu(), MultiApp::createApp(), FEProblemBase::declareVectorPostprocessorVector(), DOFMapOutput::demangle(), DerivativeSumMaterial::DerivativeSumMaterial(), DGKernel::DGKernel(), DumpObjectsProblem::dumpObjectHelper(), ElementValueSampler::ElementValueSampler(), MooseMesh::errorIfDistributedMesh(), AB2PredictorCorrector::estimateTimeError(), SolutionUserObject::evalMeshFunction(), SolutionUserObject::evalMeshFunctionGradient(), SolutionUserObject::evalMultiValuedMeshFunction(), SolutionUserObject::evalMultiValuedMeshFunctionGradient(), MultiAppPostprocessorTransfer::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), StatisticsVectorPostprocessor::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), PointValue::execute(), MultiAppInterpolationTransfer::execute(), MultiAppMeshFunctionTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppVectorPostprocessorTransfer::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppProjectionTransfer::execute(), HistogramVectorPostprocessor::execute(), MultiAppCopyTransfer::execute(), Exodus::Exodus(), FileOutput::FileOutput(), MultiApp::fillPositions(), PointSamplerBase::finalize(), DerivativeParsedMaterialHelper::findMatPropDerivative(), FunctionDT::FunctionDT(), GeneralUserObject::GeneralUserObject(), LowerDBlockFromSidesetGenerator::generate(), StitchedMeshGenerator::generate(), Material::getADMaterialProperty(), MultiApp::getBoundingBox(), MooseObject::getCheckedPointerParam(), Control::getControllableParameterByName(), Control::getControllableValue(), Control::getControllableValueByName(), DistributionInterface::getDistribution(), FEProblemBase::getDistribution(), DistributionInterface::getDistributionByName(), MultiApp::getExecutioner(), OutputWarehouse::getFileNumbers(), FEProblemBase::getFunction(), SolutionUserObject::getLocalVarIndex(), Marker::getMarkerValue(), FEProblemBase::getMaterial(), NodalPatchRecovery::getMaterialProperty(), AuxKernel::getMaterialProperty(), Material::getMaterialProperty(), SubProblem::getMaterialPropertyBlockNames(), SubProblem::getMaterialPropertyBoundaryNames(), NodalPatchRecovery::getMaterialPropertyOld(), AuxKernel::getMaterialPropertyOld(), Material::getMaterialPropertyOld(), NodalPatchRecovery::getMaterialPropertyOlder(), AuxKernel::getMaterialPropertyOlder(), Material::getMaterialPropertyOlder(), MeshGenerator::getMesh(), MooseMesh::getMortarInterfaceByName(), OutputWarehouse::getOutput(), MooseObject::getParam(), GeneralUserObject::getPostprocessorValue(), AuxKernel::getPostprocessorValue(), FEProblemBase::getPostprocessorValue(), GeneralUserObject::getPostprocessorValueByName(), AuxKernel::getPostprocessorValueByName(), FEProblemBase::getPostprocessorValueOld(), FEProblemBase::getPostprocessorValueOlder(), FEProblemBase::getSampler(), AuxKernel::getScatterVectorPostprocessorValue(), FEProblemBase::getScatterVectorPostprocessorValue(), AuxKernel::getScatterVectorPostprocessorValueByName(), FEProblemBase::getScatterVectorPostprocessorValueOld(), Transient::getTimeStepperName(), AuxKernel::getUserObject(), InitialConditionBase::getUserObject(), FEProblemBase::getUserObject(), InitialConditionBase::getUserObjectBase(), AuxKernel::getUserObjectBase(), FEProblemBase::getUserObjectBase(), AuxKernel::getUserObjectByName(), InitialConditionBase::getUserObjectByName(), GeneralUserObject::getVectorPostprocessorValue(), AuxKernel::getVectorPostprocessorValue(), FEProblemBase::getVectorPostprocessorValue(), GeneralUserObject::getVectorPostprocessorValueByName(), AuxKernel::getVectorPostprocessorValueByName(), FEProblemBase::getVectorPostprocessorValueOld(), FEProblemBase::hasFunction(), AdvancedOutput::hasOutputHelper(), FEProblemBase::hasPostprocessor(), FEProblemBase::hasUserObject(), FEProblemBase::hasVectorPostprocessor(), FEProblemBase::init(), AdvancedOutput::initExecutionTypes(), AttribName::initFrom(), CSVReader::initialize(), StatisticsVectorPostprocessor::initialize(), HistogramVectorPostprocessor::initialize(), MultiAppProjectionTransfer::initialSetup(), DerivativeFunctionMaterialBase::initialSetup(), SolutionUserObject::initialSetup(), AdvancedOutput::initOutputList(), FEProblemBase::initPostprocessorData(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), Material::initStatefulProperties(), FEProblemBase::initVectorPostprocessorData(), Function::integral(), InterfaceKernel::InterfaceKernel(), MooseObject::isParamValid(), LinearCombinationFunction::LinearCombinationFunction(), Marker::Marker(), MatDiffusionBase< Real >::MatDiffusionBase(), MaterialDerivativeTestKernelBase< Real >::MaterialDerivativeTestKernelBase(), MaterialVectorPostprocessor::MaterialVectorPostprocessor(), Distribution::median(), MemoryUsageReporter::MemoryUsageReporter(), MeshSideSetGenerator::MeshSideSetGenerator(), ElementDeleterBase::modify(), MooseVariableInterface< Real >::MooseVariableInterface(), NearestPointBase< LayeredAverage >::NearestPointBase(), NodalValueSampler::NodalValueSampler(), NodalVariableValue::NodalVariableValue(), DOFMapOutput::output(), Output::Output(), AdvancedOutput::outputElementalVariables(), AdvancedOutput::outputInput(), AdvancedOutput::outputNodalVariables(), ConsoleUtils::outputOutputInformation(), Nemesis::outputPostprocessors(), Exodus::outputPostprocessors(), AdvancedOutput::outputPostprocessors(), AdvancedOutput::outputScalarVariables(), AdvancedOutput::outputSystemInformation(), AdvancedOutput::outputVectorPostprocessors(), ParsedAddSideset::ParsedAddSideset(), ParsedAux::ParsedAux(), ParsedGenerateSideset::ParsedGenerateSideset(), ParsedODEKernel::ParsedODEKernel(), ParsedSubdomainMeshGenerator::ParsedSubdomainMeshGenerator(), ParsedSubdomainMeshModifier::ParsedSubdomainMeshModifier(), PointSamplerBase::PointSamplerBase(), Registry::registerObjectsTo(), FEProblemBase::registerRandomInterface(), Material::resetQpProperties(), Sampler::Sampler(), ScalarComponentIC::ScalarComponentIC(), MooseMesh::setBoundaryName(), Control::setControllableValue(), Control::setControllableValueByName(), OutputWarehouse::setFileNumbers(), MooseMesh::setSubdomainName(), Split::setup(), TransientMultiApp::setupApp(), SideSetsFromNormalsGenerator::SideSetsFromNormalsGenerator(), SideSetsFromPointsGenerator::SideSetsFromPointsGenerator(), SideValueSampler::SideValueSampler(), TransientMultiApp::solveStep(), UserObject::spatialValue(), SphericalAverage::SphericalAverage(), StitchedMesh::StitchedMesh(), SubProblem::storeBoundaryDelayedCheckMatProp(), SubProblem::storeBoundaryMatPropName(), SubProblem::storeBoundaryZeroMatProp(), SubProblem::storeSubdomainDelayedCheckMatProp(), SubProblem::storeSubdomainMatPropName(), SubProblem::storeSubdomainZeroMatProp(), TaggingInterface::TaggingInterface(), ThreadedGeneralUserObject::ThreadedGeneralUserObject(), Function::timeDerivative(), VectorPostprocessorVisualizationAux::timestepSetup(), TransientMultiApp::TransientMultiApp(), MultiAppTransfer::variableIntegrityCheck(), and AdvancedOutput::wantOutput().

56 { return _name; }
const std::string & _name
The name of this object, reference to value stored in InputParameters.
Definition: MooseObject.h:180

◆ nLinearIterations()

unsigned int SubProblem::nLinearIterations ( ) const
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 566 of file SubProblem.C.

Referenced by NumLinearIterations::getValue().

567 {
568  return 0;
569 }

◆ nlSys()

DisplacedSystem& DisplacedProblem::nlSys ( )
inline

Definition at line 48 of file DisplacedProblem.h.

48 { return _displaced_nl; }
DisplacedSystem _displaced_nl

◆ nNonlinearIterations()

unsigned int SubProblem::nNonlinearIterations ( ) const
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 560 of file SubProblem.C.

Referenced by NumNonlinearIterations::getValue().

561 {
562  return 0;
563 }

◆ nonlocalCouplingMatrix()

const CouplingMatrix& SubProblem::nonlocalCouplingMatrix ( ) const
inlineinherited

Definition at line 503 of file SubProblem.h.

503 { return _nonlocal_cm; }
CouplingMatrix _nonlocal_cm
Definition: SubProblem.h:584

◆ numMatrixTags()

unsigned int DisplacedProblem::numMatrixTags ( )
overridevirtual

The total number of tags.

Reimplemented from SubProblem.

Definition at line 303 of file DisplacedProblem.C.

304 {
305  return _mproblem.numMatrixTags();
306 }
FEProblemBase & _mproblem
virtual unsigned int numMatrixTags()
The total number of tags.
Definition: SubProblem.h:152

◆ numVectorTags()

unsigned int DisplacedProblem::numVectorTags ( )
overridevirtual

The total number of tags.

Reimplemented from SubProblem.

Definition at line 261 of file DisplacedProblem.C.

262 {
263  return _mproblem.numVectorTags();
264 }
FEProblemBase & _mproblem
virtual unsigned int numVectorTags()
The total number of tags.
Definition: SubProblem.h:117

◆ onTimestepBegin()

void DisplacedProblem::onTimestepBegin ( )
overridevirtual

Implements SubProblem.

Definition at line 873 of file DisplacedProblem.C.

874 {
875 }

◆ onTimestepEnd()

void DisplacedProblem::onTimestepEnd ( )
overridevirtual

Implements SubProblem.

Definition at line 878 of file DisplacedProblem.C.

879 {
880 }

◆ paramError()

template<typename... Args>
void MooseObject::paramError ( const std::string &  param,
Args...  args 
)
inlineinherited

Emits an error prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message.

If this object's parameters were not created directly by the Parser, then this function falls back to the normal behavior of mooseError - only printing a message using the given args.

Definition at line 105 of file MooseObject.h.

Referenced by ADIntegratedBCTempl< T, compute_stage >::ADIntegratedBCTempl(), ADKernelTempl< T, compute_stage >::ADKernelTempl(), DGKernel::DGKernel(), ElementValueSampler::ElementValueSampler(), StackGenerator::generate(), StitchedMeshGenerator::generate(), MultiApp::init(), IntegratedBC::IntegratedBC(), Kernel::Kernel(), NodalBC::NodalBC(), NodalEqualValueConstraint::NodalEqualValueConstraint(), NodalKernel::NodalKernel(), NodalValueSampler::NodalValueSampler(), RandomIC::RandomIC(), MultiAppCopyTransfer::transfer(), and TransientMultiApp::TransientMultiApp().

105  {
106  auto prefix = param + ": ";
107  if (!_pars.inputLocation(param).empty())
108  prefix = _pars.inputLocation(param) + ": (" + _pars.paramFullpath(param) + "):\n";
109  mooseError(prefix, args...);
110  }
void mooseError(Args &&... args) const
Definition: MooseObject.h:144
const std::string & inputLocation(const std::string &param) const
Get/set a string representing the location in the input text the parameter originated from (i...
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:171
const std::string & paramFullpath(const std::string &param) const
Get/set a string representing the full HIT parameter path from the input file (e.g.

◆ parameters()

const InputParameters& MooseObject::parameters ( ) const
inlineinherited

Get the parameters of the object.

Returns
The parameters of the object

Definition at line 62 of file MooseObject.h.

Referenced by FEProblemBase::addADJacobianMaterial(), FEProblemBase::addADResidualMaterial(), DumpObjectsProblem::addAuxKernel(), FEProblemBase::addAuxKernel(), DumpObjectsProblem::addAuxScalarKernel(), FEProblemBase::addAuxScalarKernel(), DumpObjectsProblem::addBoundaryCondition(), FEProblemBase::addBoundaryCondition(), DumpObjectsProblem::addConstraint(), FEProblemBase::addConstraint(), FEProblemBase::addDamper(), DumpObjectsProblem::addDGKernel(), FEProblemBase::addDGKernel(), DumpObjectsProblem::addDiracKernel(), FEProblemBase::addDiracKernel(), FEProblemBase::addDistribution(), DumpObjectsProblem::addFunction(), FEProblemBase::addFunction(), FEProblemBase::addIndicator(), DumpObjectsProblem::addInitialCondition(), FEProblemBase::addInitialCondition(), DumpObjectsProblem::addInterfaceKernel(), FEProblemBase::addInterfaceKernel(), DumpObjectsProblem::addKernel(), FEProblemBase::addKernel(), FEProblem::addLineSearch(), FEProblemBase::addMarker(), DumpObjectsProblem::addMaterial(), FEProblemBase::addMaterial(), FEProblemBase::addMaterialHelper(), FEProblemBase::addMultiApp(), DumpObjectsProblem::addNodalKernel(), FEProblemBase::addNodalKernel(), FEProblemBase::addOutput(), FEProblemBase::addPostprocessor(), FEProblemBase::addPredictor(), FEProblemBase::addSampler(), DumpObjectsProblem::addScalarKernel(), FEProblemBase::addScalarKernel(), FEProblemBase::addTimeIntegrator(), FEProblemBase::addTransfer(), FEProblemBase::addUserObject(), FEProblemBase::addVectorPostprocessor(), AdvancedOutput::AdvancedOutput(), assemble_l2(), Moose::assemble_matrix(), AuxKernel::AuxKernel(), AuxScalarKernel::AuxScalarKernel(), BoundsAux::BoundsAux(), LibmeshPartitioner::clone(), OversampleOutput::cloneMesh(), Moose::compute_bounds(), Moose::compute_jacobian(), Moose::compute_nearnullspace(), Moose::compute_nullspace(), Moose::compute_postcheck(), Moose::compute_transpose_nullspace(), Console::Console(), DumpObjectsProblem::deduceNecessaryParameters(), DumpObjectsProblem::dumpObjectHelper(), EigenProblem::EigenProblem(), Eigenvalue::Eigenvalue(), Executioner::Executioner(), Exodus::Exodus(), FEProblem::FEProblem(), GapValueAux::GapValueAux(), MooseObject::getCheckedPointerParam(), MooseMesh::init(), BlockRestrictable::initializeBlockRestrictable(), FEProblemBase::initNullSpaceVectors(), InterfaceKernel::InterfaceKernel(), isValid(), LayeredSideIntegral::LayeredSideIntegral(), MooseVariableInterface< Real >::MooseVariableInterface(), NearestPointBase< LayeredAverage >::NearestPointBase(), NodeFaceConstraint::NodeFaceConstraint(), PenetrationAux::PenetrationAux(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), MultiAppProjectionTransfer::projectSolution(), RandomIC::RandomIC(), InputParameterWarehouse::removeInputParameters(), FEProblem::setInputParametersFEProblem(), FEProblemBase::setInputParametersFEProblem(), DumpObjectsProblem::stringifyParameters(), and Transient::Transient().

62 { return _pars; }
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:171

◆ paramInfo()

template<typename... Args>
void MooseObject::paramInfo ( const std::string &  param,
Args...  args 
)
inlineinherited

Emits an informational message prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message.

If this object's parameters were not created directly by the Parser, then this function falls back to the normal behavior of mooseInfo - only printing a message using the given args.

Definition at line 135 of file MooseObject.h.

Referenced by TransientMultiApp::TransientMultiApp().

136  {
137  auto prefix = param + ": ";
138  if (!_pars.inputLocation(param).empty())
139  prefix = _pars.inputLocation(param) + ": (" + _pars.paramFullpath(param) + "):\n";
140  mooseInfo(prefix, args...);
141  }
const std::string & inputLocation(const std::string &param) const
Get/set a string representing the location in the input text the parameter originated from (i...
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:171
void mooseInfo(Args &&... args) const
Definition: MooseObject.h:164
const std::string & paramFullpath(const std::string &param) const
Get/set a string representing the full HIT parameter path from the input file (e.g.

◆ paramWarning()

template<typename... Args>
void MooseObject::paramWarning ( const std::string &  param,
Args...  args 
)
inlineinherited

Emits a warning prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message.

If this object's parameters were not created directly by the Parser, then this function falls back to the normal behavior of mooseWarning - only printing a message using the given args.

Definition at line 119 of file MooseObject.h.

120  {
121  auto prefix = param + ": ";
122  if (!_pars.inputLocation(param).empty())
123  prefix = _pars.inputLocation(param) + ": (" + _pars.paramFullpath(param) + "):\n";
124  mooseWarning(prefix, args...);
125  }
void mooseWarning(Args &&... args) const
Definition: MooseObject.h:152
const std::string & inputLocation(const std::string &param) const
Get/set a string representing the location in the input text the parameter originated from (i...
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:171
const std::string & paramFullpath(const std::string &param) const
Get/set a string representing the full HIT parameter path from the input file (e.g.

◆ prepare() [1/2]

void DisplacedProblem::prepare ( const Elem *  elem,
THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 420 of file DisplacedProblem.C.

421 {
422  _assembly[tid]->reinit(elem);
423 
424  _displaced_nl.prepare(tid);
425  _displaced_aux.prepare(tid);
427  _assembly[tid]->prepareJacobianBlock();
428  _assembly[tid]->prepareResidual();
429 }
FEProblemBase & _mproblem
std::vector< std::unique_ptr< Assembly > > _assembly
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl
bool hasJacobian() const
Returns _has_jacobian.
bool constJacobian() const
Returns _const_jacobian (whether a MOOSE object has specified that the Jacobian is the same as the pr...
virtual void prepare(THREAD_ID tid)
Prepare the system for use.
Definition: SystemBase.C:242

◆ prepare() [2/2]

void DisplacedProblem::prepare ( const Elem *  elem,
unsigned int  ivar,
unsigned int  jvar,
const std::vector< dof_id_type > &  dof_indices,
THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 445 of file DisplacedProblem.C.

450 {
451  _assembly[tid]->reinit(elem);
452 
453  _displaced_nl.prepare(tid);
454  _displaced_aux.prepare(tid);
455  _assembly[tid]->prepareBlock(ivar, jvar, dof_indices);
456 }
std::vector< std::unique_ptr< Assembly > > _assembly
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl
virtual void prepare(THREAD_ID tid)
Prepare the system for use.
Definition: SystemBase.C:242

◆ prepareAssembly()

void DisplacedProblem::prepareAssembly ( THREAD_ID  tid)
overridevirtual

Implements SubProblem.

Definition at line 483 of file DisplacedProblem.C.

484 {
485  _assembly[tid]->prepare();
486 }
std::vector< std::unique_ptr< Assembly > > _assembly

◆ prepareAssemblyNeighbor()

void DisplacedProblem::prepareAssemblyNeighbor ( THREAD_ID  tid)
virtual

Definition at line 489 of file DisplacedProblem.C.

Referenced by reinitNeighborPhys().

490 {
491  _assembly[tid]->prepareNeighbor();
492 }
std::vector< std::unique_ptr< Assembly > > _assembly

◆ prepareBlockNonlocal()

void DisplacedProblem::prepareBlockNonlocal ( unsigned int  ivar,
unsigned int  jvar,
const std::vector< dof_id_type > &  idof_indices,
const std::vector< dof_id_type > &  jdof_indices,
THREAD_ID  tid 
)
virtual

Definition at line 473 of file DisplacedProblem.C.

478 {
479  _assembly[tid]->prepareBlockNonlocal(ivar, jvar, idof_indices, jdof_indices);
480 }
std::vector< std::unique_ptr< Assembly > > _assembly

◆ prepareFace()

void DisplacedProblem::prepareFace ( const Elem *  elem,
THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 438 of file DisplacedProblem.C.

439 {
440  _displaced_nl.prepareFace(tid, true);
441  _displaced_aux.prepareFace(tid, false);
442 }
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl
virtual void prepareFace(THREAD_ID tid, bool resize_data)
Prepare the system for use on sides.
Definition: SystemBase.C:265

◆ prepareFaceShapes()

void DisplacedProblem::prepareFaceShapes ( unsigned int  var,
THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 799 of file DisplacedProblem.C.

800 {
801  _assembly[tid]->copyFaceShapes(var);
802 }
std::vector< std::unique_ptr< Assembly > > _assembly

◆ prepareNeighborShapes()

void DisplacedProblem::prepareNeighborShapes ( unsigned int  var,
THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 805 of file DisplacedProblem.C.

806 {
807  _assembly[tid]->copyNeighborShapes(var);
808 }
std::vector< std::unique_ptr< Assembly > > _assembly

◆ prepareNonlocal()

void DisplacedProblem::prepareNonlocal ( THREAD_ID  tid)
virtual

Definition at line 432 of file DisplacedProblem.C.

433 {
434  _assembly[tid]->prepareNonlocal();
435 }
std::vector< std::unique_ptr< Assembly > > _assembly

◆ prepareShapes()

void DisplacedProblem::prepareShapes ( unsigned int  var,
THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 793 of file DisplacedProblem.C.

794 {
795  _assembly[tid]->copyShapes(var);
796 }
std::vector< std::unique_ptr< Assembly > > _assembly

◆ refMesh()

MooseMesh & DisplacedProblem::refMesh ( )

Definition at line 850 of file DisplacedProblem.C.

Referenced by updateMesh().

851 {
852  return _ref_mesh;
853 }
MooseMesh & _ref_mesh
reference mesh

◆ registerTimedSection()

PerfID PerfGraphInterface::registerTimedSection ( const std::string &  section_name,
const unsigned int  level 
)
protectedinherited

Call to register a named section for timing.

Parameters
section_nameThe name of the code section to be timed
levelThe importance of the timer - lower is more important (0 will always come out)
Returns
The ID of the section - use when starting timing

Definition at line 50 of file PerfGraphInterface.C.

51 {
52  if (_prefix != "")
53  return _perf_graph.registerSection(_prefix + "::" + section_name, level);
54  else
55  return _perf_graph.registerSection(section_name, level);
56 }
PerfGraph & _perf_graph
The performance graph to add to.
std::string _prefix
A prefix to use for all sections.
PerfID registerSection(const std::string &section_name, unsigned int level)
Registers a named section of code.
Definition: PerfGraph.C:42

◆ reinitDirac()

bool DisplacedProblem::reinitDirac ( const Elem *  elem,
THREAD_ID  tid 
)
overridevirtual

Returns true if the Problem has Dirac kernels it needs to compute on elem.

Implements SubProblem.

Definition at line 495 of file DisplacedProblem.C.

496 {
497  std::vector<Point> & points = _dirac_kernel_info.getPoints()[elem].first;
498 
499  unsigned int n_points = points.size();
500 
501  if (n_points)
502  {
503  _assembly[tid]->reinitAtPhysical(elem, points);
504 
505  _displaced_nl.prepare(tid);
506  _displaced_aux.prepare(tid);
507 
508  reinitElem(elem, tid);
509  }
510 
511  _assembly[tid]->prepare();
512 
513  return n_points > 0;
514 }
std::vector< std::unique_ptr< Assembly > > _assembly
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl
MultiPointMap & getPoints()
Returns a writeable reference to the _points container.
virtual void prepare(THREAD_ID tid)
Prepare the system for use.
Definition: SystemBase.C:242
DiracKernelInfo _dirac_kernel_info
Definition: SubProblem.h:589
virtual void reinitElem(const Elem *elem, THREAD_ID tid) override

◆ reinitElem()

void DisplacedProblem::reinitElem ( const Elem *  elem,
THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 517 of file DisplacedProblem.C.

Referenced by reinitDirac(), and reinitElemPhys().

518 {
519  _displaced_nl.reinitElem(elem, tid);
520  _displaced_aux.reinitElem(elem, tid);
521 }
virtual void reinitElem(const Elem *elem, THREAD_ID tid)
Reinit an element assembly info.
Definition: SystemBase.C:306
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl

◆ reinitElemFace()

void DisplacedProblem::reinitElemFace ( const Elem *  elem,
unsigned int  side,
BoundaryID  bnd_id,
THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 539 of file DisplacedProblem.C.

543 {
544  _assembly[tid]->reinit(elem, side);
545  _displaced_nl.reinitElemFace(elem, side, bnd_id, tid);
546  _displaced_aux.reinitElemFace(elem, side, bnd_id, tid);
547 }
virtual void reinitElemFace(const Elem *elem, unsigned int side, BoundaryID bnd_id, THREAD_ID tid)
Reinit assembly info for a side of an element.
Definition: SystemBase.C:326
std::vector< std::unique_ptr< Assembly > > _assembly
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl

◆ reinitElemPhys()

void DisplacedProblem::reinitElemPhys ( const Elem *  elem,
const std::vector< Point > &  phys_points_in_elem,
THREAD_ID  tid,
bool  = false 
)
overridevirtual

Implements SubProblem.

Definition at line 524 of file DisplacedProblem.C.

528 {
529  _assembly[tid]->reinitAtPhysical(elem, phys_points_in_elem);
530 
531  _displaced_nl.prepare(tid);
532  _displaced_aux.prepare(tid);
533  _assembly[tid]->prepare();
534 
535  reinitElem(elem, tid);
536 }
std::vector< std::unique_ptr< Assembly > > _assembly
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl
virtual void prepare(THREAD_ID tid)
Prepare the system for use.
Definition: SystemBase.C:242
virtual void reinitElem(const Elem *elem, THREAD_ID tid) override

◆ reinitNeighbor()

void DisplacedProblem::reinitNeighbor ( const Elem *  elem,
unsigned int  side,
THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 580 of file DisplacedProblem.C.

581 {
582  const Elem * neighbor = elem->neighbor_ptr(side);
583  unsigned int neighbor_side = neighbor->which_neighbor_am_i(elem);
584 
585  _assembly[tid]->reinitElemAndNeighbor(elem, side, neighbor, neighbor_side);
586 
589 
590  _assembly[tid]->prepareNeighbor();
591 
592  BoundaryID bnd_id = 0; // some dummy number (it is not really used for anything, right now)
593  _displaced_nl.reinitElemFace(elem, side, bnd_id, tid);
594  _displaced_aux.reinitElemFace(elem, side, bnd_id, tid);
595 
596  _displaced_nl.reinitNeighborFace(neighbor, neighbor_side, bnd_id, tid);
597  _displaced_aux.reinitNeighborFace(neighbor, neighbor_side, bnd_id, tid);
598 }
virtual void reinitNeighborFace(const Elem *elem, unsigned int side, BoundaryID bnd_id, THREAD_ID tid)
Compute the values of the variables at all the current points.
Definition: SystemBase.C:337
virtual void reinitElemFace(const Elem *elem, unsigned int side, BoundaryID bnd_id, THREAD_ID tid)
Reinit assembly info for a side of an element.
Definition: SystemBase.C:326
std::vector< std::unique_ptr< Assembly > > _assembly
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl
virtual void prepareNeighbor(THREAD_ID tid)
Prepare the system for use.
Definition: SystemBase.C:298
boundary_id_type BoundaryID
Definition: MooseTypes.h:122

◆ reinitNeighborPhys() [1/2]

void DisplacedProblem::reinitNeighborPhys ( const Elem *  neighbor,
unsigned int  neighbor_side,
const std::vector< Point > &  physical_points,
THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 601 of file DisplacedProblem.C.

605 {
606  // Reinit shape functions
607  _assembly[tid]->reinitNeighborAtPhysical(neighbor, neighbor_side, physical_points);
608 
609  // Set the neighbor dof indices
612 
614 
615  // Compute values at the points
616  _displaced_nl.reinitNeighborFace(neighbor, neighbor_side, 0, tid);
617  _displaced_aux.reinitNeighborFace(neighbor, neighbor_side, 0, tid);
618 }
virtual void reinitNeighborFace(const Elem *elem, unsigned int side, BoundaryID bnd_id, THREAD_ID tid)
Compute the values of the variables at all the current points.
Definition: SystemBase.C:337
std::vector< std::unique_ptr< Assembly > > _assembly
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl
virtual void prepareAssemblyNeighbor(THREAD_ID tid)
virtual void prepareNeighbor(THREAD_ID tid)
Prepare the system for use.
Definition: SystemBase.C:298

◆ reinitNeighborPhys() [2/2]

void DisplacedProblem::reinitNeighborPhys ( const Elem *  neighbor,
const std::vector< Point > &  physical_points,
THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 621 of file DisplacedProblem.C.

624 {
625  // Reinit shape functions
626  _assembly[tid]->reinitNeighborAtPhysical(neighbor, physical_points);
627 
628  // Set the neighbor dof indices
631 
633 
634  // Compute values at the points
635  _displaced_nl.reinitNeighbor(neighbor, tid);
636  _displaced_aux.reinitNeighbor(neighbor, tid);
637 }
std::vector< std::unique_ptr< Assembly > > _assembly
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl
virtual void prepareAssemblyNeighbor(THREAD_ID tid)
virtual void prepareNeighbor(THREAD_ID tid)
Prepare the system for use.
Definition: SystemBase.C:298
virtual void reinitNeighbor(const Elem *elem, THREAD_ID tid)
Compute the values of the variables at all the current points.
Definition: SystemBase.C:348

◆ reinitNode()

void DisplacedProblem::reinitNode ( const Node *  node,
THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 550 of file DisplacedProblem.C.

551 {
552  _assembly[tid]->reinit(node);
553  _displaced_nl.reinitNode(node, tid);
554  _displaced_aux.reinitNode(node, tid);
555 }
virtual void reinitNode(const Node *node, THREAD_ID tid)
Reinit nodal assembly info.
Definition: SystemBase.C:356
std::vector< std::unique_ptr< Assembly > > _assembly
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl

◆ reinitNodeFace()

void DisplacedProblem::reinitNodeFace ( const Node *  node,
BoundaryID  bnd_id,
THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 558 of file DisplacedProblem.C.

559 {
560  _assembly[tid]->reinit(node);
561  _displaced_nl.reinitNodeFace(node, bnd_id, tid);
562  _displaced_aux.reinitNodeFace(node, bnd_id, tid);
563 }
std::vector< std::unique_ptr< Assembly > > _assembly
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl
virtual void reinitNodeFace(const Node *node, BoundaryID bnd_id, THREAD_ID tid)
Reinit nodal assembly info on a face.
Definition: SystemBase.C:370

◆ reinitNodes()

void DisplacedProblem::reinitNodes ( const std::vector< dof_id_type > &  nodes,
THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 566 of file DisplacedProblem.C.

567 {
568  _displaced_nl.reinitNodes(nodes, tid);
569  _displaced_aux.reinitNodes(nodes, tid);
570 }
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl
virtual void reinitNodes(const std::vector< dof_id_type > &nodes, THREAD_ID tid)
Reinit variables at a set of nodes.
Definition: SystemBase.C:384

◆ reinitNodesNeighbor()

void DisplacedProblem::reinitNodesNeighbor ( const std::vector< dof_id_type > &  nodes,
THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 573 of file DisplacedProblem.C.

574 {
577 }
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl
virtual void reinitNodesNeighbor(const std::vector< dof_id_type > &nodes, THREAD_ID tid)
Reinit variables at a set of neighbor nodes.
Definition: SystemBase.C:395

◆ reinitOffDiagScalars()

void DisplacedProblem::reinitOffDiagScalars ( THREAD_ID  tid)
overridevirtual

Implements SubProblem.

Definition at line 647 of file DisplacedProblem.C.

648 {
649  _assembly[tid]->prepareOffDiagScalar();
650 }
std::vector< std::unique_ptr< Assembly > > _assembly

◆ reinitScalars()

void DisplacedProblem::reinitScalars ( THREAD_ID  tid)
overridevirtual

Implements SubProblem.

Definition at line 640 of file DisplacedProblem.C.

641 {
644 }
virtual void reinitScalars(THREAD_ID tid)
Reinit scalar varaibles.
Definition: SystemBase.C:406
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl

◆ restoreOldSolutions()

void DisplacedProblem::restoreOldSolutions ( )
virtual

Restore old solutions from the backup vectors and deallocate them.

Definition at line 141 of file DisplacedProblem.C.

142 {
145 }
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl
virtual void restoreOldSolutions()
Restore the old and older solutions when the saved solutions present.
Definition: SystemBase.C:497

◆ safeAccessTaggedMatrices()

bool SubProblem::safeAccessTaggedMatrices ( )
inlineinherited

Is it safe to access the tagged matrices.

Definition at line 519 of file SubProblem.h.

Referenced by MooseVariableScalar::reinit().

bool _safe_access_tagged_matrices
Is it safe to retrieve data from tagged matrices.
Definition: SubProblem.h:648

◆ safeAccessTaggedVectors()

bool SubProblem::safeAccessTaggedVectors ( )
inlineinherited

Is it safe to access the tagged vectors.

Definition at line 522 of file SubProblem.h.

Referenced by MooseVariableScalar::reinit().

522 { return _safe_access_tagged_vectors; }
bool _safe_access_tagged_vectors
Is it safe to retrieve data from tagged vectors.
Definition: SubProblem.h:651

◆ saveOldSolutions()

void DisplacedProblem::saveOldSolutions ( )
virtual

Allocate vectors and save old solutions into them.

Definition at line 134 of file DisplacedProblem.C.

135 {
138 }
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl
virtual void saveOldSolutions()
Save the old and older solutions.
Definition: SystemBase.C:472

◆ setActiveElementalMooseVariables()

void SubProblem::setActiveElementalMooseVariables ( const std::set< MooseVariableFEBase *> &  moose_vars,
THREAD_ID  tid 
)
virtualinherited

Set the MOOSE variables to be reinited on each element.

Parameters
moose_varsA set of variables that need to be reinited each time reinit() is called.
tidThe thread id

Reimplemented in FEProblemBase.

Definition at line 226 of file SubProblem.C.

Referenced by FEProblemBase::setActiveElementalMooseVariables().

228 {
229  if (!moose_vars.empty())
230  {
232  _active_elemental_moose_variables[tid] = moose_vars;
233  }
234 }
std::vector< unsigned int > _has_active_elemental_moose_variables
Whether or not there is currently a list of active elemental moose variables.
Definition: SubProblem.h:619
std::vector< std::set< MooseVariableFEBase * > > _active_elemental_moose_variables
This is the set of MooseVariableFEBases that will actually get reinited by a call to reinit(elem) ...
Definition: SubProblem.h:615

◆ setActiveFEVariableCoupleableMatrixTags()

void SubProblem::setActiveFEVariableCoupleableMatrixTags ( std::set< TagID > &  mtags,
THREAD_ID  tid 
)
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 154 of file SubProblem.C.

Referenced by FEProblemBase::setActiveFEVariableCoupleableMatrixTags().

155 {
157 }
std::vector< std::set< TagID > > _active_fe_var_coupleable_matrix_tags
Definition: SubProblem.h:624

◆ setActiveFEVariableCoupleableVectorTags()

void SubProblem::setActiveFEVariableCoupleableVectorTags ( std::set< TagID > &  vtags,
THREAD_ID  tid 
)
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 160 of file SubProblem.C.

Referenced by FEProblemBase::setActiveFEVariableCoupleableVectorTags().

161 {
163 }
std::vector< std::set< TagID > > _active_fe_var_coupleable_vector_tags
Definition: SubProblem.h:626

◆ setActiveMaterialProperties()

void SubProblem::setActiveMaterialProperties ( const std::set< unsigned int > &  mat_prop_ids,
THREAD_ID  tid 
)
virtualinherited

Record and set the material properties required by the current computing thread.

Parameters
mat_prop_idsThe set of material properties required by the current computing thread.
tidThe thread id

Reimplemented in FEProblemBase.

Definition at line 256 of file SubProblem.C.

Referenced by FEProblemBase::setActiveMaterialProperties().

257 {
258  if (!mat_prop_ids.empty())
259  _active_material_property_ids[tid] = mat_prop_ids;
260 }
std::vector< std::set< unsigned int > > _active_material_property_ids
Set of material property ids that determine whether materials get reinited.
Definition: SubProblem.h:622

◆ setActiveScalarVariableCoupleableMatrixTags()

void SubProblem::setActiveScalarVariableCoupleableMatrixTags ( std::set< TagID > &  mtags,
THREAD_ID  tid 
)
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 190 of file SubProblem.C.

Referenced by FEProblemBase::setActiveScalarVariableCoupleableMatrixTags().

191 {
193 }
std::vector< std::set< TagID > > _active_sc_var_coupleable_matrix_tags
Definition: SubProblem.h:628

◆ setActiveScalarVariableCoupleableVectorTags()

void SubProblem::setActiveScalarVariableCoupleableVectorTags ( std::set< TagID > &  vtags,
THREAD_ID  tid 
)
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 196 of file SubProblem.C.

Referenced by FEProblemBase::setActiveScalarVariableCoupleableVectorTags().

197 {
199 }
std::vector< std::set< TagID > > _active_sc_var_coupleable_vector_tags
Definition: SubProblem.h:630

◆ setCurrentlyComputingJacobian()

virtual void SubProblem::setCurrentlyComputingJacobian ( const bool &  flag)
inlinevirtualinherited

Definition at line 510 of file SubProblem.h.

511  {
513  }
bool _currently_computing_jacobian
Flag to determine whether the problem is currently computing Jacobian.
Definition: SubProblem.h:642

◆ setCurrentSubdomainID()

void DisplacedProblem::setCurrentSubdomainID ( const Elem *  elem,
THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 459 of file DisplacedProblem.C.

460 {
461  SubdomainID did = elem->subdomain_id();
462  _assembly[tid]->setCurrentSubdomainID(did);
463 }
subdomain_id_type SubdomainID
Definition: MooseTypes.h:124
std::vector< std::unique_ptr< Assembly > > _assembly

◆ setNeighborSubdomainID()

void DisplacedProblem::setNeighborSubdomainID ( const Elem *  elem,
unsigned int  side,
THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 466 of file DisplacedProblem.C.

467 {
468  SubdomainID did = elem->neighbor_ptr(side)->subdomain_id();
469  _assembly[tid]->setCurrentNeighborSubdomainID(did);
470 }
subdomain_id_type SubdomainID
Definition: MooseTypes.h:124
std::vector< std::unique_ptr< Assembly > > _assembly

◆ setResidual()

void DisplacedProblem::setResidual ( NumericVector< Number > &  residual,
THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 702 of file DisplacedProblem.C.

703 {
704  _assembly[tid]->setResidual(residual);
705 }
std::vector< std::unique_ptr< Assembly > > _assembly

◆ setResidualNeighbor()

void DisplacedProblem::setResidualNeighbor ( NumericVector< Number > &  residual,
THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 708 of file DisplacedProblem.C.

709 {
710  _assembly[tid]->setResidualNeighbor(residual);
711 }
std::vector< std::unique_ptr< Assembly > > _assembly

◆ solve()

void DisplacedProblem::solve ( )
overridevirtual

Implements SubProblem.

Definition at line 856 of file DisplacedProblem.C.

857 {
858 }

◆ storeBoundaryDelayedCheckMatProp()

void SubProblem::storeBoundaryDelayedCheckMatProp ( const std::string &  requestor,
BoundaryID  boundary_id,
const std::string &  name 
)
virtualinherited

Adds to a map based on boundary ids of material properties to validate.

Parameters
requestorThe MOOSE object name requesting the material property
boundary_idThe block id for the MaterialProperty
nameThe name of the property

Definition at line 428 of file SubProblem.C.

Referenced by MaterialPropertyInterface::checkMaterialProperty().

431 {
432  _map_boundary_material_props_check[boundary_id].insert(std::make_pair(requestor, name));
433 }
std::map< BoundaryID, std::multimap< std::string, std::string > > _map_boundary_material_props_check
Definition: SubProblem.h:611
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:56

◆ storeBoundaryMatPropName()

void SubProblem::storeBoundaryMatPropName ( BoundaryID  boundary_id,
const std::string &  name 
)
virtualinherited

Adds the given material property to a storage map based on boundary ids.

This is method is called from within the Material class when the property is first registered.

Parameters
boundary_idThe block id for the MaterialProperty
nameThe name of the property

Definition at line 402 of file SubProblem.C.

Referenced by Material::registerPropName().

403 {
404  _map_boundary_material_props[boundary_id].insert(name);
405 }
std::map< BoundaryID, std::set< std::string > > _map_boundary_material_props
Map for boundary material properties (boundary_id -> list of properties)
Definition: SubProblem.h:595
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:56

◆ storeBoundaryZeroMatProp()

void SubProblem::storeBoundaryZeroMatProp ( BoundaryID  boundary_id,
const MaterialPropertyName &  name 
)
virtualinherited

Adds to a map based on boundary ids of material properties for which a zero value can be returned.

Thes properties are optional and will not trigger a missing material property error.

Parameters
boundary_idThe block id for the MaterialProperty
nameThe name of the property

Definition at line 414 of file SubProblem.C.

Referenced by Material::getZeroMaterialProperty().

415 {
416  _zero_boundary_material_props[boundary_id].insert(name);
417 }
std::map< BoundaryID, std::set< MaterialPropertyName > > _zero_boundary_material_props
Definition: SubProblem.h:599
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:56

◆ storeSubdomainDelayedCheckMatProp()

void SubProblem::storeSubdomainDelayedCheckMatProp ( const std::string &  requestor,
SubdomainID  block_id,
const std::string &  name 
)
virtualinherited

Adds to a map based on block ids of material properties to validate.

Parameters
block_idThe block id for the MaterialProperty
nameThe name of the property

Definition at line 420 of file SubProblem.C.

Referenced by MaterialPropertyInterface::checkMaterialProperty().

423 {
424  _map_block_material_props_check[block_id].insert(std::make_pair(requestor, name));
425 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:56
std::map< SubdomainID, std::multimap< std::string, std::string > > _map_block_material_props_check
Data structures of the requested material properties.
Definition: SubProblem.h:610

◆ storeSubdomainMatPropName()

void SubProblem::storeSubdomainMatPropName ( SubdomainID  block_id,
const std::string &  name 
)
virtualinherited

Adds the given material property to a storage map based on block ids.

This is method is called from within the Material class when the property is first registered.

Parameters
block_idThe block id for the MaterialProperty
nameThe name of the property

Definition at line 396 of file SubProblem.C.

Referenced by Material::registerPropName().

397 {
398  _map_block_material_props[block_id].insert(name);
399 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:56
std::map< SubdomainID, std::set< std::string > > _map_block_material_props
Map of material properties (block_id -> list of properties)
Definition: SubProblem.h:592

◆ storeSubdomainZeroMatProp()

void SubProblem::storeSubdomainZeroMatProp ( SubdomainID  block_id,
const MaterialPropertyName &  name 
)
virtualinherited

Adds to a map based on block ids of material properties for which a zero value can be returned.

Thes properties are optional and will not trigger a missing material property error.

Parameters
block_idThe block id for the MaterialProperty
nameThe name of the property

Definition at line 408 of file SubProblem.C.

Referenced by Material::getZeroMaterialProperty().

409 {
410  _zero_block_material_props[block_id].insert(name);
411 }
std::map< SubdomainID, std::set< MaterialPropertyName > > _zero_block_material_props
Set of properties returned as zero properties.
Definition: SubProblem.h:598
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:56

◆ syncSolutions() [1/2]

void DisplacedProblem::syncSolutions ( )
virtual

Copy the solutions on the undisplaced systems to the displaced systems.

Definition at line 148 of file DisplacedProblem.C.

Referenced by updateMesh().

149 {
150  TIME_SECTION(_sync_solutions_timer);
151 
156 }
virtual const NumericVector< Number > *& currentSolution() override
The solution vector that is currently being operated on.
NonlinearSystemBase & getNonlinearSystemBase()
virtual TransientExplicitSystem & sys()
FEProblemBase & _mproblem
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl
virtual const NumericVector< Number > *& currentSolution() override
The solution vector that is currently being operated on.
virtual void update()
Update the system (doing libMesh magic)
Definition: SystemBase.C:954
AuxiliarySystem & getAuxiliarySystem()

◆ syncSolutions() [2/2]

void DisplacedProblem::syncSolutions ( const NumericVector< Number > &  soln,
const NumericVector< Number > &  aux_soln 
)
virtual

Synchronize the solutions on the displaced systems to the given solutions.

Definition at line 159 of file DisplacedProblem.C.

161 {
162  TIME_SECTION(_sync_solutions_timer);
163 
164  (*_displaced_nl.sys().solution) = soln;
165  (*_displaced_aux.sys().solution) = aux_soln;
168 }
virtual TransientExplicitSystem & sys()
DisplacedSystem _displaced_aux
DisplacedSystem _displaced_nl
virtual void update()
Update the system (doing libMesh magic)
Definition: SystemBase.C:954

◆ terminateSolve()

virtual void Problem::terminateSolve ( )
inlinevirtualinherited

Allow objects to request clean termination of the solve.

Definition at line 41 of file Problem.h.

Referenced by Terminator::execute().

41 { _termination_requested = true; };
bool _termination_requested
True if termination of the solve has been requested.
Definition: Problem.h:57

◆ type()

const std::string& MooseObject::type ( ) const
inlineinherited

Get the type of this object.

Returns
the name of the type of this object

Definition at line 50 of file MooseObject.h.

Referenced by DumpObjectsProblem::addAuxKernel(), DumpObjectsProblem::addAuxScalarKernel(), FEProblemBase::addAuxScalarVariable(), DumpObjectsProblem::addAuxVariable(), addAuxVariable(), FEProblemBase::addAuxVariable(), DumpObjectsProblem::addBoundaryCondition(), DumpObjectsProblem::addConstraint(), DumpObjectsProblem::addDGKernel(), DumpObjectsProblem::addDiracKernel(), FEProblemBase::addDistribution(), DumpObjectsProblem::addFunction(), FEProblemBase::addFunction(), DumpObjectsProblem::addInitialCondition(), DumpObjectsProblem::addInterfaceKernel(), DumpObjectsProblem::addKernel(), DumpObjectsProblem::addMaterial(), DumpObjectsProblem::addNodalKernel(), FEProblemBase::addPredictor(), FEProblemBase::addSampler(), DumpObjectsProblem::addScalarKernel(), FEProblemBase::addScalarVariable(), PhysicsBasedPreconditioner::addSystem(), FEProblemBase::addTimeIntegrator(), DumpObjectsProblem::addVariable(), addVariable(), FEProblemBase::addVariable(), FEProblemBase::advanceMultiApps(), FEProblemBase::backupMultiApps(), MooseMesh::buildRefinementAndCoarseningMaps(), FEProblemBase::computeAuxiliaryKernels(), ElemElemConstraint::computeElemNeighJacobian(), InterfaceKernel::computeElemNeighJacobian(), DGKernel::computeElemNeighJacobian(), ElemElemConstraint::computeElemNeighResidual(), InterfaceKernel::computeElemNeighResidual(), DGKernel::computeElemNeighResidual(), FEProblemBase::computeMultiAppsDT(), InterfaceKernel::computeOffDiagElemNeighJacobian(), DGKernel::computeOffDiagElemNeighJacobian(), DGConvection::computeQpJacobian(), CoupledTiedValueConstraint::computeQpJacobian(), TiedValueConstraint::computeQpJacobian(), DGDiffusion::computeQpJacobian(), LinearNodalConstraint::computeQpJacobian(), EqualValueBoundaryConstraint::computeQpJacobian(), EqualValueEmbeddedConstraint::computeQpJacobian(), CoupledTiedValueConstraint::computeQpOffDiagJacobian(), EqualValueEmbeddedConstraint::computeQpOffDiagJacobian(), DGConvection::computeQpResidual(), CoupledTiedValueConstraint::computeQpResidual(), TiedValueConstraint::computeQpResidual(), LinearNodalConstraint::computeQpResidual(), DGDiffusion::computeQpResidual(), EqualValueBoundaryConstraint::computeQpResidual(), EqualValueEmbeddedConstraint::computeQpResidual(), FEProblemBase::computeUserObjects(), createQRules(), FEProblemBase::createQRules(), DumpObjectsProblem::deduceNecessaryParameters(), DumpObjectsProblem::dumpObjectHelper(), FEProblemBase::duplicateVariableCheck(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), FEProblemBase::execTransfers(), FEProblemBase::finishMultiAppStep(), ElementSubdomainIDGenerator::generate(), ElementGenerator::getElemType(), FEProblemBase::getMaterial(), FEProblemBase::getMaterialData(), FEProblemBase::getTransfers(), FEProblemBase::hasMultiApps(), AdvancedOutput::hasOutput(), FEProblemBase::incrementMultiAppTStep(), AdvancedOutput::initAvailableLists(), SolutionUserObject::initialSetup(), AdvancedOutput::initShowHideLists(), AssignElementSubdomainID::modify(), ControlOutput::output(), Gnuplot::output(), CSV::output(), Exodus::output(), Console::output(), Nemesis::output(), AdvancedOutput::output(), OversampleOutput::outputStep(), Output::outputStep(), FEProblemBase::outputStep(), FEProblemBase::restoreMultiApps(), FEProblemBase::setCoupling(), PerfGraphOutput::shouldOutput(), FileOutput::shouldOutput(), Output::shouldOutput(), AdvancedOutput::shouldOutput(), updateGeomSearch(), FEProblemBase::updateGeomSearch(), and AdvancedOutput::wantOutput().

50 { return _type; }
const std::string & _type
The type of this object (the Class name)
Definition: MooseObject.h:177

◆ undisplaceMesh()

void DisplacedProblem::undisplaceMesh ( )

Resets the displaced mesh to the reference mesh.

Required when refining the DisplacedMesh.

Definition at line 883 of file DisplacedProblem.C.

884 {
885  // If undisplaceMesh() is called during initial adaptivity, it is
886  // not valid to call _mesh.getActiveSemiLocalNodeRange() since it is
887  // not set up yet. So we are creating the Range by hand.
888  //
889  // We must undisplace *all* our nodes to the _ref_mesh
890  // configuration, not just the local ones, since the partitioners
891  // require this. We are using the GRAIN_SIZE=1 from MooseMesh.C,
892  // not sure how this value was decided upon.
893  //
894  // (DRG: The grainsize parameter is ultimately passed to TBB to help
895  // it choose how to split up the range. A grainsize of 1 says "split
896  // it as much as you want". Years ago I experimentally found that it
897  // didn't matter much and that using 1 was fine.)
898  //
899  // Note: we don't have to invalidate/update as much stuff as
900  // DisplacedProblem::updateMesh() does, since this will be handled
901  // by a later call to updateMesh().
902  NodeRange node_range(_mesh.getMesh().nodes_begin(),
903  _mesh.getMesh().nodes_end(),
904  /*grainsize=*/1);
905 
906  ResetDisplacedMeshThread rdmt(_mproblem, *this);
907 
908  // Undisplace the mesh using threads.
909  Threads::parallel_reduce(node_range, rdmt);
910 }
FEProblemBase & _mproblem
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object.
Definition: MooseMesh.C:2562

◆ updateGeomSearch()

void DisplacedProblem::updateGeomSearch ( GeometricSearchData::GeometricSearchType  type = GeometricSearchData::ALL)
overridevirtual

Implements SubProblem.

Definition at line 811 of file DisplacedProblem.C.

812 {
813  TIME_SECTION(_update_geometric_search_timer);
814 
816 }
GeometricSearchData _geometric_search_data
PerfID _update_geometric_search_timer
const std::string & type() const
Get the type of this object.
Definition: MooseObject.h:50
void update(GeometricSearchType type=ALL)
Update all of the search objects.

◆ updateMesh() [1/2]

void DisplacedProblem::updateMesh ( )
virtual

Copy the solutions on the undisplaced systems to the displaced systems and reinitialize the geometry search data and Dirac kernel information due to mesh displacement.

Definition at line 171 of file DisplacedProblem.C.

172 {
173  TIME_SECTION(_update_mesh_timer);
174 
175  syncSolutions();
176 
179 
180  // If the displaced mesh has been serialized to one processor (as
181  // may have occurred if it was used for Exodus output), then we need
182  // the reference mesh to be also. For that matter, did anyone
183  // somehow serialize the whole mesh? Hopefully not but let's avoid
184  // causing errors if so.
185  if (_mesh.getMesh().is_serial() && !this->refMesh().getMesh().is_serial())
186  this->refMesh().getMesh().allgather();
187 
188  if (_mesh.getMesh().is_serial_on_zero() && !this->refMesh().getMesh().is_serial_on_zero())
189  this->refMesh().getMesh().gather_to_zero();
190 
192 
193  // We displace all nodes, not just semilocal nodes, because
194  // parallel-inconsistent mesh geometry makes libMesh cry.
195  NodeRange node_range(_mesh.getMesh().nodes_begin(),
196  _mesh.getMesh().nodes_end(),
197  /*grainsize=*/1);
198 
199  Threads::parallel_reduce(node_range, udmt);
200 
201  // Update the geometric searches that depend on the displaced mesh
203 
204  // Since the Mesh changed, update the PointLocator object used by DiracKernels.
206 }
virtual const NumericVector< Number > *& currentSolution() override
The solution vector that is currently being operated on.
GeometricSearchData _geometric_search_data
NonlinearSystemBase & getNonlinearSystemBase()
FEProblemBase & _mproblem
virtual const NumericVector< Number > *& currentSolution() override
The solution vector that is currently being operated on.
virtual void syncSolutions()
Copy the solutions on the undisplaced systems to the displaced systems.
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object.
Definition: MooseMesh.C:2562
const NumericVector< Number > * _aux_solution
AuxiliarySystem & getAuxiliarySystem()
void update(GeometricSearchType type=ALL)
Update all of the search objects.
const NumericVector< Number > * _nl_solution
MooseMesh & refMesh()
DiracKernelInfo _dirac_kernel_info
Definition: SubProblem.h:589
void updatePointLocator(const MooseMesh &mesh)
Called during FEProblemBase::meshChanged() to update the PointLocator object used by the DiracKernels...

◆ updateMesh() [2/2]

void DisplacedProblem::updateMesh ( const NumericVector< Number > &  soln,
const NumericVector< Number > &  aux_soln 
)
virtual

Synchronize the solutions on the displaced systems to the given solutions and reinitialize the geometry search data and Dirac kernel information due to mesh displacement.

Definition at line 209 of file DisplacedProblem.C.

211 {
212  TIME_SECTION(_update_mesh_timer);
213 
214  syncSolutions(soln, aux_soln);
215 
216  _nl_solution = &soln;
217  _aux_solution = &aux_soln;
218 
220 
221  // We displace all nodes, not just semilocal nodes, because
222  // parallel-inconsistent mesh geometry makes libMesh cry.
223  NodeRange node_range(_mesh.getMesh().nodes_begin(),
224  _mesh.getMesh().nodes_end(),
225  /*grainsize=*/1);
226 
227  Threads::parallel_reduce(node_range, udmt);
228 
229  // Update the geometric searches that depend on the displaced mesh
231 
232  // Since the Mesh changed, update the PointLocator object used by DiracKernels.
234 }
GeometricSearchData _geometric_search_data
FEProblemBase & _mproblem
virtual void syncSolutions()
Copy the solutions on the undisplaced systems to the displaced systems.
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object.
Definition: MooseMesh.C:2562
const NumericVector< Number > * _aux_solution
void update(GeometricSearchType type=ALL)
Update all of the search objects.
const NumericVector< Number > * _nl_solution
DiracKernelInfo _dirac_kernel_info
Definition: SubProblem.h:589
void updatePointLocator(const MooseMesh &mesh)
Called during FEProblemBase::meshChanged() to update the PointLocator object used by the DiracKernels...

◆ vectorTagExists() [1/2]

bool DisplacedProblem::vectorTagExists ( TagID  tag)
overridevirtual

Check to see if a particular Tag exists.

Reimplemented from SubProblem.

Definition at line 255 of file DisplacedProblem.C.

256 {
257  return _mproblem.vectorTagExists(tag);
258 }
FEProblemBase & _mproblem
virtual bool vectorTagExists(TagID tag)
Check to see if a particular Tag exists.
Definition: SubProblem.h:107

◆ vectorTagExists() [2/2]

bool SubProblem::vectorTagExists ( const TagName &  tag_name)
inherited

Check to see if a particular Tag exists by using Tag name.

Definition at line 73 of file SubProblem.C.

74 {
75  auto tag_name_upper = MooseUtils::toUpper(tag_name);
76 
77  return _vector_tag_name_to_tag_id.find(tag_name_upper) != _vector_tag_name_to_tag_id.end();
78 }
std::map< TagName, TagID > _vector_tag_name_to_tag_id
The currently declared tags.
Definition: SubProblem.h:570
std::string toUpper(const std::string &name)
Convert supplied string to upper case.
Definition: MooseUtils.C:697

◆ vectorTagName()

TagName DisplacedProblem::vectorTagName ( TagID  tag)
overridevirtual

Retrieve the name associated with a TagID.

Reimplemented from SubProblem.

Definition at line 249 of file DisplacedProblem.C.

250 {
251  return _mproblem.vectorTagName(tag);
252 }
virtual TagName vectorTagName(TagID tag)
Retrieve the name associated with a TagID.
Definition: SubProblem.C:96
FEProblemBase & _mproblem

Friends And Related Function Documentation

◆ Restartable

friend class Restartable
friend

Definition at line 303 of file DisplacedProblem.h.

◆ UpdateDisplacedMeshThread

friend class UpdateDisplacedMeshThread
friend

Definition at line 302 of file DisplacedProblem.h.

Member Data Documentation

◆ _active_elemental_moose_variables

std::vector<std::set<MooseVariableFEBase *> > SubProblem::_active_elemental_moose_variables
protectedinherited

This is the set of MooseVariableFEBases that will actually get reinited by a call to reinit(elem)

Definition at line 615 of file SubProblem.h.

Referenced by SubProblem::clearActiveElementalMooseVariables(), FEProblemBase::FEProblemBase(), SubProblem::getActiveElementalMooseVariables(), SubProblem::setActiveElementalMooseVariables(), and SubProblem::SubProblem().

◆ _active_fe_var_coupleable_matrix_tags

std::vector<std::set<TagID> > SubProblem::_active_fe_var_coupleable_matrix_tags
protectedinherited

◆ _active_fe_var_coupleable_vector_tags

std::vector<std::set<TagID> > SubProblem::_active_fe_var_coupleable_vector_tags
protectedinherited

◆ _active_material_property_ids

std::vector<std::set<unsigned int> > SubProblem::_active_material_property_ids
protectedinherited

◆ _active_sc_var_coupleable_matrix_tags

std::vector<std::set<TagID> > SubProblem::_active_sc_var_coupleable_matrix_tags
protectedinherited

◆ _active_sc_var_coupleable_vector_tags

std::vector<std::set<TagID> > SubProblem::_active_sc_var_coupleable_vector_tags
protectedinherited

◆ _app

MooseApp& MooseObject::_app
protectedinherited

The MooseApp this object is associated with.

Definition at line 174 of file MooseObject.h.

Referenced by GridPartitioner::_do_partition(), AB2PredictorCorrector::AB2PredictorCorrector(), Executioner::addAttributeReporter(), FEProblemBase::addMaterialHelper(), FEProblemBase::addMultiApp(), FEProblemBase::addOutput(), FEProblemBase::allowOutput(), AStableDirk4::AStableDirk4(), AlgebraicRelationshipManager::attachAlgebraicFunctorHelper(), RelationshipManager::attachRelationshipManagers(), ElementSideNeighborLayers::attachRelationshipManagersInternal(), ElementPointNeighbors::attachRelationshipManagersInternal(), FileMesh::buildMesh(), MeshGeneratorMesh::buildMesh(), MooseMesh::buildMeshBaseObject(), FEProblemBase::checkNonlinearConvergence(), OversampleOutput::cloneMesh(), FEProblemBase::computeJacobianTags(), FEProblemBase::computeResidualTags(), Console::Console(), TimeStepper::constrainStep(), MultiApp::createApp(), DumpObjectsProblem::dumpObjectHelper(), DumpObjectsProblem::dumpVariableHelper(), EigenExecutionerBase::EigenExecutionerBase(), EigenKernel::EigenKernel(), NonlinearEigen::execute(), InversePowerMethod::execute(), Transient::execute(), Steady::execute(), FileOutput::FileOutput(), FEProblemBase::forceOutput(), MeshGenerator::getMesh(), MeshGenerator::getMeshByName(), MooseObject::getMooseApp(), InversePowerMethod::init(), NonlinearEigen::init(), Transient::init(), Steady::init(), MooseMesh::init(), NumPicardIterations::initialize(), TimePeriod::initialSetup(), Console::initialSetup(), MultiApp::initialSetup(), FEProblemBase::initialSetup(), AdvancedOutput::initOutputList(), FEProblemBase::initPetscOutput(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), InversePowerMethod::InversePowerMethod(), MooseObject::mooseError(), NonlinearEigen::NonlinearEigen(), EigenExecutionerBase::normalizeSolution(), PerfGraphOutput::output(), Tecplot::output(), Exodus::output(), Nemesis::output(), ControlOutput::outputActiveObjects(), ControlOutput::outputChangedControls(), ControlOutput::outputControls(), Exodus::outputEmptyTimestep(), Console::outputInput(), Exodus::outputInput(), Exodus::outputNodalVariables(), OversampleOutput::outputStep(), Output::outputStep(), FEProblemBase::outputStep(), Console::outputSystemInformation(), MultiApp::parentOutputPositionChanged(), PerformanceData::PerformanceData(), PetscOutput::petscLinearOutput(), PetscOutput::petscNonlinearOutput(), FEProblemBase::projectSolution(), FEProblemBase::setRestartFile(), TransientMultiApp::setupApp(), TimeSequenceStepperBase::setupSequence(), Transient::setupTimeIntegrator(), TransientMultiApp::solveStep(), FEProblemBase::subdomainSetup(), FEProblemBase::theWarehouse(), TimeExtremeValue::TimeExtremeValue(), TimePeriod::TimePeriod(), FEProblemBase::timestepSetup(), Transient::Transient(), and Console::write().

◆ _assembly

std::vector<std::unique_ptr<Assembly> > DisplacedProblem::_assembly
protected

◆ _aux_solution

const NumericVector<Number>* DisplacedProblem::_aux_solution
protected

Definition at line 289 of file DisplacedProblem.h.

Referenced by updateMesh().

◆ _cli_option_found

bool Problem::_cli_option_found
protectedinherited

True if the CLI option is found.

Definition at line 47 of file Problem.h.

Referenced by Problem::_setCLIOption().

◆ _color_output

bool Problem::_color_output
protectedinherited

True if we're going to attempt to write color output.

Definition at line 54 of file Problem.h.

◆ _computing_nonlinear_residual

bool SubProblem::_computing_nonlinear_residual
protectedinherited

Whether residual being evaulated is non-linear.

Definition at line 645 of file SubProblem.h.

Referenced by SubProblem::computingNonlinearResid().

◆ _console

const ConsoleStream ConsoleStreamInterface::_console
inherited

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

Definition at line 32 of file ConsoleStreamInterface.h.

Referenced by IterationAdaptiveDT::acceptStep(), SetupRecoverFileBaseAction::act(), Adaptivity::adaptMesh(), FEProblemBase::adaptMesh(), SimplePredictor::apply(), FEProblemBase::backupMultiApps(), FEProblemBase::checkProblemIntegrity(), IterationAdaptiveDT::computeAdaptiveDT(), Transient::computeConstrainedDT(), NonlinearSystemBase::computeDamping(), IterationAdaptiveDT::computeDT(), IterationAdaptiveDT::computeFailedDT(), IterationAdaptiveDT::computeInterpolationDT(), FEProblemBase::computeResidualTags(), IterationAdaptiveDT::constrainStep(), TimeStepper::constrainStep(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), MultiAppPostprocessorTransfer::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppInterpolationTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppMeshFunctionTransfer::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppProjectionTransfer::execute(), MultiAppVectorPostprocessorTransfer::execute(), MultiAppCopyTransfer::execute(), Steady::execute(), MultiAppDTKUserObjectTransfer::execute(), ActionWarehouse::executeActionsWithAction(), ActionWarehouse::executeAllActions(), FEProblemBase::FEProblemBase(), ElementQualityChecker::finalize(), FEProblemBase::finishMultiAppStep(), 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(), PerfGraphOutput::output(), DOFMapOutput::output(), VariableResidualNormsDebugOutput::output(), Console::output(), ControlOutput::outputActiveObjects(), ControlOutput::outputChangedControls(), ControlOutput::outputControls(), Console::outputInput(), Console::outputPostprocessors(), Console::outputScalarVariables(), Console::outputSystemInformation(), FEProblemBase::possiblyRebuildGeomSearchPatches(), EigenExecutionerBase::postExecute(), AB2PredictorCorrector::postSolve(), ActionWarehouse::printActionDependencySets(), EigenExecutionerBase::printEigenvalue(), MaterialPropertyDebugOutput::printMaterialMap(), SolutionTimeAdaptiveDT::rejectStep(), DT2::rejectStep(), FEProblemBase::restoreMultiApps(), SimplePredictor::shouldApply(), NonlinearSystem::solve(), PicardSolve::solve(), LStableDirk2::solve(), LStableDirk3::solve(), ImplicitMidpoint::solve(), ExplicitTVDRK2::solve(), LStableDirk4::solve(), AStableDirk4::solve(), ExplicitRK2::solve(), TransientMultiApp::solveStep(), PicardSolve::solveStep(), DT2::step(), AB2PredictorCorrector::step(), NonlinearEigen::takeStep(), Console::writeTimestepInformation(), Console::writeVariableNorms(), and FEProblemBase::~FEProblemBase().

◆ _coord_sys

std::map<SubdomainID, Moose::CoordinateSystemType> SubProblem::_coord_sys
protectedinherited

nonlocal coupling matrix;

Type of coordinate system per subdomain

Definition at line 587 of file SubProblem.h.

Referenced by FEProblemBase::checkCoordinateSystems(), FEProblemBase::getCoordSystem(), and FEProblemBase::setCoordSystem().

◆ _currently_computing_jacobian

bool SubProblem::_currently_computing_jacobian
protectedinherited

◆ _dirac_kernel_info

DiracKernelInfo SubProblem::_dirac_kernel_info
protectedinherited

◆ _displaced_aux

DisplacedSystem DisplacedProblem::_displaced_aux
protected

◆ _displaced_nl

DisplacedSystem DisplacedProblem::_displaced_nl
protected

◆ _displacements

std::vector<std::string> DisplacedProblem::_displacements
protected

◆ _enabled

const bool& MooseObject::_enabled
protectedinherited

Reference to the "enable" InputParaemters, used by Controls for toggling on/off MooseObjects.

Definition at line 183 of file MooseObject.h.

Referenced by MooseObject::enabled().

◆ _eq

EquationSystems DisplacedProblem::_eq
protected

Definition at line 280 of file DisplacedProblem.h.

Referenced by es(), init(), and meshChanged().

◆ _eq_init_timer

PerfID DisplacedProblem::_eq_init_timer
protected

Timers.

Definition at line 296 of file DisplacedProblem.h.

Referenced by init().

◆ _factory

Factory& SubProblem::_factory
protectedinherited

◆ _geometric_search_data

GeometricSearchData DisplacedProblem::_geometric_search_data
protected

Definition at line 293 of file DisplacedProblem.h.

Referenced by geomSearchData(), meshChanged(), updateGeomSearch(), and updateMesh().

◆ _ghosted_elems

std::set<dof_id_type> SubProblem::_ghosted_elems
protectedinherited

◆ _has_active_elemental_moose_variables

std::vector<unsigned int> SubProblem::_has_active_elemental_moose_variables
protectedinherited

Whether or not there is currently a list of active elemental moose variables.

Definition at line 619 of file SubProblem.h.

Referenced by SubProblem::clearActiveElementalMooseVariables(), SubProblem::hasActiveElementalMooseVariables(), SubProblem::setActiveElementalMooseVariables(), and SubProblem::SubProblem().

◆ _have_ad_objects

bool SubProblem::_have_ad_objects
protectedinherited

AD flag indicating whether any AD objects have been added.

Definition at line 654 of file SubProblem.h.

Referenced by SubProblem::haveADObjects(), and FEProblemBase::haveADObjects().

◆ _map_block_material_props

std::map<SubdomainID, std::set<std::string> > SubProblem::_map_block_material_props
protectedinherited

Map of material properties (block_id -> list of properties)

Definition at line 592 of file SubProblem.h.

Referenced by SubProblem::checkBlockMatProps(), SubProblem::getMaterialPropertyBlocks(), SubProblem::hasBlockMaterialProperty(), and SubProblem::storeSubdomainMatPropName().

◆ _map_block_material_props_check

std::map<SubdomainID, std::multimap<std::string, std::string> > SubProblem::_map_block_material_props_check
protectedinherited

Data structures of the requested material properties.

We store them in a map from boudnary/block id to multimap. Each of the multimaps is a list of requestor object names to material property names.

Definition at line 610 of file SubProblem.h.

Referenced by SubProblem::checkBlockMatProps(), and SubProblem::storeSubdomainDelayedCheckMatProp().

◆ _map_boundary_material_props

std::map<BoundaryID, std::set<std::string> > SubProblem::_map_boundary_material_props
protectedinherited

Map for boundary material properties (boundary_id -> list of properties)

Definition at line 595 of file SubProblem.h.

Referenced by SubProblem::checkBoundaryMatProps(), SubProblem::getMaterialPropertyBoundaryIDs(), SubProblem::hasBoundaryMaterialProperty(), and SubProblem::storeBoundaryMatPropName().

◆ _map_boundary_material_props_check

std::map<BoundaryID, std::multimap<std::string, std::string> > SubProblem::_map_boundary_material_props_check
protectedinherited

◆ _material_property_requested

std::set<std::string> SubProblem::_material_property_requested
protectedinherited

set containing all material property names that have been requested by getMaterialProperty*

Definition at line 602 of file SubProblem.h.

Referenced by SubProblem::isMatPropRequested(), and SubProblem::markMatPropRequested().

◆ _matrix_tag_id_to_tag_name

std::map<TagID, TagName> SubProblem::_matrix_tag_id_to_tag_name
protectedinherited

Reverse map.

Definition at line 579 of file SubProblem.h.

Referenced by SubProblem::addMatrixTag(), SubProblem::matrixTagExists(), and SubProblem::matrixTagName().

◆ _matrix_tag_name_to_tag_id

std::map<TagName, TagID> SubProblem::_matrix_tag_name_to_tag_id
protectedinherited

◆ _mesh

MooseMesh& DisplacedProblem::_mesh
protected

Definition at line 279 of file DisplacedProblem.h.

Referenced by init(), mesh(), meshChanged(), undisplaceMesh(), and updateMesh().

◆ _mproblem

FEProblemBase& DisplacedProblem::_mproblem
protected

◆ _name

const std::string& MooseObject::_name
protectedinherited

◆ _nl_solution

const NumericVector<Number>* DisplacedProblem::_nl_solution
protected

Definition at line 288 of file DisplacedProblem.h.

Referenced by updateMesh().

◆ _nonlocal_cm

CouplingMatrix SubProblem::_nonlocal_cm
protectedinherited

◆ _pars

const InputParameters& MooseObject::_pars
protectedinherited

◆ _perf_graph

PerfGraph& PerfGraphInterface::_perf_graph
protectedinherited

The performance graph to add to.

Definition at line 66 of file PerfGraphInterface.h.

Referenced by PerfGraphData::getValue(), and PerfGraphInterface::registerTimedSection().

◆ _pg_params

const InputParameters* PerfGraphInterface::_pg_params
protectedinherited

Params.

Definition at line 63 of file PerfGraphInterface.h.

◆ _prefix

std::string PerfGraphInterface::_prefix
protectedinherited

A prefix to use for all sections.

Definition at line 69 of file PerfGraphInterface.h.

Referenced by PerfGraphInterface::registerTimedSection().

◆ _ref_mesh

MooseMesh& DisplacedProblem::_ref_mesh
protected

reference mesh

Definition at line 282 of file DisplacedProblem.h.

Referenced by refMesh().

◆ _requires_nonlocal_coupling

bool SubProblem::_requires_nonlocal_coupling
protectedinherited

◆ _rz_coord_axis

unsigned int SubProblem::_rz_coord_axis
protectedinherited

Storage for RZ axis selection.

Definition at line 639 of file SubProblem.h.

Referenced by SubProblem::getAxisymmetricRadialCoord(), and FEProblemBase::setAxisymmetricCoordAxis().

◆ _safe_access_tagged_matrices

bool SubProblem::_safe_access_tagged_matrices
protectedinherited

Is it safe to retrieve data from tagged matrices.

Definition at line 648 of file SubProblem.h.

Referenced by FEProblemBase::computeJacobianTags(), and SubProblem::safeAccessTaggedMatrices().

◆ _safe_access_tagged_vectors

bool SubProblem::_safe_access_tagged_vectors
protectedinherited

Is it safe to retrieve data from tagged vectors.

Definition at line 651 of file SubProblem.h.

Referenced by FEProblemBase::computeResidualTags(), and SubProblem::safeAccessTaggedVectors().

◆ _sync_solutions_timer

PerfID DisplacedProblem::_sync_solutions_timer
protected

Definition at line 298 of file DisplacedProblem.h.

Referenced by syncSolutions().

◆ _termination_requested

bool Problem::_termination_requested
protectedinherited

True if termination of the solve has been requested.

Definition at line 57 of file Problem.h.

Referenced by Problem::isSolveTerminationRequested(), and Problem::terminateSolve().

◆ _type

const std::string& MooseObject::_type
protectedinherited

The type of this object (the Class name)

Definition at line 177 of file MooseObject.h.

Referenced by FEProblemBase::init(), and MooseObject::type().

◆ _update_geometric_search_timer

PerfID DisplacedProblem::_update_geometric_search_timer
protected

Definition at line 299 of file DisplacedProblem.h.

Referenced by updateGeomSearch().

◆ _update_mesh_timer

PerfID DisplacedProblem::_update_mesh_timer
protected

Definition at line 297 of file DisplacedProblem.h.

Referenced by updateMesh().

◆ _var_dof_map

std::map<std::string, std::vector<dof_id_type> > SubProblem::_var_dof_map
inherited

◆ _vector_tag_id_to_tag_name

std::map<TagID, TagName> SubProblem::_vector_tag_id_to_tag_name
protectedinherited

Reverse map.

Definition at line 573 of file SubProblem.h.

Referenced by SubProblem::addVectorTag(), and SubProblem::vectorTagName().

◆ _vector_tag_name_to_tag_id

std::map<TagName, TagID> SubProblem::_vector_tag_name_to_tag_id
protectedinherited

◆ _zero_block_material_props

std::map<SubdomainID, std::set<MaterialPropertyName> > SubProblem::_zero_block_material_props
protectedinherited

Set of properties returned as zero properties.

Definition at line 598 of file SubProblem.h.

Referenced by SubProblem::checkBlockMatProps(), FEProblemBase::checkDependMaterialsHelper(), and SubProblem::storeSubdomainZeroMatProp().

◆ _zero_boundary_material_props

std::map<BoundaryID, std::set<MaterialPropertyName> > SubProblem::_zero_boundary_material_props
protectedinherited

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