diff options
Diffstat (limited to 'ldc_2d/cpp/generate.py')
-rwxr-xr-x | ldc_2d/cpp/generate.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/ldc_2d/cpp/generate.py b/ldc_2d/cpp/generate.py new file mode 100755 index 0000000..a1aa561 --- /dev/null +++ b/ldc_2d/cpp/generate.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python + +from boltzgen import LBM, Generator, Geometry +from boltzgen.lbm.model import D2Q9 + +geometry = Geometry(256, 256) + +functions = ['collide_and_stream', 'equilibrilize', 'collect_moments', 'momenta_boundary', 'example'] +extras = ['omp_parallel_for', 'moments_vtk'] + +precision = 'double' + +lbm = LBM(D2Q9) +generator = Generator( + descriptor = D2Q9, + moments = lbm.moments(), + collision = lbm.bgk(f_eq = lbm.equilibrium(), tau = 0.52), + target = 'cpp', + precision = precision, + index = 'XYZ', + layout = 'AOS') + +with open("kernel.h", "w") as kernel: + kernel.write(generator.kernel(geometry, functions, extras)) |