From 4371098b6a03ee2292e082ea551f049e2ae2056d Mon Sep 17 00:00:00 2001 From: Frederik Hennig <frederik.hennig@fau.de> Date: Mon, 20 Jan 2025 11:03:45 +0100 Subject: [PATCH] use cupy 12.3 in testsuite run. Introduce nox for pystencils-2.0 testing. --- .gitignore | 2 + .gitlab-ci.yml | 12 +- noxfile.py | 114 ++ report.xml | 1288 ++++++++++++++++++++++ src/lbmpy/boundaries/boundaryhandling.py | 1 - 5 files changed, 1407 insertions(+), 10 deletions(-) create mode 100644 noxfile.py create mode 100644 report.xml diff --git a/.gitignore b/.gitignore index 72ba2d07..a86347c9 100644 --- a/.gitignore +++ b/.gitignore @@ -21,6 +21,8 @@ doc/bibtex.json /src/lbmpy/phasefield/simplex_projection.*.so /src/lbmpy/phasefield/simplex_projection.c +test-report + # macOS **/.DS_Store *.uuid diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 99845360..55eb42ff 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -30,7 +30,7 @@ stages: tests-and-coverage: stage: pretest extends: .every-commit - image: i10git.cs.fau.de:5005/pycodegen/pycodegen/full + image: i10git.cs.fau.de:5005/pycodegen/pycodegen/full:cupy12.3 script: # - pip install sympy --upgrade - export NUM_CORES=$(nproc --all) @@ -224,19 +224,13 @@ pycodegen-integration: pystencils-2.0dev: stage: prerelease extends: .every-commit - image: i10git.cs.fau.de:5005/pycodegen/pycodegen/full + image: i10git.cs.fau.de:5005/pycodegen/pycodegen/nox:ubuntu24.04-cuda12.6 allow_failure: true needs: [] - before_script: - - pip install sympy --upgrade - - pip install git+https://gitlab-ci-token:${CI_JOB_TOKEN}@i10git.cs.fau.de/pycodegen/pystencils.git@v2.0-dev#egg=pystencils script: - - export NUM_CORES=$(nproc --all) - mkdir -p ~/.config/matplotlib - echo "backend:template" > ~/.config/matplotlib/matplotlibrc - - env - - pip list - - py.test -v -n $NUM_CORES -m "not longrun" --junitxml=report.xml + - nox -s "tests_pystencils2(cupy12)" tags: - docker - AVX diff --git a/noxfile.py b/noxfile.py new file mode 100644 index 00000000..61266b4e --- /dev/null +++ b/noxfile.py @@ -0,0 +1,114 @@ +from __future__ import annotations +from typing import Sequence + +import os +import nox +import subprocess +import re + +nox.options.sessions = ["lint", "typecheck"] + + +def get_cuda_version(session: nox.Session) -> None | tuple[int, ...]: + query_args = ["nvcc", "--version"] + + try: + query_result = subprocess.run(query_args, capture_output=True) + except FileNotFoundError: + return None + + matches = re.findall(r"release \d+\.\d+", str(query_result.stdout)) + if matches: + match = matches[0] + version_string = match.split()[-1] + try: + return tuple(int(v) for v in version_string.split(".")) + except ValueError: + pass + + session.warn("nvcc was found, but I am unable to determine the CUDA version.") + return None + + +def install_cupy( + session: nox.Session, cupy_version: str, skip_if_no_cuda: bool = False +): + if cupy_version is not None: + cuda_version = get_cuda_version(session) + if cuda_version is None or cuda_version[0] not in (11, 12): + if skip_if_no_cuda: + session.skip( + "No compatible installation of CUDA found - Need either CUDA 11 or 12" + ) + else: + session.warn( + "Running without cupy: no compatbile installation of CUDA found. Need either CUDA 11 or 12." + ) + return + + cuda_major = cuda_version[0] + cupy_package = f"cupy-cuda{cuda_major}x=={cupy_version}" + session.install(cupy_package) + + +def check_external_doc_dependencies(session: nox.Session): + dot_args = ["dot", "--version"] + try: + _ = subprocess.run(dot_args, capture_output=True) + except FileNotFoundError: + session.error( + "Unable to build documentation: " + "Command `dot` from the `graphviz` package (https://www.graphviz.org/) is not available" + ) + + +def editable_install(session: nox.Session, opts: Sequence[str] = ()): + if opts: + opts_str = "[" + ",".join(opts) + "]" + else: + opts_str = "" + session.install("-e", f".{opts_str}") + + +@nox.session(python="3.10", tags=["qa", "code-quality"]) +def lint(session: nox.Session): + """Lint code using flake8""" + + session.install("flake8") + session.run("flake8", "src/lbmpy") + + +@nox.session(python="3.10", tags=["qa", "code-quality"]) +def typecheck(session: nox.Session): + """Run MyPy for static type checking""" + editable_install(session) + session.install("mypy") + session.run("mypy", "src/lbmpy") + + +@nox.parametrize("cupy_version", [None, "12", "13"], ids=["cpu", "cupy12", "cupy13"]) +@nox.session(python="3.10", tags=["test"]) +def tests_pystencils2(session: nox.Session, cupy_version: str | None): + if cupy_version is not None: + install_cupy(session, cupy_version, skip_if_no_cuda=True) + + session.install("git+https://i10git.cs.fau.de/pycodegen/pystencils.git@v2.0-dev#egg=pystencils") + editable_install(session, ["alltrafos", "use_cython", "interactive", "tests"]) + + num_cores = os.cpu_count() + + session.run( + "pytest", + "-v", + "-n", + str(num_cores), + "--cov-report=term", + "--cov=.", + "-m", + "not longrun", + "--html", + "test-report/index.html", + "--junitxml=report.xml", + ) + session.run("coverage", "html") + session.run("coverage", "xml") diff --git a/report.xml b/report.xml new file mode 100644 index 00000000..c3f80f1c --- /dev/null +++ b/report.xml @@ -0,0 +1,1288 @@ +<?xml version="1.0" encoding="utf-8"?><testsuites><testsuite name="pytest" errors="1" failures="13" skipped="134" tests="1292" time="442.965" timestamp="2025-01-20T10:54:23.296171+01:00" hostname="unthinkable"><testcase classname="" name="tests.test_fluctuating_lb" time="0.000"><skipped message="collection skipped">('/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_fluctuating_lb.py', 11, 'Skipped')</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Even-esopush-Stencil.D2Q9]" time="0.009" /><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction0]" time="0.003"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_direct_copy_and_kernels_equivalence[esotwist-Stencil.D2Q9]" time="0.003"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:135: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Odd-aa-Stencil.D2Q9]" time="0.011" /><testcase classname="tests.test_boundary_handling" name="test_force_on_boundary[float32-True]" time="0.125"><failure message="pystencils.backend.exceptions.TypificationError: Type mismatch at expression _data_pdfs_src[ctr_0 + [0: <untyped>], ctr_1 + [0: <untyped>], dir]: Expression type did not match the context's target type Expression type: float32 Target type: float64">given_force_vector = True, dtype = 'float32' + + @pytest.mark.parametrize("given_force_vector", [True, False]) + @pytest.mark.parametrize("dtype", ["float32", "float64"]) + def test_force_on_boundary(given_force_vector, dtype): + stencil = LBStencil(Stencil.D2Q9) + pdfs = ps.fields(f"pdfs_src({stencil.Q}): {dtype}[{stencil.D}D]", layout='fzyx') + + method = create_lb_method(lbm_config=LBMConfig(stencil=stencil, method=Method.SRT, relaxation_rate=1.8)) + + noslip = NoSlip(name="noslip", calculate_force_on_boundary=True) + bouzidi = NoSlipLinearBouzidi(name="bouzidi", calculate_force_on_boundary=True) + qq_bounce_Back = QuadraticBounceBack(name="qqBB", relaxation_rate=1.8, calculate_force_on_boundary=True) + + boundary_objects = [noslip, bouzidi, qq_bounce_Back] + for boundary in boundary_objects: + if given_force_vector: + force_vector_type = np.dtype([(f"F_{i}", dtype) for i in range(stencil.D)], align=True) + force_vector = ps.Field('forceVector', ps.FieldType.INDEXED, force_vector_type, layout=[0], + shape=(ps.TypedSymbol("forceVectorSize", "int32"), 1), strides=(1, 1)) + else: + force_vector = None + + index_struct_dtype = _numpy_data_type_for_boundary_object(boundary, stencil.D) + + index_field = ps.Field('indexVector', ps.FieldType.INDEXED, index_struct_dtype, layout=[0], + shape=(ps.TypedSymbol("indexVectorSize", "int32"), 1), strides=(1, 1)) + +> create_lattice_boltzmann_boundary_kernel(pdfs, index_field, method, boundary, force_vector=force_vector) + +tests/test_boundary_handling.py:468: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +src/lbmpy/boundaries/boundaryhandling.py:205: in create_lattice_boltzmann_boundary_kernel + kernel = create_kernel(elements, config=config) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/codegen/driver.py:80: in create_kernel + return driver(assignments) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/codegen/driver.py:133: in __call__ + kernel_body = self.parse_kernel_body(assignments) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/codegen/driver.py:240: in parse_kernel_body + kernel_body = typify(kernel_body) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/backend/kernelcreation/typification.py:291: in __call__ + self.visit(node) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/backend/kernelcreation/typification.py:310: in visit + self.visit(s) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/backend/kernelcreation/typification.py:369: in visit + self.visit_expr(rhs, tc) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/backend/kernelcreation/typification.py:433: in visit_expr + tc.apply_dtype(expr.buffer.element_type, expr) +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +self = <pystencils.backend.kernelcreation.typification.TypeContext object at 0x7f238a9efa90>, dtype = PsIeeeFloatType( width=32, const=False ) +expr = PsBufferAcc(Symbol(PsSymbol('_data_pdfs_src', PsPointerType( PsIeeeFloatType( width=32, const=False ), const=False, re...alse ))), PsConstantExpr(0: <untyped>)), Symbol(PsSymbol('dir', PsIntegerType( width=32, signed=True, const=False )))]) + + def apply_dtype(self, dtype: PsType, expr: PsExpression | None = None): + """Applies the given ``dtype`` to this type context, and optionally to the given expression. + + If the context's target_type is already known, it must be compatible with the given dtype. + If the target type is still unknown, target_type is set to dtype and retroactively applied + to all deferred expressions. + + If an expression is specified, it will be covered by the type context. + If the expression already has a data type set, it must be compatible with the target type + and will be replaced by it. + """ + + dtype = deconstify(dtype) + + if self._target_type is not None and dtype != self._target_type: +> raise TypificationError( + f"Type mismatch at expression {expr}: Expression type did not match the context's target type\n" + f" Expression type: {dtype}\n" + f" Target type: {self._target_type}" + ) +E pystencils.backend.exceptions.TypificationError: Type mismatch at expression _data_pdfs_src[ctr_0 + [0: <untyped>], ctr_1 + [0: <untyped>], dir]: Expression type did not match the context's target type +E Expression type: float32 +E Target type: float64 + +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/backend/kernelcreation/typification.py:113: TypificationError</failure></testcase><testcase classname="tests.phasefield.test_analytical_n_phase_full.ipynb" name="test_analytical_n_phase_full.ipynb" time="21.155" /><testcase classname="tests.cumulantmethod.test_equilibrium" name="test_equilibrium_pdfs[BinomialChimeraTransform-Stencil.D3Q19]" time="9.563" /><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction13]" time="0.003"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Odd-esopull-Stencil.D2Q9]" time="0.011" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Even-esopush-Stencil.D3Q19]" time="0.232" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Even-esotwist-Stencil.D2Q9]" time="0.009" /><testcase classname="src.lbmpy.geometry" name="lbmpy.geometry.add_pipe_inflow_boundary" time="5.545" /><testcase classname="src.lbmpy.phasefield.post_processing" name="lbmpy.phasefield.post_processing.analytic_neumann_angles" time="0.006" /><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction14]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Even-push-Stencil.D2Q9]" time="0.010" /><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction20]" time="0.003"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.phasefield.test_phasefield" name="test_pressure_tensor" time="25.657" /><testcase classname="tests.advanced_streaming.test_communication" name="test_direct_copy_and_kernels_equivalence[esotwist-Stencil.D3Q19]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:135: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Even-esotwist-Stencil.D3Q15]" time="0.014" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Even-esopush-Stencil.D3Q15]" time="0.015" /><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction15]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction1]" time="0.003"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_direct_copy_and_kernels_equivalence[esopull-Stencil.D2Q9]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:135: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_direct_copy_and_kernels_equivalence[esopull-Stencil.D3Q19]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:135: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Odd-esopull-Stencil.D3Q15]" time="0.014" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Even-push-Stencil.D3Q15]" time="0.015" /><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction21]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="src.lbmpy.quadratic_equilibrium_construction" name="lbmpy.quadratic_equilibrium_construction.match_generic_equilibrium_ansatz" time="0.444" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Even-esopush-Stencil.D3Q19]" time="0.014" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Odd-aa-Stencil.D3Q15]" time="0.014" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Even-esotwist-Stencil.D3Q19]" time="0.015" /><testcase classname="tests.advanced_streaming.test_communication" name="test_direct_copy_and_kernels_equivalence[esopush-Stencil.D2Q9]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:135: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction16]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction2]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction22]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Even-push-Stencil.D3Q19]" time="0.014" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Odd-esopull-Stencil.D3Q19]" time="0.013" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Odd-aa-Stencil.D3Q19]" time="0.013" /><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction17]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_direct_copy_and_kernels_equivalence[esopush-Stencil.D3Q19]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:135: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction18]" time="0.003"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction3]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Odd-esopull-Stencil.D3Q27]" time="0.022" /><testcase classname="tests.advanced_streaming.test_communication" name="test_optimised_and_full_communication_equivalence[Stencil.D2Q9]" time="0.184" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Even-push-Stencil.D3Q27]" time="0.022" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Even-esotwist-Stencil.D3Q27]" time="0.025" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Odd-aa-Stencil.D3Q27]" time="0.021" /><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction23]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction19]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Even-esopush-Stencil.D3Q27]" time="0.019" /><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction4]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction20]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction21]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction24]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction5]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction22]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction23]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction25]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction6]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction26]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction24]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Odd-push-Stencil.D2Q9]" time="0.007" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Even-pull-Stencil.D2Q9]" time="0.006" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Odd-esopush-Stencil.D2Q9]" time="0.006" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Odd-push-Stencil.D3Q15]" time="0.013" /><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction7]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction25]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Even-esopull-Stencil.D2Q9]" time="0.004" /><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction0]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Odd-esotwist-Stencil.D2Q9]" time="0.004" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Even-pull-Stencil.D3Q15]" time="0.009" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Odd-esopush-Stencil.D3Q15]" time="0.007" /><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction1]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction8]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction26]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Odd-esotwist-Stencil.D3Q15]" time="0.010" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Even-esopull-Stencil.D3Q15]" time="0.010" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Even-pull-Stencil.D3Q19]" time="0.009" /><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction9]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Odd-esopush-Stencil.D3Q19]" time="0.006" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Odd-esotwist-Stencil.D3Q19]" time="0.009" /><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction2]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_direct_copy_and_kernels_equivalence[push-Stencil.D2Q9]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:135: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Even-esopull-Stencil.D3Q19]" time="0.008" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Odd-push-Stencil.D3Q19]" time="0.011" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Odd-esopush-Stencil.D3Q27]" time="0.012" /><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction10]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction3]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_direct_copy_and_kernels_equivalence[push-Stencil.D3Q19]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:135: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction4]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction11]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_direct_copy_and_kernels_equivalence[pull-Stencil.D2Q9]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:135: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Even-pull-Stencil.D3Q27]" time="0.015" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Odd-esotwist-Stencil.D3Q27]" time="0.015" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Odd-push-Stencil.D3Q27]" time="0.017" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Even-esopull-Stencil.D3Q27]" time="0.014" /><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction5]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction12]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_direct_copy_and_kernels_equivalence[pull-Stencil.D3Q19]" time="0.003"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:135: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Even-push-Stencil.D2Q9]" time="0.002" /><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction6]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction13]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_direct_copy_and_kernels_equivalence[aa-Stencil.D2Q9]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:135: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction7]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Even-push-Stencil.D3Q15]" time="0.006" /><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction14]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction8]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Even-aa-Stencil.D2Q9]" time="0.003" /><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction15]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Odd-esopull-Stencil.D2Q9]" time="0.003" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Even-push-Stencil.D3Q19]" time="0.006" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Even-esopush-Stencil.D2Q9]" time="0.005" /><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction9]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Odd-pull-Stencil.D2Q9]" time="0.004" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Even-aa-Stencil.D3Q15]" time="0.008" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Even-esopush-Stencil.D3Q15]" time="0.012" /><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction16]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Odd-esopull-Stencil.D3Q15]" time="0.008" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Even-push-Stencil.D3Q27]" time="0.010" /><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction10]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction17]" time="0.003"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Odd-pull-Stencil.D3Q15]" time="0.008" /><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction11]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Even-aa-Stencil.D3Q19]" time="0.007" /><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction18]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Odd-esopull-Stencil.D3Q19]" time="0.007" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Even-pull-Stencil.D2Q9]" time="0.003" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Odd-pull-Stencil.D3Q19]" time="0.007" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Even-esopush-Stencil.D3Q19]" time="0.010" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Even-aa-Stencil.D3Q27]" time="0.011" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Even-pull-Stencil.D3Q15]" time="0.005" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Odd-esopull-Stencil.D3Q27]" time="0.013" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Odd-pull-Stencil.D3Q27]" time="0.016" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Even-pull-Stencil.D3Q19]" time="0.005" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Even-esopush-Stencil.D3Q27]" time="0.016" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Even-esotwist-Stencil.D2Q9]" time="0.005" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Even-pull-Stencil.D3Q27]" time="0.011" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Even-esotwist-Stencil.D3Q15]" time="0.018" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Odd-esopush-Stencil.D2Q9]" time="0.004" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Odd-aa-Stencil.D2Q9]" time="0.004" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Even-aa-Stencil.D2Q9]" time="0.002" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Odd-esopush-Stencil.D3Q15]" time="0.011" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Odd-push-Stencil.D2Q9]" time="0.003" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Even-aa-Stencil.D3Q15]" time="0.006" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Odd-push-Stencil.D3Q15]" time="0.008" /><testcase classname="tests.advanced_streaming.test_communication" name="test_direct_copy_and_kernels_equivalence[aa-Stencil.D3Q19]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:135: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_central_moment_transform" name="test_forward_transform[PdfsToCentralMomentsByShiftMatrix-Stencil.D2Q9-polynomial]" time="5.148" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Even-aa-Stencil.D3Q19]" time="0.006" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Odd-aa-Stencil.D3Q15]" time="0.008" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Odd-aa-Stencil.D3Q19]" time="0.007" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Even-esotwist-Stencil.D3Q19]" time="0.009" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Odd-esopush-Stencil.D3Q19]" time="0.008" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Odd-push-Stencil.D3Q19]" time="0.007" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Odd-aa-Stencil.D3Q27]" time="0.011" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Odd-esopush-Stencil.D3Q27]" time="0.012" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Even-esotwist-Stencil.D3Q27]" time="0.021" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Odd-push-Stencil.D3Q27]" time="0.012" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Odd-pull-Stencil.D2Q9]" time="0.003" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Odd-pull-Stencil.D3Q15]" time="0.015" /><testcase classname="tests.advanced_streaming.test_communication" name="test_pull_communication_slices[Stencil.D2Q9]" time="0.002" /><testcase classname="tests.advanced_streaming.test_communication" name="test_pull_communication_slices[Stencil.D3Q15]" time="0.007" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Odd-esotwist-Stencil.D2Q9]" time="0.003" /><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[False-direction19]" time="0.006"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_central_moment_transform" name="test_backward_transform[FastCentralMomentTransform-Stencil.D2Q9-polynomial]" time="5.848" /><testcase classname="tests.advanced_streaming.test_communication" name="test_optimised_and_full_communication_equivalence[Stencil.D3Q15]" time="0.188" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Odd-esotwist-Stencil.D3Q15]" time="0.011" /><testcase classname="tests.advanced_streaming.test_communication" name="test_pull_communication_slices[Stencil.D3Q19]" time="0.008" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Odd-esotwist-Stencil.D3Q19]" time="0.009" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Even-esopull-Stencil.D2Q9]" time="0.003" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Odd-pull-Stencil.D3Q19]" time="0.006" /><testcase classname="tests.advanced_streaming.test_communication" name="test_gpu_comm_kernels[True-direction12]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/advanced_streaming/test_communication.py:94: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Even-esopush-Stencil.D3Q27]" time="0.096" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Even-esopull-Stencil.D3Q15]" time="0.008" /><testcase classname="tests.test_chapman_enskog" name="test_srt[Stencil.D2Q9-True]" time="5.125" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Even-esopull-Stencil.D3Q19]" time="0.008" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Even-aa-Stencil.D3Q27]" time="0.011" /><testcase classname="tests.test_cumulant_equivalences" name="test_zero_centering_equilibrium_equivalence[Stencil.D3Q19]" time="14.695" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Even-esopull-Stencil.D3Q27]" time="0.013" /><testcase classname="tests.advanced_streaming.test_communication" name="test_src_dst_same_shape[Odd-pull-Stencil.D3Q27]" time="0.027" /><testcase classname="tests.advanced_streaming.test_communication" name="test_pull_communication_slices[Stencil.D3Q27]" time="0.018" /><testcase classname="tests.advanced_streaming.test_communication" name="test_slices_not_empty[Odd-esotwist-Stencil.D3Q27]" time="0.026" /><testcase classname="tests.test_entropic" name="test_entropic_methods[Method.TRT_KBC_N3]" time="6.975" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.SIMPLE-False-Method.SRT]" time="4.734" /><testcase classname="tests.test_extrapolation_outflow" name="test_extrapolation_outflow_initialization_by_copy" time="0.977" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.LUO-True-Method.MRT]" time="6.201" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Odd-push-Stencil.D2Q9]" time="0.093" /><testcase classname="tests.test_boundary_handling" name="test_force_on_boundary[float32-False]" time="0.231"><failure message="pystencils.backend.exceptions.TypificationError: Type mismatch at expression _data_pdfs_src[ctr_0 + [0: <untyped>], ctr_1 + [0: <untyped>], dir]: Expression type did not match the context's target type Expression type: float32 Target type: float64">given_force_vector = False, dtype = 'float32' + + @pytest.mark.parametrize("given_force_vector", [True, False]) + @pytest.mark.parametrize("dtype", ["float32", "float64"]) + def test_force_on_boundary(given_force_vector, dtype): + stencil = LBStencil(Stencil.D2Q9) + pdfs = ps.fields(f"pdfs_src({stencil.Q}): {dtype}[{stencil.D}D]", layout='fzyx') + + method = create_lb_method(lbm_config=LBMConfig(stencil=stencil, method=Method.SRT, relaxation_rate=1.8)) + + noslip = NoSlip(name="noslip", calculate_force_on_boundary=True) + bouzidi = NoSlipLinearBouzidi(name="bouzidi", calculate_force_on_boundary=True) + qq_bounce_Back = QuadraticBounceBack(name="qqBB", relaxation_rate=1.8, calculate_force_on_boundary=True) + + boundary_objects = [noslip, bouzidi, qq_bounce_Back] + for boundary in boundary_objects: + if given_force_vector: + force_vector_type = np.dtype([(f"F_{i}", dtype) for i in range(stencil.D)], align=True) + force_vector = ps.Field('forceVector', ps.FieldType.INDEXED, force_vector_type, layout=[0], + shape=(ps.TypedSymbol("forceVectorSize", "int32"), 1), strides=(1, 1)) + else: + force_vector = None + + index_struct_dtype = _numpy_data_type_for_boundary_object(boundary, stencil.D) + + index_field = ps.Field('indexVector', ps.FieldType.INDEXED, index_struct_dtype, layout=[0], + shape=(ps.TypedSymbol("indexVectorSize", "int32"), 1), strides=(1, 1)) + +> create_lattice_boltzmann_boundary_kernel(pdfs, index_field, method, boundary, force_vector=force_vector) + +tests/test_boundary_handling.py:468: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +src/lbmpy/boundaries/boundaryhandling.py:205: in create_lattice_boltzmann_boundary_kernel + kernel = create_kernel(elements, config=config) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/codegen/driver.py:80: in create_kernel + return driver(assignments) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/codegen/driver.py:133: in __call__ + kernel_body = self.parse_kernel_body(assignments) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/codegen/driver.py:240: in parse_kernel_body + kernel_body = typify(kernel_body) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/backend/kernelcreation/typification.py:291: in __call__ + self.visit(node) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/backend/kernelcreation/typification.py:310: in visit + self.visit(s) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/backend/kernelcreation/typification.py:369: in visit + self.visit_expr(rhs, tc) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/backend/kernelcreation/typification.py:433: in visit_expr + tc.apply_dtype(expr.buffer.element_type, expr) +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +self = <pystencils.backend.kernelcreation.typification.TypeContext object at 0x7f23b7ee5930>, dtype = PsIeeeFloatType( width=32, const=False ) +expr = PsBufferAcc(Symbol(PsSymbol('_data_pdfs_src', PsPointerType( PsIeeeFloatType( width=32, const=False ), const=False, re...alse ))), PsConstantExpr(0: <untyped>)), Symbol(PsSymbol('dir', PsIntegerType( width=32, signed=True, const=False )))]) + + def apply_dtype(self, dtype: PsType, expr: PsExpression | None = None): + """Applies the given ``dtype`` to this type context, and optionally to the given expression. + + If the context's target_type is already known, it must be compatible with the given dtype. + If the target type is still unknown, target_type is set to dtype and retroactively applied + to all deferred expressions. + + If an expression is specified, it will be covered by the type context. + If the expression already has a data type set, it must be compatible with the target type + and will be replaced by it. + """ + + dtype = deconstify(dtype) + + if self._target_type is not None and dtype != self._target_type: +> raise TypificationError( + f"Type mismatch at expression {expr}: Expression type did not match the context's target type\n" + f" Expression type: {dtype}\n" + f" Target type: {self._target_type}" + ) +E pystencils.backend.exceptions.TypificationError: Type mismatch at expression _data_pdfs_src[ctr_0 + [0: <untyped>], ctr_1 + [0: <untyped>], dir]: Expression type did not match the context's target type +E Expression type: float32 +E Target type: float64 + +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/backend/kernelcreation/typification.py:113: TypificationError</failure></testcase><testcase classname="tests.advanced_streaming.test_communication" name="test_optimised_and_full_communication_equivalence[Stencil.D3Q19]" time="0.186" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Odd-push-Stencil.D3Q19]" time="0.063" /><testcase classname="src.lbmpy.scenarios" name="lbmpy.scenarios" time="6.294" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Odd-push-Stencil.D3Q27]" time="0.083" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Odd-pull-Stencil.D2Q9]" time="0.045" /><testcase classname="tests.advanced_streaming.test_communication" name="test_optimised_and_full_communication_equivalence[Stencil.D3Q27]" time="0.238" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Odd-pull-Stencil.D3Q19]" time="0.070" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Odd-pull-Stencil.D3Q27]" time="0.091" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Odd-aa-Stencil.D2Q9]" time="0.046" /><testcase classname="tests.test_boundary_handling" name="test_force_on_boundary[float64-True]" time="2.230" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Odd-aa-Stencil.D3Q19]" time="0.048" /><testcase classname="tests.cumulantmethod.test_equilibrium" name="test_equilibrium_pdfs[PdfsToCentralMomentsByMatrix-Stencil.D2Q9]" time="8.012" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Odd-aa-Stencil.D3Q27]" time="0.068" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Odd-esotwist-Stencil.D2Q9]" time="0.036" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Odd-esotwist-Stencil.D3Q19]" time="0.354" /><testcase classname="tests.test_extrapolation_outflow" name="test_extrapolation_outflow_initialization_by_callback" time="4.824" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Odd-esotwist-Stencil.D3Q27]" time="0.387" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Odd-esopull-Stencil.D2Q9]" time="0.256" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Odd-esopull-Stencil.D3Q19]" time="0.335" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Odd-esopull-Stencil.D3Q27]" time="0.360" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Odd-esopush-Stencil.D2Q9]" time="0.309" /><testcase classname="tests.test_boundary_handling" name="test_force_on_boundary[float64-False]" time="0.207" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Odd-esopush-Stencil.D3Q19]" time="0.338" /><testcase classname="tests.test_builtin_periodicity" name="test_builtin_periodicity" time="4.132" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Odd-esopush-Stencil.D3Q27]" time="0.369" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.BUICK-True-Method.SRT]" time="4.798" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.SIMPLE-False-Method.TRT]" time="0.292" /><testcase classname="tests.test_central_moment_transform" name="test_forward_transform[PdfsToCentralMomentsByShiftMatrix-Stencil.D3Q15-monomial]" time="26.512" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.SIMPLE-False-Method.MRT]" time="0.425" /><testcase classname="tests.test_chapman_enskog" name="test_srt[Stencil.D3Q15-False]" time="5.797" /><testcase classname="src.lbmpy.geometry" name="lbmpy.geometry.get_pipe_velocity_field" time="4.525" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.SIMPLE-False-Method.CUMULANT]" time="1.963" /><testcase classname="tests.test_central_moment_transform" name="test_backward_transform[FastCentralMomentTransform-Stencil.D3Q15-monomial]" time="36.278" /><testcase classname="tests.test_field_access_pattern_visualization.ipynb" name="test_field_access_pattern_visualization.ipynb" time="0.967" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.LUO-True-Method.CUMULANT]" time="2.044" /><testcase classname="src.lbmpy.updatekernels" name="lbmpy.updatekernels.create_pdf_array" time="0.003" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Even-push-Stencil.D2Q9]" time="0.052" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Even-push-Stencil.D3Q19]" time="0.131" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Even-push-Stencil.D3Q27]" time="0.107" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Even-pull-Stencil.D2Q9]" time="0.041" /><testcase classname="tests.test_float_kernel" name="test_creation[Method.SRT-False]" time="0.136" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Even-pull-Stencil.D3Q19]" time="0.062" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Even-pull-Stencil.D3Q27]" time="0.085" /><testcase classname="tests.test_float_kernel" name="test_creation[Method.SRT-True]" time="0.121" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Even-aa-Stencil.D2Q9]" time="0.047" /><testcase classname="tests.test_entropic" name="test_entropic_methods[Method.TRT_KBC_N4]" time="1.030" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Even-aa-Stencil.D3Q19]" time="0.060" /><testcase classname="tests.test_float_kernel" name="test_creation[Method.CENTRAL_MOMENT-False]" time="0.126" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Even-aa-Stencil.D3Q27]" time="0.079" /><testcase classname="tests.test_central_moment" name="test_central_moment_ldc" time="12.201" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Even-esotwist-Stencil.D2Q9]" time="0.335" /><testcase classname="tests.test_float_kernel" name="test_creation[Method.CENTRAL_MOMENT-True]" time="0.114" /><testcase classname="tests.test_float_kernel" name="test_creation[Method.CUMULANT-False]" time="0.111" /><testcase classname="tests.test_float_kernel" name="test_creation[Method.CUMULANT-True]" time="0.119" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.SIMPLE-True-Method.SRT]" time="0.336" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Even-esotwist-Stencil.D3Q19]" time="0.381" /><testcase classname="tests.test_float_kernel" name="test_scenario[Method.SRT-False]" time="4.987"><failure message="pystencils.backend.exceptions.TypificationError: Type mismatch at expression _data_ldc_pdfSrc[ctr_0 + [0: <untyped>], ctr_1 + [0: <untyped>], ctr_2 + [0: <untyped>], [11: <untyped>]]: Expression type did not match the context's target type Expression type: float32 Target type: float64">method_enum = <Method.SRT: 1>, double_precision = False + + @pytest.mark.parametrize("double_precision", [False, True]) + @pytest.mark.parametrize( + "method_enum", [Method.SRT, Method.CENTRAL_MOMENT, Method.CUMULANT] + ) + def test_scenario(method_enum, double_precision): + lbm_config = LBMConfig( + stencil=LBStencil(Stencil.D3Q27), + method=method_enum, + relaxation_rate=1.45, + compressible=True, + ) + + if IS_PYSTENCILS_2: + config = ps.CreateKernelConfig( + default_dtype="float64" if double_precision else "float32" + ) + else: + config = ps.CreateKernelConfig( + data_type="float64" if double_precision else "float32", + default_number_float="float64" if double_precision else "float32", + ) +> sc = create_lid_driven_cavity((16, 16, 8), lbm_config=lbm_config, config=config) + +tests/test_float_kernel.py:61: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +src/lbmpy/scenarios.py:105: in create_lid_driven_cavity + step.boundary_handling.set_boundary(my_ubb, slice_from_direction('N', step.dim)) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/boundaries/boundaryhandling.py:195: in set_boundary + flag = self._add_boundary(boundary_obj, force_flag_value) +src/lbmpy/boundaries/boundaryhandling.py:50: in _add_boundary + return super(LatticeBoltzmannBoundaryHandling, self)._add_boundary(boundary_obj, flag) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/boundaries/boundaryhandling.py:307: in _add_boundary + ast = self._create_boundary_kernel(self._data_handling.fields[self._field_name], +src/lbmpy/boundaries/boundaryhandling.py:69: in _create_boundary_kernel + return create_lattice_boltzmann_boundary_kernel( +src/lbmpy/boundaries/boundaryhandling.py:205: in create_lattice_boltzmann_boundary_kernel + kernel = create_kernel(elements, config=config) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/codegen/driver.py:80: in create_kernel + return driver(assignments) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/codegen/driver.py:133: in __call__ + kernel_body = self.parse_kernel_body(assignments) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/codegen/driver.py:240: in parse_kernel_body + kernel_body = typify(kernel_body) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/backend/kernelcreation/typification.py:291: in __call__ + self.visit(node) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/backend/kernelcreation/typification.py:310: in visit + self.visit(s) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/backend/kernelcreation/typification.py:369: in visit + self.visit_expr(rhs, tc) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/backend/kernelcreation/typification.py:433: in visit_expr + tc.apply_dtype(expr.buffer.element_type, expr) +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +self = <pystencils.backend.kernelcreation.typification.TypeContext object at 0x774eaaa63be0>, dtype = PsIeeeFloatType( width=32, const=False ) +expr = PsBufferAcc(Symbol(PsSymbol('_data_ldc_pdfSrc', PsPointerType( PsIeeeFloatType( width=32, const=False ), const=False, ..., PsIntegerType( width=32, signed=True, const=False ))), PsConstantExpr(0: <untyped>)), PsConstantExpr(11: <untyped>)]) + + def apply_dtype(self, dtype: PsType, expr: PsExpression | None = None): + """Applies the given ``dtype`` to this type context, and optionally to the given expression. + + If the context's target_type is already known, it must be compatible with the given dtype. + If the target type is still unknown, target_type is set to dtype and retroactively applied + to all deferred expressions. + + If an expression is specified, it will be covered by the type context. + If the expression already has a data type set, it must be compatible with the target type + and will be replaced by it. + """ + + dtype = deconstify(dtype) + + if self._target_type is not None and dtype != self._target_type: +> raise TypificationError( + f"Type mismatch at expression {expr}: Expression type did not match the context's target type\n" + f" Expression type: {dtype}\n" + f" Target type: {self._target_type}" + ) +E pystencils.backend.exceptions.TypificationError: Type mismatch at expression _data_ldc_pdfSrc[ctr_0 + [0: <untyped>], ctr_1 + [0: <untyped>], ctr_2 + [0: <untyped>], [11: <untyped>]]: Expression type did not match the context's target type +E Expression type: float32 +E Target type: float64 + +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/backend/kernelcreation/typification.py:113: TypificationError</failure></testcase><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.SIMPLE-True-Method.TRT]" time="0.486" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Even-esotwist-Stencil.D3Q27]" time="0.372" /><testcase classname="tests.test_esotwist_visualization.ipynb" name="test_esotwist_visualization.ipynb" time="0.988" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.SIMPLE-True-Method.MRT]" time="1.375" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Even-esopull-Stencil.D2Q9]" time="0.321" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.GUO-False-Method.SRT]" time="0.576" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.BUICK-True-Method.TRT]" time="0.309" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.BUICK-True-Method.MRT]" time="0.456" /><testcase classname="tests.cumulantmethod.test_equilibrium" name="test_equilibrium_pdfs[PdfsToCentralMomentsByMatrix-Stencil.D3Q19]" time="18.743" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Even-esopull-Stencil.D3Q19]" time="0.335" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.GUO-False-Method.TRT]" time="0.329" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Even-esopull-Stencil.D3Q27]" time="0.394" /><testcase classname="tests.test_extrapolation_outflow" name="test_pdf_simple_extrapolation[push-Stencil.D2Q9]" time="0.246" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.BUICK-True-Method.CUMULANT]" time="0.001" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.SILVA-False-Method.SRT]" time="0.310" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.GUO-False-Method.MRT]" time="0.429" /><testcase classname="tests.test_extrapolation_outflow" name="test_pdf_simple_extrapolation[push-Stencil.D3Q27]" time="1.661" /><testcase classname="tests.cumulantmethod.test_equilibrium" name="test_equilibrium_pdfs[BinomialChimeraTransform-Stencil.D3Q27]" time="25.099" /><testcase classname="tests.advanced_streaming.test_advanced_streaming_noslip" name="test_advanced_streaming_noslip_single_cell[Even-esopush-Stencil.D2Q9]" time="0.332" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.SILVA-False-Method.TRT]" time="0.288" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.GUO-False-Method.CUMULANT]" time="1.342" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.SIMPLE-True-Method.CUMULANT]" time="1.401" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.SILVA-False-Method.MRT]" time="0.419" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.EDM-False-Method.MRT]" time="0.476" /><testcase classname="src.lbmpy.max_domain_size_info" name="lbmpy.max_domain_size_info" time="1.448" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.SILVA-False-Method.CUMULANT]" time="0.001" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.SILVA-True-Method.SRT]" time="0.304" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.EDM-False-Method.CUMULANT]" time="0.001" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.EDM-True-Method.SRT]" time="0.388" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.SILVA-True-Method.TRT]" time="0.291" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.EDM-True-Method.TRT]" time="0.410" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.SILVA-True-Method.MRT]" time="0.440" /><testcase classname="tests.test_chapman_enskog" name="test_srt[Stencil.D3Q15-True]" time="7.153" /><testcase classname="tests.test_extrapolation_outflow" name="test_pdf_simple_extrapolation[pull-Stencil.D2Q9]" time="0.237" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.GUO-True-Method.SRT]" time="0.359" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.EDM-True-Method.MRT]" time="0.677" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.LUO-False-Method.SRT]" time="0.353" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.SILVA-True-Method.CUMULANT]" time="0.001" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.EDM-False-Method.SRT]" time="0.609" /><testcase classname="tests.test_extrapolation_outflow" name="test_pdf_simple_extrapolation[pull-Stencil.D3Q27]" time="1.385" /><testcase classname="src.lbmpy.maxwellian_equilibrium" name="lbmpy.maxwellian_equilibrium.compressible_to_incompressible_moment_value" time="0.009" /><testcase classname="src.lbmpy.maxwellian_equilibrium" name="lbmpy.maxwellian_equilibrium.get_equilibrium_values_of_maxwell_boltzmann_function" time="0.010" /><testcase classname="src.lbmpy.moments" name="lbmpy.moments" time="0.003" /><testcase classname="src.lbmpy.moments" name="lbmpy.moments.__fixed_sum_tuples" time="0.005" /><testcase classname="src.lbmpy.moments" name="lbmpy.moments.__unique" time="0.004" /><testcase classname="src.lbmpy.moments" name="lbmpy.moments.__unique_permutations" time="0.002" /><testcase classname="src.lbmpy.moments" name="lbmpy.moments.exponent_to_polynomial_representation" time="0.006" /><testcase classname="src.lbmpy.moments" name="lbmpy.moments.extract_monomials" time="0.013" /><testcase classname="src.lbmpy.moments" name="lbmpy.moments.get_moment_indices" time="0.004" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.GUO-True-Method.TRT]" time="0.296" /><testcase classname="src.lbmpy.moments" name="lbmpy.moments.get_order" time="0.011" /><testcase classname="src.lbmpy.moments" name="lbmpy.moments.is_even" time="0.008" /><testcase classname="src.lbmpy.moments" name="lbmpy.moments.moment_multiplicity" time="0.003" /><testcase classname="src.lbmpy.moments" name="lbmpy.moments.monomial_to_polynomial_transformation_matrix" time="0.018" /><testcase classname="src.lbmpy.moments" name="lbmpy.moments.non_aliased_moment" time="0.002" /><testcase classname="src.lbmpy.moments" name="lbmpy.moments.polynomial_to_exponent_representation" time="0.012" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.LUO-False-Method.TRT]" time="0.282" /><testcase classname="src.lbmpy.phasefield.analytical" name="lbmpy.phasefield.analytical.analytic_interface_profile" time="1.163" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.GUO-True-Method.MRT]" time="0.431" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.EDM-True-Method.CUMULANT]" time="0.001" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.KUPERSHTOKH-False-Method.SRT]" time="0.399" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.LUO-False-Method.MRT]" time="0.421" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.EDM-False-Method.TRT]" time="0.381" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.GUO-True-Method.CUMULANT]" time="1.173" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.KUPERSHTOKH-False-Method.TRT]" time="0.362" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.LUO-False-Method.CUMULANT]" time="1.141" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.HE-False-Method.SRT]" time="0.304" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.KUPERSHTOKH-False-Method.MRT]" time="0.422" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.HE-False-Method.TRT]" time="0.333" /><testcase classname="src.lbmpy.phasefield.analytical" name="lbmpy.phasefield.analytical.separate_into_bulk_and_interface" time="0.154" /><testcase classname="tests.test_extrapolation_outflow" name="test_pdf_simple_extrapolation[aa-Stencil.D2Q9]" time="0.801" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.SHANCHEN-True-Method.CUMULANT]" time="0.002" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.SIMPLE-False-Method.SRT]" time="0.378" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.HE-False-Method.MRT]" time="0.438" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.KUPERSHTOKH-False-Method.CUMULANT]" time="0.003" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.KUPERSHTOKH-True-Method.SRT]" time="0.389" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.SIMPLE-False-Method.TRT]" time="0.290" /><testcase classname="tests.test_float_kernel" name="test_scenario[Method.SRT-True]" time="2.942" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.HE-False-Method.CUMULANT]" time="2.023" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.BUICK-False-Method.SRT]" time="0.305" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.KUPERSHTOKH-True-Method.TRT]" time="0.365" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.LUO-True-Method.SRT]" time="0.351" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.SIMPLE-False-Method.MRT]" time="0.449" /><testcase classname="tests.test_extrapolation_outflow" name="test_pdf_simple_extrapolation[aa-Stencil.D3Q27]" time="4.954" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.BUICK-False-Method.TRT]" time="0.264" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.LUO-True-Method.TRT]" time="0.301" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.KUPERSHTOKH-True-Method.MRT]" time="0.430" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.BUICK-False-Method.MRT]" time="0.426" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.SIMPLE-False-Method.CUMULANT]" time="2.002" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.BUICK-True-Method.SRT]" time="0.266" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.KUPERSHTOKH-True-Method.CUMULANT]" time="0.001" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.LUO-True-Method.SRT]" time="0.301" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.BUICK-True-Method.TRT]" time="0.282" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.BUICK-False-Method.CUMULANT]" time="0.001" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.KUPERSHTOKH-False-Method.MRT]" time="0.362" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.LUO-True-Method.TRT]" time="0.291" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.BUICK-True-Method.MRT]" time="0.431" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.KUPERSHTOKH-False-Method.CUMULANT]" time="0.001" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.KUPERSHTOKH-True-Method.SRT]" time="0.395" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.LUO-True-Method.MRT]" time="0.439" /><testcase classname="tests.test_cumulant_methods" name="test_weights[Stencil.D2Q9]" time="1.269" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.BUICK-True-Method.CUMULANT]" time="0.001" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.SILVA-False-Method.SRT]" time="0.359" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.KUPERSHTOKH-True-Method.TRT]" time="0.353" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.LUO-True-Method.CUMULANT]" time="2.091" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.HE-True-Method.SRT]" time="0.397" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.SILVA-False-Method.TRT]" time="0.546" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.KUPERSHTOKH-True-Method.MRT]" time="0.384" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.HE-True-Method.TRT]" time="0.343" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.KUPERSHTOKH-True-Method.CUMULANT]" time="0.001" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.HE-False-Method.SRT]" time="0.569" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.SILVA-False-Method.MRT]" time="0.436" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.SIMPLE-True-Method.SRT]" time="0.346" /><testcase classname="tests.test_cumulant_methods" name="test_weights[Stencil.D3Q19]" time="0.591" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.HE-True-Method.MRT]" time="0.437" /><testcase classname="tests.test_float_kernel" name="test_scenario[Method.CENTRAL_MOMENT-False]" time="9.939"><failure message="pystencils.backend.exceptions.TypificationError: Type mismatch at expression _data_ldc_pdfSrc[ctr_0 + [0: <untyped>], ctr_1 + [0: <untyped>], ctr_2 + [0: <untyped>], [11: <untyped>]]: Expression type did not match the context's target type Expression type: float32 Target type: float64">method_enum = <Method.CENTRAL_MOMENT: 5>, double_precision = False + + @pytest.mark.parametrize("double_precision", [False, True]) + @pytest.mark.parametrize( + "method_enum", [Method.SRT, Method.CENTRAL_MOMENT, Method.CUMULANT] + ) + def test_scenario(method_enum, double_precision): + lbm_config = LBMConfig( + stencil=LBStencil(Stencil.D3Q27), + method=method_enum, + relaxation_rate=1.45, + compressible=True, + ) + + if IS_PYSTENCILS_2: + config = ps.CreateKernelConfig( + default_dtype="float64" if double_precision else "float32" + ) + else: + config = ps.CreateKernelConfig( + data_type="float64" if double_precision else "float32", + default_number_float="float64" if double_precision else "float32", + ) +> sc = create_lid_driven_cavity((16, 16, 8), lbm_config=lbm_config, config=config) + +tests/test_float_kernel.py:61: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +src/lbmpy/scenarios.py:105: in create_lid_driven_cavity + step.boundary_handling.set_boundary(my_ubb, slice_from_direction('N', step.dim)) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/boundaries/boundaryhandling.py:195: in set_boundary + flag = self._add_boundary(boundary_obj, force_flag_value) +src/lbmpy/boundaries/boundaryhandling.py:50: in _add_boundary + return super(LatticeBoltzmannBoundaryHandling, self)._add_boundary(boundary_obj, flag) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/boundaries/boundaryhandling.py:307: in _add_boundary + ast = self._create_boundary_kernel(self._data_handling.fields[self._field_name], +src/lbmpy/boundaries/boundaryhandling.py:69: in _create_boundary_kernel + return create_lattice_boltzmann_boundary_kernel( +src/lbmpy/boundaries/boundaryhandling.py:205: in create_lattice_boltzmann_boundary_kernel + kernel = create_kernel(elements, config=config) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/codegen/driver.py:80: in create_kernel + return driver(assignments) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/codegen/driver.py:133: in __call__ + kernel_body = self.parse_kernel_body(assignments) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/codegen/driver.py:240: in parse_kernel_body + kernel_body = typify(kernel_body) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/backend/kernelcreation/typification.py:291: in __call__ + self.visit(node) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/backend/kernelcreation/typification.py:310: in visit + self.visit(s) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/backend/kernelcreation/typification.py:369: in visit + self.visit_expr(rhs, tc) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/backend/kernelcreation/typification.py:433: in visit_expr + tc.apply_dtype(expr.buffer.element_type, expr) +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +self = <pystencils.backend.kernelcreation.typification.TypeContext object at 0x774ea98708e0>, dtype = PsIeeeFloatType( width=32, const=False ) +expr = PsBufferAcc(Symbol(PsSymbol('_data_ldc_pdfSrc', PsPointerType( PsIeeeFloatType( width=32, const=False ), const=False, ..., PsIntegerType( width=32, signed=True, const=False ))), PsConstantExpr(0: <untyped>)), PsConstantExpr(11: <untyped>)]) + + def apply_dtype(self, dtype: PsType, expr: PsExpression | None = None): + """Applies the given ``dtype`` to this type context, and optionally to the given expression. + + If the context's target_type is already known, it must be compatible with the given dtype. + If the target type is still unknown, target_type is set to dtype and retroactively applied + to all deferred expressions. + + If an expression is specified, it will be covered by the type context. + If the expression already has a data type set, it must be compatible with the target type + and will be replaced by it. + """ + + dtype = deconstify(dtype) + + if self._target_type is not None and dtype != self._target_type: +> raise TypificationError( + f"Type mismatch at expression {expr}: Expression type did not match the context's target type\n" + f" Expression type: {dtype}\n" + f" Target type: {self._target_type}" + ) +E pystencils.backend.exceptions.TypificationError: Type mismatch at expression _data_ldc_pdfSrc[ctr_0 + [0: <untyped>], ctr_1 + [0: <untyped>], ctr_2 + [0: <untyped>], [11: <untyped>]]: Expression type did not match the context's target type +E Expression type: float32 +E Target type: float64 + +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/backend/kernelcreation/typification.py:113: TypificationError</failure></testcase><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.SIMPLE-True-Method.TRT]" time="0.306" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.SILVA-False-Method.CUMULANT]" time="0.002" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.SILVA-True-Method.SRT]" time="0.313" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.HE-False-Method.TRT]" time="0.334" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.HE-True-Method.CUMULANT]" time="1.269" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.SIMPLE-True-Method.MRT]" time="0.468" /><testcase classname="tests.test_cumulant_methods" name="test_weights[Stencil.D3Q27]" time="1.011" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.SILVA-True-Method.TRT]" time="0.294" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.HE-False-Method.MRT]" time="0.427" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.SILVA-True-Method.MRT]" time="0.426" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.SIMPLE-True-Method.CUMULANT]" time="2.740" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.HE-False-Method.CUMULANT]" time="1.188" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.GUO-False-Method.SRT]" time="0.353" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.SILVA-True-Method.CUMULANT]" time="0.001" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.EDM-False-Method.SRT]" time="0.388" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.GUO-False-Method.TRT]" time="0.267" /><testcase classname="tests.test_cumulant_transform" name="test_identity[Stencil.D2Q9]" time="1.690" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.SHANCHEN-False-Method.SRT]" time="0.359" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.EDM-False-Method.TRT]" time="0.381" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.GUO-False-Method.MRT]" time="0.654" /><testcase classname="tests.test_chapman_enskog" name="test_srt[Stencil.D3Q19-False]" time="4.495" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.SHANCHEN-False-Method.TRT]" time="0.542" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.EDM-False-Method.MRT]" time="0.424" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.HE-True-Method.SRT]" time="0.394" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.GUO-False-Method.CUMULANT]" time="1.376" /><testcase classname="tests.test_extrapolation_outflow" name="test_pdf_simple_extrapolation[esotwist-Stencil.D2Q9]" time="0.900" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.EDM-False-Method.CUMULANT]" time="0.001" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.EDM-True-Method.SRT]" time="0.398" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.SHANCHEN-False-Method.MRT]" time="0.428" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.HE-True-Method.TRT]" time="0.344" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.EDM-True-Method.TRT]" time="0.369" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.HE-True-Method.MRT]" time="0.446" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.SHANCHEN-False-Method.CUMULANT]" time="0.001" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.SHANCHEN-True-Method.SRT]" time="0.336" /><testcase classname="tests.test_cumulant_transform" name="test_identity[Stencil.D3Q19]" time="3.596" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.EDM-True-Method.MRT]" time="0.517" /><testcase classname="tests.test_central_moment" name="test_central_moment_class" time="5.397" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.SHANCHEN-True-Method.TRT]" time="0.362" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.HE-True-Method.CUMULANT]" time="1.268" /><testcase classname="tests.test_extrapolation_outflow" name="test_pdf_simple_extrapolation[esotwist-Stencil.D3Q27]" time="6.071" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.LUO-False-Method.SRT]" time="0.375" /><testcase classname="tests.test_force" name="test_total_momentum[0.5-ForceModel.SHANCHEN-True-Method.MRT]" time="0.432" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.EDM-True-Method.CUMULANT]" time="0.001" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.KUPERSHTOKH-False-Method.SRT]" time="0.402" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.GUO-True-Method.SRT]" time="0.360" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.LUO-False-Method.TRT]" time="0.294" /><testcase classname="tests.test_force" name="test_modes[False-ForceModel.BUICK]" time="0.373" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.GUO-True-Method.TRT]" time="0.257" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.KUPERSHTOKH-False-Method.TRT]" time="0.372" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.LUO-False-Method.MRT]" time="0.454" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.GUO-True-Method.MRT]" time="0.438" /><testcase classname="tests.test_force" name="test_modes[False-ForceModel.SILVA]" time="0.275" /><testcase classname="tests.test_force" name="test_modes[True-ForceModel.SIMPLE]" time="0.329" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.SHANCHEN-False-Method.SRT]" time="0.381" /><testcase classname="tests.test_force" name="test_modes[False-ForceModel.EDM]" time="2.314" /><testcase classname="tests.phasefield.test_analytical_paper_comparison.ipynb" name="test_analytical_paper_comparison.ipynb" time="1.197" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.LUO-False-Method.CUMULANT]" time="1.084" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.GUO-True-Method.CUMULANT]" time="1.181" /><testcase classname="tests.test_force" name="test_modes[True-ForceModel.LUO]" time="1.032" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.SHANCHEN-False-Method.TRT]" time="0.308" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.SHANCHEN-False-Method.MRT]" time="0.430" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.SHANCHEN-False-Method.CUMULANT]" time="0.001" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.SHANCHEN-True-Method.SRT]" time="0.330" /><testcase classname="tests.test_force" name="test_forcing_space_equivalences[ForceModel.SILVA]" time="0.861" /><testcase classname="tests.test_force" name="test_modes[True-ForceModel.GUO]" time="1.913" /><testcase classname="tests.phasefield.test_entropic_model.ipynb" name="test_entropic_model.ipynb" time="6.173" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.BUICK-False-Method.SRT]" time="0.333" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.SHANCHEN-True-Method.TRT]" time="0.300" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.BUICK-False-Method.TRT]" time="0.290" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.SHANCHEN-True-Method.MRT]" time="0.433" /><testcase classname="tests.test_chapman_enskog" name="test_srt[Stencil.D3Q19-True]" time="3.530" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.BUICK-False-Method.MRT]" time="0.424" /><testcase classname="tests.test_force" name="test_forcing_space_equivalences[ForceModel.EDM]" time="8.735" /><testcase classname="tests.test_cumulants" name="test_cumulants_from_pdfs" time="1.874" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.SHANCHEN-True-Method.CUMULANT]" time="0.002" /><testcase classname="tests.test_force" name="test_literature[Method.TRT-Stencil.D3Q27-ForceModel.GUO]" time="14.783" /><testcase classname="tests.test_force" name="test_modes[False-ForceModel.KUPERSHTOKH]" time="0.525" /><testcase classname="tests.test_force" name="test_total_momentum[1.5-ForceModel.BUICK-False-Method.CUMULANT]" time="0.001" /><testcase classname="tests.test_force" name="test_modes_central_moment[True-ForceModel.SILVA]" time="2.294" /><testcase classname="tests.test_force" name="test_modes[False-ForceModel.HE]" time="0.467" /><testcase classname="tests.test_force" name="test_modes[True-ForceModel.BUICK]" time="0.539" /><testcase classname="tests.test_force" name="test_modes[False-ForceModel.SHANCHEN]" time="0.670" /><testcase classname="tests.test_force" name="test_modes[True-ForceModel.SILVA]" time="0.274" /><testcase classname="tests.test_central_moment_equivalences" name="test_full_and_delta_equilibrium_equivalence[True-Stencil.D2Q9]" time="0.784" /><testcase classname="tests.test_cumulants" name="test_raw_moment_to_cumulant_transformation" time="17.015" /><testcase classname="tests.test_force" name="test_modes[True-ForceModel.EDM]" time="0.655" /><testcase classname="tests.test_force" name="test_momentum_density_shift[ForceModel.SIMPLE]" time="0.086" /><testcase classname="tests.test_force" name="test_momentum_density_shift[ForceModel.LUO]" time="0.058" /><testcase classname="tests.test_force" name="test_momentum_density_shift[ForceModel.GUO]" time="0.057" /><testcase classname="tests.test_force" name="test_momentum_density_shift[ForceModel.BUICK]" time="0.058" /><testcase classname="tests.test_force" name="test_momentum_density_shift[ForceModel.SILVA]" time="0.058" /><testcase classname="tests.test_force" name="test_momentum_density_shift[ForceModel.EDM]" time="0.057" /><testcase classname="tests.test_force" name="test_momentum_density_shift[ForceModel.KUPERSHTOKH]" time="0.057" /><testcase classname="tests.test_force" name="test_momentum_density_shift[ForceModel.HE]" time="0.057" /><testcase classname="tests.test_force" name="test_momentum_density_shift[ForceModel.SHANCHEN]" time="0.061" /><testcase classname="tests.phasefield.test_phasefield" name="test_neumann_angle" time="13.637" /><testcase classname="tests.test_force" name="test_modes[True-ForceModel.KUPERSHTOKH]" time="0.602" /><testcase classname="tests.test_force" name="test_forcing_space_equivalences[ForceModel.SIMPLE]" time="2.720" /><testcase classname="tests.test_force" name="test_modes_central_moment[True-ForceModel.EDM]" time="3.326" /><testcase classname="tests.test_central_moment_equivalences" name="test_full_and_delta_equilibrium_equivalence[True-Stencil.D3Q19]" time="5.373" /><testcase classname="tests.test_extrapolation_outflow" name="test_pdf_simple_extrapolation[esopull-Stencil.D2Q9]" time="0.892" /><testcase classname="tests.test_force" name="test_modes[True-ForceModel.HE]" time="0.447" /><testcase classname="tests.test_chapman_enskog" name="test_srt[Stencil.D3Q27-False]" time="6.147" /><testcase classname="tests.test_float_kernel" name="test_scenario[Method.CENTRAL_MOMENT-True]" time="10.057" /><testcase classname="tests.test_force" name="test_modes[True-ForceModel.SHANCHEN]" time="0.739" /><testcase classname="tests.test_extrapolation_outflow" name="test_pdf_simple_extrapolation[esopull-Stencil.D3Q27]" time="5.780" /><testcase classname="tests.test_force" name="test_modes[False-ForceModel.SIMPLE]" time="0.330" /><testcase classname="tests.cumulantmethod.test_equilibrium" name="test_equilibrium_pdfs[PdfsToCentralMomentsByMatrix-Stencil.D3Q27]" time="85.490" /><testcase classname="tests.test_force" name="test_modes[False-ForceModel.LUO]" time="0.910" /><testcase classname="tests.test_force" name="test_forcing_space_equivalences[ForceModel.LUO]" time="6.865" /><testcase classname="tests.phasefield.test_eos" name="test_eos_to_free_energy_conversion" time="1.706" /><testcase classname="tests.test_force" name="test_modes[False-ForceModel.GUO]" time="1.800" /><testcase classname="tests.test_force" name="test_modes_central_moment[True-ForceModel.KUPERSHTOKH]" time="2.305" /><testcase classname="tests.phasefield.test_eos" name="test_maxwell_construction_cs" time="0.022" /><testcase classname="tests.phasefield.test_eos" name="test_maxwell_construction_vw" time="0.240" /><testcase classname="tests.phasefield.test_liquid_lens_angles.ipynb" name="test_liquid_lens_angles.ipynb" time="25.274" /><testcase classname="tests.test_force" name="test_symmetric_forcing_equivalence[False-ForceModel.HE]" time="3.506" /><testcase classname="tests.test_central_moment_equivalences" name="test_full_and_delta_equilibrium_equivalence[False-Stencil.D2Q9]" time="0.848" /><testcase classname="tests.test_force" name="test_modes_central_moment[True-ForceModel.HE]" time="1.843" /><testcase classname="tests.test_central_moment_transform" name="test_forward_transform[PdfsToCentralMomentsByShiftMatrix-Stencil.D3Q15-polynomial]" time="36.965" /><testcase classname="tests.test_force" name="test_forcing_space_equivalences[ForceModel.KUPERSHTOKH]" time="2.707" /><testcase classname="tests.test_central_moment_equivalences" name="test_full_and_delta_equilibrium_equivalence[False-Stencil.D3Q19]" time="5.852" /><testcase classname="tests.test_chapman_enskog" name="test_srt[Stencil.D3Q27-True]" time="4.830" /><testcase classname="tests.test_extrapolation_outflow" name="test_pdf_simple_extrapolation[esopush-Stencil.D2Q9]" time="1.007" /><testcase classname="tests.test_force" name="test_modes_central_moment[True-ForceModel.SHANCHEN]" time="2.576" /><testcase classname="tests.test_extrapolation_outflow" name="test_pdf_simple_extrapolation[esopush-Stencil.D3Q27]" time="6.631" /><testcase classname="tests.test_force" name="test_symmetric_forcing_equivalence[False-ForceModel.SHANCHEN]" time="0.078" /><testcase classname="tests.test_force_on_boundary" name="test_force_on_boundary" time="0.822" /><testcase classname="tests.test_force" name="test_forcing_space_equivalences[ForceModel.HE]" time="0.001" /><testcase classname="tests.test_force" name="test_forcing_space_equivalences[ForceModel.SHANCHEN]" time="3.654" /><testcase classname="tests.cumulantmethod.test_flow_around_sphere" name="test_flow_around_sphere_short[False-False-Stencil.D2Q9]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/cumulantmethod/test_flow_around_sphere.py:145: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.cumulantmethod.test_flow_around_sphere" name="test_flow_around_sphere_short[False-False-Stencil.D3Q19]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/cumulantmethod/test_flow_around_sphere.py:145: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.cumulantmethod.test_flow_around_sphere" name="test_flow_around_sphere_short[False-False-Stencil.D3Q27]" time="0.003"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/cumulantmethod/test_flow_around_sphere.py:145: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.cumulantmethod.test_flow_around_sphere" name="test_flow_around_sphere_short[False-True-Stencil.D2Q9]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/cumulantmethod/test_flow_around_sphere.py:145: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.cumulantmethod.test_flow_around_sphere" name="test_flow_around_sphere_short[False-True-Stencil.D3Q19]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/cumulantmethod/test_flow_around_sphere.py:145: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.cumulantmethod.test_flow_around_sphere" name="test_flow_around_sphere_short[False-True-Stencil.D3Q27]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/cumulantmethod/test_flow_around_sphere.py:145: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.cumulantmethod.test_flow_around_sphere" name="test_flow_around_sphere_short[True-False-Stencil.D2Q9]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/cumulantmethod/test_flow_around_sphere.py:145: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.cumulantmethod.test_flow_around_sphere" name="test_flow_around_sphere_short[True-False-Stencil.D3Q19]" time="0.003"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/cumulantmethod/test_flow_around_sphere.py:145: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.cumulantmethod.test_flow_around_sphere" name="test_flow_around_sphere_short[True-False-Stencil.D3Q27]" time="0.003"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/cumulantmethod/test_flow_around_sphere.py:145: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.cumulantmethod.test_flow_around_sphere" name="test_flow_around_sphere_short[True-True-Stencil.D2Q9]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/cumulantmethod/test_flow_around_sphere.py:145: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.cumulantmethod.test_flow_around_sphere" name="test_flow_around_sphere_short[True-True-Stencil.D3Q19]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/cumulantmethod/test_flow_around_sphere.py:145: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.cumulantmethod.test_flow_around_sphere" name="test_flow_around_sphere_short[True-True-Stencil.D3Q27]" time="0.003"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/cumulantmethod/test_flow_around_sphere.py:145: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.cumulantmethod.test_periodic_pipe_flow.ipynb" name="test_periodic_pipe_flow.ipynb" time="18.308" /><testcase classname="tests.test_free_slip" name="test_free_slip" time="14.694" /><testcase classname="tests.test_force" name="test_forcing_space_equivalences[ForceModel.GUO]" time="6.988" /><testcase classname="tests.test_force" name="test_modes_central_moment[False-ForceModel.SIMPLE]" time="1.921" /><testcase classname="tests.test_float_kernel" name="test_scenario[Method.CUMULANT-False]" time="37.341"><failure message="pystencils.backend.exceptions.TypificationError: Type mismatch at expression _data_ldc_pdfSrc[ctr_0 + [0: <untyped>], ctr_1 + [0: <untyped>], ctr_2 + [0: <untyped>], [11: <untyped>]]: Expression type did not match the context's target type Expression type: float32 Target type: float64">method_enum = <Method.CUMULANT: 10>, double_precision = False + + @pytest.mark.parametrize("double_precision", [False, True]) + @pytest.mark.parametrize( + "method_enum", [Method.SRT, Method.CENTRAL_MOMENT, Method.CUMULANT] + ) + def test_scenario(method_enum, double_precision): + lbm_config = LBMConfig( + stencil=LBStencil(Stencil.D3Q27), + method=method_enum, + relaxation_rate=1.45, + compressible=True, + ) + + if IS_PYSTENCILS_2: + config = ps.CreateKernelConfig( + default_dtype="float64" if double_precision else "float32" + ) + else: + config = ps.CreateKernelConfig( + data_type="float64" if double_precision else "float32", + default_number_float="float64" if double_precision else "float32", + ) +> sc = create_lid_driven_cavity((16, 16, 8), lbm_config=lbm_config, config=config) + +tests/test_float_kernel.py:61: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +src/lbmpy/scenarios.py:105: in create_lid_driven_cavity + step.boundary_handling.set_boundary(my_ubb, slice_from_direction('N', step.dim)) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/boundaries/boundaryhandling.py:195: in set_boundary + flag = self._add_boundary(boundary_obj, force_flag_value) +src/lbmpy/boundaries/boundaryhandling.py:50: in _add_boundary + return super(LatticeBoltzmannBoundaryHandling, self)._add_boundary(boundary_obj, flag) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/boundaries/boundaryhandling.py:307: in _add_boundary + ast = self._create_boundary_kernel(self._data_handling.fields[self._field_name], +src/lbmpy/boundaries/boundaryhandling.py:69: in _create_boundary_kernel + return create_lattice_boltzmann_boundary_kernel( +src/lbmpy/boundaries/boundaryhandling.py:205: in create_lattice_boltzmann_boundary_kernel + kernel = create_kernel(elements, config=config) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/codegen/driver.py:80: in create_kernel + return driver(assignments) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/codegen/driver.py:133: in __call__ + kernel_body = self.parse_kernel_body(assignments) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/codegen/driver.py:240: in parse_kernel_body + kernel_body = typify(kernel_body) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/backend/kernelcreation/typification.py:291: in __call__ + self.visit(node) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/backend/kernelcreation/typification.py:310: in visit + self.visit(s) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/backend/kernelcreation/typification.py:369: in visit + self.visit_expr(rhs, tc) +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/backend/kernelcreation/typification.py:433: in visit_expr + tc.apply_dtype(expr.buffer.element_type, expr) +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +self = <pystencils.backend.kernelcreation.typification.TypeContext object at 0x774eda9aa590>, dtype = PsIeeeFloatType( width=32, const=False ) +expr = PsBufferAcc(Symbol(PsSymbol('_data_ldc_pdfSrc', PsPointerType( PsIeeeFloatType( width=32, const=False ), const=False, ..., PsIntegerType( width=32, signed=True, const=False ))), PsConstantExpr(0: <untyped>)), PsConstantExpr(11: <untyped>)]) + + def apply_dtype(self, dtype: PsType, expr: PsExpression | None = None): + """Applies the given ``dtype`` to this type context, and optionally to the given expression. + + If the context's target_type is already known, it must be compatible with the given dtype. + If the target type is still unknown, target_type is set to dtype and retroactively applied + to all deferred expressions. + + If an expression is specified, it will be covered by the type context. + If the expression already has a data type set, it must be compatible with the target type + and will be replaced by it. + """ + + dtype = deconstify(dtype) + + if self._target_type is not None and dtype != self._target_type: +> raise TypificationError( + f"Type mismatch at expression {expr}: Expression type did not match the context's target type\n" + f" Expression type: {dtype}\n" + f" Target type: {self._target_type}" + ) +E pystencils.backend.exceptions.TypificationError: Type mismatch at expression _data_ldc_pdfSrc[ctr_0 + [0: <untyped>], ctr_1 + [0: <untyped>], ctr_2 + [0: <untyped>], [11: <untyped>]]: Expression type did not match the context's target type +E Expression type: float32 +E Target type: float64 + +.nox/tests_pystencils2-cpu/lib/python3.10/site-packages/pystencils/backend/kernelcreation/typification.py:113: TypificationError</failure></testcase><testcase classname="tests.test_chapman_enskog" name="test_higher_order_moment_computation" time="5.611" /><testcase classname="tests.test_force" name="test_modes_central_moment[False-ForceModel.LUO]" time="3.043" /><testcase classname="tests.test_central_moment_equivalences" name="test_zero_centering_equilibrium_equivalence[True-True-Stencil.D2Q9]" time="0.935" /><testcase classname="tests.test_force" name="test_literature[Method.TRT-Stencil.D3Q27-ForceModel.BUICK]" time="3.012" /><testcase classname="tests.test_force" name="test_literature[Method.SRT-Stencil.D2Q9-ForceModel.GUO]" time="2.228" /><testcase classname="tests.test_central_moment_equivalences" name="test_zero_centering_equilibrium_equivalence[True-True-Stencil.D3Q19]" time="1.891" /><testcase classname="tests.phasefield.test_phasefieldstep_direct.ipynb" name="test_phasefieldstep_direct.ipynb" time="5.395" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_moment_equivalence[False-True-Stencil.D3Q15]" time="3.675" /><testcase classname="tests.test_force" name="test_literature[Method.SRT-Stencil.D2Q9-ForceModel.BUICK]" time="0.393" /><testcase classname="tests.test_central_moment_equivalences" name="test_zero_centering_equilibrium_equivalence[True-False-Stencil.D2Q9]" time="0.699" /><testcase classname="tests.test_force" name="test_modes_central_moment[False-ForceModel.GUO]" time="2.727" /><testcase classname="tests.test_force" name="test_literature[Method.SRT-Stencil.D2Q9-ForceModel.SHANCHEN]" time="5.073" /><testcase classname="tests.test_force" name="test_literature[Method.TRT-Stencil.D3Q27-ForceModel.SHANCHEN]" time="28.553" /><testcase classname="tests.test_central_moment_equivalences" name="test_zero_centering_equilibrium_equivalence[True-False-Stencil.D3Q19]" time="2.065" /><testcase classname="tests.test_cumulants" name="test_central_moment_to_cumulant_transformation" time="3.692" /><testcase classname="tests.test_force" name="test_forcing_space_equivalences[ForceModel.BUICK]" time="0.883" /><testcase classname="tests.test_central_moment_transform" name="test_backward_transform[FastCentralMomentTransform-Stencil.D3Q15-polynomial]" time="48.153" /><testcase classname="tests.test_chapman_enskog" name="test_steady_state" time="6.257" /><testcase classname="tests.test_force" name="test_symmetric_forcing_equivalence[True-ForceModel.EDM]" time="0.077" /><testcase classname="tests.test_force" name="test_symmetric_forcing_equivalence[True-ForceModel.KUPERSHTOKH]" time="0.073" /><testcase classname="tests.test_force" name="test_symmetric_forcing_equivalence[True-ForceModel.HE]" time="3.673" /><testcase classname="tests.test_central_moment_equivalences" name="test_zero_centering_equilibrium_equivalence[False-True-Stencil.D2Q9]" time="0.409" /><testcase classname="tests.test_force" name="test_modes_central_moment[False-ForceModel.BUICK]" time="1.889" /><testcase classname="tests.test_central_moment_equivalences" name="test_zero_centering_equilibrium_equivalence[False-True-Stencil.D3Q19]" time="1.497" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_moment_equivalence[False-True-Stencil.D3Q19]" time="0.227" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_moment_equivalence[False-True-Stencil.D3Q27]" time="0.222" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_moment_equivalence[True-False-Stencil.D2Q9]" time="1.867" /><testcase classname="tests.phasefield.test_phasefieldstep_direct_boyer.ipynb" name="test_phasefieldstep_direct_boyer.ipynb" time="4.014" /><testcase classname="tests.test_central_moment_equivalences" name="test_zero_centering_equilibrium_equivalence[False-False-Stencil.D2Q9]" time="0.586" /><testcase classname="tests.test_force" name="test_modes_central_moment[False-ForceModel.SILVA]" time="1.935" /><testcase classname="tests.test_cumulants" name="test_cumulants_from_pdf" time="0.002" /><testcase classname="tests.test_density_velocity_input" name="test_density_velocity_input[False]" time="0.311" /><testcase classname="tests.test_force" name="test_literature[Method.SRT-Stencil.D3Q19-ForceModel.GUO]" time="5.612" /><testcase classname="tests.test_central_moment_equivalences" name="test_zero_centering_equilibrium_equivalence[False-False-Stencil.D3Q19]" time="1.874" /><testcase classname="tests.test_density_velocity_input" name="test_density_velocity_input[True]" time="0.209" /><testcase classname="tests.test_diffusion" name="test_diffusion_boundary" time="0.102" /><testcase classname="tests.test_entropic" name="test_entropic_methods[Method.TRT_KBC_N1]" time="5.203" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_moment_equivalence[True-False-Stencil.D3Q15]" time="5.132" /><testcase classname="tests.test_force" name="test_symmetric_forcing_equivalence[True-ForceModel.SHANCHEN]" time="0.079" /><testcase classname="tests.test_force" name="test_symmetric_forcing_equivalence[False-ForceModel.SIMPLE]" time="1.769" /><testcase classname="tests.test_force" name="test_modes_central_moment[False-ForceModel.EDM]" time="2.612" /><testcase classname="tests.test_central_moment_transform" name="test_forward_transform[BinomialChimeraTransform-Stencil.D2Q9-monomial]" time="2.332" /><testcase classname="tests.phasefield_allen_cahn.test_analytical" name="test_analytical" time="0.001" /><testcase classname="tests.phasefield_allen_cahn.test_contact_angle" name="test_contact_angle" time="0.001"><skipped type="pytest.skip" message="Contact angle calculation not yet available with pystencils 2.0">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/phasefield_allen_cahn/test_contact_angle.py:14: Contact angle calculation not yet available with pystencils 2.0</skipped></testcase><testcase classname="tests.phasefield_allen_cahn.test_phase_field_derivatives.ipynb" name="test_phase_field_derivatives.ipynb" time="36.354" /><testcase classname="tests.test_force" name="test_symmetric_forcing_equivalence[False-ForceModel.LUO]" time="3.385" /><testcase classname="tests.test_conserved_quantity_relaxation_invariance" name="test_srt_short" time="72.794" /><testcase classname="tests.test_geometry_setup_serial" name="test_pipe" time="7.894" /><testcase classname="tests.test_force" name="test_modes_central_moment[False-ForceModel.KUPERSHTOKH]" time="2.759" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-push-True-True-ForceModel.GUO-Stencil.D3Q19]" time="1.140" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-push-True-True-ForceModel.LUO-Stencil.D2Q9]" time="0.603" /><testcase classname="tests.test_force" name="test_literature[Method.SRT-Stencil.D3Q19-ForceModel.BUICK]" time="1.129" /><testcase classname="tests.test_entropic" name="test_entropic_methods[Method.TRT_KBC_N2]" time="0.782" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_moment_equivalence[True-False-Stencil.D3Q19]" time="0.239" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_moment_equivalence[True-False-Stencil.D3Q27]" time="0.392" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-push-True-True-ForceModel.LUO-Stencil.D3Q19]" time="1.128" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_moment_equivalence[True-True-Stencil.D2Q9]" time="0.120" /><testcase classname="tests.test_force" name="test_symmetric_forcing_equivalence[False-ForceModel.GUO]" time="2.724" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_cumulant_equivalence[Stencil.D2Q9]" time="4.781" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_moment_equivalence[True-True-Stencil.D3Q15]" time="0.302" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_moment_equivalence[True-True-Stencil.D3Q19]" time="0.797" /><testcase classname="tests.test_force" name="test_literature[Method.SRT-Stencil.D3Q19-ForceModel.SHANCHEN]" time="15.295" /><testcase classname="tests.test_force" name="test_modes_central_moment[False-ForceModel.HE]" time="2.100" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-push-True-True-None-Stencil.D2Q9]" time="0.355" /><testcase classname="tests.full_scenarios.rod.scenario_rod" name="test_rod_scenario_simple" time="9.208" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-push-True-True-None-Stencil.D3Q19]" time="0.953" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_moment_equivalence[True-True-Stencil.D3Q27]" time="0.506" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_central_moment_equivalence[False-False-Stencil.D2Q9]" time="0.291" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_central_moment_equivalence[False-False-Stencil.D3Q15]" time="0.753" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-push-True-False-ForceModel.GUO-Stencil.D2Q9]" time="0.431" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-push-True-False-ForceModel.GUO-Stencil.D3Q19]" time="0.994" /><testcase classname="tests.test_force" name="test_modes_central_moment[False-ForceModel.SHANCHEN]" time="2.425" /><testcase classname="tests.test_force" name="test_symmetric_forcing_equivalence[False-ForceModel.BUICK]" time="0.124" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_central_moment_equivalence[False-False-Stencil.D3Q19]" time="0.734" /><testcase classname="tests.test_force" name="test_symmetric_forcing_equivalence[False-ForceModel.SILVA]" time="0.089" /><testcase classname="tests.test_force" name="test_symmetric_forcing_equivalence[False-ForceModel.EDM]" time="0.107" /><testcase classname="tests.test_force" name="test_symmetric_forcing_equivalence[False-ForceModel.KUPERSHTOKH]" time="0.110" /><testcase classname="tests.test_interpolation_boundaries" name="test_couette_flow_short[False-0.5-True]" time="3.400" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_central_moment_equivalence[False-False-Stencil.D3Q27]" time="1.425" /><testcase classname="tests.phasefield.test_n_phase_boyer_analytical.ipynb" name="test_n_phase_boyer_analytical.ipynb" time="102.308" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-push-True-False-ForceModel.LUO-Stencil.D2Q9]" time="0.332" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-push-True-False-ForceModel.LUO-Stencil.D3Q19]" time="0.929" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-push-True-False-None-Stencil.D2Q9]" time="0.334" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_cumulant_equivalence[Stencil.D3Q15]" time="0.379" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_central_moment_equivalence[False-True-Stencil.D2Q9]" time="0.219" /><testcase classname="tests.test_force" name="test_symmetric_forcing_equivalence[True-ForceModel.SIMPLE]" time="1.872" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-push-True-False-None-Stencil.D3Q19]" time="0.871" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_central_moment_equivalence[False-True-Stencil.D3Q15]" time="0.672" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_cumulant_equivalence[Stencil.D3Q19]" time="8.120" /><testcase classname="tests.test_geometry_setup_serial" name="test_image" time="0.390" /><testcase classname="tests.test_geometry_setup_serial" name="test_slice_mask_combination" time="0.394" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-push-False-True-None-Stencil.D3Q19]" time="1.423" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-push-False-True-ForceModel.GUO-Stencil.D2Q9]" time="0.409" /><testcase classname="tests.test_gpu_block_size_limiting" name="test_gpu_block_size_limiting" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_gpu_block_size_limiting.py:11: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_html_output" name="test_moment_comparison_table" time="0.710" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-push-False-True-ForceModel.GUO-Stencil.D3Q19]" time="1.083" /><testcase classname="tests.test_interpolation_boundaries" name="test_couette_flow_short[False-0.9-False]" time="2.359" /><testcase classname="tests.test_html_output" name="test_moment_equality_table" time="5.121" /><testcase classname="tests.test_force" name="test_symmetric_forcing_equivalence[True-ForceModel.LUO]" time="3.532" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-push-False-False-ForceModel.GUO-Stencil.D2Q9]" time="0.395" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-push-False-True-ForceModel.LUO-Stencil.D2Q9]" time="0.433" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-push-False-False-ForceModel.GUO-Stencil.D3Q19]" time="0.998" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-push-False-True-ForceModel.LUO-Stencil.D3Q19]" time="1.454" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-push-False-False-ForceModel.LUO-Stencil.D2Q9]" time="0.342" /><testcase classname="tests.test_interpolation_boundaries" name="test_couette_flow_short[False-0.9-True]" time="1.725" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-push-False-False-ForceModel.LUO-Stencil.D3Q19]" time="0.867" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-push-False-True-None-Stencil.D2Q9]" time="0.368" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-pull-True-False-ForceModel.LUO-Stencil.D2Q9]" time="0.293" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-push-False-False-None-Stencil.D2Q9]" time="0.312" /><testcase classname="tests.full_scenarios.schaefer_turek.scenario_schaefer_turek" name="test_schaefer_turek" time="11.885" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-pull-True-False-ForceModel.LUO-Stencil.D3Q19]" time="0.847" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-push-False-False-None-Stencil.D3Q19]" time="0.907" /><testcase classname="tests.test_force" name="test_symmetric_forcing_equivalence[True-ForceModel.GUO]" time="3.315" /><testcase classname="tests.test_lbstep" name="test_data_handling_3d" time="2.834" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-pull-True-False-None-Stencil.D2Q9]" time="0.309" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-pull-True-True-ForceModel.GUO-Stencil.D2Q9]" time="0.454" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-pull-True-False-None-Stencil.D3Q19]" time="0.841" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-pull-True-True-ForceModel.GUO-Stencil.D3Q19]" time="1.162" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_compressible_raw_moment_values" time="7.104" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-pull-False-True-ForceModel.GUO-Stencil.D2Q9]" time="0.364" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-pull-False-True-ForceModel.GUO-Stencil.D3Q19]" time="1.061" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-pull-True-True-ForceModel.LUO-Stencil.D2Q9]" time="0.398" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-pull-True-True-ForceModel.LUO-Stencil.D3Q19]" time="1.063" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_cumulant_equivalence[Stencil.D3Q27]" time="17.118" /><testcase classname="tests.test_lbstep" name="test_data_handling_2d" time="0.669" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-pull-False-True-ForceModel.LUO-Stencil.D2Q9]" time="0.391" /><testcase classname="tests.test_force" name="test_symmetric_forcing_equivalence[True-ForceModel.BUICK]" time="0.100" /><testcase classname="tests.test_force" name="test_symmetric_forcing_equivalence[True-ForceModel.SILVA]" time="0.094" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-pull-False-False-None-Stencil.D3Q19]" time="7.638" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-pull-False-True-ForceModel.LUO-Stencil.D3Q19]" time="1.051" /><testcase classname="tests.test_lbstep" name="test_smagorinsky_setup" time="0.648" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-pull-True-True-None-Stencil.D2Q9]" time="0.398" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-pull-True-True-None-Stencil.D3Q19]" time="1.072" /><testcase classname="tests.test_lbstep" name="test_qr_setup" time="0.555" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-pull-False-True-None-Stencil.D2Q9]" time="0.567" /><testcase classname="tests.test_lbstep" name="test_advanced_initialization" time="3.136" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-pull-False-True-None-Stencil.D3Q19]" time="1.078" /><testcase classname="tests.test_force" name="test_literature[Method.SRT-Stencil.D3Q27-ForceModel.GUO]" time="10.526" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-pull-True-False-ForceModel.GUO-Stencil.D2Q9]" time="0.699" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-pull-True-False-ForceModel.GUO-Stencil.D3Q19]" time="0.958" /><testcase classname="tests.test_central_moment_transform" name="test_forward_transform[PdfsToCentralMomentsByShiftMatrix-Stencil.D3Q19-monomial]" time="13.600" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-pull-False-False-ForceModel.GUO-Stencil.D2Q9]" time="0.359" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-pull-False-False-ForceModel.GUO-Stencil.D3Q19]" time="0.935" /><testcase classname="tests.test_force" name="test_literature[Method.MRT-Stencil.D2Q9-ForceModel.GUO]" time="3.356" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-aa-False-True-ForceModel.GUO-Stencil.D3Q19]" time="1.111" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-pull-False-False-ForceModel.LUO-Stencil.D2Q9]" time="0.372" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-pull-False-False-ForceModel.LUO-Stencil.D3Q19]" time="0.865" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-aa-False-True-ForceModel.LUO-Stencil.D2Q9]" time="0.450" /><testcase classname="tests.test_lees_edwards" name="test_lees_edwards" time="2.212" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-aa-False-True-ForceModel.LUO-Stencil.D3Q19]" time="1.026" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_compressible_central_moment_values" time="0.436" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-pull-False-False-None-Stencil.D2Q9]" time="0.323" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_compressible_cumulant_values" time="2.075" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esotwist-True-True-ForceModel.LUO-Stencil.D3Q19]" time="1.202" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-aa-False-True-None-Stencil.D2Q9]" time="0.366" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-aa-False-True-None-Stencil.D3Q19]" time="0.989" /><testcase classname="tests.test_force" name="test_literature[Method.MRT-Stencil.D2Q9-ForceModel.BUICK]" time="0.529" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esotwist-True-True-None-Stencil.D2Q9]" time="0.419" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-push-True-True-ForceModel.GUO-Stencil.D2Q9]" time="0.418" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esotwist-True-True-None-Stencil.D3Q19]" time="1.384" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esotwist-False-True-None-Stencil.D3Q19]" time="4.794" /><testcase classname="tests.test_force" name="test_literature[Method.MRT-Stencil.D2Q9-ForceModel.SHANCHEN]" time="3.951"><skipped type="pytest.skip" message="Skipped">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_force.py:262: Skipped</skipped></testcase><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-aa-False-False-ForceModel.GUO-Stencil.D2Q9]" time="0.322" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_moment_equivalence[False-False-Stencil.D2Q9]" time="1.994" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-aa-True-True-ForceModel.GUO-Stencil.D2Q9]" time="0.435" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-aa-False-False-ForceModel.GUO-Stencil.D3Q19]" time="0.809" /><testcase classname="tests.test_float_kernel" name="test_scenario[Method.CUMULANT-True]" time="33.538" /><testcase classname="tests.full_scenarios.square_channel.scenario_square_channel" name="test_square_channel" time="8.761" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-aa-True-True-ForceModel.GUO-Stencil.D3Q19]" time="4.406" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-aa-False-False-ForceModel.LUO-Stencil.D2Q9]" time="0.323" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esotwist-True-False-ForceModel.GUO-Stencil.D2Q9]" time="0.320" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-aa-False-False-ForceModel.LUO-Stencil.D3Q19]" time="0.916" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esotwist-True-False-ForceModel.GUO-Stencil.D3Q19]" time="0.891" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_moment_equivalence[False-False-Stencil.D3Q15]" time="0.114" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_moment_equivalence[False-False-Stencil.D3Q19]" time="0.230" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-aa-False-False-None-Stencil.D2Q9]" time="0.348" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esotwist-True-False-ForceModel.LUO-Stencil.D2Q9]" time="0.312" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_moment_equivalence[False-False-Stencil.D3Q27]" time="0.207" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-aa-False-False-None-Stencil.D3Q19]" time="0.950" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esotwist-True-False-ForceModel.LUO-Stencil.D3Q19]" time="0.813" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_moment_equivalence[False-True-Stencil.D2Q9]" time="0.094" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopull-False-False-ForceModel.GUO-Stencil.D3Q19]" time="0.997" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esotwist-True-False-None-Stencil.D2Q9]" time="0.317" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esotwist-True-True-ForceModel.GUO-Stencil.D2Q9]" time="0.432" /><testcase classname="tests.test_force" name="test_literature[Method.MRT-Stencil.D3Q19-ForceModel.GUO]" time="8.536" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopull-False-False-ForceModel.LUO-Stencil.D2Q9]" time="0.362" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esotwist-True-False-None-Stencil.D3Q19]" time="0.821" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esotwist-True-True-ForceModel.GUO-Stencil.D3Q19]" time="1.134" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopull-False-False-ForceModel.LUO-Stencil.D3Q19]" time="0.932" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esotwist-False-False-ForceModel.GUO-Stencil.D2Q9]" time="0.341" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esotwist-False-True-ForceModel.GUO-Stencil.D2Q9]" time="0.350" /><testcase classname="tests.test_force" name="test_literature[Method.SRT-Stencil.D3Q27-ForceModel.BUICK]" time="1.764" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esotwist-False-False-ForceModel.GUO-Stencil.D3Q19]" time="4.105" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esotwist-False-True-ForceModel.GUO-Stencil.D3Q19]" time="0.977" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-aa-True-True-ForceModel.LUO-Stencil.D2Q9]" time="0.390" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopull-False-False-None-Stencil.D2Q9]" time="0.332" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esotwist-True-True-ForceModel.LUO-Stencil.D2Q9]" time="0.616" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-aa-True-True-ForceModel.LUO-Stencil.D3Q19]" time="0.973" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopull-False-False-None-Stencil.D3Q19]" time="0.867" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopush-True-False-ForceModel.GUO-Stencil.D3Q19]" time="0.897" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esotwist-False-True-ForceModel.LUO-Stencil.D2Q9]" time="0.354" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopush-True-True-ForceModel.GUO-Stencil.D2Q9]" time="0.385" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esotwist-False-True-ForceModel.LUO-Stencil.D3Q19]" time="0.997" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-aa-True-True-None-Stencil.D2Q9]" time="0.401" /><testcase classname="tests.test_force" name="test_literature[Method.SRT-Stencil.D3Q27-ForceModel.SHANCHEN]" time="26.497" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopush-True-True-ForceModel.GUO-Stencil.D3Q19]" time="1.340" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopush-True-False-ForceModel.LUO-Stencil.D2Q9]" time="0.354" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-aa-True-True-None-Stencil.D3Q19]" time="1.003" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopush-True-False-ForceModel.LUO-Stencil.D3Q19]" time="0.921" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esotwist-False-True-None-Stencil.D2Q9]" time="0.378" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopush-False-False-ForceModel.GUO-Stencil.D3Q19]" time="0.999" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-aa-True-False-ForceModel.GUO-Stencil.D2Q9]" time="0.336" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopush-True-False-None-Stencil.D2Q9]" time="0.353" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopush-True-True-ForceModel.LUO-Stencil.D2Q9]" time="0.430" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-aa-True-False-ForceModel.GUO-Stencil.D3Q19]" time="0.873" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopush-True-False-None-Stencil.D3Q19]" time="0.874" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopush-True-True-ForceModel.LUO-Stencil.D3Q19]" time="1.275" /><testcase classname="tests.test_central_moment_transform" name="test_forward_transform[PdfsToCentralMomentsByShiftMatrix-Stencil.D3Q19-polynomial]" time="30.309" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopush-False-False-ForceModel.LUO-Stencil.D2Q9]" time="0.393" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-aa-True-False-ForceModel.LUO-Stencil.D2Q9]" time="0.304" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esotwist-False-False-ForceModel.LUO-Stencil.D2Q9]" time="0.348" /><testcase classname="tests.test_interpolation_boundaries" name="test_couette_flow_short[True-0.1-False]" time="2.722" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopush-False-False-ForceModel.LUO-Stencil.D3Q19]" time="0.854" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopush-False-True-ForceModel.GUO-Stencil.D2Q9]" time="0.364" /><testcase classname="tests.phasefield.test_analytical_3phase_model.ipynb" name="test_analytical_3phase_model.ipynb" time="6.816" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-aa-True-False-ForceModel.LUO-Stencil.D3Q19]" time="0.788" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esotwist-False-False-ForceModel.LUO-Stencil.D3Q19]" time="1.088" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopush-False-True-ForceModel.GUO-Stencil.D3Q19]" time="0.991" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopush-True-True-None-Stencil.D2Q9]" time="0.370" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopush-False-False-None-Stencil.D2Q9]" time="0.551" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-aa-True-False-None-Stencil.D2Q9]" time="0.309" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopush-True-True-None-Stencil.D3Q19]" time="0.975" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-aa-True-False-None-Stencil.D3Q19]" time="0.795" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esotwist-False-False-None-Stencil.D2Q9]" time="0.307" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopush-False-False-None-Stencil.D3Q19]" time="0.826" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopush-False-True-ForceModel.LUO-Stencil.D2Q9]" time="0.359" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esotwist-False-False-None-Stencil.D3Q19]" time="0.828" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopush-False-True-ForceModel.LUO-Stencil.D3Q19]" time="1.014" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopush-True-False-ForceModel.GUO-Stencil.D2Q9]" time="0.335" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-aa-False-True-ForceModel.GUO-Stencil.D2Q9]" time="0.673" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-push-True-True-ForceModel.GUO-Stencil.D2Q9]" time="0.377" /><testcase classname="tests.phasefield_allen_cahn.test_runge_kutta_solver" name="test_runge_kutta_solver[RK2]" time="0.451" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-push-True-False-ForceModel.GUO-Stencil.D3Q19]" time="0.869" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopull-True-True-ForceModel.GUO-Stencil.D2Q9]" time="0.377" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-push-True-True-ForceModel.GUO-Stencil.D3Q19]" time="0.987" /><testcase classname="tests.test_interpolation_boundaries" name="test_couette_flow_short[True-0.1-True]" time="2.545" /><testcase classname="tests.phasefield_allen_cahn.test_runge_kutta_solver" name="test_runge_kutta_solver[RK4]" time="0.832" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-push-False-False-ForceModel.GUO-Stencil.D2Q9]" time="0.305" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopull-True-True-ForceModel.GUO-Stencil.D3Q19]" time="1.063" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopush-False-True-None-Stencil.D2Q9]" time="0.391" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-push-False-False-ForceModel.GUO-Stencil.D3Q19]" time="0.880" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-push-True-False-ForceModel.LUO-Stencil.D2Q9]" time="0.317" /><testcase classname="tests.test_force" name="test_literature[Method.MRT-Stencil.D3Q19-ForceModel.BUICK]" time="1.726" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopush-False-True-None-Stencil.D3Q19]" time="1.035" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-push-True-False-ForceModel.LUO-Stencil.D3Q19]" time="0.815" /><testcase classname="tests.shan_chen.test_shan_chen_two_component" name="test_shan_chen_two_component" time="1.919" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-push-True-True-ForceModel.LUO-Stencil.D2Q9]" time="0.358" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopull-True-True-ForceModel.LUO-Stencil.D2Q9]" time="0.410" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-push-False-False-ForceModel.LUO-Stencil.D2Q9]" time="0.324" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-push-True-True-ForceModel.LUO-Stencil.D3Q19]" time="0.994" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-push-False-False-ForceModel.LUO-Stencil.D3Q19]" time="0.892" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopush-False-False-ForceModel.GUO-Stencil.D2Q9]" time="0.321" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-push-True-False-None-Stencil.D2Q9]" time="0.319" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopull-True-True-ForceModel.LUO-Stencil.D3Q19]" time="1.097" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-pull-True-True-None-Stencil.D3Q19]" time="1.009" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-push-True-False-None-Stencil.D3Q19]" time="0.883" /><testcase classname="tests.test_force" name="test_literature[Method.MRT-Stencil.D3Q19-ForceModel.SHANCHEN]" time="13.206"><skipped type="pytest.skip" message="Skipped">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_force.py:262: Skipped</skipped></testcase><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-push-True-True-None-Stencil.D2Q9]" time="0.402" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-push-False-False-None-Stencil.D2Q9]" time="0.325" /><testcase classname="tests.test_interpolation_boundaries" name="test_couette_flow_short[True-0.5-False]" time="2.067" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-push-True-True-None-Stencil.D3Q19]" time="1.080" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopull-True-True-None-Stencil.D2Q9]" time="0.411" /><testcase classname="tests.shan_chen.test_shan_chen_two_phase" name="test_shan_chen_two_phase" time="2.279" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-push-False-False-None-Stencil.D3Q19]" time="0.879" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-push-False-True-ForceModel.GUO-Stencil.D2Q9]" time="0.409" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-pull-True-False-ForceModel.GUO-Stencil.D2Q9]" time="0.313" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopull-True-True-None-Stencil.D3Q19]" time="1.039" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-push-False-True-ForceModel.GUO-Stencil.D3Q19]" time="1.073" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-pull-True-False-ForceModel.GUO-Stencil.D3Q19]" time="0.799" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-pull-True-True-ForceModel.GUO-Stencil.D2Q9]" time="0.369" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-push-True-False-ForceModel.GUO-Stencil.D2Q9]" time="0.352" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-pull-True-False-ForceModel.LUO-Stencil.D2Q9]" time="0.308" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-pull-True-True-ForceModel.GUO-Stencil.D3Q19]" time="1.021" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-aa-True-True-ForceModel.GUO-Stencil.D3Q19]" time="1.007" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-pull-False-True-ForceModel.LUO-Stencil.D3Q19]" time="1.076" /><testcase classname="tests.phasefield.test_analytical_n_phase.ipynb" name="test_analytical_n_phase.ipynb" time="4.087" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-push-False-True-ForceModel.LUO-Stencil.D2Q9]" time="0.356" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-pull-True-False-ForceModel.LUO-Stencil.D3Q19]" time="0.814" /><testcase classname="tests.test_interpolation_boundaries" name="test_couette_flow_short[True-0.5-True]" time="2.356" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-push-False-True-ForceModel.LUO-Stencil.D3Q19]" time="0.999" /><testcase classname="tests.test_central_moment_transform" name="test_backward_transform[FastCentralMomentTransform-Stencil.D3Q19-monomial]" time="16.113" /><testcase classname="tests.test_boundary_handling" name="test_simple[Target.CUDA]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_boundary_handling.py:31: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_boundary_handling" name="test_simple[Target._CPU]" time="0.524" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-pull-True-True-ForceModel.LUO-Stencil.D2Q9]" time="0.419" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-aa-True-True-ForceModel.LUO-Stencil.D2Q9]" time="0.406" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-pull-True-False-None-Stencil.D2Q9]" time="0.306" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-pull-False-True-None-Stencil.D2Q9]" time="0.397" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-pull-True-False-None-Stencil.D3Q19]" time="1.077" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-pull-True-True-ForceModel.LUO-Stencil.D3Q19]" time="0.901" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-aa-True-True-ForceModel.LUO-Stencil.D3Q19]" time="0.971" /><testcase classname="tests.test_boundary_handling" name="test_free_slip[True]" time="1.276" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-pull-False-True-None-Stencil.D3Q19]" time="1.028" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-push-False-True-None-Stencil.D2Q9]" time="0.358" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-push-False-True-None-Stencil.D3Q19]" time="1.004" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-pull-True-True-None-Stencil.D2Q9]" time="0.383" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-aa-True-True-None-Stencil.D2Q9]" time="0.375" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-pull-False-True-ForceModel.GUO-Stencil.D2Q9]" time="0.396" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-pull-False-False-ForceModel.GUO-Stencil.D2Q9]" time="0.605" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-aa-False-False-ForceModel.LUO-Stencil.D3Q19]" time="0.847" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-aa-True-True-None-Stencil.D3Q19]" time="1.266" /><testcase classname="tests.test_boundary_handling" name="test_free_slip[False]" time="0.058" /><testcase classname="tests.test_boundary_handling" name="test_free_slip_index_list" time="0.062" /><testcase classname="tests.test_interpolation_boundaries" name="test_couette_flow_short[True-0.9-False]" time="2.020" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-pull-False-True-ForceModel.GUO-Stencil.D3Q19]" time="1.036" /><testcase classname="tests.test_boundary_handling" name="test_free_slip_index_list_convex_corner" time="0.086" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-aa-True-False-None-Stencil.D3Q19]" time="0.904" /><testcase classname="tests.test_boundary_handling" name="test_free_slip_equivalence" time="0.426" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-pull-False-False-ForceModel.GUO-Stencil.D3Q19]" time="0.771" /><testcase classname="tests.test_boundary_handling" name="test_exotic_boundaries" time="0.835" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-aa-False-False-None-Stencil.D2Q9]" time="0.308" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-aa-False-True-ForceModel.GUO-Stencil.D2Q9]" time="0.381" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-aa-False-False-None-Stencil.D3Q19]" time="0.910" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-pull-False-True-ForceModel.LUO-Stencil.D2Q9]" time="0.351" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-pull-False-False-ForceModel.LUO-Stencil.D2Q9]" time="0.330" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-aa-True-False-ForceModel.GUO-Stencil.D2Q9]" time="0.323" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-aa-False-True-ForceModel.GUO-Stencil.D3Q19]" time="1.267" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_central_moment_equivalence[False-True-Stencil.D3Q19]" time="2.702" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esotwist-False-True-ForceModel.GUO-Stencil.D2Q9]" time="0.278" /><testcase classname="tests.test_boundary_handling" name="test_boundary_utility_functions" time="0.028" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-pull-False-False-ForceModel.LUO-Stencil.D3Q19]" time="0.817" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esotwist-True-False-ForceModel.GUO-Stencil.D2Q9]" time="0.276" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-aa-True-False-ForceModel.GUO-Stencil.D3Q19]" time="0.808" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esotwist-False-True-ForceModel.GUO-Stencil.D3Q19]" time="1.121" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esotwist-True-False-ForceModel.GUO-Stencil.D3Q19]" time="0.937" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esotwist-True-True-ForceModel.GUO-Stencil.D2Q9]" time="0.389" /><testcase classname="tests.test_interpolation_boundaries" name="test_couette_flow_short[True-0.9-True]" time="2.019" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-pull-False-False-None-Stencil.D2Q9]" time="0.307" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esotwist-True-True-ForceModel.GUO-Stencil.D3Q19]" time="1.025" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-aa-True-False-ForceModel.LUO-Stencil.D2Q9]" time="0.309" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-pull-False-False-None-Stencil.D3Q19]" time="0.821" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-aa-True-False-ForceModel.LUO-Stencil.D3Q19]" time="0.821" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-aa-False-True-ForceModel.LUO-Stencil.D2Q9]" time="0.367" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esotwist-True-False-ForceModel.LUO-Stencil.D2Q9]" time="0.318" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esotwist-False-True-ForceModel.LUO-Stencil.D2Q9]" time="0.394" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esotwist-True-False-ForceModel.LUO-Stencil.D3Q19]" time="0.905" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-aa-False-True-ForceModel.LUO-Stencil.D3Q19]" time="1.044" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esotwist-False-True-ForceModel.LUO-Stencil.D3Q19]" time="0.992" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esotwist-True-True-ForceModel.LUO-Stencil.D2Q9]" time="0.644" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-aa-True-True-ForceModel.GUO-Stencil.D2Q9]" time="0.417" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-aa-True-False-None-Stencil.D2Q9]" time="0.278" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopull-True-True-None-Stencil.D3Q19]" time="0.978" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esotwist-False-False-ForceModel.LUO-Stencil.D3Q19]" time="0.896" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esotwist-True-False-None-Stencil.D2Q9]" time="0.366" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esotwist-True-True-ForceModel.LUO-Stencil.D3Q19]" time="0.984" /><testcase classname="tests.test_interpolation_boundaries" name="test_couette_flow_short[False-0.1-False]" time="1.826" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-aa-False-True-None-Stencil.D2Q9]" time="0.355" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_central_moment_equivalence[False-True-Stencil.D3Q27]" time="1.147" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esotwist-False-True-None-Stencil.D2Q9]" time="0.351" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esotwist-True-False-None-Stencil.D3Q19]" time="0.821" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-aa-False-True-None-Stencil.D3Q19]" time="0.984" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esotwist-False-True-None-Stencil.D3Q19]" time="0.968" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esotwist-False-False-None-Stencil.D2Q9]" time="0.357" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopull-True-False-ForceModel.GUO-Stencil.D2Q9]" time="0.347" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esotwist-True-True-None-Stencil.D2Q9]" time="0.369" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopull-True-False-ForceModel.GUO-Stencil.D3Q19]" time="0.852" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esotwist-False-False-None-Stencil.D3Q19]" time="0.832" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopull-False-True-ForceModel.GUO-Stencil.D3Q19]" time="3.165" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_central_moment_equivalence[True-False-Stencil.D2Q9]" time="3.035" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esotwist-True-True-None-Stencil.D3Q19]" time="0.994" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-aa-False-False-ForceModel.GUO-Stencil.D2Q9]" time="0.307" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esotwist-False-False-ForceModel.GUO-Stencil.D2Q9]" time="0.315" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-aa-False-False-ForceModel.GUO-Stencil.D3Q19]" time="0.829" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esotwist-False-False-ForceModel.GUO-Stencil.D3Q19]" time="0.817" /><testcase classname="tests.test_interpolation_boundaries" name="test_couette_flow_short[False-0.1-True]" time="1.997" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopull-True-True-ForceModel.GUO-Stencil.D2Q9]" time="0.371" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopull-True-False-ForceModel.LUO-Stencil.D2Q9]" time="0.304" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopull-True-False-ForceModel.LUO-Stencil.D3Q19]" time="0.826" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopull-True-True-ForceModel.GUO-Stencil.D3Q19]" time="1.052" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopull-False-False-ForceModel.LUO-Stencil.D3Q19]" time="0.826" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-aa-False-False-ForceModel.LUO-Stencil.D2Q9]" time="0.305" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esotwist-False-False-ForceModel.LUO-Stencil.D2Q9]" time="0.263" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopush-True-True-None-Stencil.D3Q19]" time="1.049" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopush-False-True-ForceModel.GUO-Stencil.D2Q9]" time="0.293" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopull-True-False-None-Stencil.D2Q9]" time="0.315" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopull-False-False-None-Stencil.D2Q9]" time="0.370" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopush-False-True-ForceModel.GUO-Stencil.D3Q19]" time="1.052" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopull-True-True-ForceModel.LUO-Stencil.D2Q9]" time="0.366" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopull-True-False-None-Stencil.D3Q19]" time="0.819" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopull-False-False-None-Stencil.D3Q19]" time="0.847" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopull-True-True-ForceModel.LUO-Stencil.D3Q19]" time="1.017" /><testcase classname="tests.test_interpolation_boundaries" name="test_couette_flow_short[False-0.5-False]" time="1.747" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopush-True-False-ForceModel.GUO-Stencil.D2Q9]" time="0.322" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopull-False-True-ForceModel.GUO-Stencil.D2Q9]" time="0.369" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopush-True-False-ForceModel.GUO-Stencil.D3Q19]" time="0.846" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopull-False-True-ForceModel.LUO-Stencil.D2Q9]" time="0.429" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_central_moment_equivalence[True-False-Stencil.D3Q15]" time="3.851" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopush-False-True-ForceModel.LUO-Stencil.D2Q9]" time="0.356" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopush-True-True-ForceModel.GUO-Stencil.D2Q9]" time="0.392" /><testcase classname="tests.test_force" name="test_literature[Method.MRT-Stencil.D3Q27-ForceModel.GUO]" time="15.208" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_constant_velocity[True-ForceModel.LUO-Stencil.D2Q9]" time="0.195" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopush-False-True-ForceModel.LUO-Stencil.D3Q19]" time="1.299" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopull-False-True-ForceModel.LUO-Stencil.D3Q19]" time="1.010" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopull-True-True-None-Stencil.D2Q9]" time="0.372" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_constant_velocity[True-ForceModel.LUO-Stencil.D3Q19]" time="0.592" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopush-True-True-ForceModel.GUO-Stencil.D3Q19]" time="1.041" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopush-True-False-ForceModel.LUO-Stencil.D2Q9]" time="0.338" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_constant_velocity[False-ForceModel.LUO-Stencil.D3Q19]" time="0.569" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_constant_velocity[True-None-Stencil.D2Q9]" time="0.203" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopush-True-False-ForceModel.LUO-Stencil.D3Q19]" time="0.833" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_constant_velocity[True-None-Stencil.D3Q19]" time="0.498" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopush-False-False-ForceModel.GUO-Stencil.D3Q19]" time="4.655" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_constant_velocity[False-None-Stencil.D2Q9]" time="0.197" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopull-False-True-None-Stencil.D2Q9]" time="0.362" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopush-True-True-ForceModel.LUO-Stencil.D2Q9]" time="0.367" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_constant_velocity[False-None-Stencil.D3Q19]" time="0.777" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopush-False-True-None-Stencil.D2Q9]" time="0.357" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopull-False-True-None-Stencil.D3Q19]" time="1.291" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_constant_velocity[False-ForceModel.GUO-Stencil.D2Q9]" time="0.189" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopush-True-True-ForceModel.LUO-Stencil.D3Q19]" time="0.984" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopush-True-False-None-Stencil.D2Q9]" time="0.347" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_constant_velocity[False-ForceModel.GUO-Stencil.D3Q19]" time="0.530" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopush-False-True-None-Stencil.D3Q19]" time="1.004" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopush-True-False-None-Stencil.D3Q19]" time="0.912" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_get_strain_rate_tensor[Method.SRT-Stencil.D2Q9]" time="0.148" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_constant_velocity[False-ForceModel.LUO-Stencil.D2Q9]" time="0.461" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_get_strain_rate_tensor[Method.SRT-Stencil.D3Q19]" time="0.514" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopush-True-True-None-Stencil.D2Q9]" time="0.375" /><testcase classname="tests.test_maxwellian_equilibrium" name="test_continuous_discrete_moment_equivalence[Stencil.D3Q15]" time="0.030" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopush-False-False-ForceModel.GUO-Stencil.D2Q9]" time="0.326" /><testcase classname="tests.test_maxwellian_equilibrium" name="test_continuous_discrete_moment_equivalence[Stencil.D3Q19]" time="0.006" /><testcase classname="tests.test_maxwellian_equilibrium" name="test_continuous_discrete_moment_equivalence[Stencil.D3Q27]" time="0.009" /><testcase classname="tests.test_maxwellian_equilibrium" name="test_moment_cumulant_continuous_equivalence[Stencil.D2Q9]" time="0.215" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_get_strain_rate_tensor[Method.TRT-Stencil.D2Q9]" time="0.180" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopull-False-False-ForceModel.GUO-Stencil.D2Q9]" time="0.351" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_get_strain_rate_tensor[Method.TRT-Stencil.D3Q19]" time="0.534" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_get_strain_rate_tensor[Method.MRT-Stencil.D2Q9]" time="0.613" /><testcase classname="tests.test_maxwellian_equilibrium" name="test_moment_cumulant_continuous_equivalence[Stencil.D3Q27]" time="2.143" /><testcase classname="tests.test_maxwellian_equilibrium" name="test_moment_cumulant_continuous_equivalence_polynomial_formulation[Stencil.D3Q27]" time="2.586" /><testcase classname="tests.test_momentbased_equivalences" name="test_moment_transform_equivalences[False-Stencil.D2Q9]" time="0.291" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopull-False-False-ForceModel.GUO-Stencil.D3Q19]" time="0.886" /><testcase classname="tests.test_momentbased_equivalences" name="test_moment_transform_equivalences[False-Stencil.D3Q15]" time="0.954" /><testcase classname="tests.test_momentbased_equivalences" name="test_moment_transform_equivalences[True-Stencil.D3Q19]" time="0.934" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_central_moment_equivalence[True-False-Stencil.D3Q19]" time="0.651" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_get_strain_rate_tensor[Method.MRT-Stencil.D3Q19]" time="2.434" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopull-False-False-ForceModel.LUO-Stencil.D2Q9]" time="0.316" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_central_moment_equivalence[True-False-Stencil.D3Q27]" time="1.242" /><testcase classname="tests.test_momentbased_equivalences" name="test_moment_transform_equivalences[False-Stencil.D3Q19]" time="0.925" /><testcase classname="tests.test_momentbased_equivalences" name="test_population_and_moment_space_equivalence[setup4]" time="0.238" /><testcase classname="tests.test_momentbased_equivalences" name="test_moment_transform_equivalences[True-Stencil.D3Q27]" time="2.042" /><testcase classname="tests.test_momentbased_equivalences" name="test_population_and_moment_space_equivalence[setup5]" time="1.242" /><testcase classname="tests.test_maxwellian_equilibrium" name="test_moment_cumulant_continuous_equivalence_polynomial_formulation[Stencil.D2Q9]" time="0.121" /><testcase classname="tests.test_momentbased_equivalences" name="test_moment_transform_equivalences[False-Stencil.D3Q27]" time="1.941" /><testcase classname="tests.test_momentbased_equivalences" name="test_full_and_delta_equilibrium_equivalence[False-Stencil.D2Q9]" time="0.507" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_central_moment_equivalence[True-True-Stencil.D2Q9]" time="1.464" /><testcase classname="tests.test_central_moment_transform" name="test_backward_transform[FastCentralMomentTransform-Stencil.D3Q19-polynomial]" time="31.506" /><testcase classname="tests.test_moment_transform_api" name="test_monomial_equations[PdfsToMomentsByMatrixTransform]" time="0.146" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopush-False-False-ForceModel.LUO-Stencil.D2Q9]" time="2.151" /><testcase classname="tests.test_force" name="test_literature[Method.TRT-Stencil.D2Q9-ForceModel.GUO]" time="2.732" /><testcase classname="tests.test_moment_transform_api" name="test_monomial_equations[PdfsToMomentsByChimeraTransform]" time="0.115" /><testcase classname="tests.test_momentbased_equivalences" name="test_full_and_delta_equilibrium_equivalence[False-Stencil.D3Q19]" time="1.729" /><testcase classname="tests.test_momentbased_equivalences" name="test_population_and_moment_space_equivalence[setup6]" time="0.542" /><testcase classname="tests.test_moment_transform_api" name="test_monomial_equations[PdfsToCentralMomentsByShiftMatrix]" time="2.280" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_get_strain_rate_tensor[Method.CUMULANT-Stencil.D2Q9]" time="2.711" /><testcase classname="tests.test_momentbased_equivalences" name="test_full_and_delta_equilibrium_equivalence[True-Stencil.D2Q9]" time="0.450" /><testcase classname="tests.test_momentbased_equivalences" name="test_population_and_moment_space_equivalence[setup0]" time="0.166" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopull-True-False-ForceModel.GUO-Stencil.D2Q9]" time="0.396" /><testcase classname="tests.test_momentbased_equivalences" name="test_population_and_moment_space_equivalence[setup1]" time="0.533" /><testcase classname="tests.test_momentbased_equivalences" name="test_full_and_delta_equilibrium_equivalence[True-Stencil.D3Q19]" time="1.638" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_central_moment_equivalence[True-True-Stencil.D3Q15]" time="0.849" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopull-True-False-ForceModel.GUO-Stencil.D3Q19]" time="5.956" /><testcase classname="tests.test_momentbased_equivalences" name="test_moment_transform_equivalences[True-Stencil.D2Q9]" time="0.236" /><testcase classname="tests.test_momentbased_equivalences" name="test_population_and_moment_space_equivalence[setup2]" time="1.305" /><testcase classname="tests.test_momentbased_equivalences" name="test_moment_transform_equivalences[True-Stencil.D3Q15]" time="0.731" /><testcase classname="tests.test_momentbased_equivalences" name="test_zero_centering_equilibrium_equivalence[True-True-Stencil.D2Q9]" time="0.462" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_central_moment_equivalence[True-True-Stencil.D3Q19]" time="0.845" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopush-False-False-ForceModel.LUO-Stencil.D3Q19]" time="0.876" /><testcase classname="tests.test_momentbased_equivalences" name="test_zero_centering_equilibrium_equivalence[True-True-Stencil.D3Q19]" time="1.613" /><testcase classname="tests.test_moment_transform_api" name="test_monomial_equations[PdfsToCentralMomentsByMatrix]" time="3.431" /><testcase classname="tests.test_momentbased_methods_equilibrium" name="test_for_matching_equilibrium_for_stencil[Method.SRT-Stencil.D2Q9]" time="0.980" /><testcase classname="tests.test_force" name="test_literature[Method.TRT-Stencil.D2Q9-ForceModel.BUICK]" time="0.553" /><testcase classname="tests.test_momentbased_equivalences" name="test_zero_centering_equilibrium_equivalence[True-False-Stencil.D3Q19]" time="1.482" /><testcase classname="tests.test_momentbased_equivalences" name="test_population_and_moment_space_equivalence[setup3]" time="0.706" /><testcase classname="tests.test_hydro_maxwellian_class" name="test_continuous_discrete_central_moment_equivalence[True-True-Stencil.D3Q27]" time="1.485" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_get_strain_rate_tensor[Method.CUMULANT-Stencil.D3Q19]" time="5.437" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopush-False-False-None-Stencil.D2Q9]" time="0.303" /><testcase classname="tests.test_force" name="test_literature[Method.TRT-Stencil.D2Q9-ForceModel.SHANCHEN]" time="5.104" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Odd-esopush-False-False-None-Stencil.D3Q19]" time="0.807" /><testcase classname="tests.test_momentbased_methods_equilibrium" name="test_for_matching_equilibrium_for_stencil[Method.SRT-Stencil.D3Q15]" time="2.652" /><testcase classname="tests.test_momentbased_methods_equilibrium" name="test_for_matching_equilibrium_for_stencil[Method.TRT-Stencil.D3Q15]" time="2.784" /><testcase classname="tests.test_momentbased_equivalences" name="test_zero_centering_equilibrium_equivalence[True-False-Stencil.D2Q9]" time="0.360" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_constant_velocity[True-ForceModel.GUO-Stencil.D2Q9]" time="0.251" /><testcase classname="tests.test_moments" name="test_moment_order" time="0.001" /><testcase classname="tests.test_moments" name="test_extend_moments_with_permutations" time="0.001" /><testcase classname="tests.test_moments" name="test_representation_conversion" time="0.007" /><testcase classname="tests.test_moments" name="test_moment_properties" time="0.003" /><testcase classname="tests.test_momentbased_equivalences" name="test_zero_centering_equilibrium_equivalence[False-True-Stencil.D2Q9]" time="0.403" /><testcase classname="tests.test_moments" name="test_gram_schmidt_orthogonalization" time="0.070" /><testcase classname="tests.test_moments" name="test_is_bulk_moment" time="0.014" /><testcase classname="tests.test_moments" name="test_is_shear_moment" time="0.026" /><testcase classname="tests.test_mrt_simplifications" name="test_mrt_simplifications[Method.MRT]" time="0.110" /><testcase classname="tests.test_momentbased_methods_equilibrium" name="test_for_matching_equilibrium_for_stencil[Method.MRT-Stencil.D3Q19]" time="6.079" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_constant_velocity[True-ForceModel.GUO-Stencil.D3Q19]" time="2.644" /><testcase classname="tests.test_mrt_simplifications" name="test_mrt_simplifications[Method.CENTRAL_MOMENT]" time="0.071" /><testcase classname="tests.test_mrt_simplifications" name="test_mrt_simplifications[Method.CUMULANT]" time="0.054" /><testcase classname="tests.test_oldroydb" name="test_oldroydb" time="0.491"><skipped type="pytest.xfail" message="Staggered kernels are unavailable" /></testcase><testcase classname="tests.test_momentbased_equivalences" name="test_zero_centering_equilibrium_equivalence[False-True-Stencil.D3Q19]" time="1.502" /><testcase classname="tests.test_plot" name="test_animation" time="2.695" /><testcase classname="tests.test_moment_transform_api" name="test_monomial_equations[FastCentralMomentTransform]" time="2.779" /><testcase classname="tests.test_central_moment_transform" name="test_forward_transform[PdfsToCentralMomentsByShiftMatrix-Stencil.D3Q27-monomial]" time="67.779" /><testcase classname="tests.test_momentbased_methods_equilibrium" name="test_for_matching_equilibrium_for_stencil[Method.SRT-Stencil.D3Q19]" time="3.015" /><testcase classname="tests.test_momentbased_equivalences" name="test_zero_centering_equilibrium_equivalence[False-False-Stencil.D2Q9]" time="0.405" /><testcase classname="tests.test_momentbased_methods_equilibrium" name="test_for_matching_equilibrium_for_stencil[Method.TRT-Stencil.D3Q19]" time="2.883" /><testcase classname="tests.cumulantmethod.test_equilibrium" name="test_equilibrium_pdfs[FastCentralMomentTransform-Stencil.D2Q9]" time="4.139" /><testcase classname="tests.test_momentbased_equivalences" name="test_zero_centering_equilibrium_equivalence[False-False-Stencil.D3Q19]" time="1.487" /><testcase classname="tests.test_plot" name="test_plot" time="0.408" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopull-True-False-ForceModel.LUO-Stencil.D2Q9]" time="0.333" /><testcase classname="tests.test_poisuille_channel" name="test_poiseuille_channel[False-False-Stencil.D2Q9-Target._CPU]" time="0.999" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopull-True-False-ForceModel.LUO-Stencil.D3Q19]" time="0.817" /><testcase classname="tests.test_poisuille_channel" name="test_poiseuille_channel[False-False-Stencil.D3Q19-Target.CUDA]" time="0.003"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_poisuille_channel.py:21: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_poisuille_channel" name="test_poiseuille_channel[False-True-Stencil.D2Q9-Target._CPU]" time="1.088" /><testcase classname="tests.test_poisuille_channel" name="test_poiseuille_channel[True-False-Stencil.D3Q19-Target.CUDA]" time="0.003"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_poisuille_channel.py:21: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_poisuille_channel" name="test_poiseuille_channel[True-True-Stencil.D2Q9-Target._CPU]" time="1.105" /><testcase classname="tests.test_force" name="test_literature[Method.TRT-Stencil.D3Q19-ForceModel.GUO]" time="6.997" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopull-True-False-None-Stencil.D2Q9]" time="0.315" /><testcase classname="tests.test_maxwellian_equilibrium" name="test_maxwellian_moments" time="0.021" /><testcase classname="tests.test_poisuille_channel" name="test_poiseuille_channel[False-False-Stencil.D2Q9-Target.CUDA]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_poisuille_channel.py:21: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_poisuille_channel" name="test_poiseuille_channel[False-False-Stencil.D3Q19-Target._CPU]" time="1.998" /><testcase classname="tests.test_maxwellian_equilibrium" name="test_continuous_discrete_moment_equivalence[Stencil.D2Q9]" time="0.009" /><testcase classname="tests.test_psm" name="test_psm_integration[Method.SRT-Stencil.D3Q27]" time="1.250" /><testcase classname="tests.test_poisuille_channel" name="test_poiseuille_channel[False-True-Stencil.D3Q19-Target.CUDA]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_poisuille_channel.py:21: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_poisuille_channel" name="test_poiseuille_channel[True-False-Stencil.D2Q9-Target._CPU]" time="1.106" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopull-True-False-None-Stencil.D3Q19]" time="0.804" /><testcase classname="tests.test_poisuille_channel" name="test_poiseuille_channel[False-True-Stencil.D2Q9-Target.CUDA]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_poisuille_channel.py:21: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_poisuille_channel" name="test_poiseuille_channel[False-True-Stencil.D3Q19-Target._CPU]" time="1.988" /><testcase classname="tests.test_momentbased_methods_equilibrium" name="test_for_matching_equilibrium_for_stencil[Method.SRT-Stencil.D3Q27]" time="5.770" /><testcase classname="tests.test_momentbased_methods_equilibrium" name="test_for_matching_equilibrium_for_stencil[Method.TRT-Stencil.D3Q27]" time="6.089" /><testcase classname="tests.test_poisuille_channel" name="test_poiseuille_channel[True-True-Stencil.D2Q9-Target.CUDA]" time="0.003"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_poisuille_channel.py:21: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_poisuille_channel" name="test_poiseuille_channel[True-True-Stencil.D3Q19-Target._CPU]" time="2.281" /><testcase classname="tests.test_force" name="test_literature[Method.MRT-Stencil.D3Q27-ForceModel.BUICK]" time="3.892" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopull-False-True-ForceModel.GUO-Stencil.D2Q9]" time="1.497" /><testcase classname="tests.test_psm" name="test_psm_integration[Method.MRT-Stencil.D2Q9]" time="0.606" /><testcase classname="tests.test_poisuille_channel" name="test_poiseuille_channel[True-False-Stencil.D2Q9-Target.CUDA]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_poisuille_channel.py:21: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_poisuille_channel" name="test_poiseuille_channel[True-False-Stencil.D3Q19-Target._CPU]" time="2.258" /><testcase classname="tests.test_psm" name="test_psm_integration[Method.MRT-Stencil.D3Q19]" time="0.933" /><testcase classname="tests.test_momentbased_methods_equilibrium" name="test_for_matching_equilibrium_for_stencil[Method.MRT-Stencil.D3Q27]" time="12.534" /><testcase classname="tests.cumulantmethod.test_equilibrium" name="test_equilibrium_pdfs[FastCentralMomentTransform-Stencil.D3Q19]" time="13.173" /><testcase classname="tests.test_poisuille_channel" name="test_poiseuille_channel[True-True-Stencil.D3Q19-Target.CUDA]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_poisuille_channel.py:21: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_postprocessing" name="test_interpolation" time="0.040" /><testcase classname="tests.test_psm" name="test_psm_integration[Method.SRT-Stencil.D2Q9]" time="0.316" /><testcase classname="tests.test_psm" name="test_psm_integration[Method.SRT-Stencil.D3Q19]" time="0.731" /><testcase classname="tests.test_psm" name="test_psm_integration[Method.MRT-Stencil.D3Q27]" time="1.637" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopull-False-True-ForceModel.GUO-Stencil.D3Q19]" time="3.072" /><testcase classname="tests.test_relaxation_rate" name="test_default_mrt_behaviour[Method.MRT]" time="1.116" /><testcase classname="tests.test_psm" name="test_psm_integration[Method.CUMULANT-Stencil.D3Q27]" time="5.870" /><testcase classname="tests.test_scaling_widget" name="test_scaling_widget" time="0.060" /><testcase classname="tests.test_shear_flow" name="test_shear_flow[True-Stencil.D2Q9-Target._CPU]" time="1.699" /><testcase classname="tests.test_quicktests" name="test_entropic_methods" time="1.547" /><testcase classname="tests.test_relaxation_rate" name="test_default_mrt_behaviour[Method.CENTRAL_MOMENT]" time="0.460" /><testcase classname="tests.test_psm" name="test_psm_integration[Method.CUMULANT-Stencil.D2Q9]" time="0.552" /><testcase classname="tests.test_relaxation_rate" name="test_default_mrt_behaviour[Method.CUMULANT]" time="0.308" /><testcase classname="tests.test_psm" name="test_psm_integration[Method.CUMULANT-Stencil.D3Q19]" time="1.788" /><testcase classname="tests.test_shear_flow" name="test_shear_flow[True-Stencil.D3Q19-Target._CPU]" time="2.062" /><testcase classname="tests.test_force" name="test_literature[Method.MRT-Stencil.D3Q27-ForceModel.SHANCHEN]" time="22.270"><skipped type="pytest.skip" message="Skipped">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_force.py:262: Skipped</skipped></testcase><testcase classname="tests.test_shear_flow" name="test_shear_flow[True-Stencil.D2Q9-Target.CUDA]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_shear_flow.py:70: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_shifted_transforms" name="test_shifted_transform_fast[PdfsToMomentsByMatrixTransform-stencil0]" time="0.330" /><testcase classname="tests.test_quicktests" name="test_cumulant_ldc" time="2.302" /><testcase classname="tests.test_shifted_transforms" name="test_shifted_transform_fast[PdfsToMomentsByChimeraTransform-stencil0]" time="0.306" /><testcase classname="tests.test_shifted_transforms" name="test_shifted_transform_fast[PdfsToCentralMomentsByMatrix-stencil0]" time="0.228" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopull-False-True-ForceModel.LUO-Stencil.D2Q9]" time="0.370" /><testcase classname="tests.test_shifted_transforms" name="test_shifted_transform_fast[PdfsToCentralMomentsByShiftMatrix-stencil0]" time="0.381" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopull-False-True-ForceModel.LUO-Stencil.D3Q19]" time="0.983" /><testcase classname="tests.test_shifted_transforms" name="test_shifted_transform_fast[FastCentralMomentTransform-stencil0]" time="0.321" /><testcase classname="tests.test_momentbased_methods_equilibrium" name="test_for_matching_equilibrium_for_stencil[Method.TRT-Stencil.D2Q9]" time="0.783" /><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[False-False-Method.SRT-Target._CPU]" time="0.001"><skipped type="pytest.skip" message="Skipped">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_simple_equilibrium_conservation.py:19: Skipped</skipped></testcase><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[False-False-Method.CENTRAL_MOMENT-Target._CPU]" time="0.172" /><testcase classname="tests.test_shear_flow" name="test_shear_flow[False-Stencil.D2Q9-Target.CUDA]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_shear_flow.py:70: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_shear_flow" name="test_shear_flow[False-Stencil.D3Q19-Target._CPU]" time="1.942" /><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[False-False-Method.CENTRAL_MOMENT-Target.CUDA]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_simple_equilibrium_conservation.py:16: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[False-False-Method.CUMULANT-Target._CPU]" time="0.001"><skipped type="pytest.skip" message="Skipped">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_simple_equilibrium_conservation.py:22: Skipped</skipped></testcase><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[False-False-Method.CUMULANT-Target.CUDA]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_simple_equilibrium_conservation.py:16: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[False-True-Method.SRT-Target._CPU]" time="0.001"><skipped type="pytest.skip" message="Skipped">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_simple_equilibrium_conservation.py:19: Skipped</skipped></testcase><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[False-True-Method.SRT-Target.CUDA]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_simple_equilibrium_conservation.py:16: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[False-True-Method.MRT-Target._CPU]" time="0.135" /><testcase classname="tests.test_conserved_quantity_relaxation_invariance" name="test_trt_kbc[Method.TRT_KBC_N1]" time="2.046" /><testcase classname="tests.test_momentbased_methods_equilibrium" name="test_for_matching_equilibrium_for_stencil[Method.MRT-Stencil.D2Q9]" time="1.438" /><testcase classname="tests.test_shear_flow" name="test_shear_flow[True-Stencil.D3Q19-Target.CUDA]" time="0.003"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_shear_flow.py:70: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_shear_flow" name="test_shear_flow[False-Stencil.D2Q9-Target._CPU]" time="0.866" /><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[False-True-Method.MRT-Target.CUDA]" time="0.003"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_simple_equilibrium_conservation.py:16: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[False-True-Method.CUMULANT-Target._CPU]" time="0.105" /><testcase classname="tests.test_force" name="test_literature[Method.TRT-Stencil.D3Q19-ForceModel.BUICK]" time="1.478" /><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[False-True-Method.CUMULANT-Target.CUDA]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_simple_equilibrium_conservation.py:16: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[True-False-Method.SRT-Target._CPU]" time="0.115" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopull-False-True-None-Stencil.D2Q9]" time="0.356" /><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[True-False-Method.SRT-Target.CUDA]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_simple_equilibrium_conservation.py:16: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[True-False-Method.MRT-Target._CPU]" time="0.098" /><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[True-False-Method.MRT-Target.CUDA]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_simple_equilibrium_conservation.py:16: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[True-False-Method.CENTRAL_MOMENT-Target._CPU]" time="0.143" /><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[False-False-Method.SRT-Target.CUDA]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_simple_equilibrium_conservation.py:16: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[False-False-Method.MRT-Target._CPU]" time="0.111" /><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[False-False-Method.MRT-Target.CUDA]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_simple_equilibrium_conservation.py:16: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[True-False-Method.CUMULANT-Target._CPU]" time="0.001"><skipped type="pytest.skip" message="Skipped">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_simple_equilibrium_conservation.py:22: Skipped</skipped></testcase><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[True-False-Method.CUMULANT-Target.CUDA]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_simple_equilibrium_conservation.py:16: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[True-True-Method.SRT-Target._CPU]" time="0.122" /><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[True-False-Method.CENTRAL_MOMENT-Target.CUDA]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_simple_equilibrium_conservation.py:16: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[True-True-Method.MRT-Target._CPU]" time="0.126" /><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopull-False-True-None-Stencil.D3Q19]" time="0.994" /><testcase classname="tests.test_relaxation_rate" name="test_relaxation_rate" time="1.327" /><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[True-True-Method.SRT-Target.CUDA]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_simple_equilibrium_conservation.py:16: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[True-True-Method.CUMULANT-Target._CPU]" time="0.001"><skipped type="pytest.skip" message="Skipped">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_simple_equilibrium_conservation.py:22: Skipped</skipped></testcase><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[True-True-Method.MRT-Target.CUDA]" time="0.003"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_simple_equilibrium_conservation.py:16: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[True-True-Method.CUMULANT-Target.CUDA]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_simple_equilibrium_conservation.py:16: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_split_optimization" name="test_split_number_of_operations[Method.SRT-True-Stencil.D2Q9]" time="0.029"><skipped type="pytest.xfail" message="Loop splitting is not available yet" /></testcase><testcase classname="tests.test_smagorinsky" name="test_smagorinsky_with_constant_omega" time="0.093" /><testcase classname="tests.test_sparse_lbm.ipynb" name="test_sparse_lbm.ipynb" time="0.000"><error message="failed on setup with "worker 'gw5' crashed while running 'tests/test_sparse_lbm.ipynb::test_sparse_lbm.ipynb'"">worker 'gw5' crashed while running 'tests/test_sparse_lbm.ipynb::test_sparse_lbm.ipynb'</error></testcase><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[False-True-Method.CENTRAL_MOMENT-Target._CPU]" time="0.103" /><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[False-True-Method.CENTRAL_MOMENT-Target.CUDA]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_simple_equilibrium_conservation.py:16: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_split_optimization" name="test_split_number_of_operations[Method.SRT-False-Stencil.D3Q19]" time="0.092"><skipped type="pytest.xfail" message="Loop splitting is not available yet" /></testcase><testcase classname="tests.test_split_optimization" name="test_split_number_of_operations[Method.SRT-True-Stencil.D3Q19]" time="0.081"><skipped type="pytest.xfail" message="Loop splitting is not available yet" /></testcase><testcase classname="tests.test_split_optimization" name="test_split_number_of_operations[Method.TRT-True-Stencil.D3Q19]" time="0.063"><skipped type="pytest.xfail" message="Loop splitting is not available yet" /></testcase><testcase classname="tests.test_split_optimization" name="test_split_number_of_operations[Method.TRT-False-Stencil.D2Q9]" time="0.025"><skipped type="pytest.xfail" message="Loop splitting is not available yet" /></testcase><testcase classname="tests.test_split_optimization" name="test_split_number_of_operations[Method.TRT-True-Stencil.D2Q9]" time="0.053"><skipped type="pytest.xfail" message="Loop splitting is not available yet" /></testcase><testcase classname="tests.test_momentbased_methods_equilibrium" name="test_for_matching_equilibrium_for_stencil[Method.MRT-Stencil.D3Q15]" time="3.584" /><testcase classname="tests.test_split_optimization" name="test_split_number_of_operations[Method.TRT-False-Stencil.D3Q19]" time="0.038"><skipped type="pytest.xfail" message="Loop splitting is not available yet" /></testcase><testcase classname="tests.test_split_optimization" name="test_equivalence_short[setup0]" time="0.050"><skipped type="pytest.xfail" message="Loop splitting is not available yet" /></testcase><testcase classname="tests.test_macroscopic_value_kernels" name="test_set_get_density_velocity_with_fields[Even-esopull-False-False-ForceModel.GUO-Stencil.D2Q9]" time="0.633" /><testcase classname="tests.test_srt_trt_simplifications" name="test_simplifications_srt_d2q9_incompressible_regular" time="0.723" /><testcase classname="tests.test_force" name="test_literature[Method.TRT-Stencil.D3Q19-ForceModel.SHANCHEN]" time="14.954" /><testcase classname="tests.test_shear_flow" name="test_shear_flow[False-Stencil.D3Q19-Target.CUDA]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_shear_flow.py:70: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_srt_trt_simplifications" name="test_simplifications_trt_d2q9_compressible" time="0.763" /><testcase classname="tests.test_srt_trt_simplifications" name="test_simplifications_srt_d2q9_incompressible_zc" time="0.430" /><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[True-True-Method.CENTRAL_MOMENT-Target._CPU]" time="0.198" /><testcase classname="tests.test_conserved_quantity_relaxation_invariance" name="test_trt_kbc[Method.TRT_KBC_N2]" time="1.598" /><testcase classname="tests.test_psm" name="test_lbm_vs_psm" time="0.674" /><testcase classname="tests.test_simple_equilibrium_conservation" name="test_simple_equilibrium_conservation[True-True-Method.CENTRAL_MOMENT-Target.CUDA]" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_simple_equilibrium_conservation.py:16: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.test_srt_trt_simplifications" name="test_simplifications_trt_d3q19_force_compressible" time="5.095" /><testcase classname="tests.test_stencils" name="test_sizes" time="0.001" /><testcase classname="tests.test_stencils" name="test_uniqueness" time="0.001" /><testcase classname="tests.test_stencils" name="test_run_self_check" time="0.002" /><testcase classname="tests.test_stencils" name="test_inverse_direction" time="0.001" /><testcase classname="tests.test_stencils" name="test_free_functions" time="0.001" /><testcase classname="tests.test_stencils" name="test_visualize" time="0.137" /><testcase classname="tests.test_srt_trt_simplifications" name="test_simplifications_srt_d2q9_compressible_regular" time="0.442" /><testcase classname="tests.test_stencils" name="test_comparability_of_stencils" time="0.001" /><testcase classname="tests.test_srt_trt_simplifications" name="test_simplifications_srt_d2q9_compressible_zc" time="0.476" /><testcase classname="tests.test_update_kernel" name="test_stream_only_kernel[pull]" time="0.041" /><testcase classname="tests.test_update_kernel" name="test_stream_only_kernel[aa]" time="0.081" /><testcase classname="tests.test_srt_trt_simplifications" name="test_simplifications_trt_d3q19_force_incompressible" time="5.286" /><testcase classname="tests.test_update_kernel" name="test_stream_only_kernel[esotwist]" time="0.072" /><testcase classname="tests.test_update_kernel" name="test_stream_only_kernel[esopush]" time="0.074" /><testcase classname="tests.test_vectorization" name="test_lbm_vectorization_short" time="0.974" /><testcase classname="tests.test_stokes_setup.ipynb" name="test_stokes_setup.ipynb" time="7.238" /><testcase classname="tests.test_quicktests" name="test_poiseuille_channel_quicktest" time="1.047" /><testcase classname="tests.test_update_kernel" name="test_stream_only_kernel[push]" time="0.044" /><testcase classname="tests.test_wall_function_bounce" name="test_wfb[wfb_ii-Stencil.D3Q19]" time="13.627"><failure message="AssertionError: WFB enforced velocity above free-slip velocity assert np.float64(0.24718503831996655) < np.float64(0.18342327919595147)">stencil = <lbmpy.stencils.LBStencil object at 0x7f7e725b0730>, wfb_type = 'wfb_ii' + + @pytest.mark.parametrize('stencil', [Stencil.D3Q19, Stencil.D3Q27]) + @pytest.mark.parametrize('wfb_type', ['wfb_i', 'wfb_ii', 'wfb_iii', 'wfb_iv']) + def test_wfb(stencil, wfb_type): + stencil = LBStencil(stencil) + periodicity = (True, False, True) + domain_size = (30, 20, 15) + dim = len(domain_size) + + omega = 1.1 + nu = lattice_viscosity_from_relaxation_rate(omega) + + # pressure gradient for laminar channel flow with u_max = 0.1 + ext_force_density = 0.1 * 2 * nu / ((domain_size[1] - 2) / 2) ** 2 + + lbm_config = LBMConfig(stencil=stencil, + method=Method.SRT, + force_model=ForceModel.GUO, + force=(ext_force_density, 0, 0), + relaxation_rate=omega, + compressible=True) + + wall_north = NoSlip() + normal = (0, 1, 0) + + # NO-SLIP + + lb_step_noslip = LatticeBoltzmannStep(domain_size=domain_size, periodicity=periodicity, + lbm_config=lbm_config, compute_velocity_in_every_step=True) + + noslip = NoSlip() + + lb_step_noslip.boundary_handling.set_boundary(noslip, slice_from_direction('S', dim)) + lb_step_noslip.boundary_handling.set_boundary(wall_north, slice_from_direction('N', dim)) + + # FREE-SLIP + + lb_step_freeslip = LatticeBoltzmannStep(domain_size=domain_size, periodicity=periodicity, + lbm_config=lbm_config, compute_velocity_in_every_step=True) + + freeslip = FreeSlip(stencil=stencil, normal_direction=normal) + + lb_step_freeslip.boundary_handling.set_boundary(freeslip, slice_from_direction('S', dim)) + lb_step_freeslip.boundary_handling.set_boundary(wall_north, slice_from_direction('N', dim)) + + # WFB + + lb_step_wfb = LatticeBoltzmannStep(domain_size=domain_size, periodicity=periodicity, + lbm_config=lbm_config, compute_velocity_in_every_step=True) + + # pdf initialisation + + init = pdf_initialization_assignments(lb_step_wfb.method, 1.0, (0.025, 0, 0), + lb_step_wfb.data_handling.fields[lb_step_wfb._pdf_arr_name].center_vector) + + config = ps.CreateKernelConfig(target=lb_step_wfb.data_handling.default_target, cpu_openmp=False) + ast_init = ps.create_kernel(init, config=config) + kernel_init = ast_init.compile() + + lb_step_wfb.data_handling.run_kernel(kernel_init) + + # potential mean velocity field + + mean_vel_field = lb_step_wfb.data_handling.fields[lb_step_wfb.velocity_data_name] + # mean_vel_field = lb_step_wfb.data_handling.add_array('mean_velocity_field', values_per_cell=stencil.D) + # lb_step_wfb.data_handling.fill('mean_velocity_field', 0.005, value_idx=0, ghost_layers=True) + lb_step_wfb.data_handling.fill(lb_step_wfb.velocity_data_name, 0.025, value_idx=0, ghost_layers=True) + + # wfb arguments + wfb_args = { + 'wfb_i': {'wall_function_model': SpaldingsLaw(viscosity=nu), + 'weight_method': WallFunctionBounce.WeightMethod.GEOMETRIC_WEIGHT, + 'name': "wall"}, + 'wfb_ii': {'wall_function_model': MuskerLaw(viscosity=nu), + 'weight_method': WallFunctionBounce.WeightMethod.GEOMETRIC_WEIGHT, + 'mean_velocity': mean_vel_field, + 'name': "wall"}, + 'wfb_iii': {'wall_function_model': LogLaw(viscosity=nu), + 'weight_method': WallFunctionBounce.WeightMethod.LATTICE_WEIGHT, + 'mean_velocity': mean_vel_field.center, + 'sampling_shift': 2}, + 'wfb_iv': {'wall_function_model': MoninObukhovSimilarityTheory(z0=1e-2), + 'weight_method': WallFunctionBounce.WeightMethod.LATTICE_WEIGHT, + 'mean_velocity': mean_vel_field, + 'maronga_sampling_shift': 2} + } + + wall = WallFunctionBounce(lb_method=lb_step_wfb.method, normal_direction=normal, + pdfs=lb_step_wfb.data_handling.fields[lb_step_wfb._pdf_arr_name], + **wfb_args[wfb_type]) + + lb_step_wfb.boundary_handling.set_boundary(wall, slice_from_direction('S', dim)) + lb_step_wfb.boundary_handling.set_boundary(wall_north, slice_from_direction('N', dim)) + + # rum cases + + timesteps = 4000 + lb_step_noslip.run(timesteps) + lb_step_freeslip.run(timesteps) + lb_step_wfb.run(timesteps) + + noslip_velocity = lb_step_noslip.velocity[domain_size[0] // 2, :, domain_size[2] // 2, 0] + freeslip_velocity = lb_step_freeslip.velocity[domain_size[0] // 2, :, domain_size[2] // 2, 0] + wfb_velocity = lb_step_wfb.velocity[domain_size[0] // 2, :, domain_size[2] // 2, 0] + + assert wfb_velocity[0] > noslip_velocity[0], f"WFB enforced velocity below no-slip velocity" +> assert wfb_velocity[0] < freeslip_velocity[0], f"WFB enforced velocity above free-slip velocity" +E AssertionError: WFB enforced velocity above free-slip velocity +E assert np.float64(0.24718503831996655) < np.float64(0.18342327919595147) + +tests/test_wall_function_bounce.py:116: AssertionError</failure></testcase><testcase classname="tests.test_conserved_quantity_relaxation_invariance" name="test_trt_kbc[Method.TRT_KBC_N3]" time="1.735" /><testcase classname="tests.test_version_string" name="test_version_string" time="0.001" /><testcase classname="tests.test_wall_function_bounce" name="test_wfb[wfb_iii-Stencil.D3Q19]" time="9.482"><failure message="AssertionError: WFB enforced velocity above free-slip velocity assert np.float64(0.1998977225046267) < np.float64(0.18342327919595147)">stencil = <lbmpy.stencils.LBStencil object at 0x7e816d204ac0>, wfb_type = 'wfb_iii' + + @pytest.mark.parametrize('stencil', [Stencil.D3Q19, Stencil.D3Q27]) + @pytest.mark.parametrize('wfb_type', ['wfb_i', 'wfb_ii', 'wfb_iii', 'wfb_iv']) + def test_wfb(stencil, wfb_type): + stencil = LBStencil(stencil) + periodicity = (True, False, True) + domain_size = (30, 20, 15) + dim = len(domain_size) + + omega = 1.1 + nu = lattice_viscosity_from_relaxation_rate(omega) + + # pressure gradient for laminar channel flow with u_max = 0.1 + ext_force_density = 0.1 * 2 * nu / ((domain_size[1] - 2) / 2) ** 2 + + lbm_config = LBMConfig(stencil=stencil, + method=Method.SRT, + force_model=ForceModel.GUO, + force=(ext_force_density, 0, 0), + relaxation_rate=omega, + compressible=True) + + wall_north = NoSlip() + normal = (0, 1, 0) + + # NO-SLIP + + lb_step_noslip = LatticeBoltzmannStep(domain_size=domain_size, periodicity=periodicity, + lbm_config=lbm_config, compute_velocity_in_every_step=True) + + noslip = NoSlip() + + lb_step_noslip.boundary_handling.set_boundary(noslip, slice_from_direction('S', dim)) + lb_step_noslip.boundary_handling.set_boundary(wall_north, slice_from_direction('N', dim)) + + # FREE-SLIP + + lb_step_freeslip = LatticeBoltzmannStep(domain_size=domain_size, periodicity=periodicity, + lbm_config=lbm_config, compute_velocity_in_every_step=True) + + freeslip = FreeSlip(stencil=stencil, normal_direction=normal) + + lb_step_freeslip.boundary_handling.set_boundary(freeslip, slice_from_direction('S', dim)) + lb_step_freeslip.boundary_handling.set_boundary(wall_north, slice_from_direction('N', dim)) + + # WFB + + lb_step_wfb = LatticeBoltzmannStep(domain_size=domain_size, periodicity=periodicity, + lbm_config=lbm_config, compute_velocity_in_every_step=True) + + # pdf initialisation + + init = pdf_initialization_assignments(lb_step_wfb.method, 1.0, (0.025, 0, 0), + lb_step_wfb.data_handling.fields[lb_step_wfb._pdf_arr_name].center_vector) + + config = ps.CreateKernelConfig(target=lb_step_wfb.data_handling.default_target, cpu_openmp=False) + ast_init = ps.create_kernel(init, config=config) + kernel_init = ast_init.compile() + + lb_step_wfb.data_handling.run_kernel(kernel_init) + + # potential mean velocity field + + mean_vel_field = lb_step_wfb.data_handling.fields[lb_step_wfb.velocity_data_name] + # mean_vel_field = lb_step_wfb.data_handling.add_array('mean_velocity_field', values_per_cell=stencil.D) + # lb_step_wfb.data_handling.fill('mean_velocity_field', 0.005, value_idx=0, ghost_layers=True) + lb_step_wfb.data_handling.fill(lb_step_wfb.velocity_data_name, 0.025, value_idx=0, ghost_layers=True) + + # wfb arguments + wfb_args = { + 'wfb_i': {'wall_function_model': SpaldingsLaw(viscosity=nu), + 'weight_method': WallFunctionBounce.WeightMethod.GEOMETRIC_WEIGHT, + 'name': "wall"}, + 'wfb_ii': {'wall_function_model': MuskerLaw(viscosity=nu), + 'weight_method': WallFunctionBounce.WeightMethod.GEOMETRIC_WEIGHT, + 'mean_velocity': mean_vel_field, + 'name': "wall"}, + 'wfb_iii': {'wall_function_model': LogLaw(viscosity=nu), + 'weight_method': WallFunctionBounce.WeightMethod.LATTICE_WEIGHT, + 'mean_velocity': mean_vel_field.center, + 'sampling_shift': 2}, + 'wfb_iv': {'wall_function_model': MoninObukhovSimilarityTheory(z0=1e-2), + 'weight_method': WallFunctionBounce.WeightMethod.LATTICE_WEIGHT, + 'mean_velocity': mean_vel_field, + 'maronga_sampling_shift': 2} + } + + wall = WallFunctionBounce(lb_method=lb_step_wfb.method, normal_direction=normal, + pdfs=lb_step_wfb.data_handling.fields[lb_step_wfb._pdf_arr_name], + **wfb_args[wfb_type]) + + lb_step_wfb.boundary_handling.set_boundary(wall, slice_from_direction('S', dim)) + lb_step_wfb.boundary_handling.set_boundary(wall_north, slice_from_direction('N', dim)) + + # rum cases + + timesteps = 4000 + lb_step_noslip.run(timesteps) + lb_step_freeslip.run(timesteps) + lb_step_wfb.run(timesteps) + + noslip_velocity = lb_step_noslip.velocity[domain_size[0] // 2, :, domain_size[2] // 2, 0] + freeslip_velocity = lb_step_freeslip.velocity[domain_size[0] // 2, :, domain_size[2] // 2, 0] + wfb_velocity = lb_step_wfb.velocity[domain_size[0] // 2, :, domain_size[2] // 2, 0] + + assert wfb_velocity[0] > noslip_velocity[0], f"WFB enforced velocity below no-slip velocity" +> assert wfb_velocity[0] < freeslip_velocity[0], f"WFB enforced velocity above free-slip velocity" +E AssertionError: WFB enforced velocity above free-slip velocity +E assert np.float64(0.1998977225046267) < np.float64(0.18342327919595147) + +tests/test_wall_function_bounce.py:116: AssertionError</failure></testcase><testcase classname="tests.test_wall_function_bounce" name="test_wfb[wfb_i-Stencil.D3Q27]" time="22.115"><failure message="AssertionError: WFB enforced velocity above free-slip velocity assert np.float64(3.5621388988945175) < np.float64(-0.036308528016781284)">stencil = <lbmpy.stencils.LBStencil object at 0x796575dd1330>, wfb_type = 'wfb_i' + + @pytest.mark.parametrize('stencil', [Stencil.D3Q19, Stencil.D3Q27]) + @pytest.mark.parametrize('wfb_type', ['wfb_i', 'wfb_ii', 'wfb_iii', 'wfb_iv']) + def test_wfb(stencil, wfb_type): + stencil = LBStencil(stencil) + periodicity = (True, False, True) + domain_size = (30, 20, 15) + dim = len(domain_size) + + omega = 1.1 + nu = lattice_viscosity_from_relaxation_rate(omega) + + # pressure gradient for laminar channel flow with u_max = 0.1 + ext_force_density = 0.1 * 2 * nu / ((domain_size[1] - 2) / 2) ** 2 + + lbm_config = LBMConfig(stencil=stencil, + method=Method.SRT, + force_model=ForceModel.GUO, + force=(ext_force_density, 0, 0), + relaxation_rate=omega, + compressible=True) + + wall_north = NoSlip() + normal = (0, 1, 0) + + # NO-SLIP + + lb_step_noslip = LatticeBoltzmannStep(domain_size=domain_size, periodicity=periodicity, + lbm_config=lbm_config, compute_velocity_in_every_step=True) + + noslip = NoSlip() + + lb_step_noslip.boundary_handling.set_boundary(noslip, slice_from_direction('S', dim)) + lb_step_noslip.boundary_handling.set_boundary(wall_north, slice_from_direction('N', dim)) + + # FREE-SLIP + + lb_step_freeslip = LatticeBoltzmannStep(domain_size=domain_size, periodicity=periodicity, + lbm_config=lbm_config, compute_velocity_in_every_step=True) + + freeslip = FreeSlip(stencil=stencil, normal_direction=normal) + + lb_step_freeslip.boundary_handling.set_boundary(freeslip, slice_from_direction('S', dim)) + lb_step_freeslip.boundary_handling.set_boundary(wall_north, slice_from_direction('N', dim)) + + # WFB + + lb_step_wfb = LatticeBoltzmannStep(domain_size=domain_size, periodicity=periodicity, + lbm_config=lbm_config, compute_velocity_in_every_step=True) + + # pdf initialisation + + init = pdf_initialization_assignments(lb_step_wfb.method, 1.0, (0.025, 0, 0), + lb_step_wfb.data_handling.fields[lb_step_wfb._pdf_arr_name].center_vector) + + config = ps.CreateKernelConfig(target=lb_step_wfb.data_handling.default_target, cpu_openmp=False) + ast_init = ps.create_kernel(init, config=config) + kernel_init = ast_init.compile() + + lb_step_wfb.data_handling.run_kernel(kernel_init) + + # potential mean velocity field + + mean_vel_field = lb_step_wfb.data_handling.fields[lb_step_wfb.velocity_data_name] + # mean_vel_field = lb_step_wfb.data_handling.add_array('mean_velocity_field', values_per_cell=stencil.D) + # lb_step_wfb.data_handling.fill('mean_velocity_field', 0.005, value_idx=0, ghost_layers=True) + lb_step_wfb.data_handling.fill(lb_step_wfb.velocity_data_name, 0.025, value_idx=0, ghost_layers=True) + + # wfb arguments + wfb_args = { + 'wfb_i': {'wall_function_model': SpaldingsLaw(viscosity=nu), + 'weight_method': WallFunctionBounce.WeightMethod.GEOMETRIC_WEIGHT, + 'name': "wall"}, + 'wfb_ii': {'wall_function_model': MuskerLaw(viscosity=nu), + 'weight_method': WallFunctionBounce.WeightMethod.GEOMETRIC_WEIGHT, + 'mean_velocity': mean_vel_field, + 'name': "wall"}, + 'wfb_iii': {'wall_function_model': LogLaw(viscosity=nu), + 'weight_method': WallFunctionBounce.WeightMethod.LATTICE_WEIGHT, + 'mean_velocity': mean_vel_field.center, + 'sampling_shift': 2}, + 'wfb_iv': {'wall_function_model': MoninObukhovSimilarityTheory(z0=1e-2), + 'weight_method': WallFunctionBounce.WeightMethod.LATTICE_WEIGHT, + 'mean_velocity': mean_vel_field, + 'maronga_sampling_shift': 2} + } + + wall = WallFunctionBounce(lb_method=lb_step_wfb.method, normal_direction=normal, + pdfs=lb_step_wfb.data_handling.fields[lb_step_wfb._pdf_arr_name], + **wfb_args[wfb_type]) + + lb_step_wfb.boundary_handling.set_boundary(wall, slice_from_direction('S', dim)) + lb_step_wfb.boundary_handling.set_boundary(wall_north, slice_from_direction('N', dim)) + + # rum cases + + timesteps = 4000 + lb_step_noslip.run(timesteps) + lb_step_freeslip.run(timesteps) + lb_step_wfb.run(timesteps) + + noslip_velocity = lb_step_noslip.velocity[domain_size[0] // 2, :, domain_size[2] // 2, 0] + freeslip_velocity = lb_step_freeslip.velocity[domain_size[0] // 2, :, domain_size[2] // 2, 0] + wfb_velocity = lb_step_wfb.velocity[domain_size[0] // 2, :, domain_size[2] // 2, 0] + + assert wfb_velocity[0] > noslip_velocity[0], f"WFB enforced velocity below no-slip velocity" +> assert wfb_velocity[0] < freeslip_velocity[0], f"WFB enforced velocity above free-slip velocity" +E AssertionError: WFB enforced velocity above free-slip velocity +E assert np.float64(3.5621388988945175) < np.float64(-0.036308528016781284) + +tests/test_wall_function_bounce.py:116: AssertionError</failure></testcase><testcase classname="tests.test_split_optimization" name="test_equivalence_short[setup1]" time="0.067"><skipped type="pytest.xfail" message="Loop splitting is not available yet" /></testcase><testcase classname="tests.test_conserved_quantity_relaxation_invariance" name="test_trt_kbc[Method.TRT_KBC_N4]" time="1.549" /><testcase classname="tests.test_wall_function_bounce" name="test_wfb[wfb_iv-Stencil.D3Q27]" time="18.031"><failure message="AssertionError: WFB enforced velocity above free-slip velocity assert np.float64(0.36084099706922884) < np.float64(-0.036308528016781284)">stencil = <lbmpy.stencils.LBStencil object at 0x7f0058b26020>, wfb_type = 'wfb_iv' + + @pytest.mark.parametrize('stencil', [Stencil.D3Q19, Stencil.D3Q27]) + @pytest.mark.parametrize('wfb_type', ['wfb_i', 'wfb_ii', 'wfb_iii', 'wfb_iv']) + def test_wfb(stencil, wfb_type): + stencil = LBStencil(stencil) + periodicity = (True, False, True) + domain_size = (30, 20, 15) + dim = len(domain_size) + + omega = 1.1 + nu = lattice_viscosity_from_relaxation_rate(omega) + + # pressure gradient for laminar channel flow with u_max = 0.1 + ext_force_density = 0.1 * 2 * nu / ((domain_size[1] - 2) / 2) ** 2 + + lbm_config = LBMConfig(stencil=stencil, + method=Method.SRT, + force_model=ForceModel.GUO, + force=(ext_force_density, 0, 0), + relaxation_rate=omega, + compressible=True) + + wall_north = NoSlip() + normal = (0, 1, 0) + + # NO-SLIP + + lb_step_noslip = LatticeBoltzmannStep(domain_size=domain_size, periodicity=periodicity, + lbm_config=lbm_config, compute_velocity_in_every_step=True) + + noslip = NoSlip() + + lb_step_noslip.boundary_handling.set_boundary(noslip, slice_from_direction('S', dim)) + lb_step_noslip.boundary_handling.set_boundary(wall_north, slice_from_direction('N', dim)) + + # FREE-SLIP + + lb_step_freeslip = LatticeBoltzmannStep(domain_size=domain_size, periodicity=periodicity, + lbm_config=lbm_config, compute_velocity_in_every_step=True) + + freeslip = FreeSlip(stencil=stencil, normal_direction=normal) + + lb_step_freeslip.boundary_handling.set_boundary(freeslip, slice_from_direction('S', dim)) + lb_step_freeslip.boundary_handling.set_boundary(wall_north, slice_from_direction('N', dim)) + + # WFB + + lb_step_wfb = LatticeBoltzmannStep(domain_size=domain_size, periodicity=periodicity, + lbm_config=lbm_config, compute_velocity_in_every_step=True) + + # pdf initialisation + + init = pdf_initialization_assignments(lb_step_wfb.method, 1.0, (0.025, 0, 0), + lb_step_wfb.data_handling.fields[lb_step_wfb._pdf_arr_name].center_vector) + + config = ps.CreateKernelConfig(target=lb_step_wfb.data_handling.default_target, cpu_openmp=False) + ast_init = ps.create_kernel(init, config=config) + kernel_init = ast_init.compile() + + lb_step_wfb.data_handling.run_kernel(kernel_init) + + # potential mean velocity field + + mean_vel_field = lb_step_wfb.data_handling.fields[lb_step_wfb.velocity_data_name] + # mean_vel_field = lb_step_wfb.data_handling.add_array('mean_velocity_field', values_per_cell=stencil.D) + # lb_step_wfb.data_handling.fill('mean_velocity_field', 0.005, value_idx=0, ghost_layers=True) + lb_step_wfb.data_handling.fill(lb_step_wfb.velocity_data_name, 0.025, value_idx=0, ghost_layers=True) + + # wfb arguments + wfb_args = { + 'wfb_i': {'wall_function_model': SpaldingsLaw(viscosity=nu), + 'weight_method': WallFunctionBounce.WeightMethod.GEOMETRIC_WEIGHT, + 'name': "wall"}, + 'wfb_ii': {'wall_function_model': MuskerLaw(viscosity=nu), + 'weight_method': WallFunctionBounce.WeightMethod.GEOMETRIC_WEIGHT, + 'mean_velocity': mean_vel_field, + 'name': "wall"}, + 'wfb_iii': {'wall_function_model': LogLaw(viscosity=nu), + 'weight_method': WallFunctionBounce.WeightMethod.LATTICE_WEIGHT, + 'mean_velocity': mean_vel_field.center, + 'sampling_shift': 2}, + 'wfb_iv': {'wall_function_model': MoninObukhovSimilarityTheory(z0=1e-2), + 'weight_method': WallFunctionBounce.WeightMethod.LATTICE_WEIGHT, + 'mean_velocity': mean_vel_field, + 'maronga_sampling_shift': 2} + } + + wall = WallFunctionBounce(lb_method=lb_step_wfb.method, normal_direction=normal, + pdfs=lb_step_wfb.data_handling.fields[lb_step_wfb._pdf_arr_name], + **wfb_args[wfb_type]) + + lb_step_wfb.boundary_handling.set_boundary(wall, slice_from_direction('S', dim)) + lb_step_wfb.boundary_handling.set_boundary(wall_north, slice_from_direction('N', dim)) + + # rum cases + + timesteps = 4000 + lb_step_noslip.run(timesteps) + lb_step_freeslip.run(timesteps) + lb_step_wfb.run(timesteps) + + noslip_velocity = lb_step_noslip.velocity[domain_size[0] // 2, :, domain_size[2] // 2, 0] + freeslip_velocity = lb_step_freeslip.velocity[domain_size[0] // 2, :, domain_size[2] // 2, 0] + wfb_velocity = lb_step_wfb.velocity[domain_size[0] // 2, :, domain_size[2] // 2, 0] + + assert wfb_velocity[0] > noslip_velocity[0], f"WFB enforced velocity below no-slip velocity" +> assert wfb_velocity[0] < freeslip_velocity[0], f"WFB enforced velocity above free-slip velocity" +E AssertionError: WFB enforced velocity above free-slip velocity +E assert np.float64(0.36084099706922884) < np.float64(-0.036308528016781284) + +tests/test_wall_function_bounce.py:116: AssertionError</failure></testcase><testcase classname="tests.test_cumulant_equivalences" name="test_zero_centering_equilibrium_equivalence[Stencil.D2Q9]" time="4.593" /><testcase classname="tests.test_stencils" name="test_dimensionality" time="0.001" /><testcase classname="tests.test_weights" name="test_weight_calculation[Stencil.D2Q9-False-True-Method.SRT]" time="0.067" /><testcase classname="tests.test_weights" name="test_weight_calculation[Stencil.D2Q9-False-True-Method.TRT]" time="0.029" /><testcase classname="tests.test_weights" name="test_weight_calculation[Stencil.D2Q9-True-False-Method.SRT]" time="0.057" /><testcase classname="tests.test_weights" name="test_weight_calculation[Stencil.D2Q9-True-False-Method.TRT]" time="0.049" /><testcase classname="tests.test_weights" name="test_weight_calculation[Stencil.D2Q9-True-True-Method.SRT]" time="0.050" /><testcase classname="tests.test_weights" name="test_weight_calculation[Stencil.D2Q9-True-True-Method.TRT]" time="0.051" /><testcase classname="tests.test_weights" name="test_weight_calculation[Stencil.D3Q7-False-False-Method.SRT]" time="0.016" /><testcase classname="tests.test_weights" name="test_weight_calculation[Stencil.D3Q7-False-False-Method.TRT]" time="0.017" /><testcase classname="tests.test_weights" name="test_weight_calculation[Stencil.D3Q7-False-True-Method.SRT]" time="0.036" /><testcase classname="tests.test_weights" name="test_weight_calculation[Stencil.D3Q7-False-True-Method.TRT]" time="0.017" /><testcase classname="tests.test_weights" name="test_weight_calculation[Stencil.D3Q7-True-False-Method.SRT]" time="0.054" /><testcase classname="tests.test_update_kernel" name="test_stream_only_kernel[esopull]" time="0.112" /><testcase classname="tests.test_momentbased_methods_equilibrium" name="test_relaxation_rate_setter" time="0.566" /><testcase classname="tests.test_weights" name="test_weight_calculation[Stencil.D3Q7-True-False-Method.TRT]" time="0.042" /><testcase classname="tests.test_weights" name="test_weight_calculation[Stencil.D3Q7-True-True-Method.TRT]" time="0.043" /><testcase classname="tests.test_weights" name="test_weight_calculation[Stencil.D3Q7-True-True-Method.SRT]" time="0.061" /><testcase classname="tests.test_welford" name="test_welford[1-1]" time="0.365" /><testcase classname="tests.test_welford" name="test_welford[1-2]" time="0.426" /><testcase classname="tests.test_welford" name="test_welford[1-3]" time="0.487" /><testcase classname="tests.test_momentbased_methods_equilibrium" name="test_mrt_orthogonal" time="13.526" /><testcase classname="tests.test_welford" name="test_welford[2-1]" time="0.703" /><testcase classname="tests.cumulantmethod.test_equilibrium" name="test_equilibrium_pdfs[FastCentralMomentTransform-Stencil.D3Q27]" time="49.864" /><testcase classname="tests.test_welford" name="test_welford[2-2]" time="0.845" /><testcase classname="tests.test_welford" name="test_welford[2-3]" time="1.010" /><testcase classname="tests.test_welford" name="test_welford[3-1]" time="1.053" /><testcase classname="tests.test_wall_function_bounce" name="test_wfb[wfb_i-Stencil.D3Q19]" time="11.094"><failure message="AssertionError: WFB enforced velocity below no-slip velocity assert np.float64(-0.5393568842965458) > np.float64(0.012340563294409699)">stencil = <lbmpy.stencils.LBStencil object at 0x774eaa5bf160>, wfb_type = 'wfb_i' + + @pytest.mark.parametrize('stencil', [Stencil.D3Q19, Stencil.D3Q27]) + @pytest.mark.parametrize('wfb_type', ['wfb_i', 'wfb_ii', 'wfb_iii', 'wfb_iv']) + def test_wfb(stencil, wfb_type): + stencil = LBStencil(stencil) + periodicity = (True, False, True) + domain_size = (30, 20, 15) + dim = len(domain_size) + + omega = 1.1 + nu = lattice_viscosity_from_relaxation_rate(omega) + + # pressure gradient for laminar channel flow with u_max = 0.1 + ext_force_density = 0.1 * 2 * nu / ((domain_size[1] - 2) / 2) ** 2 + + lbm_config = LBMConfig(stencil=stencil, + method=Method.SRT, + force_model=ForceModel.GUO, + force=(ext_force_density, 0, 0), + relaxation_rate=omega, + compressible=True) + + wall_north = NoSlip() + normal = (0, 1, 0) + + # NO-SLIP + + lb_step_noslip = LatticeBoltzmannStep(domain_size=domain_size, periodicity=periodicity, + lbm_config=lbm_config, compute_velocity_in_every_step=True) + + noslip = NoSlip() + + lb_step_noslip.boundary_handling.set_boundary(noslip, slice_from_direction('S', dim)) + lb_step_noslip.boundary_handling.set_boundary(wall_north, slice_from_direction('N', dim)) + + # FREE-SLIP + + lb_step_freeslip = LatticeBoltzmannStep(domain_size=domain_size, periodicity=periodicity, + lbm_config=lbm_config, compute_velocity_in_every_step=True) + + freeslip = FreeSlip(stencil=stencil, normal_direction=normal) + + lb_step_freeslip.boundary_handling.set_boundary(freeslip, slice_from_direction('S', dim)) + lb_step_freeslip.boundary_handling.set_boundary(wall_north, slice_from_direction('N', dim)) + + # WFB + + lb_step_wfb = LatticeBoltzmannStep(domain_size=domain_size, periodicity=periodicity, + lbm_config=lbm_config, compute_velocity_in_every_step=True) + + # pdf initialisation + + init = pdf_initialization_assignments(lb_step_wfb.method, 1.0, (0.025, 0, 0), + lb_step_wfb.data_handling.fields[lb_step_wfb._pdf_arr_name].center_vector) + + config = ps.CreateKernelConfig(target=lb_step_wfb.data_handling.default_target, cpu_openmp=False) + ast_init = ps.create_kernel(init, config=config) + kernel_init = ast_init.compile() + + lb_step_wfb.data_handling.run_kernel(kernel_init) + + # potential mean velocity field + + mean_vel_field = lb_step_wfb.data_handling.fields[lb_step_wfb.velocity_data_name] + # mean_vel_field = lb_step_wfb.data_handling.add_array('mean_velocity_field', values_per_cell=stencil.D) + # lb_step_wfb.data_handling.fill('mean_velocity_field', 0.005, value_idx=0, ghost_layers=True) + lb_step_wfb.data_handling.fill(lb_step_wfb.velocity_data_name, 0.025, value_idx=0, ghost_layers=True) + + # wfb arguments + wfb_args = { + 'wfb_i': {'wall_function_model': SpaldingsLaw(viscosity=nu), + 'weight_method': WallFunctionBounce.WeightMethod.GEOMETRIC_WEIGHT, + 'name': "wall"}, + 'wfb_ii': {'wall_function_model': MuskerLaw(viscosity=nu), + 'weight_method': WallFunctionBounce.WeightMethod.GEOMETRIC_WEIGHT, + 'mean_velocity': mean_vel_field, + 'name': "wall"}, + 'wfb_iii': {'wall_function_model': LogLaw(viscosity=nu), + 'weight_method': WallFunctionBounce.WeightMethod.LATTICE_WEIGHT, + 'mean_velocity': mean_vel_field.center, + 'sampling_shift': 2}, + 'wfb_iv': {'wall_function_model': MoninObukhovSimilarityTheory(z0=1e-2), + 'weight_method': WallFunctionBounce.WeightMethod.LATTICE_WEIGHT, + 'mean_velocity': mean_vel_field, + 'maronga_sampling_shift': 2} + } + + wall = WallFunctionBounce(lb_method=lb_step_wfb.method, normal_direction=normal, + pdfs=lb_step_wfb.data_handling.fields[lb_step_wfb._pdf_arr_name], + **wfb_args[wfb_type]) + + lb_step_wfb.boundary_handling.set_boundary(wall, slice_from_direction('S', dim)) + lb_step_wfb.boundary_handling.set_boundary(wall_north, slice_from_direction('N', dim)) + + # rum cases + + timesteps = 4000 + lb_step_noslip.run(timesteps) + lb_step_freeslip.run(timesteps) + lb_step_wfb.run(timesteps) + + noslip_velocity = lb_step_noslip.velocity[domain_size[0] // 2, :, domain_size[2] // 2, 0] + freeslip_velocity = lb_step_freeslip.velocity[domain_size[0] // 2, :, domain_size[2] // 2, 0] + wfb_velocity = lb_step_wfb.velocity[domain_size[0] // 2, :, domain_size[2] // 2, 0] + +> assert wfb_velocity[0] > noslip_velocity[0], f"WFB enforced velocity below no-slip velocity" +E AssertionError: WFB enforced velocity below no-slip velocity +E assert np.float64(-0.5393568842965458) > np.float64(0.012340563294409699) + +tests/test_wall_function_bounce.py:115: AssertionError</failure></testcase><testcase classname="tests.test_welford" name="test_welford[3-2]" time="1.222" /><testcase classname="tests.test_welford" name="test_welford[3-3]" time="1.613" /><testcase classname="tests.test_zero_centering" name="test_periodic_shear_layers[False-Method.MRT]" time="33.482" /><testcase classname="tests.test_weights" name="test_weight_calculation[Stencil.D2Q9-False-False-Method.TRT]" time="0.033" /><testcase classname="tests.test_zero_centering" name="test_periodic_shear_layers[True-Method.SRT]" time="30.157" /><testcase classname="tests.test_zero_centering" name="test_periodic_shear_layers[False-Method.CENTRAL_MOMENT]" time="39.605" /><testcase classname="tests.test_wall_function_bounce" name="test_wfb[wfb_iii-Stencil.D3Q27]" time="18.491"><failure message="AssertionError: WFB enforced velocity above free-slip velocity assert np.float64(0.19989772250462495) < np.float64(-0.036308528016781284)">stencil = <lbmpy.stencils.LBStencil object at 0x7e816cfe1a50>, wfb_type = 'wfb_iii' + + @pytest.mark.parametrize('stencil', [Stencil.D3Q19, Stencil.D3Q27]) + @pytest.mark.parametrize('wfb_type', ['wfb_i', 'wfb_ii', 'wfb_iii', 'wfb_iv']) + def test_wfb(stencil, wfb_type): + stencil = LBStencil(stencil) + periodicity = (True, False, True) + domain_size = (30, 20, 15) + dim = len(domain_size) + + omega = 1.1 + nu = lattice_viscosity_from_relaxation_rate(omega) + + # pressure gradient for laminar channel flow with u_max = 0.1 + ext_force_density = 0.1 * 2 * nu / ((domain_size[1] - 2) / 2) ** 2 + + lbm_config = LBMConfig(stencil=stencil, + method=Method.SRT, + force_model=ForceModel.GUO, + force=(ext_force_density, 0, 0), + relaxation_rate=omega, + compressible=True) + + wall_north = NoSlip() + normal = (0, 1, 0) + + # NO-SLIP + + lb_step_noslip = LatticeBoltzmannStep(domain_size=domain_size, periodicity=periodicity, + lbm_config=lbm_config, compute_velocity_in_every_step=True) + + noslip = NoSlip() + + lb_step_noslip.boundary_handling.set_boundary(noslip, slice_from_direction('S', dim)) + lb_step_noslip.boundary_handling.set_boundary(wall_north, slice_from_direction('N', dim)) + + # FREE-SLIP + + lb_step_freeslip = LatticeBoltzmannStep(domain_size=domain_size, periodicity=periodicity, + lbm_config=lbm_config, compute_velocity_in_every_step=True) + + freeslip = FreeSlip(stencil=stencil, normal_direction=normal) + + lb_step_freeslip.boundary_handling.set_boundary(freeslip, slice_from_direction('S', dim)) + lb_step_freeslip.boundary_handling.set_boundary(wall_north, slice_from_direction('N', dim)) + + # WFB + + lb_step_wfb = LatticeBoltzmannStep(domain_size=domain_size, periodicity=periodicity, + lbm_config=lbm_config, compute_velocity_in_every_step=True) + + # pdf initialisation + + init = pdf_initialization_assignments(lb_step_wfb.method, 1.0, (0.025, 0, 0), + lb_step_wfb.data_handling.fields[lb_step_wfb._pdf_arr_name].center_vector) + + config = ps.CreateKernelConfig(target=lb_step_wfb.data_handling.default_target, cpu_openmp=False) + ast_init = ps.create_kernel(init, config=config) + kernel_init = ast_init.compile() + + lb_step_wfb.data_handling.run_kernel(kernel_init) + + # potential mean velocity field + + mean_vel_field = lb_step_wfb.data_handling.fields[lb_step_wfb.velocity_data_name] + # mean_vel_field = lb_step_wfb.data_handling.add_array('mean_velocity_field', values_per_cell=stencil.D) + # lb_step_wfb.data_handling.fill('mean_velocity_field', 0.005, value_idx=0, ghost_layers=True) + lb_step_wfb.data_handling.fill(lb_step_wfb.velocity_data_name, 0.025, value_idx=0, ghost_layers=True) + + # wfb arguments + wfb_args = { + 'wfb_i': {'wall_function_model': SpaldingsLaw(viscosity=nu), + 'weight_method': WallFunctionBounce.WeightMethod.GEOMETRIC_WEIGHT, + 'name': "wall"}, + 'wfb_ii': {'wall_function_model': MuskerLaw(viscosity=nu), + 'weight_method': WallFunctionBounce.WeightMethod.GEOMETRIC_WEIGHT, + 'mean_velocity': mean_vel_field, + 'name': "wall"}, + 'wfb_iii': {'wall_function_model': LogLaw(viscosity=nu), + 'weight_method': WallFunctionBounce.WeightMethod.LATTICE_WEIGHT, + 'mean_velocity': mean_vel_field.center, + 'sampling_shift': 2}, + 'wfb_iv': {'wall_function_model': MoninObukhovSimilarityTheory(z0=1e-2), + 'weight_method': WallFunctionBounce.WeightMethod.LATTICE_WEIGHT, + 'mean_velocity': mean_vel_field, + 'maronga_sampling_shift': 2} + } + + wall = WallFunctionBounce(lb_method=lb_step_wfb.method, normal_direction=normal, + pdfs=lb_step_wfb.data_handling.fields[lb_step_wfb._pdf_arr_name], + **wfb_args[wfb_type]) + + lb_step_wfb.boundary_handling.set_boundary(wall, slice_from_direction('S', dim)) + lb_step_wfb.boundary_handling.set_boundary(wall_north, slice_from_direction('N', dim)) + + # rum cases + + timesteps = 4000 + lb_step_noslip.run(timesteps) + lb_step_freeslip.run(timesteps) + lb_step_wfb.run(timesteps) + + noslip_velocity = lb_step_noslip.velocity[domain_size[0] // 2, :, domain_size[2] // 2, 0] + freeslip_velocity = lb_step_freeslip.velocity[domain_size[0] // 2, :, domain_size[2] // 2, 0] + wfb_velocity = lb_step_wfb.velocity[domain_size[0] // 2, :, domain_size[2] // 2, 0] + + assert wfb_velocity[0] > noslip_velocity[0], f"WFB enforced velocity below no-slip velocity" +> assert wfb_velocity[0] < freeslip_velocity[0], f"WFB enforced velocity above free-slip velocity" +E AssertionError: WFB enforced velocity above free-slip velocity +E assert np.float64(0.19989772250462495) < np.float64(-0.036308528016781284) + +tests/test_wall_function_bounce.py:116: AssertionError</failure></testcase><testcase classname="tests.test_central_moment_transform" name="test_backward_transform[FastCentralMomentTransform-Stencil.D3Q27-monomial]" time="49.758" /><testcase classname="tests.test_wall_function_bounce" name="test_wfb[wfb_ii-Stencil.D3Q27]" time="23.583"><failure message="AssertionError: WFB enforced velocity above free-slip velocity assert np.float64(0.05759374872043252) < np.float64(-0.036308528016781284)">stencil = <lbmpy.stencils.LBStencil object at 0x7f7e720d8c10>, wfb_type = 'wfb_ii' + + @pytest.mark.parametrize('stencil', [Stencil.D3Q19, Stencil.D3Q27]) + @pytest.mark.parametrize('wfb_type', ['wfb_i', 'wfb_ii', 'wfb_iii', 'wfb_iv']) + def test_wfb(stencil, wfb_type): + stencil = LBStencil(stencil) + periodicity = (True, False, True) + domain_size = (30, 20, 15) + dim = len(domain_size) + + omega = 1.1 + nu = lattice_viscosity_from_relaxation_rate(omega) + + # pressure gradient for laminar channel flow with u_max = 0.1 + ext_force_density = 0.1 * 2 * nu / ((domain_size[1] - 2) / 2) ** 2 + + lbm_config = LBMConfig(stencil=stencil, + method=Method.SRT, + force_model=ForceModel.GUO, + force=(ext_force_density, 0, 0), + relaxation_rate=omega, + compressible=True) + + wall_north = NoSlip() + normal = (0, 1, 0) + + # NO-SLIP + + lb_step_noslip = LatticeBoltzmannStep(domain_size=domain_size, periodicity=periodicity, + lbm_config=lbm_config, compute_velocity_in_every_step=True) + + noslip = NoSlip() + + lb_step_noslip.boundary_handling.set_boundary(noslip, slice_from_direction('S', dim)) + lb_step_noslip.boundary_handling.set_boundary(wall_north, slice_from_direction('N', dim)) + + # FREE-SLIP + + lb_step_freeslip = LatticeBoltzmannStep(domain_size=domain_size, periodicity=periodicity, + lbm_config=lbm_config, compute_velocity_in_every_step=True) + + freeslip = FreeSlip(stencil=stencil, normal_direction=normal) + + lb_step_freeslip.boundary_handling.set_boundary(freeslip, slice_from_direction('S', dim)) + lb_step_freeslip.boundary_handling.set_boundary(wall_north, slice_from_direction('N', dim)) + + # WFB + + lb_step_wfb = LatticeBoltzmannStep(domain_size=domain_size, periodicity=periodicity, + lbm_config=lbm_config, compute_velocity_in_every_step=True) + + # pdf initialisation + + init = pdf_initialization_assignments(lb_step_wfb.method, 1.0, (0.025, 0, 0), + lb_step_wfb.data_handling.fields[lb_step_wfb._pdf_arr_name].center_vector) + + config = ps.CreateKernelConfig(target=lb_step_wfb.data_handling.default_target, cpu_openmp=False) + ast_init = ps.create_kernel(init, config=config) + kernel_init = ast_init.compile() + + lb_step_wfb.data_handling.run_kernel(kernel_init) + + # potential mean velocity field + + mean_vel_field = lb_step_wfb.data_handling.fields[lb_step_wfb.velocity_data_name] + # mean_vel_field = lb_step_wfb.data_handling.add_array('mean_velocity_field', values_per_cell=stencil.D) + # lb_step_wfb.data_handling.fill('mean_velocity_field', 0.005, value_idx=0, ghost_layers=True) + lb_step_wfb.data_handling.fill(lb_step_wfb.velocity_data_name, 0.025, value_idx=0, ghost_layers=True) + + # wfb arguments + wfb_args = { + 'wfb_i': {'wall_function_model': SpaldingsLaw(viscosity=nu), + 'weight_method': WallFunctionBounce.WeightMethod.GEOMETRIC_WEIGHT, + 'name': "wall"}, + 'wfb_ii': {'wall_function_model': MuskerLaw(viscosity=nu), + 'weight_method': WallFunctionBounce.WeightMethod.GEOMETRIC_WEIGHT, + 'mean_velocity': mean_vel_field, + 'name': "wall"}, + 'wfb_iii': {'wall_function_model': LogLaw(viscosity=nu), + 'weight_method': WallFunctionBounce.WeightMethod.LATTICE_WEIGHT, + 'mean_velocity': mean_vel_field.center, + 'sampling_shift': 2}, + 'wfb_iv': {'wall_function_model': MoninObukhovSimilarityTheory(z0=1e-2), + 'weight_method': WallFunctionBounce.WeightMethod.LATTICE_WEIGHT, + 'mean_velocity': mean_vel_field, + 'maronga_sampling_shift': 2} + } + + wall = WallFunctionBounce(lb_method=lb_step_wfb.method, normal_direction=normal, + pdfs=lb_step_wfb.data_handling.fields[lb_step_wfb._pdf_arr_name], + **wfb_args[wfb_type]) + + lb_step_wfb.boundary_handling.set_boundary(wall, slice_from_direction('S', dim)) + lb_step_wfb.boundary_handling.set_boundary(wall_north, slice_from_direction('N', dim)) + + # rum cases + + timesteps = 4000 + lb_step_noslip.run(timesteps) + lb_step_freeslip.run(timesteps) + lb_step_wfb.run(timesteps) + + noslip_velocity = lb_step_noslip.velocity[domain_size[0] // 2, :, domain_size[2] // 2, 0] + freeslip_velocity = lb_step_freeslip.velocity[domain_size[0] // 2, :, domain_size[2] // 2, 0] + wfb_velocity = lb_step_wfb.velocity[domain_size[0] // 2, :, domain_size[2] // 2, 0] + + assert wfb_velocity[0] > noslip_velocity[0], f"WFB enforced velocity below no-slip velocity" +> assert wfb_velocity[0] < freeslip_velocity[0], f"WFB enforced velocity above free-slip velocity" +E AssertionError: WFB enforced velocity above free-slip velocity +E assert np.float64(0.05759374872043252) < np.float64(-0.036308528016781284) + +tests/test_wall_function_bounce.py:116: AssertionError</failure></testcase><testcase classname="tests.test_srt_trt_simplifications" name="test_simplifications_trt_d2q9_incompressible" time="3.473" /><testcase classname="doc.notebooks.01_tutorial_predefinedScenarios.ipynb" name="01_tutorial_predefinedScenarios.ipynb" time="0.008"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/tmp/tmpgiiz2a1z:5: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="doc.notebooks.02_tutorial_boundary_setup.ipynb" name="02_tutorial_boundary_setup.ipynb" time="15.401" /><testcase classname="tests.test_force" name="test_modes_central_moment[True-ForceModel.SIMPLE]" time="2.415" /><testcase classname="tests.test_zero_centering" name="test_periodic_shear_layers[False-Method.SRT]" time="0.001"><skipped type="pytest.skip" message="Skipped">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_zero_centering.py:20: Skipped</skipped></testcase><testcase classname="doc.notebooks.04_tutorial_cumulant_LBM.ipynb" name="04_tutorial_cumulant_LBM.ipynb" time="5.704" /><testcase classname="tests.test_moments" name="test_moment_permutation_multiplicity" time="0.001" /><testcase classname="doc.notebooks.06_tutorial_modifying_method_smagorinsky.ipynb" name="06_tutorial_modifying_method_smagorinsky.ipynb" time="8.137" /><testcase classname="tests.test_force" name="test_modes_central_moment[True-ForceModel.LUO]" time="2.833" /><testcase classname="tests.test_weights" name="test_weight_calculation[Stencil.D2Q9-False-False-Method.SRT]" time="0.021" /><testcase classname="doc.notebooks.08_tutorial_shanchen_twophase.ipynb" name="08_tutorial_shanchen_twophase.ipynb" time="3.130" /><testcase classname="tests.test_force" name="test_modes_central_moment[True-ForceModel.GUO]" time="3.032" /><testcase classname="tests.test_wall_function_bounce" name="test_wfb[wfb_iv-Stencil.D3Q19]" time="9.138"><failure message="AssertionError: WFB enforced velocity above free-slip velocity assert np.float64(0.3608409970692294) < np.float64(0.18342327919595147)">stencil = <lbmpy.stencils.LBStencil object at 0x796572502140>, wfb_type = 'wfb_iv' + + @pytest.mark.parametrize('stencil', [Stencil.D3Q19, Stencil.D3Q27]) + @pytest.mark.parametrize('wfb_type', ['wfb_i', 'wfb_ii', 'wfb_iii', 'wfb_iv']) + def test_wfb(stencil, wfb_type): + stencil = LBStencil(stencil) + periodicity = (True, False, True) + domain_size = (30, 20, 15) + dim = len(domain_size) + + omega = 1.1 + nu = lattice_viscosity_from_relaxation_rate(omega) + + # pressure gradient for laminar channel flow with u_max = 0.1 + ext_force_density = 0.1 * 2 * nu / ((domain_size[1] - 2) / 2) ** 2 + + lbm_config = LBMConfig(stencil=stencil, + method=Method.SRT, + force_model=ForceModel.GUO, + force=(ext_force_density, 0, 0), + relaxation_rate=omega, + compressible=True) + + wall_north = NoSlip() + normal = (0, 1, 0) + + # NO-SLIP + + lb_step_noslip = LatticeBoltzmannStep(domain_size=domain_size, periodicity=periodicity, + lbm_config=lbm_config, compute_velocity_in_every_step=True) + + noslip = NoSlip() + + lb_step_noslip.boundary_handling.set_boundary(noslip, slice_from_direction('S', dim)) + lb_step_noslip.boundary_handling.set_boundary(wall_north, slice_from_direction('N', dim)) + + # FREE-SLIP + + lb_step_freeslip = LatticeBoltzmannStep(domain_size=domain_size, periodicity=periodicity, + lbm_config=lbm_config, compute_velocity_in_every_step=True) + + freeslip = FreeSlip(stencil=stencil, normal_direction=normal) + + lb_step_freeslip.boundary_handling.set_boundary(freeslip, slice_from_direction('S', dim)) + lb_step_freeslip.boundary_handling.set_boundary(wall_north, slice_from_direction('N', dim)) + + # WFB + + lb_step_wfb = LatticeBoltzmannStep(domain_size=domain_size, periodicity=periodicity, + lbm_config=lbm_config, compute_velocity_in_every_step=True) + + # pdf initialisation + + init = pdf_initialization_assignments(lb_step_wfb.method, 1.0, (0.025, 0, 0), + lb_step_wfb.data_handling.fields[lb_step_wfb._pdf_arr_name].center_vector) + + config = ps.CreateKernelConfig(target=lb_step_wfb.data_handling.default_target, cpu_openmp=False) + ast_init = ps.create_kernel(init, config=config) + kernel_init = ast_init.compile() + + lb_step_wfb.data_handling.run_kernel(kernel_init) + + # potential mean velocity field + + mean_vel_field = lb_step_wfb.data_handling.fields[lb_step_wfb.velocity_data_name] + # mean_vel_field = lb_step_wfb.data_handling.add_array('mean_velocity_field', values_per_cell=stencil.D) + # lb_step_wfb.data_handling.fill('mean_velocity_field', 0.005, value_idx=0, ghost_layers=True) + lb_step_wfb.data_handling.fill(lb_step_wfb.velocity_data_name, 0.025, value_idx=0, ghost_layers=True) + + # wfb arguments + wfb_args = { + 'wfb_i': {'wall_function_model': SpaldingsLaw(viscosity=nu), + 'weight_method': WallFunctionBounce.WeightMethod.GEOMETRIC_WEIGHT, + 'name': "wall"}, + 'wfb_ii': {'wall_function_model': MuskerLaw(viscosity=nu), + 'weight_method': WallFunctionBounce.WeightMethod.GEOMETRIC_WEIGHT, + 'mean_velocity': mean_vel_field, + 'name': "wall"}, + 'wfb_iii': {'wall_function_model': LogLaw(viscosity=nu), + 'weight_method': WallFunctionBounce.WeightMethod.LATTICE_WEIGHT, + 'mean_velocity': mean_vel_field.center, + 'sampling_shift': 2}, + 'wfb_iv': {'wall_function_model': MoninObukhovSimilarityTheory(z0=1e-2), + 'weight_method': WallFunctionBounce.WeightMethod.LATTICE_WEIGHT, + 'mean_velocity': mean_vel_field, + 'maronga_sampling_shift': 2} + } + + wall = WallFunctionBounce(lb_method=lb_step_wfb.method, normal_direction=normal, + pdfs=lb_step_wfb.data_handling.fields[lb_step_wfb._pdf_arr_name], + **wfb_args[wfb_type]) + + lb_step_wfb.boundary_handling.set_boundary(wall, slice_from_direction('S', dim)) + lb_step_wfb.boundary_handling.set_boundary(wall_north, slice_from_direction('N', dim)) + + # rum cases + + timesteps = 4000 + lb_step_noslip.run(timesteps) + lb_step_freeslip.run(timesteps) + lb_step_wfb.run(timesteps) + + noslip_velocity = lb_step_noslip.velocity[domain_size[0] // 2, :, domain_size[2] // 2, 0] + freeslip_velocity = lb_step_freeslip.velocity[domain_size[0] // 2, :, domain_size[2] // 2, 0] + wfb_velocity = lb_step_wfb.velocity[domain_size[0] // 2, :, domain_size[2] // 2, 0] + + assert wfb_velocity[0] > noslip_velocity[0], f"WFB enforced velocity below no-slip velocity" +> assert wfb_velocity[0] < freeslip_velocity[0], f"WFB enforced velocity above free-slip velocity" +E AssertionError: WFB enforced velocity above free-slip velocity +E assert np.float64(0.3608409970692294) < np.float64(0.18342327919595147) + +tests/test_wall_function_bounce.py:116: AssertionError</failure></testcase><testcase classname="doc.notebooks.09_tutorial_shanchen_twocomponent.ipynb" name="09_tutorial_shanchen_twocomponent.ipynb" time="7.025" /><testcase classname="doc.notebooks.05_tutorial_nondimensionalization_and_scaling.ipynb" name="05_tutorial_nondimensionalization_and_scaling.ipynb" time="0.972" /><testcase classname="doc.notebooks.demo_create_method_from_scratch.ipynb" name="demo_create_method_from_scratch.ipynb" time="0.931" /><testcase classname="tests.test_force" name="test_modes_central_moment[True-ForceModel.BUICK]" time="2.138" /><testcase classname="doc.notebooks.demo_interpolation_boundary_conditions.ipynb" name="demo_interpolation_boundary_conditions.ipynb" time="3.583" /><testcase classname="doc.notebooks.07_tutorial_thermal_lbm.ipynb" name="07_tutorial_thermal_lbm.ipynb" time="2.854" /><testcase classname="doc.notebooks.demo_moments_cumulants_and_maxwellian_equilibrium.ipynb" name="demo_moments_cumulants_and_maxwellian_equilibrium.ipynb" time="9.139" /><testcase classname="tests.test_zero_centering" name="test_periodic_shear_layers[True-Method.CUMULANT]" time="0.001"><skipped type="pytest.skip" message="Skipped">/media/data/fhennig/research-hpc/projects/2024_pystencils_nbackend/lbmpy/tests/test_zero_centering.py:22: Skipped</skipped></testcase><testcase classname="doc.notebooks.demo_theoretical_background_generic_equilibrium_construction.ipynb" name="demo_theoretical_background_generic_equilibrium_construction.ipynb" time="4.518" /><testcase classname="doc.notebooks.demo_shallow_water_lbm.ipynb" name="demo_shallow_water_lbm.ipynb" time="1.694" /><testcase classname="doc.notebooks.demo_stencils.ipynb" name="demo_stencils.ipynb" time="0.196" /><testcase classname="doc.notebooks.demo_automatic_chapman_enskog_analysis.ipynb" name="demo_automatic_chapman_enskog_analysis.ipynb" time="4.546" /><testcase classname="tests.test_split_optimization" name="test_split_number_of_operations[Method.SRT-False-Stencil.D2Q9]" time="0.043"><skipped type="pytest.xfail" message="Loop splitting is not available yet" /></testcase><testcase classname="doc.notebooks.11_tutorial_Non_Newtonian_Flow.ipynb" name="11_tutorial_Non_Newtonian_Flow.ipynb" time="12.952" /><testcase classname="doc.notebooks.03_tutorial_lbm_formulation.ipynb" name="03_tutorial_lbm_formulation.ipynb" time="8.735" /><testcase classname="tests.phasefield.test_n_phase_boyer_noncoupled.ipynb" name="test_n_phase_boyer_noncoupled.ipynb" time="0.005"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/tmp/tmprw2dcg3y:5: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.phasefield.test_n_phase_paper_boyer_lbm.ipynb" name="test_n_phase_paper_boyer_lbm.ipynb" time="11.935" /><testcase classname="doc.notebooks.demo_thermalized_lbm.ipynb" name="demo_thermalized_lbm.ipynb" time="1.216" /><testcase classname="doc.notebooks.demo_streaming_patterns.ipynb" name="demo_streaming_patterns.ipynb" time="5.949" /><testcase classname="doc.notebooks.00_tutorial_lbmpy_walberla_overview.ipynb" name="00_tutorial_lbmpy_walberla_overview.ipynb" time="7.184" /><testcase classname="tests.test_zero_centering" name="test_periodic_shear_layers[True-Method.MRT]" time="18.959" /><testcase classname="tests.test_zero_centering" name="test_periodic_shear_layers[False-Method.CUMULANT]" time="47.988" /><testcase classname="tests.phasefield.test_n_phase_penaltyterm_model.ipynb" name="test_n_phase_penaltyterm_model.ipynb" time="11.703" /><testcase classname="tests.test_zero_centering" name="test_periodic_shear_layers[True-Method.CENTRAL_MOMENT]" time="27.320" /><testcase classname="tests.cumulantmethod.test_equilibrium" name="test_equilibrium_pdfs[PdfsToCentralMomentsByShiftMatrix-Stencil.D2Q9]" time="1.680" /><testcase classname="tests.test_central_moment_transform" name="test_forward_transform[PdfsToCentralMomentsByShiftMatrix-Stencil.D3Q27-polynomial]" time="55.443" /><testcase classname="tests.phasefield.test_nestler_model" name="test_main" time="2.649" /><testcase classname="tests.cumulantmethod.test_equilibrium" name="test_equilibrium_pdfs[PdfsToCentralMomentsByShiftMatrix-Stencil.D3Q19]" time="4.628" /><testcase classname="tests.phasefield.test_numerical_1D_3phase_model.ipynb" name="test_numerical_1D_3phase_model.ipynb" time="22.820" /><testcase classname="tests.cumulantmethod.test_equilibrium" name="test_equilibrium_pdfs[PdfsToCentralMomentsByShiftMatrix-Stencil.D3Q27]" time="26.323" /><testcase classname="tests.test_central_moment_transform" name="test_backward_transform[FastCentralMomentTransform-Stencil.D3Q27-polynomial]" time="49.839" /><testcase classname="tests.phasefield.test_numerical_1D_nphase_model.ipynb" name="test_numerical_1D_nphase_model.ipynb" time="0.002"><skipped type="pytest.skip" message="could not import 'cupy': No module named 'cupy'">/tmp/tmp6_giurqi:5: could not import 'cupy': No module named 'cupy'</skipped></testcase><testcase classname="tests.phasefield.test_phase_field_scenarios" name="test_drops_between_phases" time="6.797" /><testcase classname="tests.cumulantmethod.test_equilibrium" name="test_equilibrium_pdfs[BinomialChimeraTransform-Stencil.D2Q9]" time="0.729" /><testcase classname="tests.test_central_moment_transform" name="test_forward_transform[BinomialChimeraTransform-Stencil.D2Q9-polynomial]" time="1.299" /><testcase classname="tests.phasefield.test_phase_field_scenarios" name="test_falling_drop" time="7.469" /><testcase classname="tests.test_central_moment_transform" name="test_forward_transform[BinomialChimeraTransform-Stencil.D3Q15-monomial]" time="11.232" /><testcase classname="tests.phasefield.test_phase_field_scenarios" name="test_setup" time="5.838" /><testcase classname="tests.test_central_moment_transform" name="test_forward_transform[BinomialChimeraTransform-Stencil.D3Q15-polynomial]" time="14.596" /><testcase classname="tests.phasefield.test_phase_field_scenarios" name="test_fd_cahn_hilliard" time="1.001" /><testcase classname="tests.phasefield.test_phasefield" name="test_analytic_interface_solution" time="0.149" /><testcase classname="tests.phasefield.test_phasefield" name="test_surface_tension_derivation" time="3.427" /><testcase classname="tests.test_central_moment_transform" name="test_backward_transform[BinomialChimeraTransform-Stencil.D2Q9-monomial]" time="1.065" /><testcase classname="tests.test_central_moment_transform" name="test_backward_transform[BinomialChimeraTransform-Stencil.D2Q9-polynomial]" time="1.191" /><testcase classname="tests.test_central_moment_transform" name="test_backward_transform[PdfsToCentralMomentsByShiftMatrix-Stencil.D2Q9-monomial]" time="1.799" /><testcase classname="tests.test_central_moment_transform" name="test_backward_transform[BinomialChimeraTransform-Stencil.D3Q15-monomial]" time="10.118" /><testcase classname="tests.test_central_moment_transform" name="test_backward_transform[PdfsToCentralMomentsByShiftMatrix-Stencil.D2Q9-polynomial]" time="1.814" /><testcase classname="tests.test_central_moment_transform" name="test_forward_transform[BinomialChimeraTransform-Stencil.D3Q19-monomial]" time="3.009" /><testcase classname="tests.test_central_moment_transform" name="test_backward_transform[PdfsToCentralMomentsByShiftMatrix-Stencil.D3Q15-monomial]" time="12.106" /><testcase classname="tests.test_central_moment_transform" name="test_forward_transform[BinomialChimeraTransform-Stencil.D3Q19-polynomial]" time="9.819" /><testcase classname="tests.test_central_moment_transform" name="test_backward_transform[BinomialChimeraTransform-Stencil.D3Q15-polynomial]" time="14.399" /><testcase classname="tests.test_central_moment_transform" name="test_backward_transform[PdfsToCentralMomentsByShiftMatrix-Stencil.D3Q15-polynomial]" time="15.785" /><testcase classname="tests.test_central_moment_transform" name="test_forward_transform[BinomialChimeraTransform-Stencil.D3Q27-monomial]" time="15.954" /><testcase classname="tests.test_central_moment_transform" name="test_backward_transform[BinomialChimeraTransform-Stencil.D3Q19-monomial]" time="2.965" /><testcase classname="tests.test_central_moment_transform" name="test_backward_transform[BinomialChimeraTransform-Stencil.D3Q19-polynomial]" time="9.406" /><testcase classname="tests.test_central_moment_transform" name="test_backward_transform[PdfsToCentralMomentsByShiftMatrix-Stencil.D3Q19-monomial]" time="4.983" /><testcase classname="tests.test_central_moment_transform" name="test_forward_transform[BinomialChimeraTransform-Stencil.D3Q27-polynomial]" time="26.435" /><testcase classname="tests.test_central_moment_transform" name="test_backward_transform[PdfsToCentralMomentsByShiftMatrix-Stencil.D3Q19-polynomial]" time="11.410" /><testcase classname="tests.test_central_moment_transform" name="test_backward_transform[BinomialChimeraTransform-Stencil.D3Q27-monomial]" time="16.064" /><testcase classname="tests.test_central_moment_transform" name="test_backward_transform[PdfsToCentralMomentsByShiftMatrix-Stencil.D3Q27-monomial]" time="27.415" /><testcase classname="tests.test_central_moment_transform" name="test_backward_transform[BinomialChimeraTransform-Stencil.D3Q27-polynomial]" time="26.367" /><testcase classname="tests.test_central_moment_transform" name="test_forward_transform[FastCentralMomentTransform-Stencil.D2Q9-monomial]" time="1.623" /><testcase classname="tests.test_central_moment_transform" name="test_forward_transform[FastCentralMomentTransform-Stencil.D2Q9-polynomial]" time="1.678" /><testcase classname="tests.test_central_moment_transform" name="test_forward_transform[FastCentralMomentTransform-Stencil.D3Q15-monomial]" time="11.808" /><testcase classname="tests.test_central_moment_transform" name="test_forward_transform[FastCentralMomentTransform-Stencil.D3Q15-polynomial]" time="15.492" /><testcase classname="tests.test_central_moment_transform" name="test_backward_transform[PdfsToCentralMomentsByShiftMatrix-Stencil.D3Q27-polynomial]" time="40.192" /><testcase classname="tests.test_central_moment_transform" name="test_backward_transform[FastCentralMomentTransform-Stencil.D2Q9-monomial]" time="2.117" /><testcase classname="tests.test_central_moment_transform" name="test_forward_transform[FastCentralMomentTransform-Stencil.D3Q19-monomial]" time="5.053" /><testcase classname="tests.test_central_moment_transform" name="test_forward_transform[FastCentralMomentTransform-Stencil.D3Q19-polynomial]" time="12.102" /><testcase classname="tests.test_central_moment_transform" name="test_forward_transform[FastCentralMomentTransform-Stencil.D3Q27-monomial]" time="25.844" /><testcase classname="tests.test_chapman_enskog" name="test_srt[Stencil.D2Q9-False]" time="0.977" /><testcase classname="tests.test_central_moment_transform" name="test_forward_transform[FastCentralMomentTransform-Stencil.D3Q27-polynomial]" time="38.760" /><testcase classname="tests.test_central_moment_transform" name="test_forward_transform[PdfsToCentralMomentsByShiftMatrix-Stencil.D2Q9-monomial]" time="1.717" /></testsuite></testsuites> \ No newline at end of file diff --git a/src/lbmpy/boundaries/boundaryhandling.py b/src/lbmpy/boundaries/boundaryhandling.py index 7367b4a2..d7d7c933 100644 --- a/src/lbmpy/boundaries/boundaryhandling.py +++ b/src/lbmpy/boundaries/boundaryhandling.py @@ -4,7 +4,6 @@ import numpy as np from pystencils import Assignment, CreateKernelConfig, create_kernel, Field, Target, FieldType from pystencils.boundaries import BoundaryHandling from pystencils.boundaries.createindexlist import numpy_data_type_for_boundary_object -from pystencils.field import FieldType from pystencils.simp import add_subexpressions_for_field_reads from pystencils.stencil import inverse_direction -- GitLab