Nektar++
Loading...
Searching...
No Matches
Classes | Static Public Member Functions | List of all members
Nektar::MemoryManager< DataType > Class Template Reference

General purpose memory allocation routines with the ability to allocate from thread specific memory pools. More...

#include <NekMemoryManager.hpp>

Classes

struct  rebind
 

Static Public Member Functions

static void Deallocate (DataType *&data)
 Deallocate a pointer allocated by MemoryManager::Allocate.
 
template<typename... Args>
static DataType * Allocate (const Args &...args)
 Allocates a single object from the memory pool.
 
template<typename... Args>
static std::shared_ptr< DataType > AllocateSharedPtr (const Args &...args)
 Allocate a shared pointer from the memory pool.
 
template<typename DeallocatorType , typename... Args>
static std::shared_ptr< DataType > AllocateSharedPtrD (const DeallocatorType &d, const Args &...args)
 
static DataType * RawAllocate (size_t NumberOfElements)
 Allocates a chunk of raw, uninitialized memory, capable of holding NumberOfElements objects.
 
static void RawDeallocate (DataType *array, size_t NumberOfElements)
 Deallocates memory allocated from RawAllocate.
 

Allocator Interface

The allocator interface allows a MemoryManager object to be used in any object that allows an allocator parameter, such as STL containers.

typedef DataType value_type
 
typedef size_t size_type
 
typedef ptrdiff_t difference_type
 
typedef DataType * pointer
 
typedef const DataType * const_pointer
 
typedef DataType & reference
 
typedef const DataType & const_reference
 
 MemoryManager ()
 
template<typename T >
 MemoryManager (const MemoryManager< T > &rhs)=delete
 
 ~MemoryManager ()
 
pointer address (reference r) const
 
const_pointer address (const_reference r) const
 
pointer allocate (size_type n)
 
void deallocate (pointer p, size_type n)
 
void construct (pointer p, const_reference val)
 
void destroy (pointer p)
 
size_type max_size ()
 

Detailed Description

template<typename DataType>
class Nektar::MemoryManager< DataType >

General purpose memory allocation routines with the ability to allocate from thread specific memory pools.

If compiled with NEKTAR_MEMORY_POOL_ENABLED, the MemoryManager allocates from thread specific memory pools for small objects. Large objects are managed with the system supplied new/delete. These memory pools provide faster allocation and deallocation of small objects (particularly useful for shared pointers which allocate many 4 byte objects).

Warning
All memory allocated from the memory manager must be returned to the memory manager. Calling delete on memory allocated from the manager will likely cause undefined behavior. A particularly subtle violation of this rule occurs when giving memory allocated from the manager to a shared pointer.
std::shared_ptr<Obj> f(MemoryManager<Obj>::Allocate());
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
Shared pointers call delete when they go out of scope, so this line of code will cause problems. Instead, you should call the AllocateSharedPtr method:
std::shared_ptr<Obj> f = MemoryManager<Obj>::AllocateSharedPtr();
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.

Definition at line 80 of file NekMemoryManager.hpp.

Member Typedef Documentation

◆ const_pointer

template<typename DataType >
typedef const DataType* Nektar::MemoryManager< DataType >::const_pointer

Definition at line 241 of file NekMemoryManager.hpp.

◆ const_reference

template<typename DataType >
typedef const DataType& Nektar::MemoryManager< DataType >::const_reference

Definition at line 243 of file NekMemoryManager.hpp.

◆ difference_type

template<typename DataType >
typedef ptrdiff_t Nektar::MemoryManager< DataType >::difference_type

Definition at line 239 of file NekMemoryManager.hpp.

◆ pointer

template<typename DataType >
typedef DataType* Nektar::MemoryManager< DataType >::pointer

Definition at line 240 of file NekMemoryManager.hpp.

◆ reference

template<typename DataType >
typedef DataType& Nektar::MemoryManager< DataType >::reference

Definition at line 242 of file NekMemoryManager.hpp.

◆ size_type

template<typename DataType >
typedef size_t Nektar::MemoryManager< DataType >::size_type

Definition at line 238 of file NekMemoryManager.hpp.

◆ value_type

template<typename DataType >
typedef DataType Nektar::MemoryManager< DataType >::value_type

Definition at line 237 of file NekMemoryManager.hpp.

Constructor & Destructor Documentation

◆ MemoryManager() [1/2]

template<typename DataType >
Nektar::MemoryManager< DataType >::MemoryManager ( )
inline

Definition at line 245 of file NekMemoryManager.hpp.

246 {
247 }

◆ MemoryManager() [2/2]

template<typename DataType >
template<typename T >
Nektar::MemoryManager< DataType >::MemoryManager ( const MemoryManager< T > &  rhs)
delete

◆ ~MemoryManager()

template<typename DataType >
Nektar::MemoryManager< DataType >::~MemoryManager ( )
inline

Definition at line 249 of file NekMemoryManager.hpp.

250 {
251 }

Member Function Documentation

◆ address() [1/2]

template<typename DataType >
const_pointer Nektar::MemoryManager< DataType >::address ( const_reference  r) const
inline

Definition at line 257 of file NekMemoryManager.hpp.

258 {
259 return &r;
260 }

◆ address() [2/2]

template<typename DataType >
pointer Nektar::MemoryManager< DataType >::address ( reference  r) const
inline

Definition at line 253 of file NekMemoryManager.hpp.

254 {
255 return &r;
256 }

◆ Allocate()

template<typename DataType >
template<typename... Args>
static DataType * Nektar::MemoryManager< DataType >::Allocate ( const Args &...  args)
inlinestatic

Allocates a single object from the memory pool.

Exceptions
unknownAny exception thrown by DataType's default constructor will propogate through this method.

The allocated object must be returned to the memory pool via Deallocate.

Definition at line 149 of file NekMemoryManager.hpp.

150 {
151#ifdef NEKTAR_USE_ALIGNED_MEM
152 void *ptr = aligned_alloc(tinysimd::simd<NekDouble>::alignment,
153 sizeof(DataType));
154 return new (ptr) DataType(args...);
155#else
156 return new DataType(args...);
157#endif
158 }
typename abi< ScalarType, width >::type simd
Definition tinysimd.hpp:132

Referenced by Nektar::MemoryManager< DataType >::AllocateSharedPtrD().

◆ allocate()

template<typename DataType >
pointer Nektar::MemoryManager< DataType >::allocate ( size_type  n)
inline

Definition at line 262 of file NekMemoryManager.hpp.

263 {
264 return RawAllocate(n);
265 }
static DataType * RawAllocate(size_t NumberOfElements)
Allocates a chunk of raw, uninitialized memory, capable of holding NumberOfElements objects.

References Nektar::MemoryManager< DataType >::RawAllocate().

◆ AllocateSharedPtr()

