top of page

What is ModelicaHumanBodyPArts?

ModelicaHumanBodyPArts is a verification-oriented research-software library for transparent multibody modelling of human mechanical systems. It connects explicit anthropometric data, rigid-body segments, joints, distributed plantar contact, reaction wrenches, power and energy accounting with reproducible numerical verification.

Scope

This is a reduced rigid-segment mechanical model developed for research and engineering simulation. It is not a clinical digital twin and does not claim to identify individual muscle forces, cartilage stress, ligament strain, injury risk or respiratory physiology.

Library architecture

Data & Scaling

Anthropometric profiles, source-traceable body-segment parameters, provenance records and explicit scaling functions.

Rigid Segments

Thigh, shank, foot, pelvic ring and thorax components with explicit mass, centre of mass and inertia properties.

Joints

Hip, knee, ankle and effective lumbar rotational coordinates with declared axis conventions and mobility metadata.

Contact

Six-location numerical plantar contact with heel, midfoot and forefoot regional loads, resultant ground wrench and centre of pressure.

Transmission

Reaction forces and moments, generalized joint effort, spatial power, load metrics and variable-impedance energy accounting.

Verification

Analytical, geometric, dynamic, contact, energy and assembly regression tests.

v0.10.0 RC1 verification

  • OpenModelica 1.27.1 (64-bit)
  • Modelica Standard Library 4.1.0
  • Windows x64

50 / 50

registered cases passed

45

runtime simulations

5

build-only fixtures

2

fresh-directory reruns

Regional plantar load

A synthetic known-load regression verifies a total normal load of 98.1 N with 32.7 N in each heel, midfoot and forefoot regional pair.

Heel unloading

A dedicated regression deliberately removes heel support while midfoot and forefoot remain loaded. The observer must correctly report zero heel load.

Variable-impedance energy

A gravity-loaded regression verifies the aggregate mechanical energy ledger while joint stiffness varies with time.

These tests verify the implemented numerical and mechanical contracts. They do not constitute human biological validation.

The release and verification results are documented as 45 runtime simulations plus five build fixtures, all passing.

v0.10.0 RC1 · Public Teaching Version

ModelicaHumanBodyPArts_v0_10_0_RC1.mo

2fda3b797ef9304529776d0610a3a8608e233c92531924579cb2eafe6665de4b

Use this SHA-256 checksum to confirm that your .mo file matches the frozen source used in the verification. A changed file has a different checksum.

Comprehensive Teaching and Technical Reproduction Manual

A 39-page document detailing the ModelicaHumanBodyPArts framework, including its segments, joint systems, contact dynamics, and energy auditing. It provides a step-by-step workflow for students and academics to replicate results on a clean system, designed for broad technical accessibility.

Source Repository

Complete open release including the verified Modelica code, MIT License, credits, documentation, and the full verification manifest. This package provides everything needed for local implementation and auditing of the library.
Article 2 experiment models require ModelicaHumanBodyPArts v0.10.0, OpenModelica 1.27.1 and Modelica Standard Library 4.1.0. They include the right/left locked, yaw-only and full-3D models, robustness and lumbar-impedance sensitivity cases, and the analytical benchmark.

Library Reconstruction

  1. Setup OpenModelica 1.27.1.
  2. Utilize Modelica Standard Library 4.1.0.
  3. Open the specific v0.10.0 RC1 .mo file.
  4. Validate the SHA-256 signature.
  5. Execute the verification suite from a new build directory.
  6. Audit the output against the official release logs.

loadModel(Modelica,{"4.1.0"},
requireExactVersion=true);
loadFile("ModelicaHumanBodyPArts_v0_10_0_RC1.mo");
getVersion(ModelicaHumanBodyPArts);

Read final Article 2 preprint

DOI: 10.5281/zenodo.23185698 · 27 pages · not yet peer-reviewed

Complete reproduction dataset — REV2 · DOI 10.5281/zenodo.23175126

