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

test_io inherits code directly

parent b17b8a4f
No related branches found
No related tags found
No related merge requests found
......@@ -65,7 +65,8 @@ class base(object):
+ 'H5::DataSet dset;\n'
+ 'H5::StrType strdtype(0, H5T_VARIABLE);\n'
+ 'H5::DataSpace strdspace(H5S_SCALAR);\n'
+ 'std::string tempstr;')
+ 'hid_t data_file_id;\n'
+ 'std::string tempstr;\n')
for i in range(len(key)):
src_txt += 'dset = data_file->openDataSet("parameters/{0}");\n'.format(key[i])
if type(self.parameters[key[i]]) == int:
......@@ -103,7 +104,7 @@ class base(object):
def read_parameters(self):
with h5py.File(os.path.join(self.work_dir, self.simname + '.h5'), 'r') as data_file:
for k in data_file['parameters'].keys():
self.parameters[k] = data_file['parameters/' + k].value
self.parameters[k] = type(self.parameters[k])(data_file['parameters/' + k].value)
return None
def pars_from_namespace(self, opt):
new_pars = vars(opt)
......
......@@ -54,6 +54,7 @@ class code(base):
#include <iostream>
#include <H5Cpp.h>
#include <string>
#include <cstring>
#include <fftw3-mpi.h>
//endcpp
"""
......@@ -117,12 +118,15 @@ class code(base):
'queue' : '',
'mail_address': '',
'mail_events' : None}
self.main = ''
return None
def write_src(self):
with open(self.name + '.cpp', 'w') as outfile:
outfile.write(self.version_message)
outfile.write(self.includes)
outfile.write(self.cdef_pars())
outfile.write(self.variables)
outfile.write(self.cread_pars())
outfile.write(self.definitions)
outfile.write(self.main_start)
outfile.write(self.main)
......
......@@ -94,7 +94,6 @@ class fluid_particle_base(bfps.code):
self.file_datasets_grow = ''
return None
def finalize_code(self):
self.variables += self.cdef_pars()
self.definitions+= self.cread_pars()
self.includes += self.fluid_includes
self.includes += '#include <ctime>\n'
......
......@@ -25,27 +25,21 @@
import bfps
import bfps.fluid_base
import bfps.tools
import numpy as np
import pickle
import os
class test_io(bfps.fluid_base.fluid_particle_base):
class test_io(bfps.code):
def __init__(
self,
name = 'test_io',
work_dir = './',
simname = 'test'):
super(test_io, self).__init__(name = name, work_dir = work_dir, simname = simname)
super(test_io, self).__init__(work_dir = work_dir, simname = simname)
self.name = name
self.parameters['string_parameter'] = 'test'
self.fill_up_fluid_code()
self.finalize_code()
return None
def fill_up_fluid_code(self):
self.fluid_includes += '#include <string>\n'
self.fluid_includes += '#include <cstring>\n'
self.fluid_variables += ('double t;\n')
self.fluid_start += self.cprint_pars()
self.parameters['niter_todo'] = 0
self.main_start += self.cprint_pars()
return None
......@@ -32,6 +32,7 @@ if __name__ == '__main__':
c = bfps.test_io(work_dir = opt.work_dir + '/io')
c.write_src()
c.write_par()
print sorted(list(c.parameters.keys()))
c.set_host_info({'type' : 'pc'})
c.run(ncpu = opt.ncpu)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment