https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Functions
SMAAspUserSubroutines.h File Reference

Go to the source code of this file.

Functions

intSMAIntArrayCreate (int id, int len, int val=0)
 
double * SMAFloatArrayCreate (int id, int len, double val=0.0)
 
intSMALocalIntArrayCreate (int id, int len, int val=0)
 
double * SMALocalFloatArrayCreate (int id, int len, double val=0.0)
 
intSMAIntArrayAccess (int id)
 
double * SMAFloatArrayAccess (int id)
 
intSMALocalIntArrayAccess (int id)
 
double * SMALocalFloatArrayAccess (int id)
 
int SMAIntArraySize (int id)
 
int SMAFloatArraySize (int id)
 
int SMALocalIntArraySize (int id)
 
int SMALocalFloatArraySize (int id)
 
void SMAIntArrayDelete (int id)
 
void SMAFloatArrayDelete (int id)
 
void SMALocalIntArrayDelete (int id)
 
void SMALocalFloatArrayDelete (int id)
 
void MutexInit (int id)
 
void MutexLock (int id)
 
void MutexUnlock (int id)
 

Function Documentation

◆ MutexInit()

void MutexInit ( int  id)

Definition at line 386 of file AbaqusUtils.C.

387{
389}
static void mutexInit(std::size_t n)
Mutex API.

Referenced by uexternaldb_().

◆ MutexLock()

void MutexLock ( int  id)

Definition at line 392 of file AbaqusUtils.C.

393{
395}
static void mutexLock(std::size_t n)

Referenced by uexternaldb_().

◆ MutexUnlock()

void MutexUnlock ( int  id)

Definition at line 398 of file AbaqusUtils.C.

399{
401}
static void mutexUnlock(std::size_t n)

Referenced by uexternaldb_().

◆ SMAFloatArrayAccess()

double * SMAFloatArrayAccess ( int  id)

Definition at line 261 of file AbaqusUtils.C.

262{
263 auto it = AbaqusUtils::getSMAIterator(AbaqusUtils::_sma_float_array, id, "SMAFloatArrayAccess");
264 return it->second.data();
265}
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
Definition AbaqusUtils.h:72
static std::map< int, std::vector< Real > > _sma_float_array
Definition AbaqusUtils.h:53

Referenced by uexternaldb_().

◆ SMAFloatArrayCreate()

double * SMAFloatArrayCreate ( int  id,
int  len,
double  val = 0.0 
)

Referenced by uexternaldb_().

◆ SMAFloatArrayDelete()

void SMAFloatArrayDelete ( int  id)

Definition at line 329 of file AbaqusUtils.C.

330{
331 auto it = AbaqusUtils::getSMAIterator(AbaqusUtils::_sma_float_array, id, "SMAFloatArrayDelete");
333}

Referenced by uexternaldb_().

◆ SMAFloatArraySize()

int SMAFloatArraySize ( int  id)

Definition at line 295 of file AbaqusUtils.C.

296{
297 auto it = AbaqusUtils::getSMAIterator(AbaqusUtils::_sma_float_array, id, "SMAFloatArraySize");
298 return it->second.size();
299}

Referenced by uexternaldb_().

◆ SMAIntArrayAccess()

int * SMAIntArrayAccess ( int  id)

Definition at line 254 of file AbaqusUtils.C.

255{
256 auto it = AbaqusUtils::getSMAIterator(AbaqusUtils::_sma_int_array, id, "SMAIntArrayAccess");
257 return it->second.data();
258}
static std::map< int, std::vector< int > > _sma_int_array
Shared Memory Arrays.
Definition AbaqusUtils.h:52

Referenced by uexternaldb_().

◆ SMAIntArrayCreate()

int * SMAIntArrayCreate ( int  id,
int  len,
int  val = 0 
)

Definition at line 214 of file AbaqusUtils.C.

