v0.14.0
Loading...
Searching...
No Matches
Files | Classes | Functions
Post Process
Collaboration diagram for Post Process:

Files

file  PostProc.hpp
 Post-process fields on refined mesh.
 
file  PostProcOnRefMesh.cpp
 Postprocess fields on refined mesh made for 10 Node tets.
 
file  PostProcOnRefMesh.hpp
 Post-process fields on refined mesh.
 

Classes

struct  PostProcCommonOnRefMesh
 Set of operators and data structures used for post-processing. More...
 
struct  PostProcCommonOnRefMesh::CommonData
 
struct  PostProcCommonOnRefMesh::CommonDataForVolume
 
struct  PostProcCommonOnRefMesh::OpGetFieldValues
 operator to post-process (save gradients on refined post-processing mesh) field gradient More...
 
struct  PostProcCommonOnRefMesh::OpGetFieldGradientValues
 operator to post-process (save gradients on refined post-processing mesh) field gradient More...
 
struct  PostProcTemplateOnRefineMesh< ELEMENT >
 Generic post-processing class. More...
 
struct  PostProcVolumeOnRefinedMesh
 Post processing. More...
 
struct  PostProcFatPrismOnRefinedMesh
 Postprocess on prism. More...
 
struct  PostProcFatPrismOnRefinedMesh::PointsMap3D
 
struct  PostProcFaceOnRefinedMesh
 Postprocess on face. More...
 
struct  PostProcFaceOnRefinedMesh::OpGetFieldValuesOnSkinImpl< RANK >
 
struct  PostProcEdgeOnRefinedMesh
 Postprocess on edge. More...
 

Functions

MoFEMErrorCode MoFEM::PostProcBrokenMeshInMoabBase< E >::writeFile (const std::string file_name)
 wrote results in (MOAB) format, use "file_name.h5m"
 
MoFEMErrorCode PostProcTemplateOnRefineMesh< ELEMENT >::addFieldValuesPostProc (const std::string field_name, Vec v=PETSC_NULL)
 Add operator to post-process L2, H1, Hdiv, Hcurl field value.
 
MoFEMErrorCode PostProcTemplateOnRefineMesh< ELEMENT >::addFieldValuesPostProc (const std::string field_name, const std::string tag_name, Vec v=PETSC_NULL)
 Add operator to post-process L2 or H1 field value.
 
MoFEMErrorCode PostProcTemplateOnRefineMesh< ELEMENT >::addFieldValuesGradientPostProc (const std::string field_name, Vec v=PETSC_NULL)
 Add operator to post-process L2 or H1 field gradient.
 
MoFEMErrorCode PostProcTemplateOnRefineMesh< ELEMENT >::addFieldValuesGradientPostProc (const std::string field_name, const std::string tag_name, Vec v=PETSC_NULL)
 Add operator to post-process L2 or H1 field gradient.
 
MoFEMErrorCode PostProcTemplateOnRefineMesh< ELEMENT >::addFieldValuesGradientPostProc (const std::string field_name, int space_dim, Vec v=PETSC_NULL)
 Add operator to post-process L2 or H1 field gradient.
 
MoFEMErrorCode PostProcTemplateOnRefineMesh< ELEMENT >::writeFile (const std::string file_name, const char *file_type="MOAB", const char *file_options="PARALLEL=WRITE_PART")
 wrote results in (MOAB) format, use "file_name.h5m"
 

Detailed Description

Function Documentation

◆ addFieldValuesGradientPostProc() [1/3]

template<class ELEMENT >
MoFEMErrorCode PostProcTemplateOnRefineMesh< ELEMENT >::addFieldValuesGradientPostProc ( const std::string field_name,
const std::string tag_name,
Vec v = PETSC_NULL )
inline

Add operator to post-process L2 or H1 field gradient.

Parameters
field_name
tag_nameto store results on post-process mesh
vIf vector is given, values from vector are used to set tags on mesh

Definition at line 214 of file PostProcOnRefMesh.hpp.

216 {
218 ELEMENT::getOpPtrVector().push_back(
221 v));
223 }
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
const double v
phase velocity of light in medium (cm/ns)
constexpr auto field_name
operator to post-process (save gradients on refined post-processing mesh) field gradient
std::vector< EntityHandle > mapGaussPts
virtual PostProcCommonOnRefMesh::CommonData & getCommonData()
moab::Interface & postProcMesh

◆ addFieldValuesGradientPostProc() [2/3]

template<class ELEMENT >
MoFEMErrorCode PostProcTemplateOnRefineMesh< ELEMENT >::addFieldValuesGradientPostProc ( const std::string field_name,
int space_dim,
Vec v = PETSC_NULL )
inline

Add operator to post-process L2 or H1 field gradient.

