PlasCom2  1.0
XPACC Multi-physics simluation application
dataset Class Reference

Detailed Description

Definition at line 382 of file PCPPFieldData.H.

#include <PCPPFieldData.H>

Public Types

typedef databuffer DataBufferType
 
typedef std::vector< DataBufferTypeDataContainerType
 
typedef field::metadata MetaDataType
 
typedef field::metadataset MetaDataSetType
 

Public Member Functions

size_t NumNodes ()
 
size_t NumCells ()
 
metadatasetMeta ()
 
const metadatasetMeta () const
 
DataContainerTypeData ()
 
const DataContainerTypeData () const
 
size_t NumData () const
 
size_t NumMeta () const
 
int InitializeFieldHandles ()
 
int InitializeFieldIndices ()
 
int GetFieldHandle (const std::string &fieldName) const
 
int GetFieldIndexByHandle (int fieldHandle) const
 
void SetMetaData (const MetaDataSetType &dataDictionary)
 
virtual void Prepare ()
 
virtual void Copy (const dataset &inData)
 
virtual void Copy (const dataset &inData, const std::string &fieldNames)
 
virtual void Copy (const dataset &inData, const std::vector< int > &copyFieldIndices)
 
virtual void Destroy (const std::string &fieldName)
 
virtual void Destroy ()
 
virtual size_t ReCreate ()
 
virtual size_t Create (size_t number_of_nodes=0, size_t number_of_cells=0)
 
int GetDataIndex (const std::string &name) const
 
int GetFieldIndex (const std::string &name) const
 
metadataGetFieldMetaData (const std::string &name)
 
DataBufferTypeGetFieldData (const std::string &name)
 
DataBufferTypeField (const std::string &name)
 
DataBufferTypeField (int known_field)
 
const DataBufferTypeField (int known_field) const
 
DataBufferTypeGetFieldDataByHandle (int fieldHandle)
 
const DataBufferTypeGetFieldDataByHandle (int fieldHandle) const
 
const DataBufferTypeGetFieldData (const std::string &name) const
 
const DataBufferTypeField (const std::string &name) const
 
bool FieldEmpty (int known_field=0)
 
void SetFieldBuffer (const std::string &name, void *buf)
 
void SetFieldBuffer (int known_field, void *buf)
 
template<class BufferDataType >
void SetFieldBuffer (const std::string &name, std::vector< BufferDataType > &invec)
 
template<class BufferDataType >
void SetFieldBuffer (int known_field, std::vector< BufferDataType > &invec)
 
template<class BufferDataType >
BufferDataType * GetFieldBuffer (const std::string &fieldName)
 
template<class BufferDataType >
BufferDataType * GetFieldBufferByHandle (int fieldHandle)
 
template<class BufferDataType >
const BufferDataType * GetFieldBuffer (const std::string &fieldName) const
 
template<class BufferDataType >
const BufferDataType * GetFieldBufferByHandle (int fieldHandle)
 
template<class BufferDataType >
BufferDataType * GetFieldBuffer (int known_field)
 
double * GetRealFieldBuffer (int known_field)
 
double * GetRealFieldBufferByHandle (int fieldHandle)
 
const double * GetRealFieldBuffer (int known_field) const
 
const double * GetRealFieldBufferByHandle (int fieldHandle) const
 
const metadataGetFieldMetaData (const std::string &name) const
 
const metadataGetFieldMetaData (int fieldId) const
 
const metadataGetFieldMetaDataByHandle (int fieldHandle) const
 
std::ostream & WriteFieldToStream (std::ostream &OutStream, const std::string &name) const
 
std::istream & ReadFieldFromStream (std::istream &InStream, const std::string &name)
 
template<typename ValueType >
void AssignFieldValue (const std::string &name, ValueType value)
 
void AddField (const std::string &name, char loc, unsigned int ncomp, unsigned int dsize, const std::string &unit)
 
void AddField (const std::string &name, metadata &inMeta)
 
int RenameField (int known_field, const std::string &newFieldName)
 
int RenameField (const std::string &fieldName, const std::string &newFieldName)
 
int MakeLink (int known_field, const std::string &newFieldName)
 
int Use (const std::string &fieldNames, dataset &inData)
 
metadataset Dictionary (const char loc)
 

Protected Attributes

DataContainerType data
 
MetaDataSetType meta
 
