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...
 
const 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 29 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 52 of file MultiAppNearestNodeTransfer.C.

54  _to_var_name(getParam<AuxVariableName>("variable")),
55  _from_var_name(getParam<VariableName>("source_variable")),
56  _fixed_meshes(getParam<bool>("fixed_meshes")),
57  _node_map(declareRestartableData<std::map<dof_id_type, Node *>>("node_map")),
58  _distance_map(declareRestartableData<std::map<dof_id_type, Real>>("distance_map")),
59  _neighbors_cached(declareRestartableData<bool>("neighbors_cached", false)),
60  _cached_froms(declareRestartableData<std::vector<std::vector<unsigned int>>>("cached_froms")),
62  declareRestartableData<std::vector<std::vector<dof_id_type>>>("cached_dof_ids")),
64  declareRestartableData<std::map<dof_id_type, unsigned int>>("cached_from_ids")),
65  _cached_qp_inds(declareRestartableData<std::map<dof_id_type, unsigned int>>("cached_qp_inds"))
66 {
67 }
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:62
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:204

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 646 of file MultiAppNearestNodeTransfer.C.

Referenced by execute().

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

Referenced by execute().

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

272 {
273  std::string full_name = _restartable_system_name + "/" + _restartable_name + "/" + data_name;
274 
275  registerRecoverableDataOnApp(full_name);
276 
277  return declareRestartableDataWithContext<T>(data_name, nullptr);
278 }
std::string _restartable_system_name
The system name this object is in.
Definition: Restartable.h:196
std::string _restartable_name
The name of the object.
Definition: Restartable.h:193
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 282 of file Restartable.h.

283 {
284  std::string full_name = _restartable_system_name + "/" + _restartable_name + "/" + data_name;
285 
286  registerRecoverableDataOnApp(full_name);
287 
288  return declareRestartableDataWithContext<T>(data_name, init_value, nullptr);
289 }
std::string _restartable_system_name
The system name this object is in.
Definition: Restartable.h:196
std::string _restartable_name
The name of the object.
Definition: Restartable.h:193
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 204 of file Restartable.h.

205 {
206  return declareRestartableDataWithContext<T>(data_name, nullptr);
207 }

◆ 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 211 of file Restartable.h.

212 {
213  return declareRestartableDataWithContext<T>(data_name, init_value, nullptr);
214 }

◆ 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 218 of file Restartable.h.

219 {
220  std::string full_name = _restartable_system_name + "/" + _restartable_name + "/" + data_name;
221  auto data_ptr = libmesh_make_unique<RestartableData<T>>(full_name, context);
222  T & restartable_data_ref = data_ptr->get();
223 
224  registerRestartableDataOnApp(full_name, std::move(data_ptr), _restartable_tid);
225 
226  return restartable_data_ref;
227 }
std::string _restartable_system_name
The system name this object is in.
Definition: Restartable.h:196
std::string _restartable_name
The name of the object.
Definition: Restartable.h:193
THREAD_ID _restartable_tid
The thread ID for this object.
Definition: Restartable.h:199
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 231 of file Restartable.h.

234 {
235  std::string full_name = _restartable_system_name + "/" + _restartable_name + "/" + data_name;
236  auto data_ptr = libmesh_make_unique<RestartableData<T>>(full_name, context);
237  data_ptr->set() = init_value;
238 
239  T & restartable_data_ref = data_ptr->get();
240  registerRestartableDataOnApp(full_name, std::move(data_ptr), _restartable_tid);
241 
242  return restartable_data_ref;
243 }
std::string _restartable_system_name
The system name this object is in.
Definition: Restartable.h:196
std::string _restartable_name
The name of the object.
Definition: Restartable.h:193
THREAD_ID _restartable_tid
The thread ID for this object.
Definition: Restartable.h:199
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 247 of file Restartable.h.

248 {
249  return declareRestartableDataWithObjectNameWithContext<T>(data_name, object_name, nullptr);
250 }

◆ 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 254 of file Restartable.h.

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

◆ direction()

int MultiAppTransfer::direction ( )
inlineinherited

The direction this Transfer is going in.

Definition at line 51 of file MultiAppTransfer.h.

51 { return _direction; }
const 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 96 of file MooseObject.h.

Referenced by EigenKernel::enabled().

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

