diff options
Diffstat (limited to 'boltzgen/kernel/generator.py')
-rw-r--r-- | boltzgen/kernel/generator.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/boltzgen/kernel/generator.py b/boltzgen/kernel/generator.py new file mode 100644 index 0000000..bd1bb86 --- /dev/null +++ b/boltzgen/kernel/generator.py @@ -0,0 +1,25 @@ +import sympy + +from mako.template import Template +from pathlib import Path + +def source(descriptor, moments, collide, boundary_src, float_type, geometry): + return Template(filename = str(Path(__file__).parent/'template/kernel.mako')).render( + descriptor = descriptor, + geometry = geometry, + + moments_subexpr = moments[0], + moments_assignment = moments[1], + collide_subexpr = collide[0], + collide_assignment = collide[1], + + float_type = float_type, + + boundary_src = Template(boundary_src).render( + descriptor = descriptor, + geometry = geometry, + float_type = float_type + ), + + ccode = sympy.ccode + ) |