template<typename DataType >
template<typename... Args>
static std::shared_ptr< DataType > Nektar::MemoryManager< DataType >::AllocateSharedPtr ( const Args &...  args)
inlinestatic

Allocate a shared pointer from the memory pool.

The shared pointer does not need to be returned to the memory pool. When the reference count to this object reaches 0, the shared pointer will automatically return the memory.

Definition at line 167 of file NekMemoryManager.hpp.

168 {
169 return AllocateSharedPtrD([](DataType *) {}, args...);
170 }
static std::shared_ptr< DataType > AllocateSharedPtrD(const DeallocatorType &d, const Args &...args)

References Nektar::MemoryManager< DataType >::AllocateSharedPtrD().

Referenced by Nektar::FieldUtils::OutputVtk::AddFieldDataToVTKHighOrder(), Nektar::CFSImplicit::AddMatNSBlkDiagVol(), Nektar::SolverUtils::Advection::AddTraceJacToMat(), Nektar::CFSImplicit::AllocateNekBlkMatDig(), Nektar::PreconCfsBRJ::AllocateNekBlkMatDig(), Nektar::FieldUtils::Field::AppendExpList(), Nektar::ArtificialDiffusion::ArtificialDiffusion(), Nektar::MultiRegions::GlobalLinSysDirectFull::AssembleFullMatrix(), Nektar::MultiRegions::AssemblyMap::AssemblyMap(), Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), Nektar::MultiRegions::PreconditionerBlock::BlockPreconditionerCG(), Nektar::MultiRegions::PreconditionerBlock::BlockPreconditionerHDG(), Nektar::MemManagerUnitTests::BOOST_AUTO_TEST_CASE(), Nektar::MovementTests::BOOST_AUTO_TEST_CASE(), Nektar::HexCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::HexExpTests::BOOST_AUTO_TEST_CASE(), Nektar::StdRegionsUnitTests::BOOST_AUTO_TEST_CASE(), Nektar::HexExpTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadEquiSpaced::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PrismCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadEquiSpaced::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::PyrCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadEquiSpaced::BOOST_AUTO_TEST_CASE(), Nektar::QuadEquiSpaced::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::StdRegionsUnitTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::Expansion3DTests::BOOST_AUTO_TEST_CASE(), Nektar::HexExpTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::SegCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadEquiSpaced::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TetCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadEquiSpaced::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::QuadEquiSpaced::BOOST_AUTO_TEST_CASE(), Nektar::QuadEquiSpaced::BOOST_AUTO_TEST_CASE(), Nektar::QuadEquiSpaced::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::TriCollectionTests::BOOST_AUTO_TEST_CASE(), Nektar::MovementTests::BOOST_AUTO_TEST_CASE(), Nektar::MultiRegions::BottomUpSubStructuredGraph::BottomUpSubStructuredGraph(), Nektar::MultiRegions::BottomUpSubStructuredGraph::BottomUpSubStructuredGraph(), Nektar::LinearElasticSystem::BuildLaplacianIJMatrix(), Nektar::SolverUtils::ForcingAbsorption::CalcAbsorption(), Nektar::SolverUtils::FilterAeroForces::CalculateForcesMapping(), Nektar::SolverUtils::ForcingCFSSyntheticEddy::CalculateForcing(), Nektar::CellModel::CellModel(), Nektar::CFSBndCond::CFSBndCond(), Nektar::Collections::Collection::Collection(), Nektar::MultiRegions::GlobalLinSysStaticCond::ConstructNextLevelCondensedSystem(), Nektar::MultiRegions::ContField::ContField(), Nektar::MultiRegions::ContField::ContField(), Nektar::MultiRegions::ContField::ContField(), Nektar::MultiRegions::ContField3DHomogeneous1D::ContField3DHomogeneous1D(), Nektar::MultiRegions::ContField3DHomogeneous1D::ContField3DHomogeneous1D(), Nektar::MultiRegions::ContField3DHomogeneous1D::ContField3DHomogeneous1D(), Nektar::MultiRegions::ContField3DHomogeneous2D::ContField3DHomogeneous2D(), Nektar::MultiRegions::ContField3DHomogeneous2D::ContField3DHomogeneous2D(), Nektar::SolverUtils::EvaluatePoints::CopyStaticPtsToMobile(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), Nektar::SpatialDomains::MeshGraphIOHDF5::create(), Nektar::SpatialDomains::MeshGraphIOXml::create(), Nektar::SpatialDomains::MeshGraphIOXmlCompressed::create(), Nektar::BetaPressureArea::create(), Nektar::EmpiricalPressureArea::create(), Nektar::PowerPressureArea::create(), Nektar::TemplatePressureArea::create(), Nektar::AInflow::create(), Nektar::QInflow::create(), Nektar::RCROutflow::create(), Nektar::ROutflow::create(), Nektar::TerminalOutflow::create(), Nektar::TimeDependentInflow::create(), Nektar::UInflow::create(), Nektar::UndefinedInOutflow::create(), Nektar::PreconCfsBRJ::create(), Nektar::FieldUtils::OutputVtk::create(), Nektar::MultiRegions::GlobalLinSysDirectFull::create(), Nektar::MultiRegions::GlobalLinSysDirectStaticCond::create(), Nektar::MultiRegions::GlobalLinSysIterativeFull::create(), Nektar::MultiRegions::GlobalLinSysIterativeStaticCond::create(), Nektar::MultiRegions::GlobalLinSysPETScFull::create(), Nektar::MultiRegions::GlobalLinSysPETScStaticCond::create(), Nektar::MultiRegions::GlobalLinSysXxtFull::create(), Nektar::MultiRegions::GlobalLinSysXxtStaticCond::create(), Nektar::IdealGasEoS::create(), Nektar::PengRobinsonEoS::create(), Nektar::RedlichKwongEoS::create(), Nektar::VanDerWaalsEoS::create(), Nektar::ImplicitExtrapolate::create(), Nektar::MappingExtrapolate::create(), Nektar::StandardExtrapolate::create(), Nektar::SubSteppingExtrapolate::create(), Nektar::WeakPressureExtrapolate::create(), Nektar::EnforceEntropyPressure::create(), Nektar::EnforceEntropyTotalEnthalpy::create(), Nektar::EnforceEntropyVelocity::create(), Nektar::ExtrapOrder0BC::create(), Nektar::IsentropicVortexBC::create(), Nektar::PressureInflowFileBC::create(), Nektar::PressureMachTemperatureBC::create(), Nektar::PressureOutflowBC::create(), Nektar::PressureOutflowNonReflectiveBC::create(), Nektar::RiemannInvariantBC::create(), Nektar::RinglebFlowBC::create(), Nektar::StagnationInflowBC::create(), Nektar::SymmetryBC::create(), Nektar::TimeDependentBC::create(), Nektar::WallBC::create(), Nektar::WallRotationalBC::create(), Nektar::WallViscousBC::create(), Nektar::NonSmoothShockCapture::create(), Nektar::GlobalMapping::MappingGeneral::create(), Nektar::GlobalMapping::MappingTranslation::create(), Nektar::GlobalMapping::MappingXofXZ::create(), Nektar::GlobalMapping::MappingXofZ::create(), Nektar::GlobalMapping::MappingXYofXY::create(), Nektar::GlobalMapping::MappingXYofZ::create(), Nektar::LibUtilities::NekLinSysIterEvsDirect::create(), Nektar::LibUtilities::NekNonlinSysIterNewtonBacktrack::create(), Nektar::LibUtilities::NekNonlinSysIterNewtonHookStep::create(), Nektar::LibUtilities::NekNonlinSysIterNewtonTrustRegion::create(), Nektar::LibUtilities::NekLinSysIterCG::create(), Nektar::LibUtilities::NekLinSysIterCGLoc::create(), Nektar::LibUtilities::NekLinSysIterFixedpointJacobi::create(), Nektar::LibUtilities::NekLinSysIterGMRES::create(), Nektar::LibUtilities::NekLinSysIterGMRESLoc::create(), Nektar::LibUtilities::NekNonlinSysIterNewton::create(), Nektar::CellModelAlievPanfilov::create(), Nektar::CourtemancheRamirezNattel98::create(), Nektar::FentonKarma::create(), Nektar::CellModelFitzHughNagumo::create(), Nektar::Fox02::create(), Nektar::LuoRudy91::create(), Nektar::PanditGilesDemir03::create(), Nektar::TenTusscher06::create(), Nektar::Winslow99::create(), Nektar::StimulusCirc::create(), Nektar::StimulusPoint::create(), Nektar::StimulusRect::create(), Nektar::SolverUtils::DriverAdaptive::create(), Nektar::SolverUtils::DriverArpack::create(), Nektar::SolverUtils::DriverModifiedArnoldi::create(), Nektar::SolverUtils::DriverParareal::create(), Nektar::SolverUtils::DriverPFASST::create(), Nektar::SolverUtils::DriverStandard::create(), Nektar::SolverUtils::DriverSteadyState::create(), DummyEquationSystem::create(), Nektar::APE::create(), Nektar::LEE::create(), Nektar::EigenValuesAdvection::create(), Nektar::Helmholtz::create(), Nektar::Laplace::create(), Nektar::LaplacePhi::create(), Nektar::MMFAdvection::create(), Nektar::Poisson::create(), Nektar::Projection::create(), Nektar::SteadyAdvectionDiffusion::create(), Nektar::SteadyAdvectionDiffusionReaction::create(), Nektar::UnsteadyAdvection::create(), Nektar::UnsteadyAdvectionDiffusion::create(), Nektar::UnsteadyDiffusion::create(), Nektar::UnsteadyInviscidBurgers::create(), Nektar::UnsteadyReactionDiffusion::create(), Nektar::UnsteadyViscousBurgers::create(), Nektar::Bidomain::create(), Nektar::BidomainRoth::create(), Nektar::Monodomain::create(), Nektar::EulerCFE::create(), Nektar::EulerImplicitCFE::create(), Nektar::NavierStokesCFE::create(), Nektar::NavierStokesCFEAxisym::create(), Nektar::NavierStokesImplicitCFE::create(), Nektar::MMFDiffusion::create(), Nektar::Dummy::create(), Nektar::ImageWarpingSystem::create(), Nektar::CoupledLinearNS::create(), Nektar::PressDecompVCSFSI::create(), Nektar::SmoothedProfileMethod::create(), Nektar::VCSFSI::create(), Nektar::VCSMapping::create(), Nektar::VelocityCorrectionScheme::create(), Nektar::VCSImplicit::create(), Nektar::VCSWeakPressure::create(), Nektar::IterativeElasticSystem::create(), Nektar::LinearElasticSystem::create(), Nektar::MMFMaxwell::create(), Nektar::PulseWavePropagation::create(), Nektar::SolverUtils::FileSolution::create(), Nektar::LinearSWE::create(), Nektar::MMFSWE::create(), Nektar::NonlinearPeregrine::create(), Nektar::NonlinearSWE::create(), Nektar::ShallowWaterSystem::create(), Nektar::SolverUtils::FilterModalEnergy::create(), Nektar::SolverUtils::FilterThresholdMin::create(), Nektar::SolverUtils::FilterAeroForces::create(), Nektar::SolverUtils::FilterAverageFields::create(), Nektar::SolverUtils::FilterBodyFittedVelocity::create(), Nektar::SolverUtils::FilterCheckpoint::create(), Nektar::SolverUtils::FilterEnergy1D::create(), Nektar::SolverUtils::FilterError::create(), Nektar::SolverUtils::FilterFieldConvert::create(), Nektar::SolverUtils::FilterHistoryPoints::create(), Nektar::SolverUtils::FilterIntegral::create(), Nektar::SolverUtils::FilterLagrangianPoints::create(), Nektar::SolverUtils::FilterMaxMinFields::create(), Nektar::SolverUtils::FilterMovingAverage::create(), Nektar::SolverUtils::FilterPython::create(), Nektar::SolverUtils::FilterThresholdMax::create(), Nektar::SolverUtils::FilterEnergy::create(), Nektar::SolverUtils::FilterMean::create(), Nektar::FilterBenchmark::create(), Nektar::FilterCellHistoryPoints::create(), Nektar::FilterCheckpointCellModel::create(), Nektar::FilterElectrogram::create(), Nektar::FilterHilbertFFTPhase::create(), Nektar::FilterOffsetPhase::create(), Nektar::FilterMovingBody::create(), Nektar::FilterAeroForcesSPM::create(), Nektar::SolverUtils::FilterReynoldsStresses::create(), Nektar::SolverUtils::ForcingAbsorption::create(), Nektar::SolverUtils::ForcingBody::create(), Nektar::SolverUtils::ForcingMovingReferenceFrame::create(), Nektar::SolverUtils::ForcingNoise::create(), Nektar::SolverUtils::ForcingProgrammatic::create(), Nektar::SolverUtils::ForcingSyntheticEddy::create(), Nektar::SolverUtils::ForcingCFSSyntheticEddy::create(), Nektar::SolverUtils::ForcingIncNSSyntheticEddy::create(), Nektar::ForcingAxiSymmetric::create(), Nektar::ForcingQuasi1D::create(), Nektar::ForcingMovingBody::create(), Nektar::ForcingStabilityCoupledLNS::create(), Nektar::ProtocolS1::create(), Nektar::ProtocolS1S2::create(), Nektar::ProtocolSingle::create(), Nektar::MRFFar::create(), Nektar::MRFWall::create(), Nektar::MRFWallPressDecomp::create(), Nektar::StaticWall::create(), Nektar::TransMovingWall::create(), Nektar::SpatialDomains::MeshPartitionMetis::create(), Nektar::SpatialDomains::MeshPartitionPtScotch::create(), Nektar::SpatialDomains::MeshPartitionScotch::create(), Nektar::MultiRegions::PreconditionerBlock::create(), Nektar::MultiRegions::PreconditionerDiagonal::create(), Nektar::MultiRegions::PreconditionerNull::create(), Nektar::MultiRegions::PreconditionerJacobi::create(), Nektar::MultiRegions::PreconditionerLinear::create(), Nektar::MultiRegions::PreconditionerLinearWithBlock::create(), Nektar::MultiRegions::PreconditionerLinearWithDiag::create(), Nektar::MultiRegions::PreconditionerLinearWithLowEnergy::create(), Nektar::MultiRegions::PreconditionerLOR::create(), Nektar::MultiRegions::PreconditionerLowEnergy::create(), Nektar::FieldUtils::InputDat::create(), Nektar::FieldUtils::InputFld::create(), Nektar::FieldUtils::InputNek5000::create(), Nektar::FieldUtils::InputPts::create(), Nektar::FieldUtils::InputSemtex::create(), Nektar::FieldUtils::InputXml::create(), Nektar::FieldUtils::OutputFld::create(), Nektar::FieldUtils::OutputInfo::create(), Nektar::FieldUtils::OutputPts::create(), Nektar::FieldUtils::OutputStdOut::create(), Nektar::FieldUtils::OutputTecplot::create(), Nektar::FieldUtils::OutputTecplotBinary::create(), Nektar::FieldUtils::OutputVtkBase::create(), Nektar::FieldUtils::OutputXml::create(), Nektar::FieldUtils::ProcessAddCompositeID::create(), Nektar::FieldUtils::ProcessAddFld::create(), Nektar::FieldUtils::ProcessAverageFld::create(), Nektar::FieldUtils::ProcessBodyFittedVelocity::create(), Nektar::FieldUtils::ProcessBoundaryExtract::create(), Nektar::FieldUtils::ProcessC0Projection::create(), Nektar::FieldUtils::ProcessCFL::create(), Nektar::FieldUtils::ProcessCombineAvg::create(), Nektar::FieldUtils::ProcessConcatenateFld::create(), Nektar::FieldUtils::ProcessCreateExp::create(), Nektar::FieldUtils::ProcessDeform::create(), Nektar::FieldUtils::ProcessDisplacement::create(), Nektar::FieldUtils::ProcessDOF::create(), Nektar::FieldUtils::ProcessEquiSpacedOutput::create(), Nektar::FieldUtils::ProcessFieldFromString::create(), Nektar::FieldUtils::ProcessForceDecomposeBnd::create(), Nektar::FieldUtils::ProcessForceDecomposeVol::create(), Nektar::FieldUtils::ProcessGrad::create(), Nektar::FieldUtils::ProcessHalfModeToFourier::create(), Nektar::FieldUtils::ProcessHomogeneousPlane::create(), Nektar::FieldUtils::ProcessHomogeneousStretch::create(), Nektar::FieldUtils::ProcessInnerProduct::create(), Nektar::FieldUtils::ProcessInterpField::create(), Nektar::FieldUtils::ProcessInterpPointDataToFld::create(), Nektar::FieldUtils::ProcessInterpPoints::create(), Nektar::FieldUtils::ProcessInterpPtsToPts::create(), Nektar::FieldUtils::ProcessIsoContour::create(), Nektar::FieldUtils::ProcessJacobianEnergy::create(), Nektar::FieldUtils::ProcessL2Criterion::create(), Nektar::FieldUtils::ProcessLocalStabilityAnalysis::create(), Nektar::FieldUtils::ProcessMapping::create(), Nektar::FieldUtils::ProcessMean::create(), Nektar::FieldUtils::ProcessMeanMode::create(), Nektar::FieldUtils::ProcessMRF::create(), Nektar::FieldUtils::ProcessMultiShear::create(), Nektar::FieldUtils::ProcessNumModes::create(), Nektar::FieldUtils::ProcessPhiFromFile::create(), Nektar::FieldUtils::ProcessPointDataToFld::create(), Nektar::FieldUtils::ProcessPowerSpectrum::create(), Nektar::FieldUtils::ProcessPrintFldNorms::create(), Nektar::FieldUtils::ProcessQCriterion::create(), Nektar::FieldUtils::ProcessQualityMetric::create(), Nektar::FieldUtils::ProcessRemoveField::create(), Nektar::FieldUtils::ProcessScaleInFld::create(), Nektar::FieldUtils::ProcessScalGrad::create(), Nektar::FieldUtils::ProcessStreamFunction::create(), Nektar::FieldUtils::ProcessSurfDistance::create(), Nektar::FieldUtils::ProcessVelocityDivergence::create(), Nektar::FieldUtils::ProcessVortexInducedVelocity::create(), Nektar::FieldUtils::ProcessVorticity::create(), Nektar::FieldUtils::ProcessWallNormalData::create(), Nektar::FieldUtils::ProcessWSS::create(), Nektar::FieldUtils::ProcessZeroHomogeneousPlane::create(), Nektar::SolverUtils::MobilePoint::create(), Nektar::LibUtilities::NekFFTW::create(), Nektar::LibUtilities::CommCwipi::create(), Nektar::LibUtilities::CommMpi::create(), Nektar::LibUtilities::CommSerial::create(), Nektar::SolverUtils::StatLagrangianPoints::create(), Nektar::LibUtilities::FieldIOHdf5::create(), Nektar::LibUtilities::FieldIOXml::create(), Nektar::SolverUtils::CouplingCwipi::create(), Nektar::SolverUtils::CouplingFile::create(), Nektar::LibUtilities::AdamsMoultonTimeIntegrationScheme::create(), Nektar::LibUtilities::BDFImplicitTimeIntegrationScheme::create(), Nektar::LibUtilities::CNABTimeIntegrationScheme::create(), Nektar::LibUtilities::DIRKTimeIntegrationScheme::create(), Nektar::LibUtilities::EulerExponentialTimeIntegrationScheme::create(), Nektar::LibUtilities::EulerTimeIntegrationScheme::create(), Nektar::LibUtilities::ExplicitTimeIntegrationSchemeSDC::create(), Nektar::LibUtilities::IMEXdirkTimeIntegrationScheme::create(), Nektar::LibUtilities::IMEXTimeIntegrationScheme::create(), Nektar::LibUtilities::IMEXTimeIntegrationSchemeSDC::create(), Nektar::LibUtilities::ImplicitTimeIntegrationSchemeSDC::create(), Nektar::LibUtilities::MCNABTimeIntegrationScheme::create(), Nektar::LibUtilities::RungeKuttaTimeIntegrationScheme::create(), Nektar::LibUtilities::FractionalInTimeIntegrationScheme::create(), Nektar::LibUtilities::TimeIntegrationSchemeGEM::create(), Nektar::LibUtilities::TimeIntegrationSchemeSDC::create(), Nektar::LibUtilities::NoSchemeTimeIntegrationScheme::create(), Nektar::AdjointAdvection::create(), Nektar::AlternateSkewAdvection::create(), Nektar::LinearisedAdvection::create(), Nektar::NavierStokesAdvection::create(), Nektar::NoAdvection::create(), Nektar::SkewSymmetricAdvection::create(), Nektar::FieldUtils::Field::CreateExp(), Nektar::FieldUtils::ProcessInterpPoints::CreateFieldPts(), Nektar::FieldUtils::ProcessInterpPtsToPts::CreateFieldPts(), Nektar::StdRegions::StdExpansion::CreateGeneralMatrix(), Nektar::LocalRegions::Expansion::CreateIndexMap(), Nektar::LibUtilities::NekLinSysIter::CreateInstance(), Nektar::LibUtilities::NekSys::CreateInstance(), Nektar::LibUtilities::SessionReader::CreateInstance(), Nektar::LibUtilities::SessionReader::CreateInstance(), Nektar::MovementTests::CreateInterface(), Nektar::SpatialDomains::LinearMeshGraph::CreateLinearGraph(), Nektar::LocalRegions::Expansion2D::CreateMatrix(), Nektar::LocalRegions::Expansion3D::CreateMatrix(), Nektar::LocalRegions::SegExp::CreateMatrix(), Nektar::LocalRegions::Expansion::CreateStaticCondMatrix(), Nektar::StdRegions::StdExpansion::CreateStdStaticCondMatrix(), Diffusion::Diffusion(), Nektar::MultiRegions::DisContField::DisContField(), Nektar::MultiRegions::DisContField3DHomogeneous1D::DisContField3DHomogeneous1D(), Nektar::MultiRegions::DisContField3DHomogeneous1D::DisContField3DHomogeneous1D(), Nektar::MultiRegions::DisContField3DHomogeneous2D::DisContField3DHomogeneous2D(), Nektar::MultiRegions::DisContField3DHomogeneous2D::DisContField3DHomogeneous2D(), Nektar::SolverUtils::CouplingCwipi::DumpRawFields(), Nektar::LibUtilities::Equation::Equation(), Nektar::SolverUtils::EquationSystem::ErrorExtraPoints(), Nektar::MultiRegions::DisContField::EvaluateHDGPostProcessing(), Nektar::SolverUtils::SessionFunction::EvaluatePts(), Nektar::MultiRegions::ExpList2DHomogeneous1D::ExpList2DHomogeneous1D(), Nektar::MultiRegions::ExpList2DHomogeneous1D::ExpList2DHomogeneous1D(), Nektar::MultiRegions::ExpList2DHomogeneous1D::ExpList2DHomogeneous1D(), Nektar::MultiRegions::ExpList3DHomogeneous1D::ExpList3DHomogeneous1D(), Nektar::MultiRegions::ExpList3DHomogeneous1D::ExpList3DHomogeneous1D(), Nektar::MultiRegions::ExpList3DHomogeneous2D::ExpList3DHomogeneous2D(), Nektar::MultiRegions::ExpList3DHomogeneous2D::ExpList3DHomogeneous2D(), Nektar::MultiRegions::ExpList3DHomogeneous2D::ExpList3DHomogeneous2D(), Nektar::FieldUtils::ProcessIsoContour::ExtractContour(), Nektar::MultiRegions::PreconditionerLowEnergy::ExtractLocMat(), Nektar::SolverUtils::CouplingCwipi::ExtrapolateFields(), Field_Init(), Nektar::VortexWaveInteraction::FileRelaxation(), Nektar::SolverUtils::FileSolution::FileSolution(), Nektar::SpatialDomains::MeshGraph::FillGraph(), Nektar::MultiRegions::DisContField::GenerateBoundaryConditionExpansion(), Nektar::MultiRegions::DisContField::GenerateBoundaryConditionExpansion(), Nektar::Extrapolate::GenerateHOPBCMap(), Nektar::MultiRegions::ExpList3DHomogeneous1D::GenExpList3DHomogeneous1D(), Nektar::StdRegions::StdNodalPrismExp::GenNBasisTransMatrix(), Nektar::StdRegions::StdNodalTetExp::GenNBasisTransMatrix(), Nektar::StdRegions::StdNodalTriExp::GenNBasisTransMatrix(), Nektar::CoupledLinearNS::GenPressureExp(), Nektar::PulseWaveSystem::GetCommArray(), Nektar::Collections::CoalescedGeomData::GetDerivFactorsInterLeave(), Nektar::MultiRegions::DisContField::GetDomainBCs(), Nektar::LinearisedAdvection::GetFloquetBlockMatrix(), Nektar::SolverUtils::FileFieldInterpolator::GetFloquetBlockMatrix(), Nektar::CFSImplicit::GetFluxVectorJacPoint(), Nektar::SolverUtils::Forcing::GetFunction(), Nektar::SolverUtils::EquationSystem::GetFunction(), Nektar::Collections::CoalescedGeomData::GetJacInterLeave(), Nektar::MultiRegions::DisContField::GetLocElmtTrace(), Nektar::FieldUtils::ProcessQualityMetric::GetQ(), GetStreakLocation(), Nektar::MultiRegions::GlobalMatrix::GlobalMatrix(), Nektar::LibUtilities::FieldIOXml::ImportFieldDefs(), Nektar::MultiRegions::ContField::InitGJPData(), Nektar::SolverUtils::EvaluatePoints::Initialise(), Nektar::VCSFSI::InitialiseFilter(), Nektar::ForcingMovingBody::InitialiseFilter(), Nektar::LibUtilities::TimeIntegrationAlgorithmGLM::InitializeData(), Nektar::MultiRegions::InterfaceMapDG::InterfaceMapDG(), Nektar::FieldUtils::Interpolator< T >::Interpolate(), Nektar::Collections::IProductWRTDerivBase_StdMat::IProductWRTDerivBase_StdMat(), Nektar::StdRegions::StdExpansion::LaplacianMatrixOp_MatFree_GenericImpl(), Nektar::SpatialDomains::LinearMeshGraph::LinMeshSetUpCompositesDomain(), main(), Nektar::MultiRegions::MultiLevelBisectedGraph::MultiLevelBisectedGraph(), Nektar::MultiRegions::MultiLevelBisectionReordering(), Nektar::CFSImplicit::MultiplyElmtInvMassPlusSource(), Nektar::SpatialDomains::Geometry3D::NewtonIterationForLocCoord(), Nektar::FieldUtils::OutputVtk::OutputFromExpHighOrder(), Nektar::SolverUtils::EvaluatePoints::PartitionExchangeNonlocalPoints(), Nektar::LocalRegions::Expansion::PhysBaseOnTraceMat(), Nektar::Collections::PhysDeriv_StdMat::PhysDeriv_StdMat(), Nektar::LocalRegions::Expansion::PhysDerivBaseOnTraceMat(), Nektar::MultiRegions::GlobalLinSysIterativeStaticCond::PrepareLocalSchurComplement(), Nektar::LibUtilities::Timer::PrintElapsedRegions(), Nektar::SpatialDomains::MeshGraphIO::Read(), Nektar::SpatialDomains::BoundaryConditions::ReadBoundaryConditions(), Nektar::SpatialDomains::MeshGraphIOHDF5::ReadComposites(), Nektar::SpatialDomains::MeshGraphIOXml::ReadComposites(), Nektar::LibUtilities::SessionReader::ReadFunctions(), Nektar::SpatialDomains::Movement::ReadZones(), Nektar::MultiRegions::PreconditionerLowEnergy::ReSetPrismMaxRMat(), Nektar::MultiRegions::PreconditionerLowEnergy::ReSetTetMaxRMat(), Nektar::SolverUtils::CouplingCwipi::SendCallback(), Nektar::FieldUtils::Iso::SeparateRegions(), SessionFunction_Init(), Nektar::LibUtilities::SessionReader::SessionReader(), Nektar::LibUtilities::SessionReader::SessionReader(), Nektar::SpatialDomains::MeshGraph::SetDomainRange(), Nektar::ForcingMovingBody::SetDynEqCoeffMatrix(), Nektar::Newmark_BetaSolver::SetNewmarkBeta(), Nektar::LinearElasticSystem::SetStaticCondBlock(), Nektar::SolverUtils::FilterModalEnergy::SetUpBaseFields(), Nektar::MultiRegions::PreconditionerLowEnergy::SetupBlockTransformationMatrix(), Nektar::MultiRegions::DisContField3DHomogeneous1D::SetupBoundaryConditions(), Nektar::MultiRegions::DisContField3DHomogeneous2D::SetupBoundaryConditions(), Nektar::SpatialDomains::MeshGraphIOHDF5::SetupCompositeRange(), Nektar::VarcoeffHashingTest::setupContFieldSolve(), Nektar::CoupledLinearNS::SetUpCoupledMatrix(), Nektar::MultiRegions::DisContField::SetUpDG(), Nektar::PulseWaveSystem::SetUpDomainInterfaceBCs(), Nektar::SpatialDomains::MeshGraph::SetUpExpansionInfoMap(), Nektar::SmoothedProfileMethod::SetUpExpansions(), Nektar::VelocityCorrectionScheme::SetUpExtrapolation(), Nektar::FieldUtils::Field::SetUpFirstExpList(), Nektar::FieldUtils::ProcessIsoContour::SetupIsoFromFieldPts(), Nektar::MultiRegions::PreconditionerLowEnergy::SetUpPyrMaxRMat(), Nektar::SolverUtils::CouplingCwipi::SetupReceive(), Nektar::MultiRegions::PreconditionerLowEnergy::SetUpReferenceElements(), Nektar::SolverUtils::CouplingCwipi::SetupSendInterpolation(), Nektar::MultiRegions::GlobalLinSysStaticCond::SetupTopLevel(), Nektar::LibUtilities::Interpolator::SetupTree(), Nektar::SpatialDomains::SegGeom::SetUpXmap(), Nektar::LocalRegions::Expansion::StdDerivBaseOnTraceMat(), Nektar::SolverUtils::EvaluatePoints::SyncColumnComm(), Nektar::LibUtilities::TimeIntegrationAlgorithmGLM::TimeIntegrate(), Nektar::GlobalMapping::UpdateGeometry(), Nektar::MultiRegions::GlobalLinSysIterative::UpdateKnownSolutions(), Nektar::Extrapolate::UpdateRobinPrimCoeff(), Nektar::MultiRegions::GlobalLinSysDirectStaticCond::v_AssembleSchurComplement(), Nektar::LocalRegions::Expansion3D::v_BuildInverseTransformationMatrix(), Nektar::MultiRegions::PreconditionerLinear::v_BuildPreconditioner(), Nektar::MultiRegions::PreconditionerLOR::v_BuildPreconditioner(), Nektar::MultiRegions::PreconditionerLowEnergy::v_BuildPreconditioner(), Nektar::LocalRegions::Expansion3D::v_BuildTransformationMatrix(), Nektar::LocalRegions::Expansion2D::v_BuildVertexMatrix(), Nektar::LocalRegions::Expansion3D::v_BuildVertexMatrix(), Nektar::SpatialDomains::Geometry3D::v_CalculateInverseIsoParam(), Nektar::LibUtilities::NodalPrismElec::v_CalculatePoints(), Nektar::LibUtilities::NodalPrismEvenlySpaced::v_CalculatePoints(), Nektar::LibUtilities::NodalTetElec::v_CalculatePoints(), Nektar::LibUtilities::NodalTetEvenlySpaced::v_CalculatePoints(), Nektar::LibUtilities::NodalTriElec::v_CalculatePoints(), Nektar::LibUtilities::NodalTriEvenlySpaced::v_CalculatePoints(), Nektar::LibUtilities::NodalTriFekete::v_CalculatePoints(), Nektar::LocalRegions::HexExp::v_CreateStdMatrix(), Nektar::LocalRegions::NodalPrismExp::v_CreateStdMatrix(), Nektar::LocalRegions::NodalTetExp::v_CreateStdMatrix(), Nektar::LocalRegions::NodalTriExp::v_CreateStdMatrix(), Nektar::LocalRegions::PrismExp::v_CreateStdMatrix(), Nektar::LocalRegions::PyrExp::v_CreateStdMatrix(), Nektar::LocalRegions::QuadExp::v_CreateStdMatrix(), Nektar::LocalRegions::SegExp::v_CreateStdMatrix(), Nektar::LocalRegions::TetExp::v_CreateStdMatrix(), Nektar::LocalRegions::TriExp::v_CreateStdMatrix(), Nektar::LibUtilities::NodalUtilTriangle::v_CreateUtil(), Nektar::LibUtilities::NodalUtilTetrahedron::v_CreateUtil(), Nektar::LibUtilities::NodalUtilPrism::v_CreateUtil(), Nektar::LibUtilities::NodalUtilQuad::v_CreateUtil(), Nektar::LibUtilities::NodalUtilHex::v_CreateUtil(), Nektar::LinearElasticSystem::v_DoSolve(), Nektar::SolverUtils::DriverAdaptive::v_Execute(), Nektar::SpatialDomains::TriGeom::v_FillGeom(), Nektar::LocalRegions::QuadExp::v_FwdTransBndConstrained(), Nektar::LocalRegions::TriExp::v_FwdTransBndConstrained(), Nektar::StdRegions::StdQuadExp::v_FwdTransBndConstrained(), Nektar::StdRegions::StdTriExp::v_FwdTransBndConstrained(), Nektar::SpatialDomains::PointGeom::v_GenGeomFactors(), Nektar::StdRegions::StdHexExp::v_GenMatrix(), Nektar::StdRegions::StdPointExp::v_GenMatrix(), Nektar::StdRegions::StdPrismExp::v_GenMatrix(), Nektar::StdRegions::StdQuadExp::v_GenMatrix(), Nektar::StdRegions::StdSegExp::v_GenMatrix(), Nektar::StdRegions::StdTetExp::v_GenMatrix(), Nektar::StdRegions::StdTriExp::v_GenMatrix(), Nektar::LocalRegions::Expansion1D::v_GenMatrix(), Nektar::LocalRegions::Expansion2D::v_GenMatrix(), Nektar::LocalRegions::Expansion3D::v_GenMatrix(), Nektar::LocalRegions::Expansion2D::v_GenTraceExp(), Nektar::LocalRegions::Expansion3D::v_GenTraceExp(), Nektar::MultiRegions::GlobalLinSys::v_GetBlock(), Nektar::MultiRegions::DisContField::v_GetBndElmtExpansion(), Nektar::MultiRegions::DisContField3DHomogeneous1D::v_GetBndElmtExpansion(), Nektar::MultiRegions::DisContField3DHomogeneous2D::v_GetBndElmtExpansion(), Nektar::NavierStokesImplicitCFE::v_GetFluxDerivJacDirctn(), Nektar::NavierStokesImplicitCFE::v_GetFluxDerivJacDirctn(), Nektar::LocalRegions::HexExp::v_GetLinStdExp(), Nektar::LocalRegions::NodalPrismExp::v_GetLinStdExp(), Nektar::LocalRegions::NodalTetExp::v_GetLinStdExp(), Nektar::LocalRegions::NodalTriExp::v_GetLinStdExp(), Nektar::LocalRegions::PrismExp::v_GetLinStdExp(), Nektar::LocalRegions::PyrExp::v_GetLinStdExp(), Nektar::LocalRegions::QuadExp::v_GetLinStdExp(), Nektar::LocalRegions::SegExp::v_GetLinStdExp(), Nektar::LocalRegions::TetExp::v_GetLinStdExp(), Nektar::LocalRegions::TriExp::v_GetLinStdExp(), Nektar::MultiRegions::DisContField::v_GetRobinBCInfo(), Nektar::MultiRegions::GlobalLinSys::v_GetStaticCondBlock(), Nektar::MultiRegions::GlobalLinSysIterativeStaticCond::v_GetStaticCondBlock(), Nektar::MultiRegions::GlobalLinSysPETScStaticCond::v_GetStaticCondBlock(), Nektar::LocalRegions::HexExp::v_GetStdExp(), Nektar::LocalRegions::NodalPrismExp::v_GetStdExp(), Nektar::LocalRegions::NodalTetExp::v_GetStdExp(), Nektar::LocalRegions::NodalTriExp::v_GetStdExp(), Nektar::LocalRegions::PrismExp::v_GetStdExp(), Nektar::LocalRegions::PyrExp::v_GetStdExp(), Nektar::LocalRegions::QuadExp::v_GetStdExp(), Nektar::LocalRegions::SegExp::v_GetStdExp(), Nektar::LocalRegions::TetExp::v_GetStdExp(), Nektar::LocalRegions::TriExp::v_GetStdExp(), Nektar::MultiRegions::ContField::v_HelmSolve(), Nektar::LibUtilities::FieldIOHdf5::v_Import(), Nektar::LibUtilities::CsvIO::v_ImportPtsFieldData(), Nektar::LibUtilities::PtsIO::v_ImportPtsFieldData(), Nektar::SolverUtils::CouplingFile::v_Init(), Nektar::SolverUtils::FilterLagrangianPoints::v_Initialise(), Nektar::SolverUtils::FilterReynoldsStresses::v_Initialise(), Nektar::SolverUtils::EquationSystem::v_InitObject(), Nektar::PulseWaveSystem::v_InitObject(), Nektar::ImageWarpingSystem::v_InitObject(), Nektar::CoupledLinearNS::v_InitObject(), Nektar::IncNavierStokes::v_InitObject(), Nektar::CompressibleFlowSystem::v_InitObject(), Nektar::LinearElasticSystem::v_InitObject(), Nektar::SolverUtils::ForcingBody::v_InitObject(), Nektar::ForcingAxiSymmetric::v_InitObject(), Nektar::ForcingQuasi1D::v_InitObject(), Nektar::SolverUtils::Advection3DHomogeneous1D::v_InitObject(), Nektar::LinearisedAdvection::v_InitObject(), Nektar::MultiRegions::ContField::v_LinearAdvectionDiffusionReactionSolve(), Nektar::MultiRegions::ContField::v_LinearAdvectionReactionSolve(), Nektar::MultiRegions::AssemblyMapCG::v_LinearSpaceMap(), Nektar::FieldUtils::OutputPts::v_OutputFromExp(), Nektar::FieldUtils::InputDat::v_Process(), Nektar::FieldUtils::InputNek5000::v_Process(), Nektar::FieldUtils::InputPts::v_Process(), Nektar::FieldUtils::InputSemtex::v_Process(), Nektar::FieldUtils::InputXml::v_Process(), Nektar::FieldUtils::ProcessCreateExp::v_Process(), Nektar::FieldUtils::ProcessDisplacement::v_Process(), Nektar::FieldUtils::ProcessEquiSpacedOutput::v_Process(), Nektar::FieldUtils::ProcessHomogeneousPlane::v_Process(), Nektar::FieldUtils::ProcessInterpField::v_Process(), Nektar::FieldUtils::ProcessInterpPointDataToFld::v_Process(), Nektar::FieldUtils::ProcessInterpPoints::v_Process(), Nektar::FieldUtils::ProcessIsoContour::v_Process(), Nektar::FieldUtils::ProcessWallNormalData::v_Process(), Nektar::MultiRegions::GlobalLinSysDirectStaticCond::v_Recurse(), Nektar::MultiRegions::GlobalLinSysIterativeStaticCond::v_Recurse(), Nektar::MultiRegions::GlobalLinSysPETScStaticCond::v_Recurse(), Nektar::MultiRegions::GlobalLinSysXxtStaticCond::v_Recurse(), Nektar::LocalRegions::TriExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdPrismExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdPyrExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdTetExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdTriExp::v_ReduceOrderCoeffs(), Nektar::SolverUtils::CouplingFile::v_Send(), Nektar::MultiRegions::PreconditionerLowEnergy::v_TransformedSchurCompl(), and Nektar::VariableConverter::VariableConverter().

