v0.14.0
Files | 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.
 

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, const char *file_type="MOAB", const char *file_options="PARALLEL=WRITE_PART")
 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  }

◆ 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

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  }

◆ 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

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 };

◆ 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

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  }
MoFEMFunctionReturnHot
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:447
MYPCOMM_INDEX
#define MYPCOMM_INDEX
default communicator number PCOMM
Definition: definitions.h:215
PostProcTemplateOnRefineMesh::postProcMesh
moab::Interface & postProcMesh
Definition: PostProcOnRefMesh.hpp:122
PostProcCommonOnRefMesh::OpGetFieldGradientValues
operator to post-process (save gradients on refined post-processing mesh) field gradient
Definition: PostProcOnRefMesh.hpp:81
CHKERR
#define CHKERR
Inline error check.
Definition: definitions.h:535
field_name
constexpr auto field_name
Definition: poisson_2d_homogeneous.cpp:13
PostProcCommonOnRefMesh::OpGetFieldValues
operator to post-process (save gradients on refined post-processing mesh) field gradient
Definition: PostProcOnRefMesh.hpp:49
v
const double v
phase velocity of light in medium (cm/ns)
Definition: initial_diffusion.cpp:40
PostProcTemplateOnRefineMesh::getCommonData
virtual PostProcCommonOnRefMesh::CommonData & getCommonData()
Definition: PostProcOnRefMesh.hpp:137
PostProcTemplateOnRefineMesh::mapGaussPts
std::vector< EntityHandle > mapGaussPts
Definition: PostProcOnRefMesh.hpp:125
MOFEM_DATA_INCONSISTENCY
@ MOFEM_DATA_INCONSISTENCY
Definition: definitions.h:31
MoFEM::PostProcBrokenMeshInMoabBase::getPostProcMesh
auto & getPostProcMesh()
Get postprocessing mesh.
Definition: PostProcBrokenMeshInMoabBase.hpp:641
MoFEMFunctionBeginHot
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:440
MoFEMFunctionReturn
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:416
MoFEMFunctionBegin
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:346