vivyd.models.FacchinettiDelangreBiolleyModel#

class FacchinettiDelangreBiolleyModel(*, diam=0.18, St=0.18, c_m=0.05, k_m=39.47841760435743, m_lin=25.0, rho=1.25, u_inf=1.0, Cm=1.0, Cd=1.2, Cl0=0.4, eps=0.3, A=12.0)[source]#

Bases: VIVModel

Facchinetti, Delangre and Biolley (2004) wake-oscillator model for vortex-induced vibrations on circular cylinders [FDLB04]. By identifying the lift and transverse drag forces, the mechanical equation of motion of the cylinder is written as

\[\ddot{y} + \left(\frac{c}{m} + \frac{\gamma}{\mu} \omega_s \right) \dot{y} + \frac{k}{m} y = M \omega_s^2 q,\]

and the equation of the wake is written as

\[\ddot{q} + \varepsilon \omega_s (q^2 - 1) \dot{q} + \omega_s^2 q = \frac{A}{D} \ddot{y},\]

with

\[\omega_s = 2 \pi \text{St} \frac{U_\infty}{D}.\]
Parameters:
  • diam (float, optional) – Diameter of the cylinder, \(D\). Default is 0.18 m.

  • St (float, optional) – Strouhal number, \(\text{St}\). Default is 0.18.

  • c_m (float, optional) – Specific mechanical damping, \(c/m\). Default is 0.05.

  • k_m (float, optional) – Specific mechanical stiffness, \(k/m\). Default is \(4 \pi^2\).

  • m_lin (float, optional) – Mass per unit length of the cylinder, \(m_\text{lin}\). Default is 25.0 kg/m.

  • rho (float, optional) – Density of the fluid, \(\rho\). Default is 1.25 kg/m³.

  • u_inf (float, optional) – Free-stream velocity, \(U_\infty\). Default is 1.0 m/s.

  • Cm (float, optional) – Added mass coefficient, \(C_M\). Default is 1.0.

  • Cd (float, optional) – Drag coefficient, \(C_D\). Default is 1.2.

  • Cl0 (float, optional) – Lift coefficient at zero angle of attack, \(C_{L 0}\). Default is 0.4.

  • eps (float, optional) – Wake nonlinearity parameter, \(\varepsilon\). Default is 0.3.

  • A (float, optional) – Structure-to-wake coupling parameter, \(A\). Default is 12.0.

Attributes#

FacchinettiDelangreBiolleyModel.diam: float#

Diameter of the cylinder, \(D\).

FacchinettiDelangreBiolleyModel.St: float#

Strouhal number, \(\text{St}\).

FacchinettiDelangreBiolleyModel.c_m: float#

Specific mechanical damping, \(c/m\).

FacchinettiDelangreBiolleyModel.k_m: float#

Specific mechanical stiffness, \(k/m\).

FacchinettiDelangreBiolleyModel.m_lin: float#

Mass per unit length of the cylinder, \(m_\text{lin}\).

FacchinettiDelangreBiolleyModel.rho: float#

Density of the fluid, \(\rho\).

FacchinettiDelangreBiolleyModel.u_inf: float#

Free-stream velocity, \(U_\infty\).

FacchinettiDelangreBiolleyModel.Cm: float#

Added mass coefficient, \(C_M\).

FacchinettiDelangreBiolleyModel.Cd: float#

Drag coefficient, \(C_D\).

FacchinettiDelangreBiolleyModel.Cl0: float#

Lift coefficient at zero angle of attack, \(C_{L 0}\).

FacchinettiDelangreBiolleyModel.eps: float#

Wake nonlinearity parameter, \(\varepsilon\).

FacchinettiDelangreBiolleyModel.A: float#

Structure-to-wake coupling parameter, \(A\).

property FacchinettiDelangreBiolleyModel.St_star: float#

Angular Strouhal number, \(\text{St}^* = 2 \pi \text{St}\).

property FacchinettiDelangreBiolleyModel.ws: float#

Strouhal’s vortex shedding pulsation, \(\omega_s = 2 \pi \text{St} \dfrac{U_\infty}{D}\).

property FacchinettiDelangreBiolleyModel.gamma: float#

Drag-induced wake damping coefficient, \(\gamma = C_D / (2 \text{St}^*)\).

property FacchinettiDelangreBiolleyModel.m_fluid: float#

Mass of the fluid displaced by the cylinder, \(m_\text{fluid} = C_M \dfrac{\rho \pi D^2}{4}\).

property FacchinettiDelangreBiolleyModel.mu: float#

Mass ratio, \(\mu = \dfrac{m_\text{lin} + m_\text{fluid}}{\rho D^2}\).

property FacchinettiDelangreBiolleyModel.M: float#

Structure-wake coupling coefficient, \(M = \dfrac{C_{L 0}}{4 \text{St}^{*2} \mu}\).

property FacchinettiDelangreBiolleyModel.generalized_params: dict[str, float]#

A dictionary containing the parameters of the model in a format compatible with the constructor of GeneralizedModel.

Methods#

FacchinettiDelangreBiolleyModel.rhs(t, state, **kwargs)[source]#

Compute the right-hand side of the system of ODEs.

Parameters:
  • t (float) – Time.

  • state (arrf64) – State vector indexed [y_dot, y, q_dot, q].

Returns:

Derivatives of the state vector indexed [dy_dot, dy, dq_dot, dq].

Return type:

arrf64

FacchinettiDelangreBiolleyModel.to_generalized()[source]#
Returns:

A generalized model instance equivalent to the present model.

Return type:

GeneralizedModel

FacchinettiDelangreBiolleyModel.to_taichi()[source]#
Returns:

A Taichi-compatible generalized model instance equivalent to the present model.

Return type:

GeneralizedModel