v0.13.1
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" More...
 
MoFEMErrorCode PostProcTemplateOnRefineMesh< ELEMENT >::addFieldValuesPostProc (const std::string field_name, Vec v=PETSC_NULL)
 Add operator to post-process L2, H1, Hdiv, Hcurl field value. More...
 
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. More...
 
MoFEMErrorCode PostProcTemplateOnRefineMesh< ELEMENT >::addFieldValuesGradientPostProc (const std::string field_name, Vec v=PETSC_NULL)
 Add operator to post-process L2 or H1 field gradient. More...
 
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. More...
 
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. More...
 
MoFEMErrorCode PostProcTemplateOnRefineMesh< ELEMENT >::writeFile (const std::string file_name)
 wrote results in (MOAB) format, use "file_name.h5m" More...
 

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()
Definition: definitions.h:447
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:440
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 540 of file PostProcBrokenMeshInMoabBase.hpp.

540 {
542 ParallelComm *pcomm_post_proc_mesh =
543 ParallelComm::get_pcomm(&postProcMesh, MYPCOMM_INDEX);
544 if (pcomm_post_proc_mesh == NULL)
545 SETERRQ(PETSC_COMM_SELF, MOFEM_DATA_INCONSISTENCY,
546 "ParallelComm not allocated");
547 CHKERR postProcMesh.write_file(file_name.c_str(), "MOAB",
548 "PARALLEL=WRITE_PART");
550};
#define MYPCOMM_INDEX
default communicator number PCOMM
Definition: definitions.h:215
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:346
@ MOFEM_DATA_INCONSISTENCY
Definition: definitions.h:31
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:416
#define CHKERR
Inline error check.
Definition: definitions.h:535
moab::Interface & postProcMesh

◆ writeFile() [2/2]

template<class ELEMENT >
MoFEMErrorCode PostProcTemplateOnRefineMesh< ELEMENT >::writeFile ( const std::string  file_name)
inline

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

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

Definition at line 253 of file PostProcOnRefMesh.hpp.

253 {
255 ParallelComm *pcomm_post_proc_mesh =
256 ParallelComm::get_pcomm(&postProcMesh, MYPCOMM_INDEX);
257 if (pcomm_post_proc_mesh == NULL)
258 SETERRQ(PETSC_COMM_SELF, MOFEM_DATA_INCONSISTENCY,
259 "ParallelComm not allocated");
260 CHKERR postProcMesh.write_file(file_name.c_str(), "MOAB",
261 "PARALLEL=WRITE_PART");
263 }