Skip to content
Snippets Groups Projects
Commit 92f84c21 authored by Frederik Hennig's avatar Frederik Hennig
Browse files

Merge branch 'fhennig/fix-bcs' into 'v2.0-dev'

fix usage of kernel parameter API in boundary handling

See merge request !423
parents a027eaf1 801b000b
No related branches found
No related tags found
1 merge request!423fix usage of kernel parameter API in boundary handling
Pipeline #69880 passed
...@@ -90,7 +90,7 @@ class KernelParameter: ...@@ -90,7 +90,7 @@ class KernelParameter:
return TypedSymbol(self.name, self.dtype) return TypedSymbol(self.name, self.dtype)
@property @property
def fields(self) -> tuple[Field, ...]: def fields(self) -> Sequence[Field]:
"""Set of fields associated with this parameter.""" """Set of fields associated with this parameter."""
return self._fields return self._fields
......
...@@ -244,9 +244,9 @@ class BoundaryHandling: ...@@ -244,9 +244,9 @@ class BoundaryHandling:
for b_obj, idx_arr in b[self._index_array_name].boundary_object_to_index_list.items(): for b_obj, idx_arr in b[self._index_array_name].boundary_object_to_index_list.items():
kwargs[self._field_name] = b[self._field_name] kwargs[self._field_name] = b[self._field_name]
kwargs['indexField'] = idx_arr kwargs['indexField'] = idx_arr
data_used_in_kernel = (p.fields.pop().name data_used_in_kernel = (p.fields[0].name
for p in self._boundary_object_to_boundary_info[b_obj].kernel.parameters for p in self._boundary_object_to_boundary_info[b_obj].kernel.parameters
if bool(p.get_properties(FieldBasePtr)) and p.fields.pop().name not in kwargs) if bool(p.get_properties(FieldBasePtr)) and p.fields[0].name not in kwargs)
kwargs.update({name: b[name] for name in data_used_in_kernel}) kwargs.update({name: b[name] for name in data_used_in_kernel})
self._boundary_object_to_boundary_info[b_obj].kernel(**kwargs) self._boundary_object_to_boundary_info[b_obj].kernel(**kwargs)
...@@ -260,9 +260,9 @@ class BoundaryHandling: ...@@ -260,9 +260,9 @@ class BoundaryHandling:
arguments = kwargs.copy() arguments = kwargs.copy()
arguments[self._field_name] = b[self._field_name] arguments[self._field_name] = b[self._field_name]
arguments['indexField'] = idx_arr arguments['indexField'] = idx_arr
data_used_in_kernel = (p.fields.pop().name data_used_in_kernel = (p.fields[0].name
for p in self._boundary_object_to_boundary_info[b_obj].kernel.parameters for p in self._boundary_object_to_boundary_info[b_obj].kernel.parameters
if bool(p.get_properties(FieldBasePtr)) and p.fields.pop().name not in arguments) if bool(p.get_properties(FieldBasePtr)) and p.fields[0].name not in arguments)
arguments.update({name: b[name] for name in data_used_in_kernel if name not in arguments}) arguments.update({name: b[name] for name in data_used_in_kernel if name not in arguments})
kernel = self._boundary_object_to_boundary_info[b_obj].kernel kernel = self._boundary_object_to_boundary_info[b_obj].kernel
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment