Chombo + EB + MF  3.2
MFGeometry.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 _MFGEOMETRY_H_
12 #define _MFGEOMETRY_H_
13 
14 #include "MFIndexSpace.H"
15 #include "PolyGeom.H"
16 #include "GeometryShop.H"
17 #include "PlaneIF.H"
18 #include "SphereIF.H"
19 #include "EllipsoidIF.H"
20 #include "TiltedCylinderIF.H"
21 
22 #include "NamespaceHeader.H"
23 ///
24 /**
25  class to encapsulate the common geometric operations
26  for MF
27  */
29 {
30 public:
31  ///
32  /**
33  */
34  static
35  void makeLevelSet( Vector<LevelData<FArrayBox>* >& a_levelSet,
36  const BaseIF& a_if,
37  const RealVect& a_origin,
38  const RealVect& a_coarsestDx,
39  const Vector<int>& a_refRatio);
40 
41  ///
42  /**
43  */
44  static
46  const BaseIF& a_if,
47  const ProblemDomain& a_domain,
48  const RealVect& a_dx,
49  const RealVect& a_origin,
50  int a_maxCells = 1024);
51 
52  ///
53  /**
54  */
55  static
58  const ProblemDomain& a_domain,
59  const RealVect& a_dx,
60  const RealVect& a_origin,
61  const RealVect& a_normal,
62  const RealVect& a_point,
63  bool a_inside = true,
64  int a_maxCells = 1024);
65 
66  ///
67  /**
68  */
69  static
72  const ProblemDomain& a_domain,
73  const RealVect& a_dx,
74  const RealVect& a_origin,
75  const RealVect& a_center,
76  const Real a_radius,
77  bool a_inside = true,
78  int a_maxCells = 1024);
79 
80  ///
81  /**
82  */
83  static
86  const ProblemDomain& a_domain,
87  const RealVect& a_dx,
88  const RealVect& a_origin,
89  const RealVect& a_center,
90  const RealVect& a_radii,
91  bool a_inside = true,
92  const int a_maxCells = 1024);
93 
94  ///
95  /**
96  */
97  static
100  const ProblemDomain& a_domain,
101  const RealVect& a_dx,
102  const RealVect& a_origin,
103  const Real a_radius,
104  const RealVect& a_axis,
105  const RealVect& a_center,
106  bool a_inside = true,
107  int a_maxCells = 1024);
108 };
109 #include "NamespaceFooter.H"
110 #endif
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
Definition: MFGeometry.H:28
static RefCountedPtr< SphereIF > defineSphereGeometry(RefCountedPtr< MFIndexSpace > &a_mfis, const ProblemDomain &a_domain, const RealVect &a_dx, const RealVect &a_origin, const RealVect &a_center, const Real a_radius, bool a_inside=true, int a_maxCells=1024)
one dimensional dynamic array
Definition: Vector.H:53
Definition: BaseIF.H:32
double Real
Definition: REAL.H:33
static RefCountedPtr< PlaneIF > definePlaneGeometry(RefCountedPtr< MFIndexSpace > &a_mfis, const ProblemDomain &a_domain, const RealVect &a_dx, const RealVect &a_origin, const RealVect &a_normal, const RealVect &a_point, bool a_inside=true, int a_maxCells=1024)
static void makeLevelSet(Vector< LevelData< FArrayBox > * > &a_levelSet, const BaseIF &a_if, const RealVect &a_origin, const RealVect &a_coarsestDx, const Vector< int > &a_refRatio)
static RefCountedPtr< TiltedCylinderIF > defineTiltedCylinderGeometry(RefCountedPtr< MFIndexSpace > &a_mfis, const ProblemDomain &a_domain, const RealVect &a_dx, const RealVect &a_origin, const Real a_radius, const RealVect &a_axis, const RealVect &a_center, bool a_inside=true, int a_maxCells=1024)
A Real vector in SpaceDim-dimensional space.
Definition: RealVect.H:41
static RefCountedPtr< EllipsoidIF > defineEllipsoidGeometry(RefCountedPtr< MFIndexSpace > &a_mfis, const ProblemDomain &a_domain, const RealVect &a_dx, const RealVect &a_origin, const RealVect &a_center, const RealVect &a_radii, bool a_inside=true, const int a_maxCells=1024)
static void defineGeometry(RefCountedPtr< MFIndexSpace > &a_mfis, const BaseIF &a_if, const ProblemDomain &a_domain, const RealVect &a_dx, const RealVect &a_origin, int a_maxCells=1024)