www.mooseframework.org
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions | Friends | List of all members
MultiAppProjectionTransfer Class Reference

Project values from one domain to another. More...

#include <MultiAppProjectionTransfer.h>

Inheritance diagram for MultiAppProjectionTransfer:
[legend]

Public Types

enum  DIRECTION { TO_MULTIAPP, FROM_MULTIAPP, BETWEEN_MULTIAPP }
 

Public Member Functions

 MultiAppProjectionTransfer (const InputParameters &parameters)
 
virtual void initialSetup () override
 Method called at the beginning of the simulation for checking integrity or doing one-time setup. More...
 
virtual void execute () override
 Execute the transfer. More...
 
virtual void postExecute ()
 Add some extra work if necessary after execute(). More...
 
void variableIntegrityCheck (const AuxVariableName &var_name) const
 Utility to verify that the variable in the destination system exists. More...
 
const std::shared_ptr< MultiAppgetMultiApp () const
 Use this getter to obtain the MultiApp for transfers with a single direction. More...
 
const std::shared_ptr< MultiAppgetFromMultiApp () const
 Get the MultiApp to transfer data from. More...
 
const std::shared_ptr< MultiAppgetToMultiApp () const
 Get the MultiApp to transfer data to. More...
 
std::string getFromName () const
 Get the name of thing being transferred from. More...
 
std::string getToName () const
 Get the name of thing being transferred to. More...
 
bool hasFromMultiApp () const
 Whether the transfer owns a non-null from_multi_app. More...
 
bool hasToMultiApp () const
 Whether the transfer owns a non-null to_multi_app. More...
 
virtual void getAppInfo ()
 This method will fill information into the convenience member variables (_to_problems, _from_meshes, etc.) More...
 
const MultiMooseEnumdirections ()
 The directions this Transfer should be executed on. More...
 
void setCurrentDirection (const int direction)
 Set this Transfer to be executed in a given direction. More...
 
virtual bool enabled () const
 Return the enabled status of the object. More...
 
MooseAppgetMooseApp () const
 Get the MooseApp this class is associated with. More...
 
const std::string & type () const
 Get the type of this class. More...
 
virtual const std::string & name () const
 Get the name of the class. More...
 
std::string typeAndName () const
 Get the class's combined type and name; useful in error handling. More...
 
MooseObjectParameterName uniqueParameterName (const std::string &parameter_name) const
 The unique parameter name of a valid parameter of this object for accessing parameter controls. More...
 
const InputParametersparameters () const
 Get the parameters of the object. More...
 
MooseObjectName uniqueName () const
 The unique name for accessing input parameters of this object in the InputParameterWarehouse. More...
 
template<typename T >
const T & getParam (const std::string &name) const
 Retrieve a parameter for the object. More...
 
template<typename T1 , typename T2 >
std::vector< std::pair< T1, T2 > > getParam (const std::string &param1, const std::string &param2) const
 Retrieve two parameters and provide pair of parameters for the object. More...
 
template<typename T >
const T & getRenamedParam (const std::string &old_name, const std::string &new_name) const
 Retrieve a renamed 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...
 
bool isParamSetByUser (const std::string &nm) const
 Test if the supplied parameter is set by a user, as opposed to not set or set to default. More...
 
template<typename... Args>
void paramError (const std::string &param, Args... args) const
 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) const
 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) const
 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...
 
std::string objectErrorPrefix (const std::string &error_type) const
 A descriptive prefix for errors for an object. More...
 
void connectControllableParams (const std::string &parameter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const
 Connect controllable parameter of this action with the controllable parameters of the objects added by this action. More...
 
template<typename... Args>
void mooseError (Args &&... args) const
 Emits an error prefixed with object name and type. More...
 
template<typename... Args>
void mooseErrorNonPrefixed (Args &&... args) const
 Emits an error without the prefixing included in mooseError(). More...
 
template<typename... Args>
void mooseWarning (Args &&... args) const
 Emits a warning prefixed with object name and type. More...
 
template<typename... Args>
void mooseWarningNonPrefixed (Args &&... args) const
 Emits a warning without the prefixing included in mooseWarning(). More...
 
template<typename... Args>
void mooseDeprecated (Args &&... args) const
 
template<typename... Args>
void mooseInfo (Args &&... args) const
 
std::string errorPrefix (const std::string &error_type) const
 A descriptive prefix for errors for this object: More...
 
const Parallel::Communicator & comm () const
 
processor_id_type n_processors () const
 
processor_id_type processor_id () const
 
std::string getDataFileName (const std::string &param) const
 Returns the path of a data file for a given FileName type parameter, searching (in the following order) More...
 
std::string getDataFileNameByName (const std::string &name, const std::string *param=nullptr) const
 Returns the path of a data file for a given relative file path. More...
 
virtual void timestepSetup ()
 Gets called at the beginning of the timestep before this object is asked to do its job. More...
 
virtual void jacobianSetup ()
 Gets called just before the Jacobian is computed and before this object is asked to do its job. More...
 
virtual void residualSetup ()
 Gets called just before the residual is computed and before this object is asked to do its job. More...
 
virtual void subdomainSetup ()
 Gets called when the subdomain changes (i.e. More...
 
virtual void customSetup (const ExecFlagType &)
 Gets called in FEProblemBase::execute() for execute flags other than initial, timestep_begin, nonlinear, linear and subdomain. More...
 
const ExecFlagEnumgetExecuteOnEnum () const
 Return the execute on MultiMooseEnum for this object. More...
 
PerfGraphperfGraph ()
 Get the PerfGraph. More...
 
MooseEnum direction ()
 
MooseEnum currentDirection ()
 

Static Public Member Functions

static InputParameters validParams ()
 
static void addSkipCoordCollapsingParam (InputParameters &params)
 Add the option to skip coordinate collapsing in coordinate transformation operations. More...
 
static System * find_sys (EquationSystems &es, const std::string &var_name)
 Small helper function for finding the system containing the variable. More...
 
static std::string possibleDirections ()
 Used to construct InputParameters. More...
 

Public Attributes

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

Static Public Attributes

static const Number OutOfMeshValue = -999999
 

Protected Member Functions

void toMultiApp ()
 
void fromMultiApp ()
 
void assembleL2 (EquationSystems &es, const std::string &system_name)
 
void projectSolution (unsigned int to_problem)
 
virtual std::vector< VariableName > getFromVarNames () const override
 Virtual function defining variables to be transferred. More...
 
virtual std::vector< AuxVariableName > getToVarNames () const override
 Virtual function defining variables to transfer to. More...
 
bool performAdjustment (const PostprocessorValue &from, const PostprocessorValue &to) const
 
EquationSystems & getEquationSystem (FEProblemBase &problem, bool use_displaced) const
 Returns the Problem's equation system, displaced or not Be careful! If you transfer TO a displaced system you will likely need a synchronization So most transfers reach the non-displaced system directly. More...
 
std::vector< unsigned intgetFromsPerProc ()
 Return the number of "from" domains that each processor owns. More...
 
NumericVector< Real > & getTransferVector (unsigned int i_local, std::string var_name)
 If we are transferring to a multiapp, return the appropriate solution vector. More...
 
unsigned int getGlobalSourceAppIndex (unsigned int i_from) const
 Return the global app index from the local index in the "from-multiapp" transfer direction. More...
 
unsigned int getGlobalTargetAppIndex (unsigned int i_to) const
 Return the global app index from the local index in the "to-multiapp" transfer direction. More...
 
unsigned int getLocalSourceAppIndex (unsigned int i_from) const
 Return the local app index from the global index in the "from-multiapp" transfer direction We use the fact that global app indexes are consecutive on a given rank. More...
 
virtual void checkSiblingsTransferSupported () const
 Whether the transfer supports siblings transfer. More...
 
Point getPointInTargetAppFrame (const Point &p, unsigned int local_i_to, const std::string &phase) const
 Get the target app point from a point in the reference frame. More...
 
void checkMultiAppExecuteOn ()
 Helper method for checking the 'check_multiapp_execute_on' flag. More...
 
void checkVariable (const FEProblemBase &fe_problem, const VariableName &var_name, const std::string &param_name="") const
 Helper for checking a problem for a variable. More...
 
void extendBoundingBoxes (const Real factor, std::vector< BoundingBox > &bboxes) const
 Extends bounding boxes to avoid missing points. More...
 
template<typename T , typename... Args>
T & declareRestartableData (const std::string &data_name, Args &&... args)
 Declare a piece of data as "restartable" and initialize it. More...
 
template<typename T , typename... Args>
ManagedValue< T > declareManagedRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 Declares a piece of "managed" restartable data and initialize it. More...
 
template<typename T , typename... Args>
const T & getRestartableData (const std::string &data_name) const
 Declare a piece of data as "restartable" and initialize it Similar to declareRestartableData but returns a const reference to the object. More...
 
template<typename T , typename... Args>
T & declareRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 Declare a piece of data as "restartable" and initialize it. More...
 
template<typename T , typename... Args>
T & declareRecoverableData (const std::string &data_name, Args &&... args)
 Declare a piece of data as "recoverable" and initialize it. More...
 
template<typename T , typename... Args>
T & declareRestartableDataWithObjectName (const std::string &data_name, const std::string &object_name, Args &&... args)
 Declare a piece of data as "restartable". More...
 
template<typename T , typename... Args>
T & declareRestartableDataWithObjectNameWithContext (const std::string &data_name, const std::string &object_name, void *context, Args &&... args)
 Declare a piece of data as "restartable". More...
 
std::string restartableName (const std::string &data_name) const
 Gets the name of a piece of restartable data given a data name, adding the system name and object name prefix. More...
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level) const
 Call to register a named section for timing. More...
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level, const std::string &live_message, const bool print_dots=true) const
 Call to register a named section for timing. More...
 
std::string timedSectionName (const std::string &section_name) const
 
std::vector< BoundingBox > getFromBoundingBoxes ()
 Return the bounding boxes of all the "from" domains, including all the domains not local to this processor. More...
 
std::vector< BoundingBox > getFromBoundingBoxes (BoundaryID boundary_id)
 

Static Protected Member Functions

static void addBBoxFactorParam (InputParameters &params)
 Add the bounding box factor parameter to the supplied input parameters. More...
 
static void transformBoundingBox (BoundingBox &box, const MultiAppCoordTransform &transform)
 Transform a bounding box according to the transformations in the provided coordinate transformation object. More...
 

Protected Attributes

MooseEnum _proj_type
 
bool _compute_matrix
 True, if we need to recompute the projection matrix. More...
 
std::vector< LinearImplicitSystem * > _proj_sys
 
unsigned int _proj_var_num
 Having one projection variable number seems weird, but there is always one variable in every system being used for projection, thus is always going to be 0 unless something changes in libMesh or we change the way we project variables. More...
 
bool _fixed_meshes
 
bool _qps_cached
 
std::map< processor_id_type, std::vector< Point > > _cached_qps
 
std::map< processor_id_type, std::map< std::pair< unsigned int, unsigned int >, unsigned int > > _cached_index_map
 
const std::vector< VariableName > _from_var_names
 Name of variables transferring from. More...
 
const std::vector< AuxVariableName > _to_var_names
 Name of variables transferring to. More...
 
VariableName _from_var_name
 This values are used if a derived class only supports one variable. More...
 
AuxVariableName _to_var_name
 
bool _preserve_transfer
 If this transfer is going to conserve the physics. More...
 
std::vector< PostprocessorName > _from_postprocessors_to_be_preserved
 Postprocessor evaluates an adjuster for the source physics. More...
 
std::vector< PostprocessorName > _to_postprocessors_to_be_preserved
 Postprocessor evaluates an adjuster for the target physics. More...
 
std::shared_ptr< MultiApp_multi_app
 Deprecated class attribute for compatibility with the apps. More...
 
std::vector< FEProblemBase * > _to_problems
 
std::vector< FEProblemBase * > _from_problems
 
std::vector< EquationSystems * > _to_es
 
std::vector< EquationSystems * > _from_es
 
std::vector< MooseMesh * > _to_meshes
 
std::vector< MooseMesh * > _from_meshes
 
std::vector< Point > _to_positions
 
std::vector< Point > _from_positions
 
std::vector< std::unique_ptr< MultiAppCoordTransform > > _to_transforms
 
std::vector< std::unique_ptr< MultiAppCoordTransform > > _from_transforms
 
const bool _skip_coordinate_collapsing
 Whether to skip coordinate collapsing (transformations of coordinates between applications using different frames of reference) More...
 
bool _displaced_source_mesh
 True if displaced mesh is used for the source mesh, otherwise false. More...
 
bool _displaced_target_mesh
 True if displaced mesh is used for the target mesh, otherwise false. More...
 
Real _bbox_factor
 Extend (or contract) bounding box by a factor in all directions Greater than one values of this member may be necessary because the nearest bounding box does not necessarily give you the closest node/element. More...
 
std::vector< unsigned int_to_local2global_map
 Given local app index, returns global app index. More...
 
std::vector< unsigned int_from_local2global_map
 Given local app index, returns global app index. More...
 
SubProblem_subproblem
 
FEProblemBase_fe_problem
 
SystemBase_sys
 
THREAD_ID _tid
 
MultiMooseEnum _directions
 The directions this Transfer is to be executed on. More...
 
const bool & _enabled
 Reference to the "enable" InputParameters, used by Controls for toggling on/off MooseObjects. More...
 
MooseApp_app
 The MOOSE application this is associated with. More...
 
const std::string & _type
 The type of this class. More...
 
const std::string & _name
 The name of this class, reference to value stored in InputParameters. More...
 
const InputParameters_pars
 Parameters of this object, references the InputParameters stored in the InputParametersWarehouse. More...
 
Factory_factory
 The Factory associated with the MooseApp. More...
 
ActionFactory_action_factory
 Builds Actions. More...
 
const Parallel::Communicator & _communicator
 
const ExecFlagEnum_execute_enum
 Execute settings for this object. More...
 
const ExecFlagType_current_execute_flag
 Reference to FEProblemBase. More...
 
MooseApp_restartable_app
 Reference to the application. More...
 
const std::string _restartable_system_name
 The system name this object is in. More...
 
const THREAD_ID _restartable_tid
 The thread ID for this object. More...
 
const bool _restartable_read_only
 Flag for toggling read only status (see ReporterData) More...
 
MooseApp_pg_moose_app
 The MooseApp that owns the PerfGraph. More...
 
const std::string _prefix
 A prefix to use for all sections. More...
 
MooseEnum _direction
 
MooseEnum _current_direction
 

Private Member Functions

bool usesMooseAppCoordTransform () const override
 Whether this transfer handles non-translation-based transformations, e.g. More...
 

Friends

void assemble_l2 (EquationSystems &es, const std::string &system_name)
 

Detailed Description

Project values from one domain to another.

Definition at line 23 of file MultiAppProjectionTransfer.h.

Member Enumeration Documentation

◆ DIRECTION

enum Transfer::DIRECTION
inherited
Enumerator
TO_MULTIAPP 
FROM_MULTIAPP 
BETWEEN_MULTIAPP 

Definition at line 68 of file Transfer.h.

Constructor & Destructor Documentation

◆ MultiAppProjectionTransfer()

MultiAppProjectionTransfer::MultiAppProjectionTransfer ( const InputParameters parameters)

Definition at line 68 of file MultiAppProjectionTransfer.C.

70  _proj_type(getParam<MooseEnum>("proj_type")),
71  _compute_matrix(true),
72  _fixed_meshes(getParam<bool>("fixed_meshes")),
73  _qps_cached(false)
74 {
75  if (_to_var_names.size() != 1)
76  paramError("variable", " Support single to-variable only ");
77 
78  if (_from_var_names.size() != 1)
79  paramError("source_variable", " Support single from-variable only ");
80 }
const std::vector< VariableName > _from_var_names
Name of variables transferring from.
MultiAppConservativeTransfer(const InputParameters &parameters)
bool _compute_matrix
True, if we need to recompute the projection matrix.
const std::vector< AuxVariableName > _to_var_names
Name of variables transferring to.
void paramError(const std::string &param, Args... args) const
Emits an error prefixed with the file and line number of the given param (from the input file) along ...
const InputParameters & parameters() const
Get the parameters of the object.

Member Function Documentation

◆ addBBoxFactorParam()

void MultiAppTransfer::addBBoxFactorParam ( InputParameters params)
staticprotectedinherited

Add the bounding box factor parameter to the supplied input parameters.

Definition at line 54 of file MultiAppTransfer.C.

Referenced by MultiAppShapeEvaluationTransfer::validParams(), validParams(), and MultiAppNearestNodeTransfer::validParams().

55 {
56  params.addRangeCheckedParam<Real>(
57  "bbox_factor",
58  1 + TOLERANCE,
59  "bbox_factor>0",
60  "Multiply bounding box width (in all directions) by the prescribed factor. Values less than "
61  "1 will shrink the bounding box; values greater than 1 will enlarge the bounding box. It is "
62  "generally not advised to ever shrink the bounding box. On the other hand it may be helpful "
63  "to enlarge the bounding box. Larger bounding boxes will lead to more accurate determination "
64  "of the closest node/element with the tradeoff of more communication.");
65 }
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void addRangeCheckedParam(const std::string &name, const T &value, const std::string &parsed_function, const std::string &doc_string)

◆ addSkipCoordCollapsingParam()

void MultiAppTransfer::addSkipCoordCollapsingParam ( InputParameters params)
staticinherited

Add the option to skip coordinate collapsing in coordinate transformation operations.

Definition at line 68 of file MultiAppTransfer.C.

Referenced by MultiAppTransfer::validParams().

69 {
70  params.addParam<bool>(
71  "skip_coordinate_collapsing",
72  true,
73  "Whether to skip coordinate collapsing (translation and rotation are still performed, only "
74  "XYZ, RZ etc collapsing is skipped) when performing mapping and inverse "
75  "mapping coordinate transformation operations. This parameter should only "
76  "be set by users who really know what they're doing.");
77  params.addParamNamesToGroup("skip_coordinate_collapsing", "Advanced");
78 }
void addParam(const std::string &name, const S &value, const std::string &doc_string)
These methods add an option parameter and a documentation string to the InputParameters object...
void addParamNamesToGroup(const std::string &space_delim_names, const std::string group_name)
This method takes a space delimited list of parameter names and adds them to the specified group name...

◆ assembleL2()

void MultiAppProjectionTransfer::assembleL2 ( EquationSystems &  es,
const std::string &  system_name 
)
protected

Definition at line 128 of file MultiAppProjectionTransfer.C.

Referenced by assemble_l2().

129 {
130  // Get the system and mesh from the input arguments.
131  LinearImplicitSystem & system = es.get_system<LinearImplicitSystem>(system_name);
132  MeshBase & to_mesh = es.get_mesh();
133 
134  // Get the meshfunction evaluations and the map that was stashed in the es.
135  std::vector<Real> & final_evals = *es.parameters.get<std::vector<Real> *>("final_evals");
136  std::map<dof_id_type, unsigned int> & element_map =
137  *es.parameters.get<std::map<dof_id_type, unsigned int> *>("element_map");
138 
139  // Setup system vectors and matrices.
140  FEType fe_type = system.variable_type(0);
141  std::unique_ptr<FEBase> fe(FEBase::build(to_mesh.mesh_dimension(), fe_type));
142  QGauss qrule(to_mesh.mesh_dimension(), fe_type.default_quadrature_order());
143  fe->attach_quadrature_rule(&qrule);
144  const DofMap & dof_map = system.get_dof_map();
147  std::vector<dof_id_type> dof_indices;
148  const std::vector<Real> & JxW = fe->get_JxW();
149  const std::vector<std::vector<Real>> & phi = fe->get_phi();
150  auto & system_matrix = system.get_system_matrix();
151 
152  for (const auto & elem : to_mesh.active_local_element_ptr_range())
153  {
154  fe->reinit(elem);
155 
156  dof_map.dof_indices(elem, dof_indices);
157  Ke.resize(dof_indices.size(), dof_indices.size());
158  Fe.resize(dof_indices.size());
159 
160  for (unsigned int qp = 0; qp < qrule.n_points(); qp++)
161  {
162  Real meshfun_eval = 0.;
163  if (element_map.find(elem->id()) != element_map.end())
164  {
165  // We have evaluations for this element.
166  meshfun_eval = final_evals[element_map[elem->id()] + qp];
167  }
168 
169  // Now compute the element matrix and RHS contributions.
170  for (unsigned int i = 0; i < phi.size(); i++)
171  {
172  // RHS
173  Fe(i) += JxW[qp] * (meshfun_eval * phi[i][qp]);
174 
175  if (_compute_matrix)
176  for (unsigned int j = 0; j < phi.size(); j++)
177  {
178  // The matrix contribution
179  Ke(i, j) += JxW[qp] * (phi[i][qp] * phi[j][qp]);
180  }
181  }
182  dof_map.constrain_element_matrix_and_vector(Ke, Fe, dof_indices);
183 
184  if (_compute_matrix)
185  system_matrix.add_matrix(Ke, dof_indices);
186  system.rhs->add_vector(Fe, dof_indices);
187  }
188  }
189 }
void resize(const unsigned int n)
bool _compute_matrix
True, if we need to recompute the projection matrix.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void resize(const unsigned int new_m, const unsigned int new_n)

◆ checkMultiAppExecuteOn()

void MultiAppTransfer::checkMultiAppExecuteOn ( )
protectedinherited

Helper method for checking the 'check_multiapp_execute_on' flag.

This method was added to allow the check to be delayed by child classes, see StochasticToolsTransfer for an example.

Definition at line 158 of file MultiAppTransfer.C.

Referenced by MultiAppTransfer::MultiAppTransfer().

159 {
161  if (getExecuteOnEnum() != _from_multi_app->getExecuteOnEnum())
162  mooseDoOnce(
163  mooseWarning("MultiAppTransfer execute_on flags do not match associated from_multi_app "
164  "execute_on flags"));
165 
167  if (getExecuteOnEnum() != _to_multi_app->getExecuteOnEnum())
168  mooseDoOnce(
169  mooseWarning("MultiAppTransfer execute_on flags do not match associated to_multi_app "
170  "execute_on flags"));
171 
172  // In the case of siblings transfer, the check will be looser
174  if (getExecuteOnEnum() != _from_multi_app->getExecuteOnEnum() &&
175  getExecuteOnEnum() != _to_multi_app->getExecuteOnEnum())
176  mooseDoOnce(
177  mooseWarning("MultiAppTransfer execute_on flags do not match associated to_multi_app "
178  "and from_multi_app execute_on flags"));
179 }
std::shared_ptr< MultiApp > _from_multi_app
The MultiApps this Transfer is transferring data to or from.
void mooseWarning(Args &&... args) const
Emits a warning prefixed with object name and type.
const ExecFlagEnum & getExecuteOnEnum() const
Return the execute on MultiMooseEnum for this object.
std::shared_ptr< MultiApp > _to_multi_app

◆ checkSiblingsTransferSupported()

virtual void MultiAppTransfer::checkSiblingsTransferSupported ( ) const
inlineprotectedvirtualinherited

Whether the transfer supports siblings transfer.

Reimplemented in MultiAppGeneralFieldTransfer, MultiAppCopyTransfer, MultiAppReporterTransfer, MultiAppPostprocessorTransfer, MultiAppPostprocessorToAuxScalarTransfer, and MultiAppScalarToAuxScalarTransfer.

Definition at line 209 of file MultiAppTransfer.h.

Referenced by MultiAppTransfer::initialSetup().

210  {
211  mooseError("Siblings transfer not supported. You cannot transfer both from a multiapp to "
212  "another multiapp");
213  }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ checkVariable()

void MultiAppTransfer::checkVariable ( const FEProblemBase fe_problem,
const VariableName &  var_name,
const std::string &  param_name = "" 
) const
protectedinherited

Helper for checking a problem for a variable.

Parameters
fe_problemThe problem that should contain the variable
var_nameThe name of the variable that should exist within the problem
param_name(optional) The input file parameter name for throwing paramError, if not provided a mooseError is thrown.

Definition at line 597 of file MultiAppTransfer.C.

Referenced by MultiAppDofCopyTransfer::transfer().

600 {
601  if (!fe_problem.hasVariable(var_name))
602  {
603  if (param_name.empty())
604  mooseError("The variable '", var_name, "' does not exist.");
605  else
606  paramError(param_name, "The variable '", var_name, "' does not exist.");
607  }
608 }
virtual bool hasVariable(const std::string &var_name) const override
Whether or not this problem has the variable.
void paramError(const std::string &param, Args... args) const
Emits an error prefixed with the file and line number of the given param (from the input file) along ...
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ connectControllableParams()

void MooseBaseParameterInterface::connectControllableParams ( const std::string &  parameter,
const std::string &  object_type,
const std::string &  object_name,
const std::string &  object_parameter 
) const
inherited

Connect controllable parameter of this action with the controllable parameters of the objects added by this action.

Parameters
parameterName of the controllable parameter of this action
object_typeType of the object added by this action.
object_nameName of the object added by this action.
object_parameterName of the parameter of the object.

Definition at line 34 of file MooseBaseParameterInterface.C.

38 {
39  MooseObjectParameterName primary_name(uniqueName(), parameter);
40  const auto base_type = _factory.getValidParams(object_type).get<std::string>("_moose_base");
41  MooseObjectParameterName secondary_name(base_type, object_name, object_parameter);
43  primary_name, secondary_name);
44 
45  const auto & tags = _pars.get<std::vector<std::string>>("control_tags");
46  for (const auto & tag : tags)
47  {
48  if (!tag.empty())
49  {
50  MooseObjectParameterName tagged_name(tag, _moose_base->name(), parameter);
52  tagged_name, secondary_name);
53  }
54  }
55 }
void addControllableParameterConnection(const MooseObjectParameterName &primary, const MooseObjectParameterName &secondary, bool error_on_empty=true)
Method for linking control parameters of different names.
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
InputParameterWarehouse & getInputParameterWarehouse()
Get the InputParameterWarehouse for MooseObjects.
Definition: MooseApp.C:2224
InputParameters getValidParams(const std::string &name) const
Get valid parameters for the object.
Definition: Factory.C:67
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
MooseApp & getMooseApp() const
Get the MooseApp this class is associated with.
Definition: MooseBase.h:44
Factory & _factory
The Factory associated with the MooseApp.
MooseObjectName uniqueName() const
The unique name for accessing input parameters of this object in the InputParameterWarehouse.
const MooseBase *const _moose_base
The MooseBase object that inherits this class.
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
A class for storing an input parameter name.

◆ currentDirection()

MooseEnum Transfer::currentDirection ( )
inlineinherited

Definition at line 85 of file Transfer.h.

85 { return _current_direction; }
MooseEnum _current_direction
Definition: Transfer.h:106

◆ customSetup()

virtual void SetupInterface::customSetup ( const ExecFlagType )
inlinevirtualinherited

Gets called in FEProblemBase::execute() for execute flags other than initial, timestep_begin, nonlinear, linear and subdomain.

Reimplemented in Function.

Definition at line 61 of file SetupInterface.h.

61 {}

◆ declareManagedRestartableDataWithContext()

template<typename T , typename... Args>
Restartable::ManagedValue< T > Restartable::declareManagedRestartableDataWithContext ( const std::string &  data_name,
void context,
Args &&...  args 
)
protectedinherited

Declares a piece of "managed" restartable data and initialize it.

Here, "managed" restartable data means that the caller can destruct this data upon destruction of the return value of this method. Therefore, this ManagedValue<T> wrapper should survive after the final calls to dataStore() for it. That is... at the very end.

This is needed for objects whose destruction ordering is important, and enables natural c++ destruction in reverse construction order of the object that declares it.

See delcareRestartableData and declareRestartableDataWithContext for more information.

Definition at line 276 of file Restartable.h.

279 {
280  auto & data_ptr =
281  declareRestartableDataHelper<T>(data_name, context, std::forward<Args>(args)...);
282  return Restartable::ManagedValue<T>(data_ptr);
283 }
Wrapper class for restartable data that is "managed.
Definition: Restartable.h:42

◆ declareRecoverableData()

template<typename T , typename... Args>
T & Restartable::declareRecoverableData ( const std::string &  data_name,
Args &&...  args 
)
protectedinherited

Declare a piece of data as "recoverable" and initialize it.

This means that in the event of a restart this piece of data will be restored back to its previous value.

Note - this data will NOT be restored on Restart!

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
argsArguments to forward to the constructor of the data

Definition at line 351 of file Restartable.h.

352 {
353  const auto full_name = restartableName(data_name);
354 
356 
357  return declareRestartableDataWithContext<T>(data_name, nullptr, std::forward<Args>(args)...);
358 }
std::string restartableName(const std::string &data_name) const
Gets the name of a piece of restartable data given a data name, adding the system name and object nam...
Definition: Restartable.C:66
void registerRestartableNameWithFilterOnApp(const std::string &name, Moose::RESTARTABLE_FILTER filter)
Helper function for actually registering the restartable data.
Definition: Restartable.C:59

