For a complete answer you would have to give us your model. By the sounds of it your ship does not have enough inertia to complete the tack. I will use the following simple model to try to help elucidate where issues will arise.
Ft = force applied to the boat by sail
Rl = Lateral Resistance (high)
Ra = Axial Resistance (Low)
I = Inertia
M = Moment (responsible for rotating the model)
rr = radius from ruder to center of mass
Ft
is Dependant on the angle of attack, apparent velocity, air density, sail size etc.
Rl
, Ra
and I
are dependent on time.
When Ft > Rl + Ra
the ship accelerates, which increases I
.
When Ft < Rl + Ra
the ship decelerates decreasing I
.
If Ft = 0
then Ft <= Rl + Ra
thus when power is lost the ship should simply decelerate.
Before Turn
Fx: Ftx - Rlx - Rax = Ix
Fy: Fty - Rly - Ray = Iy
M: 0 = M
During Turn (moment applied at tail of boat)
Fx: Ftx + Frx - Rlx - Rax = Ix
Fy: Fty + Fry - Rly - Ray = Iy
M: Fr * rr = M
During Luff
Fx: Rlx - Rax = Ix
Fy: Rly - Ray = Iy
M: 0 = M
Model
The following is a very simple model. Before practical use, a function representing Ft
should be implemented.
Make Ft
simply dependent on the angle of attack(rather than estimating it based on apparent velocity, sail area etc).
For the purpose of this model Fr
can be applied arbitrarily.
Ix = m * x''
Rlx = crl * x'
Rax = cra * x'
Mx = m * a''
where: crl
and cra
are your lateral and axial resistance consants and a
is the angle of the boat.
Which results in:
Fx: Ftx(AA) + Frx - cra * x' - crl * x' = m * x''
Fy: Fty(AA) + Fry - cra * y' - crl * y' = m * y''
M: Fr * rr = m * a''
note: here I assume the rudder force is applied perpendicular to the primary axis.
note: The angle of attack (AA
) is different than the angle of the boat (a
)