SCOREC core
Parallel unstructured mesh tools
chef.h
Go to the documentation of this file.
1 #ifndef CHEF_H
2 #define CHEF_H
3 
7 #include <apf.h>
8 #include <apfMesh2.h>
9 #include <gmi.h>
10 #include <phInput.h>
11 
12 struct RStream;
13 struct GRStream;
14 namespace chef {
16  void cook(gmi_model*& g, apf::Mesh2*& m, pcu::PCU *PCUObj);
18  void cook(gmi_model*& g, apf::Mesh2*& m, ph::Input& ctrl, pcu::PCU *PCUObj);
20  void cook(gmi_model*& g, apf::Mesh2*& m,
21  ph::Input& ctrl, RStream* in, pcu::PCU *PCUObj);
23  void cook(gmi_model*& g, apf::Mesh2*& m,
24  ph::Input& ctrl, GRStream* out, pcu::PCU *PCUObj);
26  void cook(gmi_model*& g, apf::Mesh2*& m,
27  ph::Input& ctrl, RStream* in, GRStream* out, pcu::PCU *PCUObj);
29  apf::Field* extractField(apf::Mesh* m,
30  const char* packedFieldname,
31  const char* requestFieldname,
32  int firstComp,
33  int numOfComp,
34  bool simField = false);
36  apf::Field* combineField(apf::Mesh* m,
37  const char* packedFieldname,
38  const char* inFieldname1,
39  const char* inFieldname2,
40  const char* inFieldname3);
46  void balance(ph::Input& ctrl, apf::Mesh2* m);
48  void adapt(apf::Mesh2* m, apf::Field* szFld);
50  void adapt(apf::Mesh2* m, apf::Field* szFld, ph::Input& ctrl);
56  void preprocess(apf::Mesh2*& m, ph::Input& ctrl);
58  void preprocess(apf::Mesh2*& m, ph::Input& ctrl, GRStream* out);
59 }
60 
61 #endif
The APF Mesh modification interface.
The APF Field interface.
void adaptLevelSet(ph::Input &ctrl, apf::Mesh2 *m)
adapt around the zero level set
void uniformRefinement(ph::Input &ctrl, apf::Mesh2 *m)
uniformly refine the mesh
apf::Field * combineField(apf::Mesh *m, const char *packedFieldname, const char *inFieldname1, const char *inFieldname2, const char *inFieldname3)
combine 3 fields into 1 packed field
void preprocess(apf::Mesh2 *&m, ph::Input &ctrl)
read fields from the mesh and write to files
void cook(gmi_model *&g, apf::Mesh2 *&m, pcu::PCU *PCUObj)
read and write to and from files
void balance(ph::Input &ctrl, apf::Mesh2 *m)
load balance the partition
void balanceAndReorder(ph::Input &ctrl, apf::Mesh2 *m)
load balance the partition then reorder the vertices
void readAndAttachFields(ph::Input &ctrl, apf::Mesh2 *&m)
read and attach fields from files
apf::Field * extractField(apf::Mesh *m, const char *packedFieldname, const char *requestFieldname, int firstComp, int numOfComp, bool simField=false)
extract a field from a packed field
Extended mesh interface for modification.
Definition: apfMesh2.h:30
Interface to a mesh part.
Definition: apfMesh.h:105
The Parallel Contrul Unit class encapsulates parallel communication.
Definition: PCU.h:26
User configuration for Chef execution.
Definition: phInput.h:26
abstract Geometric Model Interface
The Chef interface for execution control.
the basic structure for all GMI models
Definition: gmi.h:112