VTK  9.4.20241016
Public Member Functions | Public Attributes | List of all members
PIO_DATA_HDF5 Class Reference

class for reading PIO (Parallel Input Output) files in HDF5 format More...

#include <PIODataHDF5.h>

Inheritance diagram for PIO_DATA_HDF5:
[legend]
Collaboration diagram for PIO_DATA_HDF5:
[legend]

Public Member Functions

 PIO_DATA_HDF5 (const char *piofile)
 
 ~PIO_DATA_HDF5 () override
 
bool set_scalar_field (std::valarray< int > &, const char *) override
 
bool set_scalar_field (std::valarray< int64_t > &, const char *) override
 
bool set_scalar_field (std::valarray< double > &, const char *) override
 
bool set_vector_field (std::valarray< std::valarray< double > > &, const char *) override
 
bool read_dataset (std::valarray< double > &, const char *, int index)
 
bool read_dataset (std::valarray< std::string > &, const char *, int index)
 
bool has_scalar (const char *)
 
bool has_scalar (const char *, int &)
 
bool has_vector (const char *)
 
bool has_field (const char *) override
 
bool good_read () override
 
int get_pio_num () const override
 
int get_num_components (const char *) const override
 
int get_num_materials () const override
 
int64_t get_num_cells () override
 
int get_cycle () override
 
double get_simtime () override
 
int get_dimension () override
 
bool get_gridsize (std::valarray< int > &) override
 
bool get_gridscale (std::valarray< double > &) override
 
bool get_gridorigin (std::valarray< double > &) override
 
std::string get_eap_version () override
 
std::string get_username () override
 
std::string get_problemname () override
 
bool get_material_names (std::valarray< std::string > &) override
 
bool get_tracer_variable_names (std::valarray< std::string > &) override
 
PIO_FIELDget_pio_field () const override
 
bool reconstruct_chunk_field (int64_t numcell, std::valarray< double > &va, const char *prefix, const char *var, int materialId) override
 
- Public Member Functions inherited from PIO_DATA
 PIO_DATA ()
 
virtual ~PIO_DATA ()=0
 
virtual bool good_read ()=0
 
virtual bool set_scalar_field (std::valarray< int > &, const char *)=0
 
virtual bool set_scalar_field (std::valarray< int64_t > &, const char *)=0
 
virtual bool set_scalar_field (std::valarray< double > &, const char *)=0
 
virtual bool set_vector_field (std::valarray< std::valarray< double > > &, const char *)=0
 
virtual int get_pio_num () const =0
 
virtual PIO_FIELDget_pio_field () const =0
 
virtual int get_num_components (const char *) const =0
 
virtual int get_num_materials () const =0
 
virtual int64_t get_num_cells ()=0
 
virtual int get_cycle ()=0
 
virtual double get_simtime ()=0
 
virtual int get_dimension ()=0
 
virtual bool get_gridsize (std::valarray< int > &)=0
 
virtual bool get_gridscale (std::valarray< double > &)=0
 
virtual bool get_gridorigin (std::valarray< double > &)=0
 
virtual std::string get_eap_version ()=0
 
virtual std::string get_username ()=0
 
virtual std::string get_problemname ()=0
 
virtual bool get_material_names (std::valarray< std::string > &)=0
 
virtual bool get_tracer_variable_names (std::valarray< std::string > &)=0
 
virtual bool has_field (const char *)=0
 
virtual bool reconstruct_chunk_field (int64_t numcell, std::valarray< double > &va, const char *prefix, const char *var, int materialId)=0
 

Public Attributes

std::valarray< int > cell_active
 
bool cell_active_loaded
 
- Public Attributes inherited from PIO_DATA
VAR_MAP VarMMap
 

Detailed Description

class for reading PIO (Parallel Input Output) files in HDF5 format

This class reads in dump files generated from xRage, a LANL physics code. The PIO (Parallel Input Output) library is used to create the dump files, and the dump files are written in HDF5 format.

This class represents one dump file.

The HDF5 format has all datasets in the root group. Each dataset represents a field in the pio format. Dataset names are in the form of [name]..[index].

For scalar fields, index will be either 0 or -1, with -1 indicating that the field was a derived field requested in the input deck.

For vector fields, each component of the vector is separated into its own dataset, with the index value beginning at 1, and incremented for each component. For example, the vector field cell_center is composed of the datasets "cell_center..1", "cell_center..2", and "cell_center..3".

Thanks:
Developed by Boonthanome Nouanesengsy at Los Alamos National Laboratory

Definition at line 47 of file PIODataHDF5.h.

Constructor & Destructor Documentation

◆ PIO_DATA_HDF5()

PIO_DATA_HDF5::PIO_DATA_HDF5 ( const char *  piofile)

◆ ~PIO_DATA_HDF5()

