Chombo + EB + MF  3.2
CylinderEquiangularBlockCS.H
Go to the documentation of this file.
1 #ifdef CH_LANG_CC
2 /*
3  * _______ __
4  * / ___/ / ___ __ _ / / ___
5  * / /__/ _ \/ _ \/ V \/ _ \/ _ \
6  * \___/_//_/\___/_/_/_/_.__/\___/
7  * Please refer to Copyright.txt, in Chombo's root directory.
8  */
9 #endif
10 
11 #ifndef _CYLINDEREQUIANGULARBLOCKCS_H_
12 #define _CYLINDEREQUIANGULARBLOCKCS_H_
13 
14 // #include <utility>
15 // using std::pair;
16 
17 #include "NewFourthOrderCoordSys.H"
18 
19 #include "NamespaceHeader.H"
20 
21 /// Basic single-panel cubed sphere Coordinates
22 /**
23  The CylinderEquiangularBlockCS class implements the
24  NewFourthOrderCoordSys class for cylindrical panels in equiangular
25  coordinates.
26 */
28 {
29 public:
30  /// constructor
31  /**
32  a_blockNum: block number
33  a_dx: cell spacing
34  a_baseCell: index of bottom-left corner of this block in mapped space.
35  */
36  CylinderEquiangularBlockCS(int a_blockNum,
37  const RealVect& a_dx,
38  const Box& a_blockBox);
39 
40  /**
41  Destructor.
42  */
44 
45  /// given coordinate in mapped space, return its location in real space
46  RealVect realCoord(const RealVect& a_Xi) const;
47 
48  /// given coordinate in real space, return its location in the mapped space
49  RealVect mappedCoord(const RealVect& a_x) const;
50 
51  // Calculate the derivative of each coordinate vector
52  virtual Real dXdXi(const RealVect& a_Xi, int a_dirX, int a_dirXi) const;
53 
54 protected:
55 
56  // Block id (this object has different behaviour depending on the number)
58 
59  // Box containing the block
61 };
62 
63 #include "NamespaceFooter.H"
64 
65 #endif // include guard
Virtual base class encapsulating mapped-grid coordinate systems.
Definition: NewFourthOrderCoordSys.H:77
Box m_blockBox
Definition: CylinderEquiangularBlockCS.H:60
RealVect mappedCoord(const RealVect &a_x) const
given coordinate in real space, return its location in the mapped space
virtual Real dXdXi(const RealVect &a_Xi, int a_dirX, int a_dirXi) const
note that a_Xi is in mapped space.
int m_blockNum
Definition: CylinderEquiangularBlockCS.H:57
double Real
Definition: REAL.H:33
virtual ~CylinderEquiangularBlockCS()
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:469
A Real vector in SpaceDim-dimensional space.
Definition: RealVect.H:41
RealVect realCoord(const RealVect &a_Xi) const
given coordinate in mapped space, return its location in real space
Basic single-panel cubed sphere Coordinates.
Definition: CylinderEquiangularBlockCS.H:27
CylinderEquiangularBlockCS(int a_blockNum, const RealVect &a_dx, const Box &a_blockBox)
constructor