size_t numNodes
 
size_t numCells
 
std::vector< int > fieldIndices
 
std::map< std::string, int > fieldHandles
 
Inheritance diagram for dataset:
Collaboration diagram for dataset:

Member Typedef Documentation

◆ DataBufferType

Definition at line 387 of file PCPPFieldData.H.

◆ DataContainerType

typedef std::vector<DataBufferType> DataContainerType

Definition at line 388 of file PCPPFieldData.H.

◆ MetaDataSetType

Definition at line 390 of file PCPPFieldData.H.

◆ MetaDataType

Definition at line 389 of file PCPPFieldData.H.

Member Function Documentation

◆ AddField() [1/2]

void AddField ( const std::string &  name,
char  loc,
unsigned int  ncomp,
unsigned int  dsize,
const std::string &  unit 
)
inline

◆ AddField() [2/2]

void AddField ( const std::string &  name,
metadata inMeta 
)
inline

Definition at line 881 of file PCPPFieldData.H.

References metadata::name.

◆ AssignFieldValue()

void AssignFieldValue ( const std::string &  name,
ValueType  value 
)
inline

Definition at line 859 of file PCPPFieldData.H.

◆ Copy() [1/3]

virtual void Copy ( const dataset inData)
inlinevirtual

Definition at line 482 of file PCPPFieldData.H.

References databuffer::Copy(), dataset::data, dataset::fieldHandles, dataset::meta, dataset::numCells, and dataset::numNodes.

Referenced by base::Copy(), and base::CopyStateData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Copy() [2/3]

virtual void Copy ( const dataset inData,
const std::string &  fieldNames 
)
inlinevirtual

Definition at line 495 of file PCPPFieldData.H.

References databuffer::Copy(), and dataset::GetDataIndex().

Here is the call graph for this function:

◆ Copy() [3/3]

virtual void Copy ( const dataset inData,
const std::vector< int > &  copyFieldIndices 
)
inlinevirtual

Definition at line 512 of file PCPPFieldData.H.

References metadataset::Copy(), dataset::data, dataset::fieldHandles, dataset::meta, dataset::numCells, and dataset::numNodes.

Here is the call graph for this function:

◆ Create()

◆ Data() [1/2]

DataContainerType& Data ( )
inline

Definition at line 404 of file PCPPFieldData.H.

Referenced by halo::PackSendBuffers(), and halo::PackSimpleSendBuffers().

Here is the caller graph for this function:

◆ Data() [2/2]

const DataContainerType& Data ( ) const
inline

Definition at line 405 of file PCPPFieldData.H.

◆ Destroy() [1/2]

virtual void Destroy ( const std::string &  fieldName)
inlinevirtual

Reimplemented in base.

Definition at line 530 of file PCPPFieldData.H.

◆ Destroy() [2/2]

virtual void Destroy ( )
inlinevirtual

Reimplemented in base.

Definition at line 537 of file PCPPFieldData.H.

Referenced by base::Destroy().

Here is the caller graph for this function:

◆ Dictionary()

metadataset Dictionary ( const char  loc)
inline

Definition at line 953 of file PCPPFieldData.H.

References metadata::loc.

◆ Field() [1/4]

◆ Field() [2/4]

DataBufferType& Field ( int  known_field)
inline

Definition at line 673 of file PCPPFieldData.H.

◆ Field() [3/4]

const DataBufferType& Field ( int  known_field) const
inline

Definition at line 678 of file PCPPFieldData.H.

◆ Field() [4/4]

const DataBufferType& Field ( const std::string &  name) const
inline

Definition at line 704 of file PCPPFieldData.H.

◆ FieldEmpty()

bool FieldEmpty ( int  known_field = 0)
inline

Definition at line 711 of file PCPPFieldData.H.

References databuffer::Empty().

Referenced by TestStateBasic().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetDataIndex()

◆ GetFieldBuffer() [1/3]

BufferDataType* GetFieldBuffer ( const std::string &  fieldName)
inline

Definition at line 746 of file PCPPFieldData.H.

Referenced by TestGrid_CurvilinearMetric(), TestGrid_CurvilinearVGWavy(), TestMaxwellRHS(), and TestMaxwellRHSTimeIntegrate().

Here is the caller graph for this function:

◆ GetFieldBuffer() [2/3]

