ParMooN
 All Classes Functions Variables Friends Pages
Output2D.h
1 // =======================================================================
2 // @(#)Output2D.h 1.3 11/15/99
3 //
4 // Class: TOutput2D
5 // Purpose: store given data and realize output
6 //
7 // Author: Gunar Matthies (21.08.1998)
8 //
9 // History: start of implementation 21.08.1998 (Gunar Matthies)
10 // : parallel vtk output 26.09.09 (Sashikumaar Ganesan)
11 // =======================================================================
12 
13 #ifndef __OUTPUT2D__
14 #define __OUTPUT2D__
15 
16 #include <FEVectFunct2D.h>
17 #include <Domain.h>
18 
19 #ifdef _MPI
20 # include "mpi.h"
21 #endif
22 
24 class TOutput2D
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(TFESpace2D *fespace);
74 
76  struct TOutputData
77  {
78  int N_Nodes;
79  int N_Data;
80  TVertex **Nodes;
81  int *ConList;
82 
83  double **FEFuncValues; // first two for coords
84 
85  enum CELLTYPE {TRIA=2, QUAD} Type;
86 
87  TOutputData() : N_Nodes(0), N_Data(0), Nodes(0),
88  ConList(0), FEFuncValues(0) {};
89  ~TOutputData();
90  };
91 
92  TOutputData *Data;
93 
94  protected:
95  void ComputeOutputData();
96  void ComputeFEValues();
97 
98  public:
100  TOutput2D(int maxn_fespaces, int maxn_scalar, int maxn_vect,
101  int maxn_parameters, TDomain *domain);
102 
104  ~TOutput2D();
105 
107  int AddFEFunction(TFEFunction2D *fefunction);
108 
110  int AddFEVectFunct(TFEVectFunct2D *fevectfunct);
111 
113  int AddParameter(double value, const char *descr);
114 
116  int Write(std::string basename, int i=1, double t=0.);
117 
119  int WriteGrape(const char *name);
120 
122  int WriteGnuplot(const char *name);
123 
125  int WriteVtk(const char *name);
126 
128  void WriteVtkDiscontinuous(const char *fileName,
129  int N_LocVertices, TVertex **Vertices);
130 
132  int WriteMatlab(const char *name);
133 
135  int WriteMatlabOld(const char *name);
136 
138  int WriteGNU_iso(const char *name, int scalar);
139 
141  int WriteGMV(const char *name);
142 
144  int Write_ParVTK(
145 #ifdef _MPI
146  MPI_Comm comm,
147 #endif
148  int img, char *subID);
149  int WriteAsciiPlt(const char *filename);
150  int WriteBinaryPlt(const char *filename);
151 };
152 
153 #endif
double * ParameterValues
Definition: Output2D.h:64
int MaxN_FESpaces
Definition: Output2D.h:34
int MaxN_ScalarVar
Definition: Output2D.h:43
const char ** ParameterDescription
Definition: Output2D.h:67
Definition: Output2D.h:24
int N_FESpaces
Definition: Output2D.h:31
contains the boundary description, the virtual cell tree and macro grid
Definition: Domain.h:36
Definition: FESpace2D.h:28
TOutput2D(int maxn_fespaces, int maxn_scalar, int maxn_vect, int maxn_parameters, TDomain *domain)
Definition: Output2D.C:47
~TOutput2D()
Definition: Output2D.C:2071
TCollection * Coll
Definition: Output2D.h:28
int AddParameter(double value, const char *descr)
Definition: Output2D.C:169
int WriteGNU_iso(const char *name, int scalar)
Definition: Output2D.C:2084
int Write(std::string basename, int i=1, double t=0.)
Definition: Output2D.C:271
Definition: Output2D.h:76
int WriteGMV(const char *name)
Definition: Output2D.C:2342
store cells in an array, used by cell iterators
Definition: Collection.h:18
TDomain * Domain
Definition: Output2D.h:70
int AddFEFunction(TFEFunction2D *fefunction)
Definition: Output2D.C:118
int AddFEVectFunct(TFEVectFunct2D *fevectfunct)
Definition: Output2D.C:143
int WriteGnuplot(const char *name)
Definition: Output2D.C:669
int AddFESpace(TFESpace2D *fespace)
Definition: Output2D.C:81
int WriteMatlab(const char *name)
Definition: Output2D.C:1695
Definition: FEVectFunct2D.h:23
int WriteBinaryPlt(const char *filename)
Definition: Output2D.C:3559
int WriteAsciiPlt(const char *filename)
Definition: Output2D.C:3479
int WriteVtk(const char *name)
Definition: Output2D.C:878
int MaxN_Parameters
Definition: Output2D.h:61
int WriteGrape(const char *name)
Definition: Output2D.C:297
Definition: Vertex.h:19
int N_Parameters
Definition: Output2D.h:58
void WriteVtkDiscontinuous(const char *fileName, int N_LocVertices, TVertex **Vertices)
Definition: Output2D.C:1502
int N_VectorVar
Definition: Output2D.h:49
int N_ScalarVar
Definition: Output2D.h:40
TFEVectFunct2D ** FEVectFunctArray
Definition: Output2D.h:55
int WriteMatlabOld(const char *name)
Definition: Output2D.C:1857
TFESpace2D ** FESpaceArray
Definition: Output2D.h:37
TFEFunction2D ** FEFunctionArray
Definition: Output2D.h:46
Definition: FEFunction2D.h:24
int Write_ParVTK(#ifdef _MPI MPI_Comm comm,#endif int img, char *subID)
Definition: Output2D.C:2740
int MaxN_VectorVar
Definition: Output2D.h:52