> For the complete documentation index, see [llms.txt](https://anufrievroman.gitbook.io/solidocean/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://anufrievroman.gitbook.io/solidocean/validation.md).

# Validation

Comparisons of SolidOcean with exact and reference solutions.

Every case below is a SolidOcean model compared with an exact or published solution, including mesh and time-step convergence. Errors are relative unless a unit is given.

| Physics         | Case                                           | Reference                                                               | Result                                                                                         |
| --------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| Solid mechanics | Lamb waves in a free plate                     | exact Rayleigh–Lamb and SH branches                                     | frequency error ≤ 2.7e-4 at h = t/16; convergence order 4.35 (P2), 2.04 (P1)                   |
| Solid mechanics | Free vibrations of an elastic sphere           | Lamb's exact spectrum, multiplicities included                          | error ≤ 5.3e-5 at h = a/10; order 4.10                                                         |
| Solid mechanics | Driven bar with losses                         | the exact harmonic response, Q = 1/η                                    | ≤ 5e-6 of the peak amplitude across three resonances                                           |
| Solid mechanics | Thick-walled cylinder under pressure           | Lamé's solution                                                         | L² convergence orders: displacement 2.92, stress 1.85 (P2)                                     |
| Heat transfer   | Semi-infinite solid under a surface flux       | Carslaw & Jaeger's erfc solution                                        | profile error 5.1e-6; backward Euler order 1.00, Crank–Nicolson 4.6e-6 at 320 steps            |
| Heat transfer   | Disk heater on a half-space                    | spreading resistance 8/3π²ka                                            | mean disk temperature within 8.4e-4, centre within 8.2e-6                                      |
| Heat transfer   | Layer stack with boundary resistances          | series resistances                                                      | steady values exact to 1.7e-13; transient within 2.0e-4                                        |
| Heat transfer   | 3ω heater line                                 | Cahill, *Rev. Sci. Instrum.* **61**, 802 (1990)                         | amplitude within 1.2e-3, phase within 0.05° over two decades                                   |
| Heat transfer   | Heat vortices in hydrodynamic phonon transport | the exact solution of the Guyer–Krumhansl equation in an infinite strip | heat flux within 0.7% of its peak, temperature within 4.2% rms; recirculating heat within 0.1% |
| Heat transfer   | FDTR                                           | the layered TDTR/FDTR model (Cahill 2004; Schmidt *et al.* 2009)        | phase within 0.12°, amplitude within 6e-3                                                      |

The code tests add, for solid mechanics, bulk sound velocities in Si, rigid-body modes, the Bloch phase of mode shapes, a hexagonal cell against a folded rectangular supercell (to 3e-4), uniaxial E and ν, the load types, a hydrostatic and a periodic slab, and the cantilever against Euler–Bernoulli; for heat transfer, a linear profile, series layers, a Robin end, a parabolic source profile, Crank–Nicolson decay, contact resistances and layer capacity, the Kirchhoff transform for a conductivity linear in T, lumped radiative cooling against the ODE, and energy conservation with a temperature-dependent c\_p.

The [full report](/solidocean/validation/report.md) gives every case with its equations, figures and checks. It is generated by the validation suite of the source repository, `python validation/run.py` (about three minutes); the code tests run with `pytest`.