◆ 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:158
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 79 of file MultiAppNearestNodeTransfer.C.

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

◆ 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(), MultiAppVariableValueSampleTransfer::execute(), MultiAppDTKInterpolationTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppInterpolationTransfer::execute(), 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:144

◆ 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 MultiAppMeshFunctionTransfer::execute(), MultiAppProjectionTransfer::execute(), 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
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.
const MooseEnum _direction
Whether we&#39;re transferring to or from the MultiApp.
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 77 of file MooseObject.h.

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

◆ 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:715
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:1292

◆ 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.
const 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 694 of file MultiAppNearestNodeTransfer.C.

Referenced by execute().

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

◆ getMooseApp()

MooseApp& MooseObject::getMooseApp ( ) const
inlineinherited

Get the MooseApp this object is associated with.

Definition at line 91 of file MooseObject.h.

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

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

◆ 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 599 of file MultiAppNearestNodeTransfer.C.

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

◆ getParam()

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

Retrieve a parameter for the object.

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

Definition at line 188 of file MooseObject.h.

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

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

◆ 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.
std::vector< unsigned int > _local2global_map
const MooseEnum _direction
Whether we&#39;re transferring to or from the MultiApp.

◆ 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 70 of file MultiAppNearestNodeTransfer.C.

71 {
72  if (_direction == TO_MULTIAPP)
74  else
76 }
void variableIntegrityCheck(const AuxVariableName &var_name) const
Utility to verify that the vEariable in the destination system exists.
const 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 86 of file MooseObject.h.

Referenced by AdvancedOutput::AdvancedOutput(), BicubicSplineFunction::BicubicSplineFunction(), Piecewise::buildFromFile(), Piecewise::buildFromXandY(), DistributedGeneratedMesh::buildMesh(), GeneratedMesh::buildMesh(), CartesianMeshGenerator::CartesianMeshGenerator(), LibmeshPartitioner::clone(), OversampleOutput::cloneMesh(), CSVReader::CSVReader(), execute(), Exodus::Exodus(), FEProblemBase::FEProblemBase(), FileOutput::FileOutput(), MultiApp::fillPositions(), FunctionDT::FunctionDT(), RenameBoundaryGenerator::generate(), BreakBoundaryOnSubdomainGenerator::generate(), ElementSubdomainIDGenerator::generate(), ExtraNodesetGenerator::generate(), LowerDBlockFromSidesetGenerator::generate(), MeshSideSetGenerator::generate(), RenameBlockGenerator::generate(), GeneratedMeshGenerator::generate(), ParsedSubdomainMeshGenerator::generate(), MeshExtruderGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), 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().

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

◆ 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 144 of file MooseObject.h.

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

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

◆ mooseInfo()

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

◆ mooseWarning()

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

◆ name()

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

Get the name of the object.

Returns
The name of the object

Definition at line 56 of file MooseObject.h.

Referenced by GridPartitioner::_do_partition(), FEProblemBase::addADJacobianMaterial(), FEProblemBase::addADResidualMaterial(), Executioner::addAttributeReporter(), DumpObjectsProblem::addAuxKernel(), FEProblemBase::addAuxKernel(), DumpObjectsProblem::addAuxScalarKernel(), FEProblemBase::addAuxScalarKernel(), DumpObjectsProblem::addBoundaryCondition(), FEProblemBase::addBoundaryCondition(), DumpObjectsProblem::addConstraint(), FEProblemBase::addConstraint(), FEProblemBase::addDamper(), DumpObjectsProblem::addDGKernel(), FEProblemBase::addDGKernel(), DumpObjectsProblem::addDiracKernel(), FEProblemBase::addDiracKernel(), FEProblemBase::addDistribution(), DumpObjectsProblem::addFunction(), FEProblemBase::addFunction(), FEProblemBase::addIndicator(), DumpObjectsProblem::addInitialCondition(), FEProblemBase::addInitialCondition(), DumpObjectsProblem::addInterfaceKernel(), FEProblemBase::addInterfaceKernel(), DumpObjectsProblem::addKernel(), FEProblemBase::addKernel(), FEProblemBase::addMarker(), DumpObjectsProblem::addMaterial(), FEProblemBase::addMaterial(), FEProblemBase::addMaterialHelper(), MooseMesh::addMortarInterface(), FEProblemBase::addMultiApp(), DumpObjectsProblem::addNodalKernel(), FEProblemBase::addNodalKernel(), FEProblemBase::addPostprocessor(), FEProblemBase::addPredictor(), CreateDisplacedProblemAction::addProxyAlgebraicRelationshipManagers(), CreateDisplacedProblemAction::addProxyGeometricRelationshipManagers(), FEProblemBase::addSampler(), DumpObjectsProblem::addScalarKernel(), FEProblemBase::addScalarKernel(), FEProblemBase::addTimeIntegrator(), FEProblemBase::addTransfer(), FEProblemBase::addUserObject(), FEProblemBase::addVectorPostprocessor(), Output::advancedExecuteOn(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), DerivativeParsedMaterialHelper::assembleDerivatives(), AStableDirk4::AStableDirk4(), Function::average(), MultiApp::backup(), BreakMeshByBlockGenerator::BreakMeshByBlockGenerator(), ChangeOverTimePostprocessor::ChangeOverTimePostprocessor(), FEProblemBase::checkDependMaterialsHelper(), Damper::checkMinDamping(), Material::checkStatefulSanity(), CompositeFunction::CompositeFunction(), Material::computeSubdomainProperties(), VectorPostprocessorVisualizationAux::computeValue(), MultiApp::createApp(), FEProblemBase::declareVectorPostprocessorVector(), DOFMapOutput::demangle(), DerivativeSumMaterial::DerivativeSumMaterial(), DGKernelBase::DGKernelBase(), DumpObjectsProblem::dumpObjectHelper(), ElementValueSampler::ElementValueSampler(), MooseMesh::errorIfDistributedMesh(), AB2PredictorCorrector::estimateTimeError(), SolutionUserObject::evalMeshFunction(), SolutionUserObject::evalMeshFunctionGradient(), SolutionUserObject::evalMultiValuedMeshFunction(), SolutionUserObject::evalMultiValuedMeshFunctionGradient(), MultiAppPostprocessorTransfer::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), StatisticsVectorPostprocessor::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), PointValue::execute(), MultiAppMeshFunctionTransfer::execute(), MultiAppInterpolationTransfer::execute(), MultiAppUserObjectTransfer::execute(), 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(), DistributionInterface::getDistribution(), FEProblemBase::getDistribution(), DistributionInterface::getDistributionByName(), MultiApp::getExecutioner(), OutputWarehouse::getFileNumbers(), FEProblemBase::getFunction(), SolutionUserObject::getLocalVarIndex(), Marker::getMarkerValue(), FEProblemBase::getMaterial(), NodalPatchRecovery::getMaterialProperty(), Material::getMaterialProperty(), AuxKernelTempl< ComputeValueType >::getMaterialProperty(), SubProblem::getMaterialPropertyBlockNames(), SubProblem::getMaterialPropertyBoundaryNames(), NodalPatchRecovery::getMaterialPropertyOld(), AuxKernelTempl< ComputeValueType >::getMaterialPropertyOld(), Material::getMaterialPropertyOld(), NodalPatchRecovery::getMaterialPropertyOlder(), AuxKernelTempl< ComputeValueType >::getMaterialPropertyOlder(), Material::getMaterialPropertyOlder(), MeshGenerator::getMesh(), MooseMesh::getMortarInterfaceByName(), OutputWarehouse::getOutput(), MooseObject::getParam(), GeneralUserObject::getPostprocessorValue(), FEProblemBase::getPostprocessorValue(), GeneralUserObject::getPostprocessorValueByName(), FEProblemBase::getPostprocessorValueOld(), FEProblemBase::getPostprocessorValueOlder(), FEProblemBase::getSampler(), FEProblemBase::getScatterVectorPostprocessorValue(), FEProblemBase::getScatterVectorPostprocessorValueOld(), Transient::getTimeStepperName(), InitialConditionBase::getUserObject(), FEProblemBase::getUserObject(), InitialConditionBase::getUserObjectBase(), FEProblemBase::getUserObjectBase(), InitialConditionBase::getUserObjectByName(), GeneralUserObject::getVectorPostprocessorValue(), FEProblemBase::getVectorPostprocessorValue(), GeneralUserObject::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(), Registry::isADObj(), MooseObject::isParamValid(), Registry::isRegisteredObj(), 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(), Registry::objData(), 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(), MultiApp::restore(), Sampler::Sampler(), ScalarComponentIC::ScalarComponentIC(), MooseMesh::setBoundaryName(), Control::setControllableValue(), Control::setControllableValueByName(), OutputWarehouse::setFileNumbers(), MooseMesh::setSubdomainName(), Split::setup(), TransientMultiApp::setupApp(), SideSetsFromNormalsGenerator::SideSetsFromNormalsGenerator(), SideSetsFromPointsGenerator::SideSetsFromPointsGenerator(), SideValueSampler::SideValueSampler(), TransientMultiApp::solveStep(), SpatialAverageBase::SpatialAverageBase(), UserObject::spatialValue(), StitchedMesh::StitchedMesh(), SubProblem::storeBoundaryDelayedCheckMatProp(), SubProblem::storeBoundaryMatPropName(), SubProblem::storeBoundaryZeroMatProp(), SubProblem::storeSubdomainDelayedCheckMatProp(), SubProblem::storeSubdomainMatPropName(), SubProblem::storeSubdomainZeroMatProp(), TaggingInterface::TaggingInterface(), ThreadedGeneralUserObject::ThreadedGeneralUserObject(), Function::timeDerivative(), VectorPostprocessorVisualizationAux::timestepSetup(), TransientMultiApp::TransientMultiApp(), MultiAppTransfer::variableIntegrityCheck(), and AdvancedOutput::wantOutput().

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