Parameters
field_name
space_dimthe dimension of the problem
vIf vector is given, values from vector are used to set tags on mesh

Definition at line 234 of file PostProcOnRefMesh.hpp.

236 {
238 ELEMENT::getOpPtrVector().push_back(
241 getCommonData(), v, space_dim));
243 }

◆ addFieldValuesGradientPostProc() [3/3]

template<class ELEMENT >
MoFEMErrorCode PostProcTemplateOnRefineMesh< ELEMENT >::addFieldValuesGradientPostProc ( const std::string field_name,
Vec v = PETSC_NULL )
inline

Add operator to post-process L2 or H1 field gradient.

Parameters
field_name
vIf vector is given, values from vector are used to set tags on mesh

Note: Name of the tag to store values on post-process mesh is the same as field name

Examples
nonlinear_dynamics.cpp, and simple_contact.cpp.

Definition at line 195 of file PostProcOnRefMesh.hpp.

196 {
198 ELEMENT::getOpPtrVector().push_back(
201 getCommonData(), v));
203 }

◆ addFieldValuesPostProc() [1/2]

template<class ELEMENT >
MoFEMErrorCode PostProcTemplateOnRefineMesh< ELEMENT >::addFieldValuesPostProc ( const std::string field_name,
const std::string tag_name,
Vec v = PETSC_NULL )
inline

Add operator to post-process L2 or H1 field value.

Parameters
field_name
tag_nameto store results on post-process mesh
vIf vector is given, values from vector are used to set tags on mesh

Definition at line 172 of file PostProcOnRefMesh.hpp.

174 {
176 ELEMENT::getOpPtrVector().push_back(
178 field_name, tag_name,
179 getCommonData(), v));
181 }
operator to post-process (save gradients on refined post-processing mesh) field gradient

◆ addFieldValuesPostProc() [2/2]

template<class ELEMENT >
MoFEMErrorCode PostProcTemplateOnRefineMesh< ELEMENT >::addFieldValuesPostProc ( const std::string field_name,
Vec v = PETSC_NULL )
inline

Add operator to post-process L2, H1, Hdiv, Hcurl field value.

Parameters
field_name
vIf vector is given, values from vector are used to set tags on mesh

Note: Name of the tag to store values on post-process mesh is the same as field name

Examples
nonlinear_dynamics.cpp, and simple_contact.cpp.

Definition at line 153 of file PostProcOnRefMesh.hpp.

154 {
156 ELEMENT::getOpPtrVector().push_back(
159 getCommonData(), v));
161 }

◆ writeFile() [1/2]

template<typename E >
MoFEMErrorCode MoFEM::PostProcBrokenMeshInMoabBase< E >::writeFile ( const std::string file_name)

wrote results in (MOAB) format, use "file_name.h5m"

Parameters
file_namefile name (should always end with .h5m)
Returns
error code

Definition at line 655 of file PostProcBrokenMeshInMoabBase.hpp.

655 {
657 ParallelComm *pcomm_post_proc_mesh =
658 ParallelComm::get_pcomm(&getPostProcMesh(), MYPCOMM_INDEX);
659 if (pcomm_post_proc_mesh == NULL)
660 SETERRQ(PETSC_COMM_SELF, MOFEM_DATA_INCONSISTENCY,
661 "ParallelComm not allocated");
662 CHKERR getPostProcMesh().write_file(file_name.c_str(), "MOAB",
663 "PARALLEL=WRITE_PART");
665};
#define MYPCOMM_INDEX
default communicator number PCOMM
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
@ MOFEM_DATA_INCONSISTENCY
Definition definitions.h:31
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define CHKERR
Inline error check.
auto & getPostProcMesh()
Get postprocessing mesh.

◆ writeFile() [2/2]

template<class ELEMENT >
MoFEMErrorCode PostProcTemplateOnRefineMesh< ELEMENT >::writeFile ( const std::string file_name,
const char * file_type = "MOAB",
const char * file_options = "PARALLEL=WRITE_PART" )
inline

wrote results in (MOAB) format, use "file_name.h5m"

Parameters
file_namefile name (should always end with .h5m)
Returns
error code
Examples
nonlinear_dynamics.cpp.

Definition at line 253 of file PostProcOnRefMesh.hpp.

255 {
257 ParallelComm *pcomm_post_proc_mesh =
258 ParallelComm::get_pcomm(&postProcMesh, MYPCOMM_INDEX);
259 if (pcomm_post_proc_mesh == NULL)
260 SETERRQ(PETSC_COMM_SELF, MOFEM_DATA_INCONSISTENCY,
261 "ParallelComm not allocated");
262 CHKERR postProcMesh.write_file(file_name.c_str(), file_type, file_options);
264 }