flow.objectives.heat_transfer_proxy
flow.objectives.heat_transfer_proxy(chi, u, cell_volume=1.0)int chi |u| – air in motion where the metal is.
A stand-in for the surface heat-transfer coefficient, and a cheap one: it needs no surface extraction, only the two fields already in hand. Deep inside the solid it contributes nothing (the drag has killed u there) and far outside it contributes nothing (chi is zero), so what it actually measures is flow speed in the interface band – which is where convective cooling happens.
Its known weakness is that it is a volume integral over a band whose thickness is set by epsilon, so comparing two designs at different grid resolutions needs the same epsilon in world units. The surface-weighted variant int |grad chi| |u| removes that dependence at the cost of a finite-difference gradient of chi; see research/flow-solver.md.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| chi | jax.Array | Solid fraction, (NX, NY, NZ). |
required |
| u | jax.Array | Velocity, (3, NX, NY, NZ). |
required |
| cell_volume | float | World volume of one cell, to make the integral extensive. | 1.0 |
Returns
| Name | Type | Description |
|---|---|---|
| jax.Array | Scalar proxy, larger is better cooled. |