chombo-discharge
CD_HyperboloidTwoIF.H
Go to the documentation of this file.
1 /* chombo-discharge
2  * Copyright © 2021 SINTEF Energy Research.
3  * Please refer to Copyright.txt and LICENSE in the chombo-discharge root directory.
4  */
5 
12 #ifndef CD_HyperboloidTwoIF_H
13 #define CD_HyperboloidTwoIF_H
14 
15 // Chombo includes
16 #include <BaseIF.H>
17 
18 // Our includes
19 #include <CD_NamespaceHeader.H>
20 
28 class HyperboloidTwoIF : public BaseIF
29 {
30 public:
37  HyperboloidTwoIF(const RealVect& a_radii, const RealVect& a_center, const bool& a_inside);
38 
43  HyperboloidTwoIF(const HyperboloidTwoIF& a_inputIF);
44 
49  virtual Real
50  value(const RealVect& a_point) const;
51 
55  virtual BaseIF*
56  newImplicitFunction() const;
57 
58 protected:
62  RealVect m_radii;
63 
67  RealVect m_radii2;
68 
72  RealVect m_sign;
73 
77  RealVect m_center;
78 
82  bool m_inside;
83 };
84 
85 #include <CD_NamespaceFooter.H>
86 
87 #endif
Declaration of a two-sheet hyperboloid.
Definition: CD_HyperboloidTwoIF.H:29
RealVect m_radii2
Hyperboloid radii squared.
Definition: CD_HyperboloidTwoIF.H:67
virtual BaseIF * newImplicitFunction() const
IF factory method.
Definition: CD_HyperboloidTwoIF.cpp:57
virtual Real value(const RealVect &a_point) const
Test whether inside or not.
Definition: CD_HyperboloidTwoIF.cpp:36
HyperboloidTwoIF(const RealVect &a_radii, const RealVect &a_center, const bool &a_inside)
Constructor.
Definition: CD_HyperboloidTwoIF.cpp:16
RealVect m_radii
Hyperboloid radii.
Definition: CD_HyperboloidTwoIF.H:62
bool m_inside
Inside or outside domain.
Definition: CD_HyperboloidTwoIF.H:82
RealVect m_sign
Holder for sign convention.
Definition: CD_HyperboloidTwoIF.H:72
RealVect m_center
Hyperboloid center.
Definition: CD_HyperboloidTwoIF.H:77