Source code for rocketpy.motors.fluid

from dataclasses import dataclass

from ..plots.fluid_plots import _FluidPlots
from ..prints.fluid_prints import _FluidPrints


[docs] @dataclass class Fluid: """Class that represents a fluid. Attributes ---------- name : str Name of the fluid. density : float Density of the fluid in kg/m³. """ name: str density: float
[docs] def __post_init__(self): """Post initialization method. Raises ------ ValueError If the name is not a string. ValueError If the density is not a positive number. """ if not isinstance(self.name, str): raise ValueError("The name must be a string.") if self.density < 0: raise ValueError("The density must be a positive number.") # Initialize plots and prints object self.prints = _FluidPrints(self) self.plots = _FluidPlots(self)
[docs] def __repr__(self): """Representation method. Returns ------- str String representation of the class. """ return f"Fluid(name={self.name}, density={self.density})"
[docs] def __str__(self): """String method. Returns ------- str String representation of the class. """ return f"Fluid: {self.name}"