PySDM_examples.Long_1974.settings
1import numpy as np 2from PySDM.physics import si 3from PySDM.dynamics.collisions.coalescence_efficiencies import ConstEc 4from PySDM.initialisation.spectra import Gamma 5 6 7class Settings: # pylint: disable=too-many-instance-attributes,too-few-public-methods,missing-class-docstring,too-many-positional-arguments 8 def __init__( 9 self, 10 kernel: object, 11 output_interval: float, 12 n_part: float, 13 radius_bins_edges: np.ndarray, 14 t_max: float, 15 n_sd: int, 16 dt=1 * si.s, 17 L=1e-6 * si.cm**3 / si.cm**3, # total volumetric liquid water content 18 ): 19 self.kernel = kernel 20 self.n_sd = n_sd 21 self.n_part = n_part 22 self.dv = 1 * si.m**3 23 self.rho = 1000 * si.kg / si.m**3 24 self.rhod = 1 * si.kg / si.m**3 25 self.dt = dt 26 self.adaptive = True 27 self.output_interval = output_interval 28 self.nt = int(t_max / self.dt) 29 self.coal_eff = ConstEc(Ec=1.0) 30 self.k = 2.0 31 32 self.X0 = L / self.k / self.n_part 33 self.spectrum = Gamma( 34 norm_factor=self.n_part * self.dv, k=self.k, theta=self.X0 35 ) 36 self.radius_bins_edges = radius_bins_edges 37 38 @property 39 def steps_per_output_interval(self) -> int: 40 return int(self.output_interval / self.dt)
class
Settings:
8class Settings: # pylint: disable=too-many-instance-attributes,too-few-public-methods,missing-class-docstring,too-many-positional-arguments 9 def __init__( 10 self, 11 kernel: object, 12 output_interval: float, 13 n_part: float, 14 radius_bins_edges: np.ndarray, 15 t_max: float, 16 n_sd: int, 17 dt=1 * si.s, 18 L=1e-6 * si.cm**3 / si.cm**3, # total volumetric liquid water content 19 ): 20 self.kernel = kernel 21 self.n_sd = n_sd 22 self.n_part = n_part 23 self.dv = 1 * si.m**3 24 self.rho = 1000 * si.kg / si.m**3 25 self.rhod = 1 * si.kg / si.m**3 26 self.dt = dt 27 self.adaptive = True 28 self.output_interval = output_interval 29 self.nt = int(t_max / self.dt) 30 self.coal_eff = ConstEc(Ec=1.0) 31 self.k = 2.0 32 33 self.X0 = L / self.k / self.n_part 34 self.spectrum = Gamma( 35 norm_factor=self.n_part * self.dv, k=self.k, theta=self.X0 36 ) 37 self.radius_bins_edges = radius_bins_edges 38 39 @property 40 def steps_per_output_interval(self) -> int: 41 return int(self.output_interval / self.dt)
Settings( kernel: object, output_interval: float, n_part: float, radius_bins_edges: numpy.ndarray, t_max: float, n_sd: int, dt=1.0, L=1e-06)
9 def __init__( 10 self, 11 kernel: object, 12 output_interval: float, 13 n_part: float, 14 radius_bins_edges: np.ndarray, 15 t_max: float, 16 n_sd: int, 17 dt=1 * si.s, 18 L=1e-6 * si.cm**3 / si.cm**3, # total volumetric liquid water content 19 ): 20 self.kernel = kernel 21 self.n_sd = n_sd 22 self.n_part = n_part 23 self.dv = 1 * si.m**3 24 self.rho = 1000 * si.kg / si.m**3 25 self.rhod = 1 * si.kg / si.m**3 26 self.dt = dt 27 self.adaptive = True 28 self.output_interval = output_interval 29 self.nt = int(t_max / self.dt) 30 self.coal_eff = ConstEc(Ec=1.0) 31 self.k = 2.0 32 33 self.X0 = L / self.k / self.n_part 34 self.spectrum = Gamma( 35 norm_factor=self.n_part * self.dv, k=self.k, theta=self.X0 36 ) 37 self.radius_bins_edges = radius_bins_edges