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

Base class for MOOSE-based applications. More...

#include <MooseApp.h>

Inheritance diagram for MooseApp:
[legend]

Classes

struct  DynamicLibraryInfo
 
struct  FixedPointConfig
 Stores configuration options relating to the fixed-point solving capability. More...
 
struct  InterfaceRegistryObjects
 
struct  InterfaceRegistryObjectsBase
 

Public Member Functions

std::optional< MooseEnumgetComputeDevice () const
 Get the device accelerated computations are supposed to be running on. More...
 
torch::DeviceType getLibtorchDevice () const
 Get the device torch is supposed to be running on. More...
 
virtual ~MooseApp ()
 
TheWarehousetheWarehouse ()
 
virtual std::string getPrintableName () const
 Get printable name of the application. More...
 
virtual std::string appBinaryName () const
 
int exitCode () const
 Get the shell exit code for the application. More...
 
void setExitCode (const int exit_code)
 Sets the exit code that the application will exit with. More...
 
const RankMaprankMap ()
 The RankMap is a useful object for determining how the processes are laid out on the physical nodes of the cluster. More...
 
PerfGraphperfGraph ()
 Get the PerfGraph for this app. More...
 
virtual void run ()
 Run the application. More...
 
std::string getFrameworkVersion () const
 Returns the framework version. More...
 
virtual std::string getVersion () const
 Returns the current version of the framework or application (default: framework version). More...
 
std::string getPrintableVersion () const
 Non-virtual method for printing out the version string in a consistent format. More...
 
virtual void setupOptions ()
 Setup options based on InputParameters. More...
 
ActionWarehouseactionWarehouse ()
 Return a writable reference to the ActionWarehouse associated with this app. More...
 
const ActionWarehouseactionWarehouse () const
 Return a const reference to the ActionWarehouse associated with this app. More...
 
Moose::Builderbuilder ()
 Returns a writable reference to the builder. More...
 
Syntaxsyntax ()
 Returns a writable reference to the syntax object. More...
 
const std::vector< std::string > & getInputFileNames () const
 
const std::string & getLastInputFileName () const
 
void setOutputFileBase (const std::string &output_file_base)
 Override the selection of the output file base name. More...
 
std::string getOutputFileBase (bool for_non_moose_build_output=false) const
 Get the output file base name. More...
 
void setOutputPosition (const Point &p)
 Tell the app to output in a specific position. More...
 
std::list< std::string > getCheckpointDirectories () const
 Get all checkpoint directories. More...
 
std::list< std::string > getCheckpointFiles () const
 Extract all possible checkpoint file names. More...
 
bool hasOutputPosition () const
 Whether or not an output position has been set. More...
 
Point getOutputPosition () const
 Get the output position. More...
 
void setStartTime (Real time)
 Set the starting time for the simulation. More...
 
bool hasStartTime () const
 
Real getStartTime () const
 
void setGlobalTimeOffset (Real offset)
 Each App has it's own local time. More...
 
Real getGlobalTimeOffset () const
 Each App has it's own local time. More...
 
std::string getFileName (bool stripLeadingPath=true) const
 Return the primary (first) filename that was parsed Note: When stripLeadingPath is false, this function returns the same name as getInputFileName() method when the input file is not a link. More...
 
void setErrorOverridden ()
 Set a flag so that the parser will throw an error if overridden parameters are detected. More...
 
void disableCheckUnusedFlag ()
 Removes warnings and error checks for unrecognized variables in the input file. More...
 
ExecutionergetExecutioner () const
 Retrieve the Executioner for this App. More...
 
ExecutorgetExecutor () const
 
NullExecutorgetNullExecutor () const
 
bool useExecutor () const
 
FEProblemBasefeProblem () const
 
void setExecutioner (std::shared_ptr< Executioner > &&executioner)
 Set the Executioner for this App. More...
 
void setExecutor (std::shared_ptr< Executor > &&executor)
 
void addExecutor (const std::string &type, const std::string &name, const InputParameters &params)
 
void addExecutorParams (const std::string &type, const std::string &name, const InputParameters &params)
 Adds the parameters for an Executor to the list of parameters. More...
 
void createExecutors ()
 After adding all of the Executor Params - this function will actually cause all of them to be built. More...
 
ExecutorgetExecutor (const std::string &name, bool fail_if_not_found=true)
 Get an Executor. More...
 
FixedPointConfigfixedPointConfig ()
 This info is stored here because we need a "globalish" place to put it in order to allow communication between a multiapp and solver-specific internals (i.e. More...
 
bool & useNonlinear ()
 Returns a writable Boolean indicating whether this app will use a Nonlinear or Eigen System. More...
 
bool & useEigenvalue ()
 Returns a writable Boolean indicating whether this app will use an eigenvalue executioner. More...
 
FactorygetFactory ()
 Retrieve a writable reference to the Factory associated with this App. More...
 
ActionFactorygetActionFactory ()
 Retrieve a writable reference to the ActionFactory associated with this App. More...
 
processor_id_type processor_id () const
 Returns the MPI processor ID of the current processor. More...
 
std::shared_ptr< CommandLinecommandLine () const
 Get the command line. More...
 
void setExodusFileRestart (bool flag)
 Set the flag to indicate whether or not we need to use a separate Exodus reader to read the mesh BEFORE we create the mesh. More...
 
bool getExodusFileRestart () const
 Whether or not we need to use a separate Exodus reader to read the mesh BEFORE we create the mesh. More...
 
void setExReaderForRestart (std::shared_ptr< libMesh::ExodusII_IO > &&exreader)
 Set the Exodus reader to restart variables from an Exodus mesh file. More...
 
libMesh::ExodusII_IOgetExReaderForRestart () const
 Get the Exodus reader to restart variables from an Exodus mesh file. More...
 
virtual void runInputFile ()
 Actually build everything in the input file. More...
 
virtual void executeExecutioner ()
 Execute the Executioner that was built. More...
 
bool getDistributedMeshOnCommandLine () const
 Returns true if the user specified –distributed-mesh (or –parallel-mesh, for backwards compatibility) on the command line and false otherwise. More...
 
bool isRecovering () const
 Whether or not this is a "recover" calculation. More...
 
bool isRestarting () const
 Whether or not this is a "restart" calculation. More...
 
bool isSplitMesh () const
 Whether or not this is a split mesh operation. More...
 
void setRestartRecoverFileBase (const std::string &file_base)
 mutator for recover_base (set by RecoverBaseAction) More...
 
bool testCheckpointHalfTransient () const
 Whether or not this simulation should only run half its transient (useful for testing recovery) More...
 
bool testReStep () const
 Whether or not this simulation should fail a timestep and repeat (for testing). More...
 
void setOutputFileNumbers (const std::map< std::string, unsigned int > &numbers)
 Store a map of outputter names and file numbers The MultiApp system requires this to get the file numbering to propagate down through the Multiapps. More...
 
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 numbering to propogate down through the multiapps. More...
 
OutputWarehousegetOutputWarehouse ()
 Get the OutputWarehouse objects. More...
 
const OutputWarehousegetOutputWarehouse () const
 
const SystemInfogetSystemInfo () const
 Get SystemInfo object. More...
 
std::string appNameToLibName (const std::string &app_name) const
 Converts an application name to a library name: Examples: AnimalApp -> libanimal-oprof.la (assuming METHOD=oprof) ThreeWordAnimalApp -> libthree_word_animal-dbg.la (assuming METHOD=dbg) More...
 
std::string libNameToAppName (const std::string &library_name) const
 Converts a library name to an application name: More...
 
std::set< std::string > getLoadedLibraryPaths () const
 Return the paths of loaded libraries. More...
 
std::set< std::string > getLibrarySearchPaths (const std::string &library_path_from_param) const
 Return the paths searched by MOOSE when loading libraries. More...
 
InputParameterWarehousegetInputParameterWarehouse ()
 Get the InputParameterWarehouse for MooseObjects. More...
 
RestartableDataValueregisterRestartableData (std::unique_ptr< RestartableDataValue > data, THREAD_ID tid, bool read_only, const RestartableDataMapName &metaname="")
 
RestartableDataValueregisterRestartableData (const std::string &name, std::unique_ptr< RestartableDataValue > data, THREAD_ID tid, bool read_only, const RestartableDataMapName &metaname="")
 
bool hasRestartableMetaData (const std::string &name, const RestartableDataMapName &metaname) const
 
RestartableDataValuegetRestartableMetaData (const std::string &name, const RestartableDataMapName &metaname, THREAD_ID tid)
 
void possiblyLoadRestartableMetaData (const RestartableDataMapName &name, const std::filesystem::path &folder_base)
 Loads the restartable meta data for name if it is available with the folder base folder_base. More...
 
void loadRestartableMetaData (const std::filesystem::path &folder_base)
 Loads all available restartable meta data if it is available with the folder base folder_base. More...
 
std::vector< std::filesystem::path > writeRestartableMetaData (const RestartableDataMapName &name, const std::filesystem::path &folder_base)
 Writes the restartable meta data for name with a folder base of folder_base. More...
 
std::vector< std::filesystem::path > writeRestartableMetaData (const std::filesystem::path &folder_base)
 Writes all available restartable meta data with a file base of file_base. More...
 
RestartableDataMapgetRestartableDataMap (const RestartableDataMapName &name)
 Return a reference to restartable data for the specific type flag. More...
 
bool hasRestartableDataMap (const RestartableDataMapName &name) const
 
void registerRestartableDataMapName (const RestartableDataMapName &name, std::string suffix="")
 Reserve a location for storing custom RestartableDataMap objects. More...
 
const std::string & getRestartableDataMapName (const RestartableDataMapName &name) const
 
const DataNamesgetRecoverableData () const
 Return a reference to the recoverable data object. More...
 
std::vector< std::filesystem::path > backup (const std::filesystem::path &folder_base)
 Backs up the application to the folder folder_base. More...
 
std::unique_ptr< Backupbackup ()
 Backs up the application memory in a Backup. More...
 
bool hasInitialBackupMesh () const
 Whether this app has an initial Backup object with mesh checkpoint entries. More...
 
bool restoredInitialBackupMesh () const
 Whether this app has restored mesh topology from its initial Backup object. More...
 
void markMeshChangedForBackup ()
 Mark this app as requiring mesh topology data in its next Backup object. More...
 
bool meshChangedForBackup () const
 Whether this app requires mesh topology data in its next Backup object. More...
 
void restoreMeshFromInitialBackup (MooseMesh &mesh)
 Restore mesh from this app's initial Backup object and consume the mesh checkpoint entries. More...
 
virtual void preBackup ()
 Insertion point for other apps that is called before backup() More...
 
void restore (const std::filesystem::path &folder_base, const bool for_restart)
 Restore an application from file. More...
 
void restore (std::unique_ptr< Backup > backup, const bool for_restart)
 Restore an application from the backup backup. More...
 
virtual void postRestore (const bool)
 Insertion point for other apps that is called after restore() More...
 
void restoreFromInitialBackup (const bool for_restart)
 Restores from a "initial" backup, that is, one set in _initial_backup. More...
 
std::unique_ptr< BackupfinalizeRestore ()
 Finalizes (closes) the restoration process done in restore(). More...
 
bool restoreDataIfAvailable (RestartableDataValue &value, const THREAD_ID tid, Moose::PassKey< ReporterData >)
 Restores value in place from the checkpoint reader if it is present in the checkpoint and has not yet been loaded. More...
 
virtual std::string header () const
 Returns a string to be printed at the beginning of a simulation. More...
 
unsigned int multiAppLevel () const
 The MultiApp Level. More...
 
unsigned int multiAppNumber () const
 The MultiApp number. More...
 
bool isUltimateMaster () const
 Whether or not this app is the ultimate master app. More...
 
bool useMasterMesh () const
 Returns whether to use the parent app mesh as the mesh for this app. More...
 
const MooseMeshmasterMesh () const
 Returns a pointer to the master mesh. More...
 
const MooseMeshmasterDisplacedMesh () const
 Returns a pointer to the master displaced mesh. More...
 
MeshGeneratorSystemgetMeshGeneratorSystem ()
 Gets the system that manages the MeshGenerators. More...
 
ChainControlDataSystemgetChainControlDataSystem ()
 Gets the system that manages the ChainControls. More...
 
void addMeshGenerator (const std::string &type, const std::string &name, const InputParameters &params)
 Add a mesh generator that will act on the meshes in the system. More...
 
bool hasMeshGenerator (const MeshGeneratorName &name) const
 
const MeshGeneratorgetMeshGenerator (const std::string &name) const
 
std::unique_ptr< MeshBase > getMeshGeneratorMesh ()
 
std::vector< std::string > getMeshGeneratorNames () const
 
const MeshGeneratorappendMeshGenerator (const std::string &type, const std::string &name, InputParameters params)
 Append a mesh generator that will act on the final mesh generator in the system. More...
 
virtual bool constructingMeshGenerators () const
 Whether this app is constructing mesh generators. More...
 
bool checkInput () const
 Returns whether the Application is running in check input mode. More...
 
bool getFPTrapFlag () const
 Returns whether FPE trapping is turned on (either because of debug or user requested) More...
 
bool hasRelationshipManager (const std::string &name) const
 Returns a Boolean indicating whether a RelationshipManater exists with the same name. More...
 
bool addRelationshipManager (std::shared_ptr< RelationshipManager > relationship_manager)
 Transfers ownership of a RelationshipManager to the application for lifetime management. More...
 
std::filesystem::path restartFolderBase (const std::filesystem::path &folder_base) const
 The file suffix for restartable data. More...
 
const hit::Node * getCurrentActionHitNode () const
 
void attachRelationshipManagers (Moose::RelationshipManagerType rm_type, bool attach_geometric_rm_final=false)
 Attach the relationship managers of the given type Note: Geometric relationship managers that are supposed to be attached late will be attached when Algebraic are attached. More...
 
void attachRelationshipManagers (MeshBase &mesh, MooseMesh &moose_mesh)
 Attach geometric relationship managers to the given MeshBase object. More...
 
const std::vector< std::shared_ptr< RelationshipManager > > & getReleationshipManagers ()
 Retrieve the relationship managers. More...
 
std::vector< std::pair< std::string, std::string > > getRelationshipManagerInfo () const
 Returns the Relationship managers info suitable for printing. More...
 
const ExecFlagEnumgetExecuteOnEnum () const
 Return the app level ExecFlagEnum, this contains all the available flags for the app. More...
 
bool hasInitialBackup () const
 
bool defaultAutomaticScaling () const
 Whether to enable automatic scaling by default. More...
 
const std::shared_ptr< libMesh::Parallel::CommunicatorgetCommunicator () const
 
const std::set< std::shared_ptr< RelationshipManager > > & relationshipManagers () const
 Return the container of relationship managers. More...
 
void checkMetaDataIntegrity () const
 Function to check the integrity of the restartable meta data structure. More...
 
virtual bool errorOnJacobianNonzeroReallocation () const
 Whether this application should by default error on Jacobian nonzero reallocations. More...
 
template<class T >
void registerInterfaceObject (T &interface)
 Registers an interface object for accessing with getInterfaceObjects. More...
 
template<class T >
const std::vector< T * > & getInterfaceObjects () const
 Gets the registered interface objects for a given interface. More...
 
bool forceRestart () const
 Whether or not we are forcefully restarting (allowing the load of potentially incompatibie checkpoints); used within RestartableDataReader. More...
 
bool unusedFlagIsWarning () const
 Returns whether the flag for unused parameters is set to throw a warning only. More...
 
bool unusedFlagIsError () const
 Returns whether the flag for unused parameters is set to throw an error. More...
 
void setMFEMDevice (const std::string &device_string, bool gpu_aware_mpi, Moose::PassKey< MFEMProblemSolve >)
 Create/configure the MFEM device with the provided device_string. More...
 
std::shared_ptr< mfem::Device > getMFEMDevice (Moose::PassKey< MultiApp >)
 Get the MFEM device object. More...
 
const std::set< std::string > & getMFEMDevices (Moose::PassKey< MultiApp >) const
 Get the configured MFEM devices. More...
 
bool isKokkosAvailable () const
 Get whether Kokkos is available. More...
 
void allocateKokkosMemoryPool (std::size_t size, unsigned int ways) const
 Allocate Kokkos memory pool. More...
 
const Moose::Kokkos::MemoryPoolgetKokkosMemoryPool () const
 Get Kokkos memory pool. More...
 
const Parallel::Communicatorcomm () const
 
processor_id_type n_processors () const
 
MooseAppgetMooseApp () const
 Get the MooseApp this class is associated with. More...
 
const std::string & type () const
 Get the type of this class. More...
 
const std::string & name () const
 Get the name of the class. More...
 
std::string typeAndName () const
 Get the class's combined type and name; useful in error handling. More...
 
MooseObjectParameterName uniqueParameterName (const std::string &parameter_name) const
 
MooseObjectName uniqueName () const
 
const InputParametersparameters () const
 Get the parameters of the object. More...
 
const hit::Node * getHitNode () const
 
bool hasBase () const
 
const std::string & getBase () const
 
template<typename T >
const T & getParam (const std::string &name) const
 Retrieve a parameter for the object. More...
 
template<typename T1 , typename T2 >
std::vector< std::pair< T1, T2 > > getParam (const std::string &param1, const std::string &param2) const
 Retrieve two parameters and provide pair of parameters for the object. More...
 
template<typename T >
const T * queryParam (const std::string &name) const
 Query a parameter for the object. More...
 
template<typename T >
const T & getRenamedParam (const std::string &old_name, const std::string &new_name) const
 Retrieve a renamed parameter for the object. More...
 
template<typename T >
getCheckedPointerParam (const std::string &name, const std::string &error_string="") const
 Verifies that the requested parameter exists and is not NULL and returns it to the caller. More...
 
bool isParamValid (const std::string &name) const
 Test if the supplied parameter is valid. More...
 
bool isParamSetByUser (const std::string &name) const
 Test if the supplied parameter is set by a user, as opposed to not set or set to default. More...
 
void connectControllableParams (const std::string &parameter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const
 Connect controllable parameter of this action with the controllable parameters of the objects added by this action. More...
 
template<typename... Args>
void paramError (const std::string &param, Args... args) const
 Emits an error prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
template<typename... Args>
void paramWarning (const std::string &param, Args... args) const
 Emits a warning prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
template<typename... Args>
void paramInfo (const std::string &param, Args... args) const
 Emits an informational message prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
std::string messagePrefix (const bool hit_prefix=true) const
 
std::string errorPrefix (const std::string &) const
 Deprecated message prefix; the error type is no longer used. More...
 
template<typename... Args>
void mooseError (Args &&... args) const
 Emits an error prefixed with object name and type and optionally a file path to the top-level block parameter if available. More...
 
template<typename... Args>
void mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const
 
template<typename... Args>
void mooseErrorNonPrefixed (Args &&... args) const
 Emits an error without the prefixing included in mooseError(). More...
 
template<typename... Args>
void mooseWarning (Args &&... args) const
 Emits a warning prefixed with object name and type. More...
 
template<typename... Args>
void mooseWarningNonPrefixed (Args &&... args) const
 Emits a warning without the prefixing included in mooseWarning(). More...
 
template<typename... Args>
void mooseDeprecated (Args &&... args) const
 Emits a deprecation warning prefixed with the object name and type, and a stack trace. More...
 
template<typename... Args>
void mooseDeprecatedNoTrace (Args &&... args) const
 Emits a deprecation warning prefixed with the object name and type, and no stack trace. More...
 
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. More...
 
SolutionInvaliditysolutionInvalidity ()
 Get the SolutionInvalidity for this app. More...
 
const SolutionInvaliditysolutionInvalidity () const
 
const Parserparser () const
 
Parserparser ()
 
bool hasRestartRecoverFileBase () const
 Return true if the recovery file base is set. More...
 
bool hasRecoverFileBase () const
 
std::string getRestartRecoverFileBase () const
 The file_base for the recovery file. More...
 
std::string getRecoverFileBase () const
 
void dynamicAllRegistration (const std::string &app_name, Factory *factory, ActionFactory *action_factory, Syntax *syntax, std::string library_path, const std::string &library_name)
 Thes methods are called to register applications or objects on demand. More...
 
void dynamicAppRegistration (const std::string &app_name, std::string library_path, const std::string &library_name, bool lib_load_deps)
 
const std::vector< RestartableDataMap > & getRestartableData () const
 Return reference to the restartable data object. More...
 
std::vector< RestartableDataMap > & getRestartableData ()
 
void setRestart (bool value)
 Sets the restart/recover flags. More...
 
void setRecover (bool value)
 
auto getRestartableDataMapBegin ()
 Iterator based access to the extra RestartableDataMap objects; see Checkpoint.C for use case. More...
 
auto getRestartableDataMapEnd ()
 

Static Public Member Functions

static InputParameters validParams ()
 
static const std::string & checkpointSuffix ()
 The file suffix for the checkpoint mesh. More...
 
static std::filesystem::path metaDataFolderBase (const std::filesystem::path &folder_base, const std::string &map_suffix)
 The file suffix for meta data (header and data) More...
 
static void addAppParam (InputParameters &params)
 
static void addInputParam (InputParameters &params)
 
static bool isRelocated ()
 
static bool isInTree ()
 
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. More...
 

Public Attributes

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

Static Public Attributes

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

Protected Types

enum  UNUSED_CHECK { OFF, WARN_UNUSED, ERROR_UNUSED }
 Indicates whether warnings, errors, or no output is displayed when unused parameters are detected. More...
 

Protected Member Functions

 FRIEND_TEST (::CapabilitiesTest, mooseAppAddBoolCapability)
 
 FRIEND_TEST (::CapabilitiesTest, mooseAppAddIntCapability)
 
 FRIEND_TEST (::CapabilitiesTest, mooseAppAddStringCapability)
 
 FRIEND_TEST (::CapabilitiesTest, mooseAppAddCapability)
 
void dynamicRegistration (const libMesh::Parameters &params)
 Helper method for dynamic loading of objects. More...
 
void loadLibraryAndDependencies (const std::string &library_filename, const libMesh::Parameters &params, bool load_dependencies=true)
 Recursively loads libraries and dependencies in the proper order to fully register a MOOSE application that may have several dependencies. More...
 
 MooseApp (const InputParameters &parameters)
 Constructor is protected so that this object is constructed through the AppFactory object. More...
 
void registerRestartableNameWithFilter (const std::string &name, Moose::RESTARTABLE_FILTER filter)
 NOTE: This is an internal function meant for MOOSE use only! More...
 
void errorCheck ()
 Runs post-initialization error checking that cannot be run correctly unless the simulation has been fully set up and initialized. More...
 
void outputMachineReadableData (const std::string &param, const std::string &start_marker, const std::string &end_marker, const std::string &data) const
 Outputs machine readable data (JSON, YAML, etc.) either to the screen (if no filename was provided as an argument to the parameter param) or to a file (if a filename was provided). More...
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level) const
 Call to register a named section for timing. More...
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level, const std::string &live_message, const bool print_dots=true) const
 Call to register a named section for timing. More...
 
std::string timedSectionName (const std::string &section_name) const
 

Static Protected Member Functions

static Moose::CapabilityaddBoolCapability (const std::string_view capability, const bool value, const std::string_view doc)
 Register a boolean capability. More...
 
static Moose::CapabilityaddIntCapability (const std::string_view capability, const int value, const std::string_view doc)
 Register an integer capability. More...
 
static Moose::CapabilityaddStringCapability (const std::string_view capability, const std::string_view value, const std::string_view doc)
 Register a string capability. More...
 
static Moose::CapabilityaddCapability (const std::string_view capability, const Moose::Capability::Value &value, const std::string_view doc)
 Deprecated method for adding a capability. More...
 

Protected Attributes

const std::string _type
 The string representation of the type of this object as registered (see registerApp(AppName)) More...
 
const std::shared_ptr< libMesh::Parallel::Communicator_comm
 The MPI communicator this App is going to use. More...
 
std::string _output_file_base
 The output file basename. More...
 
bool _file_base_set_by_user
 Whether or not file base is set through input or setOutputFileBase by MultiApp. More...
 
bool _output_position_set
 Whether or not an output position has been set for this app. More...
 
Point _output_position
 The output position. More...
 
bool _start_time_set
 Whether or not an start time has been set. More...
 
Real _start_time
 The time at which to start the simulation. More...
 
Real _global_time_offset
 Offset of the local App time to the "global" problem time. More...
 
Syntax _syntax
 Syntax of the input file. More...
 
std::unique_ptr< InputParameterWarehouse_input_parameter_warehouse
 Input parameter storage structure; unique_ptr so we can control its destruction order. More...
 
ActionFactory _action_factory
 The Factory responsible for building Actions. More...
 
ActionWarehouse _action_warehouse
 Where built actions are stored. More...
 
OutputWarehouse _output_warehouse
 OutputWarehouse object for this App. More...
 
const std::shared_ptr< Parser_parser
 Parser for parsing the input file (owns the root hit node) More...
 
const std::shared_ptr< CommandLine_command_line
 The CommandLine object. More...
 
SystemInfo _sys_info
 System Information. More...
 
Moose::Builder _builder
 Builder for building app related parser tree. More...
 
std::vector< RestartableDataMap_restartable_data
 Where the restartable data is held (indexed on tid) More...
 
DataNames _recoverable_data_names
 Data names that will only be read from the restart file during RECOVERY. More...
 
PerfGraph_perf_graph
 The PerfGraph object for this application (recoverable) More...
 
SolutionInvalidity_solution_invalidity
 The SolutionInvalidity object for this application. More...
 
const RankMap _rank_map
 The RankMap is a useful object for determining how the processes are laid out on the physical hardware. More...
 
std::shared_ptr< Executioner_executioner
 Pointer to the executioner of this run (typically build by actions) More...
 
std::shared_ptr< Executor_executor
 Pointer to the Executor of this run. More...
 
std::map< std::string, std::shared_ptr< Executor > > _executors
 Pointers to all of the Executors for this run. More...
 
std::unordered_map< std::string, std::pair< std::string, std::unique_ptr< InputParameters > > > _executor_params
 Used in building the Executors Maps the name of the Executor block to the <type, params> More...
 
FixedPointConfig _fixed_point_config
 Multiapp-related fixed point algorithm configuration details primarily intended to be passed to and used by the executioner/executor system. More...
 
const bool _use_executor
 Indicates whether we are operating in the new/experimental executor mode instead of using the legacy executioner system. More...
 
std::shared_ptr< NullExecutor_null_executor
 Used to return an executor that does nothing. More...
 
bool _use_nonlinear
 Boolean to indicate whether to use a Nonlinear or EigenSystem (inspected by actions) More...
 
bool _use_eigen_value
 Boolean to indicate whether to use an eigenvalue executioner. More...
 
enum MooseApp::UNUSED_CHECK _enable_unused_check
 
Factory _factory
 
bool _error_overridden
 Indicates whether warnings or errors are displayed when overridden parameters are detected. More...
 
std::string _early_exit_param
 Indicates if simulation is ready to exit, and keeps track of which param caused it to exit. More...
 
bool _ready_to_exit
 
int _exit_code
 The exit code. More...
 
bool _initial_from_file
 This variable indicates when a request has been made to restart from an Exodus file. More...
 
std::shared_ptr< libMesh::ExodusII_IO_ex_reader
 The Exodus reader when _initial_from_file is set to true. More...
 
const bool _distributed_mesh_on_command_line
 This variable indicates that DistributedMesh should be used for the libMesh mesh underlying MooseMesh. More...
 
bool _recover
 Whether or not this is a recovery run. More...
 
bool _restart
 Whether or not this is a restart run. More...
 
bool _split_mesh
 Whether or not we are performing a split mesh operation (–split-mesh) More...
 
const bool _use_split
 Whether or not we are using a (pre-)split mesh (automatically DistributedMesh) More...
 
const bool _force_restart
 Whether or not we are forcefully attempting to load checkpoints (–force-restart) More...
 
bool _trap_fpe
 Whether or not FPE trapping should be turned on. More...
 
std::string _restart_recover_base
 The base name to restart/recover from. If blank then we will find the newest checkpoint file. More...
 
const bool _test_checkpoint_half_transient
 Whether or not this simulation should only run half its transient (useful for testing recovery) More...
 
const bool _test_restep
 Whether or not this simulation should fail its middle timestep and repeat (for testing) More...
 
std::map< std::string, unsigned int_output_file_numbers
 Map of outputer name and file number (used by MultiApps to propagate file numbers down through the multiapps) More...
 
const bool _check_input
 true if we want to just check the input file More...
 
std::set< std::shared_ptr< RelationshipManager > > _relationship_managers
 The relationship managers that have been added. More...
 
std::map< Moose::RelationshipManagerType, std::set< const RelationshipManager * > > _attached_relationship_managers
 The relationship managers that have been attached (type -> RMs) More...
 
std::unordered_map< RelationshipManager *, std::shared_ptr< libMesh::GhostingFunctor > > _undisp_to_disp_rms
 A map from undisplaced relationship managers to their displaced clone (stored as the base GhostingFunctor). More...
 
std::unordered_map< std::string, DynamicLibraryInfo_lib_handles
 The library archive (name only), registration method and the handle to the method. More...
 
MooseApp_pg_moose_app
 The MooseApp that owns the PerfGraph. More...
 
const std::string _prefix
 A prefix to use for all sections. More...
 
const Parallel::Communicator_communicator
 
MooseApp_app
 The MOOSE application this is associated with. More...
 
const std::string & _name
 The name of this class. More...
 
const InputParameters_pars
 The object's parameters. More...
 

Private Types

enum  RegistrationType { APPLICATION, REGALL }
 Enumeration for holding the valid types of dynamic registrations allowed. More...
 

Private Member Functions

void recursivelyCreateExecutors (const std::string &current_executor_name, std::list< std::string > &possible_roots, std::list< std::string > &current_branch)
 Internal function used to recursively create the executor objects. More...
 
void removeRelationshipManager (std::shared_ptr< RelationshipManager > relationship_manager)
 Purge this relationship manager from meshes and DofMaps and finally from us. More...
 
torch::DeviceType determineLibtorchDeviceType (const MooseEnum &device) const
 Function to determine the device which should be used by libtorch on this application. More...
 
void createMinimalApp ()
 Method for creating the minimum required actions for an application (no input file) More...
 
void setCheckUnusedFlag (bool warn_is_error=false)
 Set a flag so that the parser will either warn or error when unused variables are seen after parsing is complete. More...
 
bool hasRMClone (const RelationshipManager &template_rm, const MeshBase &mesh) const
 
RelationshipManagergetRMClone (const RelationshipManager &template_rm, const MeshBase &mesh) const
 Return the relationship manager clone originally created from the provided template relationship manager and mesh. More...
 
RelationshipManagercreateRMFromTemplateAndInit (const RelationshipManager &template_rm, MooseMesh &moose_mesh, MeshBase &mesh, const libMesh::DofMap *dof_map=nullptr)
 Take an input relationship manager, clone it, and then initialize it with provided mesh and optional dof_map. More...
 
PerfGraphcreateRecoverablePerfGraph ()
 Creates a recoverable PerfGraph. More...
 
SolutionInvaliditycreateRecoverableSolutionInvalidity ()
 Creates a recoverable SolutionInvalidity. More...
 
bool showInputs () const
 Prints a message showing the installable inputs for a given application (if getInstallableInputs has been overridden for an application). More...
 
virtual std::string getInstallableInputs () const
 Method to retrieve the installable inputs from a given applications <app>Revision.h file. More...
 
bool copyInputs ()
 Handles the copy_inputs input parameter logic: Checks to see whether the passed argument is valid (a readable installed directory) and recursively copies those files into a read/writable location for the user. More...
 
bool runInputs ()
 Handles the run input parameter logic: Checks to see whether a directory exists in user space and launches the TestHarness to process the given directory. More...
 
void requestCitations ()
 Handles the –citations command-line option: registers with PETSc the BibTeX entries that should be cited for the framework and the modules/objects used in this simulation, and enables PETSc's -citations option. More...
 
void collectCitations (std::map< std::string, std::string > &citations) const
 Collects the BibTeX citations for the modules/objects constructed in this app and the finite element backend it uses, then recurses into every MultiApp subapp to do the same. More...
 
void queryKokkosGPUs ()
 Query the Kokkos GPUs in the system and check whether every process has an associated GPU. More...
 
void deallocateKokkosMemoryPool ()
 Deallocate Kokkos memory pool. More...
 

Static Private Member Functions

static Moose::CapabilityaddCapabilityInternal (const std::string_view capability, const Moose::Capability::Value &value, const std::string_view doc)
 Internal method for adding a capability. More...
 

Private Attributes

std::unordered_map< RestartableDataMapName, std::pair< RestartableDataMap, std::string > > _restartable_meta_data
 General storage for custom RestartableData that can be added to from outside applications. More...
 
std::unique_ptr< TheWarehouse_the_warehouse
 The combined warehouse for storing any MooseObject based object. More...
 
const unsigned int _multiapp_level
 Level of multiapp, the master is level 0. This used by the Console to indent output. More...
 
const unsigned int _multiapp_number
 Numbering in all the sub-apps on the same level. More...
 
const bool _use_master_mesh
 Whether to use the parent app mesh for this app. More...
 
const MooseMesh *const _master_mesh
 The mesh from master app. More...
 
const MooseMesh *const _master_displaced_mesh
 The displaced mesh from master app. More...
 
MeshGeneratorSystem _mesh_generator_system
 The system that manages the MeshGenerators. More...
 
ChainControlDataSystem _chain_control_system
 The system that manages the ChainControls. More...
 
RestartableDataReader _rd_reader
 
const ExecFlagEnum _execute_flags
 Execution flags for this App. More...
 
std::streambuf * _output_buffer_cache
 Cache output buffer so the language server can turn it off then back on. More...
 
const bool _automatic_automatic_scaling
 Whether to turn on automatic scaling by default. More...
 
bool _cpu_profiling = false
 CPU profiling. More...
 
bool _heap_profiling = false
 Memory profiling. More...
 
std::map< const RelationshipManager *, std::map< const MeshBase *, std::unique_ptr< RelationshipManager > > > _template_to_clones
 Map from a template relationship manager to a map in which the key-value pairs represent the MeshBase object and the clone of the template relationship manager, e.g. More...
 
std::map< std::type_index, std::unique_ptr< InterfaceRegistryObjectsBase > > _interface_registry
 Registration for interface objects. More...
 
std::unique_ptr< Backup > *const _initial_backup
 The backup for use in initial setup; this will get set from the _initial_backup input parameter that typically gets set from a MultiApp that has a backup This is a pointer to a pointer because at the time of construction of the app, the backup will not be filled yet. More...
 
bool _restored_initial_backup_mesh = false
 Whether mesh topology has been restored from the initial Backup object. More...
 
bool _mesh_changed_for_backup = false
 Whether mesh topology has changed and should be included in Backup objects. More...
 
const torch::DeviceType _libtorch_device
 The libtorch device this app is using (converted from compute_device) More...
 
std::shared_ptr< mfem::Device > _mfem_device
 The MFEM Device object. More...
 
std::set< std::string > _mfem_devices
 MFEM supported devices based on user-provided config. More...
 
bool _has_kokkos_gpus = false
 Flag whether every process has an associated Kokkos GPU. More...
 

Friends

class FEProblemBase
 
class Restartable
 
class SubProblem
 

Detailed Description

Base class for MOOSE-based applications.

This generic class for application provides:

Each application should register its own objects and register its own special syntax

Definition at line 109 of file MooseApp.h.

Member Enumeration Documentation

◆ RegistrationType

Enumeration for holding the valid types of dynamic registrations allowed.

Enumerator
APPLICATION 
REGALL 

Definition at line 1667 of file MooseApp.h.

1668  {
1669  APPLICATION,
1670  REGALL
1671  };

◆ UNUSED_CHECK

enum MooseApp::UNUSED_CHECK
protected

Indicates whether warnings, errors, or no output is displayed when unused parameters are detected.

Enumerator
OFF 
WARN_UNUSED 
ERROR_UNUSED 

Definition at line 1395 of file MooseApp.h.

1396  {
1397  OFF,
1398  WARN_UNUSED,
1399  ERROR_UNUSED
enum MooseApp::UNUSED_CHECK _enable_unused_check

Constructor & Destructor Documentation

◆ ~MooseApp()

virtual MooseApp::~MooseApp ( )
virtual

◆ MooseApp()

MooseApp::MooseApp ( const InputParameters parameters)
protected

Constructor is protected so that this object is constructed through the AppFactory object.

Definition at line 624 of file MooseApp.C.

625  : PerfGraphInterface(*this, "MooseApp"),
626  ParallelObject(*parameters.get<std::shared_ptr<Parallel::Communicator>>(
627  "_comm")), // Can't call getParam() before pars is set
628  // The use of AppFactory::getAppParams() is atrocious. However, a long time ago
629  // we decided to copy construct parameters in each derived application...
630  // which means that the "parameters" we get if someone derives from MooseApp are
631  // actually a copy of the ones built by the factory. Because we have unique
632  // application names, this allows us to reference (using _pars and MooseBase)
633  // the actual const parameters that the AppFactory made for this application
634  MooseBase(*this, AppFactory::instance().getAppParams(parameters)),
635  _comm(getParam<std::shared_ptr<Parallel::Communicator>>("_comm")),
636  _file_base_set_by_user(false),
637  _output_position_set(false),
638  _start_time_set(false),
639  _start_time(0.0),
640  _global_time_offset(0.0),
641  _input_parameter_warehouse(std::make_unique<InputParameterWarehouse>()),
642  _action_factory(*this),
644  _output_warehouse(*this),
645  _parser(getCheckedPointerParam<std::shared_ptr<Parser>>("_parser")),
646  _command_line(getCheckedPointerParam<std::shared_ptr<CommandLine>>("_command_line")),
652  _use_executor(getParam<bool>("use_executor")),
653  _null_executor(NULL),
654  _use_nonlinear(true),
655  _use_eigen_value(false),
657  _factory(*this),
658  _error_overridden(false),
659  _early_exit_param(""),
660  _ready_to_exit(false),
661  _exit_code(0),
662  _initial_from_file(false),
663  _distributed_mesh_on_command_line(getParam<bool>("distributed_mesh")),
664  _recover(false),
665  _restart(false),
666  _split_mesh(false),
667  _use_split(getParam<bool>("use_split")),
668  _force_restart(getParam<bool>("force_restart")),
669 #ifdef DEBUG
670  _trap_fpe(true),
671 #else
672  _trap_fpe(false),
673 #endif
674  _test_checkpoint_half_transient(parameters.get<bool>("test_checkpoint_half_transient")),
675  _test_restep(parameters.get<bool>("test_restep")),
676  _check_input(getParam<bool>("check_input")),
677  _multiapp_level(isParamValid("_multiapp_level") ? getParam<unsigned int>("_multiapp_level")
678  : 0),
679  _multiapp_number(isParamValid("_multiapp_number") ? getParam<unsigned int>("_multiapp_number")
680  : 0),
681  _use_master_mesh(getParam<bool>("_use_master_mesh")),
682  _master_mesh(isParamValid("_master_mesh") ? getParam<const MooseMesh *>("_master_mesh")
683  : nullptr),
684  _master_displaced_mesh(isParamValid("_master_displaced_mesh")
685  ? getParam<const MooseMesh *>("_master_displaced_mesh")
686  : nullptr),
687  _mesh_generator_system(*this),
688  _chain_control_system(*this),
691  _output_buffer_cache(nullptr),
692  _automatic_automatic_scaling(getParam<bool>("automatic_automatic_scaling")),
693  _initial_backup(getParam<std::unique_ptr<Backup> *>("_initial_backup"))
694 #ifdef MOOSE_LIBTORCH_ENABLED
695  ,
696  _libtorch_device(determineLibtorchDeviceType(getParam<MooseEnum>("compute_device")))
697 #endif
698 #ifdef MOOSE_MFEM_ENABLED
699  ,
700  _mfem_device(isParamValid("_mfem_device")
701  ? getParam<std::shared_ptr<mfem::Device>>("_mfem_device")
702  : nullptr),
703  _mfem_devices(isParamValid("_mfem_devices") ? getParam<std::set<std::string>>("_mfem_devices")
704  : std::set<std::string>{})
705 #endif
706 {
707  if (&parameters != &_pars)
708  {
709  const std::string bad_params = "(InputParameters parameters)";
710  const std::string good_params = "(const InputParameters & parameters)";
711  const std::string source_constructor = type() + "::" + type();
712  mooseDoOnce(
714  " copy-constructs its input parameters.\n\n",
715  "This is deprecated and will not be allowed in the future.\n\n",
716  "In ",
717  type(),
718  ".C, change:\n ",
719  source_constructor,
720  bad_params,
721  " -> ",
722  source_constructor,
723  good_params,
724  "\n\n",
725  "In ",
726  type(),
727  ".h, change:\n ",
728  type(),
729  bad_params,
730  "; -> ",
731  type(),
732  good_params,
733  ";"));
734  }
735 
736  mooseAssert(_command_line->hasParsed(), "Command line has not parsed");
737  mooseAssert(_parser->queryRoot(), "Parser has not parsed");
738 
739  // Set the TIMPI sync type via --timpi-sync
740  const auto & timpi_sync = getParam<std::string>("timpi_sync");
741  const_cast<Parallel::Communicator &>(comm()).sync_type(timpi_sync);
742 
743 #ifdef HAVE_GPERFTOOLS
744  if (isUltimateMaster())
745  {
746  bool has_cpu_profiling = false;
747  bool has_heap_profiling = false;
748  static std::string cpu_profile_file;
749  static std::string heap_profile_file;
750 
751  // For CPU profiling, users need to have environment 'MOOSE_PROFILE_BASE'
752  if (std::getenv("MOOSE_PROFILE_BASE"))
753  {
754  has_cpu_profiling = true;
755  cpu_profile_file =
756  std::getenv("MOOSE_PROFILE_BASE") + std::to_string(_comm->rank()) + ".prof";
757  // create directory if needed
758  auto name = MooseUtils::splitFileName(cpu_profile_file);
759  if (!name.first.empty())
760  {
761  if (processor_id() == 0)
762  MooseUtils::makedirs(name.first.c_str());
763  _comm->barrier();
764  }
765  }
766 
767  // For Heap profiling, users need to have 'MOOSE_HEAP_BASE'
768  if (std::getenv("MOOSE_HEAP_BASE"))
769  {
770  has_heap_profiling = true;
771  heap_profile_file = std::getenv("MOOSE_HEAP_BASE") + std::to_string(_comm->rank());
772  // create directory if needed
773  auto name = MooseUtils::splitFileName(heap_profile_file);
774  if (!name.first.empty())
775  {
776  if (processor_id() == 0)
777  MooseUtils::makedirs(name.first.c_str());
778  _comm->barrier();
779  }
780  }
781 
782  // turn on profiling only on selected ranks
783  if (isParamSetByUser("gperf_profiler_on"))
784  {
785  auto rankstr = getParam<std::string>("gperf_profiler_on");
786  std::vector<processor_id_type> ranks;
787  bool success = MooseUtils::tokenizeAndConvert(rankstr, ranks, ", ");
788  if (!success)
789  mooseError("Invalid argument for --gperf-profiler-on: '", rankstr, "'");
790  for (auto & rank : ranks)
791  {
792  if (rank >= _comm->size())
793  mooseError("Invalid argument for --gperf-profiler-on: ",
794  rank,
795  " is greater than or equal to ",
796  _comm->size());
797  if (rank == _comm->rank())
798  {
799  _cpu_profiling = has_cpu_profiling;
800  _heap_profiling = has_heap_profiling;
801  }
802  }
803  }
804  else
805  {
806  _cpu_profiling = has_cpu_profiling;
807  _heap_profiling = has_heap_profiling;
808  }
809 
810  if (_cpu_profiling)
811  if (!ProfilerStart(cpu_profile_file.c_str()))
812  mooseError("CPU profiler is not started properly");
813 
814  if (_heap_profiling)
815  {
816  HeapProfilerStart(heap_profile_file.c_str());
817  if (!IsHeapProfilerRunning())
818  mooseError("Heap profiler is not started properly");
819  }
820  }
821 #else
822  if (std::getenv("MOOSE_PROFILE_BASE") || std::getenv("MOOSE_HEAP_BASE"))
823  mooseError("gperftool is not available for CPU or heap profiling");
824 #endif
825 
826  // If this will be a language server then turn off output until that starts
827  if (isParamValid("language_server") && getParam<bool>("language_server"))
828  _output_buffer_cache = Moose::out.rdbuf(nullptr);
829 
832 
833  _the_warehouse = std::make_unique<TheWarehouse>();
834  _the_warehouse->registerAttribute<AttribMatrixTags>("matrix_tags", 0);
835  _the_warehouse->registerAttribute<AttribVectorTags>("vector_tags", 0);
836  _the_warehouse->registerAttribute<AttribExecOns>("exec_ons", 0);
837  _the_warehouse->registerAttribute<AttribSubdomains>("subdomains", 0);
838  _the_warehouse->registerAttribute<AttribBoundaries>("boundaries", 0);
839  _the_warehouse->registerAttribute<AttribThread>("thread", 0);
840  _the_warehouse->registerAttribute<AttribExecutionOrderGroup>("execution_order_group", 0);
841  _the_warehouse->registerAttribute<AttribPreIC>("pre_ic", 0);
842  _the_warehouse->registerAttribute<AttribPreAux>("pre_aux");
843  _the_warehouse->registerAttribute<AttribPostAux>("post_aux");
844  _the_warehouse->registerAttribute<AttribName>("name", "dummy");
845  _the_warehouse->registerAttribute<AttribSystem>("system", "dummy");
846  _the_warehouse->registerAttribute<AttribKokkos>("kokkos", false);
847  _the_warehouse->registerAttribute<AttribVar>("variable", -1);
848  _the_warehouse->registerAttribute<AttribInterfaces>("interfaces", 0);
849  _the_warehouse->registerAttribute<AttribSysNum>("sys_num", libMesh::invalid_uint);
850  _the_warehouse->registerAttribute<AttribResidualObject>("residual_object");
851  _the_warehouse->registerAttribute<AttribSorted>("sorted");
852  _the_warehouse->registerAttribute<AttribDisplaced>("displaced", -1);
853 
855 
856  if (_check_input && isParamSetByUser("recover"))
857  mooseError("Cannot run --check-input with --recover. Recover files might not exist");
858 
859  if (isParamSetByUser("start_in_debugger") && isUltimateMaster())
860  {
861  auto command = getParam<std::string>("start_in_debugger");
862 
863  Moose::out << "Starting in debugger using: " << command << std::endl;
864 
866 
867  std::stringstream command_stream;
868 
869  // This will start XTerm and print out some info first... then run the debugger
870  command_stream << "xterm -e \"echo 'Rank: " << processor_id() << " Hostname: " << hostname
871  << " PID: " << getpid() << "'; echo ''; ";
872 
873  // Figure out how to run the debugger
874  if (command.find("lldb") != std::string::npos || command.find("gdb") != std::string::npos)
875  command_stream << command << " -p " << getpid();
876  else
877  mooseError("Unknown debugger: ",
878  command,
879  "\nIf this is truly what you meant then contact moose-users to have a discussion "
880  "about adding your debugger.");
881 
882  // Finish up the command
883  command_stream << "\"" << " & ";
884  std::string command_string = command_stream.str();
885  Moose::out << "Running: " << command_string << std::endl;
886 
887  int ret = std::system(command_string.c_str());
888  libmesh_ignore(ret);
889 
890  // Sleep to allow time for the debugger to attach
891  std::this_thread::sleep_for(std::chrono::seconds(10));
892  }
893 
894  if (isParamSetByUser("stop_for_debugger") && isUltimateMaster())
895  {
896  Moose::out << "\nStopping for " << getParam<unsigned int>("stop_for_debugger")
897  << " seconds to allow attachment from a debugger.\n";
898 
899  Moose::out << "\nAll of the processes you can connect to:\n";
900  Moose::out << "rank - hostname - pid\n";
901 
903 
904  {
905  // The 'false' turns off the serialization warning
906  SerializerGuard sg(_communicator, false); // Guarantees that the processors print in order
907  Moose::err << processor_id() << " - " << hostname << " - " << getpid() << "\n";
908  }
909 
910  Moose::out << "\nWaiting...\n" << std::endl;
911 
912  // Sleep to allow time for the debugger to attach
913  std::this_thread::sleep_for(std::chrono::seconds(getParam<unsigned int>("stop_for_debugger")));
914  }
915 
917  mooseError("Mesh can be passed in only for sub-apps");
918 
920  mooseError("_master_mesh should have been set when _master_displaced_mesh is set");
921 
922 #ifdef MOOSE_MFEM_ENABLED
923  if (_mfem_device)
924  {
925  mooseAssert(!isUltimateMaster(),
926  "The MFEM device should only be auto-set for sub-applications");
927  mooseAssert(!_mfem_devices.empty(),
928  "If we are a sub-application and we have an MFEM device object, then we must know "
929  "its configuration string");
930  }
931 #endif
932 
933  // Data specifically associated with the mesh (meta-data) that will read from the restart
934  // file early during the simulation setup so that they are available to Actions and other objects
935  // that need them during the setup process. Most of the restartable data isn't made available
936  // until all objects have been created and all Actions have been executed (i.e. initialSetup).
938 
939  if (_pars.have_parameter<bool>("use_legacy_dirichlet_bc"))
940  mooseDeprecated("The parameter 'use_legacy_dirichlet_bc' is no longer valid.\n\n",
941  "All Dirichlet boundary conditions are preset by default.\n\n",
942  "Remove said parameter in ",
943  name(),
944  " to remove this deprecation warning.");
945 
947  mooseError("Cannot use --test-restep and --test-checkpoint-half-transient together");
948 
949  Moose::out << std::flush;
950 
951 #ifdef MOOSE_KOKKOS_ENABLED
952 #ifdef MOOSE_ENABLE_KOKKOS_GPU
953  queryKokkosGPUs();
954 #endif
955 #endif
956 }
957 
958 std::optional<MooseEnum>
960 {
961  if (isParamSetByUser("compute_device"))
962  return getParam<MooseEnum>("compute_device");
963  return {};
964 }
965 
967 {
968 #ifdef HAVE_GPERFTOOLS
969  // CPU profiling stop
970  if (_cpu_profiling)
971  ProfilerStop();
972  // Heap profiling stop
973  if (_heap_profiling)
974  HeapProfilerStop();
975 #endif
977  _the_warehouse.reset();
978  _executioner.reset();
979 
980  // Don't wait for implicit destruction of input parameter storage
982 
983  // This is dirty, but I don't know what else to do. Obviously, others
984  // have had similar problems if you look above. In specific, the
985  // dlclose below on macs is destructing some data that does not
986  // belong to it in garbage collection. So... don't even give
987  // dlclose an option
988  _restartable_data.clear();
989 
990  // Remove this app's parameters from the AppFactory. This allows
991  // for creating an app with this name again in the same execution,
992  // which needs to be done when resetting applications in MultiApp
994 
995 #ifdef LIBMESH_HAVE_DLOPEN
996  // Close any open dynamic libraries
997  for (const auto & lib_pair : _lib_handles)
998  dlclose(lib_pair.second.library_handle);
999 #endif
1000 
1001 #ifdef MOOSE_KOKKOS_ENABLED
1003 #endif
1004 }
void makedirs(const std::string &dir_name, bool throw_on_failure)
Definition: MooseUtils.C:460
ParallelObject(const Parallel::Communicator &comm_in)
bool _use_eigen_value
Boolean to indicate whether to use an eigenvalue executioner.
Definition: MooseApp.h:1392
PerfGraph & _perf_graph
The PerfGraph object for this application (recoverable)
Definition: MooseApp.h:1355
const std::string _type
The string representation of the type of this object as registered (see registerApp(AppName)) ...
Definition: MooseApp.h:1291
const bool _check_input
true if we want to just check the input file
Definition: MooseApp.h:1451
bool isUltimateMaster() const
Whether or not this app is the ultimate master app.
Definition: MooseApp.h:866
bool _initial_from_file
This variable indicates when a request has been made to restart from an Exodus file.
Definition: MooseApp.h:1413
unsigned int n_threads()
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:384
PerfGraph & createRecoverablePerfGraph()
Creates a recoverable PerfGraph.
Definition: MooseApp.C:3463
const unsigned int invalid_uint
const std::shared_ptr< Parser > _parser
Parser for parsing the input file (owns the root hit node)
Definition: MooseApp.h:1334
const T & getParam(const std::string &name) const
Retrieve a parameter for the object.
Definition: MooseBase.h:406
Real _global_time_offset
Offset of the local App time to the "global" problem time.
Definition: MooseApp.h:1315
torch::DeviceType determineLibtorchDeviceType(const MooseEnum &device) const
Function to determine the device which should be used by libtorch on this application.
Definition: MooseApp.C:3502
bool _file_base_set_by_user
Whether or not file base is set through input or setOutputFileBase by MultiApp.
Definition: MooseApp.h:1300
bool _output_position_set
Whether or not an output position has been set for this app.
Definition: MooseApp.h:1303
std::unique_ptr< TheWarehouse > _the_warehouse
The combined warehouse for storing any MooseObject based object.
Definition: MooseApp.h:1674
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.
bool tokenizeAndConvert(const std::string &str, std::vector< T > &tokenized_vector, const std::string &delimiter=" \\\)
tokenizeAndConvert splits a string using delimiter and then converts to type T.
bool _use_nonlinear
Boolean to indicate whether to use a Nonlinear or EigenSystem (inspected by actions) ...
Definition: MooseApp.h:1389
static const RestartableDataMapName MESH_META_DATA
Definition: MooseApp.h:136
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseBase.h:131
const bool _use_master_mesh
Whether to use the parent app mesh for this app.
Definition: MooseApp.h:1683
void deallocateKokkosMemoryPool()
Deallocate Kokkos memory pool.
Real _start_time
The time at which to start the simulation.
Definition: MooseApp.h:1312
This attribute describes sorting state.
Definition: TheWarehouse.h:113
bool forceRestart() const
Whether or not we are forcefully restarting (allowing the load of potentially incompatibie checkpoint...
Definition: MooseApp.h:1114
const bool _use_split
Whether or not we are using a (pre-)split mesh (automatically DistributedMesh)
Definition: MooseApp.h:1431
virtual ~MooseApp()
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
Definition: Attributes.h:314
const Parallel::Communicator & comm() const
std::set< std::string > _mfem_devices
MFEM supported devices based on user-provided config.
Definition: MooseApp.h:1751
Syntax _syntax
Syntax of the input file.
Definition: MooseApp.h:1318
const bool _test_restep
Whether or not this simulation should fail its middle timestep and repeat (for testing) ...
Definition: MooseApp.h:1445
bool _trap_fpe
Whether or not FPE trapping should be turned on.
Definition: MooseApp.h:1437
const Parallel::Communicator & _communicator
processor_id_type processor_id() const
Returns the MPI processor ID of the current processor.
Definition: MooseApp.h:417
ActionWarehouse _action_warehouse
Where built actions are stored.
Definition: MooseApp.h:1328
RestartableDataReader _rd_reader
Definition: MooseApp.h:1697
static ExecFlagRegistry & getExecFlagRegistry()
Return Singleton instance.
SolutionInvalidity & _solution_invalidity
The SolutionInvalidity object for this application.
Definition: MooseApp.h:1358
std::string hostname()
Definition: MooseUtils.C:635
std::optional< MooseEnum > getComputeDevice() const
Get the device accelerated computations are supposed to be running on.
std::vector< RestartableDataMap > _restartable_data
Where the restartable data is held (indexed on tid)
Definition: MooseApp.h:1346
const RankMap _rank_map
The RankMap is a useful object for determining how the processes are laid out on the physical hardwar...
Definition: MooseApp.h:1361
const bool _test_checkpoint_half_transient
Whether or not this simulation should only run half its transient (useful for testing recovery) ...
Definition: MooseApp.h:1443
int _exit_code
The exit code.
Definition: MooseApp.h:1410
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...
Definition: MooseBase.h:450
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
Definition: Attributes.h:295
MeshGeneratorSystem _mesh_generator_system
The system that manages the MeshGenerators.
Definition: MooseApp.h:1692
bool _start_time_set
Whether or not an start time has been set.
Definition: MooseApp.h:1309
void libmesh_ignore(const Args &...)
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103
std::shared_ptr< NullExecutor > _null_executor
Used to return an executor that does nothing.
Definition: MooseApp.h:1386
Tracks the libmesh system number that a MooseObject is associated with.
Definition: Attributes.h:276
bool _restart
Whether or not this is a restart run.
Definition: MooseApp.h:1425
void clearAppParams(const InputParameters &params, const ClearAppParamsKey)
Clears the stored parameters for the given application parameteres.
Definition: AppFactory.C:53
void mooseDeprecated(Args &&... args) const
Emits a deprecation warning prefixed with the object name and type, and a stack trace.
Definition: MooseBase.h:317
void queryKokkosGPUs()
Query the Kokkos GPUs in the system and check whether every process has an associated GPU...
AttribBoundaries tracks all boundary IDs associated with an object.
Definition: Attributes.h:189
std::shared_ptr< Executioner > _executioner
Pointer to the executioner of this run (typically build by actions)
Definition: MooseApp.h:1364
ActionFactory _action_factory
The Factory responsible for building Actions.
Definition: MooseApp.h:1325
const unsigned int _multiapp_number
Numbering in all the sub-apps on the same level.
Definition: MooseApp.h:1680
const std::string & type() const
Get the type of this class.
Definition: MooseBase.h:93
enum MooseApp::UNUSED_CHECK _enable_unused_check
bool _recover
Whether or not this is a recovery run.
Definition: MooseApp.h:1422
const std::shared_ptr< CommandLine > _command_line
The CommandLine object.
Definition: MooseApp.h:1337
bool _error_overridden
Indicates whether warnings or errors are displayed when overridden parameters are detected...
Definition: MooseApp.h:1405
SolutionInvalidity & createRecoverableSolutionInvalidity()
Creates a recoverable SolutionInvalidity.
Definition: MooseApp.C:3481
bool _heap_profiling
Memory profiling.
Definition: MooseApp.h:1718
const MooseMesh *const _master_displaced_mesh
The displaced mesh from master app.
Definition: MooseApp.h:1689
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
Definition: Attributes.h:345
const bool _force_restart
Whether or not we are forcefully attempting to load checkpoints (–force-restart) ...
Definition: MooseApp.h:1434
std::unordered_map< std::string, DynamicLibraryInfo > _lib_handles
The library archive (name only), registration method and the handle to the method.
Definition: MooseApp.h:1475
static AppFactory & instance()
Get the instance of the AppFactory.
Definition: AppFactory.C:20
Residual objects have this attribute.
Definition: Attributes.h:430
bool have_parameter(std::string_view name) const
A wrapper around the Parameters base class method.
const ExecFlagEnum _execute_flags
Execution flags for this App.
Definition: MooseApp.h:1706
void registerRestartableDataMapName(const RestartableDataMapName &name, std::string suffix="")
Reserve a location for storing custom RestartableDataMap objects.
Definition: MooseApp.C:3444
const bool _distributed_mesh_on_command_line
This variable indicates that DistributedMesh should be used for the libMesh mesh underlying MooseMesh...
Definition: MooseApp.h:1419
ChainControlDataSystem _chain_control_system
The system that manages the ChainControls.
Definition: MooseApp.h:1695
const unsigned int _multiapp_level
Level of multiapp, the master is level 0. This used by the Console to indent output.
Definition: MooseApp.h:1677
Moose::Builder _builder
Builder for building app related parser tree.
Definition: MooseApp.h:1343
const torch::DeviceType _libtorch_device
The libtorch device this app is using (converted from compute_device)
Definition: MooseApp.h:1743
OutputWarehouse _output_warehouse
OutputWarehouse object for this App.
Definition: MooseApp.h:1331
std::streambuf * _output_buffer_cache
Cache output buffer so the language server can turn it off then back on.
Definition: MooseApp.h:1709
bool _cpu_profiling
CPU profiling.
Definition: MooseApp.h:1715
void registerAll(Factory &f, ActionFactory &af, Syntax &s)
Register objects that are in MOOSE.
Definition: Moose.C:69
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
static const std::string MESH_META_DATA_SUFFIX
Definition: MooseApp.h:137
const bool _automatic_automatic_scaling
Whether to turn on automatic scaling by default.
Definition: MooseApp.h:1712
Factory _factory
Definition: MooseApp.h:1402
std::unique_ptr< InputParameterWarehouse > _input_parameter_warehouse
Input parameter storage structure; unique_ptr so we can control its destruction order.
Definition: MooseApp.h:1322
Tracks whether the object is on the displaced mesh.
Definition: Attributes.h:500
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
Definition: MooseBase.h:199
PerfGraphInterface(const MooseObject *moose_object)
For objects that are MooseObjects with a default prefix of type()
const std::shared_ptr< libMesh::Parallel::Communicator > _comm
The MPI communicator this App is going to use.
Definition: MooseApp.h:1294
std::shared_ptr< mfem::Device > _mfem_device
The MFEM Device object.
Definition: MooseApp.h:1748
bool _ready_to_exit
Definition: MooseApp.h:1408
const MooseMesh *const _master_mesh
The mesh from master app.
Definition: MooseApp.h:1686
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
void clear()
This method deletes all of the Actions in the warehouse.
A scope guard that guarantees that whatever happens between when it gets created and when it is destr...
bool _split_mesh
Whether or not we are performing a split mesh operation (–split-mesh)
Definition: MooseApp.h:1428
const bool _use_executor
Indicates whether we are operating in the new/experimental executor mode instead of using the legacy ...
Definition: MooseApp.h:1383
void enableLivePrint()
Enables Live Print.
Definition: PerfGraph.C:58
static char addKnownLabel(const std::string &label)
addKnownLabel whitelists a label as valid for purposes of the checkLabels function.
Definition: Registry.C:85
MooseBase(const InputParameters &params)
Primary constructor for general objects.
Definition: MooseBase.C:51
std::string _early_exit_param
Indicates if simulation is ready to exit, and keeps track of which param caused it to exit...
Definition: MooseApp.h:1407
void mooseDeprecatedNoTrace(Args &&... args) const
Emits a deprecation warning prefixed with the object name and type, and no stack trace.
Definition: MooseBase.h:327
std::unique_ptr< Backup > *const _initial_backup
The backup for use in initial setup; this will get set from the _initial_backup input parameter that ...
Definition: MooseApp.h:1733

Member Function Documentation

◆ actionWarehouse() [1/2]

ActionWarehouse& MooseApp::actionWarehouse ( )
inline

◆ actionWarehouse() [2/2]

const ActionWarehouse& MooseApp::actionWarehouse ( ) const
inline

Return a const reference to the ActionWarehouse associated with this app.

Definition at line 221 of file MooseApp.h.

221 { return _action_warehouse; }
ActionWarehouse _action_warehouse
Where built actions are stored.
Definition: MooseApp.h:1328

◆ addAppParam()

void MooseApp::addAppParam ( InputParameters params)
static

Definition at line 264 of file MooseApp.C.

Referenced by AppFactory::createAppShared(), Moose::createMooseApp(), and validParams().

265 {
266  params.addCommandLineParam<std::string>(
267  "app_to_run", "--app <type>", "Specify the application type to run (case-sensitive)");
268 }
void addCommandLineParam(const std::string &name, const std::string &syntax, const std::string &doc_string)

◆ addBoolCapability()

Moose::Capability & MooseApp::addBoolCapability ( const std::string_view  capability,
const bool  value,
const std::string_view  doc 
)
staticprotected

Register a boolean capability.

Parameters
capabilityThe name of the capability
valueThe value of the boolean capability
docThe documentation string
Returns
The capability

Definition at line 3571 of file MooseApp.C.

3574 {
3575  return addCapabilityInternal(capability, value, doc);
3576 }
static Moose::Capability & addCapabilityInternal(const std::string_view capability, const Moose::Capability::Value &value, const std::string_view doc)
Internal method for adding a capability.
Definition: MooseApp.C:2331

◆ addCapability()

Moose::Capability & MooseApp::addCapability ( const std::string_view  capability,
const Moose::Capability::Value value,
const std::string_view  doc 
)
staticprotected

Deprecated method for adding a capability.

It is deprecated due to ambiguity between compilers with an implicit conversion for CapabilityValue (a variant).

Use one of add[Bool,Int,String]Capability instead.

Parameters
capabilityThe name of the capability
valueThe value of the capability
docThe documentation string
Returns
The capability

Definition at line 3595 of file MooseApp.C.

3598 {
3599 
3600  // Warn deprecation on the first time this is added so that we
3601  // don't get multiple warnings if the app is registered more
3602  // than once
3603  if (!Moose::internal::Capabilities::getCapabilities({}).query(std::string(capability)))
3604  ::mooseDeprecated("MooseApp::addCapability() is deprecated (adding capability '",
3605  capability,
3606  "'); use one of MooseApp::add[Bool,Int,String]Capability instead.");
3607 
3608  return addCapabilityInternal(capability, value, doc);
3609 }
static Capabilities & getCapabilities(const GetCapabilitiesPassKey)
Get the singleton Capabilities.
Definition: Capabilities.C:52
void mooseDeprecated(Args &&... args) const
Emits a deprecation warning prefixed with the object name and type, and a stack trace.
Definition: MooseBase.h:317
query_obj query
static Moose::Capability & addCapabilityInternal(const std::string_view capability, const Moose::Capability::Value &value, const std::string_view doc)
Internal method for adding a capability.
Definition: MooseApp.C:2331

◆ addCapabilityInternal()

Moose::Capability & MooseApp::addCapabilityInternal ( const std::string_view  capability,
const Moose::Capability::Value value,
const std::string_view  doc 
)
staticprivate

Internal method for adding a capability.

Used to catch exceptions and report them as a mooseError.

Parameters
capabilityThe name of the capability
valueThe value of the capability
docThe documentation string
Returns
The capability

Definition at line 2331 of file MooseApp.C.

Referenced by addBoolCapability(), addCapability(), addIntCapability(), and addStringCapability().

2334 {
2335  try
2336  {
2337  return Moose::internal::Capabilities::getCapabilities({}).add(capability, value, doc);
2338  }
2339  catch (const std::exception & e)
2340  {
2341  ::mooseError(e.what());
2342  }
2343 }
static Capabilities & getCapabilities(const GetCapabilitiesPassKey)
Get the singleton Capabilities.
Definition: Capabilities.C:52
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

◆ addExecutor()

void MooseApp::addExecutor ( const std::string &  type,
const std::string &  name,
const InputParameters params 
)

Definition at line 1859 of file MooseApp.C.

Referenced by recursivelyCreateExecutors().

1862 {
1863  std::shared_ptr<Executor> executor = _factory.create<Executor>(type, name, params);
1864 
1865  if (_executors.count(executor->name()) > 0)
1866  mooseError("an executor with name '", executor->name(), "' already exists");
1867  _executors[executor->name()] = executor;
1868 }
std::map< std::string, std::shared_ptr< Executor > > _executors
Pointers to all of the Executors for this run.
Definition: MooseApp.h:1370
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103
virtual std::unique_ptr< Base > create()=0
const std::string & type() const
Get the type of this class.
Definition: MooseBase.h:93
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
Factory _factory
Definition: MooseApp.h:1402
The Executor class directs the execution flow of simulations.
Definition: Executor.h:26

◆ addExecutorParams()

void MooseApp::addExecutorParams ( const std::string &  type,
const std::string &  name,
const InputParameters params 
)

Adds the parameters for an Executor to the list of parameters.

This is done so that the Executors can be created in exactly the correct order.

Definition at line 1871 of file MooseApp.C.

Referenced by ReadExecutorParamsAction::act().

1874 {
1875  _executor_params[name] = std::make_pair(type, std::make_unique<InputParameters>(params));
1876 }
std::unordered_map< std::string, std::pair< std::string, std::unique_ptr< InputParameters > > > _executor_params
Used in building the Executors Maps the name of the Executor block to the <type, params> ...
Definition: MooseApp.h:1375
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103
const std::string & type() const
Get the type of this class.
Definition: MooseBase.h:93

◆ addInputParam()

void MooseApp::addInputParam ( InputParameters params)
static

Definition at line 271 of file MooseApp.C.

Referenced by AppFactory::createAppShared(), Moose::createMooseApp(), and validParams().

272 {
273  params.addCommandLineParam<std::vector<std::string>>(
274  "input_file", "-i <input file(s)>", "Specify input file(s); multiple files are merged");
275 }
void addCommandLineParam(const std::string &name, const std::string &syntax, const std::string &doc_string)

◆ addIntCapability()

Moose::Capability & MooseApp::addIntCapability ( const std::string_view  capability,
const int  value,
const std::string_view  doc 
)
staticprotected

Register an integer capability.

Parameters
capabilityThe name of the capability
valueThe value of the integer capability
docThe documentation string
Returns
The capability

Definition at line 3579 of file MooseApp.C.

3582 {
3583  return addCapabilityInternal(capability, value, doc);
3584 }
static Moose::Capability & addCapabilityInternal(const std::string_view capability, const Moose::Capability::Value &value, const std::string_view doc)
Internal method for adding a capability.
Definition: MooseApp.C:2331

◆ addMeshGenerator()

void MooseApp::addMeshGenerator ( const std::string &  type,
const std::string &  name,
const InputParameters params 
)
inline

Add a mesh generator that will act on the meshes in the system.

Parameters
typeThe type of MeshGenerator
nameThe name of the MeshGenerator
paramsThe params used to construct the MeshGenerator

See MeshGeneratorSystem::addMeshGenerator()

Definition at line 902 of file MooseApp.h.

Referenced by AddMeshGeneratorAction::act(), and MeshGenerator::addMeshSubgenerator().

905  {
907  }
void addMeshGenerator(const std::string &type, const std::string &name, const InputParameters &params)
Add a mesh generator that will act on the meshes in the system.
MeshGeneratorSystem _mesh_generator_system
The system that manages the MeshGenerators.
Definition: MooseApp.h:1692
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103
const std::string & type() const
Get the type of this class.
Definition: MooseBase.h:93

◆ addRelationshipManager()

bool MooseApp::addRelationshipManager ( std::shared_ptr< RelationshipManager relationship_manager)

Transfers ownership of a RelationshipManager to the application for lifetime management.

The RelationshipManager will NOT be duplicately added if an equivalent RelationshipManager is already active. In that case, it's possible that the object will be destroyed if the reference count drops to zero.

Definition at line 2991 of file MooseApp.C.

Referenced by AdaptivityAction::act(), SetAdaptivityOptionsAction::act(), AddPeriodicBCAction::act(), CreateDisplacedProblemAction::addProxyRelationshipManagers(), Action::addRelationshipManager(), and FunctorSmootherTempl< T >::FunctorSmootherTempl().

2992 {
2993  // We prefer to always add geometric RMs. There is no hurt to add RMs for replicated mesh
2994  // since MeshBase::delete_remote_elements{} is a no-op (empty) for replicated mesh.
2995  // The motivation here is that MooseMesh::_use_distributed_mesh may not be properly set
2996  // at the time we are adding geometric relationship managers. We deleted the following
2997  // old logic to add all geometric RMs regardless of there is a distributed mesh or not.
2998  // Otherwise, all geometric RMs will be improperly ignored for a distributed mesh generator.
2999 
3000  // if (!_action_warehouse.mesh()->isDistributedMesh() && !_split_mesh &&
3001  // (relationship_manager->isType(Moose::RelationshipManagerType::GEOMETRIC) &&
3002  // !(relationship_manager->isType(Moose::RelationshipManagerType::ALGEBRAIC) ||
3003  // relationship_manager->isType(Moose::RelationshipManagerType::COUPLING))))
3004  // return false;
3005 
3006  bool add = true;
3007 
3008  std::set<std::shared_ptr<RelationshipManager>> rms_to_erase;
3009 
3010  for (const auto & existing_rm : _relationship_managers)
3011  {
3012  if (*existing_rm >= *new_rm)
3013  {
3014  add = false;
3015  donateForWhom(*new_rm, *existing_rm);
3016  break;
3017  }
3018  // The new rm did not provide less or the same amount/type of ghosting as the existing rm, but
3019  // what about the other way around?
3020  else if (*new_rm >= *existing_rm)
3021  rms_to_erase.emplace(existing_rm);
3022  }
3023 
3024  if (add)
3025  {
3026  _relationship_managers.emplace(new_rm);
3027  for (const auto & rm_to_erase : rms_to_erase)
3028  {
3029  donateForWhom(*rm_to_erase, *new_rm);
3030  removeRelationshipManager(rm_to_erase);
3031  }
3032  }
3033 
3034  // Inform the caller whether the object was added or not
3035  return add;
3036 }
void removeRelationshipManager(std::shared_ptr< RelationshipManager > relationship_manager)
Purge this relationship manager from meshes and DofMaps and finally from us.
Definition: MooseApp.C:3093
std::set< std::shared_ptr< RelationshipManager > > _relationship_managers
The relationship managers that have been added.
Definition: MooseApp.h:1454

◆ addStringCapability()

Moose::Capability & MooseApp::addStringCapability ( const std::string_view  capability,
const std::string_view  value,
const std::string_view  doc 
)
staticprotected

Register a string capability.

Parameters
capabilityThe name of the capability
valueThe value of the string capability
docThe documentation string
Returns
The capability

Definition at line 3587 of file MooseApp.C.

3590 {
3591  return addCapabilityInternal(capability, std::string(value), doc);
3592 }
static Moose::Capability & addCapabilityInternal(const std::string_view capability, const Moose::Capability::Value &value, const std::string_view doc)
Internal method for adding a capability.
Definition: MooseApp.C:2331

◆ allocateKokkosMemoryPool()

void MooseApp::allocateKokkosMemoryPool ( std::size_t  size,
unsigned int  ways 
) const

Allocate Kokkos memory pool.

Parameters
sizeThe memory pool size in the number of bytes
waysThe number of parallel ways

◆ appBinaryName()

virtual std::string MooseApp::appBinaryName ( ) const
inlinevirtual

Definition at line 150 of file MooseApp.h.

Referenced by copyInputs(), run(), and runInputs().

151  {
153  name = name.substr(0, name.find_last_of("-"));
154  if (name.find_first_of("/") != std::string::npos)
155  name = name.substr(name.find_first_of("/") + 1, std::string::npos);
156  return name;
157  }
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103
std::string getExecutableName()
Gets the name of the running executable on Mac OS X and linux.

◆ appendMeshGenerator()

const MeshGenerator& MooseApp::appendMeshGenerator ( const std::string &  type,
const std::string &  name,
InputParameters  params 
)
inline

Append a mesh generator that will act on the final mesh generator in the system.

Parameters
typeThe type of MeshGenerator
nameThe name of the MeshGenerator
paramsThe params used to construct the MeshGenerator

See MeshGeneratorSystem::appendMeshGenerator()

Definition at line 953 of file MooseApp.h.

954  {
956  }
const MeshGenerator & appendMeshGenerator(const std::string &type, const std::string &name, InputParameters params)
Append a mesh generator that will act on the current final mesh generator in the system.
MeshGeneratorSystem _mesh_generator_system
The system that manages the MeshGenerators.
Definition: MooseApp.h:1692
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103
const std::string & type() const
Get the type of this class.
Definition: MooseBase.h:93

◆ appNameToLibName()

std::string MooseApp::appNameToLibName ( const std::string &  app_name) const

Converts an application name to a library name: Examples: AnimalApp -> libanimal-oprof.la (assuming METHOD=oprof) ThreeWordAnimalApp -> libthree_word_animal-dbg.la (assuming METHOD=dbg)

Definition at line 2421 of file MooseApp.C.

Referenced by dynamicAllRegistration(), and dynamicAppRegistration().

2422 {
2423  std::string library_name(app_name);
2424 
2425  // Strip off the App part (should always be the last 3 letters of the name)
2426  size_t pos = library_name.find("App");
2427  if (pos != library_name.length() - 3)
2428  mooseError("Invalid application name: ", library_name);
2429  library_name.erase(pos);
2430 
2431  // Now get rid of the camel case, prepend lib, and append the method and suffix
2432  return std::string("lib") + MooseUtils::camelCaseToUnderscore(library_name) + '-' +
2433  QUOTE(METHOD) + ".la";
2434 }
std::string camelCaseToUnderscore(const std::string &camel_case_name)
Definition: MooseUtils.C:579
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

◆ attachRelationshipManagers() [1/2]

void MooseApp::attachRelationshipManagers ( Moose::RelationshipManagerType  rm_type,
bool  attach_geometric_rm_final = false 
)

Attach the relationship managers of the given type Note: Geometric relationship managers that are supposed to be attached late will be attached when Algebraic are attached.

Definition at line 3204 of file MooseApp.C.

Referenced by AddRelationshipManager::act(), CouplingFunctorCheckAction::act(), and MooseMesh::buildTypedMesh().

3206 {
3207  for (auto & rm : _relationship_managers)
3208  {
3209  if (!rm->isType(rm_type))
3210  continue;
3211 
3212  // RM is already attached (this also handles the geometric early case)
3213  if (_attached_relationship_managers[rm_type].count(rm.get()))
3214  continue;
3215 
3217  {
3218  // The problem is not built yet - so the ActionWarehouse currently owns the mesh
3219  MooseMesh * const mesh = _action_warehouse.mesh().get();
3220 
3221  // "attach_geometric_rm_final = true" inidicate that it is the last chance to attach
3222  // geometric RMs. Therefore, we need to attach them.
3223  if (!rm->attachGeometricEarly() && !attach_geometric_rm_final)
3224  // Will attach them later (during algebraic). But also, we need to tell the mesh that we
3225  // shouldn't be deleting remote elements yet
3226  mesh->allowRemoteElementRemoval(false);
3227  else
3228  {
3229  MeshBase & undisp_mesh_base = mesh->getMesh();
3230  const DofMap * const undisp_sys_dof_map =
3231  _executioner ? &feProblem().getSolverSystem(0).dofMap() : nullptr;
3232  undisp_mesh_base.add_ghosting_functor(
3233  createRMFromTemplateAndInit(*rm, *mesh, undisp_mesh_base, undisp_sys_dof_map));
3234 
3235  // In the final stage, if there is a displaced mesh, we need to
3236  // clone ghosting functors for displacedMesh
3237  if (auto & disp_moose_mesh = _action_warehouse.displacedMesh();
3238  attach_geometric_rm_final && disp_moose_mesh)
3239  {
3240  MeshBase & disp_mesh_base = _action_warehouse.displacedMesh()->getMesh();
3241  const DofMap * disp_sys_dof_map = nullptr;
3242  if (_executioner && feProblem().getDisplacedProblem())
3243  disp_sys_dof_map = &feProblem().getDisplacedProblem()->solverSys(0).dofMap();
3244  disp_mesh_base.add_ghosting_functor(
3245  createRMFromTemplateAndInit(*rm, *disp_moose_mesh, disp_mesh_base, disp_sys_dof_map));
3246  }
3247  else if (_action_warehouse.displacedMesh())
3248  mooseError("The displaced mesh should not yet exist at the time that we are attaching "
3249  "early geometric relationship managers.");
3250 
3251  // Mark this RM as attached
3252  mooseAssert(!_attached_relationship_managers[rm_type].count(rm.get()), "Already attached");
3253  _attached_relationship_managers[rm_type].insert(rm.get());
3254  }
3255  }
3256  else // rm_type is algebraic or coupling
3257  {
3258  if (!_executioner && !_executor)
3259  mooseError("We must have an executioner by now or else we do not have to data to add "
3260  "algebraic or coupling functors to in MooseApp::attachRelationshipManagers");
3261 
3262  // Now we've built the problem, so we can use it
3263  auto & problem = feProblem();
3264  auto & undisp_moose_mesh = problem.mesh();
3265  auto & undisp_sys = feProblem().getSolverSystem(0);
3266  auto & undisp_sys_dof_map = undisp_sys.dofMap();
3267  auto & undisp_mesh = undisp_moose_mesh.getMesh();
3268 
3269  if (rm->useDisplacedMesh() && problem.getDisplacedProblem())
3270  {
3272  // We actually need to add this to the FEProblemBase NonlinearSystemBase's DofMap
3273  // because the DisplacedProblem "nonlinear" DisplacedSystem doesn't have any matrices
3274  // for which to do coupling. It's actually horrifying to me that we are adding a
3275  // coupling functor, that is going to determine its couplings based on a displaced
3276  // MeshBase object, to a System associated with the undisplaced MeshBase object (there
3277  // is only ever one EquationSystems object per MeshBase object and visa versa). So here
3278  // I'm left with the choice of whether to pass in a MeshBase object that is *not* the
3279  // MeshBase object that will actually determine the couplings or to pass in the MeshBase
3280  // object that is inconsistent with the System DofMap that we are adding the coupling
3281  // functor for! Let's err on the side of *libMesh* consistency and pass properly paired
3282  // MeshBase-DofMap
3283  problem.addCouplingGhostingFunctor(
3284  createRMFromTemplateAndInit(*rm, undisp_moose_mesh, undisp_mesh, &undisp_sys_dof_map),
3285  /*to_mesh = */ false);
3286 
3287  else if (rm_type == Moose::RelationshipManagerType::ALGEBRAIC)
3288  {
3289  auto & displaced_problem = *problem.getDisplacedProblem();
3290  auto & disp_moose_mesh = displaced_problem.mesh();
3291  auto & disp_mesh = disp_moose_mesh.getMesh();
3292  const DofMap * const disp_nl_dof_map = &displaced_problem.solverSys(0).dofMap();
3293  displaced_problem.addAlgebraicGhostingFunctor(
3294  createRMFromTemplateAndInit(*rm, disp_moose_mesh, disp_mesh, disp_nl_dof_map),
3295  /*to_mesh = */ false);
3296  }
3297  }
3298  else // undisplaced
3299  {
3301  problem.addCouplingGhostingFunctor(
3302  createRMFromTemplateAndInit(*rm, undisp_moose_mesh, undisp_mesh, &undisp_sys_dof_map),
3303  /*to_mesh = */ false);
3304 
3305  else if (rm_type == Moose::RelationshipManagerType::ALGEBRAIC)
3306  problem.addAlgebraicGhostingFunctor(
3307  createRMFromTemplateAndInit(*rm, undisp_moose_mesh, undisp_mesh, &undisp_sys_dof_map),
3308  /*to_mesh = */ false);
3309  }
3310 
3311  // Mark this RM as attached
3312  mooseAssert(!_attached_relationship_managers[rm_type].count(rm.get()), "Already attached");
3313  _attached_relationship_managers[rm_type].insert(rm.get());
3314  }
3315  }
3316 }
std::map< Moose::RelationshipManagerType, std::set< const RelationshipManager * > > _attached_relationship_managers
The relationship managers that have been attached (type -> RMs)
Definition: MooseApp.h:1458
std::shared_ptr< DisplacedProblem > displaced_problem
std::shared_ptr< MooseMesh > & displacedMesh()
MeshBase & mesh
ActionWarehouse _action_warehouse
Where built actions are stored.
Definition: MooseApp.h:1328
FEProblemBase & feProblem() const
Definition: MooseApp.C:1852
RelationshipManager & createRMFromTemplateAndInit(const RelationshipManager &template_rm, MooseMesh &moose_mesh, MeshBase &mesh, const libMesh::DofMap *dof_map=nullptr)
Take an input relationship manager, clone it, and then initialize it with provided mesh and optional ...
Definition: MooseApp.C:3135
std::shared_ptr< MooseMesh > & mesh()
virtual libMesh::DofMap & dofMap()
Gets writeable reference to the dof map.
Definition: SystemBase.C:1164
unsigned int count
Definition: MortarUtils.C:53
std::shared_ptr< Executioner > _executioner
Pointer to the executioner of this run (typically build by actions)
Definition: MooseApp.h:1364
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition: MooseMesh.h:94
virtual std::shared_ptr< const DisplacedProblem > getDisplacedProblem() const
std::set< std::shared_ptr< RelationshipManager > > _relationship_managers
The relationship managers that have been added.
Definition: MooseApp.h:1454
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
SolverSystem & getSolverSystem(unsigned int sys_num)
Get non-constant reference to a solver system.
std::shared_ptr< Executor > _executor
Pointer to the Executor of this run.
Definition: MooseApp.h:1367
void add_ghosting_functor(GhostingFunctor &ghosting_functor)

◆ attachRelationshipManagers() [2/2]

void MooseApp::attachRelationshipManagers ( MeshBase &  mesh,
MooseMesh moose_mesh 
)

Attach geometric relationship managers to the given MeshBase object.

This API is designed to work with MeshGenerators which are executed at the very beginning of a simulation. No attempt will be made to add relationship managers to a displaced mesh, because it doesn't exist yet.

◆ backup() [1/2]

std::vector< std::filesystem::path > MooseApp::backup ( const std::filesystem::path &  folder_base)

Backs up the application to the folder folder_base.

Returns
The files that are written in the backup

Definition at line 1716 of file MooseApp.C.

Referenced by Checkpoint::output().

1717 {
1718  TIME_SECTION("backup", 2, "Backing Up Application to File");
1719 
1720  preBackup();
1721 
1723  return writer.write(folder_base);
1724 }
Writer for restartable data, to be read by the RestartableDataReader.
std::vector< RestartableDataMap > _restartable_data
Where the restartable data is held (indexed on tid)
Definition: MooseApp.h:1346
virtual void preBackup()
Insertion point for other apps that is called before backup()
Definition: MooseApp.h:770

◆ backup() [2/2]

std::unique_ptr< Backup > MooseApp::backup ( )

Backs up the application memory in a Backup.

Returns
The backup

Definition at line 1727 of file MooseApp.C.

Referenced by finalizeRestore(), and restore().

1728 {
1729  TIME_SECTION("backup", 2, "Backing Up Application");
1730 
1732 
1733  preBackup();
1734 
1735  auto backup = std::make_unique<Backup>();
1736  packMeshBackup(*this, *backup);
1737  writer.write(*backup->header, *backup->data);
1738 
1739  return backup;
1740 }
Writer for restartable data, to be read by the RestartableDataReader.
std::vector< RestartableDataMap > _restartable_data
Where the restartable data is held (indexed on tid)
Definition: MooseApp.h:1346
virtual void preBackup()
Insertion point for other apps that is called before backup()
Definition: MooseApp.h:770
std::unique_ptr< Backup > backup()
Backs up the application memory in a Backup.
Definition: MooseApp.C:1727

◆ builder()

Moose::Builder& MooseApp::builder ( )
inline

Returns a writable reference to the builder.

Definition at line 226 of file MooseApp.h.

Referenced by CreateProblemDefaultAction::act(), SetupMeshAction::act(), and MeshOnlyAction::act().

226 { return _builder; }
Moose::Builder _builder
Builder for building app related parser tree.
Definition: MooseApp.h:1343

◆ callMooseError() [1/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.

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

109 {
110  callMooseError(&_app, _pars, msg, with_prefix, node, show_trace);
111 }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:384
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

◆ callMooseError() [2/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 }
bool isUltimateMaster() const
Whether or not this app is the ultimate master app.
Definition: MooseApp.h:866
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103
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:53
void mooseConsole()
Send current output buffer to Console output objects.
const hit::Node * getHitNode() const
Definition: MooseBase.h:136
OutputWarehouse & getOutputWarehouse()
Get the OutputWarehouse objects.
Definition: MooseApp.C:2409
std::string messagePrefix(const bool hit_prefix=true) const
Definition: MooseBase.h:256

◆ checkInput()

bool MooseApp::checkInput ( ) const
inline

Returns whether the Application is running in check input mode.

Definition at line 976 of file MooseApp.h.

976 { return _check_input; }
const bool _check_input
true if we want to just check the input file
Definition: MooseApp.h:1451

◆ checkMetaDataIntegrity()

void MooseApp::checkMetaDataIntegrity ( ) const

Function to check the integrity of the restartable meta data structure.

Definition at line 3395 of file MooseApp.C.

Referenced by SetupRecoverFileBaseAction::act().

3396 {
3397  for (auto map_iter = _restartable_meta_data.begin(); map_iter != _restartable_meta_data.end();
3398  ++map_iter)
3399  {
3400  const RestartableDataMapName & name = map_iter->first;
3401  const RestartableDataMap & meta_data = map_iter->second.first;
3402 
3403  std::vector<std::string> not_declared;
3404 
3405  for (const auto & data : meta_data)
3406  if (!data.declared())
3407  not_declared.push_back(data.name());
3408 
3409  if (!not_declared.empty())
3410  {
3411  std::ostringstream oss;
3412  std::copy(
3413  not_declared.begin(), not_declared.end(), infix_ostream_iterator<std::string>(oss, ", "));
3414 
3415  mooseError("The following '",
3416  name,
3417  "' meta-data properties were retrieved but never declared: ",
3418  oss.str());
3419  }
3420  }
3421 }
std::unordered_map< RestartableDataMapName, std::pair< RestartableDataMap, std::string > > _restartable_meta_data
General storage for custom RestartableData that can be added to from outside applications.
Definition: MooseApp.h:1664
Storage for restartable data that is ordered based on insertion order.
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103
std::string RestartableDataMapName
Definition: MooseTypes.h:242
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

◆ checkpointSuffix()

const std::string & MooseApp::checkpointSuffix ( )
static

The file suffix for the checkpoint mesh.

Definition at line 3039 of file MooseApp.C.

Referenced by SetupRecoverFileBaseAction::act(), MFEMMesh::init(), MooseMesh::init(), and Checkpoint::output().

3040 {
3041  static const std::string suffix = "-mesh.cpa.gz";
3042  return suffix;
3043 }

◆ collectCitations()

void MooseApp::collectCitations ( std::map< std::string, std::string > &  citations) const
private

Collects the BibTeX citations for the modules/objects constructed in this app and the finite element backend it uses, then recurses into every MultiApp subapp to do the same.

The map is keyed by BibTeX key so a citation shared across apps is folded in only once.

Definition at line 2101 of file MooseApp.C.

Referenced by requestCitations().

2102 {
2103  // Gather the citations that apply to this app: for every object type actually constructed, the
2104  // citations registered for its owning app/module. The framework paper is tied to "MooseApp", so
2105  // it is gathered whenever a MooseApp object is used; apps composed of MooseApp inherit it. The
2106  // map is keyed by BibTeX key so a citation shared across apps is folded in only once.
2107  for (const auto & objname : _factory.getConstructedObjects())
2108  {
2109  mooseAssert(Registry::isRegisteredObj(objname),
2110  "Constructed object '" + objname + "' is not registered");
2111  const auto & app_citations = Registry::getCitations(Registry::objData(objname)._label);
2112  citations.insert(app_citations.begin(), app_citations.end());
2113  }
2114 
2115  // Credit the finite element backend actually used in the run. These are mutually exclusive, so
2116  // only the backend in use is cited.
2117  std::string backend = "libMesh";
2118 #ifdef MOOSE_MFEM_ENABLED
2120  backend = "MFEM";
2121 #endif
2122  const auto & backend_citations = Registry::getCitations(backend);
2123  citations.insert(backend_citations.begin(), backend_citations.end());
2124 
2125  // Recurse into the MultiApp subapps so that objects/modules used only inside subapps are still
2126  // attributed. Each subapp is a separate MooseApp whose run() (and thus requestCitations()) is
2127  // never called, so the master gathers their citations here. feProblem() asserts when there is no
2128  // executioner, so only descend once one exists; nested MultiApps are handled by the recursion.
2129  if (_executor || _executioner)
2130  for (const auto & multi_app : feProblem().getMultiAppWarehouse().getObjects())
2131  for (const auto i : make_range(multi_app->numLocalApps()))
2132  multi_app->localApp(i)->collectCitations(citations);
2133 }
static const std::map< std::string, std::map< std::string, std::string > > & getCitations()
Returns the registered citations, keyed by app/module name and then by BibTeX key (app/module name ->...
Definition: Registry.h:291
static const RegistryEntryBase & objData(const std::string &name)
Definition: Registry.C:58
ExecuteMooseObjectWarehouse< MultiApp > & getMultiAppWarehouse()
FEProblemBase & feProblem() const
Definition: MooseApp.C:1852
const std::vector< std::shared_ptr< T > > & getObjects(THREAD_ID tid=0) const
Retrieve complete vector to the all/block/boundary restricted objects for a given thread...
std::shared_ptr< Executioner > _executioner
Pointer to the executioner of this run (typically build by actions)
Definition: MooseApp.h:1364
virtual Moose::FEBackend feBackend() const
static bool isRegisteredObj(const std::string &name)
Definition: Registry.h:265
IntRange< T > make_range(T beg, T end)
Factory _factory
Definition: MooseApp.h:1402
std::shared_ptr< Executor > _executor
Pointer to the Executor of this run.
Definition: MooseApp.h:1367

◆ commandLine()

std::shared_ptr<CommandLine> MooseApp::commandLine ( ) const
inline

Get the command line.

Returns
The reference to the command line object Setup options based on InputParameters.

Definition at line 424 of file MooseApp.h.

Referenced by MultiApp::createApp(), Moose::Builder::errorCheck(), ConsoleUtils::outputExecutionInformation(), ConsoleUtils::outputFrameworkInformation(), and MooseServer::parseDocumentForDiagnostics().

424 { return _command_line; }
const std::shared_ptr< CommandLine > _command_line
The CommandLine object.
Definition: MooseApp.h:1337

◆ 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 }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:384
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
InputParameterWarehouse & getInputParameterWarehouse()
Get the InputParameterWarehouse for MooseObjects.
Definition: MooseApp.C:2867
MooseObjectName uniqueName() const
Definition: MooseBase.C:69
Factory & getFactory()
Retrieve a writable reference to the Factory associated with this App.
Definition: MooseApp.h:407
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103
MooseApp & _app
The MOOSE application this is associated with.
Definition: MooseBase.h:375
A class for storing an input parameter name.

◆ constructingMeshGenerators()

bool MooseApp::constructingMeshGenerators ( ) const
virtual

Whether this app is constructing mesh generators.

This is virtual to allow MooseUnitApp to override it so that we can construct MeshGenerators in unit tests

Definition at line 3494 of file MooseApp.C.

Referenced by MeshGenerator::addChildMeshGenerator(), MeshGeneratorSystem::addMeshGenerator(), MeshGenerator::addMeshSubgenerator(), MeshGenerator::addParentMeshGenerator(), MeshGenerator::checkGetMesh(), MeshGeneratorSystem::createMeshGenerator(), MeshGeneratorSystem::createMeshGeneratorOrder(), MeshGenerator::declareMeshProperty(), MeshGenerator::declareNullMeshName(), MeshGeneratorSystem::getCSGBaseGeneratorOutput(), and MeshGeneratorSystem::getMeshGeneratorOutput().

3495 {
3496  return _action_warehouse.getCurrentTaskName() == "create_added_mesh_generators" ||
3498 }
ActionWarehouse _action_warehouse
Where built actions are stored.
Definition: MooseApp.h:1328
MeshGeneratorSystem _mesh_generator_system
The system that manages the MeshGenerators.
Definition: MooseApp.h:1692
const std::string & getCurrentTaskName() const
bool appendingMeshGenerators() const
Whether or not mesh generators are currently being appended (append_mesh_generator task) ...

◆ copyInputs()

bool MooseApp::copyInputs ( )
private

Handles the copy_inputs input parameter logic: Checks to see whether the passed argument is valid (a readable installed directory) and recursively copies those files into a read/writable location for the user.

Returns
a Boolean value used to indicate whether the application should exit early

Definition at line 2209 of file MooseApp.C.

Referenced by run().

2210 {
2211  if (isParamSetByUser("copy_inputs"))
2212  {
2213  if (comm().size() > 1)
2214  mooseError("The --copy-inputs option should not be ran in parallel");
2215 
2216  // Get command line argument following --copy-inputs on command line
2217  auto dir_to_copy = getParam<std::string>("copy_inputs");
2218 
2219  if (dir_to_copy.empty())
2220  mooseError("Error retrieving directory to copy");
2221  if (dir_to_copy.back() != '/')
2222  dir_to_copy += '/';
2223 
2224  // This binary name is the actual binary. That is, if we called a symlink it'll
2225  // be the name of what the symlink points to
2226  auto binname = appBinaryName();
2227  if (binname == "")
2228  mooseError("could not locate installed tests to run (unresolved binary/app name)");
2229 
2230  auto src_dir = MooseUtils::installedInputsDir(
2231  binname,
2232  dir_to_copy,
2233  "Rerun binary with " + _pars.getCommandLineMetadata("show_inputs").switches[0] +
2234  " to get a list of installable directories.");
2235 
2236  // Use the command line here because if we have a symlink to another binary,
2237  // we want to dump into a directory that is named after the symlink not the true binary
2238  auto dst_dir = _command_line->getExecutableNameBase() + "/" + dir_to_copy;
2239  auto cmdname = _command_line->getExecutableName();
2240  if (cmdname.find_first_of("/") != std::string::npos)
2241  cmdname = cmdname.substr(cmdname.find_first_of("/") + 1, std::string::npos);
2242 
2243  if (MooseUtils::pathExists(dst_dir))
2244  mooseError(
2245  "The directory \"./",
2246  dst_dir,
2247  "\" already exists.\nTo update/recopy the contents of this directory, rename (\"mv ",
2248  dst_dir,
2249  " new_dir_name\") or remove (\"rm -r ",
2250  dst_dir,
2251  "\") the existing directory.\nThen re-run \"",
2252  cmdname,
2253  " --copy-inputs ",
2254  dir_to_copy,
2255  "\".");
2256 
2257  std::string cmd = "mkdir -p " + dst_dir + "; rsync -av " + src_dir + " " + dst_dir;
2258 
2259  TIME_SECTION("copy_inputs", 2, "Copying Inputs");
2260 
2261  mooseAssert(comm().size() == 1, "Should be run in serial");
2262  const auto return_value = system(cmd.c_str());
2263  if (!WIFEXITED(return_value))
2264  mooseError("Process exited unexpectedly");
2265  setExitCode(WEXITSTATUS(return_value));
2266  if (exitCode() == 0)
2267  Moose::out << "Directory successfully copied into ./" << dst_dir << '\n';
2268  return true;
2269  }
2270  return false;
2271 }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:384
virtual std::string appBinaryName() const
Definition: MooseApp.h:150
const Parallel::Communicator & comm() const
int exitCode() const
Get the shell exit code for the application.
Definition: MooseApp.h:163
std::string installedInputsDir(const std::string &app_name, const std::string &dir_name, const std::string &extra_error_msg)
Definition: MooseUtils.C:114
const std::shared_ptr< CommandLine > _command_line
The CommandLine object.
Definition: MooseApp.h:1337
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
const InputParameters::CommandLineMetadata & getCommandLineMetadata(const std::string &name) const
std::vector< std::string > switches
The switches for the parameter (i.e., [-t, –timing])
bool pathExists(const std::string &path)
Definition: MooseUtils.C:258
void setExitCode(const int exit_code)
Sets the exit code that the application will exit with.
Definition: MooseApp.h:168
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

◆ createExecutors()

void MooseApp::createExecutors ( )

After adding all of the Executor Params - this function will actually cause all of them to be built.

Definition at line 1944 of file MooseApp.C.

Referenced by AddExecutorAction::act().

1945 {
1946  // Do we have any?
1947  if (_executor_params.empty())
1948  return;
1949 
1950  // Holds the names of Executors that may be the root executor
1951  std::list<std::string> possibly_root;
1952 
1953  // What is already built
1954  std::map<std::string, bool> already_built;
1955 
1956  // The Executors that are currently candidates for being roots
1957  std::list<std::string> possible_roots;
1958 
1959  // The current line of dependencies - used for finding cycles
1960  std::list<std::string> current_branch;
1961 
1962  // Build the NullExecutor
1963  {
1964  auto params = _factory.getValidParams("NullExecutor");
1965  _null_executor = _factory.create<NullExecutor>("NullExecutor", "_null_executor", params);
1966  }
1967 
1968  for (const auto & params_entry : _executor_params)
1969  {
1970  const auto & name = params_entry.first;
1971 
1972  // Did we already make this one?
1973  if (_executors.find(name) != _executors.end())
1974  continue;
1975 
1976  possible_roots.emplace_back(name);
1977 
1978  recursivelyCreateExecutors(name, possible_roots, current_branch);
1979  }
1980 
1981  // If there is more than one possible root - error
1982  if (possible_roots.size() > 1)
1983  {
1984  auto root_string_it = possible_roots.begin();
1985 
1986  std::stringstream roots_string;
1987 
1988  roots_string << *root_string_it++;
1989 
1990  for (; root_string_it != possible_roots.end(); ++root_string_it)
1991  roots_string << ", " << *root_string_it;
1992 
1993  mooseError("Multiple Executor roots found: ", roots_string.str());
1994  }
1995 
1996  // Set the root executor
1997  _executor = _executors[possible_roots.front()];
1998 }
std::unordered_map< std::string, std::pair< std::string, std::unique_ptr< InputParameters > > > _executor_params
Used in building the Executors Maps the name of the Executor block to the <type, params> ...
Definition: MooseApp.h:1375
void recursivelyCreateExecutors(const std::string &current_executor_name, std::list< std::string > &possible_roots, std::list< std::string > &current_branch)
Internal function used to recursively create the executor objects.
Definition: MooseApp.C:1892
std::map< std::string, std::shared_ptr< Executor > > _executors
Pointers to all of the Executors for this run.
Definition: MooseApp.h:1370
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103
std::shared_ptr< NullExecutor > _null_executor
Used to return an executor that does nothing.
Definition: MooseApp.h:1386
virtual std::unique_ptr< Base > create()=0
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
Factory _factory
Definition: MooseApp.h:1402
std::shared_ptr< Executor > _executor
Pointer to the Executor of this run.
Definition: MooseApp.h:1367

◆ createMinimalApp()

void MooseApp::createMinimalApp ( )
private

Method for creating the minimum required actions for an application (no input file)

Mimics the following input file:

[Mesh] type = GeneratedMesh dim = 1 nx = 1 []

[Executioner] type = Transient num_steps = 1 dt = 1 []

[Problem] solve = false []

[Outputs] console = false []

Definition at line 2891 of file MooseApp.C.

Referenced by setupOptions().

2892 {
2893  TIME_SECTION("createMinimalApp", 3, "Creating Minimal App");
2894 
2895  // SetupMeshAction
2896  {
2897  // Build the Action parameters
2898  InputParameters action_params = _action_factory.getValidParams("SetupMeshAction");
2899  action_params.set<std::string>("type") = "GeneratedMesh";
2900 
2901  // Create The Action
2902  std::shared_ptr<MooseObjectAction> action = std::static_pointer_cast<MooseObjectAction>(
2903  _action_factory.create("SetupMeshAction", "Mesh", action_params));
2904 
2905  // Set the object parameters
2906  InputParameters & params = action->getObjectParams();
2907  params.set<MooseEnum>("dim") = "1";
2908  params.set<unsigned int>("nx") = 1;
2909 
2910  // Add Action to the warehouse
2912  }
2913 
2914  // Executioner
2915  {
2916  // Build the Action parameters
2917  InputParameters action_params = _action_factory.getValidParams("CreateExecutionerAction");
2918  action_params.set<std::string>("type") = "Transient";
2919 
2920  // Create the action
2921  std::shared_ptr<MooseObjectAction> action = std::static_pointer_cast<MooseObjectAction>(
2922  _action_factory.create("CreateExecutionerAction", "Executioner", action_params));
2923 
2924  // Set the object parameters
2925  InputParameters & params = action->getObjectParams();
2926  params.set<unsigned int>("num_steps") = 1;
2927  params.set<Real>("dt") = 1;
2928 
2929  // Add Action to the warehouse
2931  }
2932 
2933  // Problem
2934  {
2935  // Build the Action parameters
2936  InputParameters action_params = _action_factory.getValidParams("CreateProblemDefaultAction");
2937  action_params.set<bool>("_solve") = false;
2938 
2939  // Create the action
2940  std::shared_ptr<Action> action = std::static_pointer_cast<Action>(
2941  _action_factory.create("CreateProblemDefaultAction", "Problem", action_params));
2942 
2943  // Add Action to the warehouse
2945  }
2946 
2947  // Outputs
2948  {
2949  // Build the Action parameters
2950  InputParameters action_params = _action_factory.getValidParams("CommonOutputAction");
2951  action_params.set<bool>("console") = false;
2952 
2953  // Create action
2954  std::shared_ptr<Action> action =
2955  _action_factory.create("CommonOutputAction", "Outputs", action_params);
2956 
2957  // Add Action to the warehouse
2959  }
2960 
2962 }
InputParameters getValidParams(const std::string &name)
Definition: ActionFactory.C:94
T & set(const std::string &name, bool quiet_mode=false)
Returns a writable reference to the named parameters.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
void addActionBlock(std::shared_ptr< Action > blk)
This method add an Action instance to the warehouse.
ActionWarehouse _action_warehouse
Where built actions are stored.
Definition: MooseApp.h:1328
Base class for actions.
Definition: Action.h:34
std::shared_ptr< Action > create(const std::string &action, const std::string &action_name, InputParameters &parameters)
Definition: ActionFactory.C:40
ActionFactory _action_factory
The Factory responsible for building Actions.
Definition: MooseApp.h:1325
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition: MooseEnum.h:54
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void build()
Builds all auto-buildable tasks.

◆ createRecoverablePerfGraph()

PerfGraph & MooseApp::createRecoverablePerfGraph ( )
private

Creates a recoverable PerfGraph.

This is a separate method so that it can be used in the constructor (multiple calls are required to declare it).

Definition at line 3463 of file MooseApp.C.

3464 {
3466 
3467  auto perf_graph =
3468  std::make_unique<RestartableData<PerfGraph>>("perf_graph",
3469  this,
3470  type() + " (" + name() + ')',
3471  *this,
3472  getParam<bool>("perf_graph_live_all"),
3473  !getParam<bool>("disable_perf_graph_live"));
3474 
3475  return dynamic_cast<RestartableData<PerfGraph> &>(
3476  registerRestartableData(std::move(perf_graph), 0, false))
3477  .set();
3478 }
void registerRestartableNameWithFilter(const std::string &name, Moose::RESTARTABLE_FILTER filter)
NOTE: This is an internal function meant for MOOSE use only!
Definition: MooseApp.C:1701
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103
RestartableDataValue & registerRestartableData(std::unique_ptr< RestartableDataValue > data, THREAD_ID tid, bool read_only, const RestartableDataMapName &metaname="")
Definition: MooseApp.C:2449
const std::string & type() const
Get the type of this class.
Definition: MooseBase.h:93
Concrete definition of a parameter value for a specified type.

◆ createRecoverableSolutionInvalidity()

SolutionInvalidity & MooseApp::createRecoverableSolutionInvalidity ( )
private

Creates a recoverable SolutionInvalidity.

This is a separate method so that it can be used in the constructor (multiple calls are required to declare it).

Definition at line 3481 of file MooseApp.C.

3482 {
3484 
3485  auto solution_invalidity =
3486  std::make_unique<RestartableData<SolutionInvalidity>>("solution_invalidity", nullptr, *this);
3487 
3488  return dynamic_cast<RestartableData<SolutionInvalidity> &>(
3489  registerRestartableData(std::move(solution_invalidity), 0, false))
3490  .set();
3491 }
void registerRestartableNameWithFilter(const std::string &name, Moose::RESTARTABLE_FILTER filter)
NOTE: This is an internal function meant for MOOSE use only!
Definition: MooseApp.C:1701
RestartableDataValue & registerRestartableData(std::unique_ptr< RestartableDataValue > data, THREAD_ID tid, bool read_only, const RestartableDataMapName &metaname="")
Definition: MooseApp.C:2449
Concrete definition of a parameter value for a specified type.

◆ createRMFromTemplateAndInit()

RelationshipManager & MooseApp::createRMFromTemplateAndInit ( const RelationshipManager template_rm,
MooseMesh moose_mesh,
MeshBase mesh,
const libMesh::DofMap dof_map = nullptr 
)
private

Take an input relationship manager, clone it, and then initialize it with provided mesh and optional dof_map.

Parameters
template_rmThe relationship manager template from which we will clone
moose_meshThe moose mesh to use for initialization
meshThe mesh to use for initialization
dof_mapAn optional parameter that, if provided, will be used to help init the cloned relationship manager
Returns
a reference to the cloned and initialized relationship manager

Definition at line 3135 of file MooseApp.C.

Referenced by attachRelationshipManagers().

3139 {
3140  auto & mesh_to_clone = _template_to_clones[&template_rm];
3141  auto it = mesh_to_clone.find(&mesh);
3142  if (it != mesh_to_clone.end())
3143  {
3144  // We've already created a clone for this mesh
3145  auto & clone_rm = *it->second;
3146  if (!clone_rm.dofMap() && dof_map)
3147  // We didn't have a DofMap before, but now we do, so we should re-init
3148  clone_rm.init(moose_mesh, mesh, dof_map);
3149  else if (clone_rm.dofMap() && dof_map && (clone_rm.dofMap() != dof_map))
3150  mooseError("Attempting to create and initialize an existing clone with a different DofMap. "
3151  "This should not happen.");
3152 
3153  return clone_rm;
3154  }
3155 
3156  // It's possible that this method is going to get called for multiple different MeshBase
3157  // objects. If that happens, then we *cannot* risk having a MeshBase object with a ghosting
3158  // functor that is init'd with another MeshBase object. So the safe thing to do is to make a
3159  // different RM for every MeshBase object that gets called here. Then the
3160  // RelationshipManagers stored here in MooseApp are serving as a template only
3161  auto pr = mesh_to_clone.emplace(
3162  std::make_pair(&const_cast<const MeshBase &>(mesh),
3163  dynamic_pointer_cast<RelationshipManager>(template_rm.clone())));
3164  mooseAssert(pr.second, "An insertion should have happened");
3165  auto & clone_rm = *pr.first->second;
3166  clone_rm.init(moose_mesh, mesh, dof_map);
3167  return clone_rm;
3168 }
virtual std::unique_ptr< GhostingFunctor > clone() const=0
std::map< const RelationshipManager *, std::map< const MeshBase *, std::unique_ptr< RelationshipManager > > > _template_to_clones
Map from a template relationship manager to a map in which the key-value pairs represent the MeshBase...
Definition: MooseApp.h:1724
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

◆ deallocateKokkosMemoryPool()

void MooseApp::deallocateKokkosMemoryPool ( )
private

Deallocate Kokkos memory pool.

◆ defaultAutomaticScaling()

bool MooseApp::defaultAutomaticScaling ( ) const
inline

Whether to enable automatic scaling by default.

Definition at line 1055 of file MooseApp.h.

1055 { return _automatic_automatic_scaling; }
const bool _automatic_automatic_scaling
Whether to turn on automatic scaling by default.
Definition: MooseApp.h:1712

◆ determineLibtorchDeviceType()

torch::DeviceType MooseApp::determineLibtorchDeviceType ( const MooseEnum device) const
private

Function to determine the device which should be used by libtorch on this application.

We use this function to decide what is available on different builds.

Parameters
deviceEnum to describe if a cpu or a gpu should be used.

Definition at line 3502 of file MooseApp.C.

3503 {
3504  const auto pname = "--compute-device";
3505  if (device_enum == "cuda")
3506  {
3507 #ifdef __linux__
3508  if (!torch::cuda::is_available())
3509  mooseError(pname, "=cuda: CUDA support is not available in the linked libtorch library");
3510  return torch::kCUDA;
3511 #else
3512  mooseError(pname, "=cuda: CUDA is not supported on your platform");
3513 #endif
3514  }
3515  else if (device_enum == "mps")
3516  {
3517 #ifdef __APPLE__
3518  if (!torch::mps::is_available())
3519  mooseError(pname, "=mps: MPS support is not available in the linked libtorch library");
3520  return torch::kMPS;
3521 #else
3522  mooseError(pname, "=mps: MPS is not supported on your platform");
3523 #endif
3524  }
3525  else if (device_enum == "xpu")
3526  {
3527 #ifdef MOOSE_HAVE_XPU
3528  if (!torch::xpu::is_available())
3529  mooseError(pname, "=xpu: XPU support is not available in the linked libtorch library");
3530  return torch::kXPU;
3531 #else
3532  mooseError(pname, "=xpu: XPU is not supported in the current application");
3533 #endif
3534  }
3535  else if (device_enum != "cpu")
3536  mooseError("The device '",
3537  device_enum,
3538  "' is not currently supported by the MOOSE libtorch integration.");
3539  return torch::kCPU;
3540 }
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

◆ disableCheckUnusedFlag()

void MooseApp::disableCheckUnusedFlag ( )

Removes warnings and error checks for unrecognized variables in the input file.

Definition at line 1846 of file MooseApp.C.

1847 {
1849 }
enum MooseApp::UNUSED_CHECK _enable_unused_check

◆ dynamicAllRegistration()

void MooseApp::dynamicAllRegistration ( const std::string &  app_name,
Factory factory,
ActionFactory action_factory,
Syntax syntax,
std::string  library_path,
const std::string &  library_name 
)

Thes methods are called to register applications or objects on demand.

This method attempts to load a dynamic library and register it when it is needed. Throws an error if no suitable library is found that contains the app_name in question.

Definition at line 2638 of file MooseApp.C.

Referenced by DynamicObjectRegistrationAction::DynamicObjectRegistrationAction().

2644 {
2645 #ifdef LIBMESH_HAVE_DLOPEN
2646  Parameters params;
2647  params.set<std::string>("app_name") = app_name;
2648  params.set<RegistrationType>("reg_type") = REGALL;
2649  params.set<std::string>("registration_method") = app_name + "__registerAll";
2650  params.set<std::string>("library_path") = library_path;
2651  params.set<std::string>("library_name") =
2652  library_name.empty() ? appNameToLibName(app_name) : library_name;
2653 
2654  params.set<Factory *>("factory") = factory;
2655  params.set<Syntax *>("syntax") = syntax;
2656  params.set<ActionFactory *>("action_factory") = action_factory;
2657  params.set<bool>("library_load_dependencies") = false;
2658 
2659  dynamicRegistration(params);
2660 #else
2661  libmesh_ignore(app_name, factory, action_factory, syntax, library_path, library_name);
2662  mooseError("Dynamic Loading is either not supported or was not detected by libMesh configure.");
2663 #endif
2664 }
void dynamicRegistration(const libMesh::Parameters &params)
Helper method for dynamic loading of objects.
Definition: MooseApp.C:2667
Syntax & syntax()
Returns a writable reference to the syntax object.
Definition: MooseApp.h:231
void libmesh_ignore(const Args &...)
Specialized factory for generic Action System objects.
Definition: ActionFactory.h:48
RegistrationType
Enumeration for holding the valid types of dynamic registrations allowed.
Definition: MooseApp.h:1667
T & set(const std::string &)
Holding syntax for parsing input files.
Definition: Syntax.h:21
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
std::string appNameToLibName(const std::string &app_name) const
Converts an application name to a library name: Examples: AnimalApp -> libanimal-oprof.la (assuming METHOD=oprof) ThreeWordAnimalApp -> libthree_word_animal-dbg.la (assuming METHOD=dbg)
Definition: MooseApp.C:2421

◆ dynamicAppRegistration()

void MooseApp::dynamicAppRegistration ( const std::string &  app_name,
std::string  library_path,
const std::string &  library_name,
bool  lib_load_deps 
)

Definition at line 2581 of file MooseApp.C.

Referenced by MultiApp::createApps().

2585 {
2586 #ifdef LIBMESH_HAVE_DLOPEN
2587  Parameters params;
2588  params.set<std::string>("app_name") = app_name;
2589  params.set<RegistrationType>("reg_type") = APPLICATION;
2590  params.set<std::string>("registration_method") = app_name + "__registerApps";
2591  params.set<std::string>("library_path") = library_path;
2592 
2593  const auto effective_library_name =
2594  library_name.empty() ? appNameToLibName(app_name) : library_name;
2595  params.set<std::string>("library_name") = effective_library_name;
2596  params.set<bool>("library_load_dependencies") = lib_load_deps;
2597 
2598  const auto paths = getLibrarySearchPaths(library_path);
2599  std::ostringstream oss;
2600 
2601  auto successfully_loaded = false;
2602  if (paths.empty())
2603  oss << '"' << app_name << "\" is not a registered application name.\n"
2604  << "No search paths were set. We made no attempts to locate the corresponding library "
2605  "file.\n";
2606  else
2607  {
2608  dynamicRegistration(params);
2609 
2610  // At this point the application should be registered so check it
2611  if (!AppFactory::instance().isRegistered(app_name))
2612  {
2613  oss << '"' << app_name << "\" is not a registered application name.\n"
2614  << "Unable to locate library archive for \"" << app_name
2615  << "\".\nWe attempted to locate the library archive \"" << effective_library_name
2616  << "\" in the following paths:\n\t";
2617  std::copy(paths.begin(), paths.end(), infix_ostream_iterator<std::string>(oss, "\n\t"));
2618  }
2619  else
2620  successfully_loaded = true;
2621  }
2622 
2623  if (!successfully_loaded)
2624  {
2625  oss << "\nMake sure you have compiled the library and either set the \"library_path\" "
2626  "variable in your input file or exported \"MOOSE_LIBRARY_PATH\".\n";
2627 
2628  mooseError(oss.str());
2629  }
2630 
2631 #else
2632  libmesh_ignore(app_name, library_path, library_name, lib_load_deps);
2633  mooseError("Dynamic Loading is either not supported or was not detected by libMesh configure.");
2634 #endif
2635 }
void dynamicRegistration(const libMesh::Parameters &params)
Helper method for dynamic loading of objects.
Definition: MooseApp.C:2667
void libmesh_ignore(const Args &...)
RegistrationType
Enumeration for holding the valid types of dynamic registrations allowed.
Definition: MooseApp.h:1667
std::set< std::string > getLibrarySearchPaths(const std::string &library_path_from_param) const
Return the paths searched by MOOSE when loading libraries.
Definition: MooseApp.C:2841
static AppFactory & instance()
Get the instance of the AppFactory.
Definition: AppFactory.C:20
T & set(const std::string &)
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
std::string appNameToLibName(const std::string &app_name) const
Converts an application name to a library name: Examples: AnimalApp -> libanimal-oprof.la (assuming METHOD=oprof) ThreeWordAnimalApp -> libthree_word_animal-dbg.la (assuming METHOD=dbg)
Definition: MooseApp.C:2421

◆ dynamicRegistration()

void MooseApp::dynamicRegistration ( const libMesh::Parameters params)
protected

Helper method for dynamic loading of objects.

Definition at line 2667 of file MooseApp.C.

Referenced by dynamicAllRegistration(), and dynamicAppRegistration().

2668 {
2669  const auto paths = getLibrarySearchPaths(params.get<std::string>("library_path"));
2670  const auto library_name = params.get<std::string>("library_name");
2671 
2672  // Attempt to dynamically load the library
2673  for (const auto & path : paths)
2674  if (MooseUtils::checkFileReadable(path + '/' + library_name, false, false))
2676  path + '/' + library_name, params, params.get<bool>("library_load_dependencies"));
2677 }
const T & get(std::string_view) const
void loadLibraryAndDependencies(const std::string &library_filename, const libMesh::Parameters &params, bool load_dependencies=true)
Recursively loads libraries and dependencies in the proper order to fully register a MOOSE applicatio...
Definition: MooseApp.C:2680
std::set< std::string > getLibrarySearchPaths(const std::string &library_path_from_param) const
Return the paths searched by MOOSE when loading libraries.
Definition: MooseApp.C:2841
bool checkFileReadable(const std::string &filename, bool check_line_endings, bool throw_on_unreadable, bool check_for_git_lfs_pointer)
Definition: MooseUtils.C:265

◆ errorCheck()

void MooseApp::errorCheck ( )
protected

Runs post-initialization error checking that cannot be run correctly unless the simulation has been fully set up and initialized.

Definition at line 1601 of file MooseApp.C.

Referenced by errorCheck(), executeExecutioner(), and run().

1602 {
1603  bool warn = _enable_unused_check == WARN_UNUSED;
1605 
1606  _builder.errorCheck(*_comm, warn, err);
1607 
1608  // Return early for mesh only mode, since we want error checking to run even though
1609  // an executor is not created for this case
1610  if (isParamSetByUser("mesh_only"))
1611  return;
1612 
1613  if (!_executor.get() && !_executioner.get())
1614  {
1615  if (!_early_exit_param.empty())
1616  {
1617  mooseAssert(_check_input,
1618  "Something went wrong, we should only get here if _check_input is true.");
1619  mooseError(
1620  "Incompatible command line arguments provided. --check-input cannot be called with ",
1622  ".");
1623  }
1624  // We should never get here
1625  mooseError("The Executor is being called without being initialized. This is likely "
1626  "caused by "
1627  "incompatible command line arguments");
1628  }
1629 
1630  auto apps = feProblem().getMultiAppWarehouse().getObjects();
1631  for (auto app : apps)
1632  for (unsigned int i = 0; i < app->numLocalApps(); i++)
1633  app->localApp(i)->errorCheck();
1634 }
OStreamProxy err
const bool _check_input
true if we want to just check the input file
Definition: MooseApp.h:1451
ExecuteMooseObjectWarehouse< MultiApp > & getMultiAppWarehouse()
FEProblemBase & feProblem() const
Definition: MooseApp.C:1852
const std::vector< std::shared_ptr< T > > & getObjects(THREAD_ID tid=0) const
Retrieve complete vector to the all/block/boundary restricted objects for a given thread...
std::shared_ptr< Executioner > _executioner
Pointer to the executioner of this run (typically build by actions)
Definition: MooseApp.h:1364
enum MooseApp::UNUSED_CHECK _enable_unused_check
void errorCheck(const libMesh::Parallel::Communicator &comm, bool warn_unused, bool err_unused)
Definition: Builder.C:358
Moose::Builder _builder
Builder for building app related parser tree.
Definition: MooseApp.h:1343
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
const std::shared_ptr< libMesh::Parallel::Communicator > _comm
The MPI communicator this App is going to use.
Definition: MooseApp.h:1294
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
std::shared_ptr< Executor > _executor
Pointer to the Executor of this run.
Definition: MooseApp.h:1367
std::string _early_exit_param
Indicates if simulation is ready to exit, and keeps track of which param caused it to exit...
Definition: MooseApp.h:1407

◆ errorOnJacobianNonzeroReallocation()

virtual bool MooseApp::errorOnJacobianNonzeroReallocation ( ) const
inlinevirtual

Whether this application should by default error on Jacobian nonzero reallocations.

The application level setting can always be overridden by setting the error_on_jacobian_nonzero_reallocation parameter in the Problem block of the input file

Definition at line 1089 of file MooseApp.h.

1089 { return false; }

◆ 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(); }
std::string messagePrefix(const bool hit_prefix=true) const
Definition: MooseBase.h:256

◆ executeExecutioner()

void MooseApp::executeExecutioner ( )
virtual

Execute the Executioner that was built.

Definition at line 1637 of file MooseApp.C.

Referenced by run().

1638 {
1639  TIME_SECTION("executeExecutioner", 3);
1640 
1641  // If ready to exit has been set, then just return
1642  if (_ready_to_exit)
1643  return;
1644 
1645  // run the simulation
1646  if (_use_executor && _executor)
1647  {
1648  LibmeshPetscCall(Moose::PetscSupport::petscSetupOutput(_command_line.get()));
1649  _executor->init();
1650  errorCheck();
1651  auto result = _executor->exec();
1652  if (!result.convergedAll())
1653  mooseError(result.str());
1654  }
1655  else if (_executioner)
1656  {
1657  LibmeshPetscCall(Moose::PetscSupport::petscSetupOutput(_command_line.get()));
1658  _executioner->init();
1659  errorCheck();
1660  _executioner->execute();
1661  if (!_executioner->lastSolveConverged())
1662  setExitCode(1);
1663  }
1664  else
1665  mooseError("No executioner was specified (go fix your input file)");
1666 }
std::shared_ptr< Executioner > _executioner
Pointer to the executioner of this run (typically build by actions)
Definition: MooseApp.h:1364
const std::shared_ptr< CommandLine > _command_line
The CommandLine object.
Definition: MooseApp.h:1337
PetscErrorCode petscSetupOutput(CommandLine *cmd_line)
Definition: PetscSupport.C:418
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
void setExitCode(const int exit_code)
Sets the exit code that the application will exit with.
Definition: MooseApp.h:168
bool _ready_to_exit
Definition: MooseApp.h:1408
const bool _use_executor
Indicates whether we are operating in the new/experimental executor mode instead of using the legacy ...
Definition: MooseApp.h:1383
std::shared_ptr< Executor > _executor
Pointer to the Executor of this run.
Definition: MooseApp.h:1367
void errorCheck()
Runs post-initialization error checking that cannot be run correctly unless the simulation has been f...
Definition: MooseApp.C:1601

◆ exitCode()

int MooseApp::exitCode ( ) const
inline

Get the shell exit code for the application.

Returns
The shell exit code

Definition at line 163 of file MooseApp.h.

Referenced by copyInputs().

163 { return _exit_code; }
int _exit_code
The exit code.
Definition: MooseApp.h:1410

◆ feProblem()

FEProblemBase & MooseApp::feProblem ( ) const

Definition at line 1852 of file MooseApp.C.

Referenced by attachRelationshipManagers(), MooseMesh::cacheFaceInfoVariableOwnership(), MooseMesh::cacheFVElementalDoFs(), collectCitations(), errorCheck(), AutomaticMortarGeneration::initOutput(), removeRelationshipManager(), restore(), setOutputFileBase(), and MooseMesh::update().

1853 {
1854  mooseAssert(_executor.get() || _executioner.get(), "No executioner yet, calling too early!");
1855  return _executor.get() ? _executor->feProblem() : _executioner->feProblem();
1856 }
std::shared_ptr< Executioner > _executioner
Pointer to the executioner of this run (typically build by actions)
Definition: MooseApp.h:1364
std::shared_ptr< Executor > _executor
Pointer to the Executor of this run.
Definition: MooseApp.h:1367

◆ finalizeRestore()

std::unique_ptr< Backup > MooseApp::finalizeRestore ( )

Finalizes (closes) the restoration process done in restore().

Returns
The underlying Backup that was used to do the restoration (if any, will be null when backed up from file); can be ignored to destruct it

This releases access to the stream in which the restore was loaded from and makes it no longer possible to restore additional data.

Definition at line 1807 of file MooseApp.C.

Referenced by FEProblemBase::initialSetup().

1808 {
1809  if (!_rd_reader.isRestoring())
1810  mooseError("MooseApp::finalizeRestore(): Not currently restoring");
1811 
1812  // This gives us access to the underlying streams so that we can return it if needed
1813  auto input_streams = _rd_reader.clear();
1814 
1815  std::unique_ptr<Backup> backup;
1816 
1817  // Give them back a backup if this restore started from a Backup, in which case
1818  // the two streams in the Backup are formed into StringInputStreams
1819  if (auto header_string_input = dynamic_cast<StringInputStream *>(input_streams.header.get()))
1820  {
1821  auto data_string_input = dynamic_cast<StringInputStream *>(input_streams.data.get());
1822  mooseAssert(data_string_input, "Should also be a string input");
1823 
1824  auto header_sstream = header_string_input->release();
1825  mooseAssert(header_sstream, "Header not available");
1826 
1827  auto data_sstream = data_string_input->release();
1828  mooseAssert(data_sstream, "Data not available");
1829 
1830  backup = std::make_unique<Backup>();
1831  backup->header = std::move(header_sstream);
1832  backup->data = std::move(data_sstream);
1833  packMeshBackup(*this, *backup);
1834  }
1835 
1836  return backup;
1837 }
RestartableDataReader _rd_reader
Definition: MooseApp.h:1697
std::unique_ptr< Backup > backup()
Backs up the application memory in a Backup.
Definition: MooseApp.C:1727
Helper class that hands out input streams to a stringstream.
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
InputStreams clear()
Clears the contents of the reader (header stream, data stream, header)

◆ fixedPointConfig()

FixedPointConfig& MooseApp::fixedPointConfig ( )
inline

This info is stored here because we need a "globalish" place to put it in order to allow communication between a multiapp and solver-specific internals (i.e.

relating to fixed-point inner loops like picard, etc.) for handling subapp-specific modifications necessary for those solve processes.

Definition at line 392 of file MooseApp.h.

Referenced by FixedPointSolve::FixedPointSolve().

392 { return _fixed_point_config; }
FixedPointConfig _fixed_point_config
Multiapp-related fixed point algorithm configuration details primarily intended to be passed to and u...
Definition: MooseApp.h:1379

◆ forceRestart()

bool MooseApp::forceRestart ( ) const
inline

Whether or not we are forcefully restarting (allowing the load of potentially incompatibie checkpoints); used within RestartableDataReader.

Definition at line 1114 of file MooseApp.h.

Referenced by possiblyLoadRestartableMetaData().

1114 { return _force_restart; }
const bool _force_restart
Whether or not we are forcefully attempting to load checkpoints (–force-restart) ...
Definition: MooseApp.h:1434

◆ FRIEND_TEST() [1/4]

MooseApp::FRIEND_TEST ( ::CapabilitiesTest  ,
mooseAppAddBoolCapability   
)
protected

◆ FRIEND_TEST() [2/4]

MooseApp::FRIEND_TEST ( ::CapabilitiesTest  ,
mooseAppAddIntCapability   
)
protected

◆ FRIEND_TEST() [3/4]

MooseApp::FRIEND_TEST ( ::CapabilitiesTest  ,
mooseAppAddStringCapability   
)
protected

◆ FRIEND_TEST() [4/4]

MooseApp::FRIEND_TEST ( ::CapabilitiesTest  ,
mooseAppAddCapability   
)
protected

◆ getActionFactory()

ActionFactory& MooseApp::getActionFactory ( )
inline

Retrieve a writable reference to the ActionFactory associated with this App.

Definition at line 412 of file MooseApp.h.

Referenced by Action::Action(), DumpObjectsProblem::DumpObjectsProblem(), and MooseServer::getActionParameters().

412 { return _action_factory; }
ActionFactory _action_factory
The Factory responsible for building Actions.
Definition: MooseApp.h:1325

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

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

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

◆ getChainControlDataSystem()

ChainControlDataSystem& MooseApp::getChainControlDataSystem ( )
inline

Gets the system that manages the ChainControls.

Definition at line 891 of file MooseApp.h.

Referenced by ChainControlSetupAction::act(), FEProblemBase::advanceState(), ChainControl::getChainControlDataSystem(), ChainControlDataPostprocessor::initialSetup(), SubProblem::initialSetup(), and SubProblem::timestepSetup().

891 { return _chain_control_system; }
ChainControlDataSystem _chain_control_system
The system that manages the ChainControls.
Definition: MooseApp.h:1695

◆ 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 }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:384
T getCheckedPointerParam(const std::string &name, const std::string &error_string="") const
Verifies that the requested parameter exists and is not NULL and returns it to the caller...
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103

◆ getCheckpointDirectories()

std::list< std::string > MooseApp::getCheckpointDirectories ( ) const

Get all checkpoint directories.

Returns
A Set of checkpoint directories

Definition at line 2357 of file MooseApp.C.

Referenced by getCheckpointFiles().

2358 {
2359  // Storage for the directory names
2360  std::list<std::string> checkpoint_dirs;
2361 
2362  // Add the directories added with Outputs/checkpoint=true input syntax
2363  checkpoint_dirs.push_back(getOutputFileBase() + "_cp");
2364 
2365  // Add the directories from any existing checkpoint output objects
2366  const auto & actions = _action_warehouse.getActionListByName("add_output");
2367  for (const auto & action : actions)
2368  {
2369  // Get the parameters from the MooseObjectAction
2370  MooseObjectAction * moose_object_action = dynamic_cast<MooseObjectAction *>(action);
2371  if (!moose_object_action)
2372  continue;
2373 
2374  const InputParameters & params = moose_object_action->getObjectParams();
2375  if (moose_object_action->getParam<std::string>("type") == "Checkpoint")
2376  {
2377  // Unless file_base was explicitly set by user, we cannot rely on it, as it will be changed
2378  // later
2379  const std::string cp_dir =
2380  _file_base_set_by_user ? params.get<std::string>("file_base")
2381  : (getOutputFileBase(true) + "_" + moose_object_action->name());
2382  checkpoint_dirs.push_back(cp_dir + "_cp");
2383  }
2384  }
2385  return checkpoint_dirs;
2386 }
const T & getParam(const std::string &name) const
Retrieve a parameter for the object.
Definition: MooseBase.h:406
bool _file_base_set_by_user
Whether or not file base is set through input or setOutputFileBase by MultiApp.
Definition: MooseApp.h:1300
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.
std::string getOutputFileBase(bool for_non_moose_build_output=false) const
Get the output file base name.
Definition: MooseApp.C:1532
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
ActionWarehouse _action_warehouse
Where built actions are stored.
Definition: MooseApp.h:1328
const std::list< Action * > & getActionListByName(const std::string &task) const
Retrieve a constant list of Action pointers associated with the passed in task.
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103
InputParameters & getObjectParams()
Retrieve the parameters of the object to be created by this action.

◆ getCheckpointFiles()

std::list< std::string > MooseApp::getCheckpointFiles ( ) const

Extract all possible checkpoint file names.

Returns
A Set of checkpoint filenames

Definition at line 2389 of file MooseApp.C.

Referenced by setRestartRecoverFileBase().

2390 {
2391  auto checkpoint_dirs = getCheckpointDirectories();
2392  return MooseUtils::getFilesInDirs(checkpoint_dirs, false);
2393 }
std::list< std::string > getCheckpointDirectories() const
Get all checkpoint directories.
Definition: MooseApp.C:2357
std::list< std::string > getFilesInDirs(const std::list< std::string > &directory_list, const bool files_only)
Definition: MooseUtils.C:819

◆ getCommunicator()

const std::shared_ptr<libMesh::Parallel::Communicator> MooseApp::getCommunicator ( ) const
inline

Definition at line 1058 of file MooseApp.h.

Referenced by MooseServer::parseDocumentForDiagnostics().

1058 { return _comm; }
const std::shared_ptr< libMesh::Parallel::Communicator > _comm
The MPI communicator this App is going to use.
Definition: MooseApp.h:1294

◆ getComputeDevice()

std::optional<MooseEnum> MooseApp::getComputeDevice ( ) const

Get the device accelerated computations are supposed to be running on.

Referenced by MFEMProblemSolve::MFEMProblemSolve().

◆ getCurrentActionHitNode()

const hit::Node * MooseApp::getCurrentActionHitNode ( ) const
Returns
The hit node that is responsible for creating the current action that is running, if any

Can be used to link objects that are created by an action to the action that created them in input

Definition at line 3062 of file MooseApp.C.

Referenced by ActionFactory::create(), and Factory::initialize().

3063 {
3064  if (const auto action = _action_warehouse.getCurrentAction())
3065  return action->parameters().getHitNode();
3066  return nullptr;
3067 }
const Action * getCurrentAction() const
ActionWarehouse _action_warehouse
Where built actions are stored.
Definition: MooseApp.h:1328

◆ getDistributedMeshOnCommandLine()

bool MooseApp::getDistributedMeshOnCommandLine ( ) const
inline

Returns true if the user specified –distributed-mesh (or –parallel-mesh, for backwards compatibility) on the command line and false otherwise.

Definition at line 466 of file MooseApp.h.

Referenced by MooseMesh::determineUseDistributedMesh().

const bool _distributed_mesh_on_command_line
This variable indicates that DistributedMesh should be used for the libMesh mesh underlying MooseMesh...
Definition: MooseApp.h:1419

◆ getExecuteOnEnum()

const ExecFlagEnum& MooseApp::getExecuteOnEnum ( ) const
inline

Return the app level ExecFlagEnum, this contains all the available flags for the app.

Definition at line 1040 of file MooseApp.h.

Referenced by FEProblemBase::initialSetup(), and EigenExecutionerBase::normalizeSolution().

1040 { return _execute_flags; }
const ExecFlagEnum _execute_flags
Execution flags for this App.
Definition: MooseApp.h:1706

◆ getExecutioner()

Executioner * MooseApp::getExecutioner ( ) const

Retrieve the Executioner for this App.

Definition at line 2015 of file MooseApp.C.

Referenced by CheckIntegrityAction::act(), SetupPredictorAction::act(), SetupTimeStepperAction::act(), AddTimeStepperAction::act(), ComposeTimeStepperAction::act(), AddDefaultConvergenceAction::checkUnusedMultiAppFixedPointConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedNonlinearConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedSteadyStateConvergenceParameters(), LazyCoupleable::coupled(), EigenProblem::doFreeNonlinearPowerIterations(), EigenKernel::EigenKernel(), PseudoTimestep::execute(), IterationInfo::execute(), PIDTransientControl::execute(), Terminator::execute(), ChangeOverFixedPointPostprocessor::finalize(), FVAdvection::FVAdvection(), DefaultConvergenceBase::getSharedExecutionerParam(), NumFixedPointIterations::getValue(), FEProblemBase::init(), Console::initialSetup(), NumFailedTimeSteps::NumFailedTimeSteps(), ConsoleUtils::outputExecutionInformation(), MultiApp::preTransfer(), setOutputFileBase(), TimeIntegratedPostprocessor::TimeIntegratedPostprocessor(), TimeIntervalTimes::TimeIntervalTimes(), TimePeriod::TimePeriod(), PIDTransientControl::timestepSetup(), and MooseMesh::update().

2016 {
2017  return _executioner.get() ? _executioner.get() : _executor.get();
2018 }
std::shared_ptr< Executioner > _executioner
Pointer to the executioner of this run (typically build by actions)
Definition: MooseApp.h:1364
std::shared_ptr< Executor > _executor
Pointer to the Executor of this run.
Definition: MooseApp.h:1367

◆ getExecutor() [1/2]

Executor* MooseApp::getExecutor ( ) const
inline

Definition at line 341 of file MooseApp.h.

Referenced by CheckIntegrityAction::act(), ExecutorInterface::getExecutor(), FEProblemBase::getExecutor(), and ExecutorInterface::getExecutorByName().

341 { return _executor.get(); }
std::shared_ptr< Executor > _executor
Pointer to the Executor of this run.
Definition: MooseApp.h:1367

◆ getExecutor() [2/2]

Executor & MooseApp::getExecutor ( const std::string &  name,
bool  fail_if_not_found = true 
)

Get an Executor.

Parameters
nameThe name of the Executor
fail_if_not_foundWhether or not to fail if the executor doesn't exist. If this is false then this function will return a NullExecutor

Definition at line 2001 of file MooseApp.C.

2002 {
2003  auto it = _executors.find(name);
2004 
2005  if (it != _executors.end())
2006  return *it->second;
2007 
2008  if (fail_if_not_found)
2009  mooseError("Executor not found: ", name);
2010 
2011  return *_null_executor;
2012 }
std::map< std::string, std::shared_ptr< Executor > > _executors
Pointers to all of the Executors for this run.
Definition: MooseApp.h:1370
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103
std::shared_ptr< NullExecutor > _null_executor
Used to return an executor that does nothing.
Definition: MooseApp.h:1386
if(!dmm->_nl) SETERRQ(PETSC_COMM_WORLD
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

◆ getExodusFileRestart()

bool MooseApp::getExodusFileRestart ( ) const
inline

Whether or not we need to use a separate Exodus reader to read the mesh BEFORE we create the mesh.

Definition at line 436 of file MooseApp.h.

Referenced by SetupMeshCompleteAction::act(), FileMesh::buildMesh(), FileMeshGenerator::generate(), and FEProblemBase::initialSetup().

436 { return _initial_from_file; }
bool _initial_from_file
This variable indicates when a request has been made to restart from an Exodus file.
Definition: MooseApp.h:1413

◆ getExReaderForRestart()

libMesh::ExodusII_IO* MooseApp::getExReaderForRestart ( ) const
inline

Get the Exodus reader to restart variables from an Exodus mesh file.

Definition at line 449 of file MooseApp.h.

Referenced by FEProblemBase::checkICRestartError(), and FEProblemBase::initialSetup().

449 { return _ex_reader.get(); }
std::shared_ptr< libMesh::ExodusII_IO > _ex_reader
The Exodus reader when _initial_from_file is set to true.
Definition: MooseApp.h:1416

◆ getFactory()

Factory& MooseApp::getFactory ( )
inline

Retrieve a writable reference to the Factory associated with this App.

Definition at line 407 of file MooseApp.h.

Referenced by AB2PredictorCorrector::AB2PredictorCorrector(), BatchMeshGeneratorAction::addMeshGenerators(), MeshGenerator::addMeshSubgenerator(), MooseServer::addValuesToList(), AStableDirk4::AStableDirk4(), BatchMeshGeneratorAction::BatchMeshGeneratorAction(), SingleRankPartitioner::clone(), RandomPartitioner::clone(), CopyMeshPartitioner::clone(), BlockWeightedPartitioner::clone(), GhostLowerDElems::clone(), GhostEverything::clone(), PetscExternalPartitioner::clone(), LibmeshPartitioner::clone(), GhostHigherDLowerDPointNeighbors::clone(), HierarchicalGridPartitioner::clone(), GhostAllPointNeighbors::clone(), GhostPrimaryFace::clone(), GridPartitioner::clone(), ElementSideNeighborLayers::clone(), ElementPointNeighborLayers::clone(), GhostBoundary::clone(), RedistributeProperties::clone(), ProxyRelationshipManager::clone(), SampledOutput::cloneMesh(), MooseBase::connectControllableParams(), MeshGeneratorSystem::createMeshGenerator(), ExtraIDIntegralReporter::ExtraIDIntegralReporter(), FunctorSmootherTempl< T >::FunctorSmootherTempl(), MooseServer::gatherDocumentDefinitionLocations(), MooseServer::getHoverDisplayText(), MooseServer::getObjectParameters(), MooseObject::MooseObject(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), OverlayMeshGenerator::OverlayMeshGenerator(), TiledMesh::safeClone(), FileMesh::safeClone(), ImageMesh::safeClone(), SpiralAnnularMesh::safeClone(), AnnularMesh::safeClone(), RinglebMesh::safeClone(), ConcentricCircleMesh::safeClone(), GeneratedMesh::safeClone(), MeshGeneratorMesh::safeClone(), StitchedMesh::safeClone(), PatternedMesh::safeClone(), MFEMMesh::safeClone(), TransientBase::setupTimeIntegrator(), and SideSetExtruderGenerator::SideSetExtruderGenerator().

407 { return _factory; }
Factory _factory
Definition: MooseApp.h:1402

◆ getFileName()

std::string MooseApp::getFileName ( bool  stripLeadingPath = true) const

Return the primary (first) filename that was parsed Note: When stripLeadingPath is false, this function returns the same name as getInputFileName() method when the input file is not a link.

Definition at line 2403 of file MooseApp.C.

Referenced by ProgressOutput::output().

2404 {
2405  return _builder.getPrimaryFileName(stripLeadingPath);
2406 }
std::string getPrimaryFileName(bool stripLeadingPath=true) const
Return the primary (first) filename that was parsed.
Definition: Builder.C:179
Moose::Builder _builder
Builder for building app related parser tree.
Definition: MooseApp.h:1343

◆ getFPTrapFlag()

bool MooseApp::getFPTrapFlag ( ) const
inline

Returns whether FPE trapping is turned on (either because of debug or user requested)

Definition at line 979 of file MooseApp.h.

979 { return _trap_fpe; }
bool _trap_fpe
Whether or not FPE trapping should be turned on.
Definition: MooseApp.h:1437

◆ getFrameworkVersion()

std::string MooseApp::getFrameworkVersion ( ) const

Returns the framework version.

Definition at line 1007 of file MooseApp.C.

1008 {
1009  return MOOSE_VERSION;
1010 }

◆ getGlobalTimeOffset()

Real MooseApp::getGlobalTimeOffset ( ) const
inline

Each App has it's own local time.

The "global" time of the whole problem might be different. This offset is how far off the local App time is from the global time.

Definition at line 318 of file MooseApp.h.

Referenced by Tecplot::output(), Nemesis::output(), Exodus::outputEmptyTimestep(), Exodus::outputNodalVariables(), and TransientMultiApp::solveStep().

318 { return _global_time_offset; }
Real _global_time_offset
Offset of the local App time to the "global" problem time.
Definition: MooseApp.h:1315

◆ getHitNode()

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.

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

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

◆ getInputFileNames()

const std::vector< std::string > & MooseApp::getInputFileNames ( ) const
Returns
the input file names set in the Parser

Definition at line 1518 of file MooseApp.C.

Referenced by ConsoleUtils::outputFrameworkInformation(), Console::outputInput(), and setupOptions().

1519 {
1520  mooseAssert(_parser, "Parser is not set");
1521  return _parser->getInputFileNames();
1522 }
const std::shared_ptr< Parser > _parser
Parser for parsing the input file (owns the root hit node)
Definition: MooseApp.h:1334

◆ getInputParameterWarehouse()

InputParameterWarehouse & MooseApp::getInputParameterWarehouse ( )

◆ getInstallableInputs()

std::string MooseApp::getInstallableInputs ( ) const
privatevirtual

Method to retrieve the installable inputs from a given applications <app>Revision.h file.

Definition at line 2203 of file MooseApp.C.

Referenced by showInputs().

2204 {
2205  return "tests";
2206 }

◆ getInterfaceObjects()

template<class T >
const std::vector< T * > & MooseApp::getInterfaceObjects ( ) const

Gets the registered interface objects for a given interface.

For this to work, the interface must register itself using registerInterfaceObject.

Definition at line 1801 of file MooseApp.h.

Referenced by DeclareLateReportersAction::act(), ResolveOptionalMaterialPropertiesAction::act(), Coupleable::checkWritableVar(), PetscOutputInterface::petscLinearOutput(), PetscOutputInterface::petscNonlinearOutput(), and PetscOutput::solveSetup().

1802 {
1803  static_assert(!std::is_base_of<MooseObject, T>::value, "T is not an interface");
1804 
1805  const auto it = _interface_registry.find(typeid(T));
1806  if (it != _interface_registry.end())
1807  return static_cast<InterfaceRegistryObjects<T> *>(it->second.get())->_objects;
1808  const static std::vector<T *> empty;
1809  return empty;
1810 }
std::map< std::type_index, std::unique_ptr< InterfaceRegistryObjectsBase > > _interface_registry
Registration for interface objects.
Definition: MooseApp.h:1727

◆ getKokkosMemoryPool()

const Moose::Kokkos::MemoryPool& MooseApp::getKokkosMemoryPool ( ) const

Get Kokkos memory pool.

Returns
The Kokkos memory pool

◆ getLastInputFileName()

const std::string & MooseApp::getLastInputFileName ( ) const
Returns
The last input filename set (if any)

Definition at line 1525 of file MooseApp.C.

Referenced by setupOptions().

1526 {
1527  mooseAssert(_parser, "Parser is not set");
1528  return _parser->getLastInputFileName();
1529 }
const std::shared_ptr< Parser > _parser
Parser for parsing the input file (owns the root hit node)
Definition: MooseApp.h:1334

◆ getLibrarySearchPaths()

std::set< std::string > MooseApp::getLibrarySearchPaths ( const std::string &  library_path_from_param) const

Return the paths searched by MOOSE when loading libraries.

Definition at line 2841 of file MooseApp.C.

Referenced by dynamicAppRegistration(), and dynamicRegistration().

2842 {
2843  std::set<std::string> paths;
2844 
2845  if (!library_path.empty())
2846  {
2847  std::vector<std::string> tmp_paths;
2848  MooseUtils::tokenize(library_path, tmp_paths, 1, ":");
2849 
2850  paths.insert(tmp_paths.begin(), tmp_paths.end());
2851  }
2852 
2853  char * moose_lib_path_env = std::getenv("MOOSE_LIBRARY_PATH");
2854  if (moose_lib_path_env)
2855  {
2856  std::string moose_lib_path(moose_lib_path_env);
2857  std::vector<std::string> tmp_paths;
2858  MooseUtils::tokenize(moose_lib_path, tmp_paths, 1, ":");
2859 
2860  paths.insert(tmp_paths.begin(), tmp_paths.end());
2861  }
2862 
2863  return paths;
2864 }
void tokenize(const std::string &str, std::vector< T > &elements, unsigned int min_len=1, const std::string &delims="/")
This function will split the passed in string on a set of delimiters appending the substrings to the ...

◆ getLibtorchDevice()

torch::DeviceType MooseApp::getLibtorchDevice ( ) const
inline

Get the device torch is supposed to be running on.

Definition at line 117 of file MooseApp.h.

Referenced by NEML2Assembly::finalize(), NEML2FEInterpolation::updateDofMap(), NEML2FEInterpolation::updateGradPhi(), NEML2FEInterpolation::updateInterpolations(), and NEML2FEInterpolation::updatePhi().

117 { return _libtorch_device; }
const torch::DeviceType _libtorch_device
The libtorch device this app is using (converted from compute_device)
Definition: MooseApp.h:1743

◆ getLoadedLibraryPaths()

std::set< std::string > MooseApp::getLoadedLibraryPaths ( ) const

Return the paths of loaded libraries.

Definition at line 2830 of file MooseApp.C.

Referenced by Factory::reportUnregisteredError().

2831 {
2832  // Return the paths but not the open file handles
2833  std::set<std::string> paths;
2834  for (const auto & it : _lib_handles)
2835  paths.insert(it.first);
2836 
2837  return paths;
2838 }
std::unordered_map< std::string, DynamicLibraryInfo > _lib_handles
The library archive (name only), registration method and the handle to the method.
Definition: MooseApp.h:1475

◆ getMeshGenerator()

const MeshGenerator& MooseApp::getMeshGenerator ( const std::string &  name) const
inline
Returns
The MeshGenerator with the name name.

Definition at line 920 of file MooseApp.h.

Referenced by MeshGenerator::generateInternal(), and MeshGenerator::generateInternalCSG().

921  {
923  }
MeshGeneratorSystem _mesh_generator_system
The system that manages the MeshGenerators.
Definition: MooseApp.h:1692
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103
const MeshGenerator & getMeshGenerator(const std::string &name) const

◆ getMeshGeneratorMesh()

std::unique_ptr<MeshBase> MooseApp::getMeshGeneratorMesh ( )
inline
Returns
The final mesh generated by the mesh generator system

Definition at line 928 of file MooseApp.h.

929  {
931  }
std::unique_ptr< libMesh::MeshBase > getSavedMesh(const std::string &name)
Get the saved mesh by name.
MeshGeneratorSystem _mesh_generator_system
The system that manages the MeshGenerators.
Definition: MooseApp.h:1692
static std::string mainMeshGeneratorName()
The name reserved for the "main" mesh generator which is the one used for the numerical solver downst...

◆ getMeshGeneratorNames()

std::vector<std::string> MooseApp::getMeshGeneratorNames ( ) const
inline
Returns
The names of all mesh generators

See MeshGeneratorSystem::getMeshGeneratorNames()

Definition at line 938 of file MooseApp.h.

Referenced by SetupMeshAction::act().

939  {
941  }
std::vector< std::string > getMeshGeneratorNames() const
Get names of all mesh generators Note: This function should be called after all mesh generators are a...
MeshGeneratorSystem _mesh_generator_system
The system that manages the MeshGenerators.
Definition: MooseApp.h:1692

◆ getMeshGeneratorSystem()

MeshGeneratorSystem& MooseApp::getMeshGeneratorSystem ( )
inline

◆ getMFEMDevice()

std::shared_ptr<mfem::Device> MooseApp::getMFEMDevice ( Moose::PassKey< MultiApp )
inline

Get the MFEM device object.

Definition at line 1134 of file MooseApp.h.

Referenced by MultiApp::createApp().

1134 { return _mfem_device; }
std::shared_ptr< mfem::Device > _mfem_device
The MFEM Device object.
Definition: MooseApp.h:1748

◆ getMFEMDevices()

const std::set< std::string > & MooseApp::getMFEMDevices ( Moose::PassKey< MultiApp ) const
inline

Get the configured MFEM devices.

Definition at line 1814 of file MooseApp.h.

Referenced by MultiApp::createApp().

1815 {
1816  return _mfem_devices;
1817 }
std::set< std::string > _mfem_devices
MFEM supported devices based on user-provided config.
Definition: MooseApp.h:1751

◆ getMooseApp()

MooseApp& MooseBase::getMooseApp ( ) const
inlineinherited

Get the MooseApp this class is associated with.

Definition at line 87 of file MooseBase.h.

Referenced by ChainControlSetupAction::act(), AddDefaultConvergenceAction::addDefaultMultiAppFixedPointConvergence(), AddDefaultConvergenceAction::addDefaultNonlinearConvergence(), AddDefaultConvergenceAction::addDefaultSteadyStateConvergence(), FEProblemBase::advanceState(), ParsedChainControl::buildFunction(), ReporterTransferInterface::checkHasReporterValue(), AddDefaultConvergenceAction::checkUnusedMultiAppFixedPointConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedNonlinearConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedSteadyStateConvergenceParameters(), Coupleable::checkWritableVar(), ComponentPhysicsInterface::ComponentPhysicsInterface(), Coupleable::Coupleable(), 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(), Reporter::Reporter(), ReporterInterface::reportersAdded(), MultiApp::restore(), and VectorPostprocessorInterface::vectorPostprocessorsAdded().

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

◆ getNullExecutor()

NullExecutor* MooseApp::getNullExecutor ( ) const
inline

Definition at line 342 of file MooseApp.h.

Referenced by ExecutorInterface::getExecutor().

342 { return _null_executor.get(); }
std::shared_ptr< NullExecutor > _null_executor
Used to return an executor that does nothing.
Definition: MooseApp.h:1386

◆ getOutputFileBase()

std::string MooseApp::getOutputFileBase ( bool  for_non_moose_build_output = false) const

Get the output file base name.

Parameters
for_non_moose_build_outputTrue for getting the file base for outputs generated with Outputs/[outputname] input syntax.
Returns
The file base name used by output objects Note: for_non_moose_build_output does not affect the returned value when this is a subapp. for_non_moose_build_output also does not affect the returned value when Outputs/file_base parameter is available. When for_non_moose_build_output does affect the returned value, i.e. master without Outputs/file_base, the suffix _out is removed.

Definition at line 1532 of file MooseApp.C.

Referenced by CSGOnlyAction::act(), getCheckpointDirectories(), AutomaticMortarGeneration::outputMortarMesh(), OutputWarehouse::resetFileBase(), and MultiApp::setAppOutputFileBase().

1533 {
1534  if (_file_base_set_by_user || for_non_moose_build_output || _multiapp_level)
1535  return _output_file_base;
1536  else
1537  return _output_file_base + "_out";
1538 }
bool _file_base_set_by_user
Whether or not file base is set through input or setOutputFileBase by MultiApp.
Definition: MooseApp.h:1300
const unsigned int _multiapp_level
Level of multiapp, the master is level 0. This used by the Console to indent output.
Definition: MooseApp.h:1677
std::string _output_file_base
The output file basename.
Definition: MooseApp.h:1297

◆ getOutputFileNumbers()

const std::map<std::string, unsigned int>& MooseApp::getOutputFileNumbers ( ) const
inline

Store a map of outputter names and file numbers The MultiApp system requires this to get the file numbering to propogate down through the multiapps.

See also
MultiApp TransientMultiApp

Definition at line 552 of file MooseApp.h.

Referenced by TransientMultiApp::setupApp().

553  {
554  return _output_file_numbers;
555  }
std::map< std::string, unsigned int > _output_file_numbers
Map of outputer name and file number (used by MultiApps to propagate file numbers down through the mu...
Definition: MooseApp.h:1448

◆ getOutputPosition()

Point MooseApp::getOutputPosition ( ) const
inline

Get the output position.

Returns
The position offset for the output.

Definition at line 288 of file MooseApp.h.

Referenced by MultiApp::createApp(), Exodus::output(), and MultiApp::parentOutputPositionChanged().

288 { return _output_position; }
Point _output_position
The output position.
Definition: MooseApp.h:1306

◆ getOutputWarehouse() [1/2]

OutputWarehouse & MooseApp::getOutputWarehouse ( )

◆ getOutputWarehouse() [2/2]

const OutputWarehouse & MooseApp::getOutputWarehouse ( ) const

Definition at line 2415 of file MooseApp.C.

2416 {
2417  return _output_warehouse;
2418 }
OutputWarehouse _output_warehouse
OutputWarehouse object for this App.
Definition: MooseApp.h:1331

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

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

407 {
408  return InputParameters::getParamHelper<T>(name, _pars);
409 }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:384
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103

◆ 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 }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:384
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.

◆ getPrintableName()

virtual std::string MooseApp::getPrintableName ( ) const
inlinevirtual

Get printable name of the application.

Definition at line 148 of file MooseApp.h.

Referenced by getPrintableVersion().

148 { return "Application"; }

◆ getPrintableVersion()

std::string MooseApp::getPrintableVersion ( ) const

Non-virtual method for printing out the version string in a consistent format.

Definition at line 1019 of file MooseApp.C.

Referenced by setupOptions().

1020 {
1021  return getPrintableName() + " Version: " + getVersion();
1022 }
virtual std::string getPrintableName() const
Get printable name of the application.
Definition: MooseApp.h:148
virtual std::string getVersion() const
Returns the current version of the framework or application (default: framework version).
Definition: MooseApp.C:1013

◆ getRecoverableData()

const DataNames& MooseApp::getRecoverableData ( ) const
inline

Return a reference to the recoverable data object.

Returns
A const reference to the recoverable data

Definition at line 727 of file MooseApp.h.

Referenced by restore().

727 { return _recoverable_data_names; }
DataNames _recoverable_data_names
Data names that will only be read from the restart file during RECOVERY.
Definition: MooseApp.h:1352

◆ getRecoverFileBase()

std::string MooseApp::getRecoverFileBase ( ) const
inline

Definition at line 501 of file MooseApp.h.

502  {
503  mooseDeprecated("MooseApp::getRecoverFileBase is deprecated, use "
504  "MooseApp::getRestartRecoverFileBase() instead.");
505  return _restart_recover_base;
506  }
std::string _restart_recover_base
The base name to restart/recover from. If blank then we will find the newest checkpoint file...
Definition: MooseApp.h:1440
void mooseDeprecated(Args &&... args) const
Emits a deprecation warning prefixed with the object name and type, and a stack trace.
Definition: MooseBase.h:317

◆ getRelationshipManagerInfo()

std::vector< std::pair< std::string, std::string > > MooseApp::getRelationshipManagerInfo ( ) const

Returns the Relationship managers info suitable for printing.

Definition at line 3319 of file MooseApp.C.

Referenced by ConsoleUtils::outputRelationshipManagerInformation().

3320 {
3321  std::vector<std::pair<std::string, std::string>> info_strings;
3322  info_strings.reserve(_relationship_managers.size());
3323 
3324  for (const auto & rm : _relationship_managers)
3325  {
3326  std::stringstream oss;
3327  oss << rm->getInfo();
3328 
3329  auto & for_whom = rm->forWhom();
3330 
3331  if (!for_whom.empty())
3332  {
3333  oss << " for ";
3334 
3335  std::copy(for_whom.begin(), for_whom.end(), infix_ostream_iterator<std::string>(oss, ", "));
3336  }
3337 
3338  info_strings.emplace_back(std::make_pair(Moose::stringify(rm->getType()), oss.str()));
3339  }
3340 
3341  // List the libMesh GhostingFunctors - Not that in libMesh all of the algebraic and coupling
3342  // Ghosting Functors are also attached to the mesh. This should catch them all.
3343  const auto & mesh = _action_warehouse.getMesh();
3344  if (mesh)
3345  {
3346  // Let us use an ordered map to avoid stochastic console behaviors.
3347  // I believe we won't have many RMs, and there is no performance issue.
3348  // Deterministic behaviors are good for setting up regression tests
3349  std::map<std::string, unsigned int> counts;
3350 
3351  for (auto & gf : as_range(mesh->getMesh().ghosting_functors_begin(),
3352  mesh->getMesh().ghosting_functors_end()))
3353  {
3354  const auto * gf_ptr = dynamic_cast<const RelationshipManager *>(gf);
3355  if (!gf_ptr)
3356  // Count how many occurences of the same Ghosting Functor types we are encountering
3357  counts[demangle(typeid(*gf).name())]++;
3358  }
3359 
3360  for (const auto & pair : counts)
3361  info_strings.emplace_back(std::make_pair(
3362  "Default", pair.first + (pair.second > 1 ? " x " + std::to_string(pair.second) : "")));
3363  }
3364 
3365  // List the libMesh GhostingFunctors - Not that in libMesh all of the algebraic and coupling
3366  // Ghosting Functors are also attached to the mesh. This should catch them all.
3367  const auto & d_mesh = _action_warehouse.getDisplacedMesh();
3368  if (d_mesh)
3369  {
3370  // Let us use an ordered map to avoid stochastic console behaviors.
3371  // I believe we won't have many RMs, and there is no performance issue.
3372  // Deterministic behaviors are good for setting up regression tests
3373  std::map<std::string, unsigned int> counts;
3374 
3375  for (auto & gf : as_range(d_mesh->getMesh().ghosting_functors_begin(),
3376  d_mesh->getMesh().ghosting_functors_end()))
3377  {
3378  const auto * gf_ptr = dynamic_cast<const RelationshipManager *>(gf);
3379  if (!gf_ptr)
3380  // Count how many occurences of the same Ghosting Functor types we are encountering
3381  counts[demangle(typeid(*gf).name())]++;
3382  }
3383 
3384  for (const auto & pair : counts)
3385  info_strings.emplace_back(
3386  std::make_pair("Default",
3387  pair.first + (pair.second > 1 ? " x " + std::to_string(pair.second) : "") +
3388  " for DisplacedMesh"));
3389  }
3390 
3391  return info_strings;
3392 }
GhostingFunctorIterator ghosting_functors_begin() const
const std::shared_ptr< MooseMesh > & getMesh() const
MeshBase & mesh
GhostingFunctorIterator ghosting_functors_end() const
ActionWarehouse _action_warehouse
Where built actions are stored.
Definition: MooseApp.h:1328
SimpleRange< IndexType > as_range(const std::pair< IndexType, IndexType > &p)
std::string stringify(const T &t)
conversion to string
Definition: Conversion.h:64
std::string demangle(const char *name)
RelationshipManagers are used for describing what kinds of non-local resources are needed for an obje...
const std::shared_ptr< MooseMesh > & getDisplacedMesh() const
std::set< std::shared_ptr< RelationshipManager > > _relationship_managers
The relationship managers that have been added.
Definition: MooseApp.h:1454

◆ getReleationshipManagers()

const std::vector<std::shared_ptr<RelationshipManager> >& MooseApp::getReleationshipManagers ( )

Retrieve the relationship managers.

◆ 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 }
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
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
Definition: MooseBase.h:199
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

◆ getRestartableData() [1/2]

const std::vector<RestartableDataMap>& MooseApp::getRestartableData ( ) const
inline

Return reference to the restartable data object.

Returns
A reference to the restartable data object

Definition at line 693 of file MooseApp.h.

693 { return _restartable_data; }
std::vector< RestartableDataMap > _restartable_data
Where the restartable data is held (indexed on tid)
Definition: MooseApp.h:1346

◆ getRestartableData() [2/2]

std::vector<RestartableDataMap>& MooseApp::getRestartableData ( )
inline

Definition at line 694 of file MooseApp.h.

694 { return _restartable_data; }
std::vector< RestartableDataMap > _restartable_data
Where the restartable data is held (indexed on tid)
Definition: MooseApp.h:1346

◆ getRestartableDataMap()

RestartableDataMap & MooseApp::getRestartableDataMap ( const RestartableDataMapName name)

Return a reference to restartable data for the specific type flag.

Definition at line 3427 of file MooseApp.C.

Referenced by getRestartableMetaData(), possiblyLoadRestartableMetaData(), and writeRestartableMetaData().

3428 {
3429  auto iter = _restartable_meta_data.find(name);
3430  if (iter == _restartable_meta_data.end())
3431  mooseError("Unable to find RestartableDataMap object for the supplied name '",
3432  name,
3433  "', did you call registerRestartableDataMapName in the application constructor?");
3434  return iter->second.first;
3435 }
std::unordered_map< RestartableDataMapName, std::pair< RestartableDataMap, std::string > > _restartable_meta_data
General storage for custom RestartableData that can be added to from outside applications.
Definition: MooseApp.h:1664
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

◆ getRestartableDataMapBegin()

auto MooseApp::getRestartableDataMapBegin ( )
inline

Iterator based access to the extra RestartableDataMap objects; see Checkpoint.C for use case.

These are MOOSE internal functions and should not be used otherwise.

Definition at line 1079 of file MooseApp.h.

Referenced by SetupDebugAction::act().

1079 { return _restartable_meta_data.begin(); }
std::unordered_map< RestartableDataMapName, std::pair< RestartableDataMap, std::string > > _restartable_meta_data
General storage for custom RestartableData that can be added to from outside applications.
Definition: MooseApp.h:1664

◆ getRestartableDataMapEnd()

auto MooseApp::getRestartableDataMapEnd ( )
inline

Definition at line 1081 of file MooseApp.h.

Referenced by SetupDebugAction::act().

1081 { return _restartable_meta_data.end(); }
std::unordered_map< RestartableDataMapName, std::pair< RestartableDataMap, std::string > > _restartable_meta_data
General storage for custom RestartableData that can be added to from outside applications.
Definition: MooseApp.h:1664

◆ getRestartableDataMapName()

const std::string & MooseApp::getRestartableDataMapName ( const RestartableDataMapName name) const
Returns
The output name for the restartable data with name name

Definition at line 3454 of file MooseApp.C.

Referenced by possiblyLoadRestartableMetaData(), and writeRestartableMetaData().

3455 {
3456  const auto it = _restartable_meta_data.find(name);
3457  if (it == _restartable_meta_data.end())
3458  mooseError("MooseApp::getRestartableDataMapName: The name '", name, "' is not registered");
3459  return it->second.second;
3460 }
std::unordered_map< RestartableDataMapName, std::pair< RestartableDataMap, std::string > > _restartable_meta_data
General storage for custom RestartableData that can be added to from outside applications.
Definition: MooseApp.h:1664
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

◆ getRestartableMetaData()

RestartableDataValue & MooseApp::getRestartableMetaData ( const std::string &  name,
const RestartableDataMapName metaname,
THREAD_ID  tid 
)

Definition at line 2511 of file MooseApp.C.

Referenced by MeshMetaDataInterface::getMeshPropertyInternal(), and MeshGenerator::setMeshPropertyHelper().

2514 {
2515  if (tid != 0)
2516  mooseError(
2517  "The meta data storage for '", metaname, "' is not threaded, so the tid must be zero.");
2518 
2519  // Get metadata reference from RestartableDataMap and return a (non-const) reference to its value
2520  auto & restartable_data_map = getRestartableDataMap(metaname);
2521  RestartableDataValue * const data = restartable_data_map.findData(name);
2522  if (!data)
2523  mooseError("Unable to find RestartableDataValue object with name " + name +
2524  " in RestartableDataMap");
2525 
2526  return *data;
2527 }
RestartableDataMap & getRestartableDataMap(const RestartableDataMapName &name)
Return a reference to restartable data for the specific type flag.
Definition: MooseApp.C:3427
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
Abstract definition of a RestartableData value.

◆ getRestartRecoverFileBase()

std::string MooseApp::getRestartRecoverFileBase ( ) const
inline

The file_base for the recovery file.

Definition at line 500 of file MooseApp.h.

Referenced by SetupRecoverFileBaseAction::act(), MFEMMesh::init(), MooseMesh::init(), and FEProblemBase::initialSetup().

500 { return _restart_recover_base; }
std::string _restart_recover_base
The base name to restart/recover from. If blank then we will find the newest checkpoint file...
Definition: MooseApp.h:1440

◆ getRMClone()

RelationshipManager & MooseApp::getRMClone ( const RelationshipManager template_rm,
const MeshBase mesh 
) const
private

Return the relationship manager clone originally created from the provided template relationship manager and mesh.

Definition at line 3078 of file MooseApp.C.

Referenced by removeRelationshipManager().

3079 {
3080  auto outer_it = _template_to_clones.find(&template_rm);
3081  if (outer_it == _template_to_clones.end())
3082  mooseError("The template rm does not exist in our _template_to_clones map");
3083 
3084  auto & mesh_to_clone_map = outer_it->second;
3085  auto inner_it = mesh_to_clone_map.find(&mesh);
3086  if (inner_it == mesh_to_clone_map.end())
3087  mooseError("We should have the mesh key in our mesh");
3088 
3089  return *inner_it->second;
3090 }
std::map< const RelationshipManager *, std::map< const MeshBase *, std::unique_ptr< RelationshipManager > > > _template_to_clones
Map from a template relationship manager to a map in which the key-value pairs represent the MeshBase...
Definition: MooseApp.h:1724
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

◆ getStartTime()

Real MooseApp::getStartTime ( ) const
inline
Returns
The start time

Definition at line 306 of file MooseApp.h.

Referenced by FEProblemBase::initialSetup(), and TransientBase::TransientBase().

306 { return _start_time; }
Real _start_time
The time at which to start the simulation.
Definition: MooseApp.h:1312

◆ getSystemInfo()

const SystemInfo& MooseApp::getSystemInfo ( ) const
inline

Get SystemInfo object.

Returns
A pointer to the SystemInformation object

Definition at line 567 of file MooseApp.h.

Referenced by ConsoleUtils::outputFrameworkInformation(), and to_json().

567 { return _sys_info; }
SystemInfo _sys_info
System Information.
Definition: MooseApp.h:1340

◆ getVersion()

std::string MooseApp::getVersion ( ) const
virtual

Returns the current version of the framework or application (default: framework version).

Definition at line 1013 of file MooseApp.C.

Referenced by getPrintableVersion().

1014 {
1015  return MOOSE_VERSION;
1016 }

◆ 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(); }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:384
bool hasBase() const

◆ hasInitialBackup()

bool MooseApp::hasInitialBackup ( ) const
inline
Returns
Whether or not this app currently has an "initial" backup

See _initial_backup and restoreFromInitialBackup() for more info.

Definition at line 1047 of file MooseApp.h.

Referenced by hasInitialBackupMesh(), FEProblemBase::initialSetup(), restoreFromInitialBackup(), and restoreMeshFromInitialBackup().

1048  {
1049  return _initial_backup != nullptr && *_initial_backup != nullptr;
1050  }
std::unique_ptr< Backup > *const _initial_backup
The backup for use in initial setup; this will get set from the _initial_backup input parameter that ...
Definition: MooseApp.h:1733

◆ hasInitialBackupMesh()

bool MooseApp::hasInitialBackupMesh ( ) const

Whether this app has an initial Backup object with mesh checkpoint entries.

Definition at line 1743 of file MooseApp.C.

1744 {
1745  return hasInitialBackup() && !(*_initial_backup)->mesh_files.empty();
1746 }
bool hasInitialBackup() const
Definition: MooseApp.h:1047

◆ hasMeshGenerator()

bool MooseApp::hasMeshGenerator ( const MeshGeneratorName &  name) const
inline
Returns
Whether or not a mesh generator exists with the name name.

Definition at line 912 of file MooseApp.h.

913  {
915  }
MeshGeneratorSystem _mesh_generator_system
The system that manages the MeshGenerators.
Definition: MooseApp.h:1692
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103
bool hasMeshGenerator(const MeshGeneratorName &name) const

◆ hasOutputPosition()

bool MooseApp::hasOutputPosition ( ) const
inline

Whether or not an output position has been set.

Returns
True if it has

Definition at line 282 of file MooseApp.h.

Referenced by Exodus::output().

282 { return _output_position_set; }
bool _output_position_set
Whether or not an output position has been set for this app.
Definition: MooseApp.h:1303

◆ hasRecoverFileBase()

bool MooseApp::hasRecoverFileBase ( ) const

Definition at line 1693 of file MooseApp.C.

1694 {
1695  mooseDeprecated("MooseApp::hasRecoverFileBase is deprecated, use "
1696  "MooseApp::hasRestartRecoverFileBase() instead.");
1697  return !_restart_recover_base.empty();
1698 }
std::string _restart_recover_base
The base name to restart/recover from. If blank then we will find the newest checkpoint file...
Definition: MooseApp.h:1440
void mooseDeprecated(Args &&... args) const
Emits a deprecation warning prefixed with the object name and type, and a stack trace.
Definition: MooseBase.h:317

◆ hasRelationshipManager()

bool MooseApp::hasRelationshipManager ( const std::string &  name) const

Returns a Boolean indicating whether a RelationshipManater exists with the same name.

Definition at line 2965 of file MooseApp.C.

2966 {
2967  return std::find_if(_relationship_managers.begin(),
2968  _relationship_managers.end(),
2969  [&name](const std::shared_ptr<RelationshipManager> & rm)
2970  { return rm->name() == name; }) != _relationship_managers.end();
2971 }
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103
std::set< std::shared_ptr< RelationshipManager > > _relationship_managers
The relationship managers that have been added.
Definition: MooseApp.h:1454

◆ hasRestartableDataMap()

bool MooseApp::hasRestartableDataMap ( const RestartableDataMapName name) const
Returns
Whether or not the restartable data has the given name registered.

Definition at line 3438 of file MooseApp.C.

3439 {
3440  return _restartable_meta_data.count(name);
3441 }
std::unordered_map< RestartableDataMapName, std::pair< RestartableDataMap, std::string > > _restartable_meta_data
General storage for custom RestartableData that can be added to from outside applications.
Definition: MooseApp.h:1664
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103

◆ hasRestartableMetaData()

bool MooseApp::hasRestartableMetaData ( const std::string &  name,
const RestartableDataMapName metaname 
) const

Definition at line 2501 of file MooseApp.C.

Referenced by MeshMetaDataInterface::hasMeshProperty().

2503 {
2504  auto it = _restartable_meta_data.find(metaname);
2505  if (it == _restartable_meta_data.end())
2506  return false;
2507  return it->second.first.hasData(name);
2508 }
std::unordered_map< RestartableDataMapName, std::pair< RestartableDataMap, std::string > > _restartable_meta_data
General storage for custom RestartableData that can be added to from outside applications.
Definition: MooseApp.h:1664
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103

◆ hasRestartRecoverFileBase()

bool MooseApp::hasRestartRecoverFileBase ( ) const

Return true if the recovery file base is set.

Definition at line 1687 of file MooseApp.C.

1688 {
1689  return !_restart_recover_base.empty();
1690 }
std::string _restart_recover_base
The base name to restart/recover from. If blank then we will find the newest checkpoint file...
Definition: MooseApp.h:1440

◆ hasRMClone()

bool MooseApp::hasRMClone ( const RelationshipManager template_rm,
const MeshBase mesh 
) const
private
Returns
whether we have created any clones for the provided template relationship manager and mesh yet. This may be false for instance when we are in the initial add relationship manager stage and haven't attempted attaching any relationship managers to the mesh or dof map yet (which is when we generate the clones). It's also maybe possible that we've created a clone of a given template_rm but not for the provided mesh so we return false in that case as well

Definition at line 3070 of file MooseApp.C.

Referenced by removeRelationshipManager().

3071 {
3072  auto it = _template_to_clones.find(&template_rm);
3073  // C++ does short circuiting so we're safe here
3074  return (it != _template_to_clones.end()) && (it->second.find(&mesh) != it->second.end());
3075 }
std::map< const RelationshipManager *, std::map< const MeshBase *, std::unique_ptr< RelationshipManager > > > _template_to_clones
Map from a template relationship manager to a map in which the key-value pairs represent the MeshBase...
Definition: MooseApp.h:1724

◆ hasStartTime()

bool MooseApp::hasStartTime ( ) const
inline
Returns
Whether or not a start time has been programmatically set using setStartTime()

Definition at line 301 of file MooseApp.h.

Referenced by FEProblemBase::initialSetup(), and TransientBase::TransientBase().

301 { return _start_time_set; }
bool _start_time_set
Whether or not an start time has been set.
Definition: MooseApp.h:1309

◆ header()

std::string MooseApp::header ( ) const
virtual

Returns a string to be printed at the beginning of a simulation.

Definition at line 2873 of file MooseApp.C.

Referenced by restore(), and setupOptions().

2874 {
2875  return std::string("");
2876 }

◆ isInTree()

bool MooseApp::isInTree ( )
static
Returns
Whether or not the application is in-tree

Definition at line 3618 of file MooseApp.C.

3619 {
3621 }
static Capabilities & getCapabilities(const GetCapabilitiesPassKey)
Get the singleton Capabilities.
Definition: Capabilities.C:52
static bool isInTree()
Definition: MooseApp.C:3618

◆ isKokkosAvailable()

bool MooseApp::isKokkosAvailable ( ) const
inline

Get whether Kokkos is available.

Returns
1) True if MOOSE is configured with Kokkos and every process has an associated GPU, 2) True if MOOSE is configured with Kokkos and GPU capablities are disabled, 3) False otherwise.

Definition at line 1149 of file MooseApp.h.

Referenced by MooseMesh::MooseMesh().

1150  {
1151 #ifdef MOOSE_KOKKOS_ENABLED
1152 #ifdef MOOSE_ENABLE_KOKKOS_GPU
1153  return _has_kokkos_gpus;
1154 #else
1155  return true;
1156 #endif
1157 #else
1158  return false;
1159 #endif
1160  }
bool _has_kokkos_gpus
Flag whether every process has an associated Kokkos GPU.
Definition: MooseApp.h:1773

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

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

206  {
207  return _pars.isParamSetByUser(name);
208  }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:384
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103
bool isParamSetByUser(const std::string &name) const
Method returns true if the parameter was set by the user.

◆ isParamValid()

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

Test if the supplied parameter is valid.

Parameters
nameThe name of the parameter to test

Definition at line 199 of file MooseBase.h.

Referenced by HierarchicalGridPartitioner::_do_partition(), GridPartitioner::_do_partition(), AutoCheckpointAction::act(), CopyNodalVarsAction::act(), SetupMeshAction::act(), SetupDebugAction::act(), ComposeTimeStepperAction::act(), AddVariableAction::act(), SetAdaptivityOptionsAction::act(), CreateDisplacedProblemAction::act(), CommonOutputAction::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(), MultiAppTransfer::checkParentAppUserObjectExecuteOn(), LibmeshPartitioner::clone(), SampledOutput::cloneMesh(), CombinedVectorPostprocessor::CombinedVectorPostprocessor(), CombinerGenerator::CombinerGenerator(), ComponentJunction::ComponentJunction(), ConservativeAdvectionBCTempl< false >::ConservativeAdvectionBCTempl(), ConservativeAdvectionTempl< is_ad >::ConservativeAdvectionTempl(), FEProblemSolve::convergenceSetup(), CopyMeshPartitioner::CopyMeshPartitioner(), CSVReaderVectorPostprocessor::CSVReaderVectorPostprocessor(), CutMeshByLevelSetGeneratorBase::CutMeshByLevelSetGeneratorBase(), ConstantReporter::declareConstantReporterValue(), ConstantReporter::declareConstantReporterValues(), DGKernelBase::DGKernelBase(), DiffusionFluxAux::DiffusionFluxAux(), 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(), SpatialUserObjectVectorPostprocessor::fillPoints(), CombinerGenerator::fillPositions(), MultiApp::fillPositions(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), FixedPointSolve::FixedPointSolve(), FunctionDT::FunctionDT(), FunctionValuePostprocessor::FunctionValuePostprocessor(), FVInterfaceKernel::FVInterfaceKernel(), FVMassMatrix::FVMassMatrix(), SurfaceSubdomainsDelaunayRemesher::General2DDelaunay(), AddMetaDataGenerator::generate(), BreakBoundaryOnSubdomainGenerator::generate(), ElementGenerator::generate(), ExtraNodesetGenerator::generate(), FileMeshGenerator::generate(), LowerDBlockFromSidesetGenerator::generate(), OrientSurfaceMeshGenerator::generate(), RenumberBySubdomainGenerator::generate(), SphereMeshGenerator::generate(), SubdomainPerElementGenerator::generate(), BlockDeletionGenerator::generate(), BSplineCurveGenerator::generate(), ConcentricCircleMeshGenerator::generate(), GeneratedMeshGenerator::generate(), ParsedSubdomainGeneratorBase::generate(), SideSetsFromNodeSetsGenerator::generate(), MeshExtruderGenerator::generate(), ParsedExtraElementIDGenerator::generate(), XYZDelaunayGenerator::generate(), XYDelaunayGenerator::generate(), XYMeshLineCutter::generate(), ManifoldSubdomainGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), DistributedRectilinearMeshGenerator::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(), MultiAppCloneReporterTransfer::initialSetup(), SolutionIC::initialSetup(), MultiAppVariableValueSampleTransfer::initialSetup(), ParsedConvergence::initialSetup(), SolutionScalarAux::initialSetup(), EigenProblemSolve::initialSetup(), PiecewiseTabularBase::initialSetup(), SolutionAux::initialSetup(), PIDTransientControl::initialSetup(), Console::initialSetup(), MooseParsedVectorFunction::initialSetup(), MultiAppGeneralFieldTransfer::initialSetup(), MooseParsedGradFunction::initialSetup(), MooseParsedFunction::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< Real >::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::setFileBase(), FileOutput::setFileBaseInternal(), SurfaceMeshGeneratorBase::setup(), Split::setup(), SideSetsGeneratorBase::setup(), SetupMeshAction::setupMesh(), setupOptions(), Output::setWallTimeIntervalFromCommandLineParam(), SideDiffusiveFluxIntegralTempl< is_ad, Real >::SideDiffusiveFluxIntegralTempl(), SideSetsGeneratorBase::SideSetsGeneratorBase(), SolutionUserObjectBase::SolutionUserObjectBase(), Terminator::Terminator(), TimeIntervalTimes::TimeIntervalTimes(), TimePeriod::TimePeriod(), PIDTransientControl::timestepSetup(), MultiAppDofCopyTransfer::transfer(), TransformGenerator::TransformGenerator(), TransientBase::TransientBase(), FunctorIC::value(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), VectorMagnitudeFunctorMaterialTempl< is_ad >::VectorMagnitudeFunctorMaterialTempl(), XYDelaunayGenerator::XYDelaunayGenerator(), and XYZDelaunayGenerator::XYZDelaunayGenerator().

199 { return _pars.isParamValid(name); }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:384
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ isRecovering()

bool MooseApp::isRecovering ( ) const

◆ isRelocated()

bool MooseApp::isRelocated ( )
static
Returns
Whether or not the application is relocated

Definition at line 3612 of file MooseApp.C.

3613 {
3615 }
static bool isRelocated()
Definition: MooseApp.C:3612
static Capabilities & getCapabilities(const GetCapabilitiesPassKey)
Get the singleton Capabilities.
Definition: Capabilities.C:52

◆ isRestarting()

bool MooseApp::isRestarting ( ) const

Whether or not this is a "restart" calculation.

More specifically whether this has been restarted using the Problem/restart_file_base parameter. Note that this will only return true when doing checkpoint restart. This will be false if doing exodus restart. Finally this will never return true when isRecovering is true

Definition at line 1675 of file MooseApp.C.

Referenced by SetupMeshAction::act(), FEProblemBase::checkICRestartError(), MultiApp::createApp(), EigenProblem::execute(), FileOutput::FileOutput(), FullSolveMultiApp::FullSolveMultiApp(), Eigenvalue::init(), FEProblemBase::initialSetup(), TransientBase::preExecute(), TimeSequenceStepperBase::setupSequence(), PhysicsBase::shouldCreateIC(), and TransientMultiApp::solveStep().

1676 {
1677  return _restart;
1678 }
bool _restart
Whether or not this is a restart run.
Definition: MooseApp.h:1425

◆ isSplitMesh()

bool MooseApp::isSplitMesh ( ) const

Whether or not this is a split mesh operation.

Definition at line 1681 of file MooseApp.C.

Referenced by MooseMesh::init().

1682 {
1683  return _split_mesh;
1684 }
bool _split_mesh
Whether or not we are performing a split mesh operation (–split-mesh)
Definition: MooseApp.h:1428

◆ isUltimateMaster()

bool MooseApp::isUltimateMaster ( ) const
inline

◆ libNameToAppName()

std::string MooseApp::libNameToAppName ( const std::string &  library_name) const

Converts a library name to an application name:

Definition at line 2437 of file MooseApp.C.

2438 {
2439  std::string app_name(library_name);
2440 
2441  // Strip off the leading "lib" and trailing ".la"
2442  if (pcrecpp::RE("lib(.+?)(?:-\\w+)?\\.la").Replace("\\1", &app_name) == 0)
2443  mooseError("Invalid library name: ", app_name);
2444 
2445  return MooseUtils::underscoreToCamelCase(app_name, true);
2446 }
std::string underscoreToCamelCase(const std::string &underscore_name, bool leading_upper_case)
Definition: MooseUtils.C:591
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

◆ loadLibraryAndDependencies()

void MooseApp::loadLibraryAndDependencies ( const std::string &  library_filename,
const libMesh::Parameters params,
bool  load_dependencies = true 
)
protected

Recursively loads libraries and dependencies in the proper order to fully register a MOOSE application that may have several dependencies.

REQUIRES: dynamic linking loader support.

Definition at line 2680 of file MooseApp.C.

Referenced by dynamicRegistration().

2683 {
2684  std::string line;
2685  std::string dl_lib_filename;
2686 
2687  // This RE looks for absolute path libtool filenames (i.e. begins with a slash and ends with a
2688  // .la)
2689  pcrecpp::RE re_deps("(/\\S*\\.la)");
2690 
2691  std::ifstream la_handle(library_filename.c_str());
2692  if (la_handle.is_open())
2693  {
2694  while (std::getline(la_handle, line))
2695  {
2696  // Look for the system dependent dynamic library filename to open
2697  if (line.find("dlname=") != std::string::npos)
2698  // Magic numbers are computed from length of this string "dlname=' and line minus that
2699  // string plus quotes"
2700  dl_lib_filename = line.substr(8, line.size() - 9);
2701 
2702  if (line.find("dependency_libs=") != std::string::npos)
2703  {
2704  if (load_dependencies)
2705  {
2706  pcrecpp::StringPiece input(line);
2707  pcrecpp::StringPiece depend_library;
2708  while (re_deps.FindAndConsume(&input, &depend_library))
2709  // Recurse here to load dependent libraries in depth-first order
2710  loadLibraryAndDependencies(depend_library.as_string(), params, load_dependencies);
2711  }
2712 
2713  // There's only one line in the .la file containing the dependency libs so break after
2714  // finding it
2715  break;
2716  }
2717  }
2718  la_handle.close();
2719  }
2720 
2721  // This should only occur if we have static linkage.
2722  if (dl_lib_filename.empty())
2723  return;
2724 
2725  const auto & [dir, file_name] = MooseUtils::splitFileName(library_filename);
2726 
2727  // Time to load the library, First see if we've already loaded this particular dynamic library
2728  // 1) make sure we haven't already loaded this library
2729  // AND 2) make sure we have a library name (we won't for static linkage)
2730  // Note: Here was are going to assume uniqueness based on the filename alone. This has significant
2731  // implications for applications that have "diamond" inheritance of libraries (usually
2732  // modules). We will only load one of those libraries, versions be damned.
2733  auto dyn_lib_it = _lib_handles.find(file_name);
2734  if (dyn_lib_it == _lib_handles.end())
2735  {
2736  // Assemble the actual filename using the base path of the *.la file and the dl_lib_filename
2737  const auto dl_lib_full_path = MooseUtils::pathjoin(dir, dl_lib_filename);
2738 
2739  MooseUtils::checkFileReadable(dl_lib_full_path, false, /*throw_on_unreadable=*/true);
2740 
2741 #ifdef LIBMESH_HAVE_DLOPEN
2742  void * const lib_handle = dlopen(dl_lib_full_path.c_str(), RTLD_LAZY);
2743 #else
2744  void * const lib_handle = nullptr;
2745 #endif
2746 
2747  if (!lib_handle)
2748  mooseError("The library file \"",
2749  dl_lib_full_path,
2750  "\" exists and has proper permissions, but cannot by dynamically loaded.\nThis "
2751  "generally means that the loader was unable to load one or more of the "
2752  "dependencies listed in the supplied library (see otool or ldd).\n",
2753  dlerror());
2754 
2755  DynamicLibraryInfo lib_info;
2756  lib_info.library_handle = lib_handle;
2757  lib_info.full_path = library_filename;
2758 
2759  auto insert_ret = _lib_handles.insert(std::make_pair(file_name, lib_info));
2760  mooseAssert(insert_ret.second == true, "Error inserting into lib_handles map");
2761 
2762  dyn_lib_it = insert_ret.first;
2763  }
2764 
2765  // Library has been loaded, check to see if we've called the requested registration method
2766  const auto registration_method = params.get<std::string>("registration_method");
2767  auto & entry_sym_from_curr_lib = dyn_lib_it->second.entry_symbols;
2768 
2769  if (entry_sym_from_curr_lib.find(registration_method) == entry_sym_from_curr_lib.end())
2770  {
2771  // get the pointer to the method in the library. The dlsym()
2772  // function returns a null pointer if the symbol cannot be found,
2773  // we also explicitly set the pointer to NULL if dlsym is not
2774  // available.
2775 #ifdef LIBMESH_HAVE_DLOPEN
2776  void * registration_handle =
2777  dlsym(dyn_lib_it->second.library_handle, registration_method.c_str());
2778 #else
2779  void * registration_handle = nullptr;
2780 #endif
2781 
2782  if (registration_handle)
2783  {
2784  switch (params.get<RegistrationType>("reg_type"))
2785  {
2786  case APPLICATION:
2787  {
2788  using register_app_t = void (*)();
2789  register_app_t * const reg_ptr = reinterpret_cast<register_app_t *>(&registration_handle);
2790  (*reg_ptr)();
2791  break;
2792  }
2793  case REGALL:
2794  {
2795  using register_app_t = void (*)(Factory *, ActionFactory *, Syntax *);
2796  register_app_t * const reg_ptr = reinterpret_cast<register_app_t *>(&registration_handle);
2797  (*reg_ptr)(params.get<Factory *>("factory"),
2798  params.get<ActionFactory *>("action_factory"),
2799  params.get<Syntax *>("syntax"));
2800  break;
2801  }
2802  default:
2803  mooseError("Unhandled RegistrationType");
2804  }
2805 
2806  entry_sym_from_curr_lib.insert(registration_method);
2807  }
2808  else
2809  {
2810 
2811 #if defined(DEBUG) && defined(LIBMESH_HAVE_DLOPEN)
2812  // We found a dynamic library that doesn't have a dynamic
2813  // registration method in it. This shouldn't be an error, so
2814  // we'll just move on.
2815  if (!registration_handle)
2816  mooseWarning("Unable to find extern \"C\" method \"",
2817  registration_method,
2818  "\" in library: ",
2819  dyn_lib_it->first,
2820  ".\n",
2821  "This doesn't necessarily indicate an error condition unless you believe that "
2822  "the method should exist in that library.\n",
2823  dlerror());
2824 #endif
2825  }
2826  }
2827 }
const T & get(std::string_view) const
void loadLibraryAndDependencies(const std::string &library_filename, const libMesh::Parameters &params, bool load_dependencies=true)
Recursively loads libraries and dependencies in the proper order to fully register a MOOSE applicatio...
Definition: MooseApp.C:2680
Specialized factory for generic Action System objects.
Definition: ActionFactory.h:48
RegistrationType
Enumeration for holding the valid types of dynamic registrations allowed.
Definition: MooseApp.h:1667
std::unordered_map< std::string, DynamicLibraryInfo > _lib_handles
The library archive (name only), registration method and the handle to the method.
Definition: MooseApp.h:1475
std::filesystem::path pathjoin(const std::filesystem::path &p)
Definition: MooseUtils.C:70
void mooseWarning(Args &&... args) const
Emits a warning prefixed with object name and type.
Definition: MooseBase.h:299
Holding syntax for parsing input files.
Definition: Syntax.h:21
class infix_ostream_iterator if void
Definition: InfixIterator.h:27
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
bool checkFileReadable(const std::string &filename, bool check_line_endings, bool throw_on_unreadable, bool check_for_git_lfs_pointer)
Definition: MooseUtils.C:265

◆ loadRestartableMetaData()

void MooseApp::loadRestartableMetaData ( const std::filesystem::path &  folder_base)

Loads all available restartable meta data if it is available with the folder base folder_base.

Definition at line 2545 of file MooseApp.C.

Referenced by SetupRecoverFileBaseAction::act().

2546 {
2547  for (const auto & name_map_pair : _restartable_meta_data)
2548  possiblyLoadRestartableMetaData(name_map_pair.first, folder_base);
2549 }
std::unordered_map< RestartableDataMapName, std::pair< RestartableDataMap, std::string > > _restartable_meta_data
General storage for custom RestartableData that can be added to from outside applications.
Definition: MooseApp.h:1664
void possiblyLoadRestartableMetaData(const RestartableDataMapName &name, const std::filesystem::path &folder_base)
Loads the restartable meta data for name if it is available with the folder base folder_base.
Definition: MooseApp.C:2530

◆ markMeshChangedForBackup()

void MooseApp::markMeshChangedForBackup ( )
inline

Mark this app as requiring mesh topology data in its next Backup object.

Definition at line 755 of file MooseApp.h.

Referenced by FEProblemBase::meshChanged().

755 { _mesh_changed_for_backup = true; }
bool _mesh_changed_for_backup
Whether mesh topology has changed and should be included in Backup objects.
Definition: MooseApp.h:1739

◆ masterDisplacedMesh()

const MooseMesh* MooseApp::masterDisplacedMesh ( ) const
inline

Returns a pointer to the master displaced mesh.

Definition at line 881 of file MooseApp.h.

Referenced by SetupMeshAction::act().

881 { return _master_displaced_mesh; }
const MooseMesh *const _master_displaced_mesh
The displaced mesh from master app.
Definition: MooseApp.h:1689

◆ masterMesh()

const MooseMesh* MooseApp::masterMesh ( ) const
inline

Returns a pointer to the master mesh.

Definition at line 876 of file MooseApp.h.

Referenced by SetupMeshAction::act(), and CopyMeshPartitioner::CopyMeshPartitioner().

876 { return _master_mesh; }
const MooseMesh *const _master_mesh
The mesh from master app.
Definition: MooseApp.h:1686

◆ meshChangedForBackup()

bool MooseApp::meshChangedForBackup ( ) const
inline

Whether this app requires mesh topology data in its next Backup object.

Definition at line 760 of file MooseApp.h.

760 { return _mesh_changed_for_backup; }
bool _mesh_changed_for_backup
Whether mesh topology has changed and should be included in Backup objects.
Definition: MooseApp.h:1739

◆ messagePrefix()

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

Definition at line 256 of file MooseBase.h.

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

257  {
258  return messagePrefix(_pars, hit_prefix);
259  }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:384
std::string messagePrefix(const bool hit_prefix=true) const
Definition: MooseBase.h:256

◆ metaDataFolderBase()

std::filesystem::path MooseApp::metaDataFolderBase ( const std::filesystem::path &  folder_base,
const std::string &  map_suffix 
)
static

The file suffix for meta data (header and data)

Definition at line 3046 of file MooseApp.C.

Referenced by possiblyLoadRestartableMetaData(), and writeRestartableMetaData().

3048 {
3049  return RestartableDataIO::restartableDataFolder(folder_base /
3050  std::filesystem::path("meta_data" + map_suffix));
3051 }
static std::filesystem::path restartableDataFolder(const std::filesystem::path &folder_base)

◆ mooseDeprecated()

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.

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

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
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.
std::string messagePrefix(const bool hit_prefix=true) const
Definition: MooseBase.h:256

◆ 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  }
void mooseDeprecatedStream(S &oss, const bool expired, const bool print_title, const bool show_trace, Args &&... args)
Definition: MooseError.h:252
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.
std::string messagePrefix(const bool hit_prefix=true) const
Definition: MooseBase.h:256

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

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

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

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

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

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

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

◆ mooseInfo()

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

Definition at line 334 of file MooseBase.h.

Referenced by SetupRecoverFileBaseAction::act(), AStableDirk4::AStableDirk4(), MeshDiagnosticsGenerator::checkNonConformalMeshFromAdaptivity(), MultiAppGeneralFieldKDTreeTransferBase::evaluateNearestNodeFromKDTrees(), PIDTransientControl::execute(), Executioner::Executioner(), ExplicitRK2::ExplicitRK2(), ExplicitTVDRK2::ExplicitTVDRK2(), FixedPointSolve::findTransformedSystem(), PolyLineMeshFollowingNodeSetGenerator::generate(), ManifoldSubdomainGenerator::generate(), DataFileInterface::getDataFilePath(), ImplicitMidpoint::ImplicitMidpoint(), ParsedDownSelectionPositions::initialize(), PropertyReadFile::initialize(), MultiAppGeneralFieldTransfer::initialSetup(), InversePowerMethod::InversePowerMethod(), LStableDirk2::LStableDirk2(), LStableDirk3::LStableDirk3(), LStableDirk4::LStableDirk4(), PNGOutput::makeMeshFunc(), MultiAppTransfer::mapBackWithoutCollapsing(), NonlinearEigen::NonlinearEigen(), SolutionInvalidityOutput::output(), MultiAppGeneralFieldTransfer::outputValueConflicts(), MooseBase::paramInfo(), ProjectionAux::ProjectionAux(), MFEMDataCollection::registerFields(), FEProblemBase::setRestartFile(), setupOptions(), SolutionUserObjectBase::SolutionUserObjectBase(), SymmetryTransformGenerator::SymmetryTransformGenerator(), TransientBase::takeStep(), TimeIntegratedPostprocessor::TimeIntegratedPostprocessor(), and TransientBase::TransientBase().

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

◆ mooseWarning()

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.

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

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

◆ mooseWarningNonPrefixed()

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  }
void mooseWarningStream(S &oss, Args &&... args)
Definition: MooseError.h:197
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.

◆ multiAppLevel()

unsigned int MooseApp::multiAppLevel ( ) const
inline

The MultiApp Level.

Returns
The current number of levels from the master app

Definition at line 855 of file MooseApp.h.

Referenced by DefaultNonlinearConvergence::checkConvergence(), MultiApp::createApp(), OutputWarehouse::mooseConsole(), ConsoleUtils::outputFrameworkInformation(), and Console::write().

855 { return _multiapp_level; }
const unsigned int _multiapp_level
Level of multiapp, the master is level 0. This used by the Console to indent output.
Definition: MooseApp.h:1677

◆ multiAppNumber()

unsigned int MooseApp::multiAppNumber ( ) const
inline

The MultiApp number.

Returns
The numbering in all the sub-apps on the same level

Definition at line 861 of file MooseApp.h.

Referenced by FileOutput::FileOutput(), and Console::outputSystemInformation().

861 { return _multiapp_number; }
const unsigned int _multiapp_number
Numbering in all the sub-apps on the same level.
Definition: MooseApp.h:1680

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

Referenced by AddElementalFieldAction::act(), CopyNodalVarsAction::act(), AdaptivityAction::act(), AddTimeStepperAction::act(), CSGOnlyAction::act(), DeprecatedBlockAction::act(), SetupTimeIntegratorAction::act(), AddActionComponentAction::act(), SetupResidualDebugAction::act(), DisplayGhostingAction::act(), MaterialOutputAction::act(), CommonOutputAction::act(), AddPeriodicBCAction::act(), FEProblemBase::addAnyRedistributers(), Executioner::addAttributeReporter(), MFEMProblem::addAuxKernel(), FEProblemBase::addAuxKernel(), FEProblemBase::addAuxScalarKernel(), DisplacedProblem::addAuxVariable(), MFEMProblem::addBoundaryCondition(), FEProblemBase::addBoundaryCondition(), PhysicsComponentInterface::addComponent(), FEProblemBase::addConstraint(), FEProblemBase::addConvergence(), FEProblemBase::addDamper(), Registry::addDataFilePath(), Registry::addDataFilePathCapability(), FEProblemBase::addDGKernel(), FEProblemBase::addDiracKernel(), FEProblemBase::addDistribution(), addExecutor(), addExecutorParams(), MFEMProblem::addFESpace(), MFEMProblem::addFESpaceHierarchy(), MFEMProblem::addFunction(), FEProblemBase::addFunction(), SubProblem::addFunctor(), MFEMProblem::addFunctorMaterial(), FEProblemBase::addFunctorMaterial(), FunctorMaterial::addFunctorProperty(), FunctorMaterial::addFunctorPropertyByBlocks(), FEProblemBase::addFVBC(), FEProblemBase::addFVInitialCondition(), FEProblemBase::addFVInterfaceKernel(), FEProblemBase::addFVInterpolationMethod(), FEProblemBase::addFVKernel(), ADDGKernel::ADDGKernel(), FEProblemBase::addHDGKernel(), MFEMProblem::addImagComponentToBC(), MFEMProblem::addImagComponentToKernel(), MFEMProblem::addIndicator(), FEProblemBase::addIndicator(), MFEMProblem::addInitialCondition(), FEProblemBase::addInitialCondition(), FEProblemBase::addInterfaceKernel(), FEProblemBase::addInterfaceMaterial(), BoundaryIntegralValueConstraint::additionalROVariables(), DiffusionLHDGKernel::additionalROVariables(), ElementAndTraceScalarHDGAssemblyHelper::additionalROVariables(), MFEMProblem::addKernel(), FEProblemBase::addKernel(), FEProblemBase::addLinearFVBC(), FEProblemBase::addLinearFVKernel(), MFEMProblem::addMarker(), FEProblemBase::addMarker(), FEProblemBase::addMaterial(), FEProblemBase::addMaterialHelper(), ComponentMaterialPropertyInterface::addMaterials(), FEProblemBase::addMeshDivision(), addMeshGenerator(), ComponentJunction::addMeshGenerators(), CylinderComponent::addMeshGenerators(), ComponentMeshTransformHelper::addMeshGenerators(), MeshGenerator::addMeshSubgenerator(), MFEMProblem::addMFEMSolver(), Registry::addMissingDataFilePath(), FEProblemBase::addMultiApp(), FEProblemBase::addNodalKernel(), InitialConditionWarehouse::addObject(), FEProblemBase::addObject(), ComponentPhysicsInterface::addPhysics(), SubProblem::addPiecewiseByBlockLambdaFunctor(), MFEMProblem::addPostprocessor(), FEProblemBase::addPostprocessor(), InitialConditionBase::addPostprocessorDependencyHelper(), AuxKernelBase::addPostprocessorDependencyHelper(), UserObjectBase::addPostprocessorDependencyHelper(), FEProblemBase::addPredictor(), CreateDisplacedProblemAction::addProxyRelationshipManagers(), MFEMProblem::addQuadratureFunction(), MFEMProblem::addRealComponentToBC(), MFEMProblem::addRealComponentToKernel(), Action::addRelationshipManager(), FEProblemBase::addReporter(), FEProblemBase::addSampler(), FEProblemBase::addScalarKernel(), WebServerControl::addServerActionsInternal(), FEProblemBase::addTimeIntegrator(), MFEMProblem::addTransfer(), FEProblemBase::addTransfer(), PhysicsBase::addUserObject(), FEProblemBase::addUserObject(), InitialConditionBase::addUserObjectDependencyHelper(), AuxKernelBase::addUserObjectDependencyHelper(), UserObjectBase::addUserObjectDependencyHelper(), DisplacedProblem::addVariable(), MFEMProblem::addVectorPostprocessor(), FEProblemBase::addVectorPostprocessor(), AuxKernelBase::addVectorPostprocessorDependencyHelper(), UserObjectBase::addVectorPostprocessorDependencyHelper(), MooseLinearVariableFV< Real >::adError(), Output::advancedExecuteOn(), AdvancedExtruderGenerator::AdvancedExtruderGenerator(), NEML2ModelExecutor::advanceState(), MooseVariableBase::allDofIndices(), appBinaryName(), appendMeshGenerator(), Registry::appNameFromAppPath(), 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(), ParsedConvergence::checkConvergence(), DefaultNonlinearConvergence::checkConvergence(), Registry::checkDataFilePathName(), FEProblemBase::checkDependMaterialsHelper(), TaggingInterface::checkForNans(), SamplerBase::checkForStandardFieldVariableType(), ReporterTransferInterface::checkHasReporterValue(), FEProblemBase::checkICRestartError(), Moose::Kokkos::Material::checkMaterialProperty(), Material::checkMaterialProperty(), checkMetaDataIntegrity(), Damper::checkMinDamping(), MultiAppTransfer::checkParentAppUserObjectExecuteOn(), Checkpoint::checkpointInfo(), FEProblemBase::checkUserObjectNameCollision(), DomainUserObject::checkVariable(), BlockRestrictable::checkVariable(), Coupleable::checkWritableVar(), MooseVariableFieldBase::componentName(), CompositeFunction::CompositeFunction(), MaterialBase::computeProperties(), FEProblemBase::computeUserObjectByName(), VectorPostprocessorVisualizationAux::computeValue(), MooseBase::connectControllableParams(), ConstantPostprocessor::ConstantPostprocessor(), Coupleable::coupledName(), CommonOutputAction::create(), MultiApp::createApp(), createExecutors(), MeshGeneratorSystem::createMeshGeneratorOrder(), createRecoverablePerfGraph(), 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(), DOFMapOutput::demangle(), DerivativeSumMaterialTempl< is_ad >::DerivativeSumMaterialTempl(), MooseMesh::detectPairedSidesets(), Registry::determineDataFilePath(), 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(), SideValueSampler::execute(), RestartableDataReporter::execute(), GreaterThanLessThanPostprocessor::execute(), PointValue::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppProjectionTransfer::execute(), MultiAppUserObjectTransfer::execute(), WebServerControl::execute(), MultiAppGeneralFieldTransfer::execute(), ActionWarehouse::executeActionsWithAction(), Exodus::Exodus(), ExtraIDIntegralVectorPostprocessor::ExtraIDIntegralVectorPostprocessor(), FEProblemBase::FEProblemBase(), NEML2ModelExecutor::fillInputs(), MultiApp::fillPositions(), MultiAppGeometricInterpolationTransfer::fillSourceInterpolationPoints(), PointSamplerBase::finalize(), ChainControl::fullControlDataName(), FunctionArrayAux::FunctionArrayAux(), FunctionDT::FunctionDT(), FunctionIC::functionName(), FVFunctionIC::functionName(), FunctorPositions::FunctorPositions(), FunctorSmootherTempl< T >::FunctorSmootherTempl(), FVInitialConditionTempl< T >::FVInitialConditionTempl(), FVOneVarDiffusionInterface::FVOneVarDiffusionInterface(), GapValueAux::GapValueAux(), MooseServer::gatherDocumentSymbols(), BoundaryDeletionGenerator::generate(), UniqueExtraIDMeshGenerator::generate(), RenameBlockGenerator::generate(), RenameBoundaryGenerator::generate(), RenumberBySubdomainGenerator::generate(), SideSetsFromNodeSetsGenerator::generate(), StitchBoundaryMeshGenerator::generate(), StitchMeshGenerator::generate(), SubdomainsFromPartitionerGenerator::generate(), GeneratedMeshGenerator::generate(), BreakMeshByBlockGenerator::generate(), ParsedSubdomainGeneratorBase::generate(), ParsedExtraElementIDGenerator::generate(), ManifoldSubdomainGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), MeshGenerator::generateInternal(), MeshGenerator::generateInternalCSG(), InterfaceMaterial::getADMaterialProperty(), Material::getADMaterialProperty(), MultiAppTransfer::getAppInfo(), MooseMesh::getBoundaryString(), MultiApp::getBoundingBox(), MooseBase::getCheckedPointerParam(), getCheckpointDirectories(), MFEMProblem::getComplexGridFunction(), Control::getControllableParameterByName(), Control::getControllableValue(), Control::getControllableValueByName(), FEProblemBase::getConvergence(), MeshGenerator::getCSGBase(), MeshGenerator::getCSGBasesByName(), Registry::getDataFilePath(), UserObjectBase::getDependObjects(), DistributionInterface::getDistribution(), FEProblemBase::getDistribution(), DistributionInterface::getDistributionByName(), ElementUOProvider::getElementalValueLong(), ElementUOProvider::getElementalValueReal(), MultiApp::getExecutioner(), getExecutor(), FEProblemBase::getExecutor(), OutputWarehouse::getFileNumbers(), FEProblemBase::getFunction(), SubProblem::getFunctor(), FEProblemBase::getFVAdvectedInterpolationMethod(), FEProblemBase::getFVFaceInterpolationMethod(), FEProblemBase::getFVInterpolationMethod(), NodalPatchRecovery::getGenericMaterialProperty(), InterfaceMaterial::getGenericMaterialProperty(), AuxKernelTempl< Real >::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(), NodalPatchRecovery::getMaterialProperty(), InterfaceMaterial::getMaterialProperty(), AuxKernelTempl< Real >::getMaterialProperty(), Material::getMaterialProperty(), SubProblem::getMaterialPropertyBlockNames(), SubProblem::getMaterialPropertyBoundaryNames(), NodalPatchRecovery::getMaterialPropertyOld(), AuxKernelTempl< Real >::getMaterialPropertyOld(), InterfaceMaterial::getMaterialPropertyOld(), Material::getMaterialPropertyOld(), NodalPatchRecovery::getMaterialPropertyOlder(), AuxKernelTempl< Real >::getMaterialPropertyOlder(), InterfaceMaterial::getMaterialPropertyOlder(), Material::getMaterialPropertyOlder(), MFEMObject::getMatrixCoefficient(), MFEMObject::getMatrixCoefficientByName(), MeshGenerator::getMesh(), FEProblemBase::getMeshDivision(), MeshGenerator::getMeshesByName(), getMeshGenerator(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), MFEMProblem::getMFEMObject(), ActionWarehouse::getMooseAppName(), NEML2FEInterpolation::getMOOSEVariable(), MultiAppTransfer::getMultiApp(), InterfaceMaterial::getNeighborADMaterialProperty(), InterfaceMaterial::getNeighborMaterialProperty(), InterfaceMaterial::getNeighborMaterialPropertyOld(), InterfaceMaterial::getNeighborMaterialPropertyOlder(), MooseServer::getObjectParameters(), Material::getOptionalADMaterialProperty(), Material::getOptionalMaterialProperty(), Material::getOptionalMaterialPropertyOld(), Material::getOptionalMaterialPropertyOlder(), OutputWarehouse::getOutput(), MooseBase::getParam(), FEProblemBase::getPositionsObject(), FEProblemBase::getPostprocessorValueByName(), ComponentMaterialPropertyInterface::getPropertyValue(), ReporterData::getReporterInfo(), MFEMExecutedObject::getRequestedItems(), getRestartableDataMap(), getRestartableDataMapName(), getRestartableMetaData(), FEProblemBase::getSampler(), MFEMObject::getScalarCoefficient(), MFEMObject::getScalarCoefficientByName(), TimedSubdomainModifier::getSubdomainIDAndCheck(), MFEMExecutedObject::getSuppliedItems(), TransientBase::getTimeStepperName(), ProjectedStatefulMaterialStorageAction::getTypeEnum(), FEProblemBase::getUserObject(), FEProblemBase::getUserObjectBase(), MFEMObject::getVectorCoefficient(), MFEMObject::getVectorCoefficientByName(), Terminator::handleMessage(), Control::hasControllableParameterByName(), FEProblemBase::hasConvergence(), FEProblemBase::hasDistribution(), FEProblemBase::hasFunction(), SubProblem::hasFunctor(), SubProblem::hasFunctorWithType(), FEProblemBase::hasFVInterpolationMethod(), MeshInfo::hasItem(), hasMeshGenerator(), MFEMProblem::hasMFEMObject(), AdvancedOutput::hasOutputHelper(), FEProblemBase::hasPostprocessor(), FEProblemBase::hasPostprocessorValueByName(), hasRelationshipManager(), hasRestartableDataMap(), hasRestartableMetaData(), FEProblemBase::hasUserObject(), NEML2Action::inferMOOSEIOType(), IterationAdaptiveDT::init(), AddVariableAction::init(), AdvancedOutput::init(), AdvancedOutput::initAvailableLists(), MeshInfo::initCombinedInfos(), AdvancedOutput::initExecutionTypes(), AttribName::initFrom(), NestedDivision::initialize(), TransformedPositions::initialize(), BoundaryRestrictable::initializeBoundaryRestrictable(), JSONOutput::initialSetup(), BoundaryLinearFVFluxIntegral::initialSetup(), SideFVFluxBCIntegral::initialSetup(), SolutionScalarAux::initialSetup(), MultiAppProjectionTransfer::initialSetup(), MultiAppGeneralFieldFunctorTransfer::initialSetup(), NodalVariableValue::initialSetup(), Console::initialSetup(), AuxKernelBase::initialSetup(), SolutionUserObjectBase::initialSetup(), AdvancedOutput::initOutputList(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), MaterialBase::initStatefulProperties(), Function::integral(), InterfaceKernelTempl< T >::InterfaceKernelTempl(), MultiAppGeometricInterpolationTransfer::interpolateTargetPoints(), MeshGenerator::isChildMeshGenerator(), DerivativeMaterialInterface< JvarMapKernelInterface< GenericKernelGrad< is_ad > > >::isNotObjectVariable(), MeshGenerator::isNullMeshName(), MooseBase::isParamSetByUser(), MooseBase::isParamValid(), MeshGenerator::isParentMeshGenerator(), LinearCombinationFunction::LinearCombinationFunction(), FEProblemBase::logAdd(), MooseLinearVariableFV< Real >::lowerDError(), Marker::Marker(), MaterialBase::markMatPropRequested(), Material::Material(), MaterialDerivativeTestKernelBase< Real >::MaterialDerivativeTestKernelBase(), Distribution::median(), MemoryUsageReporter::MemoryUsageReporter(), NEML2ModelExecutor::meshChanged(), MeshGenerator::meshPropertyPrefix(), MooseBase::messagePrefix(), MFEMGeometricMultigridSolver::MFEMGeometricMultigridSolver(), MFEMScalarQuadratureFunction::MFEMScalarQuadratureFunction(), MFEMVectorQuadratureFunction::MFEMVectorQuadratureFunction(), OutputWarehouse::mooseConsole(), SolutionInvalidInterface::mooseDeprecated(), MooseVariableBase::MooseVariableBase(), MooseVariableInterface< Real >::MooseVariableInterface(), SolutionInvalidInterface::mooseWarning(), SolutionInvalidInterface::mooseWarningNonPrefixed(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), NEML2PreKernel::NEML2PreKernel(), NodalDamper::NodalDamper(), MooseLinearVariableFV< Real >::nodalError(), NodalPatchRecoveryAuxBase::NodalPatchRecoveryAuxBase(), NodalValueSampler::NodalValueSampler(), Registry::objData(), MeshGenerator::Comparator::operator()(), ProgressOutput::output(), DOFMapOutput::output(), Output::Output(), AdvancedOutput::outputElementalVariables(), ConsoleUtils::outputExecutionInformation(), MaterialOutputAction::outputHelper(), AdvancedOutput::outputInput(), AdvancedOutput::outputNodalVariables(), Nemesis::outputPostprocessors(), Exodus::outputPostprocessors(), AdvancedOutput::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(), possiblyLoadRestartableMetaData(), MFEMExecutedObject::postprocessorDependencyKey(), PhysicsBase::prefix(), MooseMesh::prepare(), BlockRestrictionDebugOutput::printBlockRestrictionGroups(), BlockRestrictionDebugOutput::printBlockRestrictionMap(), BlockRestrictionDebugOutput::printBoundaryRestrictionGroups(), PerfGraphLivePrint::printStats(), FEProblemBase::projectInitialConditionOnCustomRange(), MooseBase::queryParam(), MultiApp::readCommandLineArguments(), Receiver::Receiver(), Executor::Result::record(), AppFactory::reg(), Registry::registerObjectsTo(), FEProblemBase::registerRandomInterface(), registerRestartableDataMapName(), 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(), SurfaceMeshGeneratorBase::setup(), NodeSetsGeneratorBase::setup(), Split::setup(), SideSetsGeneratorBase::setup(), TransientMultiApp::setupApp(), NEML2Action::setupOutputMappings(), FullSolveMultiApp::showStatusMessage(), SideSetExtruderGenerator::SideSetExtruderGenerator(), TransientMultiApp::solveStep(), UserObject::spatialValue(), 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(), NEML2FEInterpolation::syncWithMainThread(), TaggingInterface::TaggingInterface(), MooseLinearVariableFV< Real >::timeIntegratorError(), VectorPostprocessorVisualizationAux::timestepSetup(), ElementSubdomainModifierBase::timestepSetup(), to_json(), MultiAppDofCopyTransfer::transfer(), MultiAppShapeEvaluationTransfer::transferVariable(), MultiAppMFEMCopyTransfer::transferVariables(), MultiAppMFEMShapeEvaluationTransfer::transferVariables(), TransientMultiApp::TransientMultiApp(), MooseServer::traverseParseTreeAndFillSymbols(), 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(), and writeRestartableMetaData().

104  {
105  mooseAssert(_name.size(), "Empty name");
106  return _name;
107  }
const std::string & _name
The name of this class.
Definition: MooseBase.h:381

◆ outputMachineReadableData()

void MooseApp::outputMachineReadableData ( const std::string &  param,
const std::string &  start_marker,
const std::string &  end_marker,
const std::string &  data 
) const
protected

Outputs machine readable data (JSON, YAML, etc.) either to the screen (if no filename was provided as an argument to the parameter param) or to a file (if a filename was provided).

Definition at line 3544 of file MooseApp.C.

Referenced by runInputFile(), and setupOptions().

3548 {
3549  // Bool parameter, just to screen
3550  if (_pars.have_parameter<bool>(param))
3551  {
3552  Moose::out << start_marker << data << end_marker << std::endl;
3553  return;
3554  }
3555 
3556  // String parameter, to file
3557  const auto & filename = getParam<std::string>(param);
3558  // write to file
3559  std::ofstream out(filename.c_str());
3560  if (out.is_open())
3561  {
3562  std::ofstream out(filename.c_str());
3563  out << data << std::flush;
3564  out.close();
3565  }
3566  else
3567  mooseError("Unable to open file `", filename, "` for writing ", param, " data to it.");
3568 }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:384
bool have_parameter(std::string_view name) const
A wrapper around the Parameters base class method.
OStreamProxy out
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

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

Referenced by HierarchicalGridPartitioner::_do_partition(), AutoCheckpointAction::act(), SetupDebugAction::act(), CommonOutputAction::act(), DiffusionCG::addFEKernels(), DiffusionFV::addFVKernels(), NEML2ModelExecutor::addGatheredParameter(), NEML2ModelExecutor::addGatheredVariable(), ADDGKernel::ADDGKernel(), ComponentJunction::addMeshGenerators(), CylinderComponent::addMeshGenerators(), ReporterPointSource::addPoints(), ADIntegratedBCTempl< T >::ADIntegratedBCTempl(), ADKernelTempl< T >::ADKernelTempl(), ADPenaltyPeriodicSegmentalConstraint::ADPenaltyPeriodicSegmentalConstraint(), ADPeriodicSegmentalConstraint::ADPeriodicSegmentalConstraint(), AdvancedExtruderGenerator::AdvancedExtruderGenerator(), AdvectiveFluxAux::AdvectiveFluxAux(), ADVectorFunctionDirichletBC::ADVectorFunctionDirichletBC(), 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(), checkComponent(), Moose::Kokkos::ParsedObjectBase::checkDuplicateSymbols(), MeshGenerator::checkGetMesh(), ComponentInitialConditionInterface::checkInitialConditionsAllRequested(), BatchMeshGeneratorAction::checkInputParameterType(), PhysicsBase::checkIntegrityEarly(), 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< false >::ConservativeAdvectionBCTempl(), ConservativeAdvectionTempl< is_ad >::ConservativeAdvectionTempl(), ConstantVectorPostprocessor::ConstantVectorPostprocessor(), ContainsPointAux::ContainsPointAux(), CopyValueAux::CopyValueAux(), MultiAppGeneralFieldTransfer::correctSolutionVectorValues(), Coupleable::Coupleable(), CoupledForceTempl< is_ad >::CoupledForceTempl(), CoupledValueFunctionMaterialTempl< is_ad >::CoupledValueFunctionMaterialTempl(), MultiApp::createApp(), MeshGeneratorSystem::createMeshGenerator(), CylindricalGridDivision::CylindricalGridDivision(), DebugResidualAux::DebugResidualAux(), ConstantReporter::declareConstantReporterValue(), ConstantReporter::declareConstantReporterValues(), AccumulateReporter::declareLateValues(), DefaultMultiAppFixedPointConvergence::DefaultMultiAppFixedPointConvergence(), DGKernel::DGKernel(), DGKernelBase::DGKernelBase(), DGLowerDKernel::DGLowerDKernel(), DiffusionFluxAux::DiffusionFluxAux(), DomainUserObject::DomainUserObject(), EigenProblem::EigenProblem(), 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(), 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(), 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(), FunctorPositions::FunctorPositions(), FunctorVectorElementalAuxTempl< is_ad >::FunctorVectorElementalAuxTempl(), FVAdvection::FVAdvection(), FVFluxBC::FVFluxBC(), FVInterfaceKernel::FVInterfaceKernel(), FVOneVarDiffusionInterface::FVOneVarDiffusionInterface(), FVTwoVarContinuityConstraint::FVTwoVarContinuityConstraint(), Boundary2DDelaunayGenerator::General2DDelaunay(), SurfaceSubdomainsDelaunayRemesher::General2DDelaunay(), BoundaryDeletionGenerator::generate(), UniqueExtraIDMeshGenerator::generate(), AddMetaDataGenerator::generate(), BlockToMeshConverterGenerator::generate(), BreakBoundaryOnSubdomainGenerator::generate(), ExtraNodesetGenerator::generate(), LowerDBlockFromSidesetGenerator::generate(), PlaneIDMeshGenerator::generate(), RenameBlockGenerator::generate(), RenameBoundaryGenerator::generate(), RenumberBySubdomainGenerator::generate(), CoarsenBlockGenerator::generate(), BlockDeletionGenerator::generate(), BoundaryElementConversionGenerator::generate(), ElementsToTetrahedronsConverter::generate(), BreakMeshByBlockGenerator::generate(), FillBetweenCurvesGenerator::generate(), FillBetweenSidesetsGenerator::generate(), FlipSidesetGenerator::generate(), GeneratedMeshGenerator::generate(), ParsedSubdomainGeneratorBase::generate(), RefineBlockGenerator::generate(), RefineSidesetGenerator::generate(), SideSetsFromNodeSetsGenerator::generate(), SubdomainsFromPartitionerGenerator::generate(), XYZDelaunayGenerator::generate(), MeshCollectionGenerator::generate(), AdvancedExtruderGenerator::generate(), BreakMeshByElementGenerator::generate(), CombinerGenerator::generate(), MeshExtruderGenerator::generate(), ParsedExtraElementIDGenerator::generate(), PolyLineMeshFollowingNodeSetGenerator::generate(), ProjectSideSetOntoLevelSetGenerator::generate(), StackGenerator::generate(), CircularBoundaryCorrectionGenerator::generate(), ParsedCurveGenerator::generate(), XYMeshLineCutter::generate(), Boundary2DDelaunayGenerator::generate(), CutMeshByLevelSetGeneratorBase::generate(), SurfaceSubdomainsDelaunayRemesher::generate(), ManifoldSubdomainGenerator::generate(), SubdomainBoundingBoxGenerator::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(), Sampler::getNextLocalRow(), FEProblemSolve::getParamFromNonlinearSystemVectorParam(), PostprocessorInterface::getPostprocessorNameInternal(), PostprocessorInterface::getPostprocessorValueInternal(), MultiAppNearestNodeTransfer::getTargetLocalNodes(), UserObjectInterface::getUserObjectBase(), UserObjectInterface::getUserObjectName(), AddPeriodicBCAction::getVariables(), HFEMDirichletBC::HFEMDirichletBC(), MFEMTransient::init(), AddVariableAction::init(), MultiApp::init(), DistributedPositions::initialize(), BlockWeightedPartitioner::initialize(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), PhysicsBase::initializePhysics(), JSONOutput::initialSetup(), MultiAppCloneReporterTransfer::initialSetup(), SolutionIC::initialSetup(), SideFVFluxBCIntegral::initialSetup(), FullSolveMultiApp::initialSetup(), BoundaryLinearFVFluxIntegral::initialSetup(), MultiAppGeneralFieldKDTreeTransferBase::initialSetup(), MultiAppVariableValueSamplePostprocessorTransfer::initialSetup(), MFEMScalarCoefficientPointValueSampler::initialSetup(), MultiAppGeneralFieldNearestLocationTransfer::initialSetup(), MultiAppDofCopyTransfer::initialSetup(), HistogramVectorPostprocessor::initialSetup(), ReferenceResidualConvergence::initialSetup(), PiecewiseConstantFromCSV::initialSetup(), LibtorchControlValuePostprocessor::initialSetup(), MultiAppGeneralFieldTransfer::initialSetup(), ElementSubdomainModifierBase::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< false >::MatReactionTempl(), MatrixSymmetryCheck::MatrixSymmetryCheck(), PatternedMeshGenerator::mergeSubdomainNameMaps(), MeshCollectionGenerator::MeshCollectionGenerator(), MeshDiagnosticsGenerator::MeshDiagnosticsGenerator(), MeshDivisionAux::MeshDivisionAux(), MeshGenerator::MeshGenerator(), MeshGeneratorComponent::MeshGeneratorComponent(), MeshInfo::MeshInfo(), MFEMComplexSumAux::MFEMComplexSumAux(), MFEMFunctorMaterial::MFEMFunctorMaterial(), MFEMGenericFunctorMaterial::MFEMGenericFunctorMaterial(), MFEMGenericFunctorVectorMaterial::MFEMGenericFunctorVectorMaterial(), MFEMGeometricMultigridSolver::MFEMGeometricMultigridSolver(), MFEMMultiAppTransfer::MFEMMultiAppTransfer(), MFEMNDtoRTAux::MFEMNDtoRTAux(), MFEMSumAux::MFEMSumAux(), MFEMVariable::MFEMVariable(), MooseLinearVariableFV< Real >::MooseLinearVariableFV(), UserObjectInterface::mooseObjectError(), MoosePreconditioner::MoosePreconditioner(), MooseStaticCondensationPreconditioner::MooseStaticCondensationPreconditioner(), MooseVariableBase::MooseVariableBase(), MortarConstraintBase::MortarConstraintBase(), MortarNodalAuxKernelTempl< ComputeValueType >::MortarNodalAuxKernelTempl(), MultiApp::moveApp(), MoveNodeGenerator::MoveNodeGenerator(), 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(), 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(), 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(), SurfaceMeshGeneratorBase::setup(), NodeSetsGeneratorBase::setup(), SideSetsGeneratorBase::setup(), CylinderComponent::setupComponent(), NEML2Action::setupDerivativeMappings(), NEML2Action::setupInputMappings(), MultiSystemSolveObject::setupMultiSystemFixedPointRelaxationFactors(), 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(), Terminator::Terminator(), TimeDerivativeAux::TimeDerivativeAux(), Transfer::Transfer(), TransformGenerator::TransformGenerator(), TransientMultiApp::TransientMultiApp(), CylinderComponent::translation(), MeshTriangulationUtils::triangulateWithDelaunay(), ParsedCurveGenerator::tSectionSpaceDefiner(), UniqueExtraIDMeshGenerator::UniqueExtraIDMeshGenerator(), UserObjectBase::UserObjectBase(), Checkpoint::validateExecuteOn(), ParsedAux::validateGenericVectorNames(), MFEMProblem::validateVariableNumericType(), FunctorIC::value(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), VectorBodyForce::VectorBodyForce(), VectorFunctionDirichletBC::VectorFunctionDirichletBC(), VectorFunctionIC::VectorFunctionIC(), VolumeAux::VolumeAux(), WebServerControl::WebServerControl(), XYDelaunayGenerator::XYDelaunayGenerator(), XYMeshLineCutter::XYMeshLineCutter(), and XYZDelaunayGenerator::XYZDelaunayGenerator().

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

◆ parameters()

const InputParameters& MooseBase::parameters ( ) const
inlineinherited

Get the parameters of the object.

Returns
The parameters of the object

Definition at line 131 of file MooseBase.h.

Referenced by MeshOnlyAction::act(), SplitMeshAction::act(), CSGOnlyAction::act(), SetupDebugAction::act(), AddActionComponentAction::act(), CommonOutputAction::act(), Action::Action(), FEProblemBase::addAnyRedistributers(), MFEMProblem::addAuxKernel(), FEProblemBase::addAuxKernel(), FEProblemBase::addAuxScalarKernel(), MFEMProblem::addAuxVariable(), DisplacedProblem::addAuxVariable(), MFEMProblem::addBoundaryCondition(), FEProblemBase::addBoundaryCondition(), FEProblemBase::addConstraint(), FEProblemBase::addConvergence(), FEProblemBase::addDamper(), AddDefaultConvergenceAction::addDefaultMultiAppFixedPointConvergence(), FEProblemBase::addDefaultMultiAppFixedPointConvergence(), ReferenceResidualProblem::addDefaultNonlinearConvergence(), AddDefaultConvergenceAction::addDefaultNonlinearConvergence(), FEProblemBase::addDefaultNonlinearConvergence(), AddDefaultConvergenceAction::addDefaultSteadyStateConvergence(), FEProblemBase::addDefaultSteadyStateConvergence(), FEProblemBase::addDGKernel(), FEProblemBase::addDiracKernel(), FEProblemBase::addDistribution(), MFEMProblem::addFESpace(), MFEMProblem::addFESpaceHierarchy(), MFEMProblem::addFunction(), FEProblemBase::addFunction(), MFEMProblem::addFunctorMaterial(), FEProblemBase::addFunctorMaterial(), FEProblemBase::addFVBC(), FEProblemBase::addFVInitialCondition(), FEProblemBase::addFVInterfaceKernel(), FEProblemBase::addFVInterpolationMethod(), FEProblemBase::addFVKernel(), MFEMProblem::addGridFunction(), FEProblemBase::addHDGKernel(), MFEMProblem::addImagComponentToBC(), MFEMProblem::addImagComponentToKernel(), MFEMProblem::addIndicator(), FEProblemBase::addIndicator(), MFEMProblem::addInitialCondition(), FEProblemBase::addInitialCondition(), DiffusionPhysicsBase::addInitialConditions(), FEProblemBase::addInterfaceKernel(), FEProblemBase::addInterfaceMaterial(), MFEMProblem::addKernel(), FEProblemBase::addKernel(), FEProblemBase::addLinearFVBC(), FEProblemBase::addLinearFVKernel(), FEProblem::addLineSearch(), MFEMProblem::addMarker(), FEProblemBase::addMarker(), FEProblemBase::addMaterial(), FEProblemBase::addMaterialHelper(), FEProblemBase::addMeshDivision(), MFEMProblem::addMFEMFESpaceFromMOOSEVariable(), MFEMProblem::addMFEMSolver(), FEProblemBase::addMultiApp(), FEProblemBase::addNodalKernel(), FEProblemBase::addObject(), FEProblemBase::addObjectParamsHelper(), FEProblemBase::addOutput(), MFEMProblem::addPostprocessor(), FEProblemBase::addPostprocessor(), FEProblemBase::addPredictor(), MFEMProblem::addQuadratureFunction(), MFEMProblem::addRealComponentToBC(), MFEMProblem::addRealComponentToKernel(), FEProblemBase::addReporter(), FEProblemBase::addSampler(), FEProblemBase::addScalarKernel(), MFEMProblem::addSubMesh(), FEProblemBase::addTimeIntegrator(), MFEMProblem::addTransfer(), FEProblemBase::addTransfer(), FEProblemBase::addUserObject(), MFEMEigenproblem::addVariable(), MFEMProblem::addVariable(), DisplacedProblem::addVariable(), MFEMProblem::addVectorPostprocessor(), FEProblemBase::addVectorPostprocessor(), ADPiecewiseLinearInterpolationMaterial::ADPiecewiseLinearInterpolationMaterial(), AdvancedOutput::AdvancedOutput(), ADVectorFunctionDirichletBC::ADVectorFunctionDirichletBC(), AnnularMesh::AnnularMesh(), AnnularMeshGenerator::AnnularMeshGenerator(), Action::associateWithParameter(), AuxKernelBase::AuxKernelBase(), AuxScalarKernel::AuxScalarKernel(), BoundsBase::BoundsBase(), MooseMesh::buildTypedMesh(), PostprocessorInterface::checkParam(), AddDefaultConvergenceAction::checkUnusedMultiAppFixedPointConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedNonlinearConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedSteadyStateConvergenceParameters(), SampledOutput::cloneMesh(), 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< Real >::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(), FEProblem::setInputParametersFEProblem(), FEProblemBase::setInputParametersFEProblem(), FEProblemBase::setResidualObjectParamsAndLog(), SideSetsGeneratorBase::setup(), NonlinearSystemBase::shouldEvaluatePreSMOResidual(), SideSetsFromBoundingBoxGenerator::SideSetsFromBoundingBoxGenerator(), Moose::PetscSupport::storePetscOptions(), DumpObjectsProblem::stringifyParameters(), TaggingInterface::TaggingInterface(), Transfer::Transfer(), TransientBase::TransientBase(), VectorBodyForce::VectorBodyForce(), VectorFunctionDirichletBC::VectorFunctionDirichletBC(), VectorFunctionIC::VectorFunctionIC(), and VectorMagnitudeFunctorMaterialTempl< is_ad >::VectorMagnitudeFunctorMaterialTempl().

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

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

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

472 {
473  mooseInfo(_pars.paramMessage(param, std::forward<Args>(args)...));
474 }
std::string paramMessage(const std::string &param, Args... args) const
void mooseInfo(Args &&... args) const
Definition: MooseBase.h:334
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:384

◆ paramWarning()

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

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

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

Definition at line 464 of file MooseBase.h.

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

◆ parser() [1/2]

const Parser & MooseApp::parser ( ) const
Returns
The Parser

Definition at line 1879 of file MooseApp.C.

Referenced by ActionFactory::create().

1880 {
1881  mooseAssert(_parser, "Not set");
1882  return *_parser;
1883 }
const std::shared_ptr< Parser > _parser
Parser for parsing the input file (owns the root hit node)
Definition: MooseApp.h:1334

◆ parser() [2/2]

Parser & MooseApp::parser ( )

Definition at line 1886 of file MooseApp.C.

1887 {
1888  return const_cast<Parser &>(std::as_const(*this).parser());
1889 }
Class for parsing input files.
Definition: Parser.h:87

◆ perfGraph()

PerfGraph& MooseApp::perfGraph ( )
inline

Get the PerfGraph for this app.

Definition at line 179 of file MooseApp.h.

Referenced by PerfGraphInterface::perfGraph().

179 { return _perf_graph; }
PerfGraph & _perf_graph
The PerfGraph object for this application (recoverable)
Definition: MooseApp.h:1355

◆ possiblyLoadRestartableMetaData()

void MooseApp::possiblyLoadRestartableMetaData ( const RestartableDataMapName name,
const std::filesystem::path &  folder_base 
)

Loads the restartable meta data for name if it is available with the folder base folder_base.

Definition at line 2530 of file MooseApp.C.

Referenced by FileMesh::buildMesh(), FileMeshGenerator::generate(), and loadRestartableMetaData().

2532 {
2533  const auto & map_name = getRestartableDataMapName(name);
2534  const auto meta_data_folder_base = metaDataFolderBase(folder_base, map_name);
2535  if (RestartableDataReader::isAvailable(meta_data_folder_base))
2536  {
2538  reader.setErrorOnLoadWithDifferentNumberOfProcessors(false);
2539  reader.setInput(meta_data_folder_base);
2540  reader.restore();
2541  }
2542 }
Reader for restartable data written by the RestartableDataWriter.
static std::filesystem::path metaDataFolderBase(const std::filesystem::path &folder_base, const std::string &map_suffix)
The file suffix for meta data (header and data)
Definition: MooseApp.C:3046
bool forceRestart() const
Whether or not we are forcefully restarting (allowing the load of potentially incompatibie checkpoint...
Definition: MooseApp.h:1114
RestartableDataMap & getRestartableDataMap(const RestartableDataMapName &name)
Return a reference to restartable data for the specific type flag.
Definition: MooseApp.C:3427
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103
const std::string & getRestartableDataMapName(const RestartableDataMapName &name) const
Definition: MooseApp.C:3454
static bool isAvailable(const std::filesystem::path &folder_base)

◆ postRestore()

virtual void MooseApp::postRestore ( const bool  )
inlinevirtual

Insertion point for other apps that is called after restore()

Parameters
for_restartWhether this restoration is explicitly for the first restoration of restart data

Definition at line 804 of file MooseApp.h.

Referenced by restore().

804 {}

◆ preBackup()

virtual void MooseApp::preBackup ( )
inlinevirtual

Insertion point for other apps that is called before backup()

Definition at line 770 of file MooseApp.h.

Referenced by backup().

770 {}

◆ processor_id()

processor_id_type MooseApp::processor_id ( ) const
inline

Returns the MPI processor ID of the current processor.

Definition at line 417 of file MooseApp.h.

Referenced by restartFolderBase(), FileOutput::setFileBaseInternal(), and writeRestartableMetaData().

417 { return _comm->rank(); }
const std::shared_ptr< libMesh::Parallel::Communicator > _comm
The MPI communicator this App is going to use.
Definition: MooseApp.h:1294

◆ queryKokkosGPUs()

void MooseApp::queryKokkosGPUs ( )
private

Query the Kokkos GPUs in the system and check whether every process has an associated GPU.

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

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

414 {
415  return _pars.queryParam<T>(name);
416 }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:384
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103
const T * queryParam(const std::string &name) const
Query a parameter.

◆ rankMap()

const RankMap& MooseApp::rankMap ( )
inline

The RankMap is a useful object for determining how the processes are laid out on the physical nodes of the cluster.

Definition at line 174 of file MooseApp.h.

174 { return _rank_map; }
const RankMap _rank_map
The RankMap is a useful object for determining how the processes are laid out on the physical hardwar...
Definition: MooseApp.h:1361

◆ recursivelyCreateExecutors()

void MooseApp::recursivelyCreateExecutors ( const std::string &  current_executor_name,
std::list< std::string > &  possible_roots,
std::list< std::string > &  current_branch 
)
private

Internal function used to recursively create the executor objects.

Called by createExecutors

Parameters
current_executor_nameThe name of the executor currently needing to be built
possible_rootsThe names of executors that are currently candidates for being the root

Definition at line 1892 of file MooseApp.C.

Referenced by createExecutors().

1895 {
1896  // Did we already make this one?
1897  if (_executors.find(current_executor_name) != _executors.end())
1898  return;
1899 
1900  // Is this one already on the current branch (i.e. there is a cycle)
1901  if (std::find(current_branch.begin(), current_branch.end(), current_executor_name) !=
1902  current_branch.end())
1903  {
1904  std::stringstream exec_names_string;
1905 
1906  auto branch_it = current_branch.begin();
1907 
1908  exec_names_string << *branch_it++;
1909 
1910  for (; branch_it != current_branch.end(); ++branch_it)
1911  exec_names_string << ", " << *branch_it;
1912 
1913  exec_names_string << ", " << current_executor_name;
1914 
1915  mooseError("Executor cycle detected: ", exec_names_string.str());
1916  }
1917 
1918  current_branch.push_back(current_executor_name);
1919 
1920  // Build the dependencies first
1921  const auto & params = *_executor_params[current_executor_name].second;
1922 
1923  for (const auto & param : params)
1924  {
1925  if (params.have_parameter<ExecutorName>(param.first))
1926  {
1927  const auto & dependency_name = params.get<ExecutorName>(param.first);
1928 
1929  possible_roots.remove(dependency_name);
1930 
1931  if (!dependency_name.empty())
1932  recursivelyCreateExecutors(dependency_name, possible_roots, current_branch);
1933  }
1934  }
1935 
1936  // Add this Executor
1937  const auto & type = _executor_params[current_executor_name].first;
1938  addExecutor(type, current_executor_name, params);
1939 
1940  current_branch.pop_back();
1941 }
KOKKOS_INLINE_FUNCTION const T * find(const T &target, const T *const begin, const T *const end)
Find a value in an array.
Definition: KokkosUtils.h:40
std::unordered_map< std::string, std::pair< std::string, std::unique_ptr< InputParameters > > > _executor_params
Used in building the Executors Maps the name of the Executor block to the <type, params> ...
Definition: MooseApp.h:1375
void recursivelyCreateExecutors(const std::string &current_executor_name, std::list< std::string > &possible_roots, std::list< std::string > &current_branch)
Internal function used to recursively create the executor objects.
Definition: MooseApp.C:1892
std::map< std::string, std::shared_ptr< Executor > > _executors
Pointers to all of the Executors for this run.
Definition: MooseApp.h:1370
const std::string & type() const
Get the type of this class.
Definition: MooseBase.h:93
void addExecutor(const std::string &type, const std::string &name, const InputParameters &params)
Definition: MooseApp.C:1859
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

◆ registerInterfaceObject()

template<class T >
void MooseApp::registerInterfaceObject ( T &  interface)

Registers an interface object for accessing with getInterfaceObjects.

This should be called within the constructor of the interface in interest.

Definition at line 1779 of file MooseApp.h.

Referenced by Coupleable::Coupleable(), MaterialPropertyInterface::MaterialPropertyInterface(), PetscOutputInterface::PetscOutputInterface(), and Reporter::Reporter().

1780 {
1781  static_assert(!std::is_base_of<MooseObject, T>::value, "T is not an interface");
1782 
1783  InterfaceRegistryObjects<T> * registry = nullptr;
1784  auto it = _interface_registry.find(typeid(T));
1785  if (it == _interface_registry.end())
1786  {
1787  auto new_registry = std::make_unique<InterfaceRegistryObjects<T>>();
1788  registry = new_registry.get();
1789  _interface_registry.emplace(typeid(T), std::move(new_registry));
1790  }
1791  else
1792  registry = static_cast<InterfaceRegistryObjects<T> *>(it->second.get());
1793 
1794  mooseAssert(std::count(registry->_objects.begin(), registry->_objects.end(), &interface) == 0,
1795  "Interface already registered");
1796  registry->_objects.push_back(&interface);
1797 }
static Moose::ParameterRegistry & registry
unsigned int count
Definition: MortarUtils.C:53
std::map< std::type_index, std::unique_ptr< InterfaceRegistryObjectsBase > > _interface_registry
Registration for interface objects.
Definition: MooseApp.h:1727
static ParameterRegistry & get()
Get the singleton registry.

◆ registerRestartableData() [1/2]

RestartableDataValue & MooseApp::registerRestartableData ( std::unique_ptr< RestartableDataValue data,
THREAD_ID  tid,
bool  read_only,
const RestartableDataMapName metaname = "" 
)

Definition at line 2449 of file MooseApp.C.

Referenced by createRecoverablePerfGraph(), createRecoverableSolutionInvalidity(), MeshGenerator::declareMeshProperty(), ReporterData::getRestartableDataHelper(), and Restartable::registerRestartableDataOnApp().

2453 {
2454  if (!metaname.empty() && tid != 0)
2455  mooseError(
2456  "The meta data storage for '", metaname, "' is not threaded, so the tid must be zero.");
2457 
2458  mooseAssert(metaname.empty() ||
2459  _restartable_meta_data.find(metaname) != _restartable_meta_data.end(),
2460  "The desired meta data name does not exist: " + metaname);
2461 
2462  // Select the data store for saving this piece of restartable data (mesh or everything else)
2463  auto & data_map =
2464  metaname.empty() ? _restartable_data[tid] : _restartable_meta_data[metaname].first;
2465 
2466  RestartableDataValue * stored_data = data_map.findData(data->name());
2467  if (stored_data)
2468  {
2469  if (data->typeId() != stored_data->typeId())
2470  mooseError("Type mismatch found in RestartableData registration of '",
2471  data->name(),
2472  "'\n\n Stored type: ",
2473  stored_data->type(),
2474  "\n New type: ",
2475  data->type());
2476  }
2477  else
2478  stored_data = &data_map.addData(std::move(data));
2479 
2480  if (!read_only)
2481  stored_data->setDeclared({});
2482 
2483  return *stored_data;
2484 }
std::unordered_map< RestartableDataMapName, std::pair< RestartableDataMap, std::string > > _restartable_meta_data
General storage for custom RestartableData that can be added to from outside applications.
Definition: MooseApp.h:1664
virtual const std::type_info & typeId() const =0
The type ID of the underlying data.
std::vector< RestartableDataMap > _restartable_data
Where the restartable data is held (indexed on tid)
Definition: MooseApp.h:1346
virtual std::string type() const =0
String identifying the type of parameter stored.
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
void setDeclared(const SetDeclaredKey)
Sets that this restartable value has been declared.
Abstract definition of a RestartableData value.

◆ registerRestartableData() [2/2]

RestartableDataValue& MooseApp::registerRestartableData ( const std::string &  name,
std::unique_ptr< RestartableDataValue data,
THREAD_ID  tid,
bool  read_only,
const RestartableDataMapName metaname = "" 
)

◆ registerRestartableDataMapName()

void MooseApp::registerRestartableDataMapName ( const RestartableDataMapName name,
std::string  suffix = "" 
)

Reserve a location for storing custom RestartableDataMap objects.

This should be called in the constructor of an application.

Parameters
nameA key to use for accessing the data object
suffixThe suffix to use when appending to checkpoint output, if not supplied the given name is used to generate the suffix (MyMetaData -> _mymetadata)

Definition at line 3444 of file MooseApp.C.

3445 {
3446  if (!suffix.empty())
3447  std::transform(suffix.begin(), suffix.end(), suffix.begin(), ::tolower);
3448  suffix.insert(0, "_");
3449  _restartable_meta_data.emplace(
3450  std::make_pair(name, std::make_pair(RestartableDataMap(), suffix)));
3451 }
std::unordered_map< RestartableDataMapName, std::pair< RestartableDataMap, std::string > > _restartable_meta_data
General storage for custom RestartableData that can be added to from outside applications.
Definition: MooseApp.h:1664
Storage for restartable data that is ordered based on insertion order.
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103

◆ registerRestartableNameWithFilter()

void MooseApp::registerRestartableNameWithFilter ( const std::string &  name,
Moose::RESTARTABLE_FILTER  filter 
)
protected

NOTE: This is an internal function meant for MOOSE use only!

Register a piece of restartable data that will be used in a filter in/out during deserialization. Note however that this data will always be written to the restart file.

Parameters
nameThe full (unique) name.
filterThe filter name where to direct the name

Definition at line 1701 of file MooseApp.C.

Referenced by createRecoverablePerfGraph(), createRecoverableSolutionInvalidity(), and Restartable::registerRestartableNameWithFilterOnApp().

1703 {
1705  switch (filter)
1706  {
1707  case RESTARTABLE_FILTER::RECOVERABLE:
1708  _recoverable_data_names.insert(name);
1709  break;
1710  default:
1711  mooseError("Unknown filter");
1712  }
1713 }
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103
RESTARTABLE_FILTER
The filter type applied to a particular piece of "restartable" data.
Definition: MooseTypes.h:840
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
DataNames _recoverable_data_names
Data names that will only be read from the restart file during RECOVERY.
Definition: MooseApp.h:1352

◆ 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 }
PerfID registerSection(const std::string &section_name, const unsigned int level)
Call to register a named section for timing.
std::string timedSectionName(const std::string &section_name) const
PerfID sectionID(const std::string &section_name) const
Given a name return the PerfID The name of the section.
PerfGraphRegistry & getPerfGraphRegistry()
Get the global PerfGraphRegistry singleton.

◆ registerTimedSection() [2/2]

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

Call to register a named section for timing.

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

Definition at line 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 }
PerfID registerSection(const std::string &section_name, const unsigned int level)
Call to register a named section for timing.
std::string timedSectionName(const std::string &section_name) const
PerfID sectionID(const std::string &section_name) const
Given a name return the PerfID The name of the section.
PerfGraphRegistry & getPerfGraphRegistry()
Get the global PerfGraphRegistry singleton.

◆ relationshipManagers()

const std::set<std::shared_ptr<RelationshipManager> >& MooseApp::relationshipManagers ( ) const
inline

Return the container of relationship managers.

Definition at line 1063 of file MooseApp.h.

Referenced by NumRelationshipManagers::getValue().

1064  {
1065  return _relationship_managers;
1066  }
std::set< std::shared_ptr< RelationshipManager > > _relationship_managers
The relationship managers that have been added.
Definition: MooseApp.h:1454

◆ removeRelationshipManager()

void MooseApp::removeRelationshipManager ( std::shared_ptr< RelationshipManager relationship_manager)
private

Purge this relationship manager from meshes and DofMaps and finally from us.

This method is private because only this object knows when we should remove relationship managers: when we are adding relationship managers to this object's storage, we perform an operator>= comparison between our existing RMs and the RM we are trying to add. If any comparison returns true, we do not add the new RM because the comparison indicates that we would gain no new coverage. However, if no comparison return true, then we add the new RM and we turn the comparison around! Consequently if our new RM is >= than any of our preexisting RMs, we remove those preexisting RMs using this method

Definition at line 3093 of file MooseApp.C.

Referenced by addRelationshipManager().

3094 {
3095  auto * const mesh = _action_warehouse.mesh().get();
3096  if (!mesh)
3097  mooseError("The MooseMesh should exist");
3098 
3099  const MeshBase * const undisp_lm_mesh = mesh->getMeshPtr();
3100  RelationshipManager * undisp_clone = nullptr;
3101  if (undisp_lm_mesh && hasRMClone(*rm, *undisp_lm_mesh))
3102  {
3103  undisp_clone = &getRMClone(*rm, *undisp_lm_mesh);
3104  const_cast<MeshBase *>(undisp_lm_mesh)->remove_ghosting_functor(*undisp_clone);
3105  }
3106 
3107  auto & displaced_mesh = _action_warehouse.displacedMesh();
3108  MeshBase * const disp_lm_mesh = displaced_mesh ? &displaced_mesh->getMesh() : nullptr;
3109  RelationshipManager * disp_clone = nullptr;
3110  if (disp_lm_mesh && hasRMClone(*rm, *disp_lm_mesh))
3111  {
3112  disp_clone = &getRMClone(*rm, *disp_lm_mesh);
3113  disp_lm_mesh->remove_ghosting_functor(*disp_clone);
3114  }
3115 
3116  if (_executioner)
3117  {
3118  auto & problem = feProblem();
3119  if (undisp_clone)
3120  {
3121  problem.removeAlgebraicGhostingFunctor(*undisp_clone);
3122  problem.removeCouplingGhostingFunctor(*undisp_clone);
3123  }
3124 
3125  auto * dp = problem.getDisplacedProblem().get();
3126  if (dp && disp_clone)
3127  dp->removeAlgebraicGhostingFunctor(*disp_clone);
3128  }
3129 
3130  _factory.releaseSharedObjects(*rm);
3131  _relationship_managers.erase(rm);
3132 }
bool hasRMClone(const RelationshipManager &template_rm, const MeshBase &mesh) const
Definition: MooseApp.C:3070
std::shared_ptr< MooseMesh > & displacedMesh()
RelationshipManager & getRMClone(const RelationshipManager &template_rm, const MeshBase &mesh) const
Return the relationship manager clone originally created from the provided template relationship mana...
Definition: MooseApp.C:3078
void remove_ghosting_functor(GhostingFunctor &ghosting_functor)
MeshBase & mesh
ActionWarehouse _action_warehouse
Where built actions are stored.
Definition: MooseApp.h:1328
FEProblemBase & feProblem() const
Definition: MooseApp.C:1852
std::shared_ptr< MooseMesh > & mesh()
std::shared_ptr< Executioner > _executioner
Pointer to the executioner of this run (typically build by actions)
Definition: MooseApp.h:1364
RelationshipManagers are used for describing what kinds of non-local resources are needed for an obje...
std::set< std::shared_ptr< RelationshipManager > > _relationship_managers
The relationship managers that have been added.
Definition: MooseApp.h:1454
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
Factory _factory
Definition: MooseApp.h:1402

◆ requestCitations()

void MooseApp::requestCitations ( )
private

Handles the –citations command-line option: registers with PETSc the BibTeX entries that should be cited for the framework and the modules/objects used in this simulation, and enables PETSc's -citations option.

PETSc prints them (together with its own and its sub-packages' citations) at PetscFinalize, to the console or to a file if one was given. The collected set spans this app and, recursively, every MultiApp subapp, and is gathered across all MPI ranks (PETSc prints from rank 0 alone), so attribution is complete for multi-app runs.

Definition at line 2136 of file MooseApp.C.

Referenced by run().

2137 {
2138  // Collect the de-duplicated citations across this app and, recursively, every MultiApp subapp.
2139  std::map<std::string, std::string> citations;
2140  collectCitations(citations);
2141 
2142  // MultiApp subapps are distributed across the MPI ranks, so each rank has collected citations
2143  // only for the subapps it owns. PETSc prints the citation list from rank 0 alone, so gather every
2144  // rank's citations onto all ranks; otherwise a module used only by a subapp that lives off rank 0
2145  // would be omitted.
2146  std::vector<std::string> flattened;
2147  flattened.reserve(citations.size() * 2);
2148  for (const auto & [key, bibtex] : citations)
2149  {
2150  flattened.push_back(key);
2151  flattened.push_back(bibtex);
2152  }
2153  _comm->allgather(flattened);
2154  for (std::size_t i = 0; i + 1 < flattened.size(); i += 2)
2155  {
2156  [[maybe_unused]] const auto [it, inserted] = citations.emplace(flattened[i], flattened[i + 1]);
2157  mooseAssert(inserted || it->second == flattened[i + 1],
2158  "The same citation key was registered with different BibTeX entries");
2159  }
2160 
2161  // Register the resolved BibTeX entries with PETSc and enable its -citations option. PETSc prints
2162  // them, together with the run-specific citations from any PETSc solvers/preconditioners actually
2163  // used, at PetscFinalize (to the console or, if a file name was given, to that file).
2164  for (const auto & citation : citations)
2166 
2167  Moose::PetscSupport::setSinglePetscOption("-citations", getParam<std::string>("citations"));
2168 }
void collectCitations(std::map< std::string, std::string > &citations) const
Collects the BibTeX citations for the modules/objects constructed in this app and the finite element ...
Definition: MooseApp.C:2101
void registerPetscCitation(const std::string &bibtex)
Register a BibTeX entry with PETSc&#39;s citation list so that it is printed (alongside the run-specific ...
void setSinglePetscOption(const std::string &name, const std::string &value="", FEProblemBase *const problem=nullptr)
A wrapper function for dealing with different versions of PetscOptionsSetValue.
const std::shared_ptr< libMesh::Parallel::Communicator > _comm
The MPI communicator this App is going to use.
Definition: MooseApp.h:1294

◆ restartFolderBase()

std::filesystem::path MooseApp::restartFolderBase ( const std::filesystem::path &  folder_base) const

The file suffix for restartable data.

Definition at line 3054 of file MooseApp.C.

Referenced by FEProblemBase::initialSetup(), and Checkpoint::output().

3055 {
3056  auto folder = folder_base;
3057  folder += "-restart-" + std::to_string(processor_id());
3059 }
processor_id_type processor_id() const
Returns the MPI processor ID of the current processor.
Definition: MooseApp.h:417
static std::filesystem::path restartableDataFolder(const std::filesystem::path &folder_base)

◆ restore() [1/2]

void MooseApp::restore ( const std::filesystem::path &  folder_base,
const bool  for_restart 
)

Restore an application from file.

Parameters
folder_baseThe backup folder base
for_restartWhether this restoration is explicitly for the first restoration of restart data

You must call finalizeRestore() after this in order to finalize the restoration. The restore process is kept open in order to restore additional data after the initial restore (that is, the restoration of data that has already been declared).

Definition at line 1756 of file MooseApp.C.

Referenced by FEProblemBase::initialSetup(), and restoreFromInitialBackup().

1757 {
1758  TIME_SECTION("restore", 2, "Restoring Application from File");
1759 
1760  const DataNames filter_names = for_restart ? getRecoverableData() : DataNames{};
1761 
1762  _rd_reader.setInput(folder_base);
1763  _rd_reader.restore(filter_names);
1764 
1765  postRestore(for_restart);
1766 }
void setInput(std::unique_ptr< std::stringstream > header_stream, std::unique_ptr< std::stringstream > data_stream)
Sets the input stream for reading from the stringstreams header_stream and data_stream for the header...
RestartableDataReader _rd_reader
Definition: MooseApp.h:1697
virtual void postRestore(const bool)
Insertion point for other apps that is called after restore()
Definition: MooseApp.h:804
std::unordered_set< std::string > DataNames
void restore(const DataNames &filter_names={})
Restores the restartable data.
const DataNames & getRecoverableData() const
Return a reference to the recoverable data object.
Definition: MooseApp.h:727

◆ restore() [2/2]

void MooseApp::restore ( std::unique_ptr< Backup backup,
const bool  for_restart 
)

Restore an application from the backup backup.

Parameters
backupThe backup
for_restartWhether this restoration is explicitly for the first restoration of restart data

You must call finalizeRestore() after this in order to finalize the restoration. The restore process is kept open in order to restore additional data after the initial restore (that is, the restoration of data that has already been declared).

Definition at line 1769 of file MooseApp.C.

1770 {
1771  TIME_SECTION("restore", 2, "Restoring Application");
1772 
1773  const DataNames filter_names = for_restart ? getRecoverableData() : DataNames{};
1774 
1775  if (!backup)
1776  mooseError("MooseApp::restore(): Provided backup is not initialized");
1777 
1778  auto header = std::move(backup->header);
1779  mooseAssert(header, "Header not available");
1780 
1781  auto data = std::move(backup->data);
1782  mooseAssert(data, "Data not available");
1783 
1784  if (restoreMeshBackup(*this, *backup, feProblem().mesh()))
1785  {
1787  feProblem().mesh().prepare(/*mesh_to_clone=*/nullptr);
1788  feProblem().meshChanged(/*intermediate_change=*/false,
1789  /*contract_mesh=*/false,
1790  /*clean_refinement_flags=*/false);
1791  }
1792 
1793  _rd_reader.setInput(std::move(header), std::move(data));
1794  _rd_reader.restore(filter_names);
1795 
1796  postRestore(for_restart);
1797 }
virtual void meshChanged(bool intermediate_change, bool contract_mesh, bool clean_refinement_flags)
Update data after a mesh change.
void setInput(std::unique_ptr< std::stringstream > header_stream, std::unique_ptr< std::stringstream > data_stream)
Sets the input stream for reading from the stringstreams header_stream and data_stream for the header...
MeshBase & mesh
RestartableDataReader _rd_reader
Definition: MooseApp.h:1697
FEProblemBase & feProblem() const
Definition: MooseApp.C:1852
virtual void postRestore(const bool)
Insertion point for other apps that is called after restore()
Definition: MooseApp.h:804
std::unique_ptr< Backup > backup()
Backs up the application memory in a Backup.
Definition: MooseApp.C:1727
bool _restored_initial_backup_mesh
Whether mesh topology has been restored from the initial Backup object.
Definition: MooseApp.h:1736
virtual std::string header() const
Returns a string to be printed at the beginning of a simulation.
Definition: MooseApp.C:2873
virtual MooseMesh & mesh() override
std::unordered_set< std::string > DataNames
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
void restore(const DataNames &filter_names={})
Restores the restartable data.
const DataNames & getRecoverableData() const
Return a reference to the recoverable data object.
Definition: MooseApp.h:727
bool prepare(const MeshBase *mesh_to_clone)
Calls prepare_for_use() if the underlying MeshBase object isn&#39;t prepared, then communicates various b...
Definition: MooseMesh.C:386

◆ restoreDataIfAvailable()

bool MooseApp::restoreDataIfAvailable ( RestartableDataValue value,
const THREAD_ID  tid,
Moose::PassKey< ReporterData  
)
inline

Restores value in place from the checkpoint reader if it is present in the checkpoint and has not yet been loaded.

Used to recover data (e.g. reporter values) that is declared after the bulk restore pass while the reader window is still open. No-op on non-recover runs and for data declared before the restore window opens.

Returns
Whether or not the value was restored

Definition at line 839 of file MooseApp.h.

Referenced by ReporterData::restoreReporterStateIfAvailable().

842  {
843  return _rd_reader.restoreDataIfAvailable(value, tid, {});
844  }
RestartableDataReader _rd_reader
Definition: MooseApp.h:1697
bool restoreDataIfAvailable(RestartableDataValue &value, const THREAD_ID tid, Moose::PassKey< MooseApp >)
Restores value in place from the open reader if it is present in the checkpoint and has not yet been ...

◆ restoredInitialBackupMesh()

bool MooseApp::restoredInitialBackupMesh ( ) const
inline

Whether this app has restored mesh topology from its initial Backup object.

Definition at line 750 of file MooseApp.h.

Referenced by FEProblemBase::initialSetup().

bool _restored_initial_backup_mesh
Whether mesh topology has been restored from the initial Backup object.
Definition: MooseApp.h:1736

◆ restoreFromInitialBackup()

void MooseApp::restoreFromInitialBackup ( const bool  for_restart)

Restores from a "initial" backup, that is, one set in _initial_backup.

Parameters
for_restartWhether this restoration is explicitly for the first restoration of restart data

This is only used for restoration of multiapp subapps, which have been given a Backup from their parent on initialization. Said Backup is passed to this app via the "_initial_backup" private input parameter.

See restore() for more information

Definition at line 1800 of file MooseApp.C.

Referenced by FEProblemBase::initialSetup().

1801 {
1802  mooseAssert(hasInitialBackup(), "Missing initial backup");
1803  restore(std::move(*_initial_backup), for_restart);
1804 }
bool hasInitialBackup() const
Definition: MooseApp.h:1047
void restore(const std::filesystem::path &folder_base, const bool for_restart)
Restore an application from file.
Definition: MooseApp.C:1756
std::unique_ptr< Backup > *const _initial_backup
The backup for use in initial setup; this will get set from the _initial_backup input parameter that ...
Definition: MooseApp.h:1733

◆ restoreMeshFromInitialBackup()

void MooseApp::restoreMeshFromInitialBackup ( MooseMesh mesh)

Restore mesh from this app's initial Backup object and consume the mesh checkpoint entries.

Definition at line 1749 of file MooseApp.C.

1750 {
1751  mooseAssert(hasInitialBackup(), "Missing initial backup");
1752  _restored_initial_backup_mesh = restoreMeshBackup(*this, **_initial_backup, mesh);
1753 }
bool hasInitialBackup() const
Definition: MooseApp.h:1047
bool _restored_initial_backup_mesh
Whether mesh topology has been restored from the initial Backup object.
Definition: MooseApp.h:1736
std::unique_ptr< Backup > *const _initial_backup
The backup for use in initial setup; this will get set from the _initial_backup input parameter that ...
Definition: MooseApp.h:1733

◆ run()

void MooseApp::run ( )
virtual

Run the application.

Definition at line 2027 of file MooseApp.C.

Referenced by MooseServer::parseDocumentForDiagnostics().

2028 {
2029  TIME_SECTION("run", 3);
2030  if (getParam<bool>("show_docs"))
2031  {
2032  auto binname = appBinaryName();
2033  if (binname == "")
2034  mooseError("could not locate installed tests to run (unresolved binary/app name)");
2035  auto docspath = MooseUtils::docsDir(binname);
2036  if (docspath == "")
2037  mooseError("no installed documentation found");
2038 
2039  auto docmsgfile = MooseUtils::pathjoin(docspath, "docmsg.txt");
2040  std::string docmsg = "file://" + MooseUtils::realpath(docspath) + "/index.html";
2041  if (MooseUtils::pathExists(docmsgfile) && MooseUtils::checkFileReadable(docmsgfile))
2042  {
2043  std::ifstream ifs(docmsgfile);
2044  std::string content((std::istreambuf_iterator<char>(ifs)),
2045  (std::istreambuf_iterator<char>()));
2046  content.replace(content.find("$LOCAL_SITE_HOME"), content.length(), docmsg);
2047  docmsg = content;
2048  }
2049 
2050  Moose::out << docmsg << "\n";
2051  _early_exit_param = "--docs";
2052  _ready_to_exit = true;
2053  return;
2054  }
2055 
2056  if (showInputs() || copyInputs() || runInputs())
2057  {
2058  _early_exit_param = "--show-input, --copy-inputs, or --run";
2059  _ready_to_exit = true;
2060  return;
2061  }
2062 
2063  try
2064  {
2065  TIME_SECTION("setup", 2, "Setting Up");
2066  setupOptions();
2067  runInputFile();
2068  }
2069  catch (Parser::Error & err)
2070  {
2071  mooseAssert(_parser->getThrowOnError(), "Should be true");
2072  throw;
2073  }
2074  catch (MooseRuntimeError & err)
2075  {
2076  mooseAssert(Moose::_throw_on_error, "Should be true");
2077  throw;
2078  }
2079  catch (std::exception & err)
2080  {
2081  mooseError(err.what());
2082  }
2083 
2084  if (!_check_input)
2085  {
2086  TIME_SECTION("execute", 2, "Executing");
2088  }
2089  else
2090  {
2091  errorCheck();
2092  // Output to stderr, so it is easier for peacock to get the result
2093  Moose::err << "Syntax OK" << std::endl;
2094  }
2095 
2096  if (isParamSetByUser("citations"))
2097  requestCitations();
2098 }
OStreamProxy err
std::string docsDir(const std::string &app_name)
Definition: MooseUtils.C:136
const bool _check_input
true if we want to just check the input file
Definition: MooseApp.h:1451
virtual void setupOptions()
Setup options based on InputParameters.
Definition: MooseApp.C:1025
const std::shared_ptr< Parser > _parser
Parser for parsing the input file (owns the root hit node)
Definition: MooseApp.h:1334
virtual std::string appBinaryName() const
Definition: MooseApp.h:150
bool runInputs()
Handles the run input parameter logic: Checks to see whether a directory exists in user space and lau...
Definition: MooseApp.C:2274
std::string realpath(const std::string &path)
Definition: MooseUtils.C:1136
bool showInputs() const
Prints a message showing the installable inputs for a given application (if getInstallableInputs has ...
Definition: MooseApp.C:2171
std::filesystem::path pathjoin(const std::filesystem::path &p)
Definition: MooseUtils.C:70
virtual void executeExecutioner()
Execute the Executioner that was built.
Definition: MooseApp.C:1637
virtual void runInputFile()
Actually build everything in the input file.
Definition: MooseApp.C:1557
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
bool pathExists(const std::string &path)
Definition: MooseUtils.C:258
Exception to be thrown whenever we have _throw_on_error set and a mooseError() is emitted...
Definition: MooseError.h:117
bool checkFileReadable(const std::string &filename, bool check_line_endings, bool throw_on_unreadable, bool check_for_git_lfs_pointer)
Definition: MooseUtils.C:265
bool _ready_to_exit
Definition: MooseApp.h:1408
bool copyInputs()
Handles the copy_inputs input parameter logic: Checks to see whether the passed argument is valid (a ...
Definition: MooseApp.C:2209
bool _throw_on_error
Variable to turn on exceptions during mooseError(), should only be used within MOOSE unit tests or wh...
Definition: Moose.C:925
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
void requestCitations()
Handles the –citations command-line option: registers with PETSc the BibTeX entries that should be c...
Definition: MooseApp.C:2136
void errorCheck()
Runs post-initialization error checking that cannot be run correctly unless the simulation has been f...
Definition: MooseApp.C:1601
std::string _early_exit_param
Indicates if simulation is ready to exit, and keeps track of which param caused it to exit...
Definition: MooseApp.h:1407

◆ runInputFile()

void MooseApp::runInputFile ( )
virtual

Actually build everything in the input file.

Definition at line 1557 of file MooseApp.C.

Referenced by run().

1558 {
1559  TIME_SECTION("runInputFile", 3);
1560 
1561  // If early exit param has been set, then just return
1562  if (_ready_to_exit)
1563  return;
1564 
1566 
1567  if (isParamSetByUser("csg_only"))
1568  {
1569  _early_exit_param = "--csg-only";
1570  _ready_to_exit = true;
1571  }
1572  else if (isParamSetByUser("mesh_only"))
1573  {
1574  _early_exit_param = "--mesh-only";
1575  _ready_to_exit = true;
1576  }
1577  else if (isParamSetByUser("split_mesh"))
1578  {
1579  _early_exit_param = "--split-mesh";
1580  _ready_to_exit = true;
1581  }
1582  else if (isParamSetByUser("parse_neml2_only"))
1583  {
1584  _early_exit_param = "--parse-neml2-only";
1585  _ready_to_exit = true;
1586  }
1587  else if (getParam<bool>("list_constructed_objects"))
1588  {
1589  // TODO: ask multiapps for their constructed objects
1590  _early_exit_param = "--list-constructed-objects";
1591  _ready_to_exit = true;
1592  std::stringstream ss;
1593  for (const auto & obj : _factory.getConstructedObjects())
1594  ss << obj << '\n';
1596  "list_constructed_objects", "**START OBJECT DATA**\n", "\n**END OBJECT DATA**", ss.str());
1597  }
1598 }
ActionWarehouse _action_warehouse
Where built actions are stored.
Definition: MooseApp.h:1328
void outputMachineReadableData(const std::string &param, const std::string &start_marker, const std::string &end_marker, const std::string &data) const
Outputs machine readable data (JSON, YAML, etc.) either to the screen (if no filename was provided as...
Definition: MooseApp.C:3544
Factory _factory
Definition: MooseApp.h:1402
void executeAllActions()
This method loops over all actions in the warehouse and executes them.
bool _ready_to_exit
Definition: MooseApp.h:1408
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
std::string _early_exit_param
Indicates if simulation is ready to exit, and keeps track of which param caused it to exit...
Definition: MooseApp.h:1407

◆ runInputs()

bool MooseApp::runInputs ( )
private

Handles the run input parameter logic: Checks to see whether a directory exists in user space and launches the TestHarness to process the given directory.

Returns
a Boolean value used to indicate whether the application should exit early

Definition at line 2274 of file MooseApp.C.

Referenced by run().

2275 {
2276  if (isParamSetByUser("run"))
2277  {
2278  if (comm().size() > 1)
2279  mooseError("The --run option should not be ran in parallel");
2280 
2281  // Pass everything after --run on the cli to the TestHarness
2282  const auto find_run_it = std::as_const(*_command_line).findCommandLineParam("run");
2283  const auto & cl_entries = std::as_const(*_command_line).getEntries();
2284  mooseAssert(find_run_it != cl_entries.end(), "Didn't find the option");
2285  std::string test_args;
2286  for (auto it = std::next(find_run_it); it != cl_entries.end(); ++it)
2287  for (const auto & arg : it->raw_args)
2288  {
2289  test_args += " " + arg;
2291  }
2292 
2293  auto working_dir = MooseUtils::getCurrentWorkingDir();
2294  if (MooseUtils::findTestRoot() == "")
2295  {
2296  auto bin_name = appBinaryName();
2297  if (bin_name == "")
2298  mooseError("Could not locate binary name relative to installed location");
2299 
2300  auto cmd_name = Moose::getExecutableName();
2301  mooseError(
2302  "Could not locate installed tests from the current working directory:",
2303  working_dir,
2304  ".\nMake sure you are executing this command from within a writable installed inputs ",
2305  "directory.\nRun \"",
2306  cmd_name,
2307  " --copy-inputs <dir>\" to copy the contents of <dir> to a \"./",
2308  bin_name,
2309  "_<dir>\" directory.\nChange into that directory and try \"",
2310  cmd_name,
2311  " --run <dir>\" again.");
2312  }
2313 
2314  // Set this application as the app name for the moose_test_runner script that we're running
2315  setenv("MOOSE_TEST_RUNNER_APP_NAME", appBinaryName().c_str(), true);
2316 
2317  const std::string cmd = MooseUtils::runTestsExecutable() + test_args;
2318  Moose::out << "Working Directory: " << working_dir << "\nRunning Command: " << cmd << std::endl;
2319  mooseAssert(comm().size() == 1, "Should be run in serial");
2320  const auto return_value = system(cmd.c_str());
2321  if (!WIFEXITED(return_value))
2322  mooseError("Process exited unexpectedly");
2323  setExitCode(WEXITSTATUS(return_value));
2324  return true;
2325  }
2326 
2327  return false;
2328 }
virtual std::string appBinaryName() const
Definition: MooseApp.h:150
const Parallel::Communicator & comm() const
std::string runTestsExecutable()
Definition: MooseUtils.C:76
void add_command_line_name(const std::string &name)
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
std::string getCurrentWorkingDir()
Definition: MooseUtils.C:447
void setExitCode(const int exit_code)
Sets the exit code that the application will exit with.
Definition: MooseApp.h:168
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
std::string getExecutableName()
Gets the name of the running executable on Mac OS X and linux.
std::string findTestRoot()
Definition: MooseUtils.C:86

◆ setCheckUnusedFlag()

void MooseApp::setCheckUnusedFlag ( bool  warn_is_error = false)
private

Set a flag so that the parser will either warn or error when unused variables are seen after parsing is complete.

Definition at line 1840 of file MooseApp.C.

Referenced by setupOptions().

1841 {
1842  _enable_unused_check = warn_is_error ? ERROR_UNUSED : WARN_UNUSED;
1843 }
enum MooseApp::UNUSED_CHECK _enable_unused_check

◆ setErrorOverridden()

void MooseApp::setErrorOverridden ( )

Set a flag so that the parser will throw an error if overridden parameters are detected.

Definition at line 2021 of file MooseApp.C.

Referenced by setupOptions().

2022 {
2023  _error_overridden = true;
2024 }
bool _error_overridden
Indicates whether warnings or errors are displayed when overridden parameters are detected...
Definition: MooseApp.h:1405

◆ setExecutioner()

void MooseApp::setExecutioner ( std::shared_ptr< Executioner > &&  executioner)
inline

Set the Executioner for this App.

Definition at line 349 of file MooseApp.h.

Referenced by CreateExecutionerAction::act().

349 { _executioner = executioner; }
std::shared_ptr< Executioner > _executioner
Pointer to the executioner of this run (typically build by actions)
Definition: MooseApp.h:1364

◆ setExecutor()

void MooseApp::setExecutor ( std::shared_ptr< Executor > &&  executor)
inline

Definition at line 350 of file MooseApp.h.

350 { _executor = executor; }
std::shared_ptr< Executor > _executor
Pointer to the Executor of this run.
Definition: MooseApp.h:1367

◆ setExitCode()

void MooseApp::setExitCode ( const int  exit_code)
inline

Sets the exit code that the application will exit with.

Definition at line 168 of file MooseApp.h.

Referenced by copyInputs(), executeExecutioner(), and runInputs().

168 { _exit_code = exit_code; }
int _exit_code
The exit code.
Definition: MooseApp.h:1410

◆ setExodusFileRestart()

void MooseApp::setExodusFileRestart ( bool  flag)
inline

Set the flag to indicate whether or not we need to use a separate Exodus reader to read the mesh BEFORE we create the mesh.

Definition at line 430 of file MooseApp.h.

Referenced by CopyNodalVarsAction::act(), and PhysicsBase::prepareCopyVariablesFromMesh().

430 { _initial_from_file = flag; }
bool _initial_from_file
This variable indicates when a request has been made to restart from an Exodus file.
Definition: MooseApp.h:1413

◆ setExReaderForRestart()

void MooseApp::setExReaderForRestart ( std::shared_ptr< libMesh::ExodusII_IO > &&  exreader)
inline

Set the Exodus reader to restart variables from an Exodus mesh file.

Definition at line 441 of file MooseApp.h.

Referenced by FileMesh::buildMesh(), and FileMeshGenerator::generate().

442  {
443  _ex_reader = exreader;
444  }
std::shared_ptr< libMesh::ExodusII_IO > _ex_reader
The Exodus reader when _initial_from_file is set to true.
Definition: MooseApp.h:1416

◆ setGlobalTimeOffset()

void MooseApp::setGlobalTimeOffset ( Real  offset)
inline

Each App has it's own local time.

The "global" time of the whole problem might be different. This offset is how far off the local App time is from the global time.

Definition at line 312 of file MooseApp.h.

312 { _global_time_offset = offset; }
Real _global_time_offset
Offset of the local App time to the "global" problem time.
Definition: MooseApp.h:1315

◆ setMFEMDevice()

void MooseApp::setMFEMDevice ( const std::string &  device_string,
bool  gpu_aware_mpi,
Moose::PassKey< MFEMProblemSolve  
)

Create/configure the MFEM device with the provided device_string.

More than one device can be configured. If supplying multiple devices, they should be comma separated

Definition at line 3625 of file MooseApp.C.

Referenced by MFEMProblemSolve::MFEMProblemSolve().

3628 {
3629  const auto string_vec = MooseUtils::split(device_string, ",");
3630  auto string_set = std::set<std::string>(string_vec.begin(), string_vec.end());
3631  if (!_mfem_device)
3632  {
3633  _mfem_device = std::make_shared<mfem::Device>(device_string);
3634  _mfem_devices = std::move(string_set);
3635  _mfem_device->SetGPUAwareMPI(mfem::GetEnv("MFEM_GPU_AWARE_MPI") ? true : gpu_aware_mpi);
3636  _mfem_device->Print(Moose::out);
3637  }
3638  else if (!device_string.empty() && string_set != _mfem_devices)
3639  mooseError("Attempted to configure with "
3640  "MFEM devices '",
3641  MooseUtils::join(string_set, " "),
3642  "', but we have already "
3643  "configured the MFEM device "
3644  "object with the devices '",
3645  MooseUtils::join(_mfem_devices, " "),
3646  "'");
3647 }
std::set< std::string > _mfem_devices
MFEM supported devices based on user-provided config.
Definition: MooseApp.h:1751
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
std::vector< std::string > split(const std::string &str, const std::string &delimiter, std::size_t max_count)
Definition: MooseUtils.C:1031
std::shared_ptr< mfem::Device > _mfem_device
The MFEM Device object.
Definition: MooseApp.h:1748

◆ setOutputFileBase()

void MooseApp::setOutputFileBase ( const std::string &  output_file_base)

Override the selection of the output file base name.

Note: This method is supposed to be called by MultiApp only.

Definition at line 1541 of file MooseApp.C.

1542 {
1543  _output_file_base = output_file_base;
1544 
1545  // Reset the file base in the outputs
1547 
1548  // Reset the file base in multiapps (if they have been constructed yet)
1549  if (getExecutioner())
1550  for (auto & multi_app : feProblem().getMultiAppWarehouse().getObjects())
1551  multi_app->setAppOutputFileBase();
1552 
1553  _file_base_set_by_user = true;
1554 }
bool _file_base_set_by_user
Whether or not file base is set through input or setOutputFileBase by MultiApp.
Definition: MooseApp.h:1300
FEProblemBase & feProblem() const
Definition: MooseApp.C:1852
void resetFileBase()
Resets the file base for all FileOutput objects.
Executioner * getExecutioner() const
Retrieve the Executioner for this App.
Definition: MooseApp.C:2015
OutputWarehouse _output_warehouse
OutputWarehouse object for this App.
Definition: MooseApp.h:1331
std::string _output_file_base
The output file basename.
Definition: MooseApp.h:1297

◆ setOutputFileNumbers()

void MooseApp::setOutputFileNumbers ( const std::map< std::string, unsigned int > &  numbers)
inline

Store a map of outputter names and file numbers The MultiApp system requires this to get the file numbering to propagate down through the Multiapps.

Parameters
numbersMap of outputter names and file numbers
See also
MultiApp TransientMultiApp OutputWarehouse

Definition at line 540 of file MooseApp.h.

541  {
542  _output_file_numbers = numbers;
543  }
std::map< std::string, unsigned int > _output_file_numbers
Map of outputer name and file number (used by MultiApps to propagate file numbers down through the mu...
Definition: MooseApp.h:1448

◆ setOutputPosition()

void MooseApp::setOutputPosition ( const Point p)

Tell the app to output in a specific position.

Definition at line 2346 of file MooseApp.C.

2347 {
2348  _output_position_set = true;
2349  _output_position = p;
2351 
2352  if (_executioner.get())
2353  _executioner->parentOutputPositionChanged();
2354 }
bool _output_position_set
Whether or not an output position has been set for this app.
Definition: MooseApp.h:1303
void meshChanged()
Calls the meshChanged method for every output object.
std::shared_ptr< Executioner > _executioner
Pointer to the executioner of this run (typically build by actions)
Definition: MooseApp.h:1364
Point _output_position
The output position.
Definition: MooseApp.h:1306
OutputWarehouse _output_warehouse
OutputWarehouse object for this App.
Definition: MooseApp.h:1331

◆ setRecover()

void MooseApp::setRecover ( bool  value)

Definition at line 2885 of file MooseApp.C.

2886 {
2887  _recover = value;
2888 }
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
bool _recover
Whether or not this is a recovery run.
Definition: MooseApp.h:1422

◆ setRestart()

void MooseApp::setRestart ( bool  value)

Sets the restart/recover flags.

Parameters
stateThe state to set the flag to

Definition at line 2879 of file MooseApp.C.

Referenced by FEProblemBase::setRestartFile().

2880 {
2881  _restart = value;
2882 }
bool _restart
Whether or not this is a restart run.
Definition: MooseApp.h:1425
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)

◆ setRestartRecoverFileBase()

void MooseApp::setRestartRecoverFileBase ( const std::string &  file_base)
inline

mutator for recover_base (set by RecoverBaseAction)

Definition at line 512 of file MooseApp.h.

Referenced by SetupRecoverFileBaseAction::act(), and FEProblemBase::setRestartFile().

513  {
514  if (file_base.empty())
516  else
517  _restart_recover_base = file_base;
518  }
std::list< std::string > getCheckpointFiles() const
Extract all possible checkpoint file names.
Definition: MooseApp.C:2389
std::string _restart_recover_base
The base name to restart/recover from. If blank then we will find the newest checkpoint file...
Definition: MooseApp.h:1440
std::string getLatestCheckpointFilePrefix(const std::list< std::string > &checkpoint_files)
Definition: MooseUtils.C:830

◆ setStartTime()

void MooseApp::setStartTime ( Real  time)

Set the starting time for the simulation.

This will override any choice made in the input file.

Parameters
timeThe start time for the simulation.

Definition at line 2396 of file MooseApp.C.

Referenced by EigenExecutionerBase::EigenExecutionerBase(), and TransientBase::TransientBase().

2397 {
2398  _start_time_set = true;
2399  _start_time = time;
2400 }
Real _start_time
The time at which to start the simulation.
Definition: MooseApp.h:1312
bool _start_time_set
Whether or not an start time has been set.
Definition: MooseApp.h:1309

◆ setupOptions()

void MooseApp::setupOptions ( )
virtual

Setup options based on InputParameters.

Definition at line 1025 of file MooseApp.C.

Referenced by run().

1026 {
1027  TIME_SECTION("setupOptions", 5, "Setting Up Options");
1028 
1029  // Print the header, this is as early as possible
1030  if (header().length() && !getParam<bool>("suppress_header"))
1031  _console << header() << std::endl;
1032 
1033  if (getParam<bool>("error_unused"))
1034  setCheckUnusedFlag(true);
1035  else if (getParam<bool>("allow_unused"))
1036  setCheckUnusedFlag(false);
1037 
1038  if (getParam<bool>("error_override"))
1040 
1041  if (getParam<bool>("trap_fpe"))
1042  {
1043  _trap_fpe = true;
1044  _perf_graph.setActive(false);
1045  if (getParam<bool>("no_trap_fpe"))
1046  mooseError("Cannot use both \"--trap-fpe\" and \"--no-trap-fpe\" flags.");
1047  }
1048  else if (getParam<bool>("no_trap_fpe"))
1049  _trap_fpe = false;
1050 
1051  // Turn all warnings in MOOSE to errors (almost see next logic block)
1052  Moose::_warnings_are_errors = getParam<bool>("error");
1053 
1054  // Deprecated messages can be toggled to errors independently from everything else.
1055  Moose::_deprecated_is_error = getParam<bool>("error_deprecated");
1056 
1057  if (isUltimateMaster()) // makes sure coloring isn't reset incorrectly in multi-app settings
1058  {
1059  // Set from command line
1060  auto color = getParam<MooseEnum>("color");
1061  if (!isParamSetByUser("color"))
1062  {
1063  // Set from deprecated --no-color
1064  if (getParam<bool>("no_color"))
1065  color = "off";
1066  // Set from environment
1067  else
1068  {
1069  char * c_color = std::getenv("MOOSE_COLOR");
1070  if (c_color)
1071  color.assign(std::string(c_color), "While assigning environment variable MOOSE_COLOR");
1072  }
1073  }
1074 
1075  if (color == "auto")
1076  Moose::setColorConsole(true);
1077  else if (color == "on")
1078  Moose::setColorConsole(true, true);
1079  else if (color == "off")
1080  Moose::setColorConsole(false);
1081  else
1082  mooseAssert(false, "Should not hit");
1083 
1084  // After setting color so that non-yellow deprecated is honored
1085  if (getParam<bool>("no_color"))
1086  mooseDeprecated("The --no-color flag is deprecated. Use '--color off' instead.");
1087  }
1088 
1089 // If there's no threading model active, but the user asked for
1090 // --n-threads > 1 on the command line, throw a mooseError. This is
1091 // intended to prevent situations where the user has potentially
1092 // built MOOSE incorrectly (neither TBB nor pthreads found) and is
1093 // asking for multiple threads, not knowing that there will never be
1094 // any threads launched.
1095 #if !LIBMESH_USING_THREADS
1096  if (libMesh::command_line_value("--n-threads", 1) > 1)
1097  mooseError("You specified --n-threads > 1, but there is no threading model active!");
1098 #endif
1099 
1100  // Capability checking
1101  {
1102  // Augment capabilities from the TestHarness
1103  std::optional<std::set<std::string>> ignore_capabilities;
1104  if (isParamValid("testharness_capabilities"))
1105  {
1106  if (!isParamValid("required_capabilities"))
1107  mooseError(
1108  "--testharness-capabilities: Should not be specified without --required-capabilities");
1109 
1110  const auto file_path = std::filesystem::absolute(
1111  std::filesystem::path(getParam<std::string>("testharness_capabilities")));
1112 
1113  std::ifstream file(file_path);
1114  if (!file)
1115  mooseError("--testharness-capabilities: Could not open ", file_path);
1116 
1117  nlohmann::json root;
1118  try
1119  {
1120  file >> root;
1121  if (const auto it = root.find("capabilities"); it != root.end())
1123  if (const auto it = root.find("ignore_capabilities"); it != root.end())
1124  ignore_capabilities = it->get<std::set<std::string>>();
1125  }
1126  catch (const std::exception & e)
1127  {
1128  mooseError(
1129  "--testharness-capabilities: Failed to load capabilities ", file_path, ":\n", e.what());
1130  }
1131  }
1132 
1133  if (isParamValid("required_capabilities"))
1134  {
1136 
1137  const auto & required_capabilities = getParam<std::string>("required_capabilities");
1138 
1139  CapabilityRegistry::CheckOptions options;
1140  // Allowed to be unknown
1141  options.certain = false;
1142  // Add ignored capabilities, if any
1143  if (ignore_capabilities)
1144  options.ignore_capabilities = *ignore_capabilities;
1145 
1146  CapabilityRegistry::CheckResult result;
1147  try
1148  {
1149  result = Moose::internal::Capabilities::getCapabilities({}).check(required_capabilities,
1150  options);
1151  }
1152  catch (const std::exception & e)
1153  {
1154  mooseError("--required-capablities: ", e.what());
1155  }
1156 
1157  if (result.state < CapabilityRegistry::CheckState::UNKNOWN)
1158  {
1159  mooseInfo("Required capabilities '", required_capabilities, "' not fulfilled.");
1160  _ready_to_exit = true;
1161  // we use code 77 as "skip" in the Testharness
1162  _exit_code = 77;
1163  return;
1164  }
1165  if (result.state == CapabilityRegistry::CheckState::UNKNOWN)
1166  mooseError("Required capabilities '",
1167  required_capabilities,
1168  "' are not specific enough. A comparison test is performed on an undefined "
1169  "capability. Disambiguate this requirement by adding an existence/non-existence "
1170  "requirement. Example: 'unknown<1.2.3' should become 'unknown & unknown<1.2.3' "
1171  "or '!unknown | unknown<1.2.3'");
1172  }
1173  }
1174 
1175  // Build a minimal running application, ignoring the input file.
1176  if (getParam<bool>("minimal"))
1177  createMinimalApp();
1178 
1179  else if (getParam<bool>("display_version"))
1180  {
1181  Moose::out << getPrintableVersion() << std::endl;
1182  _early_exit_param = "--version";
1183  _ready_to_exit = true;
1184  return;
1185  }
1186  else if (getParam<bool>("help"))
1187  {
1188  _command_line->printUsage();
1189  _early_exit_param = "--help";
1190  _ready_to_exit = true;
1191  }
1192  else if (getParam<bool>("dump") || isParamSetByUser("dump_search"))
1193  {
1194  const std::string search =
1195  isParamSetByUser("dump_search") ? getParam<std::string>("dump_search") : "";
1196 
1197  JsonSyntaxTree tree(search);
1198 
1199  {
1200  TIME_SECTION("dump", 1, "Building Syntax Tree");
1202  }
1203 
1204  // Check if second arg is valid or not
1205  if ((tree.getRoot()).is_object())
1206  {
1207  // Turn off live printing so that it doesn't mess with the dump
1209 
1210  JsonInputFileFormatter formatter;
1211  Moose::out << "\n### START DUMP DATA ###\n"
1212  << formatter.toString(tree.getRoot()) << "\n### END DUMP DATA ###" << std::endl;
1213  _early_exit_param = "--dump";
1214  _ready_to_exit = true;
1215  }
1216  else
1217  mooseError("Search parameter '", search, "' was not found in the registered syntax.");
1218  }
1219  else if (getParam<bool>("registry"))
1220  {
1222 
1223  Moose::out << "Label\tType\tName\tClass\tFile\n";
1224 
1225  auto & objmap = Registry::allObjects();
1226  for (auto & entry : objmap)
1227  for (auto & obj : entry.second)
1228  Moose::out << entry.first << "\tobject\t" << obj->name() << "\t" << obj->_classname << "\t"
1229  << obj->_file << "\n";
1230 
1231  auto & actmap = Registry::allActions();
1232  for (auto & entry : actmap)
1233  {
1234  for (auto & act : entry.second)
1235  Moose::out << entry.first << "\taction\t" << act->_name << "\t" << act->_classname << "\t"
1236  << act->_file << "\n";
1237  }
1238  _early_exit_param = "--registry";
1239  _ready_to_exit = true;
1240  }
1241  else if (getParam<bool>("registry_hit"))
1242  {
1244 
1245  Moose::out << "### START REGISTRY DATA ###\n";
1246 
1247  hit::Section root("");
1248  auto sec = new hit::Section("registry");
1249  root.addChild(sec);
1250  auto objsec = new hit::Section("objects");
1251  sec->addChild(objsec);
1252 
1253  auto & objmap = Registry::allObjects();
1254  for (auto & entry : objmap)
1255  for (auto & obj : entry.second)
1256  {
1257  auto ent = new hit::Section("entry");
1258  objsec->addChild(ent);
1259  ent->addChild(new hit::Field("label", hit::Field::Kind::String, entry.first));
1260  ent->addChild(new hit::Field("type", hit::Field::Kind::String, "object"));
1261  ent->addChild(new hit::Field("name", hit::Field::Kind::String, obj->name()));
1262  ent->addChild(new hit::Field("class", hit::Field::Kind::String, obj->_classname));
1263  ent->addChild(new hit::Field("file", hit::Field::Kind::String, obj->_file));
1264  }
1265 
1266  auto actsec = new hit::Section("actions");
1267  sec->addChild(actsec);
1268  auto & actmap = Registry::allActions();
1269  for (auto & entry : actmap)
1270  for (auto & act : entry.second)
1271  {
1272  auto ent = new hit::Section("entry");
1273  actsec->addChild(ent);
1274  ent->addChild(new hit::Field("label", hit::Field::Kind::String, entry.first));
1275  ent->addChild(new hit::Field("type", hit::Field::Kind::String, "action"));
1276  ent->addChild(new hit::Field("task", hit::Field::Kind::String, act->_name));
1277  ent->addChild(new hit::Field("class", hit::Field::Kind::String, act->_classname));
1278  ent->addChild(new hit::Field("file", hit::Field::Kind::String, act->_file));
1279  }
1280 
1281  Moose::out << root.render();
1282 
1283  Moose::out << "\n### END REGISTRY DATA ###\n";
1284  _early_exit_param = "--registry_hit";
1285  _ready_to_exit = true;
1286  }
1287  else if (getParam<bool>("yaml") || isParamSetByUser("yaml_search"))
1288  {
1289  const std::string search =
1290  isParamSetByUser("yaml_search") ? getParam<std::string>("yaml_search") : "";
1292 
1294  _builder.buildFullTree(search);
1295 
1296  _early_exit_param = "--yaml";
1297  _ready_to_exit = true;
1298  }
1299  else if (getParam<bool>("json") || isParamSetByUser("json_search"))
1300  {
1301  const std::string search =
1302  isParamSetByUser("json_search") ? getParam<std::string>("json_search") : "";
1304 
1305  JsonSyntaxTree tree(search);
1307 
1309  "json", "**START JSON DATA**\n", "\n**END JSON DATA**", tree.getRoot().dump(2));
1310  _early_exit_param = "--json";
1311  _ready_to_exit = true;
1312  }
1313  else if (getParam<bool>("syntax"))
1314  {
1316 
1317  std::multimap<std::string, Syntax::ActionInfo> syntax = _syntax.getAssociatedActions();
1318  std::stringstream ss;
1319  for (const auto & it : syntax)
1320  ss << it.first << "\n";
1321  outputMachineReadableData("syntax", "**START SYNTAX DATA**\n", "**END SYNTAX DATA**", ss.str());
1322  _early_exit_param = "--syntax";
1323  _ready_to_exit = true;
1324  }
1325  else if (getParam<bool>("show_type"))
1326  {
1328 
1329  Moose::out << "MooseApp Type: " << type() << std::endl;
1330  _early_exit_param = "--show-type";
1331  _ready_to_exit = true;
1332  }
1333  else if (getParam<bool>("show_capabilities"))
1334  {
1336  outputMachineReadableData("show_capabilities",
1337  "**START JSON DATA**\n",
1338  "\n**END JSON DATA**",
1340  _ready_to_exit = true;
1341  }
1342  else if (isParamValid("check_capabilities"))
1343  {
1345 
1347  const auto & capabilities = getParam<std::string>("check_capabilities");
1348 
1349  CapabilityRegistry::CheckResult result;
1350  try
1351  {
1352  result = Moose::internal::Capabilities::getCapabilities({}).check(capabilities);
1353  }
1354  catch (const std::exception & e)
1355  {
1356  mooseError("--check-capablities: ", e.what());
1357  }
1358 
1359  const bool pass = result.state == CapabilityRegistry::CheckState::CERTAIN_PASS;
1360  _console << "Capabilities '" << capabilities << "' are " << (pass ? "" : "not ") << "fulfilled."
1361  << std::endl;
1362  _ready_to_exit = true;
1363  if (!pass)
1364  _exit_code = 77;
1365  return;
1366  }
1367  else if (!getInputFileNames().empty())
1368  {
1369  if (isParamSetByUser("recover"))
1370  {
1371  // We need to set the flag manually here since the recover parameter is a string type (takes
1372  // an optional filename)
1373  _recover = true;
1374  const auto & recover = getParam<std::string>("recover");
1375  if (recover.size())
1376  _restart_recover_base = recover;
1377  }
1378 
1379  _builder.build();
1380 
1381  // Lambda to check for mutually exclusive parameters
1382  auto isExclusiveParamSetByUser =
1383  [this](const std::vector<std::string> & group, const std::string & param)
1384  {
1385  auto is_set = isParamSetByUser(param);
1386  if (is_set)
1387  for (const auto & p : group)
1388  if (p != param && isParamSetByUser(p))
1389  mooseError("Parameters '" + p + "' and '" + param +
1390  "' are mutually exclusive. Please choose only one of them.");
1391  return is_set;
1392  };
1393 
1394  // The following parameters set the final task and so are mutually exclusive.
1395  const std::vector<std::string> final_task_params = {
1396  "csg_only", "mesh_only", "split_mesh", "parse_neml2_only"};
1397  if (isExclusiveParamSetByUser(final_task_params, "csg_only"))
1398  {
1399  // Error checking on incompatible command line options
1401  mooseError("--csg-only cannot be used in conjunction with --distributed-mesh");
1402  const bool has_mesh_split = isParamSetByUser("split_file") || _use_split;
1403  if (has_mesh_split)
1404  mooseError("--csg-only is not compatible with any mesh splitting options");
1405  if (isParamSetByUser("refinements"))
1406  mooseError("--csg-only cannot be used in conjunction with -r refinements option");
1407  if (!isUltimateMaster())
1408  mooseError("--csg-only option cannot be used as a Subapp");
1409  if (_recover)
1410  mooseError("--csg-only option cannot be used in recovery mode");
1411 
1412  _syntax.registerTaskName("execute_csg_generators", true);
1413  _syntax.addDependency("execute_csg_generators", "execute_mesh_generators");
1414  _syntax.addDependency("recover_meta_data", "execute_csg_generators");
1415 
1416  _syntax.registerTaskName("csg_only", true);
1417  _syntax.addDependency("csg_only", "recover_meta_data");
1418  _syntax.addDependency("set_mesh_base", "csg_only");
1419  _action_warehouse.setFinalTask("csg_only");
1420  }
1421  else if (isExclusiveParamSetByUser(final_task_params, "mesh_only"))
1422  {
1423  // If we are looking to just check the input, there is no need to
1424  // call MeshOnlyAction and generate a mesh
1425  if (_check_input)
1426  _action_warehouse.setFinalTask("setup_mesh_complete");
1427  else
1428  {
1429  _syntax.registerTaskName("mesh_only", true);
1430  _syntax.addDependency("mesh_only", "setup_mesh_complete");
1431  _syntax.addDependency("determine_system_type", "mesh_only");
1432  _action_warehouse.setFinalTask("mesh_only");
1433  }
1434  }
1435  else if (isExclusiveParamSetByUser(final_task_params, "split_mesh"))
1436  {
1437  _split_mesh = true;
1438  _syntax.registerTaskName("split_mesh", true);
1439  _syntax.addDependency("split_mesh", "setup_mesh_complete");
1440  _syntax.addDependency("determine_system_type", "split_mesh");
1441  _action_warehouse.setFinalTask("split_mesh");
1442  }
1443  else if (isExclusiveParamSetByUser(final_task_params, "parse_neml2_only"))
1444  {
1445  _syntax.registerTaskName("parse_neml2");
1446  _syntax.addDependency("determine_system_type", "parse_neml2");
1447  _action_warehouse.setFinalTask("parse_neml2");
1448  }
1450 
1451  // Setup the AppFileBase for use by the Outputs or other systems that need output file info
1452  {
1453  // Extract the CommonOutputAction
1454  const auto common_actions = _action_warehouse.getActions<CommonOutputAction>();
1455  mooseAssert(common_actions.size() <= 1, "Should not be more than one CommonOutputAction");
1456  const Action * common = common_actions.empty() ? nullptr : *common_actions.begin();
1457 
1458  // If file_base is set in CommonOutputAction through parsing input, obtain the file_base
1459  if (common && common->isParamValid("file_base"))
1460  {
1461  _output_file_base = common->getParam<std::string>("file_base");
1462  _file_base_set_by_user = true;
1463  }
1464  else if (isUltimateMaster())
1465  {
1466  // if this app is a master, we use the first input file name as the default file base.
1467  // use proximate here because the input file is an absolute path
1468  const auto & base = getLastInputFileName();
1469  size_t pos = base.find_last_of('.');
1470  _output_file_base = base.substr(0, pos);
1471  // Note: we did not append "_out" in the file base here because we do not want to
1472  // have it in between the input file name and the object name for Output/*
1473  // syntax.
1474  }
1475  // default file base for multiapps is set by MultiApp
1476  }
1477  }
1478  // No input file provided but we have other arguments (so don't just show print usage)
1479  else if (!isParamSetByUser("input_file") && _command_line->getArguments().size() > 2)
1480  {
1481  mooseAssert(getInputFileNames().empty(), "Should be empty");
1482 
1483  if (_check_input)
1484  mooseError("You specified --check-input, but did not provide an input file. Add -i "
1485  "<inputfile> to your command line.");
1486 
1487  mooseError("No input files specified. Add -i <inputfile> to your command line.");
1488  }
1489  else if (isParamValid("language_server") && getParam<bool>("language_server"))
1490  {
1492 
1493  // Reset output to the buffer what was cached before it was turned it off
1494  if (!Moose::out.rdbuf() && _output_buffer_cache)
1495  Moose::out.rdbuf(_output_buffer_cache);
1496 
1497  // Start a language server that communicates using an iostream connection
1498  MooseServer moose_server(*this);
1499 
1500  moose_server.run();
1501 
1502  _early_exit_param = "--language-server";
1503  _ready_to_exit = true;
1504  }
1505 
1506  else /* The catch-all case for bad options or missing options, etc. */
1507  {
1508  _command_line->printUsage();
1509  _early_exit_param = "bad or missing";
1510  _ready_to_exit = true;
1511  _exit_code = 1;
1512  }
1513 
1514  Moose::out << std::flush;
1515 }
void mooseInfo(Args &&... args) const
Definition: MooseBase.h:334
void build()
Parse an input file (or text string if provided) consisting of hit syntax and setup objects in the MO...
Definition: Builder.C:300
PerfGraph & _perf_graph
The PerfGraph object for this application (recoverable)
Definition: MooseApp.h:1355
const bool _check_input
true if we want to just check the input file
Definition: MooseApp.h:1451
bool isUltimateMaster() const
Whether or not this app is the ultimate master app.
Definition: MooseApp.h:866
std::string _restart_recover_base
The base name to restart/recover from. If blank then we will find the newest checkpoint file...
Definition: MooseApp.h:1440
const std::multimap< std::string, ActionInfo > & getAssociatedActions() const
Return all Syntax to Action associations.
Definition: Syntax.C:374
void buildFullTree(const std::string &search_string)
Use MOOSE Factories to construct a full parse tree for documentation or echoing input.
Definition: Builder.C:577
bool _file_base_set_by_user
Whether or not file base is set through input or setOutputFileBase by MultiApp.
Definition: MooseApp.h:1300
const Capability & get(const std::string &capability) const
Get a capability.
void addDependency(const std::string &task, const std::string &pre_req)
Definition: Syntax.C:60
void setCheckUnusedFlag(bool warn_is_error=false)
Set a flag so that the parser will either warn or error when unused variables are seen after parsing ...
Definition: MooseApp.C:1840
bool _warnings_are_errors
Variable to toggle any warning into an error (includes deprecated code warnings)
Definition: Moose.C:923
void registerTaskName(const std::string &task, bool should_auto_build=false)
Method to register a new task.
Definition: Syntax.C:20
static Capabilities & getCapabilities(const GetCapabilitiesPassKey)
Get the singleton Capabilities.
Definition: Capabilities.C:52
static const std::map< std::string, std::vector< std::shared_ptr< RegistryEntryBase > > > & allActions()
Returns a per-label keyed map of all Actions in the registry.
Definition: Registry.h:255
void setFinalTask(const std::string &task)
const bool _use_split
Whether or not we are using a (pre-)split mesh (automatically DistributedMesh)
Definition: MooseApp.h:1431
Syntax _syntax
Syntax of the input file.
Definition: MooseApp.h:1318
Syntax & syntax()
Returns a writable reference to the syntax object.
Definition: MooseApp.h:231
bool _trap_fpe
Whether or not FPE trapping should be turned on.
Definition: MooseApp.h:1437
static const std::map< std::string, std::vector< std::shared_ptr< RegistryEntryBase > > > & allObjects()
Returns a per-label keyed map of all MooseObjects in the registry.
Definition: Registry.h:250
ActionWarehouse _action_warehouse
Where built actions are stored.
Definition: MooseApp.h:1328
Holds the syntax in a Json::Value tree.
Base class for actions.
Definition: Action.h:34
int _exit_code
The exit code.
Definition: MooseApp.h:1410
const std::string & getLastInputFileName() const
Definition: MooseApp.C:1525
void setErrorOverridden()
Set a flag so that the parser will throw an error if overridden parameters are detected.
Definition: MooseApp.C:2021
T command_line_value(const std::string &, T)
bool _deprecated_is_error
Variable to toggle only deprecated warnings as errors.
Definition: Moose.C:924
void mooseDeprecated(Args &&... args) const
Emits a deprecation warning prefixed with the object name and type, and a stack trace.
Definition: MooseBase.h:317
void setActive(bool active)
Turn on or off timing.
Definition: PerfGraph.h:129
void initSyntaxFormatter(SyntaxFormatterType type, bool dump_mode)
Creates a syntax formatter for printing.
Definition: Builder.C:400
void disableLivePrint()
Completely disables Live Print (cannot be restarted)
Definition: PerfGraph.C:68
const std::string & type() const
Get the type of this class.
Definition: MooseBase.h:93
bool _recover
Whether or not this is a recovery run.
Definition: MooseApp.h:1422
void buildJsonSyntaxTree(JsonSyntaxTree &tree) const
Use MOOSE Factories to construct a parameter tree for documentation or echoing input.
Definition: Builder.C:417
const std::shared_ptr< CommandLine > _command_line
The CommandLine object.
Definition: MooseApp.h:1337
void outputMachineReadableData(const std::string &param, const std::string &start_marker, const std::string &end_marker, const std::string &data) const
Outputs machine readable data (JSON, YAML, etc.) either to the screen (if no filename was provided as...
Definition: MooseApp.C:3544
This class produces produces a dump of the InputParameters that appears like the normal input file sy...
const bool _distributed_mesh_on_command_line
This variable indicates that DistributedMesh should be used for the libMesh mesh underlying MooseMesh...
Definition: MooseApp.h:1419
Moose::Builder _builder
Builder for building app related parser tree.
Definition: MooseApp.h:1343
Registry of capabilities that checks capability requirements.
std::string _output_file_base
The output file basename.
Definition: MooseApp.h:1297
std::streambuf * _output_buffer_cache
Cache output buffer so the language server can turn it off then back on.
Definition: MooseApp.h:1709
void build()
Builds all auto-buildable tasks.
bool setColorConsole(bool use_color, bool force=false)
Turns color escape sequences on/off for info written to stdout.
Definition: Moose.C:880
virtual std::string header() const
Returns a string to be printed at the beginning of a simulation.
Definition: MooseApp.C:2873
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
const std::vector< std::string > & getInputFileNames() const
Definition: MooseApp.C:1518
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
Definition: MooseBase.h:199
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.
std::string toString(const nlohmann::json &root)
Returns a string representation of the tree in input file format.
std::string getPrintableVersion() const
Non-virtual method for printing out the version string in a consistent format.
Definition: MooseApp.C:1019
std::vector< const T * > getActions()
Retrieve all actions in a specific type ordered by their names.
void createMinimalApp()
Method for creating the minimum required actions for an application (no input file) ...
Definition: MooseApp.C:2891
bool _ready_to_exit
Definition: MooseApp.h:1408
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 _split_mesh
Whether or not we are performing a split mesh operation (–split-mesh)
Definition: MooseApp.h:1428
Meta-action for creating common output object parameters This action serves two purpose, first it adds common output object parameters.
std::string _early_exit_param
Indicates if simulation is ready to exit, and keeps track of which param caused it to exit...
Definition: MooseApp.h:1407

◆ showInputs()

bool MooseApp::showInputs ( ) const
private

Prints a message showing the installable inputs for a given application (if getInstallableInputs has been overridden for an application).

Definition at line 2171 of file MooseApp.C.

Referenced by run().

2172 {
2173  if (getParam<bool>("show_inputs"))
2174  {
2175  const auto show_inputs_syntax = _pars.getCommandLineMetadata("show_inputs").switches;
2176  std::vector<std::string> dirs;
2177  const auto installable_inputs = getInstallableInputs();
2178 
2179  if (installable_inputs == "")
2180  {
2181  Moose::out
2182  << "Show inputs has not been overriden in this application.\nContact the developers of "
2183  "this appication and request that they override \"MooseApp::getInstallableInputs\".\n";
2184  }
2185  else
2186  {
2187  mooseAssert(!show_inputs_syntax.empty(), "show_inputs sytnax should not be empty");
2188 
2189  MooseUtils::tokenize(installable_inputs, dirs, 1, " ");
2190  Moose::out << "The following directories are installable into a user-writeable directory:\n\n"
2191  << installable_inputs << '\n'
2192  << "\nTo install one or more directories of inputs, execute the binary with the \""
2193  << show_inputs_syntax[0] << "\" flag. e.g.:\n$ "
2194  << _command_line->getExecutableName() << ' ' << show_inputs_syntax[0] << ' '
2195  << dirs[0] << '\n';
2196  }
2197  return true;
2198  }
2199  return false;
2200 }
virtual std::string getInstallableInputs() const
Method to retrieve the installable inputs from a given applications <app>Revision.h file.
Definition: MooseApp.C:2203
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:384
void tokenize(const std::string &str, std::vector< T > &elements, unsigned int min_len=1, const std::string &delims="/")
This function will split the passed in string on a set of delimiters appending the substrings to the ...
const std::shared_ptr< CommandLine > _command_line
The CommandLine object.
Definition: MooseApp.h:1337
const InputParameters::CommandLineMetadata & getCommandLineMetadata(const std::string &name) const
std::vector< std::string > switches
The switches for the parameter (i.e., [-t, –timing])

◆ solutionInvalidity() [1/2]

SolutionInvalidity& MooseApp::solutionInvalidity ( )
inline

◆ solutionInvalidity() [2/2]

const SolutionInvalidity& MooseApp::solutionInvalidity ( ) const
inline

Definition at line 186 of file MooseApp.h.

186 { return _solution_invalidity; }
SolutionInvalidity & _solution_invalidity
The SolutionInvalidity object for this application.
Definition: MooseApp.h:1358

◆ syntax()

Syntax& MooseApp::syntax ( )
inline

◆ testCheckpointHalfTransient()

bool MooseApp::testCheckpointHalfTransient ( ) const
inline

Whether or not this simulation should only run half its transient (useful for testing recovery)

Definition at line 524 of file MooseApp.h.

Referenced by AutoCheckpointAction::act(), TimeStepper::constrainStep(), TransientBase::execute(), CompositionDT::init(), TimeSequenceStepperBase::setupSequence(), and TransientBase::TransientBase().

const bool _test_checkpoint_half_transient
Whether or not this simulation should only run half its transient (useful for testing recovery) ...
Definition: MooseApp.h:1443

◆ testReStep()

bool MooseApp::testReStep ( ) const
inline

Whether or not this simulation should fail a timestep and repeat (for testing).

Selection rules for which time step to fail in TransientBase.C constructor.

Definition at line 530 of file MooseApp.h.

Referenced by Control::Control(), Executioner::Executioner(), and TransientBase::TransientBase().

530 { return _test_restep; }
const bool _test_restep
Whether or not this simulation should fail its middle timestep and repeat (for testing) ...
Definition: MooseApp.h:1445

◆ theWarehouse()

TheWarehouse& MooseApp::theWarehouse ( )
inline

Definition at line 143 of file MooseApp.h.

Referenced by MooseVariableDataFV< OutputType >::MooseVariableDataFV(), and FEProblemBase::theWarehouse().

143 { return *_the_warehouse; }
std::unique_ptr< TheWarehouse > _the_warehouse
The combined warehouse for storing any MooseObject based object.
Definition: MooseApp.h:1674

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

Referenced by PerfGraphInterface::registerTimedSection().

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

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

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

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

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

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

58 {
59  return type() + std::string(" \"") + name() + std::string("\"");
60 }
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103
const std::string & type() const
Get the type of this class.
Definition: MooseBase.h:93

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

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

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 }
const InputParameters & _pars
The object&#39;s parameters.
Definition: MooseBase.h:384
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
static const std::string unique_name_param
The name of the parameter that contains the unique object name.
Definition: MooseBase.h:57
bool have_parameter(std::string_view name) const
A wrapper around the Parameters base class method.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
Definition: MooseBase.h:271
A class for storing the names of MooseObject by tag and object name.

◆ uniqueParameterName()

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

Definition at line 63 of file MooseBase.C.

64 {
65  return MooseObjectParameterName(getBase(), name(), parameter_name);
66 }
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103
A class for storing an input parameter name.
const std::string & getBase() const
Definition: MooseBase.h:147

◆ unusedFlagIsError()

bool MooseApp::unusedFlagIsError ( ) const
inline

Returns whether the flag for unused parameters is set to throw an error.

Definition at line 1120 of file MooseApp.h.

Referenced by MeshOnlyAction::act(), and PhysicsBase::reportPotentiallyMissedParameters().

1120 { return _enable_unused_check == ERROR_UNUSED; }
enum MooseApp::UNUSED_CHECK _enable_unused_check

◆ unusedFlagIsWarning()

bool MooseApp::unusedFlagIsWarning ( ) const
inline

Returns whether the flag for unused parameters is set to throw a warning only.

Definition at line 1117 of file MooseApp.h.

Referenced by MeshOnlyAction::act(), and PhysicsBase::reportPotentiallyMissedParameters().

1117 { return _enable_unused_check == WARN_UNUSED; }
enum MooseApp::UNUSED_CHECK _enable_unused_check

◆ useEigenvalue()

bool& MooseApp::useEigenvalue ( )
inline

Returns a writable Boolean indicating whether this app will use an eigenvalue executioner.

Definition at line 402 of file MooseApp.h.

Referenced by CreateProblemDefaultAction::act().

402 { return _use_eigen_value; }
bool _use_eigen_value
Boolean to indicate whether to use an eigenvalue executioner.
Definition: MooseApp.h:1392

◆ useExecutor()

bool MooseApp::useExecutor ( ) const
inline

Definition at line 343 of file MooseApp.h.

343 { return _use_executor; }
const bool _use_executor
Indicates whether we are operating in the new/experimental executor mode instead of using the legacy ...
Definition: MooseApp.h:1383

◆ useMasterMesh()

bool MooseApp::useMasterMesh ( ) const
inline

Returns whether to use the parent app mesh as the mesh for this app.

Definition at line 871 of file MooseApp.h.

Referenced by ExecuteMeshGenerators::act(), SetupMeshCompleteAction::act(), and SetupMeshAction::act().

871 { return _use_master_mesh; }
const bool _use_master_mesh
Whether to use the parent app mesh for this app.
Definition: MooseApp.h:1683

◆ useNonlinear()

bool& MooseApp::useNonlinear ( )
inline

Returns a writable Boolean indicating whether this app will use a Nonlinear or Eigen System.

Definition at line 397 of file MooseApp.h.

Referenced by CreateProblemAction::act(), and CreateProblemDefaultAction::act().

397 { return _use_nonlinear; }
bool _use_nonlinear
Boolean to indicate whether to use a Nonlinear or EigenSystem (inspected by actions) ...
Definition: MooseApp.h:1389

◆ validParams()

InputParameters MooseApp::validParams ( )
static

Definition at line 278 of file MooseApp.C.

279 {
281 
282  MooseApp::addAppParam(params);
283  MooseApp::addInputParam(params);
284 
285  params.addCommandLineParam<bool>("display_version", "-v --version", "Print application version");
286 
287  params.addOptionalValuedCommandLineParam<std::string>(
288  "mesh_only",
289  "--mesh-only <optional path>",
290  "",
291  "Build and output the mesh only (Default: \"<input_file_name>_in.e\")");
292  params.addOptionalValuedCommandLineParam<std::string>(
293  "csg_only",
294  "--csg-only <optional path>",
295  "",
296  "Setup and output the input mesh in CSG format only (Default: "
297  "\"<input_file_name>_out_csg.json\")");
298  params.addCommandLineParam<bool>(
299  "show_input", "--show-input", "Shows the parsed input file before running the simulation");
300  params.setGlobalCommandLineParam("show_input");
301  params.addCommandLineParam<bool>(
302  "show_outputs", "--show-outputs", "Shows the output execution time information");
303  params.setGlobalCommandLineParam("show_outputs");
304  params.addCommandLineParam<bool>(
305  "show_controls", "--show-controls", "Shows the Control logic available and executed");
306  params.setGlobalCommandLineParam("show_controls");
307 
308  params.addCommandLineParam<bool>(
309  "no_color", "--no-color", "Disable coloring of all Console outputs");
310  params.setGlobalCommandLineParam("no_color");
311 
312  MooseEnum colors("auto on off", "on");
314  "color", "--color <auto,on,off=on>", colors, "Whether to use color in console output");
315  params.setGlobalCommandLineParam("color");
316 
317  params.addCommandLineParam<bool>("help", "-h --help", "Displays CLI usage statement");
318  params.addCommandLineParam<bool>(
319  "minimal",
320  "--minimal",
321  "Ignore input file and build a minimal application with Transient executioner");
322 
323  params.addCommandLineParam<bool>(
324  "language_server",
325  "--language-server",
326  "Starts a process to communicate with development tools using the language server protocol");
327 
328  params.addCommandLineParam<bool>("dump", "--dump", "Shows a dump of available input file syntax");
329  params.addCommandLineParam<std::string>(
330  "dump_search",
331  "--dump-search <search>",
332  "Shows a dump of available input syntax matching a search");
333  params.addCommandLineParam<bool>("registry", "--registry", "Lists all known objects and actions");
334  params.addCommandLineParam<bool>(
335  "registry_hit", "--registry-hit", "Lists all known objects and actions in hit format");
336  params.addCommandLineParam<bool>(
337  "use_executor", "--executor", "Use the new Executor system instead of Executioners");
338 
339  params.addCommandLineParam<bool>(
340  "show_type", "--show-type", "Return the name of the application object");
341  params.addCommandLineParam<bool>("yaml", "--yaml", "Dumps all input file syntax in YAML format");
342  params.addCommandLineParam<std::string>(
343  "yaml_search", "--yaml-search", "Dumps input file syntax matching a search in YAML format");
344  params.addCommandLineParam<bool>("json", "--json", "Dumps all input file syntax in JSON format");
345  params.addCommandLineParam<std::string>(
346  "json_search", "--json-search", "Dumps input file syntax matching a search in JSON format");
347  params.addCommandLineParam<bool>(
348  "syntax", "--syntax", "Dumps the associated Action syntax paths ONLY");
349  params.addCommandLineParam<bool>(
350  "show_docs", "--docs", "Print url/path to the documentation website");
351  params.addCommandLineParam<bool>(
352  "show_capabilities", "--show-capabilities", "Dumps the capability registry in JSON format.");
353  params.addCommandLineParam<std::string>(
354  "required_capabilities",
355  "--required-capabilities",
356  "A list of conditions that is checked against the registered capabilities (see "
357  "--show-capabilities). The executable will terminate early if the conditions are not met.");
358  params.addCommandLineParam<std::string>(
359  "testharness_capabilities",
360  "--testharness-capabilities",
361  "Path to JSON from the TestHarness that contains capabilities to be appended.");
362 
363  params.addCommandLineParam<std::string>(
364  "check_capabilities",
365  "--check-capabilities",
366  "A list of conditions that is checked against the registered capabilities. Will exit based "
367  "on whether or not the capaiblities are fulfilled. Does not check dynamically loaded apps.");
368  params.addCommandLineParam<bool>("check_input",
369  "--check-input",
370  "Check the input file (i.e. requires -i <filename>) and quit");
371  params.setGlobalCommandLineParam("check_input");
372  params.addCommandLineParam<bool>(
373  "show_inputs",
374  "--show-copyable-inputs",
375  "Shows the directories able to be copied into a user-writable location");
376 
377  params.addCommandLineParam<std::string>(
378  "copy_inputs",
379  "--copy-inputs <dir>",
380  "Copies installed inputs (e.g. tests, examples, etc.) to a directory <appname>_<dir>");
381  // TODO: Should this remain a bool? It can't be a regular argument because it contains
382  // values that have dashes in it, so it'll get treated as another arg
383  params.addOptionalValuedCommandLineParam<std::string>(
384  "run",
385  "--run <test harness args>",
386  "",
387  "Runs the inputs in the current directory copied to a "
388  "user-writable location by \"--copy-inputs\"");
389 
390  params.addCommandLineParam<bool>(
391  "list_constructed_objects",
392  "--list-constructed-objects",
393  "List all moose object type names constructed by the master app factory");
394 
395  params.addOptionalValuedCommandLineParam<std::string>(
396  "citations",
397  "--citations [file]",
398  "",
399  "List the papers (in BibTeX format) that should be cited for the framework, PETSc, and the "
400  "modules and objects used in this simulation; optionally write them to [file] instead of the "
401  "console");
402 
403  params.addCommandLineParam<unsigned int>(
404  "n_threads", "--n-threads=<n>", "Runs the specified number of threads per process");
405  // This probably shouldn't be global, but the implications of removing this are currently
406  // unknown and we need to manage it with libmesh better
407  params.setGlobalCommandLineParam("n_threads");
408 
409  params.addCommandLineParam<bool>("allow_unused",
410  "-w --allow-unused",
411  "Warn about unused input file options instead of erroring");
412  params.setGlobalCommandLineParam("allow_unused");
413  params.addCommandLineParam<bool>(
414  "error_unused", "-e --error-unused", "Error when encountering unused input file options");
415  params.setGlobalCommandLineParam("error_unused");
416  params.addCommandLineParam<bool>(
417  "error_override",
418  "-o --error-override",
419  "Error when encountering overridden or parameters supplied multiple times");
420  params.setGlobalCommandLineParam("error_override");
421  params.addCommandLineParam<bool>(
422  "error_deprecated", "--error-deprecated", "Turn deprecated code messages into Errors");
423  params.setGlobalCommandLineParam("error_deprecated");
424 
425  params.addCommandLineParam<bool>("distributed_mesh",
426  "--distributed-mesh",
427  "Forces the use of a distributed finite element mesh");
428  // Would prefer that this parameter isn't global, but we rely on it too much
429  // in tests to be able to go back on that decision now
430  params.setGlobalCommandLineParam("distributed_mesh");
431 
432  params.addCommandLineParam<std::string>(
433  "split_mesh",
434  "--split-mesh <splits>",
435  "Comma-separated list of numbers of chunks to split the mesh into");
436 
437  // TODO: remove the logic now that this is global
438  params.addCommandLineParam<std::string>(
439  "split_file", "--split-file <filename>", "Name of split mesh file(s) to write/read");
440 
441  params.addCommandLineParam<bool>("use_split", "--use-split", "Use split distributed mesh files");
442 
443  params.addCommandLineParam<unsigned int>(
444  "refinements", "-r <num refinements>", "Specify additional initial uniform mesh refinements");
445 
446  params.addOptionalValuedCommandLineParam<std::string>(
447  "recover",
448  "--recover <optional file base>",
449  "",
450  "Continue the calculation. Without <file base>, the most recent recovery file will be used");
451  params.setGlobalCommandLineParam("recover");
452  params.addCommandLineParam<bool>(
453  "force_restart",
454  "--force-restart",
455  "Forcefully load checkpoints despite possible incompatibilities");
456  params.setGlobalCommandLineParam("force_restart");
457 
458  params.addCommandLineParam<bool>("suppress_header",
459  "--suppress-header",
460  false,
461  "Disables the output of the application header.");
462  params.setGlobalCommandLineParam("suppress_header");
463 
464  params.addCommandLineParam<bool>(
465  "test_checkpoint_half_transient",
466  "--test-checkpoint-half-transient",
467  "Run half of a transient with checkpoints enabled; used by the TestHarness");
468  params.setGlobalCommandLineParam("test_checkpoint_half_transient");
469 
470  params.addCommandLineParam<bool>("test_restep",
471  "--test-restep",
472  "Test re-running the middle timestep; used by the TestHarness");
473 
474  params.addCommandLineParam<bool>(
475  "trap_fpe",
476  "--trap-fpe",
477  "Enable floating point exception handling in critical sections of code"
478 #ifdef DEBUG
479  " (automatic due to debug build)"
480 #endif
481  );
482  params.setGlobalCommandLineParam("trap_fpe");
483 
484  params.addCommandLineParam<bool>(
485  "no_trap_fpe",
486  "--no-trap-fpe",
487  "Disable floating point exception handling in critical sections of code"
488 #ifndef DEBUG
489  " (unused due to non-debug build)"
490 #endif
491  );
492 
493  params.setGlobalCommandLineParam("no_trap_fpe");
494 
495  params.addCommandLineParam<bool>(
496  "no_gdb_backtrace", "--no-gdb-backtrace", "Disables gdb backtraces.");
497  params.setGlobalCommandLineParam("no_gdb_backtrace");
498 
499  params.addCommandLineParam<bool>("error", "--error", "Turn all warnings into errors");
500  params.setGlobalCommandLineParam("error");
501 
502  params.addCommandLineParam<bool>("timing",
503  "-t --timing",
504  "Enable all performance logging for timing; disables screen "
505  "output of performance logs for all Console objects");
506  params.setGlobalCommandLineParam("timing");
507  params.addCommandLineParam<bool>(
508  "no_timing", "--no-timing", "Disabled performance logging; overrides -t or --timing");
509  params.setGlobalCommandLineParam("no_timing");
510 
511  params.addCommandLineParam<bool>(
512  "allow_test_objects", "--allow-test-objects", "Register test objects and syntax");
513  params.setGlobalCommandLineParam("allow_test_objects");
514 
515  // Options ignored by MOOSE but picked up by libMesh, these are here so that they are displayed in
516  // the application help
517  params.addCommandLineParam<bool>(
518  "keep_cout",
519  "--keep-cout",
520  "Keep standard output from all processors when running in parallel");
521  params.setGlobalCommandLineParam("keep_cout");
522  params.addCommandLineParam<bool>(
523  "redirect_stdout",
524  "--redirect-stdout",
525  "Keep standard output from all processors when running in parallel");
526  params.setGlobalCommandLineParam("redirect_stdout");
527 
528  params.addCommandLineParam<std::string>(
529  "timpi_sync",
530  "--timpi-sync <type=nbx>",
531  "nbx",
532  "Changes the sync type used in spare parallel communitations within TIMPI");
533  params.setGlobalCommandLineParam("timpi_sync");
534 
535  // Options for debugging
536  params.addCommandLineParam<std::string>("start_in_debugger",
537  "--start-in-debugger <debugger>",
538  "Start the application and attach a debugger; this will "
539  "launch xterm windows using <debugger>");
540 
541  params.addCommandLineParam<unsigned int>(
542  "stop_for_debugger",
543  "--stop-for-debugger <seconds>",
544  "Pauses the application during startup for <seconds> to allow for connection of debuggers");
545 
546  params.addCommandLineParam<bool>(
547  "perf_graph_live_all", "--perf-graph-live-all", "Forces printing of ALL progress messages");
548  params.setGlobalCommandLineParam("perf_graph_live_all");
549 
550  params.addCommandLineParam<bool>(
551  "disable_perf_graph_live", "--disable-perf-graph-live", "Disables PerfGraph live printing");
552  params.setGlobalCommandLineParam("disable_perf_graph_live");
553 
554  params.addParam<bool>(
555  "automatic_automatic_scaling", false, "Whether to turn on automatic scaling by default");
556 
557  const MooseEnum compute_device_type("cpu cuda mps hip ceed-cpu ceed-cuda ceed-hip xpu", "cpu");
559  "compute_device",
560  "--compute-device",
561  compute_device_type,
562  "The device type we want to run accelerated (libtorch, MFEM) computations on.");
563 
564 #ifdef HAVE_GPERFTOOLS
565  params.addCommandLineParam<std::string>(
566  "gperf_profiler_on",
567  "--gperf-profiler-on <ranks>",
568  "To generate profiling report only on comma-separated list of MPI ranks");
569 #endif
570 
571  params.addCommandLineParam<bool>(
572  "show_data_params",
573  "--show-data-params",
574  false,
575  "Show found paths for all DataFileName parameters in the header");
576  params.addCommandLineParam<bool>("show_data_paths",
577  "--show-data-paths",
578  false,
579  "Show registered data paths for searching in the header");
580 
581  params.addPrivateParam<std::shared_ptr<CommandLine>>("_command_line");
582  params.addPrivateParam<std::shared_ptr<Parallel::Communicator>>("_comm");
583  params.addPrivateParam<unsigned int>("_multiapp_level");
584  params.addPrivateParam<unsigned int>("_multiapp_number");
585  params.addPrivateParam<bool>("_use_master_mesh", false);
586  params.addPrivateParam<const MooseMesh *>("_master_mesh");
587  params.addPrivateParam<const MooseMesh *>("_master_displaced_mesh");
588  params.addPrivateParam<std::unique_ptr<Backup> *>("_initial_backup", nullptr);
589  params.addPrivateParam<std::shared_ptr<Parser>>("_parser");
590 #ifdef MOOSE_MFEM_ENABLED
591  params.addPrivateParam<std::shared_ptr<mfem::Device>>("_mfem_device");
592  params.addPrivateParam<std::set<std::string>>("_mfem_devices");
593 #endif
594 
595  params.addParam<bool>(
596  "use_legacy_material_output",
597  true,
598  "Set false to allow material properties to be output on INITIAL, not just TIMESTEP_END.");
599  params.addParam<bool>(
600  "use_legacy_initial_residual_evaluation_behavior",
601  true,
602  "The legacy behavior performs an often times redundant residual evaluation before the "
603  "solution modifying objects are executed prior to the initial (0th nonlinear iteration) "
604  "residual evaluation. The new behavior skips that redundant residual evaluation unless the "
605  "parameter Executioner/use_pre_SMO_residual is set to true.");
606 
607  params.addParam<bool>(
609  false,
610  "Set true to enable data-driven mesh generation, which is an experimental feature");
611 
612  params.addCommandLineParam<bool>(
613  "parse_neml2_only",
614  "--parse-neml2-only",
615  "Executes the [NEML2] block to parse the input file and terminate.");
616 
617  MooseApp::addAppParam(params);
618 
619  params.registerBase("Application");
620 
621  return params;
622 }
void setGlobalCommandLineParam(const std::string &name)
Sets the command line parameter with name as global.
void addPrivateParam(const std::string &name, const T &value)
These method add a parameter to the InputParameters object which can be retrieved like any other para...
static void addInputParam(InputParameters &params)
Definition: MooseApp.C:271
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
void registerBase(const std::string &value)
This method must be called from every base "Moose System" to create linkage with the Action System...
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition: MooseMesh.h:94
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition: MooseEnum.h:54
void addCommandLineParam(const std::string &name, const std::string &syntax, const std::string &doc_string)
static void addAppParam(InputParameters &params)
Definition: MooseApp.C:264
void addParam(const std::string &name, const S &value, const std::string &doc_string)
These methods add an optional parameter and a documentation string to the InputParameters object...
static const std::string allow_data_driven_param
The name of the boolean parameter on the MooseApp that will enable data driven generation.
void addOptionalValuedCommandLineParam(const std::string &name, const std::string &syntax, const T &value, const std::string &doc_string)
Add a command line parameter with an optional value.
static InputParameters validParams()
Definition: MooseBase.C:28

◆ writeRestartableMetaData() [1/2]

std::vector< std::filesystem::path > MooseApp::writeRestartableMetaData ( const RestartableDataMapName name,
const std::filesystem::path &  folder_base 
)

Writes the restartable meta data for name with a folder base of folder_base.

Returns
The files that were written

Definition at line 2552 of file MooseApp.C.

Referenced by MeshOnlyAction::act(), SplitMeshAction::act(), Checkpoint::output(), and writeRestartableMetaData().

2554 {
2555  if (processor_id() != 0)
2556  mooseError("MooseApp::writeRestartableMetaData(): Should only run on processor 0");
2557 
2558  const auto & map_name = getRestartableDataMapName(name);
2559  const auto meta_data_folder_base = metaDataFolderBase(folder_base, map_name);
2560 
2562  return writer.write(meta_data_folder_base);
2563 }
static std::filesystem::path metaDataFolderBase(const std::filesystem::path &folder_base, const std::string &map_suffix)
The file suffix for meta data (header and data)
Definition: MooseApp.C:3046
Writer for restartable data, to be read by the RestartableDataReader.
processor_id_type processor_id() const
Returns the MPI processor ID of the current processor.
Definition: MooseApp.h:417
RestartableDataMap & getRestartableDataMap(const RestartableDataMapName &name)
Return a reference to restartable data for the specific type flag.
Definition: MooseApp.C:3427
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103
const std::string & getRestartableDataMapName(const RestartableDataMapName &name) const
Definition: MooseApp.C:3454
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

◆ writeRestartableMetaData() [2/2]

std::vector< std::filesystem::path > MooseApp::writeRestartableMetaData ( const std::filesystem::path &  folder_base)

Writes all available restartable meta data with a file base of file_base.

Returns
The files that were written

Definition at line 2566 of file MooseApp.C.

2567 {
2568  std::vector<std::filesystem::path> paths;
2569 
2570  if (processor_id() == 0)
2571  for (const auto & name_map_pair : _restartable_meta_data)
2572  {
2573  const auto map_paths = writeRestartableMetaData(name_map_pair.first, folder_base);
2574  paths.insert(paths.end(), map_paths.begin(), map_paths.end());
2575  }
2576 
2577  return paths;
2578 }
std::unordered_map< RestartableDataMapName, std::pair< RestartableDataMap, std::string > > _restartable_meta_data
General storage for custom RestartableData that can be added to from outside applications.
Definition: MooseApp.h:1664
std::vector< std::filesystem::path > writeRestartableMetaData(const RestartableDataMapName &name, const std::filesystem::path &folder_base)
Writes the restartable meta data for name with a folder base of folder_base.
Definition: MooseApp.C:2552
processor_id_type processor_id() const
Returns the MPI processor ID of the current processor.
Definition: MooseApp.h:417

Friends And Related Function Documentation

◆ FEProblemBase

friend class FEProblemBase
friend

Definition at line 1755 of file MooseApp.h.

◆ Restartable

friend class Restartable
friend

Definition at line 1756 of file MooseApp.h.

◆ SubProblem

friend class SubProblem
friend

Definition at line 1757 of file MooseApp.h.

Member Data Documentation

◆ _action_factory

ActionFactory MooseApp::_action_factory
protected

The Factory responsible for building Actions.

Definition at line 1325 of file MooseApp.h.

Referenced by createMinimalApp(), and getActionFactory().

◆ _action_warehouse

ActionWarehouse MooseApp::_action_warehouse
protected

◆ _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(), ElementIDOutputAction::act(), AddExecutorAction::act(), CopyNodalVarsAction::act(), CreateExecutionerAction::act(), AddMeshGeneratorAction::act(), DeclareLateReportersAction::act(), AutoCheckpointAction::act(), ExecuteMeshGenerators::act(), CheckIntegrityAction::act(), ReadExecutorParamsAction::act(), SetupMeshCompleteAction::act(), CreateProblemAction::act(), CreateProblemDefaultAction::act(), AdaptivityAction::act(), MeshOnlyAction::act(), SetupMeshAction::act(), CombineComponentsMeshes::act(), SplitMeshAction::act(), ComposeTimeStepperAction::act(), CSGOnlyAction::act(), AddTimeStepperAction::act(), SetupDebugAction::act(), SetupPredictorAction::act(), SetupTimeStepperAction::act(), SetupRecoverFileBaseAction::act(), CouplingFunctorCheckAction::act(), AddRelationshipManager::act(), SetAdaptivityOptionsAction::act(), CreateAddedMeshGenerators::act(), DisplayGhostingAction::act(), MaterialOutputAction::act(), ResolveOptionalMaterialPropertiesAction::act(), CommonOutputAction::act(), AddPeriodicBCAction::act(), Action::Action(), FEProblemBase::addAnyRedistributers(), MeshGenerator::addChildMeshGenerator(), FEProblemBase::addMaterialHelper(), ComponentJunction::addMeshGenerators(), CylinderComponent::addMeshGenerators(), ComponentMeshTransformHelper::addMeshGenerators(), BatchMeshGeneratorAction::addMeshGenerators(), MeshGenerator::addMeshSubgenerator(), FEProblemBase::addOutput(), MeshGenerator::addParentMeshGenerator(), CreateDisplacedProblemAction::addProxyRelationshipManagers(), Action::addRelationshipManager(), FEProblemBase::allowOutput(), AStableDirk4::AStableDirk4(), BatchMeshGeneratorAction::BatchMeshGeneratorAction(), FileMesh::buildMesh(), MooseMesh::buildTypedMesh(), MooseMesh::cacheFaceInfoVariableOwnership(), MooseMesh::cacheFVElementalDoFs(), MooseBase::callMooseError(), CheckOutputAction::checkConsoleOutput(), DefaultNonlinearConvergence::checkConvergence(), MeshGenerator::checkGetMesh(), FEProblemBase::checkICRestartError(), CheckOutputAction::checkMaterialOutput(), CheckOutputAction::checkPerfLogOutput(), FEProblemBase::checkProblemIntegrity(), CheckOutputAction::checkVariableOutput(), SingleRankPartitioner::clone(), CopyMeshPartitioner::clone(), RandomPartitioner::clone(), BlockWeightedPartitioner::clone(), GhostEverything::clone(), GhostLowerDElems::clone(), LibmeshPartitioner::clone(), PetscExternalPartitioner::clone(), GhostHigherDLowerDPointNeighbors::clone(), HierarchicalGridPartitioner::clone(), GhostAllPointNeighbors::clone(), GhostPrimaryFace::clone(), GridPartitioner::clone(), ElementSideNeighborLayers::clone(), ElementPointNeighborLayers::clone(), GhostBoundary::clone(), RedistributeProperties::clone(), ProxyRelationshipManager::clone(), SampledOutput::cloneMesh(), FEProblemBase::computeJacobianSys(), FEProblemBase::computeJacobianTags(), FEProblemBase::computeLinearSystemTags(), FEProblemBase::computeResidualAndJacobian(), FEProblemBase::computeResidualSys(), FEProblemBase::computeResidualTags(), MooseBase::connectControllableParams(), Console::Console(), TimeStepper::constrainStep(), Control::Control(), CopyMeshPartitioner::CopyMeshPartitioner(), MultiApp::createApp(), MultiApp::createApps(), FEProblemBase::customSetup(), MeshGenerator::declareMeshProperty(), MeshGenerator::declareNullMeshName(), MooseMesh::determineUseDistributedMesh(), DumpObjectsProblem::dumpObjectHelper(), DumpObjectsProblem::DumpObjectsProblem(), DumpObjectsProblem::dumpVariableHelper(), DynamicObjectRegistrationAction::DynamicObjectRegistrationAction(), EigenExecutionerBase::EigenExecutionerBase(), EigenKernel::EigenKernel(), InversePowerMethod::execute(), NonlinearEigen::execute(), PseudoTimestep::execute(), IterationInfo::execute(), MFEMSteady::execute(), PIDTransientControl::execute(), SteadyBase::execute(), TransientBase::execute(), Eigenvalue::execute(), EigenProblem::execute(), Executioner::Executioner(), ExtraIDIntegralReporter::ExtraIDIntegralReporter(), FEProblemBase::FEProblemBase(), FileOutput::FileOutput(), ChangeOverFixedPointPostprocessor::finalize(), RadialAverage::finalize(), NEML2Assembly::finalize(), FixedPointSolve::FixedPointSolve(), FEProblemBase::forceOutput(), FullSolveMultiApp::FullSolveMultiApp(), FunctorSmootherTempl< T >::FunctorSmootherTempl(), FVAdvection::FVAdvection(), FileMeshGenerator::generate(), MeshGenerator::generateInternal(), MeshGenerator::generateInternalCSG(), MeshGenerator::getCSGBaseByName(), FEProblemBase::getExecutor(), MeshGenerator::getMeshByName(), MooseBase::getMooseApp(), NumRelationshipManagers::getValue(), NumFixedPointIterations::getValue(), GhostingUserObject::GhostingUserObject(), InversePowerMethod::init(), NonlinearEigen::init(), TransientBase::init(), Eigenvalue::init(), MFEMMesh::init(), CompositionDT::init(), MooseMesh::init(), FEProblemBase::init(), FEProblemSolve::initialSetup(), EigenProblemSolve::initialSetup(), TimePeriod::initialSetup(), PIDTransientControl::initialSetup(), RealFunctionControl::initialSetup(), Console::initialSetup(), FEProblemBase::initialSetup(), SubProblem::initialSetup(), AdvancedOutput::initOutputList(), EigenProblem::initPetscOutputAndSomeSolverSettings(), FEProblemBase::initPetscOutputAndSomeSolverSettings(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), FEProblemBase::meshChanged(), MeshGenerator::MeshGenerator(), MFEMProblemSolve::MFEMProblemSolve(), MooseMesh::MooseMesh(), MooseObject::MooseObject(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), NEML2Action::NEML2Action(), EigenExecutionerBase::normalizeSolution(), NumFailedTimeSteps::NumFailedTimeSteps(), PerfGraphOutput::output(), Tecplot::output(), Exodus::output(), Nemesis::output(), Checkpoint::output(), ControlOutput::outputActiveObjects(), ControlOutput::outputChangedControls(), ControlOutput::outputControls(), Exodus::outputEmptyTimestep(), Console::outputInput(), Exodus::outputInput(), Exodus::outputNodalVariables(), JSONOutput::outputReporters(), SampledOutput::outputStep(), Output::outputStep(), FEProblemBase::outputStep(), JSONOutput::outputSystemInformation(), Console::outputSystemInformation(), OverlayMeshGenerator::OverlayMeshGenerator(), MultiApp::parentOutputPositionChanged(), TransientBase::preExecute(), PhysicsBase::prepareCopyVariablesFromMesh(), NEML2Action::printSummary(), FEProblemBase::projectSolution(), PhysicsBase::reportPotentiallyMissedParameters(), TiledMesh::safeClone(), FileMesh::safeClone(), ImageMesh::safeClone(), SpiralAnnularMesh::safeClone(), ConcentricCircleMesh::safeClone(), AnnularMesh::safeClone(), GeneratedMesh::safeClone(), RinglebMesh::safeClone(), MeshGeneratorMesh::safeClone(), StitchedMesh::safeClone(), PatternedMesh::safeClone(), MFEMMesh::safeClone(), MultiApp::setAppOutputFileBase(), FileOutput::setFileBaseInternal(), MeshGenerator::setMeshProperty(), MeshGenerator::setMeshPropertyHelper(), FEProblemBase::setRestartFile(), TransientMultiApp::setupApp(), MeshGeneratorComponent::setupComponent(), SetupMeshAction::setupMesh(), TimeSequenceStepperBase::setupSequence(), TransientBase::setupTimeIntegrator(), Output::setWallTimeIntervalFromCommandLineParam(), PhysicsBase::shouldCreateIC(), SideSetExtruderGenerator::SideSetExtruderGenerator(), SolutionInvalidityReporter::SolutionInvalidityReporter(), EigenProblem::solve(), FixedPointSolve::solve(), FEProblemBase::solve(), FEProblemBase::solveLinearSystem(), PetscOutput::solveSetup(), TransientMultiApp::solveStep(), FixedPointSolve::solveStep(), FEProblemBase::subdomainSetup(), FEProblemBase::theWarehouse(), TimeExtremeValue::TimeExtremeValue(), TimeIntegratedPostprocessor::TimeIntegratedPostprocessor(), TimeIntervalTimes::TimeIntervalTimes(), TimePeriod::TimePeriod(), PIDTransientControl::timestepSetup(), FEProblemBase::timestepSetup(), SubProblem::timestepSetup(), TransientBase::TransientBase(), MooseMesh::update(), NEML2FEInterpolation::updateDofMap(), NEML2FEInterpolation::updateGradPhi(), NEML2FEInterpolation::updateInterpolations(), FEProblemBase::updateMortarMesh(), NEML2FEInterpolation::updatePhi(), Console::write(), and FEProblemBase::~FEProblemBase().

◆ _attached_relationship_managers

std::map<Moose::RelationshipManagerType, std::set<const RelationshipManager *> > MooseApp::_attached_relationship_managers
protected

The relationship managers that have been attached (type -> RMs)

Definition at line 1458 of file MooseApp.h.

Referenced by attachRelationshipManagers().

◆ _automatic_automatic_scaling

const bool MooseApp::_automatic_automatic_scaling
private

Whether to turn on automatic scaling by default.

Definition at line 1712 of file MooseApp.h.

Referenced by defaultAutomaticScaling().

◆ _builder

Moose::Builder MooseApp::_builder
protected

Builder for building app related parser tree.

Definition at line 1343 of file MooseApp.h.

Referenced by builder(), errorCheck(), getFileName(), and setupOptions().

◆ _chain_control_system

ChainControlDataSystem MooseApp::_chain_control_system
private

The system that manages the ChainControls.

Definition at line 1695 of file MooseApp.h.

Referenced by getChainControlDataSystem().

◆ _check_input

const bool MooseApp::_check_input
protected

true if we want to just check the input file

Definition at line 1451 of file MooseApp.h.

Referenced by checkInput(), errorCheck(), run(), and setupOptions().

◆ _comm

const std::shared_ptr<libMesh::Parallel::Communicator> MooseApp::_comm
protected

The MPI communicator this App is going to use.

Definition at line 1294 of file MooseApp.h.

Referenced by errorCheck(), getCommunicator(), processor_id(), and requestCitations().

◆ _command_line

const std::shared_ptr<CommandLine> MooseApp::_command_line
protected

The CommandLine object.

Definition at line 1337 of file MooseApp.h.

Referenced by commandLine(), copyInputs(), executeExecutioner(), setupOptions(), and showInputs().

◆ _console

const ConsoleStream ConsoleStreamInterface::_console
inherited

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

Definition at line 31 of file ConsoleStreamInterface.h.

Referenced by IterationAdaptiveDT::acceptStep(), MeshOnlyAction::act(), SetupDebugAction::act(), MaterialOutputAction::act(), Adaptivity::adaptMesh(), FEProblemBase::adaptMesh(), PerfGraph::addToExecutionList(), SimplePredictor::apply(), SystemBase::applyScalingFactors(), MultiApp::backup(), FEProblemBase::backupMultiApps(), CoarsenedPiecewiseLinear::buildCoarsenedGrid(), DefaultSteadyStateConvergence::checkConvergence(), MeshDiagnosticsGenerator::checkElementOverlap(), MeshDiagnosticsGenerator::checkElementTypes(), MeshDiagnosticsGenerator::checkElementVolumes(), FEProblemBase::checkExceptionAndStopSolve(), SolverSystem::checkInvalidSolution(), MeshDiagnosticsGenerator::checkLocalJacobians(), MeshDiagnosticsGenerator::checkNonConformalMesh(), MeshDiagnosticsGenerator::checkNonConformalMeshFromAdaptivity(), MeshDiagnosticsGenerator::checkNonMatchingEdges(), MeshDiagnosticsGenerator::checkNonPlanarSides(), MeshDiagnosticsGenerator::checkPolygons(), FEProblemBase::checkProblemIntegrity(), ReferenceResidualConvergence::checkResidualConvergence(), MeshDiagnosticsGenerator::checkSidesetsOrientation(), MeshDiagnosticsGenerator::checkWatertightNodesets(), MeshDiagnosticsGenerator::checkWatertightSidesets(), IterationAdaptiveDT::computeAdaptiveDT(), TransientBase::computeConstrainedDT(), DefaultMultiAppFixedPointConvergence::computeCustomConvergencePostprocessor(), NonlinearSystemBase::computeDamping(), FixedPointIterationAdaptiveDT::computeDT(), IterationAdaptiveDT::computeDT(), IterationAdaptiveDT::computeFailedDT(), IterationAdaptiveDT::computeInitialDT(), IterationAdaptiveDT::computeInterpolationDT(), LinearSystem::computeLinearSystemTags(), FEProblemBase::computeLinearSystemTags(), NonlinearSystemBase::computeScaling(), Problem::console(), IterationAdaptiveDT::constrainStep(), TimeStepper::constrainStep(), MultiApp::createApp(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), MFEMSteady::execute(), MessageFromInput::execute(), SteadyBase::execute(), Eigenvalue::execute(), ActionWarehouse::executeActionsWithAction(), ActionWarehouse::executeAllActions(), MeshGeneratorSystem::executeMeshGenerators(), ElementQualityChecker::finalize(), SidesetAroundSubdomainUpdater::finalize(), FEProblemBase::finishMultiAppStep(), MeshRepairGenerator::fixOverlappingNodes(), SurfaceSubdomainsDelaunayRemesher::General2DDelaunay(), OrientSurfaceMeshGenerator::generate(), CoarsenBlockGenerator::generate(), PolyLineMeshFollowingNodeSetGenerator::generate(), MeshGenerator::generateInternal(), VariableCondensationPreconditioner::getDofToCondense(), NonlinearEigen::init(), InversePowerMethod::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(), ReporterDebugOutput::output(), PerfGraphOutput::output(), SolutionInvalidityOutput::output(), MaterialPropertyDebugOutput::output(), DOFMapOutput::output(), VariableResidualNormsDebugOutput::output(), Console::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(), SecantSolve::printFixedPointConvergenceHistory(), SteffensenSolve::printFixedPointConvergenceHistory(), PicardSolve::printFixedPointConvergenceHistory(), FixedPointSolve::printFixedPointConvergenceReason(), PerfGraphLivePrint::printLiveMessage(), MaterialPropertyDebugOutput::printMaterialMap(), PerfGraphLivePrint::printStats(), NEML2Action::printSummary(), AutomaticMortarGeneration::projectPrimaryNodesSinglePair(), AutomaticMortarGeneration::projectSecondaryNodesSinglePair(), CoarsenBlockGenerator::recursiveCoarsen(), SolutionTimeAdaptiveDT::rejectStep(), MultiApp::restore(), FEProblemBase::restoreMultiApps(), FEProblemBase::restoreSolutions(), NonlinearSystemBase::setInitialSolution(), setupOptions(), Checkpoint::shouldOutput(), SubProblem::showFunctorRequestors(), SubProblem::showFunctors(), FullSolveMultiApp::showStatusMessage(), EigenProblem::solve(), FEProblemSolve::solve(), NonlinearSystem::solve(), FixedPointSolve::solve(), LStableDirk2::solve(), LStableDirk3::solve(), ImplicitMidpoint::solve(), LinearSystem::solve(), ExplicitTVDRK2::solve(), LStableDirk4::solve(), AStableDirk4::solve(), ExplicitRK2::solve(), TransientMultiApp::solveStep(), FixedPointSolve::solveStep(), MeshRepairGenerator::splitNonConvexPolygons(), PerfGraphLivePrint::start(), WebServerControl::startServer(), AB2PredictorCorrector::step(), NonlinearEigen::takeStep(), MFEMTransient::takeStep(), TransientBase::takeStep(), TerminateChainControl::terminate(), SubProblem::timestepSetup(), FEProblemBase::updateMeshXFEM(), Convergence::verboseOutput(), Console::writeTimestepInformation(), Console::writeVariableNorms(), and FEProblemBase::~FEProblemBase().

◆ _cpu_profiling

bool MooseApp::_cpu_profiling = false
private

CPU profiling.

Definition at line 1715 of file MooseApp.h.

◆ _distributed_mesh_on_command_line

const bool MooseApp::_distributed_mesh_on_command_line
protected

This variable indicates that DistributedMesh should be used for the libMesh mesh underlying MooseMesh.

Definition at line 1419 of file MooseApp.h.

Referenced by getDistributedMeshOnCommandLine(), and setupOptions().

◆ _early_exit_param

std::string MooseApp::_early_exit_param
protected

Indicates if simulation is ready to exit, and keeps track of which param caused it to exit.

Definition at line 1407 of file MooseApp.h.

Referenced by errorCheck(), run(), runInputFile(), and setupOptions().

◆ _enable_unused_check

enum MooseApp::UNUSED_CHECK MooseApp::_enable_unused_check
protected

◆ _error_overridden

bool MooseApp::_error_overridden
protected

Indicates whether warnings or errors are displayed when overridden parameters are detected.

Definition at line 1405 of file MooseApp.h.

Referenced by setErrorOverridden().

◆ _ex_reader

std::shared_ptr<libMesh::ExodusII_IO> MooseApp::_ex_reader
protected

The Exodus reader when _initial_from_file is set to true.

Definition at line 1416 of file MooseApp.h.

Referenced by getExReaderForRestart(), and setExReaderForRestart().

◆ _execute_flags

const ExecFlagEnum MooseApp::_execute_flags
private

Execution flags for this App.

Note: These are copied on purpose instead of maintaining a reference to the ExecFlagRegistry registry. In the Multiapp case, the registry may be augmented, changing the flags "known" to the application in the middle of executing the setup. This causes issues with the application having to process flags that aren't specifically registered.

Definition at line 1706 of file MooseApp.h.

Referenced by getExecuteOnEnum().

◆ _executioner

std::shared_ptr<Executioner> MooseApp::_executioner
protected

Pointer to the executioner of this run (typically build by actions)

Definition at line 1364 of file MooseApp.h.

Referenced by attachRelationshipManagers(), collectCitations(), errorCheck(), executeExecutioner(), feProblem(), getExecutioner(), removeRelationshipManager(), setExecutioner(), and setOutputPosition().

◆ _executor

std::shared_ptr<Executor> MooseApp::_executor
protected

◆ _executor_params

std::unordered_map<std::string, std::pair<std::string, std::unique_ptr<InputParameters> > > MooseApp::_executor_params
protected

Used in building the Executors Maps the name of the Executor block to the <type, params>

Definition at line 1375 of file MooseApp.h.

Referenced by addExecutorParams(), createExecutors(), and recursivelyCreateExecutors().

◆ _executors

std::map<std::string, std::shared_ptr<Executor> > MooseApp::_executors
protected

Pointers to all of the Executors for this run.

Definition at line 1370 of file MooseApp.h.

Referenced by addExecutor(), createExecutors(), getExecutor(), and recursivelyCreateExecutors().

◆ _exit_code

int MooseApp::_exit_code
protected

The exit code.

Definition at line 1410 of file MooseApp.h.

Referenced by exitCode(), setExitCode(), and setupOptions().

◆ _factory

Factory MooseApp::_factory
protected

◆ _file_base_set_by_user

bool MooseApp::_file_base_set_by_user
protected

Whether or not file base is set through input or setOutputFileBase by MultiApp.

Definition at line 1300 of file MooseApp.h.

Referenced by getCheckpointDirectories(), getOutputFileBase(), setOutputFileBase(), and setupOptions().

◆ _fixed_point_config

FixedPointConfig MooseApp::_fixed_point_config
protected

Multiapp-related fixed point algorithm configuration details primarily intended to be passed to and used by the executioner/executor system.

Definition at line 1379 of file MooseApp.h.

Referenced by fixedPointConfig().

◆ _force_restart

const bool MooseApp::_force_restart
protected

Whether or not we are forcefully attempting to load checkpoints (–force-restart)

Definition at line 1434 of file MooseApp.h.

Referenced by forceRestart().

◆ _global_time_offset

Real MooseApp::_global_time_offset
protected

Offset of the local App time to the "global" problem time.

Definition at line 1315 of file MooseApp.h.

Referenced by getGlobalTimeOffset(), and setGlobalTimeOffset().

◆ _has_kokkos_gpus

bool MooseApp::_has_kokkos_gpus = false
private

Flag whether every process has an associated Kokkos GPU.

Definition at line 1773 of file MooseApp.h.

Referenced by isKokkosAvailable().

◆ _heap_profiling

bool MooseApp::_heap_profiling = false
private

Memory profiling.

Definition at line 1718 of file MooseApp.h.

◆ _initial_backup

std::unique_ptr<Backup>* const MooseApp::_initial_backup
private

The backup for use in initial setup; this will get set from the _initial_backup input parameter that typically gets set from a MultiApp that has a backup This is a pointer to a pointer because at the time of construction of the app, the backup will not be filled yet.

Definition at line 1733 of file MooseApp.h.

Referenced by hasInitialBackup(), restoreFromInitialBackup(), and restoreMeshFromInitialBackup().

◆ _initial_from_file

bool MooseApp::_initial_from_file
protected

This variable indicates when a request has been made to restart from an Exodus file.

Definition at line 1413 of file MooseApp.h.

Referenced by getExodusFileRestart(), and setExodusFileRestart().

◆ _input_parameter_warehouse

std::unique_ptr<InputParameterWarehouse> MooseApp::_input_parameter_warehouse
protected

Input parameter storage structure; unique_ptr so we can control its destruction order.

Definition at line 1322 of file MooseApp.h.

Referenced by getInputParameterWarehouse().

◆ _interface_registry

std::map<std::type_index, std::unique_ptr<InterfaceRegistryObjectsBase> > MooseApp::_interface_registry
private

Registration for interface objects.

Definition at line 1727 of file MooseApp.h.

Referenced by getInterfaceObjects(), and registerInterfaceObject().

◆ _lib_handles

std::unordered_map<std::string, DynamicLibraryInfo> MooseApp::_lib_handles
protected

The library archive (name only), registration method and the handle to the method.

Definition at line 1475 of file MooseApp.h.

Referenced by getLoadedLibraryPaths(), and loadLibraryAndDependencies().

◆ _libtorch_device

const torch::DeviceType MooseApp::_libtorch_device
private

The libtorch device this app is using (converted from compute_device)

Definition at line 1743 of file MooseApp.h.

◆ _master_displaced_mesh

const MooseMesh* const MooseApp::_master_displaced_mesh
private

The displaced mesh from master app.

Definition at line 1689 of file MooseApp.h.

Referenced by masterDisplacedMesh().

◆ _master_mesh

const MooseMesh* const MooseApp::_master_mesh
private

The mesh from master app.

Definition at line 1686 of file MooseApp.h.

Referenced by masterMesh().

◆ _mesh_changed_for_backup

bool MooseApp::_mesh_changed_for_backup = false
private

Whether mesh topology has changed and should be included in Backup objects.

Definition at line 1739 of file MooseApp.h.

Referenced by markMeshChangedForBackup(), and meshChangedForBackup().

◆ _mesh_generator_system

MeshGeneratorSystem MooseApp::_mesh_generator_system
private

◆ _mfem_device

std::shared_ptr<mfem::Device> MooseApp::_mfem_device
private

The MFEM Device object.

Definition at line 1748 of file MooseApp.h.

Referenced by getMFEMDevice(), and setMFEMDevice().

◆ _mfem_devices

std::set<std::string> MooseApp::_mfem_devices
private

MFEM supported devices based on user-provided config.

Definition at line 1751 of file MooseApp.h.

Referenced by getMFEMDevices(), and setMFEMDevice().

◆ _multiapp_level

const unsigned int MooseApp::_multiapp_level
private

Level of multiapp, the master is level 0. This used by the Console to indent output.

Definition at line 1677 of file MooseApp.h.

Referenced by getOutputFileBase(), isUltimateMaster(), and multiAppLevel().

◆ _multiapp_number

const unsigned int MooseApp::_multiapp_number
private

Numbering in all the sub-apps on the same level.

Definition at line 1680 of file MooseApp.h.

Referenced by multiAppNumber().

◆ _name

const std::string& MooseBase::_name
protectedinherited

The name of this class.

Definition at line 381 of file MooseBase.h.

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

◆ _null_executor

std::shared_ptr<NullExecutor> MooseApp::_null_executor
protected

Used to return an executor that does nothing.

Definition at line 1386 of file MooseApp.h.

Referenced by createExecutors(), getExecutor(), and getNullExecutor().

◆ _output_buffer_cache

std::streambuf* MooseApp::_output_buffer_cache
private

Cache output buffer so the language server can turn it off then back on.

Definition at line 1709 of file MooseApp.h.

Referenced by setupOptions().

◆ _output_file_base

std::string MooseApp::_output_file_base
protected

The output file basename.

Definition at line 1297 of file MooseApp.h.

Referenced by getOutputFileBase(), setOutputFileBase(), and setupOptions().

◆ _output_file_numbers

std::map<std::string, unsigned int> MooseApp::_output_file_numbers
protected

Map of outputer name and file number (used by MultiApps to propagate file numbers down through the multiapps)

Definition at line 1448 of file MooseApp.h.

Referenced by getOutputFileNumbers(), and setOutputFileNumbers().

◆ _output_position

Point MooseApp::_output_position
protected

The output position.

Definition at line 1306 of file MooseApp.h.

Referenced by getOutputPosition(), and setOutputPosition().

◆ _output_position_set

bool MooseApp::_output_position_set
protected

Whether or not an output position has been set for this app.

Definition at line 1303 of file MooseApp.h.

Referenced by hasOutputPosition(), and setOutputPosition().

◆ _output_warehouse

OutputWarehouse MooseApp::_output_warehouse
protected

OutputWarehouse object for this App.

Definition at line 1331 of file MooseApp.h.

Referenced by getOutputWarehouse(), setOutputFileBase(), and setOutputPosition().

◆ _pars

const InputParameters& MooseBase::_pars
protectedinherited

The object's parameters.

Definition at line 384 of file MooseBase.h.

Referenced by AddFVICAction::act(), AddICAction::act(), CreateProblemAction::act(), CreateProblemDefaultAction::act(), SetupMeshAction::act(), ComposeTimeStepperAction::act(), SetupDebugAction::act(), AddAuxKernelAction::act(), AddMFEMComplexKernelComponentAction::act(), AddMFEMComplexBCComponentAction::act(), CommonOutputAction::act(), FunctorMaterial::addFunctorPropertyByBlocks(), BreakMeshByBlockGenerator::BreakMeshByBlockGenerator(), PNGOutput::calculateRescalingValues(), MooseBase::callMooseError(), MooseBase::connectControllableParams(), Console::Console(), copyInputs(), MaterialBase::declareADProperty(), Moose::Kokkos::MaterialBase::declareKokkosOnDemandProperty(), Moose::Kokkos::MaterialBase::declareKokkosProperty(), MaterialBase::declareProperty(), FEProblemSolve::FEProblemSolve(), FunctionMaterialBase< is_ad >::FunctionMaterialBase(), FileMeshGenerator::generate(), MooseBase::getBase(), MooseBase::getCheckedPointerParam(), MaterialBase::getGenericZeroMaterialProperty(), MooseBase::getHitNode(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), MooseBase::getParam(), MooseBase::hasBase(), MeshGenerator::hasGenerateCSG(), MeshGenerator::hasGenerateData(), AddVariableAction::init(), AdvancedOutput::initExecutionTypes(), EigenProblemSolve::initialSetup(), Console::initialSetup(), MooseBase::isParamSetByUser(), MooseBase::isParamValid(), MultiApp::keepSolutionDuringRestore(), MooseBase::messagePrefix(), MooseBase::MooseBase(), MultiSystemSolveObject::MultiSystemSolveObject(), outputMachineReadableData(), MooseBase::paramError(), MooseBase::parameters(), MooseBase::paramInfo(), MooseBase::paramWarning(), MooseMesh::prepare(), MooseBase::queryParam(), MooseMesh::setCoordSystem(), MooseMesh::setPartitionerHelper(), SetupMeshAction::setupMesh(), TransientBase::setupTimeIntegrator(), showInputs(), and MooseBase::uniqueName().

◆ _parser

const std::shared_ptr<Parser> MooseApp::_parser
protected

Parser for parsing the input file (owns the root hit node)

Definition at line 1334 of file MooseApp.h.

Referenced by getInputFileNames(), getLastInputFileName(), parser(), and run().

◆ _perf_graph

PerfGraph& MooseApp::_perf_graph
protected

The PerfGraph object for this application (recoverable)

Definition at line 1355 of file MooseApp.h.

Referenced by perfGraph(), and setupOptions().

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

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

◆ _rank_map

const RankMap MooseApp::_rank_map
protected

The RankMap is a useful object for determining how the processes are laid out on the physical hardware.

Definition at line 1361 of file MooseApp.h.

Referenced by rankMap().

◆ _rd_reader

RestartableDataReader MooseApp::_rd_reader
private

Definition at line 1697 of file MooseApp.h.

Referenced by finalizeRestore(), restore(), and restoreDataIfAvailable().

◆ _ready_to_exit

bool MooseApp::_ready_to_exit
protected

Definition at line 1408 of file MooseApp.h.

Referenced by executeExecutioner(), run(), runInputFile(), and setupOptions().

◆ _recover

bool MooseApp::_recover
protected

Whether or not this is a recovery run.

Definition at line 1422 of file MooseApp.h.

Referenced by isRecovering(), setRecover(), and setupOptions().

◆ _recoverable_data_names

DataNames MooseApp::_recoverable_data_names
protected

Data names that will only be read from the restart file during RECOVERY.

e.g. these names are excluded during restart.

Definition at line 1352 of file MooseApp.h.

Referenced by getRecoverableData(), and registerRestartableNameWithFilter().

◆ _relationship_managers

std::set<std::shared_ptr<RelationshipManager> > MooseApp::_relationship_managers
protected

◆ _restart

bool MooseApp::_restart
protected

Whether or not this is a restart run.

Definition at line 1425 of file MooseApp.h.

Referenced by isRestarting(), and setRestart().

◆ _restart_recover_base

std::string MooseApp::_restart_recover_base
protected

The base name to restart/recover from. If blank then we will find the newest checkpoint file.

Definition at line 1440 of file MooseApp.h.

Referenced by getRecoverFileBase(), getRestartRecoverFileBase(), hasRecoverFileBase(), hasRestartRecoverFileBase(), setRestartRecoverFileBase(), and setupOptions().

◆ _restartable_data

std::vector<RestartableDataMap> MooseApp::_restartable_data
protected

Where the restartable data is held (indexed on tid)

Definition at line 1346 of file MooseApp.h.

Referenced by backup(), getRestartableData(), and registerRestartableData().

◆ _restartable_meta_data

std::unordered_map<RestartableDataMapName, std::pair<RestartableDataMap, std::string> > MooseApp::_restartable_meta_data
private

◆ _restored_initial_backup_mesh

bool MooseApp::_restored_initial_backup_mesh = false
private

Whether mesh topology has been restored from the initial Backup object.

Definition at line 1736 of file MooseApp.h.

Referenced by restore(), restoredInitialBackupMesh(), and restoreMeshFromInitialBackup().

◆ _solution_invalidity

SolutionInvalidity& MooseApp::_solution_invalidity
protected

The SolutionInvalidity object for this application.

Definition at line 1358 of file MooseApp.h.

Referenced by solutionInvalidity().

◆ _split_mesh

bool MooseApp::_split_mesh
protected

Whether or not we are performing a split mesh operation (–split-mesh)

Definition at line 1428 of file MooseApp.h.

Referenced by isSplitMesh(), and setupOptions().

◆ _start_time

Real MooseApp::_start_time
protected

The time at which to start the simulation.

Definition at line 1312 of file MooseApp.h.

Referenced by getStartTime(), and setStartTime().

◆ _start_time_set

bool MooseApp::_start_time_set
protected

Whether or not an start time has been set.

Definition at line 1309 of file MooseApp.h.

Referenced by hasStartTime(), and setStartTime().

◆ _syntax

Syntax MooseApp::_syntax
protected

Syntax of the input file.

Definition at line 1318 of file MooseApp.h.

Referenced by setupOptions(), and syntax().

◆ _sys_info

SystemInfo MooseApp::_sys_info
protected

System Information.

Definition at line 1340 of file MooseApp.h.

Referenced by getSystemInfo().

◆ _template_to_clones

std::map<const RelationshipManager *, std::map<const MeshBase *, std::unique_ptr<RelationshipManager> > > MooseApp::_template_to_clones
private

Map from a template relationship manager to a map in which the key-value pairs represent the MeshBase object and the clone of the template relationship manager, e.g.

the top-level map key

Definition at line 1724 of file MooseApp.h.

Referenced by createRMFromTemplateAndInit(), getRMClone(), and hasRMClone().

◆ _test_checkpoint_half_transient

const bool MooseApp::_test_checkpoint_half_transient
protected

Whether or not this simulation should only run half its transient (useful for testing recovery)

Definition at line 1443 of file MooseApp.h.

Referenced by testCheckpointHalfTransient().

◆ _test_restep

const bool MooseApp::_test_restep
protected

Whether or not this simulation should fail its middle timestep and repeat (for testing)

Definition at line 1445 of file MooseApp.h.

Referenced by testReStep().

◆ _the_warehouse

std::unique_ptr<TheWarehouse> MooseApp::_the_warehouse
private

The combined warehouse for storing any MooseObject based object.

Definition at line 1674 of file MooseApp.h.

Referenced by theWarehouse().

◆ _trap_fpe

bool MooseApp::_trap_fpe
protected

Whether or not FPE trapping should be turned on.

Definition at line 1437 of file MooseApp.h.

Referenced by getFPTrapFlag(), and setupOptions().

◆ _type

const std::string MooseApp::_type
protected

The string representation of the type of this object as registered (see registerApp(AppName))

Definition at line 1291 of file MooseApp.h.

◆ _undisp_to_disp_rms

std::unordered_map<RelationshipManager *, std::shared_ptr<libMesh::GhostingFunctor> > MooseApp::_undisp_to_disp_rms
protected

A map from undisplaced relationship managers to their displaced clone (stored as the base GhostingFunctor).

Anytime we clone in attachRelationshipManagers we create a map entry from the cloned undisplaced relationship manager to its displaced clone counterpart. We leverage this map when removing relationship managers/ghosting functors

Definition at line 1465 of file MooseApp.h.

◆ _use_eigen_value

bool MooseApp::_use_eigen_value
protected

Boolean to indicate whether to use an eigenvalue executioner.

Definition at line 1392 of file MooseApp.h.

Referenced by useEigenvalue().

◆ _use_executor

const bool MooseApp::_use_executor
protected

Indicates whether we are operating in the new/experimental executor mode instead of using the legacy executioner system.

Definition at line 1383 of file MooseApp.h.

Referenced by executeExecutioner(), and useExecutor().

◆ _use_master_mesh

const bool MooseApp::_use_master_mesh
private

Whether to use the parent app mesh for this app.

Definition at line 1683 of file MooseApp.h.

Referenced by useMasterMesh().

◆ _use_nonlinear

bool MooseApp::_use_nonlinear
protected

Boolean to indicate whether to use a Nonlinear or EigenSystem (inspected by actions)

Definition at line 1389 of file MooseApp.h.

Referenced by useNonlinear().

◆ _use_split

const bool MooseApp::_use_split
protected

Whether or not we are using a (pre-)split mesh (automatically DistributedMesh)

Definition at line 1431 of file MooseApp.h.

Referenced by setupOptions().

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

◆ MESH_META_DATA

const RestartableDataMapName MooseApp::MESH_META_DATA = "MeshMetaData"
static

◆ MESH_META_DATA_SUFFIX

const RestartableDataMapName MooseApp::MESH_META_DATA_SUFFIX = "mesh"
static

Definition at line 137 of file MooseApp.h.

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


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