Skip to content
This repository was archived by the owner on Sep 25, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -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: >-
Expand Down
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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) |
Expand All @@ -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/`

Expand Down Expand Up @@ -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.

Expand All @@ -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
Expand Down
20 changes: 20 additions & 0 deletions docs/api/complex_problems.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
---------

Expand Down
3 changes: 3 additions & 0 deletions docs/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,10 @@ Registered plugins:
- `schrodinger_td`
- `antenna_radiation`
- `aerodynamics_2d`
- `aerodynamics_3d`
- `pipe_flow`
- `gravitational_n_body`
- `fput_experiment`

## Configuration Lifecycle

Expand Down
6 changes: 3 additions & 3 deletions docs/complex-problems.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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",
Expand Down
Loading