chombo-discharge
CD_MushroomIF.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_MushroomIF_H
13 #define CD_MushroomIF_H
14 
15 // Chombo includes
16 #include <BaseIF.H>
17 #include <RealVect.H>
18 
19 // Our includes
20 #include <CD_NamespaceHeader.H>
21 
26 class MushroomIF : public BaseIF
27 {
28 public:
39  MushroomIF(const RealVect a_center,
40  const Real a_R,
41  const Real a_r,
42  const Real a_L,
43  const Real a_d,
44  const Real a_curv,
45  const bool a_fluidInside);
46 
51  MushroomIF(const MushroomIF& a_inputIF);
52 
56  virtual ~MushroomIF();
57 
62  virtual Real
63  value(const RealVect& a_pos) const override;
64 
69  virtual BaseIF*
70  newImplicitFunction() const override;
71 
72 protected:
76  RefCountedPtr<BaseIF> m_baseIF;
77 
82 };
83 
84 #include <CD_NamespaceFooter.H>
85 
86 #endif
"Mushroom" implicit function. Consists of a cylinder with a circular plate on top.
Definition: CD_MushroomIF.H:27
MushroomIF(const RealVect a_center, const Real a_R, const Real a_r, const Real a_L, const Real a_d, const Real a_curv, const bool a_fluidInside)
Full constructor.
Definition: CD_MushroomIF.cpp:23
virtual BaseIF * newImplicitFunction() const override
Factory function.
Definition: CD_MushroomIF.cpp:71
virtual ~MushroomIF()
Destructor (does nothing)
Definition: CD_MushroomIF.cpp:55
RefCountedPtr< BaseIF > m_baseIF
Implicit function – this is a smooth union between the foot and the circular plate.
Definition: CD_MushroomIF.H:76
virtual Real value(const RealVect &a_pos) const override
Value function.
Definition: CD_MushroomIF.cpp:59
bool m_fluidInside
Fluid on the inside or not.
Definition: CD_MushroomIF.H:81