# Solutions to the plate challenges This repository holds solutions to the challenges defined in [challenges/plate](https://vault1.magland.org/challenges/plate). It is one of possibly several solution repositories registered with that challenge repository, which clones each of them, compares every solution against a common reference, and publishes the comparison at [challenges/plate/site](https://vault1.magland.org/challenges/plate/site/). This repository's own site, at [challenges/plate-solutions/site](https://vault1.magland.org/challenges/plate-solutions/site/), lists its submissions with audio players and animates the exported displacement fields as a 3D surface. ## Layout ``` solutions//.json one submission: metadata and one or more solutions solutions///*.wav the scored output files, referenced from the JSON solutions///*.h5 optional displacement fields for visualization (git LFS) solvers/ source code of the submissions web/ this repository's site (built by web/build.py) ``` Field exports are about 45 MB each and are stored with git LFS (`.gitattributes` routes `*.h5` there). Cloning without git-lfs leaves pointer files in their place; the validator tolerates that and the site marks such fields as unavailable. ## The example submission `kirchhoff-bfs` solves the Kirchhoff-Love thin-plate reduction of the challenge model with Bogner-Fox-Schmit C1 finite elements on uniform meshes of 4 to 48 elements per side, a closed-form modal time response, and an exact evaluation of the retarded Rayleigh integral. It is a thin-plate approximation, so its converged limit differs from the three-dimensional model that defines the challenge; the chain is ordered by mesh refinement. ``` python solvers/kirchhoff-bfs/kl_bfs_plate.py /challenges/plate-strike-v1/challenge.json solutions/plate-strike-v1/kirchhoff-bfs --fields 48 4 8 12 16 24 32 48 ``` ## Adding a submission Follow the same steps as in [challenges/string-solutions](https://vault1.magland.org/challenges/string-solutions#adding-a-submission-to-this-repository): produce the output exactly as the [specification](https://vault1.magland.org/challenges/plate/blob/main/challenges/plate-strike-v1/README.md) says, write `solutions//.json` following the [schema](https://vault1.magland.org/challenges/challenge-tools/blob/main/schema.json), record known accuracy orderings in `more_accurate_than`, and open a pull request. ## Validating locally ``` pip install git+https://vault1.magland.org/challenges/challenge-tools challenge-tools validate --challenges /challenges --solutions solutions python web/build.py --out site ```