# CryoPulse P2 — airflow-first revision

The **P2.1 original-plan thermal refinement** is in
`thermoflow/output/thermal-core.html`. It retains all twelve original work packages
and develops the cooling/pressure/refill/waste-heat mechanism with a two-chamber
reduced-order model, controlled comparisons, a 36-case design sweep, independent
parameter sensitivities, regenerative-cycle references and a real-N2 state-path
ledger. The external bench envelope CAD and blank measurement template are included.
These are theoretical component results, not physical cryogenic evidence. Existing
P2 body CFD and wheel/base concepts remain separate from this new thermal model.

P2 is an **unbuilt premium-material development design**, with a new rounded body,
broad paired intake tunnels, turbine bays and explicit charging/powered/braking
modes. Start with `output/p2-workbench.html`.
This folder contains actual solid CAD, numerical experiments and separate resource
screens; it does not contain physical test evidence or a qualified road vehicle.

The latest user requirements are recorded in `design/requirements.json`: avoid a
square/Tesla-like block; route air through the vehicle for its turbine; use both
generator and powered-fan modes; investigate base grip; keep electromagnetic
hydraulics independent of wheel brake pressure; and turn wheel modules outward
into fan orientation to press the vehicle down.

## Shape and operating modes

The rounded canopy and tapered rear envelope are lofted from curved cross-sections.
Large elliptical nose openings feed the paired passages around a reserved central
volume. Neutral rear sections are horizontal. The 1:10 envelope is approximately
480 x 200 x 135 mm, with a static wheel/pod layout rather than a validated full-size
occupant/steering/suspension/crash package.

The nominal pair of nose apertures has 0.005730 m2 area, versus P1's 0.001120 m2.
That is a design area, **not achieved mass capture**. The whole intake/neck/bay/exit
network determines flow. Increasing mouth area does not automatically multiply
mass flow or electrical output. The CFD solves the interaction with external air.

The user's body direction superseded the early same-aperture/inboard P2 draft.
That draft and its stopped diagnostic run are excluded from the final comparison.
`p2-flow` is the retained rounded through-flow revision. The reference `p1` remains
the unoptimized P1 research body, not a high-end production-car benchmark.

- **Charging:** an ideal actuator disk removes streamwise momentum. Both its
  reaction force and recoverable fluid work are recorded.
- **Speeding:** a specified powered-force source adds streamwise momentum. The
  opposite vehicle reaction and required fluid work are recorded. A motor, blade
  map and electrical losses still need measurement.
- **Braking:** turbine load may provide drag/recovery; wheel modules may tilt into
  fan orientation and work with hydraulic base pads. This deployment is currently
  a CAD/kinematic concept and analytical resource screen, not a coupled road test.

The tyre carrier tilts; an independently driven purpose-designed impeller supplies
axial airflow. Upward exhaust produces downward module reaction. Once tyres are
fully out of rolling contact, base friction and directional control must be tested
together. See `manufacturing/BASE-AND-WHEEL-MODES.md`.

## New premium materials

`design/materials.json` and `manufacturing/MATERIALS-AND-BUILD.md` specify new
traceable 6061-T651 duct stock, Toray G-83CM carbon/epoxy shell material, C10100
copper thermal inserts, PEEK interfaces and calibrated laboratory hardware.
Prepreg storage/out-time and batch cure records are required. No order was placed.

Base-pad tread-grade elastomer candidates are identified by supplier/formulation
and tested on the actual surfaces and conditions. No friction coefficient is
assigned from price, hardness or an “ultra premium” label. The physical record
template `experiment/friction-records.csv` is empty.

The STEP duct halves are **quote/DFM solids**, with a nominal 2 mm section wall and
a common z=40 mm split. New left/right shells are copies of one master, mirrored
exactly; exported half volumes are checked after reopening. Joint design, flanges,
fasteners, minimum wall, tool reach and tolerances are manufacturing gates, not
claimed achieved features. The final CFD surface assumes smooth rigid walls for
every case; no premium-material aerodynamic bonus is assigned.

## Actual numerical tests

Six retained cases: P1 and passive P2 each on two meshes, plus charging and powered
P2 on the coarse mesh. Conditions and solver settings are matched where applicable:
air 10 m/s, rho=1.2 kg/m3, nu=1.5e-5 m2/s, steady k-omega SST RANS, four local MPI
processes. Half-domain symmetry mirrors the right half. Wheels are fixed and there
is no ground plane, hot core, rotating-blade mesh or wheel deployment in these cases.

P1/P2 use the same tighter inner solves, lower relaxation and a 1000-iteration
budget with residual stopping. This improves the numerical experiment; it does
not guarantee steady convergence. Standard and extended mesh checks, residuals,
force history, volume balance and cross-mesh variation remain visible in the data.
Prism boundary layers and experimental validation are still missing.

The P1/P2 difference compares research shapes. It is not an established gain over
a Koenigsegg/Rimac, and no vehicle stopping-distance claim is generated.

### Actuator models and energy accounting

Charging uses OpenFOAM's ideal Froude actuator at a=0.2, with the consistent ideal
coefficients Ct=0.64 and Cp=0.512. These are mathematical test inputs, not measured
rotor efficiency. An equivalent 32 mm disk is selected in the forward bay. The
upstream monitoring velocity and the rotor-cell mean velocity are solver outputs.

For this incompressible source, density in the source equation is the unit field;
the recorded thrust is converted with the physical rho=1.2. The analysis checks
the first-step ideal formula before adding the opposite source force to the
whole-body wall force. Omitting this reaction would falsely credit generation
without its load on the vehicle.

The packaged OpenFOAM Froude implementation rejected `sink=false` with negative
coefficients. The failed attempt is diagnostic only. Powered mode therefore uses
an explicit, specified total-force source corresponding to a 30 Pa disk-loading
target; it is a sensitivity calculation, not a measured propeller map. Power
input is not free: fluid work is force times the solved volume-average axial
velocity in the selected source cells.

Recoverable charging fluid work and required powered fluid work are reported
separately. Neither equals guaranteed electrical output/input; generator/motor,
controller, blade and bearing losses are unmeasured. Whole-domain momentum checks
also compare the wall-plus-actuator force with inlet/outlet flux and pressure.
Any imbalance remains a numerical limitation, not a calibrated error bar.

### Residual history

`postProcessing/residuals/*/solverInfo.dat` is the primary residual record. It
records the last pressure corrector's initial residual. It is not the first outer
pressure equation residual. An earlier mutable launch script caused a zero-step
relaunch to replace one text log; the raw force and solverInfo histories were
preserved. Future runs use `scripts/launch_case.py`, which freezes the runner.

Means/ranges over the last 100 SIMPLE iterations are smoothing of a pseudo-time
sequence, not physical averages or confidence intervals. Failing the residual
screen or a mesh-sensitivity check prevents a validated performance claim.

## Wheel fans, hydraulics and grip

`output/resource-screens.json` is an **inverse requirement calculation**. It asks
what idealized power is required for a chosen downward-force target; it does not
assume that the designed wheel fans achieve the target. The isolated static
actuator relation uses active annular area. Ground suction, intake restriction,
crossflow, shrouds and body pressure can change installed behavior and are not
solved in that screen. It is not a universal limit on the CryoPulse architecture.

The hydraulic screen is pressure/work for a chosen direct force, bore and stroke.
Actual wheel hinge torque, tyre/rotor inertia, gyroscopic loads, locking and pad
normal-load control require a measured linkage design. Electrical power drives
the electromagnetic pump/actuator; unpowered permanent magnets are not an energy
source. The circuit is independent of wheel-brake hydraulic pressure.

No tyre/pad coefficients are supplied. The resource file gives only a conditional
relative-friction threshold when pads carry transferred weight plus added load.
It does not predict stopping distance, ice behavior, yaw or steering authority.
All original twelve work packages and evidence gates remain mapped in
`design/full-plan-traceability.json`.

## Reproduce

Use OpenFOAM v2412 and the existing portable environment, or set `CRYO_FOAM_PREFIX`.
Geometry/plots use the recorded Gmsh/VTK/NumPy/Matplotlib science environment.
The user concept is not licensed by the included third-party license notices.

```bash
python scripts/build_flow_body.py
python3 scripts/build_cases.py p1 p2-flow --level 4 --end 1000
python3 scripts/build_cases.py p1 p2-flow --level 5 --end 1000
python3 scripts/build_rotor_cases.py
python3 scripts/launch_case.py p1-L4-U10-p2test
python3 scripts/launch_case.py p1-L5-U10-p2test
python3 scripts/launch_case.py p2-flow-L4-U10-p2test
python3 scripts/launch_case.py p2-flow-L5-U10-p2test
python3 scripts/launch_case.py p2-charge-L4-U10-p2test
python3 scripts/launch_case.py p2-powered-L4-U10-p2test
python3 scripts/analyze_p2.py
python3 scripts/resources.py
python scripts/check_manufacture.py
python scripts/render_design.py
python scripts/field_results.py
python3 scripts/verify_p2.py
python3 scripts/render_workbench.py
```

Generate the views, field cuts, internal-flow integrals and final viewer with the
corresponding scripts. Large meshes and full field snapshots remain in this
workspace; the compact archive includes geometry, inputs, raw histories, sampled
fields, material/quote files and results. Re-mesh extracted compact cases before
attempting a solver run.

`output/verification.json` separates data-integrity checks from scientific gates.
Six data-integrity groups pass. Strict residual, extended mesh, grid-convergence,
physical-validation and wheel/base qualification gates remain unmet. The local
viewer was checked in Chromium at desktop and 390-pixel mobile sizes; its four
mode controls, resource control and local links passed. The compact ZIP includes
a SHA-256 manifest and is checked byte-for-byte after compression.

The recorded science environment uses Python 3.12, Gmsh 4.15.2, VTK 9.7.2,
NumPy 2.5.4 and Matplotlib 3.11.2. Use that environment for CAD/plot commands,
and a writable Matplotlib cache. Viewer checks additionally require Playwright
and Chromium; set `CRYO_PLAYWRIGHT_MODULE` if it is not on the Node module path.

Primary method references: [OpenFOAM actuator source](https://api.openfoam.com/2306/classFoam_1_1fv_1_1actuationDiskSource.html),
[OpenFOAM explicit/semi-implicit source](https://doc.openfoam.com/2306/tools/processing/numerics/fvoptions/sources/rtm/semiImplicit/),
[NASA rotor momentum discussion](https://rotorcraft.arc.nasa.gov/Publications/files/Johnson_AHS-SF2004.pdf),
and [NASA grid convergence](https://www.grc.nasa.gov/www/wind/valid/tutorial/spatconv.html).
