Aerodynamics#
In HAWC2 there are different fidelity aerodynamic models available for both HAWTs and VAWTs. In addition, there are different sub-models to model different effects, such as the dynamic inflow model and unsteady 2-D airfoil aerodynamic model (usually referred to as the dynamic stall model). The different models for the simulation are chosen by command blocks including different commands. Some recommendations are listed as follows to ease the choice of the models.
1) For both HAWTs and VAWTs, the MHH Beddoes dynamic stall model is always recommended to be turned on, even for steady-state simulations. This is because the model includes lift, drag and moment terms that depend on the rate of rotation and acceleration of the airfoil section. These terms will generally be constant and non-zero for steady state simulations even with stiff turbines and uniform inflow. For more details, please see Li et al. [LGP+22], Pirrung and Gaunaa [PG18].
2) For aeroelastic simulations of HAWTs, the aerodynamic model have different fidelities and different computational efforts. The BEM model with dynamic inflow implemented on a polar grid, as described in Madsen et al. [MLP+20], is enabled with the command ‘induction_method 1‘ in the aero command block.
There are higher fidelity models available since HAWC2 13.0: the near wake model and vortex cylinder model that compute the effects of swept blades and non-planar rotor geometry on the aerodynamic induction and consequently on the aerodynamic loads. For details see Li et al. [LGPH22], Li et al. [LGP+20], Li et al. [LPG+22]. The following commands in the ’aero’ block will enable both the near wake model and the vortex cylinder model, which corresponds to the highest fidelity modeling available in HAWC2. The computational time will be increased compared to BEM modeling, but the results for curved and deflected blades will be closer to lifting line or CFD simulations as shown in the references cited above.
induction_method 2 ;
begin bemwake_method ;
vortex_cylinder_model 1;
wake_rot_effect 1;
end bemwake_method ;
begin nearwake_method ;
nw_sweep 1;
end nearwake_method ;
Main command block - aero#
This module set up parameters for the aerodynamic specification of the rotor. It is also possible to submit aerodynamic forces to other structures as example the tower or nacelle, but see chapter (Aerodrag) regarding this. The module can be added as many times as requested if multiple aerodynamic rotors are needed.
Obl. |
Command name |
Explanation |
|---|---|---|
(*) |
name |
Name of rotor (in case of multiple rotors defined this is obligatory.) |
* |
nblades |
Must be the first line in aero commands! |
1. Number of blades |
||
* |
hub_vec |
Link to main-body vector that points downwind from the rotor under normal conditions. This corresponds to the direction from the pressure side of the rotor towards the suction side where the coordinate system is normally taken from the main shaft system. (For VAWTs: Link to main-body vector that defines the rotational direction. Currently it is only possible to model VAWTs that are clockwise rotating, if seen from above) |
1. mbdy name or ’old_input’ if old_htc_structure format is applied. |
||
2. mbdy coo. component (1=x, 2=y, 3=z). If negative the opposite direction used. Not used together with old_htc_structure input (specify a dummy number). |
||
3. Node number (optional). Node number on mbdy where rotor center is located. ’last’ can also be used (default if no value is present). |
||
* |
link |
Linker between structural blades and aerodynamic blades. There must be same number of link commands as nblades! |
1. blade number |
||
2. link chooser – options are |
||
- mbdy_c2_def (used with new structure format) |
||
- blade_c2_def (used with old structure format, see description below in this chapter) |
||
3. mbdy name (with new structure format), not used to anything with old structure format. |
||
* |
ae_filename |
1. Filename incl. relative path to file containing aerodynamic layout data (example ./data/hawc2_ae.dat) |
* |
pc_filename |
1. Filename incl. relative path to file containing profile coefficients (example ./data/hawc2_pc.dat) |
extrapolate_pc_thickness |
1. Choice for extrapolation of profile coefficients outside the thicknesses range given in the pc file. Options are: 0=no extrapolation, return error message if the thickness is out of bounds; 1=linear extrapolation (default); 2=use the value at the nearest bound (effectively no extrapolation). |
|
* |
induction_method |
1. Choice between which induction method that shall be used (0=none, 1=normal BEM dynamic induction, 2= Near Wake induction method, 3= VAWT Actuator Cylinder model, 4= VAWT Actuator Cylinder model coupled with Near Wake induction model providing tip loss correction for H-VAWTs) |
hub_type |
1. Defines the type of hub, to distinguish between HAWT and VAWT. (1=HAWT, 2=VAWT) (default=1). Note: This will be automatically set to 1 if induction_method=1 or 2; it will be automatically set to 2 if induction_method=3 or 4. So, this command only needs to be included if using induction_method=0. |
|
only_update_r_mono_incr |
1. Should the induction model be updated if the blade radius doesn’t monotonically increase towards the tip? Then some assumptions in the aerodynamic induction models are no longer valid and the crashes may occur. (0=always update, 1=only update if the radius is increasing monotonically, otherwise keep values from last time step)(default=0) |
|
rotate_sec |
Define rotation of section relative to default orientation. This command is needed when simulating a counter-clockwise rotating rotor. |
|
1. \(\theta_x\) (must be 0.0) |
||
2. \(\theta_y\) (0.0 (default, for clockwise-rotating rotor), 180.0 (for counter-clockwise rotating rotor)) |
||
3. \(\theta_z\) (must be 0.0) |
||
An illustrated example to convert from CW to CCW is available in the HAWC2Public/examples repository. |
||
* |
aerocalc_method |
1. Choice between which aerodynamic load calculation method that shall be used. (0=none, 1=normal) |
*[^W2HtFYqQsf][^W2HtFYqQsf]: Obligatory except if aero_distributions=”ae_file” |
aerosections |
Number of aerodynamic calculation points at a blade. The distribution is controlled via the “aero_distribution” command, see below. Note, this command is not allowed in combination with “aero_distribution=ae_file”. |
1. Number of points at each blade. |
||
aero_distribution |
1. Distribution method of aerodynamic calculation points. Options are: |
|
- “cosine” (default). The distribution is performed automatically using a cosine distribution which gives closest spacing at root and tip. |
||
- “default”. Same as “cosine”. Deprecated. |
||
- “linear”. The distribution is performed automatically using uniform spacing along the curved blade length. |
||
- “ae_file” set. The distribution is given with same spacing as values in the ae_file with set number corresponding to the specified blade number. |
||
2. blade number (only used for “ae_file”) |
||
* |
ae_sets |
Set number from ae_filename that is linked to blade 1,2,…,nblades |
1. set for blade number 1 |
||
2. set for blade number 2 |
||
. |
||
. |
||
. |
||
nblades. set for blade number nblades |
||
* |
tiploss_method |
1. Choice between which tip-loss model that shall be used (0=none, 1=prandtl (default), 2=Method described in Pirrung et al. [PvdLRGMF20]. |
Method 2 is only intended to be used when coupled to actuator disc methods, where a total velocity is sampled at the rotor disk and the induced velocity is generally not known. Method 2 modifies the angle of attack \(\alpha\), such that the lift is reduced to the size proposed by ShenShen et al. [SMSB05]. In addition to the force reduction proposed by Shen, the change in angle of attack also causes a force rotation. This approach is more consistent and gives better results for torque and power. In contrast to the recommended method 1(Prandtl), this method can be used if the induction calculation is turned off) |
||
2. Optional tuning parameter for method 2. (The parameter is called \(c2\) and defaults to 21. See equation in ShenShen et al. [SMSB05] between eq. 25 and eq 26). |
||
3. Optional tuning parameter for method 2. (The parameter is called \(h\) and should be between 0 and 1. When 0 (default), the original tip correction function of ShenShen et al. [SMSB05] is obtained. See equation 9 in PirrungPirrung et al. [PvdLRGMF20]. |
||
* |
dynstall_method |
1. Choice between which unsteady airfoil aerodynamics model that shall be used (0=none, 1=Stig Øye method (only stalled flow part, not recommended), 2 or 3=unified method combining MHH Beddoes method for sections without flaps and Gaunaa-Andersen-Bergami method with deformable Trailing Edge Flaps. For backwards compatibility, the default values for the attached flow indicial function terms are identical to the values used in the HAWC2 releases before 12.9. They correspond to the default values of the previous MHH model when choosing dynstall_method 2 and those for the previous ATEFlap model when choosing dynstall_method 3, see also Section Sub command block – dynstall_mhh or dynstall_ateflap). |
3d_correct_method |
Airfoil Cl values from the pc_file is modified for 3D effects. |
|
1. Correction method (1=Snel method for correction of Cl values) |
||
external_bladedata_dll |
Blade structural data are found in an external encrypted dll. If this command is present the following command lines shall not be present (ae_filename, pc_filename and ae_sets). |
|
1. Company name (that has been granted a password, eg. dtu). |
||
2. Password for opening this specific dll, eg. test1234 |
||
3. path and filename for the dll. eg. ./data/encr_blade_data.dll |
||
output_profile_coef_filename |
Interpolated profile coefficients at all aerodynamic calculation points are written into a data file. This command can not be used in combination with encrypted_profile_coef_filename. |
|
1. path and filename for the dll. eg. ./res/aero_profiles.dat |
Sub command block – dynstall_so#
Block that may be included if the Stig Øye dynamic stall method is chosen. If not included defaults parameters are automatically used. The Stig Øye model lacks the attached flow unsteady aerodynamics model and may lead to unphysical aeroelastic vibrations for example due to missing torsion rate terms.
Obl. |
Command name |
Explanation |
|---|---|---|
dclda |
1. Linear slope coefficient for unseparated flow (default=6.28) |
|
dcldas |
1. Linear slope coefficient for fully separated flow (default=3.14) |
|
alfs |
1. Angle of attack [deg] where profile flow is fully separated. (default=40) |
|
alrund |
1. Factor used to generate synthetic separated flow Cl values (default=40) |
|
taufak |
1. Time constant factor in first order filter for F function (default=10.0). Internally used as tau=taufak*chord*vrel |
Sub command block – dynstall_mhh or dynstall_ateflap#
This block may be included if the unified unsteady airfoil aerodynamics model is chosen that combines the MHH model Hansen et al. [HGrelaxAaM04], Li et al. [LGP+22], Pirrung and Gaunaa [PG18] and the ATEFlap model described in Bergami and Gaunaa [BG12].
These models were different until HAWC2 12.9 and are combined since HAWC2 13.0. For backwards compatibility, both names of the command block are recognized. If the block is not part of the .htc file, default values are used. The default values for the indicial function used in attached flow depend on which dynstall_method is chosen, again to ensure backwards compatibility. If dynstall_method 2 is chosen, a two term indicial function is used with the same default values as in the dynstall_MHH model up to HAWC2 12.9, approximating the response of a flat plate. If dynstall_method 3 is chosen, a three term indicial function method is used with the same default values as the dynstall_ATEFlap model up to HAWC2 12.9, approximating the response of a NACA 64-418 profile. See the following table for the exact values. Aside from these indicial function default values, dynstall_method 2 and 3 are identical since HAWC2 13.0.
The unified dynamic stall model is the recommended model for a turbine with or without trailing edge flaps. It consists of an attached flow part that covers the Theodorsen effect as well as torsion rate terms and added mass terms, as well as a dynamic stall part that simulates trailing edge stall. The Theodorsen effect, that is modeled as an effective angle of attack lagging behind the quasi steady angle of attack, is deactivated based on the separation point position, Pirrung and Gaunaa [PG18]. Typically, this makes it unnecessary to deactivate the model in more demanding cases such as standstill. However, for very fast, large amplitude changes of angle of attack, combined with low relative velocities, which may for example occur for a VAWT at very low tip speed ratio, angles of attack around 180 degrees may be reached faster coming from the attached flow region than the flow can separate. This can lead to unphysical discontinuities in lift and drag coefficient and the user is advised to either tune the time constants or deactivate the model in this case.
If a flap section is defined, the model requires a .ds input file containing pre-processed steady aerodynamic data for the blade sections containing a flap (see Section Data format for the flap steady aerodynamic input (.ds file) for the file specifications). Sections without any flap are attributed steady input data according to the aerodynamic layout specified in the ae_filename.
The dynamic stall part of the model interpolates between an attached flow lift coefficient curve, which extends the linear lift region of the airfoil polar, and a fully separated lift coefficient. The interpolation is done according to a separation point position that is between 0 (separation point at leading edge: fully separated flow) and 1 (separation point at trailing edge: fully attached flow). How these lift coefficients and the steady state separation point position are determined is described in Hansen et al. [HGrelaxAaM04]. Since HAWC2 13.0, the model will deactivate itself for the aerodynamic sections where 1) the thickness is above a user defined maximum value (default: 99.99% thickness), 2) a reasonable attached flow region couldn’t be found or 3) the determined steady state separation point is outside of the airfoil chord for some angle of attack values. This deactivation will likely only trigger for sections close to the root, that are either a cylinder or interpolated between a very thick airfoil and a cylinder. A logfile message will inform about the deactivation. If the airfoil thickness limit is exceeded, the airfoil data preprocessor will not run so output values of for example attached flow lift gradient in the deactivation logfile message will be dummy values. The maximum allowable thickness max_thickness, the minimum allowable linear region lift gradient min_dclda and the maximum allowable separation point value max_fsep where the model is still active can be user defined, see the following table.
The user can choose to output the dynamic stall data for all airfoil section to ensure that the automatic preprocessing works as intended. The output files contain the following information: The first 7 lines contain a logical determining if the model was deactivated (T/F), the zero lift AOA alfa0, the linear lift region lift gradient dclda, the lower AOA of full separation alfa_fs_l, the AOAs at the border of the attached flow region alfa_sl_neg and alfa_sl_pos and the higher AOA of full separation alfa_fs_u. Then follow 6 columns of preprocessed airfoil data: the range of AOAs in the first column, and then as function of those AOAs the limited attached flow lift coefficient cl_att_lim, the lift coefficient cl_input given in the input polar data, the linear lift coefficient cllin, the fully separated lift coefficient cl_fullsep and the separation point position f_point.
Due to the torsion rate and added mass terms, the lift coefficients predicted by this unsteady airfoil aerodynamics model can reach very high values. The torsion rate lift coefficient is \(c_{l,tors}=\pi T_0 \dot{\theta}\) (Eq (5) in Pirrung and Gaunaa [PG18]), and the added mass normal force coefficient \(c_{n,acc}=-\pi T_0 \frac{\ddot{y}}{U}\) (Eq (13) in Pirrung and Gaunaa [PG18]). The term \(T_0\) in these equations is \(T_0=c/(2 U)\) with the chord \(c\) and the relative velocity \(U\); \(\dot{\theta}\) is the rate of rotation of the airfoil and \(\ddot{y}\) is the acceleration of the airfoil perpendicular to the chord. The lift coefficient from Eq (5) has a relative velocity in the denominator. The normal force coefficient from Eq (13), which will have components in lift and drag coefficient depending on the angle of attack, has a relative velocity squared in the denominator. Both coefficients can reach very large values if the relative velocity is close to zero. However because they are multiplied by the relative velocity squared to compute the lift and drag forces, these large values will not result in large forces. Thus if the code predicts very large lift and drag coefficients, the relative velocity and, most importantly, the forces should be investigated. If the forces are reasonable, then it is safe to assume that the large coefficients are not problematic but instead correctly modeling the aerodynamic forces due to torsion rate or added mass.
Obl. |
Command name |
Explanation |
|---|---|---|
a1 |
1. Coefficients of the exponential potential flow step response approximation: Phi(s)=1-A1*exp(-b1*s)-A2*exp(-b2*s). (default when dynstall_method 2= 0.165) |
|
a2 |
1. Coefficients of the exponential potential flow step response approximation: Phi(s)=1-A1*exp(-b1*s)-A2*exp(-b2*s). (default when dynstall_method 2= 0.335) |
|
b1 |
1. Coefficients of the exponential potential flow step response approximation: Phi(s)=1-A1*exp(-b1*s)-A2*exp(-b2*s). (default when dynstall_method 2= 0.0455) |
|
b2 |
1. Coefficients of the exponential potential flow step response approximation: Phi(s)=1-A1*exp(-b1*s)-A2*exp(-b2*s). (default when dynstall_method 2 =0.300) |
|
update |
Choice between update methods: |
|
1. 1 (default)=>update aerodynamics all iterations all timesteps; 0=>only update aerodynamics first iteration each new timestep |
||
taupre |
1. Non-dimensional time-lag parameters modeling pressure time-lag. Default value =1.5 |
|
taubly |
1. Non-dimensional time-lag parameters modeling boundary layer time-lag. Default value=6.0 |
|
only_potential_model |
1. 0(default)=>run full unsteady airfoil aerodynamics model; 1=>run only attached flow part |
|
disable_att_flow_mem_effect |
1. 0(default)=>enable attached flow memory effects; 1=>disable attached flow memory effects so that only non-circulatory terms in attached flow are computed |
|
max_cl_attached |
1. Maximum value of lift coefficient for attached flow. |
|
flap |
Command to define a flap section. The flap is defined on all the blades of the rotor. Command syntax: |
|
1. Starting point of flap section given as distance from the root along the reference line, curved length [m]. |
||
2. Ending point of flap section given as distance from the root along the reference line, curved length [m]. Should be larger than the starting point value. |
||
3. Filename incl. relative path to .ds file containing pre-processed aerodynamic steady input data. See .ds file specifications in the following paragraph. |
||
N.B. The locations along the blade refer to the curved length, measured along the same reference line as the layout in the ae_file. This is the 1/2c line for |
||
ais |
Coefficients for the indicial response exponential function (default values given for dynstall_method 3): |
|
1. A1 (default= 0.1784) |
||
2. A2 (default=0.07549) |
||
3. A3 (default=0.3933) |
||
Default coefficients describe the step response of a NACA 64-418 profile, where t/c=0.18. |
||
bis |
Coefficients of the exponential potential flow step response approximation (default values given for dynstall_method 3): |
|
1. B1 (default= 0.8000) |
||
2. B2 (default= 0.01815) |
||
3. B3 (default= 0.1390) |
||
Default coefficients describe the step response of a NACA 64-418 profile, where t/c=0.18. |
||
hystar |
1. Camberline coef. (default= -4.675844E-003) |
|
fylestar |
1. Camberline coef. (default= +4.155446E-004) |
|
fdydxle |
1. Camberline coef. (default= +7.236104E-003) |
|
gdydxle |
1. Camberline coef. (default= +3.309147E-003) |
|
min_dclda |
1. Minimum linear region lift gradient (The model will be deactivated for an aerodynamic section if the linear region lift gradient is smaller than this value. Default = 3.0) |
|
max_fsep |
1. Maximum separation point value (The model will be deactivated for an aerodynamic section if the maximum separation point value is larger than this value. Default = 1.2) |
|
max_thickness |
1. Maximum relative thickness value (The model will be deactivated for an aerodynamic section if the relative thickness is larger than this value. Default = 99.99%) |
|
output_polar_filename |
1. Filename for detailed output of the processed airfoil data. One file per aerodynamic section will be saved, where the user defined filename will be extended by the blade number and position along the curvedlength. |
|
n_static_ds_iter |
1. Number of dynamic stall model calls during each aerostructural iteration of the static solver (default=30) |
The camber line coefficients describe the camber line deformation shape induced by the flap; they are computed according to the thin-airfoil model described in Gaunaa [Gau10]. Hystar and fylestar are dimensionless parameters corresponding to the shape integrals Hy and FyLE normalized by the half-chord length. The default coefficients refer to a 10% chord length flap with a continuous deformation shape, describing a circular arc, whose chord forms an angle of 1 degree with the horizontal axis.
Sub command block – aero_noise#
If this command block is used, aero-acoustic calculations are performed. The blade is discretized spanwise into elementary blade sections corresponding to the aerodynamic calculation points of the main command block – aero, i.e. as defined by the command ’aerosections’ (see Section Main command block - aero). Aerodynamic noise is calculated for each of these blade sections and subsequently added at the observer location(s) assuming incoherent noise sources.
Geometrical spreading is always considered for the noise propagation between blade sections and observer(s). Atmospheric absorption can be optionally added to the propagation losses (using the atmospheric_absorption command, see command names table below).[^OxXtJO1yki][^OxXtJO1yki]: Noise propagation losses from atmospheric absorption (if this option is activated) are only applied to the noise source models formulated in the spectral domain, that is: turbulent inflow, trailing edge, stall and tip noise. It does not apply to the loading, thickness and blade-tower interaction noise which are formulated in the time domain. Note also that the two latter noise sources are mainly relevant in the low-frequency range and are therefore much less subject to propagation losses from atmospheric absorption. No other propagation effect, such as refraction or ground reflection, is considered in the calculations.
Details of the implementation for the turbulent inflow, trailing edge and stall noise models in the present aero_noise module can be found in Bertagnolio et al. [BMF7}]. The turbulent inflow noise is modelled using the classical Amiet theory.[^MWAIMayCgY][^MWAIMayCgY]: R. K. Amiet. Acoustic Radiation from an Airfoil in a Turbulent Stream. J. Sound Vib., 41(4):407–420, 1975. Several trailing edge noise models are implemented, but using the one proposed by Fischer et al[^kcnqR5BCa3][^kcnqR5BCa3]: A. Fischer, F. Bertagnolio, and H. Aa. Madsen. Improvement of TNO type trailing edge noise models. European Journal of Mechanics B - Fluids, 61:255–262, 2017. is recommended (trailing_edge_noise=51, see command names table below). The stall noise model developed by Bertagnolio et al[^b2bauxyIzB][^b2bauxyIzB]: F. Bertagnolio, H. Aa. Madsen, A. Fischer, and C. Bak. A Semi-Empirical Airfoil Stall Noise Model Based on Surface Pressure Measurements. Journal of Sound and Vibration, 387:127–162, 2017. is implemented. As for the loading, thickness and the blade-tower interaction noise models, their implementations are described in two different publications.[^PWjbuP9aeO][^PWjbuP9aeO]: F. Bertagnolio, H. Aa. Madsen, and A. Fischer. A Temporal Wind Turbine Model for Low-Frequency Noise. In InterNoise 2017, Conference Proceedings, pages 5025–5033, Hong Kong, China, August 2017. INCE (publisher).,[^BxkFj3HHZu][^BxkFj3HHZu]: F. Bertagnolio. Blade-Tower Interaction Noise Prediction Using a Simplified 2D Vortex Model. In 11th International Conference on Wind Turbine Noise, Conference Proceedings, pages 493–504, Copenhagen, Denmark, June 2025.
Note that the turbulent inflow, trailing edge and stall noise models are formulated in the spectral domain. As a result, the output files from this module (related to these models) provide spectrograms of the overall rotor noise emission as perceived at the observer position, with the possibility to distinguish the individual noise sources from the different models. The loading, thickness and blade-tower interaction noise models are formulated in the time domain and the output files contain time-series of the acoustic pressure at the observer position. More details about the output files are provided below.
It must be noted that all trailing edge noise models implemented in the aero_noise module require an additional input file, that provides information about the turbulent boundary layer developing on the airfoil sections along the blades. This requires the knowledge of the blade geometry and airfoil profiles. This input file must be generated as a pre-processing step to the HAWC2 calculations, typically using a 2D RANS CFD solver. The file format is described in Sections Data format for the trailing edge noise model (bldata) and Example of a trailing-edge noise model file (bldata). More details about the generation of this file are provided in Section Creating input file for the aero_noise module.
Obl. |
Command name |
Explanation |
|---|---|---|
noise_mode |
1. Noise mode (0=no noise calculation, 1=compute noise at each time-step on the fly, 2=store aerodynamic data for later noise calculation as post-processing (using option 3 or 4), 3=compute noise at each time-step using stored data, 4=compute steady-state noise using stored data and rotor disk azimuthal sector averaging yielding large time-saving) (default=0) |
|
output_filename |
1. Filename prefix label for all output files from the aero_noise module (default: aeronoise). |
|
logout_filename |
1. Filename prefix label for the log output file from the aero_noise module (default: aeronoise). |
|
noise_start_end_time |
Start and end time for noise computation. |
|
1. Start time, \(t_{0}\) [s] |
||
2. End time, \(t_{1}\) [s] |
||
(default: at all time) |
||
noise_deltat |
1. Time-step for noise calculation (default: at each HAWC2 time-step) |
|
noise_azimuth_sectors |
1. Number of rotor disk azimuthal sectors when running noise_mode=4 (default=16, maximum=32) |
|
atmospheric_pressure |
1. Atmospheric pressure [Pa] (default=101325.) |
|
temperature |
1. Temperature [deg. Celsius] (default=20.) |
|
relative_humidity |
1. Relative humidity [%] (default=65.) |
|
density |
1. Air density [kg/m\(^3\)] (default=using ideal gas law with atmospheric_pressure and temperature as prescribed above) |
|
atmospheric_absorption |
1. Atmospheric absorption model for noise propagation from blade spanwise section to observer (0=none, 1=classical Bass & Sutherland model) (default=0) |
|
octave_bandwidth |
1. Octave band frequency centers used for defining noise spectra. Options are: 1 for 1/1, 3 for 1/3rd, 12 for 1/12th, and 24 for 1/24th octave bands (default=3) |
|
spl_write_out |
1. Flag for writing out time-series of integrated sound pressure levels to file (0=no write out, 1=write out) (default=0) |
|
spl_min_max_frq |
Minimum and maximum computed frequency for integrated sound pressure level calculations. |
|
1. Minimum frequency, \(f_{min}\) [Hz] |
||
2. Maximum frequency, \(f_{max}\) [Hz] |
||
(default: all octave band frequency centers are used) |
||
turbulent_inflow_noise |
1. Turbulent inflow noise model (0=none, 1=using Von Karman turbulence spectra, 2=using Mann atmospheric turbulence model, 3=using V.K. and new model for the inertial range based on surface roughness \(z_0\)) (default=0) |
|
inflow_turbulence_intensity |
1. Inflow turbulence intensity used for turbulent inflow noise model [%] (default=if not specified, ’tint’ from the wind block command is used, see Section Main command block - wind) |
|
inflow_turbulence_lengthscale |
1. Inflow turbulence integral length scale used for turbulent inflow noise model [m] (default=0.7\(\times\min\)(elevation from ground , 60.)) |
|
turbulent_inflow_- windspeed_method |
1. Method for computing the velocity standard deviation from the turbulence intensity used in the turbulent inflow noise model (1=Constant st. dev. across rotor disk based on mean wind speed at hub height, 2=Varying st. dev. across rotor disk based on local section wind speed) (default=1) |
|
turbulent_inflow_- lengthscale_method |
1. Method for computing the integral length scale used in the turbulent inflow noise model when turbulent_inflow_noise=1 or 2 (0=Constant across rotor disk, 1=0.7\(\times\min\)(elevation from ground , 60.), 3=25\(\times(\textrm{elevation}^{0.35})/(z_0^0.063\))) (default=1) |
|
turbulent_inflow_- thickness_correction |
1. Turbulent inflow thickness correction (0=none, 1=correction is added to turbulent inflow noise) (default=0) |
|
It is NOT recommended to use this correction as it may be inaccurate. |
||
mann_turbulence_parameters |
Mann turbulence model parameters for turbulent inflow noise (used if turbulent_inflow_noise=2). |
|
1. L: turbulent integral length [m] (default=29.7) |
||
2. \(\alpha\varepsilon^{2/3}\): energy level (default=1.0) |
||
3. \(\gamma\): anisotropy factor (default=3.7) |
||
If any value is negative, then its default value is assumed. |
||
surface_roughness |
1. Surface roughness, z0 [m] (Used for turbulent_inflow_noise=3 or turbulent_inflow_lengthscale_method=3 - If specified, it is used to re-define the Mann turbulence parameters) (default=0.055) |
|
turbulent_inflow_- minimum_radius |
1. Minimum blade radius [m] above which the turbulent inflow noise model is activated (default=0.) |
|
trailing_edge_noise |
1. Trailing edge noise model (0=none, 5=TNO ‘frba’ model, 31=Amiet ‘frba’ model, 41=TNO ‘asfi’ model, 51=Amiet ‘asfi’ model) (default=0) |
|
It is recommended to use trailing_edge_noise=51, even though calculation time will be significantly longer. The next best option is 41. |
||
(*) |
bldata_filename |
1. Filename incl. relative path defining tabulated input data for trailing edge noise model (Obligatory if using the trailing edge noise model). |
trailing_edge_serration |
Trailing edge serration noise reduction model parameters for a given blade spanwise section. |
|
1. \(R_{1}\) Inboard radius [m] |
||
2. \(R_{2}\) Outboard radius [m] |
||
3. Serration model for this blade spanwise section (0=none, 1=parametric model (not recommended), 11=from file with no directivity, 12=from file with dipole directicity, 13=from file with cardiod directivity, 14=from file with dipole directivity at low frequencies (according to local airfoil chord compactness property) and cardioid at higher frequencies) |
||
4. \(L_{ser}\) Serration periodic span length [m] (used for parametric model only) |
||
5. \(H_{ser}\) Serration crest to trough height [m] (used for parametric model only) |
||
This command can be repeated for defining different serration types along the blade span (but must be \(\leq\)32). |
||
(*) |
serration_data_filename |
1. Filename incl. relative path defining tabulated input data for trailing edge serration noise model (Obligatory if using the trailing edge serration noise reduction model using a file, i.e. a serration model between 11 and 14, see above command - If using only the parametric model, i.e. serration model 1, this file is not necessary). |
trailing_edge_- minimum_radius |
1. Minimum blade radius [m] above which the trailing edge noise model is activated (default=0.) |
|
stall_noise |
1. Stall noise model (0=none, 1=Amiet based model, 2=Full formulation) (default=0) |
|
stall_separation |
Stall separation location definition. |
|
1. Stall separation location model (1=tabulated and given in bldata_filename, 2=use dynamic stall model, 3=forced separation location) (default=1) |
||
2. Forced separation location (x/C[-]: if positive on suction side, if negative on pressure side) |
||
It is recommended to use Stall separation location model=2. However, the dynamic stall model in the aero block command (see Section Main command block - aero) needs to be activated. |
||
stall_minimum_radius |
1. Minimum blade radius [m] above which the stall/separation noise model is activated (default=0.) |
|
tip_noise |
1. Tip noise model (0=none, 1=not implemented yet!!!) (default=0) |
|
loading_noise |
1. Loading-thickness noise model (0=none, 1=based on tabulated Cl, 2=based on Cp distribution from tabulated data, 3=based on Cl from HAWC2 aerodynamics) (default=0) |
|
It is recommended to use loading_noise=3. This model does NOT work with noise_mode=4 (see first command in this table). |
||
(*) |
loading_data_filename |
1. Filename incl. relative path defining tabulated input data for loading-thickness noise (Obligatory if using the Loading-thickness noise model AND loading_noise=1) |
blade_tower_interaction_noise |
Blade-tower interaction noise model parameters. |
|
1. Blade-tower interaction noise model (0=off, 1=on) (default=0) |
||
2. \(N_{\textrm{azi}}\) Number of discrete azimuthal elements around tower surface |
||
3. \(N_{\textrm{H}}\) Number of discrete elements for the noise emitting surface along tower axis |
||
4. \(H_{\textrm{bottom}}\) [m] Bottom height of tower noise emitting surface (measured positive from the ground up) |
||
5. \(H_{\textrm{top}}\) [m] Top height of tower noise emitting surface (measured positive from the ground up) |
||
6. \(R_{\textrm{bottom}}\) [m] Tower radius at bottom height |
||
7. \(R_{\textrm{top}}\) [m] Tower radius at top height |
||
This model does NOT work with noise_mode=4 (see first command in this table). |
||
blade_tower_- _interaction_params |
Blade-tower interaction noise model parameters related to rotor conditions. |
|
1. Yaw error [deg] (default=0. - using same convention as in the wind block command) |
||
2. Rotor tilt [deg] (default=0. - using same convention as in the wind block command) |
||
blade_tower_interaction_shear |
Blade-tower interaction noise model parameters related to wind shear conditions. |
|
1. Wind shear type (0=no wind, 1=constant wind speed using hub height wind speed, 2=logarithmic, 3=power law, 4=linear (default=1) |
||
2. Parameter used together with shear type (default=0. - using same convention as in the wind block command) |
||
* |
xyz_observer |
Position of observer in global reference system. |
1. x [m] |
||
2. y [m] |
||
3. z [m] |
||
More than one observer is allowed (but must be \(\leq\)256) by repeating this command. |
The present aero_noise module produces a variety of output files. All file names will start with a prefix label which can be chosen by the user using the output_filename command (see above table - default value is aeronoise).
For each run of HAWC2 using the aero_noise module, a log file named aeronoise_noise.log will be generated and stored in the log sub-directory of the working directory. The remaining output files as described below are stored in the res sub-directory.
If using noise_mode=2 corresponding to the storage running mode, the program will generate a storage file named aeronoise_noise_store.dat. This file MUST be present in the res sub-directory when running HAWC2 using noise_mode=3 or 4 at a later time! Note that in the two latter cases, HAWC2 will only run the aero_noise module and all other standard aeroelastic calculations will be by-passed.
For the noise emission models formulated in the frequency domain (as explained earlier in this section), the main output files of the aero_noise module containing the results of the aeroacoustic calculations are named aeronoise_noise_psd_ObsNNN.out, where ‘NNN’ corresponds to the observer index. In other words, there will be as much output files as the number of observers defined with the xyz_observer command. These files contain the calculated spectra (Power Spectral Density) calculated at each time-step at the corresponding observer positions. Note that if using the steady-state mode noise_mode=4, then the aerodynamic inputs are averaged over time and the files contain a single time-step with the noise emission prediction based on this average inputs. Furthermore, each line in the files contain the frequency in the first column, followed by the added spectral contributions from all noise sources (trailing edge, turbulent inflow, stall and tip noise), as well as their individual contributions.
For the noise emission models formulated in the time domain (see earlier), the main output files of the aeroacoustic calculations are named aeronoise_noise_tim_LT_ObsNNN.out. They contain the time-series of the acoustic pressure calculated at the observer positions. Each line in the files contains the time in the first column, followed by the added contributions from the three considered acoustic mechanisms (loading, thickness, and blade-tower interaction noise), as well as their individual contributions. The post-processing of these time-series in order to derive acoustic spectra and other noise metrics is left to the user.
Sub command block – bemwake_method#
Parameters used to calculate the steady state induction and dynamic induction. If not included defaults parameters are automatically used.
Obl. |
Command name |
Explanation |
|---|---|---|
nazi |
1. Number of azimuthal points in the induction grid. A high number increased accuracy but slow down the simulation time. Default is 16. |
|
fw |
Dynamic time constants and mixing ratio contribution for the far wake part of the induction. |
|
1. Mixing ratio, default is 0.4153 |
||
2. \(k_{3}\) (poly. coef. for r/R sensitivity) default=0.0 |
||
3. \(k_{2}\) (poly. coef. for r/R sensitivity) default=-0.1667 |
||
4. \(k_{1}\) (poly. coef. for r/R sensitivity) default=0.0881 |
||
5. \(k_{0}\) (poly. coef. for r/R sensitivity) default=2.0214 |
||
nw |
Dynamic time constants and mixing ratio contribution for the near wake part of the induction. |
|
1. Mixing ratio, default is 0.5847 |
||
2. \(k_{3}\) (poly. coef. for r/R sensitivity) default=0.0 |
||
3. \(k_{2}\) (poly. coef. for r/R sensitivity) default=-0.7048 |
||
4. \(k_{1}\) (poly. coef. for r/R sensitivity) default=0.1819 |
||
5. \(k_{0}\) (poly. coef. for r/R sensitivity) default=0.7329 |
||
a-ct-filename |
Filename for a user defined relation between a and ct. |
|
a_ct_table |
Filename for a user defined table of axial induction factor \(a\) and the thrust coefficient \(C_T\) (Note: the value of \(C_T\) in the table should be monotonically increasing). This will overwrite the default polynomial relationship between \(a\) and \(C_T\). This flag is not able to be used together with a-ct-filename. The data format for the file is described in Section. Data format for the user defined a-ct table. |
|
custom\(\_\)tiploss |
Filename for a user defined tip/root loss factor. |
|
Filestructure: One number in the first line gives the number of radial stations specified in the file. Following lines have two numbers: non-dimensional radius \(0<r/R<1\) followed by tip/root loss factor \(0<F_{custom}<1\). |
||
It is applied on the \(a=f(CT)\) relation as \(a=f(C_T/(F F_{custom}))\) where \(F\) is the regular tip loss factor. This allows e.g. implementation of a user defined root loss model by specifying \(F_{custom}\) going from 0 at the root towards 1 at or before the tip. In that way \(F_{custom}\) and the regular tiploss factor \(F\) can be used together. |
||
radial\(\_\)induc |
1. Radial induction model (0=none , 1=Radial induction model described in Section 2.8 of Madsen et al. [MLP+20])(default=0) |
|
only\(\_\)lift\(\_\)for\(\_\)momentum- \(\_\)balancing |
(0=default, both lift and drag forces contribute to momentum balancing; 1=only lift force contributes to momentum balancing) |
|
wake\(\_\)rot\(\_\)effect |
(0=default, exclude the pressure drop due to the wake rotation effect in the wake; 1=include the pressure drop due to the wake rotation effect in the wake. This is described in Section 3.2 and 3.3 of Branlard and Gaunaa [BG16]) |
|
tip\(\_\)loss\(\_\)sectional\(\_\)angle |
(0=default, use the flow angle seen in the rotor-polar coordinate system[^JcEjafHlHQ][^JcEjafHlHQ]: The rotor polar coordinate system is defined for each blade as follows: the \(z\)-axis follows the blade radius (not accounting for coning); the \(y\)-axis is parallel to hub_vec, pointing in the downwind direction; and the \(x\)-axis is perpendicular to the \(z\)-axis, pointing in the rotation direction. (inflow angle) to calculate the tip loss factor described in Section 2.3 of Madsen et al. [MLP+20]; 1=use the flow angle seen by the section (angle of attack plus deformed twist angle) to calculate the tip-loss factor. This is described in Section 5.2 of Li et al. [LGPH22]. The results of using two different methods will be different if the blade has noticeable out-of-plane geometry. ) |
|
vortex\(\_\)cylinder\(\_\)model |
(0=default, do not use vortex cylinder model; 1=use the vortex cylinder model as a correction to the BEM method. The method is able to model blade non-planar effects on the aerodynamic induction. The method is described in Li et al. [LGPH22]. Since the radial induction is calculated from the vortex cylinder model, the flag of radial_induc will not be functioning. ) |
|
n_static_bem_iter |
1. Maximum number of induction model calls per aerostructural iteration of the static solver (default=100) |
|
static_bem_conv_criterion |
1. Convergence criterion of induction model in static solver, compared to the squared mean induction factor difference between iterations (default=1E-8) |
Sub command block – nearwake_method#
The near wake model implementation in HAWC2 couples the lifting line theory based near wake model for trailed vorticity with the modified HAWC2 BEM as a far wake model. Inherently included in the trailed vorticity computations are the influences of the tip and root vortices; a ’root-loss’ model is otherwise not included in HAWC2. The model is described in Pirrung et al. [PMKH16], Pirrung et al. [PRM+17] and has been shown to improve the dynamic blade loading in the presence of turbulence, blade vibrations and flap actuations.
In case of strong load gradients on the blade due to for example flaps at fixed angle or other aerodynamic devices activating the near wake model leads to an improved steady state load distribution. When used in this case with a prescribed point distribution along the blade (defined in the ae-file) then sudden changes in the point density (for example close to the flap) should be avoided as they can lead to numerical instability of the model. As with any vortex model, care should be taken when operating in deep stall conditions, such as extreme yaw conditions in standstill.
Since HAWC2 13.0 the near wake model is able to model the effects of blade sweep on the induced velocity at the blade Li et al. [LGP+20], Li et al. [LPM+18], Li et al. [LPG+22]. The influence of non-straight bound vortex can and should also be included. However, for the purpose of backwards compatibility, the model extension for swept blades is not enabled by default.
Obl. |
Command name |
Explanation |
|---|---|---|
only_one_nw_function |
Dynamic accuracy, see Section 6 in Pirrung et al. [PRM+17] for details. (0=2 exponential functions used; 1=default, 1 exponential function used: minimally lower accuracy but almost twice as fast) |
|
only_axial_nw |
(0=default, near wake model used for both axial and tangential induction; 1= near wake model used for axial induction only) |
|
fast_nwm |
(0=full iteration loop of the near wake model; 1= default, helix angle and vortex filament length fixed during iteration loop, almost identical results, much faster) |
|
fixed_kfw |
kfw (0<kfw<1). This coupling factor will be used and is fixed during the computation. Not using this command means the coupling factor will be computed automatically and dynamically updated each time step (default, see Section 5 in Pirrung et al. [PMKH16] for details) |
|
r_core |
r_core determines the vortex core radius (default=0: no vortex core is used). The implementation is in beta version and not validated. |
|
nw\(\_\)sweep |
(0=default, use the near-wake model that does not consider the effects of blade sweep on the aerodynamic induction. Pirrung et al. [PMKH16], Pirrung et al. [PRM+17]; 1=use the near-wake model that models the effects of blade sweep on the aerodynamic induction. The extension to the model is described in Li et al. [LGP+20], Li et al. [LPG+22] ) |
|
nw_curved_bound |
This flag only works if nw\(\_\)sweep=1. (1=default, includes the curved bound vortex effect. Li et al. [LGP+20]; 0=does not include the curved bound vortex effect. Ignoring the curved bound vortex will lead to wrong results for swept blades, see Li et al. [LGP+20], Li et al. [LPM+18]) |
Sub command block – vawtwake_method#
VAWT dynamic inflow parameters. The model implemented in the code is described in Larsen and Aagaard Madsen [LAagaardMadsen13]. The model uses two parallel first order filters for the near- and far-wake induction, respectively. This is similar to the BEM dynamic inflow model. However for the VAWT model, the non-dimensional time constants, which can be given as user defined input as shown in the table below, are multiplied by the radius of the actuator cylinder divided by the free wind speed. Currently there is no dependency of the time constants on distance from the blade tip or on average induction factor implemented in the VAWT dynamic inflow model.
Obl. |
Command name |
Explanation |
|---|---|---|
nazi |
1. Number of azimuthal points in the induction grid. A high number increased accuracy but slow down the simulation time. Default is 36. |
|
fw |
Dynamic time constants and mixing ratio contribution for the far wake part of the induction. |
|
1. Mixing ratio, default is 0.4 |
||
2. \(k_{3}\) dummy value, currently not used in the model |
||
3. \(k_{2}\) dummy value, currently not used in the model |
||
4. \(k_{1}\) dummy value, currently not used in the model |
||
5. \(k_{0}\) fw time constant, default=2.0 |
||
nw |
Dynamic time constants and mixing ratio contribution for the near wake part of the induction. |
|
1. Mixing ratio, default is 0.6 |
||
2. \(k_{3}\) dummy value, currently not used in the model |
||
3. \(k_{2}\) dummy value, currently not used in the model |
||
4. \(k_{1}\) dummy value, currently not used in the model |
||
5. \(k_{0}\) nw time constant, default=0.5 |
||
induc_due_to_qt |
(0=default, inductions only due to normal loading Qn; 1=inductions due to both normal loading Qn and also tangential loading Qt.) |
Data format for the aerodynamic layout#
Illustration of aerodynamic centers \(C_{1/4}\) and \(C_{3/4}\).#
The format of the file is specified in the following two tables
Line number |
Description |
|---|---|
1 |
#1: Nset, Number of datasets present in the file. The format of each data set can be read below. The datasets are repeated without blank lines etc. |
2 |
#1: Set number. #2: Nrows, Number of data rows for this set |
3..2+Nrows |
Data row according to Table %s |
The content of the colums in a data row is specified in the table below.
Column |
Parameter |
|---|---|
1 |
s, curved length distance from main_body node 1 [m], measured along the structural reference line (the 1/2c line for |
2 |
chord length [m] |
3 |
thickness ratio between profile height and chord [%] |
4 |
Profile coefficient set number |
(5) |
Optional column. When present, it includes a dynamic stall model selector. It is then possible to bypass or change dynamic stall model for different part of the blade. Numbers are identical to the one used in the command “aero dynstall_method” |
Notes on the “_ae” file format:#
A semicolon (
;) starts an inline comment: everything after;on a line is neglected by HAWC2. It can be used to label the columns, as in the example below. The comment must follow the data on the same line. For the ae-file, a stand-alone comment line that begins with;is not allowed.The curved length
s(column 1) must start from zero, and in the increasing order for every data row: do not give two rows the sames.
Example of an aerodynamic blade layout file#
1 Number of datasets in the file.
1 25 Set nr, nrows.
0 2.42 100 1 ; Curved length[m] chord[m] thick[%] PC [-]
1.239 2.42 100 1
1.24 2.42 99.9 1
3.12 2.48 96.4 1
5.24 2.65 80.5 1
7.24 2.81 65.0 1
9.24 2.98 51.6 1
11.24 3.14 40.3 1
13.24 3.17 32.5 1
15.24 2.99 28.4 1
17.24 2.79 25.6 1
19.24 2.58 23.7 1
20.44 2.46 22.8 1
23.24 2.21 20.9 1
25.24 2.06 20.0 1
27.24 1.92 19.4 1
29.24 1.8 19.0 1
31.24 1.68 18.7 1
33.24 1.55 18.6 1
35.24 1.41 18.3 1
37.24 1.18 17.9 1
38.24 0.98 17.3 1
39.24 0.62 16.3 1
39.64 0.48 15.7 1
40.00 0.07 14.8 1
Data format for the profile coefficients file#
The format of the file is specified in the following two tables
Line number |
Description |
|---|---|
1 |
#1: Nset, Number of datasets present in the file. The format of each data set can be read below. The datasets are repeated without blank lines etc. |
2 |
#1: Nprofiles. Number of profiles included in the data set. There must be more than 1 Nprofiles. First profile is the thinnest, last profile is the thickest (continuously increasing order). |
3 |
#1: Profile number. #2: Nrows. #3: Thickness in percent of chord length |
4..3+Nrows |
Data row according to Table %s |
The content of the columns in a data row is specified in table below.
Column |
Parameter |
|---|---|
1 |
\(\alpha\), angle of attack [deg]. Starting with -180.0, ending with +180.0 |
2 |
\(C_{l}\) lift coefficient [-] |
3 |
\(C_{d}\) drag coefficient [-] |
4 |
Cm moment coefficient [-] |
Example of the profile coefficients file “_pc file”#
1 Airfoil data for the nrel 5 mw turbine
8
1 127 17 DU17 airfoil with an aspect ratio of 17. Original -180 to 180deg
-180.00 0.000 0.0198 0.0000
-175.00 0.374 0.0341 0.1880
-170.00 0.749 0.0955 0.3770
-160.00 0.659 0.2807 0.2747
-155.00 0.736 0.3919 0.3130
-150.00 0.783 0.5086 0.3428
-145.00 0.803 0.6267 0.3654
-140.00 0.798 0.7427 0.3820
-135.00 0.771 0.8537 0.3935
-130.00 0.724 0.9574 0.4007
-125.00 0.660 1.0519 0.4042
-120.00 0.581 1.1355 0.4047
-115.00 0.491 1.2070 0.4025
-110.00 0.390 1.2656 0.3981
-105.00 0.282 1.3104 0.3918
-100.00 0.169 1.3410 0.3838
-95.00 0.052 1.3572 0.3743
-90.00 -0.067 1.3587 0.3636
-85.00 -0.184 1.3456 0.3517
-80.00 -0.299 1.3181 0.3388
-75.00 -0.409 1.2765 0.3248
-70.00 -0.512 1.2212 0.3099
-65.00 -0.606 1.1532 0.2940
-60.00 -0.689 1.0731 0.2772
-55.00 -0.759 0.9822 0.2595
Data format for the flap steady aerodynamic input (.ds file)#
This file contains the pre-processed steady data required by the ATEFlap dynamic stall model. Steady lift, drag and moment coefficients are given as function of angle of attack and flap deflection, together with the fully separated and fully attached lift, and the separation function values required by the Beddoes-Leishmann dynamic stall model. The input file can be generated automatically through an external pre-processing application, as for instance the “Preprocessor for ATEFlap Dynamic Stall Model, v.2.04”. Please refer to the application documentation for further details.
The format of the file is specified in the following two tables:
Line number |
Description |
|---|---|
1 |
Free for comments |
2 |
Free for comments |
3 |
#1: Aoa0 [rad]. Angle of attack returning a null steady lift |
4 |
Free for comments |
5 |
#1: dCl/dAoa [1/rad]. Gradient of the steady lift function with respect to angle of attack variations |
6 |
Free for comments |
7 |
#1: dCl/dBeta [-]. Gradient of the steady lift function with respect to flap deflection variations |
8 |
Free for comments |
9 |
#1: Nrows. Total number of the following data-rows. |
10…9+Nrows |
Data rows, as specified in following table. |
The content of the columns in a data row is specified in table below.
Column |
Parameter |
|---|---|
1 |
\(\alpha\), Angle Of Attack [deg]. Starting with -180.0, ending with +180.0. External loop (changes value after going through all the beta flap deflection values, i.e. 100 rows) |
2 |
Beta, flap deflection. Starting from -49 to +50. Internal loop (changes at every data row) |
3 |
\(C_{l}\) st. Steady lift coefficient [-] |
4 |
\(C_{l}\) att. Fully attached lift coefficient [-] |
5 |
\(C_{l}\) fs. Fully separated lift coefficient [-] |
6 |
\(C_{d}\) drag coefficient [-] |
7 |
\(C_{m}\) moment coefficient [-] |
8 |
f . Steady value of the separation function [-] |
Example of a .ds flap steady aerodynamic input file#
Input file for Flap dyn.stall model. Generated with Delphi preprocessor
.Linear Region: Aoa Cl0 [rad]:
-0.06523855
.Linear Region: dCl / dAoa [1/rad]:
6.60081861
.Linear Region: dCl / dBeta [1/deg]:
0.0435375
. Polars: 1.Aoa | 2.Beta | 3.Clst | 4.Cl Att | 5.Cl fs | 6.Cd | 7.Cm | 8.F
36100
-180 -49 -0.22013 -20.5241432 -0.22013 0.0199118108 0.0451649986 0
-180 -48 -0.22013 -20.5241432 -0.22013 0.0199118108 0.0451649986 0
… …
-180 +50 0.21096 -20.088768 0.21096 0.0199443996 -0.0431930013 0
-179 -49 …
-179 -48 …
… …
+180 +50 …
Data format for the user defined a-ct polynomial#
This input file replaces the default relationship between axial induction \(a\) and rotor thrust coefficient \(C_T\) and which is expressed as a 3rd order polynomial of the following form: \(a=k_3 {C_T}^3 + k_2 {C_T}^2 + k_1 {C_T} + k_0\). The format of the file is specified in tables %s and %s.
Line number |
Description |
|---|---|
1. nrad interp nazi |
nrad: number of radial stations (should be \(>1\)), |
interp: interpolation method can only be “linear”, |
|
nazi (optional, default=1): number of azimuthal positions |
|
2. rows |
nrad*nazi number of rows according to Table %s. Group nrad rows together for each azimuthal position. |
The azimuthal positions will be distributed equally over 360 degrees (one revolution) and start at the position corresponding to a blade pointing down (south). Other points are added in the clockwise direction. If setting 4 azimuthal position this would mean each block in the input file would correspond to first to the induction zone down (south), left (west), up (north) and finally right (east).
The content of the columns in a data row is specified in table below.
Column |
Parameter |
|---|---|
1 |
non-dim radius r/R |
2 |
\(k_{0}\) polynomium coef |
3 |
\(k_{1}\) polynomium coef |
4 |
\(k_{2}\) polynomium coef |
5 |
\(k_{3}\) polynomium coef |
Here’s an example with 3 radial stations and 2 different azimuthal positions (down and up):
3 linear 2
0.0 0.0000 0.2460 0.0586 0.0883
0.5 0.0000 0.2460 0.0586 0.0883
1.0 0.0000 0.2460 0.0586 0.0883
0.0 0.0000 0.2460 0.0586 0.0883
0.5 0.0000 0.2460 0.0586 0.0883
1.0 0.0000 0.2460 0.0586 0.0883
Data format for the trailing edge noise model (bldata)#
This file contains the values required by the aero_noise module. Several different parameters are given as a function of angle of attack, relative thickness, and Reynolds number. The boundary layer data can be created from results generated with XFOIL or a CFD software such as EllipSys2D.
The user provides a number of available airfoil thicknesses at the beginning of the file (line 7). Thereafter, the input data should be entered by iterating on the number of thicknesses. For each thickness, the user provides the number of Reynolds numbers to be considered, which is followed by input data with an iteration on these Reynolds numbers. Then comes the number of angles of attack for each Reynolds number, then the data themselves for each angle of attack. It must be noted that there is no specific structure for the overall data set and the different sizes for each parameter. In other words, each thickness can have an arbitrary number of Reynolds number, each Reynolds number can have an arbitrary number of angles of attack. However, the number of points distributed across the (turbulent) boundary layer near the trailing edge should all be equal. This holds the the input data are generated using a CFD software (The number of points is provided in line 5). If using XFOIL, this number should be 1.
The format of the file is specified in the following two tables:
Line number |
Description |
|---|---|
1 – 4 |
Free for comments |
5 |
#1: BLDataType [-]. Type of boundary-layer data (1=Xfoil, 2=CFD). #2: \(N_y\) [-] and number of points for BL data. \(N_y\) must be 1 for XFOIL data. |
6 |
Free for comments |
7 |
#1: Number of thicknesses [-]. |
8 |
Free for comments |
9 |
#1: Relative thickness 1 [%]. First relative thickness value |
10 |
Free for comments |
11 |
#1: Number of Reynolds numbers at thickness 1. |
12 |
Free for comments |
13 |
#1: First Reynolds number at thickness 1 [-]. |
14 |
Free for comments |
15 |
#1: Number of angles of attack for Reynolds number 1, thickness 1 [-]. |
16 |
#1: First angle of attack for Reynolds number 1, thickness 1 [deg] |
17 |
Data row as specified in the following table for the suction side. |
18 |
Data row as specified in the following table for the pressure side. |
19…end |
Subsequent data rows and specification of other thicknesses, Reynolds numbers, and angles of attack. |
The content of the columns in a data row is specified in table below.
Column |
Parameter |
|---|---|
1 |
\(U_{e}\), velocity at edge of boundary layer normalized by inflow velocity \(U_0\) [-]. |
2 |
\(C_f\), friction coefficient [-]. |
3 |
\(dp/dX\), pressure gradient [-]. |
4 |
\(\delta\), boundary layer thickness normalized by chord [-]. |
5 |
\(\delta^*\), boundary-layer displacement thickness normalized by chord [-]. |
6 |
\(\theta\), boundary-layer momentum thickness normalized by chord [-]. |
7 |
\(x_{\mathit{tr}}\), boundary-layer transition location normalized by chord [-]. |
8 |
\(x_{\mathit{sep}}\), boundary-layer separation location normalized by chord [-]. |
9 (CFD only) |
\(y_d(1)\), distance from wall for point 1 normalized by chord [-]. |
10 (CFD only) |
\(U_y(1)\), velocity at point 1 normalized by inflow velocity [-]. |
11 (CFD only) |
\(k_T(1)\), turbulence kinetic energy at point 1 normalized by \(U_0^2\) [-]. |
12 (CFD only) |
\(\epsilon(1)\), turbulence dissipation at point 1 normalized by \(\nu\cdot(U_{0}/c)^2\) [-], where \(\nu\) is the kinematic viscosity and \(c\) is the chord. |
13… (CFD only) |
CFD parameters for other locations on the profile. |
Example of a trailing-edge noise model file (bldata)#
# Input (Boundary Layer) data file for aero_noise module in HAWC2
# Data: Uedge, Cf, dP/dX, Delta, D^star, Theta, X_tr, X_sep [All -]
# on suct./pres. sides, Followed by ((Y,U,K_t,Epsi),1,NY) for CFD case
# BL data type (1: Xfoil - 2:CFD), NY: Nb. of points for BL data (Must be 1 for Xfoil)
2 100
# Number of thicknesses:
16
# New thickness no. 1
1.3997E+01 # [% Chord] - At 1,10% Chord: 3.1352E-02 9.4569E-02 [-] ./.Chord
# Number of Reynolds numbers (at thickn.no. 1):
13
# New Reynolds number no. 1 (t/c = 1.40E+01 [%])
6.0000E+05 # [-]
# Number of angles of attack (at thickn.no. 1 ; at Reyn.no. 1):
15
-1.0000E+01 # [deg] Angle of attack no. 1 (t/c = 1.40E+01 [%] ; Reyn.= 6.00E+05 [-])
9.7959595E-01 5.0024827E-03 1.3876976E+00 1.4695722E-02 1.9646853E-03 ...
9.4850973E-01 3.4123155E-04 -3.2128910E-01 7.7950524E-02 3.3317935E-02 ...
-6.0000E+00 # [deg] Angle of attack no. 2 (t/c = 1.40E+01 [%] ; Reyn.= 6.00E+05 [-])
9.5475774E-01 3.8252693E-03 2.7709756E-01 1.9092268E-02 2.8682055E-03 ...
9.1490195E-01 1.6144429E-03 1.4202462E-01 4.0643583E-02 1.2382229E-02 ...
...
...
# New thickness no. 16
5.8782E+01 # [% Chord] - At 1,10% Chord: 1.1889E-01 3.7350E-01 [-] ./.Chord
# Number of Reynolds numbers (at thickn.no. 16):
13
# New Reynolds number no. 1 (t/c = 5.88E+01 [%])
6.0000E+05 # [-]
...
# New Reynolds number no. 13 (t/c = 5.88E+01 [%])
9.0000E+06 # [-]
# Number of angles of attack (at thickn.no. 16 ; at Reyn.no. 13):
15
...
2.4000E+01 # [deg] Angle of attack no. 15 (t/c = 5.88E+01 [%] ; Reyn.= 9.00E+06 [-])
1.7209753E-02 7.9763797E-04 -9.2664372E-01 3.4414559E-03 6.8894715E-03 ...
1.2919848E+00 3.6773425E-03 -1.0974971E+01 6.3898121E-03 9.2252539E-04 ...
Format for the trailing-edge serration noise reduction data file#
The file containing trailing-edge serration noise reduction data consists of noise reduction spectra expressed in dB. A negative spectral value corresponds to a noise reduction, while a positive value corresponds to a noise increase.
In the next Section Example of a trailing-edge serration noise reduction data file with a file example, a line starting with a hash symbol (#) is a comment line[^jgzPxesRms][^jgzPxesRms]: However, using a hash symbol at the beginning of each comment line is not necessary. Indeed, the file format is organized such that it is the line number which determines if a line is a comment or a data line., other lines are actual data lines. Consecutive data lines with numbers in two row numbers constitutes a (noise reduction) spectrum, with the first row being the frequency and the second row the corresponding noise reduction in dB.
The user provides a number of available serration types at the beginning of the file (line 4). Thereafter, the input data should be entered by iterating on the number of serration types. For each serration type, the user provides the number of Mach numbers to be considered, which is followed by input data with an iteration on these Mach numbers. Then comes the number of angles of attack for each Mach number, then the number of frequency for the spectrum for each angle of attack. It must be noted that there is no specific structure for the overall data set and the different sizes for each parameter. In other words, each serration can have an arbitrary number of Mach number, each Mach number can have an arbitrary number of angles of attack, and each angle of attack can have an arbitrary number of frequencies.
The format of the file is specified in the following table.
Line number |
Description |
|---|---|
1 – 3 |
Free for comments |
4 |
#1: Number of serration types [-] |
5 – 6 |
Free for comments |
7 |
#1: Number of Mach numbers [-] (first serration type) |
8 |
Free for comments |
9 |
#1: Mach number 1 [%] (first Mach number value, first serration type) |
10 |
Free for comments |
11 |
#1: Number of angles of attack at Mach number 1 |
12 |
Free for comments |
13 |
#1: Angle of attack 1 [deg] (at Mach number 1, first serration type) |
14 |
Free for comments |
15 |
#1: Number of frequencies [-] (at angle of attack 1, Mach number 1, first serration type) |
16 |
#1: Frequency 1 [Hz]. #2 \(\Delta\) (SPL) 1 [dB]. |
17 |
#1: Frequency 2 [Hz]. #2 \(\Delta\) (SPL) 2 [dB]. |
18 |
#1: Frequency 3 [Hz]. #2 \(\Delta\) (SPL) 3 [dB]. |
19 |
Free for comments |
20 |
#1: Angle of attack 2 [deg] (at Mach number 1, first serration type) |
21 |
Free for comments |
22 |
#1: Number of frequencies [-] (at angle of attack 2, Mach number 1, first serration type) |
23 |
#1: Frequency 1 [Hz]. #2 \(\Delta\) (SPL) 1 [dB]. |
24 |
#1: Frequency 2 [Hz]. #2 \(\Delta\) (SPL) 2 [dB]. |
25 |
#1: Frequency 3 [Hz]. #2 \(\Delta\) (SPL) 3 [dB]. |
26 |
Free for comments |
27 |
#1: Mach number 2 [%] (second Mach number value, first serration type) |
28…end |
Subsequent data rows and specification of other serration types, Mach numbers, and angles of attack |
Example of a trailing-edge serration noise reduction data file#
# Trailing-edge noise serration reduction data file for aero_noise module in HAWC2
# This file contains delta(SPL)[dB] associated to the addition of serration
# Nb. of serration type/data sets for delta(SPL)[dB] (Negative dSPL = noise reduction!)
2
# New Serration no. 1
# Nb. of Mach numbers for Serration no. 1
2
## New Mach number no. 1
0.0001
## Nb. of AoA for Mach number no. 1 - Serration no. 1
2
### New AoA no. 1
-10.0
### Nb. of Frequencies for AoA no. 1 - Mach number no. 1 - Serration no. 1
3
300.0 -1.0
1000.0 -1.0
6000.0 -1.0
### New AoA no. 2
20.0
### Nb. of Frequencies for AoA no. 2 - Mach number no. 1 - Serration no. 1
3
300.0 -1.0
1000.0 -1.0
6000.0 -1.0
## New Mach number no. 2
0.3
## Nb. of AoA for Mach number no. 2 - Serration no. 1
2
### New AoA no. 1
-10.0
### Nb. of Frequencies for AoA no. 1 - Mach number no. 2 - Serration no. 1
3
300.0 -1.0
1000.0 -1.0
6000.0 -1.0
### New AoA no. 2
20.0
### Nb. of Frequencies for AoA no. 2 - Mach number no. 2 - Serration no. 1
3
300.0 -1.0
1000.0 -1.0
6000.0 -1.0
# New Serration no. 2
# Nb. of Mach numbers for Serration no. 2
2
## New Mach number no. 1
0.0001
## Nb. of AoA for Mach number no. 1 - Serration no. 2
2
### New AoA no. 1
-10.0
### Nb. of Frequencies for AoA no. 1 - Mach number no. 1 - Serration no. 2
3
300.0 -2.0
1000.0 -2.0
6000.0 -2.0
### New AoA no. 2
20.0
### Nb. of Frequencies for AoA no. 2 - Mach number no. 1 - Serration no. 2
3
300.0 -2.0
1000.0 -2.0
6000.0 -2.0
## New Mach number no. 2
0.3
## Nb. of AoA for Mach number no. 2 - Serration no. 2
2
### New AoA no. 1
-10.0
### Nb. of Frequencies for AoA no. 1 - Mach number no. 2 - Serration no. 2
3
300.0 -2.0
1000.0 -2.0
6000.0 -2.0
### New AoA no. 2
20.0
### Nb. of Frequencies for AoA no. 2 - Mach number no. 2 - Serration no. 2
3
300.0 -2.0
1000.0 -2.0
6000.0 -2.0
Main command block – blade_c2_def (for use with old_htc_structure format)#
In this command block the definition of the centerline of the main_body is described (position of the half chord). This command shall be used as a main command even though it is only used together with the aerodynamic module. The reason for this is that it used to submit information that is usually given in the new_htc_structure format, which is also a main command block. The input data given with the sec commands below is used to define a continuous differentiable line in space using akima spline functions. This centerline is used as basis for local coordinate system definitions for sections along the structure. If a straight line is requested a minimum of three points of this line must be present.
Obl. |
Command name |
Explanation |
|---|---|---|
* |
nsec |
Must be the present before a “sec” command. |
1. Number of section commands given below |
||
* |
sec |
Command that must be repeated “nsec” times |
1. Number |
||
2. x-pos [m] |
||
3. y-pos [m] |
||
4. z-pos [m] |
||
5. \(\theta_z\) [deg]. Angle between local x-axis and main_body x-axis in the main_body x-y coordinate plane. For a straight blade this angle is the aerodynamic twist. Note that the sign is positive around the z-axis, which is opposite to traditional notation for etc. a pitch angle. |
Data format for the user defined a-ct table#
It is possible to provide two types of tables. The first type only includes the region for positive \(C_T\). This type of table should start from [0, 0]. Then, the relationship in the region of negative \(C_T\) is assumed to be an odd function, such that \(a(-C_T) = -a(C_T)\). The second type of table includes the region of both negative and positive \(C_T\) and it is not necessary to pass through [0, 0]. The second type is recommended when modeling a rotor that might also operate as a propeller, with negative \(C_T\).
Both types of a-ct tables need to be monotonically increasing in \(C_T\). The tables will be linearly extrapolated outside of the range \(-2.5<C_T<2.5\). Please ensure that the table you provide covers that range (or the range from \(0<C_T<2.5\) if providing only a table for positive values of \(a\) and \(C_T\)). We recommend a higher resolution than in the example table below.
Line number |
Description |
|---|---|
1 |
Nrows, Number of data rows |
2..1+Nrows |
1. Axial induction factor \(a\) |
2. Thrust coefficient \(C_T\) |
Example:
19
0.000000 0.000000
0.025274 0.100000
0.052250 0.200000
0.081458 0.300000
0.113427 0.400000
0.148688 0.500000
0.187769 0.600000
0.231201 0.700000
0.279514 0.800000
0.333237 0.900000
0.392900 1.000000
0.532166 1.200000
0.701551 1.400000
0.905293 1.600000
1.147630 1.800000
1.432800 2.000000
1.765042 2.200000
2.148595 2.400000
2.360937 2.500000
Additional comments for best results: We recommend a higher resolution than in this example. Further, set \(a(1)\) = 0.0 and \(C_T(1)\) = 0.0. In the table, \(C_T\) should be in increasing order: 0<= \(C_T\)(i)<\(C_T\)(i+1). The value of \(a\) and \(C_T\) should be positive except for the first row. Also provide extrapolated table until \(C_T\)=2.5.