###### Abstract

This paper presents a new open-source high-fidelity dataset for Machine
Learning (ML) containing 355 geometric variants of the Windsor body, to help
the development and testing of ML surrogate models for external automotive
aerodynamics. Each Computational Fluid Dynamics (CFD) simulation was run with
a GPU-native high-fidelity Wall-Modeled Large-Eddy Simulations (WMLES) using a
Cartesian immersed-boundary method using more than 280M cells to ensure the
greatest possible accuracy. The dataset contains geometry variants that
exhibits a wide range of flow characteristics that are representative of those
observed on road-cars. The dataset itself contains the 3D time-averaged volume
& boundary data as well as the geometry and force & moment coefficients. This
paper discusses the validation of the underlying CFD methods as well as
contents and structure of the dataset. To the authors knowledge, this
represents the first, large-scale high-fidelity CFD dataset for the Windsor
body with a permissive open-source license (CC-BY-SA).

## Introduction

The use of Machine Learning (ML) to augment Computational Fluid Dynamics (CFD)
is gaining the attention of academia and industry because of its potential to
offer an additional tool to explore new designs in near real-time compared to
traditional CFD simulations [ananthan2024, vinuesa2022, haber2023, lino2023,
li2023]. Whilst these methods are still in their infancy, there have been
promising results that show their ability to predict surface, volume and/or
forces and moments on unseen geometries or boundary conditions [bonnet2022,
jacob2022, ananthan2024, Elrefaie2024, baque2018]. However the majority of
these examples have been for 2D cases [bonnet2022] with limited examples on
more complex 3D cases [ananthan2024, baque2018, jacob2022, Elrefaie2024]. One
of the reasons for the limited dissemination of 3D examples is the lack of
publicly available 3D training data. Unlike Large-Language Models (LLMs) where
the training data is readily available, public training data for CFD, based
upon 3D realistic geometries is limited and where such examples exist they are
often using lower-fidelity CFD methods [Elrefaie2024, bonnet2022] that are not
representative of industry state of the art. Generating such datasets also
requires a combination of large-scale High-Performance Computing (HPC)
resources, human time to build an efficient workflow and in-depth knowledge of
the underlying test-case to ensure rigour and correlation to the corresponding
experimental data.

To help to address this lack of 3D training data, Ashton et al.
[ashton2024ahmed] recently created the AhmedML dataset, that contains 500
different geometry variants of the Ahmed car body, simulated using a high-
fidelity hybrid RANS-LES approach using OpenFOAM on meshes of approximately
20M cells. This open-source dataset contains time-averaged volume & boundary
flow-field variables as well forces and moment data to provide a rich dataset
to aid ML model development. Whilst this dataset enables the development and
testing of ML methods, there are a number of limitations to this dataset that
have motivated the creation of the WindsorML dataset.

Firstly, in order to thoroughly assess an ML method, more than one dataset is
required. Just as traditional CFD approaches are validated on a number of
cases to ensure general applicability. Secondly, the AhmedML dataset is based
upon mesh sizes of approximately 20M cells which is below the industry
standard of $>100$M cells for scale-resolving simulations of road-cars
[hupertz2022] and limits the ability to test out the scaling of ML methods
using realistic mesh sizes. This is an important point as some ML methods that
work well for cases at 20M cells may become inefficient as you scale beyond
300M points [ananthan2024] and/or require the use of downsampling and data
reduction techniques. Moreover from a flow physics point of view, the Windsor
body [Varney2020a, page2022] is closer to modern road-cars compared to the
Ahmed car body and contains more detailed and up to date experimental data e.g
tomographic 3D PIV data.

Finally, the choice of the Windsor body is also motivated by its use within
the Automotive CFD Prediction Workshops (AutoCFD) 111https://autocfd.org that
aim to bring the fluid dynamics and automotive community together to improve
the state of the art for CFD prediction of road vehicles. The dataset
described in this paper was used as a test-case during the 4th AutoCFD
workshop, for which future papers will discuss the resulting comparisons from
a range of different ML methods. Concurrently the DrivAerML dataset
[ashton2024drivaer] based upon the open-source Drivaer has been created, that
is described in it’s own paper. Used together, the AhmedML [ashton2024ahmed],
WindsorML and DrivAerML [ashton2024drivaer] datasets, provide ML developers
with a broad set of data to use that has been formatted in a consistent
fashion and is openly available to download and use with a permissive license
(CC-BY-SA).

### Main Contributions

This paper’s novel contributions are summarized as follows:

  * •

355 variations in the windsor body geometry that cover a broad range of
pressure and geometry induced flow separation;

  * •

the use of high-fidelity wall-modeled Large-Eddy Simulation (WMLES) CFD method
which ensures the best possible correlation to the ground truth;

  * •

first ever, freely available, open-source (CC-BY-SA) large-scale dataset based
upon the windsor body that can be used to train ML methods for automotive
aerodynamics use cases.

The paper is organised as follows: first, the Windsor test-case is described
together with the available experimental data. Next, the validation of the
baseline geometry and test-case are described. The results section focuses on
both global force coefficients and also selected off-body quantities such as
planes in the wake of the car. Next, the dataset itself is detailed, including
the choice of the geometry variations and the specific outputs that are
included in the dataset. Finally, conclusions are drawn and future work is
described. The Supplementary Information (SI) contains additional details on
the dataset and validation.

## Test-Case Description

The Windsor body was created by Steve Windsor and Jeff Howell of Rover and
later Jaguar Land Rover (JLR) [Varney2020a, page2022] to improve upon the well
studied Ahmed car body [Lienhart2003, Ahmed1984, meile2011, Ashton2015a] by
creating a geometry whose flow features more closely a road vehicle. Whilst
the Ahmed car body has been used in many experimental and CFD studies, the
long flat surface between the front and rear of the body decouples the
aerodynamic behaviour of these two regions and makes it more relevant to
commercial vehicles. Two variants of the Windsor body were experimentally
tested at the Loughborough University wind-tunnel [Varney2020a] and have been
the subject of numerous CFD studies - that most recently have taken place
within the 2nd, 3rd and 4th Automotive CFD Prediction Workshops [page2022].
The Windsor body was tested in numerous configurations but for this study we
follow the 4th AutoCFD4 setup, where the vehicle has no wheels (which
simplifies a common source of uncertainty) and the squareback rear shape is
used, as the baseline geometry. As discussed later, this baseline geometry is
then adapted according to 7 parameters to generate 355 different geometries.

Figure 1: Windsor Geometry

### Geometry

The model geometry is shown in Figure 1. The reference frontal area is defined
by the vehicle height and width and for the baseline geometry is
$\qty{0.112}{{}^{2}}$. The reference length used for pitching moment is the
wheelbase $\qty{0.6375}{}$. The CAD geometry of the model has its origin on
the ground plane, in the symmetry plane midway between the wheels (which are
not included in this particular geometry) i.e $x,y,z=(0,0,0)$. This is also
the moment reference center for the calculating of the moments.

The model is yawed by $-\qty{2.5}{}$ around the $y$-axis (please note that for
all the simulations in this work, $y$ is upwards, which differs to the
original Windsor geometry where $z$ is upwards) , so generating a positive
side force consistent with the experiment. The experimental forces and moments
are in the coordinate system of the yawed model, whilst the PIV measurements
are in the wind tunnel coordinate system. The choice of $-\qty{2.5}{}$ yaw was
to avoid the well documented bi-stability that can often occur on these bluff
bodies [Volpe2015] that would cause unnecessary uncertainties (but
nevertheless deserves future investigation).

The model is mounted in the wind tunnel with four pins at a ground clearance
of $\qty{50}{}$ and zero pitch. In order to more closely match the underlying
experimental data, the simulations themselves include a simplified wind tunnel
domain i.e. $\qty{3.2}{}$ long working section with a
$\qty{1.92}{}\times\qty{1.32}{}$ (width by height) cross section. There is no
moving ground plane so a boundary layer grows along the groundplane.
Experimental measurements [Varney2020a] at the centre of the working section
quote a boundary layer thickness of $\qty{60}{}$, displacement thickness of
$\qty{9.4}{}$ and momentum thickness of $\qty{5.5}{}$. The maximum turbulence
intensity was measured to be approximately 3% at the edge of the boundary
layer.

### Solver Setup

All simulations were run using the Volcano ScaLES code by Volcano Platforms,
which solves the explicit compressible Navier–Stokes equations using a
nominally 4th order spatially accurate finite difference discretization with
favorable Kinetic Energy and Entropy Consistency properties making it suitable
for Large Eddy Simulations (LES) over a range of flow regimes. The viscous
flux discretization utilizes a mix of 4th order and 2nd order discretizations
with high spectral bandwidth thereby allowing further robustness for high
Reynolds number flows without additional numerical dissipation via the
inviscid flux numerical operator in turbulence resolving regions. Physics-
based numerical sensors that are functions of local velocity gradients as well
as pressure and density fluctuations allow for spatio-temporally localized use
of limiters needed to capture flows with discontinuities such as shocks and
steep density gradients. The Strong Stability Preserving (SSP) variant of the
classical 3rd order Runge–Kutta scheme developed by Gottlieb &
Shu[gottlieb1998total] is utilized for all the work presented in this paper.

