diff --git a/wetb/prepost/tests/data/demo_dlc/ref/data/minimal_demo_file.txt b/wetb/prepost/tests/data/demo_dlc/ref/data/minimal_demo_file.txt new file mode 100644 index 0000000000000000000000000000000000000000..8db2621539988442dd84f09006b47d9b6ed08690 --- /dev/null +++ b/wetb/prepost/tests/data/demo_dlc/ref/data/minimal_demo_file.txt @@ -0,0 +1 @@ +just one demo line diff --git a/wetb/prepost/tests/data/demo_dlc/ref/demo_dlc_remote.zip b/wetb/prepost/tests/data/demo_dlc/ref/demo_dlc_remote.zip new file mode 100644 index 0000000000000000000000000000000000000000..60fe434ad3dc15cf5e1dd1977c630107c611ac55 Binary files /dev/null and b/wetb/prepost/tests/data/demo_dlc/ref/demo_dlc_remote.zip differ diff --git a/wetb/prepost/tests/data/demo_dlc/ref/htc/DLCs/dlc01_demos.xlsx b/wetb/prepost/tests/data/demo_dlc/ref/htc/DLCs/dlc01_demos.xlsx new file mode 100755 index 0000000000000000000000000000000000000000..1f4c2311367ccea9d06f57db32793e8948f0e959 Binary files /dev/null and b/wetb/prepost/tests/data/demo_dlc/ref/htc/DLCs/dlc01_demos.xlsx differ diff --git a/wetb/prepost/tests/data/demo_dlc/ref/htc/_master/demo_dlc_master_A0001.htc b/wetb/prepost/tests/data/demo_dlc/ref/htc/_master/demo_dlc_master_A0001.htc new file mode 100755 index 0000000000000000000000000000000000000000..6e956f80d62257709ddd129408b8d77305da4339 --- /dev/null +++ b/wetb/prepost/tests/data/demo_dlc/ref/htc/_master/demo_dlc_master_A0001.htc @@ -0,0 +1,850 @@ +;this version was at some point based on: Avatar_10MW_RWT version 1, 06-08-14, Anyd +begin simulation; + time_stop [time stop]; + solvertype 1 ; (newmark) + on_no_convergence continue ; +; convergence_limits 1E3 1.0 1E-7 ; + logfile ./logfiles/[Case folder]/[Case id.].log ; + begin newmark; + deltat 0.02; + end newmark; +end simulation; +; +;---------------------------------------------------------------------------------------------------------------------------------------------------------------- +begin new_htc_structure; +;-------------------------------------------------------------------------------------------------- +[staircase] beam_output_file_name ./res_eigen/[Case folder]/[Case id.]/[Case id.]_beam.dat; +[staircase] body_output_file_name ./res_eigen/[Case folder]/[Case id.]/[Case id.]_body.dat; +[staircase] struct_inertia_output_file_name ./res_eigen/[Case folder]/[Case id.]/[Case id.]_struct.dat; +[staircase] body_eigenanalysis_file_name ./res_eigen/[Case folder]/[Case id.]/[Case id.]_body_eigen.dat; +[staircase] structure_eigenanalysis_file_name ./res_eigen/[Case folder]/[Case id.]/[Case id.]_strc_eigen.dat; +;--------------------------------------------------------------------------------------------------- + begin main_body; tower 123.6m + name tower ; + type timoschenko ; + nbodies 3 ; + node_distribution c2_def ; + damping_posdef 0 0 0 4.7E-03 4.7E-03 4.3E-04 ; tuned by Anyd 12/8/14 + begin timoschenko_input; + filename ./data/AVATAR_10MW_RWT_tower_st.dat; + set 1 1 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 20; + sec 1 0 0 0.000 0 ; x,y,z,twist + sec 2 0 0 -12.293 0 ; + sec 3 0 0 -12.294 0 ; + sec 4 0 0 -24.585 0 ; + sec 5 0 0 -24.586 0 ; + sec 6 0 0 -36.878 0 ; + sec 7 0 0 -36.879 0 ; + sec 8 0 0 -49.171 0 ; + sec 9 0 0 -49.172 0 ; + sec 10 0 0 -61.463 0 ; + sec 11 0 0 -61.464 0 ; + sec 12 0 0 -73.756 0 ; + sec 13 0 0 -73.757 0 ; + sec 14 0 0 -86.049 0 ; + sec 15 0 0 -86.050 0 ; + sec 16 0 0 -98.341 0 ; + sec 17 0 0 -98.342 0 ; + sec 18 0 0 -110.634 0 ; + sec 19 0 0 -110.635 0 ; + sec 20 0 0 -123.600 0 ; + end c2_def ; + end main_body; +; + begin main_body; + name towertop ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 7.50E-03 7.40E-03 7.00E-03 7.00E-03 7.00E-03 7.00E-03 ; "changed by Anyd + concentrated_mass 2.0 0.0 2.6870E+00 3.0061E-01 4.4604E+05 4.1060E+06 4.1060E+05 4.1060E+06 ; Nacel + begin timoschenko_input; + filename ./data/DTU_10MW_RWT_Towertop_st.dat ; + set 1 2 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 2; + sec 1 0.0 0.0 0.0 0.0 ; x,y,z,twist + sec 2 0.0 0.0 -2.75 0.0 ; + end c2_def ; + end main_body; +; + begin main_body; + name shaft ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; +; damping_posdef 8.00E-3 8.00E-03 8.00E-02 4.65E-04 4.65E-04 2.38E-02 ; "tuned by Anyd 22/2/13 + damping_posdef 0.0 0.0 3.983E-03 4.65E-04 4.65E-04 3.983E-03 ; "tuned by Anyd 23/5/13 to 31.45 l + concentrated_mass 1.0 0.0 0.0 0.0 0.0 0.0 0.0 3.751E+06 ; generator equivalent slow shaft "re_tu + concentrated_mass 5.0 0.0 0.0 0.0 1.0552E+05 0.0 0.0 3.257E+05 ; hub mass and inertia; "re_tuned + begin timoschenko_input; + filename ./data/DTU_10MW_RWT_Shaft_st.dat ; + set 1 1 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 5; + sec 1 0.0 0.0 0.0 0.0 ; Tower top x,y,z,twist + sec 2 0.0 0.0 1.5 0.0 ; + sec 3 0.0 0.0 3.0 0.0 ; + sec 4 0.0 0.0 4.4 0.0 ; Main bearing + sec 5 0.0 0.0 7.1 0.0 ; Rotor centre + end c2_def ; + end main_body; +; + begin main_body; + name shaft_nonrotate ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 0.00E+00 0.00E+00 0.00E+00 1.0E-01 1.0E-01 1.0E-01 ; + begin timoschenko_input; + filename ./data/DTU_10MW_RWT_Shaft_st.dat ; + set 1 3; dummy light and stiff structure + end timoschenko_input; + begin c2_def; + nsec 2; + sec 1 0.0 0.0 0.0 0.0 ; + sec 2 0.0 0.0 0.1 0.0 ; + end c2_def; + end main_body; +; + begin main_body; + name hub1 ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 2.00E-05 2.00E-05 2.00E-04 3.00E-06 3.00E-06 2.00E-05; + begin timoschenko_input; + filename ./data/DTU_10MW_RWT_Hub_st.dat ; + set 1 2 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 2; + sec 1 0.0 0.0 0.0 0.0 ; x,y,z,twist + sec 2 0.0 0.0 2.8 0.0 ; + end c2_def ; + end main_body; +; + begin main_body; + name hub2 ; + copy_main_body hub1; + end main_body; +; + begin main_body; + name hub3 ; + copy_main_body hub1 ; + end main_body; +; + begin main_body; + name blade1 ; + type timoschenko ; + nbodies 10 ; + node_distribution c2_def; +; damping_posdef 0.0 0.0 0.0 2.5e-3 8.9e-4 3.2e-4 ; "Tuned by Anyd" +; damping_posdef 0.0 0.0 0.0 1.5e-3 2.45e-3 3.2e-4 ; " 3% damping tuned by Anyd 20/02/12 unable to +; damping_posdef 0.0 0.0 0.0 2.1e-3 1.9e-3 1.3e-4 ; " 3% damping tuned by Anyd 15/08/14 rev2 + damping_posdef 0.0 0.0 0.0 1.68e-3 2.25e-3 1.0e-4 ; " 3% damping tuned by Anyd 16/12/14 + begin timoschenko_input ; + filename ./data/AVATAR_10MW_RWT_Blade_st.dat ; + set 1 9 ; + end timoschenko_input; + begin c2_def; + nsec 27 ; + sec 1 -0.001 -0.001 0.000 -17.280 ; + sec 2 -0.005 -0.001 2.220 -17.280 ; + sec 3 -0.006 -0.000 4.440 -17.280 ; + sec 4 -0.086 0.022 6.660 -17.280 ; + sec 5 -0.231 0.069 11.039 -17.273 ; + sec 6 -0.447 0.121 15.418 -16.441 ; + sec 7 -0.690 0.161 19.797 -14.613 ; + sec 8 -0.812 0.162 24.176 -12.578 ; + sec 9 -0.891 0.158 28.555 -10.588 ; + sec 10 -0.865 0.124 32.934 -9.070 ; + sec 11 -0.833 0.112 37.313 -8.224 ; + sec 12 -0.797 0.102 41.692 -7.688 ; + sec 13 -0.760 0.093 46.071 -7.205 ; + sec 14 -0.721 0.083 50.450 -6.749 ; + sec 15 -0.683 0.075 54.829 -6.288 ; + sec 16 -0.644 0.066 59.208 -5.838 ; + sec 17 -0.606 0.058 63.587 -5.401 ; + sec 18 -0.567 0.050 67.966 -4.982 ; + sec 19 -0.529 0.044 72.345 -4.640 ; + sec 20 -0.492 0.037 76.724 -4.380 ; + sec 21 -0.456 0.032 81.103 -4.144 ; + sec 22 -0.422 0.026 85.482 -3.914 ; + sec 23 -0.392 0.021 89.861 -3.685 ; + sec 24 -0.346 0.014 94.240 -3.460 ; + sec 25 -0.307 0.010 96.190 -3.350 ; + sec 26 -0.249 0.005 98.130 -3.250 ; + sec 27 -0.089 0.006 100.080 -3.140 ; + end c2_def ; + end main_body; +; + begin main_body; + name blade2 ; + copy_main_body blade1; + end main_body; +; + begin main_body; + name blade3 ; + copy_main_body blade1 ; + end main_body; +;------------------------------------------------------------------------------------------------------------------------------- +; + begin orientation; + begin base; + body tower; + inipos 0.0 0.0 0.0 ; initial position of node 1 + body_eulerang 0.0 0.0 0.0; + end base; +; + begin relative; + body1 tower last; + body2 towertop 1; + body2_eulerang 0.0 0.0 0.0; + end relative; +; + begin relative; + body1 towertop last; + body2 shaft 1; + body2_eulerang 90.0 0.0 0.0; + body2_eulerang 5.0 0.0 0.0; 5 deg tilt angle + body2_eulerang 0.0 0.0 [Rotor azimuth]; +[Free shaft rot] mbdy2_ini_rotvec_d1 0.0 0.0 -1.0 [init_wr] ; mbdy2_ini_rotvec_d1 0.0 0.0 -1.0 [init_wr]; + end relative; +; + begin relative; dummy non rotating hub coordinates + body1 towertop last; + body2 shaft_nonrotate 1; + body2_eulerang 90.0 0.0 0.0; + body2_eulerang 5.0 0.0 0.0; same 5 deg tilt angle as real shaft + end relative; +; + begin relative; + body1 shaft last; + body2 hub1 1; + body2_eulerang -90.0 0.0 0.0; + body2_eulerang 0.0 180.0 0.0; + body2_eulerang 2.5 0.0 0.0; 2.5deg cone angle + end relative; +; + begin relative; + body1 shaft last; + body2 hub2 1; + body2_eulerang -90.0 0.0 0.0; + body2_eulerang 0.0 60.0 0.0; + body2_eulerang 2.5 0.0 0.0; 2.5deg cone angle + end relative; +; + begin relative; + body1 shaft last; + body2 hub3 1; + body2_eulerang -90.0 0.0 0.0; + body2_eulerang 0.0 -60.0 0.0; + body2_eulerang 2.5 0.0 0.0; 2.5deg cone angle + end relative; +; + begin relative; + body1 hub1 last; + body2 blade1 1; + body2_eulerang 0.0 0.0 0; + end relative; +; + begin relative; + body1 hub2 last; + body2 blade2 1; + body2_eulerang 0.0 0.0 0.0; + end relative; +; + begin relative; + body1 hub3 last; + body2 blade3 1; + body2_eulerang 0.0 0.0 0.0; + end relative; +; + end orientation; +;------------------------------------------------------------------------------------------------------------------------------- +begin constraint; +; + begin fix0; fixed to ground in translation and rotation of node 1 + body tower; + end fix0; +; + begin fix1; + body1 tower last ; + body2 towertop 1; + end fix1; +; +[Free shaft rot] begin bearing1; free bearing +[Free shaft rot] name shaft_rot; +[Free shaft rot] body1 towertop last; +[Free shaft rot] body2 shaft 1; +[Free shaft rot] bearing_vector 2 0.0 0.0 -1.0; x=coo (0=global.1=body1.2=body2) vector in body2 coordinates where the free rotation is present +[Free shaft rot] end bearing1; +; +[Rotor locked] begin bearing3; free bearing +[Rotor locked] name shaft_rot; +[Rotor locked] body1 towertop last; +[Rotor locked] body2 shaft 1; +[Rotor locked] bearing_vector 2 0.0 0.0 -1.0; x=coo (0=global.1=body1.2=body2) vector in body2 coordinates where the free rotation is present +[Rotor locked] omegas 0.0 ; +[Rotor locked] end bearing3; +; + begin fix1; + body1 tower last ; + body2 shaft_nonrotate 1; + end fix1; +; + begin fix1; + body1 shaft last ; + body2 hub1 1; + end fix1; +; + begin fix1; + body1 shaft last ; + body2 hub2 1; + end fix1; +; + begin fix1; + body1 shaft last ; + body2 hub3 1; + end fix1; +; + begin bearing2; + name pitch1; + body1 hub1 last; + body2 blade1 1; + bearing_vector 2 0.0 0.0 -1.0; + end bearing2; +; + begin bearing2; + name pitch2; + body1 hub2 last; + body2 blade2 1; + bearing_vector 2 0.0 0.0 -1.0; + end bearing2; +; + begin bearing2; + name pitch3; + body1 hub3 last; + body2 blade3 1; + bearing_vector 2 0.0 0.0 -1.0; + end bearing2; +end constraint; +; +end new_htc_structure; +;---------------------------------------------------------------------------------------------------------------------------------------------------------------- +begin wind ; + density 1.225 ; + wsp [Windspeed] ; + tint [TI] ; + horizontal_input 1 ; + windfield_rotations [wdir] 8.0 0.0 ; yaw, tilt (positive=upflow=wind coming from below), rotation + center_pos0 0.0 0.0 -127 ; hub heigth + shear_format 3 [shear_exp] ; + turb_format [tu_model] ; 0=none, 1=mann,2=flex + tower_shadow_method 3 ; 0=none, 1=potential flow, 2=jet + scale_time_start [t0] ; + wind_ramp_factor 0.0 [t0] [wsp factor] 1.0 ; + [gust] iec_gust [gust_type] [G_A] [G_phi0] [G_t0] [G_T] ; +; +[staircase] wind_ramp_abs 400.0 401.0 0.0 1.0 ; wsp. after the step: 5.0 +[staircase] wind_ramp_abs 501.0 502.0 0.0 1.0 ; wsp. after the step: 6.0 +[staircase] wind_ramp_abs 602.0 603.0 0.0 1.0 ; wsp. after the step: 7.0 +[staircase] wind_ramp_abs 703.0 704.0 0.0 1.0 ; wsp. after the step: 8.0 +[staircase] wind_ramp_abs 804.0 805.0 0.0 1.0 ; wsp. after the step: 9.0 +[staircase] wind_ramp_abs 905.0 906.0 0.0 1.0 ; wsp. after the step: 10.0 +[staircase] wind_ramp_abs 1006.0 1007.0 0.0 1.0 ; wsp. after the step: 11.0 +[staircase] wind_ramp_abs 1107.0 1108.0 0.0 1.0 ; wsp. after the step: 12.0 +[staircase] wind_ramp_abs 1208.0 1209.0 0.0 1.0 ; wsp. after the step: 13.0 +[staircase] wind_ramp_abs 1309.0 1310.0 0.0 1.0 ; wsp. after the step: 14.0 +[staircase] wind_ramp_abs 1410.0 1411.0 0.0 1.0 ; wsp. after the step: 15.0 +[staircase] wind_ramp_abs 1511.0 1512.0 0.0 1.0 ; wsp. after the step: 16.0 +[staircase] wind_ramp_abs 1612.0 1613.0 0.0 1.0 ; wsp. after the step: 17.0 +[staircase] wind_ramp_abs 1713.0 1714.0 0.0 1.0 ; wsp. after the step: 18.0 +[staircase] wind_ramp_abs 1814.0 1815.0 0.0 1.0 ; wsp. after the step: 19.0 +[staircase] wind_ramp_abs 1915.0 1916.0 0.0 1.0 ; wsp. after the step: 20.0 +[staircase] wind_ramp_abs 2016.0 2017.0 0.0 1.0 ; wsp. after the step: 21.0 +[staircase] wind_ramp_abs 2117.0 2118.0 0.0 1.0 ; wsp. after the step: 22.0 +[staircase] wind_ramp_abs 2218.0 2219.0 0.0 1.0 ; wsp. after the step: 23.0 +[staircase] wind_ramp_abs 2319.0 2320.0 0.0 1.0 ; wsp. after the step: 24.0 +[staircase] wind_ramp_abs 2420.0 2421.0 0.0 1.0 ; wsp. after the step: 25.0 + ; +[windramp] wind_ramp_abs 400.0 2200.0 0.0 21.0 ; wsp. after the step: 25.0 +[windramp] wind_ramp_abs 2400.0 4200.0 0.0 -21.0 ; wsp. after the step: 25.0 + ; + begin mann ; + create_turb_parameters 29.4 1.0 3.9 [tu_seed] 1.0 ; L, alfaeps, gamma, seed, highfrq compensation + filename_u ./[turb_dir][Turb base name]u.bin ; + filename_v ./[turb_dir][Turb base name]v.bin ; + filename_w ./[turb_dir][Turb base name]w.bin ; + box_dim_u 8192 [turb_dx] ; + box_dim_v 32 7.5; + box_dim_w 32 7.5; + std_scaling 1.0 0.7 0.5 ; + end mann ; +; + begin tower_shadow_potential_2; + tower_mbdy_link tower; + nsec 2; + radius 0.0 4.15 ; + radius 123.6 2.75 ; (radius) + end tower_shadow_potential_2; +end wind; +; +begin aerodrag ; + begin aerodrag_element ; + mbdy_name tower; + aerodrag_sections uniform 10 ; + nsec 2 ; + sec 0.0 0.6 8.3 ; tower bottom + sec 123.6 0.6 5.5 ; tower top (diameter) + end aerodrag_element; +; + begin aerodrag_element ; Nacelle drag side + mbdy_name shaft; + aerodrag_sections uniform 2 ; + nsec 2 ; + sec 0.0 0.8 10.0 ; + sec 7.01 0.8 10.0 ; + end aerodrag_element; +end aerodrag; +; +begin aero ; + nblades 3; + hub_vec shaft -3 ; rotor rotation vector (normally shaft composant directed from pressure to sustion side) + link 1 mbdy_c2_def blade1; + link 2 mbdy_c2_def blade2; + link 3 mbdy_c2_def blade3; + ae_filename ./data/AVATAR_10MW_RWT_ae.dat ; + pc_filename ./data/AVATAR_10MW_RWT_pc_hama_v1.dat ; + induction_method [Induction] ; 0=none, 1=normal + aerocalc_method 1 ; 0=ingen aerodynamic, 1=med aerodynamic + aero_distribution ae_file 1 ; + ae_sets 1 1 1; + tiploss_method 1 ; 0=none, 1=prandtl + dynstall_method [Dyn stall] ; 0=none, 1=stig øye method,2=mhh method +; +; ; --- Flaps --- ; + ; begin dynstall_ateflap ; + ; Ais 0.165 0.335 0.0 ; + ; Bis 0.0455 0.30 0.30 ; + ; flap 59.5925 85.5023 ./data/Flap_dturwt1_Thk24.ds ; Flap Sec: 1 + ; end dynstall_ateflap; +end aero ; +;------------------------------------------------------------------------------------------------- +begin dll; +; + begin type2_dll; + name risoe_controller ; + filename ./control/risoe_controller.dll ; + dll_subroutine_init init_regulation ; + dll_subroutine_update update_regulation ; + arraysizes_init 52 1 ; + arraysizes_update 12 100 ; + begin init ; + ; Overall parameters + constant 1 10000.0 ; Rated power [kW] + constant 2 0.628 ; Minimum rotor speed [rad/s] + constant 3 1.005 ; Rated rotor speed [rad/s] + constant 4 15.6E+06 ; Maximum allowable generator torque [Nm] + constant 5 100.0 ; Minimum pitch angle, theta_min [deg], + ; if |theta_min|>90, then a table of <wsp,theta_min> is read ; + ; from a file named 'wpdata.n', where n=int(theta_min) + constant 6 90.0 ; Maximum pitch angle [deg] + constant 7 10.0 ; Maximum pitch velocity operation [deg/s] + constant 8 0.4 ; Frequency of generator speed filter [Hz] + constant 9 0.7 ; Damping ratio of speed filter [-] + constant 10 1.64 ; Frequency of free-free DT torsion mode [Hz], if zero no notch filter used + ; Partial load control parameters + constant 11 0.9648030e+07 ; Optimal Cp tracking K factor [Nm/(rad/s)^2], ; + ; Qg=K*Omega^2, K=eta*0.5*rho*A*Cp_opt*R^3/lambda_opt^3 + constant 12 1.047610E+08 ; Proportional gain of torque controller [Nm/(rad/s)] + constant 13 0.153367E+08 ; Integral gain of torque controller [Nm/rad] + constant 14 0.0 ; Differential gain of torque controller [Nm/(rad/s^2)] +; Full load control parameters + constant 15 1 ; Generator control switch [1=constant power, 2=constant torque] + constant 16 0.762489 ; Proportional gain of pitch controller [rad/(rad/s)] + constant 17 0.224086 ; Integral gain of pitch controller [rad/rad] + constant 18 0.0 ; Differential gain of pitch controller [rad/(rad/s^2)] + constant 19 0.4e-9 ; Proportional power error gain [rad/W] + constant 20 0.4e-9 ; Integral power error gain [rad/(Ws)] + constant 21 10.6824 ; Coefficient of linear term in aerodynamic gain scheduling, KK1 [deg] + constant 22 601.25499 ; Coefficient of quadratic term in aerodynamic gain scheduling, KK2 [deg^2] & + ; (if zero, KK1 = pitch angle at double gain) + constant 23 1.3 ; Relative speed for double nonlinear gain [-] +; Cut-in simulation parameters + constant 24 [Cut-in time] ; Cut-in time [s] + constant 25 1.0 ; Time delay for soft start of torque [1/1P] +; Cut-out simulation parameters + constant 26 [Cut-out time] ; Cut-out time [s] + constant 27 5.0 ; Time constant for linear torque cut-out [s] + constant 28 [Stop type] ; Stop type [1=normal, 2=emergency] + constant 29 1.0 ; Time delay for pitch stop after shut-down signal [s] + constant 30 [Pitvel 1] ; Maximum pitch velocity during initial period of stop [deg/s] + constant 31 3.0 ; Time period of initial pitch stop phase [s] (maintains pitch speed specified in constant 30) + constant 32 [Pitvel 2] ; Maximum pitch velocity during final phase of stop [deg/s] +; Expert parameters (keep default values unless otherwise given) + constant 33 2.0 ; Lower angle above lowest minimum pitch angle for switch [deg] + constant 34 2.0 ; Upper angle above lowest minimum pitch angle for switch [deg], if equal then hard switch + constant 35 95.0 ; Ratio between filtered speed and reference speed for fully open torque limits [%] + constant 36 2.0 ; Time constant of 1st order filter on wind speed used for minimum pitch [1/1P] + constant 37 1.0 ; Time constant of 1st order filter on pitch angle used for gain scheduling [1/1P] +; Drivetrain damper + constant 38 0.0 ; Proportional gain of active DT damper [Nm/(rad/s)], requires frequency in input 10 +; Over speed + constant 39 25.0 ; Overspeed percentage before initiating turbine controller alarm (shut-down) [%] +; Additional non-linear pitch control term (not used when all zero) + constant 40 0.0 ; Err0 [rad/s] + constant 41 0.0 ; ErrDot0 [rad/s^2] + constant 42 0.0 ; PitNonLin1 [rad/s] +; Storm control command + constant 43 28.0 ; Wind speed 'Vstorm' above which derating of rotor speed is used [m/s] + constant 44 28.0 ; Cut-out wind speed (only used for derating of rotor speed in storm) [m/s] +; Safety system parameters + constant 45 25.0 ; Overspeed percentage before initiating safety system alarm (shut-down) [%] + constant 46 1.5 ; Max low-pass filtered tower top acceleration level [m/s^2] - max in DLC 1.3=1.1 m/s^2 +; Turbine parameter + constant 47 205.8 ; Nominal rotor diameter [m] +; Parameters for rotor inertia reduction in variable speed region + constant 48 0.0 ; Proportional gain on rotor acceleration in variable speed region [Nm/(rad/s^2)] (not used when zero) +; Parameters for alternative partial load controller with PI regulated TSR tracking + constant 49 0.0 ; Optimal tip speed ratio [-] (only used when K=constant 11 = 0 otherwise Qg=K*Omega^2 is used) +; Parameters for adding aerodynamic drivetrain damping on gain scheduling + constant 50 0.0 ; Proportional gain of aerodynamic DT damping [Nm/(rad/s)] + constant 51 0.0 ; Coefficient of linear term in aerodynamic DT damping scheduling, KK1 [deg] + constant 52 0.0 ; Coefficient of quadratic term in aerodynamic DT damping scheduling, KK2 [deg^2] + end init ; +; + begin output ; + general time ; [s] + constraint bearing1 shaft_rot 1 only 2 ; Drivetrain speed [rad/s] + constraint bearing2 pitch1 1 only 1; [rad] + constraint bearing2 pitch2 1 only 1; [rad] + constraint bearing2 pitch3 1 only 1; [rad] + wind free_wind 1 0.0 0.0 -127 ; Global coordinates at hub height + dll inpvec 2 2 ; Elec. power from generator servo .dll + dll inpvec 2 8 ; Grid state flag from generator servo .dll + mbdy state acc tower 10 1.0 global only 1 ; Tower top x-acceleration [m/s^2] + mbdy state acc tower 10 1.0 global only 2 ; Tower top y-acceleration [m/s^2] + end output; + end type2_dll; +; + begin type2_dll; + name generator_servo ; + filename ./control/generator_servo.dll ; + dll_subroutine_init init_generator_servo ; + dll_subroutine_update update_generator_servo ; + arraysizes_init 7 1 ; + arraysizes_update 4 8 ; + begin init ; + constant 1 20.0 ; Frequency of 2nd order servo model of generator-converter system [Hz] + constant 2 0.9 ; Damping ratio 2nd order servo model of generator-converter system [-] + constant 3 15.6E+06 ; Maximum allowable LSS torque (pull-out torque) [Nm] + constant 4 0.94 ; Generator efficiency [-] + constant 5 1.0 ; Gearratio [-] + constant 6 0.0 ; Time for half value in softstart of torque [s] + constant 7 [Grid loss time] ; Time for grid loss [s] + end init ; +; + begin output; + general time ; Time [s] + dll inpvec 1 1 ; Electrical torque reference [Nm] + constraint bearing1 shaft_rot 1 only 2; Generator LSS speed [rad/s] + mbdy momentvec shaft 1 1 shaft only 3 ; Shaft moment [kNm] (Qshaft) + end output; +; + begin actions; + mbdy moment_int shaft 1 -3 shaft towertop 2 ; Generator LSS torque [Nm] + end actions; + end type2_dll; +; + begin type2_dll; + name mech_brake ; + filename ./control/mech_brake.dll ; + dll_subroutine_init init_mech_brake ; + dll_subroutine_update update_mech_brake ; + arraysizes_init 7 1 ; + arraysizes_update 4 6 ; + begin init ; + constant 1 5225.35 ; Fully deployed maximum brake torque [Nm] (0.6*max torque) + constant 2 100.0 ; Parameter alpha used in Q = tanh(omega*alpha), typically 1e2/Omega_nom + constant 3 0.5 ; Delay time for before brake starts to deploy [s] + constant 4 0.74 ; Time for brake to become fully deployed [s] + end init ; +; + begin output; + general time ; Time [s] + constraint bearing1 shaft_rot 1 only 2 ; Generator LSS speed [rad/s] + dll inpvec 1 25 ; Command to deploy mechanical disc brake [0,1] + end output; +; + begin actions; + mbdy moment_int shaft 1 -3 shaft towertop 2 ; Generator LSS torque [Nm] + end actions; + end type2_dll; +; + begin type2_dll; + name servo_with_limits ; + filename ./control/servo_with_limits.dll ; + dll_subroutine_init init_servo_with_limits ; + dll_subroutine_update update_servo_with_limits ; + arraysizes_init 10 1 ; + arraysizes_update 5 9 ; + begin init ; + constant 1 3 ; Number of blades [-] + constant 2 1.0 ; Frequency of 2nd order servo model of pitch system [Hz] + constant 3 0.7 ; Damping ratio 2nd order servo model of pitch system [-] + constant 4 10.0 ; Max. pitch speed [deg/s] + constant 5 15.0 ; Max. pitch acceleration [deg/s^2] + constant 6 -5.0 ; Min. pitch angle [deg] + constant 7 90.0 ; Max. pitch angle [deg] + constant 8 [Time pitch runaway] ; Time for pitch runaway [s] + constant 9 [Time stuck DLC22b] ; Time for stuck blade 1 [s] + constant 10 [Pitch 1 DLC22b] ; Angle of stuck blade 1 [deg] + end init ; + begin output; + general time ; Time [s] + dll inpvec 1 2 ; Pitch1 demand angle [rad] + dll inpvec 1 3 ; Pitch2 demand angle [rad] + dll inpvec 1 4 ; Pitch3 demand angle [rad] + dll inpvec 1 26 ; Flag for emergency pitch stop [0=off/1=on] + end output; +; + begin actions; + constraint bearing2 angle pitch1 ; Angle pitch1 bearing [rad] + constraint bearing2 angle pitch2 ; Angle pitch2 bearing [rad] + constraint bearing2 angle pitch3 ; Angle pitch3 bearing [rad] + end actions; + end type2_dll; +; +; --- DLL for tower-blade tip distance -- ; + begin type2_dll; + name disttowtip ; + filename ./control/towclearsens.dll ; + dll_subroutine_init initialize ; + dll_subroutine_update update ; + arraysizes_init 1 1 ; + arraysizes_update 12 4 ; + begin init ; + constant 1 3.87 ; Tower radius close to downward blade tip [m] + end init ; + begin output; + mbdy state pos tower 5 0.00 global ; [1,2,3]. Tower position: 24.58 m + mbdy state pos blade1 26 1.0 global ; [4,5,6] + mbdy state pos blade2 26 1.0 global ; [7,8,9] + mbdy state pos blade3 26 1.0 global ; [10,11,12] + end output; + end type2_dll; +end dll; +; +;---------------------------------------------------------------------------------------------------------------------------------------------------------------- +; +begin output; + filename ./res/[Case folder]/[Case id.] ; + time [t0] [time stop] ; + data_format [out_format]; + buffer 1 ; +; + general time; + constraint bearing1 shaft_rot 2; angle and angle velocity + constraint bearing2 pitch1 5; angle and angle velocity + constraint bearing2 pitch2 5; angle and angle velocity + constraint bearing2 pitch3 5; angle and angle velocity + aero omega ; + aero torque; + aero power; + aero thrust; + wind free_wind 1 0.0 0.0 -127; local wind at fixed position: coo (1=global,2=non-rotation rotor coo.), pos x, pos y, pos z + ; non rotating coordinates shaft tip: equivalent to stationary hub in BLADED + mbdy momentvec shaft 3 2 shaft_nonrotate # non rotating shaft tip ; + mbdy forcevec shaft 3 2 shaft_nonrotate # non rotating shaft tip ; + ; Moments: + mbdy momentvec tower 1 1 tower # tower base ; + mbdy momentvec tower 19 2 tower # tower yaw bearing ; + mbdy momentvec shaft 4 1 shaft # main bearing ; + mbdy momentvec blade1 3 2 blade1 # blade 1 root ; + mbdy momentvec blade2 3 2 blade2 # blade 2 root ; + mbdy momentvec blade3 3 2 blade3 # blade 3 root ; + ; blade 2,3 root section loads + mbdy momentvec blade2 3 2 local # blade 2 section root; + mbdy momentvec blade3 3 2 local # blade 3 section root; + ; blade 1 sectional loads in local coordinates + mbdy momentvec blade1 2 2 local # blade 1 section; + mbdy momentvec blade1 3 2 local # blade 1 section root; + mbdy momentvec blade1 4 2 local # blade 1 section; + mbdy momentvec blade1 5 2 local # blade 1 section; + mbdy momentvec blade1 6 2 local # blade 1 section; + mbdy momentvec blade1 7 2 local # blade 1 section; + mbdy momentvec blade1 8 2 local # blade 1 section; + mbdy momentvec blade1 9 2 local # blade 1 section; + mbdy momentvec blade1 10 2 local # blade 1 section; + mbdy momentvec blade1 11 2 local # blade 1 section; + mbdy momentvec blade1 12 2 local # blade 1 section; + mbdy momentvec blade1 13 2 local # blade 1 section; + mbdy momentvec blade1 14 2 local # blade 1 section; + mbdy momentvec blade1 15 2 local # blade 1 section; + mbdy momentvec blade1 16 2 local # blade 1 section; + mbdy momentvec blade1 17 2 local # blade 1 section; + mbdy momentvec blade1 18 2 local # blade 1 section; + mbdy momentvec blade1 19 2 local # blade 1 section; + mbdy momentvec blade1 20 2 local # blade 1 section; + mbdy momentvec blade1 21 2 local # blade 1 section; + mbdy momentvec blade1 22 2 local # blade 1 section; + mbdy momentvec blade1 23 2 local # blade 1 section; + mbdy momentvec blade1 24 2 local # blade 1 section; + mbdy momentvec blade1 25 2 local # blade 1 section; + mbdy momentvec blade1 26 2 local # blade 1 section; + ; blade root out and in of plane forces + mbdy momentvec blade1 3 2 hub1 # blade 1 root ; + mbdy momentvec blade2 3 2 hub2 # blade 2 root ; + mbdy momentvec blade3 3 2 hub3 # blade 3 root ; +; mbdy momentvec blade1 14 1 local # blade 1 50% local e coo ; +; mbdy momentvec blade2 14 1 local # blade 2 50% local e coo ; +; mbdy momentvec blade3 14 1 local # blade 3 50% local e coo ; + ; Displacements and accellerations + mbdy state pos tower 19 1.0 global only 1 # Tower top FA displ; + mbdy state pos tower 19 1.0 global only 2 # Tower top SS displ; + mbdy state acc tower 19 1.0 global only 1 # Tower top FA acc; + mbdy state acc tower 19 1.0 global only 2 # Tower top SS acc; +; + mbdy state pos blade1 26 1.0 global # gl blade 1 tip pos ; + mbdy state pos blade2 26 1.0 global # gl blade 2 tip pos ; + mbdy state pos blade3 26 1.0 global # gl blade 3 tip pos ; + mbdy state pos blade1 26 1.0 blade1 # blade 1 tip pos ; + mbdy state pos blade2 26 1.0 blade2 # blade 2 tip pos ; + mbdy state pos blade3 26 1.0 blade3 # blade 3 tip pos ; +; + mbdy state pos tower 5 0.00 global ; [1,2,3]. Tower position: 24.58 m +; + ; elastic twist (torsional deformation) along the blade + aero tors_ang 1 45.56; + aero tors_ang 1 59.19; + aero tors_ang 1 70.87; + aero tors_ang 1 80.61; + aero tors_ang 1 84.50; + aero tors_ang 1 88.40; + aero tors_ang 1 92.29; + aero tors_ang 1 96.19; + aero tors_ang 1 98.13; + aero tors_ang 1 100.08; tip +; +; - Monitor Aerodynamics - ; + aero windspeed 3 1 1 72.5; + aero alfa 1 72.5; + aero alfa 2 72.5; + aero alfa 3 72.5; + aero cl 1 72.5; + aero cl 2 72.5; + aero cl 3 72.5; + aero cd 1 72.5; + aero cd 2 72.5; + aero cd 3 72.5; +; - Main Controller - +; Output to controller + ; dll outvec 1 1 # time; + ; dll outvec 1 2 # slow speed shaft rad/s; + ; dll outvec 1 3 # pitch angle 1; + ; dll outvec 1 4 # pitch angle 2; + ; dll outvec 1 5 # pitch angle 3; + ; dll outvec 1 6 # WSP_x_global; + ; dll outvec 1 7 # WSP_y_global; + ; dll outvec 1 8 # WSP_z_global; + ; dll outvec 1 9 # Elec. pwr ; + ; dll outvec 1 10 # Grid flag ; +; Input from controller + dll inpvec 1 1 # Generator torque reference [Nm] ; + dll inpvec 1 2 # Pitch angle reference of blade 1 [rad] ; + dll inpvec 1 3 # Pitch angle reference of blade 2 [rad] ; + dll inpvec 1 4 # Pitch angle reference of blade 3 [rad] ; + ; dll inpvec 1 5 # Power reference [W] ; + ; dll inpvec 1 6 # Filtered wind speed [m/s] ; + ; dll inpvec 1 7 # Filtered rotor speed [rad/s]; + ; dll inpvec 1 8 # Filtered rotor speed error for torque [rad/s]; + ; dll inpvec 1 9 # Bandpass filtered rotor speed [rad/s]; + ; dll inpvec 1 10 # Proportional term of torque contr. [Nm] ; + ; dll inpvec 1 11 # Integral term of torque controller [Nm] ; + ; dll inpvec 1 12 # Minimum limit of torque [Nm] ; + ; dll inpvec 1 13 # Maximum limit of torque [Nm] ; + dll inpvec 1 14 # Torque limit switch based on pitch [-] ; + ; dll inpvec 1 15 # Filtered rotor speed error for pitch [rad/s]; + ; dll inpvec 1 16 # Power error for pitch [W] ; + ; dll inpvec 1 17 # Proportional term of pitch controller [rad] ; + ; dll inpvec 1 18 # Integral term of pitch controller [rad] ; + ; dll inpvec 1 19 # Minimum limit of pitch [rad] ; + ; dll inpvec 1 20 # Maximum limit of pitch [rad] ; + dll inpvec 1 21 # Torque reference from DT dammper [Nm] ; + dll inpvec 1 22 # Status signal [-] ; + ; dll inpvec 1 23 # Total added pitch rate [rad/s] ; + dll inpvec 1 24 # Filtered Mean pitch for gain sch [rad] ; + dll inpvec 1 25 # Flag for mechnical brake [0=off/1=on] ; + dll inpvec 1 26 # Flag for emergency pitch stop [0=off/1=on] ; + dll inpvec 1 27 # LP filtered acceleration level [m/s^2] ; +; ; Output to generator model + ; dll outvec 2 1 # time ; + ; dll outvec 2 2 # Electrical torque reference [Nm] ; + ; dll outvec 2 3 # omega LSS ; +; Input from generator model + dll inpvec 2 1 # Mgen LSS [Nm]; + dll inpvec 2 2 # Pelec W ; + dll inpvec 2 3 # Mframe ; + dll inpvec 2 4 # Mgen HSS ; + dll inpvec 2 5 # Generator Pmech kW ; + dll inpvec 2 6 # Filtered Gen speed ; + dll inpvec 2 7 # Resulting Eff ; + dll inpvec 2 8 # Grid flag ; +; Output to mechanical brake + dll inpvec 3 1 # Brake torque [Nm] ; +; ; Input from mechanical brake + ; dll outvec 3 1 # Time [s] ; + ; dll outvec 3 2 # Generator LSS speed [rad/s] ; + ; dll outvec 3 3 # Deploy brake ; +; ; Output to pitch servo + ; dll outvec 4 1 # time; + ; dll outvec 4 2 # pitchref 1; + ; dll outvec 4 3 # pitchref 2; + ; dll outvec 4 4 # pitchref 3; + ; dll outvec 4 5 # Emerg. stop; +; Input from pitch servo + dll inpvec 4 1 # pitch 1; + dll inpvec 4 2 # pitch 2; + dll inpvec 4 3 # pitch 3; +; Check tower clearence + dll inpvec 5 1 # Bltip tow min d [m]; +; general constant 1.0 ; constant 1.0 - to mesure activity of flap in terms of displacement +; - Check on flap control: + ; ; - From flap controller: - + ; dll type2_dll cyclic_flap_controller inpvec 1 # Ref flap signal bl 1 [deg] ; + ; dll type2_dll cyclic_flap_controller inpvec 2 # Ref flap signal bl 2 [deg] ; + ; dll type2_dll cyclic_flap_controller inpvec 3 # Ref flap signal bl 3 [deg] ; + ; ; - Mbc values + ; dll type2_dll cyclic_flap_controller inpvec 4 # momvec mbc cos [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 5 # momvec mbc sin [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 6 # momvec mbc filt cos [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 7 # momvec mbc filt sin [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 8 # flap mbc cos [deg] ; + ; dll type2_dll cyclic_flap_controller inpvec 9 # flap mbc sin [deg] ; + ; ; - Check Gains - ; + ; dll type2_dll cyclic_flap_controller inpvec 10 # lead angle [deg] ; + ; dll type2_dll cyclic_flap_controller inpvec 11 # scaling on rat pow [-] ; + ; dll type2_dll cyclic_flap_controller inpvec 12 # actual kp [deg/kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 13 # actual ki [deg/kNms] ; + ; dll type2_dll cyclic_flap_controller inpvec 14 # actual kd [deg s/kNm] ; + ; ; - Actual deflections - + ; [dis_setbeta] aero beta 1 1 ; + ; [dis_setbeta] aero beta 2 1 ; + ; [dis_setbeta] aero beta 3 1 ; + ; ; - Mbc values + ; dll type2_dll cyclic_flap_controller inpvec 4 # momvec mbc cos [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 5 # momvec mbc sin [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 6 # momvec mbc filt cos [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 7 # momvec mbc filt sin [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 8 # flap mbc cos [deg] ; + ; dll type2_dll cyclic_flap_controller inpvec 9 # flap mbc sin [deg] ; +end output; +; +exit; diff --git a/wetb/prepost/tests/data/demo_dlc/ref/htc/dlc01_demos/dlc01_steady_wsp10_noturb.htc b/wetb/prepost/tests/data/demo_dlc/ref/htc/dlc01_demos/dlc01_steady_wsp10_noturb.htc new file mode 100644 index 0000000000000000000000000000000000000000..c54c20d0df50daf94a80962feaefcd924123559f --- /dev/null +++ b/wetb/prepost/tests/data/demo_dlc/ref/htc/dlc01_demos/dlc01_steady_wsp10_noturb.htc @@ -0,0 +1,850 @@ +;this version was at some point based on: Avatar_10MW_RWT version 1, 06-08-14, Anyd +begin simulation; + time_stop 40; + solvertype 1 ; (newmark) + on_no_convergence continue ; +; convergence_limits 1E3 1.0 1E-7 ; + logfile ./logfiles/dlc01_demos/dlc01_steady_wsp10_noturb.log ; + begin newmark; + deltat 0.02; + end newmark; +end simulation; +; +;---------------------------------------------------------------------------------------------------------------------------------------------------------------- +begin new_htc_structure; +;-------------------------------------------------------------------------------------------------- +; beam_output_file_name ./res_eigen/dlc01_demos/dlc01_steady_wsp10_noturb/dlc01_steady_wsp10_noturb_beam.dat; +; body_output_file_name ./res_eigen/dlc01_demos/dlc01_steady_wsp10_noturb/dlc01_steady_wsp10_noturb_body.dat; +; struct_inertia_output_file_name ./res_eigen/dlc01_demos/dlc01_steady_wsp10_noturb/dlc01_steady_wsp10_noturb_struct.dat; +; body_eigenanalysis_file_name ./res_eigen/dlc01_demos/dlc01_steady_wsp10_noturb/dlc01_steady_wsp10_noturb_body_eigen.dat; +; structure_eigenanalysis_file_name ./res_eigen/dlc01_demos/dlc01_steady_wsp10_noturb/dlc01_steady_wsp10_noturb_strc_eigen.dat; +;--------------------------------------------------------------------------------------------------- + begin main_body; tower 123.6m + name tower ; + type timoschenko ; + nbodies 3 ; + node_distribution c2_def ; + damping_posdef 0 0 0 4.7E-03 4.7E-03 4.3E-04 ; tuned by Anyd 12/8/14 + begin timoschenko_input; + filename ./data/AVATAR_10MW_RWT_tower_st.dat; + set 1 1 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 20; + sec 1 0 0 0.000 0 ; x,y,z,twist + sec 2 0 0 -12.293 0 ; + sec 3 0 0 -12.294 0 ; + sec 4 0 0 -24.585 0 ; + sec 5 0 0 -24.586 0 ; + sec 6 0 0 -36.878 0 ; + sec 7 0 0 -36.879 0 ; + sec 8 0 0 -49.171 0 ; + sec 9 0 0 -49.172 0 ; + sec 10 0 0 -61.463 0 ; + sec 11 0 0 -61.464 0 ; + sec 12 0 0 -73.756 0 ; + sec 13 0 0 -73.757 0 ; + sec 14 0 0 -86.049 0 ; + sec 15 0 0 -86.050 0 ; + sec 16 0 0 -98.341 0 ; + sec 17 0 0 -98.342 0 ; + sec 18 0 0 -110.634 0 ; + sec 19 0 0 -110.635 0 ; + sec 20 0 0 -123.600 0 ; + end c2_def ; + end main_body; +; + begin main_body; + name towertop ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 7.50E-03 7.40E-03 7.00E-03 7.00E-03 7.00E-03 7.00E-03 ; "changed by Anyd + concentrated_mass 2.0 0.0 2.6870E+00 3.0061E-01 4.4604E+05 4.1060E+06 4.1060E+05 4.1060E+06 ; Nacel + begin timoschenko_input; + filename ./data/DTU_10MW_RWT_Towertop_st.dat ; + set 1 2 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 2; + sec 1 0.0 0.0 0.0 0.0 ; x,y,z,twist + sec 2 0.0 0.0 -2.75 0.0 ; + end c2_def ; + end main_body; +; + begin main_body; + name shaft ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; +; damping_posdef 8.00E-3 8.00E-03 8.00E-02 4.65E-04 4.65E-04 2.38E-02 ; "tuned by Anyd 22/2/13 + damping_posdef 0.0 0.0 3.983E-03 4.65E-04 4.65E-04 3.983E-03 ; "tuned by Anyd 23/5/13 to 31.45 l + concentrated_mass 1.0 0.0 0.0 0.0 0.0 0.0 0.0 3.751E+06 ; generator equivalent slow shaft "re_tu + concentrated_mass 5.0 0.0 0.0 0.0 1.0552E+05 0.0 0.0 3.257E+05 ; hub mass and inertia; "re_tuned + begin timoschenko_input; + filename ./data/DTU_10MW_RWT_Shaft_st.dat ; + set 1 1 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 5; + sec 1 0.0 0.0 0.0 0.0 ; Tower top x,y,z,twist + sec 2 0.0 0.0 1.5 0.0 ; + sec 3 0.0 0.0 3.0 0.0 ; + sec 4 0.0 0.0 4.4 0.0 ; Main bearing + sec 5 0.0 0.0 7.1 0.0 ; Rotor centre + end c2_def ; + end main_body; +; + begin main_body; + name shaft_nonrotate ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 0.00E+00 0.00E+00 0.00E+00 1.0E-01 1.0E-01 1.0E-01 ; + begin timoschenko_input; + filename ./data/DTU_10MW_RWT_Shaft_st.dat ; + set 1 3; dummy light and stiff structure + end timoschenko_input; + begin c2_def; + nsec 2; + sec 1 0.0 0.0 0.0 0.0 ; + sec 2 0.0 0.0 0.1 0.0 ; + end c2_def; + end main_body; +; + begin main_body; + name hub1 ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 2.00E-05 2.00E-05 2.00E-04 3.00E-06 3.00E-06 2.00E-05; + begin timoschenko_input; + filename ./data/DTU_10MW_RWT_Hub_st.dat ; + set 1 2 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 2; + sec 1 0.0 0.0 0.0 0.0 ; x,y,z,twist + sec 2 0.0 0.0 2.8 0.0 ; + end c2_def ; + end main_body; +; + begin main_body; + name hub2 ; + copy_main_body hub1; + end main_body; +; + begin main_body; + name hub3 ; + copy_main_body hub1 ; + end main_body; +; + begin main_body; + name blade1 ; + type timoschenko ; + nbodies 10 ; + node_distribution c2_def; +; damping_posdef 0.0 0.0 0.0 2.5e-3 8.9e-4 3.2e-4 ; "Tuned by Anyd" +; damping_posdef 0.0 0.0 0.0 1.5e-3 2.45e-3 3.2e-4 ; " 3% damping tuned by Anyd 20/02/12 unable to +; damping_posdef 0.0 0.0 0.0 2.1e-3 1.9e-3 1.3e-4 ; " 3% damping tuned by Anyd 15/08/14 rev2 + damping_posdef 0.0 0.0 0.0 1.68e-3 2.25e-3 1.0e-4 ; " 3% damping tuned by Anyd 16/12/14 + begin timoschenko_input ; + filename ./data/AVATAR_10MW_RWT_Blade_st.dat ; + set 1 9 ; + end timoschenko_input; + begin c2_def; + nsec 27 ; + sec 1 -0.001 -0.001 0.000 -17.280 ; + sec 2 -0.005 -0.001 2.220 -17.280 ; + sec 3 -0.006 -0.000 4.440 -17.280 ; + sec 4 -0.086 0.022 6.660 -17.280 ; + sec 5 -0.231 0.069 11.039 -17.273 ; + sec 6 -0.447 0.121 15.418 -16.441 ; + sec 7 -0.690 0.161 19.797 -14.613 ; + sec 8 -0.812 0.162 24.176 -12.578 ; + sec 9 -0.891 0.158 28.555 -10.588 ; + sec 10 -0.865 0.124 32.934 -9.070 ; + sec 11 -0.833 0.112 37.313 -8.224 ; + sec 12 -0.797 0.102 41.692 -7.688 ; + sec 13 -0.760 0.093 46.071 -7.205 ; + sec 14 -0.721 0.083 50.450 -6.749 ; + sec 15 -0.683 0.075 54.829 -6.288 ; + sec 16 -0.644 0.066 59.208 -5.838 ; + sec 17 -0.606 0.058 63.587 -5.401 ; + sec 18 -0.567 0.050 67.966 -4.982 ; + sec 19 -0.529 0.044 72.345 -4.640 ; + sec 20 -0.492 0.037 76.724 -4.380 ; + sec 21 -0.456 0.032 81.103 -4.144 ; + sec 22 -0.422 0.026 85.482 -3.914 ; + sec 23 -0.392 0.021 89.861 -3.685 ; + sec 24 -0.346 0.014 94.240 -3.460 ; + sec 25 -0.307 0.010 96.190 -3.350 ; + sec 26 -0.249 0.005 98.130 -3.250 ; + sec 27 -0.089 0.006 100.080 -3.140 ; + end c2_def ; + end main_body; +; + begin main_body; + name blade2 ; + copy_main_body blade1; + end main_body; +; + begin main_body; + name blade3 ; + copy_main_body blade1 ; + end main_body; +;------------------------------------------------------------------------------------------------------------------------------- +; + begin orientation; + begin base; + body tower; + inipos 0.0 0.0 0.0 ; initial position of node 1 + body_eulerang 0.0 0.0 0.0; + end base; +; + begin relative; + body1 tower last; + body2 towertop 1; + body2_eulerang 0.0 0.0 0.0; + end relative; +; + begin relative; + body1 towertop last; + body2 shaft 1; + body2_eulerang 90.0 0.0 0.0; + body2_eulerang 5.0 0.0 0.0; 5 deg tilt angle + body2_eulerang 0.0 0.0 0; + mbdy2_ini_rotvec_d1 0.0 0.0 -1.0 0.5 ; mbdy2_ini_rotvec_d1 0.0 0.0 -1.0 0.5; + end relative; +; + begin relative; dummy non rotating hub coordinates + body1 towertop last; + body2 shaft_nonrotate 1; + body2_eulerang 90.0 0.0 0.0; + body2_eulerang 5.0 0.0 0.0; same 5 deg tilt angle as real shaft + end relative; +; + begin relative; + body1 shaft last; + body2 hub1 1; + body2_eulerang -90.0 0.0 0.0; + body2_eulerang 0.0 180.0 0.0; + body2_eulerang 2.5 0.0 0.0; 2.5deg cone angle + end relative; +; + begin relative; + body1 shaft last; + body2 hub2 1; + body2_eulerang -90.0 0.0 0.0; + body2_eulerang 0.0 60.0 0.0; + body2_eulerang 2.5 0.0 0.0; 2.5deg cone angle + end relative; +; + begin relative; + body1 shaft last; + body2 hub3 1; + body2_eulerang -90.0 0.0 0.0; + body2_eulerang 0.0 -60.0 0.0; + body2_eulerang 2.5 0.0 0.0; 2.5deg cone angle + end relative; +; + begin relative; + body1 hub1 last; + body2 blade1 1; + body2_eulerang 0.0 0.0 0; + end relative; +; + begin relative; + body1 hub2 last; + body2 blade2 1; + body2_eulerang 0.0 0.0 0.0; + end relative; +; + begin relative; + body1 hub3 last; + body2 blade3 1; + body2_eulerang 0.0 0.0 0.0; + end relative; +; + end orientation; +;------------------------------------------------------------------------------------------------------------------------------- +begin constraint; +; + begin fix0; fixed to ground in translation and rotation of node 1 + body tower; + end fix0; +; + begin fix1; + body1 tower last ; + body2 towertop 1; + end fix1; +; + begin bearing1; free bearing + name shaft_rot; + body1 towertop last; + body2 shaft 1; + bearing_vector 2 0.0 0.0 -1.0; x=coo (0=global.1=body1.2=body2) vector in body2 coordinates where the free rotation is present + end bearing1; +; +; begin bearing3; free bearing +; name shaft_rot; +; body1 towertop last; +; body2 shaft 1; +; bearing_vector 2 0.0 0.0 -1.0; x=coo (0=global.1=body1.2=body2) vector in body2 coordinates where the free rotation is present +; omegas 0.0 ; +; end bearing3; +; + begin fix1; + body1 tower last ; + body2 shaft_nonrotate 1; + end fix1; +; + begin fix1; + body1 shaft last ; + body2 hub1 1; + end fix1; +; + begin fix1; + body1 shaft last ; + body2 hub2 1; + end fix1; +; + begin fix1; + body1 shaft last ; + body2 hub3 1; + end fix1; +; + begin bearing2; + name pitch1; + body1 hub1 last; + body2 blade1 1; + bearing_vector 2 0.0 0.0 -1.0; + end bearing2; +; + begin bearing2; + name pitch2; + body1 hub2 last; + body2 blade2 1; + bearing_vector 2 0.0 0.0 -1.0; + end bearing2; +; + begin bearing2; + name pitch3; + body1 hub3 last; + body2 blade3 1; + bearing_vector 2 0.0 0.0 -1.0; + end bearing2; +end constraint; +; +end new_htc_structure; +;---------------------------------------------------------------------------------------------------------------------------------------------------------------- +begin wind ; + density 1.225 ; + wsp 10 ; + tint 0.2096 ; + horizontal_input 1 ; + windfield_rotations 0 8.0 0.0 ; yaw, tilt (positive=upflow=wind coming from below), rotation + center_pos0 0.0 0.0 -127 ; hub heigth + shear_format 3 0 ; + turb_format 0 ; 0=none, 1=mann,2=flex + tower_shadow_method 3 ; 0=none, 1=potential flow, 2=jet + scale_time_start 20 ; + wind_ramp_factor 0.0 20 0.8 1.0 ; + ; iec_gust ; +; +; wind_ramp_abs 400.0 401.0 0.0 1.0 ; wsp. after the step: 5.0 +; wind_ramp_abs 501.0 502.0 0.0 1.0 ; wsp. after the step: 6.0 +; wind_ramp_abs 602.0 603.0 0.0 1.0 ; wsp. after the step: 7.0 +; wind_ramp_abs 703.0 704.0 0.0 1.0 ; wsp. after the step: 8.0 +; wind_ramp_abs 804.0 805.0 0.0 1.0 ; wsp. after the step: 9.0 +; wind_ramp_abs 905.0 906.0 0.0 1.0 ; wsp. after the step: 10.0 +; wind_ramp_abs 1006.0 1007.0 0.0 1.0 ; wsp. after the step: 11.0 +; wind_ramp_abs 1107.0 1108.0 0.0 1.0 ; wsp. after the step: 12.0 +; wind_ramp_abs 1208.0 1209.0 0.0 1.0 ; wsp. after the step: 13.0 +; wind_ramp_abs 1309.0 1310.0 0.0 1.0 ; wsp. after the step: 14.0 +; wind_ramp_abs 1410.0 1411.0 0.0 1.0 ; wsp. after the step: 15.0 +; wind_ramp_abs 1511.0 1512.0 0.0 1.0 ; wsp. after the step: 16.0 +; wind_ramp_abs 1612.0 1613.0 0.0 1.0 ; wsp. after the step: 17.0 +; wind_ramp_abs 1713.0 1714.0 0.0 1.0 ; wsp. after the step: 18.0 +; wind_ramp_abs 1814.0 1815.0 0.0 1.0 ; wsp. after the step: 19.0 +; wind_ramp_abs 1915.0 1916.0 0.0 1.0 ; wsp. after the step: 20.0 +; wind_ramp_abs 2016.0 2017.0 0.0 1.0 ; wsp. after the step: 21.0 +; wind_ramp_abs 2117.0 2118.0 0.0 1.0 ; wsp. after the step: 22.0 +; wind_ramp_abs 2218.0 2219.0 0.0 1.0 ; wsp. after the step: 23.0 +; wind_ramp_abs 2319.0 2320.0 0.0 1.0 ; wsp. after the step: 24.0 +; wind_ramp_abs 2420.0 2421.0 0.0 1.0 ; wsp. after the step: 25.0 + ; +; wind_ramp_abs 400.0 2200.0 0.0 21.0 ; wsp. after the step: 25.0 +; wind_ramp_abs 2400.0 4200.0 0.0 -21.0 ; wsp. after the step: 25.0 + ; + begin mann ; + create_turb_parameters 29.4 1.0 3.9 0 1.0 ; L, alfaeps, gamma, seed, highfrq compensation + filename_u ./turb/noneu.bin ; + filename_v ./turb/nonev.bin ; + filename_w ./turb/nonew.bin ; + box_dim_u 8192 0.048828125 ; + box_dim_v 32 7.5; + box_dim_w 32 7.5; + std_scaling 1.0 0.7 0.5 ; + end mann ; +; + begin tower_shadow_potential_2; + tower_mbdy_link tower; + nsec 2; + radius 0.0 4.15 ; + radius 123.6 2.75 ; (radius) + end tower_shadow_potential_2; +end wind; +; +begin aerodrag ; + begin aerodrag_element ; + mbdy_name tower; + aerodrag_sections uniform 10 ; + nsec 2 ; + sec 0.0 0.6 8.3 ; tower bottom + sec 123.6 0.6 5.5 ; tower top (diameter) + end aerodrag_element; +; + begin aerodrag_element ; Nacelle drag side + mbdy_name shaft; + aerodrag_sections uniform 2 ; + nsec 2 ; + sec 0.0 0.8 10.0 ; + sec 7.01 0.8 10.0 ; + end aerodrag_element; +end aerodrag; +; +begin aero ; + nblades 3; + hub_vec shaft -3 ; rotor rotation vector (normally shaft composant directed from pressure to sustion side) + link 1 mbdy_c2_def blade1; + link 2 mbdy_c2_def blade2; + link 3 mbdy_c2_def blade3; + ae_filename ./data/AVATAR_10MW_RWT_ae.dat ; + pc_filename ./data/AVATAR_10MW_RWT_pc_hama_v1.dat ; + induction_method 1 ; 0=none, 1=normal + aerocalc_method 1 ; 0=ingen aerodynamic, 1=med aerodynamic + aero_distribution ae_file 1 ; + ae_sets 1 1 1; + tiploss_method 1 ; 0=none, 1=prandtl + dynstall_method 2 ; 0=none, 1=stig øye method,2=mhh method +; +; ; --- Flaps --- ; + ; begin dynstall_ateflap ; + ; Ais 0.165 0.335 0.0 ; + ; Bis 0.0455 0.30 0.30 ; + ; flap 59.5925 85.5023 ./data/Flap_dturwt1_Thk24.ds ; Flap Sec: 1 + ; end dynstall_ateflap; +end aero ; +;------------------------------------------------------------------------------------------------- +begin dll; +; + begin type2_dll; + name risoe_controller ; + filename ./control/risoe_controller.dll ; + dll_subroutine_init init_regulation ; + dll_subroutine_update update_regulation ; + arraysizes_init 52 1 ; + arraysizes_update 12 100 ; + begin init ; + ; Overall parameters + constant 1 10000.0 ; Rated power [kW] + constant 2 0.628 ; Minimum rotor speed [rad/s] + constant 3 1.005 ; Rated rotor speed [rad/s] + constant 4 15.6E+06 ; Maximum allowable generator torque [Nm] + constant 5 100.0 ; Minimum pitch angle, theta_min [deg], + ; if |theta_min|>90, then a table of <wsp,theta_min> is read ; + ; from a file named 'wpdata.n', where n=int(theta_min) + constant 6 90.0 ; Maximum pitch angle [deg] + constant 7 10.0 ; Maximum pitch velocity operation [deg/s] + constant 8 0.4 ; Frequency of generator speed filter [Hz] + constant 9 0.7 ; Damping ratio of speed filter [-] + constant 10 1.64 ; Frequency of free-free DT torsion mode [Hz], if zero no notch filter used + ; Partial load control parameters + constant 11 0.9648030e+07 ; Optimal Cp tracking K factor [Nm/(rad/s)^2], ; + ; Qg=K*Omega^2, K=eta*0.5*rho*A*Cp_opt*R^3/lambda_opt^3 + constant 12 1.047610E+08 ; Proportional gain of torque controller [Nm/(rad/s)] + constant 13 0.153367E+08 ; Integral gain of torque controller [Nm/rad] + constant 14 0.0 ; Differential gain of torque controller [Nm/(rad/s^2)] +; Full load control parameters + constant 15 1 ; Generator control switch [1=constant power, 2=constant torque] + constant 16 0.762489 ; Proportional gain of pitch controller [rad/(rad/s)] + constant 17 0.224086 ; Integral gain of pitch controller [rad/rad] + constant 18 0.0 ; Differential gain of pitch controller [rad/(rad/s^2)] + constant 19 0.4e-9 ; Proportional power error gain [rad/W] + constant 20 0.4e-9 ; Integral power error gain [rad/(Ws)] + constant 21 10.6824 ; Coefficient of linear term in aerodynamic gain scheduling, KK1 [deg] + constant 22 601.25499 ; Coefficient of quadratic term in aerodynamic gain scheduling, KK2 [deg^2] & + ; (if zero, KK1 = pitch angle at double gain) + constant 23 1.3 ; Relative speed for double nonlinear gain [-] +; Cut-in simulation parameters + constant 24 -1 ; Cut-in time [s] + constant 25 1.0 ; Time delay for soft start of torque [1/1P] +; Cut-out simulation parameters + constant 26 -1 ; Cut-out time [s] + constant 27 5.0 ; Time constant for linear torque cut-out [s] + constant 28 1 ; Stop type [1=normal, 2=emergency] + constant 29 1.0 ; Time delay for pitch stop after shut-down signal [s] + constant 30 3 ; Maximum pitch velocity during initial period of stop [deg/s] + constant 31 3.0 ; Time period of initial pitch stop phase [s] (maintains pitch speed specified in constant 30) + constant 32 4 ; Maximum pitch velocity during final phase of stop [deg/s] +; Expert parameters (keep default values unless otherwise given) + constant 33 2.0 ; Lower angle above lowest minimum pitch angle for switch [deg] + constant 34 2.0 ; Upper angle above lowest minimum pitch angle for switch [deg], if equal then hard switch + constant 35 95.0 ; Ratio between filtered speed and reference speed for fully open torque limits [%] + constant 36 2.0 ; Time constant of 1st order filter on wind speed used for minimum pitch [1/1P] + constant 37 1.0 ; Time constant of 1st order filter on pitch angle used for gain scheduling [1/1P] +; Drivetrain damper + constant 38 0.0 ; Proportional gain of active DT damper [Nm/(rad/s)], requires frequency in input 10 +; Over speed + constant 39 25.0 ; Overspeed percentage before initiating turbine controller alarm (shut-down) [%] +; Additional non-linear pitch control term (not used when all zero) + constant 40 0.0 ; Err0 [rad/s] + constant 41 0.0 ; ErrDot0 [rad/s^2] + constant 42 0.0 ; PitNonLin1 [rad/s] +; Storm control command + constant 43 28.0 ; Wind speed 'Vstorm' above which derating of rotor speed is used [m/s] + constant 44 28.0 ; Cut-out wind speed (only used for derating of rotor speed in storm) [m/s] +; Safety system parameters + constant 45 25.0 ; Overspeed percentage before initiating safety system alarm (shut-down) [%] + constant 46 1.5 ; Max low-pass filtered tower top acceleration level [m/s^2] - max in DLC 1.3=1.1 m/s^2 +; Turbine parameter + constant 47 205.8 ; Nominal rotor diameter [m] +; Parameters for rotor inertia reduction in variable speed region + constant 48 0.0 ; Proportional gain on rotor acceleration in variable speed region [Nm/(rad/s^2)] (not used when zero) +; Parameters for alternative partial load controller with PI regulated TSR tracking + constant 49 0.0 ; Optimal tip speed ratio [-] (only used when K=constant 11 = 0 otherwise Qg=K*Omega^2 is used) +; Parameters for adding aerodynamic drivetrain damping on gain scheduling + constant 50 0.0 ; Proportional gain of aerodynamic DT damping [Nm/(rad/s)] + constant 51 0.0 ; Coefficient of linear term in aerodynamic DT damping scheduling, KK1 [deg] + constant 52 0.0 ; Coefficient of quadratic term in aerodynamic DT damping scheduling, KK2 [deg^2] + end init ; +; + begin output ; + general time ; [s] + constraint bearing1 shaft_rot 1 only 2 ; Drivetrain speed [rad/s] + constraint bearing2 pitch1 1 only 1; [rad] + constraint bearing2 pitch2 1 only 1; [rad] + constraint bearing2 pitch3 1 only 1; [rad] + wind free_wind 1 0.0 0.0 -127 ; Global coordinates at hub height + dll inpvec 2 2 ; Elec. power from generator servo .dll + dll inpvec 2 8 ; Grid state flag from generator servo .dll + mbdy state acc tower 10 1.0 global only 1 ; Tower top x-acceleration [m/s^2] + mbdy state acc tower 10 1.0 global only 2 ; Tower top y-acceleration [m/s^2] + end output; + end type2_dll; +; + begin type2_dll; + name generator_servo ; + filename ./control/generator_servo.dll ; + dll_subroutine_init init_generator_servo ; + dll_subroutine_update update_generator_servo ; + arraysizes_init 7 1 ; + arraysizes_update 4 8 ; + begin init ; + constant 1 20.0 ; Frequency of 2nd order servo model of generator-converter system [Hz] + constant 2 0.9 ; Damping ratio 2nd order servo model of generator-converter system [-] + constant 3 15.6E+06 ; Maximum allowable LSS torque (pull-out torque) [Nm] + constant 4 0.94 ; Generator efficiency [-] + constant 5 1.0 ; Gearratio [-] + constant 6 0.0 ; Time for half value in softstart of torque [s] + constant 7 5000 ; Time for grid loss [s] + end init ; +; + begin output; + general time ; Time [s] + dll inpvec 1 1 ; Electrical torque reference [Nm] + constraint bearing1 shaft_rot 1 only 2; Generator LSS speed [rad/s] + mbdy momentvec shaft 1 1 shaft only 3 ; Shaft moment [kNm] (Qshaft) + end output; +; + begin actions; + mbdy moment_int shaft 1 -3 shaft towertop 2 ; Generator LSS torque [Nm] + end actions; + end type2_dll; +; + begin type2_dll; + name mech_brake ; + filename ./control/mech_brake.dll ; + dll_subroutine_init init_mech_brake ; + dll_subroutine_update update_mech_brake ; + arraysizes_init 7 1 ; + arraysizes_update 4 6 ; + begin init ; + constant 1 5225.35 ; Fully deployed maximum brake torque [Nm] (0.6*max torque) + constant 2 100.0 ; Parameter alpha used in Q = tanh(omega*alpha), typically 1e2/Omega_nom + constant 3 0.5 ; Delay time for before brake starts to deploy [s] + constant 4 0.74 ; Time for brake to become fully deployed [s] + end init ; +; + begin output; + general time ; Time [s] + constraint bearing1 shaft_rot 1 only 2 ; Generator LSS speed [rad/s] + dll inpvec 1 25 ; Command to deploy mechanical disc brake [0,1] + end output; +; + begin actions; + mbdy moment_int shaft 1 -3 shaft towertop 2 ; Generator LSS torque [Nm] + end actions; + end type2_dll; +; + begin type2_dll; + name servo_with_limits ; + filename ./control/servo_with_limits.dll ; + dll_subroutine_init init_servo_with_limits ; + dll_subroutine_update update_servo_with_limits ; + arraysizes_init 10 1 ; + arraysizes_update 5 9 ; + begin init ; + constant 1 3 ; Number of blades [-] + constant 2 1.0 ; Frequency of 2nd order servo model of pitch system [Hz] + constant 3 0.7 ; Damping ratio 2nd order servo model of pitch system [-] + constant 4 10.0 ; Max. pitch speed [deg/s] + constant 5 15.0 ; Max. pitch acceleration [deg/s^2] + constant 6 -5.0 ; Min. pitch angle [deg] + constant 7 90.0 ; Max. pitch angle [deg] + constant 8 5000 ; Time for pitch runaway [s] + constant 9 -1 ; Time for stuck blade 1 [s] + constant 10 0 ; Angle of stuck blade 1 [deg] + end init ; + begin output; + general time ; Time [s] + dll inpvec 1 2 ; Pitch1 demand angle [rad] + dll inpvec 1 3 ; Pitch2 demand angle [rad] + dll inpvec 1 4 ; Pitch3 demand angle [rad] + dll inpvec 1 26 ; Flag for emergency pitch stop [0=off/1=on] + end output; +; + begin actions; + constraint bearing2 angle pitch1 ; Angle pitch1 bearing [rad] + constraint bearing2 angle pitch2 ; Angle pitch2 bearing [rad] + constraint bearing2 angle pitch3 ; Angle pitch3 bearing [rad] + end actions; + end type2_dll; +; +; --- DLL for tower-blade tip distance -- ; + begin type2_dll; + name disttowtip ; + filename ./control/towclearsens.dll ; + dll_subroutine_init initialize ; + dll_subroutine_update update ; + arraysizes_init 1 1 ; + arraysizes_update 12 4 ; + begin init ; + constant 1 3.87 ; Tower radius close to downward blade tip [m] + end init ; + begin output; + mbdy state pos tower 5 0.00 global ; [1,2,3]. Tower position: 24.58 m + mbdy state pos blade1 26 1.0 global ; [4,5,6] + mbdy state pos blade2 26 1.0 global ; [7,8,9] + mbdy state pos blade3 26 1.0 global ; [10,11,12] + end output; + end type2_dll; +end dll; +; +;---------------------------------------------------------------------------------------------------------------------------------------------------------------- +; +begin output; + filename ./res/dlc01_demos/dlc01_steady_wsp10_noturb ; + time 20 40 ; + data_format hawc_binary; + buffer 1 ; +; + general time; + constraint bearing1 shaft_rot 2; angle and angle velocity + constraint bearing2 pitch1 5; angle and angle velocity + constraint bearing2 pitch2 5; angle and angle velocity + constraint bearing2 pitch3 5; angle and angle velocity + aero omega ; + aero torque; + aero power; + aero thrust; + wind free_wind 1 0.0 0.0 -127; local wind at fixed position: coo (1=global,2=non-rotation rotor coo.), pos x, pos y, pos z + ; non rotating coordinates shaft tip: equivalent to stationary hub in BLADED + mbdy momentvec shaft 3 2 shaft_nonrotate # non rotating shaft tip ; + mbdy forcevec shaft 3 2 shaft_nonrotate # non rotating shaft tip ; + ; Moments: + mbdy momentvec tower 1 1 tower # tower base ; + mbdy momentvec tower 19 2 tower # tower yaw bearing ; + mbdy momentvec shaft 4 1 shaft # main bearing ; + mbdy momentvec blade1 3 2 blade1 # blade 1 root ; + mbdy momentvec blade2 3 2 blade2 # blade 2 root ; + mbdy momentvec blade3 3 2 blade3 # blade 3 root ; + ; blade 2,3 root section loads + mbdy momentvec blade2 3 2 local # blade 2 section root; + mbdy momentvec blade3 3 2 local # blade 3 section root; + ; blade 1 sectional loads in local coordinates + mbdy momentvec blade1 2 2 local # blade 1 section; + mbdy momentvec blade1 3 2 local # blade 1 section root; + mbdy momentvec blade1 4 2 local # blade 1 section; + mbdy momentvec blade1 5 2 local # blade 1 section; + mbdy momentvec blade1 6 2 local # blade 1 section; + mbdy momentvec blade1 7 2 local # blade 1 section; + mbdy momentvec blade1 8 2 local # blade 1 section; + mbdy momentvec blade1 9 2 local # blade 1 section; + mbdy momentvec blade1 10 2 local # blade 1 section; + mbdy momentvec blade1 11 2 local # blade 1 section; + mbdy momentvec blade1 12 2 local # blade 1 section; + mbdy momentvec blade1 13 2 local # blade 1 section; + mbdy momentvec blade1 14 2 local # blade 1 section; + mbdy momentvec blade1 15 2 local # blade 1 section; + mbdy momentvec blade1 16 2 local # blade 1 section; + mbdy momentvec blade1 17 2 local # blade 1 section; + mbdy momentvec blade1 18 2 local # blade 1 section; + mbdy momentvec blade1 19 2 local # blade 1 section; + mbdy momentvec blade1 20 2 local # blade 1 section; + mbdy momentvec blade1 21 2 local # blade 1 section; + mbdy momentvec blade1 22 2 local # blade 1 section; + mbdy momentvec blade1 23 2 local # blade 1 section; + mbdy momentvec blade1 24 2 local # blade 1 section; + mbdy momentvec blade1 25 2 local # blade 1 section; + mbdy momentvec blade1 26 2 local # blade 1 section; + ; blade root out and in of plane forces + mbdy momentvec blade1 3 2 hub1 # blade 1 root ; + mbdy momentvec blade2 3 2 hub2 # blade 2 root ; + mbdy momentvec blade3 3 2 hub3 # blade 3 root ; +; mbdy momentvec blade1 14 1 local # blade 1 50% local e coo ; +; mbdy momentvec blade2 14 1 local # blade 2 50% local e coo ; +; mbdy momentvec blade3 14 1 local # blade 3 50% local e coo ; + ; Displacements and accellerations + mbdy state pos tower 19 1.0 global only 1 # Tower top FA displ; + mbdy state pos tower 19 1.0 global only 2 # Tower top SS displ; + mbdy state acc tower 19 1.0 global only 1 # Tower top FA acc; + mbdy state acc tower 19 1.0 global only 2 # Tower top SS acc; +; + mbdy state pos blade1 26 1.0 global # gl blade 1 tip pos ; + mbdy state pos blade2 26 1.0 global # gl blade 2 tip pos ; + mbdy state pos blade3 26 1.0 global # gl blade 3 tip pos ; + mbdy state pos blade1 26 1.0 blade1 # blade 1 tip pos ; + mbdy state pos blade2 26 1.0 blade2 # blade 2 tip pos ; + mbdy state pos blade3 26 1.0 blade3 # blade 3 tip pos ; +; + mbdy state pos tower 5 0.00 global ; [1,2,3]. Tower position: 24.58 m +; + ; elastic twist (torsional deformation) along the blade + aero tors_ang 1 45.56; + aero tors_ang 1 59.19; + aero tors_ang 1 70.87; + aero tors_ang 1 80.61; + aero tors_ang 1 84.50; + aero tors_ang 1 88.40; + aero tors_ang 1 92.29; + aero tors_ang 1 96.19; + aero tors_ang 1 98.13; + aero tors_ang 1 100.08; tip +; +; - Monitor Aerodynamics - ; + aero windspeed 3 1 1 72.5; + aero alfa 1 72.5; + aero alfa 2 72.5; + aero alfa 3 72.5; + aero cl 1 72.5; + aero cl 2 72.5; + aero cl 3 72.5; + aero cd 1 72.5; + aero cd 2 72.5; + aero cd 3 72.5; +; - Main Controller - +; Output to controller + ; dll outvec 1 1 # time; + ; dll outvec 1 2 # slow speed shaft rad/s; + ; dll outvec 1 3 # pitch angle 1; + ; dll outvec 1 4 # pitch angle 2; + ; dll outvec 1 5 # pitch angle 3; + ; dll outvec 1 6 # WSP_x_global; + ; dll outvec 1 7 # WSP_y_global; + ; dll outvec 1 8 # WSP_z_global; + ; dll outvec 1 9 # Elec. pwr ; + ; dll outvec 1 10 # Grid flag ; +; Input from controller + dll inpvec 1 1 # Generator torque reference [Nm] ; + dll inpvec 1 2 # Pitch angle reference of blade 1 [rad] ; + dll inpvec 1 3 # Pitch angle reference of blade 2 [rad] ; + dll inpvec 1 4 # Pitch angle reference of blade 3 [rad] ; + ; dll inpvec 1 5 # Power reference [W] ; + ; dll inpvec 1 6 # Filtered wind speed [m/s] ; + ; dll inpvec 1 7 # Filtered rotor speed [rad/s]; + ; dll inpvec 1 8 # Filtered rotor speed error for torque [rad/s]; + ; dll inpvec 1 9 # Bandpass filtered rotor speed [rad/s]; + ; dll inpvec 1 10 # Proportional term of torque contr. [Nm] ; + ; dll inpvec 1 11 # Integral term of torque controller [Nm] ; + ; dll inpvec 1 12 # Minimum limit of torque [Nm] ; + ; dll inpvec 1 13 # Maximum limit of torque [Nm] ; + dll inpvec 1 14 # Torque limit switch based on pitch [-] ; + ; dll inpvec 1 15 # Filtered rotor speed error for pitch [rad/s]; + ; dll inpvec 1 16 # Power error for pitch [W] ; + ; dll inpvec 1 17 # Proportional term of pitch controller [rad] ; + ; dll inpvec 1 18 # Integral term of pitch controller [rad] ; + ; dll inpvec 1 19 # Minimum limit of pitch [rad] ; + ; dll inpvec 1 20 # Maximum limit of pitch [rad] ; + dll inpvec 1 21 # Torque reference from DT dammper [Nm] ; + dll inpvec 1 22 # Status signal [-] ; + ; dll inpvec 1 23 # Total added pitch rate [rad/s] ; + dll inpvec 1 24 # Filtered Mean pitch for gain sch [rad] ; + dll inpvec 1 25 # Flag for mechnical brake [0=off/1=on] ; + dll inpvec 1 26 # Flag for emergency pitch stop [0=off/1=on] ; + dll inpvec 1 27 # LP filtered acceleration level [m/s^2] ; +; ; Output to generator model + ; dll outvec 2 1 # time ; + ; dll outvec 2 2 # Electrical torque reference [Nm] ; + ; dll outvec 2 3 # omega LSS ; +; Input from generator model + dll inpvec 2 1 # Mgen LSS [Nm]; + dll inpvec 2 2 # Pelec W ; + dll inpvec 2 3 # Mframe ; + dll inpvec 2 4 # Mgen HSS ; + dll inpvec 2 5 # Generator Pmech kW ; + dll inpvec 2 6 # Filtered Gen speed ; + dll inpvec 2 7 # Resulting Eff ; + dll inpvec 2 8 # Grid flag ; +; Output to mechanical brake + dll inpvec 3 1 # Brake torque [Nm] ; +; ; Input from mechanical brake + ; dll outvec 3 1 # Time [s] ; + ; dll outvec 3 2 # Generator LSS speed [rad/s] ; + ; dll outvec 3 3 # Deploy brake ; +; ; Output to pitch servo + ; dll outvec 4 1 # time; + ; dll outvec 4 2 # pitchref 1; + ; dll outvec 4 3 # pitchref 2; + ; dll outvec 4 4 # pitchref 3; + ; dll outvec 4 5 # Emerg. stop; +; Input from pitch servo + dll inpvec 4 1 # pitch 1; + dll inpvec 4 2 # pitch 2; + dll inpvec 4 3 # pitch 3; +; Check tower clearence + dll inpvec 5 1 # Bltip tow min d [m]; +; general constant 1.0 ; constant 1.0 - to mesure activity of flap in terms of displacement +; - Check on flap control: + ; ; - From flap controller: - + ; dll type2_dll cyclic_flap_controller inpvec 1 # Ref flap signal bl 1 [deg] ; + ; dll type2_dll cyclic_flap_controller inpvec 2 # Ref flap signal bl 2 [deg] ; + ; dll type2_dll cyclic_flap_controller inpvec 3 # Ref flap signal bl 3 [deg] ; + ; ; - Mbc values + ; dll type2_dll cyclic_flap_controller inpvec 4 # momvec mbc cos [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 5 # momvec mbc sin [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 6 # momvec mbc filt cos [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 7 # momvec mbc filt sin [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 8 # flap mbc cos [deg] ; + ; dll type2_dll cyclic_flap_controller inpvec 9 # flap mbc sin [deg] ; + ; ; - Check Gains - ; + ; dll type2_dll cyclic_flap_controller inpvec 10 # lead angle [deg] ; + ; dll type2_dll cyclic_flap_controller inpvec 11 # scaling on rat pow [-] ; + ; dll type2_dll cyclic_flap_controller inpvec 12 # actual kp [deg/kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 13 # actual ki [deg/kNms] ; + ; dll type2_dll cyclic_flap_controller inpvec 14 # actual kd [deg s/kNm] ; + ; ; - Actual deflections - + ; aero beta 1 1 ; + ; aero beta 2 1 ; + ; aero beta 3 1 ; + ; ; - Mbc values + ; dll type2_dll cyclic_flap_controller inpvec 4 # momvec mbc cos [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 5 # momvec mbc sin [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 6 # momvec mbc filt cos [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 7 # momvec mbc filt sin [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 8 # flap mbc cos [deg] ; + ; dll type2_dll cyclic_flap_controller inpvec 9 # flap mbc sin [deg] ; +end output; +; +exit; diff --git a/wetb/prepost/tests/data/demo_dlc/ref/htc/dlc01_demos/dlc01_steady_wsp8_noturb.htc b/wetb/prepost/tests/data/demo_dlc/ref/htc/dlc01_demos/dlc01_steady_wsp8_noturb.htc new file mode 100644 index 0000000000000000000000000000000000000000..94abe5e13faf4dbd2ffcf86f0bb95df884a573a8 --- /dev/null +++ b/wetb/prepost/tests/data/demo_dlc/ref/htc/dlc01_demos/dlc01_steady_wsp8_noturb.htc @@ -0,0 +1,850 @@ +;this version was at some point based on: Avatar_10MW_RWT version 1, 06-08-14, Anyd +begin simulation; + time_stop 40; + solvertype 1 ; (newmark) + on_no_convergence continue ; +; convergence_limits 1E3 1.0 1E-7 ; + logfile ./logfiles/dlc01_demos/dlc01_steady_wsp8_noturb.log ; + begin newmark; + deltat 0.02; + end newmark; +end simulation; +; +;---------------------------------------------------------------------------------------------------------------------------------------------------------------- +begin new_htc_structure; +;-------------------------------------------------------------------------------------------------- +; beam_output_file_name ./res_eigen/dlc01_demos/dlc01_steady_wsp8_noturb/dlc01_steady_wsp8_noturb_beam.dat; +; body_output_file_name ./res_eigen/dlc01_demos/dlc01_steady_wsp8_noturb/dlc01_steady_wsp8_noturb_body.dat; +; struct_inertia_output_file_name ./res_eigen/dlc01_demos/dlc01_steady_wsp8_noturb/dlc01_steady_wsp8_noturb_struct.dat; +; body_eigenanalysis_file_name ./res_eigen/dlc01_demos/dlc01_steady_wsp8_noturb/dlc01_steady_wsp8_noturb_body_eigen.dat; +; structure_eigenanalysis_file_name ./res_eigen/dlc01_demos/dlc01_steady_wsp8_noturb/dlc01_steady_wsp8_noturb_strc_eigen.dat; +;--------------------------------------------------------------------------------------------------- + begin main_body; tower 123.6m + name tower ; + type timoschenko ; + nbodies 3 ; + node_distribution c2_def ; + damping_posdef 0 0 0 4.7E-03 4.7E-03 4.3E-04 ; tuned by Anyd 12/8/14 + begin timoschenko_input; + filename ./data/AVATAR_10MW_RWT_tower_st.dat; + set 1 1 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 20; + sec 1 0 0 0.000 0 ; x,y,z,twist + sec 2 0 0 -12.293 0 ; + sec 3 0 0 -12.294 0 ; + sec 4 0 0 -24.585 0 ; + sec 5 0 0 -24.586 0 ; + sec 6 0 0 -36.878 0 ; + sec 7 0 0 -36.879 0 ; + sec 8 0 0 -49.171 0 ; + sec 9 0 0 -49.172 0 ; + sec 10 0 0 -61.463 0 ; + sec 11 0 0 -61.464 0 ; + sec 12 0 0 -73.756 0 ; + sec 13 0 0 -73.757 0 ; + sec 14 0 0 -86.049 0 ; + sec 15 0 0 -86.050 0 ; + sec 16 0 0 -98.341 0 ; + sec 17 0 0 -98.342 0 ; + sec 18 0 0 -110.634 0 ; + sec 19 0 0 -110.635 0 ; + sec 20 0 0 -123.600 0 ; + end c2_def ; + end main_body; +; + begin main_body; + name towertop ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 7.50E-03 7.40E-03 7.00E-03 7.00E-03 7.00E-03 7.00E-03 ; "changed by Anyd + concentrated_mass 2.0 0.0 2.6870E+00 3.0061E-01 4.4604E+05 4.1060E+06 4.1060E+05 4.1060E+06 ; Nacel + begin timoschenko_input; + filename ./data/DTU_10MW_RWT_Towertop_st.dat ; + set 1 2 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 2; + sec 1 0.0 0.0 0.0 0.0 ; x,y,z,twist + sec 2 0.0 0.0 -2.75 0.0 ; + end c2_def ; + end main_body; +; + begin main_body; + name shaft ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; +; damping_posdef 8.00E-3 8.00E-03 8.00E-02 4.65E-04 4.65E-04 2.38E-02 ; "tuned by Anyd 22/2/13 + damping_posdef 0.0 0.0 3.983E-03 4.65E-04 4.65E-04 3.983E-03 ; "tuned by Anyd 23/5/13 to 31.45 l + concentrated_mass 1.0 0.0 0.0 0.0 0.0 0.0 0.0 3.751E+06 ; generator equivalent slow shaft "re_tu + concentrated_mass 5.0 0.0 0.0 0.0 1.0552E+05 0.0 0.0 3.257E+05 ; hub mass and inertia; "re_tuned + begin timoschenko_input; + filename ./data/DTU_10MW_RWT_Shaft_st.dat ; + set 1 1 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 5; + sec 1 0.0 0.0 0.0 0.0 ; Tower top x,y,z,twist + sec 2 0.0 0.0 1.5 0.0 ; + sec 3 0.0 0.0 3.0 0.0 ; + sec 4 0.0 0.0 4.4 0.0 ; Main bearing + sec 5 0.0 0.0 7.1 0.0 ; Rotor centre + end c2_def ; + end main_body; +; + begin main_body; + name shaft_nonrotate ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 0.00E+00 0.00E+00 0.00E+00 1.0E-01 1.0E-01 1.0E-01 ; + begin timoschenko_input; + filename ./data/DTU_10MW_RWT_Shaft_st.dat ; + set 1 3; dummy light and stiff structure + end timoschenko_input; + begin c2_def; + nsec 2; + sec 1 0.0 0.0 0.0 0.0 ; + sec 2 0.0 0.0 0.1 0.0 ; + end c2_def; + end main_body; +; + begin main_body; + name hub1 ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 2.00E-05 2.00E-05 2.00E-04 3.00E-06 3.00E-06 2.00E-05; + begin timoschenko_input; + filename ./data/DTU_10MW_RWT_Hub_st.dat ; + set 1 2 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 2; + sec 1 0.0 0.0 0.0 0.0 ; x,y,z,twist + sec 2 0.0 0.0 2.8 0.0 ; + end c2_def ; + end main_body; +; + begin main_body; + name hub2 ; + copy_main_body hub1; + end main_body; +; + begin main_body; + name hub3 ; + copy_main_body hub1 ; + end main_body; +; + begin main_body; + name blade1 ; + type timoschenko ; + nbodies 10 ; + node_distribution c2_def; +; damping_posdef 0.0 0.0 0.0 2.5e-3 8.9e-4 3.2e-4 ; "Tuned by Anyd" +; damping_posdef 0.0 0.0 0.0 1.5e-3 2.45e-3 3.2e-4 ; " 3% damping tuned by Anyd 20/02/12 unable to +; damping_posdef 0.0 0.0 0.0 2.1e-3 1.9e-3 1.3e-4 ; " 3% damping tuned by Anyd 15/08/14 rev2 + damping_posdef 0.0 0.0 0.0 1.68e-3 2.25e-3 1.0e-4 ; " 3% damping tuned by Anyd 16/12/14 + begin timoschenko_input ; + filename ./data/AVATAR_10MW_RWT_Blade_st.dat ; + set 1 9 ; + end timoschenko_input; + begin c2_def; + nsec 27 ; + sec 1 -0.001 -0.001 0.000 -17.280 ; + sec 2 -0.005 -0.001 2.220 -17.280 ; + sec 3 -0.006 -0.000 4.440 -17.280 ; + sec 4 -0.086 0.022 6.660 -17.280 ; + sec 5 -0.231 0.069 11.039 -17.273 ; + sec 6 -0.447 0.121 15.418 -16.441 ; + sec 7 -0.690 0.161 19.797 -14.613 ; + sec 8 -0.812 0.162 24.176 -12.578 ; + sec 9 -0.891 0.158 28.555 -10.588 ; + sec 10 -0.865 0.124 32.934 -9.070 ; + sec 11 -0.833 0.112 37.313 -8.224 ; + sec 12 -0.797 0.102 41.692 -7.688 ; + sec 13 -0.760 0.093 46.071 -7.205 ; + sec 14 -0.721 0.083 50.450 -6.749 ; + sec 15 -0.683 0.075 54.829 -6.288 ; + sec 16 -0.644 0.066 59.208 -5.838 ; + sec 17 -0.606 0.058 63.587 -5.401 ; + sec 18 -0.567 0.050 67.966 -4.982 ; + sec 19 -0.529 0.044 72.345 -4.640 ; + sec 20 -0.492 0.037 76.724 -4.380 ; + sec 21 -0.456 0.032 81.103 -4.144 ; + sec 22 -0.422 0.026 85.482 -3.914 ; + sec 23 -0.392 0.021 89.861 -3.685 ; + sec 24 -0.346 0.014 94.240 -3.460 ; + sec 25 -0.307 0.010 96.190 -3.350 ; + sec 26 -0.249 0.005 98.130 -3.250 ; + sec 27 -0.089 0.006 100.080 -3.140 ; + end c2_def ; + end main_body; +; + begin main_body; + name blade2 ; + copy_main_body blade1; + end main_body; +; + begin main_body; + name blade3 ; + copy_main_body blade1 ; + end main_body; +;------------------------------------------------------------------------------------------------------------------------------- +; + begin orientation; + begin base; + body tower; + inipos 0.0 0.0 0.0 ; initial position of node 1 + body_eulerang 0.0 0.0 0.0; + end base; +; + begin relative; + body1 tower last; + body2 towertop 1; + body2_eulerang 0.0 0.0 0.0; + end relative; +; + begin relative; + body1 towertop last; + body2 shaft 1; + body2_eulerang 90.0 0.0 0.0; + body2_eulerang 5.0 0.0 0.0; 5 deg tilt angle + body2_eulerang 0.0 0.0 0; + mbdy2_ini_rotvec_d1 0.0 0.0 -1.0 0.5 ; mbdy2_ini_rotvec_d1 0.0 0.0 -1.0 0.5; + end relative; +; + begin relative; dummy non rotating hub coordinates + body1 towertop last; + body2 shaft_nonrotate 1; + body2_eulerang 90.0 0.0 0.0; + body2_eulerang 5.0 0.0 0.0; same 5 deg tilt angle as real shaft + end relative; +; + begin relative; + body1 shaft last; + body2 hub1 1; + body2_eulerang -90.0 0.0 0.0; + body2_eulerang 0.0 180.0 0.0; + body2_eulerang 2.5 0.0 0.0; 2.5deg cone angle + end relative; +; + begin relative; + body1 shaft last; + body2 hub2 1; + body2_eulerang -90.0 0.0 0.0; + body2_eulerang 0.0 60.0 0.0; + body2_eulerang 2.5 0.0 0.0; 2.5deg cone angle + end relative; +; + begin relative; + body1 shaft last; + body2 hub3 1; + body2_eulerang -90.0 0.0 0.0; + body2_eulerang 0.0 -60.0 0.0; + body2_eulerang 2.5 0.0 0.0; 2.5deg cone angle + end relative; +; + begin relative; + body1 hub1 last; + body2 blade1 1; + body2_eulerang 0.0 0.0 0; + end relative; +; + begin relative; + body1 hub2 last; + body2 blade2 1; + body2_eulerang 0.0 0.0 0.0; + end relative; +; + begin relative; + body1 hub3 last; + body2 blade3 1; + body2_eulerang 0.0 0.0 0.0; + end relative; +; + end orientation; +;------------------------------------------------------------------------------------------------------------------------------- +begin constraint; +; + begin fix0; fixed to ground in translation and rotation of node 1 + body tower; + end fix0; +; + begin fix1; + body1 tower last ; + body2 towertop 1; + end fix1; +; + begin bearing1; free bearing + name shaft_rot; + body1 towertop last; + body2 shaft 1; + bearing_vector 2 0.0 0.0 -1.0; x=coo (0=global.1=body1.2=body2) vector in body2 coordinates where the free rotation is present + end bearing1; +; +; begin bearing3; free bearing +; name shaft_rot; +; body1 towertop last; +; body2 shaft 1; +; bearing_vector 2 0.0 0.0 -1.0; x=coo (0=global.1=body1.2=body2) vector in body2 coordinates where the free rotation is present +; omegas 0.0 ; +; end bearing3; +; + begin fix1; + body1 tower last ; + body2 shaft_nonrotate 1; + end fix1; +; + begin fix1; + body1 shaft last ; + body2 hub1 1; + end fix1; +; + begin fix1; + body1 shaft last ; + body2 hub2 1; + end fix1; +; + begin fix1; + body1 shaft last ; + body2 hub3 1; + end fix1; +; + begin bearing2; + name pitch1; + body1 hub1 last; + body2 blade1 1; + bearing_vector 2 0.0 0.0 -1.0; + end bearing2; +; + begin bearing2; + name pitch2; + body1 hub2 last; + body2 blade2 1; + bearing_vector 2 0.0 0.0 -1.0; + end bearing2; +; + begin bearing2; + name pitch3; + body1 hub3 last; + body2 blade3 1; + bearing_vector 2 0.0 0.0 -1.0; + end bearing2; +end constraint; +; +end new_htc_structure; +;---------------------------------------------------------------------------------------------------------------------------------------------------------------- +begin wind ; + density 1.225 ; + wsp 8 ; + tint 0.232 ; + horizontal_input 1 ; + windfield_rotations 0 8.0 0.0 ; yaw, tilt (positive=upflow=wind coming from below), rotation + center_pos0 0.0 0.0 -127 ; hub heigth + shear_format 3 0 ; + turb_format 0 ; 0=none, 1=mann,2=flex + tower_shadow_method 3 ; 0=none, 1=potential flow, 2=jet + scale_time_start 20 ; + wind_ramp_factor 0.0 20 1.0 1.0 ; + ; iec_gust ; +; +; wind_ramp_abs 400.0 401.0 0.0 1.0 ; wsp. after the step: 5.0 +; wind_ramp_abs 501.0 502.0 0.0 1.0 ; wsp. after the step: 6.0 +; wind_ramp_abs 602.0 603.0 0.0 1.0 ; wsp. after the step: 7.0 +; wind_ramp_abs 703.0 704.0 0.0 1.0 ; wsp. after the step: 8.0 +; wind_ramp_abs 804.0 805.0 0.0 1.0 ; wsp. after the step: 9.0 +; wind_ramp_abs 905.0 906.0 0.0 1.0 ; wsp. after the step: 10.0 +; wind_ramp_abs 1006.0 1007.0 0.0 1.0 ; wsp. after the step: 11.0 +; wind_ramp_abs 1107.0 1108.0 0.0 1.0 ; wsp. after the step: 12.0 +; wind_ramp_abs 1208.0 1209.0 0.0 1.0 ; wsp. after the step: 13.0 +; wind_ramp_abs 1309.0 1310.0 0.0 1.0 ; wsp. after the step: 14.0 +; wind_ramp_abs 1410.0 1411.0 0.0 1.0 ; wsp. after the step: 15.0 +; wind_ramp_abs 1511.0 1512.0 0.0 1.0 ; wsp. after the step: 16.0 +; wind_ramp_abs 1612.0 1613.0 0.0 1.0 ; wsp. after the step: 17.0 +; wind_ramp_abs 1713.0 1714.0 0.0 1.0 ; wsp. after the step: 18.0 +; wind_ramp_abs 1814.0 1815.0 0.0 1.0 ; wsp. after the step: 19.0 +; wind_ramp_abs 1915.0 1916.0 0.0 1.0 ; wsp. after the step: 20.0 +; wind_ramp_abs 2016.0 2017.0 0.0 1.0 ; wsp. after the step: 21.0 +; wind_ramp_abs 2117.0 2118.0 0.0 1.0 ; wsp. after the step: 22.0 +; wind_ramp_abs 2218.0 2219.0 0.0 1.0 ; wsp. after the step: 23.0 +; wind_ramp_abs 2319.0 2320.0 0.0 1.0 ; wsp. after the step: 24.0 +; wind_ramp_abs 2420.0 2421.0 0.0 1.0 ; wsp. after the step: 25.0 + ; +; wind_ramp_abs 400.0 2200.0 0.0 21.0 ; wsp. after the step: 25.0 +; wind_ramp_abs 2400.0 4200.0 0.0 -21.0 ; wsp. after the step: 25.0 + ; + begin mann ; + create_turb_parameters 29.4 1.0 3.9 0 1.0 ; L, alfaeps, gamma, seed, highfrq compensation + filename_u ./turb/noneu.bin ; + filename_v ./turb/nonev.bin ; + filename_w ./turb/nonew.bin ; + box_dim_u 8192 0.0390625 ; + box_dim_v 32 7.5; + box_dim_w 32 7.5; + std_scaling 1.0 0.7 0.5 ; + end mann ; +; + begin tower_shadow_potential_2; + tower_mbdy_link tower; + nsec 2; + radius 0.0 4.15 ; + radius 123.6 2.75 ; (radius) + end tower_shadow_potential_2; +end wind; +; +begin aerodrag ; + begin aerodrag_element ; + mbdy_name tower; + aerodrag_sections uniform 10 ; + nsec 2 ; + sec 0.0 0.6 8.3 ; tower bottom + sec 123.6 0.6 5.5 ; tower top (diameter) + end aerodrag_element; +; + begin aerodrag_element ; Nacelle drag side + mbdy_name shaft; + aerodrag_sections uniform 2 ; + nsec 2 ; + sec 0.0 0.8 10.0 ; + sec 7.01 0.8 10.0 ; + end aerodrag_element; +end aerodrag; +; +begin aero ; + nblades 3; + hub_vec shaft -3 ; rotor rotation vector (normally shaft composant directed from pressure to sustion side) + link 1 mbdy_c2_def blade1; + link 2 mbdy_c2_def blade2; + link 3 mbdy_c2_def blade3; + ae_filename ./data/AVATAR_10MW_RWT_ae.dat ; + pc_filename ./data/AVATAR_10MW_RWT_pc_hama_v1.dat ; + induction_method 1 ; 0=none, 1=normal + aerocalc_method 1 ; 0=ingen aerodynamic, 1=med aerodynamic + aero_distribution ae_file 1 ; + ae_sets 1 1 1; + tiploss_method 1 ; 0=none, 1=prandtl + dynstall_method 2 ; 0=none, 1=stig øye method,2=mhh method +; +; ; --- Flaps --- ; + ; begin dynstall_ateflap ; + ; Ais 0.165 0.335 0.0 ; + ; Bis 0.0455 0.30 0.30 ; + ; flap 59.5925 85.5023 ./data/Flap_dturwt1_Thk24.ds ; Flap Sec: 1 + ; end dynstall_ateflap; +end aero ; +;------------------------------------------------------------------------------------------------- +begin dll; +; + begin type2_dll; + name risoe_controller ; + filename ./control/risoe_controller.dll ; + dll_subroutine_init init_regulation ; + dll_subroutine_update update_regulation ; + arraysizes_init 52 1 ; + arraysizes_update 12 100 ; + begin init ; + ; Overall parameters + constant 1 10000.0 ; Rated power [kW] + constant 2 0.628 ; Minimum rotor speed [rad/s] + constant 3 1.005 ; Rated rotor speed [rad/s] + constant 4 15.6E+06 ; Maximum allowable generator torque [Nm] + constant 5 100.0 ; Minimum pitch angle, theta_min [deg], + ; if |theta_min|>90, then a table of <wsp,theta_min> is read ; + ; from a file named 'wpdata.n', where n=int(theta_min) + constant 6 90.0 ; Maximum pitch angle [deg] + constant 7 10.0 ; Maximum pitch velocity operation [deg/s] + constant 8 0.4 ; Frequency of generator speed filter [Hz] + constant 9 0.7 ; Damping ratio of speed filter [-] + constant 10 1.64 ; Frequency of free-free DT torsion mode [Hz], if zero no notch filter used + ; Partial load control parameters + constant 11 0.9648030e+07 ; Optimal Cp tracking K factor [Nm/(rad/s)^2], ; + ; Qg=K*Omega^2, K=eta*0.5*rho*A*Cp_opt*R^3/lambda_opt^3 + constant 12 1.047610E+08 ; Proportional gain of torque controller [Nm/(rad/s)] + constant 13 0.153367E+08 ; Integral gain of torque controller [Nm/rad] + constant 14 0.0 ; Differential gain of torque controller [Nm/(rad/s^2)] +; Full load control parameters + constant 15 1 ; Generator control switch [1=constant power, 2=constant torque] + constant 16 0.762489 ; Proportional gain of pitch controller [rad/(rad/s)] + constant 17 0.224086 ; Integral gain of pitch controller [rad/rad] + constant 18 0.0 ; Differential gain of pitch controller [rad/(rad/s^2)] + constant 19 0.4e-9 ; Proportional power error gain [rad/W] + constant 20 0.4e-9 ; Integral power error gain [rad/(Ws)] + constant 21 10.6824 ; Coefficient of linear term in aerodynamic gain scheduling, KK1 [deg] + constant 22 601.25499 ; Coefficient of quadratic term in aerodynamic gain scheduling, KK2 [deg^2] & + ; (if zero, KK1 = pitch angle at double gain) + constant 23 1.3 ; Relative speed for double nonlinear gain [-] +; Cut-in simulation parameters + constant 24 -1 ; Cut-in time [s] + constant 25 1.0 ; Time delay for soft start of torque [1/1P] +; Cut-out simulation parameters + constant 26 -1 ; Cut-out time [s] + constant 27 5.0 ; Time constant for linear torque cut-out [s] + constant 28 1 ; Stop type [1=normal, 2=emergency] + constant 29 1.0 ; Time delay for pitch stop after shut-down signal [s] + constant 30 3 ; Maximum pitch velocity during initial period of stop [deg/s] + constant 31 3.0 ; Time period of initial pitch stop phase [s] (maintains pitch speed specified in constant 30) + constant 32 4 ; Maximum pitch velocity during final phase of stop [deg/s] +; Expert parameters (keep default values unless otherwise given) + constant 33 2.0 ; Lower angle above lowest minimum pitch angle for switch [deg] + constant 34 2.0 ; Upper angle above lowest minimum pitch angle for switch [deg], if equal then hard switch + constant 35 95.0 ; Ratio between filtered speed and reference speed for fully open torque limits [%] + constant 36 2.0 ; Time constant of 1st order filter on wind speed used for minimum pitch [1/1P] + constant 37 1.0 ; Time constant of 1st order filter on pitch angle used for gain scheduling [1/1P] +; Drivetrain damper + constant 38 0.0 ; Proportional gain of active DT damper [Nm/(rad/s)], requires frequency in input 10 +; Over speed + constant 39 25.0 ; Overspeed percentage before initiating turbine controller alarm (shut-down) [%] +; Additional non-linear pitch control term (not used when all zero) + constant 40 0.0 ; Err0 [rad/s] + constant 41 0.0 ; ErrDot0 [rad/s^2] + constant 42 0.0 ; PitNonLin1 [rad/s] +; Storm control command + constant 43 28.0 ; Wind speed 'Vstorm' above which derating of rotor speed is used [m/s] + constant 44 28.0 ; Cut-out wind speed (only used for derating of rotor speed in storm) [m/s] +; Safety system parameters + constant 45 25.0 ; Overspeed percentage before initiating safety system alarm (shut-down) [%] + constant 46 1.5 ; Max low-pass filtered tower top acceleration level [m/s^2] - max in DLC 1.3=1.1 m/s^2 +; Turbine parameter + constant 47 205.8 ; Nominal rotor diameter [m] +; Parameters for rotor inertia reduction in variable speed region + constant 48 0.0 ; Proportional gain on rotor acceleration in variable speed region [Nm/(rad/s^2)] (not used when zero) +; Parameters for alternative partial load controller with PI regulated TSR tracking + constant 49 0.0 ; Optimal tip speed ratio [-] (only used when K=constant 11 = 0 otherwise Qg=K*Omega^2 is used) +; Parameters for adding aerodynamic drivetrain damping on gain scheduling + constant 50 0.0 ; Proportional gain of aerodynamic DT damping [Nm/(rad/s)] + constant 51 0.0 ; Coefficient of linear term in aerodynamic DT damping scheduling, KK1 [deg] + constant 52 0.0 ; Coefficient of quadratic term in aerodynamic DT damping scheduling, KK2 [deg^2] + end init ; +; + begin output ; + general time ; [s] + constraint bearing1 shaft_rot 1 only 2 ; Drivetrain speed [rad/s] + constraint bearing2 pitch1 1 only 1; [rad] + constraint bearing2 pitch2 1 only 1; [rad] + constraint bearing2 pitch3 1 only 1; [rad] + wind free_wind 1 0.0 0.0 -127 ; Global coordinates at hub height + dll inpvec 2 2 ; Elec. power from generator servo .dll + dll inpvec 2 8 ; Grid state flag from generator servo .dll + mbdy state acc tower 10 1.0 global only 1 ; Tower top x-acceleration [m/s^2] + mbdy state acc tower 10 1.0 global only 2 ; Tower top y-acceleration [m/s^2] + end output; + end type2_dll; +; + begin type2_dll; + name generator_servo ; + filename ./control/generator_servo.dll ; + dll_subroutine_init init_generator_servo ; + dll_subroutine_update update_generator_servo ; + arraysizes_init 7 1 ; + arraysizes_update 4 8 ; + begin init ; + constant 1 20.0 ; Frequency of 2nd order servo model of generator-converter system [Hz] + constant 2 0.9 ; Damping ratio 2nd order servo model of generator-converter system [-] + constant 3 15.6E+06 ; Maximum allowable LSS torque (pull-out torque) [Nm] + constant 4 0.94 ; Generator efficiency [-] + constant 5 1.0 ; Gearratio [-] + constant 6 0.0 ; Time for half value in softstart of torque [s] + constant 7 5000 ; Time for grid loss [s] + end init ; +; + begin output; + general time ; Time [s] + dll inpvec 1 1 ; Electrical torque reference [Nm] + constraint bearing1 shaft_rot 1 only 2; Generator LSS speed [rad/s] + mbdy momentvec shaft 1 1 shaft only 3 ; Shaft moment [kNm] (Qshaft) + end output; +; + begin actions; + mbdy moment_int shaft 1 -3 shaft towertop 2 ; Generator LSS torque [Nm] + end actions; + end type2_dll; +; + begin type2_dll; + name mech_brake ; + filename ./control/mech_brake.dll ; + dll_subroutine_init init_mech_brake ; + dll_subroutine_update update_mech_brake ; + arraysizes_init 7 1 ; + arraysizes_update 4 6 ; + begin init ; + constant 1 5225.35 ; Fully deployed maximum brake torque [Nm] (0.6*max torque) + constant 2 100.0 ; Parameter alpha used in Q = tanh(omega*alpha), typically 1e2/Omega_nom + constant 3 0.5 ; Delay time for before brake starts to deploy [s] + constant 4 0.74 ; Time for brake to become fully deployed [s] + end init ; +; + begin output; + general time ; Time [s] + constraint bearing1 shaft_rot 1 only 2 ; Generator LSS speed [rad/s] + dll inpvec 1 25 ; Command to deploy mechanical disc brake [0,1] + end output; +; + begin actions; + mbdy moment_int shaft 1 -3 shaft towertop 2 ; Generator LSS torque [Nm] + end actions; + end type2_dll; +; + begin type2_dll; + name servo_with_limits ; + filename ./control/servo_with_limits.dll ; + dll_subroutine_init init_servo_with_limits ; + dll_subroutine_update update_servo_with_limits ; + arraysizes_init 10 1 ; + arraysizes_update 5 9 ; + begin init ; + constant 1 3 ; Number of blades [-] + constant 2 1.0 ; Frequency of 2nd order servo model of pitch system [Hz] + constant 3 0.7 ; Damping ratio 2nd order servo model of pitch system [-] + constant 4 10.0 ; Max. pitch speed [deg/s] + constant 5 15.0 ; Max. pitch acceleration [deg/s^2] + constant 6 -5.0 ; Min. pitch angle [deg] + constant 7 90.0 ; Max. pitch angle [deg] + constant 8 5000 ; Time for pitch runaway [s] + constant 9 -1 ; Time for stuck blade 1 [s] + constant 10 0 ; Angle of stuck blade 1 [deg] + end init ; + begin output; + general time ; Time [s] + dll inpvec 1 2 ; Pitch1 demand angle [rad] + dll inpvec 1 3 ; Pitch2 demand angle [rad] + dll inpvec 1 4 ; Pitch3 demand angle [rad] + dll inpvec 1 26 ; Flag for emergency pitch stop [0=off/1=on] + end output; +; + begin actions; + constraint bearing2 angle pitch1 ; Angle pitch1 bearing [rad] + constraint bearing2 angle pitch2 ; Angle pitch2 bearing [rad] + constraint bearing2 angle pitch3 ; Angle pitch3 bearing [rad] + end actions; + end type2_dll; +; +; --- DLL for tower-blade tip distance -- ; + begin type2_dll; + name disttowtip ; + filename ./control/towclearsens.dll ; + dll_subroutine_init initialize ; + dll_subroutine_update update ; + arraysizes_init 1 1 ; + arraysizes_update 12 4 ; + begin init ; + constant 1 3.87 ; Tower radius close to downward blade tip [m] + end init ; + begin output; + mbdy state pos tower 5 0.00 global ; [1,2,3]. Tower position: 24.58 m + mbdy state pos blade1 26 1.0 global ; [4,5,6] + mbdy state pos blade2 26 1.0 global ; [7,8,9] + mbdy state pos blade3 26 1.0 global ; [10,11,12] + end output; + end type2_dll; +end dll; +; +;---------------------------------------------------------------------------------------------------------------------------------------------------------------- +; +begin output; + filename ./res/dlc01_demos/dlc01_steady_wsp8_noturb ; + time 20 40 ; + data_format hawc_binary; + buffer 1 ; +; + general time; + constraint bearing1 shaft_rot 2; angle and angle velocity + constraint bearing2 pitch1 5; angle and angle velocity + constraint bearing2 pitch2 5; angle and angle velocity + constraint bearing2 pitch3 5; angle and angle velocity + aero omega ; + aero torque; + aero power; + aero thrust; + wind free_wind 1 0.0 0.0 -127; local wind at fixed position: coo (1=global,2=non-rotation rotor coo.), pos x, pos y, pos z + ; non rotating coordinates shaft tip: equivalent to stationary hub in BLADED + mbdy momentvec shaft 3 2 shaft_nonrotate # non rotating shaft tip ; + mbdy forcevec shaft 3 2 shaft_nonrotate # non rotating shaft tip ; + ; Moments: + mbdy momentvec tower 1 1 tower # tower base ; + mbdy momentvec tower 19 2 tower # tower yaw bearing ; + mbdy momentvec shaft 4 1 shaft # main bearing ; + mbdy momentvec blade1 3 2 blade1 # blade 1 root ; + mbdy momentvec blade2 3 2 blade2 # blade 2 root ; + mbdy momentvec blade3 3 2 blade3 # blade 3 root ; + ; blade 2,3 root section loads + mbdy momentvec blade2 3 2 local # blade 2 section root; + mbdy momentvec blade3 3 2 local # blade 3 section root; + ; blade 1 sectional loads in local coordinates + mbdy momentvec blade1 2 2 local # blade 1 section; + mbdy momentvec blade1 3 2 local # blade 1 section root; + mbdy momentvec blade1 4 2 local # blade 1 section; + mbdy momentvec blade1 5 2 local # blade 1 section; + mbdy momentvec blade1 6 2 local # blade 1 section; + mbdy momentvec blade1 7 2 local # blade 1 section; + mbdy momentvec blade1 8 2 local # blade 1 section; + mbdy momentvec blade1 9 2 local # blade 1 section; + mbdy momentvec blade1 10 2 local # blade 1 section; + mbdy momentvec blade1 11 2 local # blade 1 section; + mbdy momentvec blade1 12 2 local # blade 1 section; + mbdy momentvec blade1 13 2 local # blade 1 section; + mbdy momentvec blade1 14 2 local # blade 1 section; + mbdy momentvec blade1 15 2 local # blade 1 section; + mbdy momentvec blade1 16 2 local # blade 1 section; + mbdy momentvec blade1 17 2 local # blade 1 section; + mbdy momentvec blade1 18 2 local # blade 1 section; + mbdy momentvec blade1 19 2 local # blade 1 section; + mbdy momentvec blade1 20 2 local # blade 1 section; + mbdy momentvec blade1 21 2 local # blade 1 section; + mbdy momentvec blade1 22 2 local # blade 1 section; + mbdy momentvec blade1 23 2 local # blade 1 section; + mbdy momentvec blade1 24 2 local # blade 1 section; + mbdy momentvec blade1 25 2 local # blade 1 section; + mbdy momentvec blade1 26 2 local # blade 1 section; + ; blade root out and in of plane forces + mbdy momentvec blade1 3 2 hub1 # blade 1 root ; + mbdy momentvec blade2 3 2 hub2 # blade 2 root ; + mbdy momentvec blade3 3 2 hub3 # blade 3 root ; +; mbdy momentvec blade1 14 1 local # blade 1 50% local e coo ; +; mbdy momentvec blade2 14 1 local # blade 2 50% local e coo ; +; mbdy momentvec blade3 14 1 local # blade 3 50% local e coo ; + ; Displacements and accellerations + mbdy state pos tower 19 1.0 global only 1 # Tower top FA displ; + mbdy state pos tower 19 1.0 global only 2 # Tower top SS displ; + mbdy state acc tower 19 1.0 global only 1 # Tower top FA acc; + mbdy state acc tower 19 1.0 global only 2 # Tower top SS acc; +; + mbdy state pos blade1 26 1.0 global # gl blade 1 tip pos ; + mbdy state pos blade2 26 1.0 global # gl blade 2 tip pos ; + mbdy state pos blade3 26 1.0 global # gl blade 3 tip pos ; + mbdy state pos blade1 26 1.0 blade1 # blade 1 tip pos ; + mbdy state pos blade2 26 1.0 blade2 # blade 2 tip pos ; + mbdy state pos blade3 26 1.0 blade3 # blade 3 tip pos ; +; + mbdy state pos tower 5 0.00 global ; [1,2,3]. Tower position: 24.58 m +; + ; elastic twist (torsional deformation) along the blade + aero tors_ang 1 45.56; + aero tors_ang 1 59.19; + aero tors_ang 1 70.87; + aero tors_ang 1 80.61; + aero tors_ang 1 84.50; + aero tors_ang 1 88.40; + aero tors_ang 1 92.29; + aero tors_ang 1 96.19; + aero tors_ang 1 98.13; + aero tors_ang 1 100.08; tip +; +; - Monitor Aerodynamics - ; + aero windspeed 3 1 1 72.5; + aero alfa 1 72.5; + aero alfa 2 72.5; + aero alfa 3 72.5; + aero cl 1 72.5; + aero cl 2 72.5; + aero cl 3 72.5; + aero cd 1 72.5; + aero cd 2 72.5; + aero cd 3 72.5; +; - Main Controller - +; Output to controller + ; dll outvec 1 1 # time; + ; dll outvec 1 2 # slow speed shaft rad/s; + ; dll outvec 1 3 # pitch angle 1; + ; dll outvec 1 4 # pitch angle 2; + ; dll outvec 1 5 # pitch angle 3; + ; dll outvec 1 6 # WSP_x_global; + ; dll outvec 1 7 # WSP_y_global; + ; dll outvec 1 8 # WSP_z_global; + ; dll outvec 1 9 # Elec. pwr ; + ; dll outvec 1 10 # Grid flag ; +; Input from controller + dll inpvec 1 1 # Generator torque reference [Nm] ; + dll inpvec 1 2 # Pitch angle reference of blade 1 [rad] ; + dll inpvec 1 3 # Pitch angle reference of blade 2 [rad] ; + dll inpvec 1 4 # Pitch angle reference of blade 3 [rad] ; + ; dll inpvec 1 5 # Power reference [W] ; + ; dll inpvec 1 6 # Filtered wind speed [m/s] ; + ; dll inpvec 1 7 # Filtered rotor speed [rad/s]; + ; dll inpvec 1 8 # Filtered rotor speed error for torque [rad/s]; + ; dll inpvec 1 9 # Bandpass filtered rotor speed [rad/s]; + ; dll inpvec 1 10 # Proportional term of torque contr. [Nm] ; + ; dll inpvec 1 11 # Integral term of torque controller [Nm] ; + ; dll inpvec 1 12 # Minimum limit of torque [Nm] ; + ; dll inpvec 1 13 # Maximum limit of torque [Nm] ; + dll inpvec 1 14 # Torque limit switch based on pitch [-] ; + ; dll inpvec 1 15 # Filtered rotor speed error for pitch [rad/s]; + ; dll inpvec 1 16 # Power error for pitch [W] ; + ; dll inpvec 1 17 # Proportional term of pitch controller [rad] ; + ; dll inpvec 1 18 # Integral term of pitch controller [rad] ; + ; dll inpvec 1 19 # Minimum limit of pitch [rad] ; + ; dll inpvec 1 20 # Maximum limit of pitch [rad] ; + dll inpvec 1 21 # Torque reference from DT dammper [Nm] ; + dll inpvec 1 22 # Status signal [-] ; + ; dll inpvec 1 23 # Total added pitch rate [rad/s] ; + dll inpvec 1 24 # Filtered Mean pitch for gain sch [rad] ; + dll inpvec 1 25 # Flag for mechnical brake [0=off/1=on] ; + dll inpvec 1 26 # Flag for emergency pitch stop [0=off/1=on] ; + dll inpvec 1 27 # LP filtered acceleration level [m/s^2] ; +; ; Output to generator model + ; dll outvec 2 1 # time ; + ; dll outvec 2 2 # Electrical torque reference [Nm] ; + ; dll outvec 2 3 # omega LSS ; +; Input from generator model + dll inpvec 2 1 # Mgen LSS [Nm]; + dll inpvec 2 2 # Pelec W ; + dll inpvec 2 3 # Mframe ; + dll inpvec 2 4 # Mgen HSS ; + dll inpvec 2 5 # Generator Pmech kW ; + dll inpvec 2 6 # Filtered Gen speed ; + dll inpvec 2 7 # Resulting Eff ; + dll inpvec 2 8 # Grid flag ; +; Output to mechanical brake + dll inpvec 3 1 # Brake torque [Nm] ; +; ; Input from mechanical brake + ; dll outvec 3 1 # Time [s] ; + ; dll outvec 3 2 # Generator LSS speed [rad/s] ; + ; dll outvec 3 3 # Deploy brake ; +; ; Output to pitch servo + ; dll outvec 4 1 # time; + ; dll outvec 4 2 # pitchref 1; + ; dll outvec 4 3 # pitchref 2; + ; dll outvec 4 4 # pitchref 3; + ; dll outvec 4 5 # Emerg. stop; +; Input from pitch servo + dll inpvec 4 1 # pitch 1; + dll inpvec 4 2 # pitch 2; + dll inpvec 4 3 # pitch 3; +; Check tower clearence + dll inpvec 5 1 # Bltip tow min d [m]; +; general constant 1.0 ; constant 1.0 - to mesure activity of flap in terms of displacement +; - Check on flap control: + ; ; - From flap controller: - + ; dll type2_dll cyclic_flap_controller inpvec 1 # Ref flap signal bl 1 [deg] ; + ; dll type2_dll cyclic_flap_controller inpvec 2 # Ref flap signal bl 2 [deg] ; + ; dll type2_dll cyclic_flap_controller inpvec 3 # Ref flap signal bl 3 [deg] ; + ; ; - Mbc values + ; dll type2_dll cyclic_flap_controller inpvec 4 # momvec mbc cos [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 5 # momvec mbc sin [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 6 # momvec mbc filt cos [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 7 # momvec mbc filt sin [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 8 # flap mbc cos [deg] ; + ; dll type2_dll cyclic_flap_controller inpvec 9 # flap mbc sin [deg] ; + ; ; - Check Gains - ; + ; dll type2_dll cyclic_flap_controller inpvec 10 # lead angle [deg] ; + ; dll type2_dll cyclic_flap_controller inpvec 11 # scaling on rat pow [-] ; + ; dll type2_dll cyclic_flap_controller inpvec 12 # actual kp [deg/kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 13 # actual ki [deg/kNms] ; + ; dll type2_dll cyclic_flap_controller inpvec 14 # actual kd [deg s/kNm] ; + ; ; - Actual deflections - + ; aero beta 1 1 ; + ; aero beta 2 1 ; + ; aero beta 3 1 ; + ; ; - Mbc values + ; dll type2_dll cyclic_flap_controller inpvec 4 # momvec mbc cos [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 5 # momvec mbc sin [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 6 # momvec mbc filt cos [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 7 # momvec mbc filt sin [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 8 # flap mbc cos [deg] ; + ; dll type2_dll cyclic_flap_controller inpvec 9 # flap mbc sin [deg] ; +end output; +; +exit; diff --git a/wetb/prepost/tests/data/demo_dlc/ref/htc/dlc01_demos/dlc01_steady_wsp9_noturb.htc b/wetb/prepost/tests/data/demo_dlc/ref/htc/dlc01_demos/dlc01_steady_wsp9_noturb.htc new file mode 100644 index 0000000000000000000000000000000000000000..537e8ef73085b26598c46f2986c11fc8ad738464 --- /dev/null +++ b/wetb/prepost/tests/data/demo_dlc/ref/htc/dlc01_demos/dlc01_steady_wsp9_noturb.htc @@ -0,0 +1,850 @@ +;this version was at some point based on: Avatar_10MW_RWT version 1, 06-08-14, Anyd +begin simulation; + time_stop 40; + solvertype 1 ; (newmark) + on_no_convergence continue ; +; convergence_limits 1E3 1.0 1E-7 ; + logfile ./logfiles/dlc01_demos/dlc01_steady_wsp9_noturb.log ; + begin newmark; + deltat 0.02; + end newmark; +end simulation; +; +;---------------------------------------------------------------------------------------------------------------------------------------------------------------- +begin new_htc_structure; +;-------------------------------------------------------------------------------------------------- +; beam_output_file_name ./res_eigen/dlc01_demos/dlc01_steady_wsp9_noturb/dlc01_steady_wsp9_noturb_beam.dat; +; body_output_file_name ./res_eigen/dlc01_demos/dlc01_steady_wsp9_noturb/dlc01_steady_wsp9_noturb_body.dat; +; struct_inertia_output_file_name ./res_eigen/dlc01_demos/dlc01_steady_wsp9_noturb/dlc01_steady_wsp9_noturb_struct.dat; +; body_eigenanalysis_file_name ./res_eigen/dlc01_demos/dlc01_steady_wsp9_noturb/dlc01_steady_wsp9_noturb_body_eigen.dat; +; structure_eigenanalysis_file_name ./res_eigen/dlc01_demos/dlc01_steady_wsp9_noturb/dlc01_steady_wsp9_noturb_strc_eigen.dat; +;--------------------------------------------------------------------------------------------------- + begin main_body; tower 123.6m + name tower ; + type timoschenko ; + nbodies 3 ; + node_distribution c2_def ; + damping_posdef 0 0 0 4.7E-03 4.7E-03 4.3E-04 ; tuned by Anyd 12/8/14 + begin timoschenko_input; + filename ./data/AVATAR_10MW_RWT_tower_st.dat; + set 1 1 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 20; + sec 1 0 0 0.000 0 ; x,y,z,twist + sec 2 0 0 -12.293 0 ; + sec 3 0 0 -12.294 0 ; + sec 4 0 0 -24.585 0 ; + sec 5 0 0 -24.586 0 ; + sec 6 0 0 -36.878 0 ; + sec 7 0 0 -36.879 0 ; + sec 8 0 0 -49.171 0 ; + sec 9 0 0 -49.172 0 ; + sec 10 0 0 -61.463 0 ; + sec 11 0 0 -61.464 0 ; + sec 12 0 0 -73.756 0 ; + sec 13 0 0 -73.757 0 ; + sec 14 0 0 -86.049 0 ; + sec 15 0 0 -86.050 0 ; + sec 16 0 0 -98.341 0 ; + sec 17 0 0 -98.342 0 ; + sec 18 0 0 -110.634 0 ; + sec 19 0 0 -110.635 0 ; + sec 20 0 0 -123.600 0 ; + end c2_def ; + end main_body; +; + begin main_body; + name towertop ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 7.50E-03 7.40E-03 7.00E-03 7.00E-03 7.00E-03 7.00E-03 ; "changed by Anyd + concentrated_mass 2.0 0.0 2.6870E+00 3.0061E-01 4.4604E+05 4.1060E+06 4.1060E+05 4.1060E+06 ; Nacel + begin timoschenko_input; + filename ./data/DTU_10MW_RWT_Towertop_st.dat ; + set 1 2 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 2; + sec 1 0.0 0.0 0.0 0.0 ; x,y,z,twist + sec 2 0.0 0.0 -2.75 0.0 ; + end c2_def ; + end main_body; +; + begin main_body; + name shaft ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; +; damping_posdef 8.00E-3 8.00E-03 8.00E-02 4.65E-04 4.65E-04 2.38E-02 ; "tuned by Anyd 22/2/13 + damping_posdef 0.0 0.0 3.983E-03 4.65E-04 4.65E-04 3.983E-03 ; "tuned by Anyd 23/5/13 to 31.45 l + concentrated_mass 1.0 0.0 0.0 0.0 0.0 0.0 0.0 3.751E+06 ; generator equivalent slow shaft "re_tu + concentrated_mass 5.0 0.0 0.0 0.0 1.0552E+05 0.0 0.0 3.257E+05 ; hub mass and inertia; "re_tuned + begin timoschenko_input; + filename ./data/DTU_10MW_RWT_Shaft_st.dat ; + set 1 1 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 5; + sec 1 0.0 0.0 0.0 0.0 ; Tower top x,y,z,twist + sec 2 0.0 0.0 1.5 0.0 ; + sec 3 0.0 0.0 3.0 0.0 ; + sec 4 0.0 0.0 4.4 0.0 ; Main bearing + sec 5 0.0 0.0 7.1 0.0 ; Rotor centre + end c2_def ; + end main_body; +; + begin main_body; + name shaft_nonrotate ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 0.00E+00 0.00E+00 0.00E+00 1.0E-01 1.0E-01 1.0E-01 ; + begin timoschenko_input; + filename ./data/DTU_10MW_RWT_Shaft_st.dat ; + set 1 3; dummy light and stiff structure + end timoschenko_input; + begin c2_def; + nsec 2; + sec 1 0.0 0.0 0.0 0.0 ; + sec 2 0.0 0.0 0.1 0.0 ; + end c2_def; + end main_body; +; + begin main_body; + name hub1 ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 2.00E-05 2.00E-05 2.00E-04 3.00E-06 3.00E-06 2.00E-05; + begin timoschenko_input; + filename ./data/DTU_10MW_RWT_Hub_st.dat ; + set 1 2 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 2; + sec 1 0.0 0.0 0.0 0.0 ; x,y,z,twist + sec 2 0.0 0.0 2.8 0.0 ; + end c2_def ; + end main_body; +; + begin main_body; + name hub2 ; + copy_main_body hub1; + end main_body; +; + begin main_body; + name hub3 ; + copy_main_body hub1 ; + end main_body; +; + begin main_body; + name blade1 ; + type timoschenko ; + nbodies 10 ; + node_distribution c2_def; +; damping_posdef 0.0 0.0 0.0 2.5e-3 8.9e-4 3.2e-4 ; "Tuned by Anyd" +; damping_posdef 0.0 0.0 0.0 1.5e-3 2.45e-3 3.2e-4 ; " 3% damping tuned by Anyd 20/02/12 unable to +; damping_posdef 0.0 0.0 0.0 2.1e-3 1.9e-3 1.3e-4 ; " 3% damping tuned by Anyd 15/08/14 rev2 + damping_posdef 0.0 0.0 0.0 1.68e-3 2.25e-3 1.0e-4 ; " 3% damping tuned by Anyd 16/12/14 + begin timoschenko_input ; + filename ./data/AVATAR_10MW_RWT_Blade_st.dat ; + set 1 9 ; + end timoschenko_input; + begin c2_def; + nsec 27 ; + sec 1 -0.001 -0.001 0.000 -17.280 ; + sec 2 -0.005 -0.001 2.220 -17.280 ; + sec 3 -0.006 -0.000 4.440 -17.280 ; + sec 4 -0.086 0.022 6.660 -17.280 ; + sec 5 -0.231 0.069 11.039 -17.273 ; + sec 6 -0.447 0.121 15.418 -16.441 ; + sec 7 -0.690 0.161 19.797 -14.613 ; + sec 8 -0.812 0.162 24.176 -12.578 ; + sec 9 -0.891 0.158 28.555 -10.588 ; + sec 10 -0.865 0.124 32.934 -9.070 ; + sec 11 -0.833 0.112 37.313 -8.224 ; + sec 12 -0.797 0.102 41.692 -7.688 ; + sec 13 -0.760 0.093 46.071 -7.205 ; + sec 14 -0.721 0.083 50.450 -6.749 ; + sec 15 -0.683 0.075 54.829 -6.288 ; + sec 16 -0.644 0.066 59.208 -5.838 ; + sec 17 -0.606 0.058 63.587 -5.401 ; + sec 18 -0.567 0.050 67.966 -4.982 ; + sec 19 -0.529 0.044 72.345 -4.640 ; + sec 20 -0.492 0.037 76.724 -4.380 ; + sec 21 -0.456 0.032 81.103 -4.144 ; + sec 22 -0.422 0.026 85.482 -3.914 ; + sec 23 -0.392 0.021 89.861 -3.685 ; + sec 24 -0.346 0.014 94.240 -3.460 ; + sec 25 -0.307 0.010 96.190 -3.350 ; + sec 26 -0.249 0.005 98.130 -3.250 ; + sec 27 -0.089 0.006 100.080 -3.140 ; + end c2_def ; + end main_body; +; + begin main_body; + name blade2 ; + copy_main_body blade1; + end main_body; +; + begin main_body; + name blade3 ; + copy_main_body blade1 ; + end main_body; +;------------------------------------------------------------------------------------------------------------------------------- +; + begin orientation; + begin base; + body tower; + inipos 0.0 0.0 0.0 ; initial position of node 1 + body_eulerang 0.0 0.0 0.0; + end base; +; + begin relative; + body1 tower last; + body2 towertop 1; + body2_eulerang 0.0 0.0 0.0; + end relative; +; + begin relative; + body1 towertop last; + body2 shaft 1; + body2_eulerang 90.0 0.0 0.0; + body2_eulerang 5.0 0.0 0.0; 5 deg tilt angle + body2_eulerang 0.0 0.0 0; + mbdy2_ini_rotvec_d1 0.0 0.0 -1.0 0.5 ; mbdy2_ini_rotvec_d1 0.0 0.0 -1.0 0.5; + end relative; +; + begin relative; dummy non rotating hub coordinates + body1 towertop last; + body2 shaft_nonrotate 1; + body2_eulerang 90.0 0.0 0.0; + body2_eulerang 5.0 0.0 0.0; same 5 deg tilt angle as real shaft + end relative; +; + begin relative; + body1 shaft last; + body2 hub1 1; + body2_eulerang -90.0 0.0 0.0; + body2_eulerang 0.0 180.0 0.0; + body2_eulerang 2.5 0.0 0.0; 2.5deg cone angle + end relative; +; + begin relative; + body1 shaft last; + body2 hub2 1; + body2_eulerang -90.0 0.0 0.0; + body2_eulerang 0.0 60.0 0.0; + body2_eulerang 2.5 0.0 0.0; 2.5deg cone angle + end relative; +; + begin relative; + body1 shaft last; + body2 hub3 1; + body2_eulerang -90.0 0.0 0.0; + body2_eulerang 0.0 -60.0 0.0; + body2_eulerang 2.5 0.0 0.0; 2.5deg cone angle + end relative; +; + begin relative; + body1 hub1 last; + body2 blade1 1; + body2_eulerang 0.0 0.0 0; + end relative; +; + begin relative; + body1 hub2 last; + body2 blade2 1; + body2_eulerang 0.0 0.0 0.0; + end relative; +; + begin relative; + body1 hub3 last; + body2 blade3 1; + body2_eulerang 0.0 0.0 0.0; + end relative; +; + end orientation; +;------------------------------------------------------------------------------------------------------------------------------- +begin constraint; +; + begin fix0; fixed to ground in translation and rotation of node 1 + body tower; + end fix0; +; + begin fix1; + body1 tower last ; + body2 towertop 1; + end fix1; +; + begin bearing1; free bearing + name shaft_rot; + body1 towertop last; + body2 shaft 1; + bearing_vector 2 0.0 0.0 -1.0; x=coo (0=global.1=body1.2=body2) vector in body2 coordinates where the free rotation is present + end bearing1; +; +; begin bearing3; free bearing +; name shaft_rot; +; body1 towertop last; +; body2 shaft 1; +; bearing_vector 2 0.0 0.0 -1.0; x=coo (0=global.1=body1.2=body2) vector in body2 coordinates where the free rotation is present +; omegas 0.0 ; +; end bearing3; +; + begin fix1; + body1 tower last ; + body2 shaft_nonrotate 1; + end fix1; +; + begin fix1; + body1 shaft last ; + body2 hub1 1; + end fix1; +; + begin fix1; + body1 shaft last ; + body2 hub2 1; + end fix1; +; + begin fix1; + body1 shaft last ; + body2 hub3 1; + end fix1; +; + begin bearing2; + name pitch1; + body1 hub1 last; + body2 blade1 1; + bearing_vector 2 0.0 0.0 -1.0; + end bearing2; +; + begin bearing2; + name pitch2; + body1 hub2 last; + body2 blade2 1; + bearing_vector 2 0.0 0.0 -1.0; + end bearing2; +; + begin bearing2; + name pitch3; + body1 hub3 last; + body2 blade3 1; + bearing_vector 2 0.0 0.0 -1.0; + end bearing2; +end constraint; +; +end new_htc_structure; +;---------------------------------------------------------------------------------------------------------------------------------------------------------------- +begin wind ; + density 1.225 ; + wsp 9 ; + tint 0.219555555556 ; + horizontal_input 1 ; + windfield_rotations 0 8.0 0.0 ; yaw, tilt (positive=upflow=wind coming from below), rotation + center_pos0 0.0 0.0 -127 ; hub heigth + shear_format 3 0 ; + turb_format 0 ; 0=none, 1=mann,2=flex + tower_shadow_method 3 ; 0=none, 1=potential flow, 2=jet + scale_time_start 20 ; + wind_ramp_factor 0.0 20 0.888888888889 1.0 ; + ; iec_gust ; +; +; wind_ramp_abs 400.0 401.0 0.0 1.0 ; wsp. after the step: 5.0 +; wind_ramp_abs 501.0 502.0 0.0 1.0 ; wsp. after the step: 6.0 +; wind_ramp_abs 602.0 603.0 0.0 1.0 ; wsp. after the step: 7.0 +; wind_ramp_abs 703.0 704.0 0.0 1.0 ; wsp. after the step: 8.0 +; wind_ramp_abs 804.0 805.0 0.0 1.0 ; wsp. after the step: 9.0 +; wind_ramp_abs 905.0 906.0 0.0 1.0 ; wsp. after the step: 10.0 +; wind_ramp_abs 1006.0 1007.0 0.0 1.0 ; wsp. after the step: 11.0 +; wind_ramp_abs 1107.0 1108.0 0.0 1.0 ; wsp. after the step: 12.0 +; wind_ramp_abs 1208.0 1209.0 0.0 1.0 ; wsp. after the step: 13.0 +; wind_ramp_abs 1309.0 1310.0 0.0 1.0 ; wsp. after the step: 14.0 +; wind_ramp_abs 1410.0 1411.0 0.0 1.0 ; wsp. after the step: 15.0 +; wind_ramp_abs 1511.0 1512.0 0.0 1.0 ; wsp. after the step: 16.0 +; wind_ramp_abs 1612.0 1613.0 0.0 1.0 ; wsp. after the step: 17.0 +; wind_ramp_abs 1713.0 1714.0 0.0 1.0 ; wsp. after the step: 18.0 +; wind_ramp_abs 1814.0 1815.0 0.0 1.0 ; wsp. after the step: 19.0 +; wind_ramp_abs 1915.0 1916.0 0.0 1.0 ; wsp. after the step: 20.0 +; wind_ramp_abs 2016.0 2017.0 0.0 1.0 ; wsp. after the step: 21.0 +; wind_ramp_abs 2117.0 2118.0 0.0 1.0 ; wsp. after the step: 22.0 +; wind_ramp_abs 2218.0 2219.0 0.0 1.0 ; wsp. after the step: 23.0 +; wind_ramp_abs 2319.0 2320.0 0.0 1.0 ; wsp. after the step: 24.0 +; wind_ramp_abs 2420.0 2421.0 0.0 1.0 ; wsp. after the step: 25.0 + ; +; wind_ramp_abs 400.0 2200.0 0.0 21.0 ; wsp. after the step: 25.0 +; wind_ramp_abs 2400.0 4200.0 0.0 -21.0 ; wsp. after the step: 25.0 + ; + begin mann ; + create_turb_parameters 29.4 1.0 3.9 0 1.0 ; L, alfaeps, gamma, seed, highfrq compensation + filename_u ./turb/noneu.bin ; + filename_v ./turb/nonev.bin ; + filename_w ./turb/nonew.bin ; + box_dim_u 8192 0.0439453125 ; + box_dim_v 32 7.5; + box_dim_w 32 7.5; + std_scaling 1.0 0.7 0.5 ; + end mann ; +; + begin tower_shadow_potential_2; + tower_mbdy_link tower; + nsec 2; + radius 0.0 4.15 ; + radius 123.6 2.75 ; (radius) + end tower_shadow_potential_2; +end wind; +; +begin aerodrag ; + begin aerodrag_element ; + mbdy_name tower; + aerodrag_sections uniform 10 ; + nsec 2 ; + sec 0.0 0.6 8.3 ; tower bottom + sec 123.6 0.6 5.5 ; tower top (diameter) + end aerodrag_element; +; + begin aerodrag_element ; Nacelle drag side + mbdy_name shaft; + aerodrag_sections uniform 2 ; + nsec 2 ; + sec 0.0 0.8 10.0 ; + sec 7.01 0.8 10.0 ; + end aerodrag_element; +end aerodrag; +; +begin aero ; + nblades 3; + hub_vec shaft -3 ; rotor rotation vector (normally shaft composant directed from pressure to sustion side) + link 1 mbdy_c2_def blade1; + link 2 mbdy_c2_def blade2; + link 3 mbdy_c2_def blade3; + ae_filename ./data/AVATAR_10MW_RWT_ae.dat ; + pc_filename ./data/AVATAR_10MW_RWT_pc_hama_v1.dat ; + induction_method 1 ; 0=none, 1=normal + aerocalc_method 1 ; 0=ingen aerodynamic, 1=med aerodynamic + aero_distribution ae_file 1 ; + ae_sets 1 1 1; + tiploss_method 1 ; 0=none, 1=prandtl + dynstall_method 2 ; 0=none, 1=stig øye method,2=mhh method +; +; ; --- Flaps --- ; + ; begin dynstall_ateflap ; + ; Ais 0.165 0.335 0.0 ; + ; Bis 0.0455 0.30 0.30 ; + ; flap 59.5925 85.5023 ./data/Flap_dturwt1_Thk24.ds ; Flap Sec: 1 + ; end dynstall_ateflap; +end aero ; +;------------------------------------------------------------------------------------------------- +begin dll; +; + begin type2_dll; + name risoe_controller ; + filename ./control/risoe_controller.dll ; + dll_subroutine_init init_regulation ; + dll_subroutine_update update_regulation ; + arraysizes_init 52 1 ; + arraysizes_update 12 100 ; + begin init ; + ; Overall parameters + constant 1 10000.0 ; Rated power [kW] + constant 2 0.628 ; Minimum rotor speed [rad/s] + constant 3 1.005 ; Rated rotor speed [rad/s] + constant 4 15.6E+06 ; Maximum allowable generator torque [Nm] + constant 5 100.0 ; Minimum pitch angle, theta_min [deg], + ; if |theta_min|>90, then a table of <wsp,theta_min> is read ; + ; from a file named 'wpdata.n', where n=int(theta_min) + constant 6 90.0 ; Maximum pitch angle [deg] + constant 7 10.0 ; Maximum pitch velocity operation [deg/s] + constant 8 0.4 ; Frequency of generator speed filter [Hz] + constant 9 0.7 ; Damping ratio of speed filter [-] + constant 10 1.64 ; Frequency of free-free DT torsion mode [Hz], if zero no notch filter used + ; Partial load control parameters + constant 11 0.9648030e+07 ; Optimal Cp tracking K factor [Nm/(rad/s)^2], ; + ; Qg=K*Omega^2, K=eta*0.5*rho*A*Cp_opt*R^3/lambda_opt^3 + constant 12 1.047610E+08 ; Proportional gain of torque controller [Nm/(rad/s)] + constant 13 0.153367E+08 ; Integral gain of torque controller [Nm/rad] + constant 14 0.0 ; Differential gain of torque controller [Nm/(rad/s^2)] +; Full load control parameters + constant 15 1 ; Generator control switch [1=constant power, 2=constant torque] + constant 16 0.762489 ; Proportional gain of pitch controller [rad/(rad/s)] + constant 17 0.224086 ; Integral gain of pitch controller [rad/rad] + constant 18 0.0 ; Differential gain of pitch controller [rad/(rad/s^2)] + constant 19 0.4e-9 ; Proportional power error gain [rad/W] + constant 20 0.4e-9 ; Integral power error gain [rad/(Ws)] + constant 21 10.6824 ; Coefficient of linear term in aerodynamic gain scheduling, KK1 [deg] + constant 22 601.25499 ; Coefficient of quadratic term in aerodynamic gain scheduling, KK2 [deg^2] & + ; (if zero, KK1 = pitch angle at double gain) + constant 23 1.3 ; Relative speed for double nonlinear gain [-] +; Cut-in simulation parameters + constant 24 -1 ; Cut-in time [s] + constant 25 1.0 ; Time delay for soft start of torque [1/1P] +; Cut-out simulation parameters + constant 26 -1 ; Cut-out time [s] + constant 27 5.0 ; Time constant for linear torque cut-out [s] + constant 28 1 ; Stop type [1=normal, 2=emergency] + constant 29 1.0 ; Time delay for pitch stop after shut-down signal [s] + constant 30 3 ; Maximum pitch velocity during initial period of stop [deg/s] + constant 31 3.0 ; Time period of initial pitch stop phase [s] (maintains pitch speed specified in constant 30) + constant 32 4 ; Maximum pitch velocity during final phase of stop [deg/s] +; Expert parameters (keep default values unless otherwise given) + constant 33 2.0 ; Lower angle above lowest minimum pitch angle for switch [deg] + constant 34 2.0 ; Upper angle above lowest minimum pitch angle for switch [deg], if equal then hard switch + constant 35 95.0 ; Ratio between filtered speed and reference speed for fully open torque limits [%] + constant 36 2.0 ; Time constant of 1st order filter on wind speed used for minimum pitch [1/1P] + constant 37 1.0 ; Time constant of 1st order filter on pitch angle used for gain scheduling [1/1P] +; Drivetrain damper + constant 38 0.0 ; Proportional gain of active DT damper [Nm/(rad/s)], requires frequency in input 10 +; Over speed + constant 39 25.0 ; Overspeed percentage before initiating turbine controller alarm (shut-down) [%] +; Additional non-linear pitch control term (not used when all zero) + constant 40 0.0 ; Err0 [rad/s] + constant 41 0.0 ; ErrDot0 [rad/s^2] + constant 42 0.0 ; PitNonLin1 [rad/s] +; Storm control command + constant 43 28.0 ; Wind speed 'Vstorm' above which derating of rotor speed is used [m/s] + constant 44 28.0 ; Cut-out wind speed (only used for derating of rotor speed in storm) [m/s] +; Safety system parameters + constant 45 25.0 ; Overspeed percentage before initiating safety system alarm (shut-down) [%] + constant 46 1.5 ; Max low-pass filtered tower top acceleration level [m/s^2] - max in DLC 1.3=1.1 m/s^2 +; Turbine parameter + constant 47 205.8 ; Nominal rotor diameter [m] +; Parameters for rotor inertia reduction in variable speed region + constant 48 0.0 ; Proportional gain on rotor acceleration in variable speed region [Nm/(rad/s^2)] (not used when zero) +; Parameters for alternative partial load controller with PI regulated TSR tracking + constant 49 0.0 ; Optimal tip speed ratio [-] (only used when K=constant 11 = 0 otherwise Qg=K*Omega^2 is used) +; Parameters for adding aerodynamic drivetrain damping on gain scheduling + constant 50 0.0 ; Proportional gain of aerodynamic DT damping [Nm/(rad/s)] + constant 51 0.0 ; Coefficient of linear term in aerodynamic DT damping scheduling, KK1 [deg] + constant 52 0.0 ; Coefficient of quadratic term in aerodynamic DT damping scheduling, KK2 [deg^2] + end init ; +; + begin output ; + general time ; [s] + constraint bearing1 shaft_rot 1 only 2 ; Drivetrain speed [rad/s] + constraint bearing2 pitch1 1 only 1; [rad] + constraint bearing2 pitch2 1 only 1; [rad] + constraint bearing2 pitch3 1 only 1; [rad] + wind free_wind 1 0.0 0.0 -127 ; Global coordinates at hub height + dll inpvec 2 2 ; Elec. power from generator servo .dll + dll inpvec 2 8 ; Grid state flag from generator servo .dll + mbdy state acc tower 10 1.0 global only 1 ; Tower top x-acceleration [m/s^2] + mbdy state acc tower 10 1.0 global only 2 ; Tower top y-acceleration [m/s^2] + end output; + end type2_dll; +; + begin type2_dll; + name generator_servo ; + filename ./control/generator_servo.dll ; + dll_subroutine_init init_generator_servo ; + dll_subroutine_update update_generator_servo ; + arraysizes_init 7 1 ; + arraysizes_update 4 8 ; + begin init ; + constant 1 20.0 ; Frequency of 2nd order servo model of generator-converter system [Hz] + constant 2 0.9 ; Damping ratio 2nd order servo model of generator-converter system [-] + constant 3 15.6E+06 ; Maximum allowable LSS torque (pull-out torque) [Nm] + constant 4 0.94 ; Generator efficiency [-] + constant 5 1.0 ; Gearratio [-] + constant 6 0.0 ; Time for half value in softstart of torque [s] + constant 7 5000 ; Time for grid loss [s] + end init ; +; + begin output; + general time ; Time [s] + dll inpvec 1 1 ; Electrical torque reference [Nm] + constraint bearing1 shaft_rot 1 only 2; Generator LSS speed [rad/s] + mbdy momentvec shaft 1 1 shaft only 3 ; Shaft moment [kNm] (Qshaft) + end output; +; + begin actions; + mbdy moment_int shaft 1 -3 shaft towertop 2 ; Generator LSS torque [Nm] + end actions; + end type2_dll; +; + begin type2_dll; + name mech_brake ; + filename ./control/mech_brake.dll ; + dll_subroutine_init init_mech_brake ; + dll_subroutine_update update_mech_brake ; + arraysizes_init 7 1 ; + arraysizes_update 4 6 ; + begin init ; + constant 1 5225.35 ; Fully deployed maximum brake torque [Nm] (0.6*max torque) + constant 2 100.0 ; Parameter alpha used in Q = tanh(omega*alpha), typically 1e2/Omega_nom + constant 3 0.5 ; Delay time for before brake starts to deploy [s] + constant 4 0.74 ; Time for brake to become fully deployed [s] + end init ; +; + begin output; + general time ; Time [s] + constraint bearing1 shaft_rot 1 only 2 ; Generator LSS speed [rad/s] + dll inpvec 1 25 ; Command to deploy mechanical disc brake [0,1] + end output; +; + begin actions; + mbdy moment_int shaft 1 -3 shaft towertop 2 ; Generator LSS torque [Nm] + end actions; + end type2_dll; +; + begin type2_dll; + name servo_with_limits ; + filename ./control/servo_with_limits.dll ; + dll_subroutine_init init_servo_with_limits ; + dll_subroutine_update update_servo_with_limits ; + arraysizes_init 10 1 ; + arraysizes_update 5 9 ; + begin init ; + constant 1 3 ; Number of blades [-] + constant 2 1.0 ; Frequency of 2nd order servo model of pitch system [Hz] + constant 3 0.7 ; Damping ratio 2nd order servo model of pitch system [-] + constant 4 10.0 ; Max. pitch speed [deg/s] + constant 5 15.0 ; Max. pitch acceleration [deg/s^2] + constant 6 -5.0 ; Min. pitch angle [deg] + constant 7 90.0 ; Max. pitch angle [deg] + constant 8 5000 ; Time for pitch runaway [s] + constant 9 -1 ; Time for stuck blade 1 [s] + constant 10 0 ; Angle of stuck blade 1 [deg] + end init ; + begin output; + general time ; Time [s] + dll inpvec 1 2 ; Pitch1 demand angle [rad] + dll inpvec 1 3 ; Pitch2 demand angle [rad] + dll inpvec 1 4 ; Pitch3 demand angle [rad] + dll inpvec 1 26 ; Flag for emergency pitch stop [0=off/1=on] + end output; +; + begin actions; + constraint bearing2 angle pitch1 ; Angle pitch1 bearing [rad] + constraint bearing2 angle pitch2 ; Angle pitch2 bearing [rad] + constraint bearing2 angle pitch3 ; Angle pitch3 bearing [rad] + end actions; + end type2_dll; +; +; --- DLL for tower-blade tip distance -- ; + begin type2_dll; + name disttowtip ; + filename ./control/towclearsens.dll ; + dll_subroutine_init initialize ; + dll_subroutine_update update ; + arraysizes_init 1 1 ; + arraysizes_update 12 4 ; + begin init ; + constant 1 3.87 ; Tower radius close to downward blade tip [m] + end init ; + begin output; + mbdy state pos tower 5 0.00 global ; [1,2,3]. Tower position: 24.58 m + mbdy state pos blade1 26 1.0 global ; [4,5,6] + mbdy state pos blade2 26 1.0 global ; [7,8,9] + mbdy state pos blade3 26 1.0 global ; [10,11,12] + end output; + end type2_dll; +end dll; +; +;---------------------------------------------------------------------------------------------------------------------------------------------------------------- +; +begin output; + filename ./res/dlc01_demos/dlc01_steady_wsp9_noturb ; + time 20 40 ; + data_format hawc_binary; + buffer 1 ; +; + general time; + constraint bearing1 shaft_rot 2; angle and angle velocity + constraint bearing2 pitch1 5; angle and angle velocity + constraint bearing2 pitch2 5; angle and angle velocity + constraint bearing2 pitch3 5; angle and angle velocity + aero omega ; + aero torque; + aero power; + aero thrust; + wind free_wind 1 0.0 0.0 -127; local wind at fixed position: coo (1=global,2=non-rotation rotor coo.), pos x, pos y, pos z + ; non rotating coordinates shaft tip: equivalent to stationary hub in BLADED + mbdy momentvec shaft 3 2 shaft_nonrotate # non rotating shaft tip ; + mbdy forcevec shaft 3 2 shaft_nonrotate # non rotating shaft tip ; + ; Moments: + mbdy momentvec tower 1 1 tower # tower base ; + mbdy momentvec tower 19 2 tower # tower yaw bearing ; + mbdy momentvec shaft 4 1 shaft # main bearing ; + mbdy momentvec blade1 3 2 blade1 # blade 1 root ; + mbdy momentvec blade2 3 2 blade2 # blade 2 root ; + mbdy momentvec blade3 3 2 blade3 # blade 3 root ; + ; blade 2,3 root section loads + mbdy momentvec blade2 3 2 local # blade 2 section root; + mbdy momentvec blade3 3 2 local # blade 3 section root; + ; blade 1 sectional loads in local coordinates + mbdy momentvec blade1 2 2 local # blade 1 section; + mbdy momentvec blade1 3 2 local # blade 1 section root; + mbdy momentvec blade1 4 2 local # blade 1 section; + mbdy momentvec blade1 5 2 local # blade 1 section; + mbdy momentvec blade1 6 2 local # blade 1 section; + mbdy momentvec blade1 7 2 local # blade 1 section; + mbdy momentvec blade1 8 2 local # blade 1 section; + mbdy momentvec blade1 9 2 local # blade 1 section; + mbdy momentvec blade1 10 2 local # blade 1 section; + mbdy momentvec blade1 11 2 local # blade 1 section; + mbdy momentvec blade1 12 2 local # blade 1 section; + mbdy momentvec blade1 13 2 local # blade 1 section; + mbdy momentvec blade1 14 2 local # blade 1 section; + mbdy momentvec blade1 15 2 local # blade 1 section; + mbdy momentvec blade1 16 2 local # blade 1 section; + mbdy momentvec blade1 17 2 local # blade 1 section; + mbdy momentvec blade1 18 2 local # blade 1 section; + mbdy momentvec blade1 19 2 local # blade 1 section; + mbdy momentvec blade1 20 2 local # blade 1 section; + mbdy momentvec blade1 21 2 local # blade 1 section; + mbdy momentvec blade1 22 2 local # blade 1 section; + mbdy momentvec blade1 23 2 local # blade 1 section; + mbdy momentvec blade1 24 2 local # blade 1 section; + mbdy momentvec blade1 25 2 local # blade 1 section; + mbdy momentvec blade1 26 2 local # blade 1 section; + ; blade root out and in of plane forces + mbdy momentvec blade1 3 2 hub1 # blade 1 root ; + mbdy momentvec blade2 3 2 hub2 # blade 2 root ; + mbdy momentvec blade3 3 2 hub3 # blade 3 root ; +; mbdy momentvec blade1 14 1 local # blade 1 50% local e coo ; +; mbdy momentvec blade2 14 1 local # blade 2 50% local e coo ; +; mbdy momentvec blade3 14 1 local # blade 3 50% local e coo ; + ; Displacements and accellerations + mbdy state pos tower 19 1.0 global only 1 # Tower top FA displ; + mbdy state pos tower 19 1.0 global only 2 # Tower top SS displ; + mbdy state acc tower 19 1.0 global only 1 # Tower top FA acc; + mbdy state acc tower 19 1.0 global only 2 # Tower top SS acc; +; + mbdy state pos blade1 26 1.0 global # gl blade 1 tip pos ; + mbdy state pos blade2 26 1.0 global # gl blade 2 tip pos ; + mbdy state pos blade3 26 1.0 global # gl blade 3 tip pos ; + mbdy state pos blade1 26 1.0 blade1 # blade 1 tip pos ; + mbdy state pos blade2 26 1.0 blade2 # blade 2 tip pos ; + mbdy state pos blade3 26 1.0 blade3 # blade 3 tip pos ; +; + mbdy state pos tower 5 0.00 global ; [1,2,3]. Tower position: 24.58 m +; + ; elastic twist (torsional deformation) along the blade + aero tors_ang 1 45.56; + aero tors_ang 1 59.19; + aero tors_ang 1 70.87; + aero tors_ang 1 80.61; + aero tors_ang 1 84.50; + aero tors_ang 1 88.40; + aero tors_ang 1 92.29; + aero tors_ang 1 96.19; + aero tors_ang 1 98.13; + aero tors_ang 1 100.08; tip +; +; - Monitor Aerodynamics - ; + aero windspeed 3 1 1 72.5; + aero alfa 1 72.5; + aero alfa 2 72.5; + aero alfa 3 72.5; + aero cl 1 72.5; + aero cl 2 72.5; + aero cl 3 72.5; + aero cd 1 72.5; + aero cd 2 72.5; + aero cd 3 72.5; +; - Main Controller - +; Output to controller + ; dll outvec 1 1 # time; + ; dll outvec 1 2 # slow speed shaft rad/s; + ; dll outvec 1 3 # pitch angle 1; + ; dll outvec 1 4 # pitch angle 2; + ; dll outvec 1 5 # pitch angle 3; + ; dll outvec 1 6 # WSP_x_global; + ; dll outvec 1 7 # WSP_y_global; + ; dll outvec 1 8 # WSP_z_global; + ; dll outvec 1 9 # Elec. pwr ; + ; dll outvec 1 10 # Grid flag ; +; Input from controller + dll inpvec 1 1 # Generator torque reference [Nm] ; + dll inpvec 1 2 # Pitch angle reference of blade 1 [rad] ; + dll inpvec 1 3 # Pitch angle reference of blade 2 [rad] ; + dll inpvec 1 4 # Pitch angle reference of blade 3 [rad] ; + ; dll inpvec 1 5 # Power reference [W] ; + ; dll inpvec 1 6 # Filtered wind speed [m/s] ; + ; dll inpvec 1 7 # Filtered rotor speed [rad/s]; + ; dll inpvec 1 8 # Filtered rotor speed error for torque [rad/s]; + ; dll inpvec 1 9 # Bandpass filtered rotor speed [rad/s]; + ; dll inpvec 1 10 # Proportional term of torque contr. [Nm] ; + ; dll inpvec 1 11 # Integral term of torque controller [Nm] ; + ; dll inpvec 1 12 # Minimum limit of torque [Nm] ; + ; dll inpvec 1 13 # Maximum limit of torque [Nm] ; + dll inpvec 1 14 # Torque limit switch based on pitch [-] ; + ; dll inpvec 1 15 # Filtered rotor speed error for pitch [rad/s]; + ; dll inpvec 1 16 # Power error for pitch [W] ; + ; dll inpvec 1 17 # Proportional term of pitch controller [rad] ; + ; dll inpvec 1 18 # Integral term of pitch controller [rad] ; + ; dll inpvec 1 19 # Minimum limit of pitch [rad] ; + ; dll inpvec 1 20 # Maximum limit of pitch [rad] ; + dll inpvec 1 21 # Torque reference from DT dammper [Nm] ; + dll inpvec 1 22 # Status signal [-] ; + ; dll inpvec 1 23 # Total added pitch rate [rad/s] ; + dll inpvec 1 24 # Filtered Mean pitch for gain sch [rad] ; + dll inpvec 1 25 # Flag for mechnical brake [0=off/1=on] ; + dll inpvec 1 26 # Flag for emergency pitch stop [0=off/1=on] ; + dll inpvec 1 27 # LP filtered acceleration level [m/s^2] ; +; ; Output to generator model + ; dll outvec 2 1 # time ; + ; dll outvec 2 2 # Electrical torque reference [Nm] ; + ; dll outvec 2 3 # omega LSS ; +; Input from generator model + dll inpvec 2 1 # Mgen LSS [Nm]; + dll inpvec 2 2 # Pelec W ; + dll inpvec 2 3 # Mframe ; + dll inpvec 2 4 # Mgen HSS ; + dll inpvec 2 5 # Generator Pmech kW ; + dll inpvec 2 6 # Filtered Gen speed ; + dll inpvec 2 7 # Resulting Eff ; + dll inpvec 2 8 # Grid flag ; +; Output to mechanical brake + dll inpvec 3 1 # Brake torque [Nm] ; +; ; Input from mechanical brake + ; dll outvec 3 1 # Time [s] ; + ; dll outvec 3 2 # Generator LSS speed [rad/s] ; + ; dll outvec 3 3 # Deploy brake ; +; ; Output to pitch servo + ; dll outvec 4 1 # time; + ; dll outvec 4 2 # pitchref 1; + ; dll outvec 4 3 # pitchref 2; + ; dll outvec 4 4 # pitchref 3; + ; dll outvec 4 5 # Emerg. stop; +; Input from pitch servo + dll inpvec 4 1 # pitch 1; + dll inpvec 4 2 # pitch 2; + dll inpvec 4 3 # pitch 3; +; Check tower clearence + dll inpvec 5 1 # Bltip tow min d [m]; +; general constant 1.0 ; constant 1.0 - to mesure activity of flap in terms of displacement +; - Check on flap control: + ; ; - From flap controller: - + ; dll type2_dll cyclic_flap_controller inpvec 1 # Ref flap signal bl 1 [deg] ; + ; dll type2_dll cyclic_flap_controller inpvec 2 # Ref flap signal bl 2 [deg] ; + ; dll type2_dll cyclic_flap_controller inpvec 3 # Ref flap signal bl 3 [deg] ; + ; ; - Mbc values + ; dll type2_dll cyclic_flap_controller inpvec 4 # momvec mbc cos [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 5 # momvec mbc sin [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 6 # momvec mbc filt cos [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 7 # momvec mbc filt sin [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 8 # flap mbc cos [deg] ; + ; dll type2_dll cyclic_flap_controller inpvec 9 # flap mbc sin [deg] ; + ; ; - Check Gains - ; + ; dll type2_dll cyclic_flap_controller inpvec 10 # lead angle [deg] ; + ; dll type2_dll cyclic_flap_controller inpvec 11 # scaling on rat pow [-] ; + ; dll type2_dll cyclic_flap_controller inpvec 12 # actual kp [deg/kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 13 # actual ki [deg/kNms] ; + ; dll type2_dll cyclic_flap_controller inpvec 14 # actual kd [deg s/kNm] ; + ; ; - Actual deflections - + ; aero beta 1 1 ; + ; aero beta 2 1 ; + ; aero beta 3 1 ; + ; ; - Mbc values + ; dll type2_dll cyclic_flap_controller inpvec 4 # momvec mbc cos [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 5 # momvec mbc sin [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 6 # momvec mbc filt cos [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 7 # momvec mbc filt sin [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 8 # flap mbc cos [deg] ; + ; dll type2_dll cyclic_flap_controller inpvec 9 # flap mbc sin [deg] ; +end output; +; +exit; diff --git a/wetb/prepost/tests/data/demo_dlc/ref/pbs_in/dlc01_demos/dlc01_steady_wsp10_noturb.p b/wetb/prepost/tests/data/demo_dlc/ref/pbs_in/dlc01_demos/dlc01_steady_wsp10_noturb.p new file mode 100644 index 0000000000000000000000000000000000000000..1bc115f781b7821f729e97bddcf49683bb623c20 --- /dev/null +++ b/wetb/prepost/tests/data/demo_dlc/ref/pbs_in/dlc01_demos/dlc01_steady_wsp10_noturb.p @@ -0,0 +1,55 @@ +### Standard Output +#PBS -N dlc01_steady_wsp10_noturb +#PBS -o ./pbs_out/dlc01_demos/dlc01_steady_wsp10_noturb.out +### Standard Error +#PBS -e ./pbs_out/dlc01_demos/dlc01_steady_wsp10_noturb.err +#PBS -W umask=003 +### Maximum wallclock time format HOURS:MINUTES:SECONDS +#PBS -l walltime=04:00:00 +#PBS -l nodes=1:ppn=1 +### Queue name +#PBS -q workq +### Create scratch directory and copy data to it +cd $PBS_O_WORKDIR +echo "current working dir (pwd):" +pwd +cp -R ./demo_dlc_remote.zip /scratch/$USER/$PBS_JOBID + + +echo "" +echo "Execute commands on scratch nodes" +cd /scratch/$USER/$PBS_JOBID +pwd +/usr/bin/unzip demo_dlc_remote.zip +mkdir -p htc/dlc01_demos/ +mkdir -p res/dlc01_demos/ +mkdir -p logfiles/dlc01_demos/ +mkdir -p turb/ +cp -R $PBS_O_WORKDIR/htc/dlc01_demos/dlc01_steady_wsp10_noturb.htc ./htc/dlc01_demos/ +cp -R $PBS_O_WORKDIR/../turb/none*.bin turb/ +time WINEARCH=win32 WINEPREFIX=~/.wine32 wine hawc2-latest ./htc/dlc01_demos/dlc01_steady_wsp10_noturb.htc & +### wait for jobs to finish +wait +echo "" +echo "Copy back from scratch directory" +cd /scratch/$USER/$PBS_JOBID +mkdir -p $PBS_O_WORKDIR/res/dlc01_demos/ +mkdir -p $PBS_O_WORKDIR/logfiles/dlc01_demos/ +mkdir -p $PBS_O_WORKDIR/animation/ +mkdir -p $PBS_O_WORKDIR/../turb/ +cp -R res/dlc01_demos/. $PBS_O_WORKDIR/res/dlc01_demos/. +cp -R logfiles/dlc01_demos/. $PBS_O_WORKDIR/logfiles/dlc01_demos/. +cp -R animation/. $PBS_O_WORKDIR/animation/. + +echo "" +echo "COPY BACK TURB IF APPLICABLE" +cd turb/ +for i in `ls *.bin`; do if [ -e $PBS_O_WORKDIR/../turb/$i ]; then echo "$i exists no copyback"; else echo "$i copyback"; cp $i $PBS_O_WORKDIR/../turb/; fi; done +cd /scratch/$USER/$PBS_JOBID +echo "END COPY BACK TURB" +echo "" + +echo "" +echo "following files are on the node (find .):" +find . +exit diff --git a/wetb/prepost/tests/data/demo_dlc/ref/pbs_in/dlc01_demos/dlc01_steady_wsp8_noturb.p b/wetb/prepost/tests/data/demo_dlc/ref/pbs_in/dlc01_demos/dlc01_steady_wsp8_noturb.p new file mode 100644 index 0000000000000000000000000000000000000000..640e5c20ec09f6f50b5a6002586bd030b96604c9 --- /dev/null +++ b/wetb/prepost/tests/data/demo_dlc/ref/pbs_in/dlc01_demos/dlc01_steady_wsp8_noturb.p @@ -0,0 +1,55 @@ +### Standard Output +#PBS -N dlc01_steady_wsp8_noturb +#PBS -o ./pbs_out/dlc01_demos/dlc01_steady_wsp8_noturb.out +### Standard Error +#PBS -e ./pbs_out/dlc01_demos/dlc01_steady_wsp8_noturb.err +#PBS -W umask=003 +### Maximum wallclock time format HOURS:MINUTES:SECONDS +#PBS -l walltime=04:00:00 +#PBS -l nodes=1:ppn=1 +### Queue name +#PBS -q workq +### Create scratch directory and copy data to it +cd $PBS_O_WORKDIR +echo "current working dir (pwd):" +pwd +cp -R ./demo_dlc_remote.zip /scratch/$USER/$PBS_JOBID + + +echo "" +echo "Execute commands on scratch nodes" +cd /scratch/$USER/$PBS_JOBID +pwd +/usr/bin/unzip demo_dlc_remote.zip +mkdir -p htc/dlc01_demos/ +mkdir -p res/dlc01_demos/ +mkdir -p logfiles/dlc01_demos/ +mkdir -p turb/ +cp -R $PBS_O_WORKDIR/htc/dlc01_demos/dlc01_steady_wsp8_noturb.htc ./htc/dlc01_demos/ +cp -R $PBS_O_WORKDIR/../turb/none*.bin turb/ +time WINEARCH=win32 WINEPREFIX=~/.wine32 wine hawc2-latest ./htc/dlc01_demos/dlc01_steady_wsp8_noturb.htc & +### wait for jobs to finish +wait +echo "" +echo "Copy back from scratch directory" +cd /scratch/$USER/$PBS_JOBID +mkdir -p $PBS_O_WORKDIR/res/dlc01_demos/ +mkdir -p $PBS_O_WORKDIR/logfiles/dlc01_demos/ +mkdir -p $PBS_O_WORKDIR/animation/ +mkdir -p $PBS_O_WORKDIR/../turb/ +cp -R res/dlc01_demos/. $PBS_O_WORKDIR/res/dlc01_demos/. +cp -R logfiles/dlc01_demos/. $PBS_O_WORKDIR/logfiles/dlc01_demos/. +cp -R animation/. $PBS_O_WORKDIR/animation/. + +echo "" +echo "COPY BACK TURB IF APPLICABLE" +cd turb/ +for i in `ls *.bin`; do if [ -e $PBS_O_WORKDIR/../turb/$i ]; then echo "$i exists no copyback"; else echo "$i copyback"; cp $i $PBS_O_WORKDIR/../turb/; fi; done +cd /scratch/$USER/$PBS_JOBID +echo "END COPY BACK TURB" +echo "" + +echo "" +echo "following files are on the node (find .):" +find . +exit diff --git a/wetb/prepost/tests/data/demo_dlc/ref/pbs_in/dlc01_demos/dlc01_steady_wsp9_noturb.p b/wetb/prepost/tests/data/demo_dlc/ref/pbs_in/dlc01_demos/dlc01_steady_wsp9_noturb.p new file mode 100644 index 0000000000000000000000000000000000000000..a9d5ef524b9feddbadd7df3e08d7873cc39fe96d --- /dev/null +++ b/wetb/prepost/tests/data/demo_dlc/ref/pbs_in/dlc01_demos/dlc01_steady_wsp9_noturb.p @@ -0,0 +1,55 @@ +### Standard Output +#PBS -N dlc01_steady_wsp9_noturb +#PBS -o ./pbs_out/dlc01_demos/dlc01_steady_wsp9_noturb.out +### Standard Error +#PBS -e ./pbs_out/dlc01_demos/dlc01_steady_wsp9_noturb.err +#PBS -W umask=003 +### Maximum wallclock time format HOURS:MINUTES:SECONDS +#PBS -l walltime=04:00:00 +#PBS -l nodes=1:ppn=1 +### Queue name +#PBS -q workq +### Create scratch directory and copy data to it +cd $PBS_O_WORKDIR +echo "current working dir (pwd):" +pwd +cp -R ./demo_dlc_remote.zip /scratch/$USER/$PBS_JOBID + + +echo "" +echo "Execute commands on scratch nodes" +cd /scratch/$USER/$PBS_JOBID +pwd +/usr/bin/unzip demo_dlc_remote.zip +mkdir -p htc/dlc01_demos/ +mkdir -p res/dlc01_demos/ +mkdir -p logfiles/dlc01_demos/ +mkdir -p turb/ +cp -R $PBS_O_WORKDIR/htc/dlc01_demos/dlc01_steady_wsp9_noturb.htc ./htc/dlc01_demos/ +cp -R $PBS_O_WORKDIR/../turb/none*.bin turb/ +time WINEARCH=win32 WINEPREFIX=~/.wine32 wine hawc2-latest ./htc/dlc01_demos/dlc01_steady_wsp9_noturb.htc & +### wait for jobs to finish +wait +echo "" +echo "Copy back from scratch directory" +cd /scratch/$USER/$PBS_JOBID +mkdir -p $PBS_O_WORKDIR/res/dlc01_demos/ +mkdir -p $PBS_O_WORKDIR/logfiles/dlc01_demos/ +mkdir -p $PBS_O_WORKDIR/animation/ +mkdir -p $PBS_O_WORKDIR/../turb/ +cp -R res/dlc01_demos/. $PBS_O_WORKDIR/res/dlc01_demos/. +cp -R logfiles/dlc01_demos/. $PBS_O_WORKDIR/logfiles/dlc01_demos/. +cp -R animation/. $PBS_O_WORKDIR/animation/. + +echo "" +echo "COPY BACK TURB IF APPLICABLE" +cd turb/ +for i in `ls *.bin`; do if [ -e $PBS_O_WORKDIR/../turb/$i ]; then echo "$i exists no copyback"; else echo "$i copyback"; cp $i $PBS_O_WORKDIR/../turb/; fi; done +cd /scratch/$USER/$PBS_JOBID +echo "END COPY BACK TURB" +echo "" + +echo "" +echo "following files are on the node (find .):" +find . +exit diff --git a/wetb/prepost/tests/data/demo_dlc/ref/prepost/A0001.pkl b/wetb/prepost/tests/data/demo_dlc/ref/prepost/A0001.pkl new file mode 100755 index 0000000000000000000000000000000000000000..2bec5738cd61979d1887c8e6a66f398c8f4f161e Binary files /dev/null and b/wetb/prepost/tests/data/demo_dlc/ref/prepost/A0001.pkl differ diff --git a/wetb/prepost/tests/data/demo_dlc/ref/prepost/A0001_tags.txt b/wetb/prepost/tests/data/demo_dlc/ref/prepost/A0001_tags.txt new file mode 100755 index 0000000000000000000000000000000000000000..6de32e2baa7f2271d6649facb844f22a2d58f337 --- /dev/null +++ b/wetb/prepost/tests/data/demo_dlc/ref/prepost/A0001_tags.txt @@ -0,0 +1,178 @@ + + +=============================================================================== + iter_dict +=============================================================================== + [empty] : [False] + +=============================================================================== + opt_tags +=============================================================================== + +------------------------------------------------------------------------------- + opt_tags set +------------------------------------------------------------------------------- + [Case folder] : dlc01_demos + [Case id.] : dlc01_steady_wsp8_noturb + [Cut-in time] : -1 + [Cut-out time] : -1 + [DLC] : 01 + [Dyn stall] : 2 + [Free shaft rot] : True + [G_A] : True + [G_T] : True + [G_phi0] : True + [G_t0] : True + [Grid loss time] : 5000 + [Induction] : 1 + [Pitch 1 DLC22b] : 0 + [Pitvel 1] : 3 + [Pitvel 2] : 4 + [Rotor azimuth] : 0 + [Rotor locked] : False + [Stop type] : 1 + [TI] : 0.232 + [Time pitch runaway] : 5000 + [Time stuck DLC22b] : -1 + [Turb base name] : none + [Windspeed] : 8 + [case_id] : dlc01_steady_wsp8_noturb + [data_dir] : data/ + [dis_setbeta] : True + [duration] : 20.0 + [gust] : False + [gust_type] : True + [htc_dir] : htc/dlc01_demos/ + [init_wr] : 0.5 + [iter_dir] : iter/dlc01_demos/ + [log_dir] : logfiles/dlc01_demos/ + [out_format] : hawc_binary + [pbs_in_dir] : pbs_in/dlc01_demos/ + [pbs_out_dir] : pbs_out/dlc01_demos/ + [res_dir] : res/dlc01_demos/ + [shear_exp] : 0 + [staircase] : False + [t flap on] : -1 + [t0] : 20 + [time stop] : 40 + [time_stop] : 40 + [tu_model] : 0 + [tu_seed] : 0 + [turb_base_name] : none + [turb_dx] : 0.0390625 + [wdir] : 0 + [windramp] : False + [wsp factor] : 1.0 + [zip_root_files] : ['pbs_in_file_cache.txt', 'A0001_ErrorLog.csv'] + +------------------------------------------------------------------------------- + opt_tags set +------------------------------------------------------------------------------- + [Case folder] : dlc01_demos + [Case id.] : dlc01_steady_wsp9_noturb + [Cut-in time] : -1 + [Cut-out time] : -1 + [DLC] : 01 + [Dyn stall] : 2 + [Free shaft rot] : True + [G_A] : True + [G_T] : True + [G_phi0] : True + [G_t0] : True + [Grid loss time] : 5000 + [Induction] : 1 + [Pitch 1 DLC22b] : 0 + [Pitvel 1] : 3 + [Pitvel 2] : 4 + [Rotor azimuth] : 0 + [Rotor locked] : False + [Stop type] : 1 + [TI] : 0.219555555556 + [Time pitch runaway] : 5000 + [Time stuck DLC22b] : -1 + [Turb base name] : none + [Windspeed] : 9 + [case_id] : dlc01_steady_wsp9_noturb + [data_dir] : data/ + [dis_setbeta] : True + [duration] : 20.0 + [gust] : False + [gust_type] : True + [htc_dir] : htc/dlc01_demos/ + [init_wr] : 0.5 + [iter_dir] : iter/dlc01_demos/ + [log_dir] : logfiles/dlc01_demos/ + [out_format] : hawc_binary + [pbs_in_dir] : pbs_in/dlc01_demos/ + [pbs_out_dir] : pbs_out/dlc01_demos/ + [res_dir] : res/dlc01_demos/ + [shear_exp] : 0 + [staircase] : False + [t flap on] : -1 + [t0] : 20 + [time stop] : 40 + [time_stop] : 40 + [tu_model] : 0 + [tu_seed] : 0 + [turb_base_name] : none + [turb_dx] : 0.0439453125 + [wdir] : 0 + [windramp] : False + [wsp factor] : 0.888888888889 + [zip_root_files] : ['pbs_in_file_cache.txt', 'A0001_ErrorLog.csv'] + +------------------------------------------------------------------------------- + opt_tags set +------------------------------------------------------------------------------- + [Case folder] : dlc01_demos + [Case id.] : dlc01_steady_wsp10_noturb + [Cut-in time] : -1 + [Cut-out time] : -1 + [DLC] : 01 + [Dyn stall] : 2 + [Free shaft rot] : True + [G_A] : True + [G_T] : True + [G_phi0] : True + [G_t0] : True + [Grid loss time] : 5000 + [Induction] : 1 + [Pitch 1 DLC22b] : 0 + [Pitvel 1] : 3 + [Pitvel 2] : 4 + [Rotor azimuth] : 0 + [Rotor locked] : False + [Stop type] : 1 + [TI] : 0.2096 + [Time pitch runaway] : 5000 + [Time stuck DLC22b] : -1 + [Turb base name] : none + [Windspeed] : 10 + [case_id] : dlc01_steady_wsp10_noturb + [data_dir] : data/ + [dis_setbeta] : True + [duration] : 20.0 + [gust] : False + [gust_type] : True + [htc_dir] : htc/dlc01_demos/ + [init_wr] : 0.5 + [iter_dir] : iter/dlc01_demos/ + [log_dir] : logfiles/dlc01_demos/ + [out_format] : hawc_binary + [pbs_in_dir] : pbs_in/dlc01_demos/ + [pbs_out_dir] : pbs_out/dlc01_demos/ + [res_dir] : res/dlc01_demos/ + [shear_exp] : 0 + [staircase] : False + [t flap on] : -1 + [t0] : 20 + [time stop] : 40 + [time_stop] : 40 + [tu_model] : 0 + [tu_seed] : 0 + [turb_base_name] : none + [turb_dx] : 0.048828125 + [wdir] : 0 + [windramp] : False + [wsp factor] : 0.8 + [zip_root_files] : ['pbs_in_file_cache.txt', 'A0001_ErrorLog.csv'] diff --git a/wetb/prepost/tests/data/demo_dlc/source/data/minimal_demo_file.txt b/wetb/prepost/tests/data/demo_dlc/source/data/minimal_demo_file.txt new file mode 100644 index 0000000000000000000000000000000000000000..8db2621539988442dd84f09006b47d9b6ed08690 --- /dev/null +++ b/wetb/prepost/tests/data/demo_dlc/source/data/minimal_demo_file.txt @@ -0,0 +1 @@ +just one demo line diff --git a/wetb/prepost/tests/data/demo_dlc/source/demo_dlc_remote.zip b/wetb/prepost/tests/data/demo_dlc/source/demo_dlc_remote.zip new file mode 100644 index 0000000000000000000000000000000000000000..60fe434ad3dc15cf5e1dd1977c630107c611ac55 Binary files /dev/null and b/wetb/prepost/tests/data/demo_dlc/source/demo_dlc_remote.zip differ diff --git a/wetb/prepost/tests/data/demo_dlc/source/htc/DLCs/dlc01_demos.xlsx b/wetb/prepost/tests/data/demo_dlc/source/htc/DLCs/dlc01_demos.xlsx new file mode 100755 index 0000000000000000000000000000000000000000..1f4c2311367ccea9d06f57db32793e8948f0e959 Binary files /dev/null and b/wetb/prepost/tests/data/demo_dlc/source/htc/DLCs/dlc01_demos.xlsx differ diff --git a/wetb/prepost/tests/data/demo_dlc/source/htc/_master/demo_dlc_master_A0001.htc b/wetb/prepost/tests/data/demo_dlc/source/htc/_master/demo_dlc_master_A0001.htc new file mode 100755 index 0000000000000000000000000000000000000000..6e956f80d62257709ddd129408b8d77305da4339 --- /dev/null +++ b/wetb/prepost/tests/data/demo_dlc/source/htc/_master/demo_dlc_master_A0001.htc @@ -0,0 +1,850 @@ +;this version was at some point based on: Avatar_10MW_RWT version 1, 06-08-14, Anyd +begin simulation; + time_stop [time stop]; + solvertype 1 ; (newmark) + on_no_convergence continue ; +; convergence_limits 1E3 1.0 1E-7 ; + logfile ./logfiles/[Case folder]/[Case id.].log ; + begin newmark; + deltat 0.02; + end newmark; +end simulation; +; +;---------------------------------------------------------------------------------------------------------------------------------------------------------------- +begin new_htc_structure; +;-------------------------------------------------------------------------------------------------- +[staircase] beam_output_file_name ./res_eigen/[Case folder]/[Case id.]/[Case id.]_beam.dat; +[staircase] body_output_file_name ./res_eigen/[Case folder]/[Case id.]/[Case id.]_body.dat; +[staircase] struct_inertia_output_file_name ./res_eigen/[Case folder]/[Case id.]/[Case id.]_struct.dat; +[staircase] body_eigenanalysis_file_name ./res_eigen/[Case folder]/[Case id.]/[Case id.]_body_eigen.dat; +[staircase] structure_eigenanalysis_file_name ./res_eigen/[Case folder]/[Case id.]/[Case id.]_strc_eigen.dat; +;--------------------------------------------------------------------------------------------------- + begin main_body; tower 123.6m + name tower ; + type timoschenko ; + nbodies 3 ; + node_distribution c2_def ; + damping_posdef 0 0 0 4.7E-03 4.7E-03 4.3E-04 ; tuned by Anyd 12/8/14 + begin timoschenko_input; + filename ./data/AVATAR_10MW_RWT_tower_st.dat; + set 1 1 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 20; + sec 1 0 0 0.000 0 ; x,y,z,twist + sec 2 0 0 -12.293 0 ; + sec 3 0 0 -12.294 0 ; + sec 4 0 0 -24.585 0 ; + sec 5 0 0 -24.586 0 ; + sec 6 0 0 -36.878 0 ; + sec 7 0 0 -36.879 0 ; + sec 8 0 0 -49.171 0 ; + sec 9 0 0 -49.172 0 ; + sec 10 0 0 -61.463 0 ; + sec 11 0 0 -61.464 0 ; + sec 12 0 0 -73.756 0 ; + sec 13 0 0 -73.757 0 ; + sec 14 0 0 -86.049 0 ; + sec 15 0 0 -86.050 0 ; + sec 16 0 0 -98.341 0 ; + sec 17 0 0 -98.342 0 ; + sec 18 0 0 -110.634 0 ; + sec 19 0 0 -110.635 0 ; + sec 20 0 0 -123.600 0 ; + end c2_def ; + end main_body; +; + begin main_body; + name towertop ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 7.50E-03 7.40E-03 7.00E-03 7.00E-03 7.00E-03 7.00E-03 ; "changed by Anyd + concentrated_mass 2.0 0.0 2.6870E+00 3.0061E-01 4.4604E+05 4.1060E+06 4.1060E+05 4.1060E+06 ; Nacel + begin timoschenko_input; + filename ./data/DTU_10MW_RWT_Towertop_st.dat ; + set 1 2 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 2; + sec 1 0.0 0.0 0.0 0.0 ; x,y,z,twist + sec 2 0.0 0.0 -2.75 0.0 ; + end c2_def ; + end main_body; +; + begin main_body; + name shaft ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; +; damping_posdef 8.00E-3 8.00E-03 8.00E-02 4.65E-04 4.65E-04 2.38E-02 ; "tuned by Anyd 22/2/13 + damping_posdef 0.0 0.0 3.983E-03 4.65E-04 4.65E-04 3.983E-03 ; "tuned by Anyd 23/5/13 to 31.45 l + concentrated_mass 1.0 0.0 0.0 0.0 0.0 0.0 0.0 3.751E+06 ; generator equivalent slow shaft "re_tu + concentrated_mass 5.0 0.0 0.0 0.0 1.0552E+05 0.0 0.0 3.257E+05 ; hub mass and inertia; "re_tuned + begin timoschenko_input; + filename ./data/DTU_10MW_RWT_Shaft_st.dat ; + set 1 1 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 5; + sec 1 0.0 0.0 0.0 0.0 ; Tower top x,y,z,twist + sec 2 0.0 0.0 1.5 0.0 ; + sec 3 0.0 0.0 3.0 0.0 ; + sec 4 0.0 0.0 4.4 0.0 ; Main bearing + sec 5 0.0 0.0 7.1 0.0 ; Rotor centre + end c2_def ; + end main_body; +; + begin main_body; + name shaft_nonrotate ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 0.00E+00 0.00E+00 0.00E+00 1.0E-01 1.0E-01 1.0E-01 ; + begin timoschenko_input; + filename ./data/DTU_10MW_RWT_Shaft_st.dat ; + set 1 3; dummy light and stiff structure + end timoschenko_input; + begin c2_def; + nsec 2; + sec 1 0.0 0.0 0.0 0.0 ; + sec 2 0.0 0.0 0.1 0.0 ; + end c2_def; + end main_body; +; + begin main_body; + name hub1 ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 2.00E-05 2.00E-05 2.00E-04 3.00E-06 3.00E-06 2.00E-05; + begin timoschenko_input; + filename ./data/DTU_10MW_RWT_Hub_st.dat ; + set 1 2 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 2; + sec 1 0.0 0.0 0.0 0.0 ; x,y,z,twist + sec 2 0.0 0.0 2.8 0.0 ; + end c2_def ; + end main_body; +; + begin main_body; + name hub2 ; + copy_main_body hub1; + end main_body; +; + begin main_body; + name hub3 ; + copy_main_body hub1 ; + end main_body; +; + begin main_body; + name blade1 ; + type timoschenko ; + nbodies 10 ; + node_distribution c2_def; +; damping_posdef 0.0 0.0 0.0 2.5e-3 8.9e-4 3.2e-4 ; "Tuned by Anyd" +; damping_posdef 0.0 0.0 0.0 1.5e-3 2.45e-3 3.2e-4 ; " 3% damping tuned by Anyd 20/02/12 unable to +; damping_posdef 0.0 0.0 0.0 2.1e-3 1.9e-3 1.3e-4 ; " 3% damping tuned by Anyd 15/08/14 rev2 + damping_posdef 0.0 0.0 0.0 1.68e-3 2.25e-3 1.0e-4 ; " 3% damping tuned by Anyd 16/12/14 + begin timoschenko_input ; + filename ./data/AVATAR_10MW_RWT_Blade_st.dat ; + set 1 9 ; + end timoschenko_input; + begin c2_def; + nsec 27 ; + sec 1 -0.001 -0.001 0.000 -17.280 ; + sec 2 -0.005 -0.001 2.220 -17.280 ; + sec 3 -0.006 -0.000 4.440 -17.280 ; + sec 4 -0.086 0.022 6.660 -17.280 ; + sec 5 -0.231 0.069 11.039 -17.273 ; + sec 6 -0.447 0.121 15.418 -16.441 ; + sec 7 -0.690 0.161 19.797 -14.613 ; + sec 8 -0.812 0.162 24.176 -12.578 ; + sec 9 -0.891 0.158 28.555 -10.588 ; + sec 10 -0.865 0.124 32.934 -9.070 ; + sec 11 -0.833 0.112 37.313 -8.224 ; + sec 12 -0.797 0.102 41.692 -7.688 ; + sec 13 -0.760 0.093 46.071 -7.205 ; + sec 14 -0.721 0.083 50.450 -6.749 ; + sec 15 -0.683 0.075 54.829 -6.288 ; + sec 16 -0.644 0.066 59.208 -5.838 ; + sec 17 -0.606 0.058 63.587 -5.401 ; + sec 18 -0.567 0.050 67.966 -4.982 ; + sec 19 -0.529 0.044 72.345 -4.640 ; + sec 20 -0.492 0.037 76.724 -4.380 ; + sec 21 -0.456 0.032 81.103 -4.144 ; + sec 22 -0.422 0.026 85.482 -3.914 ; + sec 23 -0.392 0.021 89.861 -3.685 ; + sec 24 -0.346 0.014 94.240 -3.460 ; + sec 25 -0.307 0.010 96.190 -3.350 ; + sec 26 -0.249 0.005 98.130 -3.250 ; + sec 27 -0.089 0.006 100.080 -3.140 ; + end c2_def ; + end main_body; +; + begin main_body; + name blade2 ; + copy_main_body blade1; + end main_body; +; + begin main_body; + name blade3 ; + copy_main_body blade1 ; + end main_body; +;------------------------------------------------------------------------------------------------------------------------------- +; + begin orientation; + begin base; + body tower; + inipos 0.0 0.0 0.0 ; initial position of node 1 + body_eulerang 0.0 0.0 0.0; + end base; +; + begin relative; + body1 tower last; + body2 towertop 1; + body2_eulerang 0.0 0.0 0.0; + end relative; +; + begin relative; + body1 towertop last; + body2 shaft 1; + body2_eulerang 90.0 0.0 0.0; + body2_eulerang 5.0 0.0 0.0; 5 deg tilt angle + body2_eulerang 0.0 0.0 [Rotor azimuth]; +[Free shaft rot] mbdy2_ini_rotvec_d1 0.0 0.0 -1.0 [init_wr] ; mbdy2_ini_rotvec_d1 0.0 0.0 -1.0 [init_wr]; + end relative; +; + begin relative; dummy non rotating hub coordinates + body1 towertop last; + body2 shaft_nonrotate 1; + body2_eulerang 90.0 0.0 0.0; + body2_eulerang 5.0 0.0 0.0; same 5 deg tilt angle as real shaft + end relative; +; + begin relative; + body1 shaft last; + body2 hub1 1; + body2_eulerang -90.0 0.0 0.0; + body2_eulerang 0.0 180.0 0.0; + body2_eulerang 2.5 0.0 0.0; 2.5deg cone angle + end relative; +; + begin relative; + body1 shaft last; + body2 hub2 1; + body2_eulerang -90.0 0.0 0.0; + body2_eulerang 0.0 60.0 0.0; + body2_eulerang 2.5 0.0 0.0; 2.5deg cone angle + end relative; +; + begin relative; + body1 shaft last; + body2 hub3 1; + body2_eulerang -90.0 0.0 0.0; + body2_eulerang 0.0 -60.0 0.0; + body2_eulerang 2.5 0.0 0.0; 2.5deg cone angle + end relative; +; + begin relative; + body1 hub1 last; + body2 blade1 1; + body2_eulerang 0.0 0.0 0; + end relative; +; + begin relative; + body1 hub2 last; + body2 blade2 1; + body2_eulerang 0.0 0.0 0.0; + end relative; +; + begin relative; + body1 hub3 last; + body2 blade3 1; + body2_eulerang 0.0 0.0 0.0; + end relative; +; + end orientation; +;------------------------------------------------------------------------------------------------------------------------------- +begin constraint; +; + begin fix0; fixed to ground in translation and rotation of node 1 + body tower; + end fix0; +; + begin fix1; + body1 tower last ; + body2 towertop 1; + end fix1; +; +[Free shaft rot] begin bearing1; free bearing +[Free shaft rot] name shaft_rot; +[Free shaft rot] body1 towertop last; +[Free shaft rot] body2 shaft 1; +[Free shaft rot] bearing_vector 2 0.0 0.0 -1.0; x=coo (0=global.1=body1.2=body2) vector in body2 coordinates where the free rotation is present +[Free shaft rot] end bearing1; +; +[Rotor locked] begin bearing3; free bearing +[Rotor locked] name shaft_rot; +[Rotor locked] body1 towertop last; +[Rotor locked] body2 shaft 1; +[Rotor locked] bearing_vector 2 0.0 0.0 -1.0; x=coo (0=global.1=body1.2=body2) vector in body2 coordinates where the free rotation is present +[Rotor locked] omegas 0.0 ; +[Rotor locked] end bearing3; +; + begin fix1; + body1 tower last ; + body2 shaft_nonrotate 1; + end fix1; +; + begin fix1; + body1 shaft last ; + body2 hub1 1; + end fix1; +; + begin fix1; + body1 shaft last ; + body2 hub2 1; + end fix1; +; + begin fix1; + body1 shaft last ; + body2 hub3 1; + end fix1; +; + begin bearing2; + name pitch1; + body1 hub1 last; + body2 blade1 1; + bearing_vector 2 0.0 0.0 -1.0; + end bearing2; +; + begin bearing2; + name pitch2; + body1 hub2 last; + body2 blade2 1; + bearing_vector 2 0.0 0.0 -1.0; + end bearing2; +; + begin bearing2; + name pitch3; + body1 hub3 last; + body2 blade3 1; + bearing_vector 2 0.0 0.0 -1.0; + end bearing2; +end constraint; +; +end new_htc_structure; +;---------------------------------------------------------------------------------------------------------------------------------------------------------------- +begin wind ; + density 1.225 ; + wsp [Windspeed] ; + tint [TI] ; + horizontal_input 1 ; + windfield_rotations [wdir] 8.0 0.0 ; yaw, tilt (positive=upflow=wind coming from below), rotation + center_pos0 0.0 0.0 -127 ; hub heigth + shear_format 3 [shear_exp] ; + turb_format [tu_model] ; 0=none, 1=mann,2=flex + tower_shadow_method 3 ; 0=none, 1=potential flow, 2=jet + scale_time_start [t0] ; + wind_ramp_factor 0.0 [t0] [wsp factor] 1.0 ; + [gust] iec_gust [gust_type] [G_A] [G_phi0] [G_t0] [G_T] ; +; +[staircase] wind_ramp_abs 400.0 401.0 0.0 1.0 ; wsp. after the step: 5.0 +[staircase] wind_ramp_abs 501.0 502.0 0.0 1.0 ; wsp. after the step: 6.0 +[staircase] wind_ramp_abs 602.0 603.0 0.0 1.0 ; wsp. after the step: 7.0 +[staircase] wind_ramp_abs 703.0 704.0 0.0 1.0 ; wsp. after the step: 8.0 +[staircase] wind_ramp_abs 804.0 805.0 0.0 1.0 ; wsp. after the step: 9.0 +[staircase] wind_ramp_abs 905.0 906.0 0.0 1.0 ; wsp. after the step: 10.0 +[staircase] wind_ramp_abs 1006.0 1007.0 0.0 1.0 ; wsp. after the step: 11.0 +[staircase] wind_ramp_abs 1107.0 1108.0 0.0 1.0 ; wsp. after the step: 12.0 +[staircase] wind_ramp_abs 1208.0 1209.0 0.0 1.0 ; wsp. after the step: 13.0 +[staircase] wind_ramp_abs 1309.0 1310.0 0.0 1.0 ; wsp. after the step: 14.0 +[staircase] wind_ramp_abs 1410.0 1411.0 0.0 1.0 ; wsp. after the step: 15.0 +[staircase] wind_ramp_abs 1511.0 1512.0 0.0 1.0 ; wsp. after the step: 16.0 +[staircase] wind_ramp_abs 1612.0 1613.0 0.0 1.0 ; wsp. after the step: 17.0 +[staircase] wind_ramp_abs 1713.0 1714.0 0.0 1.0 ; wsp. after the step: 18.0 +[staircase] wind_ramp_abs 1814.0 1815.0 0.0 1.0 ; wsp. after the step: 19.0 +[staircase] wind_ramp_abs 1915.0 1916.0 0.0 1.0 ; wsp. after the step: 20.0 +[staircase] wind_ramp_abs 2016.0 2017.0 0.0 1.0 ; wsp. after the step: 21.0 +[staircase] wind_ramp_abs 2117.0 2118.0 0.0 1.0 ; wsp. after the step: 22.0 +[staircase] wind_ramp_abs 2218.0 2219.0 0.0 1.0 ; wsp. after the step: 23.0 +[staircase] wind_ramp_abs 2319.0 2320.0 0.0 1.0 ; wsp. after the step: 24.0 +[staircase] wind_ramp_abs 2420.0 2421.0 0.0 1.0 ; wsp. after the step: 25.0 + ; +[windramp] wind_ramp_abs 400.0 2200.0 0.0 21.0 ; wsp. after the step: 25.0 +[windramp] wind_ramp_abs 2400.0 4200.0 0.0 -21.0 ; wsp. after the step: 25.0 + ; + begin mann ; + create_turb_parameters 29.4 1.0 3.9 [tu_seed] 1.0 ; L, alfaeps, gamma, seed, highfrq compensation + filename_u ./[turb_dir][Turb base name]u.bin ; + filename_v ./[turb_dir][Turb base name]v.bin ; + filename_w ./[turb_dir][Turb base name]w.bin ; + box_dim_u 8192 [turb_dx] ; + box_dim_v 32 7.5; + box_dim_w 32 7.5; + std_scaling 1.0 0.7 0.5 ; + end mann ; +; + begin tower_shadow_potential_2; + tower_mbdy_link tower; + nsec 2; + radius 0.0 4.15 ; + radius 123.6 2.75 ; (radius) + end tower_shadow_potential_2; +end wind; +; +begin aerodrag ; + begin aerodrag_element ; + mbdy_name tower; + aerodrag_sections uniform 10 ; + nsec 2 ; + sec 0.0 0.6 8.3 ; tower bottom + sec 123.6 0.6 5.5 ; tower top (diameter) + end aerodrag_element; +; + begin aerodrag_element ; Nacelle drag side + mbdy_name shaft; + aerodrag_sections uniform 2 ; + nsec 2 ; + sec 0.0 0.8 10.0 ; + sec 7.01 0.8 10.0 ; + end aerodrag_element; +end aerodrag; +; +begin aero ; + nblades 3; + hub_vec shaft -3 ; rotor rotation vector (normally shaft composant directed from pressure to sustion side) + link 1 mbdy_c2_def blade1; + link 2 mbdy_c2_def blade2; + link 3 mbdy_c2_def blade3; + ae_filename ./data/AVATAR_10MW_RWT_ae.dat ; + pc_filename ./data/AVATAR_10MW_RWT_pc_hama_v1.dat ; + induction_method [Induction] ; 0=none, 1=normal + aerocalc_method 1 ; 0=ingen aerodynamic, 1=med aerodynamic + aero_distribution ae_file 1 ; + ae_sets 1 1 1; + tiploss_method 1 ; 0=none, 1=prandtl + dynstall_method [Dyn stall] ; 0=none, 1=stig øye method,2=mhh method +; +; ; --- Flaps --- ; + ; begin dynstall_ateflap ; + ; Ais 0.165 0.335 0.0 ; + ; Bis 0.0455 0.30 0.30 ; + ; flap 59.5925 85.5023 ./data/Flap_dturwt1_Thk24.ds ; Flap Sec: 1 + ; end dynstall_ateflap; +end aero ; +;------------------------------------------------------------------------------------------------- +begin dll; +; + begin type2_dll; + name risoe_controller ; + filename ./control/risoe_controller.dll ; + dll_subroutine_init init_regulation ; + dll_subroutine_update update_regulation ; + arraysizes_init 52 1 ; + arraysizes_update 12 100 ; + begin init ; + ; Overall parameters + constant 1 10000.0 ; Rated power [kW] + constant 2 0.628 ; Minimum rotor speed [rad/s] + constant 3 1.005 ; Rated rotor speed [rad/s] + constant 4 15.6E+06 ; Maximum allowable generator torque [Nm] + constant 5 100.0 ; Minimum pitch angle, theta_min [deg], + ; if |theta_min|>90, then a table of <wsp,theta_min> is read ; + ; from a file named 'wpdata.n', where n=int(theta_min) + constant 6 90.0 ; Maximum pitch angle [deg] + constant 7 10.0 ; Maximum pitch velocity operation [deg/s] + constant 8 0.4 ; Frequency of generator speed filter [Hz] + constant 9 0.7 ; Damping ratio of speed filter [-] + constant 10 1.64 ; Frequency of free-free DT torsion mode [Hz], if zero no notch filter used + ; Partial load control parameters + constant 11 0.9648030e+07 ; Optimal Cp tracking K factor [Nm/(rad/s)^2], ; + ; Qg=K*Omega^2, K=eta*0.5*rho*A*Cp_opt*R^3/lambda_opt^3 + constant 12 1.047610E+08 ; Proportional gain of torque controller [Nm/(rad/s)] + constant 13 0.153367E+08 ; Integral gain of torque controller [Nm/rad] + constant 14 0.0 ; Differential gain of torque controller [Nm/(rad/s^2)] +; Full load control parameters + constant 15 1 ; Generator control switch [1=constant power, 2=constant torque] + constant 16 0.762489 ; Proportional gain of pitch controller [rad/(rad/s)] + constant 17 0.224086 ; Integral gain of pitch controller [rad/rad] + constant 18 0.0 ; Differential gain of pitch controller [rad/(rad/s^2)] + constant 19 0.4e-9 ; Proportional power error gain [rad/W] + constant 20 0.4e-9 ; Integral power error gain [rad/(Ws)] + constant 21 10.6824 ; Coefficient of linear term in aerodynamic gain scheduling, KK1 [deg] + constant 22 601.25499 ; Coefficient of quadratic term in aerodynamic gain scheduling, KK2 [deg^2] & + ; (if zero, KK1 = pitch angle at double gain) + constant 23 1.3 ; Relative speed for double nonlinear gain [-] +; Cut-in simulation parameters + constant 24 [Cut-in time] ; Cut-in time [s] + constant 25 1.0 ; Time delay for soft start of torque [1/1P] +; Cut-out simulation parameters + constant 26 [Cut-out time] ; Cut-out time [s] + constant 27 5.0 ; Time constant for linear torque cut-out [s] + constant 28 [Stop type] ; Stop type [1=normal, 2=emergency] + constant 29 1.0 ; Time delay for pitch stop after shut-down signal [s] + constant 30 [Pitvel 1] ; Maximum pitch velocity during initial period of stop [deg/s] + constant 31 3.0 ; Time period of initial pitch stop phase [s] (maintains pitch speed specified in constant 30) + constant 32 [Pitvel 2] ; Maximum pitch velocity during final phase of stop [deg/s] +; Expert parameters (keep default values unless otherwise given) + constant 33 2.0 ; Lower angle above lowest minimum pitch angle for switch [deg] + constant 34 2.0 ; Upper angle above lowest minimum pitch angle for switch [deg], if equal then hard switch + constant 35 95.0 ; Ratio between filtered speed and reference speed for fully open torque limits [%] + constant 36 2.0 ; Time constant of 1st order filter on wind speed used for minimum pitch [1/1P] + constant 37 1.0 ; Time constant of 1st order filter on pitch angle used for gain scheduling [1/1P] +; Drivetrain damper + constant 38 0.0 ; Proportional gain of active DT damper [Nm/(rad/s)], requires frequency in input 10 +; Over speed + constant 39 25.0 ; Overspeed percentage before initiating turbine controller alarm (shut-down) [%] +; Additional non-linear pitch control term (not used when all zero) + constant 40 0.0 ; Err0 [rad/s] + constant 41 0.0 ; ErrDot0 [rad/s^2] + constant 42 0.0 ; PitNonLin1 [rad/s] +; Storm control command + constant 43 28.0 ; Wind speed 'Vstorm' above which derating of rotor speed is used [m/s] + constant 44 28.0 ; Cut-out wind speed (only used for derating of rotor speed in storm) [m/s] +; Safety system parameters + constant 45 25.0 ; Overspeed percentage before initiating safety system alarm (shut-down) [%] + constant 46 1.5 ; Max low-pass filtered tower top acceleration level [m/s^2] - max in DLC 1.3=1.1 m/s^2 +; Turbine parameter + constant 47 205.8 ; Nominal rotor diameter [m] +; Parameters for rotor inertia reduction in variable speed region + constant 48 0.0 ; Proportional gain on rotor acceleration in variable speed region [Nm/(rad/s^2)] (not used when zero) +; Parameters for alternative partial load controller with PI regulated TSR tracking + constant 49 0.0 ; Optimal tip speed ratio [-] (only used when K=constant 11 = 0 otherwise Qg=K*Omega^2 is used) +; Parameters for adding aerodynamic drivetrain damping on gain scheduling + constant 50 0.0 ; Proportional gain of aerodynamic DT damping [Nm/(rad/s)] + constant 51 0.0 ; Coefficient of linear term in aerodynamic DT damping scheduling, KK1 [deg] + constant 52 0.0 ; Coefficient of quadratic term in aerodynamic DT damping scheduling, KK2 [deg^2] + end init ; +; + begin output ; + general time ; [s] + constraint bearing1 shaft_rot 1 only 2 ; Drivetrain speed [rad/s] + constraint bearing2 pitch1 1 only 1; [rad] + constraint bearing2 pitch2 1 only 1; [rad] + constraint bearing2 pitch3 1 only 1; [rad] + wind free_wind 1 0.0 0.0 -127 ; Global coordinates at hub height + dll inpvec 2 2 ; Elec. power from generator servo .dll + dll inpvec 2 8 ; Grid state flag from generator servo .dll + mbdy state acc tower 10 1.0 global only 1 ; Tower top x-acceleration [m/s^2] + mbdy state acc tower 10 1.0 global only 2 ; Tower top y-acceleration [m/s^2] + end output; + end type2_dll; +; + begin type2_dll; + name generator_servo ; + filename ./control/generator_servo.dll ; + dll_subroutine_init init_generator_servo ; + dll_subroutine_update update_generator_servo ; + arraysizes_init 7 1 ; + arraysizes_update 4 8 ; + begin init ; + constant 1 20.0 ; Frequency of 2nd order servo model of generator-converter system [Hz] + constant 2 0.9 ; Damping ratio 2nd order servo model of generator-converter system [-] + constant 3 15.6E+06 ; Maximum allowable LSS torque (pull-out torque) [Nm] + constant 4 0.94 ; Generator efficiency [-] + constant 5 1.0 ; Gearratio [-] + constant 6 0.0 ; Time for half value in softstart of torque [s] + constant 7 [Grid loss time] ; Time for grid loss [s] + end init ; +; + begin output; + general time ; Time [s] + dll inpvec 1 1 ; Electrical torque reference [Nm] + constraint bearing1 shaft_rot 1 only 2; Generator LSS speed [rad/s] + mbdy momentvec shaft 1 1 shaft only 3 ; Shaft moment [kNm] (Qshaft) + end output; +; + begin actions; + mbdy moment_int shaft 1 -3 shaft towertop 2 ; Generator LSS torque [Nm] + end actions; + end type2_dll; +; + begin type2_dll; + name mech_brake ; + filename ./control/mech_brake.dll ; + dll_subroutine_init init_mech_brake ; + dll_subroutine_update update_mech_brake ; + arraysizes_init 7 1 ; + arraysizes_update 4 6 ; + begin init ; + constant 1 5225.35 ; Fully deployed maximum brake torque [Nm] (0.6*max torque) + constant 2 100.0 ; Parameter alpha used in Q = tanh(omega*alpha), typically 1e2/Omega_nom + constant 3 0.5 ; Delay time for before brake starts to deploy [s] + constant 4 0.74 ; Time for brake to become fully deployed [s] + end init ; +; + begin output; + general time ; Time [s] + constraint bearing1 shaft_rot 1 only 2 ; Generator LSS speed [rad/s] + dll inpvec 1 25 ; Command to deploy mechanical disc brake [0,1] + end output; +; + begin actions; + mbdy moment_int shaft 1 -3 shaft towertop 2 ; Generator LSS torque [Nm] + end actions; + end type2_dll; +; + begin type2_dll; + name servo_with_limits ; + filename ./control/servo_with_limits.dll ; + dll_subroutine_init init_servo_with_limits ; + dll_subroutine_update update_servo_with_limits ; + arraysizes_init 10 1 ; + arraysizes_update 5 9 ; + begin init ; + constant 1 3 ; Number of blades [-] + constant 2 1.0 ; Frequency of 2nd order servo model of pitch system [Hz] + constant 3 0.7 ; Damping ratio 2nd order servo model of pitch system [-] + constant 4 10.0 ; Max. pitch speed [deg/s] + constant 5 15.0 ; Max. pitch acceleration [deg/s^2] + constant 6 -5.0 ; Min. pitch angle [deg] + constant 7 90.0 ; Max. pitch angle [deg] + constant 8 [Time pitch runaway] ; Time for pitch runaway [s] + constant 9 [Time stuck DLC22b] ; Time for stuck blade 1 [s] + constant 10 [Pitch 1 DLC22b] ; Angle of stuck blade 1 [deg] + end init ; + begin output; + general time ; Time [s] + dll inpvec 1 2 ; Pitch1 demand angle [rad] + dll inpvec 1 3 ; Pitch2 demand angle [rad] + dll inpvec 1 4 ; Pitch3 demand angle [rad] + dll inpvec 1 26 ; Flag for emergency pitch stop [0=off/1=on] + end output; +; + begin actions; + constraint bearing2 angle pitch1 ; Angle pitch1 bearing [rad] + constraint bearing2 angle pitch2 ; Angle pitch2 bearing [rad] + constraint bearing2 angle pitch3 ; Angle pitch3 bearing [rad] + end actions; + end type2_dll; +; +; --- DLL for tower-blade tip distance -- ; + begin type2_dll; + name disttowtip ; + filename ./control/towclearsens.dll ; + dll_subroutine_init initialize ; + dll_subroutine_update update ; + arraysizes_init 1 1 ; + arraysizes_update 12 4 ; + begin init ; + constant 1 3.87 ; Tower radius close to downward blade tip [m] + end init ; + begin output; + mbdy state pos tower 5 0.00 global ; [1,2,3]. Tower position: 24.58 m + mbdy state pos blade1 26 1.0 global ; [4,5,6] + mbdy state pos blade2 26 1.0 global ; [7,8,9] + mbdy state pos blade3 26 1.0 global ; [10,11,12] + end output; + end type2_dll; +end dll; +; +;---------------------------------------------------------------------------------------------------------------------------------------------------------------- +; +begin output; + filename ./res/[Case folder]/[Case id.] ; + time [t0] [time stop] ; + data_format [out_format]; + buffer 1 ; +; + general time; + constraint bearing1 shaft_rot 2; angle and angle velocity + constraint bearing2 pitch1 5; angle and angle velocity + constraint bearing2 pitch2 5; angle and angle velocity + constraint bearing2 pitch3 5; angle and angle velocity + aero omega ; + aero torque; + aero power; + aero thrust; + wind free_wind 1 0.0 0.0 -127; local wind at fixed position: coo (1=global,2=non-rotation rotor coo.), pos x, pos y, pos z + ; non rotating coordinates shaft tip: equivalent to stationary hub in BLADED + mbdy momentvec shaft 3 2 shaft_nonrotate # non rotating shaft tip ; + mbdy forcevec shaft 3 2 shaft_nonrotate # non rotating shaft tip ; + ; Moments: + mbdy momentvec tower 1 1 tower # tower base ; + mbdy momentvec tower 19 2 tower # tower yaw bearing ; + mbdy momentvec shaft 4 1 shaft # main bearing ; + mbdy momentvec blade1 3 2 blade1 # blade 1 root ; + mbdy momentvec blade2 3 2 blade2 # blade 2 root ; + mbdy momentvec blade3 3 2 blade3 # blade 3 root ; + ; blade 2,3 root section loads + mbdy momentvec blade2 3 2 local # blade 2 section root; + mbdy momentvec blade3 3 2 local # blade 3 section root; + ; blade 1 sectional loads in local coordinates + mbdy momentvec blade1 2 2 local # blade 1 section; + mbdy momentvec blade1 3 2 local # blade 1 section root; + mbdy momentvec blade1 4 2 local # blade 1 section; + mbdy momentvec blade1 5 2 local # blade 1 section; + mbdy momentvec blade1 6 2 local # blade 1 section; + mbdy momentvec blade1 7 2 local # blade 1 section; + mbdy momentvec blade1 8 2 local # blade 1 section; + mbdy momentvec blade1 9 2 local # blade 1 section; + mbdy momentvec blade1 10 2 local # blade 1 section; + mbdy momentvec blade1 11 2 local # blade 1 section; + mbdy momentvec blade1 12 2 local # blade 1 section; + mbdy momentvec blade1 13 2 local # blade 1 section; + mbdy momentvec blade1 14 2 local # blade 1 section; + mbdy momentvec blade1 15 2 local # blade 1 section; + mbdy momentvec blade1 16 2 local # blade 1 section; + mbdy momentvec blade1 17 2 local # blade 1 section; + mbdy momentvec blade1 18 2 local # blade 1 section; + mbdy momentvec blade1 19 2 local # blade 1 section; + mbdy momentvec blade1 20 2 local # blade 1 section; + mbdy momentvec blade1 21 2 local # blade 1 section; + mbdy momentvec blade1 22 2 local # blade 1 section; + mbdy momentvec blade1 23 2 local # blade 1 section; + mbdy momentvec blade1 24 2 local # blade 1 section; + mbdy momentvec blade1 25 2 local # blade 1 section; + mbdy momentvec blade1 26 2 local # blade 1 section; + ; blade root out and in of plane forces + mbdy momentvec blade1 3 2 hub1 # blade 1 root ; + mbdy momentvec blade2 3 2 hub2 # blade 2 root ; + mbdy momentvec blade3 3 2 hub3 # blade 3 root ; +; mbdy momentvec blade1 14 1 local # blade 1 50% local e coo ; +; mbdy momentvec blade2 14 1 local # blade 2 50% local e coo ; +; mbdy momentvec blade3 14 1 local # blade 3 50% local e coo ; + ; Displacements and accellerations + mbdy state pos tower 19 1.0 global only 1 # Tower top FA displ; + mbdy state pos tower 19 1.0 global only 2 # Tower top SS displ; + mbdy state acc tower 19 1.0 global only 1 # Tower top FA acc; + mbdy state acc tower 19 1.0 global only 2 # Tower top SS acc; +; + mbdy state pos blade1 26 1.0 global # gl blade 1 tip pos ; + mbdy state pos blade2 26 1.0 global # gl blade 2 tip pos ; + mbdy state pos blade3 26 1.0 global # gl blade 3 tip pos ; + mbdy state pos blade1 26 1.0 blade1 # blade 1 tip pos ; + mbdy state pos blade2 26 1.0 blade2 # blade 2 tip pos ; + mbdy state pos blade3 26 1.0 blade3 # blade 3 tip pos ; +; + mbdy state pos tower 5 0.00 global ; [1,2,3]. Tower position: 24.58 m +; + ; elastic twist (torsional deformation) along the blade + aero tors_ang 1 45.56; + aero tors_ang 1 59.19; + aero tors_ang 1 70.87; + aero tors_ang 1 80.61; + aero tors_ang 1 84.50; + aero tors_ang 1 88.40; + aero tors_ang 1 92.29; + aero tors_ang 1 96.19; + aero tors_ang 1 98.13; + aero tors_ang 1 100.08; tip +; +; - Monitor Aerodynamics - ; + aero windspeed 3 1 1 72.5; + aero alfa 1 72.5; + aero alfa 2 72.5; + aero alfa 3 72.5; + aero cl 1 72.5; + aero cl 2 72.5; + aero cl 3 72.5; + aero cd 1 72.5; + aero cd 2 72.5; + aero cd 3 72.5; +; - Main Controller - +; Output to controller + ; dll outvec 1 1 # time; + ; dll outvec 1 2 # slow speed shaft rad/s; + ; dll outvec 1 3 # pitch angle 1; + ; dll outvec 1 4 # pitch angle 2; + ; dll outvec 1 5 # pitch angle 3; + ; dll outvec 1 6 # WSP_x_global; + ; dll outvec 1 7 # WSP_y_global; + ; dll outvec 1 8 # WSP_z_global; + ; dll outvec 1 9 # Elec. pwr ; + ; dll outvec 1 10 # Grid flag ; +; Input from controller + dll inpvec 1 1 # Generator torque reference [Nm] ; + dll inpvec 1 2 # Pitch angle reference of blade 1 [rad] ; + dll inpvec 1 3 # Pitch angle reference of blade 2 [rad] ; + dll inpvec 1 4 # Pitch angle reference of blade 3 [rad] ; + ; dll inpvec 1 5 # Power reference [W] ; + ; dll inpvec 1 6 # Filtered wind speed [m/s] ; + ; dll inpvec 1 7 # Filtered rotor speed [rad/s]; + ; dll inpvec 1 8 # Filtered rotor speed error for torque [rad/s]; + ; dll inpvec 1 9 # Bandpass filtered rotor speed [rad/s]; + ; dll inpvec 1 10 # Proportional term of torque contr. [Nm] ; + ; dll inpvec 1 11 # Integral term of torque controller [Nm] ; + ; dll inpvec 1 12 # Minimum limit of torque [Nm] ; + ; dll inpvec 1 13 # Maximum limit of torque [Nm] ; + dll inpvec 1 14 # Torque limit switch based on pitch [-] ; + ; dll inpvec 1 15 # Filtered rotor speed error for pitch [rad/s]; + ; dll inpvec 1 16 # Power error for pitch [W] ; + ; dll inpvec 1 17 # Proportional term of pitch controller [rad] ; + ; dll inpvec 1 18 # Integral term of pitch controller [rad] ; + ; dll inpvec 1 19 # Minimum limit of pitch [rad] ; + ; dll inpvec 1 20 # Maximum limit of pitch [rad] ; + dll inpvec 1 21 # Torque reference from DT dammper [Nm] ; + dll inpvec 1 22 # Status signal [-] ; + ; dll inpvec 1 23 # Total added pitch rate [rad/s] ; + dll inpvec 1 24 # Filtered Mean pitch for gain sch [rad] ; + dll inpvec 1 25 # Flag for mechnical brake [0=off/1=on] ; + dll inpvec 1 26 # Flag for emergency pitch stop [0=off/1=on] ; + dll inpvec 1 27 # LP filtered acceleration level [m/s^2] ; +; ; Output to generator model + ; dll outvec 2 1 # time ; + ; dll outvec 2 2 # Electrical torque reference [Nm] ; + ; dll outvec 2 3 # omega LSS ; +; Input from generator model + dll inpvec 2 1 # Mgen LSS [Nm]; + dll inpvec 2 2 # Pelec W ; + dll inpvec 2 3 # Mframe ; + dll inpvec 2 4 # Mgen HSS ; + dll inpvec 2 5 # Generator Pmech kW ; + dll inpvec 2 6 # Filtered Gen speed ; + dll inpvec 2 7 # Resulting Eff ; + dll inpvec 2 8 # Grid flag ; +; Output to mechanical brake + dll inpvec 3 1 # Brake torque [Nm] ; +; ; Input from mechanical brake + ; dll outvec 3 1 # Time [s] ; + ; dll outvec 3 2 # Generator LSS speed [rad/s] ; + ; dll outvec 3 3 # Deploy brake ; +; ; Output to pitch servo + ; dll outvec 4 1 # time; + ; dll outvec 4 2 # pitchref 1; + ; dll outvec 4 3 # pitchref 2; + ; dll outvec 4 4 # pitchref 3; + ; dll outvec 4 5 # Emerg. stop; +; Input from pitch servo + dll inpvec 4 1 # pitch 1; + dll inpvec 4 2 # pitch 2; + dll inpvec 4 3 # pitch 3; +; Check tower clearence + dll inpvec 5 1 # Bltip tow min d [m]; +; general constant 1.0 ; constant 1.0 - to mesure activity of flap in terms of displacement +; - Check on flap control: + ; ; - From flap controller: - + ; dll type2_dll cyclic_flap_controller inpvec 1 # Ref flap signal bl 1 [deg] ; + ; dll type2_dll cyclic_flap_controller inpvec 2 # Ref flap signal bl 2 [deg] ; + ; dll type2_dll cyclic_flap_controller inpvec 3 # Ref flap signal bl 3 [deg] ; + ; ; - Mbc values + ; dll type2_dll cyclic_flap_controller inpvec 4 # momvec mbc cos [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 5 # momvec mbc sin [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 6 # momvec mbc filt cos [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 7 # momvec mbc filt sin [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 8 # flap mbc cos [deg] ; + ; dll type2_dll cyclic_flap_controller inpvec 9 # flap mbc sin [deg] ; + ; ; - Check Gains - ; + ; dll type2_dll cyclic_flap_controller inpvec 10 # lead angle [deg] ; + ; dll type2_dll cyclic_flap_controller inpvec 11 # scaling on rat pow [-] ; + ; dll type2_dll cyclic_flap_controller inpvec 12 # actual kp [deg/kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 13 # actual ki [deg/kNms] ; + ; dll type2_dll cyclic_flap_controller inpvec 14 # actual kd [deg s/kNm] ; + ; ; - Actual deflections - + ; [dis_setbeta] aero beta 1 1 ; + ; [dis_setbeta] aero beta 2 1 ; + ; [dis_setbeta] aero beta 3 1 ; + ; ; - Mbc values + ; dll type2_dll cyclic_flap_controller inpvec 4 # momvec mbc cos [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 5 # momvec mbc sin [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 6 # momvec mbc filt cos [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 7 # momvec mbc filt sin [kNm] ; + ; dll type2_dll cyclic_flap_controller inpvec 8 # flap mbc cos [deg] ; + ; dll type2_dll cyclic_flap_controller inpvec 9 # flap mbc sin [deg] ; +end output; +; +exit; diff --git a/wetb/prepost/tests/test_Simulations.py b/wetb/prepost/tests/test_Simulations.py new file mode 100644 index 0000000000000000000000000000000000000000..f4c9cfa48cc7320772a29a6926b2f80b6b3b84b5 --- /dev/null +++ b/wetb/prepost/tests/test_Simulations.py @@ -0,0 +1,55 @@ +''' +Created on 05/11/2015 + +@author: MMPE +''' +from __future__ import unicode_literals +from __future__ import print_function +from __future__ import division +from __future__ import absolute_import +from future import standard_library +standard_library.install_aliases() + +import unittest +import os +import filecmp + +from wetb.prepost import dlctemplate as tmpl + + +class TestGenerateInputs(unittest.TestCase): + + def setUp(self): + self.basepath = os.path.dirname(__file__) + + def test_launch_dlcs_excel(self): + # manually configure paths, HAWC2 model root path is then constructed as + # p_root_remote/PROJECT/sim_id, and p_root_local/PROJECT/sim_id + # adopt accordingly when you have configured your directories differently + p_root_remote = os.path.join(self.basepath, 'data/') + p_root_local = os.path.join(self.basepath, 'data/') + # project name, sim_id, master file name + tmpl.PROJECT = 'demo_dlc' + tmpl.MASTERFILE = 'demo_dlc_master_A0001.htc' + # MODEL SOURCES, exchanche file sources + tmpl.P_RUN = os.path.join(p_root_remote, tmpl.PROJECT, 'remote/') + tmpl.P_SOURCE = os.path.join(p_root_local, tmpl.PROJECT, 'source/') + # location of the master file + tmpl.P_MASTERFILE = os.path.join(p_root_local, tmpl.PROJECT, + 'source', 'htc', '_master/') + # location of the pre and post processing data + tmpl.POST_DIR = os.path.join(p_root_remote, tmpl.PROJECT, 'remote', + 'prepost/') + tmpl.force_dir = tmpl.P_RUN + tmpl.launch_dlcs_excel('remote', silent=True) + + remote = os.path.join(p_root_remote, tmpl.PROJECT, 'remote') + ref = os.path.join(p_root_remote, tmpl.PROJECT, 'ref') + cmp = filecmp.dircmp(remote, ref) + self.assertTrue(len(cmp.diff_files)==0) + self.assertTrue(len(cmp.right_only)==0) + self.assertTrue(len(cmp.left_only)==0) + + +if __name__ == "__main__": + unittest.main()