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.