STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
engine.pipeline.thermal.wall_conduction.WallModel Class Reference

Public Member Functions

 __post_init__ (self)
float thickness_first (self)
dict step (self, float dt, Callable[[float], float] q_in, Optional[float] T_ablation=None, Optional[float] H_surface=None, Optional[float] rho_surface=None, Optional[Callable[[float], float]] chemical_mass_flux=None, Tuple[float, float] T_bracket=(150.0, 4500.0))
dict advance (self, float dt, int n_sub, **kw)
float depth_of_isotherm (self, float T_iso)
float interface_temperature (self, int index)
float T_back (self)
dict soak (self, float duration, float dt=0.05)

Static Public Attributes

List layers [Layer]
int n_first = 80
int n_other = 20
float first_cell = 5e-6
float receded = 0.0
np y = field(init=False)
np T = field(init=False)
float T_surface_peak = field(init=False)
float T_back_peak = field(init=False)

Protected Member Functions

 _build_grid (self)
 _set_capacity (self)
 _remap (self, float dx_recede)
np.ndarray _interior (self, float dt, float s)

Protected Attributes

 _k = np.array(k_cell)
 _rc = np.array(rc_cell)
list _varying
 _dx = dx
 _G = self._k / dx
 _C = C

Detailed Description

Temperature field through ``layers`` (layers[0] at the hot face).

Definition at line 75 of file wall_conduction.py.

Member Function Documentation

◆ __post_init__()

engine.pipeline.thermal.wall_conduction.WallModel.__post_init__ ( self)

◆ _build_grid()

engine.pipeline.thermal.wall_conduction.WallModel._build_grid ( self)
protected

◆ _interior()

np.ndarray engine.pipeline.thermal.wall_conduction.WallModel._interior ( self,
float dt,
float s )
protected
Nodes 1..N at the new time for surface temperature s (Dirichlet at node 0).

Definition at line 149 of file wall_conduction.py.

References _C, _G, engine.pipeline.thermal.wall_conduction._thomas(), T, and xPSR_Type.T.

Referenced by step().

◆ _remap()

engine.pipeline.thermal.wall_conduction.WallModel._remap ( self,
float dx_recede )
protected
Shorten layer 0 by dx_recede and carry the profile (measured from the back face).

Definition at line 138 of file wall_conduction.py.

References _build_grid(), receded, T, xPSR_Type.T, Adafruit_LIS3DH.y, y, and feedtwin.model.curve.Curve.y.

Referenced by step().

◆ _set_capacity()

engine.pipeline.thermal.wall_conduction.WallModel._set_capacity ( self)
protected
Node heat capacity per area from the cell rho*cp (cp(T) layers at the cell mean T).

Definition at line 123 of file wall_conduction.py.

References _dx, _rc, _varying, T, xPSR_Type.T, Adafruit_LIS3DH.y, y, and feedtwin.model.curve.Curve.y.

Referenced by step().

◆ advance()

dict engine.pipeline.thermal.wall_conduction.WallModel.advance ( self,
float dt,
int n_sub,
** kw )

◆ depth_of_isotherm()

float engine.pipeline.thermal.wall_conduction.WallModel.depth_of_isotherm ( self,
float T_iso )
Distance below the current hot face to the first node cooler than T_iso [m].

Definition at line 224 of file wall_conduction.py.

References max, T, xPSR_Type.T, Adafruit_LIS3DH.y, y, and feedtwin.model.curve.Curve.y.

◆ interface_temperature()

float engine.pipeline.thermal.wall_conduction.WallModel.interface_temperature ( self,
int index )
Temperature at the back of layers[index] (the bondline for index 0).

Definition at line 236 of file wall_conduction.py.

References layers, receded, T, xPSR_Type.T, Adafruit_LIS3DH.y, y, and feedtwin.model.curve.Curve.y.

Referenced by soak().

◆ soak()

dict engine.pipeline.thermal.wall_conduction.WallModel.soak ( self,
float duration,
float dt = 0.05 )

◆ step()

