Utility class to interface between the object oriented MOOSE app structure and global Abaqus utility functions. More...
#include <AbaqusUtils.h>
Static Public Member Functions | |
static void | setInputFile (const std::string &input_file) |
Global storage for the simulation output directory, this will be set by any Abaqus class. More... | |
static std::string | getOutputDir () |
static std::string | getJobName () |
static void | setCommunicator (const libMesh::Parallel::Communicator *communicator) |
Global storage for the MPI communicator, this will be set by any Abaqus class. More... | |
static const libMesh::Parallel::Communicator * | getCommunicator () |
template<typename T > | |
static std::map< int, std::vector< T > >::iterator | getSMAIterator (std::map< int, std::vector< T >> &array, int id, const std::string &function) |
get data vector iterator with error checking More... | |
template<typename T > | |
static std::map< int, std::vector< T > > & | getSMAThreadArray (std::vector< std::map< int, std::vector< T >>> &local_array, const std::string &function) |
get thread local array More... | |
static void | smaInitialize () |
thread storage initialization More... | |
static void | mutexInit (std::size_t n) |
Mutex API. More... | |
static void | mutexLock (std::size_t n) |
static void | mutexUnlock (std::size_t n) |
Static Public Attributes | |
static std::map< int, std::vector< int > > | _sma_int_array |
Shared Memory Arrays. More... | |
static std::map< int, std::vector< Real > > | _sma_float_array |
static std::vector< std::map< int, std::vector< int > > > | _sma_local_int_array |
static std::vector< std::map< int, std::vector< Real > > > | _sma_local_float_array |
Static Private Attributes | |
static std::array< std::unique_ptr< Threads::spin_mutex >, 101 > | _mutex = {{nullptr}} |
static std::string | _output_dir = "" |
static std::string | _job_name = "" |
static const libMesh::Parallel::Communicator * | _communicator = nullptr |
Utility class to interface between the object oriented MOOSE app structure and global Abaqus utility functions.
The class encapsulates static members for intermediate data storage.
Definition at line 19 of file AbaqusUtils.h.
|
inlinestatic |
Definition at line 35 of file AbaqusUtils.h.
Referenced by get_communicator(), getnumcpus_(), and getrank_().
|
inlinestatic |
|
inlinestatic |
|
static |
get data vector iterator with error checking
Definition at line 72 of file AbaqusUtils.h.
Referenced by SMAFloatArrayAccess(), SMAFloatArrayDelete(), SMAFloatArraySize(), SMAIntArrayAccess(), SMAIntArrayDelete(), SMAIntArraySize(), SMALocalFloatArrayAccess(), SMALocalFloatArrayDelete(), SMALocalFloatArraySize(), SMALocalIntArrayAccess(), SMALocalIntArrayDelete(), and SMALocalIntArraySize().
|
static |
get thread local array
Definition at line 84 of file AbaqusUtils.h.
Referenced by SMALocalFloatArrayAccess(), SMALocalFloatArrayCreate(), SMALocalFloatArrayDelete(), SMALocalFloatArraySize(), SMALocalIntArrayAccess(), SMALocalIntArrayCreate(), SMALocalIntArrayDelete(), and SMALocalIntArraySize().
|
static |
Mutex API.
Definition at line 358 of file AbaqusUtils.C.
Referenced by MutexInit().
|
static |
Definition at line 370 of file AbaqusUtils.C.
Referenced by MutexLock().
|
static |
Definition at line 378 of file AbaqusUtils.C.
Referenced by MutexUnlock().
|
static |
Global storage for the MPI communicator, this will be set by any Abaqus class.
MOOSE will throw a warning if multiple objects try to set this to different values.
Definition at line 19 of file AbaqusUtils.C.
Referenced by AbaqusUExternalDB::AbaqusUExternalDB().
|
static |
Global storage for the simulation output directory, this will be set by any Abaqus class.
MOOSE will throw a warning if multiple objects try to set this to different values.
Definition at line 70 of file AbaqusUtils.C.
Referenced by AbaqusUExternalDB::AbaqusUExternalDB().
|
static |
thread storage initialization
Definition at line 188 of file AbaqusUtils.C.
Referenced by SMALocalFloatArrayCreate(), and SMALocalIntArrayCreate().
|
staticprivate |
Definition at line 67 of file AbaqusUtils.h.
Referenced by getCommunicator(), and setCommunicator().
|
staticprivate |
Definition at line 66 of file AbaqusUtils.h.
Referenced by getJobName(), and setInputFile().
|
staticprivate |
Definition at line 64 of file AbaqusUtils.h.
Referenced by mutexInit(), mutexLock(), and mutexUnlock().
|
staticprivate |
Definition at line 65 of file AbaqusUtils.h.
Referenced by getOutputDir(), and setInputFile().
Definition at line 53 of file AbaqusUtils.h.
Referenced by SMAFloatArrayAccess(), SMAFloatArrayCreate(), SMAFloatArrayDelete(), and SMAFloatArraySize().
Shared Memory Arrays.
Definition at line 52 of file AbaqusUtils.h.
Referenced by SMAIntArrayAccess(), SMAIntArrayCreate(), SMAIntArrayDelete(), and SMAIntArraySize().
Definition at line 55 of file AbaqusUtils.h.
Referenced by smaInitialize(), SMALocalFloatArrayAccess(), SMALocalFloatArrayCreate(), SMALocalFloatArrayDelete(), and SMALocalFloatArraySize().
Definition at line 54 of file AbaqusUtils.h.
Referenced by smaInitialize(), SMALocalIntArrayAccess(), SMALocalIntArrayCreate(), SMALocalIntArrayDelete(), and SMALocalIntArraySize().