https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
QuadraturePointMultiApp Class Reference

Automatically generates sub-App positions with elemental quadrature points of the parent mesh. More...

#include <QuadraturePointMultiApp.h>

Inheritance diagram for QuadraturePointMultiApp:
[legend]

Public Types

using DataFileParameterType = DataFileName
 The parameter type this interface expects for a data file name.
 

Public Member Functions

 QuadraturePointMultiApp (const InputParameters &parameters)
 
virtual NumericVector< Number > & appTransferVector (unsigned int app, std::string var_name) override
 Get the vector to transfer to for this MultiApp.
 
virtual void initialSetup () override
 Method to be called in main-app initial setup for create sub-apps if using positions is false.
 
virtual bool solveStep (Real dt, Real target_time, bool auto_advance=true) override
 Re-solve all of the Apps.
 
virtual void incrementTStep (Real target_time) override
 Advances the multi-apps time step which is important for dt selection.
 
virtual void finishStep (bool recurse_through_multiapp_levels=false) override
 Calls multi-apps executioners' endStep and postStep methods which creates output and advances time (not the time step; see incrementTStep()) among other things.
 
virtual void resetApp (unsigned int global_app, Real time) override
 "Reset" the App corresponding to the global App number passed in.
 
Real computeDT ()
 Finds the smallest dt from among any of the apps.
 
virtual void preExecute ()
 
virtual void finalize ()
 Method called towards the end of the simulation to execute on final.
 
virtual void postExecute ()
 Method called at the end of the simulation (after finalize).
 
void possiblyCreateChildApplications ()
 Called just after construction to allow derived classes to set _positions and create sub-apps accordingly.
 
void init (unsigned int num_apps, const LocalRankConfig &config)
 Build communicators and reserve backups using a custom rank configuration.
 
virtual void createLocalApp (const unsigned int i)
 Create the i-th local app.
 
virtual void preTransfer (Real dt, Real target_time)
 Gets called just before transfers are done to the MultiApp (Which is just before the MultiApp is solved).
 
virtual void backup ()
 Save off the state of every Sub App.
 
virtual void restore (bool force=true)
 Restore the state of every Sub App.
 
bool needsRestoration ()
 Whether or not this MultiApp should be restored at the beginning of each Picard iteration.
 
virtual Executioner * getExecutioner (unsigned int app)
 
virtual libMesh::BoundingBox getBoundingBox (unsigned int app, bool displaced_mesh, const MultiAppCoordTransform *coord_transform=nullptr)
 Get the BoundingBox for the mesh associated with app The bounding box will be shifted to be in the correct position within the master domain.
 
FEProblemBase & problemBase ()
 Get the FEProblemBase this MultiApp is part of.
 
FEProblemBase & appProblemBase (unsigned int app)
 Get the FEProblemBase for the global app desired.
 
FEProblem & appProblem (unsigned int app)
 Get the FEProblem for the global app is part of.
 
const UserObject & appUserObjectBase (unsigned int app, const std::string &name)
 Get a UserObject base for a specific global app.
 
Real appPostprocessorValue (unsigned int app, const std::string &name)
 Get a Postprocessor value for a specified global app.
 
unsigned int numGlobalApps () const
 
unsigned int numLocalApps ()
 
unsigned int firstLocalApp ()
 
bool isFirstLocalRank () const
 
bool hasApp ()
 Whether or not this MultiApp has an app on this processor.
 
bool hasLocalApp (unsigned int global_app) const
 Whether or not the given global app number is on this processor.
 
MooseApp * localApp (unsigned int local_app)
 Get the local MooseApp object.
 
const Point & position (unsigned int app) const
 The physical position of a global App number.
 
virtual void moveApp (unsigned int global_app, Point p)
 Move the global_app to Point p.
 
virtual void parentOutputPositionChanged ()
 For apps outputting in position we need to change their output positions if their parent app moves.
 
MPI_Comm & comm ()
 Get the MPI communicator this MultiApp is operating on.
 
const Parallel::Communicator & comm () const
 
bool isRootProcessor ()
 Whether or not this processor is the "root" processor for the sub communicator.
 
bool usingPositions () const
 Whether or not this MultiApp is using positions to track the number and location of the child applications.
 
bool runningInPosition () const
 Whether or not this MultiApp is being run in position, eg with the coordinate transform already applied.
 
void addAssociatedTransfer (MultiAppTransfer &transfer)
 Add a transfer that is associated with this multiapp.
 
void setAppOutputFileBase ()
 Sets all the app's output file bases.
 
virtual bool enabled () const
 Return the enabled status of the object.
 
std::shared_ptr< MooseObject > getSharedPtr ()
 Get another shared pointer to this object that has the same ownership group.
 
std::shared_ptr< const MooseObject > getSharedPtr () const
 
bool isKokkosObject () const
 Get whether this object is a Kokkos functor The parameter MooseBase::kokkos_object_param is set by the Kokkos base classes.
 
MooseApp & getMooseApp () const
 Get the MooseApp this class is associated with.
 
const std::string & type () const
 Get the type of this class.
 
const std::string & name () const
 Get the name of the class.
 
std::string typeAndName () const
 Get the class's combined type and name; useful in error handling.
 
MooseObjectParameterName uniqueParameterName (const std::string &parameter_name) const
 
MooseObjectName uniqueName () const
 
const InputParameters & parameters () const
 Get the parameters of the object.
 
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.
 
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.
 
template<typename T >
const T * queryParam (const std::string &name) const
 Query a parameter for the object.
 
template<typename T >
const T & getRenamedParam (const std::string &old_name, const std::string &new_name) const
 Retrieve a renamed parameter for the object.
 
template<typename T >
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.
 
bool isParamValid (const std::string &name) const
 Test if the supplied parameter is valid.
 
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.
 
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.
 
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.
 
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.
 
template<typename... Args>
void paramWarning (const std::string &param, Args... args) const
 
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.
 
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.
 
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.
 
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().
 
template<typename... Args>
void mooseWarning (Args &&... args) const
 Emits a warning prefixed with object name and type.
 
template<typename... Args>
void mooseWarning (Args &&... args) const
 
template<typename... Args>
void mooseWarningNonPrefixed (Args &&... args) const
 Emits a warning without the prefixing included in mooseWarning().
 
template<typename... Args>
void mooseWarningNonPrefixed (Args &&... args) const
 
template<typename... Args>
void mooseDeprecated (Args &&... args) const
 Emits a deprecation warning prefixed with the object name and type, and a stack trace.
 
template<typename... Args>
void mooseDeprecated (Args &&... args) const
 
template<typename... Args>
void mooseDeprecatedNoTrace (Args &&... args) const
 Emits a deprecation warning prefixed with the object name and type, and no stack trace.
 
template<typename... Args>
void mooseInfo (Args &&... args) const
 
void callMooseError (std::string msg, const bool with_prefix, const hit::Node *node=nullptr, const bool show_trace=true) const
 External method for calling moose error with added object context.
 
processor_id_type n_processors () const
 
processor_id_type processor_id () const
 
std::string getDataFileName (const std::string &param) const
 Deprecated method.
 
std::string getDataFileNameByName (const std::string &relative_path) const
 Deprecated method.
 
std::string getDataFilePath (const std::string &relative_path) const
 Returns the path of a data file for a given relative file path.
 
virtual void timestepSetup ()
 Gets called at the beginning of the timestep before this object is asked to do its job.
 
virtual void jacobianSetup ()
 Gets called just before the Jacobian is computed and before this object is asked to do its job.
 
virtual void residualSetup ()
 Gets called just before the residual is computed and before this object is asked to do its job.
 
virtual void subdomainSetup ()
 Gets called when the subdomain changes (i.e.
 
virtual void customSetup (const ExecFlagType &)
 Gets called in FEProblemBase::execute() for execute flags other than initial, timestep_begin, nonlinear, linear and subdomain.
 
const ExecFlagEnum & getExecuteOnEnum () const
 Return the execute on MultiMooseEnum for this object.
 
PerfGraph & perfGraph ()
 Get the PerfGraph.
 
const std::vector< SubdomainName > & blocks () const
 Return the block names for this object.
 
unsigned int numBlocks () const
 Return the number of blocks for this object.
 
virtual const std::set< SubdomainID > & blockIDs () const
 Return the block subdomain ids for this object Note, if this is not block restricted, this function returns all mesh subdomain ids.
 
unsigned int blocksMaxDimension () const
 Return the largest mesh dimension of the elements in the blocks for this object.
 
bool hasBlocks (const SubdomainName &name) const
 Test if the supplied block name is valid for this object.
 
bool hasBlocks (const std::vector< SubdomainName > &names) const
 Test if the supplied vector of block names are valid for this object.
 
bool hasBlocks (const std::set< SubdomainName > &names) const
 Test if the supplied set of block names are valid for this object.
 
bool hasBlocks (SubdomainID id) const
 Test if the supplied block ids are valid for this object.
 
bool hasBlocks (const std::vector< SubdomainID > &ids) const
 Test if the supplied vector block ids are valid for this object.
 
bool hasBlocks (const std::set< SubdomainID > &ids) const
 Test if the supplied set of block ids are valid for this object.
 
bool isBlockSubset (const std::set< SubdomainID > &ids) const
 Test if the class block ids are a subset of the supplied objects.
 
bool isBlockSubset (const std::vector< SubdomainID > &ids) const
 Test if the class block ids are a subset of the supplied objects.
 
template<typename T , bool is_ad = false>
bool hasBlockMaterialProperty (const std::string &prop_name)
 Check if a material property is valid for all blocks of this object.
 
const std::set< SubdomainID > & meshBlockIDs () const
 Return all of the SubdomainIDs for the mesh.
 
virtual bool blockRestricted () const
 Returns true if this object has been restricted to a block.
 
virtual void checkVariable (const MooseVariableBase &variable) const
 Helper for checking that the ids for this object are in agreement with the variables on the supplied variable.
 

Static Public Member Functions

static InputParameters validParams ()
 
static void transformBoundingBox (libMesh::BoundingBox &box, const MultiAppCoordTransform &transform)
 Transform a bounding box according to the transformations in the provided coordinate transformation object.
 
static void callMooseError (MooseApp *const app, const InputParameters &params, std::string msg, const bool with_prefix, const hit::Node *node, const bool show_trace=true)
 External method for calling moose error with added object context.
 

Public Attributes

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

Static Public Attributes

static const std::string type_param = "_type"
 The name of the parameter that contains the object type.
 
static const std::string name_param = "_object_name"
 The name of the parameter that contains the object name.
 
static const std::string unique_name_param = "_unique_name"
 The name of the parameter that contains the unique object name.
 
static const std::string app_param = "_moose_app"
 The name of the parameter that contains the MooseApp.
 
static const std::string moose_base_param = "_moose_base"
 The name of the parameter that contains the moose system base.
 
static const std::string kokkos_object_param = "_kokkos_object"
 The name of the parameter that indicates an object is a Kokkos functor.
 

Protected Member Functions

void fillPositions () override
 must fill in _positions with the positions of the sub-aps
 
void init (unsigned int num_apps, bool batch_mode=false)
 Build communicators and reserve backups.
 
void setAppOutputFileBase (unsigned int index)
 Set the output file base of the application which corresponds to the index passed to the function.
 
virtual std::vector< std::string > cliArgs () const
 function that provides cli_args to subapps
 
void readCommandLineArguments ()
 Fill command line arguments for sub apps.
 
void createApp (unsigned int i, Real start_time)
 Helper function for creating an App instance.
 
virtual bool propagateRecoverToSubApps () const
 Whether or not to propagate the parent's recover state (the –recover and –test-checkpoint-half-transient flags) to sub-applications.
 
void buildComm ()
 Create an MPI communicator suitable for each app.
 
unsigned int globalAppToLocal (unsigned int global_app)
 Map a global App number to the local number.
 
virtual void preRunInputFile ()
 call back executed right before app->runInputFile()
 
virtual std::vector< std::string > getCommandLineArgs (const unsigned int local_app)
 
void createApps ()
 Create the provided number of apps.
 
void keepSolutionDuringRestore (bool keep_solution_during_restore)
 Preserve the solution from the previous simulation, and it is used as an initial guess for the next run.
 
template<bool warning>
void flagInvalidSolutionInternal (const InvalidSolutionID invalid_solution_id) const
 Set solution invalid mark for the given solution ID.
 
InvalidSolutionID registerInvalidSolutionInternal (const std::string &message, const bool warning) const
 
template<typename T , typename... Args>
T & declareRestartableData (const std::string &data_name, Args &&... args)
 Declare a piece of data as "restartable" and initialize it.
 
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.
 
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.
 
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.
 
template<typename T , typename... Args>
T & declareRecoverableData (const std::string &data_name, Args &&... args)
 Declare a piece of data as "recoverable" and initialize it.
 
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".
 
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".
 
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.
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level) const
 Call to register a named section for timing.
 
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.
 
std::string timedSectionName (const std::string &section_name) const
 
virtual bool hasBlockMaterialPropertyHelper (const std::string &prop_name)
 A helper method to allow the Material object to specialize the behavior of hasBlockMaterialProperty.
 
void initializeBlockRestrictable (const MooseObject *moose_object)
 An initialization routine needed for dual constructors.
 
void initializeKokkosBlockRestrictable ()
 
Moose::CoordinateSystemType getBlockCoordSystem ()
 Check if the blocks this object operates on all have the same coordinate system, and if so return it.
 
KOKKOS_FUNCTION dof_id_type numKokkosBlockElements () const
 Get the number of elements this Kokkos object is operating on.
 
KOKKOS_FUNCTION dof_id_type numKokkosBlockNodes () const
 Get the number of nodes this Kokkos object is operating on.
 
KOKKOS_FUNCTION dof_id_type numKokkosBlockSides () const
 Get the number of sides this Kokkos object is operating on.
 
KOKKOS_FUNCTION ContiguousElementID kokkosBlockElementID (Moose::Kokkos::ThreadID tid) const
 Get the contiguous element ID this Kokkos thread is operating on.
 
KOKKOS_FUNCTION ContiguousElementID kokkosBlockNodeID (Moose::Kokkos::ThreadID tid) const
 Get the contiguous node index this Kokkos thread is operating on.
 
KOKKOS_FUNCTION auto kokkosBlockElementSideID (Moose::Kokkos::ThreadID tid) const
 Get the contiguous element ID - side index pair this Kokkos thread is operating on.
 

Static Protected Member Functions

static std::string getMultiAppName (const std::string &base_name, dof_id_type index, dof_id_type total)
 Helper for constructing the name of the multiapp.
 

Protected Attributes

FEProblemBase & _fe_problem
 The FEProblemBase this MultiApp is part of.
 
std::string _app_type
 The type of application to build.
 
std::vector< Point > _positions
 The positions of all of the apps, using input constant vectors (to be deprecated)
 
std::vector< const Positions * > _positions_objs
 The positions of all of the apps, using the Positions system.
 
std::vector< unsigned int > _positions_index_offsets
 The offsets, in case multiple Positions objects are specified.
 
const bool _use_positions
 Toggle use of "positions".
 
const bool _create_child_apps_on_initial_setup
 Whether we create child apps during the initialSetup() call or immediately after the multiapps construction (earlier)
 
std::vector< FileName > _input_files
 The input file for each app's simulation.
 
const bool & _wait_for_first_app_init
 Whether to create the first app on rank 0 while all other MPI ranks are idle.
 
std::vector< unsigned int > _npositions_inputfile
 Number of positions for each input file.
 
std::string _output_base
 The output file basename for each multiapp.
 
unsigned int _total_num_apps
 The total number of apps to simulate.
 
unsigned int _my_num_apps
 The number of apps this object is involved in simulating.
 
unsigned int _first_local_app
 The number of the first app on this processor.
 
const MPI_Comm & _orig_comm
 The original comm handle.
 
libMesh::Parallel::Communicator _my_communicator
 The communicator object that holds the MPI_Comm that we're going to use.
 
MPI_Comm & _my_comm
 The MPI communicator this object is going to use.
 
int _orig_num_procs
 The number of processors in the original comm.
 
int _orig_rank
 The mpi "rank" of this processor in the original communicator.
 
std::string _node_name
 Node Name.
 
int _my_rank
 The mpi "rank" of this processor in the sub communicator.
 
std::vector< std::shared_ptr< MooseApp > > _apps
 Pointers to each of the Apps.
 
std::vector< bool > _has_bounding_box
 Flag if this multi-app computed its bounding box (valid only for non-displaced meshes)
 
std::vector< libMesh::BoundingBox > _bounding_box
 This multi-app's bounding box.
 
Real _inflation
 Relative bounding box inflation.
 
Point _bounding_box_padding
 Additional padding added to the bounding box, useful for 1D meshes.
 
processor_id_type _max_procs_per_app
 Maximum number of processors to give to each app.
 
processor_id_type _min_procs_per_app
 Minimum number of processors to give to each app.
 
bool _output_in_position
 Whether or not to move the output of the MultiApp into position.
 
const Real _global_time_offset
 The offset time so the MultiApp local time relative to the global time.
 
std::vector< Real > _reset_times
 The times at which to reset apps.
 
std::vector< unsigned int > _reset_apps
 The apps to be reset.
 
std::vector< bool > _reset_happened
 Whether or not apps have been reset at each time.
 
Real _move_time
 The time at which to move apps.
 
std::vector< unsigned int > _move_apps
 The apps to be moved.
 
std::vector< Point > _move_positions
 The new positions for the apps to be moved.
 
bool _move_happened
 Whether or not the move has happened.
 
bool _has_an_app
 Whether or not this processor as an App at all
 
const std::vector< CLIArgString > & _cli_args
 CommandLine arguments (controllable!)
 
std::vector< std::string > _cli_args_from_file
 CommandLine arguments from files.
 
bool _keep_solution_during_restore
 Flag indicates if or not restart from the latest solution.
 
bool _keep_aux_solution_during_restore
 Flag indicates if or not restart the auxiliary system from the latest auxiliary solution.
 
const bool _no_restore
 Whether or not to skip restoring completely.
 
std::vector< std::vector< std::unique_ptr< libMesh::NumericVector< Real > > > > _end_solutions
 The solution from the end of the previous solve, this is cloned from the Nonlinear solution during restore Outer indexing by child application, inner indexing by solver system.
 
std::vector< std::unique_ptr< NumericVector< Real > > > _end_aux_solutions
 The auxiliary solution from the end of the previous solve, this is cloned from the auxiliary solution during restore.
 
LocalRankConfig _rank_config
 The app configuration resulting from calling init.
 
std::vector< MultiAppTransfer * > _associated_transfers
 Transfers associated with this multiapp.
 
const bool _run_in_position
 Whether to run the child apps with their meshes transformed with the coordinate transforms.
 
SubAppBackups & _sub_app_backups
 The cached subapp backups (passed from the parent app)
 
const PerfID _solve_step_timer
 Timers.
 
const PerfID _init_timer
 
const PerfID _backup_timer
 
const PerfID _restore_timer
 
const PerfID _reset_timer
 
const bool & _enabled
 Reference to the "enable" InputParameters, used by Controls for toggling on/off MooseObjects.
 
MooseApp & _app
 The MOOSE application this is associated with.
 
Factory & _factory
 The Factory associated with the MooseApp.
 
ActionFactory & _action_factory
 Builds Actions.
 
const std::string & _type
 The type of this class.
 
const std::string & _name
 The name of this class.
 
const InputParameters & _pars
 The object's parameters.
 
const Parallel::Communicator & _communicator
 
const ExecFlagEnum & _execute_enum
 Execute settings for this object.
 
const ExecFlagType & _current_execute_flag
 Reference to FEProblemBase.
 
MooseApp & _restartable_app
 Reference to the application.
 
const std::string _restartable_system_name
 The system name this object is in.
 
const THREAD_ID _restartable_tid
 The thread ID for this object.
 
const bool _restartable_read_only
 Flag for toggling read only status (see ReporterData)
 
MooseApp & _pg_moose_app
 The MooseApp that owns the PerfGraph.
 
const std::string _prefix
 A prefix to use for all sections.
 
const MaterialData * _blk_material_data
 Pointer to the MaterialData class for this object.
 

Private Member Functions

void setupApp (unsigned int i, Real time=0.0)
 Setup the executioner for the local app.
 
RestartableDataValue & registerRestartableDataOnApp (std::unique_ptr< RestartableDataValue > data, THREAD_ID tid) const
 Helper function for actually registering the restartable data.
 
void registerRestartableNameWithFilterOnApp (const std::string &name, Moose::RESTARTABLE_FILTER filter)
 Helper function for actually registering the restartable data.
 
template<typename T , typename... Args>
RestartableData< T > & declareRestartableDataHelper (const std::string &data_name, void *context, Args &&... args) const
 Helper function for declaring restartable data.
 

Static Private Member Functions

static const hit::Node * getHitNode (const InputParameters &params)
 Internal method for getting a hit node (if available) given a set of parameters.
 
static std::string messagePrefix (const InputParameters &params, const bool hit_prefix)
 Internal method for getting the message prefix for an object (object type, name, etc).
 

Private Attributes

std::vector< TransientBase * > _transient_executioners
 
bool _sub_cycling
 
bool _interpolate_transfers
 
bool _detect_steady_state
 
bool _output_sub_cycles
 
unsigned int _max_failures
 
bool _tolerate_failure
 
unsigned int _failures
 
bool _catch_up
 
Real _max_catch_up_steps
 
bool & _first
 Is it our first time through the execution loop?
 
std::vector< std::string > _transferred_vars
 The variables that have been transferred to. Used when doing transfer interpolation. This will be cleared after each solve.
 
std::set< dof_id_type > _transferred_dofs
 The DoFs associated with all of the currently transferred variables.
 
std::vector< std::map< std::string, unsigned int > > _output_file_numbers
 
bool _auto_advance
 
std::set< unsigned int > _reset
 
bool _print_sub_cycles
 Flag for toggling console output on sub cycles.
 
std::optional< std::string > _cli_args_param
 The parameter that was used to set the command line args, if any.
 
const ParallelParamObject & _parent
 
const MooseBase & _si_moose_base
 The MooseBase that owns this interface.
 
const FEProblemBase * _si_problem
 A pointer to FEProblem base.
 
ExecFlagEnum _empty_execute_enum
 Empty ExecFlagEnum for the case when the "execute_on" parameter is not included.
 
const RestartableDataMapName _metaname
 Restartable metadata name.
 
std::string _restartable_name
 The name of the object.
 
std::set< SubdomainID > _blk_ids
 Set of block ids supplied by the user via the input file (for error checking)
 
std::vector< SubdomainID > _vec_ids
 Vector of block ids supplied by the user via the input file (for error reporting)
 
std::vector< SubdomainName > _blocks
 Vector the block names supplied by the user via the input file.
 
const bool _blk_dual_restrictable
 Flag for allowing dual restriction.
 
FEProblemBase * _blk_feproblem
 Pointer to FEProblemBase.
 
const MooseMesh * _blk_mesh
 Pointer to Mesh.
 
const std::set< BoundaryID > _empty_boundary_ids
 An empty set for referencing when boundary_ids is not included.
 
const std::set< BoundaryID > & _boundary_ids
 Reference to the boundary_ids, defaults to an empty set if not provided.
 
THREAD_ID _blk_tid
 Thread id for this object.
 
const std::string & _blk_name
 Name of the object.
 
unsigned int _blk_dim
 Largest mesh dimension of the elements in the blocks for this object.
 
const MooseObject * _moose_object
 Pointer to the MOOSE object.
 
Moose::Kokkos::Array< ContiguousElementID > _kokkos_element_ids
 List of contiguous element IDs this Kokkos object is operating on.
 
Moose::Kokkos::Array< ContiguousNodeID > _kokkos_node_ids
 List of contiguous node IDs this Kokkos object is operating on.
 
Moose::Kokkos::Array< Moose::Kokkos::Pair< ContiguousElementID, unsigned int > > _kokkos_element_side_ids
 List of contiguous local element ID - side index pairs this Kokkos object is operating on.
 

Detailed Description

Automatically generates sub-App positions with elemental quadrature points of the parent mesh.

Definition at line 18 of file QuadraturePointMultiApp.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.

Constructor & Destructor Documentation

◆ QuadraturePointMultiApp()

QuadraturePointMultiApp::QuadraturePointMultiApp ( const InputParameters &  parameters)

Definition at line 38 of file QuadraturePointMultiApp.C.

40{
41}
An interface that restricts an object to subdomains via the 'blocks' input parameter.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
MultiApp Implementation for Transient Apps.

Member Function Documentation

◆ addAssociatedTransfer()

void MultiApp::addAssociatedTransfer ( MultiAppTransfer &  transfer)
inherited

Add a transfer that is associated with this multiapp.

Definition at line 1532 of file MultiApp.C.

1533{
1534 _associated_transfers.push_back(&transfer);
1535}
std::vector< MultiAppTransfer * > _associated_transfers
Transfers associated with this multiapp.
Definition MultiApp.h:662

◆ appPostprocessorValue()

Real MultiApp::appPostprocessorValue ( unsigned int  app,
const std::string &  name 
)
inherited

Get a Postprocessor value for a specified global app.

Parameters
appThe global app number you want to get a Postprocessor from.
nameThe name of the Postprocessor.

Definition at line 1081 of file MultiApp.C.

1082{
1083 if (!_has_an_app)
1084 mooseError("No app for ", MultiApp::name(), " on processor ", _orig_rank);
1085
1087}
const PostprocessorValue & getPostprocessorValueByName(const PostprocessorName &name, std::size_t t_index=0) const
Get a read-only reference to the value associated with a Postprocessor that exists.
const std::string & name() const
Get the name of the class.
Definition MooseBase.h:103
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:271
FEProblemBase & appProblemBase(unsigned int app)
Get the FEProblemBase for the global app desired.
Definition MultiApp.C:1048
bool _has_an_app
Whether or not this processor as an App at all
Definition MultiApp.h:634
int _orig_rank
The mpi "rank" of this processor in the original communicator.
Definition MultiApp.h:577

◆ appProblem()

FEProblem & MultiApp::appProblem ( unsigned int  app)
inherited

Get the FEProblem for the global app is part of.

Parameters
appThe global app number

Definition at line 1059 of file MultiApp.C.

1060{
1062 "MultiApp::appProblem() is deprecated, call MultiApp::appProblemBase() instead.\n");
1063 if (!_has_an_app)
1064 mooseError("No app for ", name(), " on processor ", _orig_rank);
1065
1066 unsigned int local_app = globalAppToLocal(app);
1067
1068 return dynamic_cast<FEProblem &>(_apps[local_app]->getExecutioner()->feProblem());
1069}
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Definition FEProblem.h:21
unsigned int globalAppToLocal(unsigned int global_app)
Map a global App number to the local number.
Definition MultiApp.C:1508
std::vector< std::shared_ptr< MooseApp > > _apps
Pointers to each of the Apps.
Definition MultiApp.h:586
void mooseDeprecated(Args &&... args) const

◆ appProblemBase()

FEProblemBase & MultiApp::appProblemBase ( unsigned int  app)
inherited

Get the FEProblemBase for the global app desired.

Parameters
appThe global app number

Definition at line 1048 of file MultiApp.C.

1049{
1050 if (!_has_an_app)
1051 mooseError("No app for ", name(), " on processor ", _orig_rank);
1052
1053 unsigned int local_app = globalAppToLocal(app);
1054
1055 return _apps[local_app]->getExecutioner()->feProblem();
1056}

Referenced by MultiApp::appPostprocessorValue(), MultiApp::appTransferVector(), TransientMultiApp::appTransferVector(), MultiApp::appUserObjectBase(), FullSolveMultiApp::initialSetup(), TransientMultiApp::resetApp(), TransientMultiApp::setupApp(), FullSolveMultiApp::solveStep(), and TransientMultiApp::solveStep().

◆ appTransferVector()

NumericVector< Number > & TransientMultiApp::appTransferVector ( unsigned int  app,
std::string  var_name 
)
overridevirtualinherited

Get the vector to transfer to for this MultiApp.

In general this is the Auxiliary system solution vector.

Parameters
appThe global app number you want the transfer vector for.
var_nameThe name of the variable you are going to be transferring to.
Returns
The vector to fill.

Reimplemented from MultiApp.

Definition at line 142 of file TransientMultiApp.C.

143{
144 if (std::find(_transferred_vars.begin(), _transferred_vars.end(), var_name) ==
145 _transferred_vars.end())
146 _transferred_vars.push_back(var_name);
147
149 return appProblemBase(app).getAuxiliarySystem().system().get_vector("transfer");
150
152}
virtual libMesh::System & system() override
Get the reference to the libMesh system.
AuxiliarySystem & getAuxiliarySystem()
NumericVector< Number > & solution()
Definition SystemBase.h:212
std::vector< std::string > _transferred_vars
The variables that have been transferred to. Used when doing transfer interpolation....
const NumericVector< Number > & get_vector(std::string_view vec_name) const

◆ appUserObjectBase()

const UserObject & MultiApp::appUserObjectBase ( unsigned int  app,
const std::string &  name 
)
inherited

Get a UserObject base for a specific global app.

Parameters
appThe global app number you want to get a UserObject from.
nameThe name of the UserObject.

Definition at line 1072 of file MultiApp.C.

1073{
1074 if (!_has_an_app)
1075 mooseError("No app for ", MultiApp::name(), " on processor ", _orig_rank);
1076
1078}
const UserObject & getUserObjectBase(const std::string &name, const THREAD_ID tid=0) const
Get the user object by its name.

◆ backup()

void MultiApp::backup ( )
virtualinherited

Save off the state of every Sub App.

This allows us to "Restore" this state later

Definition at line 791 of file MultiApp.C.

792{
793 TIME_SECTION(_backup_timer);
794
796 _console << "Backed up MultiApp ... ";
797
798 for (unsigned int i = 0; i < _my_num_apps; i++)
799 _sub_app_backups[i] = _apps[i]->backup();
800
802 _console << name() << std::endl;
803}
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.
bool verboseMultiApps() const
Whether or not to use verbose printing for MultiApps.
const PerfID _backup_timer
Definition MultiApp.h:673
virtual void backup()
Save off the state of every Sub App.
Definition MultiApp.C:791
FEProblemBase & _fe_problem
The FEProblemBase this MultiApp is part of.
Definition MultiApp.h:523
SubAppBackups & _sub_app_backups
The cached subapp backups (passed from the parent app)
Definition MultiApp.h:668
unsigned int _my_num_apps
The number of apps this object is involved in simulating.
Definition MultiApp.h:559

Referenced by MultiApp::backup(), dataStore(), and MultiApp::preTransfer().

◆ blockIDs()

const std::set< SubdomainID > & BlockRestrictable::blockIDs ( ) const
virtualinherited

Return the block subdomain ids for this object Note, if this is not block restricted, this function returns all mesh subdomain ids.

Returns
a set of SubdomainIDs that are valid for this object

Definition at line 209 of file BlockRestrictable.C.

210{
211 if (_blk_ids.find(Moose::ANY_BLOCK_ID) != _blk_ids.end())
212 return _blk_mesh->meshSubdomains();
213 else
214 return _blk_ids;
215}
std::set< SubdomainID > _blk_ids
Set of block ids supplied by the user via the input file (for error checking)
const MooseMesh * _blk_mesh
Pointer to Mesh.
const std::set< SubdomainID > & meshSubdomains() const
Returns a read-only reference to the set of subdomains currently present in the Mesh.
Definition MooseMesh.C:3235
const SubdomainID ANY_BLOCK_ID
Definition MooseTypes.C:19

Referenced by FunctorMaterial::addFunctorProperty(), DiracKernelBase::addPoint(), DiracKernelBase::addPointWithValidId(), NodalPatchRecoveryAuxBase::blockRestrictElements(), ComboMarker::ComboMarker(), DebugResidualAux::DebugResidualAux(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), ExtraIDIntegralVectorPostprocessor::ExtraIDIntegralVectorPostprocessor(), FunctorSmootherTempl< T >::FunctorSmootherTempl(), BlockRestrictable::getBlockCoordSystem(), MaterialBase::getGenericZeroMaterialPropertyByName(), NEML2FEInterpolation::getMOOSEVariable(), FunctorIC::gradient(), BlockRestrictable::hasBlockMaterialPropertyHelper(), IndicatorMarker::IndicatorMarker(), SubdomainsDivision::initialize(), ElementCentroidPositions::initialize(), FunctorExtremaPositions::initialize(), QuadraturePointsPositions::initialize(), NodalPatchRecoveryAux::NodalPatchRecoveryAux(), PointwiseRenormalizeVector::PointwiseRenormalizeVector(), ProjectedMaterialPropertyNodalPatchRecoveryAux::ProjectedMaterialPropertyNodalPatchRecoveryAux(), MaterialBase::registerPropName(), FVPointValueConstraint::setMyElem(), and FunctorIC::value().

◆ blockRestricted()

bool BlockRestrictable::blockRestricted ( ) const
virtualinherited

◆ blocks()

const std::vector< SubdomainName > & BlockRestrictable::blocks ( ) const
inherited

Return the block names for this object.

Note, if the 'blocks' input parameter was not utilized this will return an empty vector.

Returns
vector of SubdomainNames that are valid for this object

Definition at line 203 of file BlockRestrictable.C.

204{
205 return _blocks;
206}
std::vector< SubdomainName > _blocks
Vector the block names supplied by the user via the input file.

Referenced by MaterialOutputAction::getParams(), SubdomainsDivision::initialize(), and SolutionIC::initialSetup().

◆ blocksMaxDimension()

unsigned int BlockRestrictable::blocksMaxDimension ( ) const
inherited

Return the largest mesh dimension of the elements in the blocks for this object.

Definition at line 386 of file BlockRestrictable.C.

387{
388 mooseAssert(_blk_dim != libMesh::invalid_uint, "Block restriction not initialized");
389 return _blk_dim;
390}
unsigned int _blk_dim
Largest mesh dimension of the elements in the blocks for this object.
const unsigned int invalid_uint

◆ buildComm()

void MultiApp::buildComm ( )
protectedinherited

Create an MPI communicator suitable for each app.

Also find out which communicator we are using and what our first local app is.

Definition at line 1466 of file MultiApp.C.

1467{
1468 int ierr;
1469
1470 ierr = MPI_Comm_size(_communicator.get(), &_orig_num_procs);
1471 mooseCheckMPIErr(ierr);
1472 ierr = MPI_Comm_rank(_communicator.get(), &_orig_rank);
1473 mooseCheckMPIErr(ierr);
1474
1475#ifdef LIBMESH_HAVE_SYS_UTSNAME_H
1476 struct utsname sysInfo;
1477 uname(&sysInfo);
1478 _node_name = sysInfo.nodename;
1479#else
1480 _node_name = "Unknown";
1481#endif
1482
1483 int rank;
1484 ierr = MPI_Comm_rank(_communicator.get(), &rank);
1485 mooseCheckMPIErr(ierr);
1486
1489
1492 mooseError("Internal error, a processor has an undefined app.");
1493
1494 if (_has_an_app)
1495 {
1497 ierr = MPI_Comm_rank(_my_comm, &_my_rank);
1498 mooseCheckMPIErr(ierr);
1499 }
1500 else
1501 {
1502 _communicator.split(MPI_UNDEFINED, rank, _my_communicator);
1503 _my_rank = 0;
1504 }
1505}
libMesh::Parallel::Communicator _my_communicator
The communicator object that holds the MPI_Comm that we're going to use.
Definition MultiApp.h:568
int _my_rank
The mpi "rank" of this processor in the sub communicator.
Definition MultiApp.h:583
int _orig_num_procs
The number of processors in the original comm.
Definition MultiApp.h:574
MPI_Comm & _my_comm
The MPI communicator this object is going to use.
Definition MultiApp.h:571
unsigned int _first_local_app
The number of the first app on this processor.
Definition MultiApp.h:562
unsigned int _total_num_apps
The total number of apps to simulate.
Definition MultiApp.h:556
LocalRankConfig _rank_config
The app configuration resulting from calling init.
Definition MultiApp.h:659
std::string _node_name
Node Name.
Definition MultiApp.h:580
void split(int color, int key, Communicator &target) const
const Parallel::Communicator & _communicator
dof_id_type num_local_apps
The number of (sub)apps that should/will be run locally on this rank.
Definition MultiApp.h:58
dof_id_type first_local_app_index
The (global) index of the first local app for this rank.
Definition MultiApp.h:64

Referenced by MultiApp::init().

◆ callMooseError() [1/2]

void MooseBase::callMooseError ( MooseApp *const  app,
const InputParameters &  params,
std::string  msg,
const bool  with_prefix,
const hit::Node *  node,
const bool  show_trace = true 
)
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
show_traceWhether or not to show a stack trace, defaults to true

Definition at line 114 of file MooseBase.C.

