Missing Mathematical Examples Documentation
- Dominant language
- MATLAB
- Stars
- 41
- Forks
- 85
- Avg merge
- 2d 31m
- Merged PRs (30d)
- 7
Description
This issue tracks MATLAB/Octave examples that lack corresponding mathematical documentation. The MOLE library has extensive MATLAB/Octave implementations, but many are missing proper mathematical documentation for users.
## Current Status
- **Total MATLAB Examples:** 65 files
- **Currently Documented:** ~25~ 35 examples
- **Missing Documentation:** ~48~ 38 examples
## Missing Examples by Category
### Elliptic PDEs (~21~ 11 examples)
#### ~1D Boundary Condition Variations~
- [x] `elliptic1DHomogeneousDirichlet.m` - Homogeneous Dirichlet BC
- [x] `elliptic1DNonHomogeneousDirichlet.m` - Non-homogeneous Dirichlet BC
- [x] `elliptic1DLeftDirichletRightNeumann.m` - Mixed Dirichlet-Neumann BC
- [x] `elliptic1DLeftDirichletRightRobin.m` - Mixed Dirichlet-Robin BC
- [x] `elliptic1DLeftNeumannRightNeumann.m` - Pure Neumann BC
- [x] `elliptic1DLeftNeumannRightRobin.m` - Mixed Neumann-Robin BC
- [x] `elliptic1DLeftRobinRightRobin.m` - Pure Robin BC
- [x] `elliptic1DNonPeriodicBC.m` - Non-periodic BC example
- [x] `elliptic1DPeriodicBC.m` - Periodic BC example
- [x] `elliptic1DaddScalarBC.m` - Advanced BC handling
#### 2D Boundary Combinations
- [ ] `elliptic2DXDirichletYDirichlet.m` - Dirichlet in both directions
- [ ] `elliptic2DXPeriodicYPeriodic.m` - Periodic in both directions
- [ ] `elliptic2DXPerYDirichlet.m` - Periodic X, Dirichlet Y
- [ ] `elliptic2DPeriodic.m` - General periodic example
#### 3D Advanced Examples
- [ ] `elliptic3DaddScalarBC3D.m` - Advanced 3D BC handling
- [ ] `elliptic3DXDirichletYDirichletZDirichlet.m` - Dirichlet in all directions
- [ ] `elliptic3DXDirichletYPeriodicZPeriodic.m` - Mixed BC (1 Dirichlet, 2 Periodic)
- [ ] `elliptic3DXDirichletYPerZNeumann.m` - Mixed BC (Dirichlet-Periodic-Neumann)
- [ ] `elliptic3DXDirichletYPerZPer.m` - Alternative mixed BC
- [ ] `elliptic3DXNeumannYPeriodicZPeriodic.m` - Mixed BC (1 Neumann, 2 Periodic)
#### Special Applications
- [ ] `helmholtz2D_wifi.m` - Helmholtz equation for WiFi modeling
### Other Fundamental PDEs (~8~ 9 examples)
#### Parabolic PDEs
- [ ] `examples/matlab/terzaghi1D.m` - 1D Terzaghi equation - cc: @cpaolini
- [ ] `parabolic2D.m` - 2D parabolic equation with diffusion
- [ ] `backward_euler.m` - Backward Euler time integration
- [ ] `richards.m` - Richards equation for subsurface flow
#### Sturm-Liouville Problems
- [ ] `sturmLiouvilleChebyshev.m` - Chebyshev differential equation
- [ ] `sturmLiouvilleHermite.m` - Hermite polynomials
- [ ] `sturmLiouvilleLaguerre.m` - Laguerre polynomials
- [ ] `sturmLiouvilleLegendre.m` - Legendre polynomials
- [ ] `sturmLiouvilleBessel.m` - Bessel functions
#### Schrödinger Equations
- [ ] `schrodinger2D.m` - 2D Schrödinger equation
### Advanced Applications (8 examples)
#### Hyperbolic PDEs
- [ ] `wave1DTimeVaryingBC.m` - Wave equation with time-varying BC
#### Sturm-Liouville Helmholtz
- [ ] `sturmLiouvilleHelmholtzDirichletDirichlet.m` - Helmholtz with Dirichlet BC
- [ ] `sturmLiouvilleHelmholtzDirichletRobin.m` - Helmholtz with mixed BC
#### Mixed/Coupled Systems
- [ ] `convection_diffusion3D.m` - Detailed 3D convection-diffusion implementation
- [ ] `KG_product.m` - Klein-Gordon product operations
- [ ] `lock_exchange.m` - MATLAB implementation of lock exchange
#### Time Integrators
- [ ] `van_der_pol.m` - Van der Pol oscillator
#### Grid Generation
- [ ] `genCurvGrid.m` - Curved grid generation
### Test Cases & Utilities (10 examples)
#### Curved Grid Operations
- [ ] `test_grad2DCurv.m` - 2D curved gradient tests
- [ ] `test_grad3DCurv.m` - 3D curved gradient tests
- [ ] `test_div2DCurv.m` - 2D curved divergence tests
- [ ] `test_div3DCurv.m` - 3D curved divergence tests
- [ ] `test_lap3DCurv.m` - 3D curved Laplacian tests
- [ ] `test_lap3DCurv_case2.m` - Alternative 3D curved Laplacian
- [ ] `test_nodal2DCurv.m` - 2D curved nodal tests
#### Vector Operations & Utilities
- [ ] `test_curl.m` - Curl operator tests
- [ ] `compact.m` - Compact finite difference operators
## Documentation Template
Each mathematical example should include:
```markdown
# [Example Title]
## Mathematical Problem
- Governing equations with proper LaTeX formatting
- Domain specification and coordinate system
- Physical interpretation (if applicable)
## Boundary Conditions
- Detailed specification of all boundary conditions
- Classification (Dirichlet/Neumann/Robin/Periodic)
## Exact Solution
- Analytical solution (when available)
- Solution properties and behavior
## MOLE Implementation
- Key discretization details
- Boundary condition treatment in MOLE
- Reference to MATLAB file: `examples/matlab/[filename].m`
## Results
- Convergence behavior
- Error analysis
- Example plots
```
## How to Contribute
1. **Choose the example(s)** from the categories
2. **Announce** the selected example(s) here in the thread.
3. **Study the MATLAB code** in `examples/matlab/[filename].m`
4. **Create documentation** following the template above
5. **Place the file** in the appropriate `doc/sphinx/source/examples/[category]/` directory
6. **Update index files** to include your new example 📌📌
7. **Test the documentation** builds correctly
---
**Total Progress:** ⬜ 10/47 examples documented
**Current Focus:** High Priority Elliptic PDEs (21 examples)
Contributor guide
Assessment
This issue has not been assessed yet.