- Timestamp:
- Mar 12, 2020 4:47:30 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/wind_turbine_model_mod.f90
r4459 r4460 26 26 ! ----------------- 27 27 ! $Id$ 28 ! allow for simulating up to 10 000 wind turbines 29 ! 30 ! 4459 2020-03-12 09:35:23Z oliver.maas 28 31 ! avoid division by zero in tip loss correction factor calculation 29 32 ! … … 180 183 PRIVATE 181 184 182 183 185 INTEGER(iwp), PARAMETER :: n_turbines_max = 10000 !< maximum number of turbines (for array allocation) 186 184 187 CHARACTER(LEN=100) :: variable_name !< name of output variable 185 188 CHARACTER(LEN=30) :: nc_filename … … 190 193 INTEGER(iwp) :: n_airfoils = 8 !< number of airfoils of the used turbine model (for ADM-R and ALM) 191 194 INTEGER(iwp) :: n_turbines = 1 !< number of turbines 192 193 195 194 196 … … 217 219 218 220 219 REAL(wp), DIMENSION(1: 100) :: tower_diameter = 0.0_wp !< tower diameter [m]220 REAL(wp), DIMENSION(1: 100), TARGET :: rotor_speed = 0.9_wp !< inital or constant rotor speed [rad/s]221 REAL(wp), DIMENSION(1: 100) :: yaw_angle = 0.0_wp !< yaw angle [degree] ( clockwise, 0 = facing west )222 REAL(wp), DIMENSION(1: 100) :: pitch_angle = 0.0_wp !< constant pitch angle223 REAL(wp), DIMENSION(1: 100) :: hub_x = 9999999.9_wp !< position of hub in x-direction224 REAL(wp), DIMENSION(1: 100) :: hub_y = 9999999.9_wp !< position of hub in y-direction225 REAL(wp), DIMENSION(1: 100) :: hub_z = 9999999.9_wp !< position of hub in z-direction226 REAL(wp), DIMENSION(1: 100) :: nacelle_radius = 0.0_wp !< nacelle diameter [m]227 REAL(wp), DIMENSION(1: 100) :: rotor_radius= 63.0_wp !< rotor radius [m]228 ! REAL(wp), DIMENSION(1: 100) :: nacelle_cd= 0.85_wp !< drag coefficient for nacelle229 REAL(wp), DIMENSION(1: 100) :: tower_cd= 1.2_wp !< drag coefficient for tower221 REAL(wp), DIMENSION(1:n_turbines_max) :: tower_diameter = 0.0_wp !< tower diameter [m] 222 REAL(wp), DIMENSION(1:n_turbines_max), TARGET :: rotor_speed = 0.9_wp !< inital or constant rotor speed [rad/s] 223 REAL(wp), DIMENSION(1:n_turbines_max) :: yaw_angle = 0.0_wp !< yaw angle [degree] ( clockwise, 0 = facing west ) 224 REAL(wp), DIMENSION(1:n_turbines_max) :: pitch_angle = 0.0_wp !< constant pitch angle 225 REAL(wp), DIMENSION(1:n_turbines_max) :: hub_x = 9999999.9_wp !< position of hub in x-direction 226 REAL(wp), DIMENSION(1:n_turbines_max) :: hub_y = 9999999.9_wp !< position of hub in y-direction 227 REAL(wp), DIMENSION(1:n_turbines_max) :: hub_z = 9999999.9_wp !< position of hub in z-direction 228 REAL(wp), DIMENSION(1:n_turbines_max) :: nacelle_radius = 0.0_wp !< nacelle diameter [m] 229 REAL(wp), DIMENSION(1:n_turbines_max) :: rotor_radius = 63.0_wp !< rotor radius [m] 230 ! REAL(wp), DIMENSION(1:n_turbines_max) :: nacelle_cd = 0.85_wp !< drag coefficient for nacelle 231 REAL(wp), DIMENSION(1:n_turbines_max) :: tower_cd = 1.2_wp !< drag coefficient for tower 230 232 231 233 ! … … 383 385 ! 384 386 !- variables for the rotation of the rotor coordinates 385 REAL(wp), DIMENSION(1: 100,1:3,1:3) :: rot_coord_trans !< matrix for rotation of rotor coordinates387 REAL(wp), DIMENSION(1:n_turbines_max,1:3,1:3) :: rot_coord_trans !< matrix for rotation of rotor coordinates 386 388 387 389 REAL(wp), DIMENSION(1:3) :: rot_eigen_rad !< … … 409 411 REAL(wp) :: lp_coeff !< coeff for the controller low pass filter 410 412 411 REAL(wp), DIMENSION( 100) :: rotor_speed_l = 0.0_wp !< local rot speed [rad/s]413 REAL(wp), DIMENSION(n_turbines_max) :: rotor_speed_l = 0.0_wp !< local rot speed [rad/s] 412 414 413 415 ! … … 424 426 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: wd30 !< 425 427 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: wd2 !< 426 LOGICAL, DIMENSION(1: 100):: doyaw = .FALSE. !<428 LOGICAL, DIMENSION(1:n_turbines_max) :: doyaw = .FALSE. !< 427 429 INTEGER(iwp) :: WDLON !< 428 430 INTEGER(iwp) :: WDSHO !< … … 430 432 ! 431 433 !-- Variables that have to be saved in the binary file for restarts 432 REAL(wp), DIMENSION(1: 100) :: pitch_angle_old = 0.0_wp !< old constant pitch angle433 REAL(wp), DIMENSION(1: 100) :: generator_speed = 0.0_wp !< curr. generator speed434 REAL(wp), DIMENSION(1: 100) :: generator_speed_f = 0.0_wp !< filtered generator speed435 REAL(wp), DIMENSION(1: 100) :: generator_speed_old = 0.0_wp !< last generator speed436 REAL(wp), DIMENSION(1: 100) :: generator_speed_f_old = 0.0_wp !< last filtered generator speed437 REAL(wp), DIMENSION(1: 100) :: torque_gen = 0.0_wp !< generator torque438 REAL(wp), DIMENSION(1: 100) :: torque_gen_old = 0.0_wp !< last generator torque434 REAL(wp), DIMENSION(1:n_turbines_max) :: pitch_angle_old = 0.0_wp !< old constant pitch angle 435 REAL(wp), DIMENSION(1:n_turbines_max) :: generator_speed = 0.0_wp !< curr. generator speed 436 REAL(wp), DIMENSION(1:n_turbines_max) :: generator_speed_f = 0.0_wp !< filtered generator speed 437 REAL(wp), DIMENSION(1:n_turbines_max) :: generator_speed_old = 0.0_wp !< last generator speed 438 REAL(wp), DIMENSION(1:n_turbines_max) :: generator_speed_f_old = 0.0_wp !< last filtered generator speed 439 REAL(wp), DIMENSION(1:n_turbines_max) :: torque_gen = 0.0_wp !< generator torque 440 REAL(wp), DIMENSION(1:n_turbines_max) :: torque_gen_old = 0.0_wp !< last generator torque 439 441 440 442
Note: See TracChangeset
for help on using the changeset viewer.