◆ AllocateSharedPtrD()

template<typename DataType >
template<typename DeallocatorType , typename... Args>
static std::shared_ptr< DataType > Nektar::MemoryManager< DataType >::AllocateSharedPtrD ( const DeallocatorType &  d,
const Args &...  args 
)
inlinestatic

Definition at line 173 of file NekMemoryManager.hpp.

175 {
176 DataType *data = Allocate(args...);
177 return std::shared_ptr<DataType>(data, [=](DataType *ptr) {
178 d(ptr);
180 });
181 }
static void Deallocate(DataType *&data)
Deallocate a pointer allocated by MemoryManager::Allocate.
static DataType * Allocate(const Args &...args)
Allocates a single object from the memory pool.
std::vector< double > d(NPUPPER *NPUPPER)

References Nektar::MemoryManager< DataType >::Allocate(), and Nektar::MemoryManager< DataType >::Deallocate().

Referenced by Nektar::MemoryManager< DataType >::AllocateSharedPtr(), and Nektar::CreateStorage().

◆ construct()

template<typename DataType >
void Nektar::MemoryManager< DataType >::construct ( pointer  p,
const_reference  val 
)
inline

Definition at line 272 of file NekMemoryManager.hpp.

273 {
274 new (p) DataType(val);
275 }
std::vector< double > p(NPUPPER)

