LCS::VelocityFunction::BowerModel< T > Struct Template Reference

Bower model for meandering jet. More...

#include <velocity_function.hpp>

Public Member Functions

 BowerModel ()
 
 BowerModel (std::vector< T > &p)
 
auto operator() (const T x, const T y, const T t=0) const
 

Public Attributes

sc_
 
a_
 
l_
 
cx_
 
lambda_
 

Detailed Description

template<typename T>
struct LCS::VelocityFunction::BowerModel< T >

Bower model for meandering jet.

The velocity function of the Bower model for meandering jets is implemented here. [1]

The streamfunction is defined as

\[ \Psi(x,y,t)=\Psi_0\Big[1-\tanh\Big(\frac{y-y_c}{\lambda/\cos\alpha}\Big)\Big], \]

where $\Psi$ is the scale factor, $ y_c=A\sin[k(x-c_xt)]$ is the center streamline, $A$ is the wave amplitude, $k=2\pi/L$ is the wave number, $\lambda$ is the scale width of the jet, and $\alpha=\tan^{-1}\{Ak\cos[k(x-c_xt)]\}$ is the direction of current.

Here, we implement the streamfunction in the moving frame, which is independent of time:

\[ \Psi'(x',y')=\Psi_0\Big[1-\tanh\Big(\frac{y'-y_c'}{\lambda/\cos\alpha'}\Big)\Big], \]

where $y_c'=A\sin(kx')$, and $\alpha'=\tan^{-1}[Ak\cos(kx')]$.

Then, the velocity in the moving frame can be obtained by calculating the partial derivatives of the streamfunction:

\[ u'=-\frac{\partial\Psi'}{\partial y'},\quad v'=\frac{\partial\Psi'}{\partial x'}. \]

Template Parameters
TNumeric data type of the values.

Constructor & Destructor Documentation

template<typename T >
LCS::VelocityFunction::BowerModel< T >::BowerModel ( )
inline

Constructor with default parameters.

template<typename T >
LCS::VelocityFunction::BowerModel< T >::BowerModel ( std::vector< T > &  p)
inline

Constructor with customized parameters.

Parameters
pA vector of parameters.

Member Function Documentation

template<typename T >
auto LCS::VelocityFunction::BowerModel< T >::operator() ( const T  x,
const T  y,
const T  t = 0 
) const
inline

Get the velocity at a given point.

Parameters
x$x$-coordinate of the point.
y$y$-coordinate of the point.
tTime for velocity. Since the flow is steady (independent of time), t should be 0 here.

Member Data Documentation

template<typename T >
T LCS::VelocityFunction::BowerModel< T >::a_

Wave amplitude (km).

template<typename T >
T LCS::VelocityFunction::BowerModel< T >::cx_

Jet phase speed (km/day).

template<typename T >
T LCS::VelocityFunction::BowerModel< T >::l_

Wave length (km).

template<typename T >
T LCS::VelocityFunction::BowerModel< T >::lambda_

Scale width of the jet (40km).

template<typename T >
T LCS::VelocityFunction::BowerModel< T >::sc_

Magnitude of downstream speed at the jet center (km/day).


The documentation for this struct was generated from the following file: