https://mooseframework.inl.gov
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
MultiAppGeneralFieldNearestLocationTransfer Class Reference

Performs a geometric interpolation based on the values at the nearest nodes to a target location in the origin mesh. More...

#include <MultiAppGeneralFieldNearestLocationTransfer.h>

Inheritance diagram for MultiAppGeneralFieldNearestLocationTransfer:
[legend]

Public Types

enum  DIRECTION { TO_MULTIAPP, FROM_MULTIAPP, BETWEEN_MULTIAPP }
 
using DataFileParameterType = DataFileName
 The parameter type this interface expects for a data file name. More...
 

Public Member Functions

 MultiAppGeneralFieldNearestLocationTransfer (const InputParameters &parameters)
 
void initialSetup () override
 Method called at the beginning of the simulation for checking integrity or doing one-time setup. More...
 
virtual void getAppInfo () override
 This method will fill information into the convenience member variables (_to_problems, _from_meshes, etc.) More...
 
virtual void execute () override
 Execute the transfer. More...
 
virtual void postExecute () override
 Add some extra work if necessary after execute(). More...
 
VariableName getFromVarName (unsigned int var_index)
 Get the source variable name, with the suffix for array/vector variables. More...
 
VariableName getToVarName (unsigned int var_index)
 Get the target variable name, with the suffix for array/vector variables. More...
 
void variableIntegrityCheck (const AuxVariableName &var_name, bool is_from_multiapp) const
 Utility to verify that the variable in the destination system exists. More...
 
const std::shared_ptr< MultiAppgetMultiApp () const
 Use this getter to obtain the MultiApp for transfers with a single direction. More...
 
const std::shared_ptr< MultiAppgetFromMultiApp () const
 Get the MultiApp to transfer data from. More...
 
const std::shared_ptr< MultiAppgetToMultiApp () const
 Get the MultiApp to transfer data to. More...
 
std::string getFromName () const
 Get the name of thing being transferred from. More...
 
std::string getToName () const
 Get the name of thing being transferred to. More...
 
bool hasFromMultiApp () const
 Whether the transfer owns a non-null from_multi_app. More...
 
bool hasToMultiApp () const
 Whether the transfer owns a non-null to_multi_app. More...
 
const MultiMooseEnumdirections ()
 The directions this Transfer should be executed on. More...
 
void setCurrentDirection (const int direction)
 Set this Transfer to be executed in a given direction. More...
 
virtual bool enabled () const
 Return the enabled status of the object. More...
 
std::shared_ptr< MooseObjectgetSharedPtr ()
 Get another shared pointer to this object that has the same ownership group. More...
 
std::shared_ptr< const MooseObjectgetSharedPtr () const
 
MooseAppgetMooseApp () const
 Get the MooseApp this class is associated with. More...
 
const std::string & type () const
 Get the type of this class. More...
 
const std::string & name () const
 Get the name of the class. More...
 
std::string typeAndName () const
 Get the class's combined type and name; useful in error handling. More...
 
MooseObjectParameterName uniqueParameterName (const std::string &parameter_name) const
 
MooseObjectName uniqueName () const
 
const InputParametersparameters () const
 Get the parameters of the object. More...
 
const hit::Node * getHitNode () const
 
bool hasBase () const
 
const std::string & getBase () const
 
template<typename T >
const T & getParam (const std::string &name) const
 Retrieve a parameter for the object. More...
 
template<typename T1 , typename T2 >
std::vector< std::pair< T1, T2 > > getParam (const std::string &param1, const std::string &param2) const
 Retrieve two parameters and provide pair of parameters for the object. More...
 
template<typename T >
const T * queryParam (const std::string &name) const
 Query a parameter for the object. More...
 
template<typename T >
const T & getRenamedParam (const std::string &old_name, const std::string &new_name) const
 Retrieve a renamed parameter for the object. More...
 
template<typename T >
getCheckedPointerParam (const std::string &name, const std::string &error_string="") const
 Verifies that the requested parameter exists and is not NULL and returns it to the caller. More...
 
bool isParamValid (const std::string &name) const
 Test if the supplied parameter is valid. More...
 
bool isParamSetByUser (const std::string &name) const
 Test if the supplied parameter is set by a user, as opposed to not set or set to default. More...
 
void connectControllableParams (const std::string &parameter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const
 Connect controllable parameter of this action with the controllable parameters of the objects added by this action. More...
 
template<typename... Args>
void paramError (const std::string &param, Args... args) const
 Emits an error prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
template<typename... Args>
void paramWarning (const std::string &param, Args... args) const
 Emits a warning prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
template<typename... Args>
void paramInfo (const std::string &param, Args... args) const
 Emits an informational message prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
std::string messagePrefix (const bool hit_prefix=true) const
 
std::string errorPrefix (const std::string &) const
 Deprecated message prefix; the error type is no longer used. More...
 
template<typename... Args>
void mooseError (Args &&... args) const
 Emits an error prefixed with object name and type and optionally a file path to the top-level block parameter if available. More...
 
template<typename... Args>
void mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const
 
template<typename... Args>
void mooseErrorNonPrefixed (Args &&... args) const
 Emits an error without the prefixing included in mooseError(). More...
 
template<typename... Args>
void mooseWarning (Args &&... args) const
 Emits a warning prefixed with object name and type. More...
 
template<typename... Args>
void mooseWarningNonPrefixed (Args &&... args) const
 Emits a warning without the prefixing included in mooseWarning(). More...
 
template<typename... Args>
void mooseDeprecated (Args &&... args) const
 
template<typename... Args>
void mooseInfo (Args &&... args) const
 
void callMooseError (std::string msg, const bool with_prefix, const hit::Node *node=nullptr) const
 External method for calling moose error with added object context. More...
 
const Parallel::Communicatorcomm () const
 
processor_id_type n_processors () const
 
processor_id_type processor_id () const
 
std::string getDataFileName (const std::string &param) const
 Deprecated method. More...
 
std::string getDataFileNameByName (const std::string &relative_path) const
 Deprecated method. More...
 
std::string getDataFilePath (const std::string &relative_path) const
 Returns the path of a data file for a given relative file path. More...
 
virtual void timestepSetup ()
 Gets called at the beginning of the timestep before this object is asked to do its job. More...
 
virtual void jacobianSetup ()
 Gets called just before the Jacobian is computed and before this object is asked to do its job. More...
 
virtual void residualSetup ()
 Gets called just before the residual is computed and before this object is asked to do its job. More...
 
virtual void subdomainSetup ()
 Gets called when the subdomain changes (i.e. More...
 
virtual void customSetup (const ExecFlagType &)
 Gets called in FEProblemBase::execute() for execute flags other than initial, timestep_begin, nonlinear, linear and subdomain. More...
 
const ExecFlagEnumgetExecuteOnEnum () const
 Return the execute on MultiMooseEnum for this object. More...
 
PerfGraphperfGraph ()
 Get the PerfGraph. More...
 
MooseEnum direction ()
 
MooseEnum currentDirection ()
 

Static Public Member Functions

static InputParameters validParams ()
 
static void addSkipCoordCollapsingParam (InputParameters &params)
 Add the option to skip coordinate collapsing in coordinate transformation operations Note: this is used by Actions creating transfers as well. More...
 
static libMesh::Systemfind_sys (libMesh::EquationSystems &es, const std::string &var_name)
 Small helper function for finding the system containing the variable. More...
 
static std::string possibleDirections ()
 Used to construct InputParameters. More...
 
static void callMooseError (MooseApp *const app, const InputParameters &params, std::string msg, const bool with_prefix, const hit::Node *node)
 External method for calling moose error with added object context. More...
 

Public Attributes

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

Static Public Attributes

static const libMesh::Number OutOfMeshValue = -999999
 
static const std::string type_param = "_type"
 The name of the parameter that contains the object type. More...
 
static const std::string name_param = "_object_name"
 The name of the parameter that contains the object name. More...
 
static const std::string unique_name_param = "_unique_name"
 The name of the parameter that contains the unique object name. More...
 
static const std::string app_param = "_moose_app"
 The name of the parameter that contains the MooseApp. More...
 
static const std::string moose_base_param = "_moose_base"
 The name of the parameter that contains the moose system base. More...
 

Protected Types

enum  MeshDivisionTransferUse { RESTRICTION, MATCH_DIVISION_INDEX, MATCH_SUBAPP_INDEX }
 Matching enum for the mesh division behaviors. More...
 

Protected Member Functions

virtual void prepareEvaluationOfInterpValues (const unsigned int var_index) override
 
virtual void evaluateInterpValues (const std::vector< std::pair< Point, unsigned int >> &incoming_points, std::vector< std::pair< Real, Real >> &outgoing_vals) override
 
bool inBlocks (const std::set< SubdomainID > &blocks, const MooseMesh &mesh, const Elem *elem) const override
 
bool inBlocks (const std::set< SubdomainID > &blocks, const Elem *elem) const
 
virtual bool inBlocks (const std::set< SubdomainID > &blocks, const MooseMesh &mesh, const Elem *elem) const
 
bool inBlocks (const std::set< SubdomainID > &blocks, const MooseMesh &mesh, const Node *node) const
 
bool inBlocks (const std::set< SubdomainID > &blocks, const libMesh::PointLocatorBase *const pl, const Point &pt) const
 
virtual void checkSiblingsTransferSupported () const override
 Siblings transfers fully supported. More...
 
void extractLocalFromBoundingBoxes (std::vector< BoundingBox > &local_bboxes)
 
bool acceptPointInOriginMesh (unsigned int i_from, const std::vector< BoundingBox > &local_bboxes, const Point &pt, const unsigned int mesh_div, Real &distance) const
 
bool inMesh (const libMesh::PointLocatorBase *const pl, const Point &pt) const
 
bool inBlocks (const std::set< SubdomainID > &blocks, const Elem *elem) const
 
bool inBlocks (const std::set< SubdomainID > &blocks, const MooseMesh &mesh, const Node *node) const
 
bool inBlocks (const std::set< SubdomainID > &blocks, const libMesh::PointLocatorBase *const pl, const Point &pt) const
 
bool onBoundaries (const std::set< BoundaryID > &boundaries, const MooseMesh &mesh, const Node *node) const
 
bool onBoundaries (const std::set< BoundaryID > &boundaries, const MooseMesh &mesh, const Elem *elem) const
 
bool onBoundaries (const std::set< BoundaryID > &boundaries, const std::set< SubdomainID > &block_restriction, const MooseMesh &mesh, const libMesh::PointLocatorBase *const pl, const Point &pt) const
 
bool acceptPointMeshDivision (const Point &pt, const unsigned int i_local, const unsigned int only_from_this_mesh_div) const
 Whether a point lies inside the mesh division delineated by the MeshDivision object. More...
 
bool closestToPosition (unsigned int pos_index, const Point &pt) const
 Whether a point is closest to a position at the index specified than any other position. More...
 
bool detectConflict (Real value_1, Real value_2, Real distance_1, Real distance_2) const
 Detects whether two source values are valid and equidistant for a desired target location. More...
 
void registerConflict (unsigned int problem, dof_id_type dof_id, Point p, Real dist, bool local)
 Register a potential value conflict, e.g. More...
 
virtual std::vector< VariableName > getFromVarNames () const override
 Virtual function defining variables to be transferred. More...
 
virtual std::vector< AuxVariableName > getToVarNames () const override
 Virtual function defining variables to transfer to. More...
 
bool performAdjustment (const PostprocessorValue &from, const PostprocessorValue &to) const
 
libMesh::EquationSystemsgetEquationSystem (FEProblemBase &problem, bool use_displaced) const
 Returns the Problem's equation system, displaced or not Be careful! If you transfer TO a displaced system you will likely need a synchronization So most transfers reach the non-displaced system directly. More...
 
std::vector< unsigned intgetFromsPerProc ()
 Return the number of "from" domains that each processor owns. More...
 
libMesh::NumericVector< Real > & getTransferVector (unsigned int i_local, std::string var_name)
 If we are transferring to a multiapp, return the appropriate solution vector. More...
 
unsigned int getGlobalSourceAppIndex (unsigned int i_from) const
 Return the global app index from the local index in the "from-multiapp" transfer direction. More...
 
unsigned int getGlobalTargetAppIndex (unsigned int i_to) const
 Return the global app index from the local index in the "to-multiapp" transfer direction. More...
 
unsigned int getLocalSourceAppIndex (unsigned int i_from) const
 Return the local app index from the global index in the "from-multiapp" transfer direction We use the fact that global app indexes are consecutive on a given rank. More...
 
void checkParentAppUserObjectExecuteOn (const std::string &object_name) const
 Checks the execute_on flags for user object transfers with user objects on the source app which is also the parent app. More...
 
void errorIfObjectExecutesOnTransferInSourceApp (const std::string &object_name) const
 Error if executing this MooseObject on EXEC_TRANSFER in a source multiapp (from_multiapp, e.g. More...
 
Point getPointInTargetAppFrame (const Point &p, unsigned int local_i_to, const std::string &phase) const
 Get the target app point from a point in the reference frame. More...
 
void checkMultiAppExecuteOn ()
 Helper method for checking the 'check_multiapp_execute_on' flag. More...
 
void checkVariable (const FEProblemBase &fe_problem, const VariableName &var_name, const std::string &param_name="") const
 Helper for checking a problem for a variable. More...
 
void extendBoundingBoxes (const Real factor, std::vector< libMesh::BoundingBox > &bboxes) const
 Extends bounding boxes to avoid missing points. More...
 
template<typename T , typename... Args>
T & declareRestartableData (const std::string &data_name, Args &&... args)
 Declare a piece of data as "restartable" and initialize it. More...
 
template<typename T , typename... Args>
ManagedValue< T > declareManagedRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 Declares a piece of "managed" restartable data and initialize it. More...
 
template<typename T , typename... Args>
const T & getRestartableData (const std::string &data_name) const
 Declare a piece of data as "restartable" and initialize it Similar to declareRestartableData but returns a const reference to the object. More...
 
template<typename T , typename... Args>
T & declareRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 Declare a piece of data as "restartable" and initialize it. More...
 
template<typename T , typename... Args>
T & declareRecoverableData (const std::string &data_name, Args &&... args)
 Declare a piece of data as "recoverable" and initialize it. More...
 
template<typename T , typename... Args>
T & declareRestartableDataWithObjectName (const std::string &data_name, const std::string &object_name, Args &&... args)
 Declare a piece of data as "restartable". More...
 
template<typename T , typename... Args>
T & declareRestartableDataWithObjectNameWithContext (const std::string &data_name, const std::string &object_name, void *context, Args &&... args)
 Declare a piece of data as "restartable". More...
 
std::string restartableName (const std::string &data_name) const
 Gets the name of a piece of restartable data given a data name, adding the system name and object name prefix. More...
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level) const
 Call to register a named section for timing. More...
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level, const std::string &live_message, const bool print_dots=true) const
 Call to register a named section for timing. More...
 
std::string timedSectionName (const std::string &section_name) const
 
template<bool warning>
void flagInvalidSolutionInternal (const InvalidSolutionID invalid_solution_id) const
 Set solution invalid mark for the given solution ID. More...
 
InvalidSolutionID registerInvalidSolutionInternal (const std::string &message, const bool warning) const
 
std::vector< libMesh::BoundingBoxgetFromBoundingBoxes ()
 Return the bounding boxes of all the "from" domains, including all the domains not local to this processor. More...
 
std::vector< libMesh::BoundingBoxgetFromBoundingBoxes (BoundaryID boundary_id)
 

Static Protected Member Functions

static void addUserObjectExecutionCheckParam (InputParameters &params)
 Add the execution order check parameter (to skip the warning if needed) More...
 
static void addBBoxFactorParam (InputParameters &params)
 Add the bounding box factor parameter to the supplied input parameters. More...
 
static void transformBoundingBox (libMesh::BoundingBox &box, const MultiAppCoordTransform &transform)
 Transform a bounding box according to the transformations in the provided coordinate transformation object. More...
 

Protected Attributes

const std::vector< unsigned int_from_var_components
 Origin array/vector variable components. More...
 
const std::vector< unsigned int_to_var_components
 Target array/vector variable components. More...
 
const bool _use_bounding_boxes
 Whether to use bounding boxes to determine the applications that may receive point requests then send value data, and at other various checks. More...
 
const bool _use_nearest_app
 Whether to keep track of the distance from the requested point to the app position. More...
 
const Positions_nearest_positions_obj
 
bool _source_app_must_contain_point
 Whether the source app mesh must actually contain the points for them to be considered or whether the bounding box is enough. More...
 
std::set< SubdomainID_from_blocks
 Origin block(s) restriction. More...
 
std::set< SubdomainID_to_blocks
 Target block(s) restriction. More...
 
std::set< BoundaryID_to_boundaries
 Target boundary(ies) restriction. More...
 
std::set< BoundaryID_from_boundaries
 Origin boundary(ies) restriction. More...
 
std::vector< const MeshDivision * > _from_mesh_divisions
 Division of the origin mesh. More...
 
std::vector< const MeshDivision * > _to_mesh_divisions
 Division of the target mesh. More...
 
const MooseEnum_from_mesh_division_behavior
 How to use the origin mesh divisions to restrict the transfer. More...
 
const MooseEnum_to_mesh_division_behavior
 How to use the target mesh divisions to restrict the transfer. More...
 
const bool _elemental_boundary_restriction_on_sides
 Whether elemental variable boundary restriction is considered by element side or element nodes. More...
 
std::vector< std::unique_ptr< libMesh::PointLocatorBase > > _from_point_locators
 Point locators, useful to examine point location with regards to domain restriction. More...
 
std::vector< unsigned int_global_app_start_per_proc
 First app each processor owns, indexed by processor If no app on the processor, will have a -1 for the app start instead. More...
 
bool _greedy_search
 Whether or not a greedy strategy will be used If true, all the partitions will be checked for a given outgoing point. More...
 
bool _search_value_conflicts
 Whether to look for conflicts between origin points, multiple valid values for a target point. More...
 
bool _already_output_search_value_conflicts
 Whether we already output the search value conflicts. More...
 
const unsigned int _search_value_conflicts_max_log
 How many conflicts are output to console. More...
 
const std::vector< VariableName > _from_var_names
 Name of variables transferring from. More...
 
const std::vector< AuxVariableName > _to_var_names
 Name of variables transferring to. More...
 
VariableName _from_var_name
 This values are used if a derived class only supports one variable. More...
 
AuxVariableName _to_var_name
 
bool _preserve_transfer
 If this transfer is going to conserve the physics. More...
 
std::vector< PostprocessorName > _from_postprocessors_to_be_preserved
 Postprocessor evaluates an adjuster for the source physics. More...
 
std::vector< PostprocessorName > _to_postprocessors_to_be_preserved
 Postprocessor evaluates an adjuster for the target physics. More...
 
std::shared_ptr< MultiApp_multi_app
 Deprecated class attribute for compatibility with the apps. More...
 
std::vector< FEProblemBase * > _to_problems
 
std::vector< FEProblemBase * > _from_problems
 
std::vector< libMesh::EquationSystems * > _to_es
 
std::vector< libMesh::EquationSystems * > _from_es
 
std::vector< MooseMesh * > _to_meshes
 
std::vector< MooseMesh * > _from_meshes
 
std::vector< Point > _to_positions
 
std::vector< Point > _from_positions
 
std::vector< std::unique_ptr< MultiAppCoordTransform > > _to_transforms
 
std::vector< std::unique_ptr< MultiAppCoordTransform > > _from_transforms
 
const bool _skip_coordinate_collapsing
 Whether to skip coordinate collapsing (transformations of coordinates between applications using different frames of reference) More...
 
bool _displaced_source_mesh
 True if displaced mesh is used for the source mesh, otherwise false. More...
 
bool _displaced_target_mesh
 True if displaced mesh is used for the target mesh, otherwise false. More...
 
std::vector< unsigned int_to_local2global_map
 Given local app index, returns global app index. More...
 
std::vector< unsigned int_from_local2global_map
 Given local app index, returns global app index. More...
 
SubProblem_subproblem
 
FEProblemBase_fe_problem
 
SystemBase_sys
 
THREAD_ID _tid
 
MultiMooseEnum _directions
 The directions this Transfer is to be executed on. More...
 
const bool & _enabled
 Reference to the "enable" InputParameters, used by Controls for toggling on/off MooseObjects. More...
 
MooseApp_app
 The MOOSE application this is associated with. More...
 
Factory_factory
 The Factory associated with the MooseApp. More...
 
ActionFactory_action_factory
 Builds Actions. More...
 
const std::string & _type
 The type of this class. More...
 
const std::string & _name
 The name of this class. More...
 
const InputParameters_pars
 The object's parameters. More...
 
const Parallel::Communicator_communicator
 
const ExecFlagEnum_execute_enum
 Execute settings for this object. More...
 
const ExecFlagType_current_execute_flag
 Reference to FEProblemBase. More...
 
MooseApp_restartable_app
 Reference to the application. More...
 
const std::string _restartable_system_name
 The system name this object is in. More...
 
const THREAD_ID _restartable_tid
 The thread ID for this object. More...
 
const bool _restartable_read_only
 Flag for toggling read only status (see ReporterData) More...
 
MooseApp_pg_moose_app
 The MooseApp that owns the PerfGraph. More...
 
const std::string _prefix
 A prefix to use for all sections. More...
 
MooseEnum _direction
 
MooseEnum _current_direction
 

Private Member Functions

bool usesMooseAppCoordTransform () const override
 Whether this transfer handles non-translation-based transformations, e.g. More...
 
void buildKDTrees (const unsigned int var_index)
 
void evaluateInterpValuesNearestNode (const std::vector< std::pair< Point, unsigned int >> &incoming_points, std::vector< std::pair< Real, Real >> &outgoing_vals)
 
void computeNumSources ()
 Pre-compute the number of sources Number of KDTrees used to hold the locations and variable value data. More...
 
unsigned int getAppIndex (unsigned int kdtree_index, unsigned int app_index) const
 Get the index of the app in the loop over the trees and the apps contributing data to each tree. More...
 
unsigned int getNumAppsPerTree () const
 Number of applications which contributed nearest-locations to each KD-tree. More...
 
unsigned int getNumDivisions () const
 Number of divisions (nearest-positions or source mesh divisions) used when building KD-Trees. More...
 
Point getPointInLocalSourceFrame (unsigned int i_from, const Point &pt) const
 Transform a point towards the local frame. More...
 
bool checkRestrictionsForSource (const Point &pt, const unsigned int valid_mesh_div, const unsigned int i_from) const
 Examine all spatial restrictions that could preclude this source from being a valid source for this point. More...
 

Private Attributes

std::vector< std::shared_ptr< KDTree > > _local_kdtrees
 KD-Trees for all the local source apps. More...
 
std::vector< std::vector< std::shared_ptr< KDTree > > > _local_positions_kdtrees
 KD-Trees for nodes nearest to a given position on each local source app. More...
 
std::vector< std::vector< Point > > _local_points
 All the nodes that meet the spatial restrictions in all the local source apps. More...
 
std::vector< std::vector< Real > > _local_values
 Values of the variable being transferred at all the points in _local_points. More...
 
unsigned int _num_nearest_points
 Number of points to consider. More...
 
const bool _group_subapps
 Whether to group data when creating the nearest-point regions. More...
 
std::vector< bool > _source_is_nodes
 Whether the source of the values is at nodes (true) or centroids (false) for each variable. More...
 
std::vector< bool > _use_zero_dof_for_value
 Whether we can just use the local zero-indexed dof to get the value from the solution. More...
 
unsigned int _num_sources
 Number of KD-Trees to create. More...
 

Detailed Description

Performs a geometric interpolation based on the values at the nearest nodes to a target location in the origin mesh.

Definition at line 20 of file MultiAppGeneralFieldNearestLocationTransfer.h.

Member Typedef Documentation

◆ DataFileParameterType

using DataFileInterface::DataFileParameterType = DataFileName
inherited

The parameter type this interface expects for a data file name.

Definition at line 27 of file DataFileInterface.h.

Member Enumeration Documentation

◆ DIRECTION

enum Transfer::DIRECTION
inherited
Enumerator
TO_MULTIAPP 
FROM_MULTIAPP 
BETWEEN_MULTIAPP 

Definition at line 68 of file Transfer.h.

◆ MeshDivisionTransferUse

Matching enum for the mesh division behaviors.

Enumerator
RESTRICTION 
MATCH_DIVISION_INDEX 
MATCH_SUBAPP_INDEX 

Definition at line 246 of file MultiAppGeneralFieldTransfer.h.

Constructor & Destructor Documentation

◆ MultiAppGeneralFieldNearestLocationTransfer()

MultiAppGeneralFieldNearestLocationTransfer::MultiAppGeneralFieldNearestLocationTransfer ( const InputParameters parameters)

Definition at line 71 of file MultiAppGeneralFieldNearestLocationTransfer.C.

75  _num_nearest_points(getParam<unsigned int>("num_nearest_points")),
76  _group_subapps(getParam<bool>("group_subapps"))
77 {
79  paramError("use_nearest_position",
80  "We do not support using both nearest positions matching and checking if target "
81  "points are within an app domain because the KDTrees for nearest-positions matching "
82  "are (currently) built with data from multiple applications.");
84  (isParamValid("from_mesh_divisions") || isParamValid("to_mesh_divisions")))
85  paramError("use_nearest_position", "Cannot use nearest positions with mesh divisions");
86 
87  // Parameter checks on grouping subapp values
89  paramError(
90  "group_subapps",
91  "This option is only available for using mesh divisions or nearest positions regions");
92  else if (_group_subapps &&
93  (_from_mesh_division_behavior == MeshDivisionTransferUse::MATCH_DIVISION_INDEX ||
94  _from_mesh_division_behavior == MeshDivisionTransferUse::MATCH_SUBAPP_INDEX))
95  paramError("group_subapps",
96  "Cannot group subapps when considering nearest-location data as we would lose "
97  "track of the division index of the source locations");
98  else if (_group_subapps && _use_nearest_app)
99  paramError(
100  "group_subapps",
101  "When using the 'nearest child application' data, the source data (positions and values) "
102  "are grouped on a per-application basis, so it cannot be agglomerated over all child "
103  "applications.\nNote that the option to use nearest applications for source restrictions, "
104  "but further split each child application's domain by regions closest to each position "
105  "(here the the child application's centroid), which could be conceived when "
106  "'group_subapps' = false, is also not available.");
107 }
const bool _group_subapps
Whether to group data when creating the nearest-point regions.
void paramError(const std::string &param, Args... args) const
Emits an error prefixed with the file and line number of the given param (from the input file) along ...
Definition: MooseBase.h:435
bool _source_app_must_contain_point
Whether the source app mesh must actually contain the points for them to be considered or whether the...
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseBase.h:127
MultiAppGeneralFieldTransfer(const InputParameters &parameters)
std::vector< const MeshDivision * > _from_mesh_divisions
Division of the origin mesh.
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
Definition: MooseBase.h:195
SolutionInvalidInterface(MooseObject *const moose_object)
const MooseEnum & _from_mesh_division_behavior
How to use the origin mesh divisions to restrict the transfer.
const bool _use_nearest_app
Whether to keep track of the distance from the requested point to the app position.

Member Function Documentation

◆ acceptPointInOriginMesh()

bool MultiAppGeneralFieldTransfer::acceptPointInOriginMesh ( unsigned int  i_from,
const std::vector< BoundingBox > &  local_bboxes,
const Point pt,
const unsigned int  mesh_div,
Real distance 
) const
protectedinherited

Definition at line 1530 of file MultiAppGeneralFieldTransfer.C.

Referenced by MultiAppGeneralFieldShapeEvaluationTransfer::evaluateInterpValuesWithMeshFunctions(), and MultiAppGeneralFieldUserObjectTransfer::evaluateInterpValuesWithUserObjects().

