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}$$
xdxdtdxdtdxdtx(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:
- Calculate the rate of change of angle of attack τ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
- Determine the appropriate stall angle based on Reynolds number
- Calculate the steady-state separation point xx0x0x0x0x0xx0xx0xx0x0x0x0x0
- Calculate xdxdtxdxdtxdxdtxdxdtdxdtdxdtdxdtdxdt using equation (1)
- Update the separation point CLxCLxCLxCLxxxxx using equations (5) and (6)
- Ensure CmxxxxCmxCmxCmxxxxx stays within the valid range [0,1]
- Calculate the lift coefficient CLCLCLCLCLCLCLCL using equation (7)
- Calculate the moment coefficient CmCmCmCmCmCmCmCm using equation (8)
- Update the aerodynamic coefficients