◆ paramError()

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

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

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

Definition at line 105 of file MooseObject.h.

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

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

◆ parameters()

const InputParameters& MooseObject::parameters ( ) const
inlineinherited

Get the parameters of the object.

Returns
The parameters of the object

Definition at line 62 of file MooseObject.h.

Referenced by FEProblemBase::addADJacobianMaterial(), FEProblemBase::addADResidualMaterial(), DumpObjectsProblem::addAuxKernel(), FEProblemBase::addAuxKernel(), DumpObjectsProblem::addAuxScalarKernel(), FEProblemBase::addAuxScalarKernel(), DumpObjectsProblem::addBoundaryCondition(), FEProblemBase::addBoundaryCondition(), DumpObjectsProblem::addConstraint(), FEProblemBase::addConstraint(), FEProblemBase::addDamper(), DumpObjectsProblem::addDGKernel(), FEProblemBase::addDGKernel(), DumpObjectsProblem::addDiracKernel(), FEProblemBase::addDiracKernel(), FEProblemBase::addDistribution(), DumpObjectsProblem::addFunction(), FEProblemBase::addFunction(), FEProblemBase::addIndicator(), DumpObjectsProblem::addInitialCondition(), FEProblemBase::addInitialCondition(), DumpObjectsProblem::addInterfaceKernel(), FEProblemBase::addInterfaceKernel(), DumpObjectsProblem::addKernel(), FEProblemBase::addKernel(), FEProblem::addLineSearch(), FEProblemBase::addMarker(), DumpObjectsProblem::addMaterial(), FEProblemBase::addMaterial(), FEProblemBase::addMaterialHelper(), FEProblemBase::addMultiApp(), DumpObjectsProblem::addNodalKernel(), FEProblemBase::addNodalKernel(), FEProblemBase::addOutput(), FEProblemBase::addPostprocessor(), FEProblemBase::addPredictor(), FEProblemBase::addSampler(), DumpObjectsProblem::addScalarKernel(), FEProblemBase::addScalarKernel(), FEProblemBase::addTimeIntegrator(), FEProblemBase::addTransfer(), FEProblemBase::addUserObject(), FEProblemBase::addVectorPostprocessor(), ADPiecewiseLinearInterpolationMaterial< compute_stage >::ADPiecewiseLinearInterpolationMaterial(), AdvancedOutput::AdvancedOutput(), assemble_l2(), Moose::assemble_matrix(), AuxKernelTempl< ComputeValueType >::AuxKernelTempl(), 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(), Exodus::Exodus(), FEProblem::FEProblem(), GapValueAux::GapValueAux(), MooseObject::getCheckedPointerParam(), GhostingUserObject::GhostingUserObject(), MooseMesh::init(), BlockRestrictable::initializeBlockRestrictable(), FEProblemBase::initNullSpaceVectors(), InterfaceKernel::InterfaceKernel(), isValid(), LayeredSideIntegral::LayeredSideIntegral(), MooseVariableInterface< Real >::MooseVariableInterface(), NearestPointBase< LayeredAverage >::NearestPointBase(), NodeFaceConstraint::NodeFaceConstraint(), PenetrationAux::PenetrationAux(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), MultiAppProjectionTransfer::projectSolution(), RandomIC::RandomIC(), InputParameterWarehouse::removeInputParameters(), FEProblem::setInputParametersFEProblem(), FEProblemBase::setInputParametersFEProblem(), DumpObjectsProblem::stringifyParameters(), and Transient::Transient().

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

