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
x
x
x
d
x
d
t
=
x
0
(
α
−
τ
2
˙
α
)
−
x
τ
1
x
x
x
x
x
x
x
x
x
x
d
x
d
t
=
x
0
(
α
−
τ
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
x
x
x
τ
2
=
k
2
c
V
x
x
x
x
x
x
x
x
x
x
τ
2
=
k
2
c
V
is the instantaneous separation point position,
x
0
x
0
x
0
x
0
=
0.5
[
1
−
tanh
(
K
S
⋅
(
α
a
d
j
−
ϕ
)
)
]
x
0
)
x
0
x
0
x
0
x
0
x
0
x
0
x
0
x
0
x
0
=
0.5
[
1
−
tanh
(
K
S
⋅
(
α
a
d
j
−
ϕ
)
)
]
is the steady-state separation point for a given angle of attack
α
α
α
α
a
d
j
=
α
−
τ
2
˙
α
α
α
α
α
α
α
α
α
α
a
d
j
=
α
−
τ
2
˙
α
,
˙
α
˙
α
˙
α
K
S
˙
α
[
˙
α
˙
α
˙
α
˙
α
τ
1
=
k
1
c
V
˙
α
˙
α
˙
α
˙
α
K
S
is the rate of change of angle of attack, and
τ
1
τ
1
τ
1
ϕ
τ
1
τ
1
τ
1
τ
1
τ
1
τ
1
τ
2
=
k
2
c
V
τ
1
τ
1
τ
1
τ
1
ϕ
and
x
0
=
{
1.0
if
|
α
a
d
j
|
<
α
s
t
a
l
l
1.0
−
0.5
|
α
a
d
j
|
−
α
s
t
a
l
l
20.0
if
|
α
a
d
j
|
≥
α
s
t
a
l
l
τ
2
τ
2
x
0
−
s
t
=
0.5
[
1
−
tanh
(
K
S
⋅
(
α
−
ϕ
)
)
]
are time constants.
3 Time Constants
The time constants
τ
1
τ
1
τ
1
x
(
t
+
Δ
t
)
=
x
(
t
)
+
d
x
d
t
Δ
t
τ
1
τ
1
τ
1
τ
1
τ
1
τ
1
x
0
(
α
)
τ
1
τ
1
τ
1
τ
1
x
(
t
+
Δ
t
)
=
x
(
t
)
+
d
x
d
t
Δ
t
and
τ
2
τ
2
τ
2
d
x
d
t
τ
2
τ
2
τ
2
τ
2
τ
2
τ
2
x
(
t
+
Δ
t
)
=
x
(
t
)
+
d
x
d
t
Δ
t
τ
2
τ
2
τ
2
τ
2
d
x
d
t
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
c
c
c
C
L
(
α
,
x
)
=
C
L
−
s
t
(
0
)
+
d
C
L
−
s
t
(
0
)
d
α
sin
(
α
)
(
1
+
√
x
2
)
2
c
c
c
c
c
c
x
(
t
+
Δ
t
)
=
x
(
t
)
+
x
0
−
x
(
t
)
τ
1
Δ
t
c
c
c
c
C
L
(
α
,
x
)
=
C
L
−
s
t
(
0
)
+
d
C
L
−
s
t
(
0
)
d
α
sin
(
α
)
(
1
+
√
x
2
)
2
is the chord length,
V
V
V
C
L
−
s
t
V
V
V
V
V
V
Δ
t
V
V
Δ
t
V
V
Δ
t
C
L
−
s
t
is the relative velocity, and
k
1
k
1
k
1
C
D
(
α
,
x
)
=
C
D
−
s
t
(
α
)
+
(
C
D
−
s
t
(
α
)
−
C
D
−
s
t
(
0
)
)
[
0.5
(
√
x
0
−
s
t
−
√
x
)
−
0.25
(
x
−
x
0
−
s
t
)
]
k
1
k
1
k
1
k
1
k
1
k
1
x
k
1
k
1
x
k
1
k
1
x
C
D
(
α
,
x
)
=
C
D
−
s
t
(
α
)
+
(
C
D
−
s
t
(
α
)
−
C
D
−
s
t
(
0
)
)
[
0.5
(
√
x
0
−
s
t
−
√
x
)
−
0.25
(
x
−
x
0
−
s
t
)
]
and
k
2
k
2
k
2
C
D
−
s
t
k
2
k
2
k
2
k
2
k
2
k
2
C
L
(
α
,
x
)
=
π
2
sin
α
(
1
+
√
x
)
2
k
2
k
2
k
2
k
2
C
D
−
s
t
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
x
0
x
0
x
0
C
m
(
α
,
x
)
=
C
L
(
α
,
x
)
⋅
5
(
1
−
√
x
)
2
+
4
√
x
16
x
0
x
0
x
0
x
0
x
0
x
0
C
m
(
α
,
x
)
=
C
L
(
α
,
x
)
⋅
5
(
1
−
√
x
)
2
+
4
√
x
16
x
0
x
0
x
0
x
0
C
m
(
α
,
x
)
=
C
L
(
α
,
x
)
⋅
5
(
1
−
√
x
)
2
+
4
√
x
16
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}$$
x
d
x
d
t
d
x
d
t
d
x
d
t
x
(
t
+
Δ
t
)
=
x
(
t
)
+
x
0
−
x
(
t
)
τ
1
Δ
t
d
x
d
t
x
x
d
x
d
t
x
x
d
x
d
t
x
x
d
x
d
t
d
x
d
t
d
x
d
t
d
x
d
t
d
(
d
t
d
x
d
t
d
x
d
t
d
x
d
t
d
x
d
t
, we get:
$$x(t + \Delta t) = x(t) + \frac{x_0 - x(t)}{\tau_1} \Delta t$$
(6)
where
Δ
t
C
L
Δ
t
C
L
Δ
t
C
L
Δ
t
Δ
t
Δ
t
Δ
t
Δ
t
Δ
t
d
x
d
t
Δ
t
d
x
d
t
Δ
t
d
x
d
t
x
is the simulation time step.
6 Lift, drag and Moment Coefficients
Once the separation point
x
x
x
C
m
x
x
C
m
x
x
C
m
x
x
x
x
x
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
τ
1
x
x
x
x
x
τ
1
x
τ
1
x
τ
1
x
x
x
x
x
.
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 x 0 τ 1 τ 1 τ 1 τ 1 x 0 τ 1 x 0 τ 1 x 0 τ 1 τ 1 τ 1 τ 1 τ 1 and d x d t τ 2 τ 2 τ 2 τ 2 τ 2 d x d t τ 2 d x d t τ 2 d x d t τ 2 τ 2 τ 2 τ 2 τ 2
- Determine the appropriate stall angle based on Reynolds number
- Calculate the steady-state separation point x x 0 x 0 x 0 x 0 x 0 x x 0 x x 0 x x 0 x 0 x 0 x 0 x 0
- Calculate x d x d t x d x d t x d x d t x d x d t d x d t d x d t d x d t d x d t using equation (1)
- Update the separation point C L x C L x C L x C L x x x x x using equations (5) and (6)
- Ensure C m x x x x C m x C m x C m x x x x x stays within the valid range [0,1]
- Calculate the lift coefficient C L C L C L C L C L C L C L C L using equation (7)
- Calculate the moment coefficient C m C m C m C m C m C m C m C m using equation (8)
- Update the aerodynamic coefficients