Geometries are represented in the numerical formulation using an immersed
boundary algorithm capable of enforcing inviscid no-penetration boundary
conditions as well as viscous skin friction with appropriate Reynolds number
asymptotic properties using an equilibrium wall-model. The wall-model that
provides a shear-stress constraint at the wall uses solution information
interpolated via probing at a fixed distance of $3\Delta/2$ into the fluid
away from walls. Additional methods to damp generation of spurious numerical
noise at walls as well as at coarse-fine interfaces are also utilized in the
present work. All simulations presented in this work utilize the constant
coefficient Vreman subgrid scale closure[vreman2004eddy] to model the subgrid-
scale stresses.

#### Computational Mesh

The Volcano ScaLES solver uses Cartesian grids generated using a recursive
octree approach. Grids around engineering-quality configurations consist of an
unstructured tree-of-cubes with millions of leaf cubes each containing a
structured grid of $4^{3}$ or $8^{3}$ cells.

Figure 3 depicts the nested refinements regions for the optimized mesh.
Refinement is emphasized for the boundary layer development from the nose of
the car and for the wake and off-body vorticity directly behind the body.
Section 3 of this paper discusses in detail the validation of this code
against experimental data for the baseline windsor model and the rationale
behind the choice of computational mesh.

### Boundary Conditions

To follow the setup of the AutoCFD 3 and 4 workshops, the Windsor body is
yawed 2.5 degrees and the Reynolds number is $Re=2.9\times 10^{6}$ based on
the body length and the freestream velocity. A nominal inlet velocity of
$\qty{40}{\per}$ is given upstream of the car and a sensor is placed at
$(x,y,z)=(\qty{-2}{},\qty{1.3}{},\qty{0}{})$ to measure local static pressure
and velocity. For the validation of the method against experimental data for
the baseline geometry, these are used to normalize the simulation outputs,
however for the dataset itself, the reference inlet velocity is used to
normalize all outputs (see SI for further details). The remaining boundary
conditions are shown in Figure 2.

The domain required for this case (see Figure 2) represents the wind tunnel
confinement but with the following modifications:

  1. 1.

The Windsor body sidewalls are aligned with the $x$-direction, the tunnel is
yawed.

  2. 2.

Only the ground plane has a no slip condition and hence has boundary layer
growth; the top and side walls should be treated as a slip or ‘inviscid’ wall.

  3. 3.

A long parallel inlet run is used in order to grow a boundary layer on the
ground plane of approximately the correct thickness.

  4. 4.

A parallel exit run is added downstream to avoid interactions with the wake.
The domain extends upstream to $x=-\qty{5}{}$ and downstream to $x=+\qty{6}{}$
(the model is $x=-\qty{0.56}{}$ nose to $x=+\qty{0.48}{}$ base). The width and
height of the CFD domain matches the wind tunnel.

  5. 5.

The “outlet” for the tunnel is not a domain boundary for these simulations
even though the volume data does not extend further. To minimize numerical
reflections from the tunnel exit, the tunnel was allowed to vent into a large
reservoir which is initialized with atmospheric conditions and given simple
extrapolation boundary conditions far from the tunnel. This means there is no
fixed pressure condition or any other boundary condition enforced at the
tunnel exit.

Figure 2: Depiction of the computational domain for the Windsor body
simulations.  Figure 3: Grid spacing for a slice through $z=\qty{0}{}$ for the
Windsor body.

### HPC setup

All simulations were run on Amazon Web Services, using a dynamic HPC cluster
provisioned by AWS ParallelCluster v3.9. Amazon EC2 g5.48xlarge nodes were
used for each case, which contain 8 Nvidia A10g GPU cards and a second
generation AMD EPYC processor with 96 physical cores and 768GB of CPU memory.
These are connected using a 100Gbit/s Elastic Fabric Adapter (EFA)
interconnect [Shalev2020]. A 300TB Amazon Fsx for Lustre parallel file-system
was used as the main data location during the runs, which were later
transferred to object storage in Amazon S3. Each simulation was run on a
single g5.48xlarge node i.e 8 A10g GPUs, and each case took approximately
2mins to mesh and 28hrs to solve.

## Validation

Table 1: Computational cost for the Windsor body. Label | Min. $\Delta x$ | No. of Cells | Wall time / CTU | $C_{D}$
---|---|---|---|---
| [$\mathrm{mm}$] | [$10^{6}$] | [min] |
$G_{1}$ | 1.00 | 151 | 6 | 0.31
$G_{2}$ | 0.75 | 275 | 15 | 0.34
$G_{3}$ | 0.625 | 468 | 27 | 0.33
Exp. | - | - | - | 0.33

For the design case study, we choose to keep the refinement regions fixed for
all design cases. Using the fixed refinement topology, we consider a
consistent grid refinement study for the Windsor body. An example of a grid in
this family is depicted in Figure 3. The surface of the body is refined to the
finest level with a large wake block immediately behind the body. The block is
taller than necessary for the Windsor body but since we are choosing to keep
the refinement regions fixed we define a region to accommodate all designs
ride height. Table 1 shows results of a consistent grid refinement study using
a sequence of grids $\\{G_{j}\\}$ for $j=1,2$ and $3$. The columns of the
table show the minimum grid spacing used, the number of computational cells in
the grid, the wall-clock time per convective time unit222Nondimensional time
is defined to be $t^{*}=tU_{\infty}/L$ where $L$ is the length of the Windsor
body. (CTU) in minutes and the drag coefficient $C_{d}$. An additional row is
included for the experimental drag coefficient value. Based on the results,
$G_{2}$ is chosen as a representative baseline case and the remainder of the
experimental comparisons are carried out for the $G_{2}$ grid. This was to
achieve a balance between accuracy, computational cost and reach a mesh size
that is typically used by the automotive industry for external aerodynamics.

Velocity: Typical of bluff-bodies, the Windsor body shows a large
recirculation region at the base. The data for the $y=\qty{0.195}{}$ slice was
taken with a freestream velocity of $\qty{40}{\per}$ which is the same as our
simulation but, in addition to this plane, tomographic PIV was taken for a 3D
region behind the car. This data was recorded for a flow with a freestream
velocity of $\qty{30}{\per}$. To make comparisons with the tomographic PIV
data, we normalize the velocities by their freestream velocity. With that
caveat, Figures 4 & 5 shows a comparison of the normalized time-averaged
streamwise velocity for $y=\qty{0.195}{}$ compared with the PIV measurements
and the same solution at $z=\qty{0}{}$ compared to the tomographic PIV data.
The overall shape of the wake region is well captured as well as its
interaction with the floor boundary layer which can be seen in the velocity
contours. See SI for a detailed discussion on the validation of the underlying
CFD method.

Averaged SolutionWith PIV Data Figure 4: Time-averaged streamwise velocity at
$y=\qty{0.195}{}$ with PIV data Averaged SolutionWith Tomo. PIV Data Figure 5:
Time-averaged streamwise velocity at $z=\qty{0}{}$ with tomographic PIV data.

## Dataset description

### Geometry variations

The baseline geometry is transferred into a parameterized CAD model to allow
for automated sampling in the design space. The chosen sampling algorithm is a
Halton sequence, which results in a quasi-random low discrepancy sequence with
the advantages of being deterministic and extendable. The parameters and
respective ranges are shown in Figure 6 and Table 2. The parameters were
chosen to provide a suitable range of geometries that would exhibit different
flow patterns e.g pressure vs geometry induced separation. The min/max values
of each value were based upon engineering judgement and to avoid completely
unrealistic shapes as well as avoid invalid shapes during geometry creation.
The choice of 355 geometries were also based upon a mixture of computational
budget as well as matching what may be possible within industry i.e how many
geometries would realistically be generated within an engineering company.
Future work could be to expand this dataset further if required.

The geometry choice within the dataset results in a broad range of flow
physics - that is partly illustrated in Figures 7(c) and 7(d) which show the
large range of drag and lift coefficients across the dataset. Figures 7(a) and
7(b) take two examples from the dataset that shows the resulting flow-field
(mean streamwise velocity) for a geometry producing a high drag coefficient
and another one for a low drag coefficient (see SI for more detailed
discussion of the dataset outputs).

