Terminal Velocities

Header file: <libs/superdrops/terminalvelocity.hpp> [source]

template<typename V>
concept VelocityFormula
#include <terminalvelocity.hpp>

Concept representing a velocity formula for calculating a droplet’s terminal velocity.

Objects that are of type ‘VelocityFormula’ take a superdroplet and return something convertible to a double (should be its terminal velocity!).

struct NullTerminalVelocity

Null terminal velocity formula returning zero velocity.

Public Functions

inline double operator()(const Superdrop &drop) const

Returns zero as the terminal velocity of a droplet.

Parameters:

drop – The super-droplet.

Returns:

0.0

struct SimmelTerminalVelocity

Terminal velocity formula as in Simmel et al. (2002).

Public Functions

double watermass(const double radius) const

Returns the mass of a droplet as if it’s all water [gramms] to use as ‘x’ according to Simmel et al. 2002 equation (14).

Parameters:

radius – The radius of the droplet.

Returns:

The mass of the droplet as if it’s all water [gramms].

double operator()(const Superdrop &drop) const

Returns the (dimensionless) terminal velocity of a droplet according to Simmel et al. (2002).

Simmel et al. 2002 formula is a semi-empirical adapted from the work of Gunn and Kinzer (1949) and Beard (1976) and used in Simmel’s parmeterisation of Long 1974’s hydrodynamic collision kernel. For drops with radius >= 1.74mm, terminal velocity is 9.17m/s.

Note: Improvement could be made by following Arabas et al. 2015 and Morrison et al. 2005 in multiplying the terminal velocity by the density ratio, rho_dry0/rho_dry, of dry air under standard conditions (rho_dry0) and in current state (rho_dry).

Parameters:

drop – The superdroplet.

Returns:

The (dimensionless) terminal velocity.

struct RogersYauTerminalVelocity

Terminal velocity formula based on Rogers and Yau (1989) textbook.

Public Functions

double operator()(const Superdrop &drop) const

Returns the terminal velocity of a superdroplet according to Rogers and Yau (1989).

Returns the terminal velocity of a droplet according to Rogers et al. (1993).

Formula from Rogers and Yau 1989 textbook “a short course in cloud physics” chapter 8. For small droplets formula parameterises Stokes’ terminal velocity (valid at low Reynolds numbers for spherical droplets). For drops with radius >= 2mm, terminal velocity is 9m/s.

See “Comparison of Raindrop Size Distributions Measured by Radar Wind Profiler and by Airplane” by R. R. Rogers, D. Baumgardner, S. A. Ethier, D. A. Carter, and W. L. Ecklund (1993). Formulation is approximation of Gunn and Kinzer (1949) tabulated values.

Parameters:
  • drop – The superdroplet.

  • drop – The superdroplet.

Returns:

The (dimensionless) terminal velocity.

Returns:

The (dimensionless) terminal velocity.

struct RogersGKTerminalVelocity

Terminal velocity formula based on Rogers et al. (1993).

Public Functions

double operator()(const Superdrop &drop) const

Returns the terminal velocity of a droplet according to Rogers et al. (1993).

See “Comparison of Raindrop Size Distributions Measured by Radar Wind Profiler and by Airplane” by R. R. Rogers, D. Baumgardner, S. A. Ethier, D. A. Carter, and W. L. Ecklund (1993). Formulation is approximation of Gunn and Kinzer (1949) tabulated values.

Parameters:

drop – The superdroplet.

Returns:

The (dimensionless) terminal velocity.