Alamo
Set.cpp
Go to the documentation of this file.
1#include "Set.H"
2#include <random>
3namespace Set
4{
5}
6
7namespace Set
8{
9namespace Constant
10{
11
12 // Pi
13 const Set::Scalar Pi = 3.14159265359;
17
18 // Function to update constants to match system level units
20 {
21 // Gas constant
22 Rg = Unit::Parse("8.31446261815_J/mol/K").normalized_value();
23 // Boltzmann constant
24 Boltzmann = Unit::Parse("1.380649e-23_J/K").normalized_value();
25 // Avogadro's number
26 Avogadro = Unit::Parse("6.02214076e23_1/mol").normalized_value();
27 }
28
29}
30}
31
32namespace Util
33{
35{
36 return ((Set::Scalar) rand()) / ((Set::Scalar) RAND_MAX);
37}
38Set::Scalar Gaussian(amrex::Real mean,amrex::Real std_deviation)
39{
40 std::random_device randomness_device{};
41 std::mt19937 pseudorandom_generator{randomness_device()};
42 std::normal_distribution<double> distribution{mean, std_deviation};
43 auto sample = distribution(pseudorandom_generator);
44 return sample;
45}
46
47}
Set::Scalar Boltzmann
Definition Set.cpp:15
void SetGlobalConstants()
Definition Set.cpp:19
Set::Scalar Avogadro
Definition Set.cpp:16
Set::Scalar Rg
Definition Set.cpp:14
const Set::Scalar Pi
Definition Set.cpp:13
A collection of data types and symmetry-reduced data structures.
Definition Base.H:17
amrex::Real Scalar
Definition Base.H:18
A collection of utility routines.
Definition Set.cpp:33
Set::Scalar Random()
Definition Set.cpp:34
Set::Scalar Gaussian(amrex::Real mean, amrex::Real std_deviation)
Definition Set.cpp:38
static Unit Parse(double val, std::string unitstring, bool verbose=false)
Definition Unit.H:270
double normalized_value() const
Definition Unit.H:501