Figure 6: Parameterized CAD model Table 2: Geometry variants of the Windsor body Variable | Min | Max
---|---|---
ratio_length_front_rear | 0 | 0.8
ratio_length_back_fast | 0.08 | 0.5
ratio_height_nose_windshield | 0.3 | 0.7
ratio_height_fast_back | 0 | 0.9
side_taper [mm] | 50 | 100
clearance [mm] | 10 | 200
bottom_taper_angle [°] | 1 | 50

(a) Mean streamwise velocity for high drag geometry variant example

(b) Mean streamwise velocity for low drag geometry variant example

(c) Variation of drag coefficient against run number

(d) Variation of lift coefficient against run number

Figure 7: Variation of mean streamwise velocity and force coefficients across
a sample of the dataset

### How to access the dataset

The dataset is open-source under the CC-BY-SA license
333https://creativecommons.org/licenses/by-sa/4.0/) and available to download
via Amazon S3. In order to download, no AWS account is required and the full
details are provided in the SI and the dataset README
444https://caemldatasets.s3.us-
east-1.amazonaws.com/windsor/dataset/README.txt.

### Dataset description

The dataset follows the same structure as two concurrently developed datasets;
AhmedML [ashton2024ahmed] and DrivAerML [ashton2024drivaer]. A summary of the
dataset is provided in Table 3 (see SI for full details). The purpose of the
dataset is to provide a rich dataset to support the development of a broad
range of potential ML approaches. For this reason, we provide all possible
outputs such as the full volume flow-field, the boundary surface, images of
the flow-field as well as the time-averaged force and moment coefficients. All
the outputs are provided in commonly used open-source formats (vtp, vtu etc)
which allow for the the broadest compatibility and ease of use for developers.

### Limitations of the dataset

Whilst this high-fidelity, large-scale dataset has numerous benefits over
prior work that was based upon lower-fidelity methods, there are a number of
limitations:

  * •

The dataset has purely geometrical differences with no variation in boundary
conditions. Extending the dataset to include boundary condition changes, such
as the inflow velocity, would help ML developers to use this dataset for more
than just geometry prediction.

  * •

Whilst the Windsor body improves over the Ahmed car body it lacks the
complexity of a real-life vehicle (addressed by the upcoming related DrivAerML
dataset [ashton2024drivaer])

  * •

The dataset only includes time-averaged data rather than time-series. Future
work could be to extend the dataset to also include a limited number of
transient outputs i.e volume/boundary outputs at each time-step.

Table 3: Summary of the dataset contents Output |  Description
---|---
Per run (inside each run_i folder)
windsor_i.stl |  surface mesh of the windsor body geometry
windsor_i.stp |  surface CAD of the windsor body geometry
boundary_i.vtu |  time-averaged flow quantities (Pressure Coefficient, Skin-Friction Coefficient, $y^{+}$) on the Windsor car body surface
volume_i.vtu |  time-averaged flow quantities (pressure, velocity, Reynolds Stresses, Turbulent Kinetic Energy) within the domain volume
force_mom_i.csv |  time-averaged drag, & lift, side-force and pitching moment coefficients using constant $A_{ref}$ & $L_{ref}$
force_mom_varref_i.csv |  time-averaged drag, & lift, side-force and pitching moment coefficients using case-dependant $A_{ref}$
geo_parameters_i.csv |  parameters that define the shape (in mm)
images |  folder containing .png images of Reynolds stresses, streamwise velocity and pressure in $X$, $Y$, $Z$ slices through the volume
Other
force_mom_all.csv |  time-averaged drag & lift for all runs
force_mom_varref_all.csv |  time-averaged drag & lift using case-dependant $A_{ref}$ for all runs
geo_parameters_all.csv |  parameters that define the shape for all runs

## Conclusions

In this paper, we present a new large-scale, open-source Computational Fluid
Dynamics dataset based upon 355 geometry variants of the automotive Windsor
body. The flow conditions are fixed and seven geometric parameters of interest
to automotive designers are varied. The CFD simulations use a high-fidelity,
time-accurate scale-resolving approach to ensure accurate prediction of the
underlying flow structures. The dataset uses widely used open-source formats
and contains the vehicle geometries, time averaged integrated forces, time
averaged vehicle surface data and time average volumetric flowfield data. It
is hoped that this open-source dataset will allow for faster development of
data-driven and physics-driven ML approaches for vehicle aerodynamics
prediction.

## Acknowledgments and Disclosure of Funding

Thank you to members of the AutoCFD4 AI/ML TFG for early feedback on the
dataset. Thank you to Nate Chadwick, Peter Yu, Mariano Lizarraga, Pablo
Hermoso Moreno, Shreyas Subramanian and Vidyasagar Ananthan from Amazon Web
Services for the useful contributions and feedback as well as debugging of the
dataset in preparation for release. Also, thank you to Bernie Wang for
providing additional feedback on the paper itself.

## References

WindsorML: Supplementary Information

###### Contents

  1. A Numerical methodology
    1. A.1 Large Eddy Simulations
    2. A.2 Discretization
  2. B Dataset
    1. B.1 Licensing terms
    2. B.2 Access to dataset
    3. B.3 Long-term hosting/maintenance plan
    4. B.4 Intended use
    5. B.5 DOI
    6. B.6 Dataset contents
      1. B.6.1 Cartesian to Unstructured output
      2. B.6.2 Time-Averaging
      3. B.6.3 Force Coefficients
      4. B.6.4 Boundary data
      5. B.6.5 Volume data
      6. B.6.6 Images
      7. B.6.7 Data formats
    7. B.7 Geometry variants
  3. C Additional Validation details
  4. D Datasheet
    1. D.1 Motivation
    2. D.2 Distribution
    3. D.3 Maintenance
    4. D.4 Composition
    5. D.5 Collection Process
    6. D.6 Preprocessing/cleaning/labeling
    7. D.7 Uses

##  Appendix A Numerical methodology

Volcano ScaLES, a GPU-based Large Eddy Simulation (LES) solver developed by
Volcano Platforms Inc. is utilized to generate this database. Volcano ScaLES
solves the compressible Navier-Stokes equations on Cartesian Octree grids with
solid geometries discretized using an immersed boundary method suitable for
high Reynolds number flows. In this section, we cover the basic formulation
along with brief details about the closure modeling being employed.

###  A.1 Large Eddy Simulations

Since a compressible Navier-Stokes formulation is utilized, Favre-averaged
(density weighted) flow variables are solved

$\tilde{f}=\frac{\overline{\rho f}}{\overline{\rho}}$ (1)

where the $\overline{\cdot}$ denotes the standard LES low-pass filtering
operator (with a length scale proportional to the grid spacing, $\Delta$), and
$\rho$ denotes the density field. Using this combination of Favre-averaging
and low-pass filtering, the conservation of mass equation can be written as

$\frac{\partial\overline{\rho}}{\partial t}+\frac{\partial}{\partial
x_{i}}\left(\overline{\rho}\tilde{u}_{i}\right)=0$ (2)

where $\tilde{u}_{i}$ is the Favre-filtered velocity field. Similarly, the
momentum equation is given by

$\frac{\partial\overline{\rho}\tilde{u}_{i}}{\partial
t}+\frac{\partial}{\partial
x_{j}}\left(\overline{\rho}\tilde{u}_{i}\tilde{u}_{j}\right)+\frac{\partial\overline{p}}{\partial
x_{i}}-\frac{\partial{\hat{\sigma}_{ij}}}{\partial x_{j}}=\frac{\partial
R_{ij}}{\partial x_{j}}$ (3)

where $\overline{p}$ is the low-pass filtered static pressure and the resolved
viscous stress tensor is given by:

$\hat{\sigma}_{ij}=2\mu(\tilde{T})\left(\frac{1}{2}\left(\frac{\partial\tilde{u}_{i}}{\partial
x_{j}}+\frac{\partial\tilde{u}_{j}}{\partial
x_{i}}\right)-\frac{1}{3}\delta_{ij}\frac{\partial\tilde{u_{k}}}{\partial
x_{k}}\right)$ (4)

Note that the dynamic viscosity, $\mu$ can be expressed as a function of
Favre-filtered static temperature using an appropriate law (such as the
Sutherland’s law). However, in the present work, this dynamic viscosity has be
assumed to a spatio-temperal constant with a value determined to achieve the
required Reynolds number. Static temperature, $\tilde{T}$ is a function of the
local pressure and density in accordance to the ideal gas law using a gas
constant, $R$:

$\tilde{T}=\frac{\overline{\rho
T}}{\overline{\rho}}=\frac{\overline{P}}{R\overline{\rho}}$ (5)

The term on the right-hand side of Equation 3 is the un-closed LES term that
needs to be modelled,

$R_{ij}=\overline{\rho}\left(\tilde{u}_{i}\tilde{u}_{j}-\ThisStyle{\stackengine{-.1\LMpt}{\SavedStyle
u_{i}u_{j}}{\stretchto{\scaleto{\SavedStyle\mkern
0.2mu\AC}{.5150}}{.6}}{O}{c}{F}{T}{S}}\right)$ (6)

Note that the residual stress given above assumes that
$\hat{\sigma}_{ij}-\tilde{\sigma}_{ij}$ is negligible; this is true in high-
Reynolds number flows and is exact for constant viscosity flows. Vreman’s
constant coefficient algebraic model[vreman2004eddy] is used to close residual
stress tensor:

$R_{ij}=f_{\text{vreman}}\left(c_{\text{vreman}},\Delta,\overline{\rho},\frac{\partial\tilde{u}_{i}}{\partial
x_{j}}\right)$ (7)

The governing equation for conservation of total energy is given as

$\frac{\partial\hat{e}}{\partial t}+\frac{\partial}{\partial
x_{j}}\left((\hat{e}+\overline{p})\tilde{u}_{j})\right)+\frac{\partial\hat{q}_{j}}{\partial
x_{j}}-\frac{\partial}{\partial
x_{j}}\left(\hat{\sigma}_{ij}u_{i}\right)=R_{e}$ (8)

where the unclosed terms on the right hand side represent interactions between
subgrid-scale energy and the resolved scale energy. Since these terms are only
relevant at high Mach numbers, the residual terms in the energy equation are
modelled via just a turbulent Prandtl number and the Vreman’s eddy viscosity
model used for the momentum equations. The positive definiteness of the SGS
eddy viscosity ensures that the numerical model for the filtered energy
equation is purely dissipative, i.e. it assumes that the energy is exclusively
transfered from the large scales to the small scales of motion.

$R_{e}=f^{e}_{\text{vreman}}\left(c_{\text{vreman}},\text{Pr}_{\text{turb}},\Delta,\overline{\rho},\frac{\partial\tilde{u}_{i}}{\partial
x_{j}},\frac{\partial\tilde{T}}{\partial x_{j}}\right)$ (9)

The resolved total energy, $\hat{e}$ can be expressed exclusively in terms of
other resolved field variables as

$\hat{e}=\frac{\overline{p}}{\gamma-1}+\frac{1}{2}\overline{\rho}\tilde{u}_{i}\tilde{u}_{i}$
(10)

###  A.2 Discretization

Volcano ScaLES solves the governing LES equations using a nominally 4th order
spatially accurate finite difference discretization with favorable Kinetic
Energy and Entropy Consistency properties making it suitable for Large Eddy
Simulations (LES) over a vast range of flow regimes. The viscous flux
discretization utilizes a mix of 4th order and 2nd order discretizations with
high spectral bandwidth thereby allowing further robustness for high Reynolds
number flows without additional numerical dissipation via the inviscid flux
numerical operator in turbulence resolving regions. Physics-based numerical
sensors that are functions of local velocity gradients as well as pressure and
density fluctuations allow for spatio-temporally localized use of limiters
needed to capture flows with discontinuities such as shocks and steep density
gradients.

A key advantage of Cartesian grids with unit aspect ratio is the use of
explicit time-stepping scheme even in flows involving highly complex
geometries; the perfectly isotropic grid cells near the geometry do not
introduce any numerical stiffness associated with complex grid topologies.
There are other significant advantages of Cartesian meshes including
significantly reduced memory requirements for storing the grid as well as
efficient and high accuracy in the underlying numerical formulation. The
popular Strong Stability Preserving (SSP) variant of the classical 3rd order
Runge–Kutta scheme developed by Gottlieb & Shu[gottlieb1998total] is utilized
for all the work presented in this paper. Geometries are represented in the
numerical formulation using a ghost-cell immersed boundary algorithm capable
of enforcing inviscid no-penetration boundary conditions as well as viscous
skin friction with appropriate Reynolds number asymptotic properties using an
equilibrium wall-model. The wall-model that provides a shear-stress constraint
at the wall uses solution information interpolated via probing at a fixed
distance of $3/2\Delta$ into the fluid away from walls.

##  Appendix B Dataset

###  B.1 Licensing terms

The dataset is provided with the Creative Commons CC-BY-SA v4.0
license555https://creativecommons.org/licenses/by-sa/4.0/deed.en. A full
description of the license terms is provided under the following URL:

https://caemldatasets.s3.us-east-1.amazonaws.com/windsor/dataset/LICENSE.txt

###  B.2 Access to dataset

The dataset is hosted on Amazon Web Services (AWS) via an Amazon S3 bucket

s3://caemldatasets/windsor/dataset

The dataset README.txt will be kept up to date for any changes to the dataset
and can be found at the following URL:

https://caemldatasets.s3.us-east-1.amazonaws.com/windsor/dataset/README.txt

The dataset itself can be downloaded via the AWS Command Line Interface (CLI)
tool, which is free-of-charge. An instruction about how to install the AWS CLI
tool is given here: https://docs.aws.amazon.com/cli/latest/userguide/getting-
started-install.html. After installing AWS CLI, please follow the example
instructions in the README.txt on ways to download the data from Amazon S3 e.g
to download all the files you can run the following (however note the dataset
size is more than 20TB in total) :

      aws s3 cp --recursive s3://caemldatasets/windsor/dataset .

Note 1 : If you don’t have an AWS account you will need to add –no-sign-
request within your AWS command i.e aws s3 cp –no-sign-request –recursive etc…
Note 2 : If you have an AWS account, please note the bucket is in us-east-1,
so you will have the fastest download if you have your AWS service or EC2
instance running in us-east-1.

###  B.3 Long-term hosting/maintenance plan

The data is hosted on Amazon S3 as it provides high durability, fast
connectivity and is accessible without first requesting an account or
credentials (only AWS CLI tools, described above, which are free to download
and use). A dedicated website is currently being created for this dataset and
the two associated datasets; AhmedML [ashton2024ahmed] and DrivAerML datasets
[ashton2024drivaer] to help further clarify where the data is hosted and to
communicate any additional mirroring sites.

###  B.4 Intended use

The dataset was created with the following intended uses:

  * •

Development and testing of data-driven or physics-driven ML surrogate models
for the prediction of surface, volume and/or force coefficients

  * •

a stepping stone dataset between the simplier AhmedML [ashton2024ahmed] and
more complex DrivAerML dataset [ashton2024drivaer]

  * •

Large-scale dataset to study bluff-body flow physics

###  B.5 DOI

At present there is no specific DOI for the dataset (only for this associated
paper) - however the authors are investigating ways of assigning DOI to this
Amazon S3 hosted dataset.

###  B.6 Dataset contents

For each geometry there is a separate folder (e.g `run_1`, `run_2`, …,
`run_i`, etc.) , where "i" is the run number that ranges from 0 to 354. All
run folders contain the same time-averaged data which is summarized in Table
4.

Table 4: Summary of the dataset contents Output |  Description
---|---
Per run (inside each run_i folder)
windsor_i.stl |  surface mesh of the windsor body geometry
windsor_i.stp |  surface CAD of the windsor body geometry
boundary_i.vtu |  time-averaged flow quantities (Pressure Coefficient, Skin-Friction Coefficient, $y^{+}$) on the Windsor car body surface
volume_i.vtu |  time-averaged flow quantities (pressure, velocity, Reynolds Stresses, Turbulent Kinetic Energy) within the domain volume
force_mom_i.csv |  time-averaged drag, & lift, side-force and pitching moment coefficients using constant $A_{ref}$ & $L_{ref}$
force_mom_varref_i.csv |  time-averaged drag, & lift, side-force and pitching moment coefficients using case-dependant $A_{ref}$
geo_parameters_i.csv |  parameters that define the shape (in mm)
images |  folder containing .png images of Reynolds stresses, streamwise velocity and pressure in $X$, $Y$, $Z$ slices through the volume
Other
force_mom_all.csv |  time-averaged drag & lift for all runs
force_mom_varref_all.csv |  time-averaged drag & lift using case-dependant $A_{ref}$ for all runs
geo_parameters_all.csv |  parameters that define the shape for all runs

####  B.6.1 Cartesian to Unstructured output

In order to simplify the reading of the dataset into existing tools, the
Cartesian data was converted into a fully unstructured VTK mesh made of
hexahedra. Solution data at cell centers of the hexahedra are averaged to cell
corners accounting for block neighbor’s data. This change makes the data
easier to consume since VTK is widely used in the scientific community and
tools to read and process these files are readily available (e.g. ParaView).

####  B.6.2 Time-Averaging

The dataset only includes time-averaged data rather than time-series due to
the extremely large number of time-steps that would be required to output i.e
$>100,000$. However future work could be to include this for a limited number
of runs to help develop models to capture the time-history.

####  B.6.3 Force Coefficients

The drag, lift and side-force coefficients are defined as follows (please note
that for all the simulations in this work $y$ is upwards, which differs to the
original windsor work where $z$ is upwards):

$C_{\mathrm{D}}=\frac{F_{x}}{0.5\,\rho_{\infty}\,|U_{\infty}|^{2}\,A_{ref}}\,,\quad
C_{\mathrm{L}}=\frac{F_{y}}{0.5\,\rho_{\infty}\,|U_{\infty}|^{2}\,A_{ref}}\,,\quad
C_{\mathrm{S}}=\frac{F_{z}}{0.5\,\rho_{\infty}\,|U_{\infty}|^{2}\,A_{ref}}\,,\quad$
(11)

Where $F$ is the integrated force, $A$ is the frontal area of the geometry,
and $\rho_{\infty}$ is the reference density (see Table 5 for reference
values).

The pitching moment is defined as:

$C_{\mathrm{My}}=\frac{M_{y}}{0.5\,\rho_{\infty}\,|U_{\infty}|^{2}\,A_{ref}\,L_{ref}}\,,\quad$
(12)

Where $M$ is the integrated moment, $A_{ref}$ is the frontal area of the
geometry, $L_{ref}$ is the reference length, and $\rho_{\infty}$ is the
reference density (see Table 5 for reference values).

Two outputs are provided for the forces; one in which the reference area is
kept constant across all details (force_mom_i.csv), and secondly one where it
based upon the frontal-area of each different geometry variant
(force_mom_varref_i.csv).

####  B.6.4 Boundary data

Time-averaged surface data for nondimensional force coefficients are provided.
The surface pressure coefficient $C_{p}=(p-p_{\text{ref}})/q_{\text{ref}}$
where the "freestream" dynamic pressure is
$q_{\text{ref}}=\frac{1}{2}\rho_{\text{ref}}|U_{\text{ref}}|^{2}$ and
$p_{\text{ref}}$ is the "freestream" pressure. Similarly, $cf_{x}$, $cf_{y}$
and $cf_{z}$ correspond to the wall-strear-stress tensor (units Pascal)
projections in the three coordinate directions normalized by $q_{\text{ref}}$.
Lift and drag coefficients can be computed via surface integration of the
local $C_{p}$, $cf_{x}$, etc. using a simple surface quadrature rule
(rectangle-rule in the present case). Note that lift and drag use the
"reference area" to normalize the differential area that shows up for surface
integration.

As previously mentioned, the time-averaged quantities from the numerical
sensor (measured at $(x,y,z)=(\qty{-2}{},\qty{1.3}{},\qty{0}{})$) are used to
normalize the force and pressure coefficients for the baseline experimental
setup, but not for this particular dataset (given there is no wind-tunnel data
for the geometries).

Table 5: Nominal freestream conditions and reference dimensions. $U_{\text{ref}}$ | $40\;$\mathrm{m}\mathrm{/}\mathrm{s}$$
---|---
$\rho_{\text{ref}}$ | $1.31\;$\mathrm{k}\mathrm{g}\mathrm{/}\mathrm{m}^{3}$$
$p_{\text{ref}}$ | $37330.4\;$\mathrm{P}\mathrm{a}$$
$A_{\mathrm{ref}}$ | $0.112\;$\mathrm{m}^{2}$$
$L_{\mathrm{ref}}$ | $0.6375\;$\mathrm{m}$$

####  B.6.5 Volume data

The “outlet” for the tunnel is not a domain boundary for these simulations
even though the volume data does not extend further. To minimize numerical
reflections from the tunnel exit, the tunnel was allowed to vent into a large
reservoir which is initialized with atmospheric conditions and given simple
extrapolation boundary conditions far from the tunnel. This means there is no
fixed pressure condition or any other boundary condition enforced at the
tunnel exit.

####  B.6.6 Images

Table 7 describes the .png images that are created in $x$, $y$ and $z$
directions to either enable ML methods to directly predict them and/or provide
a quick way to inspect the flow fields.

####  B.6.7 Data formats

All provided data is in the open source format VTK (i.e. *.vtp and *.vtu) to
ensure the broadest compatibility.

Table 6: List of output quantities in the provided dataset files, all
quantities are time-averaged. volume_i.vtu
---
Symbol |  Units |  Field name |  Description
$\overline{p^{*}}$ |  $[$\mathrm{m}^{2}\mathrm{/}\mathrm{s}^{2}$]$ |  pressureavg |  relative kinematic pressure
$\overline{U_{x}}$ |  $[$\mathrm{m}\mathrm{/}\mathrm{s}$]$ |  velocityxavg |  velocity component in $x$
$\overline{U_{y}}$ |  $[$\mathrm{m}\mathrm{/}\mathrm{s}$]$ |  velocityyavg |  velocity component in $y$
$\overline{U_{z}}$ |  $[$\mathrm{m}\mathrm{/}\mathrm{s}$]$ |  velocityzavg |  velocity component in $z$
$\overline{u^{\prime}_{x}u^{\prime}_{x}}$ |  $[$\mathrm{m}^{2}\mathrm{/}\mathrm{s}^{2}$]$ |  reynoldsstressxx |  resolved Reynolds stress xx
$\overline{u^{\prime}_{y}u^{\prime}_{y}}$ |  $[$\mathrm{m}^{2}\mathrm{/}\mathrm{s}^{2}$]$ |  reynoldsstressyy |  resolved Reynolds stress yy
$\overline{u^{\prime}_{z}u^{\prime}_{z}}$ |  $[$\mathrm{m}^{2}\mathrm{/}\mathrm{s}^{2}$]$ |  reynoldsstresszz |  resolved Reynolds stress zz
$\overline{u^{\prime}_{x}u^{\prime}_{y}}$ |  $[$\mathrm{m}^{2}\mathrm{/}\mathrm{s}^{2}$]$ |  reynoldsstressxy |  resolved Reynolds stress xy
$\overline{u^{\prime}_{x}u^{\prime}_{z}}$ |  $[$\mathrm{m}^{2}\mathrm{/}\mathrm{s}^{2}$]$ |  reynoldsstressxz |  resolved Reynolds stress xz
$\overline{u^{\prime}_{y}u^{\prime}_{z}}$ |  $[$\mathrm{m}^{2}\mathrm{/}\mathrm{s}^{2}$]$ |  reynoldsstressyz |  resolved Reynolds stress yz
$\overline{k}$ |  $[$\mathrm{m}^{2}\mathrm{/}\mathrm{s}^{3}$]$ |  tke |  turbulent kinetic energy
boundary_i.vtu
Symbol |  Unit |  Field name |  Description
$\overline{y^{+}}$ |  $[-]$ |  yplusavg |  $y^{+}$
$\overline{C_{f}x}$ |  $[-]$ |  cfxavg |  skin-friction coefficient in $x$
$\overline{C_{f}y}$ |  $[-]$ |  cfyavg |  skin-friction coefficient in $y$
$\overline{C_{f}z}$ |  $[-]$ |  cfzavg |  skin-friction coefficient in $z$
$\overline{C_{p}}$ |  $[-]$ |  cpavg |  static pressure coefficient
$\overline{{C_{p}}^{2}}$ |  $[-]$ |  cpvar |  static pressure variance coefficient
Table 7: Description of files within the images folder  Name | Description
---|---
pressureavg (folder) | time-averaged pressure
velocityxavg (folder) | time-averaged $x$-component of the velocity
rstress_xx (folder) | time-averaged $xx$-component of the Reynolds stress tensor
rstress_yy (folder) | time-averaged $yy$-component of the Reynolds stress tensor
rstress_zz (folder) | time-averaged $zz$-component of the Reynolds stress tensor
windsor_i.png | picture of the geometry itself
view1_constz_scan_0000-0009.png | 10 slices of the above variables in z from z= -0.4 to 0.4
view2_constx_scan_0000-0079.png | 80 slices of the above variables in x from x=-0.5 to 1.0
view3_consty_scan_0000-0019.png | 20 slices of the above variables in y from y=0.03 to 0.55

###  B.7 Geometry variants

The baseline geometry is transferred into a parameterized CAD model to allow
for automated sampling in the design space. The chosen sampling algorithm is a
Halton sequence, which results in a quasi-random low discrepancy sequence with
the advantages of being deterministic and extendable. The parameters and
respective ranges are shown in Figure 8 and Table 8. The parameters were
chosen to provide a suitable range of geometries that would exhibit different
flow patterns e.g pressure vs geometry induced separation. The min/max values
of each value were based upon engineering judgement and to avoid completely
unrealistic shapes as well as avoid invalid shapes during geometry creation.
The choice of 355 geometries were also based upon a mixture of computational
budget as well as matching what may be possible within industry i.e how many
geometries would realistically be generated within an engineering company.
Future work could be to expand this dataset further if required.

The geometry choice within the dataset results in a broad range of flow
physics - that is partly illustrated in Figures 11 and 12 which show the large
range of drag and lift coefficients across the dataset. Figures 9 and 10 take
two examples from the dataset that shows the resulting flow-field (mean
streamwise velocity) for a geometry producing a high drag coefficient and
another one for a low drag coefficient.

Figure 8: Parameterized CAD model Table 8: Geometry variants of the Windsor body Variable | Min | Max
---|---|---
ratio_length_front_rear | 0 | 0.8
ratio_length_back_fast | 0.08 | 0.5
ratio_height_nose_windshield | 0.3 | 0.7
ratio_height_fast_back | 0 | 0.9
side_taper [mm] | 50 | 100
clearance [mm] | 10 | 200
bottom_taper_angle [°] | 1 | 50
Figure 9: Mean streamwise velocity for high drag geometry variant example
Figure 10: Mean streamwise velocity for low drag geometry variant example
Figure 11: Variation of drag coefficient against run number Figure 12:
Variation of lift coefficient against run number

Figures 13, 14, 15, & 16 are provided to give an illustration of the range of
flow features and post-processing that makes this a rich dataset for the
development and testing of ML methods.

Figure 13: Image of the geometry for runs 1 to 50 Figure 14: Mean Streamwise
velocity for runs 1 to 50 at $z=0$ Figure 15: Mean Streamwise velocity for
runs 1 to 50 at $y=0$ Figure 16: Mean Reynolds Stress (xx) for runs 1 to 50 at
$z=0$

##  Appendix C Additional Validation details

This sections provide some additional validation details for the Windsor body
case left out of the main paper. The main paper showed grid convergence
results for the drag coefficient which motivated our choice of the $G_{2}$
mesh as our baseline grid. Here we consider local experimental data in the
form of surface pressure measurements and velocity PIV data.

We consider an additional modification to the problem to improve efficiency.
The Mach number of the problem is not actually specified but is implied for
some temperature that must be assumed. This degree of freedom can be chosen to
artificially increase the Mach number while keeping the Reynolds number fixed.
Assuming standard atmospheric conditions implies a freestream Mach number
$M\approx 0.11$. By instead taking the ambient temperature to be
$T\approx\qty{100}{}$, the Mach number increases to $M=0.2$ which increases
the maximum stable timestep by $55\%$. Figure 23 shows the pressure
coefficient comparisons for $y=\qty{0.2595}{}$ and $z=\qty{0}{}$ with the
original Mach number, the increased Mach number case and the experimental
data. Increasing the Mach number did not degrade the quality of the solution
but significantly reduces the turn around time for each simulation considered
in the dataset. Comparisons of base pressure and PIV data are shown below for
the $G_{2}$ grid at $M=0.2$. As defined in the AutoCFD3 Case 1 problem
description, a numerical sensor is placed in the tunnel and average flow
quantities from this probe are used to normalize the pressure and velocities
from the simulation.

Pressure: In Figure 17 and Figure 18, we show experimental and computed
surface pressure coefficient values, $C_{p}$, for the cut planes $z=\qty{0}{}$
and $y=\qty{0.2595}{}$ respectively. For the $z=\qty{0}{}$ plane we observe
stronger suction in the CFD compared to the experiment near $x=\qty{-0.5}{}$
where the flow transitions, which is typical in other CFD simulations for this
problem. Otherwise, there is good agreement for the upper and lower sections.
For the $y=\qty{0.2595}{}$ cut, the CFD again shows a stronger suction peak
this time in the A-pillar area. Small variations in the data suggest a longer
averaging could be done but it would not be expected to change the agreement.
Overall, the agreement is reasonably good and similar to other results seen in
the AutoCFD3 results. A comparative view of the base pressure is shown in
Figure 19 where similar pressure distributions are seen with a low pressure
region on the leeward side of the vehicle associated with the recirculation
region. The simulation results show a higher pressure that the experiment
which is most evident on the $-z$ side, however the spatial distribution of
the pressure and thus the shape of the contours match well.

Velocity: Time-averaged streamlines colored by normalized mean streamwise
velocity at $y=\qty{0.195}{}$ are shown in Figure 20 compared with
experimental data from the thesis by Varney [Varney2020]. The streamlines show
the large recirculation region behind the vehicle and the correct flow
topology. The data for the $y=\qty{0.195}{}$ slice was taken with a freestream
velocity of $\qty{40}{\per}$ which is the same as our nominal freestream
velocity but, in addition to this plane, tomographic PIV was taken for a 3D
region behind the car. This data was recorded for a flow with a freestream
velocity of $\qty{30}{\per}$. To make comparisons with the tomographic PIV
data, we normalize the velocities by their freestream velocity. Figures 21 and
22 show progressive cuts through the wake going downstream. Starting nearest
the car, the experiment shows a thicker shear layer but as we move downstream
the predicted and experimental flow have essentially the same shear layer
thickness. The overall shape of the wake region is well captured as well as
its interaction with the floor boundary layer which can be seen in the
velocity contours.

Figure 17: Comparison of mean pressure coefficient at $z=\qty{0}{}$ for the
Windsor body.  Figure 18: Comparison of pressure coefficient at
$y=\qty{0.2595}{}$ for the Windsor body. Figure 19: Left: Time-averaged
pressure coefficient at the base of the Windsor body. Right: Comparison of
time-averaged pressure coefficient at the base of the Windsor body.

Figure 20: Comparison of mean velocity streamlines colored by normalized
streamwise velocity at $y=\qty{0.195}{}$ for the Windsor body. CFD results are
shown on the left and the experiment data is plotted on the right.

.

Averaged SolutionTomo. PIV DataAveraged SolutionTomo. PIV Data Figure 21:
Time-averaged streamwise velocity at $x=\qty{0.578}{}$ (top) and
$x=\qty{0.67048}{}$ (bottom). Averaged SolutionTomo. PIV DataAveraged
SolutionTomo. PIV Data Figure 22: Time-averaged streamwise velocity at
$x=\qty{0.77452}{}$ (top) and $x=\qty{0.867}{}$ (bottom). Figure 23:
Comparison of pressure coefficient cuts on the Windsor body for two
simulations on the same grid with different Mach numbers but the same Reynolds
number. The solution is not degraded and the maximum stable time step is
increased by 55% for the higher Mach number case.

##  Appendix D Datasheet

###  D.1 Motivation

  * •

For what purpose was the dataset created? The dataset was created to address
the current limitations of a lack of high-fidelity training data for the
development and testing of machine learning methods for Computational Fluid
Dynamics. In addition, it was created to be used as a dataset for the 4th
Automotive CFD Prediction Workshop 666https://autocfd.org

  * •

Who created the dataset (e.g., which team, research group) and on behalf of
which entity (e.g., company, institution, organization)? The dataset was
created by a consortium of developers and scientists from academia and
industry.

  * •

Who funded the creation of the dataset? The project was internally funded
within each author organisation i.e no external grants.

###  D.2 Distribution

  * •

Will the dataset be distributed to third parties outside of the entity (e.g.,
company, institution, organization) on behalf of which the dataset was
created? Yes, the dataset is open to the public

  * •

How will the dataset will be distributed (e.g., tarball on website, API,
GitHub)? The dataset will be free to download from Amazon S3 (without the need
for an AWS account).

  * •

When will the dataset be distributed? The dataset is already available to
download via Amazon S3.

  * •

Will the dataset be distributed under a copyright or other intellectual
property (IP) license, and/or under applicable terms of use (ToU)? The dataset
is licensed under CC-BY-SA license.

  * •

Have any third parties imposed IP-based or other restrictions on the data
associated with the instances? No

  * •

Do any export controls or other regulatory restrictions apply to the dataset
or to individual instances? No

###  D.3 Maintenance

  * •

Who will be supporting/hosting/maintaining the dataset? AWS are hosting the
dataset on Amazon S3

  * •

How can the owner/curator/manager of the dataset be contacted (e.g., email
address)? The owner/curator/manager of the dataset can be contacted at
<EMAIL_ADDRESS>(these are also provided in the dataset README and paper).

  * •

Is there an erratum? No, but if we find errors we will provide updates to the
dataset and note any changes in the dataset README.

  * •

Will the dataset be updated (e.g., to correct labeling errors, add new
instances, delete instances)? Yes the dataset will be updated to address
errors or provided extra functionality. The README of the dataset will be
updated to reflect this.

  * •

If the dataset relates to people, are there applicable limits on the retention
of the data associated with the instances (e.g., were the individuals in
question told that their data would be retained for a fixed period of time and
then deleted)? N/A

  * •

Will older versions of the dataset continue to be supported/hosted/maintained?
Yes, if there are substantial changes or additions, older versions will still
be kept.

  * •

If others want to extend/augment/build on/contribute to the dataset, is there
a mechanism for them to do so? We will consider this on a case by case basis
and they can contact<EMAIL_ADDRESS>to discuss this further.

###  D.4 Composition

  * •

What do the instances that comprise the dataset represent (e.g., documents,
photos, people, countries)? Computational Fluid Dynamics simulations.

  * •

How many instances are there in total (of each type, if appropriate)? Table 3
details the specific outputs that are contained in the dataset for each of the
355 geometric variations of the windsor body.

  * •

Does the dataset contain all possible instances or is it a sample (not
necessarily random) of instances from a larger set? The dataset is complete
collection of simulations run to date.

  * •

What data does each instance consist of? Table 3 details the specific outputs
that are contained in the dataset for each of the 355 geometric variations of
the windsor body.

  * •

Is there a label or target associated with each instance? N/A

  * •

Is any information missing from individual instances? No, the dataset is fully
described.

  * •

Are relationships between individual instances made explicit (e.g., users’
movie ratings, social network links)? N/A

  * •

Are there recommended data splits (e.g., training, development/validation,
testing)? We don’t provide explicit recommendations.

  * •

Are there any errors, sources of noise, or redundancies in the dataset? The
errors associated with the Computational Fluid Dynamics method is discussed in
the validation section of the main paper and SI.

  * •

Is the dataset self-contained, or does it link to or otherwise rely on
external resources (e.g., websites, tweets, other datasets)? It is self-
contained.

  * •

Does the dataset contain data that might be considered confidential (e.g.,
data that is protected by legal privilege or by doctor patient
confidentiality, data that includes the content of individuals’ non-public
communications)? The data is fully open-source and not considered
confidential.

  * •

Does the dataset contain data that, if viewed directly, might be offensive,
insulting, threatening, or might otherwise cause anxiety? No

###  D.5 Collection Process

  * •

How was the data associated with each instance acquired? The data was obtained
through Computational Fluid Dynamics (CFD) simulations and then post-processed
to extract only the required quantities.

  * •

What mechanisms or procedures were used to collect the data (e.g., hardware
apparatus or sensor, manual human curation, software program, software API)?
The main paper discusses the HPC hardware used

  * •

If the dataset is a sample from a larger set, what was the sampling strategy
(e.g., deterministic, probabilistic with specific sampling probabilities)? N/A

  * •

Who was involved in the data collection process (e.g., students, crowdworkers,
contractors) and how were they compensated (e.g., how much were crowdworkers
paid)? N/A

  * •

Over what timeframe was the data collected? Simulation were run over the year
of 2024.

  * •

Were any ethical review processes conducted (e.g., by an institutional review
board)? N/A

###  D.6 Preprocessing/cleaning/labeling

  * •

Was any preprocessing/cleaning/labeling of the data done (e.g., discretization
or bucketing, tokenization, part-of-speech tagging, SIFT feature extraction,
removal of instances, processing of missing values)? N/A

###  D.7 Uses

  * •

Has the dataset been used for any tasks already? Yes, limited testing with
various ML approaches has been undertaken by the author team to ensure that
the data provided in the dataset is suitable for ML training and inference.

  * •

Is there a repository that links to any or all papers or systems that use the
dataset? No

  * •

What (other) tasks could the dataset be used for? The primary focus is for ML
development and testing but it could also be used for the study of turbulent
flows over bluff bodies.

  * •

Is there anything about the composition of the dataset or the way it was
collected and preprocessed/cleaned/labeled that might impact future uses? Not
to the knowledge of the authors.

  * •

Are there tasks for which the dataset should not be used? No

## References


b_{t}(\mathbf{W}^{\top}\theta)=\mathbb{E}[Y\,|\,T=t,\mathbf{W}^{\top}\theta]=\mathbb{E}[h_{t}(\mathbf{W}^{\top}\theta_{P})\,|\,T=t,\mathbf{W}^{\top}\theta].$

Now since $h_{t}\in C^{1}(\mathbb{R})$, we may write

$\displaystyle h_{t}(\mathbf{W}^{\top}\theta)$
$\displaystyle=h_{t}(\mathbf{W}^{\top}\theta_{P})+R(\theta,\theta_{P}),$
$\displaystyle R(\theta,\theta_{P})$
$\displaystyle=h_{t}^{\prime}(\mathbf{W}^{\top}\theta_{P})\mathbf{W}^{\top}(\theta-\theta_{P})+r(\mathbf{W}^{\top}(\theta-\theta_{P}))\mathbf{W}^{\top}(\theta-\theta_{P})$

for a continuous function $r\colon\mathbb{R}\to\mathbb{R}$ satisfying that
$\lim_{\epsilon\to 0}r(\epsilon)=0$. It follows that

$\displaystyle\mathbb{E}[h_{t}(\mathbf{W}^{\top}\theta_{P})\,|\,T=t,\mathbf{W}^{\top}\theta]=h_{t}(\mathbf{W}^{\top}\theta)-\mathbb{E}[R(\theta,\theta_{P})\,|\,T=t,\mathbf{W}^{\top}\theta],$

The theoretical bias induced by adjusting for $\mathbf{W}^{\top}\theta$
instead of $\mathbf{W}$, or equivalently $\mathbf{W}^{\top}\theta_{P}$, is
therefore

$\displaystyle\chi_{t}(\mathbf{W}^{\top}\theta;P)-\chi_{t}(\mathbf{W})$
$\displaystyle=\chi_{t}(\mathbf{W}^{\top}\theta;P)-\chi_{t}(\mathbf{W}^{\top}\theta_{P})$
$\displaystyle=\mathbb{E}\left[h_{t}(\mathbf{W}^{\top}\theta)-\mathbb{E}[R(\theta,\theta_{P})\,|\,T=t,\mathbf{W}^{\top}\theta]-h_{t}(\mathbf{W}^{\top}\theta_{P})\right]$
$\displaystyle=\mathbb{E}[R(\theta,\theta_{P})-\mathbb{E}[R(\theta,\theta_{P})\,|\,T=t,\mathbf{W}^{\top}\theta]]$
$\displaystyle=\mathbb{E}\left[R(\theta,\theta_{P})\cdot\left(1-\frac{\mathbbl{1}(T=t)}{\mathbb{P}(T=t\,|\,\mathbf{W}^{\top}\theta)}\right)\right]$
$\displaystyle=C(\theta,\theta_{P})^{\top}(\theta-\theta_{P}),$

where

$\displaystyle
C(\theta;\theta_{P})=\mathbb{E}\left[\left(h_{t}^{\prime}(\mathbf{W}^{\top}\theta)+r(\mathbf{W}^{\top}(\theta-\theta_{P}))\right)\left(1-\frac{\mathbbl{1}(T=t)}{\mathbb{P}(T=t\,|\,\mathbf{W}^{\top}\theta)}\right)\mathbf{W}\right].$

To show that $u$ is differentiable at $\theta=\theta_{P}$, it therefore
suffices to show that the mapping $\theta\mapsto C(\theta;\theta_{P})$ is
continuous at $\theta_{P}$.

We first show that $\mathbb{P}(T=t\,|\,\mathbf{W}^{\top}\theta)$ is continuous
at $\theta_{P}$ almost surely, which follows after applying a coordinate
change such that $\theta$ becomes a basis vector. To be more precise, we may
choose a neighborhood $\mathcal{U}\subset^{d}$ of $\theta_{P}$ and $d-1$
continuous functions

$q_{2},\ldots,q_{d}\colon\mathcal{U}\longrightarrow\mathcal{S}^{d-1}$

such that
$Q(\theta)\coloneq(\lVert\theta\rVert^{-1}\theta,q_{2}(\theta),\ldots
q_{d}(\theta))$ is an orthogonal matrix for every $\theta\in\mathcal{U}$. For
example, the first $d$ vectors of the Gram-Schmidt process applied to
$(\theta,\mathbf{e}_{1},\ldots,\mathbf{e}_{d})$ is continuous and yields an
orthonormal basis for
$\theta\in^{d}\setminus\operatorname{span}(\mathbf{e}_{d})$, so this works in
case $\theta_{P}\neq\pm\mathbf{e}_{d}$. Let
$Z(\theta)=Q(\theta)^{\top}\mathbf{W}$ and note that
$Z(\theta)_{1}=\lVert\theta\rVert^{-1}\theta^{\top}\mathbf{W}=\lVert\theta\rVert^{-1}\mathbf{W}^{\top}\theta$.
Then by iterated expectations,

$\displaystyle\mathbb{P}(T=t\,|\,\mathbf{W}^{\top}\theta)=\mathbb{E}[m(t\,|\,\mathbf{W})\,|\,\mathbf{W}^{\top}\theta]$
$\displaystyle=\mathbb{E}[m(t\,|\,Q(\theta)Z(\theta))\,|\,Z(\theta)_{1}]$
$\displaystyle=\frac{\int_{{}^{d-1}}m(t\,|\,\widetilde{\mathbf{W}}(\theta,z))p_{\mathbf{W}}(\widetilde{\mathbf{W}}(\theta,z))\mathrm{d}z}{\int_{{}^{d-1}}p_{\mathbf{W}}(\widetilde{\mathbf{W}}(\theta,z))\mathrm{d}z},\qquad\widetilde{\mathbf{W}}(\theta,z)\coloneq
Q(\theta)\begin{pmatrix}Z(\theta)_{1}\\\ z\end{pmatrix}$

Each integrand is bounded and continuous over $\theta\in\mathcal{U}$. From
dominated convergence it follows that
$\mathbb{P}(T=t\,|\,\mathbf{W}^{\top}\theta)$ is continuous at $\theta_{P}$
almost surely. It follows that almost surely,

$\displaystyle\left(h_{t}^{\prime}(\mathbf{W}^{\top}\theta)+r(\mathbf{W}^{\top}(\theta-\theta_{P}))\right)\left(1-\frac{\mathbbl{1}(T=t)}{\mathbb{P}(T=t\,|\,\mathbf{W}^{\top}\theta)}\right)\mathbf{W}$
$\displaystyle\longrightarrow
h_{t}^{\prime}(\mathbf{W}^{\top}\theta_{P})\left(1-\frac{\mathbbl{1}(T=t)}{\mathbb{P}(T=t\,|\,\mathbf{W}^{\top}\theta_{P})}\right)\mathbf{W},\qquad\text{for
}\theta\to\theta_{P}.$

By dominated convergence again we conclude that

$\displaystyle
C(\theta;\theta_{P})\longrightarrow\mathbb{E}\left[h_{t}^{\prime}(\mathbf{W}^{\top}\theta_{P})\left(1-\frac{\mathbbl{1}(T=t)}{\mathbb{P}(T=t\,|\,\mathbf{W}^{\top}\theta_{P})}\right)\mathbf{W}\right],\qquad\theta\to\theta_{P}.$

This shows that $\theta\mapsto C(\theta;\theta_{P})$ is continuous at
$\theta_{P}$, and hence we conclude that $u$ is differentiable at
$\theta=\theta_{P}$ with gradient

$\displaystyle\nabla u(\theta_{P})$
$\displaystyle=\mathbb{E}\left[h_{t}^{\prime}(\mathbf{W}^{\top}\theta_{P})\left(1-\frac{\mathbbl{1}(T=t)}{\mathbb{P}(T=t\,|\,\mathbf{W}^{\top}\theta_{P})}\right)\mathbf{W}\right]$
$\displaystyle=\mathbb{E}\left[h_{t}^{\prime}(\mathbf{W}^{\top}\theta_{P})\left(1-\frac{\mathbb{P}(T=t\,|\,\mathbf{W})}{\mathbb{P}(T=t\,|\,\mathbf{W}^{\top}\theta_{P})}\right)\mathbf{W}\right].$

∎

##  Appendix B Details of simulation study

Our experiments were conducted in Python (Van Rossum et al. 1995). The linear
and logistic regression was imported from the scikit-learn package (Pedregosa
et al. 2011), and the neural network for the DOPE-IDX was implemented using
pytorch (Paszke et al. 2019).

Figure 7. Neural network architecture for single-index model.

The neural network architecture is illustrated in Figure 7. The network was
optimized using MSE loss and the ADAM optimizer with lr=1e-3 and n_iter=1200
in the simulation experiment. For the NHANES application the settings were
similar, but with BCELoss and n_iter=3000. We discovered that the optimization
procedure could get stuck in a local minimum with significantly lower training
score. To avoid getting stuck in a such a ‘bad local minimum’, it was possible
to refit the network with random initialization several times and pick the
model with highest training score. The frequency of bad local minimums is
roughly $15\%$, with variation between each setting. Thus, refitting the
network, say 5 times, is enough to avoid a bad minimum $>99,99\%$ of the time.
To save the computational cost of refitting many times for each simulation, we
initialized the first layer with an initial value
$\theta_{init}=\beta+\mathrm{Unif}(-0.1,0.1)^{\otimes d}$. The Logistic
regression for the propensity score was fitted without $\ell_{2}$-penalty and
optimized using the lbfgs optimizer. The propensity score was clipped to the
interval $(0.01,0.99)$ for all estimators of the adjusted mean.

Figure 8. Comparison of DOPE estimators with and without sample splitting.

Figure 8 shows the cross-fitted DOPE estimators versus their full sample
counterparts in the simulation setup of Section 5.1. We observe that cross-
fitting generally seems to decrease performance for small sample sizes, but
the discrepancy diminishes for larger sample sizes.

Estimator | Estimate | BS se | BS CI
---|---|---|---
Regr. (NN) | 0.020 | 0.008 | (0.002, 0.035)
Regr. (Logistic) | 0.027 | 0.009 | (0.012, 0.048)
DOPE-BCL (Logistic) | 0.024 | 0.010 | (0.004, 0.040)
Naive contrast | 0.388 | 0.010 | (0.369, 0.407)
DOPE-BCL (NN) | 0.018 | 0.010 | (-0.003, 0.036)
DOPE-IDX (NN) | 0.023 | 0.012 | (-0.001, 0.047)
AIPW (NN) | 0.017 | 0.016 | (-0.017, 0.046)
AIPW (Logistic) | 0.022 | 0.016 | (-0.012, 0.051)
IPW (Logistic) | -0.047 | 0.027 | (-0.119, -0.01)
Table 2. Treatment effect estimates for NHANES dataset, where covariates with
more than 50% missing values have been removed.

Table 2 corresponds to Table 1 in the main manuscript, but where covariates
with more than $50\%$ missing data have been removed rather than imputed.
Except for the naive contrast (which has dropped two rows) the ordering
according to bootstrap variance is the same.

Figure 9. Coverage of asymptotic confidence intervals of the adjusted mean
$\chi_{1}$, aggregated over $d\in\\{4,12,36\\}$ and with the true $\beta$
given in (5.1.1). The numbers in the parentheses denote the corresponding
average width of the confidence interval.

Figure 9 shows the same coverage values as Figure 5, but also includes the
average lengths of the confidence intervals in the parentheses. We note that
the lengths of the confidence intervals for the DOPE estimators are much
smaller than those of the AIPW estimator.

##  Appendix C Extension to cross-fitting

1 input: observations $(T_{i},\mathbf{W}_{i},Y_{i})_{i\in[n]}$, partition
$[n]=J_{1}\cup\cdots\cup J_{K}$;

2 options: integer $1\leq m\leq K-2$ and options for Algorithm 1;

3 for  _$k=1,\ldots,K$_ do

4 Set $\mathcal{I}_{3}=J_{k}$, $\mathcal{I}_{1}=\bigcup_{l=k+1}^{k+m}J_{l}$
and $\mathcal{I}_{2}=[n]\setminus(\mathcal{I}_{1}\cup\mathcal{I}_{3})$;

5

6 Compute $\widehat{\chi}_{t,k}^{\mathrm{dope}}$ as the output of Algorithm 1;

7

8 Compute variance estimate $\widehat{\mathcal{V}}_{t,k}$ given as in (17);

9

10 end for

return
_$\widehat{\chi}_{t}^{\mathsf{x}}\coloneq\frac{1}{K}\sum_{k=1}^{K}\widehat{\chi}_{t,k}^{\mathrm{dope}}$
and
$\widehat{\mathcal{V}}_{t}^{\mathsf{x}}\coloneq\frac{1}{K}\sum_{k=1}^{K}\widehat{\mathcal{V}}_{t,k}$_

Algorithm 2 Cross-fitted DOPE

A cross-fitting procedure for the DOPE is described in Algorithm 2, which
computes both a cross-fitted version of the DOPE and its variance estimator.
Here the indices of the folds are understood to cycle modulo $K$ such that
$J_{K+1}=J_{1}$ and so forth. This version of cross-fitting with three index
sets has also been referred to as ‘double cross-fitting’ by Zivich & Breskin
(2021).

We note that the ‘standard arguments’ for establishing convergence of the
cross-fitted estimator cannot be applied directly to our case. This is
because, for each fold $k\in[K]$, the corresponding oracle terms
$U_{\hat{\theta}_{k}}^{(n)}$ do not only involve the data indexed by
$\mathcal{I}_{3}^{k}$, but also depend on $\hat{\theta}_{k}$ which is
estimated from data indexed by $\mathcal{I}_{1}^{k}$. Hence the oracle terms
are not independent. However, we believe that this dependency should be
negligible, and perhaps the convergence can be established under a more
refined theoretical analysis.