13 #include "libmesh/perf_log.h" 14 #include "libmesh/libmesh_common.h" 30 #ifdef LIBMESH_ENABLE_DEPRECATED 59 static_assert(__cplusplus >= 201703L,
60 "MOOSE requires a C++17 compatible compiler (GCC >= 7.5.0, Clang >= 5.0.2). Please " 61 "update your compiler or, if compatible, add '-std=c++17' to your compiler flags " 62 "and try again. If using the MOOSE conda package, please attempt a MOOSE environment " 63 "update (using `mamba update moose-dev`). If this update is not successful, please " 64 "create a new MOOSE environment (see " 65 "https://mooseframework.inl.gov/getting_started/installation/" 66 "conda.html#uninstall-conda-moose-environment).");
76 (cond) bool __local_bool__ = (cond); \ 77 Parallel::max<bool>(__local_bool__); \ 83 #ifdef __bg__ // On Blue Gene Architectures there is no underscore 84 #define FORTRAN_CALL(name) name 85 #else // One underscore everywhere else 86 #define FORTRAN_CALL(name) name##_ 96 template <
class M,
class... Args>
97 std::pair<typename M::iterator, bool>
100 auto it = m.lower_bound(k);
101 if (it == m.end() || m.key_comp()(k, it->first))
103 return {m.emplace_hint(it,
104 std::piecewise_construct,
105 std::forward_as_tuple(k),
106 std::forward_as_tuple(std::forward<Args>(args)...)),
143 #ifdef LIBMESH_ENABLE_AMR 150 static_assert(LIBMESH_DIM == 3,
151 "MOOSE must be built with a libmesh library compiled without --enable-1D-only " 152 "or --enable-2D-only");
159 static constexpr std::size_t
dim = LIBMESH_DIM;
226 #define COLOR_BLACK (Moose::colorConsole() ? XTERM_BLACK : "") 227 #define COLOR_RED (Moose::colorConsole() ? XTERM_RED : "") 228 #define COLOR_GREEN (Moose::colorConsole() ? XTERM_GREEN : "") 229 #define COLOR_YELLOW (Moose::colorConsole() ? XTERM_YELLOW : "") 230 #define COLOR_BLUE (Moose::colorConsole() ? XTERM_BLUE : "") 231 #define COLOR_MAGENTA (Moose::colorConsole() ? XTERM_MAGENTA : "") 232 #define COLOR_CYAN (Moose::colorConsole() ? XTERM_CYAN : "") 233 #define COLOR_WHITE (Moose::colorConsole() ? XTERM_WHITE : "") 234 #define COLOR_DEFAULT (Moose::colorConsole() ? XTERM_DEFAULT : "") 260 const std::set<std::string> & obj_labels);
295 #ifndef LIBMESH_HAVE_PETSC 296 #error PETSc has not been detected, please ensure your environment is set up properly then rerun the libmesh build script and try to compile MOOSE again. const ExecFlagType EXEC_TRANSFER
bool show_trace
Set to true (the default) to print the stack trace with error and warning messages - false to omit it...
const ExecFlagType EXEC_FAILED
ScopedCommSwapper(MPI_Comm new_comm)
Swaps the current libmesh MPI communicator for new_comm.
A MultiMooseEnum object to hold "execute_on" flags.
bool colorConsole()
Returns whether Console coloring is turned on (default: true).
const ExecFlagType EXEC_NONLINEAR_CONVERGENCE
const ExecFlagType EXEC_CUSTOM
MPI_Comm swapLibMeshComm(MPI_Comm new_comm)
Swap the libMesh MPI communicator out for ours.
const ExecFlagType EXEC_FORCED
Generic factory class for build all sorts of objects.
void setSolverDefaults(FEProblemBase &problem)
const ExecFlagType EXEC_LINEAR_CONVERGENCE
bool _warnings_are_errors
Variable to toggle any warning into an error (includes deprecated code warnings)
void registerActions(Syntax &syntax, ActionFactory &action_factory)
Multiple Action class can be associated with a single input file section, in which case all associate...
const ExecFlagType EXEC_NONE
libMesh::PerfLog perf_log
Perflog to be used by applications.
void associateSyntax(Syntax &syntax, ActionFactory &action_factory)
static constexpr std::size_t dim
This is the dimension of all vector and tensor datastructures used in MOOSE.
const ExecFlagType EXEC_MULTIAPP_FIXED_POINT_END
This class provides an interface for common operations on field variables of both FE and FV types wit...
const ExecFlagType EXEC_TIMESTEP_END
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...
const ExecFlagType EXEC_ALWAYS
std::pair< typename M::iterator, bool > moose_try_emplace(M &m, const typename M::key_type &k, Args &&... args)
Function to mirror the behavior of the C++17 std::map::try_emplace() method (no hint).
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
std::unique_ptr< T > UniquePtr
void MooseVecView(libMesh::NumericVector< libMesh::Number > &vector)
void forceSwap()
Forcibly swap the currently swapped-out communicator back in to libmesh.
bool _deprecated_is_error
Variable to toggle only deprecated warnings as errors.
const ExecFlagType EXEC_TIMESTEP_BEGIN
const ExecFlagType EXEC_PRE_MULTIAPP_SETUP
Specialized factory for generic Action System objects.
virtual ~ScopedCommSwapper()
OStreamProxy err(std::cerr)
const ExecFlagType EXEC_LINEAR
const ExecFlagType EXEC_PRE_DISPLACE
const ExecFlagType EXEC_POSTCHECK
const ExecFlagType EXEC_NONLINEAR
void MooseMatView(libMesh::SparseMatrix< libMesh::Number > &mat)
bool _trap_fpe
Variable indicating whether we will enable FPE trapping for this run.
bool show_multiple
Set to false (the default) to display an error message only once for each error call code location (a...
Class for containing MooseEnum item information.
const ExecFlagType EXEC_MULTIAPP_FIXED_POINT_BEGIN
bool _throw_on_warning
Variable to turn on exceptions during mooseWarning(), should only be used in MOOSE unit tests...
void registerAll(Factory &f, ActionFactory &af, Syntax &s)
Register objects that are in MOOSE.
void registerObjects(Factory &factory, const std::set< std::string > &obj_labels)
bool setColorConsole(bool use_color, bool force=false)
Turns color escape sequences on/off for info written to stdout.
const ExecFlagType EXEC_MULTIAPP_FIXED_POINT_ITERATION_END
Holding syntax for parsing input files.
const ExecFlagType EXEC_SAME_AS_MULTIAPP
int interrupt_signal_number
Used by the signal handler to determine if we should write a checkpoint file out at any point during ...
const ExecFlagType EXEC_PRE_KERNELS
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
const ExecFlagType EXEC_SUBDOMAIN
const ExecFlagType EXEC_MULTIAPP_FIXED_POINT_CONVERGENCE
std::string hitMessagePrefix(const hit::Node &node)
Get the prefix to be associated with a hit node for a message.
OStreamProxy out(std::cout)
bool _throw_on_error
Variable to turn on exceptions during mooseError(), should only be used within MOOSE unit tests or wh...
const ExecFlagType EXEC_FINAL
void addActionTypes(Syntax &syntax)
const ExecFlagType EXEC_POST_ADAPTIVITY
ExecFlagEnum execute_flags
Storage for the registered execute flags.
const ExecFlagType EXEC_INITIAL