120{
121 if (!node)
122 node = MooseBase::getHitNode(params);
123
124 std::string multiapp_prefix = "";
125 if (app)
126 {
127 if (!app->isUltimateMaster())
128 multiapp_prefix = app->name();
130 }
131
132 if (with_prefix)
133 // False here because the hit context will get processed by the node
134 msg = messagePrefix(params, false) + msg;
135
136 moose::internal::mooseErrorRaw(msg, multiapp_prefix, node, show_trace);
137}
OutputWarehouse & getOutputWarehouse()
Get the OutputWarehouse objects.
Definition MooseApp.C:2414
bool isUltimateMaster() const
Whether or not this app is the ultimate master app.
Definition MooseApp.h:866
const hit::Node * getHitNode() const
Definition MooseBase.h:136
std::string messagePrefix(const bool hit_prefix=true) const
Definition MooseBase.h:256
void mooseConsole()
Send current output buffer to Console output objects.
void mooseErrorRaw(std::string msg, const std::string &prefix="", const hit::Node *node=nullptr, const bool show_trace=true)
Main callback for emitting a moose error.
Definition MooseError.C:51

◆ callMooseError() [2/2]

void MooseBase::callMooseError ( std::string  msg,
const bool  with_prefix,
const hit::Node *  node = nullptr,
const bool  show_trace = true 
) 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
show_traceWhether or not to show a stack trace, defaults to true

Definition at line 105 of file MooseBase.C.

109{
110 callMooseError(&_app, _pars, msg, with_prefix, node, show_trace);
111}
MooseApp & _app
The MOOSE application this is associated with.
Definition MooseBase.h:375
void callMooseError(std::string msg, const bool with_prefix, const hit::Node *node=nullptr, const bool show_trace=true) const
External method for calling moose error with added object context.
Definition MooseBase.C:105
const InputParameters & _pars
The object's parameters.
Definition MooseBase.h:384

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

◆ checkVariable()

void BlockRestrictable::checkVariable ( const MooseVariableBase &  variable) const
virtualinherited

Helper for checking that the ids for this object are in agreement with the variables on the supplied variable.

Parameters
variableThe variable to check against.

Reimplemented in DomainUserObject.

Definition at line 358 of file BlockRestrictable.C.

359{
360 // a variable defined on all internal sides does not need this check because
361 // it can be coupled with other variables in DG kernels
362 if (!_blk_mesh->interiorLowerDBlocks().empty() &&
364 return;
365
366 if (!isBlockSubset(variable.activeSubdomains()))
367 {
368 std::string var_ids = Moose::stringify(variable.activeSubdomains(), ", ");
369 std::string obj_ids = Moose::stringify(blockRestricted() ? _blk_ids : meshBlockIDs(), ", ");
370 mooseError("The 'block' parameter of the object '",
371 _blk_name,
372 "' must be a subset of the 'block' parameter of the variable '",
373 variable.name(),
374 "':\n Object '",
375 _blk_name,
376 "': ",
377 obj_ids,
378 "\n Variable '",
379 variable.name(),
380 "': ",
381 var_ids);
382 }
383}
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application.
Definition MooseError.h:311
bool isBlockSubset(const std::set< SubdomainID > &ids) const
Test if the class block ids are a subset of the supplied objects.
const std::string & _blk_name
Name of the object.
const std::set< SubdomainID > & meshBlockIDs() const
Return all of the SubdomainIDs for the mesh.
virtual bool blockRestricted() const
Returns true if this object has been restricted to a block.
const std::set< SubdomainID > & interiorLowerDBlocks() const
Definition MooseMesh.h:1550
bool activeOnSubdomains(const std::set< SubdomainID > &subdomains) const
Is the variable active on the subdomains?
const std::set< SubdomainID > & activeSubdomains() const
The subdomains the variable is active on.
std::string stringify(const T &t)
conversion to string
Definition Conversion.h:65

Referenced by DomainUserObject::checkVariable().

◆ cliArgs()

std::vector< std::string > MultiApp::cliArgs ( ) const
protectedvirtualinherited

function that provides cli_args to subapps

Definition at line 1545 of file MultiApp.C.

1546{
1547 // So that we can error out with paramError("cli_args", ...);
1548 _cli_args_param = "cli_args";
1549 return std::vector<std::string>(_cli_args.begin(), _cli_args.end());
1550}
std::optional< std::string > _cli_args_param
The parameter that was used to set the command line args, if any.
Definition MultiApp.h:679
const std::vector< CLIArgString > & _cli_args
CommandLine arguments (controllable!)
Definition MultiApp.h:637

Referenced by MultiApp::createApp(), MultiApp::getCommandLineArgs(), MultiApp::init(), and MultiApp::readCommandLineArguments().

◆ comm()

MPI_Comm & MultiApp::comm ( )
inlineinherited

Get the MPI communicator this MultiApp is operating on.

Returns
The MPI comm for this MultiApp

Definition at line 384 of file MultiApp.h.

384{ return _my_comm; }

◆ computeDT()

Real TransientMultiApp::computeDT ( )
inherited

Finds the smallest dt from among any of the apps.

Definition at line 590 of file TransientMultiApp.C.

591{
592 if (_sub_cycling) // Bow out of the timestep selection dance
593 return std::numeric_limits<Real>::max();
594
595 Real smallest_dt = std::numeric_limits<Real>::max();
596
597 if (_has_an_app)
598 {
600
601 for (unsigned int i = 0; i < _my_num_apps; i++)
602 {
604 ex->computeDT();
605 Real dt = ex->getDT();
606
607 smallest_dt = std::min(dt, smallest_dt);
608 }
609 }
610
611 if (_tolerate_failure) // Bow out of the timestep selection dance, we do this down here because we
612 // need to call computeConstrainedDT at least once for these
613 // executioners...
614 return std::numeric_limits<Real>::max();
615
616 _communicator.min(smallest_dt);
617 return smallest_dt;
618}
void min(const T &r, T &o, Request &req) const
Base class for transient executioners that use a FixedPointSolve solve object for multiapp-main app i...
virtual Real getDT()
std::vector< TransientBase * > _transient_executioners
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ 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 77 of file MooseBase.C.

81{
82 auto & factory = _app.getFactory();
83 auto & ip_warehouse = _app.getInputParameterWarehouse();
84
85 MooseObjectParameterName primary_name(uniqueName(), parameter);
86 const auto base_type = factory.getValidParams(object_type).getBase();
87 MooseObjectParameterName secondary_name(base_type, object_name, object_parameter);
88 ip_warehouse.addControllableParameterConnection(primary_name, secondary_name);
89
90 const auto & tags = _pars.get<std::vector<std::string>>("control_tags");
91 for (const auto & tag : tags)
92 {
93 if (!tag.empty())
94 {
95 // Only adds the parameter with the different control tags if the derived class
96 // properly registers the parameter to its own syntax
97 MooseObjectParameterName tagged_name(tag, name(), parameter);
98 ip_warehouse.addControllableParameterConnection(
99 tagged_name, secondary_name, /*error_on_empty=*/false);
100 }
101 }
102}
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.
Factory & getFactory()
Retrieve a writable reference to the Factory associated with this App.
Definition MooseApp.h:407
InputParameterWarehouse & getInputParameterWarehouse()
Get the InputParameterWarehouse for MooseObjects.
Definition MooseApp.C:2872
MooseObjectName uniqueName() const
Definition MooseBase.C:69
A class for storing an input parameter name.

◆ createApp()

void MultiApp::createApp ( unsigned int  i,
Real  start_time 
)
protectedinherited

Helper function for creating an App instance.

Parameters
iThe local app number to create.
start_timeThe initial time for the App

Definition at line 1167 of file MultiApp.C.

1168{
1169 // Delete the old app if we're resetting
1170 if (_apps[i])
1171 _apps[i].reset();
1172
1173 // Define the app name
1174 const std::string multiapp_name = getMultiAppName(name(), _first_local_app + i, _total_num_apps);
1175 std::string full_name;
1176
1177 // Only add parent name if the parent is not the main app
1178 if (_app.multiAppLevel() > 0)
1179 full_name = _app.name() + "_" + multiapp_name;
1180 else
1181 full_name = multiapp_name;
1182
1184 app_params.set<FEProblemBase *>("_parent_fep") = &_fe_problem;
1185 app_params.set<std::unique_ptr<Backup> *>("_initial_backup") = &_sub_app_backups[i];
1186
1187 // Build the CommandLine with the relevant options for this subapp and add the
1188 // cli args from the input file
1189 std::vector<std::string> input_cli_args;
1190 if (cliArgs().size() > 0 || _cli_args_from_file.size() > 0)
1191 input_cli_args = getCommandLineArgs(i);
1192 // FullSolveMultiApp (and its derived classes) always performs a complete fresh
1193 // solve on every execution, so the parent's recovery-related global CLI params
1194 // must not be propagated to those sub-apps.
1195 const std::set<std::string> recover_exclude =
1197 ? std::set<std::string>{}
1198 : std::set<std::string>{"recover", "test_checkpoint_half_transient"};
1199 // This will mark all hit CLI command line parameters that are passed to subapps
1200 // as used within the parent app (_app)
1201 auto app_cli = _app.commandLine()->initSubAppCommandLine(
1202 name(), multiapp_name, input_cli_args, recover_exclude);
1203 app_cli->parse();
1204
1206 _console << COLOR_CYAN << "Creating MultiApp " << name() << " of type " << _app_type
1207 << " of level " << _app.multiAppLevel() + 1 << " and number " << _first_local_app + i
1208 << " on processor " << processor_id() << " with full name " << full_name
1209 << COLOR_DEFAULT << std::endl;
1210 app_params.set<unsigned int>("_multiapp_level") = _app.multiAppLevel() + 1;
1211 app_params.set<unsigned int>("_multiapp_number") = _first_local_app + i;
1212 app_params.set<const MooseMesh *>("_master_mesh") = &_fe_problem.mesh();
1213#ifdef MOOSE_MFEM_ENABLED
1214 // MFEM device must only be set once across all apps
1215 // FIXME: this required that the base app is an MFEM app; itwill
1216 // still fail if multiple MFEM sub-apps are launched from a libMesh base app
1217 if (i == 0)
1218 {
1219 app_params.set<std::shared_ptr<mfem::Device>>("_mfem_device") =
1221 const auto & mfem_device_set = _app.getMFEMDevices(Moose::PassKey<MultiApp>());
1222 app_params.set<std::set<std::string>>("_mfem_devices") = mfem_device_set;
1223 }
1224 else
1225 {
1226 app_params.set<std::shared_ptr<mfem::Device>>("_mfem_device") =
1227 _apps[0]->getMFEMDevice(Moose::PassKey<MultiApp>());
1228 const auto & mfem_device_set = _apps[0]->getMFEMDevices(Moose::PassKey<MultiApp>());
1229 app_params.set<std::set<std::string>>("_mfem_devices") = mfem_device_set;
1230 }
1231#endif
1232 if (getParam<bool>("clone_master_mesh") || getParam<bool>("clone_parent_mesh"))
1233 {
1235 _console << COLOR_CYAN << "Cloned parent app mesh will be used for MultiApp " << name()
1236 << COLOR_DEFAULT << std::endl;
1237 app_params.set<bool>("_use_master_mesh") = true;
1240 app_params.set<const MooseMesh *>("_master_displaced_mesh") = &displaced_problem->mesh();
1241 }
1242
1243 // If only one input file was provided, use it for all the solves
1244 const auto input_index = _input_files.size() == 1 ? 0 : _first_local_app + i;
1245 const auto & input_file = _input_files[input_index];
1246
1247 // create new parser tree for the application and parse
1248 auto parser = std::make_unique<Parser>(input_file);
1249 parser->setCommandLineParams(app_cli->buildHitParams());
1250 parser->parse();
1251
1252 // Checks on app type
1253 const auto & app_type = parser->getAppType();
1254 if (app_type.empty() && _app_type.empty())
1255 mooseWarning("The application type is not specified for ",
1256 full_name,
1257 ". Please use [Application] block to specify the application type.");
1258 if (!app_type.empty() && app_type != _app_type && !AppFactory::instance().isRegistered(app_type))
1259 mooseError("In the ",
1260 full_name,
1261 ", '",
1262 app_type,
1263 "' is not a registered application. The registered application is named: '",
1264 _app_type,
1265 "'. Please double check the [Application] block to make sure the correct "
1266 "application is provided. \n");
1267
1268 if (parser->getAppType().empty())
1269 parser->setAppType(_app_type);
1270
1271 app_params.set<std::shared_ptr<Parser>>("_parser") = std::move(parser);
1272 app_params.set<std::shared_ptr<CommandLine>>("_command_line") = std::move(app_cli);
1273 _apps[i] = AppFactory::instance().create(_app_type, full_name, app_params, _my_comm);
1274 auto & app = _apps[i];
1275
1276 app->setGlobalTimeOffset(start_time);
1277 app->setOutputFileNumbers(_app.getOutputWarehouse().getFileNumbers());
1278 app->setRestart(_app.isRestarting());
1279 app->setRecover(propagateRecoverToSubApps() && _app.isRecovering());
1280
1281 if (_use_positions && getParam<bool>("output_in_position"))
1282 app->setOutputPosition(_app.getOutputPosition() + _positions[_first_local_app + i]);
1284 paramError("run_in_position",
1285 "Sub-apps are already displaced, so they are already output in position");
1286
1287 // Update the MultiApp level for the app that was just created
1288 app->setupOptions();
1289 // if multiapp does not have file base in Outputs input block, output file base will
1290 // be empty here since setupOptions() does not set the default file base with the multiapp
1291 // input file name. Parent app will create the default file base for multiapp by taking the
1292 // output base of the parent app problem and appending the name of the multiapp plus a number to
1293 // it
1294 if (app->getOutputFileBase().empty())
1297 if (_app.multiAppLevel() > getParam<unsigned int>("max_multiapp_level"))
1298 mooseError("Maximum multiapp level has been reached. This is likely caused by an infinite loop "
1299 "in your multiapp system. If additional multiapp levels are needed, "
1300 "max_multiapp_level can be specified in the MuliApps block.");
1301
1302 // Transfer coupling relaxation information to the subapps
1303 _apps[i]->fixedPointConfig().sub_relaxation_factor = getParam<Real>("relaxation_factor");
1304 _apps[i]->fixedPointConfig().sub_transformed_vars =
1305 getParam<std::vector<std::string>>("transformed_variables");
1306 // Handle deprecated parameter
1307 if (!parameters().isParamSetByAddParam("relaxed_variables"))
1308 _apps[i]->fixedPointConfig().sub_transformed_vars =
1309 getParam<std::vector<std::string>>("relaxed_variables");
1310 _apps[i]->fixedPointConfig().sub_transformed_pps =
1311 getParam<std::vector<PostprocessorName>>("transformed_postprocessors");
1312
1313 app->runInputFile();
1314 auto fixed_point_solve = &(_apps[i]->getExecutioner()->fixedPointSolve());
1315 if (fixed_point_solve)
1316 fixed_point_solve->allocateStorage(false);
1317
1318 // Transform the app mesh if requested
1319 if (_run_in_position)
1320 {
1321 auto & mesh = app->getExecutioner()->feProblem().mesh();
1322 if (usingPositions())
1323 app->getExecutioner()->feProblem().coordTransform().transformMesh(
1324 mesh, _positions[_first_local_app + i]);
1325 else
1326 app->getExecutioner()->feProblem().coordTransform().transformMesh(mesh, Point(0, 0, 0));
1327
1328 // Transforming marks mesh->spatial_dimension() as invalid, so we
1329 // reprepare before trying to print that later.
1330 mesh.getMesh().complete_preparation();
1331 }
1332}
std::shared_ptr< DisplacedProblem > displaced_problem
bool isRegistered(const std::string &app_name) const
Returns a Boolean indicating whether an application type has been registered.
Definition AppFactory.h:168
InputParameters getValidParams(const std::string &name)
Get valid parameters for the object.
Definition AppFactory.C:35
static std::unique_ptr< MooseApp > create(const std::string &app_type, const std::vector< std::string > &cli_args={})
Create an app with no input and command line arguments.
Definition AppFactory.C:64
static AppFactory & instance()
Get the instance of the AppFactory.
Definition AppFactory.C:20
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
virtual std::shared_ptr< const DisplacedProblem > getDisplacedProblem() const
virtual MooseMesh & mesh() override
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
bool isParamSetByAddParam(const std::string &name) const
Returns whether or not the parameter was set due to addParam.
T & set(const std::string &name, bool quiet_mode=false)
Returns a writable reference to the named parameters.
Point getOutputPosition() const
Get the output position.
Definition MooseApp.h:288
bool isRestarting() const
Whether or not this is a "restart" calculation.
Definition MooseApp.C:1680
unsigned int multiAppLevel() const
The MultiApp Level.
Definition MooseApp.h:855
const std::set< std::string > & getMFEMDevices(Moose::PassKey< MultiApp >) const
Get the configured MFEM devices.
Definition MooseApp.h:1814
std::shared_ptr< mfem::Device > getMFEMDevice(Moose::PassKey< MultiApp >)
Get the MFEM device object.
Definition MooseApp.h:1134
std::shared_ptr< CommandLine > commandLine() const
Get the command line.
Definition MooseApp.h:424
bool isRecovering() const
Whether or not this is a "recover" calculation.
Definition MooseApp.C:1674
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:457
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition MooseMesh.h:95
MooseApp & _app
The MOOSE application this is associated with.
Definition MooseBase.h:375
std::vector< std::string > _cli_args_from_file
CommandLine arguments from files.
Definition MultiApp.h:640
bool usingPositions() const
Whether or not this MultiApp is using positions to track the number and location of the child applica...
Definition MultiApp.h:396
virtual std::vector< std::string > cliArgs() const
function that provides cli_args to subapps
Definition MultiApp.C:1545
bool _output_in_position
Whether or not to move the output of the MultiApp into position.
Definition MultiApp.h:607
std::string _app_type
The type of application to build.
Definition MultiApp.h:526
static std::string getMultiAppName(const std::string &base_name, dof_id_type index, dof_id_type total)
Helper for constructing the name of the multiapp.
Definition MultiApp.C:1561
virtual void preRunInputFile()
call back executed right before app->runInputFile()
Definition MultiApp.C:1527
const bool _use_positions
Toggle use of "positions".
Definition MultiApp.h:537
void setAppOutputFileBase()
Sets all the app's output file bases.
Definition MultiApp.C:1538
virtual std::vector< std::string > getCommandLineArgs(const unsigned int local_app)
Definition MultiApp.C:1335
virtual bool propagateRecoverToSubApps() const
Whether or not to propagate the parent's recover state (the –recover and –test-checkpoint-half-transi...
Definition MultiApp.h:454
std::vector< FileName > _input_files
The input file for each app's simulation.
Definition MultiApp.h:544
std::vector< Point > _positions
The positions of all of the apps, using input constant vectors (to be deprecated)
Definition MultiApp.h:529
const bool _run_in_position
Whether to run the child apps with their meshes transformed with the coordinate transforms.
Definition MultiApp.h:665
std::map< std::string, unsigned int > getFileNumbers()
Extracts the file numbers from the output objects.
void mooseWarning(Args &&... args) const
processor_id_type processor_id() const
MeshBase & mesh

Referenced by MultiApp::createLocalApp(), and MultiApp::resetApp().

◆ createApps()

void MultiApp::createApps ( )
protectedinherited

Create the provided number of apps.

This is called in the setupPositions().

Definition at line 412 of file MultiApp.C.

413{
414 if (!_has_an_app)
415 return;
416
417 TIME_SECTION("createApps", 2, "Instantiating Sub-Apps", false);
418
419 // Read commandLine arguments that will be used when creating apps
421
423
424 _apps.resize(_my_num_apps);
425
426 // If the user provided an unregistered app type, see if we can load it dynamically
427 if (!AppFactory::instance().isRegistered(_app_type))
429 getParam<std::string>("library_path"),
430 getParam<std::string>("library_name"),
431 getParam<bool>("library_load_dependencies"));
432
433 bool rank_did_quiet_init = false;
434 unsigned int local_app = libMesh::invalid_uint;
436 {
437 if (hasLocalApp(0))
438 {
439 rank_did_quiet_init = true;
440 local_app = globalAppToLocal(0);
441 createLocalApp(local_app);
442 }
443
444 MPI_Barrier(_orig_comm);
445 }
446
447 for (unsigned int i = 0; i < _my_num_apps; i++)
448 {
449 if (rank_did_quiet_init && i == local_app)
450 continue;
452 }
453}
void dynamicAppRegistration(const std::string &app_name, std::string library_path, const std::string &library_name, bool lib_load_deps)
Definition MooseApp.C:2586
const bool & _wait_for_first_app_init
Whether to create the first app on rank 0 while all other MPI ranks are idle.
Definition MultiApp.h:547
bool hasLocalApp(unsigned int global_app) const
Whether or not the given global app number is on this processor.
Definition MultiApp.C:1102
void readCommandLineArguments()
Fill command line arguments for sub apps.
Definition MultiApp.C:473
const MPI_Comm & _orig_comm
The original comm handle.
Definition MultiApp.h:565
virtual void createLocalApp(const unsigned int i)
Create the i-th local app.
Definition MultiApp.C:456

Referenced by MultiApp::initialSetup(), and MultiApp::possiblyCreateChildApplications().

◆ createLocalApp()

void MultiApp::createLocalApp ( const unsigned int  i)
virtualinherited

Create the i-th local app.

Parameters
[in]ilocal app index

Definition at line 456 of file MultiApp.C.

457{
459}
const Real _global_time_offset
The offset time so the MultiApp local time relative to the global time.
Definition MultiApp.h:610
void createApp(unsigned int i, Real start_time)
Helper function for creating an App instance.
Definition MultiApp.C:1167

Referenced by MultiApp::createApps().

◆ 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 69 of file SetupInterface.h.

69{}

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

286{
287 auto & data_ptr =
288 declareRestartableDataHelper<T>(data_name, context, std::forward<Args>(args)...);
289 return Restartable::ManagedValue<T>(data_ptr);
290}
Wrapper class for restartable data that is "managed.
Definition Restartable.h:43

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

359{
360 const auto full_name = restartableName(data_name);
361
363
364 return declareRestartableDataWithContext<T>(data_name, nullptr, std::forward<Args>(args)...);
365}
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:78
void registerRestartableNameWithFilterOnApp(const std::string &name, Moose::RESTARTABLE_FILTER filter)
Helper function for actually registering the restartable data.
Definition Restartable.C:71

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

277{
278 return declareRestartableDataWithContext<T>(data_name, nullptr, std::forward<Args>(args)...);
279}

◆ declareRestartableDataHelper()

template<typename T , typename... Args>
RestartableData< T > & Restartable::declareRestartableDataHelper ( const std::string &  data_name,
void *  context,
Args &&...  args 
) const
privateinherited

Helper function for declaring restartable data.

We use this function to reduce code duplication when returning const/nonconst references to the data.

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

313{
314 const auto full_name = restartableName(data_name);
315
316 // Here we will create the RestartableData even though we may not use this instance.
317 // If it's already in use, the App will return a reference to the existing instance and we'll
318 // return that one instead. We might refactor this to have the app create the RestartableData
319 // at a later date.
320 auto data_ptr =
321 std::make_unique<RestartableData<T>>(full_name, context, std::forward<Args>(args)...);
322 auto & restartable_data_ref = cast_ref<RestartableData<T> &>(
323 registerRestartableDataOnApp(std::move(data_ptr), _restartable_tid));
324
325 return restartable_data_ref;
326}
const THREAD_ID _restartable_tid
The thread ID for this object.
RestartableDataValue & registerRestartableDataOnApp(std::unique_ptr< RestartableDataValue > data, THREAD_ID tid) const
Helper function for actually registering the restartable data.
Definition Restartable.C:63

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

304{
305 return declareRestartableDataHelper<T>(data_name, context, std::forward<Args>(args)...).set();
306}

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

333{
334 return declareRestartableDataWithObjectNameWithContext<T>(
335 data_name, object_name, nullptr, std::forward<Args>(args)...);
336}

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

344{
345 std::string old_name = _restartable_name;
346
347 _restartable_name = object_name;
348
349 T & value = declareRestartableDataWithContext<T>(data_name, context, std::forward<Args>(args)...);
350
351 _restartable_name = old_name;
352
353 return value;
354}
std::string _restartable_name
The name of the object.
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)

◆ enabled()

virtual bool MooseObject::enabled ( ) const
inlinevirtualinherited

Return the enabled status of the object.

Reimplemented in EigenKernel.

Definition at line 49 of file MooseObject.h.

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

Referenced by EigenKernel::enabled(), BlockRestrictionDebugOutput::printBlockRestrictionGroups(), BlockRestrictionDebugOutput::printBoundaryRestrictionGroups(), and NodeFaceConstraint::validParams().

◆ errorPrefix()

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

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

Definition at line 264 of file MooseBase.h.

264{ return messagePrefix(); }

◆ fillPositions()

void QuadraturePointMultiApp::fillPositions ( )
overrideprotectedvirtual

must fill in _positions with the positions of the sub-aps

Reimplemented from MultiApp.

Definition at line 44 of file QuadraturePointMultiApp.C.

45{
46 MooseMesh & main_mesh = _fe_problem.mesh();
47 auto & mesh = main_mesh.getMesh();
48 for (auto & elem : mesh.active_local_element_ptr_range())
49 {
50 // FEType is local to the element, supporting mixed order meshes
51 const FEFamily mapping_family = FEMap::map_fe_type(*elem);
52 FEType fe_type(elem->default_order(), mapping_family);
53 const auto qrule = fe_type.default_quadrature_rule(elem->dim());
54
55 // Build a Finite Element object of the specified type
56 std::unique_ptr<FEBase> fe(FEBase::build(elem->dim(), fe_type));
57
58 // Tell the finite element object to use our quadrature rule.
59 fe->attach_quadrature_rule(qrule.get());
60
61 // The physical XY locations of the quadrature points on the element.
62 // These might be useful for evaluating spatially varying material
63 // properties at the quadrature points.
64 const std::vector<Point> & q_points = fe->get_xyz();
65 fe->reinit(elem);
66
67 if (hasBlocks(elem->subdomain_id()))
68 for (const auto & q : q_points)
69 _positions.push_back(q);
70 }
71
72 // Remove local duplicates from the vector of positions as transfers will not handle them
73 std::sort(_positions.begin(), _positions.end());
74 _positions.erase(std::unique(_positions.begin(), _positions.end()), _positions.end());
75
76 // Use the comm from the problem this MultiApp is part of
78
79 // Remove duplicates occurring at process boundaries
80 std::sort(_positions.begin(), _positions.end());
81 _positions.erase(std::unique(_positions.begin(), _positions.end()), _positions.end());
82
83 if (_positions.empty())
84 mooseError("No positions found for QuadraturePointMultiApp ", _name);
85}
bool hasBlocks(const SubdomainName &name) const
Test if the supplied block name is valid for this object.
const std::string & _name
The name of this class.
Definition MooseBase.h:381
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object.
Definition MooseMesh.C:3512
void allgather(const T &send_data, std::vector< T, A > &recv_data) const
const Parallel::Communicator & comm() const

◆ finalize()

void MultiApp::finalize ( )
virtualinherited

Method called towards the end of the simulation to execute on final.

Reimplemented in FullSolveMultiApp.

Definition at line 766 of file MultiApp.C.

767{
768 for (const auto & app_ptr : _apps)
769 {
770 auto * executioner = app_ptr->getExecutioner();
771 mooseAssert(executioner, "Executioner is nullptr");
772
773 executioner->feProblem().execute(EXEC_FINAL);
774 executioner->feProblem().outputStep(EXEC_FINAL);
775 }
776}
const ExecFlagType EXEC_FINAL
Definition Moose.C:49

◆ finishStep()

void TransientMultiApp::finishStep ( bool  = false)
overridevirtualinherited

Calls multi-apps executioners' endStep and postStep methods which creates output and advances time (not the time step; see incrementTStep()) among other things.

This method is only called for Picard calculations because for loosely coupled calculations the executioners' endStep and postStep methods are called from solveStep(). This may be called with the optional flag recurse_through_multiapp_levels which may be useful if this method is being called for the final time of program execution

Reimplemented from MultiApp.

Definition at line 569 of file TransientMultiApp.C.

570{
571 if (!_sub_cycling)
572 {
573 for (unsigned int i = 0; i < _my_num_apps; i++)
574 {
576 ex->endStep();
577 ex->postStep();
578 if (recurse_through_multiapp_levels)
579 {
581 /*recurse_through_multiapp_levels=*/true);
583 /*recurse_through_multiapp_levels=*/true);
584 }
585 }
586 }
587}
const ExecFlagType EXEC_TIMESTEP_END
Definition Moose.C:37
const ExecFlagType EXEC_TIMESTEP_BEGIN
Definition Moose.C:38
FEProblemBase & feProblem()
Return a reference to this Executioner's FEProblemBase instance.
void finishMultiAppStep(ExecFlagType type, bool recurse_through_multiapp_levels=false)
Finish the MultiApp time step (endStep, postStep) associated with the ExecFlagType.
virtual void postStep()
virtual void endStep(Real input_time=-1.0)

◆ firstLocalApp()

unsigned int MultiApp::firstLocalApp ( )
inlineinherited
Returns
The global number of the first app on the local processor.

Definition at line 320 of file MultiApp.h.

320{ return _first_local_app; }

◆ 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 41 of file SolutionInvalidInterface.C.

43{
44 mooseAssert(
45 warning == moose::internal::getSolutionInvalidityRegistry().item(invalid_solution_id).warning,
46 "Inconsistent warning flag");
47 auto & solution_invalidity = _si_moose_base.getMooseApp().solutionInvalidity();
48 if constexpr (!warning)
50 solution_invalidity.printDebug(invalid_solution_id);
51 return solution_invalidity.flagInvalidSolutionInternal(invalid_solution_id);
52}
bool immediatelyPrintInvalidSolution() const
Whether or not the solution invalid warnings are printed out immediately.
SolutionInvalidity & solutionInvalidity()
Get the SolutionInvalidity for this app.
Definition MooseApp.h:185
MooseApp & getMooseApp() const
Get the MooseApp this class is associated with.
Definition MooseBase.h:87
const FEProblemBase * _si_problem
A pointer to FEProblem base.
const MooseBase & _si_moose_base
The MooseBase that owns this interface.
void printDebug(InvalidSolutionID _invalid_solution_id) const
Immediately print the section and message for debug purpose.
SolutionInvalidityRegistry & getSolutionInvalidityRegistry()
Get the global SolutionInvalidityRegistry singleton.

◆ getBase()

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

Definition at line 147 of file MooseBase.h.

147{ return _pars.getBase(); }
const std::string & getBase() const

Referenced by MooseBase::uniqueParameterName().

◆ getBlockCoordSystem()

Moose::CoordinateSystemType BlockRestrictable::getBlockCoordSystem ( )
protectedinherited

Check if the blocks this object operates on all have the same coordinate system, and if so return it.

Definition at line 336 of file BlockRestrictable.C.

