Skip to content
This repository was archived by the owner on Sep 25, 2026. It is now read-only.
Merged
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Changed

- Added the **Aerodynamics 3D** Advanced Problem: a lightweight incompressible periodic
Cartesian structured-grid solver with 3D Fourier projection, immersed/penalized sphere,
ellipsoid, box, and finite-span NACA 0012 wing obstacles, cached visual result views,
Cd/Cl/Cs histories, and shared volumetric-history performance guardrails.
- Corrected 3D Brinkman penalization, rejected obstacles crossing the periodic box, normalized
streamline integration, and upgraded 3D flow, streamline, and slice result views to cached,
stable-scale animations with continuous analytical obstacle surfaces.
- Reordered Advanced Results tabs and display defaults so the most representative visual views appear first, while diagnostics and conservation views remain secondary.
- Polished tooltip input-modality handling, clarified optional ODE event detection, improved narrow-window text wrapping, and refined Standard Results sizing and responsive control layout.
- Modernized Advanced result view controls with responsive grouped layouts, accessible multi-item selectors, immediate readonly-selector updates, and explicit updates for editable FPUT inputs.
Expand Down
9 changes: 8 additions & 1 deletion docs/complex-problems.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Advanced Problems Guide

`Advanced Problems` is a nine-plugin subsystem where each problem contributes a
`Advanced Problems` is a ten-plugin subsystem where each problem contributes a
specialized UI, solver, and result dialog.

## Gravitational N-Body Dynamics
Expand Down Expand Up @@ -68,6 +68,13 @@ Plugins are registered lazily in `src/complex_problems/problem_registry.py`.
| `schrodinger_td` | Schrodinger TD (1D/2D) | Split-operator spectral time-dependent Schrodinger solver with configurable potentials and packet states | density/phase animation, momentum spectrum, expectations, invariant curves |
| `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 |

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 |
Expand Down
1 change: 1 addition & 0 deletions src/complex_problems/aerodynamics_3d/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""Three-dimensional incompressible aerodynamics Advanced Problem."""
Loading
Loading