From fc0c17d990a0dd14ffe3a2cfe45ef4796cdcab50 Mon Sep 17 00:00:00 2001 From: Felix Kimmerle Date: Sat, 17 Jan 2026 12:50:08 +0100 Subject: [PATCH 1/4] intermediate sync to continue working on my desktop --- .gitignore | 5 +++++ diffusion2d.py | 13 +++++++++++-- requirements.txt | 3 +++ shell.nix | 12 ++++++++++++ tests/unit/test_diffusion2d_functions.py | 21 +++++++++++++++++++++ tox.toml | 7 +++++++ 6 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 .gitignore create mode 100644 requirements.txt create mode 100644 shell.nix create mode 100644 tox.toml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5631645 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +__pycache__ +.pytest__cache +/htmlcov/ +.coverage +.tox/ \ No newline at end of file diff --git a/diffusion2d.py b/diffusion2d.py index 51a07f2..3dd21d5 100644 --- a/diffusion2d.py +++ b/diffusion2d.py @@ -38,6 +38,11 @@ def __init__(self): self.dt = None def initialize_domain(self, w=10., h=10., dx=0.1, dy=0.1): + assert isinstance(w, float), "w must be float" + assert isinstance(h, float), "h must be float" + assert isinstance(dx, float), "dx must be float" + assert isinstance(dy, float), "dy must be float" + self.w = w self.h = h self.dx = dx @@ -45,7 +50,11 @@ def initialize_domain(self, w=10., h=10., dx=0.1, dy=0.1): self.nx = int(w / dx) self.ny = int(h / dy) - def initialize_physical_parameters(self, d=4., T_cold=300, T_hot=700): + def initialize_physical_parameters(self, d=4., T_cold=300., T_hot=700.): + assert isinstance(d, float) , "d must be float" + assert isinstance(T_cold, float), "T_cold must be float" + assert isinstance(T_hot, float), "T_hot must be float" + self.D = d self.T_cold = T_cold self.T_hot = T_hot @@ -53,7 +62,7 @@ def initialize_physical_parameters(self, d=4., T_cold=300, T_hot=700): # Computing a stable time step dx2, dy2 = self.dx * self.dx, self.dy * self.dy self.dt = dx2 * dy2 / (2 * self.D * (dx2 + dy2)) - + print("dt = {}".format(self.dt)) def set_initial_condition(self): diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..6cdf7cd --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +numpy +matplotlib +pytest \ No newline at end of file diff --git a/shell.nix b/shell.nix new file mode 100644 index 0000000..70bdbdf --- /dev/null +++ b/shell.nix @@ -0,0 +1,12 @@ +{ pkgs ? import {} }: +pkgs.mkShell { + packages = with pkgs; [ + python313 + python313Packages.tox + stdenv.cc.cc.lib # provides libstdc++.so.6 + ]; + + shellHook = '' + export LD_LIBRARY_PATH=${pkgs.stdenv.cc.cc.lib}/lib:$LD_LIBRARY_PATH + ''; +} \ No newline at end of file diff --git a/tests/unit/test_diffusion2d_functions.py b/tests/unit/test_diffusion2d_functions.py index c4277ff..03af5aa 100644 --- a/tests/unit/test_diffusion2d_functions.py +++ b/tests/unit/test_diffusion2d_functions.py @@ -2,6 +2,7 @@ Tests for functions in class SolveDiffusion2D """ +import pytest from diffusion2d import SolveDiffusion2D @@ -9,7 +10,17 @@ def test_initialize_domain(): """ Check function SolveDiffusion2D.initialize_domain """ + w = 20. + h = 15. + dx = 0.2 + dy = 0.3 + expected_nx = 100 + expected_ny = 50 solver = SolveDiffusion2D() + solver.initialize_domain(w,h,dx,dy) + assert solver.nx == pytest.approx(expected_nx), "nx should be 100" + assert solver.ny == pytest.approx(expected_ny), "ny should be 50" + def test_initialize_physical_parameters(): @@ -17,7 +28,17 @@ def test_initialize_physical_parameters(): Checks function SolveDiffusion2D.initialize_domain """ solver = SolveDiffusion2D() + solver.dx = 0.2 + solver.dy = 0.3 + d = 5. + T_cold = 200. + T_hot = 500. + expected_dt = 0.00276923076923077 + solver.initialize_physical_parameters(d, T_cold, T_hot) + assert solver.dt == pytest.approx(expected_dt), "dt should be approximately {expected_dt}" + assert solver.T_cold == pytest.approx(T_cold), "T_cold should be 200" + assert solver.T_hot == pytest.approx(T_hot), "T_hot should be 500" def test_set_initial_condition(): """ diff --git a/tox.toml b/tox.toml new file mode 100644 index 0000000..fa3bd1b --- /dev/null +++ b/tox.toml @@ -0,0 +1,7 @@ +# tox.toml +requires = ["tox>=4.0"] +env_list = ["py313-pytest"] + +[env.py313-pytest] +deps = ["-rrequirements.txt"] +commands = [["python", "-m", "pytest", "-q"]] \ No newline at end of file From 239175b6500b2ff001bff8b28e8f1077f7b78c1a Mon Sep 17 00:00:00 2001 From: Felix Kimmerle Date: Sat, 17 Jan 2026 13:14:30 +0100 Subject: [PATCH 2/4] removed -q from the pytest call in tox.toml so we can see the tests running (-q = quiet) --- tox.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.toml b/tox.toml index fa3bd1b..ec28cc2 100644 --- a/tox.toml +++ b/tox.toml @@ -4,4 +4,4 @@ env_list = ["py313-pytest"] [env.py313-pytest] deps = ["-rrequirements.txt"] -commands = [["python", "-m", "pytest", "-q"]] \ No newline at end of file +commands = [["python", "-m", "pytest"]] \ No newline at end of file From b0894d406d34347d446e9cb6d7698c356fb0bfe2 Mon Sep 17 00:00:00 2001 From: Felix Kimmerle Date: Sat, 17 Jan 2026 14:09:31 +0100 Subject: [PATCH 3/4] finished integration tests --- tests/integration/test_diffusion2d.py | 50 ++++++++++++++++++++++-- tests/unit/test_diffusion2d_functions.py | 22 +++++++++++ tox.toml | 4 +- 3 files changed, 70 insertions(+), 6 deletions(-) diff --git a/tests/integration/test_diffusion2d.py b/tests/integration/test_diffusion2d.py index fd026b4..164100d 100644 --- a/tests/integration/test_diffusion2d.py +++ b/tests/integration/test_diffusion2d.py @@ -2,18 +2,60 @@ Tests for functionality checks in class SolveDiffusion2D """ +import pytest +import numpy as np from diffusion2d import SolveDiffusion2D +@pytest.fixture +def solver(): + solver = SolveDiffusion2D() + return solver -def test_initialize_physical_parameters(): +def test_initialize_physical_parameters(solver): """ Checks function SolveDiffusion2D.initialize_domain """ - solver = SolveDiffusion2D() + w = 20. + h = 15. + dx = 0.2 + dy = 0.3 + d = 5. + T_cold = 200. + T_hot = 500. + + solver.initialize_domain(w,h,dx,dy) + solver.initialize_physical_parameters(d,T_cold,T_hot) + expected_dt = 0.00276923076923077 -def test_set_initial_condition(): + assert solver.dt == pytest.approx(expected_dt), "dt should be approximately {expected_dt}" + + +def test_set_initial_condition(solver): """ Checks function SolveDiffusion2D.get_initial_function """ - solver = SolveDiffusion2D() + w = 20. + h = 15. + dx = 0.2 + dy = 0.3 + d = 5. + T_cold = 200. + T_hot = 500. + + solver.initialize_domain(w,h,dx,dy) + solver.initialize_physical_parameters(d,T_cold,T_hot) + computed_u = solver.set_initial_condition() + + expected_u = solver.T_cold * np.ones((solver.nx, solver.ny)) + + r, cx, cy = 2, 5, 5 + r2 = r ** 2 + for i in range(solver.nx): + for j in range(solver.ny): + p2 = (i * solver.dx - cx) ** 2 + (j * solver.dy - cy) ** 2 + if p2 < r2: + expected_u[i, j] = solver.T_hot + + assert np.array_equal(expected_u, computed_u), "Initial condition array is not equal to the expected" + diff --git a/tests/unit/test_diffusion2d_functions.py b/tests/unit/test_diffusion2d_functions.py index 03af5aa..e0ebdab 100644 --- a/tests/unit/test_diffusion2d_functions.py +++ b/tests/unit/test_diffusion2d_functions.py @@ -2,6 +2,7 @@ Tests for functions in class SolveDiffusion2D """ +import numpy as np import pytest from diffusion2d import SolveDiffusion2D @@ -45,3 +46,24 @@ def test_set_initial_condition(): Checks function SolveDiffusion2D.get_initial_function """ solver = SolveDiffusion2D() + solver.dx = 0.2 + solver.dy = 0.3 + solver.nx = 100 + solver.ny = 50 + solver.T_cold = 200. + solver.T_hot = 500. + solver.dt = 0.00276923076923077 + solver.D = 5. + + expected_u = solver.T_cold * np.ones((solver.nx, solver.ny)) + + r, cx, cy = 2, 5, 5 + r2 = r ** 2 + for i in range(solver.nx): + for j in range(solver.ny): + p2 = (i * solver.dx - cx) ** 2 + (j * solver.dy - cy) ** 2 + if p2 < r2: + expected_u[i, j] = solver.T_hot + + computed_u = solver.set_initial_condition() + assert np.array_equal(expected_u, computed_u), "Initial condition array is not equal to the expected" diff --git a/tox.toml b/tox.toml index ec28cc2..8c95dcc 100644 --- a/tox.toml +++ b/tox.toml @@ -1,7 +1,7 @@ # tox.toml requires = ["tox>=4.0"] -env_list = ["py313-pytest"] +env_list = ["testing"] -[env.py313-pytest] +[env.testing] deps = ["-rrequirements.txt"] commands = [["python", "-m", "pytest"]] \ No newline at end of file From 9e7ee09638f2ae8a75a738068e451e7ffe84d873 Mon Sep 17 00:00:00 2001 From: Felix Kimmerle Date: Sat, 17 Jan 2026 14:18:33 +0100 Subject: [PATCH 4/4] added coverage report pdf (functions tab) --- coverage-report.pdf | Bin 0 -> 142442 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 coverage-report.pdf diff --git a/coverage-report.pdf b/coverage-report.pdf new file mode 100644 index 0000000000000000000000000000000000000000..570abfe328aa145822445f37e30db2411a18db16 GIT binary patch literal 142442 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