◆ Deallocate()

template<typename DataType >
static void Nektar::MemoryManager< DataType >::Deallocate ( DataType *&  data)
inlinestatic

Deallocate a pointer allocated by MemoryManager::Allocate.

Note
Results are undefined if called with a pointer to something that was not allocated with the memory manager.

Use this method to deallocate a pointer you have allocated from the MemoryManager using the Allocate method.

Example:

CustObj* c = MemoryManager::Allocate<CustObj>();

Definition at line 96 of file NekMemoryManager.hpp.

97 {
98#ifdef NEKTAR_MEMORY_POOL_ENABLED
99 data->~DataType();
100 GetMemoryPool().Deallocate(data, sizeof(DataType));
101#else
102#ifdef NEKTAR_USE_ALIGNED_MEM
103 data->~DataType();
104 free(data);
105#else
106 delete data;
107#endif
108#endif
109
110 data = nullptr;
111 }
void Deallocate(void *p, size_t bytes)
Deallocate memory claimed by an earlier call to allocate.
MemPool & GetMemoryPool()

References Nektar::MemPool::Deallocate(), and Nektar::GetMemoryPool().

Referenced by Nektar::MemoryManager< DataType >::AllocateSharedPtrD().

◆ deallocate()

template<typename DataType >
void Nektar::MemoryManager< DataType >::deallocate ( pointer  p,
size_type  n 
)
inline

