# Critical depth

### Description

Calculate the critical depth.

### Usage

1 | ```
critical_depth(Q, yopt, g, B, SS)
``` |

### Arguments

`Q` |
Flow rate [ |

`yopt` |
Initial guess for normal depth [ |

`g` |
Gravitational acceleration [ |

`B` |
Channel bottom width [ |

`SS` |
Channel sideslope [ |

### Details

The critical depth is the water depth at which a channel flow regime will transition from supercritical to subcritical (or vice versa). Calculation of the critical depth is based on a specific energy formulation, i.e.

*E = y + z + \frac{Q^2}{2gB^2y^2}*

where *y* is the flow depth, *z* is
the elevation relative to some datum (assumed to be 0), and the last term
represents kinetic energy. More specifically, the function operates
by finding the point where the derivative of specific energy w.r.t. *y* is zero, i.e.
*y = y_c* when

*\frac{dE}{dy} = 1 - \frac{Q^2}{gA^3}\frac{dA}{dy} = 0*

.

### Value

The critical depth *y_c* [*L*].

### Examples

1 2 | ```
critical_depth(250, 2, 32.2, 100, 0) # rectangular channel
critical_depth(126, 1, 9.81, 6.1, 1.5) # trapezoidal channel with sideslope 3H:2V
``` |