From ab0c50ac35f900a1d5f96cd67d4683c9701a319b Mon Sep 17 00:00:00 2001 From: Niklas Schnierstein <schni@draco02.mpcdf.mpg.de> Date: Thu, 13 Feb 2020 14:48:06 +0100 Subject: [PATCH] added factor for ou correlation time --- cpp/full_code/ornstein_uhlenbeck_process.cpp | 2 ++ cpp/full_code/ornstein_uhlenbeck_process.hpp | 4 +++- cpp/full_code/ou_vorticity_equation.hpp | 3 ++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/cpp/full_code/ornstein_uhlenbeck_process.cpp b/cpp/full_code/ornstein_uhlenbeck_process.cpp index 0f26231c..e02cb771 100644 --- a/cpp/full_code/ornstein_uhlenbeck_process.cpp +++ b/cpp/full_code/ornstein_uhlenbeck_process.cpp @@ -16,6 +16,7 @@ ornstein_uhlenbeck_process<rnumber,be>::ornstein_uhlenbeck_process( double ou_kmin, double ou_kmax, double ou_energy_amplitude, + double ou_gamma_factor, double DKX, double DKY, double DKZ, @@ -44,6 +45,7 @@ ornstein_uhlenbeck_process<rnumber,be>::ornstein_uhlenbeck_process( this->ou_kmin_squ = pow(ou_kmin,2); this->ou_kmax_squ = pow(ou_kmax,2); this->ou_energy_amplitude = ou_energy_amplitude; + this->ou_gamma_factor = ou_gamma_factor; this->epsilon = pow((this->ou_energy_amplitude/this->kolmogorov_constant), 3./2.); assert(this->kk->kM2 >= this->ou_kmax_squ); diff --git a/cpp/full_code/ornstein_uhlenbeck_process.hpp b/cpp/full_code/ornstein_uhlenbeck_process.hpp index 750c3ccc..05beaea6 100644 --- a/cpp/full_code/ornstein_uhlenbeck_process.hpp +++ b/cpp/full_code/ornstein_uhlenbeck_process.hpp @@ -19,6 +19,7 @@ class ornstein_uhlenbeck_process{ double ou_kmin_squ; double ou_kmax_squ; double ou_energy_amplitude; + double ou_gamma_factor; double kolmogorov_constant = 2; double epsilon; @@ -38,6 +39,7 @@ class ornstein_uhlenbeck_process{ double ou_kmin, double ou_kmax, double ou_energy_amplitude, + double ou_gamma_factor, double DKX = 1.0, double DKY = 1.0, double DKZ = 1.0, @@ -52,7 +54,7 @@ class ornstein_uhlenbeck_process{ inline double gamma(double kabs) { - return pow(kabs,2./3.)*this->kolmogorov_constant*sqrt(this->kolmogorov_constant/ + return this->ou_gamma_factor*pow(kabs,2./3.)*this->kolmogorov_constant*sqrt(this->kolmogorov_constant/ this->ou_energy_amplitude); } diff --git a/cpp/full_code/ou_vorticity_equation.hpp b/cpp/full_code/ou_vorticity_equation.hpp index e36292c2..8f8e110c 100644 --- a/cpp/full_code/ou_vorticity_equation.hpp +++ b/cpp/full_code/ou_vorticity_equation.hpp @@ -24,6 +24,7 @@ class ou_vorticity_equation : public vorticity_equation<rnumber, be> double ou_kmin, double ou_kmax, double ou_energy_amplitude, + double ou_gamma_factor, double DKX = 1.0, double DKY = 1.0, double DKZ = 1.0, @@ -34,7 +35,7 @@ class ou_vorticity_equation : public vorticity_equation<rnumber, be> this->ou = new ornstein_uhlenbeck_process<rnumber,be>( NAME, nx, ny, nz, - ou_kmin, ou_kmax, ou_energy_amplitude, + ou_kmin, ou_kmax, ou_energy_amplitude,ou_gamma_factor, DKX, DKY, DKZ, FFTW_PLAN_RIGOR); this->ou_forcing_type = "replace"; } -- GitLab