Reproducible OOFEM analyses that accompany blog posts at petergrassl.com. Each folder is a self-contained example: input file, run script, README explaining what it shows.
The goal is two-command reproducibility — no compilation, no toolchain.
Note — these examples use my OOFEM fork at github.com/githubgrasp/oofem, not the upstream oofem/oofem. The fork contains features that aren't (yet) upstream (aggregate, converter, generator, …) and may lag upstream on others. Examples here are guaranteed to run against the published
oofem-publicDocker image, not against arbitrary OOFEM builds.
git clone https://github.com/githubgrasp/oofem-examples.git
cd oofem-examples/<example-folder>
docker run --rm -v "$PWD":/work ghcr.io/githubgrasp/oofem-public:latest \
bash run.shOutputs (PDF plots, extracted data, OOFEM logs) appear in the example folder, viewable on your host with any normal application.
| folder | what it shows |
|---|---|
cdpm2-single-monotonic/ |
CDPM2 verification set: tension, compression, simple shear, pure shear on a single tetrahedron with one Gauss point. |
More to follow as blog posts are published.
- The
oofem-publicimage on ghcr.io ships my OOFEM fork plus mesh-generation and post-processing utilities. - The image is multi-arch (linux/amd64, linux/arm64) so
docker pulldoes the right thing on Apple Silicon Macs, Intel Macs, and Linux/Windows hosts automatically. - The exact OOFEM commit baked into each image release is recorded at
/opt/oofem/OOFEM_COMMITinside the container.
If you want to poke around inside the container instead of running a single
example via bash run.sh, test.sh opens an interactive shell with the
current directory mounted at /work:
./test.sh ghcr.io/githubgrasp/oofem-public:latestOnce inside the container, cd /work/<example> and run any command (oofem,
extractor, gnuplot, …). Files you create are visible on your host.
Issues and questions: open one on the issue tracker.