Skip to content

Package Map

This page maps the BobLib repository and the top-level Modelica package areas for the VehicleInterfaces-aligned package.

Repository Layout

PathRole
BobLib/Production Modelica package root
Tests/BobLibTest/Sibling Modelica test package for regression and component fixtures
Tests/Python regression harness, baselines, and Modelica smoke tests
makefileLocal CI and regression targets
msl_setup.mosModelica Standard Library install helper
AGENTS.mdRepository architecture rules for future agents
README.mdRepository readme
LICENSEGPLv3 license text

Public Domains

BobLib keeps VehicleInterfaces-facing models one level deep in the root package. Deeper packages hold BobLib physics, records, utilities, and icons.

PackageRole
AeroBobLib aero interface, CFD map implementation, and rigid aero mount
ChassisVehicleInterfaces chassis implementation backed by BobLib body, suspension, tire, and contact-patch physics
ControllersVehicle controller models such as the VCU
DrivelinesFinal drive, differential, and halfshaft driveline models
ElectricDrivesElectric machine models
EnergyStorageBattery pack models
PowerElectronicsInverter and DC power-electronics models
ExperimentsFront-facing standards and templates
RecordsVehicle data, visual data, and standard output schemas
UtilitiesShared math, FMI, mechanics, and multibody helpers
IconsReusable BobLib icon primitives

BobLib.Experiments

Standardized simulation entry points live under:

text
BobLib.Experiments.Standards

Key models:

  • Standards.VehicleSim
  • Standards.FourPostSim
  • Standards.VehicleFMI
  • Standards.Templates.Vehicle.BaseVehicleSim
  • Standards.Templates.FMI.BaseVehicleFMI
  • Standards.Templates.FourPost.BaseFourPostSim
  • Standards.Templates.FourPost.FourPostSim_DWBCStabar_DWBCStabar

VehicleSim follows the VehicleInterfaces demo-style assembly stack while exposing the BobLib battery, controller, inverter, motor, and driveline as explicit subsystem redeclares.

BobLib.Records

Records are the Modelica schemas and parameter data for the package.

Notable areas:

  • Records.VehicleDefn
  • Records.VehicleRecord
  • Records.StandardRecord
  • Records.VisualRecord

The default vehicle definition record is:

text
BobLib.Records.VehicleDefn.EVBatInvMotDiff_DWBCStabar_DWBCStabarRecord

MF52 tire data lives under:

text
BobLib/Records/VehicleRecord/Chassis/Suspension/Templates/Tire/MF52/

The tire record package includes RelaxationRecord.mo, which stores the PAC2002-style relaxation coefficients consumed by transient slip.

BobLibTest

Modelica development and regression models live in a sibling package so the production package remains focused.

Useful examples:

  • BobLibTest.Regression.MF52PureSlipSmoke
  • BobLibTest.Regression.VehicleSimAnimationOn
  • BobLibTest.TestVehicle.TestAero.TestCFDAeroMap
  • BobLibTest.TestVehicle.TestChassis.TestSuspension.TestFrAxleDW
  • BobLibTest.TestVehicle.TestPowertrain.TestPowertrain
  • BobLibTest.TestUtilities.TestMechanics.TestMultiBody.TestContactMechanics.TestGroundPhysics

Root Tests/

The repository-level Tests/ directory contains release guardrails:

PathRole
Tests/modelica_translation_checks.pyTranslates standard entry points, key regressions, and every BobLibTest fixture
Tests/modelica_initialization_checks.pyZero-time simulates BobLibTest fixtures and compares initialization metrics
Tests/modelica_initialization_baseline.csvBaseline metrics for initialization checks
Tests/test_modelica_regression.pySignal-level Modelica regression simulations
Tests/test_boblib_modelica.pyLoads MSL 4.1.0, VehicleInterfaces 2.0.2, and smoke-checks BobLib/BobLibTest

Released as open-source vehicle simulation tooling.