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.

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