dict engine.pipeline.thermal.wall_conduction.WallModel.step ( self,
float dt,
Callable[[float], float] q_in,
Optional[float] T_ablation = None,
Optional[float] H_surface = None,
Optional[float] rho_surface = None,
Optional[Callable[[float], float]] chemical_mass_flux = None,
Tuple[float, float] T_bracket = (150.0, 4500.0) )
Advance by dt. Returns the surface temperature, the recession this step [m] and
the surface mass flux [kg/(m^2 s)].

Definition at line 168 of file wall_conduction.py.

References _C, _G, _interior(), _remap(), _set_capacity(), _varying, max, min, T, xPSR_Type.T, T_back_peak, T_surface_peak, and thickness_first().

Referenced by advance(), and soak().

◆ T_back()

float engine.pipeline.thermal.wall_conduction.WallModel.T_back ( self)

Definition at line 242 of file wall_conduction.py.

References T, and xPSR_Type.T.

Referenced by soak().

◆ thickness_first()

float engine.pipeline.thermal.wall_conduction.WallModel.thickness_first ( self)

Definition at line 135 of file wall_conduction.py.

References layers, max, and receded.

Referenced by step().

Member Data Documentation

◆ _C

engine.pipeline.thermal.wall_conduction.WallModel._C = C
protected

Definition at line 132 of file wall_conduction.py.

Referenced by _interior(), and step().

◆ _dx

engine.pipeline.thermal.wall_conduction.WallModel._dx = dx
protected

Definition at line 119 of file wall_conduction.py.

Referenced by _set_capacity().

◆ _G

engine.pipeline.thermal.wall_conduction.WallModel._G = self._k / dx
protected

Definition at line 120 of file wall_conduction.py.

Referenced by _interior(), and step().

◆ _k

engine.pipeline.thermal.wall_conduction.WallModel._k = np.array(k_cell)
protected

Definition at line 114 of file wall_conduction.py.

◆ _rc

engine.pipeline.thermal.wall_conduction.WallModel._rc = np.array(rc_cell)
protected

Definition at line 115 of file wall_conduction.py.

Referenced by _set_capacity().

◆ _varying

list engine.pipeline.thermal.wall_conduction.WallModel._varying
protected
Initial value:
= [(np.array([o is lay for o in owner]), lay)
for lay in self.layers if lay.cp_of is not None]

Definition at line 116 of file wall_conduction.py.

Referenced by _set_capacity(), and step().

◆ first_cell

float engine.pipeline.thermal.wall_conduction.WallModel.first_cell = 5e-6
static

Definition at line 81 of file wall_conduction.py.

Referenced by _build_grid().

◆ layers

engine.pipeline.thermal.wall_conduction.WallModel.layers [Layer]
static

Definition at line 77 of file wall_conduction.py.

Referenced by _build_grid(), interface_temperature(), and thickness_first().

◆ n_first

int engine.pipeline.thermal.wall_conduction.WallModel.n_first = 80
static

Definition at line 79 of file wall_conduction.py.

Referenced by _build_grid().

◆ n_other

int engine.pipeline.thermal.wall_conduction.WallModel.n_other = 20
static

Definition at line 80 of file wall_conduction.py.

Referenced by _build_grid().

◆ receded

engine.pipeline.thermal.wall_conduction.WallModel.receded = 0.0
static

Definition at line 82 of file wall_conduction.py.

Referenced by _build_grid(), _remap(), interface_temperature(), and thickness_first().

◆ T

engine.pipeline.thermal.wall_conduction.WallModel.T = field(init=False)
static

◆ T_back_peak

float engine.pipeline.thermal.wall_conduction.WallModel.T_back_peak = field(init=False)
static

Definition at line 86 of file wall_conduction.py.

Referenced by __post_init__(), and step().

◆ T_surface_peak

float engine.pipeline.thermal.wall_conduction.WallModel.T_surface_peak = field(init=False)
static

Definition at line 85 of file wall_conduction.py.

Referenced by __post_init__(), and step().

◆ y

engine.pipeline.thermal.wall_conduction.WallModel.y = field(init=False)
static

The documentation for this class was generated from the following file: