GK Dynamic stall model



1 Model Overview

The Goman-Khrabrov (GK) model represents dynamic stall through a state-space approach using a separation point variable xxxdxdt=x0(α−τ2˙α)−xÏ„1xxxxxxxxxxdxdt=x0(α−τ2˙α)−xÏ„1 that describes the state of flow attachment on the airfoil surface. This variable ranges from 0 (fully separated flow) to 1 (fully attached flow). The implementation in Ashes is based on the paper by Goman et al. (1994)


Note: this implementation is currently in beta version

2 State Equation

The core of the GK model is a first-order differential equation that describes how the separation point evolves:
$$\frac{dx}{dt} = \frac{x_0(\alpha - \tau_2\dot{\alpha}) - x}{\tau_1}$$
(1)
where xxxÏ„2=k2cVxxxxxxxxxxÏ„2=k2cV is the instantaneous separation point position, x0x0x0x0=0.5[1−tanh(KSâ‹…(αadj−ϕ))]x0)x0x0x0x0x0x0x0x0x0=0.5[1−tanh(KSâ‹…(αadj−ϕ))] is the steady-state separation point for a given angle of attack ααααadj=α−τ2˙ααααααααααadj=α−τ2˙α, ˙α˙α˙αKS˙α[˙α˙α˙α˙ατ1=k1cV˙α˙α˙α˙αKS is the rate of change of angle of attack, and Ï„1Ï„1Ï„1ϕτ1Ï„1Ï„1Ï„1Ï„1Ï„1Ï„2=k2cVÏ„1Ï„1Ï„1Ï„1Ï• and x0={1.0if |αadj|<αstall1.0−0.5|αadj|−αstall20.0if |αadj|≥αstallÏ„2Ï„2x0−st=0.5[1−tanh(KSâ‹…(α−ϕ))] are time constants.

3 Time Constants

The time constants τ1τ1τ1x(t+Δt)=x(t)+dxdtΔtτ1τ1τ1τ1τ1τ1x0(α)τ1τ1τ1τ1x(t+Δt)=x(t)+dxdtΔt and τ2τ2τ2dxdtτ2τ2τ2τ2τ2τ2x(t+Δt)=x(t)+dxdtΔtτ2τ2τ2τ2dxdt are scaled by the chord length and relative velocity:
$$\tau_1 = k_1 \frac{c}{V}$$
(2)
$$\tau_2 = k_2 \frac{c}{V}$$
(3)
where cccCL(α,x)=CL−st(0)+dCL−st(0)dαsin(α)(1+√x2)2ccccccx(t+Δt)=x(t)+x0−x(t)Ï„1ΔtccccCL(α,x)=CL−st(0)+dCL−st(0)dαsin(α)(1+√x2)2 is the chord length, VVVCL−stVVVVVVΔtVVΔtVVΔtCL−st is the relative velocity, and k1k1k1CD(α,x)=CD−st(α)+(CD−st(α)−CD−st(0))[0.5(√x0−st−√x)−0.25(x−x0−st)]k1k1k1k1k1k1xk1k1xk1k1xCD(α,x)=CD−st(α)+(CD−st(α)−CD−st(0))[0.5(√x0−st−√x)−0.25(x−x0−st)] and k2k2k2CD−stk2k2k2k2k2k2CL(α,x)=Ï€2sinα(1+√x)2k2k2k2k2CD−st are configurable constants defined in the Analysis parameters

4 Separation Point

The separation point function was derived from experimental data at the University of Bath, and is given by:
The steady-state separation point x0x0x0Cm(α,x)=CL(α,x)⋅5(1−√x)2+4√x16x0x0x0x0x0x0Cm(α,x)=CL(α,x)⋅5(1−√x)2+4√x16x0x0x0x0Cm(α,x)=CL(α,x)⋅5(1−√x)2+4√x16 is determined based on the angle of attack relative to the stall angle:
$$x_0 =0.5\left[1-\tanh(K_S\cdot\left(\alpha_{adj}-\phi)\right)\right]$$
(4)
where 
$$\alpha_{adj}=\alpha - \tau_2\dot{\alpha}$$
is the adjusted angle of attack accounting for rate effects, 
$$K_S$$
is a separation parameter and 
$$\phi$$
is a separation angle.

Note that the drag coefficient equation uses a static version of that equation, given by:
$$x_{0-st} =0.5\left[1-\tanh(K_S\cdot\left(\alpha-\phi)\right)\right]$$




5 Numerical Integration

Equation (1) is integrated using the explicit Euler method:
$$x(t + \Delta t) = x(t) + \frac{dx}{dt} \Delta t$$
(5)
Substituting the GK model expression for 
$$\frac{dx}{dt}$$
xdxdtdxdtdxdtdxdtx(t+Δt)=x(t)+x0−x(t)τ1Δtdxdtxxdxdtxxdxdtxxdxdtdxdtdxdtdxdtd(dtdxdtdxdtdxdtdxdt, we get:
$$x(t + \Delta t) = x(t) + \frac{x_0 - x(t)}{\tau_1} \Delta t$$
(6)
where ΔtCLΔtCLΔtCLΔtΔtΔtΔtΔtΔtdxdtΔtdxdtΔtdxdtx is the simulation time step.

6 Lift, drag and Moment Coefficients

Once the separation point xxxCmxxCmxxCmxxxxx is determined, the lift and moment coefficients are calculated using:
$$C_L(\alpha, x) = C_{L-st}(0)+\frac{dC_{L-st}(0)}{d\alpha}\sin(\alpha)\left(\frac{1 + \sqrt{x}}{2}\right)^2$$
(7)
where 
$$C_{L-st}$$
is the static lift.
$$C_D(\alpha,x)=C_{D-st}(\alpha)+\left(C_{D-st}(\alpha)-C_{D-st}(0)\right) \left[0.5\left(\sqrt{x_{0-st}} - \sqrt{x}\right) - 0.25(x - x_{0-st})\right] $$

where 
$$C_{D-st}$$
is the static drag.
$$C_m(\alpha, x) = C_L(\alpha, x) \cdot \frac{5(1 - \sqrt{x})^2 + 4\sqrt{x}}{16}$$
(8)
These equations account for both attached and separated flow contributions through the separation point variable τ1xxxxxτ1xτ1xτ1xxxxx.

7 Implementation Flow

The implementation of the GK model in the code follows these steps:
  1. Calculate the rate of change of angle of attack τ2˙α˙α˙α˙ατ2˙ατ2˙ατ2˙α˙α˙α˙α˙α˙α˙α˙α
  2. Calculate the time constants x0τ1τ1τ1τ1x0τ1x0τ1x0τ1τ1τ1τ1τ1 and dxdtτ2τ2τ2τ2τ2dxdtτ2dxdtτ2dxdtτ2τ2τ2τ2τ2
  3. Determine the appropriate stall angle based on Reynolds number
  4. Calculate the steady-state separation point xx0x0x0x0x0xx0xx0xx0x0x0x0x0
  5. Calculate xdxdtxdxdtxdxdtxdxdtdxdtdxdtdxdtdxdt using equation (1)
  6. Update the separation point CLxCLxCLxCLxxxxx using equations (5) and (6)
  7. Ensure CmxxxxCmxCmxCmxxxxx stays within the valid range [0,1]
  8. Calculate the lift coefficient CLCLCLCLCLCLCLCL using equation (7)
  9. Calculate the moment coefficient CmCmCmCmCmCmCmCm using equation (8)
  10. Update the aerodynamic coefficients