const BufferDataType* GetFieldBuffer ( const std::string &  fieldName) const
inline

Definition at line 762 of file PCPPFieldData.H.

◆ GetFieldBuffer() [3/3]

BufferDataType* GetFieldBuffer ( int  known_field)
inline

Definition at line 778 of file PCPPFieldData.H.

◆ GetFieldBufferByHandle() [1/2]

BufferDataType* GetFieldBufferByHandle ( int  fieldHandle)
inline

Definition at line 754 of file PCPPFieldData.H.

◆ GetFieldBufferByHandle() [2/2]

const BufferDataType* GetFieldBufferByHandle ( int  fieldHandle)
inline

Definition at line 770 of file PCPPFieldData.H.

◆ GetFieldData() [1/2]

DataBufferType& GetFieldData ( const std::string &  name)
inline

Definition at line 656 of file PCPPFieldData.H.

◆ GetFieldData() [2/2]

const DataBufferType& GetFieldData ( const std::string &  name) const
inline

Definition at line 697 of file PCPPFieldData.H.

◆ GetFieldDataByHandle() [1/2]

DataBufferType& GetFieldDataByHandle ( int  fieldHandle)
inline

Definition at line 683 of file PCPPFieldData.H.

◆ GetFieldDataByHandle() [2/2]

const DataBufferType& GetFieldDataByHandle ( int  fieldHandle) const
inline

Definition at line 690 of file PCPPFieldData.H.

◆ GetFieldHandle()

int GetFieldHandle ( const std::string &  fieldName) const
inline

Definition at line 438 of file PCPPFieldData.H.

◆ GetFieldIndex()

int GetFieldIndex ( const std::string &  name) const
inline

Definition at line 638 of file PCPPFieldData.H.

Referenced by base::Alias(), and dataset::Use().

Here is the caller graph for this function:

◆ GetFieldIndexByHandle()

int GetFieldIndexByHandle ( int  fieldHandle) const
inline

Definition at line 446 of file PCPPFieldData.H.

◆ GetFieldMetaData() [1/3]

metadata& GetFieldMetaData ( const std::string &  name)
inline

Definition at line 643 of file PCPPFieldData.H.

◆ GetFieldMetaData() [2/3]

const metadata& GetFieldMetaData ( const std::string &  name) const
inline

Definition at line 812 of file PCPPFieldData.H.

◆ GetFieldMetaData() [3/3]

const metadata& GetFieldMetaData ( int  fieldId) const
inline

Definition at line 826 of file PCPPFieldData.H.

◆ GetFieldMetaDataByHandle()

const metadata& GetFieldMetaDataByHandle ( int  fieldHandle) const
inline

Definition at line 832 of file PCPPFieldData.H.

◆ GetRealFieldBuffer() [1/2]

double* GetRealFieldBuffer ( int  known_field)
inline

Definition at line 785 of file PCPPFieldData.H.

◆ GetRealFieldBuffer() [2/2]

const double* GetRealFieldBuffer ( int  known_field) const
inline

Definition at line 798 of file PCPPFieldData.H.

◆ GetRealFieldBufferByHandle() [1/2]

double* GetRealFieldBufferByHandle ( int  fieldHandle)
inline

Definition at line 791 of file PCPPFieldData.H.

◆ GetRealFieldBufferByHandle() [2/2]

const double* GetRealFieldBufferByHandle ( int  fieldHandle) const
inline

Definition at line 804 of file PCPPFieldData.H.

◆ InitializeFieldHandles()

int InitializeFieldHandles ( )
inline

Definition at line 408 of file PCPPFieldData.H.

Referenced by application::RunPlasCom2(), TestMaxwellRHS(), TestMaxwellRHSTimeIntegrate(), TestRK4Advancer(), and TestRK4Advancer2().

Here is the caller graph for this function:

◆ InitializeFieldIndices()

int InitializeFieldIndices ( )
inline

Definition at line 420 of file PCPPFieldData.H.

◆ MakeLink()

int MakeLink ( int  known_field,
const std::string &  newFieldName 
)
inline

Definition at line 905 of file PCPPFieldData.H.

References databuffer::data().

Here is the call graph for this function:

◆ Meta() [1/2]

metadataset& Meta ( )
inline

Definition at line 402 of file PCPPFieldData.H.

