/ challenges-old / plate-solutions
Sign in
challenges-old / plate-solutions
plate-solutions / README.md
2.8 KBPreviewCodeBlameHistoryRaw

Solutions to the plate challenges#

This repository holds solutions to the challenges defined in 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. This repository's own site, at challenges/plate-solutions/site, lists its submissions with audio players and animates the exported displacement fields as a 3D surface.

Layout#

solutions/<challenge-id>/<submission-id>.json    one submission: metadata and one or more solutions
solutions/<challenge-id>/<submission-id>/*.wav   the scored output files, referenced from the JSON
solutions/<challenge-id>/<submission-id>/*.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 <plate-repo>/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: produce the output exactly as the specification says, write solutions/<challenge-id>/<submission-id>.json following the schema, 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 <path-to-plate-repo>/challenges --solutions solutions
python web/build.py --out site
↑↓ move↵openescclose