Skip to content

๐Ÿงช Benchmarks โ€‹

By using benchmarks to evaluate the performance of a structural engineering API, developers can ensure that their software is accurate, efficient, and capable of handling a wide range of complex calculations. This not only helps to ensure that the API is reliable and robust, but also helps to inspire confidence among engineers and other professionals who rely on it to design and analyze structures.

BenchmarkTestWhat it checksLargest difference, on the definition's mesh
๐Ÿ Simple BeamSimply supported beamShear, moment and deflection under a uniform load against beam theory0.00%
CantileverThe same, fixed at one end0.00%
Cantilever, natural vibrationFirst three bending frequencies against Euler-Bernoulliโˆ’1.05%
๐Ÿ Simple ShellPlate under pressure (ASDEA ST6)Centre deflection against plate theoryโˆ’0.07%
Cantilevered plate, natural vibration (NAFEMS FV16)First six frequencies against NAFEMS and converged plate theoryโˆ’1.90% against NAFEMS, โˆ’1.42% against converged plate theory
๐ŸŒ Simple BrickCantilever of bricksTip deflection under an end load against Timoshenkoโˆ’1.39%
Solid plate, natural vibration (NAFEMS FV52)Ten modes, three of them rigid-body, against NAFEMSโˆ’0.11%

Most of the tests come from the verification ASDEA publishes for STKO and OpenSees, and from the NAFEMS standard benchmarks it draws on โ€” the same tests other finite element programs are checked against. Where a page gives Alpaca4d's values, they come from running the downloadable Grasshopper definition itself โ€” built from Alpaca4d's own components and solved in Rhino by a script โ€” not typed in by hand. Where Alpaca4d differs from the reference, the page says why โ€” and where the mesh is the reason, shows the difference closing as it is refined. The script that regenerates every value lives in the Alpaca4d repository, in Alpaca4d.Test/Benchmark/.