STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
feedtwin.comps.wall.LineWall Class Reference

Public Member Functions

float capacity_at (self)
float capacity (self, float temperature)
WallExchange exchange (self, *, float mdot, float wall_temperature, float inlet_temperature, float density, float viscosity, float conductivity, float heat_capacity)

Detailed Description

A lumped thermal mass wrapped around one line.

One temperature for the whole run, and **the honest justification for that
covers the tube but not the fittings.** Across a 0.9 mm tube wall the Biot
number is 0.17 and the metal really is near enough isothermal: against a
1-D conduction solution the lumped answer is exact to two figures. A
fitting body is 5-8 mm of steel, which is Bi 0.9 to 1.5, and there the
lumped model **over-credits the heat by 19% at 5 mm and 32% at 8 mm** over
a six-second burn, because the core cannot reach the bore in time. Steel's
diffusion depth is 1.9 mm at 1 s and 4.7 mm at 6 s.

That error is knowingly carried, for a reason that has to be measured
rather than assumed: **the model is film-limited, not mass-limited.**
Doubling the metal on the shipped stand moves end-of-burn tank pressure by
6 psi out of 52, so a 20% over-credit on the fitting mass is worth two or
three. Resolving it would mean a second node, a fitting-thickness
parameter, and a conduction coupling, to move a number by less than the
uncertainty in how many fittings are actually on the stand. If a drawing
ever lands in the mass-limited regime -- thin lines, few fittings, high
flow -- that trade stops holding, and the benchmark's saturation check is
what catches it.

Args:
    mass: Metal in thermal contact with the flow [kg].
    area: Wetted internal area [m^2].
    bore: Internal diameter [m], for the convection correlation.

Definition at line 174 of file wall.py.

Member Function Documentation

◆ capacity()

◆ capacity_at()

◆ exchange()

WallExchange feedtwin.comps.wall.LineWall.exchange ( self,
* ,
float mdot,
float wall_temperature,
float inlet_temperature,
float density,
float viscosity,
float conductivity,
float heat_capacity )
Heat the wall gives the stream, and the temperature it leaves at.

Treated as a single-stream heat exchanger against a wall at one
temperature: the film coefficient comes from Dittus-Boelter, and the
outlet follows from the number of transfer units rather than from
applying a heat rate to an inlet state. Using ``Q = h.A.dT`` directly
would let a long line at low flow hand the gas more than the wall-to-gas
difference, which is not a small error -- it is thermodynamically
impossible.

**No flow, no exchange.** A still line does not trade heat with its
metal here; see the module docstring for why soak is out of scope.

Definition at line 216 of file wall.py.

References engine.layerx.diag.start.Element.area(), engine.layerx.diag.waterhammer.Pipeline.area(), feedtwin.comps.manifold.ManifoldPort.area(), feedtwin.engine.balance.SideBalance.area, engine.layerx.diag.start.Element.bore, feedtwin.comps.iec_gas.GasCv.bore, feedtwin.model.segments.Fitting.bore, feedtwin.model.segments.LineSegment.bore, and min.


The documentation for this class was generated from the following file:
  • lib/feedtwin/feedtwin/comps/wall.py