Chombo + EB  3.0
IrregNode.H
Go to the documentation of this file.
1 #ifdef CH_LANG_CC
2 /*
3  * _______ __
4  * / ___/ / ___ __ _ / / ___
5  * / /__/ _ \/ _ \/ V \/ _ \/ _ \
6  * \___/_//_/\___/_/_/_/_.__/\___/
8  */
9 #endif
10
11 // ANAG, LBNL
12
13 #ifndef _IRREGNODE_H_
14 #define _IRREGNODE_H_
15
16 #include "REAL.H"
17 #include "IntVect.H"
18 #include "IntVectSet.H"
19 #include "VolIndex.H"
20 #include "Interval.H"
21 #include "FaceIndex.H"
22 #include "IntVectSet.H"
23 #include "RealVect.H"
24 #include "BaseFab.H"
25 #include "SPMD.H"
27 ///
28 /**
29  Node for construction of geometric information.
30 */
31 class IrregNode
32 {
33 public:
34  ///
35  IrregNode();
36
37  ///
38  ~IrregNode();
39
40  ///return the index into the arc vectors
41  static int index(int a_idir, Side::LoHiSide a_side) ;
42
43  ///
45  ///data for irregular nodes
46
47  //volume centered data
48  ///
50
51  ///
52  /**
53  each vof has a unique index in the cell
54  */
56
57  ///
59
60  ///
62
63  //face centered irregular data
64
65  ///
66  /**
67  Indicies into a_nodes to show connectivity.
68  If the arc is to an irregular
69  cell, the index is the unique index of the vof
70  in the cell.
71  For arcs to regular cells, the arc = -2
72  If the arc is to the domain boundary, arc = -1.
73  */
75
76  ///
78
79  ///
81
82  ///
83  /**
84  helper function for construction. makes irregular cell
85  that has connectivitity and values like a regular cell, this
86  a person can modify as the irregular cell requires. saves
87  some coding in some cases
88  */
89  void makeRegular(const IntVect& iv);
90  void faceReserve(int location, int size);
91 };
92
93
94 std::ostream& operator<< (std::ostream& a_os,
95  const IrregNode& a_iv);
96
97 #include "NamespaceFooter.H"
98 #endif
void faceReserve(int location, int size)
Vector< RealVect > m_faceCentroid[2 *SpaceDim]
Definition: IrregNode.H:80
Real m_volFrac
data for irregular nodes
Definition: IrregNode.H:49
Vector< Real > m_areaFrac[2 *SpaceDim]
Definition: IrregNode.H:77
const int SpaceDim
Definition: SPACE.H:39
std::ostream & operator<<(std::ostream &a_os, const IrregNode &a_iv)
double Real
Definition: REAL.H:33
Definition: IrregNode.H:31
RealVect m_volCentroid
Definition: IrregNode.H:58
Vector< int > m_arc[2 *SpaceDim]
Definition: IrregNode.H:74
LoHiSide
Definition: LoHiSide.H:27
A Real vector in SpaceDim-dimensional space.
Definition: RealVect.H:41
int m_cellIndex
Definition: IrregNode.H:55
IntVect m_cell
Definition: IrregNode.H:44
An integer Vector in SpaceDim-dimensional space.
Definition: CHArray.H:42
static int index(int a_idir, Side::LoHiSide a_side)
return the index into the arc vectors
RealVect m_bndryCentroid
Definition: IrregNode.H:61
void makeRegular(const IntVect &iv)