chombo-discharge
CD_ProfilePlaneIF.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_ProfilePlaneIF_H
13 #define CD_ProfilePlaneIF_H
14 
15 // Chombo includes
16 #include <BaseIF.H>
17 
18 // Our includes
19 #include <CD_NamespaceHeader.H>
20 
25 class ProfilePlaneIF : public BaseIF
26 {
27 public:
31  ProfilePlaneIF() = delete;
32 
46  ProfilePlaneIF(const RealVect a_point,
47  const Real a_width,
48  const BaseIF* a_impFunc,
49  const int a_numLeft,
50  const int a_numRight,
51  const Real a_ccDist,
52  const Real a_xShift,
53  const Real a_yShift,
54  const Real a_curv,
55  const bool a_fluidInside);
56 
61  ProfilePlaneIF(const ProfilePlaneIF& a_inputIF);
62 
66  virtual ~ProfilePlaneIF();
67 
72  virtual Real
73  value(const RealVect& a_pos) const;
74 
78  virtual BaseIF*
79  newImplicitFunction() const;
80 
81 protected:
82  RefCountedPtr<BaseIF> m_baseif;
83 
84  bool m_fluidInside;
85 };
86 
87 #include <CD_NamespaceFooter.H>
88 
89 #endif
Implicit function which represents an infinite half-plane with "holes".
Definition: CD_ProfilePlaneIF.H:26
virtual Real value(const RealVect &a_pos) const
Level-set function.
Definition: CD_ProfilePlaneIF.cpp:91
virtual ~ProfilePlaneIF()
Destructor.
Definition: CD_ProfilePlaneIF.cpp:87
virtual BaseIF * newImplicitFunction() const
Factory method.
Definition: CD_ProfilePlaneIF.cpp:103
ProfilePlaneIF()=delete
Disallowed weak construction.