From 3bb90210a8c352a1d1b381ebf39b4a3b44f4821a Mon Sep 17 00:00:00 2001 From: Stephan Seitz <stephan.seitz@fau.de> Date: Fri, 30 Oct 2020 12:47:16 +0100 Subject: [PATCH] Update --- src/pystencils_autodiff/backends/python_bindings.py | 3 ++- src/pystencils_autodiff/lbm/adjoint_boundaryconditions.py | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/pystencils_autodiff/backends/python_bindings.py b/src/pystencils_autodiff/backends/python_bindings.py index a459b5e..5e7d23f 100644 --- a/src/pystencils_autodiff/backends/python_bindings.py +++ b/src/pystencils_autodiff/backends/python_bindings.py @@ -120,7 +120,8 @@ REGISTER_KERNEL_BUILDER(Name("{{ python_name }}").Device({{ device }}), {{ pytho render_dict = {'python_name': stringcase.pascalcase(function_node.function_name), # tf wants PascalCase! 'cpp_name': function_node.function_name, - 'parameters': [p.symbol.name for p in parameters], + 'parameters': [p.symbol.name for p in parameters + if hasattr(p.symbol, 'dtype') and not str(p.symbol) == 'meshFunctor'], 'input_fields': input_fields, 'inputs': self.inputs, 'output_fields': output_fields, diff --git a/src/pystencils_autodiff/lbm/adjoint_boundaryconditions.py b/src/pystencils_autodiff/lbm/adjoint_boundaryconditions.py index 0dfbf4a..229ce8a 100644 --- a/src/pystencils_autodiff/lbm/adjoint_boundaryconditions.py +++ b/src/pystencils_autodiff/lbm/adjoint_boundaryconditions.py @@ -13,7 +13,7 @@ class AdjointBoundaryCondition(Boundary): self._constant_fields = constant_fields self._time_constant_fields = time_constant_fields - def __call__(self, pdf_field: pystencils_autodiff.AdjointField, direction_symbol, lb_method, **kwargs): + def __call__(self, pdf_field: pystencils_autodiff.AdjointField, direction_symbol, *args, **kwargs): # apply heuristics if pdf_field.name.startswith('diff'): @@ -24,13 +24,15 @@ class AdjointBoundaryCondition(Boundary): f'{pdf_field} should be a pystencils_autodiff.AdjointField to use AdjointBoundaryCondition' forward_field = pdf_field.corresponding_forward_field - forward_assignments = self._forward_condition(forward_field, direction_symbol, lb_method, **kwargs) + forward_assignments = self._forward_condition(forward_field, direction_symbol, *args, **kwargs) backward_assignments = pystencils_autodiff.create_backward_assignments( forward_assignments, diff_fields_prefix=pdf_field.name_prefix, time_constant_fields=self._time_constant_fields, constant_fields=self._constant_fields) + assert backward_assignments.all_assignments, ("Must have a at least one read field in forward boundary " + "to have an meaningful adjoint boundary condition") return backward_assignments -- GitLab