Memosa-FVM  0.2
NcDataWriter.h
Go to the documentation of this file.
1 // This file os part of FVM
2 // Copyright (c) 2012 FVM Authors
3 // See LICENSE file for terms.
4 
5 #ifndef NCDATAWRITER_H
6 #define NCDATAWRITER_H
7 
8 #include <string>
9 #include <vector>
10 #include "Mesh.h"
11 using namespace std;
12 
13 class NcFile;
14 class NcDim;
15 class NcVar;
16 
17 class NcDataWriter {
18 
19 public :
20 
21  NcDataWriter(const MeshList& meshes, const string& fname);
22  ~NcDataWriter();
23 
24  void record();
25 
26  static int _writeAction;
27 
28 private :
29  NcDataWriter( const NcDataWriter& nc_writer);
30 
31  void init();
32  void setNcFile();
33  void setDims();
34  void setVars();
35  void set_var_values();
36 
37  void get_var_values();
38  void get_boundary_vals( int id );
39  void get_interface_vals( int id );
40  void get_coords( int id );
41  void connectivities( int id );
42  void mappers( int id );
43  int mappers_index( int mesh_end );
44 
45  void add_attributes();
46  void write_values();
47 
48 
49 
50 
51 
52 
54  string _fname;
55 
56  NcFile *_ncFile;
57  //NcDims
58  NcDim *_nmesh;
59  NcDim *_nBoun;
60  NcDim *_charSize;
61  NcDim *_nNeighMesh;
62  NcDim *_nnodes;
63  NcDim *_nfaces;
64  NcDim *_ncells;
65 
66  NcDim *_nfaceRow;
69 
70  NcDim *_nInterface;
71 
72  //NcVars
73  NcVar* _dimension;
74  NcVar* _meshID;
75  NcVar* _facesCount;
76  NcVar* _cellsCount;
78  NcVar* _nodesCount;
79  NcVar* _mapCount;
81 
83  NcVar* _boundarySize;
85  NcVar* _boundaryID;
86  NcVar* _boundaryType;
87 
91  NcVar* _interfaceID;
92 
93  NcVar* _x;
94  NcVar* _y;
95  NcVar* _z;
96 
101 
106 
109 
110 
111  NcVar* _bounBoolVar;
114 
115  //variable values
116  vector< int > _dimensionVals;
117  vector< int > _meshIDVals;
118 
119  vector< int > _facesCountVals;
120  vector< int > _cellsCountVals;
121  vector< int > _ghostCellsCountVals;
122  vector< int > _nodesCountVals;
123  vector< int > _mapCountVals;
124  vector< int > _interiorFaceGroupVals;
125 
126  vector< int > _boundaryGroupVals;
127  vector< int > _boundarySizeVals;
128  vector< int > _boundaryOffsetVals;
129  vector< int > _boundaryIDVals;
130  vector< const char* > _boundaryTypeVals;
131 
132 
133  vector< int > _interfaceGroupVals;
134  vector< int > _interfaceSizeVals;
135  vector< int > _interfaceOffsetVals;
136  vector< int > _interfaceIDVals;
137 
138  double *_xVals;
139  double *_yVals;
140  double *_zVals;
141 
142  vector< int > _faceCellsRowCountVals;
143  vector< int > _faceCellsColCountVals;
144  vector< int > _faceNodesRowCountVals;
145  vector< int > _faceNodesColCountVals;
146 
149 
150  const int MAX_CHAR;
153  bool INTERFACE;
154 
155 };
156 
157 #endif
vector< int > _facesCountVals
Definition: NcDataWriter.h:119
int * _scatterIndicesVals
Definition: NcDataWriter.h:148
vector< int > _boundarySizeVals
Definition: NcDataWriter.h:127
vector< int > _meshIDVals
Definition: NcDataWriter.h:117
NcDim * _nInterface
Definition: NcDataWriter.h:70
NcVar * _mapCount
Definition: NcDataWriter.h:79
NcVar * _faceNodesColCount
Definition: NcDataWriter.h:100
NcVar * _boundaryType
Definition: NcDataWriter.h:86
vector< int > _faceNodesColCountVals
Definition: NcDataWriter.h:145
vector< int > _faceCellsRowCountVals
Definition: NcDataWriter.h:142
NcVar * _neighMeshBoolVar
Definition: NcDataWriter.h:112
NcVar * _bounBoolVar
Definition: NcDataWriter.h:111
NcVar * _faceCellsRow
Definition: NcDataWriter.h:102
vector< int > _interiorFaceGroupVals
Definition: NcDataWriter.h:124
NcVar * _faceCellsColCount
Definition: NcDataWriter.h:98
string _fname
Definition: NcDataWriter.h:54
vector< int > _boundaryIDVals
Definition: NcDataWriter.h:129
NcDim * _nfaceRow
Definition: NcDataWriter.h:66
NcVar * _meshID
Definition: NcDataWriter.h:74
NcDim * _nfaceNodesCol
Definition: NcDataWriter.h:68
bool BOUN_TYPE_DIM
Definition: NcDataWriter.h:151
NcVar * _gatherIndices
Definition: NcDataWriter.h:107
NcDim * _nnodes
Definition: NcDataWriter.h:62
NcVar * _x
Definition: NcDataWriter.h:93
NcVar * _dimension
Definition: NcDataWriter.h:73
NcVar * _nodesCount
Definition: NcDataWriter.h:78
NcVar * _interfaceID
Definition: NcDataWriter.h:91
NcDim * _nmesh
Definition: NcDataWriter.h:58
const MeshList _meshList
Definition: NcDataWriter.h:53
NcVar * _interiorFaceGroup
Definition: NcDataWriter.h:80
vector< int > _faceCellsColCountVals
Definition: NcDataWriter.h:143
NcVar * _faceNodesCol
Definition: NcDataWriter.h:105
vector< int > _mapCountVals
Definition: NcDataWriter.h:123
vector< int > _interfaceOffsetVals
Definition: NcDataWriter.h:135
NcDim * _nfaces
Definition: NcDataWriter.h:63
NcFile * _ncFile
Definition: NcDataWriter.h:56
vector< int > _boundaryGroupVals
Definition: NcDataWriter.h:126
NcDim * _charSize
Definition: NcDataWriter.h:60
NcVar * _interfaceGroup
Definition: NcDataWriter.h:88
NcVar * _boundaryID
Definition: NcDataWriter.h:85
NcVar * _interfaceSize
Definition: NcDataWriter.h:89
NcVar * _boundaryGroup
Definition: NcDataWriter.h:82
NcVar * _facesCount
Definition: NcDataWriter.h:75
NcVar * _cellsCount
Definition: NcDataWriter.h:76
vector< const char * > _boundaryTypeVals
Definition: NcDataWriter.h:130
NcDim * _nNeighMesh
Definition: NcDataWriter.h:61
NcVar * _z
Definition: NcDataWriter.h:95
vector< int > _ghostCellsCountVals
Definition: NcDataWriter.h:121
NcVar * _ghostCellsCount
Definition: NcDataWriter.h:77
double * _yVals
Definition: NcDataWriter.h:139
NcDim * _nBoun
Definition: NcDataWriter.h:59
vector< int > _interfaceGroupVals
Definition: NcDataWriter.h:133
NcVar * _faceNodesRowCount
Definition: NcDataWriter.h:99
NcVar * _y
Definition: NcDataWriter.h:94
int * _gatherIndicesVals
Definition: NcDataWriter.h:147
double * _zVals
Definition: NcDataWriter.h:140
NcDim * _nfaceCellsCol
Definition: NcDataWriter.h:67
vector< int > _boundaryOffsetVals
Definition: NcDataWriter.h:128
NcVar * _interfaceBoolVar
Definition: NcDataWriter.h:113
vector< int > _faceNodesRowCountVals
Definition: NcDataWriter.h:144
double * _xVals
Definition: NcDataWriter.h:138
NcVar * _scatterIndices
Definition: NcDataWriter.h:108
vector< int > _nodesCountVals
Definition: NcDataWriter.h:122
NcVar * _interfaceOffset
Definition: NcDataWriter.h:90
vector< int > _dimensionVals
Definition: NcDataWriter.h:116
NcVar * _faceCellsRowCount
Definition: NcDataWriter.h:97
const int MAX_CHAR
Definition: NcDataWriter.h:150
NcDim * _ncells
Definition: NcDataWriter.h:64
NcVar * _boundarySize
Definition: NcDataWriter.h:83
NcVar * _faceCellsCol
Definition: NcDataWriter.h:103
vector< int > _interfaceSizeVals
Definition: NcDataWriter.h:134
vector< int > _interfaceIDVals
Definition: NcDataWriter.h:136
vector< int > _cellsCountVals
Definition: NcDataWriter.h:120
vector< Mesh * > MeshList
Definition: Mesh.h:439
NcVar * _faceNodesRow
Definition: NcDataWriter.h:104
static int _writeAction
Definition: NcDataWriter.h:26
NcVar * _boundaryOffset
Definition: NcDataWriter.h:84