337{
338 if (!_blk_mesh)
339 mooseError("No mesh available in BlockRestrictable::checkCoordSystem()");
340 if (!_blk_feproblem)
341 mooseError("No problem available in BlockRestrictable::checkCoordSystem()");
342
343 const auto & subdomains = blockRestricted() ? blockIDs() : meshBlockIDs();
344
345 if (subdomains.empty())
346 mooseError("No subdomains found in the problem.");
347
348 // make sure all subdomains are using the same coordinate system
349 auto coord_system = _blk_feproblem->getCoordSystem(*subdomains.begin());
350 for (auto subdomain : subdomains)
351 if (_blk_feproblem->getCoordSystem(subdomain) != coord_system)
352 mooseError("This object requires all subdomains to have the same coordinate system.");
353
354 return coord_system;
355}
if(!dmm->_nl) SETERRQ(PETSC_COMM_WORLD
virtual const std::set< SubdomainID > & blockIDs() const
Return the block subdomain ids for this object Note, if this is not block restricted,...
FEProblemBase * _blk_feproblem
Pointer to FEProblemBase.
Moose::CoordinateSystemType getCoordSystem(SubdomainID sid) const

◆ getBoundingBox()

BoundingBox MultiApp::getBoundingBox ( unsigned int  app,
bool  displaced_mesh,
const MultiAppCoordTransform *  coord_transform = nullptr 
)
virtualinherited

Get the BoundingBox for the mesh associated with app The bounding box will be shifted to be in the correct position within the master domain.

If the MultiApp is in an RZ coordinate system the box will be the size it would be if the geometry were 3D (ie if you were to revolve the geometry around the axis to create the 3D geometry).

Parameters
appThe global app number you want to get the bounding box for
displaced_meshTrue if the bounding box is retrieved for the displaced mesh, other false
coord_transformAn optional coordinate transformation object

Definition at line 974 of file MultiApp.C.

977{
978 if (!_has_an_app)
979 mooseError("No app for ", name(), " on processor ", _orig_rank);
980
981 unsigned int local_app = globalAppToLocal(app);
982 FEProblemBase & fe_problem_base = _apps[local_app]->getExecutioner()->feProblem();
983 MooseMesh & mesh = (displaced_mesh && fe_problem_base.getDisplacedProblem().get() != NULL)
984 ? fe_problem_base.getDisplacedProblem()->mesh()
985 : fe_problem_base.mesh();
986
987 {
989 if (displaced_mesh)
991 else
992 {
993 if (!_has_bounding_box[local_app])
994 {
996 _has_bounding_box[local_app] = true;
997 }
998 }
999 }
1000 BoundingBox bbox = _bounding_box[local_app];
1001
1002 Point min = bbox.min();
1004 Point max = bbox.max();
1006
1007 Point inflation_amount = (max - min) * _inflation;
1008
1009 Point inflated_min = min - inflation_amount;
1010 Point inflated_max = max + inflation_amount;
1011
1012 Point shifted_min = inflated_min;
1013 Point shifted_max = inflated_max;
1014
1015 if ((!coord_transform || coord_transform->skipCoordinateCollapsing()) &&
1016 fe_problem_base.getCoordSystem(*(mesh.meshSubdomains().begin())) == Moose::COORD_RZ)
1017 {
1018 // If the problem is RZ then we're going to invent a box that would cover the whole "3D" app
1019 // FIXME: Assuming all subdomains are the same coordinate system type!
1020 shifted_min(0) = -inflated_max(0);
1021 shifted_min(1) = inflated_min(1);
1022 shifted_min(2) = -inflated_max(0);
1023
1024 shifted_max(0) = inflated_max(0);
1025 shifted_max(1) = inflated_max(1);
1026 shifted_max(2) = inflated_max(0);
1027 }
1028
1029 if (coord_transform)
1030 {
1031 BoundingBox transformed_bbox(shifted_min, shifted_max);
1032 transformBoundingBox(transformed_bbox, *coord_transform);
1033 return transformed_bbox;
1034 }
1035 else
1036 {
1037 // This is where the app is located. We need to shift by this amount.
1038 Point p = position(app);
1039
1040 // Shift them to the position they're supposed to be
1041 shifted_min += p;
1042 shifted_max += p;
1043 return BoundingBox(shifted_min, shifted_max);
1044 }
1045}
void skipCoordinateCollapsing(bool skip_coordinate_collapsing)
set whether coordinate collapsing operations should be skipped
Real _inflation
Relative bounding box inflation.
Definition MultiApp.h:595
std::vector< bool > _has_bounding_box
Flag if this multi-app computed its bounding box (valid only for non-displaced meshes)
Definition MultiApp.h:589
std::vector< libMesh::BoundingBox > _bounding_box
This multi-app's bounding box.
Definition MultiApp.h:592
Point _bounding_box_padding
Additional padding added to the bounding box, useful for 1D meshes.
Definition MultiApp.h:598
const Point & position(unsigned int app) const
The physical position of a global App number.
Definition MultiApp.C:1570
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:934
auto max(const L &left, const R &right)
auto min(const L &left, const R &right)
@ COORD_RZ
Definition MooseTypes.h:866
libMesh::BoundingBox create_bounding_box(const MeshBase &mesh)

◆ 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 450 of file MooseBase.h.

451{
452 return _pars.getCheckedPointerParam<T>(name, error_string);
453}
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.

◆ getCommandLineArgs()

std::vector< std::string > MultiApp::getCommandLineArgs ( const unsigned int  local_app)
protectedvirtualinherited
Returns
The command line arguments to be applied to the subapp with index local_app

The method is virtual because it is needed to allow for batch runs within the stochastic tools module; see SamplerFullSolveMultiApp for an example.

Definition at line 1335 of file MultiApp.C.

1336{
1337 const auto cla = cliArgs();
1338 auto cli_args_param = _cli_args_param;
1339 std::string combined_args;
1340
1341 // Single set of args from cliArgs() to be provided to all apps
1342 if (cla.size() == 1)
1343 combined_args = cla[0];
1344 // Single "cli_args_files" file to be provided to all apps
1345 else if (_cli_args_from_file.size() == 1)
1346 {
1347 cli_args_param = "cli_args_files";
1348 combined_args = _cli_args_from_file[0];
1349 }
1350 // Unique set of args from cliArgs() to be provided to each app
1351 else if (cla.size())
1352 combined_args = cla[local_app + _first_local_app];
1353 // Unique set of args from "cli_args_files" to be provided to all apps
1354 else
1355 {
1356 cli_args_param = "cli_args_files";
1357 combined_args = _cli_args_from_file[local_app + _first_local_app];
1358 }
1359
1360 // Remove all of the beginning and end whitespace so we can recognize truly empty
1361 combined_args = MooseUtils::trim(combined_args);
1362
1363 // MooseUtils::split will return a single empty entry if there is nothing,
1364 // so exit early if we have nothing
1365 if (combined_args.empty())
1366 return {};
1367
1368 // Split the argument into a vector of arguments, and make sure
1369 // that we don't have any empty arguments
1370 const auto args = MooseUtils::split(combined_args, ";");
1371 for (const auto & arg : args)
1372 {
1373 if (arg.empty())
1374 {
1375 const auto error = "An empty MultiApp command line argument was provided. Your "
1376 "combined command line string has a ';' with no argument after it.";
1377 if (cli_args_param)
1378 paramError(*cli_args_param, error);
1379 else
1380 mooseError(error);
1381 }
1382 }
1383
1384 return args;
1385}
std::vector< std::string > split(const std::string &str, const std::string &delimiter, std::size_t max_count)
std::string trim(const std::string &str, const std::string &white_space=" \t\n\v\f\r")
Standard scripting language trim function.

Referenced by MultiApp::createApp().

◆ 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 ParallelParamObject & _parent
void mooseDeprecated(Args &&... args) const
Emits a deprecation warning prefixed with the object name and type, and a stack trace.
Definition MooseBase.h:317
const T & getParam(const std::string &name) const
Retrieve a parameter for the object.
Definition MooseBase.h:406

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

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

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 // This will search the data paths for this relative path
50 std::optional<std::string> error;
52 {
53 // Throw on error so that if getPath() fails, we can throw an error
54 // with the context of _parent.mooseError()
55 Moose::ScopedThrowOnError scoped_throw_on_error;
56
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
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 mooseWarning(Args &&... args) const
Emits a warning prefixed with object name and type.
Definition MooseBase.h:299
void mooseInfo(Args &&... args) const
Definition MooseBase.h:334
Scoped helper for setting Moose::_throw_on_error during this scope.
Definition Moose.h:308
@ DATA
From installed/in-tree data.
Path getPath(std::string path, const GetPathOptions &options={})
Get the data path for a given path, searching the registered data.
Representation of a data file path.
std::optional< std::string > data_name
The name of the data registry the file came from (with context == DATA)
Context context
Context for the file (where it came from)

Referenced by DataFileInterface::getDataFileNameByName().

◆ getExecuteOnEnum()

const ExecFlagEnum & SetupInterface::getExecuteOnEnum ( ) const
inherited

◆ getExecutioner()

Executioner * MultiApp::getExecutioner ( unsigned int  app)
virtualinherited
Parameters
appThe global app number to get the Executioner for
Returns
The Executioner associated with that App.

Definition at line 757 of file MultiApp.C.

758{
759 if (!_has_an_app)
760 mooseError("No app for ", name(), " on processor ", _orig_rank);
761
762 return _apps[globalAppToLocal(app)]->getExecutioner();
763}

Referenced by MultiApp::restore().

◆ getHitNode() [1/2]

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

Definition at line 136 of file MooseBase.h.

136{ return getHitNode(_pars); }

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

◆ getHitNode() [2/2]

const hit::Node * MooseBase::getHitNode ( const InputParameters &  params)
staticprivateinherited

Internal method for getting a hit node (if available) given a set of parameters.

Needs to be static so that we can call it externally from InputParameters for errors that do not have context of the MooseBase

Definition at line 167 of file MooseBase.C.

168{
169 if (const auto hit_node = params.getHitNode())
170 if (!hit_node->isRoot())
171 return hit_node;
172 return nullptr;
173}
const hit::Node * getHitNode(const std::string &param) const

◆ getMooseApp()

MooseApp & MooseBase::getMooseApp ( ) const
inlineinherited

Get the MooseApp this class is associated with.

Definition at line 87 of file MooseBase.h.

87{ return _app; }

Referenced by ChainControlSetupAction::act(), AddDefaultConvergenceAction::addDefaultMultiAppFixedPointConvergence(), AddDefaultConvergenceAction::addDefaultNonlinearConvergence(), AddDefaultConvergenceAction::addDefaultSteadyStateConvergence(), FEProblemBase::advanceState(), ParsedChainControl::buildFunction(), ReporterTransferInterface::checkHasReporterValue(), LinearFVGradientManager::checkRestartedGradientHistory(), AddDefaultConvergenceAction::checkUnusedMultiAppFixedPointConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedNonlinearConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedSteadyStateConvergenceParameters(), Coupleable::checkWritableVar(), ComponentPhysicsInterface::ComponentPhysicsInterface(), Coupleable::Coupleable(), MortarInterfaceWarehouse::createMortarInterface(), EigenProblem::doFreeNonlinearPowerIterations(), Terminator::execute(), FEProblemSolve::FEProblemSolve(), SolutionInvalidInterface::flagInvalidSolutionInternal(), ChainControl::getChainControlDataSystem(), FEProblemBase::getDistribution(), FEProblemBase::getFunction(), FEProblemBase::getFVInterpolationMethod(), FEProblemBase::getMultiApp(), FEProblemBase::getSampler(), DefaultConvergenceBase::getSharedExecutionerParam(), FEProblemBase::getUserObjectBase(), FEProblemBase::getVectorPostprocessorObjectByName(), ChainControlDataPostprocessor::initialSetup(), MaterialPropertyInterface::MaterialPropertyInterface(), MooseVariableDataFV< OutputType >::MooseVariableDataFV(), ProgressOutput::output(), PetscOutputInterface::petscLinearOutput(), PetscOutputInterface::petscNonlinearOutput(), Moose::PetscSupport::PetscOptionsScope::PetscOptionsScope(), PetscOutputInterface::PetscOutputInterface(), PostprocessorInterface::postprocessorsAdded(), MultiApp::preTransfer(), AuxiliarySystem::registerFVGradient(), Reporter::Reporter(), ReporterInterface::reportersAdded(), MultiApp::restore(), and VectorPostprocessorInterface::vectorPostprocessorsAdded().

◆ getMultiAppName()

std::string MultiApp::getMultiAppName ( const std::string &  base_name,
dof_id_type  index,
dof_id_type  total 
)
staticprotectedinherited

Helper for constructing the name of the multiapp.

Parameters
base_nameThe base name of the multiapp, usually name()
indexThe index of the app
totalThe total number of apps, which is used to pad the name with zeros
Returns
std::string The name of the multiapp

Definition at line 1561 of file MultiApp.C.

1562{
1563 std::ostringstream multiapp_name;
1564 multiapp_name << base_name << std::setw(std::ceil(std::log10(total))) << std::setprecision(0)
1565 << std::setfill('0') << std::right << index;
1566 return multiapp_name.str();
1567}

Referenced by MultiApp::createApp(), and MultiApp::setAppOutputFileBase().

◆ 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 406 of file MooseBase.h.

407{
408 return InputParameters::getParamHelper<T>(name, _pars);
409}

Referenced by CommonOutputAction::act(), CreateDisplacedProblemAction::act(), DiffusionCG::addFEKernels(), DiffusionFV::addFVKernels(), CylinderComponent::addMeshGenerators(), FEProblemBase::addOutput(), ArrayParsedAux::ArrayParsedAux(), BicubicSplineFunction::BicubicSplineFunction(), SurfaceDelaunayGeneratorBase::checkBoundaryAndHolesParams(), Console::Console(), CutMeshByLevelSetGenerator::CutMeshByLevelSetGenerator(), DebugResidualAux::DebugResidualAux(), DerivativeParsedMaterialTempl< is_ad >::DerivativeParsedMaterialTempl(), DiffusionPhysicsBase::DiffusionPhysicsBase(), DynamicObjectRegistrationAction::DynamicObjectRegistrationAction(), EigenKernel::EigenKernel(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), MFEMEigenvaluesPostprocessor::execute(), FEProblemSolve::FEProblemSolve(), SurfaceDelaunayGeneratorBase::fillDelaunayOptions(), ParsedVectorReporter::finalize(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), FixedPointSolve::FixedPointSolve(), ParsedSubdomainGeneratorBase::functionInitialize(), BlockDeletionGenerator::generate(), BoundaryLayerSubdomainGenerator::generate(), BreakMeshByBlockGenerator::generate(), CoarsenBlockGenerator::generate(), FileMeshGenerator::generate(), MeshExtruderGenerator::generate(), RefineBlockGenerator::generate(), RefineSidesetGenerator::generate(), SubdomainsFromPartitionerGenerator::generate(), GenericConstantRankTwoTensorTempl< is_ad >::GenericConstantRankTwoTensorTempl(), GenericConstantSymmetricRankTwoTensorTempl< is_ad >::GenericConstantSymmetricRankTwoTensorTempl(), GeometricSearchInterface::GeometricSearchInterface(), MooseApp::getCheckpointDirectories(), DataFileInterface::getDataFileName(), ExecutorInterface::getExecutor(), DefaultConvergenceBase::getSharedExecutionerParam(), AddVariableAction::init(), AdvancedOutput::init(), FixedPointIterationAdaptiveDT::init(), TimeSequenceStepper::init(), AdvancedOutput::initAvailableLists(), AttribThread::initFrom(), AttribExecutionOrderGroup::initFrom(), AttribSysNum::initFrom(), AttribResidualObject::initFrom(), AttribDisplaced::initFrom(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), Console::initialSetup(), SampledOutput::initSample(), IterationAdaptiveDT::limitDTToPostprocessorValue(), MooseMesh::MooseMesh(), MooseVariableBase::MooseVariableBase(), MoveNodesByParsedExpressionModifier::MoveNodesByParsedExpressionModifier(), MultiPostprocessorConvergence::MultiPostprocessorConvergence(), PerfGraphOutput::output(), Console::outputSystemInformation(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedElementDeletionGenerator::ParsedElementDeletionGenerator(), ParsedGenerateNodeset::ParsedGenerateNodeset(), ParsedGenerateSideset::ParsedGenerateSideset(), ParsedMaterialTempl< is_ad >::ParsedMaterialTempl(), ParsedNodeTransformGenerator::ParsedNodeTransformGenerator(), ParsedODEKernel::ParsedODEKernel(), ParsedPostprocessor::ParsedPostprocessor(), ParsedReporterBase::ParsedReporterBase(), ParsedVectorReporter::ParsedVectorReporter(), ProjectSideSetOntoLevelSetGenerator::ProjectSideSetOntoLevelSetGenerator(), ReferenceResidualInterface::ReferenceResidualInterface(), Moose::FV::setInterpolationMethod(), SetupMeshAction::setupMesh(), MooseApp::setupOptions(), Output::setWallTimeIntervalFromCommandLineParam(), PetscOutput::solveSetup(), TimePeriod::TimePeriod(), UniqueExtraIDMeshGenerator::UniqueExtraIDMeshGenerator(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), VectorOfPostprocessors::VectorOfPostprocessors(), and XYQuadrilateralMeshFromBoundaryCurve::XYQuadrilateralMeshFromBoundaryCurve().

◆ 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 443 of file MooseBase.h.

444{
445 return _pars.get<T1, T2>(param1, param2);
446}

◆ 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 420 of file MooseBase.h.

421{
422 // Most important: accept new parameter
423 if (isParamSetByUser(new_name) && !isParamValid(old_name))
424 return getParam<T>(new_name);
425 // Second most: accept old parameter
426 if (isParamValid(old_name) && !isParamSetByUser(new_name))
427 return getParam<T>(old_name);
428 // Third most: accept default for new parameter
429 if (isParamValid(new_name) && !isParamValid(old_name))
430 return getParam<T>(new_name);
431 // Refuse: no default, no value passed
432 if (!isParamValid(old_name) && !isParamValid(new_name))
433 mooseError("parameter '" + new_name +
434 "' is being retrieved without being set.\nDid you misspell it?");
435 // Refuse: both old and new parameters set by user
436 else
437 mooseError("Parameter '" + new_name + "' may not be provided alongside former parameter '" +
438 old_name + "'");
439}
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:205
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
Definition MooseBase.h:199

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

295{
296 return declareRestartableDataHelper<T>(data_name, nullptr).get();
297}

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

71{
72 try
73 {
74 return shared_from_this();
75 }
76 catch (std::bad_weak_ptr &)
77 {
78 mooseError(not_shared_error);
79 }
80}

Referenced by MFEMProblem::addImagComponentToBC(), MFEMProblem::addImagComponentToKernel(), MFEMProblem::addRealComponentToBC(), MFEMProblem::addRealComponentToKernel(), and WebServerControl::addServerAction().

◆ getSharedPtr() [2/2]

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

Definition at line 83 of file MooseObject.C.

84{
85 try
86 {
87 return shared_from_this();
88 }
89 catch (std::bad_weak_ptr &)
90 {
91 mooseError(not_shared_error);
92 }
93}

◆ globalAppToLocal()

unsigned int MultiApp::globalAppToLocal ( unsigned int  global_app)
protectedinherited

Map a global App number to the local number.

Note: This will error if given a global number that doesn't map to a local number.

Parameters
global_appThe global app number.
Returns
The local app number.

Definition at line 1508 of file MultiApp.C.

1509{
1510 if (global_app >= _first_local_app && global_app <= _first_local_app + (_my_num_apps - 1))
1511 return global_app - _first_local_app;
1512
1513 std::stringstream ss;
1514 ss << "Requesting app " << global_app << ", but processor " << processor_id() << " ";
1515 if (_my_num_apps == 0)
1516 ss << "does not own any apps";
1517 else if (_my_num_apps == 1)
1518 ss << "owns app " << _first_local_app;
1519 else
1520 ss << "owns apps " << _first_local_app << "-" << _first_local_app + (_my_num_apps - 1);
1521 ss << ".";
1522 mooseError("Invalid global_app!\n", ss.str());
1523 return 0;
1524}

Referenced by MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::createApps(), MultiApp::getBoundingBox(), MultiApp::getExecutioner(), MultiApp::moveApp(), TransientMultiApp::resetApp(), and MultiApp::resetApp().

◆ hasApp()

bool MultiApp::hasApp ( )
inlineinherited

Whether or not this MultiApp has an app on this processor.

Definition at line 330 of file MultiApp.h.

330{ return _has_an_app; }

◆ hasBase()

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

Definition at line 142 of file MooseBase.h.

142{ return _pars.hasBase(); }
bool hasBase() const

◆ hasBlockMaterialProperty()

template<typename T , bool is_ad>
bool BlockRestrictable::hasBlockMaterialProperty ( const std::string &  prop_name)
inherited

Check if a material property is valid for all blocks of this object.

This method returns true if the supplied property name has been declared in a Material object on the block ids for this object.

Template Parameters
TThe type of material property
Parameters
prop_namethe name of the property to query
Returns
true if the property exists for all block ids of the object, otherwise false
See also
Material::hasBlockMaterialProperty

Definition at line 360 of file BlockRestrictable.h.

361{
362 mooseAssert(_blk_material_data != NULL, "MaterialData pointer is not defined");
363 return hasBlockMaterialPropertyHelper(prop_name) &&
364 _blk_material_data->haveGenericProperty<T, is_ad>(prop_name);
365}
const MaterialData * _blk_material_data
Pointer to the MaterialData class for this object.
virtual bool hasBlockMaterialPropertyHelper(const std::string &prop_name)
A helper method to allow the Material object to specialize the behavior of hasBlockMaterialProperty.
bool haveGenericProperty(const std::string &prop_name) const

◆ hasBlockMaterialPropertyHelper()

bool BlockRestrictable::hasBlockMaterialPropertyHelper ( const std::string &  prop_name)
protectedvirtualinherited

A helper method to allow the Material object to specialize the behavior of hasBlockMaterialProperty.

It also avoid circular #include problems.

See also
hasBlockMaterialProperty

Definition at line 300 of file BlockRestrictable.C.

301{
302
303 // Reference to MaterialWarehouse for testing and retrieving block ids
305
306 // Complete set of ids that this object is active
307 const std::set<SubdomainID> & ids = blockRestricted() ? blockIDs() : meshBlockIDs();
308
309 // Loop over each id for this object
310 for (const auto & id : ids)
311 {
312 // Storage of material properties that have been DECLARED on this id
313 std::set<std::string> declared_props;
314
315 // If block materials exist, populated the set of properties that were declared
316 if (warehouse.hasActiveBlockObjects(id))
317 {
318 const std::vector<std::shared_ptr<MaterialBase>> & mats = warehouse.getActiveBlockObjects(id);
319 for (const auto & mat : mats)
320 {
321 const std::set<std::string> & mat_props = mat->getSuppliedItems();
322 declared_props.insert(mat_props.begin(), mat_props.end());
323 }
324 }
325
326 // If the supplied property is not in the list of properties on the current id, return false
327 if (declared_props.find(prop_name) == declared_props.end())
328 return false;
329 }
330
331 // If you get here the supplied property is defined on all blocks
332 return true;
333}
const MaterialWarehouse & getMaterialWarehouse() const
MaterialBase objects are special in that they have additional objects created automatically (see FEPr...
const std::map< SubdomainID, std::vector< std::shared_ptr< T > > > & getActiveBlockObjects(THREAD_ID tid=0) const
bool hasActiveBlockObjects(THREAD_ID tid=0) const

Referenced by BlockRestrictable::hasBlockMaterialProperty().

◆ hasBlocks() [1/6]

bool BlockRestrictable::hasBlocks ( const std::set< SubdomainID > &  ids) const
inherited

Test if the supplied set of block ids are valid for this object.

Parameters
idsA std::set of SubdomainIDs to check
Returns
True if all of the given ids are found within the ids for this object
See also
isSubset

Definition at line 262 of file BlockRestrictable.C.

263{
264 if (_blk_ids.empty() || _blk_ids.find(Moose::ANY_BLOCK_ID) != _blk_ids.end())
265 return true;
266 else
267 return std::includes(_blk_ids.begin(), _blk_ids.end(), ids.begin(), ids.end());
268}

◆ hasBlocks() [2/6]

bool BlockRestrictable::hasBlocks ( const std::set< SubdomainName > &  names) const
inherited

Test if the supplied set of block names are valid for this object.

Parameters
namesA set of SubdomainNames to check
Returns
True if the given ids are valid for this object

Definition at line 240 of file BlockRestrictable.C.

241{
242 return hasBlocks(_blk_mesh->getSubdomainIDs(names));
243}
std::vector< SubdomainID > getSubdomainIDs(const std::vector< SubdomainName > &subdomain_names) const
Get the associated subdomainIDs for the subdomain names that are passed in.
Definition MooseMesh.C:1684

◆ hasBlocks() [3/6]

bool BlockRestrictable::hasBlocks ( const std::vector< SubdomainID > &  ids) const
inherited

Test if the supplied vector block ids are valid for this object.

Parameters
idsA vector of SubdomainIDs ids to check
Returns
True if all of the given ids are found within the ids for this object

Definition at line 255 of file BlockRestrictable.C.

256{
257 std::set<SubdomainID> ids_set(ids.begin(), ids.end());
258 return hasBlocks(ids_set);
259}

◆ hasBlocks() [4/6]

bool BlockRestrictable::hasBlocks ( const std::vector< SubdomainName > &  names) const
inherited

Test if the supplied vector of block names are valid for this object.

Parameters
namesA vector of SubdomainNames to check
Returns
True if the given ids are valid for this object

Definition at line 234 of file BlockRestrictable.C.

235{
236 return hasBlocks(_blk_mesh->getSubdomainIDs(names));
237}

◆ hasBlocks() [5/6]

bool BlockRestrictable::hasBlocks ( const SubdomainName &  name) const
inherited

Test if the supplied block name is valid for this object.

Parameters
nameA SubdomainName to check
Returns
True if the given id is valid for this object

Definition at line 224 of file BlockRestrictable.C.

225{
226 // Create a vector and utilize the getSubdomainIDs function, which
227 // handles the ANY_BLOCK_ID (getSubdomainID does not)
228 std::vector<SubdomainName> names(1);
229 names[0] = name;
230 return hasBlocks(_blk_mesh->getSubdomainIDs(names));
231}
std::string name(const ElemQuality q)

Referenced by LinearFVFluxKernel::addMatrixContribution(), DiracKernelBase::addPoint(), LinearFVFluxKernel::addRightHandSideContribution(), NodalPatchRecoveryBase::addToQuery(), MultiAppVariableValueSamplePostprocessorTransfer::cacheElemToPostprocessorData(), DomainUserObject::checkVariable(), ComputeJacobianThread::compute(), ComboMarker::computeElementMarker(), GradientJumpIndicator::computeQpIntegral(), ProjectionAux::computeValue(), DebugResidualAux::DebugResidualAux(), DomainUserObject::DomainUserObject(), ProjectionAux::elemOnNodeVariableIsDefinedOn(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), CentroidMultiApp::fillPositions(), fillPositions(), NodalPatchRecoveryBase::gatherRequestList(), NodalPatchRecoveryBase::getCoefficients(), BlockRestrictable::hasBlocks(), BlockRestrictable::hasBlocks(), BlockRestrictable::hasBlocks(), MooseVariableField< OutputType >::hasBlocks(), BlockRestrictable::hasBlocks(), MeshDivisionFunctorReductionVectorPostprocessor::hasBlocks(), FVFluxKernel::hasFaceSide(), IndicatorMarker::IndicatorMarker(), NodePositions::initialize(), ParsedDownSelectionPositions::initialize(), UpdateErrorVectorsThread::onElement(), PointwiseRenormalizeVector::PointwiseRenormalizeVector(), and BlockRestrictionDebugOutput::printBlockRestrictionMap().

◆ hasBlocks() [6/6]

bool BlockRestrictable::hasBlocks ( SubdomainID  id) const
inherited

Test if the supplied block ids are valid for this object.

Parameters
idA SubdomainID to check
Returns
True if the given id is valid for this object

Definition at line 246 of file BlockRestrictable.C.

247{
248 if (_blk_ids.empty() || _blk_ids.find(Moose::ANY_BLOCK_ID) != _blk_ids.end())
249 return true;
250 else
251 return _blk_ids.find(id) != _blk_ids.end();
252}

◆ hasLocalApp()

bool MultiApp::hasLocalApp ( unsigned int  global_app) const
inherited

Whether or not the given global app number is on this processor.

Parameters
global_appThe global app number in question
Returns
True if the global app is on this processor

Definition at line 1102 of file MultiApp.C.

1103{
1104 if (_has_an_app && global_app >= _first_local_app &&
1105 global_app <= _first_local_app + (_my_num_apps - 1))
1106 return true;
1107
1108 return false;
1109}

Referenced by MultiApp::createApps(), MultiApp::moveApp(), TransientMultiApp::resetApp(), and MultiApp::resetApp().

◆ incrementTStep()

void TransientMultiApp::incrementTStep ( Real  )
overridevirtualinherited

Advances the multi-apps time step which is important for dt selection.

(Note this does not advance the time. That is done in Transient::endStep, which is called either directly from solveStep() for loose coupling cases or through finishStep() for Picard coupling cases)

Reimplemented from MultiApp.

Definition at line 549 of file TransientMultiApp.C.

550{
551 if (!_sub_cycling)
552 {
553 for (unsigned int i = 0; i < _my_num_apps; i++)
554 {
556
557 // The App might have a different local time from the rest of the problem
558 Real app_time_offset = _apps[i]->getGlobalTimeOffset();
559
560 // Only increment the step if we are after (target_time) the
561 // start_time (added to app_time_offset) of this sub_app.
562 if (_apps[i]->getStartTime() + app_time_offset < target_time)
564 }
565 }
566}
virtual void incrementStepOrReject()
This is where the solve step is actually incremented.

◆ init() [1/2]

void MultiApp::init ( unsigned int  num_apps,
bool  batch_mode = false 
)
protectedinherited

Build communicators and reserve backups.

Definition at line 353 of file MultiApp.C.

354{
355 auto config = rankConfig(
357 init(num_apps, config);
358}
LocalRankConfig rankConfig(processor_id_type rank, processor_id_type nprocs, dof_id_type napps, processor_id_type min_app_procs, processor_id_type max_app_procs, bool batch_mode=false)
Returns app partitioning information relevant to the given rank for a multiapp scenario with the give...
Definition MultiApp.C:1388
processor_id_type _min_procs_per_app
Minimum number of processors to give to each app.
Definition MultiApp.h:604
void init(unsigned int num_apps, const LocalRankConfig &config)
Build communicators and reserve backups using a custom rank configuration.
Definition MultiApp.C:361
processor_id_type _max_procs_per_app
Maximum number of processors to give to each app.
Definition MultiApp.h:601
processor_id_type n_processors() const

◆ init() [2/2]

void MultiApp::init ( unsigned int  num_apps,
const LocalRankConfig &  config 
)
inherited

Build communicators and reserve backups using a custom rank configuration.

Used by FEProblemBase::partitionConcurrentMultiApps() to (re)assign this multiapp the disjoint subset of ranks it will run on when multiapps are executed concurrently, before its sub-apps are created.

Definition at line 361 of file MultiApp.C.

362{
363 TIME_SECTION(_init_timer);
364
365 _total_num_apps = num_apps;
366 _rank_config = config;
367 buildComm();
369
370 _has_bounding_box.resize(_my_num_apps, false);
371 _reset_happened.resize(_reset_times.size(), false);
373
374 if ((_cli_args.size() > 1) && (_total_num_apps != _cli_args.size()))
375 paramError("cli_args",
376 "The number of items supplied must be 1 or equal to the number of sub apps.");
377
378 // if cliArgs() != _cli_args, then cliArgs() was overridden and we need to check it
379 auto cla = cliArgs();
380 if (cla != std::vector<std::string>(_cli_args.begin(), _cli_args.end()))
381 {
382 if ((cla.size() > 1) && (_total_num_apps != cla.size()))
383 mooseError("The number of items supplied as command line argument to subapps must be 1 or "
384 "equal to the number of sub apps. Note: you use a multiapp that provides its own "
385 "command line parameters so the error is not in cli_args");
386 }
387}
std::vector< Real > _reset_times
The times at which to reset apps.
Definition MultiApp.h:613
void buildComm()
Create an MPI communicator suitable for each app.
Definition MultiApp.C:1466
const PerfID _init_timer
Definition MultiApp.h:672
std::vector< bool > _reset_happened
Whether or not apps have been reset at each time.
Definition MultiApp.h:619

Referenced by MultiApp::init(), and MultiApp::possiblyCreateChildApplications().

◆ initializeBlockRestrictable()

void BlockRestrictable::initializeBlockRestrictable ( const MooseObject *  moose_object)
protectedinherited

An initialization routine needed for dual constructors.

Definition at line 76 of file BlockRestrictable.C.

77{
78 // If the mesh pointer is not defined, but FEProblemBase is, get it from there
79 if (_blk_feproblem != NULL && _blk_mesh == NULL)
81
82 // Check that the mesh pointer was defined, it is required for this class to operate
83 if (_blk_mesh == NULL)
84 mooseError("The input parameters must contain a pointer to FEProblem via '_fe_problem' or a "
85 "pointer to the MooseMesh via '_mesh'");
86
87 // Populate the MaterialData pointer
88 if (_blk_feproblem != NULL)
89 {
90#ifdef MOOSE_KOKKOS_ENABLED
93 else
94#endif
96 }
97
98 // The 'block' input is defined
99 if (moose_object->isParamValid("block"))
100 {
101 // Extract the blocks from the input
102 _blocks = moose_object->getParam<std::vector<SubdomainName>>("block");
103
104 // Store the IDs in a set, handling ANY_BLOCK_ID if supplied
105 if (std::find(_blocks.begin(), _blocks.end(), "ANY_BLOCK_ID") != _blocks.end())
107 else
108 {
109 // Get the IDs from the supplied names
111 _blk_ids.insert(_vec_ids.begin(), _vec_ids.end());
112 }
113 }
114
115 // When 'blocks' is not set and there is a "variable", use the blocks from the variable
116 else if (moose_object->isParamValid("variable"))
117 {
118 std::string variable_name = moose_object->parameters().getMooseType("variable");
119 if (!variable_name.empty())
121 ->getVariable(_blk_tid,
122 variable_name,
125 .activeSubdomains();
126 }
127
128 // Produce error if the object is not allowed to be both block and boundary restricted
129 if (!_blk_dual_restrictable && !_boundary_ids.empty() && !_boundary_ids.empty())
131 moose_object->paramError("block",
132 "Attempted to restrict the object '",
133 _blk_name,
134 "' to a block, but the object is already restricted by boundary");
135
136 // If no blocks were defined above, specify that it is valid on all blocks
137 if (_blk_ids.empty() && !moose_object->isParamValid("boundary"))
138 {
140 _blocks = {"ANY_BLOCK_ID"};
141 }
142
143 // If this object is block restricted, check that defined blocks exist on the mesh
144 if (_blk_ids.find(Moose::ANY_BLOCK_ID) == _blk_ids.end())
145 {
146 const std::set<SubdomainID> & valid_ids = _blk_mesh->meshSubdomains();
147 std::vector<SubdomainID> diff;
148
149 std::set_difference(_blk_ids.begin(),
150 _blk_ids.end(),
151 valid_ids.begin(),
152 valid_ids.end(),
153 std::back_inserter(diff));
154
155 if (!diff.empty())
156 {
157 std::ostringstream msg;
158 auto sep = " ";
159 msg << "the following blocks (ids) do not exist on the mesh:";
160 for (const auto & id : diff)
161 {
162 if (_blk_name.size() > 0)
163 {
164 auto & name =
165 _blocks.at(std::find(_vec_ids.begin(), _vec_ids.end(), id) - _vec_ids.begin());
166 if (std::to_string(id) != name)
167 msg << sep << name << " (" << id << ")";
168 else
169 msg << sep << id;
170 }
171 else
172 msg << sep << id;
173 sep = ", ";
174 }
175 std::vector<SubdomainID> valid_ids_vec(valid_ids.begin(), valid_ids.end());
176 auto valid_names = _blk_mesh->getSubdomainNames(valid_ids_vec);
177 msg << "\nBlocks names (resp. ids) that do exist: " << Moose::stringify(valid_names) << " ("
178 << Moose::stringify(valid_ids) << ")";
179 moose_object->paramError("block", msg.str());
180 }
181 }
182
183 // Get the mesh dimension for the blocks
184 if (blockRestricted())
186 else
188
189#ifdef MOOSE_KOKKOS_ENABLED
190 if (moose_object->isKokkosObject())
193#endif
194}
THREAD_ID _blk_tid
Thread id for this object.
const bool _blk_dual_restrictable
Flag for allowing dual restriction.
std::vector< SubdomainID > _vec_ids
Vector of block ids supplied by the user via the input file (for error reporting)
const MooseObject * _moose_object
Pointer to the MOOSE object.
void initializeKokkosBlockRestrictable()
const std::set< BoundaryID > & _boundary_ids
Reference to the boundary_ids, defaults to an empty set if not provided.
MaterialData & getMaterialData(Moose::MaterialDataType type, const THREAD_ID tid=0, const MooseObject *object=nullptr) const
MaterialData & getKokkosMaterialData(Moose::MaterialDataType type, const MooseObject *object=nullptr) const
void addKokkosMeshInitializationHook(std::function< void()> function)
Add a function hook that needs to be called after Kokkos mesh initialization.
std::string getMooseType(const std::string &name) const
Utility functions for retrieving one of the MooseTypes variables into the common "string" base class.
virtual unsigned int dimension() const
Returns MeshBase::mesh_dimension(), (not MeshBase::spatial_dimension()!) of the underlying libMesh me...
Definition MooseMesh.C:2949
std::vector< SubdomainName > getSubdomainNames(const std::vector< SubdomainID > &subdomain_ids) const
Get the associated subdomainNames for the subdomain ids that are passed in.
Definition MooseMesh.C:1720
unsigned int getBlocksMaxDimension(const std::vector< SubdomainName > &blocks) const
Returns the maximum element dimension on the given blocks.
Definition MooseMesh.C:2970
bool isKokkosObject() const
Get whether this object is a Kokkos functor The parameter MooseBase::kokkos_object_param is set by th...
Definition MooseObject.h:63
@ VAR_FIELD_ANY
Definition MooseTypes.h:781
@ BLOCK_MATERIAL_DATA
Definition MooseTypes.h:747
@ VAR_ANY
Definition MooseTypes.h:772
const BoundaryID ANY_BOUNDARY_ID
Definition MooseTypes.C:21

Referenced by BlockRestrictable::BlockRestrictable(), and BlockRestrictable::BlockRestrictable().

◆ initializeKokkosBlockRestrictable()

void BlockRestrictable::initializeKokkosBlockRestrictable ( )
protectedinherited

◆ initialSetup()

void TransientMultiApp::initialSetup ( )
overridevirtualinherited

Method to be called in main-app initial setup for create sub-apps if using positions is false.

Reimplemented from MultiApp.

Definition at line 155 of file TransientMultiApp.C.

156{
158
159 if (!_has_an_app)
160 return;
161
163
164 if (_has_an_app)
165 {
167 // Grab Transient Executioners from each app
168 for (unsigned int i = 0; i < _my_num_apps; i++)
169 setupApp(i);
170 }
171}
virtual void initialSetup() override
Method to be called in main-app initial setup for create sub-apps if using positions is false.
Definition MultiApp.C:462
void setupApp(unsigned int i, Real time=0.0)
Setup the executioner for the local app.

◆ isBlockSubset() [1/2]

bool BlockRestrictable::isBlockSubset ( const std::set< SubdomainID > &  ids) const
inherited

Test if the class block ids are a subset of the supplied objects.

Parameters
idsA std::set of Subdomains to check
Returns
True if all of the block ids for this class are found within the given ids (opposite of hasBlocks)
See also
hasBlocks

Definition at line 271 of file BlockRestrictable.C.

272{
273 // An empty input is assumed to be ANY_BLOCK_ID
274 if (ids.empty() || ids.find(Moose::ANY_BLOCK_ID) != ids.end())
275 return true;
276
277 if (_blk_ids.find(Moose::ANY_BLOCK_ID) != _blk_ids.end())
278 return std::includes(ids.begin(),
279 ids.end(),
280 _blk_mesh->meshSubdomains().begin(),
281 _blk_mesh->meshSubdomains().end());
282 else
283 return std::includes(ids.begin(), ids.end(), _blk_ids.begin(), _blk_ids.end());
284}

Referenced by BlockRestrictable::checkVariable(), BlockRestrictable::isBlockSubset(), NodalPatchRecoveryAux::NodalPatchRecoveryAux(), and ProjectedMaterialPropertyNodalPatchRecoveryAux::ProjectedMaterialPropertyNodalPatchRecoveryAux().

◆ isBlockSubset() [2/2]

bool BlockRestrictable::isBlockSubset ( const std::vector< SubdomainID > &  ids) const
inherited

Test if the class block ids are a subset of the supplied objects.

Parameters
idsA std::vector of Subdomains to check
Returns
True if all of the block ids for this class are found within the given ids (opposite of hasBlocks)
See also
hasBlocks

Definition at line 287 of file BlockRestrictable.C.

288{
289 std::set<SubdomainID> ids_set(ids.begin(), ids.end());
290 return isBlockSubset(ids_set);
291}

◆ isFirstLocalRank()

bool MultiApp::isFirstLocalRank ( ) const
inherited
Returns
Whether this rank is the first rank of the subapp(s) it's involved in

Definition at line 1096 of file MultiApp.C.

1097{
1099}
bool is_first_local_rank
This is true if this rank is the primary/zero rank for a (sub)app slot.
Definition MultiApp.h:71

◆ isKokkosObject()

bool MooseObject::isKokkosObject ( ) const
inlineinherited

Get whether this object is a Kokkos functor The parameter MooseBase::kokkos_object_param is set by the Kokkos base classes.

Definition at line 63 of file MooseObject.h.

63{ return parameters().isKokkosObject(); }
bool isKokkosObject() const
Returns whether this InputParameters belongs to a Kokkos object Checks whether MooseBase::kokkos_obje...

Referenced by AttribKokkos::initFrom(), BlockRestrictable::initializeBlockRestrictable(), and BoundaryRestrictable::initializeBoundaryRestrictable().

◆ 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 205 of file MooseBase.h.

206 {
208 }
bool isParamSetByUser(const std::string &name) const
Method returns true if the parameter was set by the user.

Referenced by DiffusionCG::addFEBCs(), DiffusionCG::addFEKernels(), DiffusionPhysicsBase::addInitialConditions(), CylinderComponent::addMeshGenerators(), AdvancedExtruderGenerator::AdvancedExtruderGenerator(), MFEMMesh::buildMesh(), MFEMBoundarySubMesh::buildSubMesh(), MFEMDomainSubMesh::buildSubMesh(), SurfaceDelaunayGeneratorBase::checkBoundaryAndHolesParams(), LibtorchNeuralNetControl::conditionalParameterError(), ConservativeAdvectionBCTempl< is_ad >::ConservativeAdvectionBCTempl(), MFEMNewtonNonlinearSolver::ConstructSolver(), MooseApp::copyInputs(), DiffusionPhysicsBase::DiffusionPhysicsBase(), MooseApp::errorCheck(), FileMesh::FileMesh(), FullSolveMultiApp::FullSolveMultiApp(), MeshDiagnosticsGenerator::generate(), OrientSurfaceMeshGenerator::generate(), SurfaceSubdomainsFromAllNormalsGenerator::generate(), MFEMVectorFESpace::getFECName(), MooseBase::getRenamedParam(), MFEMEigenproblem::getRHSCoefficient(), DefaultConvergenceBase::getSharedExecutionerParam(), AddVariableAction::init(), MFEMMesh::init(), PhysicsBase::initializePhysics(), ElementSubdomainModifierBase::initialSetup(), MatrixSymmetryCheck::MatrixSymmetryCheck(), MeshDiagnosticsGenerator::MeshDiagnosticsGenerator(), MFEMEigenproblem::MFEMEigenproblem(), MFEMGeneratedMeshGenerator::MFEMGeneratedMeshGenerator(), MFEMVariable::MFEMVariable(), MortarConstraintBase::MortarConstraintBase(), MoveNodesByParsedExpressionModifier::moveNodes(), MultiAppGeneralFieldFunctorTransfer::MultiAppGeneralFieldFunctorTransfer(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), OrientSurfaceMeshGenerator::OrientSurfaceMeshGenerator(), SolutionInvalidityOutput::output(), Output::Output(), MultiAppGeneralFieldTransfer::outputValueConflicts(), PetscExternalPartitioner::partition(), PolyLineMeshFollowingNodeSetGenerator::PolyLineMeshFollowingNodeSetGenerator(), MooseMesh::prepare(), SolutionUserObjectBase::readXda(), ReferenceResidualConvergence::ReferenceResidualConvergence(), PhysicsBase::reportPotentiallyMissedParameters(), MooseApp::run(), MooseApp::runInputFile(), MooseApp::runInputs(), Moose::MFEM::LinearSolverBase::SetPreconditioner(), MFEMHypreBoomerAMG::SetSolverParameters(), SetupMeshAction::setupMesh(), MooseApp::setupOptions(), SideSetsFromBoundingBoxGenerator::SideSetsFromBoundingBoxGenerator(), SmoothMeshGenerator::SmoothMeshGenerator(), SurfaceSubdomainsDelaunayRemesher::SurfaceSubdomainsDelaunayRemesher(), SurfaceSubdomainsFromAllNormalsGenerator::SurfaceSubdomainsFromAllNormalsGenerator(), TagVectorAux::TagVectorAux(), TimedSubdomainModifier::TimedSubdomainModifier(), TimeIntegratedPostprocessor::TimeIntegratedPostprocessor(), TriToQuadConverter::TriToQuadConverter(), XYFrontalDelaunayGenerator::XYFrontalDelaunayGenerator(), and XYZDelaunayGenerator::XYZDelaunayGenerator().

◆ 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 199 of file MooseBase.h.

199{ return _pars.isParamValid(name); }
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another,...

Referenced by GridPartitioner::_do_partition(), HierarchicalGridPartitioner::_do_partition(), AddVariableAction::act(), AutoCheckpointAction::act(), CommonOutputAction::act(), ComposeTimeStepperAction::act(), CopyNodalVarsAction::act(), CreateDisplacedProblemAction::act(), SetAdaptivityOptionsAction::act(), SetupDebugAction::act(), SetupMeshCompleteAction::act(), DiffusionCG::addFEKernels(), DiffusionFV::addFVBCs(), DiffusionFV::addFVKernels(), DiffusionPhysicsBase::addInitialConditions(), ComponentJunction::addMeshGenerators(), CylinderComponent::addMeshGenerators(), DiffusionPhysicsBase::addPostprocessors(), AdvancedExtruderGenerator::AdvancedExtruderGenerator(), AdvectiveFluxAux::AdvectiveFluxAux(), ArrayHFEMDirichletBC::ArrayHFEMDirichletBC(), ArrayVarReductionAux::ArrayVarReductionAux(), BicubicSplineFunction::BicubicSplineFunction(), BlockDeletionGenerator::BlockDeletionGenerator(), BSplineCurveGenerator::BSplineCurveGenerator(), TimedSubdomainModifier::buildFromFile(), ParsedChainControl::buildFunction(), GeneratedMesh::buildMesh(), MooseMesh::buildTypedMesh(), CartesianGridDivision::CartesianGridDivision(), CartesianMeshGenerator::CartesianMeshGenerator(), SurfaceDelaunayGeneratorBase::checkBoundaryAndHolesParams(), MultiAppTransfer::checkParentAppUserObjectExecuteOn(), LibmeshPartitioner::clone(), SampledOutput::cloneMesh(), CombinedVectorPostprocessor::CombinedVectorPostprocessor(), CombinerGenerator::CombinerGenerator(), ComponentJunction::ComponentJunction(), ConservativeAdvectionBCTempl< is_ad >::ConservativeAdvectionBCTempl(), ConservativeAdvectionTempl< is_ad >::ConservativeAdvectionTempl(), FEProblemSolve::convergenceSetup(), CopyMeshPartitioner::CopyMeshPartitioner(), CSVReaderVectorPostprocessor::CSVReaderVectorPostprocessor(), CutMeshByLevelSetGeneratorBase::CutMeshByLevelSetGeneratorBase(), ConstantReporter::declareConstantReporterValue(), ConstantReporter::declareConstantReporterValues(), DGKernelBase::DGKernelBase(), DiffusionFluxAux::DiffusionFluxAux(), DiffusionPhysicsBase::DiffusionPhysicsBase(), DomainUserObject::DomainUserObject(), DynamicObjectRegistrationAction::DynamicObjectRegistrationAction(), EigenProblemSolve::EigenProblemSolve(), ElementGenerator::ElementGenerator(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), PIDTransientControl::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppUserObjectTransfer::execute(), Exodus::Exodus(), ExtraIDIntegralReporter::ExtraIDIntegralReporter(), ExtraIDIntegralVectorPostprocessor::ExtraIDIntegralVectorPostprocessor(), FEProblemBase::FEProblemBase(), FEProblemSolve::FEProblemSolve(), FileOutput::FileOutput(), SurfaceDelaunayGeneratorBase::fillDelaunayOptions(), SpatialUserObjectVectorPostprocessor::fillPoints(), CombinerGenerator::fillPositions(), MultiApp::fillPositions(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), FixedPointSolve::FixedPointSolve(), FunctionDT::FunctionDT(), FunctionValuePostprocessor::FunctionValuePostprocessor(), FVInterfaceKernel::FVInterfaceKernel(), FVMassMatrix::FVMassMatrix(), SurfaceSubdomainsDelaunayRemesher::General2DDelaunay(), AddMetaDataGenerator::generate(), BlockDeletionGenerator::generate(), BreakBoundaryOnSubdomainGenerator::generate(), BSplineCurveGenerator::generate(), ConcentricCircleMeshGenerator::generate(), DistributedRectilinearMeshGenerator::generate(), ElementGenerator::generate(), ExtraNodesetGenerator::generate(), FileMeshGenerator::generate(), GeneratedMeshGenerator::generate(), LowerDBlockFromSidesetGenerator::generate(), ManifoldSubdomainGenerator::generate(), MeshExtruderGenerator::generate(), OrientSurfaceMeshGenerator::generate(), ParsedExtraElementIDGenerator::generate(), ParsedSubdomainGeneratorBase::generate(), RenumberBySubdomainGenerator::generate(), SideSetsFromNodeSetsGenerator::generate(), SphereMeshGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), SubdomainPerElementGenerator::generate(), XYDelaunayGenerator::generate(), XYMeshLineCutter::generate(), XYZDelaunayGenerator::generate(), PropertyReadFile::getFileNames(), MultiAppNearestNodeTransfer::getLocalEntitiesAndComponents(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), MooseBase::getRenamedParam(), MultiAppNearestNodeTransfer::getTargetLocalNodes(), AddPeriodicBCAction::getVariables(), Terminator::handleMessage(), HFEMDirichletBC::HFEMDirichletBC(), EigenExecutionerBase::init(), IterationAdaptiveDT::init(), AdvancedOutput::initAvailableLists(), AdvancedOutput::initExecutionTypes(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), SolutionAux::initialSetup(), SolutionScalarAux::initialSetup(), PIDTransientControl::initialSetup(), ParsedConvergence::initialSetup(), EigenProblemSolve::initialSetup(), MooseParsedFunction::initialSetup(), MooseParsedGradFunction::initialSetup(), MooseParsedVectorFunction::initialSetup(), PiecewiseTabularBase::initialSetup(), SolutionIC::initialSetup(), Console::initialSetup(), MultiAppCloneReporterTransfer::initialSetup(), MultiAppGeneralFieldTransfer::initialSetup(), MultiAppVariableValueSampleTransfer::initialSetup(), SampledOutput::initSample(), IterationAdaptiveDT::IterationAdaptiveDT(), LeastSquaresFit::LeastSquaresFit(), LibmeshPartitioner::LibmeshPartitioner(), LibtorchNeuralNetControl::LibtorchNeuralNetControl(), PNGOutput::makePNG(), MassMatrix::MassMatrix(), MatCoupledForce::MatCoupledForce(), MeshGeneratorComponent::MeshGeneratorComponent(), MFEMProblemSolve::MFEMProblemSolve(), MooseMesh::MooseMesh(), MoosePreconditioner::MoosePreconditioner(), MooseStaticCondensationPreconditioner::MooseStaticCondensationPreconditioner(), MooseVariableBase::MooseVariableBase(), MooseVariableFV< RealEigenVector >::MooseVariableFV(), MortarConstraintBase::MortarConstraintBase(), MoveNodeGenerator::MoveNodeGenerator(), MultiApp::MultiApp(), MultiAppCloneReporterTransfer::MultiAppCloneReporterTransfer(), MultiAppGeneralFieldKDTreeTransferBase::MultiAppGeneralFieldKDTreeTransferBase(), MultiAppGeneralFieldShapeEvaluationTransfer::MultiAppGeneralFieldShapeEvaluationTransfer(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), MultiAppGeneralFieldUserObjectTransfer::MultiAppGeneralFieldUserObjectTransfer(), MultiAppPostprocessorInterpolationTransfer::MultiAppPostprocessorInterpolationTransfer(), MultiAppPostprocessorTransfer::MultiAppPostprocessorTransfer(), MultiAppReporterTransfer::MultiAppReporterTransfer(), MultiAppTransfer::MultiAppTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), MultiAppVariableValueSampleTransfer::MultiAppVariableValueSampleTransfer(), MultiPostprocessorConvergence::MultiPostprocessorConvergence(), MultiSystemSolveObject::MultiSystemSolveObject(), NodeSetsGeneratorBase::NodeSetsGeneratorBase(), EigenExecutionerBase::normalizeSolution(), OrientSurfaceMeshGenerator::OrientSurfaceMeshGenerator(), Output::Output(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedSubdomainGeneratorBase::ParsedSubdomainGeneratorBase(), PetscOutput::PetscOutput(), PhysicsBasedPreconditioner::PhysicsBasedPreconditioner(), EqualValueBoundaryConstraint::pickPrimaryNode(), PIDTransientControl::PIDTransientControl(), PiecewiseTabularBase::PiecewiseTabularBase(), PlaneIDMeshGenerator::PlaneIDMeshGenerator(), EqualValueBoundaryConstraint::populateSecondaryNodes(), MooseMesh::prepare(), MultiApp::readCommandLineArguments(), SolutionUserObjectBase::readExodusIIOrNemesis(), ReferenceResidualInterface::ReferenceResidualInterface(), RenameBlockGenerator::RenameBlockGenerator(), ReporterPointSource::ReporterPointSource(), PhysicsBase::reportPotentiallyMissedParameters(), ParsedSubdomainMeshGenerator::setBlockName(), MooseMesh::setCoordSystem(), FileOutput::setFileBaseInternal(), SideSetsGeneratorBase::setup(), SurfaceMeshGeneratorBase::setup(), Split::setup(), SetupMeshAction::setupMesh(), MooseApp::setupOptions(), Output::setWallTimeIntervalFromCommandLineParam(), SideDiffusiveFluxIntegralTempl< is_ad, T >::SideDiffusiveFluxIntegralTempl(), SideSetsGeneratorBase::SideSetsGeneratorBase(), SolutionUserObjectBase::SolutionUserObjectBase(), Terminator::Terminator(), TimeIntervalTimes::TimeIntervalTimes(), TimePeriod::TimePeriod(), PIDTransientControl::timestepSetup(), MultiAppDofCopyTransfer::transfer(), TransformGenerator::TransformGenerator(), TransientBase::TransientBase(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), VectorMagnitudeFunctorMaterialTempl< is_ad >::VectorMagnitudeFunctorMaterialTempl(), XYQuadrilateralMeshFromBoundaryCurve::XYQuadrilateralMeshFromBoundaryCurve(), and XYZDelaunayGenerator::XYZDelaunayGenerator().

◆ isRootProcessor()

bool MultiApp::isRootProcessor ( )
inlineinherited

Whether or not this processor is the "root" processor for the sub communicator.

The "root" processor has rank 0 in the sub communicator

Definition at line 390 of file MultiApp.h.

390{ return _my_rank == 0; }

◆ jacobianSetup()

void SetupInterface::jacobianSetup ( )
virtualinherited

◆ keepSolutionDuringRestore()

void MultiApp::keepSolutionDuringRestore ( bool  keep_solution_during_restore)
protectedinherited

Preserve the solution from the previous simulation, and it is used as an initial guess for the next run.

Definition at line 924 of file MultiApp.C.

925{
926 if (_pars.isParamSetByUser("keep_solution_during_restore"))
927 paramError("keep_solution_during_restore",
928 "This parameter should only be provided in parent app");
929
930 _keep_solution_during_restore = keep_solution_during_restore;
931}
bool _keep_solution_during_restore
Flag indicates if or not restart from the latest solution.
Definition MultiApp.h:643

◆ kokkosBlockElementID()

KOKKOS_FUNCTION ContiguousElementID BlockRestrictable::kokkosBlockElementID ( Moose::Kokkos::ThreadID  tid) const
inlineprotectedinherited

◆ kokkosBlockElementSideID()

KOKKOS_FUNCTION auto BlockRestrictable::kokkosBlockElementSideID ( Moose::Kokkos::ThreadID  tid) const
inlineprotectedinherited

Get the contiguous element ID - side index pair this Kokkos thread is operating on.

Parameters
tidThe thread ID
Returns
The contiguous element ID - side index pair

Definition at line 298 of file BlockRestrictable.h.

299 {
300 return _kokkos_element_side_ids[tid];
301 }
Moose::Kokkos::Array< Moose::Kokkos::Pair< ContiguousElementID, unsigned int > > _kokkos_element_side_ids
List of contiguous local element ID - side index pairs this Kokkos object is operating on.

◆ kokkosBlockNodeID()

KOKKOS_FUNCTION ContiguousElementID BlockRestrictable::kokkosBlockNodeID ( Moose::Kokkos::ThreadID  tid) const
inlineprotectedinherited

Get the contiguous node index this Kokkos thread is operating on.

Parameters
tidThe thread ID
Returns
the contiguous node ID

Definition at line 289 of file BlockRestrictable.h.

290 {
291 return _kokkos_node_ids[tid];
292 }
Moose::Kokkos::Array< ContiguousNodeID > _kokkos_node_ids
List of contiguous node IDs this Kokkos object is operating on.

Referenced by Moose::Kokkos::NodalUserObject::operator()(), Moose::Kokkos::NodalKernel::operator()(), Moose::Kokkos::AuxKernel::operator()(), Moose::Kokkos::NodalKernel::operator()(), Moose::Kokkos::NodalReducer::operator()(), and Moose::Kokkos::NodalKernel::operator()().

◆ localApp()

MooseApp * MultiApp::localApp ( unsigned int  local_app)
inherited

Get the local MooseApp object.

Parameters
local_appThe local app number

Definition at line 1112 of file MultiApp.C.

1113{
1114 mooseAssert(local_app < _apps.size(), "Index out of range: " + Moose::stringify(local_app));
1115 return _apps[local_app].get();
1116}

◆ meshBlockIDs()

const std::set< SubdomainID > & BlockRestrictable::meshBlockIDs ( ) const
inherited

Return all of the SubdomainIDs for the mesh.

Returns
A set of all subdomians for the entire mesh

Definition at line 294 of file BlockRestrictable.C.

295{
296 return _blk_mesh->meshSubdomains();
297}

Referenced by BlockRestrictable::checkVariable(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), BlockRestrictable::getBlockCoordSystem(), BlockRestrictable::hasBlockMaterialPropertyHelper(), and SolutionIC::initialSetup().

◆ messagePrefix() [1/2]

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 256 of file MooseBase.h.

257 {
258 return messagePrefix(_pars, hit_prefix);
259 }

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

◆ messagePrefix() [2/2]

std::string MooseBase::messagePrefix ( const InputParameters &  params,
const bool  hit_prefix 
)
staticprivateinherited

Internal method for getting the message prefix for an object (object type, name, etc).

Needs to be static so that we can call it externally from InputParameters for errors that do not have context of the MooseBase

Definition at line 140 of file MooseBase.C.

141{
142 std::string prefix = "";
143
144 if (hit_prefix)
145 if (const auto node = MooseBase::getHitNode(params))
146 prefix += Moose::hitMessagePrefix(*node);
147
148 // Don't have context without type and name
149 if (!params.isMooseBaseObject())
150 return prefix;
151
152 const auto & name = params.getObjectName();
153 const std::string base = params.hasBase() ? params.getBase() : "object";
154 const bool is_main_app = base == "Application" && name == AppFactory::main_app_name;
155 prefix += "The following occurred in the ";
156 if (is_main_app)
157 prefix += "main " + base;
158 else
159 prefix += base;
160 if (base != params.getObjectName() && name.size() && !is_main_app)
161 prefix += " '" + name + "'";
162 prefix += " of type " + params.getObjectType() + ".";
163 return prefix + "\n\n";
164}
static const std::string main_app_name
The name for the "main" moose application.
Definition AppFactory.h:68
bool isMooseBaseObject() const
const std::string & getObjectType() const
const std::string & getObjectName() const
std::string hitMessagePrefix(const hit::Node &node)
Get the prefix to be associated with a hit node for a message.
Definition Moose.C:898

◆ mooseDeprecated() [1/2]

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

Emits a deprecation warning prefixed with the object name and type, and a stack trace.

Definition at line 317 of file MooseBase.h.

318 {
320 _console, false, true, true, messagePrefix(true), std::forward<Args>(args)...);
321 }
void mooseDeprecatedStream(S &oss, const bool expired, const bool print_title, const bool show_trace, Args &&... args)
Definition MooseError.h:252

Referenced by MooseApp::addCapability(), DataFileInterface::getDataFileName(), DataFileInterface::getDataFileNameByName(), MooseApp::getRecoverFileBase(), MooseApp::hasRecoverFileBase(), and MooseApp::setupOptions().

◆ mooseDeprecated() [2/2]

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

◆ mooseDeprecatedNoTrace()

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

Emits a deprecation warning prefixed with the object name and type, and no stack trace.

Definition at line 327 of file MooseBase.h.

328 {
330 _console, false, true, false, messagePrefix(true), std::forward<Args>(args)...);
331 }

◆ mooseDocumentedError()

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

Definition at line 277 of file MooseBase.h.

280 {
282 repo_name, issue_num, argumentsToString(std::forward<Args>(args)...)),
283 /* with_prefix = */ true);
284 }
std::string formatMooseDocumentedError(const std::string &repo_name, const unsigned int issue_num, const std::string &msg)
Formats a documented error.
Definition MooseError.C:140

Referenced by ManifoldSubdomainGenerator::ManifoldSubdomainGenerator().

◆ 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 271 of file MooseBase.h.

272 {
273 callMooseError(argumentsToString(std::forward<Args>(args)...), /* with_prefix = */ true);
274 }

Referenced by CopyMeshPartitioner::_do_partition(), GridPartitioner::_do_partition(), HierarchicalGridPartitioner::_do_partition(), PetscExternalPartitioner::_do_partition(), AdaptivityAction::act(), AddBoundsVectorsAction::act(), AddFVICAction::act(), AddICAction::act(), AddMeshGeneratorAction::act(), AddPeriodicBCAction::act(), AddTimeStepperAction::act(), AddVectorPostprocessorAction::act(), ChainControlSetupAction::act(), CheckFVBCAction::act(), CheckIntegrityAction::act(), CombineComponentsMeshes::act(), CommonOutputAction::act(), CreateDisplacedProblemAction::act(), CreateExecutionerAction::act(), CreateProblemAction::act(), CreateProblemDefaultAction::act(), CSGOnlyAction::act(), DeprecatedBlockAction::act(), InitProblemAction::act(), MaterialDerivativeTestAction::act(), MaterialOutputAction::act(), SetAdaptivityOptionsAction::act(), SetupDebugAction::act(), SetupMeshAction::act(), SetupMeshCompleteAction::act(), SetupPredictorAction::act(), SetupTimeStepperAction::act(), SplitMeshAction::act(), Action::Action(), AddActionComponentAction::AddActionComponentAction(), PhysicsComponentInterface::addBoundaryConditionsFromComponents(), MooseApp::addCapabilityInternal(), DistributedRectilinearMeshGenerator::addElement(), MooseApp::addExecutor(), SubProblem::addFunctor(), PhysicsComponentInterface::addInitialConditionsFromComponents(), ComponentJunction::addMeshGenerators(), MeshGenerator::addMeshSubgenerator(), SubProblem::addPiecewiseByBlockLambdaFunctor(), DistributedRectilinearMeshGenerator::addPoint(), DiracKernelBase::addPointWithValidId(), CreateDisplacedProblemAction::addProxyRelationshipManagers(), MooseMesh::addQuadratureNode(), AddActionComponentAction::addRelationshipManagers(), WebServerControl::addServerAction(), AddVariableAction::addVariable(), SubProblem::addVectorTag(), MooseVariableScalar::adUDot(), Output::advancedExecuteOn(), MooseVariableBase::allDofIndices(), MooseApp::appNameToLibName(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), MooseApp::attachRelationshipManagers(), MooseApp::attachRelationshipManagers(), Function::average(), BatchMeshGeneratorAction::BatchMeshGeneratorAction(), MooseMesh::buildCoarseningMap(), MultiApp::buildComm(), DistributedRectilinearMeshGenerator::buildCube(), PiecewiseTabularInterface::buildFromFile(), PiecewiseTabularInterface::buildFromJSON(), PiecewiseTabularInterface::buildFromXY(), MooseMesh::buildLowerDMesh(), GeneratedMesh::buildMesh(), MeshGeneratorMesh::buildMesh(), SpiralAnnularMesh::buildMesh(), TiledMesh::buildMesh(), MooseMesh::buildRefinementMap(), MaterialBase::buildRequiredMaterials(), MooseMesh::buildTypedMesh(), MooseMesh::cacheFaceInfoVariableOwnership(), CartesianGridDivision::CartesianGridDivision(), CartesianMeshGenerator::CartesianMeshGenerator(), EigenExecutionerBase::chebyshev(), SubProblem::checkBlockMatProps(), PhysicsBase::checkBlockRestrictionIdentical(), ComponentBoundaryConditionInterface::checkBoundaryConditionsAllRequested(), SubProblem::checkBoundaryMatProps(), PhysicsBase::checkComponentType(), IterationCountConvergence::checkConvergence(), MooseMesh::checkCoordinateSystems(), DiffusionLHDGAssemblyHelper::checkCoupling(), DefaultConvergenceBase::checkDuplicateSetSharedExecutionerParams(), MooseMesh::checkDuplicateSubdomainNames(), MaterialBase::checkExecutionStage(), FVFluxBC::checkFaceIntegrity(), FVInterfaceKernel::checkFaceIntegrity(), MeshGenerator::checkGetMesh(), ReporterTransferInterface::checkHasReporterValue(), EigenExecutionerBase::checkIntegrity(), Eigenvalue::checkIntegrity(), ExplicitTimeIntegrator::checkLinearConvergence(), MooseApp::checkMetaDataIntegrity(), MeshDiagnosticsGenerator::checkNonConformalMeshFromAdaptivity(), MeshDiagnosticsGenerator::checkNonMatchingEdges(), PostprocessorInterface::checkParam(), Moose::PeriodicBCHelper::checkPeriodicParams(), Sampler::checkReinitStatus(), MultiAppTransfer::checkSiblingsTransferSupported(), MaterialBase::checkStatefulSanity(), AddDefaultConvergenceAction::checkUnusedMultiAppFixedPointConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedNonlinearConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedSteadyStateConvergenceParameters(), Moose::PetscSupport::checkUserProvidedPetscOption(), MultiAppTransfer::checkVariable(), MeshDiagnosticsGenerator::checkWatertightNodesets(), MeshDiagnosticsGenerator::checkWatertightSidesets(), MooseMesh::clone(), LibmeshPartitioner::clone(), CombinerGenerator::CombinerGenerator(), MooseVariableFieldBase::componentName(), VariableCondensationPreconditioner::computeDInverseDiag(), CompositionDT::computeDT(), MooseVariableFieldBase::computeFaceValues(), TimeStepper::computeFailedDT(), IterationAdaptiveDT::computeFailedDT(), MooseMesh::computeFiniteVolumeCoords(), Moose::Kokkos::ResidualObject::computeOffDiagJacobian(), MaterialBase::computeProperties(), ResidualObject::computeResidualAndJacobian(), TimeStepper::computeStep(), AStableDirk4::computeTimeDerivatives(), BDF2::computeTimeDerivatives(), CrankNicolson::computeTimeDerivatives(), ExplicitEuler::computeTimeDerivatives(), ExplicitRK2::computeTimeDerivatives(), ExplicitTVDRK2::computeTimeDerivatives(), ImplicitEuler::computeTimeDerivatives(), ImplicitMidpoint::computeTimeDerivatives(), LStableDirk2::computeTimeDerivatives(), LStableDirk3::computeTimeDerivatives(), LStableDirk4::computeTimeDerivatives(), NewmarkBeta::computeTimeDerivatives(), ConcentricCircleMesh::ConcentricCircleMesh(), ConditionalEnableControl::ConditionalEnableControl(), TimeStepper::constrainStep(), LibtorchNeuralNetControl::controlNeuralNet(), TransientBase::convergedToSteadyState(), ParsedConvergence::convertRealToBool(), MooseApp::copyInputs(), CopyMeshPartitioner::CopyMeshPartitioner(), MultiApp::createApp(), MooseApp::createExecutors(), AddVariableAction::createInitialConditionAction(), MooseApp::createRMFromTemplateAndInit(), Function::curl(), ReporterTransferInterface::declareClone(), Moose::Kokkos::MaterialBase::declareKokkosPropertyInternal(), MeshGenerator::declareMeshProperty(), ReporterTransferInterface::declareVectorClone(), FunctorRelationshipManager::delete_remote_elements(), MooseMesh::deleteRemoteElements(), MooseApp::determineLibtorchDeviceType(), MeshDiagnosticsGenerator::diagnosticsLog(), Function::div(), FunctorBinnedValuesDivision::divisionIndex(), FunctorRelationshipManager::dofmap_reinit(), MooseApp::dynamicAllRegistration(), MooseApp::dynamicAppRegistration(), DistributedRectilinearMeshGenerator::elemId(), MooseApp::errorCheck(), MooseMesh::errorIfDistributedMesh(), MultiAppTransfer::errorIfObjectExecutesOnTransferInSourceApp(), FixedPointSolve::examineFixedPointConvergence(), Eigenvalue::execute(), TransientBase::execute(), WebServerControl::execute(), MooseApp::executeExecutioner(), FVInterfaceKernel::faceArg1(), FVInterfaceKernel::faceArg2(), MultiApp::fillPositions(), MooseApp::finalizeRestore(), Transfer::find_sys(), DiracKernelInfo::findPoint(), FixedPointSolve::findTransformedSystem(), FixedPointSolve::FixedPointSolve(), FunctionDT::FunctionDT(), FunctionScalarAux::FunctionScalarAux(), FunctionScalarIC::FunctionScalarIC(), LinearFVBoundaryCondition::functorFaceArg(), FVInitialConditionTempl< T >::FVInitialConditionTempl(), FVScalarLagrangeMultiplierInterface::FVScalarLagrangeMultiplierInterface(), AdvancedExtruderGenerator::generate(), BoundingBoxNodeSetGenerator::generate(), CoarsenBlockGenerator::generate(), CombinerGenerator::generate(), CutMeshByLevelSetGeneratorBase::generate(), DistributedRectilinearMeshGenerator::generate(), ElementOrderConversionGenerator::generate(), ExtraNodesetGenerator::generate(), FileMeshGenerator::generate(), FlipSidesetGenerator::generate(), GeneratedMeshGenerator::generate(), LowerDBlockFromSidesetGenerator::generate(), MeshCollectionGenerator::generate(), MeshDiagnosticsGenerator::generate(), MeshExtruderGenerator::generate(), MeshRepairGenerator::generate(), MoveNodeGenerator::generate(), PlaneIDMeshGenerator::generate(), PolyLineMeshFollowingNodeSetGenerator::generate(), ProjectSideSetOntoLevelSetGenerator::generate(), RenameBlockGenerator::generate(), RenameBoundaryGenerator::generate(), RenumberBySubdomainGenerator::generate(), SmoothMeshGenerator::generate(), SpiralAnnularMeshGenerator::generate(), StackGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), SubdomainPerElementGenerator::generate(), TiledMeshGenerator::generate(), XYMeshLineCutter::generate(), XYZDelaunayGenerator::generate(), PatternedMeshGenerator::generate(), MeshGenerator::generateCSG(), MeshGenerator::generateData(), GeneratedMesh::GeneratedMesh(), GeneratedMeshGenerator::GeneratedMeshGenerator(), MeshGenerator::generateInternal(), MeshGenerator::generateInternalCSG(), CircularBoundaryCorrectionGenerator::generateRadialCorrectionFactor(), MooseMesh::getAxisymmetricRadialCoord(), MooseMesh::getBlockConnectedBlocks(), MooseMesh::getBoundaryID(), MultiApp::getBoundingBox(), ChainControl::getChainControlDataByName(), WebServerControl::getClientInfo(), MooseMesh::getCoarseningMap(), MultiApp::getCommandLineArgs(), MooseVariableBase::getContinuity(), Control::getControllableParameterByName(), MooseMesh::getCoordSystem(), PhysicsBase::getCoupledPhysics(), PhysicsBase::getCoupledPhysics(), DataFileInterface::getDataFilePath(), TransfiniteMeshGenerator::getDiscreteEdge(), MooseVariableBase::getDofIndices(), VariableCondensationPreconditioner::getDofToCondense(), TransfiniteMeshGenerator::getEdge(), EigenExecutionerBase::getEigenSystemConvergence(), MooseMesh::getElementIDIndex(), Material::getElementIDNeighbor(), Material::getElementIDNeighborByName(), MooseMesh::getElemIDMapping(), MooseMesh::getElemIDsOnBlocks(), WebServerControl::Response::getError(), MultiApp::getExecutioner(), MooseApp::getExecutor(), MultiAppTransfer::getFromMultiApp(), MultiAppTransfer::getFromMultiAppInfo(), SubProblem::getFunctor(), MooseMesh::getGeneralAxisymmetricCoordAxis(), MaterialPropertyInterface::getGenericMaterialPropertyByName(), DistributedRectilinearMeshGenerator::getGhostNeighbors(), DistributedRectilinearMeshGenerator::getIndices(), MaterialPropertyInterface::getKokkosBlockMaterialProperty(), FunctionInterface::getKokkosFunctionByName(), MaterialPropertyInterface::getKokkosMaterialPropertyByName(), Material::getMaterialByName(), SubProblem::getMatrixTagID(), AnnularMesh::getMaxInDimension(), GeneratedMesh::getMaxInDimension(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), AnnularMesh::getMinInDimension(), GeneratedMesh::getMinInDimension(), MultiAppTransfer::getMultiApp(), DistributedRectilinearMeshGenerator::getNeighbors(), MooseMesh::getNodeBlockIds(), MooseMesh::getNodeList(), MooseMesh::getPairedBoundaryMapping(), MaterialOutputAction::getParams(), PlaneIDMeshGenerator::getPlaneID(), PostprocessorInterface::getPostprocessorValueByNameInternal(), ComponentMaterialPropertyInterface::getPropertyValue(), MooseMesh::getRefinementMap(), MooseBase::getRenamedParam(), ReporterInterface::getReporterContextBaseByName(), ReporterInterface::getReporterName(), Reporter::getReporterValueName(), MooseApp::getRestartableDataMap(), MooseApp::getRestartableDataMapName(), MooseApp::getRestartableMetaData(), MooseApp::getRMClone(), MooseObject::getSharedPtr(), MooseObject::getSharedPtr(), PhysicsBase::getSolverSystem(), MooseMesh::getSubdomainBoundaryIds(), TransientBase::getTimeIntegratorNames(), MultiAppTransfer::getToMultiApp(), MultiAppTransfer::getToMultiAppInfo(), MooseMesh::getUniqueCoordSystem(), UserObjectInterface::getUserObjectBaseByName(), UserObjectInterface::getUserObjectName(), SubProblem::getVariableHelper(), AddPeriodicBCAction::getVariables(), VectorPostprocessorInterface::getVectorPostprocessorName(), SubProblem::getVectorTag(), SubProblem::getVectorTagID(), MultiApp::globalAppToLocal(), Function::gradient(), MooseVariableBase::hasDoFsOnNodes(), PostprocessorInterface::hasPostprocessor(), PostprocessorInterface::hasPostprocessorByName(), ReporterInterface::hasReporterValue(), ReporterInterface::hasReporterValueByName(), VectorPostprocessorInterface::hasVectorPostprocessor(), VectorPostprocessorInterface::hasVectorPostprocessor(), VectorPostprocessorInterface::hasVectorPostprocessorByName(), VectorPostprocessorInterface::hasVectorPostprocessorByName(), TransientBase::incrementStepOrReject(), NEML2Action::inferMOOSEIOType(), AddVariableAction::init(), MooseMesh::init(), Sampler::init(), EigenExecutionerBase::init(), TransientBase::init(), MFEMMesh::init(), CrankNicolson::init(), ExplicitTimeIntegrator::init(), FixedPointIterationAdaptiveDT::init(), IterationAdaptiveDT::init(), MultiApp::init(), NestedDivision::initialize(), ParsedConvergence::initializeConstantSymbol(), PhysicsBase::initializePhysics(), SubProblem::initialSetup(), AuxKernelBase::initialSetup(), SolutionScalarAux::initialSetup(), FullSolveMultiApp::initialSetup(), ExplicitTimeIntegrator::initialSetup(), Function::integral(), InternalSideIndicatorBase::InternalSideIndicatorBase(), EigenExecutionerBase::inversePowerIteration(), Sampler::isAdaptiveSamplingCompleted(), MooseMesh::isBoundaryFullyExternalToSubdomains(), MooseVariableBase::isNodal(), IterationAdaptiveDT::IterationAdaptiveDT(), IterationCountConvergence::IterationCountConvergence(), LibmeshPartitioner::LibmeshPartitioner(), MooseApp::libNameToAppName(), LibtorchNeuralNetControl::LibtorchNeuralNetControl(), LineSearch::lineSearch(), MooseApp::loadLibraryAndDependencies(), ReporterPointMarker::markerSetup(), Material::Material(), Distribution::median(), FunctorRelationshipManager::mesh_reinit(), MeshDiagnosticsGenerator::MeshDiagnosticsGenerator(), MeshExtruderGenerator::MeshExtruderGenerator(), MeshRepairGenerator::MeshRepairGenerator(), SetupMeshAction::modifyParamsForUseSplit(), MeshMetaDataInterface::mooseErrorInternal(), MooseMesh::MooseMesh(), MooseObject::MooseObject(), UserObjectInterface::mooseObjectError(), MooseVariableBase::MooseVariableBase(), MoveNodeGenerator::MoveNodeGenerator(), MultiApp::MultiApp(), MultiAppTransfer::MultiAppTransfer(), NewmarkBeta::NewmarkBeta(), DistributedRectilinearMeshGenerator::nodeId(), DistributedRectilinearMeshGenerator::numNeighbors(), Output::onInterval(), FunctorRelationshipManager::operator()(), RelationshipManager::operator==(), ActionComponent::outerSurfaceArea(), ActionComponent::outerSurfaceBoundaries(), MortarNodalGeometryOutput::output(), Output::Output(), MooseApp::outputMachineReadableData(), DistributedRectilinearMeshGenerator::paritionSquarely(), ParsedConvergence::ParsedConvergence(), ParsedCurveGenerator::ParsedCurveGenerator(), ExplicitTimeIntegrator::performExplicitSolve(), PetscExternalPartitioner::PetscExternalPartitioner(), PhysicsBasedPreconditioner::PhysicsBasedPreconditioner(), PIDTransientControl::PIDTransientControl(), PiecewiseTabularInterface::PiecewiseTabularInterface(), CutMeshByLevelSetGeneratorBase::pointPairLevelSetInterception(), ProjectSideSetOntoLevelSetGenerator::pointPairLevelSetInterception(), ReporterInterface::possiblyCheckHasReporter(), VectorPostprocessorInterface::possiblyCheckHasVectorPostprocessorByName(), AStableDirk4::postResidual(), ExplicitRK2::postResidual(), ExplicitTVDRK2::postResidual(), ImplicitMidpoint::postResidual(), LStableDirk2::postResidual(), LStableDirk3::postResidual(), LStableDirk4::postResidual(), VariableCondensationPreconditioner::preallocateCondensedJacobian(), Predictor::Predictor(), TransientBase::preExecute(), MooseMesh::prepare(), MooseMesh::prepared(), FixedPointSolve::printFixedPointConvergenceReason(), MFEMFunctorMaterial::processLiterals(), MultiApp::readCommandLineArguments(), CoarsenBlockGenerator::recursiveCoarsen(), MooseApp::recursivelyCreateExecutors(), FunctorRelationshipManager::redistribute(), MooseApp::registerRestartableData(), MooseApp::registerRestartableNameWithFilter(), Sampler::reinit(), MooseApp::removeRelationshipManager(), PhysicsBase::reportPotentiallyMissedParameters(), MooseApp::restore(), RinglebMesh::RinglebMesh(), RinglebMeshGenerator::RinglebMeshGenerator(), MooseApp::run(), MooseApp::runInputs(), ScalarComponentIC::ScalarComponentIC(), DistributedRectilinearMeshGenerator::scaleNodalPositions(), FunctorRelationshipManager::set_mesh(), MooseVariableBase::setActiveTags(), DistributedRectilinearMeshGenerator::setBoundaryNames(), MooseMesh::setCoordSystem(), MooseMesh::setGeneralAxisymmetricCoordAxes(), MeshGenerator::setMeshProperty(), MooseApp::setMFEMDevice(), Sampler::setNumberOfCols(), Sampler::setNumberOfRandomSeeds(), Sampler::setNumberOfRows(), Moose::MFEM::LinearSolverBase::SetPreconditioner(), Split::setup(), TransientMultiApp::setupApp(), Moose::PeriodicBCHelper::setupAutoPeriodicBoundaries(), Moose::PeriodicBCHelper::setupManualPeriodicBoundaries(), SetupMeshAction::setupMesh(), MooseApp::setupOptions(), TimeSequenceStepperBase::setupSequence(), TransientBase::setupTimeIntegrator(), PhysicsBase::shouldCreateIC(), PhysicsBase::shouldCreateTimeDerivative(), PhysicsBase::shouldCreateVariable(), SingleMatrixPreconditioner::SingleMatrixPreconditioner(), MooseVariableBase::sizeMatrixTagData(), SmoothMeshGenerator::SmoothMeshGenerator(), SolutionTimeAdaptiveDT::SolutionTimeAdaptiveDT(), Moose::MFEM::LinearSolverBase::Solve(), TimeIntegrator::solve(), ExplicitRK2::solve(), ExplicitTVDRK2::solve(), FullSolveMultiApp::solveStep(), UserObject::spatialPoints(), UserObject::spatialValue(), SpiralAnnularMesh::SpiralAnnularMesh(), SpiralAnnularMeshGenerator::SpiralAnnularMeshGenerator(), MeshRepairGenerator::splitNonConvexPolygons(), WebServerControl::startServer(), StitchedMesh::StitchedMesh(), MaterialBase::subdomainSetup(), CutMeshByLevelSetGeneratorBase::tet4ElemCutter(), Action::timedAct(), Function::timeDerivative(), Function::timeIntegral(), ParsedCurveGenerator::tSectionSpaceDefiner(), MooseVariableScalar::uDot(), MooseVariableScalar::uDotDot(), MooseVariableScalar::uDotDotOld(), MooseVariableScalar::uDotOld(), MooseBase::uniqueName(), AuxScalarKernel::uOld(), ScalarKernelBase::uOld(), Function::value(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), PhysicsBase::variableExists(), MultiAppTransfer::variableIntegrityCheck(), AddVariableAction::variableType(), SubProblem::vectorTagName(), SubProblem::vectorTagType(), Function::vectorValue(), SubProblem::verifyVectorTags(), ActionComponent::volume(), WebServerControl::WebServerControl(), WebServerControl::writePortFile(), MFEMMesh::writeRecoveryFiles(), and MooseApp::writeRestartableMetaData().

