Four steps, no code.
- Run your simulation and export VTK (OpenFOAM:
foamToVTK). Anything PyVista can read works, so you are not tied to OpenFOAM. - Copy
examples/wedge_oblique/case.ymltomycase.ymland edit:vtk: path to your.vtkfields: your density field name (rho,Density, ...; aliases resolve, and an unknown name is tried literally)mach,theta_deg: optional; turns on the theta-beta-M angle checkdetector:oblique_ransacif the field is noisy or turbulent
shocklens run-case mycase.yml- Read the scorecard JSON. With
mach/theta_degset you also get the detected vs theoretical shock angle and the error.
That is the whole port. The case file is also your reproducibility record: commit it and anyone re-runs your result with one command.