#include <Hdf5ToCmguiConverter.hpp>
Inherits AbstractHdf5Converter< ELEMENT_DIM, SPACE_DIM >.
Public Member Functions | |
Hdf5ToCmguiConverter (std::string inputDirectory, std::string fileBaseName, AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > *pMesh, bool hasBath=false) | |
Private Member Functions | |
void | Write (std::string type) |
void | WriteCmguiScript () |
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 57 of file Hdf5ToCmguiConverter.hpp.
Hdf5ToCmguiConverter< ELEMENT_DIM, SPACE_DIM >::Hdf5ToCmguiConverter | ( | std::string | inputDirectory, | |
std::string | fileBaseName, | |||
AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > * | pMesh, | |||
bool | hasBath = false | |||
) | [inline] |
Constructor, which does the conversion.
inputDirectory | The input directory, relative to CHASTE_TEST_OUTPUT, where the .h5 file has been written | |
fileBaseName | The base name of the data file. | |
pMesh | Pointer to the mesh. | |
hasBath | whether the mesh has a bath or not. Defaults to false. |
Definition at line 130 of file Hdf5ToCmguiConverter.cpp.
References PetscTools::Barrier(), HeartConfig::GetOutputDirectory(), Hdf5DataReader::GetVariableNames(), HeartConfig::Instance(), AbstractHdf5Converter< ELEMENT_DIM, SPACE_DIM >::mpMesh, AbstractHdf5Converter< ELEMENT_DIM, SPACE_DIM >::mpReader, CmguiMeshWriter< ELEMENT_DIM, SPACE_DIM >::SetAdditionalFieldNames(), CmguiMeshWriter< ELEMENT_DIM, SPACE_DIM >::SetRegionNames(), 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().
void Hdf5ToCmguiConverter< ELEMENT_DIM, SPACE_DIM >::Write | ( | std::string | type | ) | [inline, 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 42 of file Hdf5ToCmguiConverter.cpp.
References PetscTools::AmMaster(), DistributedVectorFactory::CreateVec(), Hdf5DataReader::GetNumberOfRows(), ChasteBuildInfo::GetProvenanceString(), ReplicatableVector::GetSize(), Hdf5DataReader::GetUnlimitedDimensionValues(), Hdf5DataReader::GetVariableNames(), Hdf5DataReader::GetVariableOverNodes(), HeartConfig::GetVisualizerOutputPrecision(), 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().
void Hdf5ToCmguiConverter< ELEMENT_DIM, SPACE_DIM >::WriteCmguiScript | ( | ) | [inline, 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 176 of file Hdf5ToCmguiConverter.cpp.
References PetscTools::AmMaster(), HeartConfig::GetOutputFilenamePrefix(), ChasteBuildInfo::GetProvenanceString(), Hdf5DataReader::GetUnlimitedDimensionValues(), Hdf5DataReader::GetVariableNames(), 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().