Download the full reproduction ZIP (112.2 MB) — frozen source, raw trajectories, logs, manifests and scripts.

Article 2 — When can a simpler pelvis–chest model be used?

Final public preprint · 6 October 2026 · not yet peer-reviewed. Computational verification; no human or clinical validation.

PART A — For dancers and general readers

The question

 

When can a simpler pelvis–chest model reproduce the outputs we need? A controlled computer study shows that close agreement in body rotation does not guarantee close agreement in forces at the floor.

 

Read final Article 2 manuscript — PDF, 27 pages

 

Download complete reproduction ZIP — REV2, 112.2 MB

What was compared

 

The same mechanical body performed a 1.5-second, standing-leg-driven task. Only its effective lower-back joint changed:

 

  • Locked: pelvis and chest move together.

     

  • Yaw only: they can rotate relative to one another around the vertical axis.

     

  • Three coordinates: relative rotation, forward/backward bending and sideways bending are available.

     

These are simplified joint architectures, not three anatomical spine models.

 

The main result

 

The required model depends on what you want to predict. With strong effective stabilization of bending (1000 N·m/rad), yaw-only mobility met the stated 10% criterion for pelvis and chest rotation in 15/15 primary conditions each. Horizontal force at the floor passed in 0/15.

 

Matching body rotation therefore did not guarantee matching contact force.

 

Where the simpler model stops working

 

At 100 N·m/rad effective bending stabilization, all eight audited outputs failed the 10% criterion. The pelvis-rotation ratio was 30.37%; the chest-rotation ratio was 17.23%.

 

Adding rigid head and upper-limb mass and inertia preserved chest-rotation adequacy in 15/15 conditions, while pelvis rotation passed in 13/15. Several foot-contact and free-side outputs became less transferable.

 

What dancers can take from this

 

Pelvis–chest rotation and forces at the floor are different questions. This study helps choose and check a computer model. It does not establish a preferred dance technique or measure how real dancers move.

 

Scope and limitations

 

The primary model represents 62.790 kg and omits the head and arms. The supplementary model adds 12.615 kg of rigid head/upper-limb mass, giving 75.405 kg. It does not simulate active arm motion.

 

Reported joint-interface loads are net mechanical forces and moments. They do not identify individual muscle forces, tissue strain, injury risk or clinical outcomes. Human experiments remain necessary for biological validation.

PART B — For engineers

Engineering method

 

Three effective lumbar architectures have identical segment masses, reference-pose centers of mass and inertia. The 62.790-kg primary task uses a free root, compliant load-bearing foot contact and no balance controller.

 

Nominal inputs are standing-ankle pitch 15 N·m and standing-hip yaw −1 N·m, with identical pulse timing over 1.5 seconds. The study includes mirrored-side checks, an analytical two-inertia benchmark, numerical refinement, 15 operating conditions, 20 lumbar-impedance sensitivity cases and a separate rigid upper-body-inertia sensitivity.

 

What the 10% criterion means

 

For each output:

 

η = 100 × max|yaw-only − three-coordinate| / max|locked − three-coordinate|

 

An output passes when η ≤ 10% over the declared analysis window. This is a locked-normalized model-reduction criterion, not 10% accuracy relative to human measurements. Numerical refinement supports the primary classification; stiffness and upper-body results remain supplementary sensitivities after their verification gates.

 

Completed verification and reproduction

 

The analytical benchmark matches the closed-form solution with maximum error 7.57 × 10⁻¹⁰ rad. Mirrored runs reproduce sign symmetry to numerical precision. Primary refinement error is orders of magnitude below architecture effects.

 

  • Seven-check harness: 7/7 PASS.

     

  • Fresh supplementary campaign: 45/45 PASS.

     

  • One primary-runner smoke case: PASS.

     

  • Deliberate negative control: correctly reported failure.

     

  • Final manuscript consistency audit: 163/163 PASS.

     

The complete original primary campaign, including 18 refinement runs, was preserved; it was not freshly rerun in full during the publication update.

 

