• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

WISDEM / WEIS / 12283078613

11 Dec 2024 06:59PM UTC coverage: 78.249% (-0.6%) from 78.802%
12283078613

Pull #308

github

dzalkind
Merge remote-tracking branch 'origin/DLC_RefactorCaseInputs' into DLC_RefactorCaseInputs
Pull Request #308: DLC Generation - Refactor and New Cases

446 of 665 new or added lines in 9 files covered. (67.07%)

3 existing lines in 3 files now uncovered.

21416 of 27369 relevant lines covered (78.25%)

0.78 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

63.46
/weis/dlc_driver/turbulence_models.py
1
class IEC_TurbulenceModels():
1✔
2

3
    def __init__(self):
1✔
4

5
        self.Turbine_Class    = 'I'      # IEC Wind Turbine Class
1✔
6
        self.Turbulence_Class = 'B'    # IEC Turbulance Class
1✔
7
        self.z_hub            = 90.    # wind turbine hub height (m)
1✔
8

9
    def setup(self):
1✔
10
        # General turbulence parameters: 6.3
11
        # Sigma_1: logitudinal turbulence scale parameter
12

13
        # Setup
14
        if self.Turbine_Class == 'I':
1✔
15
            self.V_ref = 50.
1✔
16
            self.Turbine_Class_Num = '1'
1✔
17
        elif self.Turbine_Class == 'II':
×
18
            self.V_ref = 42.5
×
19
            self.Turbine_Class_Num = '2'
×
20
        elif self.Turbine_Class == 'III':
×
21
            self.V_ref = 37.5
×
22
            self.Turbine_Class_Num = '3'
×
23
        elif self.Turbine_Class == 'IV':
×
24
            self.V_ref = 30.
×
25
            self.Turbine_Class_Num = '4'
×
26
        else:
27
            raise Exception('The wind turbine class is not defined properly')
×
28
        self.V_ave = self.V_ref*0.2
1✔
29

30
        if self.Turbulence_Class == 'A+':
1✔
31
            self.I_ref = 0.18
×
32
        elif self.Turbulence_Class == 'A':
1✔
33
            self.I_ref = 0.16
1✔
34
        elif self.Turbulence_Class == 'B':
1✔
35
            self.I_ref = 0.14
1✔
36
        elif self.Turbulence_Class == 'C':
×
37
            self.I_ref = 0.12
×
38

39
        if self.z_hub > 60:
1✔
40
            self.Sigma_1 = 42
1✔
41
        else:
42
            self.Sigma_1 = 0.7*self.z_hub
×
43
            
44
    def NTM(self, V_hub):
1✔
45
        # Normal turbulence model: 6.3.1.3
46
        b = 5.6
1✔
47
        sigma_1 = self.I_ref*(0.75*V_hub + b)
1✔
48
        return sigma_1
1✔
49

50
    def ETM(self, V_hub):
1✔
51
        # Extreme turbulence model: 6.3.2.3
52
        c = 2
1✔
53
        sigma_1 = c*self.I_ref*(0.072*(self.V_ave/c + 3)*(V_hub/c - 4) + 10)
1✔
54
        return sigma_1
1✔
55

56
    def EWM(self, V_hub):
1✔
57
        # Extreme wind speed model: 6.3.2.1
58
                
59
        # Steady
60
        V_e50 = 1.4*self.V_ref
1✔
61
        V_e1 = 0.8*V_e50
1✔
62
        # Turb
63
        V_50 = self.V_ref
1✔
64
        V_1 = 0.8*V_50
1✔
65
        sigma_1 = 0.11*V_hub
1✔
66

67
        return sigma_1, V_e50, V_e1, V_50, V_1
1✔
68
    
69
    def EOG(self,V_hub):
1✔
NEW
70
        V_e50 = 1.4*self.V_ref
×
NEW
71
        V_e1 = 0.8*V_e50
×
NEW
72
        b = 5.6
×
NEW
73
        sigma_1 = self.I_ref*(0.75*V_hub + b)
×
74
        
NEW
75
        return sigma_1, V_e1
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc