chombo-discharge
Loading...
Searching...
No Matches
CD_RoundedCylinderIF.H
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2021-2026 SINTEF Energy Research
3 *
4 * SPDX-License-Identifier: GPL-3.0-or-later
5 */
6
13#ifndef CD_ROUNDEDCYLINDERIF_H
14#define CD_ROUNDEDCYLINDERIF_H
15
16// Chombo includes
17#include <BaseIF.H>
18
19// Our includes
20#include <CD_NamespaceHeader.H>
21
25class RoundedCylinderIF : public BaseIF
26{
27public:
36 RoundedCylinderIF(const RealVect& a_center1,
37 const RealVect& a_center2,
38 const Real a_radius,
39 const Real a_curv,
40 const bool a_fluidInside);
41
46 RoundedCylinderIF(const RoundedCylinderIF& a_inputIF);
47
53 virtual Real
54 value(const RealVect& a_point) const override;
55
60 virtual BaseIF*
61 newImplicitFunction() const override;
62
63protected:
67 RealVect m_center1;
68
72 RealVect m_center2;
73
78
83
87 Real m_curv;
88
93
97 RefCountedPtr<BaseIF> m_baseIF;
98
102 void
103 makeBaseIF();
104
109#if CH_SPACEDIM == 2
110 BaseIF*
111 makeBaseIF2D();
112#elif CH_SPACEDIM == 3
113 BaseIF*
114 makeBaseIF3D();
115#endif
116};
117
118#include <CD_NamespaceFooter.H>
119
120#endif
Cylinder object with rounded edges (no endcaps)
Definition CD_RoundedCylinderIF.H:26
Real m_radius
Cylinder radius.
Definition CD_RoundedCylinderIF.H:82
void makeBaseIF()
Make the implicit function.
Definition CD_RoundedCylinderIF.cpp:66
RealVect m_center2
Cylinder center.
Definition CD_RoundedCylinderIF.H:72
bool m_fluidInside
Inside or outside domain.
Definition CD_RoundedCylinderIF.H:92
Real m_length
Cylinder length.
Definition CD_RoundedCylinderIF.H:77
Real m_curv
Radius of curvature.
Definition CD_RoundedCylinderIF.H:87
virtual Real value(const RealVect &a_point) const override
Get distance to object.
Definition CD_RoundedCylinderIF.cpp:48
RealVect m_center1
Cylinder center.
Definition CD_RoundedCylinderIF.H:67
virtual BaseIF * newImplicitFunction() const override
IF factory method.
Definition CD_RoundedCylinderIF.cpp:60
RefCountedPtr< BaseIF > m_baseIF
Implicit function.
Definition CD_RoundedCylinderIF.H:97
BaseIF * makeBaseIF3D()
Make BaseIF.
Definition CD_RoundedCylinderIF.cpp:106