◆ mooseErrorNonPrefixed()

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

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

Definition at line 290 of file MooseBase.h.

291 {
292 callMooseError(argumentsToString(std::forward<Args>(args)...), /* with_prefix = */ false);
293 }

◆ mooseInfo()

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

◆ mooseWarning() [1/2]

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

Emits a warning prefixed with object name and type.

Definition at line 299 of file MooseBase.h.

300 {
301 moose::internal::mooseWarningStream(_console, messagePrefix(true), std::forward<Args>(args)...);
302 }
void mooseWarningStream(S &oss, Args &&... args)
Definition MooseError.h:197

Referenced by DiracKernelInfo::findPoint(), DataFileInterface::getDataFilePath(), MooseApp::loadLibraryAndDependencies(), and MooseBase::paramWarning().

◆ mooseWarning() [2/2]

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

Definition at line 73 of file SolutionInvalidInterface.h.

74 {
75 _si_moose_base.MooseBase::mooseWarning(std::forward<Args>(args)...);
76 flagSolutionWarningMultipleRegistration(_si_moose_base.name() + ": warning");
77 }

Referenced by CopyMeshPartitioner::_do_partition(), AddFunctionAction::act(), AddKernelAction::act(), CommonOutputAction::act(), MaterialOutputAction::act(), MeshOnlyAction::act(), MooseMesh::addPeriodicVariable(), BoundaryMarker::BoundaryMarker(), DistributedRectilinearMeshGenerator::buildCube(), CartesianMeshGenerator::CartesianMeshGenerator(), CheckOutputAction::checkConsoleOutput(), MultiAppTransfer::checkMultiAppExecuteOn(), MeshDiagnosticsGenerator::checkNonMatchingEdges(), MeshDiagnosticsGenerator::checkPolygons(), ActionComponent::checkRequiredTasks(), PhysicsBase::checkRequiredTasks(), MultiApp::createApp(), MeshDiagnosticsGenerator::diagnosticsLog(), CartesianGridDivision::divisionIndex(), CylindricalGridDivision::divisionIndex(), SphericalGridDivision::divisionIndex(), Postprocessor::evaluateDotWarning(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), FixedPointSolve::FixedPointSolve(), BSplineCurveGenerator::generate(), RenumberBySubdomainGenerator::generate(), SubdomainPerElementGenerator::generate(), SurfaceMeshGeneratorBase::get2DElemNormal(), MultiAppTransfer::getAppInfo(), FunctorBinnedValuesDivision::getBinIndex(), IndicatorMarker::IndicatorMarker(), CartesianGridDivision::initialize(), CylindricalGridDivision::initialize(), SphericalGridDivision::initialize(), MaterialBase::initStatefulProperties(), IterationAdaptiveDT::limitDTToPostprocessorValue(), MFEMRefinementMarker::MFEMRefinementMarker(), NewmarkBeta::NewmarkBeta(), Output::Output(), MaterialOutputAction::outputHelper(), Executioner::problem(), TestSourceStepper::rejectStep(), PhysicsBase::reportPotentiallyMissedParameters(), MaterialBase::resetQpProperties(), MooseMesh::setCoordSystem(), TransientMultiApp::solveStep(), MeshRepairGenerator::splitNonConvexPolygons(), and VariableCondensationPreconditioner::VariableCondensationPreconditioner().

◆ mooseWarningNonPrefixed() [1/2]

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

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

Definition at line 308 of file MooseBase.h.

309 {
310 moose::internal::mooseWarningStream(_console, std::forward<Args>(args)...);
311 }

◆ mooseWarningNonPrefixed() [2/2]

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

Definition at line 80 of file SolutionInvalidInterface.h.

81 {
82 _si_moose_base.MooseBase::mooseWarningNonPrefixed(std::forward<Args>(args)...);
83 flagSolutionWarningMultipleRegistration(_si_moose_base.name() + ": warning");
84 }

◆ moveApp()

void MultiApp::moveApp ( unsigned int  global_app,
Point  p 
)
virtualinherited

Move the global_app to Point p.

Parameters
global_appThe global app number in question
pThe new position of the App.

Definition at line 1140 of file MultiApp.C.

1141{
1142 if (_use_positions)
1143 {
1144 _positions[global_app] = p;
1145
1146 if (hasLocalApp(global_app))
1147 {
1148 unsigned int local_app = globalAppToLocal(global_app);
1149
1151 _apps[local_app]->setOutputPosition(p);
1152 if (_run_in_position)
1153 paramError("run_in_position", "Moving apps and running apps in position is not supported");
1154 }
1155 }
1156}

Referenced by MultiApp::preTransfer().

◆ name()

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

Get the name of the class.

Returns
The name of the class

Definition at line 103 of file MooseBase.h.

104 {
105 mooseAssert(_name.size(), "Empty name");
106 return _name;
107 }