Definition at line 267 of file NekMemoryManager.hpp.

268 {
269 return RawDeallocate(p, n);
270 }
static void RawDeallocate(DataType *array, size_t NumberOfElements)
Deallocates memory allocated from RawAllocate.

References Nektar::MemoryManager< DataType >::RawDeallocate().

◆ destroy()

template<typename DataType >
void Nektar::MemoryManager< DataType >::destroy ( pointer  p)
inline

Definition at line 277 of file NekMemoryManager.hpp.

278 {
279 p->~DataType();
280 }

◆ max_size()

template<typename DataType >
size_type Nektar::MemoryManager< DataType >::max_size ( )
inline

Definition at line 282 of file NekMemoryManager.hpp.

283 {
284 return std::numeric_limits<size_type>::max() / sizeof(DataType);
285 }

◆ RawAllocate()

template<typename DataType >
static DataType * Nektar::MemoryManager< DataType >::RawAllocate ( size_t  NumberOfElements)
inlinestatic

Allocates a chunk of raw, uninitialized memory, capable of holding NumberOfElements objects.

Parameters
NumberOfElementsThe number of elements the array should be capable of holding.

This method is not meant to be called by client code. Use Array instead. Any memory allocated from this method must be returned to the memory pool via RawDeallocate. Failure to do so will result in memory leaks and undefined behavior.

