Complex Problems Guide
Complex Problems is a plugin subsystem where each problem contributes:
problem.pydescriptor and dialog entry pointui.pyconfiguration dialogsolver.pyspecialized numerical modelresult_dialog.pycustom visualization tabsoptional
model.pyhelpers
Available modules
ID |
Name |
Core model |
Typical outputs |
|---|---|---|---|
|
Coupled Harmonic Oscillators |
1D oscillator chain with linear/nonlinear couplings |
mode energies, phase-space, recurrence behavior |
|
2D Nonlinear Membrane |
discrete 2D lattice membrane |
displacement animation, energy drift, 2D FFT |
|
Nonlinear Waves (NLSE + KdV) |
split-step / pseudo-spectral propagation |
space-time map, phase/spectrum, invariants |
|
Schrodinger TD (1D/2D) |
split-operator spectral TDSE |
density/phase evolution, expectation values |
|
Antenna Radiation |
far-field analytical radiation patterns |
gain/directivity maps, polar cuts, E/H fields |
|
Aerodynamics 2D |
incompressible flow with projection + obstacle penalization |
speed/vorticity maps, Cd/Cl curves |
|
Pipe Flow |
steady Darcy-Weisbach and transient 1D pressure-wave model |
pressure/velocity profiles, Reynolds/friction metrics |
General usage pattern
Open
Complex Problemsfrom main menu.Pick a module from the left list.
Review the right-side details panel (type, description, configurable options, outputs).
Open the selected module.
Expand
How to configure(collapsed by default) if needed.Configure model-specific parameters.
Run solve (background execution + loading dialog).
Explore module-specific tabs and diagnostics.
UI notation and text behavior
Mathematical labels use Unicode notation when possible (
xₘᵢₙ,tₘₐₓ,Nₓ, …).If a true Unicode subscript is not available, use
base_subscriptwith Unicode symbol, e.g.N_θ,N_φ.Static explanatory text is shown as non-editable labels (not copy-oriented text boxes).
Intentional copy-friendly Unicode helper blocks remain in custom-equation / transform workflows.
Numerical quality checks
Most modules expose magnitude checks in results:
conservation drift (
energy_drift_rel,norm_drift_rel, etc.)stability indicators (CFL-like constraints, divergence, max amplitude)
physical metrics (gain/directivity peaks, drag/lift summaries)
Use these before trusting conclusions from very aggressive settings.
Performance guidelines
Increase grid resolution only after validating lower-cost runs.
Keep
dtconservative for nonlinear or wave-dominated models.Prefer default integrators first; compare alternatives after baseline validation.
For 2D models, tune both spatial resolution and output sampling cadence.
Extending with new plugins
Follow the package pattern:
src/complex_problems/<plugin_name>/
__init__.py
problem.py
ui.py
solver.py
result_dialog.py
model.py (optional)
Then register the plugin in src/complex_problems/problem_registry.py.
Detailed implementation guidance is in Developer Guide.