Agglomeration solver
-
class CAgglomerationSolver : public CBaseSolver
Agglomeration solver.
Public Types
-
enum class EKernels : size_t
Types of agglomeration kernels.
Values:
-
enumerator CONSTANT
Constant kernel.
-
enumerator SUM
Sum kernel.
-
enumerator PRODUCT
Product kernel.
-
enumerator BROWNIAN
Brownian kernel.
-
enumerator SHEAR
Shear kernel.
-
enumerator PEGLOW
Peglow kernel.
-
enumerator COAGULATION
Coagulation kernel.
-
enumerator GRAVITATIONAL
Gravitational kernel.
-
enumerator EKE
Equipartition kinetic energy kernel.
-
enumerator THOMPSON
Thompson kernel.
-
enumerator CUSTOM
Custom kernel.
-
enumerator CONSTANT
Public Functions
-
void Initialize(const d_vect_t &_grid, double _beta0, EKernels _kernel, const d_vect_t &_parameters = d_vect_t())
Sets all required parameters and calls Initialize()
- Parameters
_grid – Diameter-related PSD grid
_beta0 – Size independent agglomeration rate
_kernel – Type of the agglomeration kernel
_parameters – Additional parameters
-
void Initialize(const d_vect_t &_grid, double _beta0, const std::function<kernel_t> &_kernel, const d_vect_t &_parameters = d_vect_t())
Sets all required parameters and calls Initialize()
- Parameters
_grid – Diameter-related PSD grid
_beta0 – Size independent agglomeration rate
_kernel – Function of the agglomeration kernel
_parameters – Additional parameters
-
virtual void Initialize() override
Actual initialization of the solver.
-
virtual void Calculate(const d_vect_t &_n, d_vect_t &_rateB, d_vect_t &_rateD)
Main calculation function.
- Parameters
_n – Number distribution
_rateB – Output vector for birth rate
_rateD – Output vector for death rate
-
std::pair<d_vect_t, d_vect_t> Calculate(const d_vect_t &_n)
Main calculation function.
- Parameters
_n – Number distribution
- Returns
Birth and death rates
-
enum class EKernels : size_t