Definition at line 193 of file NekMemoryManager.hpp.

194 {
195#ifdef NEKTAR_MEMORY_POOL_ENABLED
196 return static_cast<DataType *>(
197 GetMemoryPool().Allocate(NumberOfElements * sizeof(DataType)));
198#else // NEKTAR_MEMORY_POOL_ENABLED
199#ifdef NEKTAR_USE_ALIGNED_MEM
200 return static_cast<DataType *>(
202 NumberOfElements * sizeof(DataType)));
203#else
204 return static_cast<DataType *>(
205 ::operator new(NumberOfElements * sizeof(DataType)));
206#endif
207#endif // NEKTAR_MEMORY_POOL_ENABLED
208 }
void * Allocate(size_t bytes)
Allocate a block of memory of size ByteSize.

References Nektar::MemPool::Allocate(), and Nektar::GetMemoryPool().

Referenced by Nektar::MemoryManager< DataType >::allocate(), Nektar::CreateStorage(), and Nektar::Array< OneD, const DataType >::CreateStorage().

◆ RawDeallocate()

template<typename DataType >
static void Nektar::MemoryManager< DataType >::RawDeallocate ( DataType *  array,
size_t  NumberOfElements 
)
inlinestatic

Deallocates memory allocated from RawAllocate.

Parameters
arrayA pointer to the memory returned from RawAllocate.
NumberOfElementsThe number of object held in the array.

This method is not meant to be called by client code. Use Array instead. Only memory allocated via RawAllocate should be returned to the pool here.

Definition at line 217 of file NekMemoryManager.hpp.

219 {
220#ifdef NEKTAR_MEMORY_POOL_ENABLED
221 GetMemoryPool().Deallocate(array, sizeof(DataType) * NumberOfElements);
222#else // NEKTAR_MEMORY_POOL_ENABLED
223#ifdef NEKTAR_USE_ALIGNED_MEM
224 free(array);
225#else
226 ::operator delete(array);
227#endif
228#endif // NEKTAR_MEMORY_POOL_ENABLED
229 }

References Nektar::MemPool::Deallocate(), and Nektar::GetMemoryPool().

Referenced by Nektar::CreateStorage(), Nektar::MemoryManager< DataType >::deallocate(), Nektar::Array< OneD, const DataType >::operator=(), and Nektar::Array< OneD, const DataType >::~Array().