ParMooN
 All Classes Functions Variables Friends Pages
Output3D.h
1 // =======================================================================
2 // %W% %G%
3 //
4 // Class: TOutput3D
5 // Purpose: store given data and realize output
6 //
7 // Author: Gunar Matthies (24.07.2000)
8 //
9 // History: start of implementation 24.07.2000 (Gunar Matthies)
10 //
11 // =======================================================================
12 #ifdef _MPI
13 # include "mpi.h"
14 #endif
15 
16 
17 #ifndef __OUTPUT3D__
18 #define __OUTPUT3D__
19 
20 #include <FEVectFunct3D.h>
21 #include <Domain.h>
22 
24 class TOutput3D
25 {
26  protected:
29 
32 
35 
38 
41 
44 
47 
50 
53 
56 
59 
62 
64  double *ParameterValues;
65 
67  const char **ParameterDescription;
68 
71 
73  int AddFESpace(TFESpace3D *fespace);
74 
76  struct TOutputData
77  {
78  int N_Nodes;
79  int N_Data;
80  TVertex **Nodes;
81  int *ConList;
82 
83  double **FEFuncValues;
84 
85  enum CELLTYPE {TETRAHEDRON=4, BRICK} Type;
86 
87  TOutputData() : Nodes(0), ConList(0), N_Nodes(0),
88  N_Data(0), FEFuncValues(0) {};
89  ~TOutputData();
90  };
91 
92  TOutputData *Data;
93 
94  char *Name;
95 
96  protected:
97  void ComputeOutputData();
98  void ComputeFEValues();
99 
100  public:
102  TOutput3D(int maxn_fespaces, int maxn_scalar, int maxn_vect,
103  int maxn_parameters, TDomain *domain, TCollection *coll=NULL,
104  const char *name=NULL);
105 
107  ~TOutput3D();
108 
110  int AddFEFunction(TFEFunction3D *fefunction);
111 
113  int AddFEVectFunct(TFEVectFunct3D *fevectfunct);
114 
116  int AddParameter(double value, const char *descr);
117 
119  int Write(std::string basename, int i=1, double t=0.);
120 
122  int WriteGrape(const char *name);
123 
125  int WriteTecplot(const char *name);
126 
128  int WriteGMV(const char *name);
129 
131  int WriteAmira(const char *name);
132 
134  int WriteVtk(const char *name);
135 
137  void WriteVtkDiscontinuous(const char *fileName,
138  int N_LocVertices, TVertex **Vertices);
139 
141  int Write_ParVTK(
142 #ifdef _MPI
143  MPI_Comm comm,
144 #endif
145  int img, char *subID);
146 
148  int WriteBinaryPlt(const char *filename);
149 
150 };
151 
152 #endif
int N_VectorVar
Definition: Output3D.h:49
TOutput3D(int maxn_fespaces, int maxn_scalar, int maxn_vect, int maxn_parameters, TDomain *domain, TCollection *coll=NULL, const char *name=NULL)
Definition: Output3D.C:42
TFEVectFunct3D ** FEVectFunctArray
Definition: Output3D.h:55
TCollection * Coll
Definition: Output3D.h:28
int WriteGrape(const char *name)
Definition: Output3D.C:284
int AddParameter(double value, const char *descr)
Definition: Output3D.C:164
TFESpace3D ** FESpaceArray
Definition: Output3D.h:37
void WriteVtkDiscontinuous(const char *fileName, int N_LocVertices, TVertex **Vertices)
Definition: Output3D.C:2309
Definition: Output3D.h:24
int MaxN_FESpaces
Definition: Output3D.h:34
int N_ScalarVar
Definition: Output3D.h:40
contains the boundary description, the virtual cell tree and macro grid
Definition: Domain.h:36
int MaxN_VectorVar
Definition: Output3D.h:52
Definition: FESpace3D.h:22
int N_Parameters
Definition: Output3D.h:58
Definition: Output3D.h:76
store cells in an array, used by cell iterators
Definition: Collection.h:18
int Write_ParVTK(#ifdef _MPI MPI_Comm comm,#endif int img, char *subID)
Definition: Output3D.C:2472
int Write(std::string basename, int i=1, double t=0.)
Definition: Output3D.C:266
int WriteBinaryPlt(const char *filename)
Definition: Output3D.C:3397
double * ParameterValues
Definition: Output3D.h:64
int AddFEVectFunct(TFEVectFunct3D *fevectfunct)
Definition: Output3D.C:139
int N_FESpaces
Definition: Output3D.h:31
Definition: FEVectFunct3D.h:20
int AddFESpace(TFESpace3D *fespace)
Definition: Output3D.C:79
~TOutput3D()
Definition: Output3D.C:3158
Definition: Vertex.h:19
int WriteVtk(const char *name)
Definition: Output3D.C:1747
TFEFunction3D ** FEFunctionArray
Definition: Output3D.h:46
int WriteTecplot(const char *name)
Definition: Output3D.C:645
int MaxN_Parameters
Definition: Output3D.h:61
const char ** ParameterDescription
Definition: Output3D.h:67
int WriteGMV(const char *name)
Definition: Output3D.C:971
int WriteAmira(const char *name)
Definition: Output3D.C:1351
int AddFEFunction(TFEFunction3D *fefunction)
Definition: Output3D.C:115
TDomain * Domain
Definition: Output3D.h:70
int MaxN_ScalarVar
Definition: Output3D.h:43
Definition: FEFunction3D.h:25