1535 {
1536  if (_use_bounding_boxes && !local_bboxes[i_from].contains_point(pt))
1537  return false;
1538  else
1539  {
1540  auto * pl = _from_point_locators[i_from].get();
1541  const auto from_global_num = getGlobalSourceAppIndex(i_from);
1542  const auto transformed_pt = _from_transforms[from_global_num]->mapBack(pt);
1543 
1544  // Check point against source block restriction
1545  if (!_from_blocks.empty() && !inBlocks(_from_blocks, pl, transformed_pt))
1546  return false;
1547 
1548  // Check point against source boundary restriction. Block restriction will speed up the search
1549  if (!_from_boundaries.empty() &&
1550  !onBoundaries(_from_boundaries, _from_blocks, *_from_meshes[i_from], pl, transformed_pt))
1551  return false;
1552 
1553  // Check point against the source mesh division
1554  if ((!_from_mesh_divisions.empty() || !_to_mesh_divisions.empty()) &&
1555  !acceptPointMeshDivision(transformed_pt, i_from, only_from_mesh_div))
1556  return false;
1557 
1558  // Get nearest position (often a subapp position) for the target point
1559  // We want values from the child app that is closest to the same position as the target
1560  Point nearest_position_source;
1562  {
1563  const bool initial = _fe_problem.getCurrentExecuteOnFlag() == EXEC_INITIAL;
1564  // The search for the nearest position is done in the reference frame
1565  const Point nearest_position = _nearest_positions_obj->getNearestPosition(pt, initial);
1566  nearest_position_source = _nearest_positions_obj->getNearestPosition(
1567  (*_from_transforms[from_global_num])(Point(0, 0, 0)), initial);
1568 
1570  _from_transforms[from_global_num]->hasNonTranslationTransformation())
1571  mooseError("Rotation and scaling currently unsupported with nearest positions transfer.");
1572 
1573  // Compute distance to nearest position and nearest position source
1574  const Real distance_to_position_nearest_source = (pt - nearest_position_source).norm();
1575  const Real distance_to_nearest_position = (pt - nearest_position).norm();
1576 
1577  // Source (usually app position) is not closest to the same positions as the target, dont
1578  // send values. We check the distance instead of the positions because if they are the same
1579  // that means there's two equidistant positions and we would want to capture that as a "value
1580  // conflict"
1581  if (!MooseUtils::absoluteFuzzyEqual(distance_to_position_nearest_source,
1582  distance_to_nearest_position))
1583  return false;
1584 
1585  // Set the distance as the distance from the nearest position to the target point
1586  distance = distance_to_position_nearest_source;
1587  }
1588 
1589  // Check that the app actually contains the origin point
1590  // We dont need to check if we already found it in a block or a boundary
1591  if (_from_blocks.empty() && _from_boundaries.empty() && _source_app_must_contain_point &&
1592  !inMesh(pl, transformed_pt))
1593  return false;
1594  }
1595  return true;
1596 }
const Point & getNearestPosition(const Point &target, bool initial) const
Find the nearest Position for a given point.
Definition: Positions.C:88
bool absoluteFuzzyEqual(const T &var1, const T2 &var2, const T3 &tol=libMesh::TOLERANCE *libMesh::TOLERANCE)
Function to check whether two variables are equal within an absolute tolerance.
Definition: MooseUtils.h:380
bool _source_app_must_contain_point
Whether the source app mesh must actually contain the points for them to be considered or whether the...
const bool _skip_coordinate_collapsing
Whether to skip coordinate collapsing (transformations of coordinates between applications using diff...
const ExecFlagType & getCurrentExecuteOnFlag() const
Return/set the current execution flag.
std::vector< std::unique_ptr< libMesh::PointLocatorBase > > _from_point_locators
Point locators, useful to examine point location with regards to domain restriction.
bool acceptPointMeshDivision(const Point &pt, const unsigned int i_local, const unsigned int only_from_this_mesh_div) const
Whether a point lies inside the mesh division delineated by the MeshDivision object.
FEProblemBase & _fe_problem
Definition: Transfer.h:97
std::vector< const MeshDivision * > _from_mesh_divisions
Division of the origin mesh.
std::vector< const MeshDivision * > _to_mesh_divisions
Division of the target mesh.
bool inMesh(const libMesh::PointLocatorBase *const pl, const Point &pt) const
Real distance(const Point &p)
std::set< BoundaryID > _from_boundaries
Origin boundary(ies) restriction.
std::vector< MooseMesh * > _from_meshes
const bool _use_bounding_boxes
Whether to use bounding boxes to determine the applications that may receive point requests then send...
unsigned int getGlobalSourceAppIndex(unsigned int i_from) const
Return the global app index from the local index in the "from-multiapp" transfer direction.
auto norm(const T &a) -> decltype(std::abs(a))
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::vector< std::unique_ptr< MultiAppCoordTransform > > _from_transforms
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
Definition: MooseBase.h:267
std::set< SubdomainID > _from_blocks
Origin block(s) restriction.
bool onBoundaries(const std::set< BoundaryID > &boundaries, const MooseMesh &mesh, const Node *node) const
bool inBlocks(const std::set< SubdomainID > &blocks, const Elem *elem) const
const ExecFlagType EXEC_INITIAL
Definition: Moose.C:30

◆ acceptPointMeshDivision()

bool MultiAppGeneralFieldTransfer::acceptPointMeshDivision ( const Point pt,
const unsigned int  i_local,
const unsigned int  only_from_this_mesh_div 
) const
protectedinherited

Whether a point lies inside the mesh division delineated by the MeshDivision object.

Parameters
ptpoint to examine, in the local coordinates (source frame for from_direction=true)
i_localthe index of the problem to consider, holding the mesh division to examine
only_from_this_mesh_diva mesh division index that must be matched when the to/from_mesh_division_behavior for the direction examined is MATCH_DIVISION/SUBAPP_INDEX It is ignored otherwise

Definition at line 1717 of file MultiAppGeneralFieldTransfer.C.

Referenced by MultiAppGeneralFieldTransfer::acceptPointInOriginMesh().

1719 {
1720  // This routine can also be called to examine if the to_mesh_division index matches the current
1721  // source subapp index
1722  unsigned int source_mesh_div = MooseMeshDivision::INVALID_DIVISION_INDEX - 1;
1723  if (!_from_mesh_divisions.empty())
1724  source_mesh_div = _from_mesh_divisions[i_local]->divisionIndex(pt);
1725 
1726  // If the point is not indexed in the source division
1727  if (!_from_mesh_divisions.empty() && source_mesh_div == MooseMeshDivision::INVALID_DIVISION_INDEX)
1728  return false;
1729  // If the point is not the at the same index in the target and the origin meshes, reject
1730  else if ((_from_mesh_division_behavior == MeshDivisionTransferUse::MATCH_DIVISION_INDEX ||
1731  _to_mesh_division_behavior == MeshDivisionTransferUse::MATCH_DIVISION_INDEX) &&
1732  source_mesh_div != only_from_this_mesh_div)
1733  return false;
1734  // If the point is at a certain division index that is not the same as the index of the subapp
1735  // we wanted the information to be from for that point, reject
1736  else if (_from_mesh_division_behavior == MeshDivisionTransferUse::MATCH_SUBAPP_INDEX &&
1737  source_mesh_div != only_from_this_mesh_div)
1738  return false;
1739  else if (_to_mesh_division_behavior == MeshDivisionTransferUse::MATCH_SUBAPP_INDEX &&
1740  only_from_this_mesh_div != getGlobalSourceAppIndex(i_local))
1741  return false;
1742  else
1743  return true;
1744 }
std::vector< const MeshDivision * > _from_mesh_divisions
Division of the origin mesh.
unsigned int getGlobalSourceAppIndex(unsigned int i_from) const
Return the global app index from the local index in the "from-multiapp" transfer direction.
unsigned int INVALID_DIVISION_INDEX
Invalid subdomain id to return when outside the mesh division.
Definition: MeshDivision.h:28
const MooseEnum & _to_mesh_division_behavior
How to use the target mesh divisions to restrict the transfer.
const MooseEnum & _from_mesh_division_behavior
How to use the origin mesh divisions to restrict the transfer.

◆ addBBoxFactorParam()

void MultiAppTransfer::addBBoxFactorParam ( InputParameters params)
staticprotectedinherited

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

Definition at line 59 of file MultiAppTransfer.C.

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

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

◆ addSkipCoordCollapsingParam()

void MultiAppTransfer::addSkipCoordCollapsingParam ( InputParameters params)
staticinherited

Add the option to skip coordinate collapsing in coordinate transformation operations Note: this is used by Actions creating transfers as well.

Definition at line 73 of file MultiAppTransfer.C.

Referenced by MultiAppTransfer::validParams().

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

◆ addUserObjectExecutionCheckParam()

void MultiAppTransfer::addUserObjectExecutionCheckParam ( InputParameters params)
staticprotectedinherited

Add the execution order check parameter (to skip the warning if needed)

Definition at line 86 of file MultiAppTransfer.C.

Referenced by MultiAppPostprocessorToAuxScalarTransfer::validParams(), MultiAppVectorPostprocessorTransfer::validParams(), MultiAppPostprocessorTransfer::validParams(), MultiAppGeneralFieldUserObjectTransfer::validParams(), and MultiAppUserObjectTransfer::validParams().

87 {
88  params.addParam<bool>("warn_source_object_execution_schedule",
89  true,
90  "Emit a warning when the transfer execution schedule is detected to lag "
91  "information from the user object. Note that the check cannot detect all "
92  "potential wrong combinations of user-object/transfer execution schedules");
93 }
void addParam(const std::string &name, const S &value, const std::string &doc_string)
These methods add an optional parameter and a documentation string to the InputParameters object...

◆ buildKDTrees()

void MultiAppGeneralFieldNearestLocationTransfer::buildKDTrees ( const unsigned int  var_index)
private

Definition at line 220 of file MultiAppGeneralFieldNearestLocationTransfer.C.

Referenced by prepareEvaluationOfInterpValues().

221 {
223  const auto num_apps_per_tree = getNumAppsPerTree();
225  _local_points.resize(_num_sources);
226  _local_values.resize(_num_sources);
227  unsigned int max_leaf_size = 0;
228 
229  // Construct a local KDTree for each source. A source can be a single app or multiple apps
230  // combined (option for nearest-position / mesh-divisions)
231  for (const auto i_source : make_range(_num_sources))
232  {
233  // Nest a loop on apps in case multiple apps contribute to the same KD-Tree source
234  for (const auto app_i : make_range(num_apps_per_tree))
235  {
236  // Get the current app index
237  const auto i_from = getAppIndex(i_source, app_i);
238  // Current position index, if using nearest positions (not used for use_nearest_app)
239  const auto i_pos = _group_subapps ? i_source : (i_source % getNumDivisions());
240 
241  // Get access to the variable and some variable information
242  FEProblemBase & from_problem = *_from_problems[i_from];
243  auto & from_mesh = from_problem.mesh(_displaced_source_mesh);
244  MooseVariableFieldBase & from_var =
245  from_problem.getVariable(0,
246  _from_var_names[var_index],
249  System & from_sys = from_var.sys().system();
250  const unsigned int from_var_num = from_sys.variable_number(getFromVarName(var_index));
251 
252  // Build KDTree from nodes and nodal values
253  if (_source_is_nodes[var_index])
254  {
255  for (const auto & node : from_mesh.getMesh().local_node_ptr_range())
256  {
257  if (node->n_dofs(from_sys.number(), from_var_num) < 1)
258  continue;
259 
260  if (!_from_blocks.empty() && !inBlocks(_from_blocks, from_mesh, node))
261  continue;
262 
263  if (!_from_boundaries.empty() && !onBoundaries(_from_boundaries, from_mesh, node))
264  continue;
265 
266  // Handle the various source mesh divisions behaviors
267  // NOTE: This could be more efficient, as instead of rejecting points in the
268  // wrong division, we could just be adding them to the tree for the right division
269  if (!_from_mesh_divisions.empty())
270  {
271  const auto tree_division_index = i_source % getNumDivisions();
272  const auto node_div_index = _from_mesh_divisions[i_from]->divisionIndex(*node);
273 
274  // Spatial restriction is always active
275  if (node_div_index == MooseMeshDivision::INVALID_DIVISION_INDEX)
276  continue;
277  // We fill one tree per division index for matching subapp index or division index. We
278  // only accept source data from the division index
279  else if ((_from_mesh_division_behavior ==
280  MeshDivisionTransferUse::MATCH_DIVISION_INDEX ||
281  _to_mesh_division_behavior == MeshDivisionTransferUse::MATCH_DIVISION_INDEX ||
283  MeshDivisionTransferUse::MATCH_SUBAPP_INDEX) &&
284  tree_division_index != node_div_index)
285  continue;
286  }
287 
288  // Transformed node is in the reference space, as is the _nearest_positions_obj
289  const auto transformed_node = (*_from_transforms[getGlobalSourceAppIndex(i_from)])(*node);
290 
291  // Only add to the KDTree nodes that are closest to the 'position'
292  // When querying values at a target point, the KDTree associated to the closest
293  // position to the target point is queried
294  // We do not need to check the positions when using nearest app as we will assume
295  // (somewhat incorrectly) that all the points in each subapp are closer to that subapp
296  // than to any other
298  !closestToPosition(i_pos, transformed_node))
299  continue;
300 
301  _local_points[i_source].push_back(transformed_node);
302  const auto dof = node->dof_number(from_sys.number(), from_var_num, 0);
303  _local_values[i_source].push_back((*from_sys.solution)(dof));
304  if (!_use_zero_dof_for_value[var_index])
305  flagInvalidSolution(
306  "Nearest-location is not implemented for this source variable type on "
307  "this mesh. Returning value at dof 0");
308  }
309  }
310  // Build KDTree from centroids and value at centroids
311  else
312  {
313  for (auto & elem : as_range(from_mesh.getMesh().local_elements_begin(),
314  from_mesh.getMesh().local_elements_end()))
315  {
316  if (elem->n_dofs(from_sys.number(), from_var_num) < 1)
317  continue;
318 
319  if (!_from_blocks.empty() && !inBlocks(_from_blocks, elem))
320  continue;
321 
322  if (!_from_boundaries.empty() && !onBoundaries(_from_boundaries, from_mesh, elem))
323  continue;
324 
325  // Handle the various source mesh divisions behaviors
326  if (!_from_mesh_divisions.empty())
327  {
328  const auto tree_division_index = i_source % getNumDivisions();
329  const auto elem_div_index = _from_mesh_divisions[i_from]->divisionIndex(*elem);
330 
331  // Spatial restriction is always active
332  if (elem_div_index == MooseMeshDivision::INVALID_DIVISION_INDEX)
333  continue;
334  // We fill one tree per division index for matching subapp index or division index. We
335  // only accept source data from the division index
336  else if ((_from_mesh_division_behavior ==
337  MeshDivisionTransferUse::MATCH_DIVISION_INDEX ||
339  MeshDivisionTransferUse::MATCH_SUBAPP_INDEX) &&
340  tree_division_index != elem_div_index)
341  continue;
342  }
343 
344  const auto vertex_average = elem->vertex_average();
345  // Transformed element vertex average is in the reference space, as is the
346  // _nearest_positions_obj
347  const auto transformed_vertex_average =
348  (*_from_transforms[getGlobalSourceAppIndex(i_from)])(vertex_average);
349 
350  // We do not need to check the positions when using nearest app as we will assume
351  // (somewhat incorrectly) that all the points in each subapp are closer to that subapp
353  !closestToPosition(i_pos, transformed_vertex_average))
354  continue;
355 
356  _local_points[i_source].push_back(transformed_vertex_average);
357  if (_use_zero_dof_for_value[var_index])
358  {
359  auto dof = elem->dof_number(from_sys.number(), from_var_num, 0);
360  _local_values[i_source].push_back((*from_sys.solution)(dof));
361  }
362  else
363  _local_values[i_source].push_back(
364  from_sys.point_value(from_var_num, vertex_average, elem));
365  }
366  }
367  max_leaf_size = std::max(max_leaf_size, from_mesh.getMaxLeafSize());
368  }
369 
370  // Make a KDTree from the accumulated points data
371  std::shared_ptr<KDTree> _kd_tree =
372  std::make_shared<KDTree>(_local_points[i_source], max_leaf_size);
373  _local_kdtrees[i_source] = _kd_tree;
374  }
375 }
bool inBlocks(const std::set< SubdomainID > &blocks, const MooseMesh &mesh, const Elem *elem) const override
const bool _group_subapps
Whether to group data when creating the nearest-point regions.
unsigned int getAppIndex(unsigned int kdtree_index, unsigned int app_index) const
Get the index of the app in the loop over the trees and the apps contributing data to each tree...
std::vector< bool > _use_zero_dof_for_value
Whether we can just use the local zero-indexed dof to get the value from the solution.
VariableName getFromVarName(unsigned int var_index)
Get the source variable name, with the suffix for array/vector variables.
virtual libMesh::System & system()=0
Get the reference to the libMesh system.
const std::vector< VariableName > _from_var_names
Name of variables transferring from.
std::vector< bool > _source_is_nodes
Whether the source of the values is at nodes (true) or centroids (false) for each variable...
Number point_value(unsigned int var, const Point &p, const bool insist_on_success=true, const NumericVector< Number > *sol=nullptr) const
This class provides an interface for common operations on field variables of both FE and FV types wit...
std::vector< const MeshDivision * > _from_mesh_divisions
Division of the origin mesh.
unsigned int getNumAppsPerTree() const
Number of applications which contributed nearest-locations to each KD-tree.
bool closestToPosition(unsigned int pos_index, const Point &pt) const
Whether a point is closest to a position at the index specified than any other position.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
std::set< BoundaryID > _from_boundaries
Origin boundary(ies) restriction.
virtual const MooseVariableFieldBase & getVariable(const THREAD_ID tid, const std::string &var_name, Moose::VarKindType expected_var_type=Moose::VarKindType::VAR_ANY, Moose::VarFieldType expected_var_field_type=Moose::VarFieldType::VAR_FIELD_ANY) const override
Returns the variable reference for requested variable which must be of the expected_var_type (Nonline...
auto max(const L &left, const R &right)
unsigned int variable_number(std::string_view var) const
unsigned int number() const
SimpleRange< IndexType > as_range(const std::pair< IndexType, IndexType > &p)
std::unique_ptr< NumericVector< Number > > solution
std::vector< std::vector< Point > > _local_points
All the nodes that meet the spatial restrictions in all the local source apps.
std::vector< std::vector< Real > > _local_values
Values of the variable being transferred at all the points in _local_points.
std::vector< std::shared_ptr< KDTree > > _local_kdtrees
KD-Trees for all the local source apps.
unsigned int getGlobalSourceAppIndex(unsigned int i_from) const
Return the global app index from the local index in the "from-multiapp" transfer direction.
unsigned int INVALID_DIVISION_INDEX
Invalid subdomain id to return when outside the mesh division.
Definition: MeshDivision.h:28
const MooseEnum & _to_mesh_division_behavior
How to use the target mesh divisions to restrict the transfer.
std::vector< std::unique_ptr< MultiAppCoordTransform > > _from_transforms
IntRange< T > make_range(T beg, T end)
virtual MooseMesh & mesh() override
bool _displaced_source_mesh
True if displaced mesh is used for the source mesh, otherwise false.
std::set< SubdomainID > _from_blocks
Origin block(s) restriction.
unsigned int getNumDivisions() const
Number of divisions (nearest-positions or source mesh divisions) used when building KD-Trees...
SystemBase & sys()
Get the system this variable is part of.
bool onBoundaries(const std::set< BoundaryID > &boundaries, const MooseMesh &mesh, const Node *node) const
void computeNumSources()
Pre-compute the number of sources Number of KDTrees used to hold the locations and variable value dat...
std::vector< FEProblemBase * > _from_problems
const MooseEnum & _from_mesh_division_behavior
How to use the origin mesh divisions to restrict the transfer.
const bool _use_nearest_app
Whether to keep track of the distance from the requested point to the app position.

◆ callMooseError() [1/2]

void MooseBase::callMooseError ( std::string  msg,
const bool  with_prefix,
const hit::Node *  node = nullptr 
) const
inherited

External method for calling moose error with added object context.

Parameters
msgThe message
with_prefixIf true, add the prefix from messagePrefix(), which is the object information (type, name, etc)
nodeOptional hit node to add file path context as a prefix

Definition at line 102 of file MooseBase.C.

Referenced by InputParameters::callMooseError(), MooseBase::mooseDocumentedError(), MooseBase::mooseError(), and MooseBase::mooseErrorNonPrefixed().

105 {
106  callMooseError(&_app, _pars, msg, with_prefix, node);
107 }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:362
void callMooseError(std::string msg, const bool with_prefix, const hit::Node *node=nullptr) const
External method for calling moose error with added object context.
Definition: MooseBase.C:102
MooseApp & _app
The MOOSE application this is associated with.
Definition: MooseBase.h:353

◆ callMooseError() [2/2]

void MooseBase::callMooseError ( MooseApp *const  app,
const InputParameters params,
std::string  msg,
const bool  with_prefix,
const hit::Node *  node 
)
staticinherited

External method for calling moose error with added object context.

Needed so that objects without the MooseBase context (InputParameters) can call errors with context

Parameters
appThe app pointer (if available); adds multiapp context and clears the console
paramsThe parameters, needed to obtain object information
msgThe message
with_prefixIf true, add the prefix from messagePrefix(), which is the object information (type, name, etc)
nodeOptional hit node to add file path context as a prefix

Definition at line 110 of file MooseBase.C.

115 {
116  if (!node)
117  node = MooseBase::getHitNode(params);
118 
119  std::string multiapp_prefix = "";
120  if (app)
121  {
122  if (!app->isUltimateMaster())
123  multiapp_prefix = app->name();
125  }
126 
127  if (with_prefix)
128  // False here because the hit context will get processed by the node
129  msg = messagePrefix(params, false) + msg;
130 
131  moose::internal::mooseErrorRaw(msg, multiapp_prefix, node);
132 }
bool isUltimateMaster() const
Whether or not this app is the ultimate master app.
Definition: MooseApp.h:813
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:99
void mooseErrorRaw(std::string msg, const std::string &prefix="", const hit::Node *node=nullptr)
Main callback for emitting a moose error.
Definition: MooseError.C:53
void mooseConsole()
Send current output buffer to Console output objects.
const hit::Node * getHitNode() const
Definition: MooseBase.h:132
OutputWarehouse & getOutputWarehouse()
Get the OutputWarehouse objects.
Definition: MooseApp.C:2442
std::string messagePrefix(const bool hit_prefix=true) const
Definition: MooseBase.h:252

◆ checkMultiAppExecuteOn()

void MultiAppTransfer::checkMultiAppExecuteOn ( )
protectedinherited

Helper method for checking the 'check_multiapp_execute_on' flag.

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

Definition at line 173 of file MultiAppTransfer.C.

Referenced by MultiAppTransfer::MultiAppTransfer().

174 {
176  if (getExecuteOnEnum() != _from_multi_app->getExecuteOnEnum())
177  mooseDoOnce(
178  mooseWarning("MultiAppTransfer execute_on flags do not match associated from_multi_app "
179  "execute_on flags"));
180 
182  if (getExecuteOnEnum() != _to_multi_app->getExecuteOnEnum())
183  mooseDoOnce(
184  mooseWarning("MultiAppTransfer execute_on flags do not match associated to_multi_app "
185  "execute_on flags"));
186 
187  // In the case of siblings transfer, the check will be looser
189  if (getExecuteOnEnum() != _from_multi_app->getExecuteOnEnum() &&
190  getExecuteOnEnum() != _to_multi_app->getExecuteOnEnum())
191  mooseDoOnce(
192  mooseWarning("MultiAppTransfer execute_on flags do not match associated to_multi_app "
193  "and from_multi_app execute_on flags"));
194 }
std::shared_ptr< MultiApp > _from_multi_app
The MultiApps this Transfer is transferring data to or from.
const ExecFlagEnum & getExecuteOnEnum() const
Return the execute on MultiMooseEnum for this object.
std::shared_ptr< MultiApp > _to_multi_app
void mooseWarning(Args &&... args) const
Emits a warning prefixed with object name and type.
Definition: MooseBase.h:295

◆ checkParentAppUserObjectExecuteOn()

void MultiAppTransfer::checkParentAppUserObjectExecuteOn ( const std::string &  object_name) const
protectedinherited

Checks the execute_on flags for user object transfers with user objects on the source app which is also the parent app.

This is to prevent a common mistake lagging the data from the user object

Definition at line 672 of file MultiAppTransfer.C.

Referenced by MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppPostprocessorTransfer::execute(), MultiAppGeneralFieldUserObjectTransfer::execute(), MultiAppUserObjectTransfer::execute(), and MultiAppVectorPostprocessorTransfer::executeToMultiapp().

673 {
674  // Source app is not the parent, most execution schedules are fine since the transfer occurs after
675  // the app has run NOTE: not true for siblings transfer
676  if (hasFromMultiApp())
677  return;
678  // Get user object from parent. We don't know the type
679  const auto & uo = _fe_problem.getUserObject<UserObject>(object_name);
680  // If we are executing on transfers, every additional schedule is not a problem
681  if (uo.getExecuteOnEnum().contains(EXEC_TRANSFER))
682  return;
683  // If we are transferring on the same schedule as we are executing, we are lagging. Is it on
684  // purpose? We don't know, so we will give a warning unless silenced.
685  // The derived-classes offer the parameter to silence this warning
686  // Note: UOs execute before transfers on INITIAL so it's not a problem at this time
687  if (uo.getExecuteOnEnum().contains(_fe_problem.getCurrentExecuteOnFlag()) &&
689  if (!isParamValid("warn_source_object_execution_schedule") ||
690  getParam<bool>("warn_source_object_execution_schedule"))
691  uo.paramWarning("execute_on",
692  "This UserObject-derived class is being executed on '" +
694  "' and also providing values for the '" + name() +
695  "' transfer, on that same execution schedule. Because user objects are "
696  "executed after transfers are, this means the values provided by this "
697  "user object are lagged. If you are ok with this, then set the "
698  "'warn_source_object_execution_schedule' parameter to false in this "
699  "Transfer. If not, then execute '" +
700  uo.name() +
701  "' on TRANSFER by adding it to the 'execute_on' vector parameter.");
702 }
const ExecFlagType EXEC_TRANSFER
Definition: Moose.C:55
T & getUserObject(const std::string &name, unsigned int tid=0) const
Get the user object by its name.
const ExecFlagType & getCurrentExecuteOnFlag() const
Return/set the current execution flag.
FEProblemBase & _fe_problem
Definition: Transfer.h:97
bool hasFromMultiApp() const
Whether the transfer owns a non-null from_multi_app.
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:99
std::string stringify(const T &t)
conversion to string
Definition: Conversion.h:64
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
Definition: MooseBase.h:195
void paramWarning(const std::string &param, Args... args) const
Emits a warning prefixed with the file and line number of the given param (from the input file) along...
Definition: MooseBase.h:442
Base class for user-specific data.
Definition: UserObject.h:40
const ExecFlagType EXEC_INITIAL
Definition: Moose.C:30

◆ checkRestrictionsForSource()

bool MultiAppGeneralFieldNearestLocationTransfer::checkRestrictionsForSource ( const Point pt,
const unsigned int  valid_mesh_div,
const unsigned int  i_from 
) const
private

Examine all spatial restrictions that could preclude this source from being a valid source for this point.

Parameters
ptpoint of interest
valid_mesh_divif using source mesh divisions in a 'matching' mode, the point can only be used if coming from the relevant match
i_fromindex of the source (KDTree+values) of interest

Definition at line 629 of file MultiAppGeneralFieldNearestLocationTransfer.C.

Referenced by evaluateInterpValuesNearestNode().

631 {
632  // Only use the KDTree from the closest position if in "nearest-position" mode
634  {
635  // See computeNumSources for the number of sources. i_from is the index in the source loop
636  // i_from is local if looping on _from_problems as sources, positions are indexed globally
637  // i_from is already indexing in positions if using group_subapps
638  auto position_index = i_from; // if _group_subapps
639  if (_use_nearest_app)
640  position_index = getGlobalSourceAppIndex(i_from);
641  else if (!_group_subapps)
642  position_index = i_from % getNumDivisions();
643 
644  // NOTE: if two positions are equi-distant to the point, this will chose one
645  // This problem is detected if using search_value_conflicts in this call
646  if (!closestToPosition(position_index, pt))
647  return false;
648  }
649 
650  // Application index depends on which source/grouping mode we are using
651  const unsigned int app_index = getAppIndex(i_from, i_from / getNumDivisions());
652 
653  // Check mesh restriction before anything
655  {
656  // We have to be careful that getPointInLocalSourceFrame returns in the reference frame
658  mooseError("Nearest-positions + source_app_must_contain_point not implemented");
659  // Transform the point to place it in the local coordinate system
660  const auto local_pt = getPointInLocalSourceFrame(app_index, pt);
661  if (!inMesh(_from_point_locators[app_index].get(), local_pt))
662  return false;
663  }
664 
665  // Check the mesh division. We have handled the restriction of the source locations when
666  // building the nearest-neighbor trees. We only need to check that we meet the required
667  // source division index.
668  if (!_from_mesh_divisions.empty())
669  {
670  mooseAssert(mesh_div != MooseMeshDivision::INVALID_DIVISION_INDEX,
671  "We should not be receiving point requests with an invalid "
672  "source mesh division index");
673  const unsigned int kd_div_index = i_from % getNumDivisions();
674 
675  // If matching source mesh divisions to target apps, we check that the index of the target
676  // application, which was passed in the point request, is equal to the current mesh division
677  if (_from_mesh_division_behavior == MeshDivisionTransferUse::MATCH_SUBAPP_INDEX &&
678  mesh_div != kd_div_index)
679  return false;
680  // If matching source mesh divisions to target mesh divisions, we check that the index of the
681  // target mesh division, which was passed in the point request, is equal to the current mesh
682  // division
683  else if ((_from_mesh_division_behavior == MeshDivisionTransferUse::MATCH_DIVISION_INDEX ||
684  _to_mesh_division_behavior == MeshDivisionTransferUse::MATCH_DIVISION_INDEX) &&
685  mesh_div != kd_div_index)
686  return false;
687  }
688 
689  // If matching target apps to source mesh divisions, we check that the global index of the
690  // application is equal to the target mesh division index, which was passed in the point request
691  if (_to_mesh_division_behavior == MeshDivisionTransferUse::MATCH_SUBAPP_INDEX &&
692  mesh_div != getGlobalSourceAppIndex(app_index))
693  return false;
694 
695  return true;
696 }
const bool _group_subapps
Whether to group data when creating the nearest-point regions.
bool _source_app_must_contain_point
Whether the source app mesh must actually contain the points for them to be considered or whether the...
unsigned int getAppIndex(unsigned int kdtree_index, unsigned int app_index) const
Get the index of the app in the loop over the trees and the apps contributing data to each tree...
Point getPointInLocalSourceFrame(unsigned int i_from, const Point &pt) const
Transform a point towards the local frame.
std::vector< std::unique_ptr< libMesh::PointLocatorBase > > _from_point_locators
Point locators, useful to examine point location with regards to domain restriction.
std::vector< const MeshDivision * > _from_mesh_divisions
Division of the origin mesh.
bool inMesh(const libMesh::PointLocatorBase *const pl, const Point &pt) const
bool closestToPosition(unsigned int pos_index, const Point &pt) const
Whether a point is closest to a position at the index specified than any other position.
unsigned int getGlobalSourceAppIndex(unsigned int i_from) const
Return the global app index from the local index in the "from-multiapp" transfer direction.
unsigned int INVALID_DIVISION_INDEX
Invalid subdomain id to return when outside the mesh division.
Definition: MeshDivision.h:28
const MooseEnum & _to_mesh_division_behavior
How to use the target mesh divisions to restrict the transfer.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
Definition: MooseBase.h:267
unsigned int getNumDivisions() const
Number of divisions (nearest-positions or source mesh divisions) used when building KD-Trees...
const MooseEnum & _from_mesh_division_behavior
How to use the origin mesh divisions to restrict the transfer.
const bool _use_nearest_app
Whether to keep track of the distance from the requested point to the app position.

◆ checkSiblingsTransferSupported()

virtual void MultiAppGeneralFieldTransfer::checkSiblingsTransferSupported ( ) const
inlineoverrideprotectedvirtualinherited

Siblings transfers fully supported.

Reimplemented from MultiAppTransfer.

Definition at line 57 of file MultiAppGeneralFieldTransfer.h.

57 {}

◆ checkVariable()

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

Helper for checking a problem for a variable.

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

Definition at line 613 of file MultiAppTransfer.C.

Referenced by MultiAppDofCopyTransfer::transfer().

616 {
617  if (!fe_problem.hasVariable(var_name))
618  {
619  if (param_name.empty())
620  mooseError("The variable '", var_name, "' does not exist.");
621  else
622  paramError(param_name, "The variable '", var_name, "' does not exist.");
623  }
624 }
virtual bool hasVariable(const std::string &var_name) const override
Whether or not this problem has the variable.
void paramError(const std::string &param, Args... args) const
Emits an error prefixed with the file and line number of the given param (from the input file) along ...
Definition: MooseBase.h:435
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
Definition: MooseBase.h:267

◆ closestToPosition()

bool MultiAppGeneralFieldTransfer::closestToPosition ( unsigned int  pos_index,
const Point pt 
) const
protectedinherited

Whether a point is closest to a position at the index specified than any other position.

Parameters
pos_indexthe index of the position to consider in the positions vector
ptthe point
Returns
whether the point is closest to this position than any other in the positions vector

Definition at line 1747 of file MultiAppGeneralFieldTransfer.C.

Referenced by buildKDTrees(), and checkRestrictionsForSource().

1748 {
1749  mooseAssert(_nearest_positions_obj, "Should not be here without a positions object");
1751  paramError("skip_coordinate_collapsing", "Coordinate collapsing not implemented");
1752  bool initial = _fe_problem.getCurrentExecuteOnFlag() == EXEC_INITIAL;
1754  // Faster to just compare the index
1755  return pos_index == _nearest_positions_obj->getNearestPositionIndex(pt, initial);
1756  else
1757  {
1758  // Get the distance to the position and see if we are missing a value just because the position
1759  // is not officially the closest, but it is actually at the same distance
1760  const auto nearest_position = _nearest_positions_obj->getNearestPosition(pt, initial);
1761  const auto nearest_position_at_index = _nearest_positions_obj->getPosition(pos_index, initial);
1762  Real distance_to_position_at_index = (pt - nearest_position_at_index).norm();
1763  const Real distance_to_nearest_position = (pt - nearest_position).norm();
1764 
1765  if (!MooseUtils::absoluteFuzzyEqual(distance_to_position_at_index,
1766  distance_to_nearest_position))
1767  return false;
1768  // Actually the same position (point)
1769  else if (nearest_position == nearest_position_at_index)
1770  return true;
1771  else
1772  {
1773  mooseWarning("Two equidistant positions ",
1774  nearest_position,
1775  " and ",
1776  nearest_position_at_index,
1777  " detected near point ",
1778  pt);
1779  return true;
1780  }
1781  }
1782 }
const Point & getNearestPosition(const Point &target, bool initial) const
Find the nearest Position for a given point.
Definition: Positions.C:88
bool absoluteFuzzyEqual(const T &var1, const T2 &var2, const T3 &tol=libMesh::TOLERANCE *libMesh::TOLERANCE)
Function to check whether two variables are equal within an absolute tolerance.
Definition: MooseUtils.h:380
void paramError(const std::string &param, Args... args) const
Emits an error prefixed with the file and line number of the given param (from the input file) along ...
Definition: MooseBase.h:435
const bool _skip_coordinate_collapsing
Whether to skip coordinate collapsing (transformations of coordinates between applications using diff...
const ExecFlagType & getCurrentExecuteOnFlag() const
Return/set the current execution flag.
FEProblemBase & _fe_problem
Definition: Transfer.h:97
const Point & getPosition(unsigned int index, bool initial) const
Getter for a single position at a known index.
Definition: Positions.C:59
unsigned int getNearestPositionIndex(const Point &target, bool initial) const
Find the nearest Position index for a given point.
Definition: Positions.C:96
bool _search_value_conflicts
Whether to look for conflicts between origin points, multiple valid values for a target point...
auto norm(const T &a) -> decltype(std::abs(a))
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void mooseWarning(Args &&... args) const
Emits a warning prefixed with object name and type.
Definition: MooseBase.h:295
const ExecFlagType EXEC_INITIAL
Definition: Moose.C:30

◆ computeNumSources()

void MultiAppGeneralFieldNearestLocationTransfer::computeNumSources ( )
private

Pre-compute the number of sources Number of KDTrees used to hold the locations and variable value data.

Definition at line 548 of file MultiAppGeneralFieldNearestLocationTransfer.C.

Referenced by buildKDTrees().

549 {
550  // Number of source = number of KDTrees.
551  // Using mesh divisions or nearest-positions, for every app we use 1 tree per division
552  if (!_from_mesh_divisions.empty() ||
555  // If we group apps, then we only use one tree per division (nearest-position region)
558  EXEC_INITIAL);
559  // Regular case: 1 KDTree per app
560  // Also if use_nearest_app = true, the number of problems is better than the number of positions,
561  // because some of the positions are positions of child applications that are not local
562  else
563  _num_sources = _from_problems.size();
564 }
const bool _group_subapps
Whether to group data when creating the nearest-point regions.
const ExecFlagType & getCurrentExecuteOnFlag() const
Return/set the current execution flag.
FEProblemBase & _fe_problem
Definition: Transfer.h:97
std::vector< const MeshDivision * > _from_mesh_divisions
Division of the origin mesh.
unsigned int getNumPositions(bool initial=false) const
}
Definition: Positions.h:37
unsigned int getNumDivisions() const
Number of divisions (nearest-positions or source mesh divisions) used when building KD-Trees...
std::vector< FEProblemBase * > _from_problems
const bool _use_nearest_app
Whether to keep track of the distance from the requested point to the app position.
const ExecFlagType EXEC_INITIAL
Definition: Moose.C:30

◆ connectControllableParams()

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

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

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

Definition at line 74 of file MooseBase.C.

78 {
79  auto & factory = _app.getFactory();
80  auto & ip_warehouse = _app.getInputParameterWarehouse();
81 
82  MooseObjectParameterName primary_name(uniqueName(), parameter);
83  const auto base_type = factory.getValidParams(object_type).getBase();
84  MooseObjectParameterName secondary_name(base_type, object_name, object_parameter);
85  ip_warehouse.addControllableParameterConnection(primary_name, secondary_name);
86 
87  const auto & tags = _pars.get<std::vector<std::string>>("control_tags");
88  for (const auto & tag : tags)
89  {
90  if (!tag.empty())
91  {
92  // Only adds the parameter with the different control tags if the derived class
93  // properly registers the parameter to its own syntax
94  MooseObjectParameterName tagged_name(tag, name(), parameter);
95  ip_warehouse.addControllableParameterConnection(
96  tagged_name, secondary_name, /*error_on_empty=*/false);
97  }
98  }
99 }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:362
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
InputParameterWarehouse & getInputParameterWarehouse()
Get the InputParameterWarehouse for MooseObjects.
Definition: MooseApp.C:2900
MooseObjectName uniqueName() const
Definition: MooseBase.C:66
Factory & getFactory()
Retrieve a writable reference to the Factory associated with this App.
Definition: MooseApp.h:394
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:99
MooseApp & _app
The MOOSE application this is associated with.
Definition: MooseBase.h:353
A class for storing an input parameter name.

◆ currentDirection()

MooseEnum Transfer::currentDirection ( )
inlineinherited

Definition at line 85 of file Transfer.h.

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

◆ customSetup()

virtual void SetupInterface::customSetup ( const ExecFlagType )
inlinevirtualinherited

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

Reimplemented in Function.

Definition at line 61 of file SetupInterface.h.

61 {}

◆ declareManagedRestartableDataWithContext()

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

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

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

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

See delcareRestartableData and declareRestartableDataWithContext for more information.

Definition at line 276 of file Restartable.h.

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

◆ declareRecoverableData()

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

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

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

Note - this data will NOT be restored on Restart!

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

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

Definition at line 351 of file Restartable.h.

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

◆ declareRestartableData()

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

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

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

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

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

Definition at line 269 of file Restartable.h.

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

◆ declareRestartableDataWithContext()

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

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

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

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

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

Definition at line 294 of file Restartable.h.

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

◆ declareRestartableDataWithObjectName()

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

Declare a piece of data as "restartable".

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

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

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

Definition at line 323 of file Restartable.h.

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

◆ declareRestartableDataWithObjectNameWithContext()

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

Declare a piece of data as "restartable".

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

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

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

Definition at line 333 of file Restartable.h.

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

◆ detectConflict()

bool MultiAppGeneralFieldTransfer::detectConflict ( Real  value_1,
Real  value_2,
Real  distance_1,
Real  distance_2 
) const
protectedinherited

Detects whether two source values are valid and equidistant for a desired target location.

Parameters
value_1value from the first value source / subapp
value_2value from the second value source / subapp
distance_1distance from the first source
distance_2distance from the second source
Returns
true if the values are different and distances from the source points/apps are the same

Definition at line 1965 of file MultiAppGeneralFieldTransfer.C.

Referenced by MultiAppGeneralFieldTransfer::cacheIncomingInterpVals(), MultiAppGeneralFieldShapeEvaluationTransfer::evaluateInterpValuesWithMeshFunctions(), and MultiAppGeneralFieldUserObjectTransfer::evaluateInterpValuesWithUserObjects().

1969 {
1970  // No conflict if we're not looking for them
1972  // Only consider conflicts if the values are valid and different
1973  if (current_value != GeneralFieldTransfer::BetterOutOfMeshValue &&
1975  !MooseUtils::absoluteFuzzyEqual(current_value, new_value))
1976  // Conflict only occurs if the origin points are equidistant
1977  if (MooseUtils::absoluteFuzzyEqual(current_distance, new_distance))
1978  return true;
1979  return false;
1980 }
bool absoluteFuzzyEqual(const T &var1, const T2 &var2, const T3 &tol=libMesh::TOLERANCE *libMesh::TOLERANCE)
Function to check whether two variables are equal within an absolute tolerance.
Definition: MooseUtils.h:380
bool _search_value_conflicts
Whether to look for conflicts between origin points, multiple valid values for a target point...

◆ direction()

MooseEnum Transfer::direction ( )
inlineinherited

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

Definition at line 84 of file Transfer.h.

Referenced by Transfer::setCurrentDirection().

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

◆ directions()

const MultiMooseEnum& Transfer::directions ( )
inlineinherited

The directions this Transfer should be executed on.

Definition at line 79 of file Transfer.h.

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

◆ enabled()

virtual bool MooseObject::enabled ( ) const
inlinevirtualinherited

Return the enabled status of the object.

Reimplemented in EigenKernel.

Definition at line 39 of file MooseObject.h.

Referenced by EigenKernel::enabled().

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

◆ errorIfObjectExecutesOnTransferInSourceApp()

void MultiAppTransfer::errorIfObjectExecutesOnTransferInSourceApp ( const std::string &  object_name) const
protectedinherited

Error if executing this MooseObject on EXEC_TRANSFER in a source multiapp (from_multiapp, e.g.

child/sibling app). Note that, conversely, when the parent app is the source application, it is usually desired to use EXEC_TRANSFER for a MooseObject that provides the values to transfer.

Parameters
object_namename of the object to check the execute_on flags for

Definition at line 705 of file MultiAppTransfer.C.

Referenced by MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppPostprocessorTransfer::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppGeneralFieldUserObjectTransfer::execute(), MultiAppUserObjectTransfer::execute(), and MultiAppVectorPostprocessorTransfer::executeFromMultiapp().

706 {
707  // parent app is the source app, EXEC_TRANSFER is fine
708  if (!hasFromMultiApp())
709  return;
710  // Get the app and problem
711  const auto & app = getFromMultiApp();
712  if (!app->hasApp())
713  return;
714  const auto & problem = app->appProblemBase(app->firstLocalApp());
715  // Use the warehouse to find the object
716  std::vector<SetupInterface *> objects_with_exec_on;
717  problem.theWarehouse()
718  .query()
719  .template condition<AttribName>(object_name)
720  .template condition<AttribExecOns>(EXEC_TRANSFER)
721  .queryInto(objects_with_exec_on);
722  if (objects_with_exec_on.size())
723  mooseError("Object '" + object_name +
724  "' should not be executed on EXEC_TRANSFER, because this transfer has "
725  "indicated it does not support it.\nExecuting this object on TIMESTEP_END should be "
726  "sufficient to get updated values.");
727 }
const ExecFlagType EXEC_TRANSFER
Definition: Moose.C:55
const std::shared_ptr< MultiApp > getFromMultiApp() const
Get the MultiApp to transfer data from.
bool hasFromMultiApp() const
Whether the transfer owns a non-null from_multi_app.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
Definition: MooseBase.h:267

◆ errorPrefix()

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

Deprecated message prefix; the error type is no longer used.

Definition at line 260 of file MooseBase.h.

260 { return messagePrefix(); }
std::string messagePrefix(const bool hit_prefix=true) const
Definition: MooseBase.h:252

◆ evaluateInterpValues()

void MultiAppGeneralFieldNearestLocationTransfer::evaluateInterpValues ( const std::vector< std::pair< Point, unsigned int >> &  incoming_points,
std::vector< std::pair< Real, Real >> &  outgoing_vals 
)
overrideprotectedvirtual

Implements MultiAppGeneralFieldTransfer.

Definition at line 378 of file MultiAppGeneralFieldNearestLocationTransfer.C.

381 {
382  evaluateInterpValuesNearestNode(incoming_points, outgoing_vals);
383 }
void evaluateInterpValuesNearestNode(const std::vector< std::pair< Point, unsigned int >> &incoming_points, std::vector< std::pair< Real, Real >> &outgoing_vals)

◆ evaluateInterpValuesNearestNode()

void MultiAppGeneralFieldNearestLocationTransfer::evaluateInterpValuesNearestNode ( const std::vector< std::pair< Point, unsigned int >> &  incoming_points,
std::vector< std::pair< Real, Real >> &  outgoing_vals 
)
private

Definition at line 386 of file MultiAppGeneralFieldNearestLocationTransfer.C.

Referenced by evaluateInterpValues().

389 {
390  dof_id_type i_pt = 0;
391  for (const auto & [pt, mesh_div] : incoming_points)
392  {
393  // Reset distance
394  outgoing_vals[i_pt].second = std::numeric_limits<Real>::max();
395  bool point_found = false;
396 
397  // Loop on all sources
398  for (const auto i_from : make_range(_num_sources))
399  {
400  // Examine all restrictions for the point. This source (KDTree+values) could be ruled out
401  if (!checkRestrictionsForSource(pt, mesh_div, i_from))
402  continue;
403 
404  // TODO: Pre-allocate these two work arrays. They will be regularly resized by the
405  // searches
406  std::vector<std::size_t> return_index(_num_nearest_points);
407  std::vector<Real> return_dist_sqr(_num_nearest_points);
408 
409  // KD Tree can be empty if no points are within block/boundary/bounding box restrictions
410  if (_local_kdtrees[i_from]->numberCandidatePoints())
411  {
412  point_found = true;
413  // Note that we do not need to use the transformed_pt (in the source app frame)
414  // because the KDTree has been created in the reference frame
415  _local_kdtrees[i_from]->neighborSearch(
416  pt, _num_nearest_points, return_index, return_dist_sqr);
417  Real val_sum = 0, dist_sum = 0;
418  for (const auto index : return_index)
419  {
420  val_sum += _local_values[i_from][index];
421  dist_sum += (_local_points[i_from][index] - pt).norm();
422  }
423 
424  // If the new value found is closer than for other sources, use it
425  const auto new_distance = dist_sum / return_dist_sqr.size();
426  if (new_distance < outgoing_vals[i_pt].second)
427  outgoing_vals[i_pt] = {val_sum / return_index.size(), new_distance};
428  }
429  }
430 
431  // none of the source problem meshes were within the restrictions set
432  if (!point_found)
433  outgoing_vals[i_pt] = {GeneralFieldTransfer::BetterOutOfMeshValue,
435  else if (_search_value_conflicts)
436  {
437  // Local source meshes conflicts can happen two ways:
438  // - two (or more) problems' nearest nodes are equidistant to the target point
439  // - within a problem, the num_nearest_points'th closest node is as close to the target
440  // point as the num_nearest_points + 1'th closest node
441  unsigned int num_equidistant_problems = 0;
442 
443  for (const auto i_from : make_range(_num_sources))
444  {
445  // Examine all restrictions for the point. This source (KDTree+values) could be ruled out
446  if (!checkRestrictionsForSource(pt, mesh_div, i_from))
447  continue;
448 
449  // TODO: Pre-allocate these two work arrays. They will be regularly resized by the searches
450  std::vector<std::size_t> return_index(_num_nearest_points + 1);
451  std::vector<Real> return_dist_sqr(_num_nearest_points + 1);
452 
453  // NOTE: app_index is not valid if _group_subapps = true
454  const auto app_index = i_from / getNumDivisions();
455  const auto num_search = _num_nearest_points + 1;
456 
457  if (_local_kdtrees[i_from]->numberCandidatePoints())
458  {
459  _local_kdtrees[i_from]->neighborSearch(pt, num_search, return_index, return_dist_sqr);
460  auto num_found = return_dist_sqr.size();
461 
462  // Local coordinates only accessible when not using nearest-position
463  // as we did not keep the index of the source app, only the position index
464  const Point local_pt = getPointInLocalSourceFrame(app_index, pt);
465 
466  if (!_nearest_positions_obj &&
467  _from_transforms[getGlobalSourceAppIndex(app_index)]->hasCoordinateSystemTypeChange())
469  mooseInfo("Search value conflict cannot find the origin point due to the "
470  "non-uniqueness of the coordinate collapsing reverse mapping");
471 
472  // Look for too many equidistant nodes within a problem. First zip then sort by distance
473  std::vector<std::pair<Real, std::size_t>> zipped_nearest_points;
474  for (const auto i : make_range(num_found))
475  zipped_nearest_points.push_back(std::make_pair(return_dist_sqr[i], return_index[i]));
476  std::sort(zipped_nearest_points.begin(), zipped_nearest_points.end());
477 
478  // If two furthest are equally far from target point, then we have an indetermination in
479  // what is sent in this communication round from this process. However, it may not
480  // materialize to an actual conflict, as values sent from another process for the
481  // desired target point could be closer (nearest). There is no way to know at this point
482  // in the communication that a closer value exists somewhere else
483  if (num_found > 1 && num_found == num_search &&
484  MooseUtils::absoluteFuzzyEqual(zipped_nearest_points[num_found - 1].first,
485  zipped_nearest_points[num_found - 2].first))
486  {
488  registerConflict(app_index, 0, pt, outgoing_vals[i_pt].second, true);
489  else
490  registerConflict(app_index, 0, local_pt, outgoing_vals[i_pt].second, true);
491  }
492 
493  // Recompute the distance for this problem. If it matches the cached value more than
494  // once it means multiple problems provide equidistant values for this point
495  Real dist_sum = 0;
496  for (const auto i : make_range(num_search - 1))
497  {
498  auto index = zipped_nearest_points[i].second;
499  dist_sum += (_local_points[i_from][index] - pt).norm();
500  }
501 
502  // Compare to the selected value found after looking at all the problems
503  if (MooseUtils::absoluteFuzzyEqual(dist_sum / return_dist_sqr.size(),
504  outgoing_vals[i_pt].second))
505  {
506  num_equidistant_problems++;
507  if (num_equidistant_problems > 1)
508  {
510  registerConflict(app_index, 0, pt, outgoing_vals[i_pt].second, true);
511  else
512  registerConflict(app_index, 0, local_pt, outgoing_vals[i_pt].second, true);
513  }
514  }
515  }
516  }
517  }
518 
519  // Move to next point
520  i_pt++;
521  }
522 }
void mooseInfo(Args &&... args) const
Definition: MooseBase.h:317
bool absoluteFuzzyEqual(const T &var1, const T2 &var2, const T3 &tol=libMesh::TOLERANCE *libMesh::TOLERANCE)
Function to check whether two variables are equal within an absolute tolerance.
Definition: MooseUtils.h:380
const bool _skip_coordinate_collapsing
Whether to skip coordinate collapsing (transformations of coordinates between applications using diff...
void registerConflict(unsigned int problem, dof_id_type dof_id, Point p, Real dist, bool local)
Register a potential value conflict, e.g.
Point getPointInLocalSourceFrame(unsigned int i_from, const Point &pt) const
Transform a point towards the local frame.
auto max(const L &left, const R &right)
std::vector< std::vector< Point > > _local_points
All the nodes that meet the spatial restrictions in all the local source apps.
std::vector< std::vector< Real > > _local_values
Values of the variable being transferred at all the points in _local_points.
bool _search_value_conflicts
Whether to look for conflicts between origin points, multiple valid values for a target point...
std::vector< std::shared_ptr< KDTree > > _local_kdtrees
KD-Trees for all the local source apps.
unsigned int getGlobalSourceAppIndex(unsigned int i_from) const
Return the global app index from the local index in the "from-multiapp" transfer direction.
auto norm(const T &a) -> decltype(std::abs(a))
bool checkRestrictionsForSource(const Point &pt, const unsigned int valid_mesh_div, const unsigned int i_from) const
Examine all spatial restrictions that could preclude this source from being a valid source for this p...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::vector< std::unique_ptr< MultiAppCoordTransform > > _from_transforms
IntRange< T > make_range(T beg, T end)
unsigned int getNumDivisions() const
Number of divisions (nearest-positions or source mesh divisions) used when building KD-Trees...
uint8_t dof_id_type

◆ execute()

void MultiAppGeneralFieldTransfer::execute ( )
overridevirtualinherited

Execute the transfer.

Implements Transfer.

Reimplemented in MultiAppGeneralFieldUserObjectTransfer.

Definition at line 438 of file MultiAppGeneralFieldTransfer.C.

Referenced by MultiAppGeneralFieldUserObjectTransfer::execute().

439 {
440  TIME_SECTION(
441  "MultiAppGeneralFieldTransfer::execute()_" + name(), 5, "Transfer execution " + name());
442  getAppInfo();
443 
444  // Set up bounding boxes, etc
446 
447  // loop over the vector of variables and make the transfer one by one
448  for (const auto i : make_range(_var_size))
449  transferVariable(i);
450 
451  postExecute();
452 }
unsigned int _var_size
The number of variables to transfer.
virtual void getAppInfo() override
This method will fill information into the convenience member variables (_to_problems, _from_meshes, etc.)
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:99
void transferVariable(unsigned int i)
Performs the transfer for the variable of index i.
virtual void postExecute() override
Add some extra work if necessary after execute().
IntRange< T > make_range(T beg, T end)
void prepareToTransfer()
Initialize supporting attributes like bounding boxes, processor app indexes etc.

◆ extendBoundingBoxes()

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

Extends bounding boxes to avoid missing points.

Definition at line 466 of file MultiAppTransfer.C.

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

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

◆ extractLocalFromBoundingBoxes()

void MultiAppGeneralFieldTransfer::extractLocalFromBoundingBoxes ( std::vector< BoundingBox > &  local_bboxes)
protectedinherited

Definition at line 871 of file MultiAppGeneralFieldTransfer.C.

Referenced by MultiAppGeneralFieldShapeEvaluationTransfer::prepareEvaluationOfInterpValues(), and MultiAppGeneralFieldUserObjectTransfer::prepareEvaluationOfInterpValues().

872 {
873  local_bboxes.resize(_froms_per_proc[processor_id()]);
874  // Find the index to the first of this processor's local bounding boxes.
875  unsigned int local_start = 0;
876  for (processor_id_type i_proc = 0; i_proc < n_processors() && i_proc != processor_id(); ++i_proc)
877  local_start += _froms_per_proc[i_proc];
878 
879  // Extract the local bounding boxes.
880  for (const auto i_from : make_range(_froms_per_proc[processor_id()]))
881  local_bboxes[i_from] = _from_bboxes[local_start + i_from];
882 }
std::vector< BoundingBox > _from_bboxes
Bounding boxes for all source applications.
uint8_t processor_id_type
processor_id_type n_processors() const
std::vector< unsigned int > _froms_per_proc
Number of source/from applications per processor. This vector is indexed by processor id...
IntRange< T > make_range(T beg, T end)
processor_id_type processor_id() const

◆ find_sys()

System * Transfer::find_sys ( libMesh::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 91 of file Transfer.C.

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

92 {
93  // Find the system this variable is from
94  for (unsigned int i = 0; i < es.n_systems(); i++)
95  if (es.get_system(i).has_variable(var_name))
96  return &es.get_system(i);
97 
98  ::mooseError("Unable to find variable " + var_name + " in any system.");
99 
100  // Unreachable
101  return &es.get_system(0);
102 }
unsigned int n_systems() const
const T_sys & get_system(std::string_view name) const
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
Definition: MooseBase.h:267

◆ flagInvalidSolutionInternal()

template<bool warning>
template void SolutionInvalidInterface::flagInvalidSolutionInternal< false > ( const InvalidSolutionID  invalid_solution_id) const
protectedinherited

Set solution invalid mark for the given solution ID.

Definition at line 27 of file SolutionInvalidInterface.C.

29 {
30  mooseAssert(
31  warning == moose::internal::getSolutionInvalidityRegistry().item(invalid_solution_id).warning,
32  "Inconsistent warning flag");
33  auto & solution_invalidity = _si_moose_object.getMooseApp().solutionInvalidity();
34  if constexpr (!warning)
36  solution_invalidity.printDebug(invalid_solution_id);
37  return solution_invalidity.flagInvalidSolutionInternal(invalid_solution_id);
38 }
FEProblemBase & _si_problem
A reference to FEProblem base.
void printDebug(InvalidSolutionID _invalid_solution_id) const
Immediately print the section and message for debug purpose.
MooseApp & getMooseApp() const
Get the MooseApp this class is associated with.
Definition: MooseBase.h:83
SolutionInvalidity & solutionInvalidity()
Get the SolutionInvalidity for this app.
Definition: MooseApp.h:172
SolutionInvalidityRegistry & getSolutionInvalidityRegistry()
Get the global SolutionInvalidityRegistry singleton.
MooseObject & _si_moose_object
The MooseObject that owns this interface.
bool immediatelyPrintInvalidSolution() const
Whether or not the solution invalid warnings are printed out immediately.

◆ getAppIndex()

unsigned int MultiAppGeneralFieldNearestLocationTransfer::getAppIndex ( unsigned int  kdtree_index,
unsigned int  app_index 
) const
private

Get the index of the app in the loop over the trees and the apps contributing data to each tree.

Definition at line 567 of file MultiAppGeneralFieldNearestLocationTransfer.C.

Referenced by buildKDTrees(), and checkRestrictionsForSource().

569 {
570  // Each app is mapped to a single KD Tree
571  if (_use_nearest_app)
572  return kdtree_index;
573  // We are looping over all the apps that are grouped together
574  else if (_group_subapps)
575  return nested_loop_on_app_index;
576  // There are num_divisions trees for each app, inner ordering is divisions, so dividing by the
577  // number of divisions gets us the index of the application
578  else
579  return kdtree_index / getNumDivisions();
580 }
const bool _group_subapps
Whether to group data when creating the nearest-point regions.
unsigned int getNumDivisions() const
Number of divisions (nearest-positions or source mesh divisions) used when building KD-Trees...
const bool _use_nearest_app
Whether to keep track of the distance from the requested point to the app position.

◆ getAppInfo()

void MultiAppGeneralFieldTransfer::getAppInfo ( )
overridevirtualinherited

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

Reimplemented from MultiAppTransfer.

Definition at line 422 of file MultiAppGeneralFieldTransfer.C.

Referenced by MultiAppGeneralFieldTransfer::execute().

423 {
425 
426  // Create the point locators to locate evaluation points in the origin mesh(es)
427  _from_point_locators.resize(_from_problems.size());
428  for (const auto i_from : index_range(_from_problems))
429  {
430  const auto & from_moose_mesh = _from_problems[i_from]->mesh(_displaced_source_mesh);
431  _from_point_locators[i_from] =
432  PointLocatorBase::build(TREE_LOCAL_ELEMENTS, from_moose_mesh.getMesh());
433  _from_point_locators[i_from]->enable_out_of_mesh_mode();
434  }
435 }
std::vector< std::unique_ptr< libMesh::PointLocatorBase > > _from_point_locators
Point locators, useful to examine point location with regards to domain restriction.
bool _displaced_source_mesh
True if displaced mesh is used for the source mesh, otherwise false.
virtual void getAppInfo()
This method will fill information into the convenience member variables (_to_problems, _from_meshes, etc.)
std::vector< FEProblemBase * > _from_problems
auto index_range(const T &sizable)

◆ getBase()

const std::string& MooseBase::getBase ( ) const
inlineinherited
Returns
The registered base for this object (set via InputParameters::registerBase())

Definition at line 143 of file MooseBase.h.

Referenced by Factory::copyConstruct(), and MooseBase::uniqueParameterName().

143 { return _pars.getBase(); }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:362
const std::string & getBase() const

◆ getCheckedPointerParam()

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

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

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

Definition at line 428 of file MooseBase.h.

429 {
430  return _pars.getCheckedPointerParam<T>(name, error_string);
431 }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:362
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 std::string & name() const
Get the name of the class.
Definition: MooseBase.h:99

◆ getDataFileName()

std::string DataFileInterface::getDataFileName ( const std::string &  param) const
inherited

Deprecated method.

The data file paths are now automatically set within the InputParameters object, so using getParam<DataFileName>("param_name") is now sufficient.

Definition at line 21 of file DataFileInterface.C.

22 {
23  _parent.mooseDeprecated("getDataFileName() is deprecated. The file path is now directly set "
24  "within the InputParameters.\nUse getParam<DataFileName>(\"",
25  param,
26  "\") instead.");
27  return _parent.getParam<DataFileName>(param);
28 }
const T & getParam(const std::string &name) const
Retrieve a parameter for the object.
Definition: MooseBase.h:384
void mooseDeprecated(Args &&... args) const
Definition: MooseBase.h:310
const ParallelParamObject & _parent

◆ getDataFileNameByName()

std::string DataFileInterface::getDataFileNameByName ( const std::string &  relative_path) const
inherited

Deprecated method.

Use getDataFilePath() instead.

Definition at line 31 of file DataFileInterface.C.

32 {
33  _parent.mooseDeprecated("getDataFileNameByName() is deprecated. Use getDataFilePath(\"",
34  relative_path,
35  "\") instead.");
36  return getDataFilePath(relative_path);
37 }
std::string getDataFilePath(const std::string &relative_path) const
Returns the path of a data file for a given relative file path.
void mooseDeprecated(Args &&... args) const
Definition: MooseBase.h:310
const ParallelParamObject & _parent

◆ getDataFilePath()

std::string DataFileInterface::getDataFilePath ( const std::string &  relative_path) const
inherited

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

This can be used for hardcoded datafile names and will search the same locations as getDataFileName

Definition at line 40 of file DataFileInterface.C.

Referenced by DataFileInterface::getDataFileNameByName().

41 {
42  // This should only ever be used with relative paths. There is no point to
43  // use this search path with an absolute path.
44  if (std::filesystem::path(relative_path).is_absolute())
45  _parent.mooseWarning("While using getDataFilePath(\"",
46  relative_path,
47  "\"): This API should not be used for absolute paths.");
48 
49  // Throw on error so that if getPath() fails, we can throw an error
50  // with the context of _parent.mooseError()
51  const auto throw_on_error_before = Moose::_throw_on_error;
53  std::optional<std::string> error;
54 
55  // This will search the data paths for this relative path
56  Moose::DataFileUtils::Path found_path;
57  try
58  {
59  found_path = Moose::DataFileUtils::getPath(relative_path);
60  }
61  catch (std::exception & e)
62  {
63  error = e.what();
64  }
65 
66  Moose::_throw_on_error = throw_on_error_before;
67  if (error)
68  _parent.mooseError(*error);
69 
70  mooseAssert(found_path.context == Moose::DataFileUtils::Context::DATA,
71  "Should only ever obtain data");
72  mooseAssert(found_path.data_name, "Should be set");
73 
74  const std::string msg =
75  "Using data file '" + found_path.path + "' from " + *found_path.data_name + " data";
76  _parent.mooseInfo(msg);
77 
78  return found_path.path;
79 }
void mooseInfo(Args &&... args) const
Definition: MooseBase.h:317
Context context
Context for the file (where it came from)
Definition: DataFileUtils.h:48
Representation of a data file path.
Definition: DataFileUtils.h:36
Path getPath(std::string path, const std::optional< std::string > &base=std::optional< std::string >())
Get the data path for a given path, searching the registered data.
Definition: DataFileUtils.C:22
std::optional< std::string > data_name
The name of the data registry the file came from (with context == DATA)
Definition: DataFileUtils.h:50
void mooseWarning(Args &&... args) const
Emits a warning prefixed with object name and type.
Definition: MooseBase.h:295
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
Definition: MooseBase.h:267
bool _throw_on_error
Variable to turn on exceptions during mooseError(), should only be used within MOOSE unit tests or wh...
Definition: Moose.C:780
const ParallelParamObject & _parent

◆ getEquationSystem()

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

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

Definition at line 55 of file MultiAppFieldTransfer.C.

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

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

◆ getExecuteOnEnum()

const ExecFlagEnum & SetupInterface::getExecuteOnEnum ( ) const
inherited

◆ getFromBoundingBoxes() [1/2]

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

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

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

Definition at line 496 of file MultiAppTransfer.C.

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

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

◆ getFromBoundingBoxes() [2/2]

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

Definition at line 530 of file MultiAppTransfer.C.

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

◆ getFromMultiApp()

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

Get the MultiApp to transfer data from.

Definition at line 63 of file MultiAppTransfer.h.

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

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

◆ getFromName()

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

Get the name of thing being transferred from.

Returns
the name of the multiapp or "Parent"

Definition at line 86 of file MultiAppTransfer.h.

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

◆ getFromsPerProc()

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

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

Note: same indexing as getFromBoundingBoxes

Definition at line 591 of file MultiAppTransfer.C.

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

592 {
593  std::vector<unsigned int> froms_per_proc;
594  if (_to_multi_app)
595  froms_per_proc.resize(n_processors(), 1);
596  if (_from_multi_app)
597  {
598  froms_per_proc.resize(n_processors());
599  _communicator.allgather(_from_multi_app->numLocalApps(), froms_per_proc);
600  }
601  return froms_per_proc;
602 }
void allgather(const T &send_data, std::vector< T, A > &recv_data) const
std::shared_ptr< MultiApp > _from_multi_app
The MultiApps this Transfer is transferring data to or from.
const Parallel::Communicator & _communicator
processor_id_type n_processors() const
std::shared_ptr< MultiApp > _to_multi_app

◆ getFromVarName()

VariableName MultiAppGeneralFieldTransfer::getFromVarName ( unsigned int  var_index)
inherited

Get the source variable name, with the suffix for array/vector variables.

Definition at line 1927 of file MultiAppGeneralFieldTransfer.C.

Referenced by buildKDTrees(), MultiAppGeneralFieldShapeEvaluationTransfer::buildMeshFunctions(), and MultiAppGeneralFieldTransfer::outputValueConflicts().

1928 {
1929  mooseAssert(var_index < _from_var_names.size(), "No source variable at this index");
1930  VariableName var_name = _from_var_names[var_index];
1931  if (_from_var_components.size())
1932  var_name += "_" + std::to_string(_from_var_components[var_index]);
1933  return var_name;
1934 }
const std::vector< VariableName > _from_var_names
Name of variables transferring from.
const std::vector< unsigned int > _from_var_components
Origin array/vector variable components.

◆ getFromVarNames()

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

Virtual function defining variables to be transferred.

Implements MultiAppFieldTransfer.

Definition at line 34 of file MultiAppConservativeTransfer.h.

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

◆ getGlobalSourceAppIndex()

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

◆ getGlobalTargetAppIndex()

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

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

Definition at line 656 of file MultiAppTransfer.C.

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

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

◆ getHitNode()

const hit::Node* MooseBase::getHitNode ( ) const
inlineinherited
Returns
The block-level hit node for this object, if any

Definition at line 132 of file MooseBase.h.

Referenced by FEProblemBase::addAnyRedistributers(), MooseBase::callMooseError(), MooseBase::getHitNode(), and MooseBase::messagePrefix().

132 { return getHitNode(_pars); }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:362
const hit::Node * getHitNode() const
Definition: MooseBase.h:132

◆ getLocalSourceAppIndex()

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

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

Definition at line 664 of file MultiAppTransfer.C.

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

◆ getMooseApp()

MooseApp& MooseBase::getMooseApp ( ) const
inlineinherited

Get the MooseApp this class is associated with.

Definition at line 83 of file MooseBase.h.

Referenced by ChainControlSetupAction::act(), AddDefaultConvergenceAction::addDefaultMultiAppFixedPointConvergence(), AddDefaultConvergenceAction::addDefaultNonlinearConvergence(), AddDefaultConvergenceAction::addDefaultSteadyStateConvergence(), FEProblemBase::advanceState(), ParsedChainControl::buildFunction(), ReporterTransferInterface::checkHasReporterValue(), AddDefaultConvergenceAction::checkUnusedMultiAppFixedPointConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedNonlinearConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedSteadyStateConvergenceParameters(), Coupleable::checkWritableVar(), ComponentPhysicsInterface::ComponentPhysicsInterface(), Coupleable::Coupleable(), MortarData::createMortarInterface(), EigenProblem::doFreeNonlinearPowerIterations(), Terminator::execute(), FEProblemSolve::FEProblemSolve(), SolutionInvalidInterface::flagInvalidSolutionInternal(), ChainControl::getChainControlDataSystem(), DefaultConvergenceBase::getSharedExecutionerParam(), ChainControlDataPostprocessor::initialSetup(), MaterialPropertyInterface::MaterialPropertyInterface(), MooseVariableDataFV< OutputType >::MooseVariableDataFV(), ProgressOutput::output(), PetscOutputInterface::petscLinearOutput(), PetscOutputInterface::petscNonlinearOutput(), PetscOutputInterface::PetscOutputInterface(), PostprocessorInterface::postprocessorsAdded(), MultiApp::preTransfer(), Reporter::Reporter(), ReporterInterface::reportersAdded(), MultiApp::restore(), and VectorPostprocessorInterface::vectorPostprocessorsAdded().

83 { return _app; }
MooseApp & _app
The MOOSE application this is associated with.
Definition: MooseBase.h:353

◆ getMultiApp()

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

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

Definition at line 48 of file MultiAppTransfer.h.

Referenced by MultiAppCloneReporterTransfer::initialSetup().

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

◆ getNumAppsPerTree()

unsigned int MultiAppGeneralFieldNearestLocationTransfer::getNumAppsPerTree ( ) const
private

Number of applications which contributed nearest-locations to each KD-tree.

Definition at line 583 of file MultiAppGeneralFieldNearestLocationTransfer.C.

Referenced by buildKDTrees().

584 {
585  if (_use_nearest_app)
586  return 1;
587  else if (_group_subapps)
588  return _from_meshes.size();
589  else
590  return 1;
591 }
const bool _group_subapps
Whether to group data when creating the nearest-point regions.
std::vector< MooseMesh * > _from_meshes
const bool _use_nearest_app
Whether to keep track of the distance from the requested point to the app position.

◆ getNumDivisions()

unsigned int MultiAppGeneralFieldNearestLocationTransfer::getNumDivisions ( ) const
private

Number of divisions (nearest-positions or source mesh divisions) used when building KD-Trees.

Definition at line 594 of file MultiAppGeneralFieldNearestLocationTransfer.C.

Referenced by buildKDTrees(), checkRestrictionsForSource(), computeNumSources(), evaluateInterpValuesNearestNode(), and getAppIndex().

595 {
596  // This is not used currently, but conceptually it is better to only divide the domain with the
597  // local of local applications rather than the global number of positions (# global applications
598  // here)
599  if (_use_nearest_app)
600  return _from_meshes.size();
601  // Each nearest-position region is a division
604  EXEC_INITIAL);
605  // Assume all mesh divisions (on each sub-app) has the same number of divisions. This is checked
606  else if (!_from_mesh_divisions.empty())
608  // Grouping subapps or no special mode, we do not subdivide
609  else
610  return 1;
611 }
const bool _group_subapps
Whether to group data when creating the nearest-point regions.
const ExecFlagType & getCurrentExecuteOnFlag() const
Return/set the current execution flag.
FEProblemBase & _fe_problem
Definition: Transfer.h:97
std::vector< const MeshDivision * > _from_mesh_divisions
Division of the origin mesh.
std::vector< MooseMesh * > _from_meshes
unsigned int getNumPositions(bool initial=false) const
}
Definition: Positions.h:37
unsigned int getNumDivisions() const
Number of divisions (nearest-positions or source mesh divisions) used when building KD-Trees...
const bool _use_nearest_app
Whether to keep track of the distance from the requested point to the app position.
const ExecFlagType EXEC_INITIAL
Definition: Moose.C:30

◆ getParam() [1/2]

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

Referenced by CreateDisplacedProblemAction::act(), AddPeriodicBCAction::act(), CommonOutputAction::act(), FEProblemBase::addOutput(), DiffusionPhysicsBase::addPostprocessors(), ADNodalKernel::ADNodalKernel(), ArrayParsedAux::ArrayParsedAux(), AddPeriodicBCAction::autoTranslationBoundaries(), BicubicSplineFunction::BicubicSplineFunction(), ComponentPhysicsInterface::ComponentPhysicsInterface(), FunctorAux::computeValue(), Console::Console(), FEProblemBase::createTagSolutions(), CutMeshByLevelSetGenerator::CutMeshByLevelSetGenerator(), DebugResidualAux::DebugResidualAux(), AccumulateReporter::declareLateValues(), DerivativeParsedMaterialTempl< is_ad >::DerivativeParsedMaterialTempl(), DynamicObjectRegistrationAction::DynamicObjectRegistrationAction(), EigenKernel::EigenKernel(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), FEProblemSolve::FEProblemSolve(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), ParsedSubdomainGeneratorBase::functionInitialize(), FVInterfaceKernel::FVInterfaceKernel(), BoundaryLayerSubdomainGenerator::generate(), ExtraNodesetGenerator::generate(), FileMeshGenerator::generate(), RefineBlockGenerator::generate(), RefineSidesetGenerator::generate(), BlockDeletionGenerator::generate(), BreakMeshByBlockGenerator::generate(), CoarsenBlockGenerator::generate(), GeneratedMeshGenerator::generate(), MeshExtruderGenerator::generate(), GenericConstantRankTwoTensorTempl< is_ad >::GenericConstantRankTwoTensorTempl(), GenericConstantSymmetricRankTwoTensorTempl< is_ad >::GenericConstantSymmetricRankTwoTensorTempl(), MooseApp::getCheckpointDirectories(), DataFileInterface::getDataFileName(), ExecutorInterface::getExecutor(), GhostingUserObject::GhostingUserObject(), FixedPointIterationAdaptiveDT::init(), TimeSequenceStepper::init(), IterationAdaptiveDT::init(), AdvancedOutput::init(), AttribThread::initFrom(), AttribSysNum::initFrom(), AttribResidualObject::initFrom(), AttribDisplaced::initFrom(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), Console::initialSetup(), SampledOutput::initSample(), IterationAdaptiveDT::limitDTToPostprocessorValue(), MooseMesh::MooseMesh(), MooseStaticCondensationPreconditioner::MooseStaticCondensationPreconditioner(), MooseVariableBase::MooseVariableBase(), MultiSystemSolveObject::MultiSystemSolveObject(), NEML2ModelExecutor::NEML2ModelExecutor(), NestedDivision::NestedDivision(), PerfGraphOutput::output(), Console::outputSystemInformation(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedElementDeletionGenerator::ParsedElementDeletionGenerator(), ParsedGenerateNodeset::ParsedGenerateNodeset(), ParsedGenerateSideset::ParsedGenerateSideset(), ParsedMaterialTempl< is_ad >::ParsedMaterialTempl(), ParsedNodeTransformGenerator::ParsedNodeTransformGenerator(), ParsedODEKernel::ParsedODEKernel(), ParsedPostprocessor::ParsedPostprocessor(), PiecewiseByBlockFunctorMaterialTempl< T >::PiecewiseByBlockFunctorMaterialTempl(), PiecewiseConstantByBlockMaterialTempl< is_ad >::PiecewiseConstantByBlockMaterialTempl(), ReferenceResidualInterface::ReferenceResidualInterface(), RenameBlockGenerator::RenameBlockGenerator(), Moose::FV::setInterpolationMethod(), SetupMeshAction::setupMesh(), Output::setWallTimeIntervalFromCommandLineParam(), SingleMatrixPreconditioner::SingleMatrixPreconditioner(), TimePeriod::TimePeriod(), UniqueExtraIDMeshGenerator::UniqueExtraIDMeshGenerator(), FunctorIC::value(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), and VectorOfPostprocessors::VectorOfPostprocessors().

385 {
386  return InputParameters::getParamHelper<T>(name, _pars);
387 }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:362
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:99

◆ getParam() [2/2]

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

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

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

Definition at line 421 of file MooseBase.h.

422 {
423  return _pars.get<T1, T2>(param1, param2);
424 }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:362
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.

◆ getPointInLocalSourceFrame()

Point MultiAppGeneralFieldNearestLocationTransfer::getPointInLocalSourceFrame ( unsigned int  i_from,
const Point pt 
) const
private

Transform a point towards the local frame.

Definition at line 614 of file MultiAppGeneralFieldNearestLocationTransfer.C.

Referenced by checkRestrictionsForSource(), and evaluateInterpValuesNearestNode().

616 {
617 
618  if (!_nearest_positions_obj &&
619  (!_from_transforms[getGlobalSourceAppIndex(i_from)]->hasCoordinateSystemTypeChange() ||
621  return _from_transforms[getGlobalSourceAppIndex(i_from)]->mapBack(pt);
623  return pt - _from_positions[i_from];
624  else
625  return pt;
626 }
const bool _group_subapps
Whether to group data when creating the nearest-point regions.
const bool _skip_coordinate_collapsing
Whether to skip coordinate collapsing (transformations of coordinates between applications using diff...
std::vector< Point > _from_positions
unsigned int getGlobalSourceAppIndex(unsigned int i_from) const
Return the global app index from the local index in the "from-multiapp" transfer direction.
std::vector< std::unique_ptr< MultiAppCoordTransform > > _from_transforms

◆ getPointInTargetAppFrame()

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

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

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

Definition at line 627 of file MultiAppTransfer.C.

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

630 {
631  const auto & to_transform = _to_transforms[getGlobalTargetAppIndex(local_i_to)];
632  if (to_transform->hasCoordinateSystemTypeChange())
633  {
635  mooseInfo(phase + " cannot use the point in the target app frame due to the "
636  "non-uniqueness of the coordinate collapsing reverse mapping."
637  " Coordinate collapse is ignored for this operation");
638  to_transform->skipCoordinateCollapsing(true);
639  const auto target_point = to_transform->mapBack(p);
640  to_transform->skipCoordinateCollapsing(false);
641  return target_point;
642  }
643  else
644  return to_transform->mapBack(p);
645 }
void mooseInfo(Args &&... args) const
Definition: MooseBase.h:317
std::vector< std::unique_ptr< MultiAppCoordTransform > > _to_transforms
const bool _skip_coordinate_collapsing
Whether to skip coordinate collapsing (transformations of coordinates between applications using diff...
unsigned int getGlobalTargetAppIndex(unsigned int i_to) const
Return the global app index from the local index in the "to-multiapp" transfer direction.

◆ getRenamedParam()

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

Retrieve a renamed parameter for the object.

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

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

Definition at line 398 of file MooseBase.h.

399 {
400  // Most important: accept new parameter
401  if (isParamSetByUser(new_name) && !isParamValid(old_name))
402  return getParam<T>(new_name);
403  // Second most: accept old parameter
404  if (isParamValid(old_name) && !isParamSetByUser(new_name))
405  return getParam<T>(old_name);
406  // Third most: accept default for new parameter
407  if (isParamValid(new_name) && !isParamValid(old_name))
408  return getParam<T>(new_name);
409  // Refuse: no default, no value passed
410  if (!isParamValid(old_name) && !isParamValid(new_name))
411  mooseError("parameter '" + new_name +
412  "' is being retrieved without being set.\nDid you misspell it?");
413  // Refuse: both old and new parameters set by user
414  else
415  mooseError("Parameter '" + new_name + "' may not be provided alongside former parameter '" +
416  old_name + "'");
417 }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
Definition: MooseBase.h:267
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
Definition: MooseBase.h:195
bool isParamSetByUser(const std::string &name) const
Test if the supplied parameter is set by a user, as opposed to not set or set to default.
Definition: MooseBase.h:201

◆ getRestartableData()

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

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

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

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

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

Definition at line 287 of file Restartable.h.

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

◆ getSharedPtr() [1/2]

std::shared_ptr< MooseObject > MooseObject::getSharedPtr ( )
inherited

Get another shared pointer to this object that has the same ownership group.

Wrapper around shared_from_this().

Definition at line 61 of file MooseObject.C.

Referenced by MFEMProblem::addBoundaryCondition(), MFEMProblem::addKernel(), and MFEMProblem::addMFEMSolver().

62 {
63  try
64  {
65  return shared_from_this();
66  }
67  catch (std::bad_weak_ptr &)
68  {
69  mooseError(not_shared_error);
70  }
71 }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
Definition: MooseBase.h:267

◆ getSharedPtr() [2/2]

std::shared_ptr< const MooseObject > MooseObject::getSharedPtr ( ) const
inherited

Definition at line 74 of file MooseObject.C.

75 {
76  try
77  {
78  return shared_from_this();
79  }
80  catch (std::bad_weak_ptr &)
81  {
82  mooseError(not_shared_error);
83  }
84 }
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
Definition: MooseBase.h:267

◆ getToMultiApp()

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

Get the MultiApp to transfer data to.

Definition at line 73 of file MultiAppTransfer.h.

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

74  {
75  if (!_to_multi_app)
76  mooseError(
77  "A to_multiapp was requested but is unavailable. Check the to_multi_app parameter");
78  else
79  return _to_multi_app;
80  }
std::shared_ptr< MultiApp > _to_multi_app
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
Definition: MooseBase.h:267

◆ getToName()

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

Get the name of thing being transferred to.

Returns
the name of the multiapp or "Parent"

Definition at line 98 of file MultiAppTransfer.h.

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

◆ getToVarName()

VariableName MultiAppGeneralFieldTransfer::getToVarName ( unsigned int  var_index)
inherited

Get the target variable name, with the suffix for array/vector variables.

Definition at line 1937 of file MultiAppGeneralFieldTransfer.C.

Referenced by MultiAppGeneralFieldTransfer::examineLocalValueConflicts(), MultiAppGeneralFieldTransfer::examineReceivedValueConflicts(), MultiAppGeneralFieldTransfer::extractOutgoingPoints(), MultiAppGeneralFieldTransfer::outputValueConflicts(), and MultiAppGeneralFieldTransfer::setSolutionVectorValues().

1938 {
1939  mooseAssert(var_index < _to_var_names.size(), "No target variable at this index");
1940  VariableName var_name = _to_var_names[var_index];
1941  if (_to_var_components.size())
1942  var_name += "_" + std::to_string(_to_var_components[var_index]);
1943  return var_name;
1944 }
const std::vector< unsigned int > _to_var_components
Target array/vector variable components.
const std::vector< AuxVariableName > _to_var_names
Name of variables transferring to.

◆ getToVarNames()

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

Virtual function defining variables to transfer to.

Implements MultiAppFieldTransfer.

Definition at line 35 of file MultiAppConservativeTransfer.h.

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

◆ getTransferVector()

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

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

Definition at line 605 of file MultiAppTransfer.C.

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

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

◆ hasBase()

bool MooseBase::hasBase ( ) const
inlineinherited
Returns
Whether or not this object has a registered base (set via InputParameters::registerBase())

Definition at line 138 of file MooseBase.h.

138 { return _pars.hasBase(); }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:362
bool hasBase() const

◆ hasFromMultiApp()

bool MultiAppTransfer::hasFromMultiApp ( ) const
inlineinherited

◆ hasToMultiApp()

bool MultiAppTransfer::hasToMultiApp ( ) const
inlineinherited

◆ inBlocks() [1/8]

bool MultiAppGeneralFieldTransfer::inBlocks
protected

◆ inBlocks() [2/8]

virtual bool MultiAppGeneralFieldTransfer::inBlocks
protected

◆ inBlocks() [3/8]

bool MultiAppGeneralFieldTransfer::inBlocks
protected

◆ inBlocks() [4/8]

bool MultiAppGeneralFieldTransfer::inBlocks
protected

◆ inBlocks() [5/8]

bool MultiAppGeneralFieldNearestLocationTransfer::inBlocks ( const std::set< SubdomainID > &  blocks,
const MooseMesh mesh,
const Elem elem 
) const
overrideprotectedvirtual

Reimplemented from MultiAppGeneralFieldTransfer.

Definition at line 525 of file MultiAppGeneralFieldNearestLocationTransfer.C.

Referenced by buildKDTrees().

528 {
529  // We need to override the definition of block restriction for an element
530  // because we have to consider whether each node of an element is adjacent to a block
531  for (const auto & i_node : make_range(elem->n_nodes()))
532  {
533  const auto & node = elem->node_ptr(i_node);
534  const auto & node_blocks = mesh.getNodeBlockIds(*node);
535  std::set<SubdomainID> u;
536  std::set_intersection(blocks.begin(),
537  blocks.end(),
538  node_blocks.begin(),
539  node_blocks.end(),
540  std::inserter(u, u.begin()));
541  if (!u.empty())
542  return true;
543  }
544  return false;
545 }
char ** blocks
MeshBase & mesh
virtual unsigned int n_nodes() const=0
const Node * node_ptr(const unsigned int i) const
IntRange< T > make_range(T beg, T end)

◆ inBlocks() [6/8]

bool MultiAppGeneralFieldTransfer::inBlocks ( const std::set< SubdomainID > &  blocks,
const Elem *  elem 
) const
protectedinherited

◆ inBlocks() [7/8]

bool MultiAppGeneralFieldTransfer::inBlocks ( const std::set< SubdomainID > &  blocks,
const MooseMesh mesh,
const Node *  node 
) const
protectedinherited

◆ inBlocks() [8/8]

bool MultiAppGeneralFieldTransfer::inBlocks ( const std::set< SubdomainID > &  blocks,
const libMesh::PointLocatorBase *const  pl,
const Point &  pt 
) const
protectedinherited

◆ initialSetup()

void MultiAppGeneralFieldNearestLocationTransfer::initialSetup ( )
overridevirtual

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

Reimplemented from MultiAppGeneralFieldTransfer.

Definition at line 110 of file MultiAppGeneralFieldNearestLocationTransfer.C.

111 {
113 
114  // Handle the source types ahead of time
115  const auto & source_types = getParam<std::vector<MooseEnum>>("source_type");
116  _source_is_nodes.resize(_from_var_names.size());
118  if (source_types.size() != _from_var_names.size())
119  mooseError("Not enough source types specified for this number of variables. Source types must "
120  "be specified for transfers with multiple variables");
121  for (const auto var_index : index_range(_from_var_names))
122  {
123  // Local app does not own any of the source problems
124  if (_from_problems.empty())
125  break;
126 
127  // Get some info on the source variable
128  FEProblemBase & from_problem = *_from_problems[0];
129  MooseVariableFieldBase & from_var =
130  from_problem.getVariable(0,
131  _from_var_names[var_index],
134  System & from_sys = from_var.sys().system();
135  const auto & fe_type = from_sys.variable_type(from_var.number());
136 
137  // Select where to get the origin values
138  if (source_types[var_index] == "nodes")
139  _source_is_nodes[var_index] = true;
140  else if (source_types[var_index] == "centroids")
141  _source_is_nodes[var_index] = false;
142  else
143  {
144  // "Nodal" variables are continuous for sure at nodes
145  if (from_var.isNodal())
146  _source_is_nodes[var_index] = true;
147  // for everyone else, we know they are continuous at centroids
148  else
149  _source_is_nodes[var_index] = false;
150  }
151 
152  // Some variables can be sampled directly at their 0 dofs
153  // - lagrange at nodes on a first order mesh
154  // - anything constant and elemental obviously has the 0-dof value at the centroid (or
155  // vertex-average). However, higher order elemental, even monomial, do not hold the centroid
156  // value at dof index 0 For example: pyramid has dof 0 at the center of the base, prism has dof
157  // 0 on an edge etc
158  if ((_source_is_nodes[var_index] && fe_type.family == LAGRANGE &&
159  !from_problem.mesh().hasSecondOrderElements()) ||
160  (!_source_is_nodes[var_index] && fe_type.order == CONSTANT))
161  _use_zero_dof_for_value[var_index] = true;
162  else
163  _use_zero_dof_for_value[var_index] = false;
164 
165  // Check with the source variable that it is not discontinuous at the source
166  if (_source_is_nodes[var_index])
167  if (from_var.getContinuity() == DISCONTINUOUS ||
168  from_var.getContinuity() == SIDE_DISCONTINUOUS)
169  mooseError("Source variable cannot be sampled at nodes as it is discontinuous");
170 
171  // Local app does not own any of the target problems
172  if (_to_problems.empty())
173  break;
174 
175  // Check with the target variable that we are not doing awful projections
176  MooseVariableFieldBase & to_var =
177  _to_problems[0]->getVariable(0,
178  _to_var_names[var_index],
181  System & to_sys = to_var.sys().system();
182  const auto & to_fe_type = to_sys.variable_type(to_var.number());
183  if (_source_is_nodes[var_index])
184  {
185  if (to_fe_type.order == CONSTANT)
186  mooseWarning(
187  "Transfer is projecting from nearest-nodes to centroids. This is likely causing "
188  "floating point indetermination in the results because multiple nodes are 'nearest' to "
189  "a centroid. Please consider using a ProjectionAux to build an elemental source "
190  "variable (for example constant monomial) before transferring");
191  }
192  else if (to_var.isNodal())
193  mooseWarning(
194  "Transfer is projecting from nearest-centroids to nodes. This is likely causing "
195  "floating point indetermination in the results because multiple centroids are "
196  "'nearest' to a node. Please consider using a ProjectionAux to build a nodal source "
197  "variable (for example linear Lagrange) before transferring");
198  }
199 
200  // We need to improve the indexing if we are to allow this
201  if (!_from_mesh_divisions.empty())
202  for (const auto mesh_div : _from_mesh_divisions)
203  if (mesh_div->getNumDivisions() != _from_mesh_divisions[0]->getNumDivisions())
204  paramError("from_mesh_division",
205  "This transfer has only been implemented with a uniform number of source mesh "
206  "divisions across all source applications");
207 }
virtual bool isNodal() const
Is this variable nodal.
void paramError(const std::string &param, Args... args) const
Emits an error prefixed with the file and line number of the given param (from the input file) along ...
Definition: MooseBase.h:435
std::vector< bool > _use_zero_dof_for_value
Whether we can just use the local zero-indexed dof to get the value from the solution.
unsigned int number() const
Get variable number coming from libMesh.
virtual libMesh::FEContinuity getContinuity() const
Return the continuity of this variable.
virtual libMesh::System & system()=0
Get the reference to the libMesh system.
const std::vector< VariableName > _from_var_names
Name of variables transferring from.
std::vector< bool > _source_is_nodes
Whether the source of the values is at nodes (true) or centroids (false) for each variable...
std::vector< FEProblemBase * > _to_problems
This class provides an interface for common operations on field variables of both FE and FV types wit...
std::vector< const MeshDivision * > _from_mesh_divisions
Division of the origin mesh.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
virtual const MooseVariableFieldBase & getVariable(const THREAD_ID tid, const std::string &var_name, Moose::VarKindType expected_var_type=Moose::VarKindType::VAR_ANY, Moose::VarFieldType expected_var_field_type=Moose::VarFieldType::VAR_FIELD_ANY) const override
Returns the variable reference for requested variable which must be of the expected_var_type (Nonline...
DISCONTINUOUS
SIDE_DISCONTINUOUS
const std::vector< AuxVariableName > _to_var_names
Name of variables transferring to.
bool hasSecondOrderElements()
check if the mesh has SECOND order elements
Definition: MooseMesh.C:3711
const FEType & variable_type(const unsigned int i) const
void mooseWarning(Args &&... args) const
Emits a warning prefixed with object name and type.
Definition: MooseBase.h:295
virtual MooseMesh & mesh() override
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
Definition: MooseBase.h:267
virtual void initialSetup() override
Method called at the beginning of the simulation for checking integrity or doing one-time setup...
SystemBase & sys()
Get the system this variable is part of.
std::vector< FEProblemBase * > _from_problems
auto index_range(const T &sizable)

◆ inMesh()

bool MultiAppGeneralFieldTransfer::inMesh ( const libMesh::PointLocatorBase *const  pl,
const Point pt 
) const
protectedinherited

Definition at line 1599 of file MultiAppGeneralFieldTransfer.C.

Referenced by MultiAppGeneralFieldTransfer::acceptPointInOriginMesh(), and checkRestrictionsForSource().

1600 {
1601  // Note: we do not take advantage of a potential block restriction of the mesh here. This is
1602  // because we can avoid this routine by calling inBlocks() instead
1603  const Elem * elem = (*pl)(point);
1604  return (elem != nullptr);
1605 }

◆ isParamSetByUser()

bool MooseBase::isParamSetByUser ( const std::string &  name) const
inlineinherited

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

Parameters
nameThe name of the parameter to test

Definition at line 201 of file MooseBase.h.

Referenced by SetupDebugAction::act(), ADConservativeAdvectionBC::ADConservativeAdvectionBC(), DiffusionCG::addFEBCs(), DiffusionPhysicsBase::addInitialConditions(), MFEMMesh::buildMesh(), LibtorchNeuralNetControl::conditionalParameterError(), MooseApp::copyInputs(), DiffusionPhysicsBase::DiffusionPhysicsBase(), ElementSubdomainModifierBase::ElementSubdomainModifierBase(), MooseApp::errorCheck(), MooseBase::getRenamedParam(), DefaultConvergenceBase::getSharedExecutionerParam(), AddVariableAction::init(), PhysicsBase::initializePhysics(), ElementSubdomainModifierBase::initialSetup(), MatrixSymmetryCheck::MatrixSymmetryCheck(), MeshDiagnosticsGenerator::MeshDiagnosticsGenerator(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), SolutionInvalidityOutput::output(), Output::Output(), MultiAppGeneralFieldTransfer::outputValueConflicts(), PetscExternalPartitioner::partition(), PiecewiseTabularBase::PiecewiseTabularBase(), MooseMesh::prepare(), SolutionUserObjectBase::readXda(), PhysicsBase::reportPotentiallyMissedParameters(), MooseApp::runInputFile(), MooseApp::runInputs(), MFEMSolverBase::setPreconditioner(), SetupMeshAction::setupMesh(), MooseApp::setupOptions(), SideSetsFromBoundingBoxGenerator::SideSetsFromBoundingBoxGenerator(), TimedSubdomainModifier::TimedSubdomainModifier(), and XYDelaunayGenerator::XYDelaunayGenerator().

202  {
203  return _pars.isParamSetByUser(name);
204  }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:362
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:99
bool isParamSetByUser(const std::string &name) const
Method returns true if the parameter was set by the user.

◆ isParamValid()

bool MooseBase::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 195 of file MooseBase.h.

Referenced by HierarchicalGridPartitioner::_do_partition(), GridPartitioner::_do_partition(), CopyNodalVarsAction::act(), SetupMeshAction::act(), SetupDebugAction::act(), ComposeTimeStepperAction::act(), AddVariableAction::act(), CreateDisplacedProblemAction::act(), SetAdaptivityOptionsAction::act(), CommonOutputAction::act(), ADConservativeAdvectionBC::ADConservativeAdvectionBC(), DiffusionCG::addFEKernels(), DiffusionFV::addFVBCs(), DiffusionFV::addFVKernels(), DiffusionPhysicsBase::addInitialConditions(), CylinderComponent::addMeshGenerators(), AddPeriodicBCAction::AddPeriodicBCAction(), DiffusionPhysicsBase::addPostprocessors(), AdvectiveFluxAux::AdvectiveFluxAux(), ArrayHFEMDirichletBC::ArrayHFEMDirichletBC(), ArrayVarReductionAux::ArrayVarReductionAux(), AddPeriodicBCAction::autoTranslationBoundaries(), BicubicSplineFunction::BicubicSplineFunction(), BlockDeletionGenerator::BlockDeletionGenerator(), TimedSubdomainModifier::buildFromFile(), PiecewiseTabularBase::buildFromFile(), PiecewiseTabularBase::buildFromJSON(), ParsedChainControl::buildFunction(), GeneratedMesh::buildMesh(), MooseMesh::buildTypedMesh(), CartesianGridDivision::CartesianGridDivision(), CartesianMeshGenerator::CartesianMeshGenerator(), MultiAppTransfer::checkParentAppUserObjectExecuteOn(), LibmeshPartitioner::clone(), SampledOutput::cloneMesh(), CombinerGenerator::CombinerGenerator(), FunctorAux::computeValue(), ConservativeAdvectionTempl< is_ad >::ConservativeAdvectionTempl(), FEProblemSolve::convergenceSetup(), CopyMeshPartitioner::CopyMeshPartitioner(), CSVReaderVectorPostprocessor::CSVReaderVectorPostprocessor(), CutMeshByLevelSetGeneratorBase::CutMeshByLevelSetGeneratorBase(), ConstantReporter::declareConstantReporterValue(), ConstantReporter::declareConstantReporterValues(), DGKernelBase::DGKernelBase(), DiffusionFluxAux::DiffusionFluxAux(), DomainUserObject::DomainUserObject(), DynamicObjectRegistrationAction::DynamicObjectRegistrationAction(), Eigenvalue::Eigenvalue(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), PIDTransientControl::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppUserObjectTransfer::execute(), Exodus::Exodus(), ExtraIDIntegralReporter::ExtraIDIntegralReporter(), ExtraIDIntegralVectorPostprocessor::ExtraIDIntegralVectorPostprocessor(), FEProblemBase::FEProblemBase(), FEProblemSolve::FEProblemSolve(), FileOutput::FileOutput(), SpatialUserObjectVectorPostprocessor::fillPoints(), CombinerGenerator::fillPositions(), MultiApp::fillPositions(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), FixedPointSolve::FixedPointSolve(), FunctionDT::FunctionDT(), FunctionValuePostprocessor::FunctionValuePostprocessor(), FVInterfaceKernel::FVInterfaceKernel(), FVMassMatrix::FVMassMatrix(), FileMeshGenerator::generate(), AddMetaDataGenerator::generate(), BreakBoundaryOnSubdomainGenerator::generate(), ElementGenerator::generate(), ExtraNodesetGenerator::generate(), LowerDBlockFromSidesetGenerator::generate(), SubdomainPerElementGenerator::generate(), BlockDeletionGenerator::generate(), GeneratedMeshGenerator::generate(), ParsedSubdomainGeneratorBase::generate(), MeshExtruderGenerator::generate(), ParsedExtraElementIDGenerator::generate(), XYZDelaunayGenerator::generate(), XYDelaunayGenerator::generate(), XYMeshLineCutter::generate(), SubdomainBoundingBoxGenerator::generate(), DistributedRectilinearMeshGenerator::generate(), PropertyReadFile::getFileNames(), MultiAppNearestNodeTransfer::getLocalEntitiesAndComponents(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), MooseBase::getRenamedParam(), MultiAppNearestNodeTransfer::getTargetLocalNodes(), Terminator::handleMessage(), HFEMDirichletBC::HFEMDirichletBC(), EigenExecutionerBase::init(), IterationAdaptiveDT::init(), Eigenvalue::init(), AdvancedOutput::initExecutionTypes(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), MultiAppCloneReporterTransfer::initialSetup(), SolutionIC::initialSetup(), MultiAppVariableValueSampleTransfer::initialSetup(), PiecewiseTabularBase::initialSetup(), ParsedConvergence::initialSetup(), SolutionScalarAux::initialSetup(), SolutionAux::initialSetup(), Console::initialSetup(), MooseParsedVectorFunction::initialSetup(), MultiAppGeneralFieldTransfer::initialSetup(), MooseParsedGradFunction::initialSetup(), MooseParsedFunction::initialSetup(), SampledOutput::initSample(), IterationAdaptiveDT::IterationAdaptiveDT(), LeastSquaresFit::LeastSquaresFit(), LibmeshPartitioner::LibmeshPartitioner(), LibtorchNeuralNetControl::LibtorchNeuralNetControl(), MassMatrix::MassMatrix(), MatCoupledForce::MatCoupledForce(), MatDiffusionBase< Real >::MatDiffusionBase(), MeshGeneratorComponent::MeshGeneratorComponent(), MFEMProblemSolve::MFEMProblemSolve(), MooseMesh::MooseMesh(), MoosePreconditioner::MoosePreconditioner(), MooseStaticCondensationPreconditioner::MooseStaticCondensationPreconditioner(), MooseVariableBase::MooseVariableBase(), MooseVariableFV< Real >::MooseVariableFV(), MortarConstraintBase::MortarConstraintBase(), MoveNodeGenerator::MoveNodeGenerator(), MultiApp::MultiApp(), MultiAppCloneReporterTransfer::MultiAppCloneReporterTransfer(), MultiAppGeneralFieldNearestLocationTransfer(), MultiAppGeneralFieldShapeEvaluationTransfer::MultiAppGeneralFieldShapeEvaluationTransfer(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), MultiAppGeneralFieldUserObjectTransfer::MultiAppGeneralFieldUserObjectTransfer(), MultiAppPostprocessorInterpolationTransfer::MultiAppPostprocessorInterpolationTransfer(), MultiAppPostprocessorTransfer::MultiAppPostprocessorTransfer(), MultiAppReporterTransfer::MultiAppReporterTransfer(), MultiAppTransfer::MultiAppTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), MultiAppVariableValueSampleTransfer::MultiAppVariableValueSampleTransfer(), MultiSystemSolveObject::MultiSystemSolveObject(), NodeSetsGeneratorBase::NodeSetsGeneratorBase(), EigenExecutionerBase::normalizeSolution(), Output::Output(), MultiAppGeneralFieldTransfer::outputValueConflicts(), ParsedCurveGenerator::ParsedCurveGenerator(), PetscOutput::PetscOutput(), PhysicsBasedPreconditioner::PhysicsBasedPreconditioner(), PIDTransientControl::PIDTransientControl(), PiecewiseTabularBase::PiecewiseTabularBase(), PlaneIDMeshGenerator::PlaneIDMeshGenerator(), MooseMesh::prepare(), MooseBase::queryParam(), MultiApp::readCommandLineArguments(), SolutionUserObjectBase::readExodusII(), ReferenceResidualInterface::ReferenceResidualInterface(), RenameBlockGenerator::RenameBlockGenerator(), ReporterPointSource::ReporterPointSource(), PhysicsBase::reportPotentiallyMissedParameters(), ParsedSubdomainMeshGenerator::setBlockName(), MooseMesh::setCoordSystem(), FileOutput::setFileBase(), FileOutput::setFileBaseInternal(), Split::setup(), SideSetsGeneratorBase::setup(), SetupMeshAction::setupMesh(), MooseApp::setupOptions(), Output::setWallTimeIntervalFromCommandLineParam(), SideDiffusiveFluxIntegralTempl< is_ad, Real >::SideDiffusiveFluxIntegralTempl(), SideSetsGeneratorBase::SideSetsGeneratorBase(), SolutionUserObjectBase::SolutionUserObjectBase(), WebServerControl::startServer(), Terminator::Terminator(), TimeIntervalTimes::TimeIntervalTimes(), TimePeriod::TimePeriod(), MultiAppDofCopyTransfer::transfer(), TransformGenerator::TransformGenerator(), TransientBase::TransientBase(), FunctorIC::value(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), VectorMagnitudeFunctorMaterialTempl< is_ad >::VectorMagnitudeFunctorMaterialTempl(), WebServerControl::WebServerControl(), XYDelaunayGenerator::XYDelaunayGenerator(), and XYZDelaunayGenerator::XYZDelaunayGenerator().

195 { return _pars.isParamValid(name); }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:362
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:99
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

◆ messagePrefix()

std::string MooseBase::messagePrefix ( const bool  hit_prefix = true) const
inlineinherited
Returns
A prefix to be used in messages that contain the input file location associated with this object (if any) and the name and type of the object.

Definition at line 252 of file MooseBase.h.

Referenced by MooseBase::callMooseError(), MooseBase::errorPrefix(), MooseBase::mooseDeprecated(), MooseBase::mooseInfo(), and MooseBase::mooseWarning().

253  {
254  return messagePrefix(_pars, hit_prefix);
255  }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:362
std::string messagePrefix(const bool hit_prefix=true) const
Definition: MooseBase.h:252

◆ mooseDeprecated()

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

Definition at line 310 of file MooseBase.h.

Referenced by FEProblemBase::addAuxArrayVariable(), FEProblemBase::addAuxScalarVariable(), FEProblemBase::addAuxVariable(), FEProblemBase::advanceMultiApps(), MultiApp::appProblem(), MooseMesh::buildSideList(), ChangeOverTimestepPostprocessor::ChangeOverTimestepPostprocessor(), AddVariableAction::determineType(), EigenProblem::EigenProblem(), Eigenvalue::Eigenvalue(), MooseMesh::elem(), UserForcingFunction::f(), FaceFaceConstraint::FaceFaceConstraint(), FunctionDT::FunctionDT(), RandomICBase::generateRandom(), MooseMesh::getBoundariesToElems(), DataFileInterface::getDataFileName(), DataFileInterface::getDataFileNameByName(), Control::getExecuteOptions(), FEProblemBase::getNonlinearSystem(), MooseApp::getRecoverFileBase(), FEProblemBase::getUserObjects(), FEProblemBase::hasPostprocessor(), MooseApp::hasRecoverFileBase(), MatDiffusionBase< Real >::MatDiffusionBase(), MultiAppNearestNodeTransfer::MultiAppNearestNodeTransfer(), MultiAppShapeEvaluationTransfer::MultiAppShapeEvaluationTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), NodalScalarKernel::NodalScalarKernel(), MooseMesh::node(), FixedPointSolve::numPicardIts(), RelationshipManager::operator>=(), PercentChangePostprocessor::PercentChangePostprocessor(), ReferenceResidualConvergence::ReferenceResidualConvergence(), Residual::Residual(), MooseMesh::setBoundaryToNormalMap(), Exodus::setOutputDimension(), MooseApp::setupOptions(), UserForcingFunction::UserForcingFunction(), and VariableResidual::VariableResidual().

311  {
313  _console, false, true, messagePrefix(true), std::forward<Args>(args)...);
314  }
void mooseDeprecatedStream(S &oss, const bool expired, const bool print_title, Args &&... args)
Definition: MooseError.h:275
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.
std::string messagePrefix(const bool hit_prefix=true) const
Definition: MooseBase.h:252

◆ mooseDocumentedError()

template<typename... Args>
void MooseBase::mooseDocumentedError ( const std::string &  repo_name,
const unsigned int  issue_num,
Args &&...  args 
) const
inlineinherited

Definition at line 273 of file MooseBase.h.

Referenced by ArrayDGLowerDKernel::ArrayDGLowerDKernel(), ArrayHFEMDirichletBC::ArrayHFEMDirichletBC(), ArrayLowerDIntegratedBC::ArrayLowerDIntegratedBC(), DGLowerDKernel::DGLowerDKernel(), HFEMDirichletBC::HFEMDirichletBC(), and LowerDIntegratedBC::LowerDIntegratedBC().

276  {
278  repo_name, issue_num, argumentsToString(std::forward<Args>(args)...)),
279  /* with_prefix = */ true);
280  }
void callMooseError(std::string msg, const bool with_prefix, const hit::Node *node=nullptr) const
External method for calling moose error with added object context.
Definition: MooseBase.C:102
std::string formatMooseDocumentedError(const std::string &repo_name, const unsigned int issue_num, const std::string &msg)
Formats a documented error.
Definition: MooseError.C:105

◆ mooseError()

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

Emits an error prefixed with object name and type and optionally a file path to the top-level block parameter if available.

Definition at line 267 of file MooseBase.h.

Referenced by CopyMeshPartitioner::_do_partition(), HierarchicalGridPartitioner::_do_partition(), GridPartitioner::_do_partition(), PetscExternalPartitioner::_do_partition(), MultiAppGeneralFieldTransfer::acceptPointInOriginMesh(), InitProblemAction::act(), AddFVICAction::act(), AddBoundsVectorsAction::act(), AddVectorPostprocessorAction::act(), AutoCheckpointAction::act(), CheckFVBCAction::act(), SetupMeshCompleteAction::act(), CreateExecutionerAction::act(), AddICAction::act(), AddMeshGeneratorAction::act(), CheckIntegrityAction::act(), CreateProblemDefaultAction::act(), CreateProblemAction::act(), CombineComponentsMeshes::act(), SetupMeshAction::act(), SplitMeshAction::act(), AdaptivityAction::act(), AddTimeStepperAction::act(), ChainControlSetupAction::act(), DeprecatedBlockAction::act(), SetupPredictorAction::act(), SetupTimeStepperAction::act(), CreateDisplacedProblemAction::act(), MaterialDerivativeTestAction::act(), SetAdaptivityOptionsAction::act(), MaterialOutputAction::act(), AddMFEMSubMeshAction::act(), AddPeriodicBCAction::act(), CommonOutputAction::act(), Action::Action(), FEProblemBase::adaptMesh(), ADConservativeAdvectionBC::ADConservativeAdvectionBC(), MooseVariableFV< Real >::adCurlSln(), MooseVariableFV< Real >::adCurlSlnNeighbor(), AddActionComponentAction::AddActionComponentAction(), MFEMProblem::addBoundaryCondition(), FEProblemBase::addBoundaryCondition(), DiffusionCG::addBoundaryConditionsFromComponents(), PhysicsComponentInterface::addBoundaryConditionsFromComponents(), FEProblemBase::addConstraint(), FEProblemBase::addDamper(), FEProblemBase::addDGKernel(), FEProblemBase::addDiracKernel(), DistributedRectilinearMeshGenerator::addElement(), MooseApp::addExecutor(), FEProblemBase::addFunction(), SubProblem::addFunctor(), FEProblemBase::addFVInitialCondition(), ADDGKernel::ADDGKernel(), FEProblemBase::addHDGKernel(), FEProblemBase::addInitialCondition(), PhysicsComponentInterface::addInitialConditionsFromComponents(), FEProblemBase::addInterfaceKernel(), MFEMProblem::addKernel(), FEProblemBase::addKernel(), FEProblem::addLineSearch(), FEProblemBase::addLineSearch(), MFEMProblem::addMaterial(), MeshGenerator::addMeshSubgenerator(), MFEMProblem::addMFEMFESpaceFromMOOSEVariable(), FEProblemBase::addOutput(), SubProblem::addPiecewiseByBlockLambdaFunctor(), DiracKernelBase::addPoint(), DistributedRectilinearMeshGenerator::addPoint(), DiracKernelBase::addPointWithValidId(), FEProblemBase::addPostprocessor(), FEProblemBase::addPredictor(), CreateDisplacedProblemAction::addProxyRelationshipManagers(), MooseMesh::addQuadratureNode(), Action::addRelationshipManager(), FEProblemBase::addReporter(), FEProblemBase::addScalarKernel(), AddVariableAction::addVariable(), FEProblemBase::addVectorPostprocessor(), SubProblem::addVectorTag(), MooseLinearVariableFV< Real >::adError(), ADInterfaceKernelTempl< T >::ADInterfaceKernelTempl(), ADPiecewiseLinearInterpolationMaterial::ADPiecewiseLinearInterpolationMaterial(), MooseVariableScalar::adUDot(), Output::advancedExecuteOn(), AdvectiveFluxAux::AdvectiveFluxAux(), MooseVariableBase::allDofIndices(), NEML2ModelExecutor::applyPredictor(), MooseApp::appNameToLibName(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), ArrayConstantIC::ArrayConstantIC(), ArrayDGKernel::ArrayDGKernel(), ArrayDiffusion::ArrayDiffusion(), ArrayFunctionIC::ArrayFunctionIC(), ArrayReaction::ArrayReaction(), ArrayTimeDerivative::ArrayTimeDerivative(), MooseApp::attachRelationshipManagers(), AddPeriodicBCAction::autoTranslationBoundaries(), AuxKernelTempl< Real >::AuxKernelTempl(), Function::average(), Axisymmetric2D3DSolutionFunction::Axisymmetric2D3DSolutionFunction(), BatchMeshGeneratorAction::BatchMeshGeneratorAction(), BicubicSplineFunction::BicubicSplineFunction(), BlockDeletionGenerator::BlockDeletionGenerator(), BoundingValueElementDamper::BoundingValueElementDamper(), BoundingValueNodalDamper::BoundingValueNodalDamper(), BreakMeshByBlockGeneratorBase::BreakMeshByBlockGeneratorBase(), MooseMesh::buildCoarseningMap(), MultiApp::buildComm(), DistributedRectilinearMeshGenerator::buildCube(), TimedSubdomainModifier::buildFromFile(), PiecewiseTabularBase::buildFromFile(), PiecewiseTabularBase::buildFromJSON(), TimedSubdomainModifier::buildFromParameters(), PiecewiseTabularBase::buildFromXY(), PiecewiseLinearBase::buildInterpolation(), MooseMesh::buildLowerDMesh(), TiledMesh::buildMesh(), GeneratedMesh::buildMesh(), SpiralAnnularMesh::buildMesh(), MeshGeneratorMesh::buildMesh(), ImageMeshGenerator::buildMesh3D(), ImageMesh::buildMesh3D(), MooseMesh::buildRefinementMap(), MaterialBase::buildRequiredMaterials(), MooseMesh::buildSideList(), MooseMesh::buildTypedMesh(), MooseMesh::cacheFaceInfoVariableOwnership(), CartesianGridDivision::CartesianGridDivision(), CartesianMeshGenerator::CartesianMeshGenerator(), ChangeOverFixedPointPostprocessor::ChangeOverFixedPointPostprocessor(), ChangeOverTimePostprocessor::ChangeOverTimePostprocessor(), EigenExecutionerBase::chebyshev(), SubProblem::checkBlockMatProps(), PhysicsBase::checkBlockRestrictionIdentical(), ComponentBoundaryConditionInterface::checkBoundaryConditionsAllRequested(), SubProblem::checkBoundaryMatProps(), PhysicsBase::checkComponentType(), IterationCountConvergence::checkConvergence(), MooseMesh::checkCoordinateSystems(), DiffusionLHDGAssemblyHelper::checkCoupling(), FEProblemBase::checkDependMaterialsHelper(), FEProblemBase::checkDisplacementOrders(), FEProblemBase::checkDuplicatePostprocessorVariableNames(), DefaultConvergenceBase::checkDuplicateSetSharedExecutionerParams(), MooseMesh::checkDuplicateSubdomainNames(), FEProblemBase::checkExceptionAndStopSolve(), NEML2ModelExecutor::checkExecutionStage(), MaterialBase::checkExecutionStage(), MeshGenerator::checkGetMesh(), ReporterTransferInterface::checkHasReporterValue(), FEProblemBase::checkICRestartError(), Steady::checkIntegrity(), EigenExecutionerBase::checkIntegrity(), Eigenvalue::checkIntegrity(), DefaultMultiAppFixedPointConvergence::checkIterationType(), DefaultNonlinearConvergence::checkIterationType(), DefaultSteadyStateConvergence::checkIterationType(), ExplicitTimeIntegrator::checkLinearConvergence(), MooseApp::checkMetaDataIntegrity(), MeshDiagnosticsGenerator::checkNonConformalMeshFromAdaptivity(), MeshDiagnosticsGenerator::checkNonMatchingEdges(), PostprocessorInterface::checkParam(), FEProblemBase::checkProblemIntegrity(), Sampler::checkReinitStatus(), MooseApp::checkReservedCapability(), checkRestrictionsForSource(), MultiAppPostprocessorToAuxScalarTransfer::checkSiblingsTransferSupported(), MultiAppScalarToAuxScalarTransfer::checkSiblingsTransferSupported(), MultiAppPostprocessorTransfer::checkSiblingsTransferSupported(), MultiAppReporterTransfer::checkSiblingsTransferSupported(), MultiAppMFEMCopyTransfer::checkSiblingsTransferSupported(), MultiAppCopyTransfer::checkSiblingsTransferSupported(), MultiAppTransfer::checkSiblingsTransferSupported(), MaterialBase::checkStatefulSanity(), AddDefaultConvergenceAction::checkUnusedMultiAppFixedPointConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedNonlinearConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedSteadyStateConvergenceParameters(), FEProblemBase::checkUserObjects(), Moose::PetscSupport::checkUserProvidedPetscOption(), DomainUserObject::checkVariable(), MultiAppTransfer::checkVariable(), MeshDiagnosticsGenerator::checkWatertightNodesets(), MeshDiagnosticsGenerator::checkWatertightSidesets(), LibmeshPartitioner::clone(), MooseMesh::clone(), CombinerGenerator::CombinerGenerator(), ComparisonPostprocessor::comparisonIsTrue(), MooseVariableFieldBase::componentName(), CompositeFunction::CompositeFunction(), ElementH1ErrorFunctionAux::compute(), NodalPatchRecovery::compute(), FEProblemBase::computeBounds(), VariableCondensationPreconditioner::computeDInverseDiag(), CompositionDT::computeDT(), ArrayDGKernel::computeElemNeighJacobian(), ArrayDGKernel::computeElemNeighResidual(), InternalSideIntegralPostprocessor::computeFaceInfoIntegral(), SideIntegralPostprocessor::computeFaceInfoIntegral(), MooseVariableFieldBase::computeFaceValues(), TimeSequenceStepperBase::computeFailedDT(), IterationAdaptiveDT::computeFailedDT(), TimeStepper::computeFailedDT(), MooseMesh::computeFiniteVolumeCoords(), HistogramVectorPostprocessor::computeHistogram(), ArrayKernel::computeJacobian(), ArrayIntegratedBC::computeJacobian(), FVFluxKernel::computeJacobian(), NodalConstraint::computeJacobian(), FEProblemBase::computeJacobianTags(), LowerDIntegratedBC::computeLowerDOffDiagJacobian(), ArrayLowerDIntegratedBC::computeLowerDOffDiagJacobian(), EigenProblem::computeMatricesTags(), ArrayDGKernel::computeOffDiagElemNeighJacobian(), ArrayKernel::computeOffDiagJacobian(), ArrayIntegratedBC::computeOffDiagJacobian(), FVElementalKernel::computeOffDiagJacobian(), MortarScalarBase::computeOffDiagJacobianScalar(), DGLowerDKernel::computeOffDiagLowerDJacobian(), ArrayDGLowerDKernel::computeOffDiagLowerDJacobian(), MaterialBase::computeProperties(), SideFVFluxBCIntegral::computeQpIntegral(), ScalarKernel::computeQpJacobian(), CoupledTiedValueConstraint::computeQpJacobian(), TiedValueConstraint::computeQpJacobian(), NodalEqualValueConstraint::computeQpJacobian(), LinearNodalConstraint::computeQpJacobian(), EqualValueBoundaryConstraint::computeQpJacobian(), NodeElemConstraint::computeQpJacobian(), CoupledTiedValueConstraint::computeQpOffDiagJacobian(), ScalarKernel::computeQpResidual(), MassMatrix::computeQpResidual(), HDGKernel::computeQpResidual(), DiffusionLHDGDirichletBC::computeQpResidual(), NodalEqualValueConstraint::computeQpResidual(), DiffusionLHDGPrescribedGradientBC::computeQpResidual(), IPHDGBC::computeQpResidual(), KernelValue::computeQpResidual(), TorchScriptMaterial::computeQpValues(), InterfaceQpValueUserObject::computeRealValue(), ArrayKernel::computeResidual(), ArrayIntegratedBC::computeResidual(), FVFluxBC::computeResidual(), FVFluxKernel::computeResidual(), NodalConstraint::computeResidual(), FVFluxKernel::computeResidualAndJacobian(), ResidualObject::computeResidualAndJacobian(), FEProblemBase::computeResidualAndJacobian(), HDGKernel::computeResidualAndJacobianOnSide(), FEProblemBase::computeResidualInternal(), FEProblemBase::computeResidualTag(), FEProblemBase::computeResidualTags(), FEProblemBase::computeResidualType(), KernelScalarBase::computeScalarOffDiagJacobian(), ADKernelScalarBase::computeScalarQpResidual(), ADMortarScalarBase::computeScalarQpResidual(), MortarScalarBase::computeScalarQpResidual(), KernelScalarBase::computeScalarQpResidual(), TimeStepper::computeStep(), ActuallyExplicitEuler::computeTimeDerivatives(), ExplicitEuler::computeTimeDerivatives(), ImplicitEuler::computeTimeDerivatives(), BDF2::computeTimeDerivatives(), NewmarkBeta::computeTimeDerivatives(), CentralDifference::computeTimeDerivatives(), CrankNicolson::computeTimeDerivatives(), LStableDirk2::computeTimeDerivatives(), LStableDirk3::computeTimeDerivatives(), ImplicitMidpoint::computeTimeDerivatives(), ExplicitTVDRK2::computeTimeDerivatives(), AStableDirk4::computeTimeDerivatives(), LStableDirk4::computeTimeDerivatives(), ExplicitRK2::computeTimeDerivatives(), MultiAppGeometricInterpolationTransfer::computeTransformation(), BuildArrayVariableAux::computeValue(), TagVectorArrayVariableAux::computeValue(), NearestNodeValueAux::computeValue(), ProjectionAux::computeValue(), PenetrationAux::computeValue(), ConcentricCircleMesh::ConcentricCircleMesh(), ConditionalEnableControl::ConditionalEnableControl(), TimeStepper::constrainStep(), LibtorchNeuralNetControl::controlNeuralNet(), TransientBase::convergedToSteadyState(), ParsedConvergence::convertRealToBool(), MooseApp::copyInputs(), CopyMeshPartitioner::CopyMeshPartitioner(), CoupledForceNodalKernel::CoupledForceNodalKernel(), MultiApp::createApp(), MooseApp::createExecutors(), AddVariableAction::createInitialConditionAction(), MooseApp::createRMFromTemplateAndInit(), Function::curl(), MooseVariableFV< Real >::curlPhi(), CutMeshByPlaneGenerator::CutMeshByPlaneGenerator(), SidesetInfoVectorPostprocessor::dataHelper(), ReporterTransferInterface::declareClone(), MeshGenerator::declareMeshProperty(), ReporterTransferInterface::declareVectorClone(), DefaultSteadyStateConvergence::DefaultSteadyStateConvergence(), FunctorRelationshipManager::delete_remote_elements(), MooseMesh::deleteRemoteElements(), BicubicSplineFunction::derivative(), DerivativeSumMaterialTempl< is_ad >::DerivativeSumMaterialTempl(), MooseMesh::detectPairedSidesets(), MooseApp::determineLibtorchDeviceType(), FEProblemBase::determineSolverSystem(), DGKernel::DGKernel(), MeshDiagnosticsGenerator::diagnosticsLog(), DistributedPositions::DistributedPositions(), Function::div(), FunctorBinnedValuesDivision::divisionIndex(), MooseVariableFV< Real >::divPhi(), FunctorRelationshipManager::dofmap_reinit(), EigenProblem::doFreeNonlinearPowerIterations(), FEProblemBase::duplicateVariableCheck(), MooseApp::dynamicAllRegistration(), MooseApp::dynamicAppRegistration(), EigenProblem::EigenProblem(), Eigenvalue::Eigenvalue(), Eigenvalues::Eigenvalues(), ElementalVariableValue::ElementalVariableValue(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), ElementIntegerAux::ElementIntegerAux(), ElementMaterialSampler::ElementMaterialSampler(), ElementQualityAux::ElementQualityAux(), ElementSubdomainModifierBase::ElementSubdomainModifierBase(), ElementUOAux::ElementUOAux(), ExtraIDIntegralVectorPostprocessor::elementValue(), DistributedRectilinearMeshGenerator::elemId(), ProjectionAux::elemOnNodeVariableIsDefinedOn(), EigenKernel::enabled(), MooseApp::errorCheck(), MooseMesh::errorIfDistributedMesh(), MultiAppTransfer::errorIfObjectExecutesOnTransferInSourceApp(), SideIntegralPostprocessor::errorNoFaceInfo(), SideIntegralFunctorPostprocessorTempl< false >::errorNoFaceInfo(), SolutionUserObjectBase::evalMeshFunction(), SolutionUserObjectBase::evalMeshFunctionGradient(), SolutionUserObjectBase::evalMultiValuedMeshFunction(), SolutionUserObjectBase::evalMultiValuedMeshFunctionGradient(), FixedPointSolve::examineFixedPointConvergence(), MultiAppGeneralFieldTransfer::examineReceivedValueConflicts(), RealToBoolChainControl::execute(), RestartableDataReporter::execute(), DiscreteElementUserObject::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), NodalValueSampler::execute(), PositionsFunctorValueSampler::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppPostprocessorTransfer::execute(), ElementQualityChecker::execute(), MultiAppVariableValueSampleTransfer::execute(), GreaterThanLessThanPostprocessor::execute(), PointValue::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), FindValueOnLine::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppMFEMCopyTransfer::execute(), MultiAppCopyTransfer::execute(), MultiAppGeometricInterpolationTransfer::execute(), MultiAppUserObjectTransfer::execute(), InterfaceQpUserObjectBase::execute(), WebServerControl::execute(), TransientBase::execute(), LeastSquaresFit::execute(), VectorPostprocessorComparison::execute(), LeastSquaresFitHistory::execute(), Eigenvalue::execute(), TimeExtremeValue::execute(), DomainUserObject::execute(), FEProblemBase::execute(), FEProblemBase::executeControls(), MooseApp::executeExecutioner(), MultiAppVectorPostprocessorTransfer::executeFromMultiapp(), MultiAppVectorPostprocessorTransfer::executeToMultiapp(), Exodus::Exodus(), ExplicitSSPRungeKutta::ExplicitSSPRungeKutta(), MultiAppGeneralFieldTransfer::extractOutgoingPoints(), NEML2ModelExecutor::extractOutputs(), ExtraIDIntegralVectorPostprocessor::ExtraIDIntegralVectorPostprocessor(), FEProblemSolve::FEProblemSolve(), FileOutput::FileOutput(), NEML2ModelExecutor::fillInputs(), QuadraturePointMultiApp::fillPositions(), CentroidMultiApp::fillPositions(), MultiApp::fillPositions(), MultiAppGeometricInterpolationTransfer::fillSourceInterpolationPoints(), VerifyNodalUniqueID::finalize(), VerifyElementUniqueID::finalize(), DiscreteElementUserObject::finalize(), ElementQualityChecker::finalize(), MemoryUsage::finalize(), PointSamplerBase::finalize(), DiscreteVariableResidualNorm::finalize(), NearestPointAverage::finalize(), NearestPointIntegralVariablePostprocessor::finalize(), MooseApp::finalizeRestore(), Transfer::find_sys(), BreakMeshByBlockGeneratorBase::findFreeBoundaryId(), FunctionDT::FunctionDT(), FunctionMaterialBase< is_ad >::FunctionMaterialBase(), FunctionScalarAux::FunctionScalarAux(), FunctionScalarIC::FunctionScalarIC(), FunctorSmootherTempl< T >::FunctorSmootherTempl(), FVInitialConditionTempl< T >::FVInitialConditionTempl(), FVMassMatrix::FVMassMatrix(), FVMatAdvection::FVMatAdvection(), FVScalarLagrangeMultiplierInterface::FVScalarLagrangeMultiplierInterface(), GapValueAux::GapValueAux(), WorkBalance::gather(), ElementOrderConversionGenerator::generate(), SideSetsFromNormalsGenerator::generate(), SmoothMeshGenerator::generate(), SubdomainPerElementGenerator::generate(), TiledMeshGenerator::generate(), BlockToMeshConverterGenerator::generate(), ExtraNodesetGenerator::generate(), FileMeshGenerator::generate(), LowerDBlockFromSidesetGenerator::generate(), MoveNodeGenerator::generate(), PlaneIDMeshGenerator::generate(), RenameBlockGenerator::generate(), RenameBoundaryGenerator::generate(), SideSetsFromPointsGenerator::generate(), StitchMeshGenerator::generate(), GeneratedMeshGenerator::generate(), FlipSidesetGenerator::generate(), BreakMeshByBlockGenerator::generate(), CoarsenBlockGenerator::generate(), MeshDiagnosticsGenerator::generate(), MeshRepairGenerator::generate(), SideSetsFromBoundingBoxGenerator::generate(), StackGenerator::generate(), XYZDelaunayGenerator::generate(), CombinerGenerator::generate(), MeshCollectionGenerator::generate(), AdvancedExtruderGenerator::generate(), AllSideSetsByNormalsGenerator::generate(), MeshExtruderGenerator::generate(), ParsedGenerateNodeset::generate(), SpiralAnnularMeshGenerator::generate(), XYDelaunayGenerator::generate(), XYMeshLineCutter::generate(), CutMeshByLevelSetGeneratorBase::generate(), SubdomainBoundingBoxGenerator::generate(), PatternedMeshGenerator::generate(), DistributedRectilinearMeshGenerator::generate(), BoundingBoxNodeSetGenerator::generate(), MeshGenerator::generateData(), GeneratedMesh::GeneratedMesh(), GeneratedMeshGenerator::GeneratedMeshGenerator(), MeshGenerator::generateInternal(), CircularBoundaryCorrectionGenerator::generateRadialCorrectionFactor(), RandomICBase::generateRandom(), GenericConstantMaterialTempl< is_ad >::GenericConstantMaterialTempl(), GenericConstantVectorMaterialTempl< is_ad >::GenericConstantVectorMaterialTempl(), GenericFunctionMaterialTempl< is_ad >::GenericFunctionMaterialTempl(), GenericFunctionVectorMaterialTempl< is_ad >::GenericFunctionVectorMaterialTempl(), GenericFunctorGradientMaterialTempl< is_ad >::GenericFunctorGradientMaterialTempl(), GenericFunctorMaterialTempl< is_ad >::GenericFunctorMaterialTempl(), GenericFunctorTimeDerivativeMaterialTempl< is_ad >::GenericFunctorTimeDerivativeMaterialTempl(), GenericVectorFunctorMaterialTempl< is_ad >::GenericVectorFunctorMaterialTempl(), DisplacedProblem::getActualFieldVariable(), FEProblemBase::getActualFieldVariable(), DisplacedProblem::getArrayVariable(), FEProblemBase::getArrayVariable(), MooseMesh::getAxisymmetricRadialCoord(), MFEMFESpace::getBasis(), NEML2BatchIndexGenerator::getBatchIndex(), MooseMesh::getBlockConnectedBlocks(), VariableOldValueBounds::getBound(), MooseMesh::getBoundaryID(), MultiApp::getBoundingBox(), ChainControl::getChainControlDataByName(), MooseMesh::getCoarseningMap(), MultiApp::getCommandLineArgs(), MooseVariableBase::getContinuity(), Control::getControllableParameterByName(), FEProblemBase::getConvergence(), MooseMesh::getCoordSystem(), PhysicsBase::getCoupledPhysics(), PropertyReadFile::getData(), DataFileInterface::getDataFilePath(), TransfiniteMeshGenerator::getDiscreteEdge(), FEProblemBase::getDistribution(), MooseVariableBase::getDofIndices(), VariableCondensationPreconditioner::getDofToCondense(), TransfiniteMeshGenerator::getEdge(), GhostingUserObject::getElementalValue(), ElementUOProvider::getElementalValueLong(), ElementUOProvider::getElementalValueReal(), PropertyReadFile::getElementData(), MooseMesh::getElementIDIndex(), Material::getElementIDNeighbor(), Material::getElementIDNeighborByName(), MooseMesh::getElemIDMapping(), MooseMesh::getElemIDsOnBlocks(), MultiAppFieldTransfer::getEquationSystem(), MultiApp::getExecutioner(), MooseApp::getExecutor(), MFEMVectorFESpace::getFECName(), MultiAppTransfer::getFromMultiApp(), MultiAppTransfer::getFromMultiAppInfo(), FEProblemBase::getFunction(), SubProblem::getFunctor(), FEProblemBase::getFVMatsAndDependencies(), MooseMesh::getGeneralAxisymmetricCoordAxis(), DistributedRectilinearMeshGenerator::getGhostNeighbors(), DistributedRectilinearMeshGenerator::getIndices(), FEProblemBase::getLinearConvergenceNames(), SolutionUserObjectBase::getLocalVarIndex(), Material::getMaterialByName(), FEProblemBase::getMaterialData(), SubProblem::getMatrixTagID(), AnnularMesh::getMaxInDimension(), GeneratedMesh::getMaxInDimension(), FEProblemBase::getMaxQps(), FEProblemBase::getMeshDivision(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), AnnularMesh::getMinInDimension(), GeneratedMesh::getMinInDimension(), MultiAppTransfer::getMultiApp(), FEProblemBase::getMultiAppFixedPointConvergenceName(), DistributedRectilinearMeshGenerator::getNeighbors(), Times::getNextTime(), MooseMesh::getNodeBlockIds(), PropertyReadFile::getNodeData(), MooseMesh::getNodeList(), FEProblemBase::getNonlinearConvergenceNames(), EigenProblem::getNonlinearEigenSystem(), FEProblemBase::getNonlinearSystem(), NEML2ModelExecutor::getOutput(), NEML2ModelExecutor::getOutputDerivative(), NEML2ModelExecutor::getOutputParameterDerivative(), MooseMesh::getPairedBoundaryMapping(), MaterialOutputAction::getParams(), ImageMeshGenerator::GetPixelInfo(), ImageMesh::GetPixelInfo(), PlaneIDMeshGenerator::getPlaneID(), Positions::getPosition(), Positions::getPositions(), FEProblemBase::getPositionsObject(), Positions::getPositionsVector2D(), Positions::getPositionsVector3D(), Positions::getPositionsVector4D(), PostprocessorInterface::getPostprocessorValueByNameInternal(), Times::getPreviousTime(), ComponentMaterialPropertyInterface::getPropertyValue(), InterfaceQpUserObjectBase::getQpValue(), MooseMesh::getRefinementMap(), MooseBase::getRenamedParam(), ReporterInterface::getReporterContextBaseByName(), ReporterInterface::getReporterName(), Reporter::getReporterValueName(), MooseApp::getRestartableDataMap(), MooseApp::getRestartableDataMapName(), MooseApp::getRestartableMetaData(), MooseApp::getRMClone(), FEProblemBase::getSampler(), WebServerControl::getScalarJSONValue(), DisplacedProblem::getScalarVariable(), FEProblemBase::getScalarVariable(), MooseObject::getSharedPtr(), InterfaceQpUserObjectBase::getSideAverageValue(), PhysicsBase::getSolverSystem(), DisplacedProblem::getStandardVariable(), FEProblemBase::getStandardVariable(), FEProblemBase::getSteadyStateConvergenceName(), MooseMesh::getSubdomainBoundaryIds(), TimedSubdomainModifier::getSubdomainIDAndCheck(), DisplacedProblem::getSystem(), FEProblemBase::getSystem(), Times::getTimeAtIndex(), FEProblemBase::getTimeFromStateArg(), TransientBase::getTimeIntegratorNames(), Times::getTimes(), MultiAppTransfer::getToMultiApp(), MultiAppTransfer::getToMultiAppInfo(), MooseMesh::getUniqueCoordSystem(), FEProblemBase::getUserObject(), FEProblemBase::getUserObjectBase(), UserObjectInterface::getUserObjectBaseByName(), UserObjectInterface::getUserObjectName(), VectorPostprocessorComponent::getValue(), NumRelationshipManagers::getValue(), Residual::getValue(), SideAverageValue::getValue(), JSONFileReader::getValue(), LineValueSampler::getValue(), FindValueOnLine::getValueAtPoint(), SubProblem::getVariableHelper(), JSONFileReader::getVector(), VectorPostprocessorInterface::getVectorPostprocessorName(), SubProblem::getVectorTag(), SubProblem::getVectorTagID(), DisplacedProblem::getVectorVariable(), FEProblemBase::getVectorVariable(), GhostingFromUOAux::GhostingFromUOAux(), MultiApp::globalAppToLocal(), MooseParsedVectorFunction::gradient(), Function::gradient(), FEProblemBase::handleException(), Terminator::handleMessage(), MooseVariableBase::hasDoFsOnNodes(), PostprocessorInterface::hasPostprocessor(), PostprocessorInterface::hasPostprocessorByName(), ReporterInterface::hasReporterValue(), ReporterInterface::hasReporterValueByName(), VectorPostprocessorInterface::hasVectorPostprocessor(), VectorPostprocessorInterface::hasVectorPostprocessorByName(), HDGKernel::HDGKernel(), TransientBase::incrementStepOrReject(), FixedPointIterationAdaptiveDT::init(), CrankNicolson::init(), CSVTimeSequenceStepper::init(), EigenExecutionerBase::init(), ExplicitTimeIntegrator::init(), TransientBase::init(), FEProblem::init(), AddAuxVariableAction::init(), IterationAdaptiveDT::init(), Eigenvalue::init(), AddVariableAction::init(), MooseMesh::init(), Sampler::init(), FEProblemBase::init(), MultiApp::init(), FEProblemBase::initialAdaptMesh(), NestedDivision::initialize(), DistributedPositions::initialize(), ReporterPositions::initialize(), TransformedPositions::initialize(), ReporterTimes::initialize(), ElementGroupCentroidPositions::initialize(), FunctorPositions::initialize(), FunctorTimes::initialize(), ParsedDownSelectionPositions::initialize(), ParsedConvergence::initializeConstantSymbol(), PhysicsBase::initializePhysics(), SteffensenSolve::initialSetup(), MultiAppCloneReporterTransfer::initialSetup(), SolutionIC::initialSetup(), ChainControlDataPostprocessor::initialSetup(), IntegralPreservingFunctionIC::initialSetup(), MultiAppConservativeTransfer::initialSetup(), PiecewiseLinearBase::initialSetup(), FullSolveMultiApp::initialSetup(), PiecewiseLinear::initialSetup(), CoarsenedPiecewiseLinear::initialSetup(), MultiAppDofCopyTransfer::initialSetup(), initialSetup(), LinearFVAdvection::initialSetup(), LinearFVAnisotropicDiffusion::initialSetup(), SolutionScalarAux::initialSetup(), LinearFVDiffusion::initialSetup(), ExplicitTimeIntegrator::initialSetup(), SolutionAux::initialSetup(), ReferenceResidualConvergence::initialSetup(), NodalVariableValue::initialSetup(), Axisymmetric2D3DSolutionFunction::initialSetup(), Exodus::initialSetup(), CSV::initialSetup(), MooseParsedFunction::initialSetup(), SolutionUserObjectBase::initialSetup(), FEProblemBase::initialSetup(), SubProblem::initialSetup(), AdvancedOutput::initOutputList(), AdvancedOutput::initShowHideLists(), Function::integral(), InterfaceDiffusiveFluxIntegralTempl< is_ad >::InterfaceDiffusiveFluxIntegralTempl(), InterfaceIntegralVariableValuePostprocessor::InterfaceIntegralVariableValuePostprocessor(), InterfaceKernelTempl< T >::InterfaceKernelTempl(), InterfaceTimeKernel::InterfaceTimeKernel(), InternalSideIndicatorBase::InternalSideIndicatorBase(), MultiAppGeometricInterpolationTransfer::interpolateTargetPoints(), EigenExecutionerBase::inversePowerIteration(), InversePowerMethod::InversePowerMethod(), Sampler::isAdaptiveSamplingCompleted(), MooseMesh::isBoundaryFullyExternalToSubdomains(), MooseVariableBase::isNodal(), IterationAdaptiveDT::IterationAdaptiveDT(), IterationCountConvergence::IterationCountConvergence(), LeastSquaresFit::LeastSquaresFit(), LibmeshPartitioner::LibmeshPartitioner(), MooseApp::libNameToAppName(), LibtorchNeuralNetControl::LibtorchNeuralNetControl(), LinearCombinationPostprocessor::LinearCombinationPostprocessor(), LinearNodalConstraint::LinearNodalConstraint(), LineMaterialSamplerBase< Real >::LineMaterialSamplerBase(), LineSearch::lineSearch(), LineValueSampler::LineValueSampler(), MooseApp::loadLibraryAndDependencies(), MultiAppGeneralFieldTransfer::locatePointReceivers(), LowerBoundNodalKernel::LowerBoundNodalKernel(), MooseLinearVariableFV< Real >::lowerDError(), PNGOutput::makePNG(), ReporterPointMarker::markerSetup(), SubProblem::markFamilyPRefinement(), MassMatrix::MassMatrix(), Material::Material(), MaterialRealTensorValueAuxTempl< is_ad >::MaterialRealTensorValueAuxTempl(), MaterialRealVectorValueAuxTempl< T, is_ad, is_functor >::MaterialRealVectorValueAuxTempl(), MaterialStdVectorRealGradientAux::MaterialStdVectorRealGradientAux(), Distribution::median(), FunctorRelationshipManager::mesh_reinit(), MeshDiagnosticsGenerator::MeshDiagnosticsGenerator(), MeshExtruderGenerator::MeshExtruderGenerator(), MeshRepairGenerator::MeshRepairGenerator(), SetupMeshAction::modifyParamsForUseSplit(), MeshMetaDataInterface::mooseErrorInternal(), MooseLinearVariableFV< Real >::MooseLinearVariableFV(), MooseMesh::MooseMesh(), MooseObject::MooseObject(), UserObjectInterface::mooseObjectError(), MooseStaticCondensationPreconditioner::MooseStaticCondensationPreconditioner(), MooseVariableBase::MooseVariableBase(), MooseVariableConstMonomial::MooseVariableConstMonomial(), MoveNodeGenerator::MoveNodeGenerator(), MultiApp::MultiApp(), MultiAppMFEMCopyTransfer::MultiAppMFEMCopyTransfer(), MultiAppPostprocessorTransfer::MultiAppPostprocessorTransfer(), MultiAppTransfer::MultiAppTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), MultiAppVariableValueSamplePostprocessorTransfer::MultiAppVariableValueSamplePostprocessorTransfer(), NearestNodeDistanceAux::NearestNodeDistanceAux(), FEProblemBase::needsPreviousNewtonIteration(), NewmarkBeta::NewmarkBeta(), NodalConstraint::NodalConstraint(), MooseVariableFV< Real >::nodalDofIndex(), MooseVariableFV< Real >::nodalDofIndexNeighbor(), MooseLinearVariableFV< Real >::nodalError(), MooseVariableFV< Real >::nodalMatrixTagValue(), NodalPatchRecoveryBase::nodalPatchRecovery(), NodalPatchRecoveryAuxBase::NodalPatchRecoveryAuxBase(), NodalScalarKernel::NodalScalarKernel(), MooseVariableFV< Real >::nodalValueArray(), MooseVariableFV< Real >::nodalValueOldArray(), MooseVariableFV< Real >::nodalValueOlderArray(), NodalVariableValue::NodalVariableValue(), MooseVariableFV< Real >::nodalVectorTagValue(), DistributedRectilinearMeshGenerator::nodeId(), MooseVariableFV< Real >::numberOfDofsNeighbor(), NumDOFs::NumDOFs(), NumFailedTimeSteps::NumFailedTimeSteps(), DistributedRectilinearMeshGenerator::numNeighbors(), NumNonlinearIterations::NumNonlinearIterations(), NumVars::NumVars(), Output::onInterval(), FunctorRelationshipManager::operator()(), RelationshipManager::operator==(), ActionComponent::outerSurfaceArea(), ActionComponent::outerSurfaceBoundaries(), XDA::output(), SolutionHistory::output(), Exodus::output(), Output::Output(), AdvancedOutput::outputElementalVariables(), AdvancedOutput::outputInput(), MooseApp::outputMachineReadableData(), AdvancedOutput::outputNodalVariables(), AdvancedOutput::outputPostprocessors(), AdvancedOutput::outputReporters(), AdvancedOutput::outputScalarVariables(), Exodus::outputSetup(), AdvancedOutput::outputSystemInformation(), Console::outputVectorPostprocessors(), AdvancedOutput::outputVectorPostprocessors(), DistributedRectilinearMeshGenerator::paritionSquarely(), PiecewiseBilinear::parse(), ParsedConvergence::ParsedConvergence(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedODEKernel::ParsedODEKernel(), MultiAppConservativeTransfer::performAdjustment(), ExplicitTimeIntegrator::performExplicitSolve(), PetscExternalPartitioner::PetscExternalPartitioner(), MooseVariableFV< Real >::phiLowerSize(), PhysicsBasedPreconditioner::PhysicsBasedPreconditioner(), PIDTransientControl::PIDTransientControl(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), PiecewiseMulticonstant::PiecewiseMulticonstant(), PiecewiseMultiInterpolation::PiecewiseMultiInterpolation(), PiecewiseTabularBase::PiecewiseTabularBase(), CutMeshByLevelSetGeneratorBase::pointPairLevelSetInterception(), SolutionUserObjectBase::pointValueGradientWrapper(), SolutionUserObjectBase::pointValueWrapper(), ReporterInterface::possiblyCheckHasReporter(), VectorPostprocessorInterface::possiblyCheckHasVectorPostprocessorByName(), LStableDirk2::postResidual(), LStableDirk3::postResidual(), ImplicitMidpoint::postResidual(), ExplicitTVDRK2::postResidual(), AStableDirk4::postResidual(), LStableDirk4::postResidual(), ExplicitRK2::postResidual(), EigenProblem::postScaleEigenVector(), VariableCondensationPreconditioner::preallocateCondensedJacobian(), ADKernelValueTempl< T >::precomputeQpJacobian(), Predictor::Predictor(), TransientBase::preExecute(), MooseMesh::prepare(), MooseMesh::prepared(), FixedPointSolve::printFixedPointConvergenceReason(), PseudoTimestep::PseudoTimestep(), MultiApp::readCommandLineArguments(), PropertyReadFile::readData(), SolutionUserObjectBase::readExodusII(), SolutionUserObjectBase::readXda(), CoarsenBlockGenerator::recursiveCoarsen(), MooseApp::recursivelyCreateExecutors(), FunctorRelationshipManager::redistribute(), ReferenceResidualConvergence::ReferenceResidualConvergence(), MooseApp::registerRestartableData(), MooseApp::registerRestartableNameWithFilter(), Sampler::reinit(), RelativeSolutionDifferenceNorm::RelativeSolutionDifferenceNorm(), MFEMTransient::relativeSolutionDifferenceNorm(), MooseApp::removeRelationshipManager(), PhysicsBase::reportPotentiallyMissedParameters(), MooseApp::restore(), RinglebMesh::RinglebMesh(), RinglebMeshGenerator::RinglebMeshGenerator(), MooseApp::run(), MooseApp::runInputs(), PiecewiseMultiInterpolation::sample(), ScalarComponentIC::ScalarComponentIC(), MortarScalarBase::scalarVariable(), DistributedRectilinearMeshGenerator::scaleNodalPositions(), BicubicSplineFunction::secondDerivative(), MooseVariableFV< Real >::secondPhi(), MooseVariableFV< Real >::secondPhiFace(), MooseVariableFV< Real >::secondPhiFaceNeighbor(), MooseVariableFV< Real >::secondPhiNeighbor(), FunctorRelationshipManager::set_mesh(), MooseVariableBase::setActiveTags(), DistributedRectilinearMeshGenerator::setBoundaryNames(), MooseMesh::setCoordSystem(), FEProblemBase::setCoupling(), PiecewiseBase::setData(), FileOutput::setFileBaseInternal(), MooseMesh::setGeneralAxisymmetricCoordAxes(), FEProblemSolve::setInnerSolve(), MeshGenerator::setMeshProperty(), MooseApp::setMFEMDevice(), FVPointValueConstraint::setMyElem(), FEProblemBase::setNonlocalCouplingMatrix(), Sampler::setNumberOfCols(), Sampler::setNumberOfRandomSeeds(), Sampler::setNumberOfRows(), Exodus::setOutputDimensionInExodusWriter(), AddPeriodicBCAction::setPeriodicVars(), MFEMSolverBase::setPreconditioner(), MultiAppGeneralFieldTransfer::setSolutionVectorValues(), Split::setup(), TransientMultiApp::setupApp(), SetupMeshAction::setupMesh(), MooseApp::setupOptions(), TimeSequenceStepperBase::setupSequence(), TransientBase::setupTimeIntegrator(), TimePeriodBase::setupTimes(), IntegratedBCBase::shouldApply(), PhysicsBase::shouldCreateIC(), PhysicsBase::shouldCreateTimeDerivative(), PhysicsBase::shouldCreateVariable(), SideAdvectiveFluxIntegralTempl< is_ad >::SideAdvectiveFluxIntegralTempl(), SideDiffusiveFluxIntegralTempl< is_ad, Real >::SideDiffusiveFluxIntegralTempl(), SideSetsFromNormalsGenerator::SideSetsFromNormalsGenerator(), SideSetsFromPointsGenerator::SideSetsFromPointsGenerator(), SingleMatrixPreconditioner::SingleMatrixPreconditioner(), MooseVariableBase::sizeMatrixTagData(), SolutionTimeAdaptiveDT::SolutionTimeAdaptiveDT(), SolutionUserObjectBase::SolutionUserObjectBase(), ExplicitTVDRK2::solve(), ExplicitRK2::solve(), TimeIntegrator::solve(), FEProblemBase::solverSysNum(), FullSolveMultiApp::solveStep(), SpatialAverageBase::SpatialAverageBase(), UserObject::spatialPoints(), NearestPointIntegralVariablePostprocessor::spatialValue(), NearestPointAverage::spatialValue(), MeshDivisionFunctorReductionVectorPostprocessor::spatialValue(), UserObject::spatialValue(), SpiralAnnularMesh::SpiralAnnularMesh(), SpiralAnnularMeshGenerator::SpiralAnnularMeshGenerator(), WebServerControl::startServer(), StitchedMesh::StitchedMesh(), WebServerControl::stringifyJSONType(), MultiAppGeometricInterpolationTransfer::subdomainIDsNode(), Constraint::subdomainSetup(), NodalUserObject::subdomainSetup(), GeneralUserObject::subdomainSetup(), MaterialBase::subdomainSetup(), FEProblemBase::swapBackMaterialsNeighbor(), DisplacedProblem::systemBaseLinear(), Console::systemInfoFlags(), FEProblemBase::systemNumForVariable(), TerminateChainControl::terminate(), Terminator::Terminator(), CutMeshByLevelSetGeneratorBase::tet4ElemCutter(), ThreadedGeneralUserObject::threadJoin(), DiscreteElementUserObject::threadJoin(), GeneralUserObject::threadJoin(), Function::timeDerivative(), TimedSubdomainModifier::TimedSubdomainModifier(), TimeExtremeValue::TimeExtremeValue(), Function::timeIntegral(), MooseLinearVariableFV< Real >::timeIntegratorError(), TimeIntervalTimes::TimeIntervalTimes(), TimePeriodBase::TimePeriodBase(), VectorPostprocessorVisualizationAux::timestepSetup(), WebServerControl::toMiniJson(), MultiAppDofCopyTransfer::transfer(), MultiAppMFEMCopyTransfer::transfer(), MultiAppShapeEvaluationTransfer::transferVariable(), TransformedPositions::TransformedPositions(), FEProblemBase::trustUserCouplingMatrix(), MooseVariableScalar::uDot(), MooseVariableScalar::uDotDot(), MooseVariableScalar::uDotDotOld(), FEProblemBase::uDotDotOldRequested(), MooseVariableScalar::uDotOld(), FEProblemBase::uDotOldRequested(), MooseBase::uniqueName(), Positions::unrollMultiDPositions(), ScalarKernelBase::uOld(), AuxScalarKernel::uOld(), Checkpoint::updateCheckpointFiles(), EqualValueBoundaryConstraint::updateConstrainedNodes(), SolutionUserObjectBase::updateExodusBracketingTimeIndices(), FEProblemBase::updateMaxQps(), MFEMHypreADS::updateSolver(), MFEMHypreAMS::updateSolver(), MFEMGMRESSolver::updateSolver(), MFEMOperatorJacobiSmoother::updateSolver(), MFEMCGSolver::updateSolver(), MFEMHypreFGMRES::updateSolver(), MFEMHyprePCG::updateSolver(), MFEMHypreBoomerAMG::updateSolver(), MFEMHypreGMRES::updateSolver(), MFEMSuperLU::updateSolver(), UpperBoundNodalKernel::UpperBoundNodalKernel(), NearestPointIntegralVariablePostprocessor::userObjectValue(), NearestPointAverage::userObjectValue(), BoundingBoxIC::value(), PiecewiseConstantFromCSV::value(), IntegralPreservingFunctionIC::value(), Axisymmetric2D3DSolutionFunction::value(), Function::value(), ValueRangeMarker::ValueRangeMarker(), ValueThresholdMarker::ValueThresholdMarker(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), PhysicsBase::variableExists(), MultiAppTransfer::variableIntegrityCheck(), VariableTimeIntegrationAux::VariableTimeIntegrationAux(), AddVariableAction::variableType(), VariableValueVolumeHistogram::VariableValueVolumeHistogram(), VectorMagnitudeFunctorMaterialTempl< is_ad >::VectorMagnitudeFunctorMaterialTempl(), VectorNodalBC::VectorNodalBC(), SubProblem::vectorTagName(), SubProblem::vectorTagType(), MooseParsedGradFunction::vectorValue(), MooseParsedFunction::vectorValue(), Function::vectorValue(), SubProblem::verifyVectorTags(), ActionComponent::volume(), VTKOutput::VTKOutput(), WebServerControl::WebServerControl(), MooseApp::writeRestartableMetaData(), DOFMapOutput::writeStreamToFile(), and Console::writeStreamToFile().

268  {
269  callMooseError(argumentsToString(std::forward<Args>(args)...), /* with_prefix = */ true);
270  }
void callMooseError(std::string msg, const bool with_prefix, const hit::Node *node=nullptr) const
External method for calling moose error with added object context.
Definition: MooseBase.C:102

◆ mooseErrorNonPrefixed()

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

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

Definition at line 286 of file MooseBase.h.

287  {
288  callMooseError(argumentsToString(std::forward<Args>(args)...), /* with_prefix = */ false);
289  }
void callMooseError(std::string msg, const bool with_prefix, const hit::Node *node=nullptr) const
External method for calling moose error with added object context.
Definition: MooseBase.C:102

◆ mooseInfo()

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

Definition at line 317 of file MooseBase.h.

Referenced by SetupRecoverFileBaseAction::act(), AStableDirk4::AStableDirk4(), MeshDiagnosticsGenerator::checkNonConformalMeshFromAdaptivity(), evaluateInterpValuesNearestNode(), PIDTransientControl::execute(), Executioner::Executioner(), ExplicitRK2::ExplicitRK2(), ExplicitTVDRK2::ExplicitTVDRK2(), DataFileInterface::getDataFilePath(), MFEMScalarFESpace::getFECName(), MultiAppTransfer::getPointInTargetAppFrame(), ImplicitMidpoint::ImplicitMidpoint(), ParsedDownSelectionPositions::initialize(), PropertyReadFile::initialize(), MultiAppGeneralFieldTransfer::initialSetup(), InversePowerMethod::InversePowerMethod(), LStableDirk2::LStableDirk2(), LStableDirk3::LStableDirk3(), LStableDirk4::LStableDirk4(), PNGOutput::makeMeshFunc(), NonlinearEigen::NonlinearEigen(), SolutionInvalidityOutput::output(), MultiAppGeneralFieldTransfer::outputValueConflicts(), MooseBase::paramInfo(), ProjectionAux::ProjectionAux(), ReferenceResidualConvergence::ReferenceResidualConvergence(), MFEMDataCollection::registerFields(), FEProblemBase::setRestartFile(), MooseApp::setupOptions(), SolutionUserObjectBase::SolutionUserObjectBase(), SymmetryTransformGenerator::SymmetryTransformGenerator(), TransientBase::takeStep(), and TransientBase::TransientBase().

318  {
319  moose::internal::mooseInfoStream(_console, messagePrefix(true), std::forward<Args>(args)...);
320  }
void mooseInfoStream(S &oss, Args &&... args)
Definition: MooseError.h:268
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.
std::string messagePrefix(const bool hit_prefix=true) const
Definition: MooseBase.h:252

◆ mooseWarning()

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

Emits a warning prefixed with object name and type.

Definition at line 295 of file MooseBase.h.

Referenced by CopyMeshPartitioner::_do_partition(), AddKernelAction::act(), MeshOnlyAction::act(), AddFunctionAction::act(), MaterialOutputAction::act(), CommonOutputAction::act(), MFEMProblem::addFunction(), MooseMesh::addPeriodicVariable(), DiracKernelBase::addPoint(), BoundaryMarker::BoundaryMarker(), DistributedRectilinearMeshGenerator::buildCube(), MultiAppVariableValueSamplePostprocessorTransfer::cacheElemToPostprocessorData(), CartesianMeshGenerator::CartesianMeshGenerator(), CheckOutputAction::checkConsoleOutput(), MultiAppTransfer::checkMultiAppExecuteOn(), MeshDiagnosticsGenerator::checkNonMatchingEdges(), ActionComponent::checkRequiredTasks(), PhysicsBase::checkRequiredTasks(), SampledOutput::cloneMesh(), MultiAppGeneralFieldTransfer::closestToPosition(), VariableValueElementSubdomainModifier::computeSubdomainID(), GapValueAux::computeValue(), MultiApp::createApp(), DebugResidualAux::DebugResidualAux(), MeshDiagnosticsGenerator::diagnosticsLog(), CartesianGridDivision::divisionIndex(), CylindricalGridDivision::divisionIndex(), SphericalGridDivision::divisionIndex(), ElementMaterialSampler::ElementMaterialSampler(), Postprocessor::evaluateDotWarning(), MeshDivisionFunctorReductionVectorPostprocessor::execute(), ElementQualityChecker::finalize(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), FixedPointSolve::FixedPointSolve(), SubdomainPerElementGenerator::generate(), StitchMeshGenerator::generate(), ParsedGenerateSideset::generate(), MultiAppTransfer::getAppInfo(), FunctorBinnedValuesDivision::getBinIndex(), DataFileInterface::getDataFilePath(), PointSamplerBase::getLocalElemContainingPoint(), FEProblemBase::getMaterial(), LineValueSampler::getValue(), Terminator::handleMessage(), IndicatorMarker::IndicatorMarker(), CylindricalGridDivision::initialize(), CartesianGridDivision::initialize(), SphericalGridDivision::initialize(), ElementGroupCentroidPositions::initialize(), initialSetup(), BoundsBase::initialSetup(), ReferenceResidualConvergence::initialSetup(), MultiAppGeneralFieldTransfer::initialSetup(), FEProblemBase::initialSetup(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), MaterialBase::initStatefulProperties(), LeastSquaresFit::LeastSquaresFit(), IterationAdaptiveDT::limitDTToPostprocessorValue(), MooseApp::loadLibraryAndDependencies(), FEProblemBase::mesh(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), NewmarkBeta::NewmarkBeta(), NodalPatchRecovery::NodalPatchRecovery(), NonlocalIntegratedBC::NonlocalIntegratedBC(), NonlocalKernel::NonlocalKernel(), Output::Output(), MultiAppGeneralFieldTransfer::outputValueConflicts(), MooseBase::paramWarning(), PiecewiseConstantFromCSV::PiecewiseConstantFromCSV(), Executioner::problem(), PropertyReadFile::readData(), TestSourceStepper::rejectStep(), PhysicsBase::reportPotentiallyMissedParameters(), MaterialBase::resetQpProperties(), SecondTimeDerivativeAux::SecondTimeDerivativeAux(), MooseMesh::setCoordSystem(), SidesetAroundSubdomainUpdater::SidesetAroundSubdomainUpdater(), FEProblemBase::sizeZeroes(), TransientMultiApp::solveStep(), Tecplot::Tecplot(), TimeDerivativeAux::TimeDerivativeAux(), Checkpoint::updateCheckpointFiles(), SampledOutput::updateSample(), PiecewiseConstantFromCSV::value(), and VariableCondensationPreconditioner::VariableCondensationPreconditioner().

296  {
297  moose::internal::mooseWarningStream(_console, messagePrefix(true), std::forward<Args>(args)...);
298  }
void mooseWarningStream(S &oss, Args &&... args)
Definition: MooseError.h:220
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.
std::string messagePrefix(const bool hit_prefix=true) const
Definition: MooseBase.h:252

◆ mooseWarningNonPrefixed()

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

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

Definition at line 304 of file MooseBase.h.

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

◆ name()

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

Get the name of the class.

Returns
The name of the class

Definition at line 99 of file MooseBase.h.

Referenced by AddElementalFieldAction::act(), CopyNodalVarsAction::act(), AdaptivityAction::act(), AddTimeStepperAction::act(), DeprecatedBlockAction::act(), SetupTimeIntegratorAction::act(), SetupResidualDebugAction::act(), AddActionComponentAction::act(), DisplayGhostingAction::act(), MaterialOutputAction::act(), AddPeriodicBCAction::act(), FEProblemBase::addAnyRedistributers(), Executioner::addAttributeReporter(), MFEMProblem::addAuxKernel(), FEProblemBase::addAuxKernel(), FEProblemBase::addAuxScalarKernel(), DisplacedProblem::addAuxVariable(), MFEMProblem::addBoundaryCondition(), FEProblemBase::addBoundaryCondition(), PhysicsComponentInterface::addComponent(), FEProblemBase::addConstraint(), FEProblemBase::addConvergence(), FEProblemBase::addDamper(), Registry::addDataFilePath(), FEProblemBase::addDGKernel(), FEProblemBase::addDiracKernel(), FEProblemBase::addDistribution(), MooseApp::addExecutor(), MooseApp::addExecutorParams(), MFEMProblem::addFESpace(), MFEMProblem::addFunction(), FEProblemBase::addFunction(), SubProblem::addFunctor(), MFEMProblem::addFunctorMaterial(), FEProblemBase::addFunctorMaterial(), FunctorMaterial::addFunctorProperty(), FunctorMaterial::addFunctorPropertyByBlocks(), FEProblemBase::addFVBC(), FEProblemBase::addFVInitialCondition(), FEProblemBase::addFVInterfaceKernel(), FEProblemBase::addFVKernel(), ADDGKernel::ADDGKernel(), FEProblemBase::addHDGKernel(), FEProblemBase::addIndicator(), MFEMProblem::addInitialCondition(), FEProblemBase::addInitialCondition(), FEProblemBase::addInterfaceKernel(), FEProblemBase::addInterfaceMaterial(), DiffusionLHDGKernel::additionalROVariables(), IPHDGAssemblyHelper::additionalROVariables(), MFEMProblem::addKernel(), FEProblemBase::addKernel(), FEProblemBase::addLinearFVBC(), FEProblemBase::addLinearFVKernel(), FEProblemBase::addMarker(), FEProblemBase::addMaterial(), FEProblemBase::addMaterialHelper(), ComponentMaterialPropertyInterface::addMaterials(), FEProblemBase::addMeshDivision(), MooseApp::addMeshGenerator(), ComponentMeshTransformHelper::addMeshGenerators(), CylinderComponent::addMeshGenerators(), MeshGenerator::addMeshSubgenerator(), MFEMProblem::addMFEMPreconditioner(), MFEMProblem::addMFEMSolver(), FEProblemBase::addMultiApp(), FEProblemBase::addNodalKernel(), InitialConditionWarehouse::addObject(), FEProblemBase::addObject(), ComponentPhysicsInterface::addPhysics(), SubProblem::addPiecewiseByBlockLambdaFunctor(), MFEMProblem::addPostprocessor(), FEProblemBase::addPostprocessor(), InitialConditionBase::addPostprocessorDependencyHelper(), UserObject::addPostprocessorDependencyHelper(), FEProblemBase::addPredictor(), CreateDisplacedProblemAction::addProxyRelationshipManagers(), Action::addRelationshipManager(), FEProblemBase::addReporter(), FEProblemBase::addSampler(), FEProblemBase::addScalarKernel(), FEProblemBase::addTimeIntegrator(), MFEMProblem::addTransfer(), FEProblemBase::addTransfer(), FEProblemBase::addUserObject(), InitialConditionBase::addUserObjectDependencyHelper(), UserObject::addUserObjectDependencyHelper(), AuxKernelTempl< Real >::addUserObjectDependencyHelper(), DisplacedProblem::addVariable(), FEProblemBase::addVectorPostprocessor(), UserObject::addVectorPostprocessorDependencyHelper(), MooseLinearVariableFV< Real >::adError(), Output::advancedExecuteOn(), AdvancedExtruderGenerator::AdvancedExtruderGenerator(), MooseVariableBase::allDofIndices(), MooseApp::appBinaryName(), MooseApp::appendMeshGenerator(), Registry::appNameFromAppPath(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), ArrayDGKernel::ArrayDGKernel(), ArrayParsedAux::ArrayParsedAux(), PhysicsBase::assignBlocks(), AStableDirk4::AStableDirk4(), AuxKernelTempl< Real >::AuxKernelTempl(), Function::average(), MultiApp::backup(), CoarsenedPiecewiseLinear::buildCoarsenedGrid(), MFEMFESpace::buildFEC(), PiecewiseTabularBase::buildFromFile(), MultiAppVariableValueSamplePostprocessorTransfer::cacheElemToPostprocessorData(), MooseBase::callMooseError(), ChangeOverFixedPointPostprocessor::ChangeOverFixedPointPostprocessor(), ChangeOverTimePostprocessor::ChangeOverTimePostprocessor(), PhysicsBase::checkBlockRestrictionIdentical(), PhysicsBase::checkComponentType(), ParsedConvergence::checkConvergence(), DefaultNonlinearConvergence::checkConvergence(), FEProblemBase::checkDependMaterialsHelper(), SamplerBase::checkForStandardFieldVariableType(), ReporterTransferInterface::checkHasReporterValue(), FEProblemBase::checkICRestartError(), Material::checkMaterialProperty(), MooseApp::checkMetaDataIntegrity(), Damper::checkMinDamping(), MultiAppTransfer::checkParentAppUserObjectExecuteOn(), Checkpoint::checkpointInfo(), DomainUserObject::checkVariable(), BlockRestrictable::checkVariable(), Coupleable::checkWritableVar(), MooseVariableFieldBase::componentName(), CompositeFunction::CompositeFunction(), MaterialBase::computeProperties(), FEProblemBase::computeUserObjectByName(), VectorPostprocessorVisualizationAux::computeValue(), MooseBase::connectControllableParams(), ConstantPostprocessor::ConstantPostprocessor(), Coupleable::coupledName(), CommonOutputAction::create(), MultiApp::createApp(), MooseApp::createExecutors(), MeshGeneratorSystem::createMeshGeneratorOrder(), MooseApp::createRecoverablePerfGraph(), CutMeshByPlaneGenerator::CutMeshByPlaneGenerator(), DebugResidualAux::DebugResidualAux(), MaterialBase::declareADProperty(), MeshGenerator::declareMeshesForSubByName(), MeshGenerator::declareNullMeshName(), MaterialBase::declareProperty(), DOFMapOutput::demangle(), DerivativeSumMaterialTempl< is_ad >::DerivativeSumMaterialTempl(), Registry::determineDataFilePath(), DGKernel::DGKernel(), DGKernelBase::DGKernelBase(), DomainUserObject::DomainUserObject(), DumpObjectsProblem::dumpObjectHelper(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), ElementMaterialSampler::ElementMaterialSampler(), ElementValueSampler::ElementValueSampler(), EigenKernel::enabled(), MooseMesh::errorIfDistributedMesh(), SolutionUserObjectBase::evalMeshFunction(), SolutionUserObjectBase::evalMeshFunctionGradient(), SolutionUserObjectBase::evalMultiValuedMeshFunction(), SolutionUserObjectBase::evalMultiValuedMeshFunctionGradient(), SideValueSampler::execute(), RestartableDataReporter::execute(), GreaterThanLessThanPostprocessor::execute(), PointValue::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppProjectionTransfer::execute(), MultiAppUserObjectTransfer::execute(), WebServerControl::execute(), MultiAppGeneralFieldTransfer::execute(), ActionWarehouse::executeActionsWithAction(), Exodus::Exodus(), ExtraIDIntegralVectorPostprocessor::ExtraIDIntegralVectorPostprocessor(), FEProblemBase::FEProblemBase(), MultiApp::fillPositions(), MultiAppGeometricInterpolationTransfer::fillSourceInterpolationPoints(), PointSamplerBase::finalize(), ChainControl::fullControlDataName(), FunctionArrayAux::FunctionArrayAux(), FunctionDT::FunctionDT(), FunctionIC::functionName(), FVFunctionIC::functionName(), FunctorPositions::FunctorPositions(), FunctorSmootherTempl< T >::FunctorSmootherTempl(), FVInitialConditionTempl< T >::FVInitialConditionTempl(), FVOneVarDiffusionInterface::FVOneVarDiffusionInterface(), GapValueAux::GapValueAux(), MooseServer::gatherDocumentSymbols(), BoundaryDeletionGenerator::generate(), UniqueExtraIDMeshGenerator::generate(), RenameBlockGenerator::generate(), RenameBoundaryGenerator::generate(), GeneratedMeshGenerator::generate(), ParsedSubdomainGeneratorBase::generate(), StitchBoundaryMeshGenerator::generate(), StitchMeshGenerator::generate(), BreakMeshByBlockGenerator::generate(), ParsedExtraElementIDGenerator::generate(), XYDelaunayGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), MeshGenerator::generateInternal(), InterfaceMaterial::getADMaterialProperty(), Material::getADMaterialProperty(), MultiAppTransfer::getAppInfo(), MultiApp::getBoundingBox(), MooseBase::getCheckedPointerParam(), MooseApp::getCheckpointDirectories(), Control::getControllableParameterByName(), Control::getControllableValue(), Control::getControllableValueByName(), FEProblemBase::getConvergence(), Registry::getDataFilePath(), UserObject::getDependObjects(), DistributionInterface::getDistribution(), FEProblemBase::getDistribution(), DistributionInterface::getDistributionByName(), ElementUOProvider::getElementalValueLong(), ElementUOProvider::getElementalValueReal(), MultiApp::getExecutioner(), MooseApp::getExecutor(), FEProblemBase::getExecutor(), OutputWarehouse::getFileNumbers(), FEProblemBase::getFunction(), SubProblem::getFunctor(), NodalPatchRecovery::getGenericMaterialProperty(), InterfaceMaterial::getGenericMaterialProperty(), Material::getGenericMaterialProperty(), AuxKernelTempl< Real >::getGenericMaterialProperty(), InterfaceMaterial::getGenericNeighborMaterialProperty(), InterfaceMaterial::getGenericNeighborMaterialPropertyByName(), Material::getGenericOptionalMaterialProperty(), MaterialBase::getGenericZeroMaterialProperty(), MFEMProblem::getGridFunction(), SolutionUserObjectBase::getLocalVarIndex(), Marker::getMarkerValue(), Material::getMaterial(), FEProblemBase::getMaterial(), Material::getMaterialByName(), NodalPatchRecovery::getMaterialProperty(), InterfaceMaterial::getMaterialProperty(), Material::getMaterialProperty(), AuxKernelTempl< Real >::getMaterialProperty(), SubProblem::getMaterialPropertyBlockNames(), SubProblem::getMaterialPropertyBoundaryNames(), NodalPatchRecovery::getMaterialPropertyOld(), InterfaceMaterial::getMaterialPropertyOld(), Material::getMaterialPropertyOld(), AuxKernelTempl< Real >::getMaterialPropertyOld(), NodalPatchRecovery::getMaterialPropertyOlder(), InterfaceMaterial::getMaterialPropertyOlder(), Material::getMaterialPropertyOlder(), AuxKernelTempl< Real >::getMaterialPropertyOlder(), MFEMGeneralUserObject::getMatrixCoefficient(), MFEMGeneralUserObject::getMatrixCoefficientByName(), MeshGenerator::getMesh(), FEProblemBase::getMeshDivision(), MeshGenerator::getMeshesByName(), MooseApp::getMeshGenerator(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), ActionWarehouse::getMooseAppName(), MultiAppTransfer::getMultiApp(), InterfaceMaterial::getNeighborADMaterialProperty(), InterfaceMaterial::getNeighborMaterialProperty(), InterfaceMaterial::getNeighborMaterialPropertyOld(), InterfaceMaterial::getNeighborMaterialPropertyOlder(), MooseServer::getObjectParameters(), Material::getOptionalADMaterialProperty(), Material::getOptionalMaterialProperty(), Material::getOptionalMaterialPropertyOld(), Material::getOptionalMaterialPropertyOlder(), OutputWarehouse::getOutput(), MooseBase::getParam(), FEProblemBase::getPositionsObject(), FEProblemBase::getPostprocessorValueByName(), ComponentMaterialPropertyInterface::getPropertyValue(), ReporterData::getReporterInfo(), MooseApp::getRestartableDataMap(), MooseApp::getRestartableDataMapName(), MooseApp::getRestartableMetaData(), FEProblemBase::getSampler(), MFEMGeneralUserObject::getScalarCoefficient(), MFEMGeneralUserObject::getScalarCoefficientByName(), TransientBase::getTimeStepperName(), ProjectedStatefulMaterialStorageAction::getTypeEnum(), FEProblemBase::getUserObject(), FEProblemBase::getUserObjectBase(), MFEMGeneralUserObject::getVectorCoefficient(), MFEMGeneralUserObject::getVectorCoefficientByName(), Terminator::handleMessage(), Control::hasControllableParameterByName(), FEProblemBase::hasConvergence(), FEProblemBase::hasFunction(), SubProblem::hasFunctor(), SubProblem::hasFunctorWithType(), MooseApp::hasMeshGenerator(), AdvancedOutput::hasOutputHelper(), FEProblemBase::hasPostprocessor(), FEProblemBase::hasPostprocessorValueByName(), MooseApp::hasRelationshipManager(), MooseApp::hasRestartableDataMap(), MooseApp::hasRestartableMetaData(), FEProblemBase::hasUserObject(), IterationAdaptiveDT::init(), AddVariableAction::init(), AdvancedOutput::init(), AdvancedOutput::initExecutionTypes(), AttribName::initFrom(), NestedDivision::initialize(), TransformedPositions::initialize(), BoundaryRestrictable::initializeBoundaryRestrictable(), JSONOutput::initialSetup(), SideFVFluxBCIntegral::initialSetup(), SolutionScalarAux::initialSetup(), MultiAppProjectionTransfer::initialSetup(), NodalVariableValue::initialSetup(), Console::initialSetup(), SolutionUserObjectBase::initialSetup(), AdvancedOutput::initOutputList(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), MaterialBase::initStatefulProperties(), Function::integral(), InterfaceKernelTempl< T >::InterfaceKernelTempl(), MultiAppGeometricInterpolationTransfer::interpolateTargetPoints(), MeshGenerator::isChildMeshGenerator(), DerivativeMaterialInterface< MortarScalarBase >::isNotObjectVariable(), MeshGenerator::isNullMeshName(), MooseBase::isParamSetByUser(), MooseBase::isParamValid(), MeshGenerator::isParentMeshGenerator(), LinearCombinationFunction::LinearCombinationFunction(), FEProblemBase::logAdd(), MooseLinearVariableFV< Real >::lowerDError(), Marker::Marker(), MaterialBase::markMatPropRequested(), MatDiffusionBase< Real >::MatDiffusionBase(), Material::Material(), MaterialDerivativeTestKernelBase< Real >::MaterialDerivativeTestKernelBase(), Distribution::median(), MemoryUsageReporter::MemoryUsageReporter(), MeshGenerator::meshPropertyPrefix(), MooseBase::messagePrefix(), OutputWarehouse::mooseConsole(), MooseVariableBase::MooseVariableBase(), MooseVariableInterface< Real >::MooseVariableInterface(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), MooseLinearVariableFV< Real >::nodalError(), NodalPatchRecoveryAuxBase::NodalPatchRecoveryAuxBase(), NodalValueSampler::NodalValueSampler(), Registry::objData(), MeshGenerator::Comparator::operator()(), ProgressOutput::output(), DOFMapOutput::output(), Output::Output(), AdvancedOutput::outputElementalVariables(), ConsoleUtils::outputExecutionInformation(), MaterialOutputAction::outputHelper(), AdvancedOutput::outputInput(), AdvancedOutput::outputNodalVariables(), Exodus::outputPostprocessors(), AdvancedOutput::outputPostprocessors(), TableOutput::outputReporter(), AdvancedOutput::outputReporters(), AdvancedOutput::outputScalarVariables(), AdvancedOutput::outputSystemInformation(), AdvancedOutput::outputVectorPostprocessors(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedODEKernel::ParsedODEKernel(), ComponentPhysicsInterface::physicsExists(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseByBlockFunctorMaterialTempl< T >::PiecewiseByBlockFunctorMaterialTempl(), MooseApp::possiblyLoadRestartableMetaData(), PhysicsBase::prefix(), MooseMesh::prepare(), BlockRestrictionDebugOutput::printBlockRestrictionMap(), PerfGraphLivePrint::printStats(), MooseBase::queryParam(), MultiApp::readCommandLineArguments(), Receiver::Receiver(), Executor::Result::record(), AppFactory::reg(), Registry::registerObjectsTo(), FEProblemBase::registerRandomInterface(), MooseApp::registerRestartableDataMapName(), MooseApp::registerRestartableNameWithFilter(), GlobalParamsAction::remove(), MaterialBase::resetQpProperties(), MultiApp::restore(), ScalarComponentIC::ScalarComponentIC(), MultiApp::setAppOutputFileBase(), MooseMesh::setBoundaryName(), Control::setControllableValue(), Control::setControllableValueByName(), GlobalParamsAction::setDoubleIndexParam(), OutputWarehouse::setFileNumbers(), GlobalParamsAction::setParam(), FEProblemBase::setPostprocessorValueByName(), FEProblemBase::setResidualObjectParamsAndLog(), GlobalParamsAction::setScalarParam(), MooseMesh::setSubdomainName(), GlobalParamsAction::setTripleIndexParam(), NodeSetsGeneratorBase::setup(), Split::setup(), SideSetsGeneratorBase::setup(), TransientMultiApp::setupApp(), GlobalParamsAction::setVectorParam(), FullSolveMultiApp::showStatusMessage(), SideSetExtruderGenerator::SideSetExtruderGenerator(), TransientMultiApp::solveStep(), UserObject::spatialValue(), WebServerControl::startServer(), StitchedMesh::StitchedMesh(), SubProblem::storeBoundaryDelayedCheckMatProp(), SubProblem::storeBoundaryMatPropName(), MaterialBase::storeBoundaryZeroMatProp(), SubProblem::storeBoundaryZeroMatProp(), SubProblem::storeSubdomainDelayedCheckMatProp(), SubProblem::storeSubdomainMatPropName(), MaterialBase::storeSubdomainZeroMatProp(), SubProblem::storeSubdomainZeroMatProp(), ConstraintWarehouse::subdomainsCovered(), MaterialBase::subdomainSetup(), TaggingInterface::TaggingInterface(), MooseLinearVariableFV< Real >::timeIntegratorError(), VectorPostprocessorVisualizationAux::timestepSetup(), to_json(), MultiAppDofCopyTransfer::transfer(), MultiAppShapeEvaluationTransfer::transferVariable(), TransientMultiApp::TransientMultiApp(), MooseServer::traverseParseTreeAndFillSymbols(), MooseBase::typeAndName(), MooseBase::uniqueParameterName(), FVFluxBC::uOnGhost(), FVFluxBC::uOnUSub(), UserObject::UserObject(), UserObjectInterface::userObjectName(), ParsedAux::validateGenericVectorNames(), PhysicsBase::variableExists(), MultiAppTransfer::variableIntegrityCheck(), VectorMagnitudeFunctorMaterialTempl< is_ad >::VectorMagnitudeFunctorMaterialTempl(), Convergence::verboseOutput(), AdvancedOutput::wantOutput(), Coupleable::writableCoupledValue(), Coupleable::writableVariable(), Console::write(), and MooseApp::writeRestartableMetaData().

100  {
101  mooseAssert(_name.size(), "Empty name");
102  return _name;
103  }
const std::string & _name
The name of this class.
Definition: MooseBase.h:359

◆ onBoundaries() [1/3]

bool MultiAppGeneralFieldTransfer::onBoundaries ( const std::set< BoundaryID > &  boundaries,
const MooseMesh mesh,
const Node *  node 
) const
protectedinherited

◆ onBoundaries() [2/3]

bool MultiAppGeneralFieldTransfer::onBoundaries ( const std::set< BoundaryID > &  boundaries,
const MooseMesh mesh,
const Elem *  elem 
) const
protectedinherited

◆ onBoundaries() [3/3]

bool MultiAppGeneralFieldTransfer::onBoundaries ( const std::set< BoundaryID > &  boundaries,
const std::set< SubdomainID > &  block_restriction,
const MooseMesh mesh,
const libMesh::PointLocatorBase *const  pl,
const Point &  pt 
) const
protectedinherited

◆ paramError()

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

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

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

Definition at line 435 of file MooseBase.h.

Referenced by HierarchicalGridPartitioner::_do_partition(), AutoCheckpointAction::act(), SetupDebugAction::act(), CommonOutputAction::act(), AddPeriodicBCAction::act(), ADConservativeAdvectionBC::ADConservativeAdvectionBC(), DiffusionCG::addFEKernels(), DiffusionFV::addFVKernels(), NEML2ModelExecutor::addGatheredParameter(), NEML2ModelExecutor::addGatheredVariable(), ADDGKernel::ADDGKernel(), CylinderComponent::addMeshGenerators(), AddPeriodicBCAction::AddPeriodicBCAction(), ReporterPointSource::addPoints(), ADIntegratedBCTempl< T >::ADIntegratedBCTempl(), ADKernelTempl< T >::ADKernelTempl(), ADNodalKernel::ADNodalKernel(), ADPenaltyPeriodicSegmentalConstraint::ADPenaltyPeriodicSegmentalConstraint(), ADPeriodicSegmentalConstraint::ADPeriodicSegmentalConstraint(), AdvancedExtruderGenerator::AdvancedExtruderGenerator(), AdvectiveFluxAux::AdvectiveFluxAux(), ADVectorFunctionDirichletBC::ADVectorFunctionDirichletBC(), AnnularMesh::AnnularMesh(), AnnularMeshGenerator::AnnularMeshGenerator(), ArrayBodyForce::ArrayBodyForce(), ArrayDGKernel::ArrayDGKernel(), ArrayDGLowerDKernel::ArrayDGLowerDKernel(), ArrayDirichletBC::ArrayDirichletBC(), ArrayHFEMDirichletBC::ArrayHFEMDirichletBC(), ArrayIntegratedBC::ArrayIntegratedBC(), ArrayKernel::ArrayKernel(), ArrayLowerDIntegratedBC::ArrayLowerDIntegratedBC(), ArrayParsedAux::ArrayParsedAux(), ArrayPenaltyDirichletBC::ArrayPenaltyDirichletBC(), ArrayVacuumBC::ArrayVacuumBC(), ArrayVarReductionAux::ArrayVarReductionAux(), ParsedSubdomainIDsGenerator::assignElemSubdomainID(), AuxKernelTempl< Real >::AuxKernelTempl(), BatchMeshGeneratorAction::BatchMeshGeneratorAction(), BlockDeletionGenerator::BlockDeletionGenerator(), BlockWeightedPartitioner::BlockWeightedPartitioner(), BoundsBase::BoundsBase(), BreakMeshByBlockGenerator::BreakMeshByBlockGenerator(), BuildArrayVariableAux::BuildArrayVariableAux(), PiecewiseTabularBase::buildFromFile(), MFEMMesh::buildMesh(), CartesianGridDivision::CartesianGridDivision(), checkComponent(), MeshGenerator::checkGetMesh(), ComponentInitialConditionInterface::checkInitialConditionsAllRequested(), BatchMeshGeneratorAction::checkInputParameterType(), PhysicsBase::checkIntegrityEarly(), PostprocessorInterface::checkParam(), FEProblemBase::checkProblemIntegrity(), MultiAppReporterTransfer::checkSiblingsTransferSupported(), Coupleable::checkVar(), MultiAppTransfer::checkVariable(), CircularBoundaryCorrectionGenerator::CircularBoundaryCorrectionGenerator(), CircularBoundaryCorrectionGenerator::circularCenterCalculator(), MultiAppGeneralFieldTransfer::closestToPosition(), CoarsenBlockGenerator::CoarsenBlockGenerator(), CombinerGenerator::CombinerGenerator(), ComponentInitialConditionInterface::ComponentInitialConditionInterface(), ComponentMaterialPropertyInterface::ComponentMaterialPropertyInterface(), CompositionDT::CompositionDT(), FunctorAux::computeValue(), ConcentricCircleMeshGenerator::ConcentricCircleMeshGenerator(), LibtorchNeuralNetControl::conditionalParameterError(), ConservativeAdvectionTempl< is_ad >::ConservativeAdvectionTempl(), ConstantVectorPostprocessor::ConstantVectorPostprocessor(), ContainsPointAux::ContainsPointAux(), CopyValueAux::CopyValueAux(), Coupleable::Coupleable(), CoupledForceTempl< is_ad >::CoupledForceTempl(), CoupledValueFunctionMaterialTempl< is_ad >::CoupledValueFunctionMaterialTempl(), MultiApp::createApp(), MeshGeneratorSystem::createMeshGenerator(), CylindricalGridDivision::CylindricalGridDivision(), DebugResidualAux::DebugResidualAux(), ConstantReporter::declareConstantReporterValue(), ConstantReporter::declareConstantReporterValues(), AccumulateReporter::declareLateValues(), DefaultMultiAppFixedPointConvergence::DefaultMultiAppFixedPointConvergence(), DGKernel::DGKernel(), DGKernelBase::DGKernelBase(), DGLowerDKernel::DGLowerDKernel(), DiffusionFluxAux::DiffusionFluxAux(), DomainUserObject::DomainUserObject(), EigenProblem::EigenProblem(), Eigenvalue::Eigenvalue(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), ElementLengthAux::ElementLengthAux(), ElementLpNormAux::ElementLpNormAux(), ExtraIDIntegralVectorPostprocessor::elementValue(), ElementValueSampler::ElementValueSampler(), ElementVectorL2Error::ElementVectorL2Error(), EqualValueEmbeddedConstraintTempl< is_ad >::EqualValueEmbeddedConstraintTempl(), ReporterPointSource::errorCheck(), StitchMeshGeneratorBase::errorMissingBoundary(), ExamplePatchMeshGenerator::ExamplePatchMeshGenerator(), MultiAppNearestNodeTransfer::execute(), MultiAppUserObjectTransfer::execute(), ExtraElementIDAux::ExtraElementIDAux(), ExtraElementIntegerDivision::ExtraElementIntegerDivision(), ExtraIDIntegralVectorPostprocessor::ExtraIDIntegralVectorPostprocessor(), FEProblemBase::FEProblemBase(), FEProblemSolve::FEProblemSolve(), FileMeshGenerator::FileMeshGenerator(), FillBetweenCurvesGenerator::FillBetweenCurvesGenerator(), FillBetweenSidesetsGenerator::FillBetweenSidesetsGenerator(), ReporterPointSource::fillPoint(), SpatialUserObjectVectorPostprocessor::fillPoints(), CombinerGenerator::fillPositions(), MultiApp::fillPositions(), InternalSideIndicatorBase::finalize(), ForcingFunctionAux::ForcingFunctionAux(), FullSolveMultiApp::FullSolveMultiApp(), FunctionArrayAux::FunctionArrayAux(), FunctionValuePostprocessor::FunctionValuePostprocessor(), FunctorADConverterTempl< T >::FunctorADConverterTempl(), FunctorAux::FunctorAux(), FunctorBinnedValuesDivision::FunctorBinnedValuesDivision(), FunctorCoordinatesFunctionAux::FunctorCoordinatesFunctionAux(), FunctorElementalGradientAuxTempl< is_ad >::FunctorElementalGradientAuxTempl(), FunctorExtremaPositions::FunctorExtremaPositions(), FunctorIC::FunctorIC(), FunctorPositions::FunctorPositions(), FunctorVectorElementalAuxTempl< is_ad >::FunctorVectorElementalAuxTempl(), FVAdvection::FVAdvection(), FVFluxBC::FVFluxBC(), FVInterfaceKernel::FVInterfaceKernel(), FVOneVarDiffusionInterface::FVOneVarDiffusionInterface(), FVTwoVarContinuityConstraint::FVTwoVarContinuityConstraint(), BoundaryDeletionGenerator::generate(), UniqueExtraIDMeshGenerator::generate(), ExtraNodesetGenerator::generate(), AddMetaDataGenerator::generate(), ElementsToTetrahedronsConverter::generate(), BlockToMeshConverterGenerator::generate(), BreakBoundaryOnSubdomainGenerator::generate(), FillBetweenCurvesGenerator::generate(), FillBetweenSidesetsGenerator::generate(), LowerDBlockFromSidesetGenerator::generate(), PlaneIDMeshGenerator::generate(), RenameBlockGenerator::generate(), RenameBoundaryGenerator::generate(), BlockDeletionGenerator::generate(), BreakMeshByBlockGenerator::generate(), CoarsenBlockGenerator::generate(), FlipSidesetGenerator::generate(), GeneratedMeshGenerator::generate(), ParsedSubdomainGeneratorBase::generate(), RefineBlockGenerator::generate(), RefineSidesetGenerator::generate(), AdvancedExtruderGenerator::generate(), CircularBoundaryCorrectionGenerator::generate(), CombinerGenerator::generate(), MeshCollectionGenerator::generate(), MeshExtruderGenerator::generate(), ParsedCurveGenerator::generate(), ParsedExtraElementIDGenerator::generate(), StackGenerator::generate(), XYZDelaunayGenerator::generate(), BreakMeshByElementGenerator::generate(), CutMeshByLevelSetGeneratorBase::generate(), XYDelaunayGenerator::generate(), XYMeshLineCutter::generate(), PatternedMeshGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), GeneratedMeshGenerator::GeneratedMeshGenerator(), GenericFunctorGradientMaterialTempl< is_ad >::GenericFunctorGradientMaterialTempl(), GenericFunctorMaterialTempl< is_ad >::GenericFunctorMaterialTempl(), GenericFunctorTimeDerivativeMaterialTempl< is_ad >::GenericFunctorTimeDerivativeMaterialTempl(), GenericVectorFunctorMaterialTempl< is_ad >::GenericVectorFunctorMaterialTempl(), PropertyReadFile::getBlockData(), ComponentBoundaryConditionInterface::getBoundaryCondition(), MultiApp::getCommandLineArgs(), PropertyReadFile::getData(), PropertyReadFile::getFileNames(), Sampler::getGlobalSamples(), ComponentInitialConditionInterface::getInitialCondition(), NEML2Action::getInputParameterMapping(), MultiAppNearestNodeTransfer::getLocalEntitiesAndComponents(), Sampler::getLocalSamples(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), Sampler::getNextLocalRow(), FEProblemSolve::getParamFromNonlinearSystemVectorParam(), PostprocessorInterface::getPostprocessorNameInternal(), PostprocessorInterface::getPostprocessorValueInternal(), MultiAppNearestNodeTransfer::getTargetLocalNodes(), UserObjectInterface::getUserObjectBase(), UserObjectInterface::getUserObjectName(), HFEMDirichletBC::HFEMDirichletBC(), AddVariableAction::init(), MultiApp::init(), DistributedPositions::initialize(), BlockWeightedPartitioner::initialize(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), PhysicsBase::initializePhysics(), JSONOutput::initialSetup(), MultiAppCloneReporterTransfer::initialSetup(), SolutionIC::initialSetup(), SideFVFluxBCIntegral::initialSetup(), ElementSubdomainModifierBase::initialSetup(), MultiAppVariableValueSamplePostprocessorTransfer::initialSetup(), MultiAppDofCopyTransfer::initialSetup(), initialSetup(), HistogramVectorPostprocessor::initialSetup(), ReferenceResidualConvergence::initialSetup(), PiecewiseConstantFromCSV::initialSetup(), LibtorchControlValuePostprocessor::initialSetup(), MultiAppGeneralFieldTransfer::initialSetup(), SampledOutput::initSample(), AddMetaDataGenerator::inputChecker(), IntegratedBC::IntegratedBC(), InterfaceDiffusiveFluxIntegralTempl< is_ad >::InterfaceDiffusiveFluxIntegralTempl(), InterfaceValueUserObjectAux::InterfaceValueUserObjectAux(), InternalSideIndicatorBase::InternalSideIndicatorBase(), InterpolatedStatefulMaterialTempl< T >::InterpolatedStatefulMaterialTempl(), InversePowerMethod::InversePowerMethod(), IterationAdaptiveDT::IterationAdaptiveDT(), MultiApp::keepSolutionDuringRestore(), Kernel::Kernel(), LibtorchNeuralNetControl::LibtorchNeuralNetControl(), LinearCombinationFunction::LinearCombinationFunction(), LinearFVAdvectionDiffusionFunctorRobinBC::LinearFVAdvectionDiffusionFunctorRobinBC(), LowerDIntegratedBC::LowerDIntegratedBC(), PNGOutput::makeMeshFunc(), MatCoupledForce::MatCoupledForce(), MaterialADConverterTempl< T >::MaterialADConverterTempl(), MaterialFunctorConverterTempl< T >::MaterialFunctorConverterTempl(), MatrixSymmetryCheck::MatrixSymmetryCheck(), PatternedMeshGenerator::mergeSubdomainNameMaps(), MeshCollectionGenerator::MeshCollectionGenerator(), MeshDiagnosticsGenerator::MeshDiagnosticsGenerator(), MeshDivisionAux::MeshDivisionAux(), MeshGenerator::MeshGenerator(), MeshGeneratorComponent::MeshGeneratorComponent(), MFEMGenericFunctorMaterial::MFEMGenericFunctorMaterial(), MFEMGenericFunctorVectorMaterial::MFEMGenericFunctorVectorMaterial(), MooseLinearVariableFV< Real >::MooseLinearVariableFV(), UserObjectInterface::mooseObjectError(), MoosePreconditioner::MoosePreconditioner(), MooseStaticCondensationPreconditioner::MooseStaticCondensationPreconditioner(), MooseVariableBase::MooseVariableBase(), MortarConstraintBase::MortarConstraintBase(), MortarNodalAuxKernelTempl< ComputeValueType >::MortarNodalAuxKernelTempl(), MultiApp::moveApp(), MoveNodeGenerator::MoveNodeGenerator(), MultiApp::MultiApp(), MultiAppCloneReporterTransfer::MultiAppCloneReporterTransfer(), MultiAppGeneralFieldNearestLocationTransfer(), MultiAppGeneralFieldShapeEvaluationTransfer::MultiAppGeneralFieldShapeEvaluationTransfer(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), MultiAppGeneralFieldUserObjectTransfer::MultiAppGeneralFieldUserObjectTransfer(), MultiAppGeometricInterpolationTransfer::MultiAppGeometricInterpolationTransfer(), MultiAppNearestNodeTransfer::MultiAppNearestNodeTransfer(), MultiAppPostprocessorInterpolationTransfer::MultiAppPostprocessorInterpolationTransfer(), MultiAppPostprocessorToAuxScalarTransfer::MultiAppPostprocessorToAuxScalarTransfer(), MultiAppPostprocessorTransfer::MultiAppPostprocessorTransfer(), MultiAppProjectionTransfer::MultiAppProjectionTransfer(), MultiAppReporterTransfer::MultiAppReporterTransfer(), MultiAppScalarToAuxScalarTransfer::MultiAppScalarToAuxScalarTransfer(), MultiAppShapeEvaluationTransfer::MultiAppShapeEvaluationTransfer(), MultiAppTransfer::MultiAppTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), MultiAppVariableValueSamplePostprocessorTransfer::MultiAppVariableValueSamplePostprocessorTransfer(), MultiAppVariableValueSampleTransfer::MultiAppVariableValueSampleTransfer(), MultiAppVectorPostprocessorTransfer::MultiAppVectorPostprocessorTransfer(), MultiSystemSolveObject::MultiSystemSolveObject(), NearestNodeValueAux::NearestNodeValueAux(), NEML2Action::NEML2Action(), NestedDivision::NestedDivision(), NodalBC::NodalBC(), NodalEqualValueConstraint::NodalEqualValueConstraint(), NodalKernel::NodalKernel(), NodalPatchRecoveryAux::NodalPatchRecoveryAux(), NodalValueSampler::NodalValueSampler(), Output::Output(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedFunctorMaterialTempl< is_ad >::ParsedFunctorMaterialTempl(), ParsedPostprocessor::ParsedPostprocessor(), PatternedMeshGenerator::PatternedMeshGenerator(), PenaltyPeriodicSegmentalConstraint::PenaltyPeriodicSegmentalConstraint(), PeriodicSegmentalConstraint::PeriodicSegmentalConstraint(), PIDTransientControl::PIDTransientControl(), PlaneDeletionGenerator::PlaneDeletionGenerator(), PlaneIDMeshGenerator::PlaneIDMeshGenerator(), PointwiseRenormalizeVector::PointwiseRenormalizeVector(), PolyLineMeshGenerator::PolyLineMeshGenerator(), ReporterInterface::possiblyCheckHasReporter(), VectorPostprocessorInterface::possiblyCheckHasVectorPostprocessor(), LibmeshPartitioner::prepareBlocksForSubdomainPartitioner(), ProjectedMaterialPropertyNodalPatchRecoveryAux::ProjectedMaterialPropertyNodalPatchRecoveryAux(), ProjectionAux::ProjectionAux(), PropertyReadFile::PropertyReadFile(), RandomIC::RandomIC(), MultiApp::readCommandLineArguments(), PropertyReadFile::readData(), SolutionUserObjectBase::readXda(), ReferenceResidualConvergence::ReferenceResidualConvergence(), RefineBlockGenerator::RefineBlockGenerator(), RefineSidesetGenerator::RefineSidesetGenerator(), RenameBlockGenerator::RenameBlockGenerator(), RenameBoundaryGenerator::RenameBoundaryGenerator(), ReporterPointSource::ReporterPointSource(), FEProblemBase::restoreSolutions(), SecondTimeDerivativeAux::SecondTimeDerivativeAux(), FEProblemBase::setLinearConvergenceNames(), FEProblemBase::setNonlinearConvergenceNames(), MooseMesh::setPartitioner(), NodeSetsGeneratorBase::setup(), SideSetsGeneratorBase::setup(), NEML2Action::setupDerivativeMappings(), NEML2Action::setupParameterDerivativeMappings(), TimeSequenceStepperBase::setupSequence(), SidesetAroundSubdomainUpdater::SidesetAroundSubdomainUpdater(), SideSetsFromBoundingBoxGenerator::SideSetsFromBoundingBoxGenerator(), SideValueSampler::SideValueSampler(), SingleRankPartitioner::SingleRankPartitioner(), SphericalGridDivision::SphericalGridDivision(), StitchBoundaryMeshGenerator::StitchBoundaryMeshGenerator(), StitchMeshGenerator::StitchMeshGenerator(), SymmetryTransformGenerator::SymmetryTransformGenerator(), Terminator::Terminator(), TimeDerivativeAux::TimeDerivativeAux(), Transfer::Transfer(), TransformGenerator::TransformGenerator(), TransientMultiApp::TransientMultiApp(), ParsedCurveGenerator::tSectionSpaceDefiner(), UniqueExtraIDMeshGenerator::UniqueExtraIDMeshGenerator(), UserObject::UserObject(), Checkpoint::validateExecuteOn(), ParsedAux::validateGenericVectorNames(), ParsedMaterialBase::validateVectorNames(), FunctorIC::value(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), VectorBodyForce::VectorBodyForce(), VectorFunctionDirichletBC::VectorFunctionDirichletBC(), VectorFunctionIC::VectorFunctionIC(), VolumeAux::VolumeAux(), WebServerControl::WebServerControl(), XYDelaunayGenerator::XYDelaunayGenerator(), XYMeshLineCutter::XYMeshLineCutter(), and XYZDelaunayGenerator::XYZDelaunayGenerator().

436 {
437  _pars.paramError(param, std::forward<Args>(args)...);
438 }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:362
void paramError(const std::string &param, Args... args) const
Emits a parameter error prefixed with the parameter location and object information if available...

◆ parameters()

const InputParameters& MooseBase::parameters ( ) const
inlineinherited

Get the parameters of the object.

Returns
The parameters of the object

Definition at line 127 of file MooseBase.h.

Referenced by MeshOnlyAction::act(), SplitMeshAction::act(), SetupDebugAction::act(), AddActionComponentAction::act(), CommonOutputAction::act(), Action::Action(), FEProblemBase::addAnyRedistributers(), MFEMProblem::addAuxKernel(), FEProblemBase::addAuxKernel(), FEProblemBase::addAuxScalarKernel(), MFEMProblem::addAuxVariable(), DisplacedProblem::addAuxVariable(), MFEMProblem::addBoundaryCondition(), FEProblemBase::addBoundaryCondition(), FEProblemBase::addConstraint(), FEProblemBase::addConvergence(), FEProblemBase::addDamper(), AddDefaultConvergenceAction::addDefaultMultiAppFixedPointConvergence(), FEProblemBase::addDefaultMultiAppFixedPointConvergence(), ReferenceResidualProblem::addDefaultNonlinearConvergence(), AddDefaultConvergenceAction::addDefaultNonlinearConvergence(), FEProblemBase::addDefaultNonlinearConvergence(), AddDefaultConvergenceAction::addDefaultSteadyStateConvergence(), FEProblemBase::addDefaultSteadyStateConvergence(), FEProblemBase::addDGKernel(), FEProblemBase::addDiracKernel(), FEProblemBase::addDistribution(), MFEMProblem::addFESpace(), MFEMProblem::addFunction(), FEProblemBase::addFunction(), MFEMProblem::addFunctorMaterial(), FEProblemBase::addFunctorMaterial(), FEProblemBase::addFVBC(), FEProblemBase::addFVInitialCondition(), FEProblemBase::addFVInterfaceKernel(), FEProblemBase::addFVKernel(), MFEMProblem::addGridFunction(), FEProblemBase::addHDGKernel(), FEProblemBase::addIndicator(), MFEMProblem::addInitialCondition(), FEProblemBase::addInitialCondition(), DiffusionPhysicsBase::addInitialConditions(), FEProblemBase::addInterfaceKernel(), FEProblemBase::addInterfaceMaterial(), MFEMProblem::addKernel(), FEProblemBase::addKernel(), FEProblemBase::addLinearFVBC(), FEProblemBase::addLinearFVKernel(), FEProblem::addLineSearch(), FEProblemBase::addMarker(), FEProblemBase::addMaterial(), FEProblemBase::addMaterialHelper(), FEProblemBase::addMeshDivision(), MFEMProblem::addMFEMFESpaceFromMOOSEVariable(), MFEMProblem::addMFEMPreconditioner(), MFEMProblem::addMFEMSolver(), FEProblemBase::addMultiApp(), FEProblemBase::addNodalKernel(), FEProblemBase::addObject(), FEProblemBase::addObjectParamsHelper(), FEProblemBase::addOutput(), MFEMProblem::addPostprocessor(), FEProblemBase::addPostprocessor(), FEProblemBase::addPredictor(), FEProblemBase::addReporter(), FEProblemBase::addSampler(), FEProblemBase::addScalarKernel(), MFEMProblem::addSubMesh(), FEProblemBase::addTimeIntegrator(), MFEMProblem::addTransfer(), FEProblemBase::addTransfer(), FEProblemBase::addUserObject(), MFEMProblem::addVariable(), DisplacedProblem::addVariable(), FEProblemBase::addVectorPostprocessor(), ADPiecewiseLinearInterpolationMaterial::ADPiecewiseLinearInterpolationMaterial(), AdvancedOutput::AdvancedOutput(), ADVectorFunctionDirichletBC::ADVectorFunctionDirichletBC(), AnnularMesh::AnnularMesh(), AnnularMeshGenerator::AnnularMeshGenerator(), Action::associateWithParameter(), AuxKernelTempl< Real >::AuxKernelTempl(), AuxScalarKernel::AuxScalarKernel(), BoundsBase::BoundsBase(), MooseMesh::buildTypedMesh(), PostprocessorInterface::checkParam(), AddDefaultConvergenceAction::checkUnusedMultiAppFixedPointConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedNonlinearConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedSteadyStateConvergenceParameters(), SampledOutput::cloneMesh(), LibtorchNeuralNetControl::conditionalParameterError(), Console::Console(), CommonOutputAction::create(), MultiApp::createApp(), Postprocessor::declareValue(), DumpObjectsProblem::deduceNecessaryParameters(), DefaultMultiAppFixedPointConvergence::DefaultMultiAppFixedPointConvergence(), DumpObjectsProblem::dumpObjectHelper(), DumpObjectsProblem::DumpObjectsProblem(), EigenProblem::EigenProblem(), Eigenvalue::Eigenvalue(), ElementMaterialSampler::ElementMaterialSampler(), ExamplePatchMeshGenerator::ExamplePatchMeshGenerator(), Executor::Executor(), Exodus::Exodus(), FEProblem::FEProblem(), FixedPointSolve::FixedPointSolve(), FunctorSmootherTempl< T >::FunctorSmootherTempl(), GapValueAux::GapValueAux(), ParsedSubdomainGeneratorBase::generate(), ActionWarehouse::getCurrentActionName(), ExecutorInterface::getExecutor(), Material::getMaterial(), ReporterInterface::getReporterName(), Reporter::getReporterValueName(), UserObjectInterface::getUserObjectName(), VectorPostprocessorInterface::getVectorPostprocessorName(), GhostingUserObject::GhostingUserObject(), MeshGeneratorSystem::hasDataDrivenAllowed(), AttribSystem::initFrom(), AttribDisplaced::initFrom(), BlockRestrictable::initializeBlockRestrictable(), FullSolveMultiApp::initialSetup(), FEProblemBase::initNullSpaceVectors(), InterfaceDiffusiveFluxIntegralTempl< is_ad >::InterfaceDiffusiveFluxIntegralTempl(), InterfaceIntegralVariableValuePostprocessor::InterfaceIntegralVariableValuePostprocessor(), InterfaceKernelTempl< T >::InterfaceKernelTempl(), isValid(), IterationAdaptiveDT::IterationAdaptiveDT(), LibtorchNeuralNetControl::LibtorchNeuralNetControl(), MFEMCGSolver::MFEMCGSolver(), MFEMGMRESSolver::MFEMGMRESSolver(), MFEMHypreADS::MFEMHypreADS(), MFEMHypreAMS::MFEMHypreAMS(), MFEMHypreBoomerAMG::MFEMHypreBoomerAMG(), MFEMHypreFGMRES::MFEMHypreFGMRES(), MFEMHypreGMRES::MFEMHypreGMRES(), MFEMHyprePCG::MFEMHyprePCG(), MFEMOperatorJacobiSmoother::MFEMOperatorJacobiSmoother(), MFEMSuperLU::MFEMSuperLU(), MooseObject::MooseObject(), UserObjectInterface::mooseObjectError(), MooseVariableInterface< Real >::MooseVariableInterface(), MultiApp::MultiApp(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), MultiAppGeneralFieldUserObjectTransfer::MultiAppGeneralFieldUserObjectTransfer(), MultiAppTransfer::MultiAppTransfer(), MultiAppVariableValueSamplePostprocessorTransfer::MultiAppVariableValueSamplePostprocessorTransfer(), NodeFaceConstraint::NodeFaceConstraint(), ConsoleUtils::outputLegacyInformation(), OverlayMeshGenerator::OverlayMeshGenerator(), MooseServer::parseDocumentForDiagnostics(), PenetrationAux::PenetrationAux(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), NEML2Action::printSummary(), ProjectedStatefulMaterialStorageAction::processProperty(), PropertyReadFile::PropertyReadFile(), PseudoTimestep::PseudoTimestep(), RandomIC::RandomIC(), ReferenceResidualConvergence::ReferenceResidualConvergence(), InputParameterWarehouse::removeInputParameters(), FEProblem::setInputParametersFEProblem(), FEProblemBase::setInputParametersFEProblem(), FEProblemBase::setResidualObjectParamsAndLog(), SideSetsGeneratorBase::setup(), NonlinearSystemBase::shouldEvaluatePreSMOResidual(), SideSetsFromBoundingBoxGenerator::SideSetsFromBoundingBoxGenerator(), Moose::PetscSupport::storePetscOptions(), DumpObjectsProblem::stringifyParameters(), TaggingInterface::TaggingInterface(), Transfer::Transfer(), TransientBase::TransientBase(), VectorBodyForce::VectorBodyForce(), VectorFunctionDirichletBC::VectorFunctionDirichletBC(), VectorFunctionIC::VectorFunctionIC(), VectorMagnitudeFunctorMaterialTempl< is_ad >::VectorMagnitudeFunctorMaterialTempl(), and MooseApp::~MooseApp().

127 { return _pars; }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:362

◆ paramInfo()

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

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

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

Definition at line 449 of file MooseBase.h.

Referenced by GridPartitioner::_do_partition(), ComboMarker::ComboMarker(), Control::Control(), FunctorIC::FunctorIC(), and TransientMultiApp::TransientMultiApp().

450 {
451  mooseInfo(_pars.paramMessage(param, std::forward<Args>(args)...));
452 }
std::string paramMessage(const std::string &param, Args... args) const
void mooseInfo(Args &&... args) const
Definition: MooseBase.h:317
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:362

◆ paramWarning()

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

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

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

Definition at line 442 of file MooseBase.h.

Referenced by GridPartitioner::_do_partition(), MultiAppTransfer::checkParentAppUserObjectExecuteOn(), EigenProblem::checkProblemIntegrity(), CombinerGenerator::copyIntoMesh(), DefaultMultiAppFixedPointConvergence::DefaultMultiAppFixedPointConvergence(), MultiAppNearestNodeTransfer::execute(), FEProblemSolve::FEProblemSolve(), UniqueExtraIDMeshGenerator::generate(), PlaneIDMeshGenerator::generate(), Terminator::initialSetup(), SampledOutput::initSample(), MooseMesh::MooseMesh(), FEProblemBase::setPreserveMatrixSparsityPattern(), and Terminator::Terminator().

443 {
444  mooseWarning(_pars.paramMessage(param, std::forward<Args>(args)...));
445 }
std::string paramMessage(const std::string &param, Args... args) const
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:362
void mooseWarning(Args &&... args) const
Emits a warning prefixed with object name and type.
Definition: MooseBase.h:295

◆ perfGraph()

PerfGraph & PerfGraphInterface::perfGraph ( )
inherited

Get the PerfGraph.

Definition at line 78 of file PerfGraphInterface.C.

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

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

◆ performAdjustment()

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

Definition at line 526 of file MultiAppConservativeTransfer.C.

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

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

◆ possibleDirections()

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

Used to construct InputParameters.

Definition at line 76 of file Transfer.h.

Referenced by Transfer::validParams().

76 { return "to_multiapp from_multiapp between_multiapp"; }

◆ postExecute()

void MultiAppGeneralFieldTransfer::postExecute ( )
overridevirtualinherited

Add some extra work if necessary after execute().

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

Reimplemented from MultiAppConservativeTransfer.

Definition at line 481 of file MultiAppGeneralFieldTransfer.C.

Referenced by MultiAppGeneralFieldTransfer::execute().

482 {
486 }
virtual void postExecute()
Add some extra work if necessary after execute().
bool _search_value_conflicts
Whether to look for conflicts between origin points, multiple valid values for a target point...
bool _already_output_search_value_conflicts
Whether we already output the search value conflicts.

◆ prepareEvaluationOfInterpValues()

void MultiAppGeneralFieldNearestLocationTransfer::prepareEvaluationOfInterpValues ( const unsigned int  var_index)
overrideprotectedvirtual

Implements MultiAppGeneralFieldTransfer.

Definition at line 210 of file MultiAppGeneralFieldNearestLocationTransfer.C.

212 {
213  _local_kdtrees.clear();
214  _local_points.clear();
215  _local_values.clear();
216  buildKDTrees(var_index);
217 }
std::vector< std::vector< Point > > _local_points
All the nodes that meet the spatial restrictions in all the local source apps.
std::vector< std::vector< Real > > _local_values
Values of the variable being transferred at all the points in _local_points.
std::vector< std::shared_ptr< KDTree > > _local_kdtrees
KD-Trees for all the local source apps.

◆ queryParam()

template<typename T >
const T * MooseBase::queryParam ( const std::string &  name) const
inherited

Query a parameter for the object.

If the parameter is not valid, nullptr will be returned

Parameters
nameThe name of the parameter
Returns
A pointer to the parameter value, if it exists

Definition at line 391 of file MooseBase.h.

392 {
393  return isParamValid(name) ? &getParam<T>(name) : nullptr;
394 }
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:99
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
Definition: MooseBase.h:195

◆ registerConflict()

void MultiAppGeneralFieldTransfer::registerConflict ( unsigned int  problem,
dof_id_type  dof_id,
Point  p,
Real  dist,
bool  local 
)
protectedinherited

Register a potential value conflict, e.g.

two or more equidistant source points for a single target point, with different values possible

Parameters
problemproblem ID for the point of interest. For local conflicts, use origin problem id, for received conflicts, use target id
dof_idid id of the DoF is transferring a DoF. If not, use -1
ppoint where the conflict happens
distdistance between the origin and the target
localif true, local conflict found when gathering data to send, if false, received value conflict found when receiving data from multiple source problems

Definition at line 1030 of file MultiAppGeneralFieldTransfer.C.

Referenced by MultiAppGeneralFieldTransfer::cacheIncomingInterpVals(), evaluateInterpValuesNearestNode(), MultiAppGeneralFieldShapeEvaluationTransfer::evaluateInterpValuesWithMeshFunctions(), and MultiAppGeneralFieldUserObjectTransfer::evaluateInterpValuesWithUserObjects().

1032 {
1033  // NOTE We could be registering the same conflict several times, we could count them instead
1034  if (local)
1035  _local_conflicts.push_back(std::make_tuple(problem, dof_id, p, dist));
1036  else
1037  _received_conflicts.push_back(std::make_tuple(problem, dof_id, p, dist));
1038 }
std::vector< std::tuple< unsigned int, dof_id_type, Point, Real > > _local_conflicts
Keeps track of all local equidistant points to requested points, creating an indetermination in which...
std::vector< std::tuple< unsigned int, dof_id_type, Point, Real > > _received_conflicts
Keeps track of all received conflicts.

◆ registerInvalidSolutionInternal()

InvalidSolutionID SolutionInvalidInterface::registerInvalidSolutionInternal ( const std::string &  message,
const bool  warning 
) const
protectedinherited

Definition at line 41 of file SolutionInvalidInterface.C.

43 {
45  _si_moose_object.type(), message, warning);
46 }
InvalidSolutionID registerInvalidity(const std::string &object_type, const std::string &message, const bool warning)
Call to register an invalid calculation.
const std::string & type() const
Get the type of this class.
Definition: MooseBase.h:89
SolutionInvalidityRegistry & getSolutionInvalidityRegistry()
Get the global SolutionInvalidityRegistry singleton.
MooseObject & _si_moose_object
The MooseObject that owns this interface.

◆ registerTimedSection() [1/2]

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

Call to register a named section for timing.

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

Definition at line 53 of file PerfGraphInterface.C.

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

◆ registerTimedSection() [2/2]

PerfID PerfGraphInterface::registerTimedSection ( const std::string &  section_name,
const unsigned int  level,
const std::string &  live_message,
const bool  print_dots = true 
) const
protectedinherited

Call to register a named section for timing.

Parameters
section_nameThe name of the code section to be timed
levelThe importance of the timer - lower is more important (0 will always come out)
live_messageThe message to be printed to the screen during execution
print_dotsWhether or not progress dots should be printed for this section
Returns
The ID of the section - use when starting timing

Definition at line 64 of file PerfGraphInterface.C.

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

◆ residualSetup()

void SetupInterface::residualSetup ( )
virtualinherited

◆ restartableName()

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

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

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

Definition at line 66 of file Restartable.C.

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

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

◆ setCurrentDirection()

void Transfer::setCurrentDirection ( const int  direction)
inlineinherited

Set this Transfer to be executed in a given direction.

Definition at line 89 of file Transfer.h.

Referenced by FEProblemBase::execMultiAppTransfers().

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

◆ subdomainSetup()

void SetupInterface::subdomainSetup ( )
virtualinherited

Gets called when the subdomain changes (i.e.

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

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

Definition at line 61 of file SetupInterface.C.

62 {
63 }

◆ timedSectionName()

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

Optionally adds a prefix if one is defined.

Definition at line 47 of file PerfGraphInterface.C.

Referenced by PerfGraphInterface::registerTimedSection().

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

◆ timestepSetup()

void SetupInterface::timestepSetup ( )
virtualinherited

◆ transformBoundingBox()

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

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

Definition at line 460 of file MultiAppTransfer.C.

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

461 {
462  MultiApp::transformBoundingBox(box, transform);
463 }
static void transformBoundingBox(libMesh::BoundingBox &box, const MultiAppCoordTransform &transform)
Transform a bounding box according to the transformations in the provided coordinate transformation o...
Definition: MultiApp.C:902

◆ type()

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

Get the type of this class.

Returns
the name of the type of this class

Definition at line 89 of file MooseBase.h.

Referenced by CreateProblemDefaultAction::act(), SetupDebugAction::act(), MaterialDerivativeTestAction::act(), MaterialOutputAction::act(), FEProblemBase::addAuxArrayVariable(), FEProblemBase::addAuxScalarVariable(), FEProblemBase::addAuxVariable(), FEProblemBase::addConvergence(), FEProblemBase::addDistribution(), MooseApp::addExecutor(), MooseApp::addExecutorParams(), MFEMProblem::addFunction(), FEProblemBase::addFunction(), FEProblemBase::addMeshDivision(), MooseApp::addMeshGenerator(), MeshGenerator::addMeshSubgenerator(), FEProblemBase::addObject(), MFEMProblem::addPostprocessor(), FEProblemBase::addPredictor(), CreateDisplacedProblemAction::addProxyRelationshipManagers(), FEProblemBase::addReporter(), FEProblemBase::addSampler(), FEProblemBase::addTimeIntegrator(), MooseServer::addValuesToList(), DisplacedProblem::addVectorTag(), SubProblem::addVectorTag(), FEProblemBase::advanceMultiApps(), MooseApp::appendMeshGenerator(), AuxKernelTempl< Real >::AuxKernelTempl(), FEProblemBase::backupMultiApps(), BatchMeshGeneratorAction::BatchMeshGeneratorAction(), BoundaryPreservedMarker::BoundaryPreservedMarker(), DistributedRectilinearMeshGenerator::buildCube(), MooseMesh::buildHRefinementAndCoarseningMaps(), MooseMesh::buildLowerDMesh(), MooseMesh::buildPRefinementAndCoarseningMaps(), PhysicsBase::checkComponentType(), MeshDiagnosticsGenerator::checkNonConformalMeshFromAdaptivity(), ActionComponent::checkRequiredTasks(), PhysicsBase::checkRequiredTasks(), ADDGKernel::computeElemNeighJacobian(), DGKernel::computeElemNeighJacobian(), ElemElemConstraint::computeElemNeighJacobian(), ArrayDGKernel::computeElemNeighJacobian(), ADDGKernel::computeElemNeighResidual(), DGKernel::computeElemNeighResidual(), ElemElemConstraint::computeElemNeighResidual(), ArrayDGKernel::computeElemNeighResidual(), LowerDIntegratedBC::computeLowerDJacobian(), ArrayLowerDIntegratedBC::computeLowerDJacobian(), DGLowerDKernel::computeLowerDJacobian(), ArrayDGLowerDKernel::computeLowerDJacobian(), LowerDIntegratedBC::computeLowerDOffDiagJacobian(), ArrayLowerDIntegratedBC::computeLowerDOffDiagJacobian(), ArrayHFEMDirichletBC::computeLowerDQpJacobian(), ArrayHFEMDiffusion::computeLowerDQpJacobian(), HFEMDirichletBC::computeLowerDQpJacobian(), HFEMDiffusion::computeLowerDQpJacobian(), ArrayHFEMDirichletBC::computeLowerDQpOffDiagJacobian(), HFEMDirichletBC::computeLowerDQpOffDiagJacobian(), ArrayLowerDIntegratedBC::computeLowerDQpOffDiagJacobian(), ArrayDGLowerDKernel::computeLowerDQpOffDiagJacobian(), FEProblemBase::computeMultiAppsDT(), ADDGKernel::computeOffDiagElemNeighJacobian(), DGKernel::computeOffDiagElemNeighJacobian(), ArrayDGKernel::computeOffDiagElemNeighJacobian(), DGLowerDKernel::computeOffDiagLowerDJacobian(), ArrayDGLowerDKernel::computeOffDiagLowerDJacobian(), DGConvection::computeQpJacobian(), ScalarKernel::computeQpJacobian(), InterfaceDiffusion::computeQpJacobian(), InterfaceReaction::computeQpJacobian(), ArrayDGDiffusion::computeQpJacobian(), CoupledTiedValueConstraint::computeQpJacobian(), TiedValueConstraint::computeQpJacobian(), DGDiffusion::computeQpJacobian(), LinearNodalConstraint::computeQpJacobian(), EqualValueBoundaryConstraint::computeQpJacobian(), CoupledTiedValueConstraint::computeQpOffDiagJacobian(), HFEMTestJump::computeQpOffDiagJacobian(), HFEMTrialJump::computeQpOffDiagJacobian(), ArrayDGKernel::computeQpOffDiagJacobian(), ArrayHFEMDiffusion::computeQpResidual(), DGConvection::computeQpResidual(), HFEMDiffusion::computeQpResidual(), ScalarKernel::computeQpResidual(), InterfaceDiffusion::computeQpResidual(), ADMatInterfaceReaction::computeQpResidual(), InterfaceReaction::computeQpResidual(), ADDGAdvection::computeQpResidual(), ArrayDGDiffusion::computeQpResidual(), CoupledTiedValueConstraint::computeQpResidual(), TiedValueConstraint::computeQpResidual(), LinearNodalConstraint::computeQpResidual(), DGDiffusion::computeQpResidual(), ADDGDiffusion::computeQpResidual(), HFEMTestJump::computeQpResidual(), HFEMTrialJump::computeQpResidual(), EqualValueBoundaryConstraint::computeQpResidual(), FEProblemBase::computeSystems(), FEProblemBase::computeUserObjectByName(), FEProblemBase::computeUserObjects(), FEProblemBase::computeUserObjectsInternal(), DisplacedProblem::createQRules(), FEProblemBase::createQRules(), MooseApp::createRecoverablePerfGraph(), DumpObjectsProblem::deduceNecessaryParameters(), DumpObjectsProblem::dumpObjectHelper(), FEProblemBase::duplicateVariableCheck(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), FEProblemBase::execTransfers(), WebServerControl::execute(), SteadyBase::execute(), ActionWarehouse::executeActionsWithAction(), FEProblemBase::finishMultiAppStep(), FVScalarLagrangeMultiplierInterface::FVScalarLagrangeMultiplierInterface(), MooseServer::gatherDocumentReferencesLocations(), LowerDBlockFromSidesetGenerator::generate(), SubdomainPerElementGenerator::generate(), PatternedMeshGenerator::generate(), MeshGenerator::generateInternal(), MultiAppTransfer::getAppInfo(), TransfiniteMeshGenerator::getEdge(), ElementGenerator::getElemType(), MooseServer::getInputLookupDefinitionNodes(), FEProblemBase::getMaterial(), FEProblemBase::getMaterialData(), MaterialOutputAction::getParams(), ReporterData::getReporterInfo(), FEProblemBase::getTransfers(), DisplacedProblem::getVectorTags(), SubProblem::getVectorTags(), CommonOutputAction::hasConsole(), FEProblemBase::hasMultiApps(), AdvancedOutput::hasOutput(), FEProblemBase::incrementMultiAppTStep(), AdvancedOutput::initAvailableLists(), FunctorPositions::initialize(), FunctorTimes::initialize(), MultiAppConservativeTransfer::initialSetup(), LinearFVAnisotropicDiffusion::initialSetup(), LinearFVDiffusion::initialSetup(), LinearFVAdvection::initialSetup(), ArrayDGDiffusion::initQpResidual(), AdvancedOutput::initShowHideLists(), RelationshipManager::isType(), FEProblemBase::logAdd(), MaterialFunctorConverterTempl< T >::MaterialFunctorConverterTempl(), MFEMProblem::mesh(), MooseObject::MooseObject(), MultiAppMFEMCopyTransfer::MultiAppMFEMCopyTransfer(), DisplacedProblem::numVectorTags(), SubProblem::numVectorTags(), Console::output(), AdvancedOutput::output(), ConsoleUtils::outputExecutionInformation(), SampledOutput::outputStep(), Output::outputStep(), FEProblemBase::outputStep(), MooseServer::parseDocumentForDiagnostics(), MooseMesh::prepare(), ProjectedStatefulMaterialStorageAction::processProperty(), MooseApp::recursivelyCreateExecutors(), SolutionInvalidInterface::registerInvalidSolutionInternal(), FEProblemBase::restoreMultiApps(), MeshRepairGenerator::separateSubdomainsByElementType(), FEProblemBase::setCoupling(), MooseApp::setupOptions(), ExplicitTVDRK2::solve(), ExplicitRK2::solve(), WebServerControl::startServer(), Reporter::store(), MooseBase::typeAndName(), ScalarKernelBase::uOld(), AuxScalarKernel::uOld(), DisplacedProblem::updateGeomSearch(), FEProblemBase::updateGeomSearch(), UserObjectInterface::userObjectType(), and AdvancedOutput::wantOutput().

90  {
91  mooseAssert(_type.size(), "Empty type");
92  return _type;
93  }
const std::string & _type
The type of this class.
Definition: MooseBase.h:356

◆ typeAndName()

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

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

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

Definition at line 54 of file MooseBase.C.

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

55 {
56  return type() + std::string(" \"") + name() + std::string("\"");
57 }
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:99
const std::string & type() const
Get the type of this class.
Definition: MooseBase.h:89

◆ uniqueName()

MooseObjectName MooseBase::uniqueName ( ) const
inherited
Returns
The unique name for accessing input parameters of this object in the InputParameterWarehouse

Definition at line 66 of file MooseBase.C.

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

67 {
68  if (!_pars.have_parameter<std::string>(unique_name_param))
69  mooseError("uniqueName(): Object does not have a unique name");
70  return MooseObjectName(_pars.get<std::string>(unique_name_param));
71 }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:362
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
static const std::string unique_name_param
The name of the parameter that contains the unique object name.
Definition: MooseBase.h:57
bool have_parameter(std::string_view name) const
A wrapper around the Parameters base class method.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
Definition: MooseBase.h:267
A class for storing the names of MooseObject by tag and object name.

◆ uniqueParameterName()

MooseObjectParameterName MooseBase::uniqueParameterName ( const std::string &  parameter_name) const
inherited
Returns
The unique parameter name of a valid parameter of this object for accessing parameter controls

Definition at line 60 of file MooseBase.C.

61 {
62  return MooseObjectParameterName(getBase(), name(), parameter_name);
63 }
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:99
A class for storing an input parameter name.
const std::string & getBase() const
Definition: MooseBase.h:143

◆ usesMooseAppCoordTransform()

bool MultiAppGeneralFieldNearestLocationTransfer::usesMooseAppCoordTransform ( ) const
inlineoverrideprivatevirtual

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

whether it uses the MooseAppCoordTransform object

Reimplemented from MultiAppTransfer.

Definition at line 44 of file MultiAppGeneralFieldNearestLocationTransfer.h.

44 { return true; }

◆ validParams()

InputParameters MultiAppGeneralFieldNearestLocationTransfer::validParams ( )
static

Definition at line 32 of file MultiAppGeneralFieldNearestLocationTransfer.C.

33 {
35  params.addClassDescription(
36  "Transfers field data at the MultiApp position by finding the value at the nearest "
37  "neighbor(s) in the origin application.");
38  params.addParam<unsigned int>("num_nearest_points",
39  1,
40  "Number of nearest source (from) points will be chosen to "
41  "construct a value for the target point. All points will be "
42  "selected from the same origin mesh!");
43 
44  // Nearest node is historically more an extrapolation transfer
45  params.set<Real>("extrapolation_constant") = GeneralFieldTransfer::BetterOutOfMeshValue;
46  params.suppressParameter<Real>("extrapolation_constant");
47  // We dont keep track of both point distance to app and to nearest node, so we cannot guarantee
48  // that the nearest app (among the local apps, not globally) will hold the nearest location.
49  // However, if the user knows this is true, we can use this heuristic to reduce the number of apps
50  // that are requested to provide a candidate value. If the user is wrong, then the nearest
51  // location is used, which can be from the non-nearest app.
52  params.renameParam("use_nearest_app", "assume_nearest_app_holds_nearest_location", "");
53 
54  // the default of node/centroid switching based on the variable is causing lots of mistakes and
55  // bad results
56  std::vector<MooseEnum> source_types = {
57  MooseEnum("nodes centroids variable_default", "variable_default")};
58  params.addParam<std::vector<MooseEnum>>(
59  "source_type", source_types, "Where to get the source values from for each source variable");
60 
61  // choose whether to include data from multiple apps when performing nearest-position/
62  // mesh-divisions based transfers
63  params.addParam<bool>("group_subapps",
64  false,
65  "Whether to group source locations and values from all subapps "
66  "when considering a nearest-position algorithm");
67 
68  return params;
69 }
void renameParam(const std::string &old_name, const std::string &new_name, const std::string &new_docstring)
Rename a parameter and provide a new documentation string.
T & set(const std::string &name, bool quiet_mode=false)
Returns a writable reference to the named parameters.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
void suppressParameter(const std::string &name)
This method suppresses an inherited parameter so that it isn&#39;t required or valid in the derived class...
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition: MooseEnum.h:33
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void addClassDescription(const std::string &doc_string)
This method adds a description of the class that will be displayed in the input file syntax dump...
void addParam(const std::string &name, const S &value, const std::string &doc_string)
These methods add an optional parameter and a documentation string to the InputParameters object...

◆ variableIntegrityCheck()

void MultiAppTransfer::variableIntegrityCheck ( const AuxVariableName &  var_name,
bool  is_from_multiapp 
) const
inherited

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

Definition at line 197 of file MultiAppTransfer.C.

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

199 {
200  bool variable_found = false;
201  bool has_an_app = false;
202 
203  // Check the from_multi_app for the variable
204  if (is_from_multiapp && _from_multi_app)
205  for (unsigned int i = 0; i < _from_multi_app->numGlobalApps(); i++)
206  if (_from_multi_app->hasLocalApp(i))
207  {
208  has_an_app = true;
209  if (_from_multi_app->appProblemBase(i).hasVariable(var_name))
210  variable_found = true;
211  }
212 
213  // Check the to_multi_app for the variable
214  if (!is_from_multiapp && _to_multi_app)
215  for (unsigned int i = 0; i < _to_multi_app->numGlobalApps(); i++)
216  if (_to_multi_app->hasLocalApp(i))
217  {
218  has_an_app = true;
219  if (_to_multi_app->appProblemBase(i).hasVariable(var_name))
220  variable_found = true;
221  }
222 
223  if (!variable_found && has_an_app)
224  mooseError("Cannot find variable ", var_name, " for ", name(), " Transfer");
225 }
std::shared_ptr< MultiApp > _from_multi_app
The MultiApps this Transfer is transferring data to or from.
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:99
std::shared_ptr< MultiApp > _to_multi_app
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
Definition: MooseBase.h:267

Member Data Documentation

◆ _action_factory

ActionFactory& ParallelParamObject::_action_factory
protectedinherited

◆ _already_output_search_value_conflicts

bool MultiAppGeneralFieldTransfer::_already_output_search_value_conflicts
protectedinherited

Whether we already output the search value conflicts.

Definition at line 272 of file MultiAppGeneralFieldTransfer.h.

Referenced by MultiAppGeneralFieldTransfer::postExecute(), and MultiAppGeneralFieldTransfer::prepareToTransfer().

◆ _app

MooseApp& MooseBase::_app
protectedinherited

The MOOSE application this is associated with.

Definition at line 353 of file MooseBase.h.

◆ _console

const ConsoleStream ConsoleStreamInterface::_console
inherited

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

Definition at line 31 of file ConsoleStreamInterface.h.

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

◆ _current_direction

MooseEnum Transfer::_current_direction
protectedinherited

◆ _current_execute_flag

const ExecFlagType& SetupInterface::_current_execute_flag
protectedinherited

Reference to FEProblemBase.

Definition at line 78 of file SetupInterface.h.

Referenced by PseudoTimestep::execute().

◆ _direction

MooseEnum Transfer::_direction
protectedinherited

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

Definition at line 105 of file Transfer.h.

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

◆ _directions

MultiMooseEnum Transfer::_directions
protectedinherited

◆ _displaced_source_mesh

bool MultiAppTransfer::_displaced_source_mesh
protectedinherited

◆ _displaced_target_mesh

bool MultiAppTransfer::_displaced_target_mesh
protectedinherited

◆ _elemental_boundary_restriction_on_sides

const bool MultiAppGeneralFieldTransfer::_elemental_boundary_restriction_on_sides
protectedinherited

Whether elemental variable boundary restriction is considered by element side or element nodes.

Definition at line 254 of file MultiAppGeneralFieldTransfer.h.

◆ _enabled

const bool& MooseObject::_enabled
protectedinherited

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

Definition at line 50 of file MooseObject.h.

Referenced by MooseObject::enabled().

◆ _execute_enum

const ExecFlagEnum& SetupInterface::_execute_enum
protectedinherited

◆ _factory

Factory& ParallelParamObject::_factory
protectedinherited

◆ _fe_problem

FEProblemBase& Transfer::_fe_problem
protectedinherited

◆ _from_blocks

std::set<SubdomainID> MultiAppGeneralFieldTransfer::_from_blocks
protectedinherited

◆ _from_boundaries

std::set<BoundaryID> MultiAppGeneralFieldTransfer::_from_boundaries
protectedinherited

◆ _from_es

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

Definition at line 148 of file MultiAppTransfer.h.

Referenced by MultiAppTransfer::getAppInfo().

◆ _from_local2global_map

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

◆ _from_mesh_division_behavior

const MooseEnum& MultiAppGeneralFieldTransfer::_from_mesh_division_behavior
protectedinherited

◆ _from_mesh_divisions

std::vector<const MeshDivision *> MultiAppGeneralFieldTransfer::_from_mesh_divisions
protectedinherited

◆ _from_meshes

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

◆ _from_point_locators

std::vector<std::unique_ptr<libMesh::PointLocatorBase> > MultiAppGeneralFieldTransfer::_from_point_locators
protectedinherited

Point locators, useful to examine point location with regards to domain restriction.

Definition at line 257 of file MultiAppGeneralFieldTransfer.h.

Referenced by MultiAppGeneralFieldTransfer::acceptPointInOriginMesh(), checkRestrictionsForSource(), and MultiAppGeneralFieldTransfer::getAppInfo().

◆ _from_positions

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

◆ _from_postprocessors_to_be_preserved

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

Postprocessor evaluates an adjuster for the source physics.

Definition at line 51 of file MultiAppConservativeTransfer.h.

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

◆ _from_problems

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

◆ _from_transforms

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

◆ _from_var_components

const std::vector<unsigned int> MultiAppGeneralFieldTransfer::_from_var_components
protectedinherited

◆ _from_var_name

VariableName MultiAppConservativeTransfer::_from_var_name
protectedinherited

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

Definition at line 45 of file MultiAppConservativeTransfer.h.

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

◆ _from_var_names

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

◆ _global_app_start_per_proc

std::vector<unsigned int> MultiAppGeneralFieldTransfer::_global_app_start_per_proc
protectedinherited

First app each processor owns, indexed by processor If no app on the processor, will have a -1 for the app start instead.

Definition at line 261 of file MultiAppGeneralFieldTransfer.h.

Referenced by MultiAppGeneralFieldTransfer::locatePointReceivers(), and MultiAppGeneralFieldTransfer::prepareToTransfer().

◆ _greedy_search

bool MultiAppGeneralFieldTransfer::_greedy_search
protectedinherited

Whether or not a greedy strategy will be used If true, all the partitions will be checked for a given outgoing point.

Definition at line 266 of file MultiAppGeneralFieldTransfer.h.

Referenced by MultiAppGeneralFieldTransfer::locatePointReceivers().

◆ _group_subapps

const bool MultiAppGeneralFieldNearestLocationTransfer::_group_subapps
private

◆ _local_kdtrees

std::vector<std::shared_ptr<KDTree> > MultiAppGeneralFieldNearestLocationTransfer::_local_kdtrees
private

KD-Trees for all the local source apps.

Definition at line 92 of file MultiAppGeneralFieldNearestLocationTransfer.h.

Referenced by buildKDTrees(), evaluateInterpValuesNearestNode(), and prepareEvaluationOfInterpValues().

◆ _local_points

std::vector<std::vector<Point> > MultiAppGeneralFieldNearestLocationTransfer::_local_points
private

All the nodes that meet the spatial restrictions in all the local source apps.

Definition at line 98 of file MultiAppGeneralFieldNearestLocationTransfer.h.

Referenced by buildKDTrees(), evaluateInterpValuesNearestNode(), and prepareEvaluationOfInterpValues().

◆ _local_positions_kdtrees

std::vector<std::vector<std::shared_ptr<KDTree> > > MultiAppGeneralFieldNearestLocationTransfer::_local_positions_kdtrees
private

KD-Trees for nodes nearest to a given position on each local source app.

Definition at line 95 of file MultiAppGeneralFieldNearestLocationTransfer.h.

◆ _local_values

std::vector<std::vector<Real> > MultiAppGeneralFieldNearestLocationTransfer::_local_values
private

Values of the variable being transferred at all the points in _local_points.

Definition at line 101 of file MultiAppGeneralFieldNearestLocationTransfer.h.

Referenced by buildKDTrees(), evaluateInterpValuesNearestNode(), and prepareEvaluationOfInterpValues().

◆ _multi_app

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

◆ _name

const std::string& MooseBase::_name
protectedinherited

The name of this class.

Definition at line 359 of file MooseBase.h.

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

◆ _nearest_positions_obj

const Positions* MultiAppGeneralFieldTransfer::_nearest_positions_obj
protectedinherited

◆ _num_nearest_points

unsigned int MultiAppGeneralFieldNearestLocationTransfer::_num_nearest_points
private

Number of points to consider.

Definition at line 104 of file MultiAppGeneralFieldNearestLocationTransfer.h.

Referenced by evaluateInterpValuesNearestNode().

◆ _num_sources

unsigned int MultiAppGeneralFieldNearestLocationTransfer::_num_sources
private

Number of KD-Trees to create.

Definition at line 116 of file MultiAppGeneralFieldNearestLocationTransfer.h.

Referenced by buildKDTrees(), computeNumSources(), and evaluateInterpValuesNearestNode().

◆ _pars

const InputParameters& MooseBase::_pars
protectedinherited

The object's parameters.

Definition at line 362 of file MooseBase.h.

Referenced by AddFVICAction::act(), AddICAction::act(), CreateProblemDefaultAction::act(), CreateProblemAction::act(), SetupMeshAction::act(), ComposeTimeStepperAction::act(), SetupDebugAction::act(), AddAuxKernelAction::act(), AddPeriodicBCAction::act(), CommonOutputAction::act(), FunctorMaterial::addFunctorPropertyByBlocks(), BreakMeshByBlockGeneratorBase::BreakMeshByBlockGeneratorBase(), PiecewiseTabularBase::buildFromFile(), PNGOutput::calculateRescalingValues(), MooseBase::callMooseError(), MooseBase::connectControllableParams(), Console::Console(), MooseApp::copyInputs(), MaterialBase::declareADProperty(), MaterialBase::declareProperty(), FEProblemSolve::FEProblemSolve(), FunctionMaterialBase< is_ad >::FunctionMaterialBase(), FileMeshGenerator::generate(), MooseBase::getBase(), MooseBase::getCheckedPointerParam(), MaterialBase::getGenericZeroMaterialProperty(), MooseBase::getHitNode(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), MooseBase::getParam(), MooseBase::hasBase(), MeshGenerator::hasGenerateData(), AddVariableAction::init(), AdvancedOutput::initExecutionTypes(), Console::initialSetup(), MooseBase::isParamSetByUser(), MooseBase::isParamValid(), MultiApp::keepSolutionDuringRestore(), MooseBase::messagePrefix(), MooseBase::MooseBase(), MooseApp::outputMachineReadableData(), MooseBase::paramError(), GlobalParamsAction::parameters(), MooseBase::parameters(), MooseBase::paramInfo(), MooseBase::paramWarning(), MooseMesh::prepare(), Eigenvalue::prepareSolverOptions(), MooseMesh::setCoordSystem(), MooseMesh::setPartitionerHelper(), SetupMeshAction::setupMesh(), TransientBase::setupTimeIntegrator(), MooseApp::showInputs(), and MooseBase::uniqueName().

◆ _pg_moose_app

MooseApp& PerfGraphInterface::_pg_moose_app
protectedinherited

The MooseApp that owns the PerfGraph.

Definition at line 124 of file PerfGraphInterface.h.

Referenced by PerfGraphInterface::perfGraph().

◆ _prefix

const std::string PerfGraphInterface::_prefix
protectedinherited

A prefix to use for all sections.

Definition at line 127 of file PerfGraphInterface.h.

Referenced by PerfGraphInterface::timedSectionName().

◆ _preserve_transfer

bool MultiAppConservativeTransfer::_preserve_transfer
protectedinherited

If this transfer is going to conserve the physics.

Definition at line 49 of file MultiAppConservativeTransfer.h.

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

◆ _restartable_app

MooseApp& Restartable::_restartable_app
protectedinherited

Reference to the application.

Definition at line 227 of file Restartable.h.

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

◆ _restartable_read_only

const bool Restartable::_restartable_read_only
protectedinherited

Flag for toggling read only status (see ReporterData)

Definition at line 236 of file Restartable.h.

Referenced by Restartable::registerRestartableDataOnApp().

◆ _restartable_system_name

const std::string Restartable::_restartable_system_name
protectedinherited

The system name this object is in.

Definition at line 230 of file Restartable.h.

Referenced by Restartable::restartableName().

◆ _restartable_tid

const THREAD_ID Restartable::_restartable_tid
protectedinherited

The thread ID for this object.

Definition at line 233 of file Restartable.h.

Referenced by Restartable::declareRestartableDataHelper().

◆ _search_value_conflicts

bool MultiAppGeneralFieldTransfer::_search_value_conflicts
protectedinherited

◆ _search_value_conflicts_max_log

const unsigned int MultiAppGeneralFieldTransfer::_search_value_conflicts_max_log
protectedinherited

How many conflicts are output to console.

Definition at line 275 of file MultiAppGeneralFieldTransfer.h.

Referenced by MultiAppGeneralFieldTransfer::outputValueConflicts().

◆ _skip_coordinate_collapsing

const bool MultiAppTransfer::_skip_coordinate_collapsing
protectedinherited

◆ _source_app_must_contain_point

bool MultiAppGeneralFieldTransfer::_source_app_must_contain_point
protectedinherited

Whether the source app mesh must actually contain the points for them to be considered or whether the bounding box is enough.

If false, we can interpolate between apps

Definition at line 219 of file MultiAppGeneralFieldTransfer.h.

Referenced by MultiAppGeneralFieldTransfer::acceptPointInOriginMesh(), checkRestrictionsForSource(), MultiAppGeneralFieldNearestLocationTransfer(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), and MultiAppGeneralFieldUserObjectTransfer::MultiAppGeneralFieldUserObjectTransfer().

◆ _source_is_nodes

std::vector<bool> MultiAppGeneralFieldNearestLocationTransfer::_source_is_nodes
private

Whether the source of the values is at nodes (true) or centroids (false) for each variable.

Definition at line 110 of file MultiAppGeneralFieldNearestLocationTransfer.h.

Referenced by buildKDTrees(), and initialSetup().

◆ _subproblem

SubProblem& Transfer::_subproblem
protectedinherited

Definition at line 96 of file Transfer.h.

◆ _sys

SystemBase& Transfer::_sys
protectedinherited

Definition at line 98 of file Transfer.h.

◆ _tid

THREAD_ID Transfer::_tid
protectedinherited

◆ _to_blocks

std::set<SubdomainID> MultiAppGeneralFieldTransfer::_to_blocks
protectedinherited

◆ _to_boundaries

std::set<BoundaryID> MultiAppGeneralFieldTransfer::_to_boundaries
protectedinherited

Target boundary(ies) restriction.

Definition at line 228 of file MultiAppGeneralFieldTransfer.h.

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

◆ _to_es

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

◆ _to_local2global_map

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

◆ _to_mesh_division_behavior

const MooseEnum& MultiAppGeneralFieldTransfer::_to_mesh_division_behavior
protectedinherited

◆ _to_mesh_divisions

std::vector<const MeshDivision *> MultiAppGeneralFieldTransfer::_to_mesh_divisions
protectedinherited

◆ _to_meshes

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

◆ _to_positions

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

◆ _to_postprocessors_to_be_preserved

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

Postprocessor evaluates an adjuster for the target physics.

Definition at line 53 of file MultiAppConservativeTransfer.h.

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

◆ _to_problems

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

◆ _to_transforms

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

◆ _to_var_components

const std::vector<unsigned int> MultiAppGeneralFieldTransfer::_to_var_components
protectedinherited

◆ _to_var_name

AuxVariableName MultiAppConservativeTransfer::_to_var_name
protectedinherited

◆ _to_var_names

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

◆ _type

const std::string& MooseBase::_type
protectedinherited

◆ _use_bounding_boxes

const bool MultiAppGeneralFieldTransfer::_use_bounding_boxes
protectedinherited

◆ _use_nearest_app

const bool MultiAppGeneralFieldTransfer::_use_nearest_app
protectedinherited

◆ _use_zero_dof_for_value

std::vector<bool> MultiAppGeneralFieldNearestLocationTransfer::_use_zero_dof_for_value
private

Whether we can just use the local zero-indexed dof to get the value from the solution.

Definition at line 113 of file MultiAppGeneralFieldNearestLocationTransfer.h.

Referenced by buildKDTrees(), and initialSetup().

◆ app_param

const std::string MooseBase::app_param = "_moose_app"
staticinherited

◆ moose_base_param

const std::string MooseBase::moose_base_param = "_moose_base"
staticinherited

The name of the parameter that contains the moose system base.

Definition at line 61 of file MooseBase.h.

Referenced by InputParameters::getBase(), InputParameters::hasBase(), and InputParameters::registerBase().

◆ name_param

const std::string MooseBase::name_param = "_object_name"
staticinherited

◆ OutOfMeshValue

const Number Transfer::OutOfMeshValue = -999999
staticinherited

◆ type_param

const std::string MooseBase::type_param = "_type"
staticinherited

◆ unique_name_param

const std::string MooseBase::unique_name_param = "_unique_name"
staticinherited

The name of the parameter that contains the unique object name.

Definition at line 57 of file MooseBase.h.

Referenced by InputParameterWarehouse::addInputParameters(), AppFactory::create(), InputParameterWarehouse::removeInputParameters(), MooseBase::uniqueName(), and MooseBase::validParams().


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