STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
engine.pipeline.validation Namespace Reference

Functions

None validate_positive (float value, str name, Optional[str] context=None)
None validate_range (float value, str name, float min_val, float max_val, Optional[str] context=None)
None validate_efficiency (float efficiency, str name, Optional[str] context=None)
None validate_temperature (float temperature, str name, float min_temp=200.0, float max_temp=5000.0, Optional[str] context=None)
None validate_pressure (float pressure, str name, float min_pressure=1e4, float max_pressure=50e6, Optional[str] context=None)
None validate_mach_number (float mach, str name, bool supersonic=False, Optional[str] context=None)
None validate_gamma (float gamma, str name="gamma", Optional[str] context=None)
None validate_required_keys (dict data_dict, list required_keys, str dict_name="dictionary")
None validate_monotonic_decreasing (np.ndarray array, str name, Optional[str] context=None)
None validate_mass_flow_rate (float mdot, str name, float min_mdot=0.001, float max_mdot=100.0, Optional[str] context=None)

Detailed Description

Centralized validation functions for physics quantities.

This module provides explicit validation functions that raise clear errors
instead of hiding problems with clipping, clamping, or default fallbacks.

Design principles:
1. NEVER hide errors with defaults or clipping
2. Raise ValueError with descriptive messages
3. Include relevant context in error messages
4. Validate physical constraints explicitly

Function Documentation

◆ validate_efficiency()

None engine.pipeline.validation.validate_efficiency ( float efficiency,
str name,
Optional[str] context = None )
Validate that an efficiency is in [0, 1].

Parameters
----------
efficiency : float
    Efficiency value to validate
name : str
    Name of the efficiency for error message
context : str, optional
    Additional context (e.g., "L*=0.15 m, mixing=0.8")

Raises
------
ValueError
    If efficiency is not in [0, 1]

Definition at line 91 of file validation.py.

References validate_range().

◆ validate_gamma()

None engine.pipeline.validation.validate_gamma ( float gamma,
str name = "gamma",
Optional[str] context = None )
Validate that specific heat ratio is physically reasonable.

Parameters
----------
gamma : float
    Specific heat ratio
name : str, optional
    Name for error message (default: "gamma")
context : str, optional
    Additional context for error message

Raises
------
ValueError
    If gamma is not in reasonable range

Definition at line 256 of file validation.py.

◆ validate_mach_number()

None engine.pipeline.validation.validate_mach_number ( float mach,
str name,
bool supersonic = False,
Optional[str] context = None )
Validate that a Mach number is physically reasonable.

Parameters
----------
mach : float
    Mach number
name : str
    Name of the Mach number for error message
supersonic : bool, optional
    If True, require M > 1 (default: False)
context : str, optional
    Additional context for error message

Raises
------
ValueError
    If Mach number is invalid

Definition at line 207 of file validation.py.

◆ validate_mass_flow_rate()

None engine.pipeline.validation.validate_mass_flow_rate ( float mdot,
str name,
float min_mdot = 0.001,
float max_mdot = 100.0,
Optional[str] context = None )
Validate that a mass flow rate is physically reasonable.

Parameters
----------
mdot : float
    Mass flow rate in kg/s
name : str
    Name of the mass flow for error message
min_mdot : float, optional
    Minimum reasonable mass flow (default: 1 g/s)
max_mdot : float, optional
    Maximum reasonable mass flow (default: 100 kg/s)
context : str, optional
    Additional context for error message

Raises
------
ValueError
    If mass flow rate is invalid

Definition at line 372 of file validation.py.

◆ validate_monotonic_decreasing()

None engine.pipeline.validation.validate_monotonic_decreasing ( np.ndarray array,
str name,
Optional[str] context = None )
Validate that an array is monotonically decreasing.

Parameters
----------
array : np.ndarray
    Array to validate
name : str
    Name of the array for error message
context : str, optional
    Additional context for error message

Raises
------
ValueError
    If array is not monotonically decreasing

Definition at line 329 of file validation.py.

◆ validate_positive()

None engine.pipeline.validation.validate_positive ( float value,
str name,
Optional[str] context = None )
Validate that a value is positive and finite.

Parameters
----------
value : float
    Value to validate
name : str
    Name of the variable for error message
context : str, optional
    Additional context for error message

Raises
------
ValueError
    If value is not positive and finite

Definition at line 17 of file validation.py.

◆ validate_pressure()

None engine.pipeline.validation.validate_pressure ( float pressure,
str name,
float min_pressure = 1e4,
float max_pressure = 50e6,
Optional[str] context = None )
Validate that a pressure is physically reasonable.

Parameters
----------
pressure : float
    Pressure in Pascal
name : str
    Name of the pressure for error message
min_pressure : float, optional
    Minimum reasonable pressure (default: 10 kPa)
max_pressure : float, optional
    Maximum reasonable pressure (default: 50 MPa)
context : str, optional
    Additional context for error message

Raises
------
ValueError
    If pressure is outside reasonable range

Definition at line 158 of file validation.py.

◆ validate_range()

None engine.pipeline.validation.validate_range ( float value,
str name,
float min_val,
float max_val,
Optional[str] context = None )
Validate that a value is in a specified range.

Parameters
----------
value : float
    Value to validate
name : str
    Name of the variable for error message
min_val : float
    Minimum allowed value (inclusive)
max_val : float
    Maximum allowed value (inclusive)
context : str, optional
    Additional context for error message

Raises
------
ValueError
    If value is outside the specified range

Definition at line 51 of file validation.py.

Referenced by validate_efficiency().

◆ validate_required_keys()

None engine.pipeline.validation.validate_required_keys ( dict data_dict,
list required_keys,
str dict_name = "dictionary" )
Validate that all required keys are present in a dictionary.

Parameters
----------
data_dict : dict
    Dictionary to validate
required_keys : list
    List of required key names
dict_name : str, optional
    Name of the dictionary for error message

Raises
------
KeyError
    If any required keys are missing

Definition at line 299 of file validation.py.

◆ validate_temperature()

None engine.pipeline.validation.validate_temperature ( float temperature,
str name,
float min_temp = 200.0,
float max_temp = 5000.0,
Optional[str] context = None )
Validate that a temperature is physically reasonable.

Parameters
----------
temperature : float
    Temperature in Kelvin
name : str
    Name of the temperature for error message
min_temp : float, optional
    Minimum reasonable temperature (default: 200 K)
max_temp : float, optional
    Maximum reasonable temperature (default: 5000 K)
context : str, optional
    Additional context for error message

Raises
------
ValueError
    If temperature is outside reasonable range

Definition at line 115 of file validation.py.