Chaste
Release::2017.1
|
#include <Hdf5ToCmguiConverter.hpp>
Public Member Functions | |
Hdf5ToCmguiConverter (const FileFinder &rInputDirectory, const std::string &rFileBaseName, AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > *pMesh, bool hasBath=false, unsigned precision=0u) | |
Public Member Functions inherited from AbstractHdf5Converter< ELEMENT_DIM, SPACE_DIM > | |
AbstractHdf5Converter (const FileFinder &rInputDirectory, const std::string &rFileBaseName, AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > *pMesh, const std::string &rSubdirectoryName, unsigned precision) | |
void | WriteInfoFile () |
~AbstractHdf5Converter () | |
std::string | GetSubdirectory () |
Private Member Functions | |
void | Write (std::string type) |
void | WriteCmguiScript () |
Additional Inherited Members | |
Protected Member Functions inherited from AbstractHdf5Converter< ELEMENT_DIM, SPACE_DIM > | |
bool | MoveOntoNextDataset () |
Protected Attributes inherited from AbstractHdf5Converter< ELEMENT_DIM, SPACE_DIM > | |
const FileFinder & | mrH5Folder |
boost::shared_ptr< Hdf5DataReader > | mpReader |
unsigned | mNumVariables |
std::string | mFileBaseName |
std::vector< std::string > | mDatasetNames |
unsigned | mOpenDatasetIndex |
AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > * | mpMesh |
OutputFileHandler * | mpOutputFileHandler |
std::string | mRelativeSubdirectory |
unsigned | mPrecision |
This class converts from Hdf5 format to Cmgui format. The output will be one .exnode file per time step. The format that cmgui accepts is (after the headers):
Node: 1 Value_at_node_1 Node:2 Value_at_node_2 .....
For bidomain simulations, we will have two fields, one for Vm and one for Phie. The Cmgui format for two fields is as follows:
Node: 1 Vm_node_1 Phie_at_node_1 Node:2 Vm_at_node_2 Phie_at_node_2 .....
Definition at line 64 of file Hdf5ToCmguiConverter.hpp.
Hdf5ToCmguiConverter< ELEMENT_DIM, SPACE_DIM >::Hdf5ToCmguiConverter | ( | const FileFinder & | rInputDirectory, |
const std::string & | rFileBaseName, | ||
AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > * | pMesh, | ||
bool | hasBath = false , |
||
unsigned | precision = 0u |
||
) |
Constructor, which does the conversion.
rInputDirectory | The input directory, relative to CHASTE_TEST_OUTPUT, where the .h5 file has been written |
rFileBaseName | The base name of the data file. |
pMesh | Pointer to the mesh. |
hasBath | whether the mesh has a bath or not. Defaults to false. |
precision | The number of digits to use when printing to file (0u = default). |
Definition at line 136 of file Hdf5ToCmguiConverter.cpp.
References PetscTools::Barrier(), HeartConfig::GetOutputDirectory(), HeartConfig::Instance(), AbstractHdf5Converter< ELEMENT_DIM, SPACE_DIM >::mDatasetNames, AbstractHdf5Converter< ELEMENT_DIM, SPACE_DIM >::mOpenDatasetIndex, AbstractHdf5Converter< ELEMENT_DIM, SPACE_DIM >::MoveOntoNextDataset(), AbstractHdf5Converter< ELEMENT_DIM, SPACE_DIM >::mpMesh, AbstractHdf5Converter< ELEMENT_DIM, SPACE_DIM >::mpReader, CmguiMeshWriter< ELEMENT_DIM, SPACE_DIM >::SetAdditionalFieldNames(), CmguiMeshWriter< ELEMENT_DIM, SPACE_DIM >::SetRegionNames(), UNUSED_OPT, Hdf5ToCmguiConverter< ELEMENT_DIM, SPACE_DIM >::Write(), Hdf5ToCmguiConverter< ELEMENT_DIM, SPACE_DIM >::WriteCmguiScript(), AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh(), and AbstractMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMeshReader().
|
private |
A helper method which takes in a string, which must be 'Mono' or 'Bi' and reads the data from the hdf5 file, writing it out in Cmgui format.
type | the type of simulation (Mono or Bi) |
Definition at line 49 of file Hdf5ToCmguiConverter.cpp.
References PetscTools::AmMaster(), DistributedVectorFactory::CreateVec(), PetscTools::Destroy(), ChasteBuildInfo::GetProvenanceString(), and ReplicatableVector::GetSize().
Referenced by Hdf5ToCmguiConverter< ELEMENT_DIM, SPACE_DIM >::Hdf5ToCmguiConverter().
|
private |
Writes a basic script for visualization of mesh and data.
It loads the nodes and elements. It also asks cmgui to create faces and lines (because our output files don't have the information). Data are loaded by means of a 'for' loop.
After loading the script, nodes (seen as small dots) and lines connecting them will be displayed. Both nodes and lines will be coloured according to the first variable in the Hdf5 file (usually Vm). The Cmgui default spectrum (0 to 1, blue to red) is used. This can be changed by clicking on 'graphics->spectrum editor'. Other manual modification can be made by clicking on 'graphics->scene editor'.
Definition at line 191 of file Hdf5ToCmguiConverter.cpp.
References PetscTools::AmMaster(), HeartConfig::GetOutputFilenamePrefix(), ChasteBuildInfo::GetProvenanceString(), HeartConfig::Instance(), AbstractHdf5Converter< ELEMENT_DIM, SPACE_DIM >::mFileBaseName, AbstractHdf5Converter< ELEMENT_DIM, SPACE_DIM >::mpOutputFileHandler, AbstractHdf5Converter< ELEMENT_DIM, SPACE_DIM >::mpReader, and OutputFileHandler::OpenOutputFile().
Referenced by Hdf5ToCmguiConverter< ELEMENT_DIM, SPACE_DIM >::Hdf5ToCmguiConverter().