Referenced by halo::ConfigureData(), halo::PackSendBuffers(), halo::PackSimpleSendBuffers(), plascom2::util::PC2Compare(), base::ReportMeta(), and TestHDF5PBSGridIO().

Here is the caller graph for this function:

◆ Meta() [2/2]

const metadataset& Meta ( ) const
inline

Definition at line 403 of file PCPPFieldData.H.

◆ NumCells()

size_t NumCells ( )
inline

Definition at line 401 of file PCPPFieldData.H.

◆ NumData()

size_t NumData ( ) const
inline

Definition at line 406 of file PCPPFieldData.H.

Referenced by base::Report(), and TestStateBasic().

Here is the caller graph for this function:

◆ NumMeta()

size_t NumMeta ( ) const
inline

Definition at line 407 of file PCPPFieldData.H.

Referenced by base::SetStateFields(), and TestStateBasic().

Here is the caller graph for this function:

◆ NumNodes()

size_t NumNodes ( )
inline

Definition at line 400 of file PCPPFieldData.H.

◆ Prepare()

virtual void Prepare ( )
inlinevirtual

Definition at line 456 of file PCPPFieldData.H.

Referenced by TestStateBasic().

Here is the caller graph for this function:

◆ ReadFieldFromStream()

std::istream& ReadFieldFromStream ( std::istream &  InStream,
const std::string &  name 
)
inline

Definition at line 850 of file PCPPFieldData.H.

◆ ReCreate()

virtual size_t ReCreate ( )
inlinevirtual

Definition at line 542 of file PCPPFieldData.H.

References databuffer::Allocate(), metadata::dsize, metadata::loc, and metadata::ncomp.

Here is the call graph for this function:

◆ RenameField() [1/2]

int RenameField ( int  known_field,
const std::string &  newFieldName 
)
inline

Definition at line 889 of file PCPPFieldData.H.

References metadata::name.

◆ RenameField() [2/2]

int RenameField ( const std::string &  fieldName,
const std::string &  newFieldName 
)
inline

Definition at line 897 of file PCPPFieldData.H.

◆ SetFieldBuffer() [1/4]

◆ SetFieldBuffer() [2/4]

void SetFieldBuffer ( int  known_field,
void *  buf 
)
inline

Definition at line 724 of file PCPPFieldData.H.

◆ SetFieldBuffer() [3/4]

void SetFieldBuffer ( const std::string &  name,
std::vector< BufferDataType > &  invec 
)
inline

Definition at line 730 of file PCPPFieldData.H.

◆ SetFieldBuffer() [4/4]

void SetFieldBuffer ( int  known_field,
std::vector< BufferDataType > &  invec 
)
inline

Definition at line 739 of file PCPPFieldData.H.

◆ SetMetaData()

void SetMetaData ( const MetaDataSetType dataDictionary)
inline

Definition at line 451 of file PCPPFieldData.H.

References databuffer::Destroy().

Referenced by plascom2::io::hdf5::ReadSingle(), and plascom2::io::hdf5::ReadSingleState().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Use()

int Use ( const std::string &  fieldNames,
dataset inData 
)
inline
Bug:
When a new databuffer is pushed back, the current data array (can be) deleted and the elements copied into the new array. Upon copy, buffer ownership is set to no, causing leaking, and improper owner tracking.

Definition at line 916 of file PCPPFieldData.H.

References databuffer::data(), dataset::data, dataset::GetFieldIndex(), dataset::meta, dataset::numCells, and dataset::numNodes.

Here is the call graph for this function:

◆ WriteFieldToStream()

std::ostream& WriteFieldToStream ( std::ostream &  OutStream,
const std::string &  name 
) const
inline

Definition at line 840 of file PCPPFieldData.H.

Member Data Documentation

◆ data

◆ fieldHandles

std::map<std::string,int> fieldHandles
protected

Definition at line 398 of file PCPPFieldData.H.

Referenced by dataset::Copy().

◆ fieldIndices

std::vector<int> fieldIndices
protected

Definition at line 397 of file PCPPFieldData.H.

◆ meta

◆ numCells

size_t numCells
protected

Definition at line 396 of file PCPPFieldData.H.

Referenced by dataset::Copy(), and dataset::Use().

◆ numNodes

size_t numNodes
protected

Definition at line 395 of file PCPPFieldData.H.

Referenced by dataset::Copy(), and dataset::Use().


The documentation for this class was generated from the following file: