chombo-discharge
Loading...
Searching...
No Matches
CD_BoundedNoisePlane.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_BOUNDEDNOISEPLANE_H
14#define CD_BOUNDEDNOISEPLANE_H
15
16// Chombo includes
17#include <PlaneIF.H>
18#include <BaseIF.H>
19
20// Our includes
21#include <CD_PerlinSdf.H>
22#include <CD_NamespaceHeader.H>
23
29class BoundedNoisePlane : public BaseIF
30{
31public:
47 BoundedNoisePlane(const std::string& a_orientation,
48 const RealVect& a_point,
49 const RealVect& a_clampLo,
50 const RealVect& a_clampHi,
51 const Real a_clampK,
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);
61 BoundedNoisePlane(const BoundedNoisePlane& a_inputIF);
62
67
73 virtual Real
74 value(const RealVect& a_pos) const;
75
80 virtual BaseIF*
81 newImplicitFunction() const;
82
83protected:
87 std::pair<int, int> m_normal;
88
92 RealVect m_point;
93
97 RealVect m_clampLo;
98
102 RealVect m_clampHi;
103
108
113
117 RefCountedPtr<BaseIF> m_plane;
118
122 RefCountedPtr<BaseIF> m_perlin;
123};
124
125#include <CD_NamespaceFooter.H>
126
127#endif
Declaration of signed distance Perlin noise.
Infinite plane with spatially bounded surface noise (Perlin noise).
Definition CD_BoundedNoisePlane.H:30
RealVect m_clampHi
Low clamped value.
Definition CD_BoundedNoisePlane.H:102
RefCountedPtr< BaseIF > m_plane
BaseIF function for a plane without noise.
Definition CD_BoundedNoisePlane.H:117
RefCountedPtr< BaseIF > m_perlin
Noise function.
Definition CD_BoundedNoisePlane.H:122
RealVect m_point
Plane point.
Definition CD_BoundedNoisePlane.H:92
virtual BaseIF * newImplicitFunction() const
Factory method.
Definition CD_BoundedNoisePlane.cpp:120
Real m_maxAmp
Maximum noise amplitude.
Definition CD_BoundedNoisePlane.H:112
std::pair< int, int > m_normal
Plane normal. This is in the form of a coordinate direction and a sign.
Definition CD_BoundedNoisePlane.H:87
virtual Real value(const RealVect &a_pos) const
Value function.
Definition CD_BoundedNoisePlane.cpp:91
virtual ~BoundedNoisePlane()
Destructor (does nothing)
Real m_clampK
Transition length.
Definition CD_BoundedNoisePlane.H:107
RealVect m_clampLo
Low clamped value.
Definition CD_BoundedNoisePlane.H:97