From f65218decc0d04b4338741a815c517f5f88d7366 Mon Sep 17 00:00:00 2001 From: Niklas Schnierstein <niklass@antofalla.nld.ds.mpg.de> Date: Tue, 13 Aug 2019 13:59:41 +0200 Subject: [PATCH] fixed zero mode --- cpp/full_code/ornstein_uhlenbeck_process.cpp | 23 ++++++++++---------- cpp/full_code/ornstein_uhlenbeck_test.cpp | 4 ---- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/cpp/full_code/ornstein_uhlenbeck_process.cpp b/cpp/full_code/ornstein_uhlenbeck_process.cpp index 5276729d..849231de 100644 --- a/cpp/full_code/ornstein_uhlenbeck_process.cpp +++ b/cpp/full_code/ornstein_uhlenbeck_process.cpp @@ -24,13 +24,10 @@ ornstein_uhlenbeck_process<rnumber,be>::ornstein_uhlenbeck_process( strncpy(this->name, NAME, 256); this->name[255] = '\0'; this->iteration = 0; - std::cerr << "3" << std::endl; this->ou_field = new field<rnumber,be,THREE>( nx,ny,nz, MPI_COMM_WORLD, FFTW_PLAN_RIGOR); - std::cerr << "4" << std::endl; *this->ou_field = 0.0; this->ou_field->dft(); //have it complex all zero TODO:Ask Chichi - std::cerr << "5" << std::endl; this->B = new field<rnumber,be,THREExTHREE>( nx,ny,nz, MPI_COMM_WORLD, FFTW_PLAN_RIGOR); @@ -41,9 +38,7 @@ ornstein_uhlenbeck_process<rnumber,be>::ornstein_uhlenbeck_process( this->ou_kmax_squ = pow(ou_kmax,2); this->ou_energy_amplitude = ou_energy_amplitude; assert(this->kk->kM2 >= this->ou_kmax_squ); //I can avoid one if statement later in the step method - std::cerr << "6" << std::endl; this->initialize_B(); - std::cerr << "7" << std::endl; } @@ -108,12 +103,18 @@ void ornstein_uhlenbeck_process<rnumber,be>::initialize_B() if (ksqu <= this->ou_kmax_squ && ksqu >= this->ou_kmin_squ) { double kabs = sqrt(ksqu); - if (ksqu == 0) {ksqu = 1; kabs = 1;} - if (this->kk->nshell[(int)(kabs/this->kk->dk)] == 0) std::cerr << kabs << std::endl; //DELETE - double sigma = - this->ou_energy_amplitude * - sqrt(4*this->gamma(ksqu)*pow(kabs,-5./3.) - /this->kk->nshell[(int)(kabs/this->kk->dk)]); + double sigma; + if (ksqu == 0) + { + ksqu = 1; kabs = 1; sigma = 0; + } + else + { + sigma = + this->ou_energy_amplitude * + sqrt(4*this->gamma(ksqu)*pow(kabs,-5./3.) + /this->kk->nshell[(int)(kabs/this->kk->dk)]); + } for(int i=0;i<3;i++) { for(int j=0;j<3;j++) { diff --git a/cpp/full_code/ornstein_uhlenbeck_test.cpp b/cpp/full_code/ornstein_uhlenbeck_test.cpp index 2d563bde..af2f48a2 100644 --- a/cpp/full_code/ornstein_uhlenbeck_test.cpp +++ b/cpp/full_code/ornstein_uhlenbeck_test.cpp @@ -9,16 +9,13 @@ template <typename rnumber> int ornstein_uhlenbeck_test<rnumber>::initialize(void) { TIMEZONE("ornstein_uhlenbeck_test::initialize"); - std::cerr << "0" << std::endl; this->read_parameters(); - std::cerr << "1" << std::endl; this->ou = new ornstein_uhlenbeck_process<rnumber,FFTW>( "test", this->nx,this->ny,this->nz, this->ou_kmin, this->ou_kmax, this->ou_energy_amplitude, this->dkx,this->dky,this->dkz, FFTW_ESTIMATE); - std::cerr << "2" << std::endl; if (this->myrank == 0) { hid_t stat_file = H5Fopen( @@ -69,7 +66,6 @@ int ornstein_uhlenbeck_test<rnumber>::do_work(void) { this->ou->step(1e-3); } - std::cerr << "hello" << std::endl; return EXIT_SUCCESS; } -- GitLab