The final manuscript pass executed zero new simulations. RMS and driven-window results are post-hoc analyses of frozen trajectories. The authoritative reproduction dataset remains REV2.

Replication Suite
  1. Download the complete REV2 archive and extract it to a short writable path.

  2. Install OpenModelica 1.27.1 (64-bit), Modelica Standard Library 4.1.0 and Node.js.

  3. Run the seven-check harness, then a primary smoke case; use the full runner only when you intend to rerun every campaign.

  4. Compare local outputs with the frozen trajectories and published summaries. See the detailed commands and code links below.

Nominal right stance at 1.5 s — angles in radians

Arch

Pelvis yaw [rad]

Thorax yaw [rad]

Free-side x

Locked

Pelvis: −0.03055 rad

Thorax: −0.03055 rad

Free side: 1.83 mm

Yaw-only

Pelvis: −0.00694 rad

Thorax: +0.00126 rad

Free side: 10.86 mm

3D Joint

Pelvis: −0.00662 rad

Thorax: +0.00266 rad

Free side: 10.13 mm

Research publications

RESEARCH-SOFTWARE MANUSCRIPT IN PREPARATION; NOT YET PEER-REVIEWED

ModelicaHumanBodyPArts: auditable multibody biomechanics

Article describing architecture, source traceability, distributed plantar contact and reproducible verification.

Article 2 — Lumbar model-reduction study

When is a rigid pelvis–trunk approximation sufficient? An output-specific model-reduction protocol applied to lumbar mobility in multibody biomechanics.

Authors: Toufic Antoun El Halabi and Nathalie Chahine.

Primary result at 1000 N·m/rad effective transverse stabilization: pelvis yaw and thorax yaw each passed the stated 10% locked-normalized criterion in 15/15 conditions. Horizontal ground force passed in 0/15.

 

Low-stiffness boundary: at 100 N·m/rad, all eight audited outputs failed. Pelvis yaw was 30.37%; thorax yaw was 17.23%.

 

Rigid head/upper-limb inertia sensitivity: pelvis yaw passed in 13/15 conditions; thorax yaw in 15/15. The two pelvis exceedances (11.19% and 11.95%) met 20%, but did not meet 10%.

 

Adequacy depends on the output, stabilization, inertial scope and operating condition. Primary numerical refinement supports the operating-range classification. The stiffness and upper-body campaigns are supplementary sensitivities. This is a final public preprint, not yet peer-reviewed; it does not establish human or clinical validation.

Reproduce Article 2

 

Download the complete REV2 ZIP (112.2 MB) for frozen source, raw trajectories, logs, manifests, checksums and reproduction scripts. GitHub provides source, runners and compact summaries; the full raw dataset is in the ZIP.

 

Verified environment: OpenModelica 1.27.1 (64-bit), Modelica Standard Library 4.1.0 and Node.js on Windows x64. Extract to a short writable path.

 

From the archive root, or studies/article2 in a complete repository checkout:

 

1. Seven-check harness:
omc run_test.mos

 

2. Primary smoke case:
node run_article2_all.mjs smoke

 

3. Full manifest campaigns:
node run_article2_all.mjs all

 

The third command intentionally runs all manifest campaigns and creates local outputs.

 

Inspect the frozen code

 

These individual files are for inspection. Use the complete ZIP or repository checkout to run the study. All links below point to the exact frozen source commit.

 

Verified body library (.mo)

 

Primary Article 2 models (.mo)

 

Upper-body sensitivity models (.mo)

 

Seven-check test harness

 

OpenModelica harness runner

 

Harness result verifier

 

Primary campaign runner

 

Upper-body campaign runner

 

Frozen-trajectory inertia analysis

 

Browse Article 2 on GitHub — documentation and code

Third-party dependencies

GitHub Repository

This version-controlled public repository hosts the ModelicaHumanBodyPArts source code under the MIT License.

bottom of page