diff options
Diffstat (limited to 'ldc_2d/cpp/generate.py')
-rwxr-xr-x | ldc_2d/cpp/generate.py | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/ldc_2d/cpp/generate.py b/ldc_2d/cpp/generate.py index 167cc1b..4222e98 100755 --- a/ldc_2d/cpp/generate.py +++ b/ldc_2d/cpp/generate.py @@ -5,6 +5,8 @@ import argparse from boltzgen import LBM, Generator, Geometry from boltzgen.lbm.model import D2Q9 +import config + argparser = argparse.ArgumentParser( description = 'Generate a C++ implementation of a lid driven cavity simulation using LBM') argparser.add_argument( @@ -12,29 +14,27 @@ argparser.add_argument( args = argparser.parse_args() -geometry = Geometry(128, 128) - -functions = ['collide_and_stream', 'equilibrilize', 'collect_moments', 'momenta_boundary'] - -lbm = LBM(D2Q9) +lbm = LBM(config.descriptor) generator = Generator( - descriptor = D2Q9, + descriptor = config.descriptor, moments = lbm.moments(), - collision = lbm.bgk(f_eq = lbm.equilibrium(), tau = 0.52), + collision = lbm.bgk(f_eq = lbm.equilibrium(), tau = config.tau), target = 'cpp', - precision = 'double', + precision = config.precision, index = 'XYZ', layout = 'AOS') if args.output is None: args.output = '.' +functions = ['collide_and_stream', 'equilibrilize', 'collect_moments', 'momenta_boundary'] + with open('%s/kernel.h' % args.output, 'w') as kernel: - kernel.write(generator.kernel(geometry, functions)) + kernel.write(generator.kernel(config.geometry, functions)) ldc_src = '' with open('ldc.cpp.mako', 'r') as template: ldc_src = template.read() with open('%s/ldc.cpp' % args.output, 'w') as app: - app.write(generator.custom(geometry, ldc_src)) + app.write(generator.custom(config.geometry, ldc_src)) |