Pesquisa / Cascas e flambagem

MacNeal–Harder (1985): engine benchmarks

A partir de Richard H. Macneal, Robert L. Harder, “A proposed standard set of problems to test finite element accuracy”, Finite Elements in Analysis and Design (1985), doi:10.1016/0168-874x(85)90003-4.

Frente ao código do autor
No separate reference solver: this page runs the production engine.
Frente às figuras do artigo
Numerical table provenance pending. The live table separates paper-reference cases from analytical frame adaptations.

Pesquisa, não uma ferramenta de projeto. Nada aqui é um resultado de engenharia.

The production Stabileo engine, tested live against stated references. Every result below is computed in this browser; failures stay visible.

What is tested

MacNeal and Harder proposed accuracy problems for finite elements. This first selection runs straight cantilevers with regular, trapezoidal and parallelogram meshes using MITC4 shells, plus the existing Euler–Bernoulli frame adaptations. It is not a claim to pass the entire published problem set.

The shell strip has length 6, width 0.2, thickness 0.1, Young’s modulus 10⁷ and Poisson’s ratio 0.3, with six elements and a unit end force. The engine takes modulus divided by 1000. The frame adaptations retain their own material, section and meshes; their analytical values are not the paper’s tabulated shell values.

One benchmark definition

The engine-owned case file contains the inputs, measurement locations, references, sources and tolerances. Native tests and this page read it. No research solver supplies these results.

Accuracy and regression bounds

The live table uses a strict relative error below 2%. Existing native tests also check convergence, rigid modes and regression floors. A permissive regression floor is not an accuracy pass. The Research workflow compares native and WASM values and classifications.

Known limitations and registry

Distorted low-order elements can lock. Failing rows link here and remain in the denominator. The engine known-issues registry currently contains no open shell entry. The engine test ledger records the four live failures. A solver-owner decision is needed to add runtime diagnostics; this track does not edit production engine code.

Reference values retain the existing tests’ provenance. The original paper’s exact numerical table/page locators still require verification. Native shell suites also cover roof, cylinder, hemisphere and twisted-beam configurations; they are not included in this first live selection.

Coberto apenas no CI nativo

  • SHB8 · regular · out-of-plane: Solid-shell inputs are not exposed by the production web wrapper. solid_shell_locking::macneal_harder_straight_cantilever
  • SHB8 · regular · in-of-plane: Solid-shell inputs are not exposed by the production web wrapper. solid_shell_locking::macneal_harder_straight_cantilever
  • SHB8 · trapezoidal · out-of-plane: Solid-shell inputs are not exposed by the production web wrapper. solid_shell_locking::macneal_harder_straight_cantilever
  • SHB8 · trapezoidal · in-of-plane: Solid-shell inputs are not exposed by the production web wrapper. solid_shell_locking::macneal_harder_straight_cantilever
  • SHB8 · parallelogram · out-of-plane: Solid-shell inputs are not exposed by the production web wrapper. solid_shell_locking::macneal_harder_straight_cantilever
  • SHB8 · parallelogram · in-of-plane: Solid-shell inputs are not exposed by the production web wrapper. solid_shell_locking::macneal_harder_straight_cantilever
  • Rigid-body modes and kernel: Element stiffness/eigenvalue API is native-only; seeded property checks, not a paper displacement. element_rigid_body_modes
  • MITC9 convergence: MITC9 inputs are not exposed by the production web wrapper. discretization_error::mitc9_curved_benchmarks_at_16x16
  • MITC4 distorted patch: Element-level stiffness API is native-only; normalized interior residual < 1e-10. shell_patch_tests::mitc4_patch_test_distorted
  • MITC9 distorted patch: Element-level stiffness API is native-only; normalized interior residual < 1e-10. shell_patch_tests::mitc9_patch_test_distorted
  • DKT+CST distorted patch: Element-level stiffness API is native-only; normalized interior residual < 1e-10. shell_patch_tests::dkt_cst_patch_test_distorted
  • Curved shell distorted patch: Element-level stiffness API is native-only; normalized interior residual < 1e-10. shell_patch_tests::curved_shell_flat_patch_test_distorted
  • Solid shell distorted patch: Element-level stiffness API is native-only; normalized interior residual < 1e-10. shell_patch_tests::solid_shell_patch_test_distorted
  • SHB8 Scordelis–Lo roof: Solid-shell inputs are not exposed by the production web wrapper. solid_shell_locking::scordelis_lo_roof
  • SHB8 Pinched cylinder: Solid-shell inputs are not exposed by the production web wrapper. solid_shell_locking::pinched_cylinder_with_diaphragms
  • SHB8 Hemisphere with hole: Solid-shell inputs are not exposed by the production web wrapper. solid_shell_locking::hemisphere_with_hole

Citar isto

Stabileo Research, “MacNeal–Harder (1985): engine benchmarks”, reprodução de Richard H. Macneal, Robert L. Harder (1985), doi:10.1016/0168-874x(85)90003-4. Implementação: engine/tests/benchmarks no commit 8068cd16ea2c. Motor: o motor do Stabileo no mesmo commit. Estão previstos links permanentes para esta compilação exata.