def main(): NUCS = DATA['nucs'] nucs = ['K40'] system = CodeBlock(*list(map(gennuc, nucs))) sigma_map = sigma_symbol_to_indexed() nuc_map = nuc_symbol_to_indexed() # nuc_map = {} system = system.xreplace({**sigma_map, **nuc_map}) sigma_array = generate_sigma_array() code = sympy.ccode(system, order='none') generated_code = TEMPLATE input_data = [0.0]*len(sigma_array) input_data[NUCS.index("K39")] = 1.0 input_time = 81.0 for val, repl in { "I": len(sigma_array), "T": input_time, "PHI": 4e-10, "SIGMA_ARRAY": str(sigma_array).replace('[', '{').replace(']', '}'), "CODE": textwrap.indent(code, ' '), # For testing "N0": str(input_data).replace('[', '{').replace(']', '}'), }.items(): generated_code = generated_code.replace("%%" + val + "%%", str(repl)) with open("sigma_array.txt", 'w') as f: f.write('[' + ',\n'.join(map(str, sigma_array)) + ']\n') # with open('system.txt', 'w') as f: # for eq in system.args: # f.write(str(eq) + '\n') with open('system-C.txt', 'w') as f: f.write(code) with open('transmute.c', 'w') as f: f.write(generated_code)