I am designing a wind turbine for my final year undergraduate project using blade element momentum theory. I am confused about axial and tangential induction factors. My question is if we have calculated blade chord and twist distribution using optimum value of axial and tangential factors(1/3 and corresponding value of tangential factor) then why we have to iteratively solve for these induction factors? Should we just not use optimum value as our blade is made for optimum operation.
Dear Zeeshan,
Even with a BEM-optimized blade, any operational condition that is none optimal (e.g. due to shear, turbulence, non-optimal tip-speed ratio, non-optimal blade-pitch angle etc.) will require recalculation of the induction factors.
Best regards,
Jason
Thank you very much for your precious time. As you mentioned that iteration is required due to non optimal conditions, but the equations that are used to find induction factors are derived from blade element momentum theory and thus do not include shear and turbulence etc. Also i am designing the turbine assuming constant tip speed ratio. Then why do we need to iterate?
Also, one of the fundamental assumption of BEMT is constant circulation and therefore constant axial induction factor along the span of the blade( in case of infinite number of blades). So when we are ignoring tip losses due to finite number of blades than axial induction factor should not be the same along the span? Why do we need to calculate it on different radial positions?
Dear Zeeshan,
If you are only analyzing a rotor with BEM-optimized blades under optimal conditions, than I agree that you already know that the axial induction factor is 1/3 (by design). But rotors are usually analyzed across a range of conditions. E.g. the BEM implementation in AeroDyn permits shear, turbulence etc.
Best regards,
Thanks again.
Dear Jason,
Hello, I went through all subroutines of AeroDyn and found the place in which induction factors are calculating. Here I forward the equation about calculation of axial induction factor
! ******************************************************
SUBROUTINE AXIND ( VNW, VNB, VNA, VTA, VT, VT2_Inv, VNROTOR2, A2, &
A2P, J, SOLFACT, ALPHA, PHI, CLA, CDA, CMA, RLOCAL )
! calculates a new axial induction factor from
! given values of velocities and geometry. This routine
! is called by vind as part of the iteration process
! ******************************************************
USE Element
USE InducedVel
USE Airfoil, ONLY: NFoil
USE Switch
IMPLICIT NONE
! Passed Variables:
REAL(ReKi),INTENT(INOUT) :: A2
REAL(ReKi),INTENT(INOUT) :: A2P
REAL(ReKi),INTENT(OUT) :: ALPHA
REAL(ReKi),INTENT(OUT) :: CDA
REAL(ReKi),INTENT(OUT) :: CLA
REAL(ReKi),INTENT(OUT) :: CMA
REAL(ReKi),INTENT(OUT) :: PHI
REAL(ReKi),INTENT(IN) :: RLOCAL
REAL(ReKi),INTENT(IN) :: SOLFACT
REAL(ReKi),INTENT(OUT) :: VNA
REAL(ReKi),INTENT(IN) :: VNB
REAL(ReKi),INTENT(IN) :: VNROTOR2
REAL(ReKi),INTENT(IN) :: VNW
REAL(ReKi),INTENT(IN) :: VT
REAL(ReKi),INTENT(IN) :: VT2_Inv
REAL(ReKi),INTENT(OUT) :: VTA
INTEGER ,INTENT(IN) :: J
! Local Variables:
REAL(ReKi) :: CH
REAL(ReKi) :: CPhi ! COS( PHI )
REAL(ReKi), SAVE :: HUBLOSS = 1
REAL(ReKi), SAVE :: LOSS = 1
REAL(ReKi) :: SPHI
REAL(ReKi) :: SWRLARG
REAL(ReKi), SAVE :: TIPLOSS = 1
REAL(ReKi) :: W2
INTEGER :: ErrStat
VNA = VNW * ( 1. - A2 ) + VNB
VTA = VT * ( 1. + A2P )
! Get airfoil CL and CD
PHI = ATAN2( VNA, VTA )
ALPHA = PHI - PITNOW
CALL MPI2PI ( ALPHA )
CALL CLCD ( ALPHA, CLA, CDA, CMA, NFoil(J), ErrStat )
W2 = VNA * VNA + VTA * VTA
SPHI = VNA/SQRT( W2 )
CPhi = COS( Phi )
! Calculate new value of A. Optionally include normal force due to drag.
CH = W2SOLFACT( CLACPhi + EqAIDmultCDA*SPhi )
! Get the tip loss values for the element (if they change)
IF (TLOSS) CALL GetTipLoss (J, SPHI, TIPLOSS, RLOCAL)
! Get the hub loss values for the element (if they change)
IF (HLOSS) CALL GetPrandtlLoss (HLCNST(J), SPHI, HUBLOSS)
! Get the total loss for the element
LOSS = TIPLOSS * HUBLOSS
! Check for diverging CH and correct if necessary
IF ( ABS( CH ) > 2. ) CH = SIGN( 2., CH )
IF ( CH < 0.96LOSS ) THEN
A2 = 0.5( 1 - SQRT( 1.0 - CH/LOSS ) )
ELSE
A2 = 0.1432 + SQRT( -0.55106 + .6427*CH/LOSS)
ENDIF
As it is obvious above the equation to calculate induction factor especially for high thrust region has difference with what is mentioned in AeroDyn Theory Manual (page 7). Would you please kindly help me to find the reference of this equation:
A2 = 0.5*( 1 - SQRT( 1.0 - CH/LOSS ) )
ELSE
A2 = 0.1432 + SQRT( -0.55106 + .6427*CH/LOSS)
Regards;
Saydie
Dear Saeedeh
Good question. The old AeroDyn Theory Manual (dated January, 2005) includes documentation of both existing and proposed models that were never fully implemented. From your post, it appears that the BEM theory is a bit different in AeroDyn v14 than what is documented in that manual.
The first equation applies to the momentum region and can be derived by solve Eq. (3) in the following report for the axial induction: nrel.gov/docs/fy05osti/36834.pdf. The second equation applies to the Glauert correction in the high-induction region, but it appears that the formulation is not the same as solving Eq. (18) in the report linked above for the axial induction. I’m not aware of the exact source of the equation implemented in AeroDyn v14.
Best regards,
Hello Jason,
Thank you for your description, the high thrust region equation in fortran code causes changes in the value of induction factor in comparison with the manual version result specially near tips.
Regards;
Saydie