milupHPC documentation
  • include
parameter.h
Go to the documentation of this file.
1#ifndef MILUPHPC_PARAMETER_H
2#define MILUPHPC_PARAMETER_H
3
4#include <limits>
5
12#ifdef SINGLE_PRECISION
13 typedef float real;
14#else
15 typedef double real;
16#endif
17typedef int integer;
18typedef unsigned long keyType;
19typedef int idInteger;
20
21#include <iostream>
22
23//#define theta 0.5
24
25#define MAX_LEVEL 21
26
27#define DEBUGGING 0
28
35#define SAFETY_LEVEL 1
36
38#define DIM 3
39#define power_two(x) (1 << (x))
40#define POW_DIM power_two(DIM)
41
43#define SI_UNITS 0
44
46#define CUBIC_DOMAINS 1
47
49#define GRAVITY_SIM 1
50
52#define SPH_SIM 0
53
55#define INTEGRATE_ENERGY 0
56
58#define INTEGRATE_DENSITY 0
59
61#define INTEGRATE_SML 0
62
64#define DECOUPLE_SML 0
65
67#define VARIABLE_SML 0
68
70#define SML_CORRECTION 0
71
81#define SPH_EQU_VERSION 1
82
83// deprecated flag
84#define ARTIFICIAL_VISCOSITY 1
85#define BALSARA_SWITCH 0
86
87// to be (fully) implemented flags
88#define AVERAGE_KERNELS 0
89#define DEAL_WITH_TOO_MANY_INTERACTIONS 0
90#define SHEPARD_CORRECTION 0
91#define SOLID 0
92#define NAVIER_STOKES 0
93#define ARTIFICIAL_STRESS 0
94#define POROSITY 0
95#define ZERO_CONSISTENCY 0
96#define LINEAR_CONSISTENCY 0
97#define FRAGMENTATION 0
98#define PALPHA_POROSITY 0
99#define PLASTICITY 0
100#define KLEY_VISCOSITY 0
101
102#define KEY_MAX ULONG_MAX
103//TODO: make domain list size to run time constant
104#define DOMAIN_LIST_SIZE 512
105#define MAX_DEPTH 128
106#define MAX_NUM_INTERACTIONS 180
107#define NUM_THREADS_LIMIT_TIME_STEP 256
108#define NUM_THREADS_CALC_CENTER_OF_MASS 256
109
110// Courant (CFL) number (note that our sml is defined up to the zero of the kernel, not half of it)
111#define COURANT_FACT 0.4
112
113#define FORCES_FACT 0.2
114
115constexpr real dbl_max = std::numeric_limits<real>::max();
116#define DBL_MAX dbl_max;
117
118namespace Constants {
119 constexpr real G = 6.67430e-11;
120}
121
122typedef struct SimulationParameters {
123 std::string directory;
124 std::string logDirectory;
125 int verbosity;
126 bool timeKernels;
127 int numOutputFiles;
128 real timeStep;
129 real maxTimeStep;
130 real timeEnd;
131 bool loadBalancing;
132 int loadBalancingInterval;
133 int loadBalancingBins;
134 std::string inputFile;
135 std::string materialConfigFile;
136 int outputRank;
137 bool performanceLog;
138 bool particlesSent2H5;
139 int sfcSelection;
140 int integratorSelection;
141//#if GRAVITY_SIM
142 real theta;
143 real smoothing;
144 int gravityForceVersion;
145//#endif
146//#if SPH_SIM
147 int smoothingKernelSelection;
148 int sphFixedRadiusNNVersion;
149//#endif
150 bool removeParticles;
151 int removeParticlesCriterion;
152 real removeParticlesDimension;
153 int bins;
154 bool calculateAngularMomentum;
155 bool calculateEnergy;
156 bool calculateCenterOfMass;
157 real particleMemoryContingent;
158 int domainListSize;
159} SimulationParameters;
160
161struct To
162{
163 enum Target
164 {
165 host, device
166 };
167 Target t_;
168 To(Target t) : t_(t) {}
169 operator Target () const {return t_;}
170private:
171 template<typename T>
172 operator T () const;
173};
174
175struct Smoothing
176{
177 enum Kernel
178 {
179 spiky, cubic_spline, wendlandc2, wendlandc4, wendlandc6
180 };
181 Kernel t_;
182 Smoothing(Kernel t) : t_(t) {}
183 operator Smoothing () const {return t_;}
184private:
185 template<typename T>
186 operator T () const;
187};
188
189struct Execution
190{
191 enum Location
192 {
193 host, device
194 };
195 Location t_;
196 Execution(Location t) : t_(t) {}
197 operator Location () const {return t_;}
198private:
199 template<typename T>
200 operator T () const;
201};
202
203struct Curve
204{
205 enum Type
206 {
207 lebesgue, hilbert
208 };
209 Type t_;
210 Curve(Type t) : t_(t) {}
211 operator Type () const {return t_;}
212 //friend std::ostream& operator<<(std::ostream& out, const Curve::Type curveType);
213private:
214 template<typename T>
215 operator T () const;
216};
217
218struct IntegratorSelection
219{
220 enum Type
221 {
222 explicit_euler, predictor_corrector_euler, leapfrog
223 };
224 Type t_;
225 IntegratorSelection(Type t) : t_(t) {}
226 operator Type () const {return t_;}
227private:
228 template<typename T>
229 operator T () const;
230};
231
233enum EquationOfStates {
234 //EOS_TYPE_ACCRETED = -2, /// special flag for particles that got accreted by a gravitating point mass
235 //EOS_TYPE_IGNORE = -1, /// particle is ignored
236 EOS_TYPE_POLYTROPIC_GAS = 0,
237 //EOS_TYPE_MURNAGHAN = 1, /// Murnaghan EOS for solid bodies, see Melosh "Impact Cratering", needs in material.cfg: rho_0, bulk_modulus, n
238 //EOS_TYPE_TILLOTSON = 2, /// Tillotson EOS for solid bodies, see Melosh "Impact Cratering", needs in material.cfg: till_rho_0, till_A, till_B, till_E_0, till_E_iv, till_E_cv, till_a, till_b, till_alpha, till_beta; bulk_modulus and shear_modulus are needed to calculate the sound speed and crack growth speed for FRAGMENTATION
239 EOS_TYPE_ISOTHERMAL_GAS = 3,
240 //EOS_TYPE_REGOLITH = 4, /// The Bui et al. 2008 soil model
241 //EOS_TYPE_JUTZI = 5, /// Tillotson EOS with p-alpha model by Jutzi et al.
242 //EOS_TYPE_JUTZI_MURNAGHAN = 6, /// Murnaghan EOS with p-alpha model by Jutzi et al.
243 //EOS_TYPE_ANEOS = 7, /// ANEOS (or tabulated EOS in ANEOS format)
244 //EOS_TYPE_VISCOUS_REGOLITH = 8, /// describe regolith as a viscous material -> EXPERIMENTAL DO NOT USE
245 EOS_TYPE_IDEAL_GAS = 9,
246 //EOS_TYPE_SIRONO = 10, /// Sirono EOS modifed by Geretshauser in 2009/10
247 //EOS_TYPE_EPSILON = 11, /// Tillotson EOS with epsilon-alpha model by Wuennemann, Collins et al.
248 EOS_TYPE_LOCALLY_ISOTHERMAL_GAS = 12,
249 //EOS_TYPE_JUTZI_ANEOS = 13/// ANEOS EOS with p-alpha model by Jutzi et al.
250};
251
252struct Entry
253{
254 enum Name
255 {
256 x,
257#if DIM > 1
258 y,
259#if DIM == 3
260 z,
261#endif
262#endif
263 mass
264 };
265 Name t_;
266 Entry(Name t) : t_(t) {}
267 operator Name () const {return t_;}
268private:
269 template<typename T>
270 operator T () const;
271};
272
273
274//#define SOLID
275// ideal hydro, navier stokes
276//#define HYDRO
277//#define PLASTICITY // no changes for particles (class) itself, but for material config
278
279/*
280// Basic physical model, choose one of the following:
281// SOLID solves continuum mechanics with material strength, and stress tensor \sigma^{\alpha \beta} = -p \delta^{\alpha \beta} + S^{\alpha \beta}
282// HYDRO solves only the Euler equation, and there is only (scalar) pressure
283#define SOLID 1
284#define HYDRO 0
285// set additionally p to 0 if p < 0
286#define REAL_HYDRO 0
287
288// add additional point masses to the simulation, read from file <filename>.mass
289// format is location velocities mass r_min r_max, where location and velocities are vectors with size DIM and
290// r_min/r_max are min/max distances of sph particles to the bodies before they are taken out of the simulation
291#define GRAVITATING_POINT_MASSES 0
292
293// sink particles (set point masses to be sink particles)
294#define PARTICLE_ACCRETION 0 // check if particle is bound to one of the sink particles (crossed the accretion radius, rmin); if also UPDATE_SINK_VALUES 1: particle is accreted and ignored afterwards, else: continues orbiting without being accreted
295#define UPDATE_SINK_VALUES 0 // add to sink the quantities of the accreted particle: mass, velocity and COM
296
297// integrate the energy equation
298// when setting up a SOLID simulation with Tillotson or ANEOS, it must be set to 1
299#define INTEGRATE_ENERGY 0
300
301// integrate the continuity equation
302// if set to 0, the density will be calculated using the standard SPH sum \sum_i m_j W_ij
303#define INTEGRATE_DENSITY 1
304
305// adds viscosity to the Euler equation
306#define NAVIER_STOKES 0
307// choose between two different viscosity models
308#define SHAKURA_SUNYAEV_ALPHA 0
309#define CONSTANT_KINEMATIC_VISCOSITY 0
310// artificial bulk viscosity according to Schaefer et al. (2004)
311#define KLEY_VISCOSITY 0
312
313// This is the damage model following Benz & Asphaug (1995). Set FRAGMENTATION to activate it.
314// The damage acts always on pressure, but only on deviator stresses if DAMAGE_ACTS_ON_S is
315// activated too, which is an important switch depending on the plasticity model (see comments there).
316// Note: The damage model needs distribution of activation thresholds in the input file.
317#define FRAGMENTATION 0
318#define DAMAGE_ACTS_ON_S 0
319
320// Choose the SPH representation to solve the momentum and energy equation:
321// SPH_EQU_VERSION 1: original version with HYDRO dv_a/dt ~ - (p_a/rho_a**2 + p_b/rho_b**2) \nabla_a W_ab
322// SOLID dv_a/dt ~ (sigma_a/rho_a**2 + sigma_b/rho_b**2) \nabla_a W_ab
323// SPH_EQU_VERSION 2: slighty different version with
324// HYDRO dv_a/dt ~ - (p_a+p_b)/(rho_a*rho_b) \nabla_a W_ab
325// SOLID dv_a/dt ~ (sigma_a+sigma_b)/(rho_a*rho_b) \nabla_a W_ab
326// If you do not know what to do, choose SPH_EQU_VERSION 1.
327#define SPH_EQU_VERSION 1
328
329// for the tensile instability fix
330// you do not need this
331#define ARTIFICIAL_STRESS 0
332
333// standard SPH alpha/beta viscosity
334#define ARTIFICIAL_VISCOSITY 1
335// Balsara switch: lowers the artificial viscosity in regions without shocks
336#define BALSARA_SWITCH 0
337
338// INVISCID SPH (see Cullen & Dehnen paper)
339#define INVISCID_SPH 0
340
341// consistency switches
342// for zeroth order consistency
343#define SHEPARD_CORRECTION 0
344// for linear consistency
345// add tensorial correction tensor to dSdt calculation -> better conservation of angular momentum
346#define TENSORIAL_CORRECTION 1
347
348// Available plastic flow conditions:
349// (if you do not know what this is, choose (1) or nothing)
350// (1) Simple von Mises plasticity with a constant yield strength:
351#define VON_MISES_PLASTICITY 0
352// (2) Drucker-Prager (DP) yield criterion -> yield strength is given by the condition \sqrt(J_2) + A * I_1 + B = 0
353// with I_1: first invariant of stress tensor
354// J_2: second invariant of stress tensor
355// A, B: DP constants, which are calculated from angle of internal friction and cohesion
356#define DRUCKER_PRAGER_PLASTICITY 0
357// (3) Mohr-Coulomb (MC) yield criterion
358// -> yield strength is given by yield_stress = tan(friction_angle) \times pressure + cohesion
359#define MOHR_COULOMB_PLASTICITY 0
360// Note: DP and MC are intended for granular-like materials, therefore the yield strength simply decreases (linearly) to zero for p<0.
361// Note: For DP and MC you can additionally choose (1) to impose an upper limit for the yield stress.
362// (4) Pressure dependent yield strength following Collins et al. (2004) and the implementation in Jutzi (2015)
363// -> yield strength is different for damaged (Y_d) and intact material (Y_i), and averaged mean (Y) in between:
364// Y_i = cohesion + \mu P / (1 + \mu P / (yield_stress - cohesion) )
365// where *cohesion* is the yield strength for P=0 and *yield_stress* the asymptotic limit for P=\infty
366// \mu is the coefficient of internal friction (= tan(friction_angle))
367// Y_d = cohesion_damaged + \mu_d \times P
368// where \mu_d is the coefficient of friction of the *damaged* material
369// Y = (1-damage)*Y_i + damage*Y_d
370// Y is limited to <= Y_i
371// Note: If FRAGMENTATION is not activated only Y_i is used.
372// DAMAGE_ACTS_ON_S is not allowed for this model, since the limiting of S already depends on damage.
373// If you want to additionally model the influence of some (single) melt energy on the yield strength, then activate
374// COLLINS_PLASTICITY_INCLUDE_MELT_ENERGY, which adds a factor (1-e/e_melt) to the yield strength.
375#define COLLINS_PLASTICITY 0
376#define COLLINS_PLASTICITY_INCLUDE_MELT_ENERGY 0
377// (5) Simplified version of the Collins et al. (2004) model, which uses only the
378// strength representation for intact material (Y_i), irrespective of damage.
379// Unlike in (4), Y decreases to zero (following a linear yield strength curve) for p<0.
380// In addition, negative pressures are limited to the pressure corresponding to
381// yield strength = 0 (i.e., are set to this value when they get more negative).
382#define COLLINS_PLASTICITY_SIMPLE 0
383// Note: The deviator stress tensor is additionally reduced by FRAGMENTATION (i.e., damage) only if
384// DAMAGE_ACTS_ON_S is set. For most plasticity models it depends on the use case whether this
385// is desired, only for COLLINS_PLASTICITY it is not reasonable (and therefore not allowed).
386
387// model regolith as viscous fluid -> experimental setup, only for powerusers
388#define VISCOUS_REGOLITH 0
389// use Bui model for regolith -> experimental setup, only for powerusers
390#define PURE_REGOLITH 0
391// use Johnson-Cook plasticity model -> experimental setup, only for powerusers
392#define JC_PLASTICITY 0
393
394// Porosity models:
395// p-alpha model implemented following Jutzi (200x)
396#define PALPHA_POROSITY 0 // pressure depends on distention
397#define STRESS_PALPHA_POROSITY 0 // deviatoric stress is also affected by distention
398// Sirono model modified by Geretshauser (2009/10)
399#define SIRONO_POROSITY 0
400// eps-alpha model implemented following Wuennemann
401#define EPSALPHA_POROSITY 0
402
403// max number of activation thresholds per particle, only required for FRAGMENTATION, otherwise set to 1
404#define MAX_NUM_FLAWS 1
405// maximum number of interactions per particle -> fixed array size
406#define MAX_NUM_INTERACTIONS 128
407
408// if set to 1, the smoothing length is not fixed for each material type
409// choose either FIXED_NOI for a fixed number of interaction partners following
410// the ansatz by Hernquist and Katz
411// or choose INTEGRATE_SML if you want to additionally integrate an ODE for
412// the sml following the ansatz by Benz and integrate the ODE for the smoothing length
413// d sml / dt = sml/DIM * 1/rho \nabla velocity
414// if you want to specify an individual initial smoothing length for each particle (instead of the material
415// specific one in material.cfg) in the initial particle file, set READ_INITIAL_SML_FROM_PARTICLE_FILE to 1
416#define VARIABLE_SML 0
417#define FIXED_NOI 0
418#define INTEGRATE_SML 0
419#define READ_INITIAL_SML_FROM_PARTICLE_FILE 0
420
421// correction terms for sml calculation: adds gradient of the smoothing length to continuity equation, equation of motion, internal energy equation
422#define SML_CORRECTION 0
423
424// if set to 0, h = (h_i + h_j)/2 is used to calculate W_ij
425// if set to 1, W_ij = ( W(h_i) + W(h_j) ) / 2
426#define AVERAGE_KERNELS 1
427
428
429// important switch: if the simulations yields at some point too many interactions for
430// one particle (given by MAX_NUM_INTERACTIONS), then its smoothing length will be set to 0
431// and the simulation continues. It will be announced on *stdout* when this happens
432// if set to 0, the simulation stops in such a case unless DEAL_WITH_TOO_MANY_INTERACTIONS is used
433#define TOO_MANY_INTERACTIONS_KILL_PARTICLE 0
434// important switch: if the simulations yields at some point too many interactions for
435// one particle (given by MAX_NUM_INTERACTIONS), then its smoothing length will be lowered until
436// the interactions are lower than MAX_NUM_INTERACTIONS
437#define DEAL_WITH_TOO_MANY_INTERACTIONS 0
438
439// additional smoothing of the velocity field
440// hinders particle penetration
441// see Morris and Monaghan 1984
442#define XSPH 0
443
444// boundaries EXPERIMENTAL, please do not use this....
445#define BOUNDARY_PARTICLE_ID -1
446#define GHOST_BOUNDARIES 0
447// note: see additionally boundaries.cu with functions beforeRHS and afterRHS for boundary conditions
448
449// IO options
450#define HDF5IO 1 // use HDF5 (needs libhdf5-dev and libhdf5)
451#define MORE_OUTPUT 0 //produce additional output to HDF5 files (p_max, p_min, rho_max, rho_min); only ueful when HDF5IO is set
452#define MORE_ANEOS_OUTPUT 0 // produce additional output to HDF5 files (T, cs, entropy, phase-flag); only useful when HDF5IO is set; set only if you use the ANEOS eos, but currently not supported for porosity+ANEOS
453#define OUTPUT_GRAV_ENERGY 0 // compute and output gravitational energy (at times when output files are written); of all SPH particles (and also w.r.t. gravitating point masses and between them); direct particle-particle summation, not tree; option exists to control costly computation for high particle numbers
454#define BINARY_INFO 0 // generates additional output file (binary_system.log) with info regarding binary system: semi-major axis, eccentricity if GRAVITATING_POINT_MASSES == 1
455*/
456
457#endif //MILUPHPC_PARAMETER_H
Constants
(Physical) constants
Definition: parameter.h:118
Constants::G
constexpr real G
Gravitational constant.
Definition: parameter.h:119
Kernel
Definition: device_rhs.cuh:7
cuda::math::max
__device__ real max(real a, real b)
Maximum value out of two floating point values.
Definition: cuda_utilities.cu:431
dbl_max
constexpr real dbl_max
Definition: parameter.h:115
real
double real
Definition: parameter.h:15
keyType
unsigned long keyType
Definition: parameter.h:18
SimulationParameters
struct SimulationParameters SimulationParameters
integer
int integer
Definition: parameter.h:17
EquationOfStates
EquationOfStates
implemented equation of states
Definition: parameter.h:233
EOS_TYPE_LOCALLY_ISOTHERMAL_GAS
@ EOS_TYPE_LOCALLY_ISOTHERMAL_GAS
ideal gas equation, set polytropic_gamma in material.cfg
Definition: parameter.h:248
EOS_TYPE_IDEAL_GAS
@ EOS_TYPE_IDEAL_GAS
this is pure molecular hydrogen at 10 K
Definition: parameter.h:245
EOS_TYPE_ISOTHERMAL_GAS
@ EOS_TYPE_ISOTHERMAL_GAS
polytropic EOS for gas, needs polytropic_K and polytropic_gamma in material.cfg file
Definition: parameter.h:239
EOS_TYPE_POLYTROPIC_GAS
@ EOS_TYPE_POLYTROPIC_GAS
Definition: parameter.h:236
idInteger
int idInteger
Definition: parameter.h:19
Curve
Available space-filling curves.
Definition: parameter.h:204
Curve::Type
Type
Definition: parameter.h:206
Curve::lebesgue
@ lebesgue
Definition: parameter.h:207
Curve::hilbert
@ hilbert
Definition: parameter.h:207
Curve::t_
Type t_
Definition: parameter.h:209
Curve::Curve
Curve(Type t)
Definition: parameter.h:210
Entry
Definition: parameter.h:253
Entry::Name
Name
Definition: parameter.h:255
Entry::mass
@ mass
Definition: parameter.h:263
Entry::y
@ y
Definition: parameter.h:258
Entry::x
@ x
Definition: parameter.h:256
Entry::z
@ z
Definition: parameter.h:260
Entry::Entry
Entry(Name t)
Definition: parameter.h:266
Entry::t_
Name t_
Definition: parameter.h:265
Execution
Execution location (host/device).
Definition: parameter.h:190
Execution::Execution
Execution(Location t)
Definition: parameter.h:196
Execution::Location
Location
Definition: parameter.h:192
Execution::device
@ device
Definition: parameter.h:193
Execution::host
@ host
Definition: parameter.h:193
Execution::t_
Location t_
Definition: parameter.h:195
IntegratorSelection
Available integrators.
Definition: parameter.h:219
IntegratorSelection::Type
Type
Definition: parameter.h:221
IntegratorSelection::predictor_corrector_euler
@ predictor_corrector_euler
Definition: parameter.h:222
IntegratorSelection::leapfrog
@ leapfrog
Definition: parameter.h:222
IntegratorSelection::explicit_euler
@ explicit_euler
Definition: parameter.h:222
IntegratorSelection::t_
Type t_
Definition: parameter.h:224
IntegratorSelection::IntegratorSelection
IntegratorSelection(Type t)
Definition: parameter.h:225
SimulationParameters
Definition: parameter.h:122
SimulationParameters::calculateAngularMomentum
bool calculateAngularMomentum
Definition: parameter.h:154
SimulationParameters::loadBalancing
bool loadBalancing
apply load balancing
Definition: parameter.h:131
SimulationParameters::logDirectory
std::string logDirectory
log file(s) directory
Definition: parameter.h:124
SimulationParameters::theta
real theta
clumping parameter/
Definition: parameter.h:142
SimulationParameters::maxTimeStep
real maxTimeStep
max (allowed) time step
Definition: parameter.h:129
SimulationParameters::removeParticlesDimension
real removeParticlesDimension
Definition: parameter.h:152
SimulationParameters::smoothingKernelSelection
int smoothingKernelSelection
Definition: parameter.h:147
SimulationParameters::loadBalancingInterval
int loadBalancingInterval
apply load balancing each x interval/simulation step
Definition: parameter.h:132
SimulationParameters::timeEnd
real timeEnd
end time of simulation
Definition: parameter.h:130
SimulationParameters::materialConfigFile
std::string materialConfigFile
input file containing material configurations/parameters
Definition: parameter.h:135
SimulationParameters::directory
std::string directory
output file(s) directory
Definition: parameter.h:123
SimulationParameters::loadBalancingBins
int loadBalancingBins
Definition: parameter.h:133
SimulationParameters::bins
int bins
Definition: parameter.h:153
SimulationParameters::domainListSize
int domainListSize
Definition: parameter.h:158
SimulationParameters::outputRank
int outputRank
specify a (MPI) rank for console logging (default: -1 logging all ranks)
Definition: parameter.h:136
SimulationParameters::particlesSent2H5
bool particlesSent2H5
log particles sent to HDF5 file
Definition: parameter.h:138
SimulationParameters::calculateCenterOfMass
bool calculateCenterOfMass
Definition: parameter.h:156
SimulationParameters::timeKernels
bool timeKernels
time the CUDA kernels
Definition: parameter.h:126
SimulationParameters::performanceLog
bool performanceLog
log performance to HDF5 file
Definition: parameter.h:137
SimulationParameters::inputFile
std::string inputFile
input file containing initial particle distribution
Definition: parameter.h:134
SimulationParameters::numOutputFiles
int numOutputFiles
number of output files
Definition: parameter.h:127
SimulationParameters::smoothing
real smoothing
Definition: parameter.h:143
SimulationParameters::verbosity
int verbosity
verbosity level
Definition: parameter.h:125
SimulationParameters::sphFixedRadiusNNVersion
int sphFixedRadiusNNVersion
Definition: parameter.h:148
SimulationParameters::integratorSelection
int integratorSelection
integrator selection
Definition: parameter.h:140
SimulationParameters::sfcSelection
int sfcSelection
space-filling curve selection
Definition: parameter.h:139
SimulationParameters::timeStep
real timeStep
time step
Definition: parameter.h:128
SimulationParameters::gravityForceVersion
int gravityForceVersion
Definition: parameter.h:144
SimulationParameters::removeParticlesCriterion
int removeParticlesCriterion
Definition: parameter.h:151
SimulationParameters::particleMemoryContingent
real particleMemoryContingent
Definition: parameter.h:157
SimulationParameters::calculateEnergy
bool calculateEnergy
Definition: parameter.h:155
SimulationParameters::removeParticles
bool removeParticles
Definition: parameter.h:150
Smoothing
(SPH) available smoothing kernels.
Definition: parameter.h:176
Smoothing::cubic_spline
@ cubic_spline
Definition: parameter.h:179
Smoothing::wendlandc4
@ wendlandc4
Definition: parameter.h:179
Smoothing::spiky
@ spiky
Definition: parameter.h:179
Smoothing::wendlandc6
@ wendlandc6
Definition: parameter.h:179
Smoothing::wendlandc2
@ wendlandc2
Definition: parameter.h:179
Smoothing::Smoothing
Smoothing(Kernel t)
Definition: parameter.h:182
Smoothing::t_
Kernel t_
Definition: parameter.h:181
To
Specify target: device or host.
Definition: parameter.h:162
To::t_
Target t_
Definition: parameter.h:167
To::Target
Target
Definition: parameter.h:164
To::device
@ device
Definition: parameter.h:165
To::host
@ host
Definition: parameter.h:165
To::To
To(Target t)
Definition: parameter.h:168

milupHPC - include/parameter.h Source File
Generated on Wed Aug 31 2022 12:16:52 by Doxygen 1.9.3