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

Copy the value to the target domain from the nearest node in the source domain. More...

#include <MultiAppNearestNodeTransfer.h>

Inheritance diagram for MultiAppNearestNodeTransfer:
[legend]

Public Types

enum  DIRECTION { TO_MULTIAPP, FROM_MULTIAPP }
 

Public Member Functions

 MultiAppNearestNodeTransfer (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...
 
int direction ()
 The direction this Transfer is going in. More...
 
void variableIntegrityCheck (const AuxVariableName &var_name) const
 Utility to verify that the vEariable in the destination system exists. More...
 
const std::shared_ptr< MultiAppgetMultiApp () const
 Return the MultiApp that this transfer belongs to. More...
 
virtual const std::vector< ExecFlagType > & execFlags () const
 Return the execution flags, handling "same_as_multiapp". More...
 
const std::string & type () const
 Get the type of this object. More...
 
const std::string & name () const
 Get the name of the object. More...
 
const InputParametersparameters () const
 Get the parameters of the object. More...
 
template<typename T >
const T & getParam (const std::string &name) const
 Retrieve a parameter for the object. More...
 
template<typename T >
getCheckedPointerParam (const std::string &name, const std::string &error_string="") const
 Verifies that the requested parameter exists and is not NULL and returns it to the caller. More...
 
bool isParamValid (const std::string &name) const
 Test if the supplied parameter is valid. More...
 
MooseAppgetMooseApp () const
 Get the MooseApp this object is associated with. More...
 
virtual bool enabled () const
 Return the enabled status of the object. More...
 
template<typename... Args>
void paramError (const std::string &param, Args... args)
 Emits an error prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
template<typename... Args>
void paramWarning (const std::string &param, Args... args)
 Emits a warning prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
template<typename... Args>
void paramInfo (const std::string &param, Args... args)
 Emits an informational message prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
template<typename... Args>
void mooseError (Args &&... args) const
 
template<typename... Args>
void mooseWarning (Args &&... args) const
 
template<typename... Args>
void mooseDeprecated (Args &&... args) const
 
template<typename... Args>
void mooseInfo (Args &&... args) const
 
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...
 
const ExecFlagEnumgetExecuteOnEnum () const
 Return the execute on MultiMooseEnum for this object. More...
 
ExecFlagType execBitFlags () const
 (DEPRECATED) Build and return the execution flags as a bitfield TODO: ExecFlagType More...
 

Static Public Member Functions

static MooseEnum directions ()
 Used to construct InputParameters. More...
 
static System * find_sys (EquationSystems &es, const std::string &var_name)
 Small helper function for finding the system containing the variable. More...
 
static ExecFlagEnum getExecuteOptions ()
 (DEPRECATED) Returns the available options for the 'execute_on' input parameters TODO: ExecFlagType 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

Node * getNearestNode (const Point &p, Real &distance, MooseMesh *mesh, bool local)
 Return the nearest node to the point p. More...
 
Real bboxMaxDistance (const Point &p, const BoundingBox &bbox)
 Return the distance between the given point and the farthest corner of the given bounding box. More...
 
Real bboxMinDistance (const Point &p, const BoundingBox &bbox)
 Return the distance between the given point and the nearest corner of the given bounding box. More...
 
void getLocalEntities (MooseMesh *mesh, std::vector< std::pair< Point, DofObject *>> &local_entities, bool nodal)
 
void getAppInfo ()
 This method will fill information into the convenience member variables (_to_problems, _from_meshes, etc.) More...
 
std::vector< unsigned int > getFromsPerProc ()
 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...
 
template<typename T >
T & declareRestartableData (std::string data_name)
 Declare a piece of data as "restartable". More...
 
template<typename T >
T & declareRestartableData (std::string data_name, const T &init_value)
 Declare a piece of data as "restartable" and initialize it. More...
 
template<typename T >
T & declareRestartableDataWithContext (std::string data_name, void *context)
 Declare a piece of data as "restartable". More...
 
template<typename T >
T & declareRestartableDataWithContext (std::string data_name, const T &init_value, void *context)
 Declare a piece of data as "restartable" and initialize it. More...
 
template<typename T >
T & declareRecoverableData (std::string data_name)
 Declare a piece of data as "recoverable". More...
 
template<typename T >
T & declareRecoverableData (std::string data_name, const T &init_value)
 Declare a piece of data as "restartable" and initialize it. More...
 
template<typename T >
T & declareRestartableDataWithObjectName (std::string data_name, std::string object_name)
 Declare a piece of data as "restartable". More...
 
template<typename T >
T & declareRestartableDataWithObjectNameWithContext (std::string data_name, std::string object_name, void *context)
 Declare a piece of data as "restartable". More...
 
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)
 

Protected Attributes

AuxVariableName _to_var_name
 
VariableName _from_var_name
 
bool _fixed_meshes
 If true then node connections will be cached. More...
 
std::map< dof_id_type, Node * > & _node_map
 Used to cache nodes. More...
 
std::map< dof_id_type, Real > & _distance_map
 Used to cache distances. More...
 
bool & _neighbors_cached
 
std::vector< std::vector< unsigned int > > & _cached_froms
 
std::vector< std::vector< dof_id_type > > & _cached_dof_ids
 
std::map< dof_id_type, unsigned int > & _cached_from_inds
 
std::map< dof_id_type, unsigned int > & _cached_qp_inds
 
std::shared_ptr< MultiApp_multi_app
 The MultiApp this Transfer is transferring data to or from. More...
 
MooseEnum _direction
 Whether we're transferring to or from the MultiApp. 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
 
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...
 
std::vector< unsigned int > _local2global_map
 
SubProblem_subproblem
 
FEProblemBase_fe_problem
 
SystemBase_sys
 
THREAD_ID _tid
 
const InputParameters_pars
 Parameters of this object, references the InputParameters stored in the InputParametersWarehouse. More...
 
MooseApp_app
 The MooseApp this object is associated with. More...
 
const std::string & _type
 The type of this object (the Class name) More...
 
const std::string & _name
 The name of this object, reference to value stored in InputParameters. More...
 
const bool & _enabled
 Reference to the "enable" InputParaemters, used by Controls for toggling on/off MooseObjects. More...
 
const ExecFlagEnum_execute_enum
 Execute settings for this oejct. More...
 
const std::vector< ExecFlagType_exec_flags
 (DEPRECATED) execution flag (when is the object executed/evaluated) TODO: ExecFlagType More...
 
const ExecFlagType_current_execute_flag
 Reference to FEProblemBase. More...
 

Detailed Description

Copy the value to the target domain from the nearest node in the source domain.

Definition at line 25 of file MultiAppNearestNodeTransfer.h.

Member Enumeration Documentation

◆ DIRECTION

Enumerator
TO_MULTIAPP 
FROM_MULTIAPP 

Definition at line 41 of file MultiAppTransfer.h.

Constructor & Destructor Documentation

◆ MultiAppNearestNodeTransfer()

MultiAppNearestNodeTransfer::MultiAppNearestNodeTransfer ( const InputParameters parameters)

Definition at line 51 of file MultiAppNearestNodeTransfer.C.

53  _to_var_name(getParam<AuxVariableName>("variable")),
54  _from_var_name(getParam<VariableName>("source_variable")),
55  _fixed_meshes(getParam<bool>("fixed_meshes")),
56  _node_map(declareRestartableData<std::map<dof_id_type, Node *>>("node_map")),
57  _distance_map(declareRestartableData<std::map<dof_id_type, Real>>("distance_map")),
58  _neighbors_cached(declareRestartableData<bool>("neighbors_cached", false)),
59  _cached_froms(declareRestartableData<std::vector<std::vector<unsigned int>>>("cached_froms")),
61  declareRestartableData<std::vector<std::vector<dof_id_type>>>("cached_dof_ids")),
63  declareRestartableData<std::map<dof_id_type, unsigned int>>("cached_from_ids")),
64  _cached_qp_inds(declareRestartableData<std::map<dof_id_type, unsigned int>>("cached_qp_inds"))
65 {
66 }
MultiAppTransfer(const InputParameters &parameters)
std::vector< std::vector< dof_id_type > > & _cached_dof_ids
std::map< dof_id_type, unsigned int > & _cached_from_inds
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseObject.h:57
std::map< dof_id_type, Real > & _distance_map
Used to cache distances.
std::map< dof_id_type, unsigned int > & _cached_qp_inds
std::map< dof_id_type, Node * > & _node_map
Used to cache nodes.
std::vector< std::vector< unsigned int > > & _cached_froms
bool _fixed_meshes
If true then node connections will be cached.
T & declareRestartableData(std::string data_name)
Declare a piece of data as "restartable".
Definition: Restartable.h:202

Member Function Documentation

◆ bboxMaxDistance()

Real MultiAppNearestNodeTransfer::bboxMaxDistance ( const Point &  p,
const BoundingBox &  bbox 
)
protected

Return the distance between the given point and the farthest corner of the given bounding box.

Parameters
pThe point to evaluate all distances from.
bboxThe bounding box to evaluate the distance to.
Returns
The maximum distance between the point p and the eight corners of the bounding box bbox.

Definition at line 645 of file MultiAppNearestNodeTransfer.C.

Referenced by execute().

646 {
647  std::array<Point, 2> source_points = {{bbox.first, bbox.second}};
648 
649  std::array<Point, 8> all_points;
650  for (unsigned int x = 0; x < 2; x++)
651  for (unsigned int y = 0; y < 2; y++)
652  for (unsigned int z = 0; z < 2; z++)
653  all_points[x + 2 * y + 4 * z] =
654  Point(source_points[x](0), source_points[y](1), source_points[z](2));
655 
656  Real max_distance = 0.;
657 
658  for (unsigned int i = 0; i < 8; i++)
659  {
660  Real distance = (p - all_points[i]).norm();
661  if (distance > max_distance)
662  max_distance = distance;
663  }
664 
665  return max_distance;
666 }
static PetscErrorCode Vec x

◆ bboxMinDistance()

Real MultiAppNearestNodeTransfer::bboxMinDistance ( const Point &  p,
const BoundingBox &  bbox 
)
protected

Return the distance between the given point and the nearest corner of the given bounding box.

Parameters
pThe point to evaluate all distances from.
bboxThe bounding box to evaluate the distance to.
Returns
The minimum distance between the point p and the eight corners of the bounding box bbox.

Definition at line 669 of file MultiAppNearestNodeTransfer.C.

Referenced by execute().

670 {
671  std::array<Point, 2> source_points = {{bbox.first, bbox.second}};
672 
673  std::array<Point, 8> all_points;
674  for (unsigned int x = 0; x < 2; x++)
675  for (unsigned int y = 0; y < 2; y++)
676  for (unsigned int z = 0; z < 2; z++)
677  all_points[x + 2 * y + 4 * z] =
678  Point(source_points[x](0), source_points[y](1), source_points[z](2));
679 
680  Real min_distance = std::numeric_limits<Real>::max();
681 
682  for (unsigned int i = 0; i < 8; i++)
683  {
684  Real distance = (p - all_points[i]).norm();
685  if (distance < min_distance)
686  min_distance = distance;
687  }
688 
689  return min_distance;
690 }
static PetscErrorCode Vec x

◆ declareRecoverableData() [1/2]

template<typename T >
T & Restartable::declareRecoverableData ( std::string  data_name)
protectedinherited

Declare a piece of data as "recoverable".

This means that in the event of a recovery 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)

Definition at line 269 of file Restartable.h.

270 {
271  std::string full_name = _restartable_system_name + "/" + _restartable_name + "/" + data_name;
272 
273  registerRecoverableDataOnApp(full_name);
274 
275  return declareRestartableDataWithContext<T>(data_name, nullptr);
276 }
std::string _restartable_system_name
The system name this object is in.
Definition: Restartable.h:194
std::string _restartable_name
The name of the object.
Definition: Restartable.h:191
void registerRecoverableDataOnApp(std::string name)
Helper function for actually registering the restartable data.
Definition: Restartable.C:54

◆ declareRecoverableData() [2/2]

template<typename T >
T & Restartable::declareRecoverableData ( std::string  data_name,
const T &  init_value 
)
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 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)
init_valueThe initial value of the data

Definition at line 280 of file Restartable.h.

281 {
282  std::string full_name = _restartable_system_name + "/" + _restartable_name + "/" + data_name;
283 
284  registerRecoverableDataOnApp(full_name);
285 
286  return declareRestartableDataWithContext<T>(data_name, init_value, nullptr);
287 }
std::string _restartable_system_name
The system name this object is in.
Definition: Restartable.h:194
std::string _restartable_name
The name of the object.
Definition: Restartable.h:191
void registerRecoverableDataOnApp(std::string name)
Helper function for actually registering the restartable data.
Definition: Restartable.C:54

◆ declareRestartableData() [1/2]

template<typename T >
T & Restartable::declareRestartableData ( std::string  data_name)
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)

Definition at line 202 of file Restartable.h.

203 {
204  return declareRestartableDataWithContext<T>(data_name, nullptr);
205 }

◆ declareRestartableData() [2/2]

template<typename T >
T & Restartable::declareRestartableData ( std::string  data_name,
const T &  init_value 
)
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)
init_valueThe initial value of the data

Definition at line 209 of file Restartable.h.

210 {
211  return declareRestartableDataWithContext<T>(data_name, init_value, nullptr);
212 }

◆ declareRestartableDataWithContext() [1/2]

template<typename T >
T & Restartable::declareRestartableDataWithContext ( std::string  data_name,
void *  context 
)
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)
contextContext pointer that will be passed to the load and store functions

Definition at line 216 of file Restartable.h.

217 {
218  std::string full_name = _restartable_system_name + "/" + _restartable_name + "/" + data_name;
219  auto data_ptr = libmesh_make_unique<RestartableData<T>>(full_name, context);
220  T & restartable_data_ref = data_ptr->get();
221 
222  registerRestartableDataOnApp(full_name, std::move(data_ptr), _restartable_tid);
223 
224  return restartable_data_ref;
225 }
std::string _restartable_system_name
The system name this object is in.
Definition: Restartable.h:194
std::string _restartable_name
The name of the object.
Definition: Restartable.h:191
THREAD_ID _restartable_tid
The thread ID for this object.
Definition: Restartable.h:197
void registerRestartableDataOnApp(std::string name, std::unique_ptr< RestartableDataValue > data, THREAD_ID tid)
Helper function for actually registering the restartable data.
Definition: Restartable.C:46

◆ declareRestartableDataWithContext() [2/2]

template<typename T >
T & Restartable::declareRestartableDataWithContext ( std::string  data_name,
const T &  init_value,
void *  context 
)
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)
init_valueThe initial value of the data
contextContext pointer that will be passed to the load and store functions

Definition at line 229 of file Restartable.h.

232 {
233  std::string full_name = _restartable_system_name + "/" + _restartable_name + "/" + data_name;
234  auto data_ptr = libmesh_make_unique<RestartableData<T>>(full_name, context);
235  data_ptr->set() = init_value;
236 
237  T & restartable_data_ref = data_ptr->get();
238  registerRestartableDataOnApp(full_name, std::move(data_ptr), _restartable_tid);
239 
240  return restartable_data_ref;
241 }
std::string _restartable_system_name
The system name this object is in.
Definition: Restartable.h:194
std::string _restartable_name
The name of the object.
Definition: Restartable.h:191
THREAD_ID _restartable_tid
The thread ID for this object.
Definition: Restartable.h:197
void registerRestartableDataOnApp(std::string name, std::unique_ptr< RestartableDataValue > data, THREAD_ID tid)
Helper function for actually registering the restartable data.
Definition: Restartable.C:46

◆ declareRestartableDataWithObjectName()

template<typename T >
T & Restartable::declareRestartableDataWithObjectName ( std::string  data_name,
std::string  object_name 
)
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.

Definition at line 245 of file Restartable.h.

246 {
247  return declareRestartableDataWithObjectNameWithContext<T>(data_name, object_name, nullptr);
248 }

◆ declareRestartableDataWithObjectNameWithContext()

template<typename T >
T & Restartable::declareRestartableDataWithObjectNameWithContext ( std::string  data_name,
std::string  object_name,
void *  context 
)
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

Definition at line 252 of file Restartable.h.

255 {
256  std::string old_name = _restartable_name;
257 
258  _restartable_name = object_name;
259 
260  T & value = declareRestartableDataWithContext<T>(data_name, context);
261 
262  _restartable_name = old_name;
263 
264  return value;
265 }
std::string _restartable_name
The name of the object.
Definition: Restartable.h:191

◆ direction()

int MultiAppTransfer::direction ( )
inlineinherited

The direction this Transfer is going in.

Definition at line 51 of file MultiAppTransfer.h.

51 { return _direction; }
MooseEnum _direction
Whether we&#39;re transferring to or from the MultiApp.

◆ directions()

static MooseEnum MultiAppTransfer::directions ( )
inlinestaticinherited

Used to construct InputParameters.

Definition at line 48 of file MultiAppTransfer.h.

Referenced by validParams< MultiAppTransfer >().

48 { return MooseEnum("to_multiapp from_multiapp"); }
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition: MooseEnum.h:32

◆ enabled()

virtual bool MooseObject::enabled ( ) const
inlinevirtualinherited

