Chaste
Release::2018.1
|
#include <CmguiDeformedSolutionsWriter.hpp>
Public Member Functions | |
CmguiDeformedSolutionsWriter (std::string outputDirectory, std::string baseName, AbstractTetrahedralMesh< DIM, DIM > &rQuadraticMesh, CmguiMeshWriteType writeType) | |
void | WriteInitialMesh (std::string fileName="") |
void | WriteDeformationPositions (std::vector< c_vector< double, DIM > > &rDeformedPositions, unsigned counter) |
void | WriteCmguiScript (std::string fieldBaseName="", std::string undeformedBaseName="") |
void | ConvertOutput (std::string inputDirectory, std::string inputFileBaseName, unsigned finalCounter) |
Public Member Functions inherited from CmguiMeshWriter< DIM, DIM > | |
CmguiMeshWriter (const std::string &rDirectory, const std::string &rBaseName, bool cleanDirectory=true) | |
void | WriteFiles () |
void | SetAdditionalFieldNames (std::vector< std::string > &rFieldNames) |
void | SetRegionNames (std::vector< std::string > &rRegionNames) |
virtual | ~CmguiMeshWriter () |
Public Member Functions inherited from AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM > | |
AbstractTetrahedralMeshWriter (const std::string &rDirectory, const std::string &rBaseName, const bool clearOutputDir=true) | |
virtual | ~AbstractTetrahedralMeshWriter () |
virtual void | WriteFilesUsingMesh (AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > &rMesh, bool keepOriginalElementIndexing=true) |
void | WriteFilesUsingMeshReaderAndMesh (AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > &rMeshReader, AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > &rMesh) |
std::vector< double > | GetNextNode () |
ElementData | GetNextElement () |
ElementData | GetNextBoundaryElement () |
ElementData | GetNextCableElement () |
Public Member Functions inherited from AbstractMeshWriter< ELEMENT_DIM, SPACE_DIM > | |
AbstractMeshWriter (const std::string &rDirectory, const std::string &rBaseName, const bool clearOutputDir=true) | |
virtual | ~AbstractMeshWriter () |
std::string | GetOutputDirectory () |
unsigned | GetNumElements () |
unsigned | GetNumBoundaryFaces () |
unsigned | GetNumCableElements () |
void | WriteFilesUsingMeshReader (AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > &rMeshReader) |
Private Member Functions | |
unsigned | GetNumNodes () |
Private Attributes | |
AbstractTetrahedralMesh< DIM, DIM > * | mpQuadraticMesh |
unsigned | mFinalCounter |
unsigned | mNumNodesToUse |
A class for writing a mesh, and solutions from a solid mechanics (ie deformed meshes) problem, in Cmgui output format.
Inherits from CmguiMeshWriter
Definition at line 65 of file CmguiDeformedSolutionsWriter.hpp.
CmguiDeformedSolutionsWriter< DIM >::CmguiDeformedSolutionsWriter | ( | std::string | outputDirectory, |
std::string | baseName, | ||
AbstractTetrahedralMesh< DIM, DIM > & | rQuadraticMesh, | ||
CmguiMeshWriteType | writeType | ||
) |
Constructor
outputDirectory | The output directory for the Cmgui files |
baseName | The base name for the Cmgui output files - the files written will be [basename_0.exnode, [basename]_0.exelem; [basename]_1.exnode, [basename]_2.exnode, .. |
rQuadraticMesh | The quadratic mesh used in the mechanics simulation |
writeType | Should be equal to either WRITE_LINEAR_MESH or WRITE_QUADRATIC_MESH, depending on whether linear visualisation of the quadratic mesh (just vertices output) or full quadratic visualisation is required. |
Definition at line 40 of file CmguiDeformedSolutionsWriter.cpp.
References EXCEPTION, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumVertices(), CmguiMeshWriter< DIM, DIM >::mAdditionalFieldHeader, CmguiMeshWriter< DIM, DIM >::mCoordinatesFileHeader, CmguiMeshWriter< DIM, DIM >::mElementFileHeader, CmguiMeshWriter< DIM, DIM >::mNumNodesPerElement, CmguiDeformedSolutionsWriter< DIM >::mNumNodesToUse, CmguiDeformedSolutionsWriter< DIM >::mpQuadraticMesh, CmguiMeshWriter< DIM, DIM >::mReordering, and NEVER_REACHED.
void CmguiDeformedSolutionsWriter< DIM >::ConvertOutput | ( | std::string | inputDirectory, |
std::string | inputFileBaseName, | ||
unsigned | finalCounter | ||
) |
For a simulation that has already been run, convert the chaste output to cmgui format.
inputDirectory | The directory the chaste output is in |
inputFileBaseName | The base name for the chaste output |
finalCounter | The final counter, ie the value N for the final file [basename]_N.nodes. The first file is assumed to be [basename]_0.nodes. The files [basename]_0.nodes up to [basename]_N.nodes will be converted to cmgui format and put in the output directory given in the constructor. |
Definition at line 212 of file CmguiDeformedSolutionsWriter.cpp.
References EXCEPTION.
|
inlineprivatevirtual |
Overloaded GetNumNodes().
Reimplemented from AbstractMeshWriter< ELEMENT_DIM, SPACE_DIM >.
Definition at line 91 of file CmguiDeformedSolutionsWriter.hpp.
References CmguiDeformedSolutionsWriter< DIM >::mNumNodesToUse.
void CmguiDeformedSolutionsWriter< DIM >::WriteCmguiScript | ( | std::string | fieldBaseName = "" , |
std::string | undeformedBaseName = "" |
||
) |
Writes a small cmgui script called LoadSolutions.com, for loading the output that has been written. Assumes the output was solution_0.exnode .. solution_N.exnode, where N is the counter that was given in the last call to WriteDeformationPositions()
fieldBaseName | If there is a field to visualise on top of the deforming mesh, give it's path (relative to the cmgui deformation directory), and filename prefix. Leave empty if no field to visualise. For example, WriteCmguiScript("../../electrics/cmgui_output/voltage_mechanics_mesh"); for the script to read files voltage_mechanics_mesh_0.exnode .. voltage_mechanics_mesh_N.exnode. |
undeformedBaseName | is assumed to be "solution_0.exnode" and .exelem unless this optional parameter is given. Depends on what parameters were given to WriteInitialMesh(). If undeformedBaseName the time given to plot the undeformed shape is set to -1, otherwise it is set to 0. |
Definition at line 173 of file CmguiDeformedSolutionsWriter.cpp.
Referenced by AbstractNonlinearElasticitySolver< DIM >::CreateCmguiOutput().
void CmguiDeformedSolutionsWriter< DIM >::WriteDeformationPositions | ( | std::vector< c_vector< double, DIM > > & | rDeformedPositions, |
unsigned | counter | ||
) |
Write [basename]_i.exnode using the given deformed positions
rDeformedPositions | std::vector of deformed positions to be used, must have size equal to number of nodes in the mesh |
counter | the value "i" in "[basename]_i.exnode" to be used. |
Definition at line 142 of file CmguiDeformedSolutionsWriter.cpp.
References EXCEPTION.
Referenced by AbstractNonlinearElasticitySolver< DIM >::CreateCmguiOutput().
void CmguiDeformedSolutionsWriter< DIM >::WriteInitialMesh | ( | std::string | fileName = "" | ) |
Write [basename]_0.exnode, [basename]_0.exelem using the quadratic mesh If the optional argument fileName is given, writes [fileName].exnode and [fileName].exelem instead
fileName | Optional file name (stem). |
Definition at line 126 of file CmguiDeformedSolutionsWriter.cpp.
Referenced by AbstractNonlinearElasticitySolver< DIM >::CreateCmguiOutput().
|
private |
A counter is given whenever WriteDeformationPositions() is called, this variable stores the last one used
Definition at line 78 of file CmguiDeformedSolutionsWriter.hpp.
|
private |
Number of nodes to output - either mpQuadraticMesh->GetNumVertices() (linear visualisation) mpQuadraticMesh->GetNumNodes() (quadratic visualisation)
Definition at line 84 of file CmguiDeformedSolutionsWriter.hpp.
Referenced by CmguiDeformedSolutionsWriter< DIM >::CmguiDeformedSolutionsWriter(), and CmguiDeformedSolutionsWriter< DIM >::GetNumNodes().
|
private |
The quadratic mesh used in the mechanics simulation. solution_0.exnode and solution_0.exelem (the only exelem file written) will be written using this mesh
Definition at line 72 of file CmguiDeformedSolutionsWriter.hpp.
Referenced by CmguiDeformedSolutionsWriter< DIM >::CmguiDeformedSolutionsWriter().