Surface Strategies¶
Particula Index / Particula / Particles / Surface Strategies
Auto-generated documentation for particula.particles.surface_strategies module.
SurfaceStrategy¶
Show source in surface_strategies.py:18
ABC class for Surface Strategies.
Abstract class for implementing strategies to calculate surface tension and the Kelvin effect for species in particulate phases.
Methods¶
effective_surface_tension
- Calculate the effective surface tension of species based on their concentration.effective_density
- Calculate the effective density of species based on their concentration.get_name
- Return the type of the surface strategy.kelvin_radius
- Calculate the Kelvin radius which determines the curvature effect on vapor pressure.kelvin_term
- Calculate the Kelvin term, which quantifies the effect of particle curvature on vapor pressure.
Signature¶
class SurfaceStrategy(ABC): ...
SurfaceStrategy().effective_density¶
Show source in surface_strategies.py:49
Calculate the effective density of the species mixture.
Arguments¶
mass_concentration
- Concentration of the species [kg/m^3].
Returns¶
float or NDArray[float]: Effective density of the species [kg/m^3].
Signature¶
@abstractmethod
def effective_density(
self, mass_concentration: Union[float, NDArray[np.float64]]
) -> float: ...
SurfaceStrategy().effective_surface_tension¶
Show source in surface_strategies.py:36
Calculate the effective surface tension of the species mixture.
Arguments¶
mass_concentration
- Concentration of the species [kg/m^3].
Returns¶
float or NDArray[float]: Effective surface tension [N/m].
Signature¶
@abstractmethod
def effective_surface_tension(
self, mass_concentration: Union[float, NDArray[np.float64]]
) -> float: ...
SurfaceStrategy().get_name¶
Show source in surface_strategies.py:62
Return the type of the surface strategy.
Signature¶
def get_name(self) -> str: ...
SurfaceStrategy().kelvin_radius¶
Show source in surface_strategies.py:66
Calculate the Kelvin radius which determines the curvature effect.
The kelvin radius is molecule specific and depends on the surface tension, molar mass, density, and temperature of the system. It is used to calculate the Kelvin term, which quantifies the effect of particle curvature on vapor pressure.
Arguments¶
surface_tension
- Surface tension of the mixture [N/m].molar_mass
- Molar mass of the species [kg/mol].mass_concentration
- Concentration of the species [kg/m^3].temperature
- Temperature of the system [K].
Returns¶
float or NDArray[float]: Kelvin radius [m].
References¶
- Based on Neil Donahue's approach to the Kelvin equation: r = 2 * surface_tension * molar_mass / (R * T * density) Kelvin Wikipedia
Signature¶
def kelvin_radius(
self,
molar_mass: Union[float, NDArray[np.float64]],
mass_concentration: Union[float, NDArray[np.float64]],
temperature: float,
) -> Union[float, NDArray[np.float64]]: ...
SurfaceStrategy().kelvin_term¶
Show source in surface_strategies.py:100
Calculate the Kelvin term, which multiplies the vapor pressure.
The Kelvin term is used to adjust the vapor pressure of a species due to the curvature of the particle.
Arguments¶
radius
- Radius of the particle [m].molar_mass
- Molar mass of the species a [kg/mol].mass_concentration
- Concentration of the species [kg/m^3].temperature
- Temperature of the system [K].
Returns¶
float or NDArray[float]: The exponential factor adjusting vapor pressure due to curvature.
References¶
Based on Neil Donahue's approach to the Kelvin equation: exp(kelvin_radius / particle_radius) Kelvin Eq Wikipedia
Signature¶
def kelvin_term(
self,
radius: Union[float, NDArray[np.float64]],
molar_mass: Union[float, NDArray[np.float64]],
mass_concentration: Union[float, NDArray[np.float64]],
temperature: float,
) -> Union[float, NDArray[np.float64]]: ...
SurfaceStrategyMass¶
Show source in surface_strategies.py:186
Surface tension and density, based on mass fraction weighted values.
Arguments¶
surface_tension
- Surface tension of the species [N/m]. If a single value is provided, it will be used for all species.density
- Density of the species [kg/m^3]. If a single value is provided, it will be used for all species.
References¶
Signature¶
class SurfaceStrategyMass(SurfaceStrategy):
def __init__(
self,
surface_tension: Union[float, NDArray[np.float64]] = 0.072,
density: Union[float, NDArray[np.float64]] = 1000,
): ...
See also¶
SurfaceStrategyMass().effective_density¶
Show source in surface_strategies.py:219
Signature¶
def effective_density(
self, mass_concentration: Union[float, NDArray[np.float64]]
) -> float: ...
SurfaceStrategyMass().effective_surface_tension¶
Show source in surface_strategies.py:207
Signature¶
def effective_surface_tension(
self, mass_concentration: Union[float, NDArray[np.float64]]
) -> float: ...
SurfaceStrategyMolar¶
Show source in surface_strategies.py:134
Surface tension and density, based on mole fraction weighted values.
Arguments¶
surface_tension
- Surface tension of the species [N/m]. If a single value is provided, it will be used for all species.density
- Density of the species [kg/m^3]. If a single value is provided, it will be used for all species.molar_mass
- Molar mass of the species [kg/mol]. If a single value is provided, it will be used for all species.
References¶
Signature¶
class SurfaceStrategyMolar(SurfaceStrategy):
def __init__(
self,
surface_tension: Union[float, NDArray[np.float64]] = 0.072,
density: Union[float, NDArray[np.float64]] = 1000,
molar_mass: Union[float, NDArray[np.float64]] = 0.01815,
): ...
See also¶
SurfaceStrategyMolar().effective_density¶
Show source in surface_strategies.py:172
Signature¶
def effective_density(
self, mass_concentration: Union[float, NDArray[np.float64]]
) -> float: ...
SurfaceStrategyMolar().effective_surface_tension¶
Show source in surface_strategies.py:159
Signature¶
def effective_surface_tension(
self, mass_concentration: Union[float, NDArray[np.float64]]
) -> float: ...
SurfaceStrategyVolume¶
Show source in surface_strategies.py:230
Surface tension and density, based on volume fraction weighted values.
Arguments¶
surface_tension
- Surface tension of the species [N/m]. If a single value is provided, it will be used for all species.density
- Density of the species [kg/m^3]. If a single value is provided, it will be used for all species.
References¶
Signature¶
class SurfaceStrategyVolume(SurfaceStrategy):
def __init__(
self,
surface_tension: Union[float, NDArray[np.float64]] = 0.072,
density: Union[float, NDArray[np.float64]] = 1000,
): ...
See also¶
SurfaceStrategyVolume().effective_density¶
Show source in surface_strategies.py:264
Signature¶
def effective_density(
self, mass_concentration: Union[float, NDArray[np.float64]]
) -> float: ...
SurfaceStrategyVolume().effective_surface_tension¶
Show source in surface_strategies.py:251
Signature¶
def effective_surface_tension(
self, mass_concentration: Union[float, NDArray[np.float64]]
) -> float: ...