added joggling of input particles

This commit is contained in:
P.M. Sutter 2013-05-03 14:44:40 -04:00
parent 8be96d88f9
commit 1980fdd5d1
3 changed files with 20 additions and 0 deletions

View file

@ -152,6 +152,21 @@ void metricTransform(SimuData *data, int axis, bool reshift, bool pecvel, double
}
// slightly perturb particle positions
void joggleParticles(SimuData *data) {
gsl_rng *rng;
gsl_rng_set(rng, 31415926535);
for (uint32_t i = 0; i < data->NumPart; i++) {
data->Pos[0][i] += 1.e-3*gsl_rng_uniform(rng);
data->Pos[1][i] += 1.e-3*gsl_rng_uniform(rng);
data->Pos[2][i] += 1.e-3*gsl_rng_uniform(rng);
data->Pos[0][i] -= 1.e-3*gsl_rng_uniform(rng);
data->Pos[1][i] -= 1.e-3*gsl_rng_uniform(rng);
data->Pos[2][i] -= 1.e-3*gsl_rng_uniform(rng);
}
}
} // end joggleParticles
void generateOutput(SimuData *data, int axis,
const std::string& fname)
{
@ -723,6 +738,9 @@ int main(int argc, char **argv)
delete[] efac;
}
if (args_info.jogglePartices_give)
joggleParticles(simuOut)
saveBox(simuOut, args_info.outputParameter_arg, args_info);
generateOutput(simuOut, args_info.axis_arg,
args_info.output_arg);