BC¶
-
namespace
Cubism
::
BC
Namespace for block field boundary conditions.
-
template<typename
Lab
>
classAbsorbing
: public Cubism::BC::Base<Lab> - #include <Absorbing.h>
Zeroth-Order absorbing BC.
Zeroth-Order absorbing boundary condition
- Template Parameters
Lab
: Type ofFieldLab
-
template<typename
Lab
>
classBase
- #include <Base.h>
Boundary condition base class.
Each boundary condition is applied for a specific
dir < CUBISM_DIMENSION
and correspondingside
.- Template Parameters
Lab
: Type ofFieldLab
Subclassed by Cubism::BC::Absorbing< Lab >, Cubism::BC::Dirichlet< Lab >, Cubism::BC::Symmetry< Lab >
-
struct
BoundaryInfo
- #include <Base.h>
Boundary information meta data.
-
template<typename
Block¶
-
namespace
Cubism
::
Block
Namespace for block data types.
Typedefs
-
using
CellField
= Field<T, EntityType::Cell, DIM, State, Alloc> Basic cell-centered data field.
- Template Parameters
T
: Data type (must be POD)DIM
: Field dimensionState
: State typeAlloc
: Allocator type
-
using
NodeField
= Field<T, EntityType::Node, DIM, State, Alloc> Basic node-centered data field.
- Template Parameters
T
: Data type (must be POD)DIM
: Field dimensionState
: State typeAlloc
: Allocator type
-
using
FaceField
= Field<T, EntityType::Face, DIM, State, Alloc> Basic face-centered data field.
Faces are stored individually for the dimensionality specified by
CUBISM_DIMENSION
at compile time. See theFaceContainer
type for a container of sizeCUBISM_DIMENSION
.- Template Parameters
T
: Data type (must be POD)DIM
: Field dimensionState
: State typeAlloc
: Allocator type
-
using
VectorField
= TensorField<T, 1, Entity, DIM, State, Alloc> Convenience type for vector fields.
- Template Parameters
T
: Field data typeEntity
: Entity typeDIM
: Field dimensionState
: Field state typeAlloc
: Memory allocator
-
template<typename
T
, Cubism::EntityTypeEntity
, size_tDIM
, typenameBlockAlloc
= AlignedBlockAllocator<T>>
classData
: public Cubism::Block::DataBase - #include <Data.h>
Generic block data.
Data type that manages memory allocation and data access for the specified index range spanned by the data.
Note
The memory allocation for a block may be larger than the minimum required data specified by the index range.
- Template Parameters
T
: Data typeEntity
: Entity typeDIM
: Data dimensionalityBlockAlloc
: Allocator type
-
class
DataBase
- #include <Data.h>
Type-less base class for a data block.
For byte-level operations on the data only.
Subclassed by Cubism::Block::Data< T, Entity, DIM, BlockAlloc >, Cubism::Block::Data< T, Entity, DIM, Alloc< T > >, Cubism::Block::Data< TField::DataType, TField::EntityType, TField::IndexRangeType::Dim, Cubism::AlignedBlockAllocator< TField::DataType > >
-
template<typename
TField
>
classFaceContainer
: public Cubism::Block::FieldContainer<TField> - #include <Field.h>
Container class for all faces in a
CUBISM_DIMENSION
-ional problem.For
CUBISM_DIMENSION
in{1,2,3}
, the face field for faces with normal in theX
direction can be obtained withff[0]
orff[Cubism::Dir::X]
for example, whereff
is of typeFaceContainer
.- Template Parameters
TField
: Face field type (scalar or tensor)
-
template<typename
T
, Cubism::EntityTypeEntity
, size_tDIM
= CUBISM_DIMENSION, typenameState
= FieldState, template<typename> classAlloc
= AlignedBlockAllocator>
classField
: public Cubism::Block::Data<T, Entity, DIM, Alloc<T>> - #include <Field.h>
Block scalar field base class.
Generic block scalar field type used by Grid classes to compose a certain topology of block fields.
- Template Parameters
T
: Field data typeEntity
: Entity typeDIM
: Field dimensionState
: Field state typeAlloc
: Memory allocator
-
template<typename
TField
>
classFieldContainer
- #include <Field.h>
Field container type.
This is an actively managed field container. Unlike
std::vector
, the destructors of the container elements are called upon destruction of the container. An incomplete container containsnullptr
for some of its components.- Template Parameters
TField
: Type of field
Subclassed by Cubism::Block::FaceContainer< TField >
-
template<typename
TField
>
classFieldLab
: public Cubism::Block::Data<TField::DataType, TField::EntityType, TField::IndexRangeType::Dim, Cubism::AlignedBlockAllocator<TField::DataType>> - #include <FieldLab.h>
Field laboratory.
A
FieldLab
is an extended data structure to include ghost cells for a given stencil. Loading a lab takes care of loading the ghost cells from neighboring block fields and applies boundary conditions if present. The default is periodic if no boundary conditions are specified otherwise.- Template Parameters
TField
: Field type to map to the lab
-
template<typename
FieldType
, size_tDIM
>
structFieldLabLoader
-
template<typename
FieldType
>
structFieldLabLoader
<FieldType, 3>
-
struct
FieldState
- #include <Field.h>
Default meta data (state) of a block field.
Minimal (default) state of a field is empty. Custom field state types my add additional state to describe meta data of a field. A field state type must define copy semantics. Components in
TensorField
types andFaceContainer
types share one instance of a state.
-
template<typename
T
, size_tRANK
, Cubism::EntityTypeEntity
, size_tDIM
= CUBISM_DIMENSION, typenameState
= FieldState, template<typename> classAlloc
= AlignedBlockAllocator>
structFieldTypeFactory
- #include <Field.h>
Field type factory for tensor fields.
- Template Parameters
T
: Field data typeRANK
: Tensor rankEntity
: Entity typeDIM
: Field dimensionState
: Field state typeAlloc
: Memory allocator
-
template<typename T, size_t DIM, typename State, template< typename > class Alloc> Face, DIM, State, Alloc >
- #include <Field.h>
Field type factory for face scalar fields.
- Template Parameters
T
: Field data typeDIM
: Field dimensionState
: Field state typeAlloc
: Memory allocator
-
template<typename
T
, Cubism::EntityTypeEntity
, size_tDIM
, typenameState
, template<typename> classAlloc
>
structFieldTypeFactory
<T, 0, Entity, DIM, State, Alloc> - #include <Field.h>
Field type factory for scalar fields.
- Template Parameters
T
: Field data typeEntity
: Entity typeDIM
: Field dimensionState
: Field state typeAlloc
: Memory allocator
-
template<typename T, size_t RANK, size_t DIM, typename State, template< typename > class Alloc> Face, DIM, State, Alloc >
- #include <Field.h>
Field type factory for face tensor fields.
- Template Parameters
T
: Field data typeRANK
: Tensor rankDIM
: Field dimensionState
: Field state typeAlloc
: Memory allocator
-
template<typename
TField
>
classFieldView
: public TField - #include <Field.h>
Field view type.
Provides a view (shallow copy) for scalar fields, tensor fields or face field containers. The corresponding field interface is inherited.
Note
A view type never owns memory.
- Template Parameters
TField
: Field type
-
template<typename
FContainer
, Cubism::FieldClassClass
, size_tRANK
>
classPeriodicIndexFunctor
-
template<typename
FContainer
, Cubism::FieldClassClass
, size_tRANK
>
structScalarFieldMap
-
template<typename
FContainer
, Cubism::FieldClassClass
>
structScalarFieldMap
<FContainer, Class, 0>
-
template<typename FContainer> FaceContainer, 0 >
-
template<typename FContainer, size_t RANK> FaceContainer, RANK >
-
template<typename
T
, size_tRANK
, Cubism::EntityTypeEntity
, size_tDIM
= CUBISM_DIMENSION, typenameState
= FieldState, template<typename> classAlloc
= AlignedBlockAllocator>
classTensorField
: public Cubism::Block::FieldContainer<Field<T, Entity, DIM, State, Alloc>> - #include <Field.h>
Generic tensor field.
- Template Parameters
T
: Field data typeRANK
: Tensor rankEntity
: Entity typeDIM
: Field dimensionState
: Field state typeAlloc
: Memory allocator
-
using
Core¶
-
namespace
Cubism
::
Core
Namespace for Cubism core components.
Typedefs
-
using
Index
= std::ptrdiff_t
-
using
MultiIndex
= typename IndexRange<DIM>::PointType Alias for a multi-dimensional index.
- Template Parameters
DIM
: Dimension of associated index space
Functions
-
template<typename
T
, size_tDIM
>
voidswap
(Vector<T, DIM> &va, Vector<T, DIM> &vb) noexcept Non-STL swap function for vectors.
-
template<size_t
DIM
>
classEntityIterator
: public Cubism::Core::MultiIndexIterator<DIM>
-
template<size_t
DIM
>
structIndexConverter
- #include <Index.h>
Converts indices from and to one dimensional and multi-dimensional, respectively.
- Template Parameters
DIM
: Dimension of the index space
-
template<>
structIndexConverter
<1>
-
template<>
structIndexConverter
<2>
-
template<>
structIndexConverter
<3>
-
template<size_t
DIM
>
classIndexRange
: public Cubism::Core::Range<Index, DIM> - #include <Index.h>
Rectangular index range.
Defines a simple consecutive index space.
- Template Parameters
DIM
: Dimension of the index space
-
template<size_t
DIM
>
structMIIForward
-
template<>
structMIIForward
<1>
-
template<>
structMIIForward
<2>
-
template<>
structMIIForward
<3>
-
template<size_t
DIM
>
classMultiIndexIterator
Subclassed by Cubism::Core::EntityIterator< DIM >
-
template<typename
T
, size_tDIM
>
classRange
- #include <Range.h>
Rectangular range.
- Template Parameters
T
: Data type that describes coordinates in the rangeDIM
: Dimension
-
template<size_t
DIM
>
classStencil
- #include <Stencil.h>
Describes a stencil.
- Template Parameters
DIM
: Stencil dimensionality
-
template<typename
T
, size_tDIM
>
classVector
- #include <Vector.h>
Vector class with support for common operations.
Wraps around
std::array
. The data typeT
must follow the rules of aggregate initialization. The vector dimensionDIM
should be low-dimensional when used for automatic variables on the stack.- Template Parameters
T
: Data typeDIM
: Dimension
-
using
Grid¶
-
namespace
Cubism
::
Grid
Namespace for grid data types composed of block data types.
-
template<typename
T
, size_tRANK
, Cubism::EntityTypeEntity
, typenameState
, typenameMesh
>
structBlockFieldAssembler
- #include <BlockFieldAssembler.h>
Block field assembler for an externally allocated region of memory.
- Template Parameters
T
: Field data typeRANK
: Tensor rankEntity
: Entity typeState
: Field state typeMesh
: Mesh type of global and block meshes
-
template<typename
T
, typenameMesh
, Cubism::EntityTypeEntity
= Cubism::EntityType::Cell, size_tRANK
= 0, typenameUserState
= Block::FieldState, template<typename> classAlloc
= AlignedBlockAllocator>
classCartesian
- #include <Cartesian.h>
Cartesian block (tensor) field.
Cartesian topology composed of block Field.h for the specified entity type. As opposed to an individual block Field.h, this class manages a structure of arrays (SoA) memory layout for all the blocks in the Cartesian topology instead of just individual blocks. See the CartesianMPI.h grid section for a distributed variant of this class. The field state can be extended with the
UserState
extension. TheUserState
type must be trivially copyable.- Template Parameters
T
: Field data typeMesh
: Mesh type to be associated with fieldsEntity
: Entity typeRANK
: Rank of (tensor) fieldsUserState
: Type for field state user extensionAlloc
: Allocator for field data
Subclassed by Cubism::Grid::CartesianMPI< T, Mesh, Entity, RANK, UserState, Alloc >
-
template<typename
T
, typenameMesh
, Cubism::EntityTypeEntity
= Cubism::EntityType::Cell, size_tRANK
= 0, typenameUserState
= Block::FieldState, template<typename> classAlloc
= AlignedBlockAllocator>
classCartesianMPI
: public Cubism::Grid::Cartesian<T, Mesh, Entity, RANK, UserState, Alloc> - #include <CartesianMPI.h>
Cartesian MPI block (tensor) field.
Cartesian topology composed of block Field.h for the specified entity type. As opposed to an individual block Field.h, this class manages a structure of arrays (SoA) memory layout for all the blocks in the rank local Cartesian topology instead of just individual blocks. See the Cartesian.h grid section for a non-distributed variant of this class as well as the
UserState
extension.- Template Parameters
T
: Field data typeMesh
: Mesh type to be associated with fieldsEntity
: Entity typeRANK
: Rank of (tensor) fieldsAlloc
: Allocator for field data
-
template<typename
IO¶
-
namespace
Cubism
::
IO
Namespace for input/output operations.
Input/Output routines are functions that can be used with a block Field.h object or block field compounds described in Grid. The components of this namespace form the contents of
libCubismIO.a
. Consequently an application must link to-lCubismIO
to make use of I/O group.Functions
-
template<typename
FileDataType
, typenameGrid
, typenameMesh
, typenameDir
= size_t>
voidCartesianWriteHDF
(const std::string &fname, const std::string &aname, const Grid &grid, const Mesh &mesh, const double time, const Dir face_dir = 0, const bool create_xdmf = true) Write Cartesian grid data to HDF file.
Write the data carried by
grid
to an HDF5 container file. The data that is written to the file is specified by the index space described inmesh
.- Template Parameters
FileDataType
: HDF file data typeGrid
: Grid typeMesh
: Mesh typeDir
: Special type that defines a cast tosize_t
- Parameters
fname
: Output full filename without file extensionaname
: Name of quantity ingrid
grid
: Input gridmesh
: Input mesh corresponding to the extracted datatime
: Current timeface_dir
: Face direction (relevant forCubism::EntityType::Face
)create_xdmf
: Flag for XDMF wrapper
-
template<typename
FileDataType
, typenameGrid
, typenameDir
= size_t>
voidCartesianWriteHDF
(const std::string &fname, const std::string &aname, const Grid &grid, const double time, const Dir face_dir = 0, const bool create_xdmf = true) Write Cartesian grid data to HDF file.
Convenience wrapper to dump a full grid to an HDF container file.
- Template Parameters
FileDataType
: HDF file data typeGrid
: Grid typeDir
: Special type that defines a cast tosize_t
- Parameters
fname
: Output full filename without file extensionaname
: Name of quantity ingrid
grid
: Input gridtime
: Current timeface_dir
: Face direction (relevant forCubism::EntityType::Face
)create_xdmf
: Flag for XDMF wrapper
-
template<typename
FileDataType
, typenameGrid
, typenameMesh
, typenameDir
= size_t>
voidCartesianReadHDF
(const std::string &fname, Grid &grid, const Mesh &mesh, const Dir face_dir = 0) Read Cartesian grid data from HDF file.
Read the data of an HDF5 container file into
grid
. The data that is read from the file is specified by the index space described inmesh
.- Template Parameters
FileDataType
: HDF file data typeGrid
: Grid typeMesh
: Mesh typeDir
: Special type that defines a cast tosize_t
- Parameters
fname
: Input full filename without file extensiongrid
: Grid populated with file datamesh
: Grid (sub)meshface_dir
: Face direction (relevant forCubism::EntityType::Face
)
-
template<typename
FileDataType
, typenameGrid
, typenameDir
= size_t>
voidCartesianReadHDF
(const std::string &fname, Grid &grid, const Dir face_dir = 0) Read Cartesian grid data from HDF file.
Convenience wrapper to read a full grid from an HDF container file.
- Template Parameters
FileDataType
: HDF file data typeGrid
: Grid typeDir
: Special type that defines a cast tosize_t
- Parameters
fname
: Input full filename without file extensiongrid
: Grid populated with file dataface_dir
: Face direction (relevant forCubism::EntityType::Face
)
-
template<typename
FileDataType
, typenameGrid
, typenameMesh
, typenameDir
= size_t>
voidCartesianMPIWriteHDF
(const std::string &fname, const std::string &aname, const Grid &grid, const Mesh &mesh, const double time, const Dir face_dir = 0, const bool create_xdmf = true) Write Cartesian MPI grid data to HDF file.
Write the data carried by the MPI
grid
to an HDF5 container file. The data that is written to the file is specified by the index space described inmesh
.- Template Parameters
FileDataType
: HDF file data typeGrid
: Grid typeMesh
: Mesh typeDir
: Special type that defines a cast tosize_t
- Parameters
fname
: Output full filename without file extensionaname
: Name of quantity ingrid
grid
: Input gridmesh
: Input mesh corresponding to the extracted datatime
: Current timeface_dir
: Face direction (relevant forCubism::EntityType::Face
)create_xdmf
: Flag for XDMF wrapper
-
template<typename
FileDataType
, typenameGrid
, typenameDir
= size_t>
voidCartesianMPIWriteHDF
(const std::string &fname, const std::string &aname, const Grid &grid, const double time, const Dir face_dir = 0, const bool create_xdmf = true) Write Cartesian MPI grid data to HDF file.
Convenience wrapper to dump a full MPI grid to an HDF container file.
- Template Parameters
FileDataType
: HDF file data typeGrid
: Grid typeDir
: Special type that defines a cast tosize_t
- Parameters
fname
: Output full filename without file extensionaname
: Name of quantity ingrid
grid
: Input gridtime
: Current timeface_dir
: Face direction (relevant forCubism::EntityType::Face
)create_xdmf
: Flag for XDMF wrapper
-
template<typename
FileDataType
, typenameGrid
, typenameMesh
, typenameDir
= size_t>
voidCartesianMPIReadHDF
(const std::string &fname, Grid &grid, const Mesh &mesh, const Dir face_dir = 0) Read Cartesian MPI grid data from HDF file.
Read the data of an HDF5 container file into the MPI
grid
. The data that is read from the file is specified by the index space described inmesh
.- Template Parameters
FileDataType
: HDF file data typeGrid
: Grid typeMesh
: Mesh typeDir
: Special type that defines a cast tosize_t
- Parameters
fname
: Input full filename without file extensiongrid
: Grid populated with file datamesh
: Grid (sub)meshface_dir
: Face direction (relevant forCubism::EntityType::Face
)
-
template<typename
FileDataType
, typenameGrid
, typenameDir
= size_t>
voidCartesianMPIReadHDF
(const std::string &fname, Grid &grid, const Dir face_dir = 0) Read Cartesian grid data from HDF file.
Convenience wrapper to read a full MPI grid from an HDF container file.
- Template Parameters
FileDataType
: HDF file data typeGrid
: Grid typeDir
: Special type that defines a cast tosize_t
- Parameters
fname
: Input full filename without file extensiongrid
: Grid populated with file dataface_dir
: Face direction (relevant forCubism::EntityType::Face
)
-
template<typename
Field
, typenameBuffer
>
voidField2AOS
(const Field &f, const typename Field::IndexRangeType &r, Buffer *buf, const size_t dface = 0) Write field data into AoS buffer.
Copy the data from a structure of arrays (SoA) field into an array of structures (AoS) buffer for I/O operation. This is a low-level function which can be used in high-level I/O interfaces. The index range
r
may describe a sub-region of the index range spanned by the fieldf
. The size of the output bufferbuf
is determined by the index ranger
andField::NComponents
.- Template Parameters
Field
: Field typeBuffer
: Data type of AoS buffer
- Parameters
f
: Input fieldr
: Index space for the copy (describes the memory region of buf)buf
: Output bufferdface
: Face direction (relevant forCubism::EntityType::Face
)
-
template<typename
Field
, typenameBuffer
>
voidAOS2Field
(const Buffer *buf, const typename Field::IndexRangeType &r, Field &f, const size_t dface = 0) Read AoS buffer into field data.
Copy the data from an array of structures (AoS) buffer into a structure of arrays field. This is a low-level function which can be used in high-level I/O interfaces. The index range
r
may describe a sub-region of the index range spanned by the fieldf
. The size of the input bufferbuf
is determined by the index ranger
andField::NComponents
.- Template Parameters
Field
: Field typeBuffer
: Data type of AoS buffer
- Parameters
buf
: Input bufferr
: Index space for the read (describes the memory region of buf)f
: Output fielddface
: Face direction (relevant forCubism::EntityType::Face
)
-
template<typename
FileDataType
, typenameField
, typenameMesh
, typenameDir
= size_t>
voidFieldWriteHDF
(const std::string &fname, const std::string &aname, const Field &field, const Mesh &mesh, const double time, const Dir face_dir = 0, const bool create_xdmf = true) Write field data to HDF file.
Write the data carried by
field
to an HDF5 container file. The data that is written to the file is specified by the index space described inmesh
.Note
The variables
field
andmesh
are only related by the index space they span. If there is no common intersection, no data will be written to the file. If the mesh spans a larger index space and full or partially contains the index space spanned byfield
then the index space spanned bymesh
is clipped to that spanned byfield
.Example:
#include "Cubism/Block/Field.h" #include "Cubism/Core/Index.h" #include "Cubism/Mesh/StructuredUniform.h" #include "Cubism/IO/FieldHDF.h" using Mesh = Cubism::Mesh::StructuredUniform<double, 3>; using MeshIntegrity = typename Mesh::MeshIntegrity; using PointType = typename Mesh::PointType; using IRange = typename Mesh::IndexRangeType; using MIndex = typename Mesh::MultiIndex; using CellField = Cubism::Block::CellField<double, Mesh::Dim>; int main(void) { // mesh in [0,1]^3 with 16^3 cells const PointType end(1); const MIndex cells(16); Mesh m(end, cells, MeshIntegrity::FullMesh); // cell field spans an index space [6,10)^3 const IRange cell_range(6, 10); CellField cf(cell_range); // write field to file (since the mesh fully contains cell_range, the // file contains 64 doubles at the coordinates defined in m using the // indices in cell_range Cubism::IO::FieldWriteHDF<double>( "filename", "attributename", cf, m, 0.0); return 0; }
- Template Parameters
FileDataType
: HDF file data typeField
: Field typeMesh
: Mesh typeDir
: Special type that defines a cast tosize_t
- Parameters
fname
: Output full filename without file extensionaname
: Name of quantity infield
field
: Input fieldmesh
: Input meshtime
: Current timeface_dir
: Face direction (relevant forCubism::EntityType::Face
)create_xdmf
: Flag for XDMF wrapper
-
template<typename
FileDataType
, typenameField
, typenameMesh
, typenameDir
= size_t>
voidFieldReadHDF
(const std::string &fname, Field &field, const Mesh &mesh, const Dir face_dir = 0) Read field data from HDF file.
Read the data of an HDF5 container file into
field
. The data that is read from the file is specified by the index space described inmesh
.- Template Parameters
FileDataType
: HDF file data typeField
: Field typeMesh
: Mesh typeDir
: Special type that defines a cast tosize_t
- Parameters
fname
: Input full filename without file extensionfield
: Field populated with file datamesh
: Field (sub)meshface_dir
: Face direction (relevant forCubism::EntityType::Face
)
-
template<Cubism::FieldClass
Class
>
structAOSDriver
-
template<> FaceContainer >
-
template<> Scalar >
-
template<> Tensor >
-
template<typename
FileDataType
, typenameMesh
, Cubism::MeshClassClass
>
structHDFDriver
- #include <HDFDriver.h>
HDF read/write interface.
- Template Parameters
FileDataType
: File data taypeMesh
: Mesh typeClass
: Mesh class
-
template<typename
FileDataType
, typenameMesh
, Cubism::MeshClassClass
>
structHDFDriverMPI
- #include <HDFDriver.h>
HDF MPI read/write interface.
- Template Parameters
FileDataType
: File data taypeMesh
: Mesh typeClass
: Mesh class
-
template<typename
DataType
, Cubism::MeshClassClass
>
structXDMFDriver
-
template<typename DataType> Uniform >
-
template<typename
Mesh¶
-
namespace
Cubism
::
Mesh
Namespace for mesh data types.
-
template<typename
TReal
, size_tDIM
>
classStructuredBase
- #include <StructuredBase.h>
Structured mesh base class.
Defines the (pure virtual) interface for a structured mesh.
- Template Parameters
TReal
: Float type for mesh entitiesDIM
: Mesh dimension
Subclassed by Cubism::Mesh::StructuredUniform< TReal, DIM >
-
template<typename
TReal
, size_tDIM
>
classStructuredUniform
: public Cubism::Mesh::StructuredBase<TReal, DIM> - #include <StructuredUniform.h>
Structured uniform mesh.
- Template Parameters
TReal
: Float type for mesh entitiesDIM
: Mesh dimension
-
template<typename
Util¶
-
namespace
Cubism
::
Util
Namespace for input/output operations.
The members of this namespace are optional utilities that are not required to implement a working application. Its components form the content of
libCubismUtil.a
. An application using these utilities must link to-lCubismUtil
.Functions
-
std::ostream &
operator<<
(std::ostream &os, const INIParser &p) - Parameters
os
: Output streamp
: INI parser instance
Variables
-
const char *
CubismVersion
Cubism version at build time. Falls back to VERSION for a release.
Command:
git describe --long --dirty --broken
Example:
v1.1.8-5-g824e676-dirty
The string starts with the version number, followed by the number of commits ahead of tagged commit (
5
in this case), followed byg
and the short hash (SHA-1) of HEAD, followed by the state of the working tree (if any).
-
class
Histogram
: public Cubism::Util::Sampler - #include <Histogram.h>
MPI profiling using histograms.
Collects samples for a profiled quantity of interest on individual ranks. Can be used to detect inhomogeneities among MPI ranks.
-
class
INIParser
- #include <INIParser.h>
INI config file parser.
Simple configuration file parser for use on the application level. CubismNova does not depend on this parser. The .ini file format is explained in more detail on Wikipedia for example. The python
configparser
module supports this format for convenient simulation case setup using python.
-
class
Profiler
: public Cubism::Util::Sampler - #include <Profiler.h>
Runtime profiler.
Used to collect runtime samples for a code section that is enclosed by the
push()
andpop()
methods. Used for profiling.
-
class
Sampler
- #include <Sampler.h>
Sample collector.
Used to collect time samples (by default) for a code section that is enclosed by the
seedSample()
andcollectSample()
methods. Used for profiling.Subclassed by Cubism::Util::Histogram, Cubism::Util::Profiler
-
class
Timer
- #include <Timer.h>
Simple timer class.
-
std::ostream &