◆ declareRestartableData()

template<typename T , typename... Args>
T & Restartable::declareRestartableData ( const std::string &  data_name,
Args &&...  args 
)
protectedinherited

Declare a piece of data as "restartable" and initialize it.

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
argsArguments to forward to the constructor of the data

Definition at line 269 of file Restartable.h.

270 {
271  return declareRestartableDataWithContext<T>(data_name, nullptr, std::forward<Args>(args)...);
272 }

◆ declareRestartableDataWithContext()

template<typename T , typename... Args>
T & Restartable::declareRestartableDataWithContext ( const std::string &  data_name,
void context,
Args &&...  args 
)
protectedinherited

Declare a piece of data as "restartable" and initialize it.

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
contextContext pointer that will be passed to the load and store functions
argsArguments to forward to the constructor of the data

Definition at line 294 of file Restartable.h.

297 {
298  return declareRestartableDataHelper<T>(data_name, context, std::forward<Args>(args)...).set();
299 }

◆ declareRestartableDataWithObjectName()

template<typename T , typename... Args>
T & Restartable::declareRestartableDataWithObjectName ( const std::string &  data_name,
const std::string &  object_name,
Args &&...  args 
)
protectedinherited

Declare a piece of data as "restartable".

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
object_nameA supplied name for the object that is declaring this data.
argsArguments to forward to the constructor of the data

Definition at line 323 of file Restartable.h.

326 {
327  return declareRestartableDataWithObjectNameWithContext<T>(
328  data_name, object_name, nullptr, std::forward<Args>(args)...);
329 }

◆ declareRestartableDataWithObjectNameWithContext()

template<typename T , typename... Args>
T & Restartable::declareRestartableDataWithObjectNameWithContext ( const std::string &  data_name,
const std::string &  object_name,
void context,
Args &&...  args 
)
protectedinherited

Declare a piece of data as "restartable".

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
object_nameA supplied name for the object that is declaring this data.
contextContext pointer that will be passed to the load and store functions
argsArguments to forward to the constructor of the data

Definition at line 333 of file Restartable.h.

337 {
338  std::string old_name = _restartable_name;
339 
340  _restartable_name = object_name;
341 
342  T & value = declareRestartableDataWithContext<T>(data_name, context, std::forward<Args>(args)...);
343 
344  _restartable_name = old_name;
345 
346  return value;
347 }
std::string _restartable_name
The name of the object.
Definition: Restartable.h:243
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)

◆ direction()

MooseEnum Transfer::direction ( )
inlineinherited

The current direction that this Transfer is going in. direction() is to be deprecated for currentDirection()

Definition at line 84 of file Transfer.h.

Referenced by Transfer::setCurrentDirection().

84 { return _direction; }
MooseEnum _direction
Definition: Transfer.h:105

◆ directions()

const MultiMooseEnum& Transfer::directions ( )
inlineinherited

The directions this Transfer should be executed on.

Definition at line 79 of file Transfer.h.

79 { return _directions; }
MultiMooseEnum _directions
The directions this Transfer is to be executed on.
Definition: Transfer.h:110

◆ enabled()

virtual bool MooseObject::enabled ( ) const
inlinevirtualinherited

Return the enabled status of the object.

Reimplemented in EigenKernel.

Definition at line 49 of file MooseObject.h.

Referenced by EigenKernel::enabled().

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

◆ errorPrefix()

std::string MooseBaseErrorInterface::errorPrefix ( const std::string &  error_type) const
inherited

A descriptive prefix for errors for this object:

The following <error_type> occurred in the object "<name>", of type "<type>".

Definition at line 15 of file MooseBaseErrorInterface.C.

Referenced by MooseBaseErrorInterface::mooseError(), and MooseBaseErrorInterface::mooseWarning().

16 {
17  std::stringstream oss;
18  oss << "The following " << error_type << " occurred in the object \"" << _moose_base->name()
19  << "\", of type \"" << _moose_base->type() << "\".\n\n";
20  return oss.str();
21 }
const MooseBase *const _moose_base
The MooseBase class deriving from this interface.
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
const std::string & type() const
Get the type of this class.
Definition: MooseBase.h:50

◆ execute()

void MultiAppProjectionTransfer::execute ( )
overridevirtual

Execute the transfer.

Implements Transfer.

Definition at line 192 of file MultiAppProjectionTransfer.C.

