Skip to content
Snippets Groups Projects
Commit ac6755c3 authored by Cristian Lalescu's avatar Cristian Lalescu
Browse files

fixes sampling example for test_tracer_set

parent 2f6dc33d
No related branches found
No related tags found
No related merge requests found
...@@ -410,6 +410,12 @@ class TEST(_code): ...@@ -410,6 +410,12 @@ class TEST(_code):
if not os.path.exists(os.path.join(self.work_dir, self.simname + '.h5')): if not os.path.exists(os.path.join(self.work_dir, self.simname + '.h5')):
self.write_par( self.write_par(
particle_ic = particle_initial_condition) particle_ic = particle_initial_condition)
if self.dns_type == 'test_tracer_set':
ofile = h5py.File(os.path.join(self.work_dir, 'test_particle_sample.h5'), 'w')
ofile.create_group('tracers0')
ofile.create_group('tracers0/position')
ofile.create_group('tracers0/velocity')
ofile.close()
if self.dns_type == 'test_interpolation': if self.dns_type == 'test_interpolation':
if type(particle_initial_condition) == type(None): if type(particle_initial_condition) == type(None):
pbase_shape = (self.parameters['nparticles'],) pbase_shape = (self.parameters['nparticles'],)
......
...@@ -102,26 +102,59 @@ int test_tracer_set<rnumber>::do_work(void) ...@@ -102,26 +102,59 @@ int test_tracer_set<rnumber>::do_work(void)
pset.init(bla); pset.init(bla);
// initialize particle output object // initialize particle output object
particles_output_hdf5<long long int, double, 3> *particles_output_writer_mpi = new particles_output_hdf5< particles_output_hdf5<long long int, double, 3> *particle_output_writer = new particles_output_hdf5<
long long int, double, 3>( long long int, double, 3>(
MPI_COMM_WORLD, MPI_COMM_WORLD,
"tracers0", "tracers0",
pset.getTotalNumberOfParticles(), pset.getTotalNumberOfParticles(),
0); 0);
particles_output_sampling_hdf5<long long int, double, 3> *particle_sample_writer = new particles_output_sampling_hdf5<
long long int, double, 3>(
MPI_COMM_WORLD,
pset.getTotalNumberOfParticles(),
"test_particle_sample.h5",
"tracers0",
"position/0");
fti->set_field(vec_field); fti->set_field(vec_field);
trhs->setVelocity(fti); trhs->setVelocity(fti);
particle_solver psolver(pset, 0); particle_solver psolver(pset, 0);
particle_output_writer->open_file("test_particle_checkpoint.h5");
psolver.template writeCheckpoint<3>(particle_output_writer);
pset.writeSample(
vec_field,
particle_sample_writer,
"tracers0",
"velocity",
psolver.getIteration());
pset.writeStateTriplet(
0,
particle_sample_writer,
"tracers0",
"position",
psolver.getIteration());
psolver.Euler(0.001, *trhs); psolver.Euler(0.001, *trhs);
psolver.setIteration(1); psolver.setIteration(1);
particles_output_writer_mpi->open_file("test_particle_checkpoint.h5"); psolver.template writeCheckpoint<3>(particle_output_writer);
psolver.template writeCheckpoint<3>(particles_output_writer_mpi); pset.writeSample(
particles_output_writer_mpi->close_file(); vec_field,
particle_sample_writer,
"tracers0",
"velocity",
psolver.getIteration());
pset.writeStateTriplet(
0,
particle_sample_writer,
"tracers0",
"position",
psolver.getIteration());
particle_output_writer->close_file();
// deallocate // deallocate
delete particles_output_writer_mpi; delete particle_sample_writer;
delete particle_output_writer;
delete trhs; delete trhs;
delete fti; delete fti;
delete kk; delete kk;
......
...@@ -159,7 +159,7 @@ class abstract_particle_set ...@@ -159,7 +159,7 @@ class abstract_particle_set
template <typename field_rnumber, template <typename field_rnumber,
field_backend be, field_backend be,
field_components fc> field_components fc>
int sample( int writeSample(
field<field_rnumber, be, fc> *field_to_sample, field<field_rnumber, be, fc> *field_to_sample,
particles_output_sampling_hdf5<partsize_t, particle_rnumber, 3> *particle_sample_writer, particles_output_sampling_hdf5<partsize_t, particle_rnumber, 3> *particle_sample_writer,
const std::string species_name, const std::string species_name,
...@@ -190,7 +190,7 @@ class abstract_particle_set ...@@ -190,7 +190,7 @@ class abstract_particle_set
return EXIT_SUCCESS; return EXIT_SUCCESS;
} }
int sample_state_triple( int writeStateTriplet(
const int i0, const int i0,
particles_output_sampling_hdf5<partsize_t, particle_rnumber, 3> *particle_sample_writer, particles_output_sampling_hdf5<partsize_t, particle_rnumber, 3> *particle_sample_writer,
const std::string species_name, const std::string species_name,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment