sandlersteam.unsatd module

class sandlersteam.unsatd.UnsaturatedSteamTable(phase: str, table_path: str)[source]

Bases: object

Unsaturated steam table for either superheated vapor (phase=’V’) or subcooled liquid (phase=’L’)

Bilinear(specdict: dict[str, float]) dict[str, float][source]

General bilinear interpolation dispatcher

PThBilinear(specdict)[source]

Bilinear interpolation given P and another property (v, u, s, h, but not T)

TPBilinear(specdict: dict)[source]

Bilinear interpolation given T and P

TThBilinear(specdict)[source]

Bilinear interpolation given T and another property (v, u, s, h, but not P)

ThThBilinear(specdict: dict[str, float]) dict[str, float][source]

Bilinear interpolation given two properties from v, u, s, h (not T or P)

minP_at_T(T: float) float[source]

Minimum pressure at given temperature in C

minT_at_P(P: float) float[source]

Minimum temperature at given pressure in MPa

minTh_at_P(th: str, P: float) float[source]

Minimum temperature at given pressure in MPa for specified property th (th = ‘v’, ‘u’, ‘s’, or ‘h’)

minTh_at_T(th: str, T: float) float[source]

Minimum pressure at given temperature in C for specified property th (th = ‘v’, ‘u’, ‘s’, or ‘h’)

class sandlersteam.unsatd.UnsaturatedSteamTables[source]

Bases: object

Unsaturated steam tables based on Sandler’s Steam Tables Data from: Sandler, S. I. (2017). Chemical, biochemical, and engineering thermodynamics 5th ed. John Wiley & Sons.

self.data is a dataframe with columns: T (C), P (MPa), u (kJ/kg), v (m3/kg), s (kJ/kg-K), h (kJ/kg)

and it contains all the data in the unsaturated steam tables 1. Unsaturated superheated steam table (vapor phase) 2. Unsaturated subcooled steam table (liquid phase)

data_path = PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/sandlersteam/checkouts/latest/src/sandlersteam/resources/data')
table_subc = PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/sandlersteam/checkouts/latest/src/sandlersteam/resources/data/SandlerSubcSteamTables.txt')
table_suph = PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/sandlersteam/checkouts/latest/src/sandlersteam/resources/data/SandlerSuphSteamTables.txt')
sandlersteam.unsatd.logger = <Logger sandlersteam.unsatd (INFO)>
1 1

1 2 3 4 5 6 7 8 9 0 1

012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123

260 0.0012749 1127.9 1134.3 2.8830 0.0012645 1121.1 1133.7 2.8699 0.0012550 1114.6 1133.4 2.8576

(0,4),(6,15), (17,24),(25,32), (34,40),(42,51), (53,60), (62,69), (71,77),(79,88),(90,97),(99,106),(108,114)

sandlersteam.unsatd.my_split(data: str, hder: list[str], P: list[float], Tsat: list[float | None], fixw: bool = False) DataFrame[source]

helper function to split data blocks into dataframes

Parameters:
  • data (str) – multiline string data block

  • hder (list[str]) – list of header strings

  • P (list[float]) – list of pressures corresponding to data block

  • Tsat (list[float | None]) – list of saturation temperatures corresponding to data block

  • fixw (bool) – whether to use fixed-width format (True for saturated liquid tables)

Returns:

concatenated dataframe of all data blocks

Return type:

pd.DataFrame