Skip to content
Snippets Groups Projects
Commit 619e5c29 authored by Chichi Lalescu's avatar Chichi Lalescu
Browse files

fix convergence test

parent b5b3de9b
Branches
Tags
No related merge requests found
...@@ -53,10 +53,6 @@ class base(object): ...@@ -53,10 +53,6 @@ class base(object):
key = self.parameters.keys() key = self.parameters.keys()
key.sort() key.sort()
src_txt = ('int read_parameters()\n{\n' src_txt = ('int read_parameters()\n{\n'
+ 'if (myrank == {0})'.format(self.iorank)
+ '\n{\n'
+ 'char fname[{0}];\n'.format(self.string_length)
+ 'sprintf(fname, "%s.h5", simname);\n'
+ 'H5::DataSet dset;\n' + 'H5::DataSet dset;\n'
+ 'H5::StrType strdtype(0, H5T_VARIABLE);\n' + 'H5::StrType strdtype(0, H5T_VARIABLE);\n'
+ 'H5::DataSpace strdspace(H5S_SCALAR);\n' + 'H5::DataSpace strdspace(H5S_SCALAR);\n'
...@@ -70,15 +66,6 @@ class base(object): ...@@ -70,15 +66,6 @@ class base(object):
'sprintf({0}, "%s", tempstr.c_str());\n').format(key[i]) 'sprintf({0}, "%s", tempstr.c_str());\n').format(key[i])
else: else:
src_txt += 'dset.read(&{0}, H5::PredType::NATIVE_DOUBLE);\n'.format(key[i]) src_txt += 'dset.read(&{0}, H5::PredType::NATIVE_DOUBLE);\n'.format(key[i])
src_txt += '}\n' # finishing if myrank == 0
# now broadcasting values to all ranks
for i in range(len(key)):
if type(self.parameters[key[i]]) == int:
src_txt += 'MPI_Bcast((void*)(&' + key[i] + '), 1, MPI_INTEGER, {0}, MPI_COMM_WORLD);\n'.format(self.iorank)
elif type(self.parameters[key[i]]) == str:
src_txt += 'MPI_Bcast((void*)(' + key[i] + '), {0}, MPI_CHAR, {1}, MPI_COMM_WORLD);\n'.format(self.string_length, self.iorank)
else:
src_txt += 'MPI_Bcast((void*)(&' + key[i] + '), 1, MPI_DOUBLE, {0}, MPI_COMM_WORLD);\n'.format(self.iorank)
src_txt += 'return 0;\n}\n' # finishing read_parameters src_txt += 'return 0;\n}\n' # finishing read_parameters
return src_txt return src_txt
def cprint_pars(self): def cprint_pars(self):
......
...@@ -81,8 +81,11 @@ class code(base): ...@@ -81,8 +81,11 @@ class code(base):
self.main_end = """ self.main_end = """
//begincpp //begincpp
// clean up // clean up
H5dset = data_file.openDataSet("iteration"); if (myrank == 0)
H5dset.write(&iteration, H5::PredType::NATIVE_INT); {
H5dset = data_file.openDataSet("iteration");
H5dset.write(&iteration, H5::PredType::NATIVE_INT);
}
data_file.close(); data_file.close();
fftwf_mpi_cleanup(); fftwf_mpi_cleanup();
fftw_mpi_cleanup(); fftw_mpi_cleanup();
......
...@@ -72,6 +72,11 @@ class fluid_converter(bfps.fluid_base.fluid_particle_base): ...@@ -72,6 +72,11 @@ class fluid_converter(bfps.fluid_base.fluid_particle_base):
self.fluid_loop += """ self.fluid_loop += """
//begincpp //begincpp
fs->iteration++; fs->iteration++;
DEBUG_MSG(
"iteration is %d, fsiteration is %d, niter_out is %d\\n",
iteration,
fs->iteration,
niter_out);
if (fs->iteration % niter_out == 0) if (fs->iteration % niter_out == 0)
do_conversion(fs); do_conversion(fs);
//endcpp //endcpp
......
...@@ -175,6 +175,7 @@ def NSlaunch( ...@@ -175,6 +175,7 @@ def NSlaunch(
c.parameters['nu'] = nu c.parameters['nu'] = nu
c.parameters['dt'] = 5e-3 * (64. / opt.n) c.parameters['dt'] = 5e-3 * (64. / opt.n)
c.parameters['niter_todo'] = opt.nsteps c.parameters['niter_todo'] = opt.nsteps
c.parameters['niter_out'] = opt.nsteps
c.parameters['niter_stat'] = 1 c.parameters['niter_stat'] = 1
c.parameters['niter_spec'] = 4 c.parameters['niter_spec'] = 4
c.parameters['niter_part'] = 2 c.parameters['niter_part'] = 2
...@@ -250,7 +251,6 @@ def convergence_test(opt): ...@@ -250,7 +251,6 @@ def convergence_test(opt):
if key in c.parameters.keys(): if key in c.parameters.keys():
converter.parameters[key] = c.parameters[key] converter.parameters[key] = c.parameters[key]
converter.parameters['fluid_name'] = c.simname converter.parameters['fluid_name'] = c.simname
converter.parameters['niter_todo'] = 0
converter.write_par() converter.write_par()
converter.run( converter.run(
ncpu = 2) ncpu = 2)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment