From fc55949dedf36a80d3241f4bbbf578fd48acac38 Mon Sep 17 00:00:00 2001
From: Frederik Hennig <frederik.hennig@fau.de>
Date: Wed, 29 Jan 2025 13:34:16 +0100
Subject: [PATCH] fix default_dtype option getters

---
 src/lbmpy/boundaries/boundaryhandling.py | 2 +-
 src/lbmpy/creationfunctions.py           | 2 +-
 src/lbmpy/lbstep.py                      | 6 +++---
 src/lbmpy/scenarios.py                   | 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/lbmpy/boundaries/boundaryhandling.py b/src/lbmpy/boundaries/boundaryhandling.py
index d7d7c933..cf8f4239 100644
--- a/src/lbmpy/boundaries/boundaryhandling.py
+++ b/src/lbmpy/boundaries/boundaryhandling.py
@@ -178,7 +178,7 @@ def create_lattice_boltzmann_boundary_kernel(pdf_field, index_field, lb_method,
             **kernel_creation_args
         )
 
-        default_data_type = config.default_dtype
+        default_data_type = config.get_option("default_dtype")
 
         if force_vector is None:
             force_vector_type = np.dtype([(f"F_{i}", default_data_type.c_name) for i in range(dim)], align=True)
diff --git a/src/lbmpy/creationfunctions.py b/src/lbmpy/creationfunctions.py
index 1883a1e2..8d3e7be2 100644
--- a/src/lbmpy/creationfunctions.py
+++ b/src/lbmpy/creationfunctions.py
@@ -607,7 +607,7 @@ def create_lb_update_rule(collision_rule=None, lbm_config=None, lbm_optimisation
     lb_method = collision_rule.method
 
     if IS_PYSTENCILS_2:
-        fallback_field_data_type = config.default_dtype  # TODO nbackend: clarify this
+        fallback_field_data_type = config.get_option("default_dtype")  # TODO nbackend: clarify this
     else:
         fallback_field_data_type = config.data_type[lbm_config.field_name].numpy_dtype
 
diff --git a/src/lbmpy/lbstep.py b/src/lbmpy/lbstep.py
index f455d3ae..53300d7b 100644
--- a/src/lbmpy/lbstep.py
+++ b/src/lbmpy/lbstep.py
@@ -69,7 +69,7 @@ class LatticeBoltzmannStep:
         # the parallel datahandling understands only numpy datatypes. Strings lead to an errors
         if IS_PYSTENCILS_2:
             from pystencils import create_type
-            field_dtype = create_type(config.default_dtype).numpy_dtype
+            field_dtype = create_type(config.get_option("default_dtype")).numpy_dtype
         else:
             field_dtype = config.data_type.default_factory().numpy_dtype
 
@@ -458,8 +458,8 @@ class LatticeBoltzmannStep:
         if IS_PYSTENCILS_2:
             gen_config = CreateKernelConfig(
                 target=Target.CPU,
-                cpu_openmp=self._config.cpu_openmp,
-                default_dtype=self._config.default_dtype
+                cpu_openmp=self._config.cpu.openmp.get_option("enable"),
+                default_dtype=self._config.get_option("default_dtype")
             )
         else:
             gen_config = CreateKernelConfig(target=Target.CPU, cpu_openmp=self._config.cpu_openmp)
diff --git a/src/lbmpy/scenarios.py b/src/lbmpy/scenarios.py
index ac86a4ea..1bc87b5d 100644
--- a/src/lbmpy/scenarios.py
+++ b/src/lbmpy/scenarios.py
@@ -98,7 +98,7 @@ def create_lid_driven_cavity(domain_size=None, lid_velocity=0.005, lbm_kernel=No
     if IS_PYSTENCILS_2:
         my_ubb = UBB(
             velocity=[lid_velocity, 0, 0][:step.method.dim],
-            data_type=step.config.default_dtype
+            data_type=step.config.get_option("default_dtype")
         )
     else:  # legacy version does not set data type of boundary correctly
         my_ubb = UBB(velocity=[lid_velocity, 0, 0][:step.method.dim])
-- 
GitLab