◆ paramInfo()

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

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

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

Definition at line 135 of file MooseObject.h.

Referenced by TransientMultiApp::TransientMultiApp().

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

◆ paramWarning()

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

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

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

Definition at line 119 of file MooseObject.h.

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

◆ 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, Console, 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 50 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(), DGKernel::computeElemNeighJacobian(), ElemElemConstraint::computeElemNeighJacobian(), InterfaceKernel::computeElemNeighJacobian(), DGKernel::computeElemNeighResidual(), ElemElemConstraint::computeElemNeighResidual(), InterfaceKernel::computeElemNeighResidual(), FEProblemBase::computeMultiAppsDT(), DGKernel::computeOffDiagElemNeighJacobian(), InterfaceKernel::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(), FEProblemBase::hasMultiApps(), AdvancedOutput::hasOutput(), FEProblemBase::incrementMultiAppTStep(), AdvancedOutput::initAvailableLists(), SolutionUserObject::initialSetup(), AdvancedOutput::initShowHideLists(), RelationshipManager::isType(), AssignElementSubdomainID::modify(), ControlOutput::output(), Gnuplot::output(), CSV::output(), Exodus::output(), Console::output(), Nemesis::output(), AdvancedOutput::output(), OversampleOutput::outputStep(), Output::outputStep(), FEProblemBase::outputStep(), FEProblemBase::restoreMultiApps(), FEProblemBase::setCoupling(), PerfGraphOutput::shouldOutput(), FileOutput::shouldOutput(), Output::shouldOutput(), AdvancedOutput::shouldOutput(), DisplacedProblem::updateGeomSearch(), FEProblemBase::updateGeomSearch(), and AdvancedOutput::wantOutput().

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

◆ 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 MultiAppVariableValueSampleTransfer::initialSetup(), MultiAppMeshFunctionTransfer::initialSetup(), MultiAppInterpolationTransfer::initialSetup(), MultiAppUserObjectTransfer::initialSetup(), 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:144
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:56
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 174 of file MooseObject.h.

Referenced by GridPartitioner::_do_partition(), AB2PredictorCorrector::AB2PredictorCorrector(), Executioner::addAttributeReporter(), FEProblemBase::addMaterialHelper(), FEProblemBase::addMultiApp(), FEProblemBase::addOutput(), FEProblemBase::allowOutput(), AStableDirk4::AStableDirk4(), FileMesh::buildMesh(), MeshGeneratorMesh::buildMesh(), MooseMesh::buildMeshBaseObject(), FEProblemBase::checkNonlinearConvergence(), OversampleOutput::cloneMesh(), FEProblemBase::computeJacobianTags(), FEProblemBase::computeResidualTags(), Console::Console(), TimeStepper::constrainStep(), MultiApp::createApp(), DumpObjectsProblem::dumpObjectHelper(), DumpObjectsProblem::dumpVariableHelper(), EigenExecutionerBase::EigenExecutionerBase(), EigenKernel::EigenKernel(), NonlinearEigen::execute(), InversePowerMethod::execute(), Transient::execute(), Steady::execute(), FileOutput::FileOutput(), FEProblemBase::forceOutput(), MeshGenerator::getMesh(), MeshGenerator::getMeshByName(), MooseObject::getMooseApp(), GhostingUserObject::GhostingUserObject(), 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(), ElementSideNeighborLayers::internalInit(), InversePowerMethod::InversePowerMethod(), MooseObject::mooseError(), NonlinearEigen::NonlinearEigen(), EigenExecutionerBase::normalizeSolution(), PerfGraphOutput::output(), Tecplot::output(), Exodus::output(), Nemesis::output(), ControlOutput::outputActiveObjects(), ControlOutput::outputChangedControls(), ControlOutput::outputControls(), Exodus::outputEmptyTimestep(), Console::outputInput(), Exodus::outputInput(), Exodus::outputNodalVariables(), OversampleOutput::outputStep(), Output::outputStep(), FEProblemBase::outputStep(), Console::outputSystemInformation(), MultiApp::parentOutputPositionChanged(), PerformanceData::PerformanceData(), PetscOutput::petscLinearOutput(), PetscOutput::petscNonlinearOutput(), Transient::preExecute(), 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 88 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 89 of file MultiAppNearestNodeTransfer.h.

Referenced by execute().

◆ _cached_froms

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

Definition at line 87 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 90 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(), MultiApp::backup(), FEProblemBase::backupMultiApps(), FEProblemBase::checkProblemIntegrity(), IterationAdaptiveDT::computeAdaptiveDT(), Transient::computeConstrainedDT(), NonlinearSystemBase::computeDamping(), IterationAdaptiveDT::computeDT(), IterationAdaptiveDT::computeFailedDT(), IterationAdaptiveDT::computeInterpolationDT(), FEProblemBase::computeResidualTags(), IterationAdaptiveDT::constrainStep(), TimeStepper::constrainStep(), MultiApp::createApp(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), MultiAppPostprocessorTransfer::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppInterpolationTransfer::execute(), MultiAppMeshFunctionTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppVectorPostprocessorTransfer::execute(), execute(), MultiAppProjectionTransfer::execute(), MultiAppCopyTransfer::execute(), Steady::execute(), MultiAppDTKUserObjectTransfer::execute(), ActionWarehouse::executeActionsWithAction(), ActionWarehouse::executeAllActions(), FEProblemBase::FEProblemBase(), ElementQualityChecker::finalize(), FEProblemBase::finishMultiAppStep(), MultiApp::globalAppToLocal(), InversePowerMethod::init(), NonlinearEigen::init(), Steady::init(), FEProblemBase::initialAdaptMesh(), FEProblemBase::initialSetup(), EigenExecutionerBase::inversePowerIteration(), Transient::keepGoing(), IterationAdaptiveDT::limitDTByFunction(), IterationAdaptiveDT::limitDTToPostprocessorValue(), EigenExecutionerBase::makeBXConsistent(), Console::meshChanged(), MooseObject::mooseDeprecated(), MooseObject::mooseInfo(), MooseObject::mooseWarning(), PerfGraphOutput::output(), DOFMapOutput::output(), VariableResidualNormsDebugOutput::output(), Console::output(), ControlOutput::outputActiveObjects(), ControlOutput::outputChangedControls(), ControlOutput::outputControls(), Console::outputInput(), Console::outputPostprocessors(), Console::outputScalarVariables(), Console::outputSystemInformation(), FEProblemBase::possiblyRebuildGeomSearchPatches(), EigenExecutionerBase::postExecute(), AB2PredictorCorrector::postSolve(), ActionWarehouse::printActionDependencySets(), EigenExecutionerBase::printEigenvalue(), MaterialPropertyDebugOutput::printMaterialMap(), SolutionTimeAdaptiveDT::rejectStep(), DT2::rejectStep(), MultiApp::restore(), FEProblemBase::restoreMultiApps(), SimplePredictor::shouldApply(), NonlinearSystem::solve(), PicardSolve::solve(), LStableDirk2::solve(), LStableDirk3::solve(), ImplicitMidpoint::solve(), ExplicitTVDRK2::solve(), LStableDirk4::solve(), AStableDirk4::solve(), ExplicitRK2::solve(), TransientMultiApp::solveStep(), PicardSolve::solveStep(), DT2::step(), AB2PredictorCorrector::step(), NonlinearEigen::takeStep(), Console::writeTimestepInformation(), Console::writeVariableNorms(), and FEProblemBase::~FEProblemBase().

◆ _current_execute_flag

const ExecFlagType& SetupInterface::_current_execute_flag
protectedinherited

Reference to FEProblemBase.

Definition at line 98 of file SetupInterface.h.

◆ _direction

const 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 83 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 183 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 77 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 74 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 86 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 80 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 73 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 177 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: