diff --git a/bfps/_base.py b/bfps/_base.py index 8f7aeaaf1183f27535498565d14eec31b5b58569..14b42b6044fc77edeaba887f4aea8d236614545c 100644 --- a/bfps/_base.py +++ b/bfps/_base.py @@ -76,21 +76,26 @@ class _base(object): function_suffix = '', template_class = '', template_prefix = '', - file_group = 'parameters'): + file_group = 'parameters', + just_declaration = False, + simname_variable = 'simname'): if type(parameters) == type(None): parameters = self.parameters key = sorted(list(parameters.keys())) src_txt = (template_prefix + 'int ' + template_class + - 'read_parameters' + function_suffix + '()\n{\n' + - 'hid_t parameter_file;\n' + - 'hid_t dset, memtype, space;\n' + - 'char fname[256];\n' + - 'hsize_t dims[1];\n' + - 'char *string_data;\n' + - 'sprintf(fname, "%s.h5", simname);\n' + - 'parameter_file = H5Fopen(fname, H5F_ACC_RDONLY, H5P_DEFAULT);\n') + 'read_parameters' + function_suffix + '()') + if just_declaration: + return src_txt + ';\n' + src_txt += ('\n{\n' + + 'hid_t parameter_file;\n' + + 'hid_t dset, memtype, space;\n' + + 'char fname[256];\n' + + 'hsize_t dims[1];\n' + + 'char *string_data;\n' + + 'sprintf(fname, "%s.h5", {0});\n'.format(simname_variable) + + 'parameter_file = H5Fopen(fname, H5F_ACC_RDONLY, H5P_DEFAULT);\n') for i in range(len(key)): src_txt += 'dset = H5Dopen(parameter_file, "/{0}/{1}", H5P_DEFAULT);\n'.format( file_group, key[i]) diff --git a/bfps/cpp/full_code/main_code.hpp b/bfps/cpp/full_code/main_code.hpp index 06a684303d63ba3ecff6c2259082630787a1188f..cae34b69b18b4f2550f5b6e5f28b48a659ea75f1 100644 --- a/bfps/cpp/full_code/main_code.hpp +++ b/bfps/cpp/full_code/main_code.hpp @@ -56,6 +56,7 @@ int main_code( std::cerr << "Wrong number of command line arguments. Stopping." << std::endl; + MPI_Init(&argc, &argv); MPI_Finalize(); return EXIT_SUCCESS; }