chombo-discharge
Loading...
Searching...
No Matches
CD_PerlinSlabSdf.H
Go to the documentation of this file.
1/* chombo-discharge
2 * Copyright © 2021 SINTEF Energy Research.
3 * Please refer to Copyright.txt and LICENSE in the chombo-discharge root directory.
4 */
5
12#ifndef CD_PerlinSlabSdf_H
13#define CD_PerlinSlabSdf_H
14
15// Chombo includes
16#include <BaseIF.H>
17
18// Our includes
19#include <CD_NamespaceHeader.H>
20
24class PerlinSlabSdf : public BaseIF
25{
26public:
30 PerlinSlabSdf() = delete;
31
48 const RealVect a_normal,
49 const RealVect a_xyz,
51 const int a_octaves,
52 const Real a_noiseAmp,
53 const Real a_persistence,
54 const Real a_cornerCurv,
55 const bool a_reseed,
56 const bool a_fluidInside);
57
62
66 virtual ~PerlinSlabSdf();
67
72 virtual Real
73 value(const RealVect& a_pos) const override;
74
78 virtual BaseIF*
79 newImplicitFunction() const override;
80
81protected:
86
91};
92
93#include <CD_NamespaceFooter.H>
94
95#endif
Implicit function class describing a slab (box) with surface noise on the top.
Definition CD_PerlinSlabSdf.H:25
PerlinSlabSdf()=delete
No weak constructor allowed, use the full constructor.
virtual BaseIF * newImplicitFunction() const override
Factory function.
Definition CD_PerlinSlabSdf.cpp:98
bool m_fluidInside
Fluid on inside or not.
Definition CD_PerlinSlabSdf.H:90
virtual ~PerlinSlabSdf()
Destructor (does nothing)
Definition CD_PerlinSlabSdf.cpp:82
RefCountedPtr< BaseIF > m_baseif
Implicit function. This is a union between cutting planes and a perlin plane.
Definition CD_PerlinSlabSdf.H:85
virtual Real value(const RealVect &a_pos) const override
Value function. Returns distance to object.
Definition CD_PerlinSlabSdf.cpp:86
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:37