chombo-discharge
Loading...
Searching...
No Matches
CD_PerlinRodSdf.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_PERLINRODSDF_H
14#define CD_PERLINRODSDF_H
15
16// Chombo includes
17#include <BaseIF.H>
18
19// Our includes
20#include <CD_CylinderSdf.H>
22#include <CD_NamespaceHeader.H>
23
28{
29public:
33 PerlinRodSdf() = delete;
34
48 PerlinRodSdf(const Real& a_rad,
49 const RealVect& a_center1,
50 const RealVect& a_center2,
51 const bool& a_inside,
52 const Real& a_noiseAmp,
53 const RealVect& a_noiseFreq,
54 const Real& a_persistence,
55 const int& a_octaves,
56 const bool& a_reseed = false);
57
63
67 virtual ~PerlinRodSdf();
68
74 virtual Real
75 value(const RealVect& a_pos) const;
76
81 virtual BaseIF*
82 newImplicitFunction() const;
83
84protected:
89};
90
91#include <CD_NamespaceFooter.H>
92
93#endif
Declaration of a cylindrical signed distance function.
Declaration of a graded noisy sphere.
A rod geometry, but with noise on one of the end caps.
Definition CD_PerlinRodSdf.H:28
virtual ~PerlinRodSdf()
Destructor.
virtual BaseIF * newImplicitFunction() const
Factory function.
Definition CD_PerlinRodSdf.cpp:82
virtual Real value(const RealVect &a_pos) const
Value function.
Definition CD_PerlinRodSdf.cpp:76
PerlinRodSdf()=delete
No weak construction.
RefCountedPtr< BaseIF > m_baseif
Basis rod, used for copying.
Definition CD_PerlinRodSdf.H:88
PerlinRodSdf(const PerlinRodSdf &a_inputIF)
Copy constructor.
Noisy sphere geometry (with Perlin noise).
Definition CD_PerlinSphereSdf.H:28
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:38