Return the enabled status of the object.

Reimplemented in EigenKernel.

Definition at line 91 of file MooseObject.h.

Referenced by EigenKernel::enabled().

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

◆ execBitFlags()

ExecFlagType SetupInterface::execBitFlags ( ) const
inherited

(DEPRECATED) Build and return the execution flags as a bitfield TODO: ExecFlagType

Definition at line 85 of file SetupInterface.C.

86 {
87  // TODO: ExecFlagType
88  mooseDeprecated("The execBitFlags method is being removed because MOOSE was updated to use a "
89  "ExecFlagEnum for execute flags. This method maintains the behavior of the "
90  "original method but the use of this method should be removed from your "
91  "application. The ExecFlagEnum should be inspected directly via the "
92  "getExecuteOnEnum() method.");
93 
94  unsigned int exec_bit_field = EXEC_NONE;
95  for (const auto & flag : _exec_flags)
96  exec_bit_field |= flag.id();
97  return ExecFlagType("deprecated", exec_bit_field);
98 }
MooseEnumItem ExecFlagType
Definition: Moose.h:85
const ExecFlagType EXEC_NONE
void mooseDeprecated(Args &&... args)
Emit a deprecated code/feature message with the given stringified, concatenated args.
Definition: MooseError.h:237
const int & id() const
Return the numeric, name, or raw name.
Definition: MooseEnumItem.h:37
const std::vector< ExecFlagType > _exec_flags
(DEPRECATED) execution flag (when is the object executed/evaluated) TODO: ExecFlagType ...

◆ execFlags()

const std::vector< ExecFlagType > & MultiAppTransfer::execFlags ( ) const
virtualinherited

Return the execution flags, handling "same_as_multiapp".

Reimplemented from SetupInterface.

Definition at line 76 of file MultiAppTransfer.C.

77 {
78  mooseDeprecated("The execFlags() methos is being removed because MOOSE has been updated to use a "
79  "ExecFlagEnum for execute flags. The current flags should be retrieved from "
80  "the \"exeucte_on\" parameters of your object or by using the \"_execute_enum\" "
81  "reference to the parameter or the getExecuteOnEnum() method.");
82  return _exec_flags;
83 }
void mooseDeprecated(Args &&... args) const
Definition: MooseObject.h:155
const std::vector< ExecFlagType > _exec_flags
(DEPRECATED) execution flag (when is the object executed/evaluated) TODO: ExecFlagType ...

◆ execute()

void MultiAppNearestNodeTransfer::execute ( )
overridevirtual

Execute the transfer.

Implements Transfer.

Definition at line 78 of file MultiAppNearestNodeTransfer.C.

