From a725685ddaa2eaa0711ceb51e1f74d09349d618e Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Tue, 29 Oct 2019 21:04:53 +0100 Subject: Add example for C++ target --- ldc_2d/cpp/generate.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 ldc_2d/cpp/generate.py (limited to 'ldc_2d/cpp/generate.py') 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)) -- cgit v1.2.3