Referenced by AdaptivityAction::act(), AddActionComponentAction::act(), AddElementalFieldAction::act(), AddPeriodicBCAction::act(), AddTimeStepperAction::act(), CommonOutputAction::act(), CopyNodalVarsAction::act(), CSGOnlyAction::act(), DeprecatedBlockAction::act(), DisplayGhostingAction::act(), MaterialOutputAction::act(), SetupResidualDebugAction::act(), SetupTimeIntegratorAction::act(), FEProblemBase::addAnyRedistributers(), Executioner::addAttributeReporter(), FEProblemBase::addAuxKernel(), MFEMProblem::addAuxKernel(), FEProblemBase::addAuxScalarKernel(), DisplacedProblem::addAuxVariable(), FEProblemBase::addBoundaryCondition(), MFEMProblem::addBoundaryCondition(), PhysicsComponentInterface::addComponent(), FEProblemBase::addConstraint(), FEProblemBase::addConvergence(), FEProblemBase::addDamper(), FEProblemBase::addDGKernel(), FEProblemBase::addDiracKernel(), FEProblemBase::addDistribution(), MooseApp::addExecutor(), MooseApp::addExecutorParams(), MFEMProblem::addFESpace(), MFEMProblem::addFESpaceHierarchy(), FEProblemBase::addFunction(), MFEMProblem::addFunction(), SubProblem::addFunctor(), FEProblemBase::addFunctorMaterial(), MFEMProblem::addFunctorMaterial(), FunctorMaterial::addFunctorProperty(), FunctorMaterial::addFunctorPropertyByBlocks(), FEProblemBase::addFVBC(), FEProblemBase::addFVGradientMethod(), FEProblemBase::addFVInitialCondition(), FEProblemBase::addFVInterfaceKernel(), FEProblemBase::addFVInterpolationMethod(), FEProblemBase::addFVKernel(), ADDGKernel::ADDGKernel(), FEProblemBase::addHDGKernel(), MFEMProblem::addImagComponentToBC(), MFEMProblem::addImagComponentToKernel(), FEProblemBase::addIndicator(), MFEMProblem::addIndicator(), FEProblemBase::addInitialCondition(), MFEMProblem::addInitialCondition(), FEProblemBase::addInterfaceKernel(), FEProblemBase::addInterfaceMaterial(), ElementAndTraceScalarHDGAssemblyHelper::additionalROVariables(), BoundaryIntegralValueConstraint::additionalROVariables(), DiffusionLHDGKernel::additionalROVariables(), ADKernelScalarBase::additionalROVariables(), FEProblemBase::addKernel(), MFEMProblem::addKernel(), FEProblemBase::addLinearFVBC(), FEProblemBase::addLinearFVKernel(), FEProblemBase::addMarker(), MFEMProblem::addMarker(), FEProblemBase::addMaterial(), FEProblemBase::addMaterialHelper(), ComponentMaterialPropertyInterface::addMaterials(), FEProblemBase::addMeshDivision(), MooseApp::addMeshGenerator(), ComponentJunction::addMeshGenerators(), ComponentMeshTransformHelper::addMeshGenerators(), CylinderComponent::addMeshGenerators(), MeshGenerator::addMeshSubgenerator(), MeshGenerator::addMeshSubgenerator(), MFEMProblem::addMFEMProblemComposer(), MFEMProblem::addMFEMSolver(), FEProblemBase::addMultiApp(), FEProblemBase::addNodalKernel(), FEProblemBase::addObject(), InitialConditionWarehouse::addObject(), ComponentPhysicsInterface::addPhysics(), SubProblem::addPiecewiseByBlockLambdaFunctor(), FEProblemBase::addPostprocessor(), MFEMProblem::addPostprocessor(), UserObjectBase::addPostprocessorDependencyHelper(), AuxKernelBase::addPostprocessorDependencyHelper(), InitialConditionBase::addPostprocessorDependencyHelper(), FEProblemBase::addPredictor(), CreateDisplacedProblemAction::addProxyRelationshipManagers(), MFEMProblem::addRealComponentToBC(), MFEMProblem::addRealComponentToKernel(), AddActionComponentAction::addRelationshipManagers(), FEProblemBase::addReporter(), FEProblemBase::addSampler(), FEProblemBase::addScalarKernel(), WebServerControl::addServerActionsInternal(), FEProblemBase::addTimeIntegrator(), FEProblemBase::addTransfer(), MFEMProblem::addTransfer(), PhysicsBase::addUserObject(), FEProblemBase::addUserObject(), UserObjectBase::addUserObjectDependencyHelper(), AuxKernelBase::addUserObjectDependencyHelper(), InitialConditionBase::addUserObjectDependencyHelper(), DisplacedProblem::addVariable(), FEProblemBase::addVectorPostprocessor(), MFEMProblem::addVectorPostprocessor(), UserObjectBase::addVectorPostprocessorDependencyHelper(), AuxKernelBase::addVectorPostprocessorDependencyHelper(), MooseLinearVariableFV< OutputType >::adError(), Output::advancedExecuteOn(), AdvancedExtruderGenerator::AdvancedExtruderGenerator(), NEML2ModelExecutor::advanceState(), MooseVariableBase::allDofIndices(), MooseApp::appBinaryName(), MooseApp::appendMeshGenerator(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), ArrayDGKernel::ArrayDGKernel(), ArrayParsedAux::ArrayParsedAux(), PhysicsBase::assignBlocks(), AStableDirk4::AStableDirk4(), Function::average(), MultiApp::backup(), CoarsenedPiecewiseLinear::buildCoarsenedGrid(), PiecewiseTabularInterface::buildFromFile(), PiecewiseTabularInterface::buildFromXY(), MFEMGeometricMultigridSolver::BuildMultigrid(), MooseMesh::buildNodeListFromSideList(), MultiAppVariableValueSamplePostprocessorTransfer::cacheElemToPostprocessorData(), MooseBase::callMooseError(), ChangeOverFixedPointPostprocessor::ChangeOverFixedPointPostprocessor(), ChangeOverTimePostprocessor::ChangeOverTimePostprocessor(), PhysicsBase::checkBlockRestrictionIdentical(), PhysicsBase::checkComponentType(), DefaultNonlinearConvergence::checkConvergence(), ParsedConvergence::checkConvergence(), checkCoupledScalarVariableBlocks(), FEProblemBase::checkDependMaterialsHelper(), FVFluxBC::checkFaceIntegrity(), FVInterfaceKernel::checkFaceIntegrity(), TaggingInterface::checkForNans(), SamplerBase::checkForStandardFieldVariableType(), MeshGenerator::checkGetMesh(), ReporterTransferInterface::checkHasReporterValue(), FEProblemBase::checkICRestartError(), NonlinearSystemBase::checkKernelCoverage(), Moose::Kokkos::Material::checkMaterialProperty(), Material::checkMaterialProperty(), MooseApp::checkMetaDataIntegrity(), Damper::checkMinDamping(), SideUserObject::checkNoInterfaceMaterialPropertyDependencies(), MultiAppTransfer::checkParentAppUserObjectExecuteOn(), Checkpoint::checkpointInfo(), LinearFVGradientManager::checkRestartedGradientHistory(), FEProblemBase::checkUserObjectNameCollision(), BlockRestrictable::checkVariable(), DomainUserObject::checkVariable(), Coupleable::checkWritableVar(), CoarsenSurfaceMeshAlongSidesetGenerator::coarsenAlongSidesets(), 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(), MoveBoundaryNodesToCurveGenerator::curveGenerator(), CutMeshByPlaneGenerator::CutMeshByPlaneGenerator(), DebugResidualAux::DebugResidualAux(), MaterialBase::declareADProperty(), MFEMComplexVariable::declareCoefficients(), MFEMVariable::declareCoefficients(), MeshInfo::declareHelper(), Moose::Kokkos::MaterialBase::declareKokkosOnDemandProperty(), Moose::Kokkos::MaterialBase::declareKokkosProperty(), MeshGenerator::declareMeshesForSubByName(), MeshGenerator::declareNullMeshName(), MaterialBase::declareProperty(), MFEMCoordinateTransformations::declareRZCoefficients(), DOFMapOutput::demangle(), DerivativeSumMaterialTempl< is_ad >::DerivativeSumMaterialTempl(), MooseMesh::detectPairedSidesets(), DGKernel::DGKernel(), DGKernelBase::DGKernelBase(), DomainUserObject::DomainUserObject(), DumpObjectsProblem::dumpObjectHelper(), ElementDamper::ElementDamper(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), ElementMaterialSampler::ElementMaterialSampler(), ElementValueSampler::ElementValueSampler(), EigenKernel::enabled(), MooseMesh::errorIfDistributedMesh(), SolutionUserObjectBase::evalMeshFunction(), SolutionUserObjectBase::evalMeshFunctionGradient(), SolutionUserObjectBase::evalMultiValuedMeshFunction(), SolutionUserObjectBase::evalMultiValuedMeshFunctionGradient(), GreaterThanLessThanPostprocessor::execute(), PointValue::execute(), RestartableDataReporter::execute(), MultiAppGeneralFieldTransfer::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppProjectionTransfer::execute(), MultiAppUserObjectTransfer::execute(), SideValueSampler::execute(), WebServerControl::execute(), ActionWarehouse::executeActionsWithAction(), Exodus::Exodus(), ExtraIDIntegralVectorPostprocessor::ExtraIDIntegralVectorPostprocessor(), FVInterfaceKernel::faceArg1(), FVInterfaceKernel::faceArg2(), FEProblemBase::FEProblemBase(), NEML2ModelExecutor::fillInputs(), MultiApp::fillPositions(), MultiAppGeometricInterpolationTransfer::fillSourceInterpolationPoints(), PointSamplerBase::finalize(), ChainControl::fullControlDataName(), FunctionArrayAux::FunctionArrayAux(), FunctionDT::FunctionDT(), FVFunctionIC::functionName(), FunctionIC::functionName(), FunctorPositions::FunctorPositions(), FunctorSmootherTempl< T >::FunctorSmootherTempl(), FVInitialConditionTempl< T >::FVInitialConditionTempl(), FVOneVarDiffusionInterface::FVOneVarDiffusionInterface(), GapValueAux::GapValueAux(), BoundaryDeletionGenerator::generate(), BreakMeshByBlockGenerator::generate(), CoarsenSurfaceMeshAlongSidesetGenerator::generate(), GeneratedMeshGenerator::generate(), ManifoldSubdomainGenerator::generate(), ParsedExtraElementIDGenerator::generate(), ParsedSubdomainGeneratorBase::generate(), RenameBlockGenerator::generate(), RenameBoundaryGenerator::generate(), RenumberBySubdomainGenerator::generate(), SideSetsFromNodeSetsGenerator::generate(), StitchBoundaryMeshGenerator::generate(), StitchMeshGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), SubdomainsFromPartitionerGenerator::generate(), UniqueExtraIDMeshGenerator::generate(), MeshGenerator::generateInternal(), MeshGenerator::generateInternalCSG(), InterfaceMaterial::getADMaterialProperty(), Material::getADMaterialProperty(), MultiAppTransfer::getAppInfo(), MooseMesh::getBoundaryString(), MultiApp::getBoundingBox(), MooseBase::getCheckedPointerParam(), MooseApp::getCheckpointDirectories(), MFEMProblem::getComplexGridFunction(), Control::getControllableParameterByName(), Control::getControllableValue(), Control::getControllableValueByName(), FEProblemBase::getConvergence(), MeshGenerator::getCSGBase(), MeshGenerator::getCSGBasesByName(), UserObjectBase::getDependObjects(), FEProblemBase::getDistribution(), DistributionInterface::getDistribution(), DistributionInterface::getDistributionByName(), ElementUOProvider::getElementalValueLong(), ElementUOProvider::getElementalValueReal(), MultiApp::getExecutioner(), FEProblemBase::getExecutor(), MooseApp::getExecutor(), OutputWarehouse::getFileNumbers(), FEProblemBase::getFunction(), SubProblem::getFunctor(), FEProblemBase::getFVAdvectedInterpolationMethod(), FEProblemBase::getFVFaceInterpolationMethod(), FEProblemBase::getFVGradientMethod(), FEProblemBase::getFVInterpolationMethod(), AuxKernelTempl< ComputeValueType >::getGenericMaterialProperty(), NodalPatchRecovery::getGenericMaterialProperty(), InterfaceMaterial::getGenericMaterialProperty(), Material::getGenericMaterialProperty(), InterfaceMaterial::getGenericNeighborMaterialProperty(), InterfaceMaterial::getGenericNeighborMaterialPropertyByName(), Material::getGenericOptionalMaterialProperty(), MaterialBase::getGenericZeroMaterialProperty(), MFEMProblem::getGridFunction(), FEProblemBase::getKokkosFunction(), FEProblemBase::getKokkosUserObject(), SolutionUserObjectBase::getLocalVarIndex(), Marker::getMarkerValue(), Material::getMaterial(), FEProblemBase::getMaterial(), Material::getMaterialByName(), AuxKernelTempl< ComputeValueType >::getMaterialProperty(), NodalPatchRecovery::getMaterialProperty(), InterfaceMaterial::getMaterialProperty(), Material::getMaterialProperty(), SubProblem::getMaterialPropertyBlockNames(), SubProblem::getMaterialPropertyBoundaryNames(), AuxKernelTempl< ComputeValueType >::getMaterialPropertyOld(), NodalPatchRecovery::getMaterialPropertyOld(), InterfaceMaterial::getMaterialPropertyOld(), Material::getMaterialPropertyOld(), AuxKernelTempl< ComputeValueType >::getMaterialPropertyOlder(), NodalPatchRecovery::getMaterialPropertyOlder(), InterfaceMaterial::getMaterialPropertyOlder(), Material::getMaterialPropertyOlder(), MFEMObject::getMatrixCoefficient(), MFEMObject::getMatrixCoefficientByName(), MeshGenerator::getMesh(), FEProblemBase::getMeshDivision(), MeshGenerator::getMeshesByName(), MooseApp::getMeshGenerator(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), MFEMProblem::getMFEMObject(), ActionWarehouse::getMooseAppName(), NEML2FEInterpolation::getMOOSEVariable(), MultiAppTransfer::getMultiApp(), InterfaceMaterial::getNeighborADMaterialProperty(), InterfaceMaterial::getNeighborMaterialProperty(), InterfaceMaterial::getNeighborMaterialPropertyOld(), InterfaceMaterial::getNeighborMaterialPropertyOlder(), Material::getOptionalADMaterialProperty(), Material::getOptionalMaterialProperty(), Material::getOptionalMaterialPropertyOld(), Material::getOptionalMaterialPropertyOlder(), MooseBase::getParam(), FEProblemBase::getPositionsObject(), FEProblemBase::getPostprocessorValueByName(), ComponentMaterialPropertyInterface::getPropertyValue(), ReporterData::getReporterInfo(), MFEMExecutedObject::getRequestedItems(), MooseApp::getRestartableDataMap(), MooseApp::getRestartableDataMapName(), MooseApp::getRestartableMetaData(), FEProblemBase::getSampler(), MFEMObject::getScalarCoefficient(), MFEMObject::getScalarCoefficientByName(), TimedSubdomainModifier::getSubdomainIDAndCheck(), MFEMExecutedObject::getSuppliedItems(), TransientBase::getTimeStepperName(), ProjectedStatefulMaterialStorageAction::getTypeEnum(), FEProblemBase::getUserObject(), FEProblemBase::getUserObjectBase(), MFEMObject::getVectorCoefficient(), MFEMObject::getVectorCoefficientByName(), LinearFVGradientManager::gradientStateVectorName(), Terminator::handleMessage(), Control::hasControllableParameterByName(), FEProblemBase::hasConvergence(), FEProblemBase::hasDistribution(), FEProblemBase::hasFunction(), SubProblem::hasFunctor(), SubProblem::hasFunctorWithType(), FEProblemBase::hasFVGradientMethod(), FEProblemBase::hasFVInterpolationMethod(), MeshInfo::hasItem(), MooseApp::hasMeshGenerator(), MFEMProblem::hasMFEMObject(), AdvancedOutput::hasOutputHelper(), FEProblemBase::hasPostprocessor(), FEProblemBase::hasPostprocessorValueByName(), MooseApp::hasRelationshipManager(), MooseApp::hasRestartableDataMap(), MooseApp::hasRestartableMetaData(), FEProblemBase::hasUserObject(), NEML2Action::inferMOOSEIOType(), AddVariableAction::init(), AdvancedOutput::init(), IterationAdaptiveDT::init(), AdvancedOutput::initAvailableLists(), MeshInfo::initCombinedInfos(), AdvancedOutput::initExecutionTypes(), AttribName::initFrom(), NestedDivision::initialize(), TransformedPositions::initialize(), BoundaryRestrictable::initializeBoundaryRestrictable(), AuxKernelBase::initialSetup(), SolutionScalarAux::initialSetup(), MFEMScalarQuadratureFunction::initialSetup(), MFEMVectorQuadratureFunction::initialSetup(), Console::initialSetup(), JSONOutput::initialSetup(), BoundaryLinearFVFluxIntegral::initialSetup(), NodalVariableValue::initialSetup(), SideFVFluxBCIntegral::initialSetup(), MultiAppGeneralFieldFunctorTransfer::initialSetup(), MultiAppProjectionTransfer::initialSetup(), BoundaryMeshBuilder::initialSetup(), SolutionUserObjectBase::initialSetup(), AdvancedOutput::initOutputList(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), MaterialBase::initStatefulProperties(), Function::integral(), InterfaceKernelTempl< T >::InterfaceKernelTempl(), MultiAppGeometricInterpolationTransfer::interpolateTargetPoints(), MeshGenerator::isChildMeshGenerator(), DerivativeMaterialInterface< T >::isNotObjectVariable(), MeshGenerator::isNullMeshName(), MooseBase::isParamSetByUser(), MooseBase::isParamValid(), MeshGenerator::isParentMeshGenerator(), LinearCombinationFunction::LinearCombinationFunction(), FEProblemBase::logAdd(), MooseLinearVariableFV< OutputType >::lowerDError(), Marker::Marker(), MaterialBase::markMatPropRequested(), Material::Material(), Distribution::median(), MemoryUsageReporter::MemoryUsageReporter(), NEML2ModelExecutor::meshChanged(), MeshGenerator::meshPropertyPrefix(), MooseBase::messagePrefix(), MFEMGeometricMultigridSolver::MFEMGeometricMultigridSolver(), MFEMScalarQuadratureFunction::MFEMScalarQuadratureFunction(), MFEMTransient::MFEMTransient(), MFEMVectorQuadratureFunction::MFEMVectorQuadratureFunction(), OutputWarehouse::mooseConsole(), SolutionInvalidInterface::mooseDeprecated(), MooseVariableBase::MooseVariableBase(), MooseVariableInterface< T >::MooseVariableInterface(), SolutionInvalidInterface::mooseWarning(), SolutionInvalidInterface::mooseWarningNonPrefixed(), MoveNodesByParsedExpressionModifier::MoveNodesByParsedExpressionModifier(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), NEML2PreKernel::NEML2PreKernel(), NodalDamper::NodalDamper(), MooseLinearVariableFV< OutputType >::nodalError(), NodalPatchRecoveryAuxBase::NodalPatchRecoveryAuxBase(), NodalValueSampler::NodalValueSampler(), MeshGenerator::Comparator::operator()(), DOFMapOutput::output(), ProgressOutput::output(), Output::Output(), AdvancedOutput::outputElementalVariables(), ConsoleUtils::outputExecutionInformation(), MaterialOutputAction::outputHelper(), AdvancedOutput::outputInput(), AdvancedOutput::outputNodalVariables(), AdvancedOutput::outputPostprocessors(), Exodus::outputPostprocessors(), Nemesis::outputPostprocessors(), TableOutput::outputReporter(), AdvancedOutput::outputReporters(), AdvancedOutput::outputScalarVariables(), AdvancedOutput::outputSystemInformation(), AdvancedOutput::outputVectorPostprocessors(), SolutionInvalidInterface::paramWarning(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedODEKernel::ParsedODEKernel(), ComponentPhysicsInterface::physicsExists(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseByBlockFunctorMaterialTempl< T >::PiecewiseByBlockFunctorMaterialTempl(), PiecewiseFunction::PiecewiseFunction(), PointInUnionCheckUO::PointInUnionCheckUO(), MooseApp::possiblyLoadRestartableMetaData(), MFEMExecutedObject::postprocessorDependencyKey(), PhysicsBase::prefix(), MooseMesh::prepare(), BlockRestrictionDebugOutput::printBlockRestrictionMap(), PerfGraphLivePrint::printStats(), FEProblemBase::projectInitialConditionOnCustomRange(), MooseBase::queryParam(), MultiApp::readCommandLineArguments(), Receiver::Receiver(), Executor::Result::record(), FEProblemBase::registerRandomInterface(), MooseApp::registerRestartableDataMapName(), MooseApp::registerRestartableNameWithFilter(), MaterialBase::resetQpProperties(), MultiApp::restore(), ScalarComponentIC::ScalarComponentIC(), MultiApp::setAppOutputFileBase(), FEProblemBase::setAuxKernelParamsAndLog(), MooseMesh::setBoundaryName(), Control::setControllableValue(), Control::setControllableValueByName(), OutputWarehouse::setFileNumbers(), FEProblemBase::setPostprocessorValueByName(), FEProblemBase::setResidualObjectParamsAndLog(), MooseMesh::setSubdomainName(), MooseMesh::setSubdomainName(), NodeSetsGeneratorBase::setup(), SideSetsGeneratorBase::setup(), SurfaceMeshGeneratorBase::setup(), Split::setup(), TransientMultiApp::setupApp(), MoveNodesByParsedExpressionModifier::setupNodalOutputVariables(), NEML2Action::setupOutputMappings(), SideSetExtruderGenerator::SideSetExtruderGenerator(), TransientMultiApp::solveStep(), UserObject::spatialValue(), LinearFVGradientReader::stateComponents(), StitchedMesh::StitchedMesh(), SubProblem::storeBoundaryDelayedCheckMatProp(), SubProblem::storeBoundaryMatPropName(), MaterialBase::storeBoundaryZeroMatProp(), SubProblem::storeBoundaryZeroMatProp(), SubProblem::storeSubdomainDelayedCheckMatProp(), SubProblem::storeSubdomainMatPropName(), MaterialBase::storeSubdomainZeroMatProp(), SubProblem::storeSubdomainZeroMatProp(), ConstraintWarehouse::subdomainsCovered(), MaterialBase::subdomainSetup(), SumPostprocessor::SumPostprocessor(), MFEMPostprocessor::suppliedPostprocessorName(), MFEMVectorPostprocessor::suppliedVectorPostprocessorName(), BoundaryMeshBuilder::surfaceElementSet(), NEML2FEInterpolation::syncWithMainThread(), TaggingInterface::TaggingInterface(), MooseLinearVariableFV< OutputType >::timeIntegratorError(), VectorPostprocessorVisualizationAux::timestepSetup(), ElementSubdomainModifierBase::timestepSetup(), to_json(), MultiAppDofCopyTransfer::transfer(), MultiAppShapeEvaluationTransfer::transferVariable(), MultiAppMFEMCopyTransfer::transferVariables(), MultiAppMFEMShapeEvaluationTransfer::transferVariables(), TransientMultiApp::TransientMultiApp(), MooseBase::typeAndName(), MooseBase::uniqueParameterName(), FVQpFluxBC::uOnGhost(), FVQpFluxBC::uOnUSub(), UserObjectBase::UserObjectBase(), UserObjectInterface::userObjectName(), ParsedAux::validateGenericVectorNames(), MeshInfo::validParams(), MFEMExecutedObject::variableDependencyKey(), PhysicsBase::variableExists(), MultiAppTransfer::variableIntegrityCheck(), VectorMagnitudeFunctorMaterialTempl< is_ad >::VectorMagnitudeFunctorMaterialTempl(), MFEMExecutedObject::vectorPostprocessorDependencyKey(), Convergence::verboseOutput(), AdvancedOutput::wantOutput(), Coupleable::writableCoupledValue(), Coupleable::writableVariable(), Console::write(), MooseApp::writeRestartableMetaData(), and XYQuadrilateralMeshFromBoundaryCurve::XYQuadrilateralMeshFromBoundaryCurve().

◆ needsRestoration()

bool MultiApp::needsRestoration ( )
inlineinherited

Whether or not this MultiApp should be restored at the beginning of each Picard iteration.

Definition at line 242 of file MultiApp.h.

242{ return !_no_restore; }
const bool _no_restore
Whether or not to skip restoring completely.
Definition MultiApp.h:649

Referenced by MultiApp::restore().

◆ numBlocks()

unsigned int BlockRestrictable::numBlocks ( ) const
inherited

Return the number of blocks for this object.

Returns
The number of subdomains

Definition at line 218 of file BlockRestrictable.C.

219{
220 return (unsigned int)_blk_ids.size();
221}

Referenced by ElementCentroidPositions::initialize(), and QuadraturePointsPositions::initialize().

◆ numGlobalApps()

unsigned int MultiApp::numGlobalApps ( ) const
inlineinherited
Returns
Number of Global Apps in this MultiApp

Definition at line 310 of file MultiApp.h.

310{ return _total_num_apps; }

◆ numKokkosBlockElements()

KOKKOS_FUNCTION dof_id_type BlockRestrictable::numKokkosBlockElements ( ) const
inlineprotectedinherited

Get the number of elements this Kokkos object is operating on.

Returns
The number of elements local to this process

Definition at line 261 of file BlockRestrictable.h.

261{ return _kokkos_element_ids.size(); }
KOKKOS_FUNCTION index_type size() const
Get the total array size.

Referenced by Moose::Kokkos::ElementReducer::numReducerThreads(), and Moose::Kokkos::ElementUserObject::numUserObjectThreads().

◆ numKokkosBlockNodes()

KOKKOS_FUNCTION dof_id_type BlockRestrictable::numKokkosBlockNodes ( ) const
inlineprotectedinherited

Get the number of nodes this Kokkos object is operating on.

Returns
The number of nodes local to this process

Definition at line 266 of file BlockRestrictable.h.

266{ return _kokkos_node_ids.size(); }

Referenced by Moose::Kokkos::NodalReducer::numReducerThreads(), and Moose::Kokkos::NodalUserObject::numUserObjectThreads().

◆ numKokkosBlockSides()

KOKKOS_FUNCTION dof_id_type BlockRestrictable::numKokkosBlockSides ( ) const
inlineprotectedinherited

Get the number of sides this Kokkos object is operating on.

Returns
The number of sides local to this process

Definition at line 271 of file BlockRestrictable.h.

272 {
274 }

◆ numLocalApps()

unsigned int MultiApp::numLocalApps ( )
inlineinherited
Returns
Number of Apps on local processor.

Definition at line 315 of file MultiApp.h.

315{ return _apps.size(); }

◆ 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 457 of file MooseBase.h.

458{
459 _pars.paramError(param, std::forward<Args>(args)...);
460}
void paramError(const std::string &param, Args... args) const
Emits a parameter error prefixed with the parameter location and object information if available.

Referenced by HierarchicalGridPartitioner::_do_partition(), AutoCheckpointAction::act(), CommonOutputAction::act(), SetupDebugAction::act(), DiffusionCG::addFEKernels(), DiffusionFV::addFVKernels(), NEML2ModelExecutor::addGatheredParameter(), NEML2ModelExecutor::addGatheredVariable(), ADDGKernel::ADDGKernel(), ComponentJunction::addMeshGenerators(), CylinderComponent::addMeshGenerators(), ReporterPointSource::addPoints(), DiffusionPhysicsBase::addPostprocessors(), ADIntegratedBCTempl< T >::ADIntegratedBCTempl(), ADKernelTempl< T >::ADKernelTempl(), ADPenaltyPeriodicSegmentalConstraint::ADPenaltyPeriodicSegmentalConstraint(), ADPeriodicSegmentalConstraint::ADPeriodicSegmentalConstraint(), AdvancedExtruderGenerator::AdvancedExtruderGenerator(), AdvectiveFluxAux::AdvectiveFluxAux(), AnnularMesh::AnnularMesh(), AnnularMeshGenerator::AnnularMeshGenerator(), ArrayBodyForce::ArrayBodyForce(), ArrayCoupledForce::ArrayCoupledForce(), ArrayDGKernel::ArrayDGKernel(), ArrayDGLowerDKernel::ArrayDGLowerDKernel(), ArrayDirichletBC::ArrayDirichletBC(), ArrayHFEMDirichletBC::ArrayHFEMDirichletBC(), ArrayIntegratedBC::ArrayIntegratedBC(), ArrayKernel::ArrayKernel(), ArrayLowerDIntegratedBC::ArrayLowerDIntegratedBC(), ArrayParsedAux::ArrayParsedAux(), ArrayPenaltyDirichletBC::ArrayPenaltyDirichletBC(), ArrayReactionNodalKernelTempl< is_ad >::ArrayReactionNodalKernelTempl(), ArrayVacuumBC::ArrayVacuumBC(), ArrayVarReductionAux::ArrayVarReductionAux(), ParsedSubdomainIDsGenerator::assignElemSubdomainID(), AuxKernelBase::AuxKernelBase(), BatchMeshGeneratorAction::BatchMeshGeneratorAction(), BlockDeletionGenerator::BlockDeletionGenerator(), BlockWeightedPartitioner::BlockWeightedPartitioner(), BoundaryIntegralValueConstraint::BoundaryIntegralValueConstraint(), BoundaryLinearFVFluxIntegral::BoundaryLinearFVFluxIntegral(), BoundsBase::BoundsBase(), BreakMeshByBlockGenerator::BreakMeshByBlockGenerator(), BSplineCurveGenerator::BSplineCurveGenerator(), BuildArrayVariableAux::BuildArrayVariableAux(), MFEMFESpaceHierarchy::buildHierarchy(), MFEMMesh::buildMesh(), MFEMGeometricMultigridSolver::BuildMultigrid(), TimeSequenceStepperBase::buildSequence(), CartesianGridDivision::CartesianGridDivision(), CartesianMeshGenerator::CartesianMeshGenerator(), SurfaceDelaunayGeneratorBase::checkBoundaryAndHolesParams(), checkComponent(), Moose::Kokkos::ParsedObjectBase::checkDuplicateSymbols(), SamplerBase::checkForStandardFieldVariableType(), MeshGenerator::checkGetMesh(), ComponentInitialConditionInterface::checkInitialConditionsAllRequested(), BatchMeshGeneratorAction::checkInputParameterType(), PhysicsBase::checkIntegrityEarly(), SurfaceDelaunayGeneratorBase::checkInteriorPoints(), SideUserObject::checkNoInterfaceMaterialPropertyDependencies(), PostprocessorInterface::checkParam(), FEProblemBase::checkProblemIntegrity(), MultiAppReporterTransfer::checkSiblingsTransferSupported(), MFEMMultiAppTransfer::checkValidTransferProblemTypes(), Coupleable::checkVar(), MultiAppTransfer::checkVariable(), CircularBoundaryCorrectionGenerator::CircularBoundaryCorrectionGenerator(), CircularBoundaryCorrectionGenerator::circularCenterCalculator(), MultiAppGeneralFieldTransfer::closestToPosition(), CoarsenBlockGenerator::CoarsenBlockGenerator(), CombinedVectorPostprocessor::CombinedVectorPostprocessor(), CombinerGenerator::CombinerGenerator(), ComponentInitialConditionInterface::ComponentInitialConditionInterface(), ComponentJunction::ComponentJunction(), ComponentMaterialPropertyInterface::ComponentMaterialPropertyInterface(), CompositionDT::CompositionDT(), ConcentricCircleMeshGenerator::ConcentricCircleMeshGenerator(), LibtorchNeuralNetControl::conditionalParameterError(), ConservativeAdvectionBCTempl< is_ad >::ConservativeAdvectionBCTempl(), ConservativeAdvectionTempl< is_ad >::ConservativeAdvectionTempl(), ConstantVectorPostprocessor::ConstantVectorPostprocessor(), MFEMNewtonNonlinearSolver::ConstructSolver(), ContainsPointAux::ContainsPointAux(), CopyValueAux::CopyValueAux(), MultiAppGeneralFieldTransfer::correctSolutionVectorValues(), Coupleable::Coupleable(), CoupledForceTempl< is_ad >::CoupledForceTempl(), CoupledValueFunctionMaterialTempl< is_ad >::CoupledValueFunctionMaterialTempl(), MultiApp::createApp(), MeshGeneratorSystem::createMeshGenerator(), MoveBoundaryNodesToCurveGenerator::curveGenerator(), CylindricalGridDivision::CylindricalGridDivision(), DebugResidualAux::DebugResidualAux(), ConstantReporter::declareConstantReporterValue(), ConstantReporter::declareConstantReporterValues(), AccumulateReporter::declareLateValues(), DefaultMultiAppFixedPointConvergence::DefaultMultiAppFixedPointConvergence(), DGKernel::DGKernel(), DGKernelBase::DGKernelBase(), DGLowerDKernel::DGLowerDKernel(), DiffusionFluxAux::DiffusionFluxAux(), DomainUserObject::DomainUserObject(), EigenProblem::EigenProblem(), EigenProblemSolve::EigenProblemSolve(), ElementAdaptivityLevelAux::ElementAdaptivityLevelAux(), ElementGenerator::ElementGenerator(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), ElementLengthAux::ElementLengthAux(), ElementLpNormAux::ElementLpNormAux(), ElementNormalAux::ElementNormalAux(), ExtraIDIntegralVectorPostprocessor::elementValue(), ElementValueSampler::ElementValueSampler(), ElementVectorL2Error::ElementVectorL2Error(), EqualValueEmbeddedConstraintTempl< is_ad >::EqualValueEmbeddedConstraintTempl(), ReporterPointSource::errorCheck(), StitchMeshGeneratorBase::errorMissingBoundary(), ExamplePatchMeshGenerator::ExamplePatchMeshGenerator(), FunctorNodalCorrector::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppUserObjectTransfer::execute(), ExtraElementIDAux::ExtraElementIDAux(), ExtraElementIntegerDivision::ExtraElementIntegerDivision(), ExtraIDIntegralVectorPostprocessor::ExtraIDIntegralVectorPostprocessor(), FEProblemBase::FEProblemBase(), FEProblemSolve::FEProblemSolve(), FileMeshGenerator::FileMeshGenerator(), FillBetweenCurvesGenerator::FillBetweenCurvesGenerator(), FillBetweenSidesetsGenerator::FillBetweenSidesetsGenerator(), SpatialUserObjectVectorPostprocessor::fillPoints(), CombinerGenerator::fillPositions(), MultiApp::fillPositions(), InternalSideIndicatorBase::finalize(), MeshTriangulationUtils::finalizeTriangulation(), FixedPointSolve::findTransformedSystem(), FixedPointSolve::FixedPointSolve(), 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(), FunctorNodalCorrector::FunctorNodalCorrector(), FunctorPositions::FunctorPositions(), FunctorSmootherTempl< T >::FunctorSmootherTempl(), FunctorVectorElementalAuxTempl< is_ad >::FunctorVectorElementalAuxTempl(), FVAdvection::FVAdvection(), FVFluxBC::FVFluxBC(), FVInterfaceKernel::FVInterfaceKernel(), FVOneVarDiffusionInterface::FVOneVarDiffusionInterface(), FVTwoVarContinuityConstraint::FVTwoVarContinuityConstraint(), Boundary2DDelaunayGenerator::General2DDelaunay(), SurfaceSubdomainsDelaunayRemesher::General2DDelaunay(), AddMetaDataGenerator::generate(), AdvancedExtruderGenerator::generate(), BlockDeletionGenerator::generate(), BlockToMeshConverterGenerator::generate(), Boundary2DDelaunayGenerator::generate(), BoundaryDeletionGenerator::generate(), BoundaryElementConversionGenerator::generate(), BreakBoundaryOnSubdomainGenerator::generate(), BreakMeshByBlockGenerator::generate(), BreakMeshByElementGenerator::generate(), CircularBoundaryCorrectionGenerator::generate(), CoarsenBlockGenerator::generate(), CoarsenSurfaceMeshAlongSidesetGenerator::generate(), CombinerGenerator::generate(), CutMeshByLevelSetGeneratorBase::generate(), ElementsToTetrahedronsConverter::generate(), ExtraNodesetGenerator::generate(), FillBetweenCurvesGenerator::generate(), FillBetweenSidesetsGenerator::generate(), FlipSidesetGenerator::generate(), GeneratedMeshGenerator::generate(), LowerDBlockFromSidesetGenerator::generate(), ManifoldSubdomainGenerator::generate(), MeshCollectionGenerator::generate(), MeshExtruderGenerator::generate(), MoveBoundaryNodesToCurveGenerator::generate(), ParsedCurveGenerator::generate(), ParsedExtraElementIDGenerator::generate(), ParsedSubdomainGeneratorBase::generate(), PlaneIDMeshGenerator::generate(), PolyLineMeshFollowingNodeSetGenerator::generate(), ProjectSideSetOntoLevelSetGenerator::generate(), RefineBlockGenerator::generate(), RefineSidesetGenerator::generate(), RenameBlockGenerator::generate(), RenameBoundaryGenerator::generate(), RenumberBySubdomainGenerator::generate(), SideSetsFromNodeSetsGenerator::generate(), StackGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), SubdomainsFromPartitionerGenerator::generate(), SurfaceSubdomainsDelaunayRemesher::generate(), TriToQuadConverter::generate(), UniqueExtraIDMeshGenerator::generate(), XYFrontalDelaunayGenerator::generate(), XYMeshLineCutter::generate(), XYZDelaunayGenerator::generate(), PatternedMeshGenerator::generate(), GeneratedMeshGenerator::GeneratedMeshGenerator(), BoundaryLayerUtils::generateOffsetPolyline(), GenericConstantStdVectorMaterialTempl< is_ad >::GenericConstantStdVectorMaterialTempl(), 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(), FEProblemSolve::getParamFromNonlinearSystemVectorParam(), PostprocessorInterface::getPostprocessorNameInternal(), PostprocessorInterface::getPostprocessorValueInternal(), Sampler::getSampleRow(), MultiAppNearestNodeTransfer::getTargetLocalNodes(), UserObjectInterface::getUserObjectBase(), UserObjectInterface::getUserObjectName(), AddPeriodicBCAction::getVariables(), HFEMDirichletBC::HFEMDirichletBC(), AddVariableAction::init(), MFEMTransient::init(), MultiApp::init(), DistributedPositions::initialize(), BlockWeightedPartitioner::initialize(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), PhysicsBase::initializePhysics(), ReferenceResidualConvergence::initialSetup(), Axisymmetric2D3DSolutionFunction::initialSetup(), PiecewiseConstantFromCSV::initialSetup(), SolutionIC::initialSetup(), LibtorchControlValuePostprocessor::initialSetup(), ElementSubdomainModifierBase::initialSetup(), MFEMScalarCoefficientPointValueSampler::initialSetup(), FullSolveMultiApp::initialSetup(), JSONOutput::initialSetup(), BoundaryLinearFVFluxIntegral::initialSetup(), SideFVFluxBCIntegral::initialSetup(), MultiAppCloneReporterTransfer::initialSetup(), MultiAppDofCopyTransfer::initialSetup(), MultiAppGeneralFieldKDTreeTransferBase::initialSetup(), MultiAppGeneralFieldNearestLocationTransfer::initialSetup(), MultiAppGeneralFieldTransfer::initialSetup(), MultiAppVariableValueSamplePostprocessorTransfer::initialSetup(), PointInPolyhedronCheckUO::initialSetup(), HistogramVectorPostprocessor::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(), MatReactionTempl< is_ad >::MatReactionTempl(), MatrixSymmetryCheck::MatrixSymmetryCheck(), PatternedMeshGenerator::mergeSubdomainNameMaps(), MeshCollectionGenerator::MeshCollectionGenerator(), MeshDiagnosticsGenerator::MeshDiagnosticsGenerator(), MeshDivisionAux::MeshDivisionAux(), MeshGenerator::MeshGenerator(), MeshGeneratorComponent::MeshGeneratorComponent(), MeshInfo::MeshInfo(), MFEMComplexSumAux::MFEMComplexSumAux(), MFEMEigenproblem::MFEMEigenproblem(), MFEMFunctorMaterial::MFEMFunctorMaterial(), MFEMGeneratedMeshGenerator::MFEMGeneratedMeshGenerator(), MFEMGenericFunctorMaterial::MFEMGenericFunctorMaterial(), MFEMGenericFunctorMatrixMaterial::MFEMGenericFunctorMatrixMaterial(), MFEMGenericFunctorVectorMaterial::MFEMGenericFunctorVectorMaterial(), MFEMGeometricMultigridSolver::MFEMGeometricMultigridSolver(), MFEMHypreBoomerAMG::MFEMHypreBoomerAMG(), MFEMMultiAppTransfer::MFEMMultiAppTransfer(), MFEMNDtoRTAux::MFEMNDtoRTAux(), MFEMSumAux::MFEMSumAux(), MFEMVariable::MFEMVariable(), MooseLinearVariableFV< OutputType >::MooseLinearVariableFV(), UserObjectInterface::mooseObjectError(), MoosePreconditioner::MoosePreconditioner(), MooseStaticCondensationPreconditioner::MooseStaticCondensationPreconditioner(), MooseVariableBase::MooseVariableBase(), MortarConstraintBase::MortarConstraintBase(), MortarNodalAuxKernelTempl< ComputeValueType >::MortarNodalAuxKernelTempl(), MultiApp::moveApp(), MoveBoundaryNodesToCurveGenerator::MoveBoundaryNodesToCurveGenerator(), MoveNodeGenerator::MoveNodeGenerator(), MoveNodesByParsedExpressionModifier::MoveNodesByParsedExpressionModifier(), TriToQuadConverter::moveSurvivingTriangles(), MultiApp::MultiApp(), MultiAppCloneReporterTransfer::MultiAppCloneReporterTransfer(), MultiAppGeneralFieldFunctorTransfer::MultiAppGeneralFieldFunctorTransfer(), MultiAppGeneralFieldKDTreeTransferBase::MultiAppGeneralFieldKDTreeTransferBase(), 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(), NEML2PreKernel::NEML2PreKernel(), NestedDivision::NestedDivision(), NodalBC::NodalBC(), NodalEqualValueConstraint::NodalEqualValueConstraint(), NodalKernel::NodalKernel(), NodalPatchRecoveryAux::NodalPatchRecoveryAux(), NodalValueSampler::NodalValueSampler(), NumDOFs::NumDOFs(), OrientSurfaceMeshGenerator::OrientSurfaceMeshGenerator(), MeshTriangulationUtils::outerBoundaryIds(), Output::Output(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedFunctorMaterialTempl< is_ad >::ParsedFunctorMaterialTempl(), ParsedPostprocessor::ParsedPostprocessor(), ParsedReporterBase::ParsedReporterBase(), ParsedScalarReporter::ParsedScalarReporter(), ParsedSubdomainGeneratorBase::ParsedSubdomainGeneratorBase(), ParsedVectorRealReductionReporter::ParsedVectorRealReductionReporter(), ParsedVectorReporter::ParsedVectorReporter(), ParsedVectorVectorRealReductionReporter::ParsedVectorVectorRealReductionReporter(), PatternedMeshGenerator::PatternedMeshGenerator(), PenaltyPeriodicSegmentalConstraint::PenaltyPeriodicSegmentalConstraint(), PeriodicSegmentalConstraint::PeriodicSegmentalConstraint(), PIDTransientControl::PIDTransientControl(), PlaneDeletionGenerator::PlaneDeletionGenerator(), PlaneIDMeshGenerator::PlaneIDMeshGenerator(), PointInPolyhedronBaseUO::PointInPolyhedronBaseUO(), PointInSignedFunctionCheckUO::PointInSignedFunctionCheckUO(), PointInUnionCheckUO::PointInUnionCheckUO(), PointwiseRenormalizeVector::PointwiseRenormalizeVector(), PolyLineMeshFollowingNodeSetGenerator::PolyLineMeshFollowingNodeSetGenerator(), EqualValueBoundaryConstraint::populateSecondaryNodes(), ReporterInterface::possiblyCheckHasReporter(), VectorPostprocessorInterface::possiblyCheckHasVectorPostprocessor(), LibmeshPartitioner::prepareBlocksForSubdomainPartitioner(), ProjectedMaterialPropertyNodalPatchRecoveryAux::ProjectedMaterialPropertyNodalPatchRecoveryAux(), ProjectSideSetOntoLevelSetGenerator::ProjectSideSetOntoLevelSetGenerator(), PropertyReadFile::PropertyReadFile(), RandomIC::RandomIC(), RankTwoTensorFromComponentProperties::RankTwoTensorFromComponentProperties(), MultiApp::readCommandLineArguments(), PropertyReadFile::readData(), SolutionUserObjectBase::readExodusIIOrNemesis(), 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(), SurfaceMeshGeneratorBase::setup(), CylinderComponent::setupComponent(), NEML2Action::setupDerivativeMappings(), NEML2Action::setupInputMappings(), MultiSystemSolveObject::setupMultiSystemFixedPointRelaxationFactors(), MoveNodesByParsedExpressionModifier::setupNodalOutputVariables(), NEML2Action::setupParameterDerivativeMappings(), NEML2Action::setupParameterMappings(), SetupQuadratureAction::SetupQuadratureAction(), SidesetAroundSubdomainUpdater::SidesetAroundSubdomainUpdater(), SideSetsFromBoundingBoxGenerator::SideSetsFromBoundingBoxGenerator(), SideValueSampler::SideValueSampler(), SingleRankPartitioner::SingleRankPartitioner(), SphericalGridDivision::SphericalGridDivision(), StitchBoundaryMeshGenerator::StitchBoundaryMeshGenerator(), StitchMeshGenerator::StitchMeshGenerator(), SurfaceSubdomainsDelaunayRemesher::SurfaceSubdomainsDelaunayRemesher(), SymmetryTransformGenerator::SymmetryTransformGenerator(), TagVectorAux::TagVectorAux(), XYFrontalDelaunayGenerator::targetArea(), Terminator::Terminator(), TimeDerivativeAux::TimeDerivativeAux(), Transfer::Transfer(), TransformGenerator::TransformGenerator(), TransientMultiApp::TransientMultiApp(), CylinderComponent::translation(), MeshTriangulationUtils::triangulateWithDelaunay(), TriToQuadConverter::TriToQuadConverter(), ParsedCurveGenerator::tSectionSpaceDefiner(), UniqueExtraIDMeshGenerator::UniqueExtraIDMeshGenerator(), UserObjectBase::UserObjectBase(), Checkpoint::validateExecuteOn(), ParsedAux::validateGenericVectorNames(), SolutionAux::validateVariable(), MFEMProblem::validateVariableNumericType(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), VectorBodyForce::VectorBodyForce(), VectorFunctionDirichletBC::VectorFunctionDirichletBC(), VectorFunctionIC::VectorFunctionIC(), VolumeAux::VolumeAux(), WebServerControl::WebServerControl(), XYDelaunayGenerator::XYDelaunayGenerator(), XYFrontalDelaunayGenerator::XYFrontalDelaunayGenerator(), XYMeshLineCutter::XYMeshLineCutter(), XYQuadrilateralMeshFromBoundaryCurve::XYQuadrilateralMeshFromBoundaryCurve(), and XYZDelaunayGenerator::XYZDelaunayGenerator().

◆ parameters()

const InputParameters & MooseBase::parameters ( ) const
inlineinherited

Get the parameters of the object.

Returns
The parameters of the object

Definition at line 131 of file MooseBase.h.

131{ return _pars; }

Referenced by AddActionComponentAction::act(), CommonOutputAction::act(), CSGOnlyAction::act(), MeshOnlyAction::act(), SetupDebugAction::act(), SplitMeshAction::act(), Action::Action(), FEProblemBase::addAnyRedistributers(), FEProblemBase::addAuxKernel(), MFEMProblem::addAuxKernel(), FEProblemBase::addAuxScalarKernel(), DisplacedProblem::addAuxVariable(), MFEMProblem::addAuxVariable(), FEProblemBase::addBoundaryCondition(), MFEMProblem::addBoundaryCondition(), FEProblemBase::addConstraint(), FEProblemBase::addConvergence(), FEProblemBase::addDamper(), AddDefaultConvergenceAction::addDefaultMultiAppFixedPointConvergence(), FEProblemBase::addDefaultMultiAppFixedPointConvergence(), AddDefaultConvergenceAction::addDefaultNonlinearConvergence(), FEProblemBase::addDefaultNonlinearConvergence(), ReferenceResidualProblem::addDefaultNonlinearConvergence(), AddDefaultConvergenceAction::addDefaultSteadyStateConvergence(), FEProblemBase::addDefaultSteadyStateConvergence(), FEProblemBase::addDGKernel(), FEProblemBase::addDiracKernel(), FEProblemBase::addDistribution(), MFEMProblem::addFESpace(), MFEMProblem::addFESpaceHierarchy(), FEProblemBase::addFunction(), MFEMProblem::addFunction(), FEProblemBase::addFunctorMaterial(), MFEMProblem::addFunctorMaterial(), FEProblemBase::addFVBC(), FEProblemBase::addFVGradientMethod(), FEProblemBase::addFVInitialCondition(), FEProblemBase::addFVInterfaceKernel(), FEProblemBase::addFVInterpolationMethod(), FEProblemBase::addFVKernel(), MFEMProblem::addGridFunction(), FEProblemBase::addHDGKernel(), MFEMProblem::addImagComponentToBC(), MFEMProblem::addImagComponentToKernel(), FEProblemBase::addIndicator(), MFEMProblem::addIndicator(), FEProblemBase::addInitialCondition(), MFEMProblem::addInitialCondition(), DiffusionPhysicsBase::addInitialConditions(), FEProblemBase::addInterfaceKernel(), FEProblemBase::addInterfaceMaterial(), FEProblemBase::addKernel(), MFEMProblem::addKernel(), FEProblemBase::addLinearFVBC(), FEProblemBase::addLinearFVKernel(), FEProblem::addLineSearch(), FEProblemBase::addMarker(), MFEMProblem::addMarker(), FEProblemBase::addMaterial(), FEProblemBase::addMaterialHelper(), FEProblemBase::addMeshDivision(), MFEMProblem::addMFEMFESpaceFromMOOSEVariable(), MFEMProblem::addMFEMProblemComposer(), MFEMProblem::addMFEMSolver(), FEProblemBase::addMultiApp(), FEProblemBase::addNodalKernel(), FEProblemBase::addObject(), FEProblemBase::addObjectParamsHelper(), FEProblemBase::addOutput(), FEProblemBase::addPostprocessor(), MFEMProblem::addPostprocessor(), FEProblemBase::addPredictor(), MFEMProblem::addRealComponentToBC(), MFEMProblem::addRealComponentToKernel(), FEProblemBase::addReporter(), FEProblemBase::addSampler(), FEProblemBase::addScalarKernel(), MFEMProblem::addSubMesh(), FEProblemBase::addTimeIntegrator(), FEProblemBase::addTransfer(), MFEMProblem::addTransfer(), FEProblemBase::addUserObject(), DisplacedProblem::addVariable(), MFEMEigenproblem::addVariable(), MFEMProblem::addVariable(), FEProblemBase::addVectorPostprocessor(), MFEMProblem::addVectorPostprocessor(), ADPiecewiseLinearInterpolationMaterial::ADPiecewiseLinearInterpolationMaterial(), AdvancedOutput::AdvancedOutput(), AnnularMesh::AnnularMesh(), AnnularMeshGenerator::AnnularMeshGenerator(), assemble_l2(), Moose::assemble_matrix(), Action::associateWithParameter(), AuxKernelBase::AuxKernelBase(), AuxScalarKernel::AuxScalarKernel(), BoundsBase::BoundsBase(), MooseMesh::buildTypedMesh(), MeshGenerator::checkGetMesh(), PostprocessorInterface::checkParam(), AddDefaultConvergenceAction::checkUnusedMultiAppFixedPointConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedNonlinearConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedSteadyStateConvergenceParameters(), SampledOutput::cloneMesh(), Moose::compute_bounds(), Moose::compute_jacobian(), Moose::compute_nearnullspace(), Moose::compute_nullspace(), Moose::compute_postcheck(), Moose::compute_transpose_nullspace(), LibtorchNeuralNetControl::conditionalParameterError(), Console::Console(), MooseMeshUtils::copyIntoMesh(), CommonOutputAction::create(), MultiApp::createApp(), Postprocessor::declareValue(), DumpObjectsProblem::deduceNecessaryParameters(), DefaultMultiAppFixedPointConvergence::DefaultMultiAppFixedPointConvergence(), DumpObjectsProblem::dumpObjectHelper(), DumpObjectsProblem::DumpObjectsProblem(), EigenProblem::EigenProblem(), EigenProblemSolve::EigenProblemSolve(), ElementMaterialSampler::ElementMaterialSampler(), ExamplePatchMeshGenerator::ExamplePatchMeshGenerator(), Executor::Executor(), Exodus::Exodus(), ElementSubdomainModifierBase::extrapolatePolynomial(), FEProblem::FEProblem(), FixedPointSolve::FixedPointSolve(), FunctorSmootherTempl< T >::FunctorSmootherTempl(), GapValueAux::GapValueAux(), ParsedSubdomainGeneratorBase::generate(), ActionWarehouse::getCurrentActionName(), ExecutorInterface::getExecutor(), Material::getMaterial(), Moose::PeriodicBCHelper::getParams(), ReporterInterface::getReporterName(), Reporter::getReporterValueName(), UserObjectInterface::getUserObjectName(), AuxKernelBase::getVariableHelper(), 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(), MooseObject::isKokkosObject(), isValid(), IterationAdaptiveDT::IterationAdaptiveDT(), LibtorchNeuralNetControl::LibtorchNeuralNetControl(), MooseObject::MooseObject(), UserObjectInterface::mooseObjectError(), MooseVariableInterface< T >::MooseVariableInterface(), MultiApp::MultiApp(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), MultiAppGeneralFieldUserObjectTransfer::MultiAppGeneralFieldUserObjectTransfer(), MultiAppTransfer::MultiAppTransfer(), MultiAppVariableValueSamplePostprocessorTransfer::MultiAppVariableValueSamplePostprocessorTransfer(), NodeFaceConstraint::NodeFaceConstraint(), ConsoleUtils::outputLegacyInformation(), OverlayMeshGenerator::OverlayMeshGenerator(), ParsedReporterBase::ParsedReporterBase(), ParsedScalarReporter::ParsedScalarReporter(), PenetrationAux::PenetrationAux(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), NEML2Action::printSummary(), ProjectedStatefulMaterialStorageAction::processProperty(), PropertyReadFile::PropertyReadFile(), PseudoTimestep::PseudoTimestep(), RandomIC::RandomIC(), ReferenceResidualConvergence::ReferenceResidualConvergence(), InputParameterWarehouse::removeInputParameters(), FEProblemBase::setAuxKernelParamsAndLog(), FEProblemBase::setInputParametersFEProblem(), FEProblem::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(), and VectorMagnitudeFunctorMaterialTempl< is_ad >::VectorMagnitudeFunctorMaterialTempl().

◆ 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 471 of file MooseBase.h.

472{
473 mooseInfo(_pars.paramMessage(param, std::forward<Args>(args)...));
474}
std::string paramMessage(const std::string &param, Args... args) const

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

◆ paramWarning() [1/2]

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 464 of file MooseBase.h.

465{
466 mooseWarning(_pars.paramMessage(param, std::forward<Args>(args)...));
467}

◆ paramWarning() [2/2]

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

◆ parentOutputPositionChanged()

void MultiApp::parentOutputPositionChanged ( )
virtualinherited

For apps outputting in position we need to change their output positions if their parent app moves.

Definition at line 1159 of file MultiApp.C.

1160{
1162 for (unsigned int i = 0; i < _apps.size(); i++)
1163 _apps[i]->setOutputPosition(_app.getOutputPosition() + _positions[_first_local_app + i]);
1164}

◆ perfGraph()

PerfGraph & PerfGraphInterface::perfGraph ( )
inherited

Get the PerfGraph.

Definition at line 86 of file PerfGraphInterface.C.

87{
88 return _pg_moose_app.perfGraph();
89}
PerfGraph & perfGraph()
Get the PerfGraph for this app.
Definition MooseApp.h:179
MooseApp & _pg_moose_app
The MooseApp that owns the PerfGraph.

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

◆ position()

const Point & MultiApp::position ( unsigned int  app) const
inherited

The physical position of a global App number.

Parameters
appThe global app number you want the position for.
Returns
the position

Definition at line 1570 of file MultiApp.C.

1571{
1572 // If we're not using positions, it won't have changed
1573 if (_positions_objs.empty())
1574 return _positions[app];
1575 else
1576 // Find which Positions object is specifying it, and query a potentially updated value
1577 return _positions_objs[app]->getPosition(app - _positions_index_offsets[app], false);
1578}
std::vector< unsigned int > _positions_index_offsets
The offsets, in case multiple Positions objects are specified.
Definition MultiApp.h:533
std::vector< const Positions * > _positions_objs
The positions of all of the apps, using the Positions system.
Definition MultiApp.h:531

Referenced by MultiApp::getBoundingBox().

◆ possiblyCreateChildApplications()

void MultiApp::possiblyCreateChildApplications ( )
inherited

Called just after construction to allow derived classes to set _positions and create sub-apps accordingly.

Definition at line 390 of file MultiApp.C.

391{
392 // We need to count the apps to be able to partition them, either here in init(),
393 // or in the FEProblem before calling initialSetup()
394 if (_use_positions)
395 {
397 // This counts the apps and partitions them. The partitioning can be changed
398 // if the apps are not created straight away
399 init(_positions.size());
400 }
401
403 return;
404
405 mooseAssert(_use_positions,
406 "The number of apps is currently determined by the positions when creating child "
407 "apps immediately after multiapp construction");
408 createApps();
409}
void createApps()
Create the provided number of apps.
Definition MultiApp.C:412
const bool _create_child_apps_on_initial_setup
Whether we create child apps during the initialSetup() call or immediately after the multiapps constr...
Definition MultiApp.h:541
virtual void fillPositions()
must fill in _positions with the positions of the sub-aps
Definition MultiApp.C:571

◆ postExecute()

void MultiApp::postExecute ( )
virtualinherited

Method called at the end of the simulation (after finalize).

Reimplemented in FullSolveMultiApp.

Definition at line 779 of file MultiApp.C.

780{
781 for (const auto & app_ptr : _apps)
782 {
783 auto * executioner = app_ptr->getExecutioner();
784 mooseAssert(executioner, "Executioner is nullptr");
785
786 executioner->postExecute();
787 }
788}

◆ preExecute()

virtual void MultiApp::preExecute ( )
inlinevirtualinherited

Definition at line 146 of file MultiApp.h.

146{}

◆ preRunInputFile()

void MultiApp::preRunInputFile ( )
protectedvirtualinherited

call back executed right before app->runInputFile()

Definition at line 1527 of file MultiApp.C.

1528{
1529}

Referenced by MultiApp::createApp().

◆ preTransfer()

void MultiApp::preTransfer ( Real  dt,
Real  target_time 
)
virtualinherited

Gets called just before transfers are done to the MultiApp (Which is just before the MultiApp is solved).

Definition at line 684 of file MultiApp.C.

685{
686 // Get a transient executioner to get a user-set tolerance
687 Real timestep_tol = 1e-13;
688 if (dynamic_cast<TransientBase *>(_fe_problem.getMooseApp().getExecutioner()))
689 timestep_tol =
690 dynamic_cast<TransientBase *>(_fe_problem.getMooseApp().getExecutioner())->timestepTol();
691
692 // Determination on whether we need to backup the app due to changes below
693 bool backup_apps = false;
694
695 // First, see if any Apps need to be reset
696 for (unsigned int i = 0; i < _reset_times.size(); i++)
697 {
698 if (!_reset_happened[i] && (target_time + timestep_tol >= _reset_times[i]))
699 {
700 _reset_happened[i] = true;
701 if (_reset_apps.size() > 0)
702 for (auto & app : _reset_apps)
703 resetApp(app);
704
705 // If we reset an application, then we delete the old objects, including the coordinate
706 // transformation classes. Consequently we need to reset the coordinate transformation classes
707 // in the associated transfer classes
708 for (auto * const transfer : _associated_transfers)
709 transfer->getAppInfo();
710
711 // Similarly we need to transform the mesh again
713 for (const auto i : make_range(_my_num_apps))
714 {
715 auto app_ptr = _apps[i];
716 auto & mesh = app_ptr->getExecutioner()->feProblem().mesh();
717 if (usingPositions())
718 app_ptr->getExecutioner()->feProblem().coordTransform().transformMesh(
719 mesh, _positions[_first_local_app + i]);
720 else
721 app_ptr->getExecutioner()->feProblem().coordTransform().transformMesh(mesh,
722 Point(0, 0, 0));
723
724 // Transforming marks mesh->spatial_dimension() as invalid,
725 // so we reprepare before trying to print that later.
726 mesh.getMesh().complete_preparation();
727 }
728
729 // If the time step covers multiple reset times, set them all as having 'happened'
730 for (unsigned int j = i; j < _reset_times.size(); j++)
731 if (target_time + timestep_tol >= _reset_times[j])
732 _reset_happened[j] = true;
733
734 // Backup in case the next solve fails
735 backup_apps = true;
736
737 break;
738 }
739 }
740
741 // Now move any apps that should be moved
742 if (_use_positions && !_move_happened && target_time + timestep_tol >= _move_time)
743 {
744 _move_happened = true;
745 for (unsigned int i = 0; i < _move_apps.size(); i++)
747
748 // Backup in case the next solve fails
749 backup_apps = true;
750 }
751
752 if (backup_apps)
753 backup();
754}
Executioner * getExecutioner() const
Retrieve the Executioner for this App.
Definition MooseApp.C:2020
virtual void resetApp(unsigned int global_app, Real time=0.0)
"Reset" the App corresponding to the global App number passed in.
Definition MultiApp.C:1119
virtual void moveApp(unsigned int global_app, Point p)
Move the global_app to Point p.
Definition MultiApp.C:1140
Real _move_time
The time at which to move apps.
Definition MultiApp.h:622
bool _move_happened
Whether or not the move has happened.
Definition MultiApp.h:631
std::vector< unsigned int > _move_apps
The apps to be moved.
Definition MultiApp.h:625
std::vector< Point > _move_positions
The new positions for the apps to be moved.
Definition MultiApp.h:628
std::vector< unsigned int > _reset_apps
The apps to be reset.
Definition MultiApp.h:616
IntRange< T > make_range(T beg, T end)

◆ problemBase()

FEProblemBase & MultiApp::problemBase ( )
inlineinherited

Get the FEProblemBase this MultiApp is part of.

Definition at line 269 of file MultiApp.h.

269{ return _fe_problem; }

◆ propagateRecoverToSubApps()

virtual bool MultiApp::propagateRecoverToSubApps ( ) const
inlineprotectedvirtualinherited

Whether or not to propagate the parent's recover state (the –recover and –test-checkpoint-half-transient flags) to sub-applications.

Returns true for all MultiApps except FullSolveMultiApp and its derived classes. FullSolveMultiApp always performs a complete fresh solve on every execution and must never recover its sub-apps from a checkpoint. Note that restart propagation (setRestart) is deliberately not gated here because a FullSolveMultiApp sub-app may legitimately be restarted from a user-specified restart file.

Reimplemented in FullSolveMultiApp.

Definition at line 454 of file MultiApp.h.

454{ return true; }

Referenced by MultiApp::createApp().

◆ queryParam()

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

Query a parameter for the object.

If a parameter of the given name and type does not exist or 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 413 of file MooseBase.h.

414{
415 return _pars.queryParam<T>(name);
416}
const T * queryParam(const std::string &name) const
Query a parameter.

Referenced by MFEMExecutedObject::getRequestedItems(), and MFEMGeometricMultigridSolver::MFEMGeometricMultigridSolver().

◆ readCommandLineArguments()

void MultiApp::readCommandLineArguments ( )
protectedinherited

Fill command line arguments for sub apps.

Definition at line 473 of file MultiApp.C.

474{
475 if (isParamValid("cli_args_files"))
476 {
477 _cli_args_from_file.clear();
478
479 std::vector<FileName> cli_args_files = getParam<std::vector<FileName>>("cli_args_files");
480 std::vector<FileName> input_files = getParam<std::vector<FileName>>("input_files");
481
482 // If we use parameter "cli_args_files", at least one file should be provided
483 if (!cli_args_files.size())
484 paramError("cli_args_files", "You need to provide at least one commandLine argument file ");
485
486 // If we multiple input files, then we need to check if the number of input files
487 // match with the number of argument files
488 if (cli_args_files.size() != 1 && cli_args_files.size() != input_files.size())
489 paramError("cli_args_files",
490 "The number of commandLine argument files ",
491 cli_args_files.size(),
492 " for MultiApp ",
493 name(),
494 " must either be only one or match the number of input files ",
495 input_files.size());
496
497 // Go through all argument files
498 std::vector<std::string> cli_args;
499 for (unsigned int p_file_it = 0; p_file_it < cli_args_files.size(); p_file_it++)
500 {
501 std::string cli_args_file = cli_args_files[p_file_it];
502 // Clear up
503 cli_args.clear();
504 // Read the file on the root processor then broadcast it
505 if (processor_id() == 0)
506 {
507 MooseUtils::checkFileReadable(cli_args_file);
508
509 std::ifstream is(cli_args_file.c_str());
510 // Read by line rather than space separated like the cli_args parameter
511 std::string line;
512 while (std::getline(is, line))
513 cli_args.push_back(line);
514
515 // We do not allow empty files
516 if (!cli_args.size())
517 paramError("cli_args_files",
518 "There is no commandLine argument in the commandLine argument file ",
519 cli_args_file);
520
521 // If we have position files, we need to
522 // make sure the number of commandLine argument strings
523 // match with the number of positions
524 if (_npositions_inputfile.size())
525 {
526 auto num_positions = _npositions_inputfile[p_file_it];
527 // Check if the number of commandLine argument strings equal to
528 // the number of positions
529 if (cli_args.size() == 1)
530 for (MooseIndex(num_positions) num = 0; num < num_positions; num++)
531 _cli_args_from_file.push_back(cli_args.front());
532 else if (cli_args.size() == num_positions)
533 for (auto && cli_arg : cli_args)
534 _cli_args_from_file.push_back(cli_arg);
535 else if (cli_args.size() != num_positions)
536 paramError("cli_args_files",
537 "The number of commandLine argument strings ",
538 cli_args.size(),
539 " in the file ",
540 cli_args_file,
541 " must either be only one or match the number of positions ",
542 num_positions);
543 }
544 else
545 {
546 // If we do not have position files, we will check if the number of
547 // commandLine argument strings match with the total number of subapps
548 for (auto && cli_arg : cli_args)
549 _cli_args_from_file.push_back(cli_arg);
550 }
551 }
552 }
553
554 // Broad cast all arguments to everyone
556 }
557
558 if (_cli_args_from_file.size() && _cli_args_from_file.size() != 1 &&
560 mooseError(" The number of commandLine argument strings ",
561 _cli_args_from_file.size(),
562 " must either be only one or match the total "
563 "number of sub apps ",
565
566 if (_cli_args_from_file.size() && cliArgs().size())
567 mooseError("Cannot set commandLine arguments from both input_file and external files");
568}
std::vector< unsigned int > _npositions_inputfile
Number of positions for each input file.
Definition MultiApp.h:550
void broadcast(T &data, const unsigned int root_id=0, const bool identical_sizes=false) const
bool checkFileReadable(const std::string &filename, bool check_line_endings, bool throw_on_unreadable, bool check_for_git_lfs_pointer)
Definition MooseUtils.C:317
PetscErrorCode PetscInt const PetscInt IS * is

Referenced by MultiApp::createApps().

◆ registerInvalidSolutionInternal()

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

Definition at line 55 of file SolutionInvalidInterface.C.

57{
59 _si_moose_base.type(), message, warning);
60}
const std::string & type() const
Get the type of this class.
Definition MooseBase.h:93
InvalidSolutionID registerInvalidity(const std::string &object_type, const std::string &message, const bool warning)
Call to register an invalid calculation.

◆ registerRestartableDataOnApp()

RestartableDataValue & Restartable::registerRestartableDataOnApp ( std::unique_ptr< RestartableDataValue >  data,
THREAD_ID  tid 
) const
privateinherited

Helper function for actually registering the restartable data.

Definition at line 63 of file Restartable.C.

65{
67 std::move(data), tid, _restartable_read_only, _metaname);
68}
RestartableDataValue & registerRestartableData(std::unique_ptr< RestartableDataValue > data, THREAD_ID tid, bool read_only, const RestartableDataMapName &metaname="")
Definition MooseApp.C:2454
const RestartableDataMapName _metaname
Restartable metadata name.
const bool _restartable_read_only
Flag for toggling read only status (see ReporterData)
MooseApp & _restartable_app
Reference to the application.

Referenced by Restartable::declareRestartableDataHelper().

◆ registerRestartableNameWithFilterOnApp()

void Restartable::registerRestartableNameWithFilterOnApp ( const std::string &  name,
Moose::RESTARTABLE_FILTER  filter 
)
privateinherited

Helper function for actually registering the restartable data.

Definition at line 71 of file Restartable.C.

73{
75}
void registerRestartableNameWithFilter(const std::string &name, Moose::RESTARTABLE_FILTER filter)
NOTE: This is an internal function meant for MOOSE use only!
Definition MooseApp.C:1706

Referenced by Restartable::declareRecoverableData().

◆ 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 61 of file PerfGraphInterface.C.

63{
64 const auto timed_section_name = timedSectionName(section_name);
65 if (!moose::internal::getPerfGraphRegistry().sectionExists(timed_section_name))
66 return moose::internal::getPerfGraphRegistry().registerSection(timed_section_name, level);
67 else
68 return moose::internal::getPerfGraphRegistry().sectionID(timed_section_name);
69}
std::string timedSectionName(const std::string &section_name) const
PerfID sectionID(const std::string &section_name) const
Given a name return the PerfID @section_name The name of the section.
PerfID registerSection(const std::string &section_name, const unsigned int level)
Call to register a named section for timing.
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 72 of file PerfGraphInterface.C.

76{
77 const auto timed_section_name = timedSectionName(section_name);
78 if (!moose::internal::getPerfGraphRegistry().sectionExists(timed_section_name))
80 timedSectionName(section_name), level, live_message, print_dots);
81 else
82 return moose::internal::getPerfGraphRegistry().sectionID(timed_section_name);
83}

◆ resetApp()

void TransientMultiApp::resetApp ( unsigned int  global_app,
Real  time 
)
overridevirtualinherited

"Reset" the App corresponding to the global App number passed in.

"Reset" means that the App will be deleted and recreated. The time for the new App will be set to the current simulation time. This might be handy if some sub-app in your simulation needs to get replaced by a "new" piece of material.

Parameters
global_appThe global app number to reset.
timeThe time to set as the the time for the new app, this should really be the time the old app was at.

Reimplemented from MultiApp.

Definition at line 621 of file TransientMultiApp.C.

624{
625 if (hasLocalApp(global_app))
626 {
627 unsigned int local_app = globalAppToLocal(global_app);
628
629 // Grab the current time the App is at so we can start the new one at the same place
630 Real time =
631 _transient_executioners[local_app]->getTime() + _apps[local_app]->getGlobalTimeOffset();
632
633 // Reset the Multiapp
634 MultiApp::resetApp(global_app, time);
635
637
638 // Setup the app, disable the output so that the initial condition does not output
639 // When an app is reset the initial condition was effectively already output before reset
640 FEProblemBase & problem = appProblemBase(local_app);
641 problem.allowOutput(false);
642 setupApp(local_app, time);
643 problem.allowOutput(true);
644 }
645}
void allowOutput(bool state)
Ability to enable/disable all output calls.

◆ 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 78 of file Restartable.C.

79{
80 return _restartable_system_name + "/" + _restartable_name + "/" + data_name;
81}
const std::string _restartable_system_name
The system name this object is in.

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

◆ restore()

void MultiApp::restore ( bool  force = true)
virtualinherited

Restore the state of every Sub App.

This allows us to "Restore" this state later If the app is not forced to restore, it is only done as needed (and also for the apps underneath as needed)

Parameters
forceWhether the restoration has to happen no matter what.

Reimplemented in FullSolveMultiApp.

Definition at line 806 of file MultiApp.C.

807{
808 TIME_SECTION(_restore_timer);
809
810 if (force || needsRestoration())
811 {
812 // Must be restarting / recovering from main app so hold off on restoring
813 // Instead - the restore will happen in sub-apps' initialSetup()
814 // Note that _backups was already populated by dataLoad() in the main app
816 return;
817
818 // We temporarily copy and store solutions for all subapps
820 {
822
823 for (unsigned int i = 0; i < _my_num_apps; i++)
824 {
825 _end_solutions[i].resize(_apps[i]->getExecutioner()->feProblem().numSolverSystems());
826 for (unsigned int j = 0; j < _apps[i]->getExecutioner()->feProblem().numSolverSystems();
827 j++)
828 {
829 _end_solutions[i][j] = _apps[i]
830 ->getExecutioner()
831 ->feProblem()
832 .getSolverSystem(/*solver_sys=*/j)
833 .solution()
834 .clone();
835 }
836 auto & sub_multiapps =
837 _apps[i]->getExecutioner()->feProblem().getMultiAppWarehouse().getObjects();
838
839 // multiapps of each subapp should do the same things
840 // It is implemented recursively
841 for (auto & multi_app : sub_multiapps)
843 }
844 }
845
846 // We temporarily copy and store solutions for all subapps
848 {
850
851 for (unsigned int i = 0; i < _my_num_apps; i++)
854 }
855
857 _console << "Restoring MultiApp ... ";
858
859 for (unsigned int i = 0; i < _my_num_apps; i++)
860 {
861 _apps[i]->restore(std::move(_sub_app_backups[i]), false);
862 _sub_app_backups[i] = _apps[i]->finalizeRestore();
863 mooseAssert(_sub_app_backups[i], "Should have a backup");
864 }
865
867 _console << name() << std::endl;
868
869 // Now copy the latest solutions back for each subapp
871 {
872 for (unsigned int i = 0; i < _my_num_apps; i++)
873 {
874 for (unsigned int j = 0; j < _apps[i]->getExecutioner()->feProblem().numSolverSystems();
875 j++)
876 {
877 _apps[i]->getExecutioner()->feProblem().getSolverSystem(/*solver_sys=*/j).solution() =
878 *_end_solutions[i][j];
879
880 // We need to synchronize solution so that local_solution has the right values
881 _apps[i]->getExecutioner()->feProblem().getSolverSystem(/*solver_sys=*/j).update();
882 }
883 }
884
885 _end_solutions.clear();
886 }
887 // Now copy the latest auxiliary solutions back for each subapp
889 {
890 for (unsigned int i = 0; i < _my_num_apps; i++)
891 {
892 _apps[i]->getExecutioner()->feProblem().getAuxiliarySystem().solution() =
894
895 // We need to synchronize solution so that local_solution has the right values
896 _apps[i]->getExecutioner()->feProblem().getAuxiliarySystem().update();
897 }
898
899 _end_aux_solutions.clear();
900 }
901
902 // Make sure the displaced mesh on the multiapp is up-to-date with displacement variables
903 for (const auto & app_ptr : _apps)
904 if (app_ptr->feProblem().getDisplacedProblem())
905 app_ptr->feProblem().getDisplacedProblem()->updateMesh();
906
907 // If we are restoring due to a failed solve, make sure reset the solved state in the sub-apps
908 if (!getMooseApp().getExecutioner()->lastSolveConverged())
909 for (auto & app_ptr : _apps)
910 app_ptr->getExecutioner()->fixedPointSolve().clearFixedPointStatus();
911 }
912 else
913 {
914 for (unsigned int i = 0; i < _my_num_apps; i++)
915 {
916 for (auto & sub_app :
917 _apps[i]->getExecutioner()->feProblem().getMultiAppWarehouse().getObjects())
918 sub_app->restore(false);
919 }
920 }
921}
const ExecFlagType EXEC_INITIAL
Definition Moose.C:31
const ExecFlagType & getCurrentExecuteOnFlag() const
Return/set the current execution flag.
void keepSolutionDuringRestore(bool keep_solution_during_restore)
Preserve the solution from the previous simulation, and it is used as an initial guess for the next r...
Definition MultiApp.C:924
virtual void restore(bool force=true)
Restore the state of every Sub App.
Definition MultiApp.C:806
bool needsRestoration()
Whether or not this MultiApp should be restored at the beginning of each Picard iteration.
Definition MultiApp.h:242
const PerfID _restore_timer
Definition MultiApp.h:674
bool _keep_aux_solution_during_restore
Flag indicates if or not restart the auxiliary system from the latest auxiliary solution.
Definition MultiApp.h:646
std::vector< std::vector< std::unique_ptr< libMesh::NumericVector< Real > > > > _end_solutions
The solution from the end of the previous solve, this is cloned from the Nonlinear solution during re...
Definition MultiApp.h:653
std::vector< std::unique_ptr< NumericVector< Real > > > _end_aux_solutions
The auxiliary solution from the end of the previous solve, this is cloned from the auxiliary solution...
Definition MultiApp.h:656
virtual Executioner * getExecutioner(unsigned int app)
Definition MultiApp.C:757
virtual std::unique_ptr< NumericVector< T > > clone() const=0

Referenced by dataLoad(), and FullSolveMultiApp::restore().

◆ runningInPosition()

bool MultiApp::runningInPosition ( ) const
inlineinherited

Whether or not this MultiApp is being run in position, eg with the coordinate transform already applied.

Definition at line 402 of file MultiApp.h.

402{ return _run_in_position; }

◆ setAppOutputFileBase() [1/2]

void MultiApp::setAppOutputFileBase ( )
inherited

Sets all the app's output file bases.

See also
MooseApp::setOutputFileBase for usage

Definition at line 1538 of file MultiApp.C.

1539{
1540 for (unsigned int i = 0; i < _my_num_apps; ++i)
1542}

Referenced by MultiApp::createApp(), and MultiApp::setAppOutputFileBase().

◆ setAppOutputFileBase() [2/2]

void MultiApp::setAppOutputFileBase ( unsigned int  index)
protectedinherited

Set the output file base of the application which corresponds to the index passed to the function.

Parameters
indexThe sub-application index

Definition at line 1553 of file MultiApp.C.

1554{
1555 const std::string multiapp_name =
1557 _apps[index]->setOutputFileBase(_app.getOutputFileBase() + "_" + multiapp_name);
1558}
std::string getOutputFileBase(bool for_non_moose_build_output=false) const
Get the output file base name.
Definition MooseApp.C:1537

◆ setupApp()

void TransientMultiApp::setupApp ( unsigned int  i,
Real  time = 0.0 
)
privateinherited

Setup the executioner for the local app.

Parameters
iThe local app number for the app that needs to be setup.
timeThe time to set as the current time for the App

Definition at line 648 of file TransientMultiApp.C.

649{
650 auto & app = _apps[i];
651 TransientBase * ex = dynamic_cast<TransientBase *>(app->getExecutioner());
652 if (!ex)
653 mooseError("MultiApp ", name(), " is not using a Transient Executioner!");
654
655 // Get the FEProblemBase for the current MultiApp
657
658 // Update the file numbers for the outputs from the parent application
659 app->getOutputWarehouse().setFileNumbers(_app.getOutputFileNumbers());
660
661 // Add these vectors before we call init on the executioner because that will try to restore these
662 // vectors in a restart context
664 {
665 AuxiliarySystem & aux_system = problem.getAuxiliarySystem();
666 System & libmesh_aux_system = aux_system.system();
667
668 // We'll store a copy of the auxiliary system's solution at the old time in here
669 libmesh_aux_system.add_vector("transfer_old", false);
670
671 // This will be where we'll transfer the value to for the "target" time
672 libmesh_aux_system.add_vector("transfer", false);
673 }
674
675 if (app->hasInitialBackupMesh())
676 {
677 app->restoreMeshFromInitialBackup(problem.mesh());
678 problem.mesh().prepare();
679 problem.meshChanged(/*intermediate_change=*/false,
680 /*contract_mesh=*/false,
681 /*clean_refinement_flags=*/false);
682 }
683
684 // Call initialization method of Executioner (Note, this performs the output of the initial time
685 // step, if desired)
686 ex->init();
687
688 ex->preExecute();
689 if (!_app.isRecovering())
690 {
691 problem.timeStep()++;
692 problem.advanceState();
693 }
695}
A system that holds auxiliary variables.
virtual void advanceState()
Advance all of the state holding vectors / datastructures so that we can move to the next timestep.
virtual int & timeStep() const
virtual void meshChanged(bool intermediate_change, bool contract_mesh, bool clean_refinement_flags)
Update data after a mesh change.
const std::map< std::string, unsigned int > & getOutputFileNumbers() const
Store a map of outputter names and file numbers The MultiApp system requires this to get the file num...
Definition MooseApp.h:552
void prepare()
Calls prepare_for_use() if the underlying MeshBase object isn't prepared, then communicates various b...
Definition MooseMesh.C:399
virtual void preExecute() override
Override this for actions that should take place before execution.
virtual void init() override
Initialize the executioner.
virtual void add_vector(const T *v, const std::vector< numeric_index_type > &dof_indices)
NumericVector< Number > & add_vector(std::string_view vec_name, const bool projections=true, const ParallelType type=PARALLEL)

Referenced by TransientMultiApp::initialSetup(), and TransientMultiApp::resetApp().

◆ solveStep()

bool TransientMultiApp::solveStep ( Real  dt,
Real  target_time,
bool  auto_advance = true 
)
overridevirtualinherited

Re-solve all of the Apps.

Can be called multiple times to resolve the same timestep if auto_advance=false. Time is not actually advanced until advanceStep() is called.

Note that auto_advance=false might not be compatible with the options for the MultiApp

Returns
Whether or not all of the solves were successful (i.e. all solves made it to the target_time)

Implements MultiApp.

Definition at line 174 of file TransientMultiApp.C.

175{
176 if (!_has_an_app)
177 return true;
178
179 TIME_SECTION(_solve_step_timer);
180
181 _auto_advance = auto_advance;
182
184 _console << COLOR_CYAN << "Solving MultiApp '" << name() << "' with target time " << target_time
185 << " and dt " << dt << " with auto-advance " << (auto_advance ? "on" : "off")
186 << COLOR_DEFAULT << std::endl;
187
188 // "target_time" must always be in global time
189 target_time += _app.getGlobalTimeOffset();
190
192 bool return_value = true;
193
194 // Make sure we swap back the communicator regardless of how this routine is exited
195 try
196 {
197 int rank;
198 int ierr;
199 ierr = MPI_Comm_rank(_communicator.get(), &rank);
200 mooseCheckMPIErr(ierr);
201
202 for (unsigned int i = 0; i < _my_num_apps; i++)
203 {
205
207
208 // The App might have a different local time from the rest of the problem
209 Real app_time_offset = _apps[i]->getGlobalTimeOffset();
210
211 // Maybe this MultiApp was already solved
212 if ((ex->getTime() + app_time_offset + ex->timestepTol() >= target_time) ||
213 (ex->getTime() >= ex->endTime()))
214 continue;
215
216 // Examine global time synchronization
217 if (!_sub_cycling && !_reset_happened.size())
218 {
219 // The multi-app general offset is substracted to go into local time.
220 if (std::abs(target_time - _app.getGlobalTimeOffset() - ex->getTime() - dt) >
221 ex->timestepTol())
222 mooseDoOnce(mooseWarning(
223 "The target time (time a multiapp must reach at the end of the time step) "
224 "is desynchronized between this app and subapp ",
225 i,
226 ".\n If this is desired: use the 'global_time_offset' multiapp parameter to "
227 "declare a constant offset\n"
228 "If the apps should (eventually) be synchronized in time, please either: \n"
229 " - match the 'start_time' in the main app and the multiapp, in the Executioner "
230 "block\n"
231 " - set 'sub_cycling' to true in the multiapp parameters\n"
232 "This message will only print once for all apps and all time steps."));
233 }
234
235 if (_sub_cycling)
236 {
237 Real time_old = ex->getTime() + app_time_offset;
238
240 {
241 AuxiliarySystem & aux_system = problem.getAuxiliarySystem();
242 System & libmesh_aux_system = aux_system.system();
243
244 NumericVector<Number> & solution = *libmesh_aux_system.solution;
245 NumericVector<Number> & transfer_old = libmesh_aux_system.get_vector("transfer_old");
246
247 solution.close();
248
249 // Save off the current auxiliary solution
250 transfer_old = solution;
251
252 transfer_old.close();
253
254 // Snag all of the local dof indices for all of these variables
256 const ConstElemRange & elem_range = *problem.mesh().getActiveLocalElementRange();
257 Threads::parallel_reduce(elem_range, aldit);
258
259 _transferred_dofs = aldit.getDofIndices();
260 }
261
262 // Disable/enable output for sub cycling
263 problem.allowOutput(_output_sub_cycles); // disables all outputs, including console
264 problem.allowOutput<Console>(_print_sub_cycles); // re-enables Console to print, if desired
265
266 ex->setTargetTime(target_time - app_time_offset);
267
268 // unsigned int failures = 0;
269
270 bool at_steady = false;
271
272 // ADL: During restart, there is already an FEProblemBase::advanceState that occurs at the
273 // end of TransientMultiApp::setupApp. advanceState, along with copying the solutions
274 // backwards in time/state, also *moves* (note it doesn't copy!) stateful material
275 // properties backwards (through swapping). So if restarting from a full-solve steady
276 // multi-app for example, then after one advance state, we will have good information in old
277 // and no information in current. But then if we advance again we no longer have good data
278 // in the old material properties, so don't advance here if we're restarting
279 if (_first && !_app.isRecovering() && !_app.isRestarting())
280 problem.advanceState();
281
282 bool local_first = _first;
283
284 // Now do all of the solves we need
285 while ((!at_steady && ex->getTime() + app_time_offset + ex->timestepTol() < target_time) ||
286 !ex->lastSolveConverged())
287 {
288 if (local_first != true)
290
291 local_first = false;
292
293 ex->preStep();
294 ex->computeDT();
295
297 {
298 // See what time this executioner is going to go to.
299 Real future_time = ex->getTime() + app_time_offset + ex->getDT();
300
301 // How far along we are towards the target time:
302 Real step_percent = (future_time - time_old) / (target_time - time_old);
303
304 Real one_minus_step_percent = 1.0 - step_percent;
305
306 // Do the interpolation for each variable that was transferred to
308 AuxiliarySystem & aux_system = problem.getAuxiliarySystem();
309 System & libmesh_aux_system = aux_system.system();
310
311 NumericVector<Number> & solution = *libmesh_aux_system.solution;
312 NumericVector<Number> & transfer = libmesh_aux_system.get_vector("transfer");
313 NumericVector<Number> & transfer_old = libmesh_aux_system.get_vector("transfer_old");
314
315 solution.close(); // Just to be sure
316 transfer.close();
317 transfer_old.close();
318
319 for (const auto & dof : _transferred_dofs)
320 {
321 solution.set(dof,
322 (transfer_old(dof) * one_minus_step_percent) +
323 (transfer(dof) * step_percent));
324 // solution.set(dof, transfer_old(dof));
325 // solution.set(dof, transfer(dof));
326 // solution.set(dof, 1);
327 }
328
329 solution.close();
330 }
331
332 ex->takeStep();
333
334 bool converged = ex->lastSolveConverged();
335
336 if (!converged)
337 {
339 "While sub_cycling ", name(), _first_local_app + i, " failed to converge!\n");
340
341 _failures++;
342
344 {
345 std::stringstream oss;
346 oss << "While sub_cycling " << name() << _first_local_app << i << " REALLY failed!";
347 throw MultiAppSolveFailure(oss.str());
348 }
349 }
351 at_steady = ex->convergedToSteadyState();
352
353 if (converged && _detect_steady_state && at_steady)
354 {
356 _console << "Detected Steady State! Fast-forwarding to " << target_time << std::endl;
357
358 // Indicate that the next output call (occurs in ex->endStep()) should output,
359 // regardless of intervals etc...
360 problem.forceOutput();
361
362 // Clean up the end
363 ex->endStep(target_time - app_time_offset);
364 ex->postStep();
365 }
366 else
367 {
368 ex->endStep();
369 ex->postStep();
370 }
371 }
372
373 // If we were looking for a steady state, but didn't reach one, we still need to output one
374 // more time, regardless of interval
375 // Note: if we turn off the output for all time steps for sub-cycling, we still need to
376 // have one output at the end.
377 if ((!at_steady && _detect_steady_state) || !_output_sub_cycles)
378 problem.outputStep(EXEC_FORCED);
379
380 } // end of sub_cycling
381 else if (_tolerate_failure)
382 {
383 ex->takeStep(dt);
384 ex->endStep(target_time - app_time_offset);
385 ex->postStep();
386 }
387 // matched time steps (no subcycling)
388 else
389 {
390 // ADL: During restart, there is already an FEProblemBase::advanceState that occurs at the
391 // end of TransientMultiApp::setupApp. advanceState, along with copying the solutions
392 // backwards in time/state, also *moves* (note it doesn't copy!) stateful material
393 // properties backwards (through swapping). So if restarting from a full-solve steady
394 // multi-app for example, then after one advance state, we will have good information in old
395 // and no information in current. But then if we advance again we no longer have good data
396 // in the old material properties, so don't advance here if we're restarting
397 if (_first && !_app.isRecovering() && !_app.isRestarting())
398 problem.advanceState();
399
400 if (auto_advance)
401 problem.allowOutput(true);
402
403 ex->takeStep(dt);
404
405 if (auto_advance)
406 {
407 ex->endStep();
408 ex->postStep();
409
410 if (!ex->lastSolveConverged())
411 {
412 mooseWarning(name(), _first_local_app + i, " failed to converge!\n");
413
414 if (_catch_up)
415 {
417 _console << "Starting time step catch up!" << std::endl;
418
419 bool caught_up = false;
420
421 unsigned int catch_up_step = 0;
422
423 // Cut the timestep in half to first try two half-step solves
424 Real catch_up_dt = dt / 2;
425 Real catch_up_time = 0;
426
427 while (!caught_up && catch_up_step < _max_catch_up_steps)
428 {
430 _console << "Solving " << name() << " catch up step " << catch_up_step
431 << std::endl;
433
434 // Avoid numerical precision errors on target time
435 if (catch_up_time + catch_up_dt > dt)
436 catch_up_dt = dt - catch_up_time;
437
438 ex->computeDT();
439 ex->takeStep(catch_up_dt);
440 ex->endStep();
441
442 if (ex->lastSolveConverged())
443 {
444 catch_up_time += catch_up_dt;
445 if (std::abs(catch_up_time - dt) <
446 (1 + std::abs(ex->getTime())) * ex->timestepTol())
447 {
448 problem.outputStep(EXEC_FORCED);
449 caught_up = true;
450 }
451 }
452 else
453 // Keep cutting time step in half until it converges
454 catch_up_dt /= 2.0;
455
456 ex->postStep();
457
458 catch_up_step++;
459 }
460
461 if (!caught_up)
462 throw MultiAppSolveFailure(name() + " Failed to catch up!\n");
463 }
464 }
465 }
466 else // auto_advance == false
467 {
468 if (!ex->lastSolveConverged())
469 {
470 // Even if we don't allow auto_advance - we can still catch up to the current time if
471 // possible
472 if (_catch_up)
473 {
475 _console << "Starting Catch Up!" << std::endl;
476
477 bool caught_up = false;
478
479 unsigned int catch_up_step = 0;
480
481 Real catch_up_dt = dt / 2;
482
483 // Note: this loop will _break_ if target_time is satisfied
484 while (catch_up_step < _max_catch_up_steps)
485 {
487 _console << "Solving " << name() << " catch up step " << catch_up_step
488 << std::endl;
490
491 ex->computeDT();
492 ex->takeStep(catch_up_dt); // Cut the timestep in half to try two half-step solves
493
494 // This is required because we can't call endStep() yet
495 // (which normally increments time)
496 Real current_time = ex->getTime() + ex->getDT();
497
498 if (ex->lastSolveConverged())
499 {
500 if (current_time + app_time_offset +
501 (ex->timestepTol() * std::abs(current_time)) >=
502 target_time)
503 {
504 caught_up = true;
505 break; // break here so that we don't run endStep() or postStep() since this
506 // MultiApp should NOT be auto_advanced
507 }
508 }
509 else
510 catch_up_dt /= 2.0;
511
512 ex->endStep();
513 ex->postStep();
514
515 catch_up_step++;
516 }
517
518 if (!caught_up)
519 throw MultiAppSolveFailure(name() + " Failed to catch up!\n");
520 }
521 else
522 throw MultiAppSolveFailure(name() + " failed to converge");
523 }
524 }
525 }
526
527 // Re-enable all output (it may of been disabled by sub-cycling)
528 problem.allowOutput(true);
529 }
530
531 _first = false;
532
534 _console << "Successfully Solved MultiApp " << name() << "." << std::endl;
535 }
536 catch (MultiAppSolveFailure & e)
537 {
538 mooseWarning(e.what());
539 _console << "Failed to Solve MultiApp " << name() << ", attempting to recover." << std::endl;
540 return_value = false;
541 }
542
543 _transferred_vars.clear();
544
545 return return_value;
546}
const ExecFlagType EXEC_FORCED
Definition Moose.C:50
Grab all the (possibly semi)local dof indices for the variables passed in, in the system passed in.
An output object for writing to the console (screen)
Definition Console.h:19
void forceOutput()
Indicates that the next call to outputStep should be forced.
virtual void outputStep(ExecFlagType type)
Output the current step.
Real getGlobalTimeOffset() const
Each App has it's own local time.
Definition MooseApp.h:318
const libMesh::ConstElemRange * getActiveLocalElementRange()
Return pointers to range objects for various types of ranges (local nodes, boundary elems,...
Definition MooseMesh.C:1247
Utility class for catching solve failure errors so that MOOSE can recover state before continuing.
const PerfID _solve_step_timer
Timers.
Definition MultiApp.h:671
virtual void takeStep(Real input_dt=-1.0)
Do whatever is necessary to advance one step.
virtual Real getTime() const
Get the current time.
virtual bool lastSolveConverged() const override
Whether or not the last solve converged.
bool convergedToSteadyState() const
Determines whether the problem has converged to steady state.
Real & timestepTol()
Get the timestep tolerance.
virtual void preStep()
Real & endTime()
Get a modifiable reference to the end time.
virtual void setTargetTime(Real target_time)
Can be used to set the next "target time" which is a time to nail perfectly.
bool _print_sub_cycles
Flag for toggling console output on sub cycles.
std::set< dof_id_type > _transferred_dofs
The DoFs associated with all of the currently transferred variables.
unsigned int _max_failures
bool & _first
Is it our first time through the execution loop?
std::unique_ptr< NumericVector< Number > > solution
void parallel_reduce(const Range &range, Body &body, unsigned int n_threads=libMesh::n_threads())
StoredRange< MeshBase::const_element_iterator, const Elem * > ConstElemRange

◆ subdomainSetup()

void SetupInterface::subdomainSetup ( )
virtualinherited

Gets called when the subdomain changes (i.e.

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

Reimplemented in Material, MaterialBase, GeneralUserObject, NodalUserObject, ThreadedGeneralUserObject, Constraint, Moose::Kokkos::AuxKernel, Moose::Kokkos::MaterialBase, and Moose::Kokkos::UserObject.

Definition at line 68 of file SetupInterface.C.

69{
70}

◆ 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 55 of file PerfGraphInterface.C.

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

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

◆ timestepSetup()

void SetupInterface::timestepSetup ( )
virtualinherited

◆ transformBoundingBox()

void MultiApp::transformBoundingBox ( libMesh::BoundingBox &  box,
const MultiAppCoordTransform &  transform 
)
staticinherited

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

Definition at line 934 of file MultiApp.C.

935{
936 const Real min_x = box.first(0);
937 const Real max_x = box.second(0);
938 const Real min_y = box.first(1);
939 const Real max_y = box.second(1);
940 const Real min_z = box.first(2);
941 const Real max_z = box.second(2);
942
943 std::array<Point, 8> box_corners = {{Point(min_x, min_y, min_z),
944 Point(max_x, min_y, min_z),
945 Point(min_x, max_y, min_z),
946 Point(max_x, max_y, min_z),
947 Point(min_x, min_y, max_z),
948 Point(max_x, min_y, max_z),
949 Point(min_x, max_y, max_z),
950 Point(max_x, max_y, max_z)}};
951
952 // transform each corner
953 for (auto & corner : box_corners)
954 corner = transform(corner);
955
956 // Create new bounding box
957 Point new_box_min = box_corners[0];
958 Point new_box_max = new_box_min;
959 for (const auto p : make_range(1, 8))
960 for (const auto d : make_range(Moose::dim))
961 {
962 const Point & pt = box_corners[p];
963 if (new_box_min(d) > pt(d))
964 new_box_min(d) = pt(d);
965
966 if (new_box_max(d) < pt(d))
967 new_box_max(d) = pt(d);
968 }
969 box.first = new_box_min;
970 box.second = new_box_max;
971}
for(PetscInt i=0;i< nvars;++i)
unsigned int dim
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...

Referenced by MultiApp::getBoundingBox(), and MultiAppTransfer::transformBoundingBox().

◆ 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 93 of file MooseBase.h.

94 {
95 mooseAssert(_type.size(), "Empty type");
96 return _type;
97 }
const std::string & _type
The type of this class.
Definition MooseBase.h:378

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

◆ 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 57 of file MooseBase.C.

58{
59 return type() + std::string(" \"") + name() + std::string("\"");
60}

Referenced by MaterialPropertyStorage::addProperty(), FEProblemBase::checkUserObjectNameCollision(), MeshGeneratorSystem::dataDrivenError(), ReporterContext< T >::finalize(), ReporterData::getReporterInfo(), MFEMSamplerBase::initialSetup(), MFEMVariableSamplerBase::initialSetup(), WebServerControl::outputMessage(), and Action::timedAct().

◆ uniqueName()

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

Definition at line 69 of file MooseBase.C.

70{
71 if (!_pars.have_parameter<std::string>(unique_name_param))
72 mooseError("uniqueName(): Object does not have a unique name");
73 return MooseObjectName(_pars.get<std::string>(unique_name_param));
74}
bool have_parameter(std::string_view name) const
A wrapper around the Parameters base class method.
static const std::string unique_name_param
The name of the parameter that contains the unique object name.
Definition MooseBase.h:57
A class for storing the names of MooseObject by tag and object name.

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

◆ 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 63 of file MooseBase.C.

64{
65 return MooseObjectParameterName(getBase(), name(), parameter_name);
66}
const std::string & getBase() const
Definition MooseBase.h:147

◆ usingPositions()

bool MultiApp::usingPositions ( ) const
inlineinherited

Whether or not this MultiApp is using positions to track the number and location of the child applications.

Definition at line 396 of file MultiApp.h.

396{ return _use_positions; }

Referenced by MultiApp::createApp(), and MultiApp::preTransfer().

◆ validParams()

InputParameters QuadraturePointMultiApp::validParams ( )
static

Definition at line 25 of file QuadraturePointMultiApp.C.

26{
30 "Automatically generates sub-App positions from the elemental quadrature points, with the "
31 "default quadrature, in the parent mesh.");
32 params.suppressParameter<std::vector<Point>>("positions");
33 params.suppressParameter<std::vector<FileName>>("positions_file");
34 params.suppressParameter<std::vector<PositionsName>>("positions_objects");
35 return params;
36}
static InputParameters validParams()
void suppressParameter(const std::string &name)
This method suppresses an inherited parameter so that it isn't required or valid in the derived class...
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.
static InputParameters validParams()

Member Data Documentation

◆ _action_factory

ActionFactory& ParallelParamObject::_action_factory
protectedinherited

◆ _app

MooseApp& MooseBase::_app
protectedinherited

The MOOSE application this is associated with.

Definition at line 375 of file MooseBase.h.

Referenced by AB2PredictorCorrector::AB2PredictorCorrector(), FEProblemBase::acceptInvalidSolution(), FEProblemBase::addAnyRedistributers(), MeshGenerator::addChildMeshGenerator(), FEProblemBase::addMaterialHelper(), MeshGenerator::addMeshSubgenerator(), MeshGenerator::addMeshSubgenerator(), FEProblemBase::addOutput(), MeshGenerator::addParentMeshGenerator(), FEProblemBase::allowOutput(), AStableDirk4::AStableDirk4(), FileMesh::buildMesh(), MooseMesh::buildTypedMesh(), MooseMesh::cacheFaceInfoVariableOwnership(), MooseMesh::cacheFVElementalDoFs(), DefaultNonlinearConvergence::checkConvergence(), MeshGenerator::checkGetMesh(), FEProblemBase::checkICRestartError(), FEProblemBase::checkProblemIntegrity(), LibmeshPartitioner::clone(), BlockWeightedPartitioner::clone(), CopyMeshPartitioner::clone(), GridPartitioner::clone(), HierarchicalGridPartitioner::clone(), PetscExternalPartitioner::clone(), RandomPartitioner::clone(), SingleRankPartitioner::clone(), ElementPointNeighborLayers::clone(), ElementSideNeighborLayers::clone(), GhostAllPointNeighbors::clone(), GhostBoundary::clone(), GhostEverything::clone(), GhostHigherDLowerDPointNeighbors::clone(), GhostLowerDElems::clone(), GhostPrimaryFace::clone(), ProxyRelationshipManager::clone(), RedistributeProperties::clone(), SampledOutput::cloneMesh(), FEProblemBase::computeJacobianSys(), FEProblemBase::computeJacobianTags(), FEProblemBase::computeLinearSystemTags(), FEProblemBase::computeResidualAndJacobian(), FEProblemBase::computeResidualSys(), FEProblemBase::computeResidualTags(), Console::Console(), TimeStepper::constrainStep(), Control::Control(), CopyMeshPartitioner::CopyMeshPartitioner(), MultiApp::createApp(), MultiApp::createApps(), MoveBoundaryNodesToCurveGenerator::curveGenerator(), FEProblemBase::customSetup(), MeshGenerator::declareMeshProperty(), MeshGenerator::declareNullMeshName(), MooseMesh::determineUseDistributedMesh(), DumpObjectsProblem::dumpObjectHelper(), DumpObjectsProblem::DumpObjectsProblem(), DumpObjectsProblem::dumpVariableHelper(), EigenExecutionerBase::EigenExecutionerBase(), EigenKernel::EigenKernel(), PIDTransientControl::execute(), Eigenvalue::execute(), InversePowerMethod::execute(), NonlinearEigen::execute(), SteadyBase::execute(), TransientBase::execute(), MFEMSteady::execute(), PseudoTimestep::execute(), IterationInfo::execute(), EigenProblem::execute(), Executioner::Executioner(), Executioner::Executioner(), ExtraIDIntegralReporter::ExtraIDIntegralReporter(), FEProblemBase::FEProblemBase(), FileOutput::FileOutput(), NEML2Assembly::finalize(), ChangeOverFixedPointPostprocessor::finalize(), RadialAverage::finalize(), FixedPointSolve::FixedPointSolve(), FEProblemBase::forceOutput(), FullSolveMultiApp::FullSolveMultiApp(), FunctorSmootherTempl< T >::FunctorSmootherTempl(), FVAdvection::FVAdvection(), FileMeshGenerator::generate(), MeshGenerator::generateInternal(), MeshGenerator::generateInternalCSG(), MeshGenerator::getCSGBaseByName(), FEProblemBase::getExecutor(), MeshGenerator::getMeshByName(), NumFixedPointIterations::getValue(), NumRelationshipManagers::getValue(), GhostingUserObject::GhostingUserObject(), MooseMesh::init(), Eigenvalue::init(), InversePowerMethod::init(), NonlinearEigen::init(), TransientBase::init(), MFEMMesh::init(), FEProblemBase::init(), CompositionDT::init(), SubProblem::initialSetup(), PIDTransientControl::initialSetup(), RealFunctionControl::initialSetup(), TimePeriod::initialSetup(), EigenProblemSolve::initialSetup(), FEProblemSolve::initialSetup(), Console::initialSetup(), FEProblemBase::initialSetup(), BoundaryMeshBuilder::initialSetup(), AdvancedOutput::initOutputList(), FEProblemBase::initPetscOutputAndSomeSolverSettings(), EigenProblem::initPetscOutputAndSomeSolverSettings(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), FEProblemBase::meshChanged(), MeshGenerator::MeshGenerator(), MFEMProblemSolve::MFEMProblemSolve(), MooseMesh::MooseMesh(), MooseMesh::MooseMesh(), MooseObject::MooseObject(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), EigenExecutionerBase::normalizeSolution(), NumFailedTimeSteps::NumFailedTimeSteps(), Checkpoint::output(), Exodus::output(), Nemesis::output(), PerfGraphOutput::output(), Tecplot::output(), MortarNodalGeometryOutput::output(), ControlOutput::outputActiveObjects(), ControlOutput::outputChangedControls(), ControlOutput::outputControls(), Exodus::outputEmptyTimestep(), Console::outputInput(), Exodus::outputInput(), Exodus::outputNodalVariables(), JSONOutput::outputReporters(), Output::outputStep(), SampledOutput::outputStep(), FEProblemBase::outputStep(), Console::outputSystemInformation(), JSONOutput::outputSystemInformation(), OverlayMeshGenerator::OverlayMeshGenerator(), MultiApp::parentOutputPositionChanged(), TransientBase::preExecute(), FEProblemBase::projectSolution(), AnnularMesh::safeClone(), ConcentricCircleMesh::safeClone(), FileMesh::safeClone(), GeneratedMesh::safeClone(), ImageMesh::safeClone(), MeshGeneratorMesh::safeClone(), PatternedMesh::safeClone(), RinglebMesh::safeClone(), SpiralAnnularMesh::safeClone(), StitchedMesh::safeClone(), TiledMesh::safeClone(), MFEMFileMesh::safeClone(), MFEMMeshGeneratorMesh::safeClone(), MultiApp::setAppOutputFileBase(), FileOutput::setFileBaseInternal(), MeshGenerator::setMeshProperty(), MeshGenerator::setMeshPropertyHelper(), FEProblemBase::setRestartFile(), TransientMultiApp::setupApp(), TimeSequenceStepperBase::setupSequence(), TransientBase::setupTimeIntegrator(), Output::setWallTimeIntervalFromCommandLineParam(), SideSetExtruderGenerator::SideSetExtruderGenerator(), SolutionInvalidityReporter::SolutionInvalidityReporter(), FixedPointSolve::solve(), ActuallyExplicitEuler::solve(), FEProblemBase::solve(), EigenProblem::solve(), FEProblemBase::solveLinearSystem(), PetscOutput::solveSetup(), FixedPointSolve::solveStep(), TransientMultiApp::solveStep(), FEProblemBase::subdomainSetup(), FEProblemBase::theWarehouse(), TimeExtremeValue::TimeExtremeValue(), TimeIntegratedPostprocessor::TimeIntegratedPostprocessor(), TimeIntervalTimes::TimeIntervalTimes(), TimePeriod::TimePeriod(), SubProblem::timestepSetup(), PIDTransientControl::timestepSetup(), FEProblemBase::timestepSetup(), TransientBase::TransientBase(), MooseMesh::update(), NEML2FEInterpolation::updateDofMap(), NEML2FEInterpolation::updateGradPhi(), NEML2FEInterpolation::updateInterpolations(), FEProblemBase::updateMortarMesh(), NEML2FEInterpolation::updatePhi(), Console::write(), XYQuadrilateralMeshFromBoundaryCurve::XYQuadrilateralMeshFromBoundaryCurve(), and FEProblemBase::~FEProblemBase().

◆ _app_type

std::string MultiApp::_app_type
protectedinherited

The type of application to build.

Definition at line 526 of file MultiApp.h.

Referenced by MultiApp::createApp(), and MultiApp::createApps().

◆ _apps

std::vector<std::shared_ptr<MooseApp> > MultiApp::_apps
protectedinherited

◆ _associated_transfers

std::vector<MultiAppTransfer *> MultiApp::_associated_transfers
protectedinherited

Transfers associated with this multiapp.

Definition at line 662 of file MultiApp.h.

Referenced by MultiApp::addAssociatedTransfer(), and MultiApp::preTransfer().

◆ _auto_advance

bool TransientMultiApp::_auto_advance
privateinherited

Definition at line 83 of file TransientMultiApp.h.

Referenced by TransientMultiApp::solveStep().

◆ _backup_timer

const PerfID MultiApp::_backup_timer
protectedinherited

Definition at line 673 of file MultiApp.h.

Referenced by MultiApp::backup().

◆ _blk_dim

unsigned int BlockRestrictable::_blk_dim
privateinherited

Largest mesh dimension of the elements in the blocks for this object.

Definition at line 336 of file BlockRestrictable.h.

Referenced by BlockRestrictable::blocksMaxDimension(), and BlockRestrictable::initializeBlockRestrictable().

◆ _blk_dual_restrictable

const bool BlockRestrictable::_blk_dual_restrictable
privateinherited

Flag for allowing dual restriction.

Definition at line 315 of file BlockRestrictable.h.

Referenced by BlockRestrictable::initializeBlockRestrictable().

◆ _blk_feproblem

FEProblemBase* BlockRestrictable::_blk_feproblem
privateinherited

◆ _blk_ids

std::set<SubdomainID> BlockRestrictable::_blk_ids
privateinherited

◆ _blk_material_data

const MaterialData* BlockRestrictable::_blk_material_data
protectedinherited

Pointer to the MaterialData class for this object.

Definition at line 232 of file BlockRestrictable.h.

Referenced by BlockRestrictable::hasBlockMaterialProperty(), and BlockRestrictable::initializeBlockRestrictable().

◆ _blk_mesh

const MooseMesh* BlockRestrictable::_blk_mesh
privateinherited

◆ _blk_name

const std::string& BlockRestrictable::_blk_name
privateinherited

Name of the object.

Definition at line 333 of file BlockRestrictable.h.

Referenced by BlockRestrictable::checkVariable(), and BlockRestrictable::initializeBlockRestrictable().

◆ _blk_tid

THREAD_ID BlockRestrictable::_blk_tid
privateinherited

Thread id for this object.

Definition at line 330 of file BlockRestrictable.h.

Referenced by BlockRestrictable::initializeBlockRestrictable().

◆ _blocks

std::vector<SubdomainName> BlockRestrictable::_blocks
privateinherited

Vector the block names supplied by the user via the input file.

Definition at line 312 of file BlockRestrictable.h.

Referenced by BlockRestrictable::blocks(), and BlockRestrictable::initializeBlockRestrictable().

◆ _boundary_ids

const std::set<BoundaryID>& BlockRestrictable::_boundary_ids
privateinherited

Reference to the boundary_ids, defaults to an empty set if not provided.

Definition at line 327 of file BlockRestrictable.h.

Referenced by BlockRestrictable::initializeBlockRestrictable().

◆ _bounding_box

std::vector<libMesh::BoundingBox> MultiApp::_bounding_box
protectedinherited

This multi-app's bounding box.

Definition at line 592 of file MultiApp.h.

Referenced by MultiApp::getBoundingBox(), and MultiApp::init().

◆ _bounding_box_padding

Point MultiApp::_bounding_box_padding
protectedinherited

Additional padding added to the bounding box, useful for 1D meshes.

Definition at line 598 of file MultiApp.h.

Referenced by MultiApp::getBoundingBox().

◆ _catch_up

bool TransientMultiApp::_catch_up
privateinherited

◆ _cli_args

const std::vector<CLIArgString>& MultiApp::_cli_args
protectedinherited

CommandLine arguments (controllable!)

Definition at line 637 of file MultiApp.h.

Referenced by MultiApp::cliArgs(), and MultiApp::init().

◆ _cli_args_from_file

std::vector<std::string> MultiApp::_cli_args_from_file
protectedinherited

CommandLine arguments from files.

Definition at line 640 of file MultiApp.h.

Referenced by MultiApp::createApp(), MultiApp::getCommandLineArgs(), and MultiApp::readCommandLineArguments().

◆ _cli_args_param

std::optional<std::string> MultiApp::_cli_args_param
mutableprivateinherited

The parameter that was used to set the command line args, if any.

Definition at line 679 of file MultiApp.h.

Referenced by MultiApp::cliArgs(), and MultiApp::getCommandLineArgs().

◆ _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(), MaterialOutputAction::act(), MeshOnlyAction::act(), SetupDebugAction::act(), FEProblemBase::adaptMesh(), Adaptivity::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::checkNonConformingFaces(), MeshDiagnosticsGenerator::checkNonMatchingEdges(), MeshDiagnosticsGenerator::checkNonPlanarSides(), MeshDiagnosticsGenerator::checkPolygons(), FEProblemBase::checkProblemIntegrity(), ReferenceResidualConvergence::checkResidualConvergence(), MeshDiagnosticsGenerator::checkSidesetsOrientation(), MeshDiagnosticsGenerator::checkWatertightNodesets(), MeshDiagnosticsGenerator::checkWatertightSidesets(), CoarsenSurfaceMeshAlongSidesetGenerator::coarsenAlongSidesets(), IterationAdaptiveDT::computeAdaptiveDT(), TransientBase::computeConstrainedDT(), DefaultMultiAppFixedPointConvergence::computeCustomConvergencePostprocessor(), NonlinearSystemBase::computeDamping(), FixedPointIterationAdaptiveDT::computeDT(), IterationAdaptiveDT::computeDT(), IterationAdaptiveDT::computeFailedDT(), IterationAdaptiveDT::computeInitialDT(), IterationAdaptiveDT::computeInterpolationDT(), FEProblemBase::computeLinearSystemTags(), LinearSystem::computeLinearSystemTags(), NonlinearSystemBase::computeScaling(), Problem::console(), TimeStepper::constrainStep(), IterationAdaptiveDT::constrainStep(), MultiApp::createApp(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), Eigenvalue::execute(), SteadyBase::execute(), MFEMSteady::execute(), MessageFromInput::execute(), ActionWarehouse::executeActionsWithAction(), ActionWarehouse::executeAllActions(), MeshGeneratorSystem::executeMeshGenerators(), SidesetAroundSubdomainUpdater::finalize(), ElementQualityChecker::finalize(), FEProblemBase::finishMultiAppStep(), MeshRepairGenerator::fixOverlappingNodes(), SurfaceSubdomainsDelaunayRemesher::General2DDelaunay(), CoarsenBlockGenerator::generate(), CoarsenSurfaceMeshAlongSidesetGenerator::generate(), OrientSurfaceMeshGenerator::generate(), PolyLineMeshFollowingNodeSetGenerator::generate(), MeshGenerator::generateInternal(), VariableCondensationPreconditioner::getDofToCondense(), InversePowerMethod::init(), NonlinearEigen::init(), FEProblemBase::initialAdaptMesh(), DefaultMultiAppFixedPointConvergence::initialize(), SubProblem::initialSetup(), EigenExecutionerBase::inversePowerIteration(), FEProblemBase::joinAndFinalize(), TransientBase::keepGoing(), IterationAdaptiveDT::limitDTByFunction(), IterationAdaptiveDT::limitDTToPostprocessorValue(), FEProblemBase::logAdd(), EigenExecutionerBase::makeBXConsistent(), Console::meshChanged(), SurfaceDelaunayGeneratorBase::meshNormalDeviation2D(), MooseBase::mooseDeprecated(), MooseBase::mooseDeprecatedNoTrace(), MooseBase::mooseInfo(), MooseBase::mooseWarning(), MooseBase::mooseWarningNonPrefixed(), ReferenceResidualConvergence::nonlinearConvergenceSetup(), Console::output(), DOFMapOutput::output(), MaterialPropertyDebugOutput::output(), PerfGraphOutput::output(), ReporterDebugOutput::output(), SolutionInvalidityOutput::output(), VariableResidualNormsDebugOutput::output(), ControlOutput::outputActiveObjects(), ControlOutput::outputChangedControls(), ControlOutput::outputControls(), Console::outputInput(), WebServerControl::outputMessage(), Console::outputPostprocessors(), PseudoTimestep::outputPseudoTimestep(), Console::outputReporters(), DefaultMultiAppFixedPointConvergence::outputResidualNorm(), Console::outputScalarVariables(), Console::outputSystemInformation(), FEProblemBase::possiblyRebuildGeomSearchPatches(), EigenExecutionerBase::postExecute(), AB2PredictorCorrector::postSolve(), ActionWarehouse::printActionDependencySets(), BlockRestrictionDebugOutput::printBlockRestrictionGroups(), BlockRestrictionDebugOutput::printBlockRestrictionMap(), BlockRestrictionDebugOutput::printBoundaryRestrictionGroups(), SolutionInvalidity::printDebug(), EigenExecutionerBase::printEigenvalue(), PicardSolve::printFixedPointConvergenceHistory(), SecantSolve::printFixedPointConvergenceHistory(), SteffensenSolve::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(), FEProblemSolve::solve(), FixedPointSolve::solve(), LinearSystem::solve(), NonlinearSystem::solve(), AStableDirk4::solve(), ExplicitRK2::solve(), ExplicitTVDRK2::solve(), ImplicitMidpoint::solve(), LStableDirk2::solve(), LStableDirk3::solve(), LStableDirk4::solve(), EigenProblem::solve(), FixedPointSolve::solveStep(), TransientMultiApp::solveStep(), MeshRepairGenerator::splitNonConvexPolygons(), PerfGraphLivePrint::start(), WebServerControl::startServer(), AB2PredictorCorrector::step(), NonlinearEigen::takeStep(), TransientBase::takeStep(), MFEMTransient::takeStep(), TerminateChainControl::terminate(), SubProblem::timestepSetup(), FEProblemBase::updateMeshXFEM(), Convergence::verboseOutput(), Console::writeTimestepInformation(), Console::writeVariableNorms(), and FEProblemBase::~FEProblemBase().

◆ _create_child_apps_on_initial_setup

const bool MultiApp::_create_child_apps_on_initial_setup
protectedinherited

Whether we create child apps during the initialSetup() call or immediately after the multiapps construction (earlier)

Definition at line 541 of file MultiApp.h.

Referenced by MultiApp::initialSetup(), and MultiApp::possiblyCreateChildApplications().

◆ _current_execute_flag

const ExecFlagType& SetupInterface::_current_execute_flag
protectedinherited

Reference to FEProblemBase.

Definition at line 86 of file SetupInterface.h.

Referenced by TimedSubdomainModifier::computeSubdomainID(), and PseudoTimestep::execute().

◆ _detect_steady_state

bool TransientMultiApp::_detect_steady_state
privateinherited

Definition at line 61 of file TransientMultiApp.h.

Referenced by TransientMultiApp::solveStep().

◆ _empty_boundary_ids

const std::set<BoundaryID> BlockRestrictable::_empty_boundary_ids
privateinherited

An empty set for referencing when boundary_ids is not included.

Definition at line 324 of file BlockRestrictable.h.

◆ _empty_execute_enum

ExecFlagEnum SetupInterface::_empty_execute_enum
privateinherited

Empty ExecFlagEnum for the case when the "execute_on" parameter is not included.

This is private because others should not be messing with it.

Definition at line 79 of file SetupInterface.h.

Referenced by SetupInterface::SetupInterface().

◆ _enabled

const bool& MooseObject::_enabled
protectedinherited

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

Definition at line 71 of file MooseObject.h.

Referenced by MooseObject::enabled().

◆ _end_aux_solutions

std::vector<std::unique_ptr<NumericVector<Real> > > MultiApp::_end_aux_solutions
protectedinherited

The auxiliary solution from the end of the previous solve, this is cloned from the auxiliary solution during restore.

Definition at line 656 of file MultiApp.h.

Referenced by MultiApp::restore().

◆ _end_solutions

std::vector<std::vector<std::unique_ptr<libMesh::NumericVector<Real> > > > MultiApp::_end_solutions
protectedinherited

The solution from the end of the previous solve, this is cloned from the Nonlinear solution during restore Outer indexing by child application, inner indexing by solver system.

Definition at line 653 of file MultiApp.h.

Referenced by MultiApp::restore().

◆ _execute_enum

const ExecFlagEnum& SetupInterface::_execute_enum
protectedinherited

◆ _factory

Factory& ParallelParamObject::_factory
protectedinherited

◆ _failures

unsigned int TransientMultiApp::_failures
privateinherited

Definition at line 67 of file TransientMultiApp.h.

Referenced by TransientMultiApp::solveStep().

◆ _fe_problem

FEProblemBase& MultiApp::_fe_problem
protectedinherited

◆ _first

bool& TransientMultiApp::_first
privateinherited

Is it our first time through the execution loop?

Definition at line 73 of file TransientMultiApp.h.

Referenced by TransientMultiApp::solveStep().

◆ _first_local_app

unsigned int MultiApp::_first_local_app
protectedinherited

◆ _global_time_offset

const Real MultiApp::_global_time_offset
protectedinherited

The offset time so the MultiApp local time relative to the global time.

Definition at line 610 of file MultiApp.h.

Referenced by MultiApp::createLocalApp().

◆ _has_an_app

bool MultiApp::_has_an_app
protectedinherited

◆ _has_bounding_box

std::vector<bool> MultiApp::_has_bounding_box
protectedinherited

Flag if this multi-app computed its bounding box (valid only for non-displaced meshes)

Definition at line 589 of file MultiApp.h.

Referenced by MultiApp::getBoundingBox(), and MultiApp::init().

◆ _inflation

Real MultiApp::_inflation
protectedinherited

Relative bounding box inflation.

Definition at line 595 of file MultiApp.h.

Referenced by MultiApp::getBoundingBox().

◆ _init_timer

const PerfID MultiApp::_init_timer
protectedinherited

Definition at line 672 of file MultiApp.h.

Referenced by MultiApp::init().

◆ _input_files

std::vector<FileName> MultiApp::_input_files
protectedinherited

The input file for each app's simulation.

Definition at line 544 of file MultiApp.h.

Referenced by MultiApp::createApp(), and MultiApp::fillPositions().

◆ _interpolate_transfers

bool TransientMultiApp::_interpolate_transfers
privateinherited

◆ _keep_aux_solution_during_restore

bool MultiApp::_keep_aux_solution_during_restore
protectedinherited

Flag indicates if or not restart the auxiliary system from the latest auxiliary solution.

Definition at line 646 of file MultiApp.h.

Referenced by MultiApp::restore().

◆ _keep_solution_during_restore

bool MultiApp::_keep_solution_during_restore
protectedinherited

◆ _kokkos_element_ids

Moose::Kokkos::Array<ContiguousElementID> BlockRestrictable::_kokkos_element_ids
privateinherited

List of contiguous element IDs this Kokkos object is operating on.

Definition at line 345 of file BlockRestrictable.h.

Referenced by BlockRestrictable::kokkosBlockElementID(), and BlockRestrictable::numKokkosBlockElements().

◆ _kokkos_element_side_ids

Moose::Kokkos::Array<Moose::Kokkos::Pair<ContiguousElementID, unsigned int> > BlockRestrictable::_kokkos_element_side_ids
privateinherited

List of contiguous local element ID - side index pairs this Kokkos object is operating on.

Definition at line 354 of file BlockRestrictable.h.

Referenced by BlockRestrictable::kokkosBlockElementSideID(), and BlockRestrictable::numKokkosBlockSides().

◆ _kokkos_node_ids

Moose::Kokkos::Array<ContiguousNodeID> BlockRestrictable::_kokkos_node_ids
privateinherited

List of contiguous node IDs this Kokkos object is operating on.

Definition at line 349 of file BlockRestrictable.h.

Referenced by BlockRestrictable::kokkosBlockNodeID(), and BlockRestrictable::numKokkosBlockNodes().

◆ _max_catch_up_steps

Real TransientMultiApp::_max_catch_up_steps
privateinherited

Definition at line 70 of file TransientMultiApp.h.

Referenced by TransientMultiApp::solveStep().

◆ _max_failures

unsigned int TransientMultiApp::_max_failures
privateinherited

Definition at line 64 of file TransientMultiApp.h.

Referenced by TransientMultiApp::solveStep().

◆ _max_procs_per_app

processor_id_type MultiApp::_max_procs_per_app
protectedinherited

Maximum number of processors to give to each app.

Definition at line 601 of file MultiApp.h.

Referenced by MultiApp::init().

◆ _metaname

const RestartableDataMapName Restartable::_metaname
privateinherited

Restartable metadata name.

Definition at line 247 of file Restartable.h.

Referenced by Restartable::registerRestartableDataOnApp().

◆ _min_procs_per_app

processor_id_type MultiApp::_min_procs_per_app
protectedinherited

Minimum number of processors to give to each app.

Definition at line 604 of file MultiApp.h.

Referenced by MultiApp::init().

◆ _moose_object

const MooseObject* BlockRestrictable::_moose_object
privateinherited

◆ _move_apps

std::vector<unsigned int> MultiApp::_move_apps
protectedinherited

The apps to be moved.

Definition at line 625 of file MultiApp.h.

Referenced by MultiApp::fillPositions(), and MultiApp::preTransfer().

◆ _move_happened

bool MultiApp::_move_happened
protectedinherited

Whether or not the move has happened.

Definition at line 631 of file MultiApp.h.

Referenced by MultiApp::preTransfer().

◆ _move_positions

std::vector<Point> MultiApp::_move_positions
protectedinherited

The new positions for the apps to be moved.

Definition at line 628 of file MultiApp.h.

Referenced by MultiApp::fillPositions(), and MultiApp::preTransfer().

◆ _move_time

Real MultiApp::_move_time
protectedinherited

The time at which to move apps.

Definition at line 622 of file MultiApp.h.

Referenced by MultiApp::preTransfer().

◆ _my_comm

MPI_Comm& MultiApp::_my_comm
protectedinherited

◆ _my_communicator

libMesh::Parallel::Communicator MultiApp::_my_communicator
protectedinherited

The communicator object that holds the MPI_Comm that we're going to use.

Definition at line 568 of file MultiApp.h.

Referenced by MultiApp::buildComm().

◆ _my_num_apps

unsigned int MultiApp::_my_num_apps
protectedinherited

◆ _my_rank

int MultiApp::_my_rank
protectedinherited

The mpi "rank" of this processor in the sub communicator.

Definition at line 583 of file MultiApp.h.

Referenced by MultiApp::buildComm(), and MultiApp::isRootProcessor().

◆ _name

const std::string& MooseBase::_name
protectedinherited

The name of this class.

Definition at line 381 of file MooseBase.h.

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

◆ _no_restore

const bool MultiApp::_no_restore
protectedinherited

Whether or not to skip restoring completely.

Definition at line 649 of file MultiApp.h.

Referenced by FullSolveMultiApp::FullSolveMultiApp(), MultiApp::needsRestoration(), and FullSolveMultiApp::restore().

◆ _node_name

std::string MultiApp::_node_name
protectedinherited

Node Name.

Definition at line 580 of file MultiApp.h.

Referenced by MultiApp::buildComm().

◆ _npositions_inputfile

std::vector<unsigned int> MultiApp::_npositions_inputfile
protectedinherited

Number of positions for each input file.

Definition at line 550 of file MultiApp.h.

Referenced by MultiApp::fillPositions(), and MultiApp::readCommandLineArguments().

◆ _orig_comm

const MPI_Comm& MultiApp::_orig_comm
protectedinherited

The original comm handle.

Definition at line 565 of file MultiApp.h.

Referenced by MultiApp::createApps().

◆ _orig_num_procs

int MultiApp::_orig_num_procs
protectedinherited

The number of processors in the original comm.

Definition at line 574 of file MultiApp.h.

Referenced by MultiApp::buildComm().

◆ _orig_rank

int MultiApp::_orig_rank
protectedinherited

◆ _output_base

std::string MultiApp::_output_base
protectedinherited

The output file basename for each multiapp.

Definition at line 553 of file MultiApp.h.

◆ _output_file_numbers

std::vector<std::map<std::string, unsigned int> > TransientMultiApp::_output_file_numbers
privateinherited

Definition at line 81 of file TransientMultiApp.h.

◆ _output_in_position

bool MultiApp::_output_in_position
protectedinherited

Whether or not to move the output of the MultiApp into position.

Definition at line 607 of file MultiApp.h.

Referenced by MultiApp::createApp(), MultiApp::moveApp(), and MultiApp::parentOutputPositionChanged().

◆ _output_sub_cycles

bool TransientMultiApp::_output_sub_cycles
privateinherited

Definition at line 62 of file TransientMultiApp.h.

Referenced by TransientMultiApp::solveStep().

◆ _parent

const ParallelParamObject& DataFileInterface::_parent
privateinherited

◆ _pars

const InputParameters& MooseBase::_pars
protectedinherited

The object's parameters.

Definition at line 384 of file MooseBase.h.

Referenced by AddAuxKernelAction::act(), AddFVICAction::act(), AddICAction::act(), CommonOutputAction::act(), ComposeTimeStepperAction::act(), CreateProblemAction::act(), CreateProblemDefaultAction::act(), SetupDebugAction::act(), SetupMeshAction::act(), AddMFEMComplexBCComponentAction::act(), AddMFEMComplexKernelComponentAction::act(), FunctorMaterial::addFunctorPropertyByBlocks(), BreakMeshByBlockGenerator::BreakMeshByBlockGenerator(), PNGOutput::calculateRescalingValues(), MooseBase::callMooseError(), MooseBase::connectControllableParams(), Console::Console(), MooseApp::copyInputs(), MaterialBase::declareADProperty(), Moose::Kokkos::MaterialBase::declareKokkosOnDemandProperty(), Moose::Kokkos::MaterialBase::declareKokkosProperty(), MaterialBase::declareProperty(), FEProblemSolve::FEProblemSolve(), FileMeshGenerator::generate(), MooseBase::getBase(), MooseBase::getCheckedPointerParam(), MaterialBase::getGenericZeroMaterialProperty(), MooseBase::getHitNode(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), MooseBase::getParam(), MooseBase::getParam(), MooseBase::hasBase(), MeshGenerator::hasGenerateCSG(), MeshGenerator::hasGenerateData(), AddVariableAction::init(), AdvancedOutput::initExecutionTypes(), EigenProblemSolve::initialSetup(), Console::initialSetup(), MooseBase::isParamSetByUser(), MooseBase::isParamValid(), MultiApp::keepSolutionDuringRestore(), MooseBase::messagePrefix(), MooseBase::MooseBase(), MultiSystemSolveObject::MultiSystemSolveObject(), MooseApp::outputMachineReadableData(), MooseBase::paramError(), MooseBase::parameters(), MooseBase::paramInfo(), MooseBase::paramWarning(), MooseMesh::prepare(), MooseBase::queryParam(), 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 135 of file PerfGraphInterface.h.

Referenced by PerfGraphInterface::perfGraph().

◆ _positions

std::vector<Point> MultiApp::_positions
protectedinherited

◆ _positions_index_offsets

std::vector<unsigned int> MultiApp::_positions_index_offsets
protectedinherited

The offsets, in case multiple Positions objects are specified.

Definition at line 533 of file MultiApp.h.

Referenced by MultiApp::fillPositions(), and MultiApp::position().

◆ _positions_objs

std::vector<const Positions *> MultiApp::_positions_objs
protectedinherited

The positions of all of the apps, using the Positions system.

Definition at line 531 of file MultiApp.h.

Referenced by MultiApp::fillPositions(), and MultiApp::position().

◆ _prefix

const std::string PerfGraphInterface::_prefix
protectedinherited

A prefix to use for all sections.

Definition at line 138 of file PerfGraphInterface.h.

Referenced by PerfGraphInterface::timedSectionName().

◆ _print_sub_cycles

bool TransientMultiApp::_print_sub_cycles
privateinherited

Flag for toggling console output on sub cycles.

Definition at line 88 of file TransientMultiApp.h.

Referenced by TransientMultiApp::solveStep().

◆ _rank_config

LocalRankConfig MultiApp::_rank_config
protectedinherited

The app configuration resulting from calling init.

Definition at line 659 of file MultiApp.h.

Referenced by MultiApp::buildComm(), MultiApp::init(), and MultiApp::isFirstLocalRank().

◆ _reset

std::set<unsigned int> TransientMultiApp::_reset
privateinherited

Definition at line 85 of file TransientMultiApp.h.

◆ _reset_apps

std::vector<unsigned int> MultiApp::_reset_apps
protectedinherited

The apps to be reset.

Definition at line 616 of file MultiApp.h.

Referenced by MultiApp::MultiApp(), and MultiApp::preTransfer().

◆ _reset_happened

std::vector<bool> MultiApp::_reset_happened
protectedinherited

Whether or not apps have been reset at each time.

Definition at line 619 of file MultiApp.h.

Referenced by MultiApp::init(), MultiApp::preTransfer(), and TransientMultiApp::solveStep().

◆ _reset_timer

const PerfID MultiApp::_reset_timer
protectedinherited

Definition at line 675 of file MultiApp.h.

Referenced by MultiApp::resetApp().

◆ _reset_times

std::vector<Real> MultiApp::_reset_times
protectedinherited

The times at which to reset apps.

Definition at line 613 of file MultiApp.h.

Referenced by MultiApp::init(), MultiApp::MultiApp(), and MultiApp::preTransfer().

◆ _restartable_app

MooseApp& Restartable::_restartable_app
protectedinherited

Reference to the application.

Definition at line 234 of file Restartable.h.

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

◆ _restartable_name

std::string Restartable::_restartable_name
privateinherited

The name of the object.

Definition at line 250 of file Restartable.h.

Referenced by Restartable::declareRestartableDataWithObjectNameWithContext(), and Restartable::restartableName().

◆ _restartable_read_only

const bool Restartable::_restartable_read_only
protectedinherited

Flag for toggling read only status (see ReporterData)

Definition at line 243 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 237 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 240 of file Restartable.h.

Referenced by Restartable::declareRestartableDataHelper().

◆ _restore_timer

const PerfID MultiApp::_restore_timer
protectedinherited

Definition at line 674 of file MultiApp.h.

Referenced by MultiApp::restore().

◆ _run_in_position

const bool MultiApp::_run_in_position
protectedinherited

Whether to run the child apps with their meshes transformed with the coordinate transforms.

Definition at line 665 of file MultiApp.h.

Referenced by MultiApp::createApp(), MultiApp::moveApp(), MultiApp::preTransfer(), and MultiApp::runningInPosition().

◆ _si_moose_base

const MooseBase& SolutionInvalidInterface::_si_moose_base
privateinherited

◆ _si_problem

const FEProblemBase* SolutionInvalidInterface::_si_problem
privateinherited

A pointer to FEProblem base.

Definition at line 114 of file SolutionInvalidInterface.h.

Referenced by SolutionInvalidInterface::flagInvalidSolutionInternal().

◆ _solve_step_timer

const PerfID MultiApp::_solve_step_timer
protectedinherited

Timers.

Definition at line 671 of file MultiApp.h.

Referenced by FullSolveMultiApp::solveStep(), and TransientMultiApp::solveStep().

◆ _sub_app_backups

SubAppBackups& MultiApp::_sub_app_backups
protectedinherited

The cached subapp backups (passed from the parent app)

Definition at line 668 of file MultiApp.h.

Referenced by MultiApp::backup(), MultiApp::createApp(), MultiApp::init(), and MultiApp::restore().

◆ _sub_cycling

bool TransientMultiApp::_sub_cycling
privateinherited

◆ _tolerate_failure

bool TransientMultiApp::_tolerate_failure
privateinherited

◆ _total_num_apps

unsigned int MultiApp::_total_num_apps
protectedinherited

◆ _transferred_dofs

std::set<dof_id_type> TransientMultiApp::_transferred_dofs
privateinherited

The DoFs associated with all of the currently transferred variables.

Definition at line 79 of file TransientMultiApp.h.

Referenced by TransientMultiApp::solveStep().

◆ _transferred_vars

std::vector<std::string> TransientMultiApp::_transferred_vars
privateinherited

The variables that have been transferred to. Used when doing transfer interpolation. This will be cleared after each solve.

Definition at line 76 of file TransientMultiApp.h.

Referenced by TransientMultiApp::appTransferVector(), and TransientMultiApp::solveStep().

◆ _transient_executioners

std::vector<TransientBase *> TransientMultiApp::_transient_executioners
privateinherited

◆ _type

const std::string& MooseBase::_type
protectedinherited

◆ _use_positions

const bool MultiApp::_use_positions
protectedinherited

Toggle use of "positions".

Subapps are created at each different position. List of positions can be created using the Positions system

Definition at line 537 of file MultiApp.h.

Referenced by MultiApp::createApp(), MultiApp::moveApp(), MultiApp::MultiApp(), MultiApp::parentOutputPositionChanged(), MultiApp::possiblyCreateChildApplications(), MultiApp::preTransfer(), and MultiApp::usingPositions().

◆ _vec_ids

std::vector<SubdomainID> BlockRestrictable::_vec_ids
privateinherited

Vector of block ids supplied by the user via the input file (for error reporting)

Definition at line 309 of file BlockRestrictable.h.

Referenced by BlockRestrictable::initializeBlockRestrictable().

◆ _wait_for_first_app_init

const bool& MultiApp::_wait_for_first_app_init
protectedinherited

Whether to create the first app on rank 0 while all other MPI ranks are idle.

Definition at line 547 of file MultiApp.h.

Referenced by MultiApp::createApps().

◆ app_param

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

◆ kokkos_object_param

const std::string MooseBase::kokkos_object_param = "_kokkos_object"
staticinherited

The name of the parameter that indicates an object is a Kokkos functor.

Definition at line 64 of file MooseBase.h.

Referenced by InputParameters::isKokkosObject().

◆ 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

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

◆ usingCombinedWarningSolutionWarnings

MooseObject::usingCombinedWarningSolutionWarnings
inherited

Definition at line 67 of file MooseObject.h.


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