DrivAerNet++ dataset
Dataset overview and leaderboard submission format for DrivAerNet++.
Open for submissions · Check submission availability
Automotive external aerodynamics
Overview
A large multimodal automotive-aerodynamics collection with 8,150 vehicle designs spanning fastback, notchback, and estateback categories, including surface and volume CFD, meshes, coefficients, annotations, point clouds, and rendered or sketched geometry representations.
FluidsBench evaluation schematic
- Model inputs Vehicle mesh + body category
- Scoring support Native surface pressure points
- Reported evaluation Area-weighted and equal-point pressure errors
Schematic only; the benchmark specification fixes the exact files, entities, arrays, and equations.
Source release
Canonical index commit 8b8c053; pressure archive Dataverse v1.0
Use this immutable revision when following the download example below.
Availability and licence
8,150 designs; approximately 39 TB across the complete multimodal collection
CC BY-NC 4.0. Check the source release for its complete terms.
Benchmark definition
Contract pinned
Technical details
Scoring source pin: Dataverse DOI 10.7910/DVN/K7PWNJ, version 1.0. Open contract.
What the source contains
Volume fields, surface pressure and wall-shear data, point clouds, meshes, aerodynamic coefficients, design annotations, and visual modalities. FluidsBench currently has a pressure-only task tied to Dataverse DOI 10.7910/DVN/K7PWNJ v1.0.
What FluidsBench currently evaluates
Open for pressure-only submissions covering every native VTK PointData location of all 1,154 official test designs. Area-weighted relative L2 is primary and equal-point relative L2 is secondary. Three frozen native Cp traces are report-only. Use the prepared scoring support and resumable evaluator to generate and validate the result package.
Dataset summary
- Geometry
- Realistic DrivAer-derived car configurations, including fastback, notchback, and estateback categories.
- Cases
- 8,150 pressure-release designs; 8,121 designs in the published multimodal splits.
- Primary CarBench task
- Surface kinematic pressure prediction from geometry.
- Current FluidsBench split
-
official_testcovers all 1,154 test designs and every native surface pressure point. The dataset owner has confirmed the scientific definition. See the submission guide for current availability. - Reported CarBench metrics
- Surface pressure MSE, MAE, RMSE, pressure-field R2, relative L2, model size, memory, and latency.
- Current FluidsBench status
- Surface pressure in the released VTK
parray is the only confirmed field task. Wall shear, full volume fields and forces are outside this pressure-only release. Three evaluator-extracted Cp profiles are available for comparison only. - Licence
- CC BY-NC 4.0; downstream use must satisfy the source dataset's non-commercial terms.
Getting started
Pressure definition Confirmed by recorded dataset-owner approval
The pressure-only task uses surface kinematic gauge pressure. The owner records a zero freestream reference and Cp = p / 450.
Surface only
- Native field
-
p· PointData - Units
- m²/s²
- Reference
- Zero freestream gauge, recorded in the dataset-owner approval.
- Evaluation
- Use native p on every required surface point; undo any training mean/std scaling.
- Conversion
- Cp = p / 450 at U∞ = 30 m/s. Gauge pressure in Pa = 1.184 × p.
The author README calls the surface modality Cp, but its loader reads p directly. Use the explicit owner convention, not the modality label. This audit does not activate wall-shear or volume tasks.
Start with the source documentation and split metadata, then download one representative case before planning a full transfer. The commands below pin the source snapshot audited for this page. For leaderboard work, always use the separate scoring source pin and case lists in the FluidsBench benchmark specification.
1. Get the public pressure data
Use the Dataverse / Globus transfer for the 15 SurfacePressureVTK family archives (about 210 GB), then verify the extracted test files against the pinned release.
python scripts/drivaernetplusplus.py verify-data \
--dataset-root /data/dnpp/SurfacePressureVTK 2. Download the prepared scoring support
python scripts/drivaernetplusplus.py fetch-support \
--destination support/drivaernetplusplus The 24 verified archives total about 5.5 GB and contain the reference pressure, dual-area weights and frozen profile points for all 1,154 test designs.
Follow the DrivAerNet++ participant quickstart for the pinned Linux environment or Docker commands, prediction layout, resumable evaluation and packaging. Predict native PointData p in m²/s² for every test point. Check the submission guide for current availability.
Design-space coverage
What changes across the dataset
Parent shape or archetype means the source geometry family, not an ML baseline model. The cards distinguish shape breadth from operating-condition breadth.
Parent shapes / archetypes
3 body archetypes plus component choices
- Fastback DrivAer-derived fastback rear-body category.
- Estateback DrivAer-derived estateback rear-body category.
- Notchback DrivAer-derived notchback rear-body category.
Geometry parameterization
26 documented design parameters
Twenty-three bounded or stepped shape variables are combined with underbody, rear-body, and wheel choices. The discrete choices include two underbodies and three wheel treatments in addition to the three rear-body archetypes.
View 26 documented variables and ranges
- Car width
- −60 to +150 mm
- Car length
- −60 to +130 mm
- Car roof height
- −60 to +90 mm
- Car greenhouse angle
- source morph bounds −200 to +150
- Diffuser angle
- −8° to +15°
- Ramp angle
- −8° to +15°
- Trunklid angle
- −8° to +20°
- Side-mirror rotation
- −20° to +20°
- Side-mirror X translation
- −10 to +20 mm
- Side-mirror Z translation
- −5 to +10 mm
- Rear-window inclination
- −1.8° to +2.5°
- Rear-window length
- −95 to +150 mm
- Windscreen inclination
- −1.8° to +2.5°
- Windscreen length
- −50 to +50 mm
- A/B/C-pillar thickness
- −15% to +5%
- Fender-arch offset
- −25 to +55 mm
- Door-handle thickness
- −20 to +30 mm
- Door-handle X position
- −50 to +50 mm
- Door-handle Z position
- −30 to +30 mm
- Trunklid curvature
- −0.4% to +0.8%
- Trunklid length
- −40 to +40 mm
- Front-bumper curvature
- −0.4% to +1%
- Front-bumper length
- −25 to +60 mm
- Underbody
- smooth or detailed
- Car rear
- fastback, estateback, or notchback
- Wheels
- open detailed, open smooth, or closed smooth
Conditions and sampling
Operating conditions
The CFD condition is fixed at 30 m/s. Geometry-dependent vehicle length gives a reported Reynolds-number range of 8.366 × 10⁶ to 1.006 × 10⁷ rather than a separately sampled flow sweep.
Sampling
Optimal Latin hypercube sampling with an enhanced stochastic evolutionary algorithm populates the mixed continuous/discrete design space; the current canonical collection lists 8,150 designs.
Benchmark coverage
What the current splits test
The FluidsBench benchmark covers all 1,154 designs in the official test split, across the source body, underbody and wheel families. Every native surface pressure point is scored.
Open-reproducibility submission Files, validation and optional artifacts
Check this dataset's submission availability before preparing a result. Contributions are accepted only while its exact scoring-support release is marked official and open. For an open dataset, contributors propose one result directory at submissions/drivaernetplusplus/<submission-id>/ in the FluidsBench submission repository. The planned result package contains:
-
submission.jsonfor model metadata and the required scalar metrics; -
evaluation-evidence.jsonlinking those submitter-provided metrics to the declared evaluation revision and profile-index checksum; -
discretization.jsondescribing the training input and supervision supports, inference input, direct model outputs, and mapping to the official scoring support; -
discretization/cases.jsonlrecording case-level counts, domains, mapping, and declared scoring coverage; -
metrics/cases.jsonrecording the official-support errors, the unweighted and physical-measure-weighted sufficient statistics required by that dataset's contract, and exact coverage for every declared evaluation case; -
profiles/index.jsonlisting the lightweight profile chunks; and -
profiles/chunk-*.jsoncontaining profile coordinates and predictions for the declared test cases.
FluidsBench uses an open reproducibility track. The declared evaluation partition, scored case lists, and ground truth are public. Evaluation cases must not be used for fitting, hyperparameter selection, or preprocessing statistics. Contributors will calculate the metrics and extract the profiles from their own predictions. Each dataset specification fixes the locations, IDs, weights, targets, and coverage used for final scoring. A model may infer on a different point set, mesh, or grid, but its final predictions must be mapped onto every required entity in the release-bound public field files before the reference evaluator calculates the errors. Large cases may be processed in chunks, but contributors must sum the sufficient statistics across all chunks before calculating a case metric; chunk-level L2 values are never averaged. Leaderboard field errors are calculated on the declared evaluation/test cases, not on the training cases. Full meshes and volume fields are not committed to the submission repository. Contributors may optionally publish example cases or the complete scored predictions in a public, immutable external repository and link that artifact from the submission. Use the DrivAerNet++ benchmark specification for the exact split, metric, case, panel, station, and quantity IDs. The reference equations and code define how the scalar values must be calculated, and the worked examples show the JSON structure.
Before opening a pull request, run python scripts/validate_submission.py --contributor-stage submissions/drivaernetplusplus/<submission-id>. The validator checks the schema, split identity, scoring-support binding, derived-score arithmetic, profile coverage, reported discretization, array lengths, ordering, finite values, and file hashes. It checks the submitted package's internal consistency; it does not run the contributor's model or recalculate base metrics from full fields.
A passing validator or pull request will not make a result official. Official results require maintainer approval of the validated submission package. Public code, model, and environment artifacts and their documentation are optional. If supplied, they must use stable links and include the revisions, digests, and licences required by the submission schema; the leaderboard reports those details. Their absence does not change accuracy rank, citation eligibility, or promotion eligibility. Prediction sharing is also optional. When prediction artifacts are shared, the leaderboard separately reports their coverage, artifact-check status, and whether any metrics were recomputed; it does not collapse those distinct checks into a generic “verified” badge. The public validation record states exactly what FluidsBench checked.
Prototype notice: any case IDs, ground truth, profile values, or leaderboard rows labelled prototype are illustrative dummy data. Those materials must be replaced and finalized before the dataset opens; a prototype row is never an official result.
Scoring support and complete coverage Exact files, weighting and complete-case rules
Submissions are open.
Final predictions must cover the complete reference support. For every scored case, this means every required entity, exactly once, in the actual field-bearing mesh or curve file from the named public dataset release. FluidsBench binds those files, their ordering, any masks, and their hashes to the scoring-support release. A method may infer on another representation and may process a large file in chunks, but it must map its predictions back to every required reference entity before calculating the final metrics. Downsampled or partially covered predictions are not complete results.
| Scored support | Public field file and association | Required coverage | Relative-L2 pair |
|---|---|---|---|
| Three-dimensional vehicle surface | SurfacePressureVTK/<design>.vtk in Dataverse DOI 10.7910/DVN/K7PWNJ, array p in VTK PointData | Every surface point carrying p | Area-weighted primary; unweighted point (each point counts equally) secondary |
| Surface pressure is the confirmed task. Wall shear and full-volume CFD fields are not scored until their public files and field associations are confirmed in a later scoring-support release. | |||
How to calculate large cases
- Surface and one-dimensional curve fields use area- or length-weighted relative L2 as the primary value and unweighted relative L2 as the secondary value. Two- and three-dimensional flow domains reverse that order: unweighted relative L2 is primary and area- or volume-weighted relative L2 is secondary. “Unweighted” means that every scored point, node, face, polygon, or cell counts equally.
- Face- or cell-associated fields use the face area, cell area, or cell volume directly. For
PointDataor CGNSVertexfields, FluidsBench supplies the area, volume, or curve length represented by each point or vertex, derived from the same reference mesh connectivity. - In one pass over each case, accumulate the squared-error numerator and ground-truth denominator for every relative-L2 variant required in the table above, together with the corresponding entity count and total physical measure wherever one is used. Chunks may be any convenient size, but their numerators and denominators must be summed before taking the square root; never average chunk-level L2 values.
- Calculate each complete-case percentage first, then macro-average the case percentages so every case counts equally.
Sharing complete prediction fields is optional. A contributor may link versioned predictions in an external public repository, but the submission package records exact coverage plus the per-case sufficient statistics used to reproduce each required relative-L2 value.
Cp stations
DrivAerNet++ publishes surface pressure over annotated vehicle components but not a canonical set of one-dimensional Cp traces. The evaluator extracts these three report-only traces at frozen native points on every test design, using Cp = p / 450. They do not contribute to the score. The dataset owner has confirmed these three stations and retirement of the wheelhouse trace, which could not be defined consistently across all test designs.
| Station ID | Displayed station |
|---|---|
upper_body_centerline | Upper-body component centreline. |
underbody_centerline | Smooth or detailed underbody centreline. |
rear_body_centerline | Fastback, notchback, or estateback rear-body centreline. |
Release decisions
Every native pressure point is scored as stored, including the documented localized pressure extremes; no points are masked. The 29 pressure-release designs absent from the published splits remain excluded because other data modalities were incomplete. The 1,154-case test list is unchanged. These decisions and the release preparation are recorded in the dataset-owner approval record.
Metric definitions
- Relative L2 error
- For each case, map dataset-native kinematic-pressure predictions to every point carrying
pin the release-bound VTK surface. FluidsBench reports an area-weighted relative L2 as primary and unweighted point relative L2 (each point counts equally) as secondary. Calculate each complete-case percentage first, then macro-average the cases. - Relative L1 error
- When reported as a supplementary metric, relative L1 uses every required pressure point and the same dual-area weighting as the primary relative L2.
- Surface pressure relative L2
- CarBench reports an unweighted point relative L2 (each point counts equally) on the DrivAerNet++ geometry-disjoint evaluation set. FluidsBench evaluates both area-weighted primary and equal-point secondary relative L2 on every native test point. Leaderboard results come from reviewed submission packages.
- Pressure-field R2
- Coefficient of determination over flattened surface pressure samples:
1 - sum((q_pred - q_true)^2) / sum((q_true - mean(q_true))^2).
The pressure-only benchmark reports the higher-is-better composite score overall_score = clip(100 - surface_pressure_rel_l2, 0, 100), where surface_pressure_rel_l2 is the primary area-weighted percentage error. The underlying pressure metrics remain visible alongside it.
Evaluate and submit
Generate native-point pressure predictions for all 1,154 test designs, download the prepared support, evaluate with recovery, and package the result using the participant quickstart. Follow the submission instructions to propose the generated result directory for review.