PIO_DATA_HDF5::~PIO_DATA_HDF5 ( )
override

Member Function Documentation

◆ set_scalar_field() [1/3]

bool PIO_DATA_HDF5::set_scalar_field ( std::valarray< int > &  ,
const char *   
)
overridevirtual

Implements PIO_DATA.

◆ set_scalar_field() [2/3]

bool PIO_DATA_HDF5::set_scalar_field ( std::valarray< int64_t > &  ,
const char *   
)
overridevirtual

Implements PIO_DATA.

◆ set_scalar_field() [3/3]

bool PIO_DATA_HDF5::set_scalar_field ( std::valarray< double > &  ,
const char *   
)
overridevirtual

Implements PIO_DATA.

◆ set_vector_field()

bool PIO_DATA_HDF5::set_vector_field ( std::valarray< std::valarray< double > > &  ,
const char *   
)
overridevirtual

Implements PIO_DATA.

◆ read_dataset() [1/2]

bool PIO_DATA_HDF5::read_dataset ( std::valarray< double > &  ,
const char *  ,
int  index 
)

◆ read_dataset() [2/2]

bool PIO_DATA_HDF5::read_dataset ( std::valarray< std::string > &  ,
const char *  ,
int  index 
)

◆ has_scalar() [1/2]

bool PIO_DATA_HDF5::has_scalar ( const char *  )

◆ has_scalar() [2/2]

bool PIO_DATA_HDF5::has_scalar ( const char *  ,
int &   
)

◆ has_vector()

bool PIO_DATA_HDF5::has_vector ( const char *  )

◆ has_field()

bool PIO_DATA_HDF5::has_field ( const char *  )
overridevirtual

Implements PIO_DATA.

◆ good_read()

bool PIO_DATA_HDF5::good_read ( )
overridevirtual

Implements PIO_DATA.

◆ get_pio_num()

int PIO_DATA_HDF5::get_pio_num ( ) const
overridevirtual

Implements PIO_DATA.

◆ get_num_components()

int PIO_DATA_HDF5::get_num_components ( const char *  ) const
overridevirtual

Implements PIO_DATA.

◆ get_num_materials()

int PIO_DATA_HDF5::get_num_materials ( ) const
overridevirtual

Implements PIO_DATA.

◆ get_num_cells()

int64_t PIO_DATA_HDF5::get_num_cells ( )
overridevirtual

Implements PIO_DATA.

◆ get_cycle()

int PIO_DATA_HDF5::get_cycle ( )
overridevirtual

Implements PIO_DATA.

◆ get_simtime()

double PIO_DATA_HDF5::get_simtime ( )
overridevirtual

Implements PIO_DATA.

◆ get_dimension()

int PIO_DATA_HDF5::get_dimension ( )
overridevirtual

Implements PIO_DATA.

◆ get_gridsize()

bool PIO_DATA_HDF5::get_gridsize ( std::valarray< int > &  )
overridevirtual

Implements PIO_DATA.

◆ get_gridscale()

bool PIO_DATA_HDF5::get_gridscale ( std::valarray< double > &  )
overridevirtual

Implements PIO_DATA.

◆ get_gridorigin()

bool PIO_DATA_HDF5::get_gridorigin ( std::valarray< double > &  )
overridevirtual

Implements PIO_DATA.

◆ get_eap_version()

std::string PIO_DATA_HDF5::get_eap_version ( )
overridevirtual

Implements PIO_DATA.

◆ get_username()

std::string PIO_DATA_HDF5::get_username ( )
overridevirtual

Implements PIO_DATA.

◆ get_problemname()

std::string PIO_DATA_HDF5::get_problemname ( )
overridevirtual

Implements PIO_DATA.

◆ get_material_names()

bool PIO_DATA_HDF5::get_material_names ( std::valarray< std::string > &  )
overridevirtual

Implements PIO_DATA.

◆ get_tracer_variable_names()

bool PIO_DATA_HDF5::get_tracer_variable_names ( std::valarray< std::string > &  )
overridevirtual

Implements PIO_DATA.

◆ get_pio_field()

PIO_FIELD * PIO_DATA_HDF5::get_pio_field ( ) const
overridevirtual

Implements PIO_DATA.

◆ reconstruct_chunk_field()

bool PIO_DATA_HDF5::reconstruct_chunk_field ( int64_t  numcell,
std::valarray< double > &  va,
const char *  prefix,
const char *  var,
int  materialId 
)
overridevirtual

Implements PIO_DATA.

Member Data Documentation

◆ cell_active

std::valarray<int> PIO_DATA_HDF5::cell_active

Definition at line 89 of file PIODataHDF5.h.

◆ cell_active_loaded

bool PIO_DATA_HDF5::cell_active_loaded

Definition at line 90 of file PIODataHDF5.h.


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