chombo-discharge
Loading...
Searching...
No Matches
CD_PerlinSphereSdf.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_PERLINSPHERESDF_H
14#define CD_PERLINSPHERESDF_H
15
16// Chombo includes
17#include <BaseIF.H>
18#include <SphereIF.H>
19
20// Our includes
21#include <CD_PerlinSdf.H>
22#include <CD_NamespaceHeader.H>
23
27class PerlinSphereSdf : public BaseIF
28{
29public:
35
49 const RealVect& a_center,
50 const bool& a_inside,
51 const Real& a_noiseAmp,
52 const RealVect& a_noiseFreq,
53 const Real& a_persistence,
54 const int& a_octaves,
55 const bool& a_reseed = false);
56
62
67
73 virtual Real
74 value(const RealVect& a_pos) const;
75
80 virtual BaseIF*
81 newImplicitFunction() const;
82
83protected:
88
93
98
103};
104
105#include <CD_NamespaceFooter.H>
106
107#endif
Declaration of signed distance Perlin noise.
Noisy sphere geometry (with Perlin noise).
Definition CD_PerlinSphereSdf.H:28
RefCountedPtr< BaseIF > m_perlinIF
Noise function.
Definition CD_PerlinSphereSdf.H:102
Real m_rad
Radius.
Definition CD_PerlinSphereSdf.H:87
virtual Real value(const RealVect &a_pos) const
Value function. Returns distance to object.
Definition CD_PerlinSphereSdf.cpp:40
virtual BaseIF * newImplicitFunction() const
Factory function.
Definition CD_PerlinSphereSdf.cpp:87
PerlinSphereSdf()
No weak construction.
Definition CD_PerlinSphereSdf.H:33
RealVect m_center
Center.
Definition CD_PerlinSphereSdf.H:92
virtual ~PerlinSphereSdf()
Destructor (does nothing)
bool m_inside
Inside/outside.
Definition CD_PerlinSphereSdf.H:97
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:38