79 {
80  _console << "Beginning NearestNodeTransfer " << name() << std::endl;
81 
82  getAppInfo();
83 
84  // Get the bounding boxes for the "from" domains.
85  std::vector<BoundingBox> bboxes;
86  if (isParamValid("source_boundary"))
87  bboxes = getFromBoundingBoxes(
88  _from_meshes[0]->getBoundaryID(getParam<BoundaryName>("source_boundary")));
89  else
90  bboxes = getFromBoundingBoxes();
91 
92  // Figure out how many "from" domains each processor owns.
93  std::vector<unsigned int> froms_per_proc = getFromsPerProc();
94 
96  // For every point in the local "to" domain, figure out which "from" domains
97  // might contain it's nearest neighbor, and send that point to the processors
98  // that own those "from" domains.
99  //
100  // How do we know which "from" domains might contain the nearest neighbor, you
101  // ask? Well, consider two "from" domains, A and B. If every point in A is
102  // closer than every point in B, then we know that B cannot possibly contain
103  // the nearest neighbor. Hence, we'll only check A for the nearest neighbor.
104  // We'll use the functions bboxMaxDistance and bboxMinDistance to figure out
105  // if every point in A is closer than every point in B.
107 
108  // outgoing_qps = nodes/centroids we'll send to other processors.
109  std::vector<std::vector<Point>> outgoing_qps(n_processors());
110  // When we get results back, node_index_map will tell us which results go with
111  // which points
112  std::vector<std::map<std::pair<unsigned int, unsigned int>, unsigned int>> node_index_map(
113  n_processors());
114 
115  if (!_neighbors_cached)
116  {
117  for (unsigned int i_to = 0; i_to < _to_problems.size(); i_to++)
118  {
119  System * to_sys = find_sys(*_to_es[i_to], _to_var_name);
120  unsigned int sys_num = to_sys->number();
121  unsigned int var_num = to_sys->variable_number(_to_var_name);
122  MeshBase * to_mesh = &_to_meshes[i_to]->getMesh();
123  bool is_to_nodal = to_sys->variable_type(var_num).family == LAGRANGE;
124 
125  if (is_to_nodal)
126  {
127  std::vector<Node *> target_local_nodes;
128 
129  if (isParamValid("target_boundary"))
130  {
131  BoundaryID target_bnd_id =
132  _to_meshes[i_to]->getBoundaryID(getParam<BoundaryName>("target_boundary"));
133 
134  ConstBndNodeRange & bnd_nodes = *(_to_meshes[i_to])->getBoundaryNodeRange();
135  for (const auto & bnode : bnd_nodes)
136  if (bnode->_bnd_id == target_bnd_id && bnode->_node->processor_id() == processor_id())
137  target_local_nodes.push_back(bnode->_node);
138  }
139  else
140  {
141  target_local_nodes.resize(to_mesh->n_local_nodes());
142  unsigned int i = 0;
143  for (auto & node : to_mesh->local_node_ptr_range())
144  target_local_nodes[i++] = node;
145  }
146 
147  // For error checking: keep track of all target_local_nodes
148  // which are successfully mapped to at least one domain where
149  // the nearest neighbor might be found.
150  std::set<Node *> local_nodes_found;
151 
152  for (const auto & node : target_local_nodes)
153  {
154  // Skip this node if the variable has no dofs at it.
155  if (node->n_dofs(sys_num, var_num) < 1)
156  continue;
157 
158  // Find which bboxes might have the nearest node to this point.
159  Real nearest_max_distance = std::numeric_limits<Real>::max();
160  for (const auto & bbox : bboxes)
161  {
162  Real distance = bboxMaxDistance(*node, bbox);
163  if (distance < nearest_max_distance)
164  nearest_max_distance = distance;
165  }
166 
167  unsigned int from0 = 0;
168  for (processor_id_type i_proc = 0; i_proc < n_processors();
169  from0 += froms_per_proc[i_proc], i_proc++)
170  {
171  bool qp_found = false;
172 
173  for (unsigned int i_from = from0; i_from < from0 + froms_per_proc[i_proc] && !qp_found;
174  i_from++)
175  {
176 
177  Real distance = bboxMinDistance(*node, bboxes[i_from]);
178 
179  if (distance <= nearest_max_distance || bboxes[i_from].contains_point(*node))
180  {
181  std::pair<unsigned int, unsigned int> key(i_to, node->id());
182  node_index_map[i_proc][key] = outgoing_qps[i_proc].size();
183  outgoing_qps[i_proc].push_back(*node + _to_positions[i_to]);
184  qp_found = true;
185  local_nodes_found.insert(node);
186  }
187  }
188  }
189  }
190 
191  // By the time we get to here, we should have found at least
192  // one candidate BoundingBox for every node in the
193  // target_local_nodes array that has dofs for the current
194  // variable in the current System.
195  for (const auto & node : target_local_nodes)
196  if (node->n_dofs(sys_num, var_num) && !local_nodes_found.count(node))
197  mooseError("In ",
198  name(),
199  ": No candidate BoundingBoxes found for node ",
200  node->id(),
201  " at position ",
202  *node);
203  }
204  else // Elemental
205  {
206  // For error checking: keep track of all local elements
207  // which are successfully mapped to at least one domain where
208  // the nearest neighbor might be found.
209  std::set<Elem *> local_elems_found;
210 
211  for (auto & elem : as_range(to_mesh->local_elements_begin(), to_mesh->local_elements_end()))
212  {
213  Point centroid = elem->centroid();
214 
215  // Skip this element if the variable has no dofs at it.
216  if (elem->n_dofs(sys_num, var_num) < 1)
217  continue;
218 
219  // Find which bboxes might have the nearest node to this point.
220  Real nearest_max_distance = std::numeric_limits<Real>::max();
221  for (const auto & bbox : bboxes)
222  {
223  Real distance = bboxMaxDistance(centroid, bbox);
224  if (distance < nearest_max_distance)
225  nearest_max_distance = distance;
226  }
227 
228  unsigned int from0 = 0;
229  for (processor_id_type i_proc = 0; i_proc < n_processors();
230  from0 += froms_per_proc[i_proc], i_proc++)
231  {
232  bool qp_found = false;
233  for (unsigned int i_from = from0; i_from < from0 + froms_per_proc[i_proc] && !qp_found;
234  i_from++)
235  {
236  Real distance = bboxMinDistance(centroid, bboxes[i_from]);
237  if (distance <= nearest_max_distance || bboxes[i_from].contains_point(centroid))
238  {
239  std::pair<unsigned int, unsigned int> key(i_to, elem->id());
240  node_index_map[i_proc][key] = outgoing_qps[i_proc].size();
241  outgoing_qps[i_proc].push_back(centroid + _to_positions[i_to]);
242  qp_found = true;
243  local_elems_found.insert(elem);
244  }
245  }
246  }
247  }
248 
249  // Verify that we found at least one candidate bounding
250  // box for each local element with dofs for the current
251  // variable in the current System.
252  for (auto & elem : as_range(to_mesh->local_elements_begin(), to_mesh->local_elements_end()))
253  if (elem->n_dofs(sys_num, var_num) && !local_elems_found.count(elem))
254  mooseError("In ",
255  name(),
256  ": No candidate BoundingBoxes found for Elem ",
257  elem->id(),
258  ", centroid = ",
259  elem->centroid());
260  }
261  }
262  }
263 
265  // Send local node/centroid positions off to the other processors and take
266  // care of points sent to this processor. We'll need to check the points
267  // against all of the "from" domains that this processor owns. For each
268  // point, we'll find the nearest node, then we'll send the value at that node
269  // and the distance between the node and the point back to the processor that
270  // requested that point.
272 
273  std::vector<std::vector<Real>> incoming_evals(n_processors());
274  std::vector<Parallel::Request> send_qps(n_processors());
275  std::vector<Parallel::Request> send_evals(n_processors());
276 
277  // Create these here so that they live the entire life of this function
278  // and are NOT reused per processor.
279  std::vector<std::vector<Real>> processor_outgoing_evals(n_processors());
280 
281  if (!_neighbors_cached)
282  {
283  for (processor_id_type i_proc = 0; i_proc < n_processors(); i_proc++)
284  {
285  if (i_proc == processor_id())
286  continue;
287  _communicator.send(i_proc, outgoing_qps[i_proc], send_qps[i_proc]);
288  }
289 
290  // Build an array of pointers to all of this processor's local entities (nodes or
291  // elements). We need to do this to avoid the expense of using LibMesh iterators.
292  // This step also takes care of limiting the search to boundary nodes, if
293  // applicable.
294  std::vector<std::vector<std::pair<Point, DofObject *>>> local_entities(
295  froms_per_proc[processor_id()]);
296 
297  // Local array of all from Variable references
298  std::vector<std::reference_wrapper<MooseVariableFEBase>> _from_vars;
299 
300  for (unsigned int i = 0; i < froms_per_proc[processor_id()]; i++)
301  {
302  MooseVariableFEBase & from_var = _from_problems[i]->getVariable(
304  bool is_to_nodal = from_var.feType().family == LAGRANGE;
305 
306  _from_vars.emplace_back(from_var);
307  getLocalEntities(_from_meshes[i], local_entities[i], is_to_nodal);
308  }
309 
310  if (_fixed_meshes)
311  {
312  _cached_froms.resize(n_processors());
313  _cached_dof_ids.resize(n_processors());
314  }
315 
316  for (processor_id_type i_proc = 0; i_proc < n_processors(); i_proc++)
317  {
318  // We either use our own outgoing_qps or receive them from
319  // another processor.
320  std::vector<Point> incoming_qps;
321  if (i_proc == processor_id())
322  incoming_qps = outgoing_qps[i_proc];
323  else
324  _communicator.receive(i_proc, incoming_qps);
325 
326  if (_fixed_meshes)
327  {
328  _cached_froms[i_proc].resize(incoming_qps.size());
329  _cached_dof_ids[i_proc].resize(incoming_qps.size());
330  }
331 
332  std::vector<Real> & outgoing_evals = processor_outgoing_evals[i_proc];
333  // Resize this vector to two times the size of the incoming_qps
334  // vector because we are going to store both the value from the nearest
335  // local node *and* the distance between the incoming_qp and that node
336  // for later comparison purposes.
337  outgoing_evals.resize(2 * incoming_qps.size());
338 
339  for (unsigned int qp = 0; qp < incoming_qps.size(); qp++)
340  {
341  const Point & qpt = incoming_qps[qp];
342  outgoing_evals[2 * qp] = std::numeric_limits<Real>::max();
343  for (unsigned int i_local_from = 0; i_local_from < froms_per_proc[processor_id()];
344  i_local_from++)
345  {
346  MooseVariableFEBase & from_var = _from_vars[i_local_from];
347  System & from_sys = from_var.sys().system();
348  unsigned int from_sys_num = from_sys.number();
349  unsigned int from_var_num = from_sys.variable_number(from_var.name());
350 
351  for (unsigned int i_node = 0; i_node < local_entities[i_local_from].size(); i_node++)
352  {
353  // Compute distance between the current incoming_qp to local node i_node.
354  Real current_distance =
355  (qpt - local_entities[i_local_from][i_node].first - _from_positions[i_local_from])
356  .norm();
357 
358  // If an incoming_qp is equally close to two or more local nodes, then
359  // the first one we test will "win", even though any of the others could
360  // also potentially be chosen instead... there's no way to decide among
361  // the set of all equidistant points.
362  //
363  // outgoing_evals[2 * qp] is the current closest distance between a local point and
364  // the incoming_qp.
365  if (current_distance < outgoing_evals[2 * qp])
366  {
367  // Assuming LAGRANGE!
368  if (local_entities[i_local_from][i_node].second->n_dofs(from_sys_num, from_var_num) >
369  0)
370  {
371  dof_id_type from_dof = local_entities[i_local_from][i_node].second->dof_number(
372  from_sys_num, from_var_num, 0);
373 
374  // The indexing of the outgoing_evals vector looks
375  // like [(distance, value), (distance, value), ...]
376  // for each incoming_qp. We only keep the value from
377  // the node with the smallest distance to the
378  // incoming_qp, and then we compare across all
379  // processors later and pick the closest one.
380  outgoing_evals[2 * qp] = current_distance;
381  outgoing_evals[2 * qp + 1] = (*from_sys.solution)(from_dof);
382 
383  if (_fixed_meshes)
384  {
385  // Cache the nearest nodes.
386  _cached_froms[i_proc][qp] = i_local_from;
387  _cached_dof_ids[i_proc][qp] = from_dof;
388  }
389  }
390  }
391  }
392  }
393  }
394 
395  if (i_proc == processor_id())
396  incoming_evals[i_proc] = outgoing_evals;
397  else
398  _communicator.send(i_proc, outgoing_evals, send_evals[i_proc]);
399  }
400  }
401 
402  else // We've cached the nearest nodes.
403  {
404  for (processor_id_type i_proc = 0; i_proc < n_processors(); i_proc++)
405  {
406  std::vector<Real> & outgoing_evals = processor_outgoing_evals[i_proc];
407  outgoing_evals.resize(_cached_froms[i_proc].size());
408 
409  for (unsigned int qp = 0; qp < outgoing_evals.size(); qp++)
410  {
411  MooseVariableFEBase & from_var = _from_problems[_cached_froms[i_proc][qp]]->getVariable(
412  0,
416  System & from_sys = from_var.sys().system();
417  dof_id_type from_dof = _cached_dof_ids[i_proc][qp];
418  // outgoing_evals[qp] = (*from_sys.solution)(_cached_dof_ids[i_proc][qp]);
419  outgoing_evals[qp] = (*from_sys.solution)(from_dof);
420  }
421 
422  if (i_proc == processor_id())
423  incoming_evals[i_proc] = outgoing_evals;
424  else
425  _communicator.send(i_proc, outgoing_evals, send_evals[i_proc]);
426  }
427  }
428 
430  // Gather all of the evaluations, find the nearest one for each node/element,
431  // and apply the values.
433 
434  for (processor_id_type i_proc = 0; i_proc < n_processors(); i_proc++)
435  {
436  if (i_proc == processor_id())
437  continue;
438 
439  _communicator.receive(i_proc, incoming_evals[i_proc]);
440  }
441 
442  for (unsigned int i_to = 0; i_to < _to_problems.size(); i_to++)
443  {
444  // Loop over the master nodes and set the value of the variable
445  System * to_sys = find_sys(*_to_es[i_to], _to_var_name);
446 
447  unsigned int sys_num = to_sys->number();
448  unsigned int var_num = to_sys->variable_number(_to_var_name);
449 
450  NumericVector<Real> * solution = nullptr;
451  switch (_direction)
452  {
453  case TO_MULTIAPP:
454  solution = &getTransferVector(i_to, _to_var_name);
455  break;
456  case FROM_MULTIAPP:
457  solution = to_sys->solution.get();
458  break;
459  default:
460  mooseError("Unknown direction");
461  }
462 
463  const MeshBase & to_mesh = _to_meshes[i_to]->getMesh();
464 
465  bool is_to_nodal = to_sys->variable_type(var_num).family == LAGRANGE;
466 
467  if (is_to_nodal)
468  {
469  std::vector<Node *> target_local_nodes;
470 
471  if (isParamValid("target_boundary"))
472  {
473  BoundaryID target_bnd_id =
474  _to_meshes[i_to]->getBoundaryID(getParam<BoundaryName>("target_boundary"));
475 
476  ConstBndNodeRange & bnd_nodes = *(_to_meshes[i_to])->getBoundaryNodeRange();
477  for (const auto & bnode : bnd_nodes)
478  if (bnode->_bnd_id == target_bnd_id && bnode->_node->processor_id() == processor_id())
479  target_local_nodes.push_back(bnode->_node);
480  }
481  else
482  {
483  target_local_nodes.resize(to_mesh.n_local_nodes());
484  unsigned int i = 0;
485  for (auto & node : to_mesh.local_node_ptr_range())
486  target_local_nodes[i++] = node;
487  }
488 
489  for (const auto & node : target_local_nodes)
490  {
491  // Skip this node if the variable has no dofs at it.
492  if (node->n_dofs(sys_num, var_num) < 1)
493  continue;
494 
495  // If nothing is in the node_index_map for a given local node,
496  // it will get the value 0.
497  Real best_val = 0;
498  if (!_neighbors_cached)
499  {
500  // Search through all the incoming evaluation points from
501  // different processors for the one with the closest
502  // point. If there are multiple values from other processors
503  // which are equidistant, the first one we check will "win".
504  Real min_dist = std::numeric_limits<Real>::max();
505  for (unsigned int i_from = 0; i_from < incoming_evals.size(); i_from++)
506  {
507  std::pair<unsigned int, unsigned int> key(i_to, node->id());
508  if (node_index_map[i_from].find(key) == node_index_map[i_from].end())
509  continue;
510  unsigned int qp_ind = node_index_map[i_from][key];
511  if (incoming_evals[i_from][2 * qp_ind] >= min_dist)
512  continue;
513 
514  // If we made it here, we are going set a new value and
515  // distance because we found one that was closer.
516  min_dist = incoming_evals[i_from][2 * qp_ind];
517  best_val = incoming_evals[i_from][2 * qp_ind + 1];
518 
519  if (_fixed_meshes)
520  {
521  // Cache these indices.
522  _cached_from_inds[node->id()] = i_from;
523  _cached_qp_inds[node->id()] = qp_ind;
524  }
525  }
526  }
527 
528  else
529  {
530  best_val = incoming_evals[_cached_from_inds[node->id()]][_cached_qp_inds[node->id()]];
531  }
532 
533  dof_id_type dof = node->dof_number(sys_num, var_num, 0);
534  solution->set(dof, best_val);
535  }
536  }
537  else // Elemental
538  {
539  for (auto & elem : to_mesh.active_local_element_ptr_range())
540  {
541  // Skip this element if the variable has no dofs at it.
542  if (elem->n_dofs(sys_num, var_num) < 1)
543  continue;
544 
545  Real best_val = 0;
546  if (!_neighbors_cached)
547  {
548  Real min_dist = std::numeric_limits<Real>::max();
549  for (unsigned int i_from = 0; i_from < incoming_evals.size(); i_from++)
550  {
551  std::pair<unsigned int, unsigned int> key(i_to, elem->id());
552  if (node_index_map[i_from].find(key) == node_index_map[i_from].end())
553  continue;
554  unsigned int qp_ind = node_index_map[i_from][key];
555  if (incoming_evals[i_from][2 * qp_ind] >= min_dist)
556  continue;
557  min_dist = incoming_evals[i_from][2 * qp_ind];
558  best_val = incoming_evals[i_from][2 * qp_ind + 1];
559 
560  if (_fixed_meshes)
561  {
562  // Cache these indices.
563  _cached_from_inds[elem->id()] = i_from;
564  _cached_qp_inds[elem->id()] = qp_ind;
565  }
566  }
567  }
568 
569  else
570  {
571  best_val = incoming_evals[_cached_from_inds[elem->id()]][_cached_qp_inds[elem->id()]];
572  }
573 
574  dof_id_type dof = elem->dof_number(sys_num, var_num, 0);
575  solution->set(dof, best_val);
576  }
577  }
578  solution->close();
579  to_sys->update();
580  }
581 
582  if (_fixed_meshes)
583  _neighbors_cached = true;
584 
585  // Make sure all our sends succeeded.
586  for (processor_id_type i_proc = 0; i_proc < n_processors(); i_proc++)
587  {
588  if (i_proc == processor_id())
589  continue;
590  send_qps[i_proc].wait();
591  send_evals[i_proc].wait();
592  }
593 
594  _console << "Finished NearestNodeTransfer " << name() << std::endl;
595 }
NumericVector< Real > & getTransferVector(unsigned int i_local, std::string var_name)
If we are transferring to a multiapp, return the appropriate solution vector.
Real bboxMaxDistance(const Point &p, const BoundingBox &bbox)
Return the distance between the given point and the farthest corner of the given bounding box...
std::vector< EquationSystems * > _to_es
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
std::vector< Point > _from_positions
void mooseError(Args &&... args) const
Definition: MooseObject.h:140
Real bboxMinDistance(const Point &p, const BoundingBox &bbox)
Return the distance between the given point and the nearest corner of the given bounding box...
const FEType & feType() const
Get the type of finite element object.
std::vector< std::vector< dof_id_type > > & _cached_dof_ids
std::map< dof_id_type, unsigned int > & _cached_from_inds
std::vector< MooseMesh * > _from_meshes
MooseEnum _direction
Whether we&#39;re transferring to or from the MultiApp.
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.
std::map< dof_id_type, unsigned int > & _cached_qp_inds
std::vector< Point > _to_positions
std::vector< std::vector< unsigned int > > & _cached_froms
const std::string & name() const
Get the variable name.
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:51
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.
static System * find_sys(EquationSystems &es, const std::string &var_name)
Small helper function for finding the system containing the variable.
Definition: Transfer.C:65
void getLocalEntities(MooseMesh *mesh, std::vector< std::pair< Point, DofObject *>> &local_entities, bool nodal)
StoredRange< MooseMesh::const_bnd_node_iterator, const BndNode * > ConstBndNodeRange
Some useful StoredRange typedefs.
Definition: MooseMesh.h:1243
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
Definition: MooseObject.h:81
void getAppInfo()
This method will fill information into the convenience member variables (_to_problems, _from_meshes, etc.)
SystemBase & sys()
Get the system this variable is part of.
std::vector< FEProblemBase * > _from_problems
bool _fixed_meshes
If true then node connections will be cached.
std::vector< MooseMesh * > _to_meshes
boundary_id_type BoundaryID
Definition: MooseTypes.h:93

◆ 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 65 of file Transfer.C.

Referenced by MultiAppPostprocessorInterpolationTransfer::execute(), execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppInterpolationTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppDTKInterpolationTransfer::execute(), DTKInterpolationAdapter::get_values_to_fill(), DTKInterpolationAdapter::get_variable_evaluator(), MultiAppMeshFunctionTransfer::transferVariable(), DTKInterpolationAdapter::update_variable_values(), and MultiAppTransfer::variableIntegrityCheck().

66 {
67  // Find the system this variable is from
68  for (unsigned int i = 0; i < es.n_systems(); i++)
69  if (es.get_system(i).has_variable(var_name))
70  return &es.get_system(i);
71 
72  ::mooseError("Unable to find variable " + var_name + " in any system.");
73 
74  // Unreachable
75  return &es.get_system(0);
76 }
void mooseError(Args &&... args) const
Definition: MooseObject.h:140

◆ getAppInfo()

void MultiAppTransfer::getAppInfo ( )
protectedinherited

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

Definition at line 86 of file MultiAppTransfer.C.

Referenced by execute(), MultiAppMeshFunctionTransfer::execute(), MultiAppProjectionTransfer::execute(), and MultiAppProjectionTransfer::initialSetup().

87 {
88  // I would like to do all of this in initialSetup, but it will fail with
89  // multiapps that reset. A reset deletes and rebuilds the FEProblems so all
90  // of the pointers will be broken.
91 
92  // Clear the vectors since we've probably built them up from a previous call
93  _from_problems.clear();
94  _to_problems.clear();
95  _from_es.clear();
96  _to_es.clear();
97  _from_meshes.clear();
98  _to_meshes.clear();
99  _to_positions.clear();
100  _from_positions.clear();
101 
102  // Build the vectors for to problems, from problems, and subapps positions.
103  switch (_direction)
104  {
105  case TO_MULTIAPP:
106  _from_problems.push_back(&_multi_app->problemBase());
107  _from_positions.push_back(Point(0., 0., 0.));
108  for (unsigned int i_app = 0; i_app < _multi_app->numGlobalApps(); i_app++)
109  {
110  if (!_multi_app->hasLocalApp(i_app))
111  continue;
112  _local2global_map.push_back(i_app);
113  _to_problems.push_back(&_multi_app->appProblemBase(i_app));
114  _to_positions.push_back(_multi_app->position(i_app));
115  }
116  break;
117 
118  case FROM_MULTIAPP:
119  _to_problems.push_back(&_multi_app->problemBase());
120  _to_positions.push_back(Point(0., 0., 0.));
121  for (unsigned int i_app = 0; i_app < _multi_app->numGlobalApps(); i_app++)
122  {
123  if (!_multi_app->hasLocalApp(i_app))
124  continue;
125  _local2global_map.push_back(i_app);
126  _from_problems.push_back(&_multi_app->appProblemBase(i_app));
127  _from_positions.push_back(_multi_app->position(i_app));
128  }
129  break;
130  }
131 
132  // Build the from and to equation systems and mesh vectors.
133  for (unsigned int i = 0; i < _to_problems.size(); i++)
134  {
135  // TODO: Do I actually want es or displaced es?
136  _to_es.push_back(&_to_problems[i]->es());
137  if (_displaced_target_mesh && _to_problems[i]->getDisplacedProblem())
138  _to_meshes.push_back(&_to_problems[i]->getDisplacedProblem()->mesh());
139  else
140  _to_meshes.push_back(&_to_problems[i]->mesh());
141  }
142  for (unsigned int i = 0; i < _from_problems.size(); i++)
143  {
144  _from_es.push_back(&_from_problems[i]->es());
145  if (_displaced_source_mesh && _from_problems[i]->getDisplacedProblem())
146  _from_meshes.push_back(&_from_problems[i]->getDisplacedProblem()->mesh());
147  else
148  _from_meshes.push_back(&_from_problems[i]->mesh());
149  }
150 }
std::vector< EquationSystems * > _to_es
std::vector< FEProblemBase * > _to_problems
std::vector< Point > _from_positions
std::shared_ptr< MultiApp > _multi_app
The MultiApp this Transfer is transferring data to or from.
bool _displaced_target_mesh
True if displaced mesh is used for the target mesh, otherwise false.
std::vector< MooseMesh * > _from_meshes
MooseEnum _direction
Whether we&#39;re transferring to or from the MultiApp.
std::vector< unsigned int > _local2global_map
std::vector< Point > _to_positions
std::vector< EquationSystems * > _from_es
bool _displaced_source_mesh
True if displaced mesh is used for the source mesh, otherwise false.
std::vector< FEProblemBase * > _from_problems
std::vector< MooseMesh * > _to_meshes

◆ getCheckedPointerParam()

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

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

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

Definition at line 72 of file MooseObject.h.

73  {
74  return parameters().getCheckedPointerParam<T>(name, error_string);
75  }
T getCheckedPointerParam(const std::string &name, const std::string &error_string="") const
Verifies that the requested parameter exists and is not NULL and returns it to the caller...
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseObject.h:57
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:51

◆ getExecuteOnEnum()

const ExecFlagEnum & SetupInterface::getExecuteOnEnum ( ) const
inherited

Return the execute on MultiMooseEnum for this object.

Definition at line 67 of file SetupInterface.C.

Referenced by ExecuteMooseObjectWarehouse< Transfer >::addObjectMask(), EigenExecutionerBase::init(), AttribExecOns::initFrom(), and MultiAppTransfer::MultiAppTransfer().

68 {
69  return _execute_enum;
70 }
const ExecFlagEnum & _execute_enum
Execute settings for this oejct.

◆ getExecuteOptions()

ExecFlagEnum SetupInterface::getExecuteOptions ( )
staticinherited

(DEPRECATED) Returns the available options for the 'execute_on' input parameters TODO: ExecFlagType

Returns
A MooseEnum with the available 'execute_on' options, the default is 'residual'

Definition at line 101 of file SetupInterface.C.

102 {
103  // TODO: ExecFlagType
104  ::mooseDeprecated("The 'getExecuteOptions' was replaced by the ExecFlagEnum class because MOOSE "
105  "was updated to use this for the execute flags and the new function provides "
106  "additional arguments for modification of the enum.");
108 }
ExecFlagEnum getDefaultExecFlagEnum()
Return the default ExecFlagEnum for MOOSE.
Definition: MooseUtils.C:724
void mooseDeprecated(Args &&... args)
Emit a deprecated code/feature message with the given stringified, concatenated args.
Definition: MooseError.h:237

◆ 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.

The 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.

Definition at line 153 of file MultiAppTransfer.C.

Referenced by execute(), MultiAppProjectionTransfer::execute(), and MultiAppMeshFunctionTransfer::transferVariable().

154 {
155  std::vector<std::pair<Point, Point>> bb_points(_from_meshes.size());
156  for (unsigned int i = 0; i < _from_meshes.size(); i++)
157  {
158  // Get a bounding box around the mesh elements that are local to the current
159  // processor.
160  BoundingBox bbox = MeshTools::create_local_bounding_box(*_from_meshes[i]);
161 
162  // Translate the bounding box to the from domain's position.
163  bbox.first += _from_positions[i];
164  bbox.second += _from_positions[i];
165 
166  // Cast the bounding box into a pair of points (so it can be put through
167  // MPI communication).
168  bb_points[i] = static_cast<std::pair<Point, Point>>(bbox);
169  }
170 
171  // Serialize the bounding box points.
172  _communicator.allgather(bb_points);
173 
174  // Recast the points back into bounding boxes and return.
175  std::vector<BoundingBox> bboxes(bb_points.size());
176  for (unsigned int i = 0; i < bb_points.size(); i++)
177  bboxes[i] = static_cast<BoundingBox>(bb_points[i]);
178 
179  return bboxes;
180 }
std::vector< Point > _from_positions
std::vector< MooseMesh * > _from_meshes

◆ getFromBoundingBoxes() [2/2]

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

Definition at line 183 of file MultiAppTransfer.C.

184 {
185  std::vector<std::pair<Point, Point>> bb_points(_from_meshes.size());
186  const Real min_r = std::numeric_limits<Real>::lowest();
187  const Real max_r = std::numeric_limits<Real>::max();
188 
189  for (unsigned int i = 0; i < _from_meshes.size(); i++)
190  {
191 
192  Point min(max_r, max_r, max_r);
193  Point max(min_r, min_r, min_r);
194  bool at_least_one = false;
195 
196  // TODO: Factor this into mesh_tools after adding new boundary bounding box routine.
197  const ConstBndNodeRange & bnd_nodes = *_from_meshes[i]->getBoundaryNodeRange();
198  for (const auto & bnode : bnd_nodes)
199  {
200  if (bnode->_bnd_id == boundary_id && bnode->_node->processor_id() == processor_id())
201  {
202  const auto & node = *bnode->_node;
203  for (unsigned int i = 0; i < LIBMESH_DIM; ++i)
204  {
205  min = std::min(min(i), node(i));
206  max = std::max(max(i), node(i));
207  at_least_one = true;
208  }
209  }
210  }
211 
212  BoundingBox bbox(min, max);
213  if (!at_least_one)
214  bbox.min() = max; // If we didn't hit any nodes, this will be _the_ minimum bbox
215  else
216  {
217  // Translate the bounding box to the from domain's position.
218  bbox.first += _from_positions[i];
219  bbox.second += _from_positions[i];
220  }
221 
222  // Cast the bounding box into a pair of points (so it can be put through
223  // MPI communication).
224  bb_points[i] = static_cast<std::pair<Point, Point>>(bbox);
225  }
226 
227  // Serialize the bounding box points.
228  _communicator.allgather(bb_points);
229 
230  // Recast the points back into bounding boxes and return.
231  std::vector<BoundingBox> bboxes(bb_points.size());
232  for (unsigned int i = 0; i < bb_points.size(); i++)
233  bboxes[i] = static_cast<BoundingBox>(bb_points[i]);
234 
235  return bboxes;
236 }
std::vector< Point > _from_positions
std::vector< MooseMesh * > _from_meshes
StoredRange< MooseMesh::const_bnd_node_iterator, const BndNode * > ConstBndNodeRange
Some useful StoredRange typedefs.
Definition: MooseMesh.h:1243

◆ getFromsPerProc()

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

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

Definition at line 239 of file MultiAppTransfer.C.

Referenced by execute(), MultiAppProjectionTransfer::execute(), and MultiAppMeshFunctionTransfer::transferVariable().

240 {
241  std::vector<unsigned int> froms_per_proc;
242  switch (_direction)
243  {
244  case TO_MULTIAPP:
245  froms_per_proc.resize(n_processors(), 1);
246  break;
247  case FROM_MULTIAPP:
248  froms_per_proc.resize(n_processors());
249  _communicator.allgather(_multi_app->numLocalApps(), froms_per_proc);
250  break;
251  }
252  return froms_per_proc;
253 }
std::shared_ptr< MultiApp > _multi_app
The MultiApp this Transfer is transferring data to or from.
MooseEnum _direction
Whether we&#39;re transferring to or from the MultiApp.

◆ getLocalEntities()

void MultiAppNearestNodeTransfer::getLocalEntities ( MooseMesh mesh,
std::vector< std::pair< Point, DofObject *>> &  local_entities,
bool  nodal 
)
protected

Definition at line 693 of file MultiAppNearestNodeTransfer.C.

Referenced by execute().

695 {
696  mooseAssert(local_entities.empty(), "local_entities should be empty");
697  const MeshBase & mesh_base = mesh->getMesh();
698 
699  if (isParamValid("source_boundary"))
700  {
701  BoundaryID src_bnd_id = mesh->getBoundaryID(getParam<BoundaryName>("source_boundary"));
702  auto proc_id = processor_id();
703  if (is_nodal)
704  {
705  const ConstBndNodeRange & bnd_nodes = *mesh->getBoundaryNodeRange();
706  for (const auto & bnode : bnd_nodes)
707  if (bnode->_bnd_id == src_bnd_id && bnode->_node->processor_id() == proc_id)
708  local_entities.emplace_back(*bnode->_node, bnode->_node);
709  }
710  else
711  {
712  const ConstBndElemRange & bnd_elems = *mesh->getBoundaryElementRange();
713  for (const auto & belem : bnd_elems)
714  if (belem->_bnd_id == src_bnd_id && belem->_elem->processor_id() == proc_id)
715  local_entities.emplace_back(belem->_elem->centroid(), belem->_elem);
716  }
717  }
718  else
719  {
720  if (is_nodal)
721  {
722  local_entities.reserve(mesh_base.n_local_nodes());
723  for (auto & node : mesh_base.local_node_ptr_range())
724  local_entities.emplace_back(*node, node);
725  }
726  else
727  {
728  local_entities.reserve(mesh_base.n_local_elem());
729  for (auto & elem : mesh_base.active_local_element_ptr_range())
730  local_entities.emplace_back(elem->centroid(), elem);
731  }
732  }
733 }
StoredRange< MooseMesh::const_bnd_elem_iterator, const BndElement * > ConstBndElemRange
Definition: MooseMesh.h:1244
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object.
Definition: MooseMesh.C:2512
StoredRange< MooseMesh::const_bnd_elem_iterator, const BndElement * > * getBoundaryElementRange()
Definition: MooseMesh.C:843
StoredRange< MooseMesh::const_bnd_node_iterator, const BndNode * > ConstBndNodeRange
Some useful StoredRange typedefs.
Definition: MooseMesh.h:1243
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
Definition: MooseObject.h:81
StoredRange< MooseMesh::const_bnd_node_iterator, const BndNode * > * getBoundaryNodeRange()
Definition: MooseMesh.C:830
BoundaryID getBoundaryID(const BoundaryName &boundary_name) const
Get the associated BoundaryID for the boundary name.
Definition: MooseMesh.C:1043
boundary_id_type BoundaryID
Definition: MooseTypes.h:93

◆ getMooseApp()

MooseApp& MooseObject::getMooseApp ( ) const
inlineinherited

Get the MooseApp this object is associated with.

Definition at line 86 of file MooseObject.h.

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

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

◆ getMultiApp()

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

Return the MultiApp that this transfer belongs to.

Definition at line 59 of file MultiAppTransfer.h.

59 { return _multi_app; }
std::shared_ptr< MultiApp > _multi_app
The MultiApp this Transfer is transferring data to or from.

◆ getNearestNode()

Node * MultiAppNearestNodeTransfer::getNearestNode ( const Point &  p,
Real &  distance,
MooseMesh mesh,
bool  local 
)
protected

Return the nearest node to the point p.

Parameters
pThe point you want to find the nearest node to.
distanceThis will hold the distance between the returned node and p
meshThe mesh in which we search for the node
localtrue if we look at local nodes, otherwise we look at all nodes
Returns
The Node closest to point p.

Definition at line 598 of file MultiAppNearestNodeTransfer.C.

602 {
603  distance = std::numeric_limits<Real>::max();
604  Node * nearest = nullptr;
605 
606  if (isParamValid("source_boundary"))
607  {
608  BoundaryID src_bnd_id = mesh->getBoundaryID(getParam<BoundaryName>("source_boundary"));
609 
610  const ConstBndNodeRange & bnd_nodes = *mesh->getBoundaryNodeRange();
611  for (const auto & bnode : bnd_nodes)
612  {
613  if (bnode->_bnd_id == src_bnd_id)
614  {
615  Node * node = bnode->_node;
616  Real current_distance = (p - *node).norm();
617 
618  if (current_distance < distance)
619  {
620  distance = current_distance;
621  nearest = node;
622  }
623  }
624  }
625  }
626  else
627  {
628  for (auto & node : as_range(local ? mesh->localNodesBegin() : mesh->getMesh().nodes_begin(),
629  local ? mesh->localNodesEnd() : mesh->getMesh().nodes_end()))
630  {
631  Real current_distance = (p - *node).norm();
632 
633  if (current_distance < distance)
634  {
635  distance = current_distance;
636  nearest = node;
637  }
638  }
639  }
640 
641  return nearest;
642 }
MeshBase::const_node_iterator localNodesBegin()
Calls local_nodes_begin/end() on the underlying libMesh mesh object.
Definition: MooseMesh.C:2157
MeshBase::const_node_iterator localNodesEnd()
Definition: MooseMesh.C:2163
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object.
Definition: MooseMesh.C:2512
StoredRange< MooseMesh::const_bnd_node_iterator, const BndNode * > ConstBndNodeRange
Some useful StoredRange typedefs.
Definition: MooseMesh.h:1243
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
Definition: MooseObject.h:81
StoredRange< MooseMesh::const_bnd_node_iterator, const BndNode * > * getBoundaryNodeRange()
Definition: MooseMesh.C:830
BoundaryID getBoundaryID(const BoundaryName &boundary_name) const
Get the associated BoundaryID for the boundary name.
Definition: MooseMesh.C:1043
boundary_id_type BoundaryID
Definition: MooseTypes.h:93

◆ getParam()

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

Retrieve a parameter for the object.

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

Definition at line 185 of file MooseObject.h.

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

186 {
187  return InputParameters::getParamHelper(name, _pars, static_cast<T *>(0));
188 }
static const T & getParamHelper(const std::string &name, const InputParameters &pars, const T *the_type)
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:168
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:51

◆ 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 256 of file MultiAppTransfer.C.

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

257 {
258  mooseAssert(_direction == TO_MULTIAPP, "getTransferVector only works for transfers to multiapps");
259 
260  return _multi_app->appTransferVector(_local2global_map[i_local], var_name);
261 }
std::shared_ptr< MultiApp > _multi_app
The MultiApp this Transfer is transferring data to or from.
MooseEnum _direction
Whether we&#39;re transferring to or from the MultiApp.
std::vector< unsigned int > _local2global_map

◆ initialSetup()

void MultiAppNearestNodeTransfer::initialSetup ( )
overridevirtual

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

Reimplemented from Transfer.

Definition at line 69 of file MultiAppNearestNodeTransfer.C.

70 {
71  if (_direction == TO_MULTIAPP)
73  else
75 }
void variableIntegrityCheck(const AuxVariableName &var_name) const
Utility to verify that the vEariable in the destination system exists.
MooseEnum _direction
Whether we&#39;re transferring to or from the MultiApp.

◆ isParamValid()

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

Test if the supplied parameter is valid.

Parameters
nameThe name of the parameter to test

Definition at line 81 of file MooseObject.h.

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

81 { return _pars.isParamValid(name); }
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:168
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:51
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

Gets called just before the Jacobian is computed and before this object is asked to do its job.

Reimplemented in EqualValueEmbeddedConstraint.

Definition at line 52 of file SetupInterface.C.

53 {
54 }

◆ mooseDeprecated()

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

◆ mooseError()

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

Definition at line 140 of file MooseObject.h.

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

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

◆ mooseInfo()

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

◆ mooseWarning()

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

◆ name()

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

Get the name of the object.

Returns
The name of the object

Definition at line 51 of file MooseObject.h.

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

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

◆ paramError()

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

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

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

Definition at line 100 of file MooseObject.h.

Referenced by ADKernel< compute_stage >::ADKernel(), DGKernel::DGKernel(), ElementValueSampler::ElementValueSampler(), IntegratedBC::IntegratedBC(), Kernel::Kernel(), NodalBC::NodalBC(), NodalEqualValueConstraint::NodalEqualValueConstraint(), NodalKernel::NodalKernel(), NodalValueSampler::NodalValueSampler(), RandomIC::RandomIC(), and MultiAppCopyTransfer::transfer().

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

◆ parameters()

const InputParameters& MooseObject::parameters ( ) const
inlineinherited

Get the parameters of the object.

Returns
The parameters of the object

Definition at line 57 of file MooseObject.h.

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

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

◆ paramInfo()

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

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

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

Definition at line 131 of file MooseObject.h.

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

◆ paramWarning()

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

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

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

Definition at line 115 of file MooseObject.h.

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

◆ residualSetup()

void SetupInterface::residualSetup ( )
virtualinherited

Gets called just before the residual is computed and before this object is asked to do its job.

Definition at line 57 of file SetupInterface.C.

58 {
59 }

◆ 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 Material, Constraint, GeneralUserObject, NodalUserObject, and ThreadedGeneralUserObject.

Definition at line 62 of file SetupInterface.C.

63 {
64 }

◆ timestepSetup()

void SetupInterface::timestepSetup ( )
virtualinherited

Gets called at the beginning of the timestep before this object is asked to do its job.

Reimplemented in SolutionUserObject, VectorPostprocessorVisualizationAux, NumNonlinearIterations, EqualValueEmbeddedConstraint, VectorMemoryUsage, and MemoryUsage.

Definition at line 47 of file SetupInterface.C.

48 {
49 }

◆ type()

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

Get the type of this object.

Returns
the name of the type of this object

Definition at line 45 of file MooseObject.h.

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

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

◆ variableIntegrityCheck()

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

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

Definition at line 68 of file MultiAppTransfer.C.

Referenced by initialSetup(), MultiAppVariableValueSampleTransfer::initialSetup(), MultiAppMeshFunctionTransfer::initialSetup(), MultiAppInterpolationTransfer::initialSetup(), MultiAppUserObjectTransfer::initialSetup(), and MultiAppCopyTransfer::initialSetup().

69 {
70  for (unsigned int i = 0; i < _multi_app->numGlobalApps(); i++)
71  if (_multi_app->hasLocalApp(i) && !find_sys(_multi_app->appProblemBase(i).es(), var_name))
72  mooseError("Cannot find variable ", var_name, " for ", name(), " Transfer");
73 }
void mooseError(Args &&... args) const
Definition: MooseObject.h:140
std::shared_ptr< MultiApp > _multi_app
The MultiApp this Transfer is transferring data to or from.
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:51
static System * find_sys(EquationSystems &es, const std::string &var_name)
Small helper function for finding the system containing the variable.
Definition: Transfer.C:65

Member Data Documentation

◆ _app

MooseApp& MooseObject::_app
protectedinherited

The MooseApp this object is associated with.

Definition at line 171 of file MooseObject.h.

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

◆ _cached_dof_ids

std::vector<std::vector<dof_id_type> >& MultiAppNearestNodeTransfer::_cached_dof_ids
protected

Definition at line 84 of file MultiAppNearestNodeTransfer.h.

Referenced by execute().

◆ _cached_from_inds

std::map<dof_id_type, unsigned int>& MultiAppNearestNodeTransfer::_cached_from_inds
protected

Definition at line 85 of file MultiAppNearestNodeTransfer.h.

Referenced by execute().

◆ _cached_froms

std::vector<std::vector<unsigned int> >& MultiAppNearestNodeTransfer::_cached_froms
protected

Definition at line 83 of file MultiAppNearestNodeTransfer.h.

Referenced by execute().

◆ _cached_qp_inds

std::map<dof_id_type, unsigned int>& MultiAppNearestNodeTransfer::_cached_qp_inds
protected

Definition at line 86 of file MultiAppNearestNodeTransfer.h.

Referenced by execute().

◆ _console

const ConsoleStream ConsoleStreamInterface::_console
inherited

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

Definition at line 32 of file ConsoleStreamInterface.h.

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

◆ _current_execute_flag

const ExecFlagType& SetupInterface::_current_execute_flag
protectedinherited

Reference to FEProblemBase.

Definition at line 98 of file SetupInterface.h.

◆ _direction

MooseEnum MultiAppTransfer::_direction
protectedinherited

◆ _displaced_source_mesh

bool MultiAppTransfer::_displaced_source_mesh
protectedinherited

True if displaced mesh is used for the source mesh, otherwise false.

Definition at line 87 of file MultiAppTransfer.h.

Referenced by MultiAppInterpolationTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppTransfer::getAppInfo(), and MultiAppMeshFunctionTransfer::transferVariable().

◆ _displaced_target_mesh

bool MultiAppTransfer::_displaced_target_mesh
protectedinherited

True if displaced mesh is used for the target mesh, otherwise false.

Definition at line 89 of file MultiAppTransfer.h.

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

◆ _distance_map

std::map<dof_id_type, Real>& MultiAppNearestNodeTransfer::_distance_map
protected

Used to cache distances.

Definition at line 79 of file MultiAppNearestNodeTransfer.h.

◆ _enabled

const bool& MooseObject::_enabled
protectedinherited

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

Definition at line 180 of file MooseObject.h.

Referenced by MooseObject::enabled().

◆ _exec_flags

const std::vector<ExecFlagType> SetupInterface::_exec_flags
protectedinherited

(DEPRECATED) execution flag (when is the object executed/evaluated) TODO: ExecFlagType

Definition at line 95 of file SetupInterface.h.

Referenced by SetupInterface::execBitFlags(), MultiAppTransfer::execFlags(), and SetupInterface::execFlags().

◆ _execute_enum

const ExecFlagEnum& SetupInterface::_execute_enum
protectedinherited

Execute settings for this oejct.

Definition at line 92 of file SetupInterface.h.

Referenced by ChangeOverTimePostprocessor::ChangeOverTimePostprocessor(), and SetupInterface::getExecuteOnEnum().

◆ _fe_problem

FEProblemBase& Transfer::_fe_problem
protectedinherited

◆ _fixed_meshes

bool MultiAppNearestNodeTransfer::_fixed_meshes
protected

If true then node connections will be cached.

Definition at line 73 of file MultiAppNearestNodeTransfer.h.

Referenced by execute().

◆ _from_es

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

Definition at line 80 of file MultiAppTransfer.h.

Referenced by MultiAppTransfer::getAppInfo().

◆ _from_meshes

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

◆ _from_positions

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

◆ _from_problems

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

◆ _from_var_name

VariableName MultiAppNearestNodeTransfer::_from_var_name
protected

Definition at line 70 of file MultiAppNearestNodeTransfer.h.

Referenced by execute(), and initialSetup().

◆ _local2global_map

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

◆ _multi_app

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

◆ _name

const std::string& MooseObject::_name
protectedinherited

◆ _neighbors_cached

bool& MultiAppNearestNodeTransfer::_neighbors_cached
protected

Definition at line 82 of file MultiAppNearestNodeTransfer.h.

Referenced by execute().

◆ _node_map

std::map<dof_id_type, Node *>& MultiAppNearestNodeTransfer::_node_map
protected

Used to cache nodes.

Definition at line 76 of file MultiAppNearestNodeTransfer.h.

◆ _pars

const InputParameters& MooseObject::_pars
protectedinherited

◆ _subproblem

SubProblem& Transfer::_subproblem
protectedinherited

Definition at line 69 of file Transfer.h.

◆ _sys

SystemBase& Transfer::_sys
protectedinherited

Definition at line 71 of file Transfer.h.

◆ _tid

THREAD_ID Transfer::_tid
protectedinherited

◆ _to_es

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

◆ _to_meshes

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

◆ _to_positions

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

◆ _to_problems

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

◆ _to_var_name

AuxVariableName MultiAppNearestNodeTransfer::_to_var_name
protected

Definition at line 69 of file MultiAppNearestNodeTransfer.h.

Referenced by execute(), and initialSetup().

◆ _type

const std::string& MooseObject::_type
protectedinherited

The type of this object (the Class name)

Definition at line 174 of file MooseObject.h.

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

◆ OutOfMeshValue

const Number Transfer::OutOfMeshValue = -999999
staticinherited

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