From f87a7973bb55e2177d30c2e21ebcf4c39a880f26 Mon Sep 17 00:00:00 2001 From: DOKOS-TAYOS Date: Tue, 22 Sep 2026 19:31:49 +0200 Subject: [PATCH 1/2] Prepare DifferentialLab 1.0.0 release --- CHANGELOG.md | 2 ++ CITATION.cff | 4 ++-- README.md | 7 ++++--- docs/api/complex_problems.rst | 20 ++++++++++++++++++++ docs/architecture.md | 3 +++ docs/complex-problems.md | 6 +++--- pyproject.toml | 4 ++-- 7 files changed, 36 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 53ece98..ff29353 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [1.0.0] - 2026-09-22 + ### Changed - Added the **Aerodynamics 3D** Advanced Problem: a lightweight incompressible periodic diff --git a/CITATION.cff b/CITATION.cff index 31f296d..3e84344 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -7,8 +7,8 @@ authors: given-names: Alejandro email: alejandro.mata.ali@gmail.com license: MIT -version: 0.7.0 -date-released: "2026-09-19" +version: 1.0.0 +date-released: "2026-09-22" repository-code: https://github.com/DOKOS-TAYOS/DifferentialLab url: https://differentiallab.readthedocs.io/en/latest/ abstract: >- diff --git a/README.md b/README.md index 122100b..fe6e58f 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ vector 2D PDEs, function transforms, and specialized scientific simulation workf [![Python](https://img.shields.io/badge/Python-3.12+-3776AB?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/) [![License](https://img.shields.io/badge/License-MIT-green.svg?style=for-the-badge)](license.md) -[![Status](https://img.shields.io/badge/status-Beta-orange.svg?style=for-the-badge)](https://github.com/DOKOS-TAYOS/DifferentialLab) +[![Status](https://img.shields.io/badge/status-Production%2FStable-brightgreen.svg?style=for-the-badge)](https://github.com/DOKOS-TAYOS/DifferentialLab) [![CI](https://github.com/DOKOS-TAYOS/DifferentialLab/actions/workflows/python-app.yml/badge.svg)](https://github.com/DOKOS-TAYOS/DifferentialLab/actions/workflows/python-app.yml) [Documentation](docs/index.md) | @@ -30,7 +30,7 @@ vector 2D PDEs, function transforms, and specialized scientific simulation workf - 12 2D PDE examples - 4 scalar 3D PDE examples - 1 coupled Vector PDE example -- Advanced Problems: 9 registered, lazily loaded plugins +- Advanced Problems: 10 registered, lazily loaded plugins - Quality tooling: `pytest`, `ruff`, and a repo-local `pyright` configuration - Documentation: Sphinx + MyST under `docs/` @@ -76,7 +76,7 @@ vector 2D PDEs, function transforms, and specialized scientific simulation workf ## Advanced Problems -`Advanced Problems` is a nine-plugin subsystem. Internally, its Python package +`Advanced Problems` is a ten-plugin subsystem. Internally, its Python package is named `complex_problems`; each plugin provides its own configuration dialog, solver, structured result, and result dialog. @@ -99,6 +99,7 @@ Current modules: - `schrodinger_td`: 1D/2D time-dependent Schrodinger solver - `antenna_radiation`: far-field patterns and antenna metrics - `aerodynamics_2d`: 2D incompressible obstacle-flow approximations +- `aerodynamics_3d`: incompressible 3D structured-grid flow in a periodic Cartesian domain with immersed/penalized obstacles and 3D vector, streamline, and slice visualization - `pipe_flow`: steady and transient 1D pipe-flow models - `gravitational_n_body`: softened Newtonian N-body dynamics and orbit diagnostics - `fput_experiment`: dedicated Fermi-Pasta-Ulam-Tsingou recurrence and strain studies diff --git a/docs/api/complex_problems.rst b/docs/api/complex_problems.rst index 6abb88b..a349950 100644 --- a/docs/api/complex_problems.rst +++ b/docs/api/complex_problems.rst @@ -168,6 +168,26 @@ aerodynamics_2d .. automodule:: complex_problems.aerodynamics_2d.result_dialog :members: +aerodynamics_3d +--------------- + +.. automodule:: complex_problems.aerodynamics_3d + +.. automodule:: complex_problems.aerodynamics_3d.problem + :members: + +.. automodule:: complex_problems.aerodynamics_3d.model + :members: + +.. automodule:: complex_problems.aerodynamics_3d.solver + :members: + +.. automodule:: complex_problems.aerodynamics_3d.ui + :members: + +.. automodule:: complex_problems.aerodynamics_3d.result_dialog + :members: + pipe_flow --------- diff --git a/docs/architecture.md b/docs/architecture.md index 70b5c07..761a725 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -157,7 +157,10 @@ Registered plugins: - `schrodinger_td` - `antenna_radiation` - `aerodynamics_2d` +- `aerodynamics_3d` - `pipe_flow` +- `gravitational_n_body` +- `fput_experiment` ## Configuration Lifecycle diff --git a/docs/complex-problems.md b/docs/complex-problems.md index 4e3a289..8855e17 100644 --- a/docs/complex-problems.md +++ b/docs/complex-problems.md @@ -69,15 +69,15 @@ Plugins are registered lazily in `src/complex_problems/problem_registry.py`. | `antenna_radiation` | Antenna Radiation | Far-field patterns for dipole, loop, patch-like aperture, and uniform linear array models | gain/directivity maps, polar cuts, 3D pattern, field metrics | | `aerodynamics_2d` | Aerodynamics 2D | 2D incompressible flow around obstacles using projection/Stokes-style approximations | speed/vorticity/pressure views, drag/lift curves, streamlines | | `aerodynamics_3d` | Aerodynamics 3D | Incompressible 3D structured-grid flow in a periodic Cartesian domain with immersed/penalized obstacles; lightweight educational/scientific scope, not industrial CFD | velocity-perturbation/velocity/vorticity vector animation, opt-in cached 3D streamline animation, animated XY/XZ/YZ slices, Cd/Cl/Cs and diagnostics | +| `pipe_flow` | Pipe Flow | Steady Darcy-Weisbach and transient 1D pressure-wave pipe-flow models | pressure/velocity profiles, geometry plots, Reynolds/friction metrics, transient maps | +| `gravitational_n_body` | Gravitational N-Body Dynamics | Softened Newtonian multi-body systems and curated orbit studies | orbit animation, COM diagnostics, energy and angular-momentum drift | +| `fput_experiment` | Fermi-Pasta-Ulam-Tsingou Experiment | Fixed-end alpha/beta FPUT chains | recurrence, modal energy, strain, Hamiltonian drift, scaling fits | The Aerodynamics 3D v1 configuration requires the complete obstacle to remain inside the Cartesian periodic box; configurations whose geometry crosses an x, y, or z boundary are rejected. Results retain only `u`, `v`, `w`, and pressure volumetric histories. Derived slice histories and streamline polylines are prepared lazily in the Results window and are not added to the solver result object. -| `pipe_flow` | Pipe Flow | Steady Darcy-Weisbach and transient 1D pressure-wave pipe-flow models | pressure/velocity profiles, geometry plots, Reynolds/friction metrics, transient maps | -| `gravitational_n_body` | Gravitational N-Body Dynamics | Softened Newtonian multi-body systems and curated orbit studies | orbit animation, COM diagnostics, energy and angular-momentum drift | -| `fput_experiment` | Fermi-Pasta-Ulam-Tsingou Experiment | Fixed-end alpha/beta FPUT chains | recurrence, modal energy, strain, Hamiltonian drift, scaling fits | ## General Usage Pattern diff --git a/pyproject.toml b/pyproject.toml index 4930442..75350e5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "differential-lab" -version = "0.7.0" +version = "1.0.0" description = "Scientific numerical workflows for ODEs, boundary-value problems, difference equations, and scalar/vector PDEs, with a GUI." readme = "README.md" requires-python = ">=3.12" @@ -14,7 +14,7 @@ authors = [ ] keywords = ["ode", "bvp", "pde", "difference-equations", "scientific-computing", "numerical-methods", "gui"] classifiers = [ - "Development Status :: 4 - Beta", + "Development Status :: 5 - Production/Stable", "Intended Audience :: Science/Research", "Topic :: Scientific/Engineering :: Mathematics", "Topic :: Scientific/Engineering :: Physics", From 63093eedce782e25d4c4c16e1e0eb41299787ef8 Mon Sep 17 00:00:00 2001 From: Alejandro Mata Ali <78550667+DOKOS-TAYOS@users.noreply.github.com> Date: Tue, 22 Sep 2026 19:36:12 +0200 Subject: [PATCH 2/2] Trigger release PR CI