diff --git a/src/pystencils_autodiff/backends/python_bindings.py b/src/pystencils_autodiff/backends/python_bindings.py index a459b5eae5939248a0ffe1a133756ac5558a162f..5e7d23fdbb0d4fc834a06bb7748e04aa0c8515b2 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 0dfbf4afa4a5204669efb4cf7ebe7b43dc9e9e22..229ce8a1102d04c9b7f9d4411f26e44de62bf0f1 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