chombo-discharge
Loading...
Searching...
No Matches
CD_HollowCylinderIF.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_HOLLOWCYLINDERIF_H
14#define CD_HOLLOWCYLINDERIF_H
15
16// Chombo includes
17#include <RealVect.H>
18#include <BaseIF.H>
19#include <TransformIF.H>
20#include <LatheIF.H>
21
22// Our includes
23#include <CD_NamespaceHeader.H>
24
28class HollowCylinderIF : public BaseIF
29{
30public:
34 HollowCylinderIF() = delete;
35
46 HollowCylinderIF(const RealVect& a_center1,
47 const RealVect& a_center2,
48 const Real a_majorRadius,
49 const Real a_minorRadius,
50 const Real a_outerCurvature,
51 const Real a_innerCurvature,
52 const bool a_fluidInside);
53
58 HollowCylinderIF(const HollowCylinderIF& a_inputIF);
59
65 virtual Real
66 value(const RealVect& a_point) const override;
67
72 virtual BaseIF*
73 newImplicitFunction() const override;
74
75protected:
79 RefCountedPtr<BaseIF> m_baseIF;
80};
81
82#include <CD_NamespaceFooter.H>
83
84#endif
This class is used to generate a hollow cylinder with rounded edges.
Definition CD_HollowCylinderIF.H:29
HollowCylinderIF()=delete
Disallowed weak construction.
RefCountedPtr< BaseIF > m_baseIF
3D object rotated and translated to its specified position
Definition CD_HollowCylinderIF.H:79
virtual BaseIF * newImplicitFunction() const override
IF factory method.
Definition CD_HollowCylinderIF.cpp:63
virtual Real value(const RealVect &a_point) const override
Test whether inside or not.
Definition CD_HollowCylinderIF.cpp:57