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
kernel
n_sd
n_part
dv
rho
rhod
dt
adaptive
output_interval
nt
coal_eff
k
X0
spectrum
radius_bins_edges
steps_per_output_interval: int
39    @property
40    def steps_per_output_interval(self) -> int:
41        return int(self.output_interval / self.dt)