13 #include "libmesh/perf_log.h" 14 #include "libmesh/libmesh_common.h" 30 #ifdef LIBMESH_ENABLE_DEPRECATED 54 static_assert(__cplusplus >= 201703L,
55 "MOOSE requires a C++17 compatible compiler (GCC >= 7.5.0, Clang >= 5.0.2). Please " 56 "update your compiler or, if compatible, add '-std=c++17' to your compiler flags " 57 "and try again. If using the MOOSE conda package, please attempt a MOOSE environment " 58 "update (using `mamba update moose-dev`). If this update is not successful, please " 59 "create a new MOOSE environment (see " 60 "https://mooseframework.inl.gov/getting_started/installation/" 61 "conda.html#uninstall-conda-moose-environment).");
71 (cond) bool __local_bool__ = (cond); \ 72 Parallel::max<bool>(__local_bool__); \ 78 #ifdef __bg__ // On Blue Gene Architectures there is no underscore 79 #define FORTRAN_CALL(name) name 80 #else // One underscore everywhere else 81 #define FORTRAN_CALL(name) name##_ 91 template <
class M,
class... Args>
92 std::pair<typename M::iterator, bool>
95 auto it = m.lower_bound(k);
96 if (it == m.end() || m.key_comp()(k, it->first))
98 return {m.emplace_hint(it,
99 std::piecewise_construct,
100 std::forward_as_tuple(k),
101 std::forward_as_tuple(std::forward<Args>(args)...)),
137 #ifdef LIBMESH_ENABLE_AMR 144 static_assert(LIBMESH_DIM == 3,
145 "MOOSE must be built with a libmesh library compiled without --enable-1D-only " 146 "or --enable-2D-only");
153 static constexpr std::size_t
dim = LIBMESH_DIM;
220 #define COLOR_BLACK (Moose::colorConsole() ? XTERM_BLACK : "") 221 #define COLOR_RED (Moose::colorConsole() ? XTERM_RED : "") 222 #define COLOR_GREEN (Moose::colorConsole() ? XTERM_GREEN : "") 223 #define COLOR_YELLOW (Moose::colorConsole() ? XTERM_YELLOW : "") 224 #define COLOR_BLUE (Moose::colorConsole() ? XTERM_BLUE : "") 225 #define COLOR_MAGENTA (Moose::colorConsole() ? XTERM_MAGENTA : "") 226 #define COLOR_CYAN (Moose::colorConsole() ? XTERM_CYAN : "") 227 #define COLOR_WHITE (Moose::colorConsole() ? XTERM_WHITE : "") 228 #define COLOR_DEFAULT (Moose::colorConsole() ? XTERM_DEFAULT : "") 254 const std::set<std::string> & obj_labels);
284 #ifndef LIBMESH_HAVE_PETSC 285 #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.
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
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