193 {
194  TIME_SECTION(
195  "MultiAppProjectionTransfer::execute()", 5, "Transferring variables through projection");
196 
198  // We are going to project the solutions by solving some linear systems. In
199  // order to assemble the systems, we need to evaluate the "from" domain
200  // solutions at quadrature points in the "to" domain. Some parallel
201  // communication is necessary because each processor doesn't necessarily have
202  // all the "from" information it needs to set its "to" values. We don't want
203  // to use a bunch of big all-to-all broadcasts, so we'll use bounding boxes to
204  // figure out which processors have the information we need and only
205  // communicate with those processors.
206  //
207  // Each processor will
208  // 1. Check its local quadrature points in the "to" domains to see which
209  // "from" domains they might be in.
210  // 2. Send quadrature points to the processors with "from" domains that might
211  // contain those points.
212  // 3. Recieve quadrature points from other processors, evaluate its mesh
213  // functions at those points, and send the values back to the proper
214  // processor
215  // 4. Recieve mesh function evaluations from all relevant processors and
216  // decide which one to use at every quadrature point (the lowest global app
217  // index always wins)
218  // 5. And use the mesh function evaluations to assemble and solve an L2
219  // projection system on its local elements.
221 
223  // For every combination of global "from" problem and local "to" problem, find
224  // which "from" bounding boxes overlap with which "to" elements. Keep track
225  // of which processors own bounding boxes that overlap with which elements.
226  // Build vectors of quadrature points to send to other processors for mesh
227  // function evaluations.
229 
230  // Get the bounding boxes for the "from" domains.
231  std::vector<BoundingBox> bboxes = getFromBoundingBoxes();
232 
233  // Figure out how many "from" domains each processor owns.
234  std::vector<unsigned int> froms_per_proc = getFromsPerProc();
235 
236  std::map<processor_id_type, std::vector<Point>> outgoing_qps;
237  std::map<processor_id_type, std::map<std::pair<unsigned int, unsigned int>, unsigned int>>
238  element_index_map;
239  // element_index_map[i_to, element_id] = index
240  // outgoing_qps[index] is the first quadrature point in element
241 
242  if (!_qps_cached)
243  {
244  for (unsigned int i_to = 0; i_to < _to_problems.size(); i_to++)
245  {
246  // Indexing into the coordinate transforms vector
247  const auto to_global_num =
249  MeshBase & to_mesh = _to_meshes[i_to]->getMesh();
250 
251  LinearImplicitSystem & system = *_proj_sys[i_to];
252 
253  FEType fe_type = system.variable_type(0);
254  std::unique_ptr<FEBase> fe(FEBase::build(to_mesh.mesh_dimension(), fe_type));
255  QGauss qrule(to_mesh.mesh_dimension(), fe_type.default_quadrature_order());
256  fe->attach_quadrature_rule(&qrule);
257  const std::vector<Point> & xyz = fe->get_xyz();
258 
259  unsigned int from0 = 0;
260  for (processor_id_type i_proc = 0; i_proc < n_processors();
261  from0 += froms_per_proc[i_proc], i_proc++)
262  {
263  for (const auto & elem :
264  as_range(to_mesh.local_elements_begin(), to_mesh.local_elements_end()))
265  {
266  fe->reinit(elem);
267 
268  bool qp_hit = false;
269  for (unsigned int i_from = 0; i_from < froms_per_proc[i_proc] && !qp_hit; i_from++)
270  {
271  for (unsigned int qp = 0; qp < qrule.n_points() && !qp_hit; qp++)
272  {
273  Point qpt = xyz[qp];
274  if (bboxes[from0 + i_from].contains_point((*_to_transforms[to_global_num])(qpt)))
275  qp_hit = true;
276  }
277  }
278 
279  if (qp_hit)
280  {
281  // The selected processor's bounding box contains at least one
282  // quadrature point from this element. Send all qps from this element
283  // and remember where they are in the array using the map.
284  std::pair<unsigned int, unsigned int> key(i_to, elem->id());
285  element_index_map[i_proc][key] = outgoing_qps[i_proc].size();
286  for (unsigned int qp = 0; qp < qrule.n_points(); qp++)
287  {
288  Point qpt = xyz[qp];
289  outgoing_qps[i_proc].push_back((*_to_transforms[to_global_num])(qpt));
290  }
291  }
292  }
293  }
294  }
295 
296  if (_fixed_meshes)
297  _cached_index_map = element_index_map;
298  }
299  else
300  {
301  element_index_map = _cached_index_map;
302  }
303 
305  // Request quadrature point evaluations from other processors and handle
306  // requests sent to this processor.
308 
309  // Get the local bounding boxes.
310  std::vector<BoundingBox> local_bboxes(froms_per_proc[processor_id()]);
311  {
312  // Find the index to the first of this processor's local bounding boxes.
313  unsigned int local_start = 0;
314  for (processor_id_type i_proc = 0; i_proc < n_processors() && i_proc != processor_id();
315  i_proc++)
316  local_start += froms_per_proc[i_proc];
317 
318  // Extract the local bounding boxes.
319  for (unsigned int i_from = 0; i_from < froms_per_proc[processor_id()]; i_from++)
320  local_bboxes[i_from] = bboxes[local_start + i_from];
321  }
322 
323  // Setup the local mesh functions.
324  std::vector<MeshFunction> local_meshfuns;
325  for (unsigned int i_from = 0; i_from < _from_problems.size(); i_from++)
326  {
327  FEProblemBase & from_problem = *_from_problems[i_from];
328  MooseVariableFEBase & from_var = from_problem.getVariable(
330  System & from_sys = from_var.sys().system();
331  unsigned int from_var_num = from_sys.variable_number(from_var.name());
332 
333  local_meshfuns.emplace_back(
334  from_problem.es(), *from_sys.current_local_solution, from_sys.get_dof_map(), from_var_num);
335  local_meshfuns.back().init();
336  local_meshfuns.back().enable_out_of_mesh_mode(OutOfMeshValue);
337  }
338 
339  // Recieve quadrature points from other processors, evaluate mesh frunctions
340  // at those points, and send the values back.
341  std::map<processor_id_type, std::vector<std::pair<Real, unsigned int>>> outgoing_evals_ids;
342 
343  // If there is no cached data, we need to do communication
344  // Quadrature points I will receive from remote processors
345  std::map<processor_id_type, std::vector<Point>> incoming_qps;
346  if (!_qps_cached)
347  {
348  auto qps_action_functor = [&incoming_qps](processor_id_type pid, const std::vector<Point> & qps)
349  {
350  // Quadrature points from processor 'pid'
351  auto & incoming_qps_from_pid = incoming_qps[pid];
352  // Store data for late use
353  incoming_qps_from_pid.reserve(incoming_qps_from_pid.size() + qps.size());
354  std::copy(qps.begin(), qps.end(), std::back_inserter(incoming_qps_from_pid));
355  };
356 
357  Parallel::push_parallel_vector_data(comm(), outgoing_qps, qps_action_functor);
358  }
359 
360  // Cache data
361  if (!_qps_cached)
362  _cached_qps = incoming_qps;
363 
364  for (auto & qps : _cached_qps)
365  {
366  const processor_id_type pid = qps.first;
367 
368  outgoing_evals_ids[pid].resize(qps.second.size(),
369  std::make_pair(OutOfMeshValue, libMesh::invalid_uint));
370 
371  for (unsigned int qp = 0; qp < qps.second.size(); qp++)
372  {
373  Point qpt = qps.second[qp];
374 
375  // Loop until we've found the lowest-ranked app that actually contains
376  // the quadrature point.
377  for (unsigned int i_from = 0; i_from < _from_problems.size(); i_from++)
378  {
379  if (local_bboxes[i_from].contains_point(qpt))
380  {
381  const auto from_global_num =
383  outgoing_evals_ids[pid][qp].first =
384  (local_meshfuns[i_from])(_from_transforms[from_global_num]->mapBack(qpt));
386  outgoing_evals_ids[pid][qp].second = from_global_num;
387  }
388  }
389  }
390  }
391 
393  // Gather all of the qp evaluations and pick out the best ones for each qp.
395 
396  // Values back from remote processors for my local quadrature points
397  std::map<processor_id_type, std::vector<std::pair<Real, unsigned int>>> incoming_evals_ids;
398 
399  auto evals_action_functor =
400  [&incoming_evals_ids](processor_id_type pid,
401  const std::vector<std::pair<Real, unsigned int>> & evals)
402  {
403  // evals for processor 'pid'
404  auto & incoming_evals_ids_for_pid = incoming_evals_ids[pid];
405  // Copy evals for late use
406  incoming_evals_ids_for_pid.reserve(incoming_evals_ids_for_pid.size() + evals.size());
407  std::copy(evals.begin(), evals.end(), std::back_inserter(incoming_evals_ids_for_pid));
408  };
409 
410  Parallel::push_parallel_vector_data(comm(), outgoing_evals_ids, evals_action_functor);
411 
412  std::vector<std::vector<Real>> final_evals(_to_problems.size());
413  std::vector<std::map<dof_id_type, unsigned int>> trimmed_element_maps(_to_problems.size());
414 
415  for (unsigned int i_to = 0; i_to < _to_problems.size(); i_to++)
416  {
417  MeshBase & to_mesh = _to_meshes[i_to]->getMesh();
418  LinearImplicitSystem & system = *_proj_sys[i_to];
419 
420  FEType fe_type = system.variable_type(0);
421  std::unique_ptr<FEBase> fe(FEBase::build(to_mesh.mesh_dimension(), fe_type));
422  QGauss qrule(to_mesh.mesh_dimension(), fe_type.default_quadrature_order());
423  fe->attach_quadrature_rule(&qrule);
424 
425  for (const auto & elem : to_mesh.active_local_element_ptr_range())
426  {
427  fe->reinit(elem);
428 
429  bool element_is_evaled = false;
430  std::vector<Real> evals(qrule.n_points(), 0.);
431 
432  for (unsigned int qp = 0; qp < qrule.n_points(); qp++)
433  {
434  unsigned int lowest_app_rank = libMesh::invalid_uint;
435  for (auto & values_ids : incoming_evals_ids)
436  {
437  // Current processor id
438  const processor_id_type pid = values_ids.first;
439 
440  // Ignore the selected processor if the element wasn't found in it's
441  // bounding box.
442  std::map<std::pair<unsigned int, unsigned int>, unsigned int> & map =
443  element_index_map[pid];
444  std::pair<unsigned int, unsigned int> key(i_to, elem->id());
445  if (map.find(key) == map.end())
446  continue;
447  unsigned int qp0 = map[key];
448 
449  // Ignore the selected processor if it's app has a higher rank than the
450  // previously found lowest app rank.
452  if (values_ids.second[qp0 + qp].second >= lowest_app_rank)
453  continue;
454 
455  // Ignore the selected processor if the qp was actually outside the
456  // processor's subapp's mesh.
457  if (values_ids.second[qp0 + qp].first == OutOfMeshValue)
458  continue;
459 
460  // This is the best meshfunction evaluation so far, save it.
461  element_is_evaled = true;
462  evals[qp] = values_ids.second[qp0 + qp].first;
463  }
464  }
465 
466  // If we found good evaluations for any of the qps in this element, save
467  // those evaluations for later.
468  if (element_is_evaled)
469  {
470  trimmed_element_maps[i_to][elem->id()] = final_evals[i_to].size();
471  for (unsigned int qp = 0; qp < qrule.n_points(); qp++)
472  final_evals[i_to].push_back(evals[qp]);
473  }
474  }
475  }
476 
478  // We now have just one or zero mesh function values at all of our local
479  // quadrature points. Stash those values (and a map linking them to element
480  // ids) in the equation systems parameters and project the solution.
482 
483  for (unsigned int i_to = 0; i_to < _to_problems.size(); i_to++)
484  {
485  _to_es[i_to]->parameters.set<std::vector<Real> *>("final_evals") = &final_evals[i_to];
486  _to_es[i_to]->parameters.set<std::map<dof_id_type, unsigned int> *>("element_map") =
487  &trimmed_element_maps[i_to];
488  projectSolution(i_to);
489  _to_es[i_to]->parameters.set<std::vector<Real> *>("final_evals") = NULL;
490  _to_es[i_to]->parameters.set<std::map<dof_id_type, unsigned int> *>("element_map") = NULL;
491  }
492 
493  if (_fixed_meshes)
494  _qps_cached = true;
495 
496  postExecute();
497 }
std::vector< std::unique_ptr< MultiAppCoordTransform > > _to_transforms
const unsigned int invalid_uint
MooseEnum _current_direction
Definition: Transfer.h:106
std::map< processor_id_type, std::map< std::pair< unsigned int, unsigned int >, unsigned int > > _cached_index_map
std::vector< EquationSystems * > _to_es
std::map< processor_id_type, std::vector< Point > > _cached_qps
std::vector< BoundingBox > getFromBoundingBoxes()
Return the bounding boxes of all the "from" domains, including all the domains not local to this proc...
std::vector< FEProblemBase * > _to_problems
const std::string & name() const override
Get the variable name.
const Parallel::Communicator & comm() const
virtual void postExecute()
Add some extra work if necessary after execute().
This class provides an interface for common operations on field variables of both FE and FV types wit...
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
virtual const MooseVariableFieldBase & getVariable(const 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) const override
Returns the variable reference for requested variable which must be of the expected_var_type (Nonline...
std::vector< unsigned int > _to_local2global_map
Given local app index, returns global app index.
virtual EquationSystems & es() override
uint8_t processor_id_type
processor_id_type n_processors() const
SimpleRange< IndexType > as_range(const std::pair< IndexType, IndexType > &p)
std::vector< unsigned int > getFromsPerProc()
Return the number of "from" domains that each processor owns.
virtual System & system()=0
Get the reference to the libMesh system.
static const Number OutOfMeshValue
Definition: Transfer.h:113
std::vector< std::unique_ptr< MultiAppCoordTransform > > _from_transforms
std::vector< unsigned int > _from_local2global_map
Given local app index, returns global app index.
void projectSolution(unsigned int to_problem)
std::vector< LinearImplicitSystem * > _proj_sys
processor_id_type processor_id() const
SystemBase & sys()
Get the system this variable is part of.
std::vector< FEProblemBase * > _from_problems
std::vector< MooseMesh * > _to_meshes
VariableName _from_var_name
This values are used if a derived class only supports one variable.

◆ extendBoundingBoxes()

void MultiAppTransfer::extendBoundingBoxes ( const Real  factor,
std::vector< BoundingBox > &  bboxes 
) const
protectedinherited

Extends bounding boxes to avoid missing points.

Definition at line 450 of file MultiAppTransfer.C.

Referenced by MultiAppTransfer::getFromBoundingBoxes(), and MultiAppGeneralFieldTransfer::prepareToTransfer().

451 {
452  const auto extension_factor = factor - 1;
453 
454  // Extend (or contract if the extension factor is negative) bounding boxes along all the
455  // directions by the same length. Greater than zero values of this member may be necessary because
456  // the nearest bounding box does not necessarily give you the closest node/element. It will depend
457  // on the partition and geometry. A node/element will more likely find its nearest source
458  // element/node by extending bounding boxes. If each of the bounding boxes covers the entire
459  // domain, a node/element will be able to find its nearest source element/node for sure, but at
460  // the same time, more communication will be involved and can be expensive.
461  for (auto & box : bboxes)
462  {
463  // libmesh set an invalid bounding box using this code
464  // for (unsigned int i=0; i<LIBMESH_DIM; i++)
465  // {
466  // this->first(i) = std::numeric_limits<Real>::max();
467  // this->second(i) = -std::numeric_limits<Real>::max();
468  // }
469  // If it is an invalid box, we should skip it
470  if (box.first(0) == std::numeric_limits<Real>::max())
471  continue;
472 
473  auto width = box.second - box.first;
474  box.second += width * extension_factor;
475  box.first -= width * extension_factor;
476  }
477 }
auto max(const L &left, const R &right)

◆ find_sys()

System * Transfer::find_sys ( EquationSystems &  es,
const std::string &  var_name 
)
staticinherited

Small helper function for finding the system containing the variable.

Note that this implies that variable names are unique across all systems!

Parameters
esThe EquationSystems object to be searched.
var_nameThe name of the variable you are looking for.

Note that this implies that variable names are unique across all systems!

Definition at line 89 of file Transfer.C.

Referenced by MultiAppGeneralFieldTransfer::examineLocalValueConflicts(), MultiAppGeneralFieldTransfer::examineReceivedValueConflicts(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppGeneralFieldTransfer::extractOutgoingPoints(), MultiAppGeneralFieldTransfer::setSolutionVectorValues(), and MultiAppShapeEvaluationTransfer::transferVariable().

90 {
91  // Find the system this variable is from
92  for (unsigned int i = 0; i < es.n_systems(); i++)
93  if (es.get_system(i).has_variable(var_name))
94  return &es.get_system(i);
95 
96  ::mooseError("Unable to find variable " + var_name + " in any system.");
97 
98  // Unreachable
99  return &es.get_system(0);
100 }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ fromMultiApp()

void MultiAppProjectionTransfer::fromMultiApp ( )
protected

◆ getAppInfo()

void MultiAppTransfer::getAppInfo ( )
virtualinherited

This method will fill information into the convenience member variables (_to_problems, _from_meshes, etc.)

Reimplemented in MultiAppGeneralFieldTransfer.

Definition at line 227 of file MultiAppTransfer.C.

Referenced by MultiAppUserObjectTransfer::execute(), MultiAppGeneralFieldTransfer::getAppInfo(), and MultiAppTransfer::initialSetup().

228 {
229  // I would like to do all of this in initialSetup, but it will fail with
230  // multiapps that reset. A reset deletes and rebuilds the FEProblems so all
231  // of the pointers will be broken.
232 
233  // Clear the vectors since we've probably built them up from a previous call
234  _from_problems.clear();
235  _to_problems.clear();
236  _from_es.clear();
237  _to_es.clear();
238  _from_meshes.clear();
239  _to_meshes.clear();
240  _to_positions.clear();
241  _from_positions.clear();
242  _to_transforms.clear();
243  _from_transforms.clear();
244  // Clear this map since we build it from scratch every time we transfer
245  // Otherwise, this will cause two issues: 1) increasing memory usage
246  // for a simulation that requires many transfers, 2) producing wrong results
247  // when we do collective communication on this vector.
248  _to_local2global_map.clear();
249  _from_local2global_map.clear();
250 
251  // Build the vectors for to problems, from problems, and subapps positions.
253  {
254  _to_problems.push_back(&_from_multi_app->problemBase());
255  _to_positions.push_back(Point(0., 0., 0.));
257  }
258  else if (_current_direction == TO_MULTIAPP)
259  {
260  _from_problems.push_back(&_to_multi_app->problemBase());
261  _from_positions.push_back(Point(0., 0., 0.));
263  }
265  {
266  mooseAssert(&_from_multi_app->problemBase().coordTransform() ==
267  &_to_multi_app->problemBase().coordTransform(),
268  "I believe these should be the same. If not, then it will be difficult to define a "
269  "canonical reference frame.");
272  }
273 
274  // Build the from and to equation systems and mesh vectors.
275  for (unsigned int i = 0; i < _to_problems.size(); i++)
276  {
277  // TODO: Do I actually want es or displaced es?
278  _to_es.push_back(&_to_problems[i]->es());
279  if (_displaced_target_mesh && _to_problems[i]->getDisplacedProblem())
280  _to_meshes.push_back(&_to_problems[i]->getDisplacedProblem()->mesh());
281  else
282  _to_meshes.push_back(&_to_problems[i]->mesh());
283  }
284 
285  for (unsigned int i = 0; i < _from_problems.size(); i++)
286  {
287  _from_es.push_back(&_from_problems[i]->es());
288  if (_displaced_source_mesh && _from_problems[i]->getDisplacedProblem())
289  _from_meshes.push_back(&_from_problems[i]->getDisplacedProblem()->mesh());
290  else
291  _from_meshes.push_back(&_from_problems[i]->mesh());
292  }
293 
294  MooseAppCoordTransform::MinimalData from_app_transform_construction_data{};
295  if (_communicator.rank() == 0)
296  from_app_transform_construction_data =
298  ? _to_multi_app->problemBase().coordTransform().minimalDataDescription()
299  : _from_multi_app->appProblemBase(0).coordTransform().minimalDataDescription();
300  _communicator.broadcast(from_app_transform_construction_data);
302  std::make_unique<MooseAppCoordTransform>(from_app_transform_construction_data);
303 
304  MooseAppCoordTransform::MinimalData to_app_transform_construction_data{};
305  if (_communicator.rank() == 0)
306  to_app_transform_construction_data =
308  ? _from_multi_app->problemBase().coordTransform().minimalDataDescription()
309  : _to_multi_app->appProblemBase(0).coordTransform().minimalDataDescription();
310  _communicator.broadcast(to_app_transform_construction_data);
312  std::make_unique<MooseAppCoordTransform>(to_app_transform_construction_data);
313 
314  /*
315  * skip_coordinate_collapsing: whether to set the transform to skip coordinate collapsing
316  * (from XYZ to RZ for example)
317  * transforms: vector of transforms to add the new transforms to
318  * moose_app_transform: base for the new transform
319  * is_parent_app_transform: whether working on the transform for the parent app (this app, the
320  * one creating the transfer) or for child apps
321  * multiapp: pointer to the multiapp to obtain the position of the child apps
322  */
323  auto create_multiapp_transforms = [this](auto & transforms,
324  const auto & moose_app_transform,
325  const bool is_parent_app_transform,
326  const MultiApp * const multiapp = nullptr)
327  {
328  mooseAssert(is_parent_app_transform || multiapp,
329  "Coordinate transform must be created either for child app or parent app");
330  if (is_parent_app_transform)
331  {
332  transforms.push_back(std::make_unique<MultiAppCoordTransform>(moose_app_transform));
333  transforms.back()->skipCoordinateCollapsing(_skip_coordinate_collapsing);
334  // zero translation
335  }
336  else
337  {
338  mooseAssert(transforms.size() == 0, "transforms should not be initialized at this point");
339  for (const auto i : make_range(multiapp->numGlobalApps()))
340  {
341  transforms.push_back(std::make_unique<MultiAppCoordTransform>(moose_app_transform));
342  auto & transform = transforms[i];
343  transform->skipCoordinateCollapsing(_skip_coordinate_collapsing);
344  if (multiapp->usingPositions())
345  transform->setTranslationVector(multiapp->position(i));
346  }
347  }
348  };
349 
351  {
352  create_multiapp_transforms(
354  create_multiapp_transforms(_from_transforms, *_from_moose_app_transform, true);
355  }
357  {
358  create_multiapp_transforms(_to_transforms, *_to_moose_app_transform, true);
359  create_multiapp_transforms(
361  }
363  {
364  create_multiapp_transforms(
366  create_multiapp_transforms(
368  }
369 
370  auto check_transform_compatibility = [this](const MultiAppCoordTransform & transform)
371  {
372  if (transform.hasNonTranslationTransformation() && !usesMooseAppCoordTransform())
373  mooseWarning("Transfer '",
374  name(),
375  "' of type '",
376  type(),
377  "' has non-translation transformations but it does not implement coordinate "
378  "transformations using the 'MooseAppCoordTransform' class. Your data transfers "
379  "will not be performed in the expected transformed frame");
380  };
381 
382  // set the destination coordinate systems for each transform for the purposes of determining
383  // coordinate collapsing. For example if TO is XYZ and FROM is RZ, then TO will have its XYZ
384  // coordinates collapsed into RZ and FROM will have a no-op for coordinate collapsing
385 
386  for (const auto i : index_range(_from_transforms))
387  {
388  auto & from_transform = _from_transforms[i];
389  from_transform->setDestinationCoordTransform(*_to_moose_app_transform);
390  if (i == 0)
391  check_transform_compatibility(*from_transform);
392  }
393  for (const auto i : index_range(_to_transforms))
394  {
395  auto & to_transform = _to_transforms[i];
396  to_transform->setDestinationCoordTransform(*_from_moose_app_transform);
397  if (i == 0)
398  check_transform_compatibility(*to_transform);
399  }
400 }
std::vector< std::unique_ptr< MultiAppCoordTransform > > _to_transforms
std::tuple< short int, Real, short int, std::array< Real, 3 >, int, unsigned int, unsigned int, short int, short int, short int > MinimalData
A typedef for conveniency that describes the minimal data necessary to broadcast and build a MooseApp...
std::unique_ptr< MooseAppCoordTransform > _to_moose_app_transform
The moose coordinate transformation object describing rotations, scaling, and coordinate system of th...
const bool _skip_coordinate_collapsing
Whether to skip coordinate collapsing (transformations of coordinates between applications using diff...
MooseEnum _current_direction
Definition: Transfer.h:106
std::vector< EquationSystems * > _to_es
std::shared_ptr< MultiApp > _from_multi_app
The MultiApps this Transfer is transferring data to or from.
MeshBase & mesh
std::vector< FEProblemBase * > _to_problems
processor_id_type rank() const
std::vector< Point > _from_positions
const Parallel::Communicator & _communicator
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
void mooseWarning(Args &&... args) const
Emits a warning prefixed with object name and type.
std::vector< unsigned int > _to_local2global_map
Given local app index, returns global app index.
bool _displaced_target_mesh
True if displaced mesh is used for the target mesh, otherwise false.
virtual bool usesMooseAppCoordTransform() const
Whether this transfer handles non-translation-based transformations, e.g.
std::vector< MooseMesh * > _from_meshes
std::unique_ptr< MooseAppCoordTransform > _from_moose_app_transform
The moose coordinate transformation object describing rotations, scaling, and coordinate system of th...
const std::string & type() const
Get the type of this class.
Definition: MooseBase.h:50
std::shared_ptr< MultiApp > _to_multi_app
void broadcast(T &data, const unsigned int root_id=0, const bool identical_sizes=false) const
std::vector< Point > _to_positions
std::vector< EquationSystems * > _from_es
std::vector< std::unique_ptr< MultiAppCoordTransform > > _from_transforms
IntRange< T > make_range(T beg, T end)
bool _displaced_source_mesh
True if displaced mesh is used for the source mesh, otherwise false.
std::vector< unsigned int > _from_local2global_map
Given local app index, returns global app index.
A MultiApp represents one or more MOOSE applications that are running simultaneously.
Definition: MultiApp.h:112
std::vector< FEProblemBase * > _from_problems
auto index_range(const T &sizable)
std::vector< MooseMesh * > _to_meshes
This class contains transformation information that only exists in a context in which there are multi...

◆ getCheckedPointerParam()

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

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 274 of file MooseBaseParameterInterface.h.

276 {
277  return parameters().getCheckedPointerParam<T>(name, error_string);
278 }
std::string name(const ElemQuality q)
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.

◆ getDataFileName()

std::string DataFileInterface< MooseObject >::getDataFileName ( const std::string &  param) const
inherited

Returns the path of a data file for a given FileName type parameter, searching (in the following order)

  • relative to the input file directory
  • relative to the running binary (assuming the application is installed)
  • relative to all registered data file directories
  • relative to the input file directory

Definition at line 22 of file DataFileInterface.C.

23 {
25  {
26  const auto & absolute_path = _parent.template getParam<FileName>(param);
27  if (MooseUtils::checkFileReadable(absolute_path, false, false, false))
28  {
29  _parent.paramInfo(param, "Data file '", absolute_path, "' found relative to the input file.");
30  return absolute_path;
31  }
32  }
33 
34  const auto & relative_path = _parent.parameters().rawParamVal(param);
35  return getDataFileNameByName(relative_path, &param);
36 }
std::string getDataFileNameByName(const std::string &name, const std::string *param=nullptr) const
Returns the path of a data file for a given relative file path.
std::string & rawParamVal(const std::string &param)
Get/set a string representing the raw, unmodified token text for the given param. ...
bool checkFileReadable(const std::string &filename, bool check_line_endings=false, bool throw_on_unreadable=true, bool check_for_git_lfs_pointer=true)
Checks to see if a file is readable (exists and permissions)
Definition: MooseUtils.C:253
const InputParameters & parameters() const
Get the parameters of the object.
void paramInfo(const std::string &param, Args... args) const
Emits an informational message prefixed with the file and line number of the given param (from the in...

◆ getDataFileNameByName()

std::string DataFileInterface< MooseObject >::getDataFileNameByName ( const std::string &  name,
const std::string *  param = nullptr 
) const
inherited

Returns the path of a data file for a given relative file path.

This can be used for hardcoded datafile names and will search the same locations as getDataFileName. The optional param pointer can be used to turn the mooseErrors this function emits into paramErrors

  • relative to the running binary (assuming the application is installed)
  • relative to all registered data file directories

Definition at line 40 of file DataFileInterface.C.

42 {
44  const auto share_dir = MooseUtils::pathjoin(Moose::getExecutablePath(), "..", "share");
45  if (MooseUtils::pathIsDirectory(share_dir))
46  {
47  const auto dirs = MooseUtils::listDir(share_dir, false);
48  for (const auto & data_dir : dirs)
49  {
50  const auto path = MooseUtils::pathjoin(data_dir, "data", relative_path);
51  if (MooseUtils::checkFileReadable(path, false, false, false))
52  {
53  if (param)
55  *param, "Data file '", path, "' found in an installed app distribution.");
56  else
57  mooseInfo("Data file '", path, "' found in an installed app distribution.");
58  return path;
59  }
60  }
61  }
62 
64  for (const auto & data_dir : Registry::getRegistry().getDataFilePaths())
65  {
66  const auto path = MooseUtils::pathjoin(data_dir, relative_path);
67  if (MooseUtils::checkFileReadable(path, false, false, false))
68  {
69  if (param)
70  _parent.paramInfo(*param, "Data file '", path, "' found in a source repository.");
71  else
72  mooseInfo("Data file '", path, "' found in a source repository.");
73  return path;
74  }
75  }
76 
77  mooseException(param ? _parent.parameters().inputLocation(*param) : _parent.name(),
78  ": Unable to find data file '",
79  relative_path,
80  "' anywhere");
81 }
static Registry & getRegistry()
Get the global Registry singleton.
Definition: Registry.C:21
std::string getExecutablePath()
This function returns the PATH of the running executable.
bool pathIsDirectory(const std::string &path)
Definition: MooseUtils.C:247
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
void mooseInfo(Args &&... args)
Emit an informational message with the given stringified, concatenated args.
Definition: MooseError.h:329
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...
bool checkFileReadable(const std::string &filename, bool check_line_endings=false, bool throw_on_unreadable=true, bool check_for_git_lfs_pointer=true)
Checks to see if a file is readable (exists and permissions)
Definition: MooseUtils.C:253
std::filesystem::path pathjoin(const std::filesystem::path &p)
Definition: MooseUtils.C:58
std::list< std::string > listDir(const std::string path, bool files_only=false)
Definition: MooseUtils.C:765
const InputParameters & parameters() const
Get the parameters of the object.
void paramInfo(const std::string &param, Args... args) const
Emits an informational message prefixed with the file and line number of the given param (from the in...

◆ getEquationSystem()

EquationSystems & MultiAppFieldTransfer::getEquationSystem ( FEProblemBase problem,
bool  use_displaced 
) const
protectedinherited

Returns the Problem's equation system, displaced or not Be careful! If you transfer TO a displaced system you will likely need a synchronization So most transfers reach the non-displaced system directly.

Definition at line 55 of file MultiAppFieldTransfer.C.

Referenced by MultiAppGeneralFieldShapeEvaluationTransfer::buildMeshFunctions(), MultiAppGeneralFieldTransfer::examineLocalValueConflicts(), MultiAppGeneralFieldTransfer::examineReceivedValueConflicts(), MultiAppGeneralFieldTransfer::extractOutgoingPoints(), MultiAppGeneralFieldTransfer::setSolutionVectorValues(), and MultiAppShapeEvaluationTransfer::transferVariable().

56 {
57  if (use_displaced)
58  {
59  if (!problem.getDisplacedProblem())
60  mooseError("No displaced problem to provide a displaced equation system");
61  return problem.getDisplacedProblem()->es();
62  }
63  else
64  return problem.es();
65 }
virtual EquationSystems & es() override
virtual std::shared_ptr< const DisplacedProblem > getDisplacedProblem() const
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ getExecuteOnEnum()

const ExecFlagEnum & SetupInterface::getExecuteOnEnum ( ) const
inherited

◆ getFromBoundingBoxes() [1/2]

std::vector< BoundingBox > MultiAppTransfer::getFromBoundingBoxes ( )
protectedinherited

Return the bounding boxes of all the "from" domains, including all the domains not local to this processor.

There is a boundary restricted version which will return a degenerate minimum boundary box (min, min, min, min, min, min) in the case where the source domain doesn't have any active nodes on the boundary. Note: bounding boxes are in the reference space when using coordinate transformations / positions Note: global bounding boxes are not indexed by app number. But rather outer indexing is by process, then the inner indexing is by local app number.

Definition at line 480 of file MultiAppTransfer.C.

Referenced by MultiAppNearestNodeTransfer::execute(), execute(), and MultiAppShapeEvaluationTransfer::transferVariable().

481 {
482  std::vector<std::pair<Point, Point>> bb_points(_from_meshes.size());
483  for (unsigned int i = 0; i < _from_meshes.size(); i++)
484  {
485  // Get a bounding box around the mesh elements that are local to the current
486  // processor.
487  BoundingBox bbox = MeshTools::create_local_bounding_box(*_from_meshes[i]);
488 
489  // Translate the bounding box to the from domain's position. We may have rotations so we must
490  // be careful in constructing the new min and max (first and second)
491  const auto from_global_num = getGlobalSourceAppIndex(i);
492  transformBoundingBox(bbox, *_from_transforms[from_global_num]);
493 
494  // Cast the bounding box into a pair of points (so it can be put through
495  // MPI communication).
496  bb_points[i] = static_cast<std::pair<Point, Point>>(bbox);
497  }
498 
499  // Serialize the bounding box points.
500  _communicator.allgather(bb_points);
501 
502  // Recast the points back into bounding boxes and return.
503  std::vector<BoundingBox> bboxes(bb_points.size());
504  for (unsigned int i = 0; i < bb_points.size(); i++)
505  bboxes[i] = static_cast<BoundingBox>(bb_points[i]);
506 
507  // possibly extend bounding boxes
509 
510  return bboxes;
511 }
void allgather(const T &send_data, std::vector< T, A > &recv_data) const
void extendBoundingBoxes(const Real factor, std::vector< BoundingBox > &bboxes) const
Extends bounding boxes to avoid missing points.
const Parallel::Communicator & _communicator
std::vector< MooseMesh * > _from_meshes
unsigned int getGlobalSourceAppIndex(unsigned int i_from) const
Return the global app index from the local index in the "from-multiapp" transfer direction.
Real _bbox_factor
Extend (or contract) bounding box by a factor in all directions Greater than one values of this membe...
std::vector< std::unique_ptr< MultiAppCoordTransform > > _from_transforms
static void transformBoundingBox(BoundingBox &box, const MultiAppCoordTransform &transform)
Transform a bounding box according to the transformations in the provided coordinate transformation o...

◆ getFromBoundingBoxes() [2/2]

std::vector< BoundingBox > MultiAppTransfer::getFromBoundingBoxes ( BoundaryID  boundary_id)
protectedinherited

Definition at line 514 of file MultiAppTransfer.C.

515 {
516  std::vector<std::pair<Point, Point>> bb_points(_from_meshes.size());
517  const Real min_r = std::numeric_limits<Real>::lowest();
518  const Real max_r = std::numeric_limits<Real>::max();
519 
520  for (unsigned int i = 0; i < _from_meshes.size(); i++)
521  {
522 
523  Point min(max_r, max_r, max_r);
524  Point max(min_r, min_r, min_r);
525  bool at_least_one = false;
526 
527  // TODO: Factor this into mesh_tools after adding new boundary bounding box routine.
528  const ConstBndNodeRange & bnd_nodes = *_from_meshes[i]->getBoundaryNodeRange();
529  for (const auto & bnode : bnd_nodes)
530  {
531  if (bnode->_bnd_id == boundary_id &&
532  bnode->_node->processor_id() == _from_meshes[i]->processor_id())
533  {
534  at_least_one = true;
535  const auto & node = *bnode->_node;
536  for (const auto i : make_range(Moose::dim))
537  {
538  min(i) = std::min(min(i), node(i));
539  max(i) = std::max(max(i), node(i));
540  }
541  }
542  }
543 
544  BoundingBox bbox(min, max);
545  if (!at_least_one)
546  bbox.min() = max; // If we didn't hit any nodes, this will be _the_ minimum bbox
547  else
548  {
549  // Translate the bounding box to the from domain's position. We may have rotations so we must
550  // be careful in constructing the new min and max (first and second)
551  const auto from_global_num = getGlobalSourceAppIndex(i);
552  transformBoundingBox(bbox, *_from_transforms[from_global_num]);
553  }
554 
555  // Cast the bounding box into a pair of points (so it can be put through
556  // MPI communication).
557  bb_points[i] = static_cast<std::pair<Point, Point>>(bbox);
558  }
559 
560  // Serialize the bounding box points.
561  _communicator.allgather(bb_points);
562 
563  // Recast the points back into bounding boxes and return.
564  std::vector<BoundingBox> bboxes(bb_points.size());
565  for (unsigned int i = 0; i < bb_points.size(); i++)
566  bboxes[i] = static_cast<BoundingBox>(bb_points[i]);
567 
568  // possibly extend bounding boxes
570 
571  return bboxes;
572 }
void allgather(const T &send_data, std::vector< T, A > &recv_data) const
void extendBoundingBoxes(const Real factor, std::vector< BoundingBox > &bboxes) const
Extends bounding boxes to avoid missing points.
static constexpr std::size_t dim
This is the dimension of all vector and tensor datastructures used in MOOSE.
Definition: Moose.h:148
const Parallel::Communicator & _communicator
auto max(const L &left, const R &right)
std::vector< MooseMesh * > _from_meshes
unsigned int getGlobalSourceAppIndex(unsigned int i_from) const
Return the global app index from the local index in the "from-multiapp" transfer direction.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Real _bbox_factor
Extend (or contract) bounding box by a factor in all directions Greater than one values of this membe...
std::vector< std::unique_ptr< MultiAppCoordTransform > > _from_transforms
IntRange< T > make_range(T beg, T end)
static void transformBoundingBox(BoundingBox &box, const MultiAppCoordTransform &transform)
Transform a bounding box according to the transformations in the provided coordinate transformation o...
StoredRange< MooseMesh::const_bnd_node_iterator, const BndNode * > ConstBndNodeRange
Some useful StoredRange typedefs.
Definition: MooseMesh.h:2026
auto min(const L &left, const R &right)

◆ getFromMultiApp()

const std::shared_ptr<MultiApp> MultiAppTransfer::getFromMultiApp ( ) const
inlineinherited

Get the MultiApp to transfer data from.

Definition at line 63 of file MultiAppTransfer.h.

Referenced by MultiAppVariableValueSamplePostprocessorTransfer::cacheElemToPostprocessorData(), MultiAppScalarToAuxScalarTransfer::checkSiblingsTransferSupported(), MultiAppPostprocessorToAuxScalarTransfer::checkSiblingsTransferSupported(), MultiAppPostprocessorTransfer::checkSiblingsTransferSupported(), MultiAppReporterTransfer::checkSiblingsTransferSupported(), MultiAppCopyTransfer::checkSiblingsTransferSupported(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppPostprocessorTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), MultiAppCopyTransfer::execute(), MultiAppGeometricInterpolationTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppCloneReporterTransfer::executeFromMultiapp(), MultiAppReporterTransfer::executeFromMultiapp(), MultiAppVectorPostprocessorTransfer::executeFromMultiapp(), MultiAppReporterTransfer::executeToMultiapp(), MultiAppReporterTransfer::initialSetup(), MultiAppCloneReporterTransfer::initialSetup(), MultiAppConservativeTransfer::initialSetup(), MultiAppVariableValueSampleTransfer::initialSetup(), MultiAppVariableValueSamplePostprocessorTransfer::initialSetup(), MultiAppDofCopyTransfer::initialSetup(), MultiAppGeneralFieldTransfer::initialSetup(), MultiAppPostprocessorInterpolationTransfer::MultiAppPostprocessorInterpolationTransfer(), MultiAppReporterTransfer::MultiAppReporterTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), MultiAppConservativeTransfer::postExecute(), and MultiAppVariableValueSamplePostprocessorTransfer::setupPostprocessorCommunication().

64  {
65  if (!_from_multi_app)
66  mooseError(
67  "A from_multiapp was requested but is unavailable. Check the from_multi_app parameter");
68  else
69  return _from_multi_app;
70  }
std::shared_ptr< MultiApp > _from_multi_app
The MultiApps this Transfer is transferring data to or from.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ getFromName()

std::string MultiAppTransfer::getFromName ( ) const
inlineinherited

Get the name of thing being transferred from.

Returns
the name of the multiapp or "Parent"

Definition at line 86 of file MultiAppTransfer.h.

87  {
88  if (_from_multi_app)
89  return _from_multi_app->name();
90  else
91  return "Parent";
92  }
std::shared_ptr< MultiApp > _from_multi_app
The MultiApps this Transfer is transferring data to or from.

◆ getFromsPerProc()

std::vector< unsigned int > MultiAppTransfer::getFromsPerProc ( )
protectedinherited

Return the number of "from" domains that each processor owns.

Note: same indexing as getFromBoundingBoxes

Definition at line 575 of file MultiAppTransfer.C.

Referenced by MultiAppNearestNodeTransfer::execute(), execute(), MultiAppGeneralFieldTransfer::prepareToTransfer(), and MultiAppShapeEvaluationTransfer::transferVariable().

576 {
577  std::vector<unsigned int> froms_per_proc;
578  if (_to_multi_app)
579  froms_per_proc.resize(n_processors(), 1);
580  if (_from_multi_app)
581  {
582  froms_per_proc.resize(n_processors());
583  _communicator.allgather(_from_multi_app->numLocalApps(), froms_per_proc);
584  }
585  return froms_per_proc;
586 }
void allgather(const T &send_data, std::vector< T, A > &recv_data) const
std::shared_ptr< MultiApp > _from_multi_app
The MultiApps this Transfer is transferring data to or from.
const Parallel::Communicator & _communicator
processor_id_type n_processors() const
std::shared_ptr< MultiApp > _to_multi_app

◆ getFromVarNames()

virtual std::vector<VariableName> MultiAppConservativeTransfer::getFromVarNames ( ) const
inlineoverrideprotectedvirtualinherited

Virtual function defining variables to be transferred.

Implements MultiAppFieldTransfer.

Definition at line 34 of file MultiAppConservativeTransfer.h.

34 { return _from_var_names; }
const std::vector< VariableName > _from_var_names
Name of variables transferring from.

◆ getGlobalSourceAppIndex()

unsigned int MultiAppTransfer::getGlobalSourceAppIndex ( unsigned int  i_from) const
protectedinherited

◆ getGlobalTargetAppIndex()

unsigned int MultiAppTransfer::getGlobalTargetAppIndex ( unsigned int  i_to) const
protectedinherited

Return the global app index from the local index in the "to-multiapp" transfer direction.

Definition at line 640 of file MultiAppTransfer.C.

Referenced by MultiAppGeneralFieldTransfer::cacheIncomingInterpVals(), MultiAppGeneralFieldTransfer::cacheOutgoingPointInfo(), MultiAppGeneralFieldTransfer::extractOutgoingPoints(), MultiAppTransfer::getPointInTargetAppFrame(), MultiAppGeneralFieldTransfer::locatePointReceivers(), and MultiAppGeneralFieldTransfer::setSolutionVectorValues().

641 {
642  mooseAssert(_current_direction == FROM_MULTIAPP || i_to < _to_local2global_map.size(),
643  "Out of bounds local to-app index");
645 }
MooseEnum _current_direction
Definition: Transfer.h:106
std::vector< unsigned int > _to_local2global_map
Given local app index, returns global app index.

◆ getLocalSourceAppIndex()

unsigned int MultiAppTransfer::getLocalSourceAppIndex ( unsigned int  i_from) const
protectedinherited

Return the local app index from the global index in the "from-multiapp" transfer direction We use the fact that global app indexes are consecutive on a given rank.

Definition at line 648 of file MultiAppTransfer.C.

649 {
651  ? 0
653 }
MooseEnum _current_direction
Definition: Transfer.h:106
std::vector< unsigned int > _from_local2global_map
Given local app index, returns global app index.

◆ getMooseApp()

MooseApp& MooseBase::getMooseApp ( ) const
inlineinherited

◆ getMultiApp()

const std::shared_ptr<MultiApp> MultiAppTransfer::getMultiApp ( ) const
inlineinherited

Use this getter to obtain the MultiApp for transfers with a single direction.

Definition at line 48 of file MultiAppTransfer.h.

Referenced by MultiAppCloneReporterTransfer::initialSetup(), and MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer().

49  {
51  mooseError("Unclear which app you want to retrieve from Transfer ", name());
52  else if (_from_multi_app)
53  return _from_multi_app;
54  else if (_to_multi_app)
55  return _to_multi_app;
56  else if (_multi_app)
57  return _multi_app;
58  else
59  mooseError("Should not get here, there should be a multiapp");
60  }
std::shared_ptr< MultiApp > _from_multi_app
The MultiApps this Transfer is transferring data to or from.
std::shared_ptr< MultiApp > _multi_app
Deprecated class attribute for compatibility with the apps.
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
std::shared_ptr< MultiApp > _to_multi_app
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ getParam() [1/2]

template<typename T >
const T & MooseBaseParameterInterface::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 210 of file MooseBaseParameterInterface.h.

Referenced by CreateDisplacedProblemAction::act(), AddPeriodicBCAction::act(), ADNodalKernel::ADNodalKernel(), ArrayParsedAux::ArrayParsedAux(), AddPeriodicBCAction::autoTranslationBoundaries(), BicubicSplineFunction::BicubicSplineFunction(), PiecewiseTabularBase::buildFromJSON(), PhysicsBase::checkVectorParamsNoOverlap(), PhysicsBase::checkVectorParamsSameLength(), FEProblemBase::createTagSolutions(), AccumulateReporter::declareLateValues(), DerivativeParsedMaterialTempl< is_ad >::DerivativeParsedMaterialTempl(), DynamicObjectRegistrationAction::DynamicObjectRegistrationAction(), EigenKernel::EigenKernel(), FEProblemBase::FEProblemBase(), FEProblemSolve::FEProblemSolve(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), FVInterfaceKernel::FVInterfaceKernel(), ExtraNodesetGenerator::generate(), FileMeshGenerator::generate(), BreakMeshByBlockGenerator::generate(), CoarsenBlockGenerator::generate(), GeneratedMeshGenerator::generate(), RefineBlockGenerator::generate(), RefineSidesetGenerator::generate(), SideSetsBetweenSubdomainsGenerator::generate(), BlockDeletionGenerator::generate(), MeshExtruderGenerator::generate(), ParsedGenerateSideset::generate(), GenericConstantRankTwoTensorTempl< is_ad >::GenericConstantRankTwoTensorTempl(), MooseApp::getCheckpointDirectories(), ExecutorInterface::getExecutor(), GhostingUserObject::GhostingUserObject(), TimeSequenceStepper::init(), IterationAdaptiveDT::init(), AdvancedOutput::init(), AttribThread::initFrom(), AttribSysNum::initFrom(), AttribResidualObject::initFrom(), AttribDisplaced::initFrom(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), Console::initialSetup(), IterationAdaptiveDT::limitDTToPostprocessorValue(), MooseMesh::MooseMesh(), MooseVariableBase::MooseVariableBase(), NestedDivision::NestedDivision(), ConsoleUtils::outputExecutionInformation(), ParsedAux::ParsedAux(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedElementDeletionGenerator::ParsedElementDeletionGenerator(), ParsedGenerateSideset::ParsedGenerateSideset(), ParsedMaterialTempl< is_ad >::ParsedMaterialTempl(), ParsedNodeTransformGenerator::ParsedNodeTransformGenerator(), ParsedODEKernel::ParsedODEKernel(), ParsedPostprocessor::ParsedPostprocessor(), ParsedSubdomainMeshGenerator::ParsedSubdomainMeshGenerator(), PiecewiseByBlockFunctorMaterialTempl< T >::PiecewiseByBlockFunctorMaterialTempl(), PiecewiseConstantByBlockMaterialTempl< is_ad >::PiecewiseConstantByBlockMaterialTempl(), RenameBlockGenerator::RenameBlockGenerator(), RenameBoundaryGenerator::RenameBoundaryGenerator(), Moose::FV::setInterpolationMethod(), SetupMeshAction::setupMesh(), SingleMatrixPreconditioner::SingleMatrixPreconditioner(), TimePeriod::TimePeriod(), UniqueExtraIDMeshGenerator::UniqueExtraIDMeshGenerator(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), and VectorOfPostprocessors::VectorOfPostprocessors().

211 {
212  return InputParameters::getParamHelper(name, _pars, static_cast<T *>(0));
213 }
static const T & getParamHelper(const std::string &name, const InputParameters &pars, const T *the_type, const MooseObject *moose_object=nullptr)
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.

◆ getParam() [2/2]

template<typename T1 , typename T2 >
std::vector< std::pair< T1, T2 > > MooseBaseParameterInterface::getParam ( const std::string &  param1,
const std::string &  param2 
) const
inherited

Retrieve two parameters and provide pair of parameters for the object.

Parameters
param1The name of first parameter
param2The name of second parameter
Returns
Vector of pairs of first and second parameters

Definition at line 267 of file MooseBaseParameterInterface.h.

268 {
269  return _pars.get<T1, T2>(param1, param2);
270 }
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.

◆ getPointInTargetAppFrame()

Point MultiAppTransfer::getPointInTargetAppFrame ( const Point &  p,
unsigned int  local_i_to,
const std::string &  phase 
) const
protectedinherited

Get the target app point from a point in the reference frame.

Parameters
pthe point in the reference frame
local_i_tothe local target problem into
phasethe phase of the transfer where this is being attempted in case we have to output an info message that the coordinate collapse is not being applied
Returns
the point in the target app frame

Definition at line 611 of file MultiAppTransfer.C.

Referenced by MultiAppGeneralFieldTransfer::cacheIncomingInterpVals(), and MultiAppGeneralFieldTransfer::examineLocalValueConflicts().

614 {
615  const auto & to_transform = _to_transforms[getGlobalTargetAppIndex(local_i_to)];
616  if (to_transform->hasCoordinateSystemTypeChange())
617  {
619  mooseInfo(phase + " cannot use the point in the target app frame due to the "
620  "non-uniqueness of the coordinate collapsing reverse mapping."
621  " Coordinate collapse is ignored for this operation");
622  to_transform->skipCoordinateCollapsing(true);
623  const auto target_point = to_transform->mapBack(p);
624  to_transform->skipCoordinateCollapsing(false);
625  return target_point;
626  }
627  else
628  return to_transform->mapBack(p);
629 }
std::vector< std::unique_ptr< MultiAppCoordTransform > > _to_transforms
const bool _skip_coordinate_collapsing
Whether to skip coordinate collapsing (transformations of coordinates between applications using diff...
void mooseInfo(Args &&... args) const
unsigned int getGlobalTargetAppIndex(unsigned int i_to) const
Return the global app index from the local index in the "to-multiapp" transfer direction.

◆ getRenamedParam()

template<typename T >
const T & MooseBaseParameterInterface::getRenamedParam ( const std::string &  old_name,
const std::string &  new_name 
) const
inherited

Retrieve a renamed parameter for the object.

This helper makes sure we check both names before erroring, and that only one parameter is passed to avoid silent errors

Parameters
old_namethe old name for the parameter
new_namethe new name for the parameter

Definition at line 217 of file MooseBaseParameterInterface.h.

219 {
220  // this enables having a default on the new parameter but bypassing it with the old one
221  // Most important: accept new parameter
222  if (isParamSetByUser(new_name) && !isParamValid(old_name))
223  return InputParameters::getParamHelper(new_name, _pars, static_cast<T *>(0));
224  // Second most: accept old parameter
225  else if (isParamValid(old_name) && !isParamSetByUser(new_name))
226  return InputParameters::getParamHelper(old_name, _pars, static_cast<T *>(0));
227  // Third most: accept default for new parameter
228  else if (isParamValid(new_name) && !isParamValid(old_name))
229  return InputParameters::getParamHelper(new_name, _pars, static_cast<T *>(0));
230  // Refuse: no default, no value passed
231  else if (!isParamValid(old_name) && !isParamValid(new_name))
232  mooseError(_pars.blockFullpath() + ": parameter '" + new_name +
233  "' is being retrieved without being set.\n"
234  "Did you misspell it?");
235  // Refuse: both old and new parameters set by user
236  else
237  mooseError(_pars.blockFullpath() + ": parameter '" + new_name +
238  "' may not be provided alongside former parameter '" + old_name + "'");
239 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:284
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
static const T & getParamHelper(const std::string &name, const InputParameters &pars, const T *the_type, const MooseObject *moose_object=nullptr)
bool isParamSetByUser(const std::string &nm) const
Test if the supplied parameter is set by a user, as opposed to not set or set to default.
std::string & blockFullpath()
Get/set a string representing the full HIT parameter path from the input file (e.g.
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.

◆ getRestartableData()

template<typename T , typename... Args>
const T & Restartable::getRestartableData ( const std::string &  data_name) const
protectedinherited

Declare a piece of data as "restartable" and initialize it Similar to declareRestartableData but returns a const reference to the object.

Forwarded arguments are not allowed in this case because we assume that the object is restarted and we won't need different constructors to initialize it.

NOTE: This returns a const reference! Make sure you store it in a const reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)

Definition at line 287 of file Restartable.h.

288 {
289  return declareRestartableDataHelper<T>(data_name, nullptr).get();
290 }

◆ getToMultiApp()

const std::shared_ptr<MultiApp> MultiAppTransfer::getToMultiApp ( ) const
inlineinherited

Get the MultiApp to transfer data to.

Definition at line 73 of file MultiAppTransfer.h.

Referenced by MultiAppPostprocessorToAuxScalarTransfer::checkSiblingsTransferSupported(), MultiAppScalarToAuxScalarTransfer::checkSiblingsTransferSupported(), MultiAppPostprocessorTransfer::checkSiblingsTransferSupported(), MultiAppReporterTransfer::checkSiblingsTransferSupported(), MultiAppCopyTransfer::checkSiblingsTransferSupported(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppPostprocessorTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), MultiAppCopyTransfer::execute(), MultiAppGeometricInterpolationTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppReporterTransfer::executeFromMultiapp(), MultiAppReporterTransfer::executeToMultiapp(), MultiAppVectorPostprocessorTransfer::executeToMultiapp(), MultiAppCloneReporterTransfer::initialSetup(), MultiAppReporterTransfer::initialSetup(), MultiAppConservativeTransfer::initialSetup(), MultiAppVariableValueSampleTransfer::initialSetup(), MultiAppVariableValueSamplePostprocessorTransfer::initialSetup(), MultiAppDofCopyTransfer::initialSetup(), MultiAppGeneralFieldTransfer::initialSetup(), MultiAppReporterTransfer::MultiAppReporterTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), and MultiAppConservativeTransfer::postExecute().

74  {
75  if (!_to_multi_app)
76  mooseError(
77  "A to_multiapp was requested but is unavailable. Check the to_multi_app parameter");
78  else
79  return _to_multi_app;
80  }
std::shared_ptr< MultiApp > _to_multi_app
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ getToName()

std::string MultiAppTransfer::getToName ( ) const
inlineinherited

Get the name of thing being transferred to.

Returns
the name of the multiapp or "Parent"

Definition at line 98 of file MultiAppTransfer.h.

99  {
100  if (_to_multi_app)
101  return _to_multi_app->name();
102  else
103  return "Parent";
104  }
std::shared_ptr< MultiApp > _to_multi_app

◆ getToVarNames()

virtual std::vector<AuxVariableName> MultiAppConservativeTransfer::getToVarNames ( ) const
inlineoverrideprotectedvirtualinherited

Virtual function defining variables to transfer to.

Implements MultiAppFieldTransfer.

Definition at line 35 of file MultiAppConservativeTransfer.h.

35 { return _to_var_names; }
const std::vector< AuxVariableName > _to_var_names
Name of variables transferring to.

◆ getTransferVector()

NumericVector< Real > & MultiAppTransfer::getTransferVector ( unsigned int  i_local,
std::string  var_name 
)
protectedinherited

If we are transferring to a multiapp, return the appropriate solution vector.

Definition at line 589 of file MultiAppTransfer.C.

Referenced by MultiAppNearestNodeTransfer::execute(), and MultiAppShapeEvaluationTransfer::transferVariable().

590 {
591  mooseAssert(_to_multi_app, "getTransferVector only works for transfers to multiapps");
592 
593  return _to_multi_app->appTransferVector(_to_local2global_map[i_local], var_name);
594 }
std::vector< unsigned int > _to_local2global_map
Given local app index, returns global app index.
std::shared_ptr< MultiApp > _to_multi_app

◆ hasFromMultiApp()

bool MultiAppTransfer::hasFromMultiApp ( ) const
inlineinherited

◆ hasToMultiApp()

bool MultiAppTransfer::hasToMultiApp ( ) const
inlineinherited

◆ initialSetup()

void MultiAppProjectionTransfer::initialSetup ( )
overridevirtual

Method called at the beginning of the simulation for checking integrity or doing one-time setup.

Reimplemented from MultiAppConservativeTransfer.

Definition at line 83 of file MultiAppProjectionTransfer.C.

84 {
86 
87  _proj_sys.resize(_to_problems.size(), NULL);
88 
89  for (unsigned int i_to = 0; i_to < _to_problems.size(); i_to++)
90  {
91  FEProblemBase & to_problem = *_to_problems[i_to];
92  EquationSystems & to_es = to_problem.es();
93 
94  // Add the projection system.
95  FEType fe_type = to_problem
96  .getVariable(0,
100  .feType();
101 
102  LinearImplicitSystem & proj_sys = to_es.add_system<LinearImplicitSystem>("proj-sys-" + name());
103 
104  proj_sys.get_dof_map().add_coupling_functor(
105  proj_sys.get_dof_map().default_coupling(),
106  false); // The false keeps it from getting added to the mesh
107 
108  _proj_var_num = proj_sys.add_variable("var", fe_type);
109  proj_sys.attach_assemble_function(assemble_l2);
110  _proj_sys[i_to] = &proj_sys;
111 
112  // Prevent the projection system from being written to checkpoint
113  // files. In the event of a recover or restart, we'll read the checkpoint
114  // before this initialSetup method is called. As a result, we'll find
115  // systems in the checkpoint (the projection systems) that we don't know
116  // what to do with, and there will be a crash. We could fix this by making
117  // the systems in the constructor, except we don't know how many sub apps
118  // there are at the time of construction. So instead, we'll just nuke the
119  // projection system and rebuild it from scratch every recover/restart.
120  proj_sys.hide_output() = true;
121 
122  // Reinitialize EquationSystems since we added a system.
123  to_es.reinit();
124  }
125 }
std::vector< FEProblemBase * > _to_problems
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
const FEType & feType() const
Get the type of finite element object.
virtual const MooseVariableFieldBase & getVariable(const 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) const override
Returns the variable reference for requested variable which must be of the expected_var_type (Nonline...
virtual EquationSystems & es() override
virtual void initialSetup() override
Method called at the beginning of the simulation for checking integrity or doing one-time setup...
std::vector< LinearImplicitSystem * > _proj_sys
unsigned int _proj_var_num
Having one projection variable number seems weird, but there is always one variable in every system b...
friend void assemble_l2(EquationSystems &es, const std::string &system_name)

◆ isParamSetByUser()

bool MooseBaseParameterInterface::isParamSetByUser ( const std::string &  nm) const
inlineinherited

Test if the supplied parameter is set by a user, as opposed to not set or set to default.

Parameters
nmThe name of the parameter to test

Definition at line 118 of file MooseBaseParameterInterface.h.

Referenced by SetupDebugAction::act(), SetAdaptivityOptionsAction::act(), ADConservativeAdvectionBC::ADConservativeAdvectionBC(), PhysicsBase::checkSecondParamSetOnlyIfFirstOneTrue(), LibtorchNeuralNetControl::conditionalParameterError(), MooseBaseParameterInterface::getRenamedParam(), MeshDiagnosticsGenerator::MeshDiagnosticsGenerator(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), Output::Output(), MultiAppGeneralFieldTransfer::outputValueConflicts(), PiecewiseTabularBase::PiecewiseTabularBase(), MooseMesh::prepare(), and SolutionUserObject::readXda().

118 { return _pars.isParamSetByUser(nm); }
bool isParamSetByUser(const std::string &name) const
Method returns true if the parameter was by the user.
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.

◆ isParamValid()

bool MooseBaseParameterInterface::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 112 of file MooseBaseParameterInterface.h.

Referenced by CopyNodalVarsAction::act(), SetupMeshAction::act(), ComposeTimeStepperAction::act(), SetupDebugAction::act(), CreateDisplacedProblemAction::act(), SetAdaptivityOptionsAction::act(), CommonOutputAction::act(), ADConservativeAdvectionBC::ADConservativeAdvectionBC(), DiffusionCG::addFEBCs(), DiffusionCG::addFEKernels(), DiffusionFV::addFVBCs(), DiffusionFV::addFVKernels(), DiffusionCG::addNonlinearVariables(), AdvectiveFluxAux::AdvectiveFluxAux(), ArrayHFEMDirichletBC::ArrayHFEMDirichletBC(), AddPeriodicBCAction::autoTranslationBoundaries(), BicubicSplineFunction::BicubicSplineFunction(), BlockDeletionGenerator::BlockDeletionGenerator(), PiecewiseTabularBase::buildFromFile(), PiecewiseTabularBase::buildFromJSON(), GeneratedMesh::buildMesh(), CartesianGridDivision::CartesianGridDivision(), CartesianMeshGenerator::CartesianMeshGenerator(), PhysicsBase::checkParamsBothSetOrNotSet(), PhysicsBase::checkVectorParamsSameLength(), LibmeshPartitioner::clone(), OversampleOutput::cloneMesh(), CombinerGenerator::CombinerGenerator(), CSVReaderVectorPostprocessor::CSVReaderVectorPostprocessor(), CutMeshByPlaneGenerator::CutMeshByPlaneGenerator(), ConstantReporter::declareConstantReporterValues(), DGKernelBase::DGKernelBase(), DiffusionFluxAux::DiffusionFluxAux(), DomainUserObject::DomainUserObject(), DynamicObjectRegistrationAction::DynamicObjectRegistrationAction(), Eigenvalue::Eigenvalue(), ElementExtremeFunctorValueTempl< is_ad >::ElementExtremeFunctorValueTempl(), ElementExtremeValue::ElementExtremeValue(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), PIDTransientControl::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppUserObjectTransfer::execute(), Exodus::Exodus(), ExtraIDIntegralReporter::ExtraIDIntegralReporter(), FEProblemBase::FEProblemBase(), FEProblemSolve::FEProblemSolve(), FieldSplitPreconditioner::FieldSplitPreconditioner(), FileOutput::FileOutput(), SpatialUserObjectVectorPostprocessor::fillPoints(), CombinerGenerator::fillPositions(), MultiApp::fillPositions(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), FunctionDT::FunctionDT(), FunctionValuePostprocessor::FunctionValuePostprocessor(), FVInterfaceKernel::FVInterfaceKernel(), FVMassMatrix::FVMassMatrix(), ExtraNodesetGenerator::generate(), FileMeshGenerator::generate(), LowerDBlockFromSidesetGenerator::generate(), SubdomainPerElementGenerator::generate(), AddMetaDataGenerator::generate(), BreakBoundaryOnSubdomainGenerator::generate(), SideSetsBetweenSubdomainsGenerator::generate(), BlockDeletionGenerator::generate(), GeneratedMeshGenerator::generate(), ParsedSubdomainMeshGenerator::generate(), MeshExtruderGenerator::generate(), XYDelaunayGenerator::generate(), ParsedGenerateSideset::generate(), SubdomainBoundingBoxGenerator::generate(), DistributedRectilinearMeshGenerator::generate(), MultiAppNearestNodeTransfer::getLocalEntitiesAndComponents(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), MooseBaseParameterInterface::getRenamedParam(), MultiAppNearestNodeTransfer::getTargetLocalNodes(), Terminator::handleMessage(), HFEMDirichletBC::HFEMDirichletBC(), EigenExecutionerBase::init(), IterationAdaptiveDT::init(), Eigenvalue::init(), AdvancedOutput::initExecutionTypes(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), MultiAppCloneReporterTransfer::initialSetup(), MultiAppVariableValueSampleTransfer::initialSetup(), PiecewiseTabularBase::initialSetup(), SolutionScalarAux::initialSetup(), SolutionAux::initialSetup(), Console::initialSetup(), MooseParsedVectorFunction::initialSetup(), MultiAppGeneralFieldTransfer::initialSetup(), MooseParsedGradFunction::initialSetup(), MooseParsedFunction::initialSetup(), IterationAdaptiveDT::IterationAdaptiveDT(), LeastSquaresFit::LeastSquaresFit(), LibmeshPartitioner::LibmeshPartitioner(), LibtorchNeuralNetControl::LibtorchNeuralNetControl(), MassMatrix::MassMatrix(), MatCoupledForce::MatCoupledForce(), MatDiffusionBase< Real >::MatDiffusionBase(), MooseMesh::MooseMesh(), MoosePreconditioner::MoosePreconditioner(), MooseVariableBase::MooseVariableBase(), MooseVariableFV< Real >::MooseVariableFV(), MortarConstraintBase::MortarConstraintBase(), MoveNodeGenerator::MoveNodeGenerator(), MultiApp::MultiApp(), MultiAppCloneReporterTransfer::MultiAppCloneReporterTransfer(), MultiAppGeneralFieldNearestLocationTransfer::MultiAppGeneralFieldNearestLocationTransfer(), MultiAppGeneralFieldShapeEvaluationTransfer::MultiAppGeneralFieldShapeEvaluationTransfer(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), MultiAppGeneralFieldUserObjectTransfer::MultiAppGeneralFieldUserObjectTransfer(), MultiAppPostprocessorInterpolationTransfer::MultiAppPostprocessorInterpolationTransfer(), MultiAppPostprocessorTransfer::MultiAppPostprocessorTransfer(), MultiAppReporterTransfer::MultiAppReporterTransfer(), MultiAppTransfer::MultiAppTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), MultiAppVariableValueSampleTransfer::MultiAppVariableValueSampleTransfer(), NodalExtremeValue::NodalExtremeValue(), EigenExecutionerBase::normalizeSolution(), Output::Output(), MultiAppGeneralFieldTransfer::outputValueConflicts(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedGenerateSideset::ParsedGenerateSideset(), PetscOutput::PetscOutput(), PhysicsBasedPreconditioner::PhysicsBasedPreconditioner(), PicardSolve::PicardSolve(), PIDTransientControl::PIDTransientControl(), PiecewiseTabularBase::PiecewiseTabularBase(), PlaneIDMeshGenerator::PlaneIDMeshGenerator(), MooseMesh::prepare(), MultiApp::readCommandLineArguments(), SolutionUserObject::readExodusII(), RenameBlockGenerator::RenameBlockGenerator(), RenameBoundaryGenerator::RenameBoundaryGenerator(), ReporterPointSource::ReporterPointSource(), MooseMesh::setCoordSystem(), FileOutput::setFileBase(), FileOutput::setFileBaseInternal(), Split::setup(), SetupMeshAction::setupMesh(), SideDiffusiveFluxIntegralTempl< is_ad, Real >::SideDiffusiveFluxIntegralTempl(), SideExtremeValue::SideExtremeValue(), SolutionUserObject::SolutionUserObject(), Terminator::Terminator(), TimeIntervalTimes::TimeIntervalTimes(), TimePeriod::TimePeriod(), MultiAppDofCopyTransfer::transfer(), TransformGenerator::TransformGenerator(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), and VectorMagnitudeFunctorMaterialTempl< is_ad >::VectorMagnitudeFunctorMaterialTempl().

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

◆ jacobianSetup()

void SetupInterface::jacobianSetup ( )
virtualinherited

◆ mooseDeprecated()

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

Definition at line 78 of file MooseBaseErrorInterface.h.

Referenced by FEProblemBase::addAuxArrayVariable(), FEProblemBase::addAuxScalarVariable(), FEProblemBase::addAuxVariable(), FEProblemBase::advanceMultiApps(), MultiApp::appProblem(), Executioner::augmentedPicardConvergenceCheck(), MooseMesh::buildSideList(), ChangeOverTimestepPostprocessor::ChangeOverTimestepPostprocessor(), FEProblemBase::computeResidual(), AddVariableAction::determineType(), EigenProblem::EigenProblem(), Eigenvalue::Eigenvalue(), MooseMesh::elem(), UserForcingFunction::f(), FaceFaceConstraint::FaceFaceConstraint(), FunctionDT::FunctionDT(), RandomICBase::generateRandom(), MooseMesh::getBoundariesToElems(), Control::getExecuteOptions(), FEProblemBase::getNonlinearSystem(), FEProblemBase::getUserObjects(), FEProblemBase::hasPostprocessor(), MatDiffusionBase< Real >::MatDiffusionBase(), MultiAppNearestNodeTransfer::MultiAppNearestNodeTransfer(), MultiAppShapeEvaluationTransfer::MultiAppShapeEvaluationTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), NodalScalarKernel::NodalScalarKernel(), MooseMesh::node(), FixedPointSolve::numPicardIts(), RelationshipManager::operator>=(), PercentChangePostprocessor::PercentChangePostprocessor(), Executioner::picardSolve(), ReferenceResidualProblem::ReferenceResidualProblem(), MooseMesh::setBoundaryToNormalMap(), Exodus::setOutputDimension(), and UserForcingFunction::UserForcingFunction().

79  {
80  moose::internal::mooseDeprecatedStream(_console, false, true, std::forward<Args>(args)...);
81  }
void mooseDeprecatedStream(S &oss, const bool expired, const bool print_title, Args &&... args)
Definition: MooseError.h:236
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.

◆ mooseError()

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

Emits an error prefixed with object name and type.

Definition at line 38 of file MooseBaseErrorInterface.h.

Referenced by HierarchicalGridPartitioner::_do_partition(), PetscExternalPartitioner::_do_partition(), MultiAppGeneralFieldTransfer::acceptPointInOriginMesh(), SetupMeshCompleteAction::act(), CheckFVBCAction::act(), CheckIntegrityAction::act(), AddMeshGeneratorAction::act(), AutoCheckpointAction::act(), CreateExecutionerAction::act(), AddFVICAction::act(), AddICAction::act(), InitProblemAction::act(), AddVectorPostprocessorAction::act(), CreateProblemAction::act(), CreateProblemDefaultAction::act(), SetupMeshAction::act(), SplitMeshAction::act(), AdaptivityAction::act(), SetupPredictorAction::act(), SetupTimeStepperAction::act(), AddTimeStepperAction::act(), DeprecatedBlockAction::act(), CreateDisplacedProblemAction::act(), MaterialDerivativeTestAction::act(), SetAdaptivityOptionsAction::act(), AddPeriodicBCAction::act(), CommonOutputAction::act(), MaterialOutputAction::act(), FEProblemBase::adaptMesh(), ADConservativeAdvectionBC::ADConservativeAdvectionBC(), FEProblemBase::addConstraint(), DistributedRectilinearMeshGenerator::addElement(), FEProblemBase::addFunction(), SubProblem::addFunctor(), FEProblemBase::addFVInitialCondition(), ADDGKernel::ADDGKernel(), FEProblemBase::addInitialCondition(), FEProblem::addLineSearch(), FEProblemBase::addLineSearch(), MeshGenerator::addMeshSubgenerator(), FEProblemBase::addOutput(), SubProblem::addPiecewiseByBlockLambdaFunctor(), DiracKernelBase::addPoint(), DistributedRectilinearMeshGenerator::addPoint(), DiracKernelBase::addPointWithValidId(), FEProblemBase::addPostprocessor(), CreateDisplacedProblemAction::addProxyRelationshipManagers(), MooseMesh::addQuadratureNode(), Action::addRelationshipManager(), FEProblemBase::addReporter(), AddVariableAction::addVariable(), FEProblemBase::addVectorPostprocessor(), SubProblem::addVectorTag(), ADInterfaceKernelTempl< T >::ADInterfaceKernelTempl(), ADPiecewiseLinearInterpolationMaterial::ADPiecewiseLinearInterpolationMaterial(), MooseVariableScalar::adUDot(), Output::advancedExecuteOn(), AdvectiveFluxAux::AdvectiveFluxAux(), MooseVariableBase::allDofIndices(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), ArrayConstantIC::ArrayConstantIC(), ArrayDGKernel::ArrayDGKernel(), ArrayDiffusion::ArrayDiffusion(), ArrayFunctionIC::ArrayFunctionIC(), ArrayParsedAux::ArrayParsedAux(), ArrayReaction::ArrayReaction(), ArrayTimeDerivative::ArrayTimeDerivative(), AddPeriodicBCAction::autoTranslationBoundaries(), AuxKernelTempl< Real >::AuxKernelTempl(), Function::average(), Axisymmetric2D3DSolutionFunction::Axisymmetric2D3DSolutionFunction(), BicubicSplineFunction::BicubicSplineFunction(), BlockDeletionGenerator::BlockDeletionGenerator(), BoundingValueElementDamper::BoundingValueElementDamper(), BoundingValueNodalDamper::BoundingValueNodalDamper(), BreakMeshByBlockGeneratorBase::BreakMeshByBlockGeneratorBase(), MooseMesh::buildCoarseningMap(), MultiApp::buildComm(), DistributedRectilinearMeshGenerator::buildCube(), PiecewiseTabularBase::buildFromFile(), PiecewiseTabularBase::buildFromJSON(), PiecewiseTabularBase::buildFromXY(), PiecewiseLinearBase::buildInterpolation(), MooseMesh::buildLowerDMesh(), TiledMesh::buildMesh(), GeneratedMesh::buildMesh(), SpiralAnnularMesh::buildMesh(), MeshGeneratorMesh::buildMesh(), ImageMeshGenerator::buildMesh3D(), ImageMesh::buildMesh3D(), MooseMesh::buildRefinementMap(), MaterialBase::buildRequiredMaterials(), MooseMesh::buildSideList(), MooseMesh::buildTypedMesh(), MooseMesh::cacheFaceInfoVariableOwnership(), CartesianGridDivision::CartesianGridDivision(), CartesianMeshGenerator::CartesianMeshGenerator(), UserObjectInterface::castUserObject(), ChangeOverFixedPointPostprocessor::ChangeOverFixedPointPostprocessor(), ChangeOverTimePostprocessor::ChangeOverTimePostprocessor(), EigenExecutionerBase::chebyshev(), SubProblem::checkBlockMatProps(), SubProblem::checkBoundaryMatProps(), MooseMesh::checkCoordinateSystems(), FEProblemBase::checkDependMaterialsHelper(), FEProblemBase::checkDisplacementOrders(), FEProblemBase::checkDuplicatePostprocessorVariableNames(), MooseMesh::checkDuplicateSubdomainNames(), FEProblemBase::checkExceptionAndStopSolve(), MaterialBase::checkExecutionStage(), MeshGenerator::checkGetMesh(), ReporterTransferInterface::checkHasReporterValue(), FEProblemBase::checkICRestartError(), Steady::checkIntegrity(), EigenExecutionerBase::checkIntegrity(), Eigenvalue::checkIntegrity(), ExplicitTimeIntegrator::checkLinearConvergence(), MeshDiagnosticsGenerator::checkNonConformalMeshFromAdaptivity(), PostprocessorInterface::checkParam(), FEProblemBase::checkProblemIntegrity(), Sampler::checkReinitStatus(), MultiAppPostprocessorToAuxScalarTransfer::checkSiblingsTransferSupported(), MultiAppScalarToAuxScalarTransfer::checkSiblingsTransferSupported(), MultiAppPostprocessorTransfer::checkSiblingsTransferSupported(), MultiAppReporterTransfer::checkSiblingsTransferSupported(), MultiAppCopyTransfer::checkSiblingsTransferSupported(), MultiAppTransfer::checkSiblingsTransferSupported(), MaterialBase::checkStatefulSanity(), FEProblemBase::checkUserObjects(), DomainUserObject::checkVariable(), MultiAppTransfer::checkVariable(), PhysicsBase::checkVectorParamsNoOverlap(), LibmeshPartitioner::clone(), MooseMesh::clone(), CombinerGenerator::CombinerGenerator(), ComparisonPostprocessor::comparisonIsTrue(), ElementSubdomainModifier::complementMovingBoundaryID(), ElementSubdomainModifier::complementMovingBoundaryName(), MooseVariableFieldBase::componentName(), CompositeFunction::CompositeFunction(), ElementH1ErrorFunctionAux::compute(), NodalPatchRecovery::compute(), FEProblemBase::computeBounds(), VariableCondensationPreconditioner::computeDInverseDiag(), CompositionDT::computeDT(), ArrayDGKernel::computeElemNeighJacobian(), ArrayDGKernel::computeElemNeighResidual(), InternalSideIntegralPostprocessor::computeFaceInfoIntegral(), SideIntegralPostprocessor::computeFaceInfoIntegral(), MooseVariableFieldBase::computeFaceValues(), TimeSequenceStepperBase::computeFailedDT(), IterationAdaptiveDT::computeFailedDT(), TimeStepper::computeFailedDT(), MooseMesh::computeFiniteVolumeCoords(), HistogramVectorPostprocessor::computeHistogram(), ArrayKernel::computeJacobian(), ArrayIntegratedBC::computeJacobian(), FVFluxKernel::computeJacobian(), NodalConstraint::computeJacobian(), FEProblemBase::computeJacobianTags(), LowerDIntegratedBC::computeLowerDOffDiagJacobian(), ArrayLowerDIntegratedBC::computeLowerDOffDiagJacobian(), EigenProblem::computeMatricesTags(), ArrayDGKernel::computeOffDiagElemNeighJacobian(), ArrayKernel::computeOffDiagJacobian(), ArrayIntegratedBC::computeOffDiagJacobian(), FVElementalKernel::computeOffDiagJacobian(), MortarScalarBase::computeOffDiagJacobianScalar(), DGLowerDKernel::computeOffDiagLowerDJacobian(), ArrayDGLowerDKernel::computeOffDiagLowerDJacobian(), MaterialBase::computeProperties(), ScalarKernel::computeQpJacobian(), CoupledTiedValueConstraint::computeQpJacobian(), TiedValueConstraint::computeQpJacobian(), NodalEqualValueConstraint::computeQpJacobian(), LinearNodalConstraint::computeQpJacobian(), EqualValueBoundaryConstraint::computeQpJacobian(), EqualValueEmbeddedConstraint::computeQpJacobian(), CoupledTiedValueConstraint::computeQpOffDiagJacobian(), EqualValueEmbeddedConstraint::computeQpOffDiagJacobian(), ScalarKernel::computeQpResidual(), NodalEqualValueConstraint::computeQpResidual(), KernelValue::computeQpResidual(), InterfaceQpValueUserObject::computeRealValue(), ArrayKernel::computeResidual(), ArrayIntegratedBC::computeResidual(), FVFluxBC::computeResidual(), FVFluxKernel::computeResidual(), NodalConstraint::computeResidual(), FVFluxKernel::computeResidualAndJacobian(), ResidualObject::computeResidualAndJacobian(), FEProblemBase::computeResidualAndJacobian(), FEProblemBase::computeResidualInternal(), FEProblemBase::computeResidualL2Norm(), FEProblemBase::computeResidualTag(), FEProblemBase::computeResidualTags(), FEProblemBase::computeResidualType(), KernelScalarBase::computeScalarOffDiagJacobian(), ADKernelScalarBase::computeScalarQpResidual(), ADMortarScalarBase::computeScalarQpResidual(), MortarScalarBase::computeScalarQpResidual(), KernelScalarBase::computeScalarQpResidual(), TimeStepper::computeStep(), ActuallyExplicitEuler::computeTimeDerivatives(), ExplicitEuler::computeTimeDerivatives(), ImplicitEuler::computeTimeDerivatives(), BDF2::computeTimeDerivatives(), NewmarkBeta::computeTimeDerivatives(), CentralDifference::computeTimeDerivatives(), CrankNicolson::computeTimeDerivatives(), LStableDirk2::computeTimeDerivatives(), LStableDirk3::computeTimeDerivatives(), ImplicitMidpoint::computeTimeDerivatives(), ExplicitTVDRK2::computeTimeDerivatives(), AStableDirk4::computeTimeDerivatives(), LStableDirk4::computeTimeDerivatives(), ExplicitRK2::computeTimeDerivatives(), MultiAppGeometricInterpolationTransfer::computeTransformation(), BuildArrayVariableAux::computeValue(), TagVectorArrayVariableAux::computeValue(), PenetrationAux::computeValue(), ConcentricCircleMesh::ConcentricCircleMesh(), ConditionalEnableControl::ConditionalEnableControl(), TimeStepper::constrainStep(), LibtorchNeuralNetControl::controlNeuralNet(), CoupledForceNodalKernel::CoupledForceNodalKernel(), MultiApp::createApp(), AddVariableAction::createInitialConditionAction(), Function::curl(), MooseVariableFV< Real >::curlPhi(), SidesetInfoVectorPostprocessor::dataHelper(), ReporterTransferInterface::declareClone(), MeshGenerator::declareMeshProperty(), ReporterTransferInterface::declareVectorClone(), FunctorRelationshipManager::delete_remote_elements(), MooseMesh::deleteRemoteElements(), BicubicSplineFunction::derivative(), DerivativeSumMaterialTempl< is_ad >::DerivativeSumMaterialTempl(), MooseMesh::detectPairedSidesets(), FEProblemBase::determineNonlinearSystem(), DGKernel::DGKernel(), MeshDiagnosticsGenerator::diagnosticsLog(), DistributedPositions::DistributedPositions(), Function::div(), FunctorBinnedValuesDivision::divisionIndex(), MooseVariableFV< Real >::divPhi(), FunctorRelationshipManager::dofmap_reinit(), EigenProblem::doFreeNonlinearPowerIterations(), FEProblemBase::duplicateVariableCheck(), EigenProblem::EigenProblem(), Eigenvalue::Eigenvalue(), Eigenvalues::Eigenvalues(), ElementalVariableValue::ElementalVariableValue(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), ElementIntegerAux::ElementIntegerAux(), ElementQualityAux::ElementQualityAux(), ElementUOAux::ElementUOAux(), DistributedRectilinearMeshGenerator::elemId(), ProjectionAux::elemOnNodeVariableIsDefinedOn(), MooseMesh::errorIfDistributedMesh(), SolutionUserObject::evalMeshFunction(), SolutionUserObject::evalMeshFunctionGradient(), SolutionUserObject::evalMultiValuedMeshFunction(), SolutionUserObject::evalMultiValuedMeshFunctionGradient(), MultiAppGeneralFieldTransfer::examineReceivedValueConflicts(), RestartableDataReporter::execute(), DiscreteElementUserObject::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), NodalValueSampler::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), ElementQualityChecker::execute(), MultiAppPostprocessorTransfer::execute(), PositionsFunctorValueSampler::execute(), PointValue::execute(), MultiAppVariableValueSampleTransfer::execute(), GreaterThanLessThanPostprocessor::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), FindValueOnLine::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppCopyTransfer::execute(), MultiAppGeometricInterpolationTransfer::execute(), InterfaceQpUserObjectBase::execute(), MultiAppUserObjectTransfer::execute(), LeastSquaresFit::execute(), VectorPostprocessorComparison::execute(), LeastSquaresFitHistory::execute(), TimeExtremeValue::execute(), Eigenvalue::execute(), DomainUserObject::execute(), FEProblemBase::execute(), FEProblemBase::executeControls(), MultiAppVectorPostprocessorTransfer::executeFromMultiapp(), MultiAppVectorPostprocessorTransfer::executeToMultiapp(), Exodus::Exodus(), ExplicitSSPRungeKutta::ExplicitSSPRungeKutta(), MultiAppGeneralFieldTransfer::extractOutgoingPoints(), FileOutput::FileOutput(), QuadraturePointMultiApp::fillPositions(), CentroidMultiApp::fillPositions(), MultiApp::fillPositions(), MultiAppGeometricInterpolationTransfer::fillSourceInterpolationPoints(), VerifyElementUniqueID::finalize(), VerifyNodalUniqueID::finalize(), DiscreteElementUserObject::finalize(), ElementQualityChecker::finalize(), MemoryUsage::finalize(), PointSamplerBase::finalize(), NearestPointAverage::finalize(), NearestPointIntegralVariablePostprocessor::finalize(), Transfer::find_sys(), BreakMeshByBlockGeneratorBase::findFreeBoundaryId(), FunctionDT::FunctionDT(), FunctionMaterialBase< is_ad >::FunctionMaterialBase(), FunctionScalarAux::FunctionScalarAux(), FunctionScalarIC::FunctionScalarIC(), MaterialOutputAction::functorMaterialOutputHelper(), FunctorSmootherTempl< T >::FunctorSmootherTempl(), FVInitialConditionTempl< T >::FVInitialConditionTempl(), FVMassMatrix::FVMassMatrix(), FVMatAdvection::FVMatAdvection(), FVScalarLagrangeMultiplierInterface::FVScalarLagrangeMultiplierInterface(), GapValueAux::GapValueAux(), WorkBalance::gather(), LowerDBlockFromSidesetGenerator::generate(), BlockToMeshConverterGenerator::generate(), ExtraNodesetGenerator::generate(), FileMeshGenerator::generate(), MoveNodeGenerator::generate(), PlaneIDMeshGenerator::generate(), RenameBlockGenerator::generate(), RenameBoundaryGenerator::generate(), SideSetsFromNormalsGenerator::generate(), SmoothMeshGenerator::generate(), SubdomainPerElementGenerator::generate(), TiledMeshGenerator::generate(), CoarsenBlockGenerator::generate(), CutMeshByPlaneGenerator::generate(), BreakMeshByBlockGenerator::generate(), GeneratedMeshGenerator::generate(), MeshDiagnosticsGenerator::generate(), MeshRepairGenerator::generate(), FlipSidesetGenerator::generate(), SideSetsFromPointsGenerator::generate(), MeshExtruderGenerator::generate(), MeshCollectionGenerator::generate(), SideSetsFromBoundingBoxGenerator::generate(), StackGenerator::generate(), StitchedMeshGenerator::generate(), CombinerGenerator::generate(), AllSideSetsByNormalsGenerator::generate(), SpiralAnnularMeshGenerator::generate(), XYDelaunayGenerator::generate(), XYMeshLineCutter::generate(), PatternedMeshGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), DistributedRectilinearMeshGenerator::generate(), BoundingBoxNodeSetGenerator::generate(), MeshGenerator::generateData(), GeneratedMesh::GeneratedMesh(), GeneratedMeshGenerator::GeneratedMeshGenerator(), MeshGenerator::generateInternal(), CircularBoundaryCorrectionGenerator::generateRadialCorrectionFactor(), RandomICBase::generateRandom(), GenericConstantMaterialTempl< is_ad >::GenericConstantMaterialTempl(), GenericConstantVectorMaterialTempl< is_ad >::GenericConstantVectorMaterialTempl(), GenericFunctionMaterialTempl< is_ad >::GenericFunctionMaterialTempl(), GenericFunctionVectorMaterialTempl< is_ad >::GenericFunctionVectorMaterialTempl(), GenericFunctorGradientMaterialTempl< is_ad >::GenericFunctorGradientMaterialTempl(), GenericFunctorMaterialTempl< is_ad >::GenericFunctorMaterialTempl(), GenericVectorFunctorMaterialTempl< is_ad >::GenericVectorFunctorMaterialTempl(), DisplacedProblem::getActualFieldVariable(), FEProblemBase::getActualFieldVariable(), DisplacedProblem::getArrayVariable(), FEProblemBase::getArrayVariable(), MooseMesh::getAxisymmetricRadialCoord(), MooseMesh::getBlockConnectedBlocks(), VariableOldValueBounds::getBound(), MooseMesh::getBoundaryID(), MultiApp::getBoundingBox(), MooseMesh::getCoarseningMap(), MooseVariableBase::getContinuity(), Control::getControllableParameterByName(), MooseMesh::getCoordSystem(), PhysicsBase::getCoupledPhysics(), PropertyReadFile::getData(), TransfiniteMeshGenerator::getDiscreteEdge(), FEProblemBase::getDistribution(), MooseVariableBase::getDofIndices(), VariableCondensationPreconditioner::getDofToCondense(), TransfiniteMeshGenerator::getEdge(), GhostingUserObject::getElementalValue(), ElementUOProvider::getElementalValueLong(), ElementUOProvider::getElementalValueReal(), PropertyReadFile::getElementData(), MooseMesh::getElementIDIndex(), Material::getElementIDNeighbor(), Material::getElementIDNeighborByName(), MooseMesh::getElemIDMapping(), MooseMesh::getElemIDsOnBlocks(), MultiAppFieldTransfer::getEquationSystem(), MultiApp::getExecutioner(), MultiAppTransfer::getFromMultiApp(), MultiAppTransfer::getFromMultiAppInfo(), FEProblemBase::getFunction(), SubProblem::getFunctor(), MooseMesh::getGeneralAxisymmetricCoordAxis(), DistributedRectilinearMeshGenerator::getGhostNeighbors(), BatchMaterial< Tuple, Output, Input >::getIndex(), DistributedRectilinearMeshGenerator::getIndices(), SolutionUserObject::getLocalVarIndex(), Material::getMaterialByName(), FEProblemBase::getMaterialData(), SubProblem::getMatrixTagID(), AnnularMesh::getMaxInDimension(), GeneratedMesh::getMaxInDimension(), FEProblemBase::getMaxQps(), FEProblemBase::getMeshDivision(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), AnnularMesh::getMinInDimension(), GeneratedMesh::getMinInDimension(), MultiAppTransfer::getMultiApp(), DistributedRectilinearMeshGenerator::getNeighbors(), Times::getNextTime(), MooseMesh::getNodeBlockIds(), PropertyReadFile::getNodeData(), MooseMesh::getNodeList(), EigenProblem::getNonlinearEigenSystem(), FEProblemBase::getNonlinearSystem(), MooseMesh::getPairedBoundaryMapping(), ImageMeshGenerator::GetPixelInfo(), ImageMesh::GetPixelInfo(), PlaneIDMeshGenerator::getPlaneID(), Positions::getPosition(), Positions::getPositions(), FEProblemBase::getPositionsObject(), Positions::getPositionsVector2D(), Positions::getPositionsVector3D(), Positions::getPositionsVector4D(), PostprocessorInterface::getPostprocessorValueByNameInternal(), Times::getPreviousTime(), InterfaceQpUserObjectBase::getQpValue(), MooseMesh::getRefinementMap(), ReporterInterface::getReporterName(), Reporter::getReporterValueName(), FEProblemBase::getSampler(), JSONFileReader::getScalar(), DisplacedProblem::getScalarVariable(), FEProblemBase::getScalarVariable(), InterfaceQpUserObjectBase::getSideAverageValue(), DisplacedProblem::getStandardVariable(), FEProblemBase::getStandardVariable(), MooseMesh::getSubdomainBoundaryIds(), DisplacedProblem::getSystem(), FEProblemBase::getSystem(), Times::getTimeAtIndex(), FEProblemBase::getTimeFromStateArg(), Transient::getTimeIntegratorName(), Times::getTimes(), MultiAppTransfer::getToMultiApp(), MultiAppTransfer::getToMultiAppInfo(), MooseMesh::getUniqueCoordSystem(), FEProblemBase::getUserObject(), FEProblemBase::getUserObjectBase(), UserObjectInterface::getUserObjectBaseByName(), UserObjectInterface::getUserObjectName(), NumRelationshipManagers::getValue(), VectorPostprocessorComponent::getValue(), Residual::getValue(), SideAverageValue::getValue(), LineValueSampler::getValue(), FindValueOnLine::getValueAtPoint(), SubProblem::getVariableHelper(), JSONFileReader::getVector(), VectorPostprocessorInterface::getVectorPostprocessorName(), SubProblem::getVectorTag(), SubProblem::getVectorTagID(), DisplacedProblem::getVectorVariable(), FEProblemBase::getVectorVariable(), GhostingAux::GhostingAux(), MultiApp::globalAppToLocal(), MooseParsedVectorFunction::gradient(), Function::gradient(), FEProblemBase::handleException(), Terminator::handleMessage(), MooseVariableBase::hasDoFsOnNodes(), PostprocessorInterface::hasPostprocessor(), PostprocessorInterface::hasPostprocessorByName(), ReporterInterface::hasReporterValue(), ReporterInterface::hasReporterValueByName(), VectorPostprocessorInterface::hasVectorPostprocessor(), VectorPostprocessorInterface::hasVectorPostprocessorByName(), CrankNicolson::init(), CSVTimeSequenceStepper::init(), ExplicitTimeIntegrator::init(), EigenExecutionerBase::init(), IterationAdaptiveDT::init(), Transient::init(), AddAuxVariableAction::init(), Eigenvalue::init(), AddVariableAction::init(), MooseMesh::init(), Sampler::init(), FEProblemBase::init(), MultiApp::init(), FEProblemBase::initialAdaptMesh(), NestedDivision::initialize(), TransformedPositions::initialize(), DistributedPositions::initialize(), ReporterPositions::initialize(), FunctorPositions::initialize(), ReporterTimes::initialize(), ElementGroupCentroidPositions::initialize(), FunctorTimes::initialize(), MultiAppCloneReporterTransfer::initialSetup(), SolutionIC::initialSetup(), IntegralPreservingFunctionIC::initialSetup(), MultiAppConservativeTransfer::initialSetup(), PiecewiseLinearBase::initialSetup(), ReferenceResidualProblem::initialSetup(), FullSolveMultiApp::initialSetup(), PiecewiseLinear::initialSetup(), CoarsenedPiecewiseLinear::initialSetup(), SolutionScalarAux::initialSetup(), MultiAppGeneralFieldNearestLocationTransfer::initialSetup(), SolutionAux::initialSetup(), NodalVariableValue::initialSetup(), Axisymmetric2D3DSolutionFunction::initialSetup(), Exodus::initialSetup(), CSV::initialSetup(), MooseParsedFunction::initialSetup(), SolutionUserObject::initialSetup(), FEProblemBase::initialSetup(), SubProblem::initialSetup(), AdvancedOutput::initOutputList(), AdvancedOutput::initShowHideLists(), Function::integral(), InterfaceDiffusiveFluxIntegralTempl< is_ad >::InterfaceDiffusiveFluxIntegralTempl(), InterfaceIntegralVariableValuePostprocessor::InterfaceIntegralVariableValuePostprocessor(), InterfaceKernelTempl< T >::InterfaceKernelTempl(), InterfaceTimeKernel::InterfaceTimeKernel(), MultiAppGeometricInterpolationTransfer::interpolateTargetPoints(), EigenExecutionerBase::inversePowerIteration(), InversePowerMethod::InversePowerMethod(), Sampler::isAdaptiveSamplingCompleted(), MooseMesh::isBoundaryFullyExternalToSubdomains(), MooseVariableBase::isNodal(), IterationAdaptiveDT::IterationAdaptiveDT(), LeastSquaresFit::LeastSquaresFit(), LibmeshPartitioner::LibmeshPartitioner(), LibtorchNeuralNetControl::LibtorchNeuralNetControl(), LinearCombinationPostprocessor::LinearCombinationPostprocessor(), LinearNodalConstraint::LinearNodalConstraint(), LineMaterialSamplerBase< Real >::LineMaterialSamplerBase(), LineSearch::lineSearch(), LineValueSampler::LineValueSampler(), MultiAppGeneralFieldTransfer::locatePointReceivers(), LowerBoundNodalKernel::LowerBoundNodalKernel(), MooseVariableFV< Real >::lowerDError(), PNGOutput::makePNG(), ReporterPointMarker::markerSetup(), MassMatrix::MassMatrix(), Material::Material(), MaterialOutputAction::materialOutputHelper(), MaterialRealTensorValueAux::MaterialRealTensorValueAux(), MaterialRealVectorValueAuxTempl< is_ad >::MaterialRealVectorValueAuxTempl(), MaterialStdVectorRealGradientAux::MaterialStdVectorRealGradientAux(), MaterialVectorPostprocessor::MaterialVectorPostprocessor(), Distribution::median(), FunctorRelationshipManager::mesh_reinit(), SubProblem::meshChanged(), MeshDiagnosticsGenerator::MeshDiagnosticsGenerator(), MeshExtruderGenerator::MeshExtruderGenerator(), MeshRepairGenerator::MeshRepairGenerator(), SetupMeshAction::modifyParamsForUseSplit(), MeshMetaDataInterface::mooseErrorInternal(), MooseMesh::MooseMesh(), MooseVariableBase::MooseVariableBase(), MooseVariableConstMonomial::MooseVariableConstMonomial(), MoveNodeGenerator::MoveNodeGenerator(), ElementSubdomainModifier::movingBoundaryID(), ElementSubdomainModifier::movingBoundaryName(), MultiApp::MultiApp(), MultiAppPostprocessorTransfer::MultiAppPostprocessorTransfer(), MultiAppTransfer::MultiAppTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), MultiAppVariableValueSamplePostprocessorTransfer::MultiAppVariableValueSamplePostprocessorTransfer(), NearestNodeDistanceAux::NearestNodeDistanceAux(), NearestNodeValueAux::NearestNodeValueAux(), FEProblemBase::needsPreviousNewtonIteration(), NewmarkBeta::NewmarkBeta(), NodalConstraint::NodalConstraint(), MooseVariableFV< Real >::nodalDofIndex(), MooseVariableFV< Real >::nodalDofIndexNeighbor(), MooseVariableFV< Real >::nodalMatrixTagValue(), NodalPatchRecoveryBase::nodalPatchRecovery(), NodalPatchRecoveryAuxBase::NodalPatchRecoveryAuxBase(), NodalScalarKernel::NodalScalarKernel(), MooseVariableFV< Real >::nodalValueArray(), MooseVariableFV< Real >::nodalValueOldArray(), MooseVariableFV< Real >::nodalValueOlderArray(), NodalVariableValue::NodalVariableValue(), MooseVariableFV< Real >::nodalVectorTagValue(), DistributedRectilinearMeshGenerator::nodeId(), PhysicsBase::nonlinearVariableExists(), MooseVariableFV< Real >::numberOfDofsNeighbor(), NumDOFs::NumDOFs(), NumFailedTimeSteps::NumFailedTimeSteps(), DistributedRectilinearMeshGenerator::numNeighbors(), NumNonlinearIterations::NumNonlinearIterations(), NumVars::NumVars(), Output::onInterval(), FunctorRelationshipManager::operator()(), RelationshipManager::operator==(), XDA::output(), SolutionHistory::output(), Exodus::output(), Output::Output(), AdvancedOutput::outputElementalVariables(), AdvancedOutput::outputInput(), AdvancedOutput::outputNodalVariables(), AdvancedOutput::outputPostprocessors(), AdvancedOutput::outputReporters(), AdvancedOutput::outputScalarVariables(), Exodus::outputSetup(), AdvancedOutput::outputSystemInformation(), Console::outputVectorPostprocessors(), AdvancedOutput::outputVectorPostprocessors(), DistributedRectilinearMeshGenerator::paritionSquarely(), PiecewiseBilinear::parse(), ParsedAux::ParsedAux(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedGenerateSideset::ParsedGenerateSideset(), ParsedODEKernel::ParsedODEKernel(), ParsedPostprocessor::ParsedPostprocessor(), ParsedSubdomainMeshGenerator::ParsedSubdomainMeshGenerator(), MultiAppConservativeTransfer::performAdjustment(), ExplicitTimeIntegrator::performExplicitSolve(), PetscExternalPartitioner::PetscExternalPartitioner(), MooseVariableFV< Real >::phiLowerSize(), PhysicsBasedPreconditioner::PhysicsBasedPreconditioner(), Executioner::picardSolve(), PIDTransientControl::PIDTransientControl(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), PiecewiseMulticonstant::PiecewiseMulticonstant(), PiecewiseMultiInterpolation::PiecewiseMultiInterpolation(), PiecewiseTabularBase::PiecewiseTabularBase(), CutMeshByPlaneGenerator::pointPairPlaneInterception(), SolutionUserObject::pointValueGradientWrapper(), SolutionUserObject::pointValueWrapper(), ReporterInterface::possiblyCheckHasReporter(), VectorPostprocessorInterface::possiblyCheckHasVectorPostprocessorByName(), LStableDirk2::postResidual(), LStableDirk3::postResidual(), ImplicitMidpoint::postResidual(), ExplicitTVDRK2::postResidual(), AStableDirk4::postResidual(), LStableDirk4::postResidual(), ExplicitRK2::postResidual(), EigenProblem::postScaleEigenVector(), VariableCondensationPreconditioner::preallocateCondensedJacobian(), ADKernelValueTempl< T >::precomputeQpJacobian(), Predictor::Predictor(), Transient::preExecute(), MooseMesh::prepare(), MooseMesh::prepared(), FixedPointSolve::printFixedPointConvergenceReason(), PseudoTimestep::PseudoTimestep(), MultiApp::readCommandLineArguments(), PropertyReadFile::readData(), SolutionUserObject::readExodusII(), SolutionUserObject::readXda(), CoarsenBlockGenerator::recursiveCoarsen(), FunctorRelationshipManager::redistribute(), ReferenceResidualProblem::ReferenceResidualProblem(), Sampler::reinit(), EqualValueEmbeddedConstraint::reinitConstraint(), RelativeSolutionDifferenceNorm::RelativeSolutionDifferenceNorm(), RinglebMesh::RinglebMesh(), RinglebMeshGenerator::RinglebMeshGenerator(), PiecewiseMultiInterpolation::sample(), ScalarComponentIC::ScalarComponentIC(), MortarScalarBase::scalarVariable(), DistributedRectilinearMeshGenerator::scaleNodalPositions(), BicubicSplineFunction::secondDerivative(), MooseVariableFV< Real >::secondPhi(), MooseVariableFV< Real >::secondPhiFace(), MooseVariableFV< Real >::secondPhiFaceNeighbor(), MooseVariableFV< Real >::secondPhiNeighbor(), FunctorRelationshipManager::set_mesh(), MooseVariableBase::setActiveTags(), DistributedRectilinearMeshGenerator::setBoundaryNames(), MooseMesh::setCoordSystem(), FEProblemBase::setCoupling(), PiecewiseBase::setData(), FileOutput::setFileBaseInternal(), MooseMesh::setGeneralAxisymmetricCoordAxes(), FEProblemSolve::setInnerSolve(), MeshGenerator::setMeshProperty(), FVPointValueConstraint::setMyElem(), FEProblemBase::setNonlocalCouplingMatrix(), Sampler::setNumberOfCols(), Sampler::setNumberOfRandomSeeds(), Sampler::setNumberOfRows(), Exodus::setOutputDimensionInExodusWriter(), MultiAppGeneralFieldTransfer::setSolutionVectorValues(), Split::setup(), TransientMultiApp::setupApp(), SetupMeshAction::setupMesh(), TimeSequenceStepperBase::setupSequence(), Transient::setupTimeIntegrator(), TimePeriodBase::setupTimes(), SideAdvectiveFluxIntegralTempl< is_ad >::SideAdvectiveFluxIntegralTempl(), SideDiffusiveFluxIntegralTempl< is_ad, Real >::SideDiffusiveFluxIntegralTempl(), SideSetsFromBoundingBoxGenerator::SideSetsFromBoundingBoxGenerator(), SideSetsFromNormalsGenerator::SideSetsFromNormalsGenerator(), SideSetsFromPointsGenerator::SideSetsFromPointsGenerator(), SingleMatrixPreconditioner::SingleMatrixPreconditioner(), SolutionTimeAdaptiveDT::SolutionTimeAdaptiveDT(), SolutionUserObject::SolutionUserObject(), FullSolveMultiApp::solveStep(), SpatialAverageBase::SpatialAverageBase(), UserObject::spatialPoints(), NearestPointAverage::spatialValue(), NearestPointIntegralVariablePostprocessor::spatialValue(), MeshDivisionFunctorReductionVectorPostprocessor::spatialValue(), UserObject::spatialValue(), SpiralAnnularMesh::SpiralAnnularMesh(), SpiralAnnularMeshGenerator::SpiralAnnularMeshGenerator(), StitchedMesh::StitchedMesh(), MultiAppGeometricInterpolationTransfer::subdomainIDsNode(), Constraint::subdomainSetup(), GeneralUserObject::subdomainSetup(), NodalUserObject::subdomainSetup(), MaterialBase::subdomainSetup(), FEProblemBase::swapBackMaterialsNeighbor(), Console::systemInfoFlags(), Terminator::Terminator(), CutMeshByPlaneGenerator::tet4ElemCutter(), ThreadedGeneralUserObject::threadJoin(), DiscreteElementUserObject::threadJoin(), GeneralUserObject::threadJoin(), Function::timeDerivative(), TimeExtremeValue::TimeExtremeValue(), TimeIntervalTimes::TimeIntervalTimes(), TimePeriodBase::TimePeriodBase(), VectorPostprocessorVisualizationAux::timestepSetup(), MultiAppDofCopyTransfer::transfer(), MultiAppShapeEvaluationTransfer::transferVariable(), TransformedPositions::TransformedPositions(), FEProblemBase::trustUserCouplingMatrix(), MooseVariableScalar::uDot(), MooseVariableScalar::uDotDot(), MooseVariableScalar::uDotDotOld(), FEProblemBase::uDotDotOldRequested(), MooseVariableScalar::uDotOld(), FEProblemBase::uDotOldRequested(), Positions::unrollMultiDPositions(), ScalarKernelBase::uOld(), AuxScalarKernel::uOld(), Checkpoint::updateCheckpointFiles(), EqualValueBoundaryConstraint::updateConstrainedNodes(), SolutionUserObject::updateExodusBracketingTimeIndices(), FEProblemBase::updateMaxQps(), UpperBoundNodalKernel::UpperBoundNodalKernel(), NearestPointAverage::userObjectValue(), NearestPointIntegralVariablePostprocessor::userObjectValue(), BoundingBoxIC::value(), PiecewiseConstantFromCSV::value(), IntegralPreservingFunctionIC::value(), Axisymmetric2D3DSolutionFunction::value(), Function::value(), ValueRangeMarker::ValueRangeMarker(), ValueThresholdMarker::ValueThresholdMarker(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), MultiAppTransfer::variableIntegrityCheck(), VariableTimeIntegrationAux::VariableTimeIntegrationAux(), AddVariableAction::variableType(), VariableValueVolumeHistogram::VariableValueVolumeHistogram(), VectorMagnitudeFunctorMaterialTempl< is_ad >::VectorMagnitudeFunctorMaterialTempl(), VectorNodalBC::VectorNodalBC(), SubProblem::vectorTagName(), SubProblem::vectorTagType(), MooseParsedGradFunction::vectorValue(), MooseParsedFunction::vectorValue(), Function::vectorValue(), SubProblem::verifyVectorTags(), VTKOutput::VTKOutput(), DOFMapOutput::writeStreamToFile(), and Console::writeStreamToFile().

39  {
40  std::ostringstream oss;
41  moose::internal::mooseStreamAll(oss, errorPrefix("error"), std::forward<Args>(args)...);
42  std::string msg = oss.str();
43  callMooseErrorRaw(msg, &_app);
44  }
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:91
void callMooseErrorRaw(std::string &msg, MooseApp *app)
MooseApp & _app
The MOOSE application this is associated with.
std::string errorPrefix(const std::string &error_type) const
A descriptive prefix for errors for this object:

◆ mooseErrorNonPrefixed()

template<typename... Args>
void MooseBaseErrorInterface::mooseErrorNonPrefixed ( Args &&...  args) const
inlineinherited

Emits an error without the prefixing included in mooseError().

Definition at line 50 of file MooseBaseErrorInterface.h.

51  {
52  std::ostringstream oss;
53  moose::internal::mooseStreamAll(oss, std::forward<Args>(args)...);
54  std::string msg = oss.str();
55  callMooseErrorRaw(msg, &_app);
56  }
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:91
void callMooseErrorRaw(std::string &msg, MooseApp *app)
MooseApp & _app
The MOOSE application this is associated with.

◆ mooseInfo()

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

◆ mooseWarning()

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

Emits a warning prefixed with object name and type.

Definition at line 62 of file MooseBaseErrorInterface.h.

Referenced by AddKernelAction::act(), SetupMeshAction::act(), MeshOnlyAction::act(), AddFunctionAction::act(), CommonOutputAction::act(), MaterialOutputAction::act(), DiracKernelBase::addPoint(), BoundaryMarker::BoundaryMarker(), BoundsBase::BoundsBase(), DistributedRectilinearMeshGenerator::buildCube(), MultiAppVariableValueSamplePostprocessorTransfer::cacheElemToPostprocessorData(), CartesianMeshGenerator::CartesianMeshGenerator(), CheckOutputAction::checkConsoleOutput(), MultiAppTransfer::checkMultiAppExecuteOn(), PhysicsBase::checkRequiredTasks(), OversampleOutput::cloneMesh(), GapValueAux::computeValue(), MultiApp::createApp(), MeshDiagnosticsGenerator::diagnosticsLog(), CartesianGridDivision::divisionIndex(), CylindricalGridDivision::divisionIndex(), SphericalGridDivision::divisionIndex(), Postprocessor::evaluateDotWarning(), MeshDivisionFunctorReductionVectorPostprocessor::execute(), ElementQualityChecker::finalize(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), FixedPointSolve::FixedPointSolve(), SubdomainPerElementGenerator::generate(), ParsedGenerateSideset::generate(), MultiAppTransfer::getAppInfo(), FunctorBinnedValuesDivision::getBinIndex(), PointSamplerBase::getLocalElemContainingPoint(), FEProblemBase::getMaterial(), Positions::getNearestPositionIndex(), LineValueSampler::getValue(), Terminator::handleMessage(), CartesianGridDivision::initialize(), SphericalGridDivision::initialize(), ElementGroupCentroidPositions::initialize(), CylindricalGridDivision::initialize(), ReferenceResidualProblem::initialSetup(), MultiAppGeneralFieldNearestLocationTransfer::initialSetup(), MultiAppGeneralFieldTransfer::initialSetup(), FEProblemBase::initialSetup(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), MaterialBase::initStatefulProperties(), LeastSquaresFit::LeastSquaresFit(), IterationAdaptiveDT::limitDTToPostprocessorValue(), MaterialVectorPostprocessor::MaterialVectorPostprocessor(), FEProblemBase::mesh(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), NewmarkBeta::NewmarkBeta(), NodalPatchRecovery::NodalPatchRecovery(), NonlocalIntegratedBC::NonlocalIntegratedBC(), NonlocalKernel::NonlocalKernel(), Output::Output(), MultiAppGeneralFieldTransfer::outputValueConflicts(), PiecewiseConstantFromCSV::PiecewiseConstantFromCSV(), Executioner::problem(), PropertyReadFile::readData(), TestSourceStepper::rejectStep(), MaterialBase::resetQpProperties(), SecondTimeDerivativeAux::SecondTimeDerivativeAux(), MooseMesh::setCoordSystem(), FEProblemBase::sizeZeroes(), TransientMultiApp::solveStep(), Tecplot::Tecplot(), TimeDerivativeAux::TimeDerivativeAux(), Checkpoint::updateCheckpointFiles(), PiecewiseConstantFromCSV::value(), and VariableCondensationPreconditioner::VariableCondensationPreconditioner().

63  {
65  _console, errorPrefix("warning"), std::forward<Args>(args)...);
66  }
void mooseWarningStream(S &oss, Args &&... args)
Definition: MooseError.h:181
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.
std::string errorPrefix(const std::string &error_type) const
A descriptive prefix for errors for this object:

◆ mooseWarningNonPrefixed()

template<typename... Args>
void MooseBaseErrorInterface::mooseWarningNonPrefixed ( Args &&...  args) const
inlineinherited

Emits a warning without the prefixing included in mooseWarning().

Definition at line 72 of file MooseBaseErrorInterface.h.

73  {
74  moose::internal::mooseWarningStream(_console, std::forward<Args>(args)...);
75  }
void mooseWarningStream(S &oss, Args &&... args)
Definition: MooseError.h:181
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.

◆ name()

virtual const std::string& MooseBase::name ( ) const
inlinevirtualinherited

Get the name of the class.

Returns
The name of the class

Reimplemented in MooseVariableBase.

Definition at line 56 of file MooseBase.h.

Referenced by HierarchicalGridPartitioner::_do_partition(), CopyNodalVarsAction::act(), AddElementalFieldAction::act(), AdaptivityAction::act(), AddTimeStepperAction::act(), DeprecatedBlockAction::act(), DisplayGhostingAction::act(), AddVariableAction::act(), AddPeriodicBCAction::act(), MaterialOutputAction::act(), FEProblemBase::addAnyRedistributers(), Executioner::addAttributeReporter(), FEProblemBase::addAuxKernel(), FEProblemBase::addAuxScalarKernel(), DisplacedProblem::addAuxVariable(), FEProblemBase::addBoundaryCondition(), FEProblemBase::addConstraint(), FEProblemBase::addDamper(), FEProblemBase::addDGKernel(), FEProblemBase::addDiracKernel(), FEProblemBase::addDistribution(), FEProblemBase::addFunction(), SubProblem::addFunctor(), FEProblemBase::addFunctorMaterial(), FunctorMaterial::addFunctorProperty(), FunctorMaterial::addFunctorPropertyByBlocks(), FEProblemBase::addFVBC(), FEProblemBase::addFVInitialCondition(), FEProblemBase::addFVInterfaceKernel(), FEProblemBase::addFVKernel(), ADDGKernel::ADDGKernel(), FEProblemBase::addIndicator(), FEProblemBase::addInitialCondition(), FEProblemBase::addInterfaceKernel(), FEProblemBase::addInterfaceMaterial(), FEProblemBase::addKernel(), FEProblemBase::addMarker(), FEProblemBase::addMaterial(), FEProblemBase::addMaterialHelper(), FEProblemBase::addMeshDivision(), MeshGenerator::addMeshSubgenerator(), FEProblemBase::addMultiApp(), FEProblemBase::addNodalKernel(), FEProblemBase::addObject(), SubProblem::addPiecewiseByBlockLambdaFunctor(), FEProblemBase::addPostprocessor(), InitialConditionBase::addPostprocessorDependencyHelper(), UserObject::addPostprocessorDependencyHelper(), FEProblemBase::addPredictor(), CreateDisplacedProblemAction::addProxyRelationshipManagers(), Action::addRelationshipManager(), FEProblemBase::addReporter(), FEProblemBase::addSampler(), FEProblemBase::addScalarKernel(), FEProblemBase::addTimeIntegrator(), FEProblemBase::addTransfer(), FEProblemBase::addUserObject(), InitialConditionBase::addUserObjectDependencyHelper(), UserObject::addUserObjectDependencyHelper(), AuxKernelTempl< Real >::addUserObjectDependencyHelper(), DisplacedProblem::addVariable(), FEProblemBase::addVectorPostprocessor(), UserObject::addVectorPostprocessorDependencyHelper(), FVFluxKernel::adjustRMGhostLayers(), Output::advancedExecuteOn(), AdvancedExtruderGenerator::AdvancedExtruderGenerator(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), ArrayDGKernel::ArrayDGKernel(), ArrayParsedAux::ArrayParsedAux(), AStableDirk4::AStableDirk4(), AuxKernelTempl< Real >::AuxKernelTempl(), Function::average(), MultiApp::backup(), CoarsenedPiecewiseLinear::buildCoarsenedGrid(), PiecewiseTabularBase::buildFromFile(), MultiAppVariableValueSamplePostprocessorTransfer::cacheElemToPostprocessorData(), ChangeOverFixedPointPostprocessor::ChangeOverFixedPointPostprocessor(), ChangeOverTimePostprocessor::ChangeOverTimePostprocessor(), FEProblemBase::checkDependMaterialsHelper(), FEProblemBase::checkICRestartError(), Material::checkMaterialProperty(), Damper::checkMinDamping(), Coupleable::checkWritableVar(), CompositeFunction::CompositeFunction(), MaterialBase::computeProperties(), FEProblemBase::computeUserObjectByName(), VectorPostprocessorVisualizationAux::computeValue(), MooseBaseParameterInterface::connectControllableParams(), BatchMaterial< Tuple, Output, Input >::construct(), MultiApp::createApp(), AddVariableAction::createInitialConditionAction(), MultiApp::createLocalApp(), MeshGeneratorSystem::createMeshGeneratorOrder(), MaterialBase::declareADProperty(), MeshGenerator::declareMeshesForSubByName(), MeshGenerator::declareNullMeshName(), MaterialBase::declareProperty(), DOFMapOutput::demangle(), DerivativeSumMaterialTempl< is_ad >::DerivativeSumMaterialTempl(), DGKernel::DGKernel(), DGKernelBase::DGKernelBase(), DomainUserObject::DomainUserObject(), DumpObjectsProblem::dumpObjectHelper(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), ElementValueSampler::ElementValueSampler(), MooseMesh::errorIfDistributedMesh(), MooseBaseErrorInterface::errorPrefix(), SolutionUserObject::evalMeshFunction(), SolutionUserObject::evalMeshFunctionGradient(), SolutionUserObject::evalMultiValuedMeshFunction(), SolutionUserObject::evalMultiValuedMeshFunctionGradient(), RestartableDataReporter::execute(), PointValue::execute(), MultiAppNearestNodeTransfer::execute(), Exodus::Exodus(), ExtraIDIntegralVectorPostprocessor::ExtraIDIntegralVectorPostprocessor(), MultiApp::fillPositions(), PointSamplerBase::finalize(), FunctionDT::FunctionDT(), FunctionIC::functionName(), FVFunctionIC::functionName(), FunctorPositions::FunctorPositions(), FunctorSmootherTempl< T >::FunctorSmootherTempl(), FVOneVarDiffusionInterface::FVOneVarDiffusionInterface(), MooseServer::gatherDocumentSymbols(), BoundaryDeletionGenerator::generate(), RenameBlockGenerator::generate(), RenameBoundaryGenerator::generate(), BreakMeshByBlockGenerator::generate(), ParsedSubdomainMeshGenerator::generate(), GeneratedMeshGenerator::generate(), StitchedMeshGenerator::generate(), XYDelaunayGenerator::generate(), ParsedGenerateSideset::generate(), SideSetsAroundSubdomainGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), MeshGenerator::generateInternal(), InterfaceMaterial::getADMaterialProperty(), Material::getADMaterialProperty(), MultiAppTransfer::getAppInfo(), MultiApp::getBoundingBox(), MooseApp::getCheckpointDirectories(), Control::getControllableParameterByName(), Control::getControllableValue(), Control::getControllableValueByName(), UserObject::getDependObjects(), DistributionInterface::getDistribution(), FEProblemBase::getDistribution(), DistributionInterface::getDistributionByName(), ElementUOProvider::getElementalValueLong(), ElementUOProvider::getElementalValueReal(), MultiApp::getExecutioner(), FEProblemBase::getExecutor(), OutputWarehouse::getFileNumbers(), FEProblemBase::getFunction(), SubProblem::getFunctor(), NodalPatchRecovery::getGenericMaterialProperty(), InterfaceMaterial::getGenericMaterialProperty(), Material::getGenericMaterialProperty(), AuxKernelTempl< Real >::getGenericMaterialProperty(), InterfaceMaterial::getGenericNeighborMaterialProperty(), InterfaceMaterial::getGenericNeighborMaterialPropertyByName(), Material::getGenericOptionalMaterialProperty(), MaterialBase::getGenericZeroMaterialProperty(), BatchMaterial< Tuple, Output, Input >::getIndex(), SolutionUserObject::getLocalVarIndex(), Marker::getMarkerValue(), Material::getMaterial(), FEProblemBase::getMaterial(), Material::getMaterialByName(), NodalPatchRecovery::getMaterialProperty(), InterfaceMaterial::getMaterialProperty(), Material::getMaterialProperty(), AuxKernelTempl< Real >::getMaterialProperty(), SubProblem::getMaterialPropertyBlockNames(), SubProblem::getMaterialPropertyBoundaryNames(), NodalPatchRecovery::getMaterialPropertyOld(), InterfaceMaterial::getMaterialPropertyOld(), Material::getMaterialPropertyOld(), AuxKernelTempl< Real >::getMaterialPropertyOld(), NodalPatchRecovery::getMaterialPropertyOlder(), InterfaceMaterial::getMaterialPropertyOlder(), Material::getMaterialPropertyOlder(), AuxKernelTempl< Real >::getMaterialPropertyOlder(), MeshGenerator::getMesh(), FEProblemBase::getMeshDivision(), MeshGenerator::getMeshesByName(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), MultiAppTransfer::getMultiApp(), InterfaceMaterial::getNeighborADMaterialProperty(), InterfaceMaterial::getNeighborMaterialProperty(), InterfaceMaterial::getNeighborMaterialPropertyOld(), InterfaceMaterial::getNeighborMaterialPropertyOlder(), MooseServer::getObjectParameters(), Material::getOptionalADMaterialProperty(), Material::getOptionalMaterialProperty(), Material::getOptionalMaterialPropertyOld(), Material::getOptionalMaterialPropertyOlder(), FEProblemBase::getPositionsObject(), FEProblemBase::getPostprocessorValueByName(), ReporterData::getReporterInfo(), FEProblemBase::getSampler(), Transient::getTimeStepperName(), ProjectedStatefulMaterialStorageAction::getTypeEnum(), FEProblemBase::getUserObject(), FEProblemBase::getUserObjectBase(), Terminator::handleMessage(), FEProblemBase::hasFunction(), SubProblem::hasFunctor(), SubProblem::hasFunctorWithType(), AdvancedOutput::hasOutputHelper(), FEProblemBase::hasPostprocessor(), FEProblemBase::hasPostprocessorValueByName(), FEProblemBase::hasUserObject(), IterationAdaptiveDT::init(), AdvancedOutput::init(), FEProblemBase::init(), AdvancedOutput::initExecutionTypes(), AttribName::initFrom(), NestedDivision::initialize(), TransformedPositions::initialize(), SolutionScalarAux::initialSetup(), initialSetup(), NodalVariableValue::initialSetup(), SolutionUserObject::initialSetup(), AdvancedOutput::initOutputList(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), MaterialBase::initStatefulProperties(), Function::integral(), InterfaceKernelTempl< T >::InterfaceKernelTempl(), MeshGenerator::isChildMeshGenerator(), MeshGenerator::isNullMeshName(), MeshGenerator::isParentMeshGenerator(), LinearCombinationFunction::LinearCombinationFunction(), FEProblemBase::logAdd(), Marker::Marker(), MatDiffusionBase< Real >::MatDiffusionBase(), Material::Material(), MaterialDerivativeTestKernelBase< Real >::MaterialDerivativeTestKernelBase(), MaterialVectorPostprocessor::MaterialVectorPostprocessor(), Distribution::median(), MemoryUsageReporter::MemoryUsageReporter(), MeshGenerator::meshPropertyPrefix(), MooseVariableInterface< Real >::MooseVariableInterface(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), NodalPatchRecoveryAuxBase::NodalPatchRecoveryAuxBase(), NodalValueSampler::NodalValueSampler(), PhysicsBase::nonlinearVariableExists(), Registry::objData(), MooseBaseParameterInterface::objectErrorPrefix(), MeshGenerator::Comparator::operator()(), ProgressOutput::output(), DOFMapOutput::output(), Output::Output(), AdvancedOutput::outputElementalVariables(), ConsoleUtils::outputExecutionInformation(), AdvancedOutput::outputInput(), AdvancedOutput::outputNodalVariables(), Nemesis::outputPostprocessors(), Exodus::outputPostprocessors(), AdvancedOutput::outputPostprocessors(), TableOutput::outputReporter(), AdvancedOutput::outputReporters(), AdvancedOutput::outputScalarVariables(), AdvancedOutput::outputSystemInformation(), AdvancedOutput::outputVectorPostprocessors(), ParsedAux::ParsedAux(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedGenerateSideset::ParsedGenerateSideset(), ParsedODEKernel::ParsedODEKernel(), ParsedSubdomainMeshGenerator::ParsedSubdomainMeshGenerator(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseByBlockFunctorMaterialTempl< T >::PiecewiseByBlockFunctorMaterialTempl(), PointVariableSamplerBase::PointVariableSamplerBase(), PhysicsBase::prefix(), MultiApp::readCommandLineArguments(), Receiver::Receiver(), Executor::Result::record(), Registry::registerObjectsTo(), FEProblemBase::registerRandomInterface(), GlobalParamsAction::remove(), MaterialBase::resetQpProperties(), MultiApp::restore(), ScalarComponentIC::ScalarComponentIC(), MultiApp::setAppOutputFileBase(), MooseMesh::setBoundaryName(), Control::setControllableValue(), Control::setControllableValueByName(), GlobalParamsAction::setDoubleIndexParam(), OutputWarehouse::setFileNumbers(), GlobalParamsAction::setParam(), FEProblemBase::setPostprocessorValueByName(), GlobalParamsAction::setScalarParam(), MooseMesh::setSubdomainName(), GlobalParamsAction::setTripleIndexParam(), Split::setup(), TransientMultiApp::setupApp(), GlobalParamsAction::setVectorParam(), FullSolveMultiApp::showStatusMessage(), SideSetExtruderGenerator::SideSetExtruderGenerator(), SideValueSampler::SideValueSampler(), TransientMultiApp::solveStep(), UserObject::spatialValue(), StitchedMesh::StitchedMesh(), SubProblem::storeBoundaryDelayedCheckMatProp(), SubProblem::storeBoundaryMatPropName(), SubProblem::storeBoundaryZeroMatProp(), SubProblem::storeSubdomainDelayedCheckMatProp(), SubProblem::storeSubdomainMatPropName(), SubProblem::storeSubdomainZeroMatProp(), MaterialBase::subdomainSetup(), TaggingInterface::TaggingInterface(), VectorPostprocessorVisualizationAux::timestepSetup(), MultiAppDofCopyTransfer::transfer(), TransientMultiApp::TransientMultiApp(), MooseServer::traverseParseTreeAndFillSymbols(), MooseBase::typeAndName(), MooseBaseParameterInterface::uniqueParameterName(), FVFluxBC::uOnGhost(), FVFluxBC::uOnUSub(), UserObject::UserObject(), UserObjectInterface::userObjectName(), MultiAppTransfer::variableIntegrityCheck(), VectorMagnitudeFunctorMaterialTempl< is_ad >::VectorMagnitudeFunctorMaterialTempl(), AdvancedOutput::wantOutput(), Coupleable::writableCoupledValue(), and Coupleable::writableVariable().

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

◆ objectErrorPrefix()

std::string MooseBaseParameterInterface::objectErrorPrefix ( const std::string &  error_type) const
inherited

A descriptive prefix for errors for an object.

Definition at line 58 of file MooseBaseParameterInterface.C.

Referenced by MooseBaseParameterInterface::paramErrorMsg().

59 {
60  std::stringstream oss;
61  oss << "The following " << error_type << " occurred in the class \"" << _moose_base->name()
62  << "\", of type \"" << _moose_base->type() << "\".\n\n";
63  return oss.str();
64 }
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
const MooseBase *const _moose_base
The MooseBase object that inherits this class.
const std::string & type() const
Get the type of this class.
Definition: MooseBase.h:50

◆ paramError()

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

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 243 of file MooseBaseParameterInterface.h.

Referenced by HierarchicalGridPartitioner::_do_partition(), SetupDebugAction::act(), ADConservativeAdvectionBC::ADConservativeAdvectionBC(), DiffusionCG::addFEKernels(), DiffusionFV::addFVKernels(), ADDGKernel::ADDGKernel(), DiffusionCG::addNonlinearVariables(), ReporterPointSource::addPoints(), ADIntegratedBCTempl< T >::ADIntegratedBCTempl(), ADKernelTempl< T >::ADKernelTempl(), ADNodalKernel::ADNodalKernel(), ADPenaltyPeriodicSegmentalConstraint::ADPenaltyPeriodicSegmentalConstraint(), ADPeriodicSegmentalConstraint::ADPeriodicSegmentalConstraint(), AdvancedExtruderGenerator::AdvancedExtruderGenerator(), AdvectiveFluxAux::AdvectiveFluxAux(), ADVectorFunctionDirichletBC::ADVectorFunctionDirichletBC(), AnnularMesh::AnnularMesh(), AnnularMeshGenerator::AnnularMeshGenerator(), ArrayBodyForce::ArrayBodyForce(), ArrayDGKernel::ArrayDGKernel(), ArrayDGLowerDKernel::ArrayDGLowerDKernel(), ArrayDirichletBC::ArrayDirichletBC(), ArrayHFEMDirichletBC::ArrayHFEMDirichletBC(), ArrayIntegratedBC::ArrayIntegratedBC(), ArrayKernel::ArrayKernel(), ArrayLowerDIntegratedBC::ArrayLowerDIntegratedBC(), ArrayParsedAux::ArrayParsedAux(), ArrayPenaltyDirichletBC::ArrayPenaltyDirichletBC(), ArrayVacuumBC::ArrayVacuumBC(), AuxKernelTempl< Real >::AuxKernelTempl(), BlockDeletionGenerator::BlockDeletionGenerator(), BlockWeightedPartitioner::BlockWeightedPartitioner(), BoundsBase::BoundsBase(), BreakMeshByBlockGenerator::BreakMeshByBlockGenerator(), BuildArrayVariableAux::BuildArrayVariableAux(), PiecewiseTabularBase::buildFromFile(), CartesianGridDivision::CartesianGridDivision(), UserObjectInterface::castUserObject(), checkComponent(), MeshGenerator::checkGetMesh(), PostprocessorInterface::checkParam(), PhysicsBase::checkParamsBothSetOrNotSet(), Checkpoint::Checkpoint(), PhysicsBase::checkSecondParamSetOnlyIfFirstOneTrue(), Coupleable::checkVar(), MultiAppTransfer::checkVariable(), PhysicsBase::checkVectorParamsSameLength(), CircularBoundaryCorrectionGenerator::CircularBoundaryCorrectionGenerator(), CircularBoundaryCorrectionGenerator::circularCenterCalculator(), MultiAppGeneralFieldTransfer::closestToPosition(), CoarsenBlockGenerator::CoarsenBlockGenerator(), CombinerGenerator::CombinerGenerator(), CompositionDT::CompositionDT(), ConcentricCircleMeshGenerator::ConcentricCircleMeshGenerator(), LibtorchNeuralNetControl::conditionalParameterError(), ConstantVectorPostprocessor::ConstantVectorPostprocessor(), ContainsPointAux::ContainsPointAux(), CopyValueAux::CopyValueAux(), Coupleable::Coupleable(), CoupledForceTempl< is_ad >::CoupledForceTempl(), CoupledValueFunctionMaterialTempl< is_ad >::CoupledValueFunctionMaterialTempl(), MultiApp::createApp(), MeshGeneratorSystem::createMeshGenerator(), CylindricalGridDivision::CylindricalGridDivision(), ConstantReporter::declareConstantReporterValues(), AccumulateReporter::declareLateValues(), DGKernel::DGKernel(), DGKernelBase::DGKernelBase(), DGLowerDKernel::DGLowerDKernel(), DiffusionFluxAux::DiffusionFluxAux(), DomainUserObject::DomainUserObject(), EigenProblem::EigenProblem(), Eigenvalue::Eigenvalue(), ElementExtremeFunctorValueTempl< is_ad >::ElementExtremeFunctorValueTempl(), ElementExtremeValue::ElementExtremeValue(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), ElementLengthAux::ElementLengthAux(), ElementLpNormAux::ElementLpNormAux(), ElementValueSampler::ElementValueSampler(), ElementVectorL2Error::ElementVectorL2Error(), ReporterPointSource::errorCheck(), MultiAppNearestNodeTransfer::execute(), MultiAppUserObjectTransfer::execute(), ExtraElementIDAux::ExtraElementIDAux(), ExtraElementIntegerDivision::ExtraElementIntegerDivision(), FEProblemSolve::FEProblemSolve(), FillBetweenCurvesGenerator::FillBetweenCurvesGenerator(), FillBetweenSidesetsGenerator::FillBetweenSidesetsGenerator(), ReporterPointSource::fillPoint(), SpatialUserObjectVectorPostprocessor::fillPoints(), CombinerGenerator::fillPositions(), MultiApp::fillPositions(), InternalSideIndicator::finalize(), FixedPointSolve::FixedPointSolve(), ForcingFunctionAux::ForcingFunctionAux(), FunctionArrayAux::FunctionArrayAux(), FunctionValuePostprocessor::FunctionValuePostprocessor(), FunctorADConverterTempl< T >::FunctorADConverterTempl(), FunctorAux::FunctorAux(), FunctorBinnedValuesDivision::FunctorBinnedValuesDivision(), FunctorElementalGradientAuxTempl< is_ad >::FunctorElementalGradientAuxTempl(), FunctorPositions::FunctorPositions(), FunctorVectorElementalAuxTempl< is_ad >::FunctorVectorElementalAuxTempl(), FVFluxBC::FVFluxBC(), FVInterfaceKernel::FVInterfaceKernel(), FVOneVarDiffusionInterface::FVOneVarDiffusionInterface(), FVTwoVarContinuityConstraint::FVTwoVarContinuityConstraint(), BoundaryDeletionGenerator::generate(), ElementsToTetrahedronsConverter::generate(), ExtraNodesetGenerator::generate(), FillBetweenCurvesGenerator::generate(), FillBetweenSidesetsGenerator::generate(), PlaneIDMeshGenerator::generate(), RenameBlockGenerator::generate(), RenameBoundaryGenerator::generate(), AddMetaDataGenerator::generate(), BlockToMeshConverterGenerator::generate(), BreakBoundaryOnSubdomainGenerator::generate(), FlipSidesetGenerator::generate(), BlockDeletionGenerator::generate(), BreakMeshByBlockGenerator::generate(), CoarsenBlockGenerator::generate(), CutMeshByPlaneGenerator::generate(), GeneratedMeshGenerator::generate(), ParsedSubdomainMeshGenerator::generate(), RefineBlockGenerator::generate(), RefineSidesetGenerator::generate(), SideSetsBetweenSubdomainsGenerator::generate(), CombinerGenerator::generate(), MeshCollectionGenerator::generate(), MeshExtruderGenerator::generate(), ParsedCurveGenerator::generate(), BreakMeshByElementGenerator::generate(), SideSetsFromBoundingBoxGenerator::generate(), StackGenerator::generate(), StitchedMeshGenerator::generate(), AdvancedExtruderGenerator::generate(), CircularBoundaryCorrectionGenerator::generate(), XYDelaunayGenerator::generate(), XYMeshLineCutter::generate(), ParsedGenerateSideset::generate(), SideSetsAroundSubdomainGenerator::generate(), PatternedMeshGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), GenericFunctorGradientMaterialTempl< is_ad >::GenericFunctorGradientMaterialTempl(), GenericFunctorMaterialTempl< is_ad >::GenericFunctorMaterialTempl(), GenericVectorFunctorMaterialTempl< is_ad >::GenericVectorFunctorMaterialTempl(), PropertyReadFile::getBlockData(), PropertyReadFile::getData(), Sampler::getGlobalSamples(), MultiAppNearestNodeTransfer::getLocalEntitiesAndComponents(), Sampler::getLocalSamples(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), Sampler::getNextLocalRow(), PostprocessorInterface::getPostprocessorNameInternal(), PostprocessorInterface::getPostprocessorValueInternal(), MultiAppNearestNodeTransfer::getTargetLocalNodes(), UserObjectInterface::getUserObjectBase(), UserObjectInterface::getUserObjectName(), HFEMDirichletBC::HFEMDirichletBC(), MultiApp::init(), DistributedPositions::initialize(), BlockWeightedPartitioner::initialize(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), PhysicsBase::initializePhysics(), MultiAppCloneReporterTransfer::initialSetup(), ReferenceResidualProblem::initialSetup(), MultiAppVariableValueSamplePostprocessorTransfer::initialSetup(), MultiAppGeneralFieldNearestLocationTransfer::initialSetup(), MultiAppDofCopyTransfer::initialSetup(), HistogramVectorPostprocessor::initialSetup(), PiecewiseConstantFromCSV::initialSetup(), LibtorchControlValuePostprocessor::initialSetup(), MultiAppGeneralFieldTransfer::initialSetup(), AddMetaDataGenerator::inputChecker(), IntegratedBC::IntegratedBC(), InterfaceDiffusiveFluxIntegralTempl< is_ad >::InterfaceDiffusiveFluxIntegralTempl(), InterfaceValueUserObjectAux::InterfaceValueUserObjectAux(), InterpolatedStatefulMaterialTempl< T >::InterpolatedStatefulMaterialTempl(), InversePowerMethod::InversePowerMethod(), IterationAdaptiveDT::IterationAdaptiveDT(), MultiApp::keepSolutionDuringRestore(), Kernel::Kernel(), LibtorchNeuralNetControl::LibtorchNeuralNetControl(), LinearCombinationFunction::LinearCombinationFunction(), LowerDIntegratedBC::LowerDIntegratedBC(), PNGOutput::makeMeshFunc(), MatCoupledForce::MatCoupledForce(), MaterialADConverterTempl< T >::MaterialADConverterTempl(), MaterialFunctorConverterTempl< T >::MaterialFunctorConverterTempl(), PatternedMeshGenerator::mergeSubdomainNameMaps(), MeshCollectionGenerator::MeshCollectionGenerator(), MeshDiagnosticsGenerator::MeshDiagnosticsGenerator(), MeshDivisionAux::MeshDivisionAux(), MeshGenerator::MeshGenerator(), MoosePreconditioner::MoosePreconditioner(), MooseVariableBase::MooseVariableBase(), MortarConstraintBase::MortarConstraintBase(), MortarNodalAuxKernelTempl< ComputeValueType >::MortarNodalAuxKernelTempl(), MultiApp::moveApp(), MoveNodeGenerator::MoveNodeGenerator(), MultiApp::MultiApp(), MultiAppCloneReporterTransfer::MultiAppCloneReporterTransfer(), MultiAppGeneralFieldNearestLocationTransfer::MultiAppGeneralFieldNearestLocationTransfer(), MultiAppGeneralFieldShapeEvaluationTransfer::MultiAppGeneralFieldShapeEvaluationTransfer(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), MultiAppGeneralFieldUserObjectTransfer::MultiAppGeneralFieldUserObjectTransfer(), MultiAppGeometricInterpolationTransfer::MultiAppGeometricInterpolationTransfer(), MultiAppNearestNodeTransfer::MultiAppNearestNodeTransfer(), MultiAppPostprocessorInterpolationTransfer::MultiAppPostprocessorInterpolationTransfer(), MultiAppPostprocessorToAuxScalarTransfer::MultiAppPostprocessorToAuxScalarTransfer(), MultiAppPostprocessorTransfer::MultiAppPostprocessorTransfer(), MultiAppProjectionTransfer(), MultiAppReporterTransfer::MultiAppReporterTransfer(), MultiAppScalarToAuxScalarTransfer::MultiAppScalarToAuxScalarTransfer(), MultiAppShapeEvaluationTransfer::MultiAppShapeEvaluationTransfer(), MultiAppTransfer::MultiAppTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), MultiAppVariableValueSamplePostprocessorTransfer::MultiAppVariableValueSamplePostprocessorTransfer(), MultiAppVariableValueSampleTransfer::MultiAppVariableValueSampleTransfer(), MultiAppVectorPostprocessorTransfer::MultiAppVectorPostprocessorTransfer(), NestedDivision::NestedDivision(), NodalBC::NodalBC(), NodalEqualValueConstraint::NodalEqualValueConstraint(), NodalKernel::NodalKernel(), NodalPatchRecoveryAux::NodalPatchRecoveryAux(), NodalValueSampler::NodalValueSampler(), Output::Output(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedElementDeletionGenerator::ParsedElementDeletionGenerator(), ParsedFunctorMaterialTempl< is_ad >::ParsedFunctorMaterialTempl(), ParsedGenerateSideset::ParsedGenerateSideset(), ParsedNodeTransformGenerator::ParsedNodeTransformGenerator(), PatchMeshGenerator::PatchMeshGenerator(), PatternedMeshGenerator::PatternedMeshGenerator(), PenaltyPeriodicSegmentalConstraint::PenaltyPeriodicSegmentalConstraint(), PeriodicSegmentalConstraint::PeriodicSegmentalConstraint(), PIDTransientControl::PIDTransientControl(), PlaneDeletionGenerator::PlaneDeletionGenerator(), PlaneIDMeshGenerator::PlaneIDMeshGenerator(), PointwiseRenormalizeVector::PointwiseRenormalizeVector(), PolyLineMeshGenerator::PolyLineMeshGenerator(), ReporterInterface::possiblyCheckHasReporter(), VectorPostprocessorInterface::possiblyCheckHasVectorPostprocessor(), LibmeshPartitioner::prepareBlocksForSubdomainPartitioner(), ProjectedMaterialPropertyNodalPatchRecoveryAux::ProjectedMaterialPropertyNodalPatchRecoveryAux(), PropertyReadFile::PropertyReadFile(), RandomIC::RandomIC(), MultiApp::readCommandLineArguments(), PropertyReadFile::readData(), SolutionUserObject::readXda(), ReferenceResidualProblem::ReferenceResidualProblem(), RefineBlockGenerator::RefineBlockGenerator(), RefineSidesetGenerator::RefineSidesetGenerator(), RenameBlockGenerator::RenameBlockGenerator(), RenameBoundaryGenerator::RenameBoundaryGenerator(), ReporterPointSource::ReporterPointSource(), SecondTimeDerivativeAux::SecondTimeDerivativeAux(), MooseMesh::setPartitioner(), TimeSequenceStepperBase::setupSequence(), SingleRankPartitioner::SingleRankPartitioner(), SphericalGridDivision::SphericalGridDivision(), SymmetryTransformGenerator::SymmetryTransformGenerator(), Terminator::Terminator(), TimeDerivativeAux::TimeDerivativeAux(), Transfer::Transfer(), TransformGenerator::TransformGenerator(), TransientMultiApp::TransientMultiApp(), ParsedCurveGenerator::tSectionSpaceDefiner(), UniqueExtraIDMeshGenerator::UniqueExtraIDMeshGenerator(), UserObject::UserObject(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), VectorBodyForce::VectorBodyForce(), VectorFunctionDirichletBC::VectorFunctionDirichletBC(), VectorFunctionIC::VectorFunctionIC(), VolumeAux::VolumeAux(), XYDelaunayGenerator::XYDelaunayGenerator(), and XYMeshLineCutter::XYMeshLineCutter().

244 {
245  Moose::show_trace = false;
246  std::string msg = paramErrorMsg(param, std::forward<Args>(args)...);
248  Moose::show_trace = true;
249 }
bool show_trace
Set to true (the default) to print the stack trace with error and warning messages - false to omit it...
Definition: Moose.C:642
MooseApp & getMooseApp() const
Get the MooseApp this class is associated with.
Definition: MooseBase.h:44
void callMooseErrorRaw(std::string &msg, MooseApp *app)
const MooseBase *const _moose_base
The MooseBase object that inherits this class.
std::string paramErrorMsg(const std::string &param, Args... args) const

◆ parameters()

const InputParameters& MooseBaseParameterInterface::parameters ( ) const
inlineinherited

Get the parameters of the object.

Returns
The parameters of the object

Definition at line 63 of file MooseBaseParameterInterface.h.

Referenced by SetupDebugAction::act(), FEProblemBase::addAuxKernel(), FEProblemBase::addAuxScalarKernel(), DisplacedProblem::addAuxVariable(), FEProblemBase::addBoundaryCondition(), FEProblemBase::addConstraint(), FEProblemBase::addDamper(), FEProblemBase::addDGKernel(), FEProblemBase::addDiracKernel(), FEProblemBase::addDistribution(), FEProblemBase::addFunction(), FEProblemBase::addFunctorMaterial(), FEProblemBase::addFVBC(), FEProblemBase::addFVInitialCondition(), FEProblemBase::addFVInterfaceKernel(), FEProblemBase::addFVKernel(), FEProblemBase::addIndicator(), FEProblemBase::addInitialCondition(), FEProblemBase::addInterfaceKernel(), FEProblemBase::addInterfaceMaterial(), FEProblemBase::addKernel(), FEProblem::addLineSearch(), FEProblemBase::addMarker(), FEProblemBase::addMaterial(), FEProblemBase::addMaterialHelper(), FEProblemBase::addMeshDivision(), FEProblemBase::addMultiApp(), FEProblemBase::addNodalKernel(), FEProblemBase::addObject(), FEProblemBase::addObjectParamsHelper(), FEProblemBase::addOutput(), FEProblemBase::addPostprocessor(), FEProblemBase::addPredictor(), FEProblemBase::addReporter(), FEProblemBase::addSampler(), FEProblemBase::addScalarKernel(), FEProblemBase::addTimeIntegrator(), FEProblemBase::addTransfer(), FEProblemBase::addUserObject(), DisplacedProblem::addVariable(), FEProblemBase::addVectorPostprocessor(), ADPiecewiseLinearInterpolationMaterial::ADPiecewiseLinearInterpolationMaterial(), AdvancedOutput::AdvancedOutput(), ADVectorFunctionDirichletBC::ADVectorFunctionDirichletBC(), AnnularMesh::AnnularMesh(), AnnularMeshGenerator::AnnularMeshGenerator(), assemble_l2(), Moose::assemble_matrix(), PhysicsBase::assertParamDefined(), AuxKernelTempl< Real >::AuxKernelTempl(), AuxScalarKernel::AuxScalarKernel(), BoundsBase::BoundsBase(), MooseMesh::buildTypedMesh(), UserObjectInterface::castUserObject(), PostprocessorInterface::checkParam(), PhysicsBase::checkSecondParamSetOnlyIfFirstOneTrue(), LibmeshPartitioner::clone(), OversampleOutput::cloneMesh(), Moose::compute_bounds(), Moose::compute_jacobian(), Moose::compute_nearnullspace(), Moose::compute_nullspace(), Moose::compute_postcheck(), Moose::compute_transpose_nullspace(), LibtorchNeuralNetControl::conditionalParameterError(), Console::Console(), MultiApp::createApp(), Postprocessor::declareValue(), DumpObjectsProblem::deduceNecessaryParameters(), DumpObjectsProblem::dumpObjectHelper(), EigenProblem::EigenProblem(), Eigenvalue::Eigenvalue(), Executor::Executor(), Exodus::Exodus(), FEProblem::FEProblem(), FEProblemBase::FEProblemBase(), FixedPointSolve::FixedPointSolve(), FunctorSmootherTempl< T >::FunctorSmootherTempl(), GapValueAux::GapValueAux(), ParsedSubdomainMeshGenerator::generate(), ParsedGenerateSideset::generate(), MooseBaseParameterInterface::getCheckedPointerParam(), ExecutorInterface::getExecutor(), Material::getMaterial(), ReporterInterface::getReporterName(), Reporter::getReporterValueName(), UserObjectInterface::getUserObjectName(), VectorPostprocessorInterface::getVectorPostprocessorName(), GhostingUserObject::GhostingUserObject(), AttribSystem::initFrom(), AttribDisplaced::initFrom(), BlockRestrictable::initializeBlockRestrictable(), FullSolveMultiApp::initialSetup(), FEProblemBase::initNullSpaceVectors(), InterfaceDiffusiveFluxIntegralTempl< is_ad >::InterfaceDiffusiveFluxIntegralTempl(), InterfaceIntegralVariableValuePostprocessor::InterfaceIntegralVariableValuePostprocessor(), InterfaceKernelTempl< T >::InterfaceKernelTempl(), isValid(), IterationAdaptiveDT::IterationAdaptiveDT(), LibtorchNeuralNetControl::LibtorchNeuralNetControl(), MaterialVectorPostprocessor::MaterialVectorPostprocessor(), MooseVariableInterface< Real >::MooseVariableInterface(), MultiApp::MultiApp(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), MultiAppGeneralFieldUserObjectTransfer::MultiAppGeneralFieldUserObjectTransfer(), MultiAppTransfer::MultiAppTransfer(), MultiAppVariableValueSamplePostprocessorTransfer::MultiAppVariableValueSamplePostprocessorTransfer(), NodeFaceConstraint::NodeFaceConstraint(), OverlayMeshGenerator::OverlayMeshGenerator(), PatchMeshGenerator::PatchMeshGenerator(), PenetrationAux::PenetrationAux(), PicardSolve::PicardSolve(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), ProjectedStatefulMaterialStorageAction::processProperty(), PropertyReadFile::PropertyReadFile(), PseudoTimestep::PseudoTimestep(), RandomIC::RandomIC(), InputParameterWarehouse::removeInputParameters(), OutputWarehouse::resetFileBase(), FEProblem::setInputParametersFEProblem(), FEProblemBase::setInputParametersFEProblem(), SideSetsFromBoundingBoxGenerator::SideSetsFromBoundingBoxGenerator(), SteffensenSolve::SteffensenSolve(), DumpObjectsProblem::stringifyParameters(), TaggingInterface::TaggingInterface(), Transfer::Transfer(), Transient::Transient(), VectorBodyForce::VectorBodyForce(), VectorFunctionDirichletBC::VectorFunctionDirichletBC(), VectorFunctionIC::VectorFunctionIC(), and VectorMagnitudeFunctorMaterialTempl< is_ad >::VectorMagnitudeFunctorMaterialTempl().

63 { return _pars; }
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.

◆ paramInfo()

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

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 260 of file MooseBaseParameterInterface.h.

Referenced by TransientMultiApp::TransientMultiApp().

261 {
262  mooseInfo(paramErrorMsg(param, std::forward<Args>(args)...));
263 }
void mooseInfo(Args &&... args)
Emit an informational message with the given stringified, concatenated args.
Definition: MooseError.h:329
std::string paramErrorMsg(const std::string &param, Args... args) const

◆ paramWarning()

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

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 253 of file MooseBaseParameterInterface.h.

Referenced by MultiAppNearestNodeTransfer::execute(), FEProblemSolve::FEProblemSolve(), UniqueExtraIDMeshGenerator::generate(), PlaneIDMeshGenerator::generate(), Terminator::initialSetup(), and MooseMesh::MooseMesh().

254 {
255  mooseWarning(paramErrorMsg(param, std::forward<Args>(args)...));
256 }
void mooseWarning(Args &&... args)
Emit a warning message with the given stringified, concatenated args.
Definition: MooseError.h:296
std::string paramErrorMsg(const std::string &param, Args... args) const

◆ perfGraph()

PerfGraph & PerfGraphInterface::perfGraph ( )
inherited

Get the PerfGraph.

Definition at line 78 of file PerfGraphInterface.C.

Referenced by CommonOutputAction::act(), PerfGraphData::finalize(), and PerfGraphOutput::output().

79 {
80  return _pg_moose_app.perfGraph();
81 }
MooseApp & _pg_moose_app
The MooseApp that owns the PerfGraph.
PerfGraph & perfGraph()
Get the PerfGraph for this app.
Definition: MooseApp.h:144

◆ performAdjustment()

bool MultiAppConservativeTransfer::performAdjustment ( const PostprocessorValue from,
const PostprocessorValue to 
) const
protectedinherited

Definition at line 526 of file MultiAppConservativeTransfer.C.

Referenced by MultiAppConservativeTransfer::adjustTransferredSolution(), and MultiAppConservativeTransfer::adjustTransferredSolutionNearestPoint().

528 {
529  if (from * to > 0)
530  return true;
531  else if (_allow_skipped_adjustment)
532  return false;
533  else
534  mooseError("Adjustment postprocessors from: ",
535  from,
536  " to: ",
537  to,
538  " must both have the same sign and be different from 0");
539 }
bool _allow_skipped_adjustment
Whether the adjustment may be skipped when the postprocessor values are 0 / of different signs...
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

◆ possibleDirections()

static std::string Transfer::possibleDirections ( )
inlinestaticinherited

Used to construct InputParameters.

Definition at line 76 of file Transfer.h.

Referenced by Transfer::validParams().

76 { return "to_multiapp from_multiapp between_multiapp"; }

◆ postExecute()

void MultiAppConservativeTransfer::postExecute ( )
virtualinherited

Add some extra work if necessary after execute().

For example, adjust the solution to preserve some physics quality of interest.

Reimplemented in MultiAppGeneralFieldTransfer.

Definition at line 215 of file MultiAppConservativeTransfer.C.

Referenced by MultiAppShapeEvaluationTransfer::execute(), MultiAppNearestNodeTransfer::execute(), execute(), MultiAppUserObjectTransfer::execute(), and MultiAppGeneralFieldTransfer::postExecute().

216 {
217  if (_preserve_transfer)
218  {
219  TIME_SECTION("MultiAppConservativeTransfer::execute()",
220  5,
221  "Post transfer to preserve postprocessor values");
222 
224  {
225  FEProblemBase & from_problem = getToMultiApp()->problemBase();
227  from_problem.computeUserObjectByName(
229 
230  for (unsigned int i = 0; i < getToMultiApp()->numGlobalApps(); i++)
231  if (getToMultiApp()->hasLocalApp(i))
232  {
235  &from_problem,
237  getToMultiApp()->appProblemBase(i),
239  else
240  adjustTransferredSolution(&from_problem,
242  getToMultiApp()->appProblemBase(i),
244  }
245  }
246 
247  else if (_current_direction == FROM_MULTIAPP)
248  {
249  FEProblemBase & to_problem = getFromMultiApp()->problemBase();
251  to_problem.computeUserObjectByName(
253 
254  for (unsigned int i = 0; i < getFromMultiApp()->numGlobalApps(); i++)
255  {
258  i,
259  getFromMultiApp()->hasLocalApp(i) ? &getFromMultiApp()->appProblemBase(i) : nullptr,
261  to_problem,
263  else
265  getFromMultiApp()->hasLocalApp(i) ? &getFromMultiApp()->appProblemBase(i) : nullptr,
267  to_problem,
269  }
270 
271  // Compute the to-postprocessor again so that it has the right value with the updated solution
273  to_problem.computeUserObjectByName(
275  }
276  }
277 }
const ExecFlagType EXEC_TRANSFER
Definition: Moose.C:47
const std::shared_ptr< MultiApp > getFromMultiApp() const
Get the MultiApp to transfer data from.
MooseEnum _current_direction
Definition: Transfer.h:106
bool _use_nearestpoint_pps
Whether to use a nearest point UserObject to obtain the conservation factor.
void adjustTransferredSolutionNearestPoint(unsigned int i, FEProblemBase *from_problem, PostprocessorName &from_postprocessor, FEProblemBase &to_problem, PostprocessorName &to_postprocessor)
const std::shared_ptr< MultiApp > getToMultiApp() const
Get the MultiApp to transfer data to.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
void adjustTransferredSolution(FEProblemBase *from_problem, PostprocessorName &from_postprocessor, FEProblemBase &to_problem, PostprocessorName &to_postprocessor)
std::vector< PostprocessorName > _to_postprocessors_to_be_preserved
Postprocessor evaluates an adjuster for the target physics.
virtual void computeUserObjectByName(const ExecFlagType &type, const Moose::AuxGroup &group, const std::string &name)
Compute an user object with the given name.
std::vector< PostprocessorName > _from_postprocessors_to_be_preserved
Postprocessor evaluates an adjuster for the source physics.
bool _preserve_transfer
If this transfer is going to conserve the physics.

◆ projectSolution()

void MultiAppProjectionTransfer::projectSolution ( unsigned int  to_problem)
protected

Definition at line 500 of file MultiAppProjectionTransfer.C.

Referenced by execute().

501 {
502  FEProblemBase & to_problem = *_to_problems[i_to];
503  EquationSystems & proj_es = to_problem.es();
504  LinearImplicitSystem & ls = *_proj_sys[i_to];
505  // activate the current transfer
506  proj_es.parameters.set<MultiAppProjectionTransfer *>("transfer") = this;
507 
508  // TODO: specify solver params in an input file
509  // solver tolerance
510  Real tol = proj_es.parameters.get<Real>("linear solver tolerance");
511  proj_es.parameters.set<Real>("linear solver tolerance") = 1e-10; // set our tolerance
512  // solve it
513  ls.solve();
514  proj_es.parameters.set<Real>("linear solver tolerance") = tol; // restore the original tolerance
515 
516  // copy projected solution into target es
517  MeshBase & to_mesh = proj_es.get_mesh();
518 
519  MooseVariableFEBase & to_var = to_problem.getVariable(
521  System & to_sys = to_var.sys().system();
522  NumericVector<Number> * to_solution = to_sys.solution.get();
523 
524  for (const auto & node : to_mesh.local_node_ptr_range())
525  {
526  for (unsigned int comp = 0; comp < node->n_comp(to_sys.number(), to_var.number()); comp++)
527  {
528  const dof_id_type proj_index = node->dof_number(ls.number(), _proj_var_num, comp);
529  const dof_id_type to_index = node->dof_number(to_sys.number(), to_var.number(), comp);
530  to_solution->set(to_index, (*ls.solution)(proj_index));
531  }
532  }
533  for (const auto & elem : to_mesh.active_local_element_ptr_range())
534  for (unsigned int comp = 0; comp < elem->n_comp(to_sys.number(), to_var.number()); comp++)
535  {
536  const dof_id_type proj_index = elem->dof_number(ls.number(), _proj_var_num, comp);
537  const dof_id_type to_index = elem->dof_number(to_sys.number(), to_var.number(), comp);
538  to_solution->set(to_index, (*ls.solution)(proj_index));
539  }
540 
541  to_solution->close();
542  to_sys.update();
543 }
virtual void get(const std::vector< numeric_index_type > &index, Number *values) const
unsigned int number() const
Get variable number coming from libMesh.
std::vector< FEProblemBase * > _to_problems
This class provides an interface for common operations on field variables of both FE and FV types wit...
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
virtual const MooseVariableFieldBase & getVariable(const 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) const override
Returns the variable reference for requested variable which must be of the expected_var_type (Nonline...
virtual EquationSystems & es() override
Project values from one domain to another.
virtual System & system()=0
Get the reference to the libMesh system.
virtual void close()=0
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void set(const numeric_index_type i, const Number value)=0
std::vector< LinearImplicitSystem * > _proj_sys
unsigned int _proj_var_num
Having one projection variable number seems weird, but there is always one variable in every system b...
SystemBase & sys()
Get the system this variable is part of.
uint8_t dof_id_type

◆ registerTimedSection() [1/2]

PerfID PerfGraphInterface::registerTimedSection ( const std::string &  section_name,
const unsigned int  level 
) const
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 53 of file PerfGraphInterface.C.

55 {
56  const auto timed_section_name = timedSectionName(section_name);
57  if (!moose::internal::getPerfGraphRegistry().sectionExists(timed_section_name))
58  return moose::internal::getPerfGraphRegistry().registerSection(timed_section_name, level);
59  else
60  return moose::internal::getPerfGraphRegistry().sectionID(timed_section_name);
61 }
PerfID registerSection(const std::string &section_name, const unsigned int level)
Call to register a named section for timing.
std::string timedSectionName(const std::string &section_name) const
PerfID sectionID(const std::string &section_name) const
Given a name return the PerfID The name of the section.
PerfGraphRegistry & getPerfGraphRegistry()
Get the global PerfGraphRegistry singleton.

◆ registerTimedSection() [2/2]

PerfID PerfGraphInterface::registerTimedSection ( const std::string &  section_name,
const unsigned int  level,
const std::string &  live_message,
const bool  print_dots = true 
) const
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)
live_messageThe message to be printed to the screen during execution
print_dotsWhether or not progress dots should be printed for this section
Returns
The ID of the section - use when starting timing

Definition at line 64 of file PerfGraphInterface.C.

68 {
69  const auto timed_section_name = timedSectionName(section_name);
70  if (!moose::internal::getPerfGraphRegistry().sectionExists(timed_section_name))
72  timedSectionName(section_name), level, live_message, print_dots);
73  else
74  return moose::internal::getPerfGraphRegistry().sectionID(timed_section_name);
75 }
PerfID registerSection(const std::string &section_name, const unsigned int level)
Call to register a named section for timing.
std::string timedSectionName(const std::string &section_name) const
PerfID sectionID(const std::string &section_name) const
Given a name return the PerfID The name of the section.
PerfGraphRegistry & getPerfGraphRegistry()
Get the global PerfGraphRegistry singleton.

◆ residualSetup()

void SetupInterface::residualSetup ( )
virtualinherited

◆ restartableName()

std::string Restartable::restartableName ( const std::string &  data_name) const
protectedinherited

Gets the name of a piece of restartable data given a data name, adding the system name and object name prefix.

This should only be used in this interface and in testing.

Definition at line 66 of file Restartable.C.

Referenced by Restartable::declareRecoverableData(), and Restartable::declareRestartableDataHelper().

67 {
68  return _restartable_system_name + "/" + _restartable_name + "/" + data_name;
69 }
std::string _restartable_name
The name of the object.
Definition: Restartable.h:243
const std::string _restartable_system_name
The system name this object is in.
Definition: Restartable.h:230

◆ setCurrentDirection()

void Transfer::setCurrentDirection ( const int  direction)
inlineinherited

Set this Transfer to be executed in a given direction.

Definition at line 89 of file Transfer.h.

Referenced by FEProblemBase::execMultiAppTransfers().

90  {
93  }
MooseEnum _current_direction
Definition: Transfer.h:106
MooseEnum direction()
Definition: Transfer.h:84
MooseEnum _direction
Definition: Transfer.h:105

◆ subdomainSetup()

void SetupInterface::subdomainSetup ( )
virtualinherited

Gets called when the subdomain changes (i.e.

in a Jacobian or residual loop) and before this object is asked to do its job

Reimplemented in MaterialBase, Material, NodalUserObject, GeneralUserObject, Constraint, and ThreadedGeneralUserObject.

Definition at line 60 of file SetupInterface.C.

61 {
62 }

◆ timedSectionName()

std::string PerfGraphInterface::timedSectionName ( const std::string &  section_name) const
protectedinherited
Returns
The name of the timed section with the name section_name.

Optionally adds a prefix if one is defined.

Definition at line 47 of file PerfGraphInterface.C.

Referenced by PerfGraphInterface::registerTimedSection().

48 {
49  return _prefix.empty() ? "" : (_prefix + "::") + section_name;
50 }
const std::string _prefix
A prefix to use for all sections.

◆ timestepSetup()

void SetupInterface::timestepSetup ( )
virtualinherited

◆ toMultiApp()

void MultiAppProjectionTransfer::toMultiApp ( )
protected

◆ transformBoundingBox()

void MultiAppTransfer::transformBoundingBox ( BoundingBox &  box,
const MultiAppCoordTransform transform 
)
staticprotectedinherited

Transform a bounding box according to the transformations in the provided coordinate transformation object.

Definition at line 444 of file MultiAppTransfer.C.

Referenced by MultiAppTransfer::getFromBoundingBoxes(), and MultiAppGeneralFieldTransfer::getRestrictedFromBoundingBoxes().

445 {
446  MultiApp::transformBoundingBox(box, transform);
447 }
static void transformBoundingBox(BoundingBox &box, const MultiAppCoordTransform &transform)
Transform a bounding box according to the transformations in the provided coordinate transformation o...
Definition: MultiApp.C:822

◆ type()

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

Get the type of this class.

Returns
the name of the type of this class

Definition at line 50 of file MooseBase.h.

Referenced by CreateProblemDefaultAction::act(), SetupDebugAction::act(), MaterialDerivativeTestAction::act(), MaterialOutputAction::act(), FEProblemBase::addAuxArrayVariable(), FEProblemBase::addAuxScalarVariable(), FEProblemBase::addAuxVariable(), FEProblemBase::addDistribution(), FEProblemBase::addFunction(), FEProblemBase::addMeshDivision(), MeshGenerator::addMeshSubgenerator(), FEProblemBase::addObject(), FEProblemBase::addPredictor(), CreateDisplacedProblemAction::addProxyRelationshipManagers(), FEProblemBase::addReporter(), FEProblemBase::addSampler(), FEProblemBase::addTimeIntegrator(), MooseServer::addValuesToList(), DisplacedProblem::addVectorTag(), SubProblem::addVectorTag(), FEProblemBase::advanceMultiApps(), PhysicsBase::assertParamDefined(), AuxKernelTempl< Real >::AuxKernelTempl(), FEProblemBase::backupMultiApps(), BoundaryPreservedMarker::BoundaryPreservedMarker(), DistributedRectilinearMeshGenerator::buildCube(), MooseMesh::buildHRefinementAndCoarseningMaps(), MooseMesh::buildPRefinementAndCoarseningMaps(), MeshDiagnosticsGenerator::checkNonConformalMeshFromAdaptivity(), PhysicsBase::checkRequiredTasks(), FEProblemBase::computeAuxiliaryKernels(), ADDGKernel::computeElemNeighJacobian(), DGKernel::computeElemNeighJacobian(), ElemElemConstraint::computeElemNeighJacobian(), ArrayDGKernel::computeElemNeighJacobian(), ADDGKernel::computeElemNeighResidual(), DGKernel::computeElemNeighResidual(), ElemElemConstraint::computeElemNeighResidual(), ArrayDGKernel::computeElemNeighResidual(), LowerDIntegratedBC::computeLowerDJacobian(), ArrayLowerDIntegratedBC::computeLowerDJacobian(), DGLowerDKernel::computeLowerDJacobian(), ArrayDGLowerDKernel::computeLowerDJacobian(), LowerDIntegratedBC::computeLowerDOffDiagJacobian(), ArrayLowerDIntegratedBC::computeLowerDOffDiagJacobian(), ArrayHFEMDirichletBC::computeLowerDQpJacobian(), ArrayHFEMDiffusion::computeLowerDQpJacobian(), HFEMDiffusion::computeLowerDQpJacobian(), HFEMDirichletBC::computeLowerDQpJacobian(), ArrayHFEMDirichletBC::computeLowerDQpOffDiagJacobian(), HFEMDirichletBC::computeLowerDQpOffDiagJacobian(), ArrayLowerDIntegratedBC::computeLowerDQpOffDiagJacobian(), ArrayDGLowerDKernel::computeLowerDQpOffDiagJacobian(), FEProblemBase::computeMultiAppsDT(), ADDGKernel::computeOffDiagElemNeighJacobian(), DGKernel::computeOffDiagElemNeighJacobian(), ArrayDGKernel::computeOffDiagElemNeighJacobian(), DGLowerDKernel::computeOffDiagLowerDJacobian(), ArrayDGLowerDKernel::computeOffDiagLowerDJacobian(), DGConvection::computeQpJacobian(), ScalarKernel::computeQpJacobian(), InterfaceDiffusion::computeQpJacobian(), InterfaceReaction::computeQpJacobian(), ArrayDGDiffusion::computeQpJacobian(), CoupledTiedValueConstraint::computeQpJacobian(), TiedValueConstraint::computeQpJacobian(), DGDiffusion::computeQpJacobian(), LinearNodalConstraint::computeQpJacobian(), EqualValueBoundaryConstraint::computeQpJacobian(), EqualValueEmbeddedConstraint::computeQpJacobian(), CoupledTiedValueConstraint::computeQpOffDiagJacobian(), HFEMTestJump::computeQpOffDiagJacobian(), HFEMTrialJump::computeQpOffDiagJacobian(), EqualValueEmbeddedConstraint::computeQpOffDiagJacobian(), ArrayDGKernel::computeQpOffDiagJacobian(), DGConvection::computeQpResidual(), HFEMDiffusion::computeQpResidual(), ArrayHFEMDiffusion::computeQpResidual(), ScalarKernel::computeQpResidual(), InterfaceDiffusion::computeQpResidual(), InterfaceReaction::computeQpResidual(), ADDGAdvection::computeQpResidual(), ArrayDGDiffusion::computeQpResidual(), CoupledTiedValueConstraint::computeQpResidual(), TiedValueConstraint::computeQpResidual(), DGDiffusion::computeQpResidual(), LinearNodalConstraint::computeQpResidual(), ADDGDiffusion::computeQpResidual(), EqualValueBoundaryConstraint::computeQpResidual(), HFEMTestJump::computeQpResidual(), HFEMTrialJump::computeQpResidual(), EqualValueEmbeddedConstraint::computeQpResidual(), FEProblemBase::computeUserObjectByName(), FEProblemBase::computeUserObjects(), FEProblemBase::computeUserObjectsInternal(), BatchMaterial< Tuple, Output, Input >::construct(), DisplacedProblem::createQRules(), FEProblemBase::createQRules(), DumpObjectsProblem::deduceNecessaryParameters(), DumpObjectsProblem::dumpObjectHelper(), FEProblemBase::duplicateVariableCheck(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), MooseBaseErrorInterface::errorPrefix(), AB2PredictorCorrector::estimateTimeError(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), FEProblemBase::execTransfers(), FEProblemBase::finishMultiAppStep(), FVScalarLagrangeMultiplierInterface::FVScalarLagrangeMultiplierInterface(), LowerDBlockFromSidesetGenerator::generate(), SubdomainPerElementGenerator::generate(), PatternedMeshGenerator::generate(), MeshGenerator::generateInternal(), MultiAppTransfer::getAppInfo(), TransfiniteMeshGenerator::getEdge(), ElementGenerator::getElemType(), MooseServer::getInputLookupDefinitionNodes(), FEProblemBase::getMaterial(), FEProblemBase::getMaterialData(), MaterialOutputAction::getParams(), ReporterData::getReporterInfo(), Transient::getTimeIntegratorName(), FEProblemBase::getTransfers(), DisplacedProblem::getVectorTags(), SubProblem::getVectorTags(), CommonOutputAction::hasConsole(), FEProblemBase::hasMultiApps(), AdvancedOutput::hasOutput(), FEProblemBase::incrementMultiAppTStep(), AdvancedOutput::initAvailableLists(), FunctorPositions::initialize(), FunctorTimes::initialize(), MultiAppConservativeTransfer::initialSetup(), ArrayDGDiffusion::initQpResidual(), AdvancedOutput::initShowHideLists(), RelationshipManager::isType(), FEProblemBase::logAdd(), MaterialFunctorConverterTempl< T >::MaterialFunctorConverterTempl(), DisplacedProblem::numVectorTags(), SubProblem::numVectorTags(), MooseBaseParameterInterface::objectErrorPrefix(), Console::output(), AdvancedOutput::output(), OversampleOutput::outputStep(), Output::outputStep(), FEProblemBase::outputStep(), ProjectedStatefulMaterialStorageAction::processProperty(), SolutionInvalidInterface::registerInvalidSolutionInternal(), FEProblemBase::restoreMultiApps(), MeshRepairGenerator::separateSubdomainsByElementType(), FEProblemBase::setCoupling(), MooseBase::typeAndName(), ScalarKernelBase::uOld(), AuxScalarKernel::uOld(), DisplacedProblem::updateGeomSearch(), FEProblemBase::updateGeomSearch(), UserObjectInterface::userObjectType(), and AdvancedOutput::wantOutput().

50 { return _type; }
const std::string & _type
The type of this class.
Definition: MooseBase.h:72

◆ typeAndName()

std::string MooseBase::typeAndName ( ) const
inlineinherited

Get the class's combined type and name; useful in error handling.

Returns
The type and name of this class in the form '<type()> "<name()>"'.

Definition at line 62 of file MooseBase.h.

Referenced by MaterialPropertyStorage::addProperty(), MeshGeneratorSystem::dataDrivenError(), ReporterContext< std::vector< T > >::finalize(), and ReporterData::getReporterInfo().

63  {
64  return type() + std::string(" \"") + name() + std::string("\"");
65  }
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
const std::string & type() const
Get the type of this class.
Definition: MooseBase.h:50

◆ uniqueName()

MooseObjectName MooseBaseParameterInterface::uniqueName ( ) const
inlineinherited

The unique name for accessing input parameters of this object in the InputParameterWarehouse.

Definition at line 68 of file MooseBaseParameterInterface.h.

Referenced by MooseBaseParameterInterface::connectControllableParams(), and Action::uniqueActionName().

69  {
70  return MooseObjectName(_pars.get<std::string>("_unique_name"));
71  }
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
A class for storing the names of MooseObject by tag and object name.

◆ uniqueParameterName()

MooseObjectParameterName MooseBaseParameterInterface::uniqueParameterName ( const std::string &  parameter_name) const
inlineinherited

The unique parameter name of a valid parameter of this object for accessing parameter controls.

Definition at line 53 of file MooseBaseParameterInterface.h.

54  {
56  _pars.get<std::string>("_moose_base"), _moose_base->name(), parameter_name);
57  }
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
const MooseBase *const _moose_base
The MooseBase object that inherits this class.
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
A class for storing an input parameter name.

◆ usesMooseAppCoordTransform()

bool MultiAppProjectionTransfer::usesMooseAppCoordTransform ( ) const
inlineoverrideprivatevirtual

Whether this transfer handles non-translation-based transformations, e.g.

whether it uses the MooseAppCoordTransform object

Reimplemented from MultiAppTransfer.

Definition at line 61 of file MultiAppProjectionTransfer.h.

61 { return true; }

◆ validParams()

InputParameters MultiAppProjectionTransfer::validParams ( )
static

Definition at line 45 of file MultiAppProjectionTransfer.C.

46 {
48  params.addClassDescription(
49  "Perform a projection between a master and sub-application mesh of a field variable.");
50 
51  MooseEnum proj_type("l2", "l2");
52  params.addParam<MooseEnum>("proj_type", proj_type, "The type of the projection.");
53 
54  params.addParam<bool>("fixed_meshes",
55  false,
56  "Set to true when the meshes are not changing (ie, "
57  "no movement or adaptivity). This will cache some "
58  "information to speed up the transfer.");
59 
60  // Need one layer of ghosting
61  params.addRelationshipManager("ElementSideNeighborLayers",
65  return params;
66 }
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
void addRelationshipManager(const std::string &name, Moose::RelationshipManagerType rm_type, Moose::RelationshipManagerInputParameterCallback input_parameter_callback=nullptr)
Tells MOOSE about a RelationshipManager that this object needs.
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition: MooseEnum.h:31
static void addBBoxFactorParam(InputParameters &params)
Add the bounding box factor parameter to the supplied input parameters.
void addClassDescription(const std::string &doc_string)
This method adds a description of the class that will be displayed in the input file syntax dump...
void addParam(const std::string &name, const S &value, const std::string &doc_string)
These methods add an option parameter and a documentation string to the InputParameters object...

◆ variableIntegrityCheck()

void MultiAppTransfer::variableIntegrityCheck ( const AuxVariableName &  var_name) const
inherited

Utility to verify that the variable in the destination system exists.

Definition at line 182 of file MultiAppTransfer.C.

Referenced by MultiAppFieldTransfer::initialSetup(), and MultiAppVariableValueSampleTransfer::initialSetup().

183 {
184  bool variable_found = false;
185  bool has_an_app = false;
186 
187  // Check the from_multi_app for the variable
188  if (_from_multi_app)
189  for (unsigned int i = 0; i < _from_multi_app->numGlobalApps(); i++)
190  if (_from_multi_app->hasLocalApp(i))
191  {
192  has_an_app = true;
193  if (_from_multi_app->appProblemBase(i).hasVariable(var_name))
194  variable_found = true;
195  }
196 
197  // Check the to_multi_app for the variable
198  if (_to_multi_app)
199  for (unsigned int i = 0; i < _to_multi_app->numGlobalApps(); i++)
200  if (_to_multi_app->hasLocalApp(i))
201  {
202  has_an_app = true;
203  if (_to_multi_app->appProblemBase(i).hasVariable(var_name))
204  variable_found = true;
205  }
206 
207  if (!variable_found && has_an_app)
208  mooseError("Cannot find variable ", var_name, " for ", name(), " Transfer");
209 }
std::shared_ptr< MultiApp > _from_multi_app
The MultiApps this Transfer is transferring data to or from.
virtual const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:56
std::shared_ptr< MultiApp > _to_multi_app
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.

Friends And Related Function Documentation

◆ assemble_l2

void assemble_l2 ( EquationSystems &  es,
const std::string &  system_name 
)
friend

Definition at line 35 of file MultiAppProjectionTransfer.C.

Referenced by initialSetup().

36 {
37  MultiAppProjectionTransfer * transfer =
38  es.parameters.get<MultiAppProjectionTransfer *>("transfer");
39  transfer->assembleL2(es, system_name);
40 }
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
void assembleL2(EquationSystems &es, const std::string &system_name)
Project values from one domain to another.
const InputParameters & parameters() const
Get the parameters of the object.

Member Data Documentation

◆ _action_factory

ActionFactory& MooseBaseParameterInterface::_action_factory
protectedinherited

◆ _app

MooseApp& MooseBase::_app
protectedinherited

The MOOSE application this is associated with.

Definition at line 69 of file MooseBase.h.

◆ _bbox_factor

Real MultiAppTransfer::_bbox_factor
protectedinherited

Extend (or contract) bounding box by a factor in all directions Greater than one values of this member may be necessary because the nearest bounding box does not necessarily give you the closest node/element.

It will depend on the partition and geometry. A node/element will more likely find its nearest source element/node by extending bounding boxes. If each of the bounding boxes covers the entire domain, a node/element will be able to find its nearest source element/node for sure, but at the same time, more communication will be involved and can be expensive.

Definition at line 166 of file MultiAppTransfer.h.

Referenced by MultiAppTransfer::getFromBoundingBoxes().

◆ _cached_index_map

std::map<processor_id_type, std::map<std::pair<unsigned int, unsigned int>, unsigned int> > MultiAppProjectionTransfer::_cached_index_map
protected

Definition at line 58 of file MultiAppProjectionTransfer.h.

Referenced by execute().

◆ _cached_qps

std::map<processor_id_type, std::vector<Point> > MultiAppProjectionTransfer::_cached_qps
protected

Definition at line 56 of file MultiAppProjectionTransfer.h.

Referenced by execute().

◆ _compute_matrix

bool MultiAppProjectionTransfer::_compute_matrix
protected

True, if we need to recompute the projection matrix.

Definition at line 45 of file MultiAppProjectionTransfer.h.

Referenced by assembleL2().

◆ _console

const ConsoleStream ConsoleStreamInterface::_console
inherited

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

Definition at line 31 of file ConsoleStreamInterface.h.

Referenced by IterationAdaptiveDT::acceptStep(), MeshOnlyAction::act(), SetupDebugAction::act(), MaterialOutputAction::act(), Adaptivity::adaptMesh(), FEProblemBase::adaptMesh(), PerfGraph::addToExecutionList(), SimplePredictor::apply(), SystemBase::applyScalingFactors(), MultiApp::backup(), FEProblemBase::backupMultiApps(), CoarsenedPiecewiseLinear::buildCoarsenedGrid(), MeshDiagnosticsGenerator::checkElementOverlap(), MeshDiagnosticsGenerator::checkElementTypes(), MeshDiagnosticsGenerator::checkElementVolumes(), FEProblemBase::checkExceptionAndStopSolve(), MeshDiagnosticsGenerator::checkLocalJacobians(), MeshDiagnosticsGenerator::checkNonConformalMesh(), MeshDiagnosticsGenerator::checkNonConformalMeshFromAdaptivity(), MeshDiagnosticsGenerator::checkNonPlanarSides(), FEProblemBase::checkProblemIntegrity(), ReferenceResidualProblem::checkRelativeConvergence(), MeshDiagnosticsGenerator::checkSidesetsOrientation(), IterationAdaptiveDT::computeAdaptiveDT(), Transient::computeConstrainedDT(), FixedPointSolve::computeCustomConvergencePostprocessor(), NonlinearSystemBase::computeDamping(), IterationAdaptiveDT::computeDT(), IterationAdaptiveDT::computeFailedDT(), IterationAdaptiveDT::computeInitialDT(), IterationAdaptiveDT::computeInterpolationDT(), NonlinearSystemBase::computeScaling(), Problem::console(), IterationAdaptiveDT::constrainStep(), TimeStepper::constrainStep(), MultiApp::createApp(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), MessageFromInput::execute(), Steady::execute(), Eigenvalue::execute(), ActionWarehouse::executeActionsWithAction(), ActionWarehouse::executeAllActions(), ElementQualityChecker::finalize(), FEProblemBase::finishMultiAppStep(), MeshRepairGenerator::fixOverlappingNodes(), CoarsenBlockGenerator::generate(), MeshGenerator::generateInternal(), VariableCondensationPreconditioner::getDofToCondense(), InversePowerMethod::init(), NonlinearEigen::init(), FEProblemBase::initialAdaptMesh(), EigenExecutionerBase::inversePowerIteration(), FEProblemBase::joinAndFinalize(), Transient::keepGoing(), IterationAdaptiveDT::limitDTByFunction(), IterationAdaptiveDT::limitDTToPostprocessorValue(), FEProblemBase::logAdd(), EigenExecutionerBase::makeBXConsistent(), Console::meshChanged(), MooseBaseErrorInterface::mooseDeprecated(), MooseBaseErrorInterface::mooseInfo(), MooseBaseErrorInterface::mooseWarning(), MooseBaseErrorInterface::mooseWarningNonPrefixed(), ReferenceResidualProblem::nonlinearConvergenceSetup(), ReporterDebugOutput::output(), PerfGraphOutput::output(), MaterialPropertyDebugOutput::output(), DOFMapOutput::output(), VariableResidualNormsDebugOutput::output(), Console::output(), ControlOutput::outputActiveObjects(), ControlOutput::outputChangedControls(), ControlOutput::outputControls(), Console::outputInput(), Console::outputPostprocessors(), PseudoTimestep::outputPseudoTimestep(), Console::outputReporters(), Console::outputScalarVariables(), Console::outputSystemInformation(), FEProblemBase::possiblyRebuildGeomSearchPatches(), EigenExecutionerBase::postExecute(), AB2PredictorCorrector::postSolve(), ActionWarehouse::printActionDependencySets(), SolutionInvalidity::printDebug(), EigenExecutionerBase::printEigenvalue(), SecantSolve::printFixedPointConvergenceHistory(), SteffensenSolve::printFixedPointConvergenceHistory(), PicardSolve::printFixedPointConvergenceHistory(), FixedPointSolve::printFixedPointConvergenceReason(), PerfGraphLivePrint::printLiveMessage(), MaterialPropertyDebugOutput::printMaterialMap(), PerfGraphLivePrint::printStats(), AutomaticMortarGeneration::projectPrimaryNodesSinglePair(), AutomaticMortarGeneration::projectSecondaryNodesSinglePair(), CoarsenBlockGenerator::recursiveCoarsen(), SolutionTimeAdaptiveDT::rejectStep(), MultiApp::restore(), FEProblemBase::restoreMultiApps(), SimplePredictor::shouldApply(), Checkpoint::shouldOutput(), SubProblem::showFunctorRequestors(), SubProblem::showFunctors(), FullSolveMultiApp::showStatusMessage(), FEProblemSolve::solve(), FixedPointSolve::solve(), NonlinearSystem::solve(), EigenProblem::solve(), LStableDirk2::solve(), LStableDirk3::solve(), ImplicitMidpoint::solve(), ExplicitTVDRK2::solve(), LStableDirk4::solve(), AStableDirk4::solve(), ExplicitRK2::solve(), TransientMultiApp::solveStep(), FixedPointSolve::solveStep(), PerfGraphLivePrint::start(), AB2PredictorCorrector::step(), NonlinearEigen::takeStep(), Transient::takeStep(), Console::writeTimestepInformation(), Console::writeVariableNorms(), and FEProblemBase::~FEProblemBase().

◆ _current_direction

MooseEnum Transfer::_current_direction
protectedinherited

◆ _current_execute_flag

const ExecFlagType& SetupInterface::_current_execute_flag
protectedinherited

Reference to FEProblemBase.

Definition at line 78 of file SetupInterface.h.

Referenced by PseudoTimestep::execute().

◆ _direction

MooseEnum Transfer::_direction
protectedinherited

The current direction that is being executed for this Transfer. _direction is to be deprecated for _current_direction

Definition at line 105 of file Transfer.h.

Referenced by Transfer::direction(), MultiAppTransfer::MultiAppTransfer(), Transfer::setCurrentDirection(), and Transfer::Transfer().

◆ _directions

MultiMooseEnum Transfer::_directions
protectedinherited

◆ _displaced_source_mesh

bool MultiAppTransfer::_displaced_source_mesh
protectedinherited

◆ _displaced_target_mesh

bool MultiAppTransfer::_displaced_target_mesh
protectedinherited

◆ _enabled

const bool& MooseObject::_enabled
protectedinherited

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

Definition at line 53 of file MooseObject.h.

Referenced by MooseObject::enabled().

◆ _execute_enum

const ExecFlagEnum& SetupInterface::_execute_enum
protectedinherited

◆ _factory

Factory& MooseBaseParameterInterface::_factory
protectedinherited

◆ _fe_problem

FEProblemBase& Transfer::_fe_problem
protectedinherited

◆ _fixed_meshes

bool MultiAppProjectionTransfer::_fixed_meshes
protected

Definition at line 54 of file MultiAppProjectionTransfer.h.

Referenced by execute().

◆ _from_es

std::vector<EquationSystems *> MultiAppTransfer::_from_es
protectedinherited

Definition at line 141 of file MultiAppTransfer.h.

Referenced by MultiAppTransfer::getAppInfo().

◆ _from_local2global_map

std::vector<unsigned int> MultiAppTransfer::_from_local2global_map
protectedinherited

◆ _from_meshes

std::vector<MooseMesh *> MultiAppTransfer::_from_meshes
protectedinherited

◆ _from_positions

std::vector<Point> MultiAppTransfer::_from_positions
protectedinherited

◆ _from_postprocessors_to_be_preserved

std::vector<PostprocessorName> MultiAppConservativeTransfer::_from_postprocessors_to_be_preserved
protectedinherited

Postprocessor evaluates an adjuster for the source physics.

Definition at line 51 of file MultiAppConservativeTransfer.h.

Referenced by MultiAppConservativeTransfer::initialSetup(), and MultiAppConservativeTransfer::postExecute().

◆ _from_problems

std::vector<FEProblemBase *> MultiAppTransfer::_from_problems
protectedinherited

◆ _from_transforms

std::vector<std::unique_ptr<MultiAppCoordTransform> > MultiAppTransfer::_from_transforms
protectedinherited

◆ _from_var_name

VariableName MultiAppConservativeTransfer::_from_var_name
protectedinherited

This values are used if a derived class only supports one variable.

Definition at line 45 of file MultiAppConservativeTransfer.h.

Referenced by MultiAppNearestNodeTransfer::execute(), execute(), and MultiAppGeometricInterpolationTransfer::execute().

◆ _from_var_names

const std::vector<VariableName> MultiAppConservativeTransfer::_from_var_names
protectedinherited

◆ _multi_app

std::shared_ptr<MultiApp> MultiAppTransfer::_multi_app
protectedinherited

◆ _name

const std::string& MooseBase::_name
protectedinherited

The name of this class, reference to value stored in InputParameters.

Definition at line 75 of file MooseBase.h.

Referenced by AddBCAction::act(), AddDamperAction::act(), AddTransferAction::act(), AddConstraintAction::act(), PartitionerAction::act(), AddUserObjectAction::act(), AddMaterialAction::act(), AddIndicatorAction::act(), AddDiracKernelAction::act(), AddMarkerAction::act(), AddFVInterfaceKernelAction::act(), AddVectorPostprocessorAction::act(), AddFunctorMaterialAction::act(), AddMeshGeneratorAction::act(), AddNodalKernelAction::act(), AddKernelAction::act(), AddDGKernelAction::act(), AddInitialConditionAction::act(), AddInterfaceKernelAction::act(), AddMultiAppAction::act(), AddFVInitialConditionAction::act(), AddPostprocessorAction::act(), AddScalarKernelAction::act(), ReadExecutorParamsAction::act(), AddTimesAction::act(), AddFieldSplitAction::act(), AddPositionsAction::act(), AddReporterAction::act(), AddFVBCAction::act(), AddFVKernelAction::act(), AddMeshDivisionAction::act(), AddFunctionAction::act(), AddTimeStepperAction::act(), AddDistributionAction::act(), SetupPreconditionerAction::act(), SetupTimeIntegratorAction::act(), AddOutputAction::act(), AddSamplerAction::act(), AddControlAction::act(), AddPeriodicBCAction::act(), ADPiecewiseLinearInterpolationMaterial::ADPiecewiseLinearInterpolationMaterial(), PiecewiseTabularBase::buildFromFile(), PiecewiseTabularBase::buildFromXY(), PiecewiseLinearBase::buildInterpolation(), CombinerGenerator::CombinerGenerator(), Executor::Executor(), ExtraIDIntegralReporter::ExtraIDIntegralReporter(), QuadraturePointMultiApp::fillPositions(), CentroidMultiApp::fillPositions(), MultiApp::fillPositions(), FunctionDT::FunctionDT(), FillBetweenSidesetsGenerator::generate(), FillBetweenPointVectorsGenerator::generate(), FillBetweenCurvesGenerator::generate(), NearestPointBase< LayeredSideDiffusiveFluxAverage, SideIntegralVariableUserObject >::name(), ParsedFunctorMaterialTempl< is_ad >::ParsedFunctorMaterialTempl(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), PiecewiseBase::setData(), and Split::setup().

◆ _pars

const InputParameters& MooseBaseParameterInterface::_pars
protectedinherited

Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.

Definition at line 168 of file MooseBaseParameterInterface.h.

Referenced by AddFVICAction::act(), AddICAction::act(), CreateProblemAction::act(), CreateProblemDefaultAction::act(), SetupMeshAction::act(), ComposeTimeStepperAction::act(), SetupDebugAction::act(), AddAuxKernelAction::act(), AddVariableAction::act(), AddPeriodicBCAction::act(), CommonOutputAction::act(), FunctorMaterial::addFunctorPropertyByBlocks(), FVFluxKernel::adjustRMGhostLayers(), BreakMeshByBlockGeneratorBase::BreakMeshByBlockGeneratorBase(), PiecewiseTabularBase::buildFromFile(), PNGOutput::calculateRescalingValues(), SingleRankPartitioner::clone(), RandomPartitioner::clone(), BlockWeightedPartitioner::clone(), PetscExternalPartitioner::clone(), HierarchicalGridPartitioner::clone(), GridPartitioner::clone(), MooseBaseParameterInterface::connectControllableParams(), Console::Console(), AddVariableAction::createInitialConditionAction(), MaterialBase::declareADProperty(), MaterialBase::declareProperty(), FEProblemSolve::FEProblemSolve(), FunctionMaterialBase< is_ad >::FunctionMaterialBase(), FVAdvection::FVAdvection(), FVAnisotropicDiffusion::FVAnisotropicDiffusion(), FVDiffusion::FVDiffusion(), FileMeshGenerator::generate(), MaterialBase::getGenericZeroMaterialProperty(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), MooseBaseParameterInterface::getParam(), MooseBaseParameterInterface::getRenamedParam(), MeshGenerator::hasGenerateData(), AddVariableAction::init(), AdvancedOutput::initExecutionTypes(), Console::initialSetup(), MooseBaseParameterInterface::isParamSetByUser(), MooseBaseParameterInterface::isParamValid(), MultiApp::keepSolutionDuringRestore(), MooseBaseParameterInterface::paramErrorMsg(), GlobalParamsAction::parameters(), MooseBaseParameterInterface::parameters(), MooseMesh::prepare(), Eigenvalue::prepareSolverOptions(), MooseMesh::setCoordSystem(), MooseMesh::setPartitionerHelper(), SetupMeshAction::setupMesh(), Transient::setupTimeIntegrator(), MooseBaseParameterInterface::uniqueName(), and MooseBaseParameterInterface::uniqueParameterName().

◆ _pg_moose_app

MooseApp& PerfGraphInterface::_pg_moose_app
protectedinherited

The MooseApp that owns the PerfGraph.

Definition at line 124 of file PerfGraphInterface.h.

Referenced by PerfGraphInterface::perfGraph().

◆ _prefix

const std::string PerfGraphInterface::_prefix
protectedinherited

A prefix to use for all sections.

Definition at line 127 of file PerfGraphInterface.h.

Referenced by PerfGraphInterface::timedSectionName().

◆ _preserve_transfer

bool MultiAppConservativeTransfer::_preserve_transfer
protectedinherited

If this transfer is going to conserve the physics.

Definition at line 49 of file MultiAppConservativeTransfer.h.

Referenced by MultiAppConservativeTransfer::initialSetup(), and MultiAppConservativeTransfer::postExecute().

◆ _proj_sys

std::vector<LinearImplicitSystem *> MultiAppProjectionTransfer::_proj_sys
protected

Definition at line 46 of file MultiAppProjectionTransfer.h.

Referenced by execute(), initialSetup(), and projectSolution().

◆ _proj_type

MooseEnum MultiAppProjectionTransfer::_proj_type
protected

Definition at line 42 of file MultiAppProjectionTransfer.h.

◆ _proj_var_num

unsigned int MultiAppProjectionTransfer::_proj_var_num
protected

Having one projection variable number seems weird, but there is always one variable in every system being used for projection, thus is always going to be 0 unless something changes in libMesh or we change the way we project variables.

Definition at line 49 of file MultiAppProjectionTransfer.h.

Referenced by initialSetup(), and projectSolution().

◆ _qps_cached

bool MultiAppProjectionTransfer::_qps_cached
protected

Definition at line 55 of file MultiAppProjectionTransfer.h.

Referenced by execute().

◆ _restartable_app

MooseApp& Restartable::_restartable_app
protectedinherited

Reference to the application.

Definition at line 227 of file Restartable.h.

Referenced by Restartable::registerRestartableDataOnApp(), and Restartable::registerRestartableNameWithFilterOnApp().

◆ _restartable_read_only

const bool Restartable::_restartable_read_only
protectedinherited

Flag for toggling read only status (see ReporterData)

Definition at line 236 of file Restartable.h.

Referenced by Restartable::registerRestartableDataOnApp().

◆ _restartable_system_name

const std::string Restartable::_restartable_system_name
protectedinherited

The system name this object is in.

Definition at line 230 of file Restartable.h.

Referenced by Restartable::restartableName().

◆ _restartable_tid

const THREAD_ID Restartable::_restartable_tid
protectedinherited

The thread ID for this object.

Definition at line 233 of file Restartable.h.

Referenced by Restartable::declareRestartableDataHelper().

◆ _skip_coordinate_collapsing

const bool MultiAppTransfer::_skip_coordinate_collapsing
protectedinherited

◆ _subproblem

SubProblem& Transfer::_subproblem
protectedinherited

Definition at line 96 of file Transfer.h.

◆ _sys

SystemBase& Transfer::_sys
protectedinherited

Definition at line 98 of file Transfer.h.

◆ _tid

THREAD_ID Transfer::_tid
protectedinherited

◆ _to_es

std::vector<EquationSystems *> MultiAppTransfer::_to_es
protectedinherited

◆ _to_local2global_map

std::vector<unsigned int> MultiAppTransfer::_to_local2global_map
protectedinherited

◆ _to_meshes

std::vector<MooseMesh *> MultiAppTransfer::_to_meshes
protectedinherited

◆ _to_positions

std::vector<Point> MultiAppTransfer::_to_positions
protectedinherited

◆ _to_postprocessors_to_be_preserved

std::vector<PostprocessorName> MultiAppConservativeTransfer::_to_postprocessors_to_be_preserved
protectedinherited

Postprocessor evaluates an adjuster for the target physics.

Definition at line 53 of file MultiAppConservativeTransfer.h.

Referenced by MultiAppConservativeTransfer::initialSetup(), and MultiAppConservativeTransfer::postExecute().

◆ _to_problems

std::vector<FEProblemBase *> MultiAppTransfer::_to_problems
protectedinherited

◆ _to_transforms

std::vector<std::unique_ptr<MultiAppCoordTransform> > MultiAppTransfer::_to_transforms
protectedinherited

◆ _to_var_name

AuxVariableName MultiAppConservativeTransfer::_to_var_name
protectedinherited

◆ _to_var_names

const std::vector<AuxVariableName> MultiAppConservativeTransfer::_to_var_names
protectedinherited

◆ _type

const std::string& MooseBase::_type
protectedinherited

◆ OutOfMeshValue

const Number Transfer::OutOfMeshValue = -999999
staticinherited

Definition at line 113 of file Transfer.h.

Referenced by execute(), and MultiAppShapeEvaluationTransfer::transferVariable().


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