12 #include "libmesh/perf_log.h" 13 #include "libmesh/libmesh_common.h" 29 #ifdef LIBMESH_ENABLE_DEPRECATED 55 static_assert(__cplusplus >= 201703L,
56 "MOOSE requires a C++17 compatible compiler (GCC >= 7.5.0, Clang >= 5.0.2). Please " 57 "update your compiler or, if compatible, add '-std=c++17' to your compiler flags " 58 "and try again. If using the MOOSE conda package, please attempt a MOOSE environment " 59 "update (using `mamba update moose-dev`). If this update is not successful, please " 60 "create a new MOOSE environment (see " 61 "https://mooseframework.inl.gov/getting_started/installation/" 62 "conda.html#uninstall-conda-moose-environment).");
72 (cond) bool __local_bool__ = (cond); \ 73 Parallel::max<bool>(__local_bool__); \ 79 #ifdef __bg__ // On Blue Gene Architectures there is no underscore 80 #define FORTRAN_CALL(name) name 81 #else // One underscore everywhere else 82 #define FORTRAN_CALL(name) name##_ 92 template <
class M,
class... Args>
93 std::pair<typename M::iterator, bool>
96 auto it = m.lower_bound(k);
97 if (it == m.end() || m.key_comp()(k, it->first))
99 return {m.emplace_hint(it,
100 std::piecewise_construct,
101 std::forward_as_tuple(k),
102 std::forward_as_tuple(std::forward<Args>(args)...)),
139 static_assert(LIBMESH_DIM == 3,
140 "MOOSE must be built with a libmesh library compiled without --enable-1D-only " 141 "or --enable-2D-only");
148 static constexpr std::size_t
dim = LIBMESH_DIM;
215 #define COLOR_BLACK (Moose::colorConsole() ? XTERM_BLACK : "") 216 #define COLOR_RED (Moose::colorConsole() ? XTERM_RED : "") 217 #define COLOR_GREEN (Moose::colorConsole() ? XTERM_GREEN : "") 218 #define COLOR_YELLOW (Moose::colorConsole() ? XTERM_YELLOW : "") 219 #define COLOR_BLUE (Moose::colorConsole() ? XTERM_BLUE : "") 220 #define COLOR_MAGENTA (Moose::colorConsole() ? XTERM_MAGENTA : "") 221 #define COLOR_CYAN (Moose::colorConsole() ? XTERM_CYAN : "") 222 #define COLOR_WHITE (Moose::colorConsole() ? XTERM_WHITE : "") 223 #define COLOR_DEFAULT (Moose::colorConsole() ? XTERM_DEFAULT : "") 250 const std::set<std::string> & obj_labels);
280 #ifndef LIBMESH_HAVE_PETSC 281 #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_CUSTOM
MPI_Comm swapLibMeshComm(MPI_Comm new_comm)
Swap the libMesh MPI communicator out for ours.
const ExecFlagType EXEC_FORCED
void setSolverDefaults(FEProblemBase &problem)
bool _warnings_are_errors
Variable to toggle any warning into an error (includes deprecated code warnings)
const ExecFlagType EXEC_NONE
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
void MooseVecView(NumericVector< Number > &vector)
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 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.
PerfLog perf_log
Perflog to be used by applications.
virtual ~ScopedCommSwapper()
OStreamProxy err(std::cerr)
const ExecFlagType EXEC_LINEAR
const ExecFlagType EXEC_PRE_DISPLACE
const ExecFlagType EXEC_POSTCHECK
const ExecFlagType EXEC_NONLINEAR
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.
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
void MooseMatView(SparseMatrix< Number > &mat)
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
const ExecFlagType EXEC_SUBDOMAIN
void registerActions(Syntax &syntax, ActionFactory &action_factory, const std::set< std::string > &obj_labels)
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)
ExecFlagEnum execute_flags
Storage for the registered execute flags.
const ExecFlagType EXEC_INITIAL