vivyd.models.RigoAndrianneDenoelModel#

class RigoAndrianneDenoelModel(*, diam=0.18, St=0.18, u_inf=1.0, alpha=-0.085, gamma=0.009, delta=0.057)[source]#

Bases: VIVModel

Rigo, Andrianne & Denoël (2022) wake-oscillator model for the evolution of the wake alone, without coupling to the structure [RADenoel22]. The equation of the wake is written as

\[\ddot{q} - \left(\alpha q^2 + \frac{\gamma}{\omega_s^2} \dot{q}^2 + \delta \right) \omega_s \dot{q} + \omega_s^2 q = 0\]

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.

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

  • alpha (float, optional) – Van der Pol wake nonlinearity parameter, \(\alpha\). Default is -0.085.

  • gamma (float, optional) – Rayleigh wake nonlinearity parameter, \(\gamma\). Default is 0.009.

  • delta (float, optional) – Constant wake damping parameter, \(\delta\). Default is 0.057.

Attributes#

RigoAndrianneDenoelModel.diam: float#

Diameter of the cylinder, \(D\).

RigoAndrianneDenoelModel.St: float#

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

RigoAndrianneDenoelModel.u_inf: float#

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

RigoAndrianneDenoelModel.alpha: float#

Van der Pol wake nonlinearity parameter, \(\alpha\).

RigoAndrianneDenoelModel.gamma: float#

Rayleigh wake nonlinearity parameter, \(\gamma\).

RigoAndrianneDenoelModel.delta: float#

Constant wake damping parameter, \(\delta\).

property RigoAndrianneDenoelModel.St_star: float#

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

property RigoAndrianneDenoelModel.ws: float#

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

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

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

Methods#

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

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

Parameters:
  • t (float) – Time.

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

Returns:

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

Return type:

arrf64

RigoAndrianneDenoelModel.to_generalized()[source]#
Returns:

A generalized model instance equivalent to the present model.

Return type:

GeneralizedModel

RigoAndrianneDenoelModel.to_taichi()[source]#
Returns:

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

Return type:

GeneralizedModel

RigoAndrianneDenoelModel.get_lift_coefficient(state, Cl0)[source]#

Compute the lift coefficient from the state vector.

Parameters:
  • state (arrf64) – State vector indexed [q_dot, q].

  • Cl0 (float) – Lift coefficient at zero angle of attack.

Returns:

Lift coefficient.

Return type:

float