diff --git a/TurTLE/PP.py b/TurTLE/PP.py index e68f321483fa53698fc3fd4754355e4912ba519f..b90e02138e7eb88d1ddf016d88c1214e8fd6d26d 100644 --- a/TurTLE/PP.py +++ b/TurTLE/PP.py @@ -124,6 +124,9 @@ class PP(_code): pars['histogram_bins'] = int(129) elif dns_type == 'get_rfields': pars['TrS2_on'] = int(0) + pars['velocity_on'] = int(1) + pars['vorticity_on'] = int(1) + pars['velocity_gradient_on'] = int(0) elif dns_type == 'check_divergence': pars['histogram_bins'] = int(129) return pars diff --git a/cpp/full_code/get_rfields.cpp b/cpp/full_code/get_rfields.cpp index 756836bfbef1dc5ec7c9e6462501a580f5eea2a3..97d9d0b6944dce5fe1b40a70b66eafbfcb9b1209 100644 --- a/cpp/full_code/get_rfields.cpp +++ b/cpp/full_code/get_rfields.cpp @@ -78,6 +78,15 @@ int get_rfields<rnumber>::initialize(void) this->TrS2_on = hdf5_tools::read_value<int>( parameter_file, "/get_rfields/parameters/TrS2_on"); + this->velocity_on = hdf5_tools::read_value<int>( + parameter_file, + "/get_rfields/parameters/velocity_on"); + this->vorticity_on = hdf5_tools::read_value<int>( + parameter_file, + "/get_rfields/parameters/vorticity_on"); + this->velocity_gradient_on = hdf5_tools::read_value<int>( + parameter_file, + "/get_rfields/parameters/velocity_gradient_on"); H5Fclose(parameter_file); MPI_Barrier(this->comm); return EXIT_SUCCESS; @@ -125,20 +134,24 @@ int get_rfields<rnumber>::work_on_current_iteration(void) std::string(".h5")); /// output velocity field - this->vel->ift(); - this->vel->io( - fname, - "velocity", - this->iteration, - false); + if (this->velocity_on) { + this->vel->ift(); + this->vel->io( + fname, + "velocity", + this->iteration, + false); + } /// output vorticity field - this->vorticity->ift(); - this->vorticity->io( - fname, - "vorticity", - this->iteration, - false); + if (this->vorticity_on) { + this->vorticity->ift(); + this->vorticity->io( + fname, + "vorticity", + this->iteration, + false); + } if (this->TrS2_on) { @@ -148,6 +161,15 @@ int get_rfields<rnumber>::work_on_current_iteration(void) this->iteration, false); } + + if (this->velocity_gradient_on) + { + this->grad_vel->io( + fname, + "velocity_gradient", + this->iteration, + false); + } return EXIT_SUCCESS; } diff --git a/cpp/full_code/get_rfields.hpp b/cpp/full_code/get_rfields.hpp index 270b0268e16f7f30a3033189b67cb378302501c1..b49957c47166c3c0b431378b59955fd609a7233e 100644 --- a/cpp/full_code/get_rfields.hpp +++ b/cpp/full_code/get_rfields.hpp @@ -35,6 +35,9 @@ class get_rfields: public NSVE_field_stats<rnumber> int checkpoints_per_file; int niter_out; int TrS2_on; + int velocity_on; + int vorticity_on; + int velocity_gradient_on; kspace<FFTW, SMOOTH> *kk; field<rnumber, FFTW, ONE> *traceS2; field<rnumber, FFTW, THREE> *vel;