Skip to content

USD Schema

Arxyne uses OpenUSD as the single source of truth. Products are authored as USD compositions with custom arxyne:* attributes — no custom prim types (avoids usdGenSchema compilation complexity).

Composition Layers

Each product is a stack of sublayers with defined opinion strength (weakest → strongest):

# Layer Content Mutated By
1 design_intent.usda Requirements, targets, specs, geometry refs Humans / AUTHOR agent
2 benchmark.usda Competitor reference data Manual
3 prototype.usda Simulation results, gate status, provenance EXECUTE (workflow)
4 manufacturing.usda Factory config, BOM Future
5 twin.usda In-service data (VIN, telemetry) Future (strongest)

Stronger layers override weaker ones. Design intent is strongest in practice (layers 4–5 are stubs for current products).

Dynamic Sublayers

Beyond the five fixed layers, products accumulate dynamic sublayers:

simulation_runs/<solver>/<timestamp>/result.usda  — per-run KPI results
releases/<version>.usda                           — frozen lifecycle snapshots
trajectory_<manoeuvre>.usda                        — Chrono pose for replay

Key Attribute Namespaces

Product Identity (arxyne:product:*)

Authored in design_intent.usda on the product prim:

Attribute Type Description
arxyne:product:name string Product display name
arxyne:product:type string Product type (sedan, wing, research_body, …)
arxyne:product:mass_kg double Total mass (kg)
arxyne:product:reference_area_m2 double Reference frontal area (m²)
arxyne:product:length_m double Overall length (m)
arxyne:product:width_m double Overall width (m)
arxyne:product:height_m double Overall height (m)
arxyne:product:wheelbase_m double Axle spacing (m)
arxyne:product:track_width_m double Track width (m)
arxyne:product:cg_height_m double CG height above ground (m)
arxyne:product:ground_clearance_m double Ground clearance (m)
arxyne:product:freestream_velocity_mps double Default freestream velocity (m/s)
arxyne:product:cad_source string Source of CAD geometry

Design Intent Targets (arxyne:target:*)

Authored in design_intent.usda:

Attribute Type Description
arxyne:target:cd double Target drag coefficient
arxyne:target:cd_tolerance double Cd tolerance band
arxyne:target:cl double Target lift coefficient
arxyne:target:cl_tolerance double Cl tolerance band
arxyne:target:cm_pitch double Target pitch moment coefficient
arxyne:target:cm_pitch_tolerance double CmPitch tolerance band
arxyne:target:lateral_g double Target lateral acceleration (g)
arxyne:target:yaw_rate_dps double Target yaw rate (°/s)
arxyne:target:roll_angle_deg double Target roll angle (°)

Simulation Results (prototype layer)

Written by the workflow engine after solver dispatch:

Attribute Type Description
currentCd double Latest simulation Cd
currentCl double Latest simulation Cl
currentCmPitch double Latest moment coefficient
currentLateralG double Latest lateral acceleration
currentYawRateDps double Latest yaw rate
currentRollAngleDeg double Latest roll angle
simulationStatus string PENDING, COMPLETE, CLEAN
lastUpdated string ISO timestamp of last write
resultsHistory string[] Pipe-delimited index of all runs

Solver Binding

Attribute Type Description
solverCaseTemplate string Maps product to solver case template (e.g. ahmed, drivaer-notchback)

This is the only bridge between the product and the solver. Everything else (geometry, patches, STL names) is solver-internal.

arxyne:provenance:*

Attribute Type Description
arxyne:provenance:<attr> string Per-attribute data source tracking

Each provenance attribute mirrors a product attribute and records where its value came from (e.g. "simulated:openfoam", "published", "estimated", "derived").

arxyne:run:*

Attribute Type Description
arxyne:run:params_hash string Hash of input parameters
arxyne:run:solver_digest string Solver image digest
arxyne:run:assumptions:<key>:value double/string Physical assumption value
arxyne:run:assumptions:<key>:unit string Physical assumption unit

arxyne:req:* (Traceability Context)

Requirements traceability is authored as nested Scope prims under a Requirements scope in the root composition file:

Attribute Type Description
arxyne:req:description string Human-readable description
arxyne:req:level int Hierarchy level (1–4)

These provide audit traceability from market intent down to engineering targets. The gate-driving target values themselves live in the arxyne:target:* namespace in design_intent.usda.

arxyne:geometry:* / arxyne:replay:* (Visualisation)

Used by the trajectory writer for Omniverse replay (experimental):

Attribute Type Description
arxyne:geometry:chassis_yaw_deg double Static yaw correction for replay
arxyne:geometry:chassis_z_offset_m double Z position override
arxyne:replay:z_trim_m double Visual-only Z trim (does not affect dynamics)

Stage Metadata

Every Arxyne product stage sets:

(
    metersPerUnit = 1
    upAxis = "Z"
)

Z-up is enforced — matches ISO 8855:2011 and Chrono's native convention.

See Also