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:
37 const RealVect& a_center2,
38 const Real a_radius,
39 const Real a_curv,
40 const bool a_fluidInside);
41
47
53 virtual Real
54 value(const RealVect& a_point) const override;
55
60 virtual BaseIF*
61 newImplicitFunction() const override;
62
63protected:
68
73
78
83
88
93
98
102 void
103 makeBaseIF();
104
108#if CH_SPACEDIM == 2
109 BaseIF*
110 makeBaseIF2D();
111#elif CH_SPACEDIM == 3
112 BaseIF*
113 makeBaseIF3D();
114#endif
115};
116
117#include <CD_NamespaceFooter.H>
118
119#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
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:38