From 67e5cd22c8fa62f2b749735fb4ce2c624d6a2ab1 Mon Sep 17 00:00:00 2001 From: Stephan Seitz <stephan.seitz@fau.de> Date: Fri, 7 Feb 2020 16:03:43 +0100 Subject: [PATCH] Use StrictUndefined to raise errors upon undefined variables --- lbmpy_walberla/boundary.py | 4 ++-- lbmpy_walberla/walberla_lbm_generation.py | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lbmpy_walberla/boundary.py b/lbmpy_walberla/boundary.py index 5f2dc6f..3217698 100644 --- a/lbmpy_walberla/boundary.py +++ b/lbmpy_walberla/boundary.py @@ -1,5 +1,5 @@ import numpy as np -from jinja2 import Environment, PackageLoader +from jinja2 import Environment, PackageLoader, StrictUndefined from lbmpy.boundaries.boundaryhandling import create_lattice_boltzmann_boundary_kernel from lbmpy_walberla.walberla_lbm_generation import KernelInfo @@ -54,7 +54,7 @@ def generate_boundary(generation_context, class_name, boundary_object, lb_method 'namespace': 'lbm', } - env = Environment(loader=PackageLoader('lbmpy_walberla')) + env = Environment(loader=PackageLoader('lbmpy_walberla'), undefined=StrictUndefined) add_pystencils_filters_to_jinja_env(env) header = env.get_template('Boundary.tmpl.h').render(**context) diff --git a/lbmpy_walberla/walberla_lbm_generation.py b/lbmpy_walberla/walberla_lbm_generation.py index 66d5ae7..b78c84a 100644 --- a/lbmpy_walberla/walberla_lbm_generation.py +++ b/lbmpy_walberla/walberla_lbm_generation.py @@ -2,7 +2,7 @@ import warnings import numpy as np import sympy as sp -from jinja2 import Environment, PackageLoader, Template +from jinja2 import Environment, PackageLoader, StrictUndefined, Template from sympy.tensor import IndexedBase import pystencils as ps @@ -98,7 +98,7 @@ def __lattice_model(generation_context, class_name, lb_method, stream_collide_as 'need_block_offsets': ['block_offset_{}'.format(i) in [param.symbol.name for param in stream_collide_ast.get_parameters()] for i in range(3)], } - env = Environment(loader=PackageLoader('lbmpy_walberla')) + env = Environment(loader=PackageLoader('lbmpy_walberla'), undefined=StrictUndefined) add_pystencils_filters_to_jinja_env(env) header = env.get_template('LatticeModel.tmpl.h').render(**jinja_context) @@ -206,7 +206,7 @@ def stencil_switch_statement(stencil, values): """) dir_to_value_dict = {offset_to_direction_string(d): cpp_printer.doprint(v) for d, v in zip(stencil, values)} - return template.render(dir_to_value_dict=dir_to_value_dict) + return template.render(dir_to_value_dict=dir_to_value_dict, undefined=StrictUndefined) def field_and_symbol_substitute(expr, variable_prefix="lm.", variables_without_prefix=[]): -- GitLab