215{
216 auto ib = AbaqusUtils::_sma_int_array.emplace(id, std::vector<int>(len, val));
217 if (ib.second == false)
218 mooseError("Error creating threaded storage in SMAIntArrayCreate");
219 return ib.first->second.data();
220}
void mooseError(Args &&... args)

Referenced by uexternaldb_().

◆ SMAIntArrayDelete()

void SMAIntArrayDelete ( int  id)

Definition at line 322 of file AbaqusUtils.C.

323{
324 auto it = AbaqusUtils::getSMAIterator(AbaqusUtils::_sma_int_array, id, "SMAIntArrayDelete");
326}

Referenced by uexternaldb_().

◆ SMAIntArraySize()

int SMAIntArraySize ( int  id)

Definition at line 288 of file AbaqusUtils.C.

289{
290 auto it = AbaqusUtils::getSMAIterator(AbaqusUtils::_sma_int_array, id, "SMAIntArraySize");
291 return it->second.size();
292}

Referenced by uexternaldb_().

◆ SMALocalFloatArrayAccess()

double * SMALocalFloatArrayAccess ( int  id)

Definition at line 277 of file AbaqusUtils.C.

278{
280 "SMALocalFloatArrayAccess");
281 auto it = AbaqusUtils::getSMAIterator(array, id, "SMALocalFloatArrayAccess");
282 return it->second.data();
283}
static std::vector< std::map< int, std::vector< Real > > > _sma_local_float_array
Definition AbaqusUtils.h:55
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
Definition AbaqusUtils.h:84

Referenced by uexternaldb_().

◆ SMALocalFloatArrayCreate()

double * SMALocalFloatArrayCreate ( int  id,
int  len,
double  val = 0.0 
)

Referenced by uexternaldb_().

◆ SMALocalFloatArrayDelete()

void SMALocalFloatArrayDelete ( int  id)

Definition at line 345 of file AbaqusUtils.C.

346{
348 "SMALocalFloatArrayDelete");
349 auto it = AbaqusUtils::getSMAIterator(array, id, "SMALocalFloatArrayDelete");
350 array.erase(it);
351}

Referenced by uexternaldb_().

◆ SMALocalFloatArraySize()

int SMALocalFloatArraySize ( int  id)

Definition at line 311 of file AbaqusUtils.C.

312{
313 auto & array =
315 auto it = AbaqusUtils::getSMAIterator(array, id, "SMALocalFloatArraySize");
316 return it->second.size();
317}

Referenced by uexternaldb_().

◆ SMALocalIntArrayAccess()

int * SMALocalIntArrayAccess ( int  id)

Definition at line 268 of file AbaqusUtils.C.

269{
270 auto & array =
272 auto it = AbaqusUtils::getSMAIterator(array, id, "SMALocalIntArrayAccess");
273 return it->second.data();
274}
static std::vector< std::map< int, std::vector< int > > > _sma_local_int_array
Definition AbaqusUtils.h:54

Referenced by uexternaldb_().

◆ SMALocalIntArrayCreate()

int * SMALocalIntArrayCreate ( int  id,
int  len,
int  val = 0 
)

Definition at line 232 of file AbaqusUtils.C.

233{
236 "SMALocalIntArrayCreate")[id];
237 array.assign(len, val);
238 return array.data();
239}
static void smaInitialize()
thread storage initialization

Referenced by uexternaldb_().

◆ SMALocalIntArrayDelete()

void SMALocalIntArrayDelete ( int  id)

Definition at line 336 of file AbaqusUtils.C.

337{
338 auto & array =
340 auto it = AbaqusUtils::getSMAIterator(array, id, "SMALocalIntArrayDelete");
341 array.erase(it);
342}

Referenced by uexternaldb_().

◆ SMALocalIntArraySize()

int SMALocalIntArraySize ( int  id)

Definition at line 302 of file AbaqusUtils.C.

303{
304 auto & array =
306 auto it = AbaqusUtils::getSMAIterator(array, id, "SMALocalIntArraySize");
307 return it->second.size();
308}

Referenced by uexternaldb_().