From d873771a59030a72eaf177f6dcda6c5661dda53a Mon Sep 17 00:00:00 2001 From: DT4015 Date: Thu, 9 Oct 2025 23:31:25 +0100 Subject: [PATCH 1/4] Modified the CPCTLambdaPitch func to work with (#61) new aerodyn input format - removed AFAeroMod and WakeMod is now Wake_Mod Co-authored-by: DT4015 --- openfast_toolbox/case_generation/case_gen.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/openfast_toolbox/case_generation/case_gen.py b/openfast_toolbox/case_generation/case_gen.py index 88aabf6..3fe3bbb 100644 --- a/openfast_toolbox/case_generation/case_gen.py +++ b/openfast_toolbox/case_generation/case_gen.py @@ -360,8 +360,7 @@ def removeFASTOuputs(workDir): # --------------------------------------------------------------------------------{ def paramsSteadyAero(p=None): p = dict() if p is None else p - p['AeroFile|AFAeroMod']=1 # remove dynamic effects dynamic - p['AeroFile|WakeMod']=1 # remove dynamic inflow dynamic + p['AeroFile|Wake_Mod']=1 # remove dynamic inflow dynamic p['AeroFile|TwrPotent']=0 # remove tower shadow p['AeroFile|TwrAero']=False # remove tower shadow @@ -496,7 +495,6 @@ def paramsLinearTrim(p=None): p['LinOutMod'] = False p['OutFmt'] = '"ES20.12E3"' # Important for decent resolution - p['AeroFile|AFAeroMod'] = 1 p['AeroFile|CavitCheck'] = 'False' p['AeroFile|CompAA'] = 'False' @@ -599,7 +597,7 @@ def CPCT_LambdaPitch(refdir, main_fastfile, Lambda=None, Pitch=np.linspace(-10,4 """ - WS_default=5 # If user does not provide a wind speed vector, wind speed used + WS_default=8 # If user does not provide a wind speed vector, wind speed used # if the user provided a full path to the main file, we scrap the directory. TODO, should be cleaner if len(os.path.dirname(main_fastfile))>0: From 0b92e9571c60db0e84542715736d40c6a44c73c8 Mon Sep 17 00:00:00 2001 From: Yuanchi Ma Date: Fri, 10 Oct 2025 06:31:55 +0800 Subject: [PATCH 2/4] Fix variable name for TipRad in Example_EditOpenFASTModel.py (#51) --- openfast_toolbox/io/examples/Example_EditOpenFASTModel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openfast_toolbox/io/examples/Example_EditOpenFASTModel.py b/openfast_toolbox/io/examples/Example_EditOpenFASTModel.py index aa61a1c..4d9be7c 100644 --- a/openfast_toolbox/io/examples/Example_EditOpenFASTModel.py +++ b/openfast_toolbox/io/examples/Example_EditOpenFASTModel.py @@ -30,7 +30,7 @@ print('> Hub radius: ',ED['HubRad']) print('> Tip radius: ',ED['TipRad']) print('> Hub mass: ',ED['HubMass']) -ED['TipRadius'] = 64 # Modifying the data +ED['TipRad'] = 64 # Modifying the data #ED.write('_NewFile.dat') # write a new file with modified data From 95524b2b80d6f97691ab20b797be2afb345bb07e Mon Sep 17 00:00:00 2001 From: "E. Branlard" <1318316+ebranlard@users.noreply.github.com> Date: Thu, 9 Oct 2025 18:32:49 -0400 Subject: [PATCH 3/4] Update of FAST.Farm for windows (#63) * Update of FAST.Farm for windows * Fixing unittests --- data/.gitignore | 2 + openfast_toolbox/__init__.py | 7 +- openfast_toolbox/case_generation/runner.py | 199 +- .../converters/openfastToHawc2.py | 2 + .../fastfarm/AMRWindSimulation.py | 21 +- .../fastfarm/FASTFarmCaseCreation.py | 1439 ++++++++--- .../fastfarm/TurbSimCaseCreation.py | 322 ++- .../SampleFiles/FF_ForInitialDebug.fstf | 115 + openfast_toolbox/fastfarm/fastfarm.py | 351 ++- .../fastfarm/postpro/ff_postpro.py | 25 +- .../fastfarm/tests/test_turbsimExtent.py | 2 +- openfast_toolbox/io/fast_input_deck.py | 106 +- openfast_toolbox/io/fast_input_file.py | 140 +- openfast_toolbox/io/rosco_discon_file.py | 4 +- .../io/tests/example_files/FASTIn_Blade.dat | 2 +- openfast_toolbox/io/tests/test_fast_input.py | 6 +- openfast_toolbox/modules/elastodyn.py | 2131 +++++++++++++++++ openfast_toolbox/modules/servodyn.py | 63 + openfast_toolbox/tools/grids.py | 218 ++ openfast_toolbox/tools/strings.py | 391 +++ 20 files changed, 4858 insertions(+), 688 deletions(-) create mode 100644 data/.gitignore create mode 100644 openfast_toolbox/fastfarm/examples/SampleFiles/FF_ForInitialDebug.fstf create mode 100644 openfast_toolbox/modules/elastodyn.py create mode 100644 openfast_toolbox/modules/servodyn.py create mode 100644 openfast_toolbox/tools/grids.py create mode 100644 openfast_toolbox/tools/strings.py diff --git a/data/.gitignore b/data/.gitignore new file mode 100644 index 0000000..a915a64 --- /dev/null +++ b/data/.gitignore @@ -0,0 +1,2 @@ +*.lin +*.sum.yaml diff --git a/openfast_toolbox/__init__.py b/openfast_toolbox/__init__.py index 511afef..59b54b2 100644 --- a/openfast_toolbox/__init__.py +++ b/openfast_toolbox/__init__.py @@ -8,7 +8,10 @@ from .io.fast_input_deck import FASTInputDeck # Add version to package -with open(os.path.join(os.path.dirname(__file__), "..", "VERSION")) as fid: - __version__ = fid.read().strip() +try: + with open(os.path.join(os.path.dirname(__file__), "..", "VERSION")) as fid: + __version__ = fid.read().strip() +except: + __version__='v0.0.0-Unknown' diff --git a/openfast_toolbox/case_generation/runner.py b/openfast_toolbox/case_generation/runner.py index df7ed10..914abad 100644 --- a/openfast_toolbox/case_generation/runner.py +++ b/openfast_toolbox/case_generation/runner.py @@ -1,9 +1,11 @@ # --- For cmd.py import os +import sys import subprocess import multiprocessing import collections +from contextlib import contextmanager import glob import pandas as pd import numpy as np @@ -14,9 +16,19 @@ # --- Fast libraries from openfast_toolbox.io.fast_input_file import FASTInputFile from openfast_toolbox.io.fast_output_file import FASTOutputFile +from openfast_toolbox.tools.strings import FAIL, OK FAST_EXE='openfast' +@contextmanager +def safe_cd(newdir): + prevdir = os.getcwd() + try: + os.chdir(newdir) + yield + finally: + os.chdir(prevdir) + # --------------------------------------------------------------------------------} # --- Tools for executing FAST # --------------------------------------------------------------------------------{ @@ -72,10 +84,10 @@ def _report(p): # --- Giving a summary if len(Failed)==0: if verbose: - print('[ OK ] All simulations run successfully.') + OK('All simulations run successfully.') return True, Failed else: - print('[FAIL] {}/{} simulations failed:'.format(len(Failed),len(inputfiles))) + FAIL('{}/{} simulations failed:'.format(len(Failed),len(inputfiles))) for p in Failed: print(' ',p.input_file) return False, Failed @@ -113,34 +125,178 @@ class Dummy(): p.exe = exe return p -def runBatch(batchfiles, showOutputs=True, showCommand=True, verbose=True): +def in_jupyter(): + try: + from IPython import get_ipython + return 'ipykernel' in str(type(get_ipython())) + except: + return False + +def stream_output(std, buffer_lines=5, prefix='|', line_count=True): + if in_jupyter(): + from IPython.display import display, update_display + # --- Jupyter mode --- + #handles = [display("DUMMY LINE FOR BUFFER", display_id=True) for _ in range(buffer_lines)] + #buffer = [] + #for line in std: + # line = line.rstrip() + # buffer.append(line) + # if len(buffer) > buffer_lines: + # buffer.pop(0) + # # update all display slots + # for i, handle in enumerate(handles): + # text = buffer[i] if i < len(buffer) else "" + # update_display(text, display_id=handle.display_id) + + # --- alternative using HTML + from IPython.display import display, update_display, HTML + import html as _html + + # --- Jupyter mode with HTML --- + handles = [display(HTML("
{}DUMMY LINE FOR BUFFER
".format(prefix)), display_id=True) + for _ in range(buffer_lines)] + buffer = [] + iLine=0 + for line in std: + iLine+=1 + line = line.rstrip("\r\n") + if line_count: + line = f"{iLine:>5}: {line}" + line = f"{prefix}{line}" + buffer.append(line) + if len(buffer) > buffer_lines: + buffer.pop(0) + # update all display slots + for i, handle in enumerate(handles): + text = buffer[i] if i < len(buffer) else "" + + html_text = "
{}
".format(_html.escape(text) if text else " ") + update_display(HTML(html_text), display_id=handle.display_id) + + else: + import shutil + + term_width = shutil.get_terminal_size((80, 20)).columns + for _ in range(buffer_lines): + print('DummyLine') + # --- Terminal mode --- + buffer = [] + iLine = 0 + for line in std: + iLine += 1 + line = line.rstrip() + line = line.rstrip() + if line_count: + line = f"{iLine:>5}: {line}" + line = f"{prefix}{line}" + line = line[:term_width] # truncate to fit in one line + buffer.append(line) + if len(buffer) > buffer_lines: + buffer.pop(0) + sys.stdout.write("\033[F\033[K" * len(buffer)) + for l in buffer: + print(l) + sys.stdout.flush() + +def stdHandler(std, method='show'): + from collections import deque + import sys + + if method =='show': + for line in std: + print(line, end='') + return None + + elif method =='store': + return std.read() # read everything + + elif method.startswith('buffer'): + buffer_lines = int(method.split('_')[1]) + buffer = deque(maxlen=buffer_lines) + print('------ Beginning of buffer outputs ----------------------------------') + stream_output(std, buffer_lines=buffer_lines) + print('------ End of buffer outputs ----------------------------------------') + return None + + + + + +def runBatch(batchfiles, showOutputs=True, showCommand=True, verbose=True, newWindow=False, closeWindow=True, shell_cmd='bash', nBuffer=0): """ Run one or several batch files TODO: error handling, status, parallel + + showOutputs=True => stdout & stderr printed live + showOutputs=False => stdout captured internally, stderr printed live + + For output to show in a Jupyter notebook, we cannot use stdout=None, or stderr=None, we need to use Pipe + """ + import sys + windows = (os.name == "nt") if showOutputs: STDOut= None + std_method = 'show' + if nBuffer>0: + std_method=f'buffer_{nBuffer}' else: - STDOut= open(os.devnull, 'w') - - curDir = os.getcwd() - print('Current directory', curDir) + std_method = 'store' + #STDOut= open(os.devnull, 'w') + #STDOut= subprocess.DEVNULL + STDOut= subprocess.PIPE def runOneBatch(batchfile): batchfile = batchfile.strip() batchfile = batchfile.replace('\\','/') batchDir = os.path.dirname(batchfile) + batchfileRel = os.path.relpath(batchfile, batchDir) + if windows: + command = [batchfileRel] + else: + command = [shell_cmd, batchfileRel] + if showCommand: - print('>>>> Running batch file:', batchfile) - print(' in directory:', batchDir) - try: - os.chdir(batchDir) - returncode=subprocess.call([batchfile], stdout=STDOut, stderr=subprocess.STDOUT, shell=shell) - except: - os.chdir(curDir) - returncode=-10 - return returncode + print('[INFO] Running batch file:', batchfileRel) + print(' using command:', command) + print(' in directory:', batchDir) + + if newWindow: + # --- Launch a new window (windows only for now) + if windows: + cmdflag= '/c' if closeWindow else '/k' + subprocess.Popen(f'start cmd {cmdflag} {batchfileRel}', shell=True, cwd=batchDir) + return 0 + else: + raise NotImplementedError('Running batch in `newWindow` only implemented on Windows.') + else: + # --- We wait for outputs + stdout_data = None + with safe_cd(batchDir): # Automatically go back to current directory + try: + # --- Option 2 + # Use Popen so we can print outputs live + #proc = subprocess.Popen([batchfileRel], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=shell, text=True ) + proc = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=shell, text=True ) + # Print or store stdout + stdout_data = stdHandler(proc.stdout, method=std_method) + # Always print errors output line by line + for line in proc.stderr: + print(line, end='') + proc.wait() + returncode = proc.returncode + # Dump stdout if there was an error + if returncode != 0 and stdout_data: + print("\n--- Captured stdout ---") + print(stdout_data) + except FileNotFoundError as e: + print('[FAIL] Running Batch failed, a file or command was not found see below:\n'+str(e)) + returncode=-10 + except Exception as e: + print('[FAIL] Running Batch failed, see below:\n'+str(e)) + returncode=-10 + return returncode shell=False if isinstance(batchfiles,list): @@ -152,20 +308,20 @@ def runOneBatch(batchfile): Failed.append(batchfile) if len(Failed)>0: returncode=1 - print('[FAIL] {}/{} Batch files failed.'.format(len(Failed),len(batchfiles))) + FAIL('{}/{} Batch files failed.'.format(len(Failed),len(batchfiles))) print(Failed) else: returncode=0 if verbose: - print('[ OK ] {} batch filse ran successfully.'.format(len(batchfiles))) + OK('{} batch files ran successfully.'.format(len(batchfiles))) # TODO else: returncode = runOneBatch(batchfiles) if returncode==0: if verbose: - print('[ OK ] Batch file ran successfully.') + OK('Batch file ran successfully.') else: - print('[FAIL] Batch file failed:',batchfiles) + FAIL('Batch file failed: '+str(batchfiles)) return returncode @@ -200,6 +356,7 @@ def writeBatch(batchfile, fastfiles, fastExe=None, nBatches=1, pause=False, flag discard_if_ext_present=None, dispatch=False, stdOutToFile=False, + preCommands=None, echo=True): """ Write one or several batch file, all paths are written relative to the batch file directory. The batch file will consist of lines of the form: @@ -255,6 +412,8 @@ def writeb(batchfile, fastfiles): if not echo: if os.name == 'nt': f.write('@echo off\n') + if preCommands is not None: + f.write(preCommands+'\n') for ff in fastfiles: ff_abs = os.path.abspath(ff) ff_rel = os.path.relpath(ff_abs, batchdir) diff --git a/openfast_toolbox/converters/openfastToHawc2.py b/openfast_toolbox/converters/openfastToHawc2.py index 393bed8..1e37d47 100644 --- a/openfast_toolbox/converters/openfastToHawc2.py +++ b/openfast_toolbox/converters/openfastToHawc2.py @@ -25,6 +25,8 @@ def FAST2Hawc2(fstIn, htcTemplate, htcOut, OPfile=None, TwrFAFreq=0.1, TwrSSFreq ED = fst.fst_vt['ElastoDyn'] AD = fst.fst_vt['AeroDyn15'] Bld = fst.fst_vt['AeroDynBlade'] + if isinstance(Bld, list): + Bld = Bld[0] AF = fst.fst_vt['af_data'] twrOF = fst.fst_vt['ElastoDynTower'] BD = fst.fst_vt['BeamDyn'] diff --git a/openfast_toolbox/fastfarm/AMRWindSimulation.py b/openfast_toolbox/fastfarm/AMRWindSimulation.py index a45af88..15c7d99 100644 --- a/openfast_toolbox/fastfarm/AMRWindSimulation.py +++ b/openfast_toolbox/fastfarm/AMRWindSimulation.py @@ -2,6 +2,7 @@ import os from openfast_toolbox.fastfarm.FASTFarmCaseCreation import getMultipleOf +from openfast_toolbox.tools.strings import INFO, FAIL, OK, WARN, print_bold class AMRWindSimulation: ''' @@ -180,7 +181,7 @@ def _checkInputs(self): # For convenience, the turbines should not be zero-indexed if 'name' in self.wts[0]: if self.wts[0]['name'] != 'T1': - if self.verbose>0: print(f"WARNING: Recommended turbine numbering should start at 1. Currently it is zero-indexed.") + if self.verbose>0: WARN(f"Recommended turbine numbering should start at 1. Currently it is zero-indexed.") # Flags of given/calculated spatial resolution for warning/error printing purposes @@ -188,12 +189,12 @@ def _checkInputs(self): self.given_ds_lr = False warn_msg = "" if self.ds_hr is not None: - warn_msg += f"WARNING: HIGH-RES SPATIAL RESOLUTION GIVEN. CONVERTING FATAL ERRORS ON HIGH-RES BOXES CHECKS TO WARNINGS." + warn_msg += f"HIGH-RES SPATIAL RESOLUTION GIVEN. CONVERTING FATAL ERRORS ON HIGH-RES BOXES CHECKS TO WARNINGS." self.given_ds_hr = True if self.ds_lr is not None: - warn_msg += f"WARNING: LOW-RES SPATIAL RESOLUTION GIVEN. CONVERTING FATAL ERRORS ON LOW-RES BOX CHECKS TO WARNINGS." + warn_msg += f"LOW-RES SPATIAL RESOLUTION GIVEN. CONVERTING FATAL ERRORS ON LOW-RES BOX CHECKS TO WARNINGS." self.given_ds_lr = True - if self.verbose>0: print(f'{warn_msg}\n') + if self.verbose>0 and len(warn_msg)>0: WARN(f'{warn_msg}') a=1 @@ -275,6 +276,8 @@ def _calc_sampling_time(self): # Calculate dt of high-res per guidelines dt_hr_max = 1 / (2 * self.fmax_max) self.dt_high_les = getMultipleOf(dt_hr_max, multipleof=self.dt) # Ensure dt_hr is a multiple of the AMR-Wind timestep + if self.dt_high_les ==0: + raise ValueError(f"AMR-Wind timestep dt={self.dt} is too coarse for high resolution domain! The time step based on `fmax` is {dt_hr_max}, which is too small to be rounded as a multiple of dt.") else: # The dt of high-res is given self.dt_high_les = self.dt_hr @@ -339,7 +342,7 @@ def _calc_grid_resolution(self): error_msg = f"AMR-Wind grid spacing of {self.ds_max_at_hr_level} m at the high-res box level of {self.level_hr} is too coarse for "\ f"the high resolution domain. AMR-Wind grid spacing at level {self.level_hr} must be at least {self.ds_high_les} m." if self.given_ds_hr: - if self.verbose>0: print(f'WARNING: {error_msg}') + if self.verbose>0 and len(error_msg)>0: WARN(f'{error_msg}') else: raise ValueError(error_msg) @@ -351,7 +354,7 @@ def _calc_grid_resolution(self): f"to the call to `AMRWindSimulation`. Note that sampled values will no longer be at the cell centers, as you will be requesting "\ f"sampling at {self.ds_low_les} m while the underlying grid will be at {self.ds_max_at_lr_level} m.\n --- SUPRESSING FURTHER ERRORS ---" if self.given_ds_lr: - if self.verbose>0: print(f'WARNING: {error_msg}') + if self.verbose>0 and len(error_msg)>0: WARN(f'{error_msg}') else: raise ValueError(error_msg) @@ -382,8 +385,8 @@ def _calc_grid_resolution_lr(self): # For curled wake model: ds_lr_max = self.cmeander_max * self.dt_low_les * self.vhub**2 / 5 ds_low_les = getMultipleOf(ds_lr_max, multipleof=self.ds_hr) - if self.verbose>0: print(f"Low-res spatial resolution should be at least {ds_lr_max:.2f} m, but since it needs to be a multiple of high-res "\ - f"resolution of {self.ds_hr}, we pick ds_low to be {ds_low_les} m") + if self.verbose>0: INFO(f"Low-res spatial resolution (ds_low) should be >={ds_lr_max:.2f} m.\nTo be a multiple of ds_high"\ + f"={self.ds_hr} m, we pick ds_low={ds_low_les} m") #self.ds_lr = self.ds_low_les return ds_low_les @@ -636,7 +639,7 @@ def _check_grid_placement_single(self, sampling_xyzgrid_lhr, amr_xyzgrid_at_lhr_ f"AMR-Wind grid (subset): {amr_xyzgrid_at_lhr_level_cc[amr_index ]}, {amr_xyzgrid_at_lhr_level_cc[amr_index+1]}, "\ f"{amr_xyzgrid_at_lhr_level_cc[amr_index+2]}, {amr_xyzgrid_at_lhr_level_cc[amr_index+3]}, ..." if self.given_ds_lr: - if self.verbose>0: print(f'WARNING: {error_msg}') + if self.verbose>0 and len(error_msg)>0: WARN(f'{error_msg}') else: raise ValueError(error_msg) diff --git a/openfast_toolbox/fastfarm/FASTFarmCaseCreation.py b/openfast_toolbox/fastfarm/FASTFarmCaseCreation.py index 09f0517..762aad1 100644 --- a/openfast_toolbox/fastfarm/FASTFarmCaseCreation.py +++ b/openfast_toolbox/fastfarm/FASTFarmCaseCreation.py @@ -1,16 +1,75 @@ import pandas as pd import os, sys, shutil import subprocess +from contextlib import contextmanager import numpy as np -import xarray as xr +np.random.seed(12) # For reproducibility (e.g. random azimuth) -from openfast_toolbox.io import FASTInputFile, FASTOutputFile, TurbSimFile, VTKFile +from openfast_toolbox.tools.strings import INFO, FAIL, OK, WARN, print_bold + +from openfast_toolbox.io import FASTInputDeck, FASTInputFile, FASTOutputFile, TurbSimFile, VTKFile from openfast_toolbox.io.rosco_discon_file import ROSCODISCONFile -from openfast_toolbox.fastfarm import writeFastFarm, fastFarmTurbSimExtent, plotFastFarmSetup +from openfast_toolbox.fastfarm import writeFastFarm +from openfast_toolbox.fastfarm import plotFastFarmSetup # Make it available +from openfast_toolbox.fastfarm import defaultOutRadii from openfast_toolbox.fastfarm.TurbSimCaseCreation import TSCaseCreation, writeTimeSeriesFile +from openfast_toolbox.modules.servodyn import check_discon_library # Make it available + + +try: + import xarray as xr +except ImportError: + FAIL('The python package xarray is not installed. FFCaseCreation will not work fully.\nPlease install it using:\n`pip install xarray`') + + +_MOD_WAKE_STR = ['','polar', 'curled', 'cartesian'] + + def cosd(t): return np.cos(np.deg2rad(t)) def sind(t): return np.sin(np.deg2rad(t)) + + +# --------------------------------------------------------------------------------} +# --- File IO utils +# --------------------------------------------------------------------------------{ +@contextmanager +def safe_cd(newdir): + prevdir = os.getcwd() + try: + os.chdir(newdir) + yield + finally: + os.chdir(prevdir) + +def check_files_exist(*args): + import os + b = [] + if len(args)>1: + for a in args: + b.append(check_files_exist(a)) + return np.all(b) + files = args[0] + if isinstance(files, list): + for f in files: + b.append(check_files_exist(f)) + return np.all(b) + elif isinstance(files, dict): + for k,v in files.items(): + b.append(check_files_exist(v)) + return np.all(b) + elif isinstance(files, str): + # + f = files + if not os.path.exists(f): + FAIL(f'File not found: {f}') + return False + else: + OK (f'File exists : {f}') + return True + else: + raise NotImplementedError(f'Input of unknown type: {files}') + def checkIfExists(f): if os.path.basename(f) == 'unused': return True @@ -26,6 +85,22 @@ def shutilcopy2_untilSuccessful(src, dst): print(f'File {dst} not created. Trying again.\n') shutilcopy2_untilSuccessful(src,dst) +def hasSymlink(): + # If running on a platform without os.symlink (e.g. very old Python) + import tempfile + if not hasattr(os, "symlink"): + return False + try: + with tempfile.TemporaryDirectory() as tmp: + target = os.path.join(tmp, "target") + link = os.path.join(tmp, "link") + open(target, "w").close() + os.symlink(target, link) # attempt creation + return True + except (OSError, NotImplementedError): + # OSError covers Windows privilege errors, NotImplementedError covers unsupported FS + return False + def getMultipleOf(val, multipleof): ''' Get integer multiple of a quantity. @@ -57,6 +132,12 @@ def modifyProperty(fullfilename, entry, value): f.write(fullfilename) return +class FFException(Exception): + def __init__(self, message): + FAIL(message) + super().__init__(message) + + def load(fullpath, dill_filename='ffcase_obj.dill'): ''' Function to load dill objects saved with self.save() @@ -83,17 +164,19 @@ def load(fullpath, dill_filename='ffcase_obj.dill'): return obj + + class FFCaseCreation: def __init__(self, - path, - wts, - tmax, - zbot, - vhub, - shear, - TIvalue, - inflow_deg, + path=None, + wts=None, + tmax=None, + zbot=1, + vhub=None, + shear=None, + TIvalue=None, + inflow_deg=None, dt_high = None, ds_high = None, extent_high = None, @@ -106,13 +189,14 @@ def __init__(self, yaw_init = None, ADmodel = None, EDmodel = None, - nSeeds = 6, + nSeeds = None, seedValues = None, inflowPath = None, inflowType = None, sweepYawMisalignment = False, refTurb_rot = 0, #ptfm_rot = False, + flat=False, verbose = 0): ''' Full setup of a FAST.Farm simulations, can create setups for LES- or TurbSim-driven scenarios. @@ -188,7 +272,8 @@ def __init__(self, Verbosity level, given as integers <5 ''' - + np.random.seed(12) # For reproducibility (e.g. random azimuth) + # --- Store in object self.path = path self.wts = wts self.tmax = tmax @@ -218,6 +303,29 @@ def __init__(self, #self.ptfm_rot = ptfm_rot self.verbose = verbose self.attempt = 1 + self.flat = flat + # Set aux variable + self.templateFilesCreatedBool = False + self.TSlowBoxFilesCreatedBool = False + self.TShighBoxFilesCreatedBool = False + self.hasController = False + self.hasSrvD = False + self.hasHD = False + self.hasMD = False + self.hasBath = False + self.hasSS = False + self.hasSubD = False + self.hasBD = False + self.multi_HD = False + self.multi_MD = False + self.condDirList = [] + self.caseDirList = [] + self.DLLfilepath = None + self.DLLext = None + self.batchfile_high = '' + self.batchfile_low = '' + self.batchfile_ff = '' + if self.verbose is False: self.verbose = 0 @@ -225,24 +333,35 @@ def __init__(self, self._checkInputs() if self.verbose>0: print(f'Checking inputs... Done.') + if self.verbose>0: print(f'Checking if we can create symlinks...', end='\r') + self._can_create_symlinks = hasSymlink() + if self.verbose>0: print(f'Checking if we can create symlinks... {self._can_create_symlinks}') if self.verbose>0: print(f'Setting rotor parameters...', end='\r') self._setRotorParameters() if self.verbose>0: print(f'Setting rotor parameters... Done.') + # + # TODO TODO TODO + # Creating Cases and Conditions should have it's own function interface for the user can call for a given if self.verbose>0: print(f'Creating auxiliary arrays for all conditions and cases...', end='\r') self.createAuxArrays() if self.verbose>0: print(f'Creating auxiliary arrays for all conditions and cases... Done.') - if self.verbose>0: print(f'Creating directory structure and copying files...', end='\r') - self._create_dir_structure() - if self.verbose>0: print(f'Creating directory structure and copying files... Done.') + if path is not None: + # TODO TODO, this should only be done when user ask for input file creation + if self.verbose>0: print(f'Creating directory structure and copying files...', end='\r') + self._create_dir_structure() + if self.verbose>0: print(f'Creating directory structure and copying files... Done.') + + self._checkBinaries() def __repr__(self): - s = f'Requested parameters:\n' + s='<{} object> with the following content:\n'.format(type(self).__name__) + s += f'Requested parameters:\n' s += f' - Case path: {self.path}\n' s += f' - Wake model: {self.mod_wake} (1:Polar; 2:Curl; 3:Cartesian)\n' if self.inflowType == 'TS': @@ -259,7 +378,7 @@ def __repr__(self): s += f' - Wind speeds at hub height (m/s): {self.vhub}\n' s += f' - Shear exponent: {self.shear}\n' s += f' - TI (%): {self.TIvalue}\n' - s += f'\nCase details:\n' + s += f'Case details:\n' s += f' - Number of conditions: {self.nConditions}\n' for c in self.condDirList: s += f" {c}\n" @@ -273,8 +392,6 @@ def __repr__(self): s += f" ...\n" for c in self.caseDirList[-5:]: s += f" {c}\n" - s += f"\n\n" - if self.inflowType == 'TS': s += f'Turbulence boxes: TurbSim\n' @@ -284,47 +401,172 @@ def __repr__(self): s += f'LES turbulence boxes details:\n' s += f' Path: {self.inflowPath}\n' - - if self.TSlowBoxFilesCreatedBool or self.inflowType == 'LES': - s += f' Low-resolution domain: \n' - s += f' - ds low: {self.ds_low} m\n' - s += f' - dt low: {self.dt_low} s\n' - s += f' - Extent of low-res box (in D): xmin = {self.extent_low[0]}, xmax = {self.extent_low[1]}, ' - s += f'ymin = {self.extent_low[2]}, ymax = {self.extent_low[3]}, zmax = {self.extent_low[4]}\n' - else: - s += f'Low-res boxes not created yet.\n' - - - if self.TShighBoxFilesCreatedBool or self.inflowType == 'LES': - s += f' High-resolution domain: \n' - s += f' - ds high: {self.ds_high} m\n' - s += f' - dt high: {self.dt_high} s\n' - s += f' - Extent of high-res boxes: {self.extent_high} D total\n' - else: - s += f'High-res boxes not created yet.\n' + s += f' Low-resolution domain: \n' + s += f' - ds low: {self.ds_low} m\n' + s += f' - dt low: {self.dt_low} s\n' + s += f' - Extent of low-res box (in D): xmin = {self.extent_low[0]}, xmax = {self.extent_low[1]}, ' + s += f'ymin = {self.extent_low[2]}, ymax = {self.extent_low[3]}, zmax = {self.extent_low[4]}\n' + if self.inflowType !='LES': + s += f' Low-res boxes created: {self.TSlowBoxFilesCreatedBool} .\n' + + s += f' High-resolution domain: \n' + s += f' - ds high: {self.ds_high} m\n' + s += f' - dt high: {self.dt_high} s\n' + s += f' - Extent of high-res boxes: {self.extent_high} D total\n' + if self.inflowType !='LES': + s += f' High-res boxes created: {self.TShighBoxFilesCreatedBool}.\n' s += f"\n" return s + def _checkBinaries(self): - def _checkInputs(self): + # Check the FAST.Farm binary + if self.ffbin is None: + self.ffbin = shutil.which('FAST.Farm') + if not self.ffbin: + raise ValueError(f'No FAST.Farm binary was given and none could be found in $PATH.') + if self.verbose>0: + WARN('No FAST.Farm binary has been given. Using {self.ffbin}') + elif not os.path.isfile(self.ffbin): + raise ValueError (f'The FAST.Farm binary given does not exist: {self.ffbin}.') + + # Check the TurbSim binary + if self.inflowType == 'TS': + if self.tsbin is None: + self.tsbin = shutil.which('turbsim') + if not self.tsbin: + raise ValueError(f'No TurbSim binary was given and none could be found in $PATH.') + if self.verbose>0: + WARN('No TurbSim binary has been given. Using {self.tsbin}') + elif not os.path.isfile(self.tsbin): + raise ValueError (f'The TurbSim binary given does not exist: {self.tsbin}.') + + + + # --------------------------------------------------------------------------------} + # --- Object properties + # --------------------------------------------------------------------------------{ + @property + def D(self): return self.wts[0]['D'] + + @property + def nTurbines(self): return len(self.wts) + + @property + def zhub(self): return self.wts[0]['zhub'] + + @property + def cmax(self): return self.wts[0]['cmax'] + + @property + def fmax(self): return self.wts[0]['fmax'] + + @property + def Cmeander(self): return self.wts[0]['Cmeander'] + + # --------------------------------------------------------------------------------} + # --- Path and file handling + # --------------------------------------------------------------------------------{ + def getCondPath(self, cond): + if self.flat: + return self.path + else: + return os.path.join(self.path, self.condDirList[cond]) + + def getCasePath(self, cond, case): + if self.flat: + return self.getCondPath(cond) + else: + return os.path.join(self.getCondPath(cond), self.caseDirList[case]) + + def getCaseSeedPath(self, cond, case, seed): + casePath = self.getCasePath(cond, case) + if self.flat: + return casePath + else: + return os.path.join(casePath, f'Seed_{seed}') + + def getHRTurbSimPath(self, cond, case, seed): + return os.path.join( self.getCaseSeedPath(cond, case, seed), 'TurbSim' ) + + def getCondSeedPath(self, cond, seed): + condPath = self.getCondPath(cond) + if self.flat: + return os.path.join(condPath, 'TurbSim') + else: + return os.path.join(condPath, f'Seed_{seed}') + + @property + def FFFiles(self): + files = [] + for cond in range(self.nConditions): + for case in range(self.nCases): + for seed in range(self.nSeeds): + ff_file = os.path.join(self.getCaseSeedPath(cond, case, seed), self.outputFFfilename) + files.append(ff_file) + return files + + def files(self, module='AD'): + # TODO These files shoule be stored internally when created for easy access + + # Modules that don't vary + modules_MAP={ + 'AD':self.ADfilename, + 'ED':self.EDfilename, + 'FST':self.turbfilename, + 'SrvD':self.SrvDfilename, + } # TODO use an internal dictionary like that for all the template files.. + basename = modules_MAP[module] + files=[] + if module in ['ED', 'SrvD' ,'FST']: + ext='.fst' if module=='FST' else '.dat' + for cond in range(self.nConditions): + for case in range(self.nCases): + casePath = self.getCasePath(cond, case) + for turb in range(self.nTurbines): + files.append(os.path.join(casePath, f'{basename}{turb+1}{ext}')) + else: + for cond in range(self.nConditions): + for case in range(self.nCases): + files.append( os.path.join(self.getCasePath(cond, case), basename) ) + return files + + @property + def high_res_bts(self): + files = [] + #highBoxesCaseDirList = [self.caseDirList[c] for c in self.allHighBoxCases.case.values] + #for condDir in self.condDirList: + # for case in highBoxesCaseDirList: + for cond in range(self.nConditions): + for case in range(self.nCases): + for seed in range(self.nSeeds): + dirpath = self.getHRTurbSimPath(cond, case, seed) + for t in range(self.nTurbines): + #dirpath = os.path.join(self.path, condDir, case, f"Seed_{seed}/TurbSim") + files.append(f'{dirpath}/HighT{t+1}.bts') + return files + + + def _checkInputs(self): #### check if the turbine in the template FF input exists. - - # Create case path is doesn't exist - if not os.path.exists(self.path): - os.makedirs(self.path) + # --- Default arguments + if self.inflow_deg is None: + self.inflow_deg = [0]*len(self.vhub) + if self.TIvalue is None: + self.TIvalue = [10]*len(self.vhub) + if self.shear is None: + self.shear = [0]*len(self.vhub) + if self.tmax is None: + self.tmax = 0.00001 + + # Check the wind turbine dict if not isinstance(self.wts,dict): raise ValueError (f'`wts` needs to be a dictionary with the following entries for each turbine: x, y, ', f'z, D, zhub, cmax, fmax, Cmeander, phi_deg. The only optional entry is phi_deg.') - self.nTurbines = len(self.wts) - self.D = self.wts[0]['D'] - self.zhub = self.wts[0]['zhub'] - self.cmax = self.wts[0]['cmax'] - self.fmax = self.wts[0]['fmax'] - self.Cmeander = self.wts[0]['Cmeander'] # Check the platform heading and initialize as zero if needed if 'phi_deg' not in self.wts[0]: # check key for first turbine @@ -412,26 +654,6 @@ def _checkInputs(self): raise ValueError(f'The extent of high boxes is not enough to cover the rotor diameter. '\ 'The extent high is given as the total extent, and it needs to be greater than 1.') - # Check the FAST.Farm binary - if self.ffbin is None: - self.ffbin = shutil.which('FAST.Farm') - if not self.ffbin: - raise ValueError(f'No FAST.Farm binary was given and none could be found in $PATH.') - if self.verbose>0: - print('WARNING: No FAST.Farm binary has been given. Using {self.ffbin}') - elif not os.path.isfile(self.ffbin): - raise ValueError (f'The FAST.Farm binary given does not exist.') - - # Check the TurbSim binary - if self.inflowType == 'TS': - if self.tsbin is None: - self.tsbin = shutil.which('turbsim') - if not self.tsbin: - raise ValueError(f'No TurbSim binary was given and none could be found in $PATH.') - if self.verbose>0: - print('WARNING: No TurbSim binary has been given. Using {self.tsbin}') - elif not os.path.isfile(self.tsbin): - raise ValueError (f'The TurbSim binary given does not exist.') # Check turbine conditions arrays for consistency if len(self.inflow_deg) != len(self.yaw_init): @@ -463,7 +685,7 @@ def _checkInputs(self): f'in the ADmodel and EDmodel arrays ({np.shape(self.ADmodel)[1]})') # Check on seed parameters - if self.nSeeds is None and self.inflowType == 'LES': + if self.nSeeds is None: self.nSeeds = 1 if not isinstance(self.nSeeds,int): raise ValueError(f'An integer number of seeds should be requested. Got {self.nSeeds}.') @@ -489,7 +711,7 @@ def _checkInputs(self): self.Mod_AmbWind = 1 for p in self.inflowPath: if not os.path.isdir(p): - print(f'WARNING: The LES path {p} does not exist') + WARN(f'The LES path {p} does not exist') # LES is requested, so domain limits must be given if None in (self.dt_high, self.ds_high, self.dt_low, self.ds_low): raise ValueError (f'An LES-driven case was requested, but one or more grid parameters were not given. '\ @@ -504,9 +726,8 @@ def _checkInputs(self): # Check the ds and dt for the high- and low-res boxes. If not given, call the # AMR-Wind auxiliary function with dummy domain limits. if None in (self.dt_high, self.ds_high, self.dt_low, self.ds_low): - mod_wake_str = ['','polar', 'curled', 'cartesian'] - print(f'WARNING: One or more temporal or spatial resolution for low- and high-res domains were not given.') - print(f' Estimated values for {mod_wake_str[self.mod_wake]} wake model shown below.') + WARN(f'One or more temporal or spatial resolution for low- and high-res domains were not given.\n'+ + f'Estimated values for {_MOD_WAKE_STR[self.mod_wake]} wake model shown below.') self._determine_resolutions_from_dummy_amrwind_grid() # Check the temporal and spatial resolutions if provided @@ -523,20 +744,6 @@ def _checkInputs(self): if self.refTurb_rot >= self.nTurbines: raise ValueError(f'The index for the reference turbine for the farm to be rotated around is greater than the number of turbines') - # Set aux variable - self.templateFilesCreatedBool = False - self.TSlowBoxFilesCreatedBool = False - self.TShighBoxFilesCreatedBool = False - self.hasController = False - self.hasSrvD = False - self.hasHD = False - self.hasMD = False - self.hasBath = False - self.hasSS = False - self.hasSubD = False - self.hasBD = False - self.multi_HD = False - self.multi_MD = False @@ -545,7 +752,7 @@ def _determine_resolutions_from_dummy_amrwind_grid(self): from openfast_toolbox.fastfarm.AMRWindSimulation import AMRWindSimulation # Create values and keep variable names consistent across interfaces - dummy_dt = 0.1 + dummy_dt = 0.1 # TODO TODO TODO determine it based on fmax dummy_ds = 1 prob_lo = (-10005, -10005, 0) # The 5 m offset is such that we prob_hi = ( 10005, 10005, 1000) # have a cell center at (0,0) @@ -565,15 +772,17 @@ def _determine_resolutions_from_dummy_amrwind_grid(self): dt_hr = self.dt_high, dt_lr = self.dt_low, mod_wake = self.mod_wake) - print(f'Calculated values:') - print(f' High-resolution: ds: {amr.ds_high_les} m, dt: {amr.dt_high_les} s') - print(f' Low-resolution: ds: {amr.ds_low_les} m, dt: {amr.dt_low_les} s\n') - print(f'WARNING: If the above values are too fine or manual tuning is warranted, specify them manually.') - print(f' To do that, specify, e.g., `dt_high = {2*amr.dt_high_les}` to the call to `FFCaseCreation`.') - print(f' `ds_high = {2*amr.ds_high_les}`') - print(f' `dt_low = {2*amr.dt_low_les}`') - print(f' `ds_low = {2*amr.ds_low_les}`') - print(f' If the values above are okay, you can safely ignore this warning.\n') + INFO(f'Resolution - Calculated values:') + print_bold(f' High-resolution: ds_high: {amr.ds_high_les} m, dt_high: {amr.dt_high_les} s') + print_bold(f' Low-resolution: ds_low : {amr.ds_low_les} m, dt_low: {amr.dt_low_les} s') + INFO (f'If the above values are too fine or manual tuning is warranted, specify them manually.') + print(f' To do that, specify the values directly to `FFCaseCreation`, e.g.:') + print(f' ', end='') + print(f'`dt_high = {2*amr.dt_high_les}`; ', end='') + print(f'`ds_high = {2*amr.ds_high_les}`; ', end='') + print(f'`dt_low = {2*amr.dt_low_les}`; ', end='') + print(f'`ds_low = {2*amr.ds_low_les}`; ') + #print(f' If the values above are okay, you can safely ignore this warning.\n') self.dt_high = amr.dt_high_les self.ds_high = amr.dt_high_les @@ -586,8 +795,12 @@ def _determine_resolutions_from_dummy_amrwind_grid(self): def _create_dir_structure(self): # Create directory structure CondXX_*/CaseYY_*/Seed_Z/TurbSim; and CondXX_*/Seed_Y # Also saves the dir structure on array to write on SLURM script in the future. + # Create case path is doesn't exist + if not os.path.exists(self.path): + os.makedirs(self.path) + + # --- Creating Condition list condDirList = [] - caseDirList_ = [] for cond in range(self.nConditions): # Recover information about current condition for directory naming purposes Vhub_ = self.allCond['vhub' ].isel(cond=cond).values @@ -597,58 +810,104 @@ def _create_dir_structure(self): # Set current path name string condStr = f'Cond{cond:02d}_v{Vhub_:04.1f}_PL{shear_}_TI{tivalue_}' condDirList.append(condStr) - condPath = os.path.join(self.path, condStr) + + self.condDirList = condDirList - for case in range(self.nCases): - # Recover information about current case for directory naming purposes - inflow_deg_ = self.allCases['inflow_deg' ].sel(case=case).values - misalignment_ = self.allCases['misalignment' ].sel(case=case).values - nADyn_ = self.allCases['nFullAeroDyn' ].sel(case=case).values - nFED_ = self.allCases['nFulllElastoDyn'].sel(case=case).values - yawCase_ = self.allCases['yawCase' ].sel(case=case).values + # --- Creating Case List + caseDirList_ = [] + for case in range(self.nCases): + # Recover information about current case for directory naming purposes + inflow_deg_ = self.allCases['inflow_deg' ].sel(case=case).values + misalignment_ = self.allCases['misalignment' ].sel(case=case).values + nADyn_ = self.allCases['nFullAeroDyn' ].sel(case=case).values + nFED_ = self.allCases['nFulllElastoDyn'].sel(case=case).values + yawCase_ = self.allCases['yawCase' ].sel(case=case).values + + # Set current path name string. The case is of the following form: Case00_wdirp10_WSfalse_YMfalse_12fED_12ADyn + ndigits = len(str(self.nCases)) + caseStr = f"Case{case:0{ndigits}d}_wdir{f'{int(inflow_deg_):+03d}'.replace('+','p').replace('-','m')}" + # Add standard sweeps to the case name + if self.sweepYM: + caseStr += f"_YM{str(misalignment_).lower()}" + if self.sweepEDmodel: + caseStr += f"_{nFED_}fED" + if self.sweepADmodel: + caseStr += f"_{nADyn_}ADyn" + + #caseStr = f"Case{case:0{ndigits}d}_wdir{f'{int(inflow_deg_):+03d}'.replace('+','p').replace('-','m')}"\ + # f"_WS{str(wakeSteering_).lower()}_YM{str(misalignment_).lower()}"\ + # f"_{nFED_}fED_{nADyn_}ADyn" + # If sweeping on yaw, then add yaw case to dir name + if len(np.unique(self.allCases.yawCase)) > 1: + caseStr += f"_yawCase{yawCase_}" - # Set current path name string. The case is of the following form: Case00_wdirp10_WSfalse_YMfalse_12fED_12ADyn - ndigits = len(str(self.nCases)) - caseStr = f"Case{case:0{ndigits}d}_wdir{f'{int(inflow_deg_):+03d}'.replace('+','p').replace('-','m')}" - # Add standard sweeps to the case name - if self.sweepYM: - caseStr += f"_YM{str(misalignment_).lower()}" - if self.sweepEDmodel: - caseStr += f"_{nFED_}fED" - if self.sweepADmodel: - caseStr += f"_{nADyn_}ADyn" - - #caseStr = f"Case{case:0{ndigits}d}_wdir{f'{int(inflow_deg_):+03d}'.replace('+','p').replace('-','m')}"\ - # f"_WS{str(wakeSteering_).lower()}_YM{str(misalignment_).lower()}"\ - # f"_{nFED_}fED_{nADyn_}ADyn" - # If sweeping on yaw, then add yaw case to dir name - if len(np.unique(self.allCases.yawCase)) > 1: - caseStr += f"_yawCase{yawCase_}" - - caseDirList_.append(caseStr) - casePath = os.path.join(condPath, caseStr) + caseDirList_.append(caseStr) + + self.caseDirList = caseDirList_ + + # --- Creating directories including seed directories + for cond in range(self.nConditions): + for case in range(self.nCases): + casePath = self.getCasePath(cond, case) if not os.path.exists(casePath): os.makedirs(casePath) for seed in range(self.nSeeds): - seedPath = os.path.join(casePath, f'Seed_{seed}') + seedPath = self.getCaseSeedPath(cond, case, seed) if not os.path.exists(seedPath): os.makedirs(seedPath) - turbsimPath = os.path.join(seedPath, 'TurbSim') - if not os.path.exists(turbsimPath): os.makedirs(turbsimPath) + turbSimPath = self.getHRTurbSimPath(cond, case, seed) + if not os.path.exists(turbSimPath): os.makedirs(turbSimPath) # The following loop creates the turbsim files for low box. That should really only happen if inflowStr is `TurbSim`. # It does happen regardless because when the inflow is LES, it will be later on deleted. for seed in range(self.nSeeds): - seedPath = os.path.join(condPath, f'Seed_{seed}') + seedPath = self.getCondSeedPath(cond, seed) if not os.path.exists(seedPath): os.makedirs(seedPath) - - # Get rid of duplicate entries due to the nature of the loop (equiv to only getting the first nCases entries) - self.condDirList = condDirList - self.caseDirList = sorted(list(set(caseDirList_))) - assert self.caseDirList==caseDirList_[:self.nCases] + def _copy(self, src, dst, debug=False): + if debug: + print('SRC:', src, os.path.exists(src)) + print('DST:', dst, os.path.exists(dst)) + error = f"Src file not found: {src}" + if not os.path.exists(src): + raise Exception(error) + #return error + if not os.path.exists(dst): + #try: + shutil.copy2(src, dst) + #except FileExistsError: + # if debug: + # raise Exception(error) + # error = dst + return error + + + + def _symlink(self, src, dst, debug=False): + if debug: + print('SRC:', src, os.path.exists(src)) + print('DST:', dst, os.path.exists(dst)) + error = f"Src file not found: {src}" + if not os.path.exists(src): + raise Exception(error) + #return error + if not os.path.exists(dst): + if self._can_create_symlinks: + try: + os.symlink(src, dst) + except FileExistsError: + error = dst + else: + try: + shutil.copy2(src, dst) + except FileExistsError: + if debug: + raise Exception(error) + error = dst + return error def copyTurbineFilesForEachCase(self, writeFiles=True): + INFO('Copying OpenFAST files from template to simulation directory') if not self.templateFilesCreatedBool: raise SyntaxError('Template files not set. Call `setTemplateFilename` before calling this function.') @@ -658,7 +917,7 @@ def copyTurbineFilesForEachCase(self, writeFiles=True): if self.verbose>0: print(f'Processing condition {self.condDirList[cond]}') for case in range(self.nCases): if self.verbose>0: print(f' Processing case {self.caseDirList[case]}', end='\r') - currPath = os.path.join(self.path, self.condDirList[cond], self.caseDirList[case]) + currPath = self.getCasePath(cond, case) # Recover info about the current CondXX_*/CaseYY_* Vhub_ = self.allCond.sel(cond=cond)['vhub'].values @@ -677,7 +936,7 @@ def copyTurbineFilesForEachCase(self, writeFiles=True): if not self.multi_HD: self.HydroDynFile.write(os.path.join(currPath, self.HDfilename)) # Copy HydroDyn Data directory - srcF = os.path.join(self.templatePath, self.hydroDatapath) + srcF = self.hydrodatafilepath dstF = os.path.join(currPath, self.hydroDatapath) os.makedirs(dstF, exist_ok=True) for file in os.listdir(srcF): @@ -697,6 +956,7 @@ def copyTurbineFilesForEachCase(self, writeFiles=True): # Write updated DISCON if writeFiles and self.hasController: if not hasattr(self, 'cpctcqfilepath'): + # TODO DO THIS WITH THE OTHER TEMPLATE FILES! # Only do this once (allows re-running of the setup) self.cpctcqfilepath = self.DISCONFile['PerfFileName'] self.cpctcqfilename = os.path.basename(self.cpctcqfilepath) # Typically Cp_Ct_Cq..txt @@ -717,16 +977,26 @@ def copyTurbineFilesForEachCase(self, writeFiles=True): # give the relative path. We give the path as the current one, so here we create a link to ensure it will work # regardless of how the controller was compiled. There is no harm in having this extra link even if it's not needed. if self.hasController: - notepath = os.getcwd(); os.chdir(self.path) for seed in range(self.nSeeds): - try: - src = os.path.join('..', self.controllerInputfilename) - dst = os.path.join(self.condDirList[cond], self.caseDirList[case], f'Seed_{seed}', self.controllerInputfilename) + seedPath = self.getCaseSeedPath(cond, case, seed) + dst = os.path.join(seedPath, self.controllerInputfilename) + if self._can_create_symlinks: + # --- Unix based + # We create a symlink at + # dst = path/cond/case/seed/DISCON.in + # pointing to : + # src = '../DISCON.in' + src = os.path.join('../', self.controllerInputfilename) if writeFiles: - os.symlink(src, dst) - except FileExistsError: - pass - os.chdir(notepath) + try: + os.symlink(src, dst) + except FileExistsError: + pass + else: + # --- Windows + src = self.controllerInputfilepath + if writeFiles: + self._copy(src, dst, debug=False) # Write InflowWind files. For FAST.Farm, each OpenFAST instance needs to have an IW file. For LES-driven cases (Mod_AmbWind=1), # it is still needed, even though WindType is not used. For TS-driven, it is also needed and WindType should be 3. Here we use @@ -745,7 +1015,8 @@ def copyTurbineFilesForEachCase(self, writeFiles=True): self.InflowWindFile.write( os.path.join(currPath,self.IWfilename)) if self.Mod_AmbWind == 3: # only for TS-driven cases for seed in range(self.nSeeds): - self.InflowWindFile.write( os.path.join(currPath,f'Seed_{seed}',self.IWfilename)) + seedPath = self.getCaseSeedPath(cond, case, seed) + self.InflowWindFile.write( os.path.join(seedPath, self.IWfilename)) # Before starting the loop, print once the info about the controller is no controller is present @@ -811,7 +1082,7 @@ def copyTurbineFilesForEachCase(self, writeFiles=True): if 'Skew_Mod' in self.AeroDynFile.keys(): self.AeroDynFile['Skew_Mod'] = 1 self.AeroDynFile['SkewMomCorr'] = True - self.AeroDynFile['BEM_Mod'] = 2 + #self.AeroDynFile['BEM_Mod'] = 2 # TODO let the user decide. Commented out by Emmanuel self.AeroDynFile['IntegrationMethod'] = 4 # Adjust the Airfoil path to point to the templatePath (1:-1 to remove quotes) self.AeroDynFile['AFNames'] = [f'"{os.path.join(self.templatePathabs, "Airfoils", i[1:-1].split("Airfoils/", 1)[-1])}"' @@ -827,7 +1098,7 @@ def copyTurbineFilesForEachCase(self, writeFiles=True): if self.hasSrvD: self.ServoDynFile['YawNeut'] = yaw_deg_ + yaw_mis_deg_ self.ServoDynFile['VSContrl'] = 5 - self.ServoDynFile['DLL_FileName'] = f'"{self.DLLfilepath}{t+1}.so"' + self.ServoDynFile['DLL_FileName'] = f'"{self.DLLfilepath}{t+1}.{self.DLLext}"' self.ServoDynFile['DLL_InFile'] = f'"{self.controllerInputfilename}"' if writeFiles: self.ServoDynFile.write( os.path.join(currPath,f'{self.SrvDfilename}{t+1}_mod.dat')) @@ -938,14 +1209,15 @@ def copyTurbineFilesForEachCase(self, writeFiles=True): if writeFiles: if self._were_all_turbine_files_copied() == False and self.attempt<=5: self.attempt += 1 - print(f'Not all files were copied successfully. Trying again. Attempt number {self.attempt}.') + WARN(f'Not all files were copied successfully. Trying again. Attempt number {self.attempt}.') self.copyTurbineFilesForEachCase() elif self.attempt > 5: - print(f"WARNING: Not all turbine files were copied successfully after 5 tries.") - print(f" Check them manually. This shouldn't occur. Consider finding ") - print(f" and fixing the bug and submitting a PR.") + FAIL(f"Not all turbine files were copied successfully after 5 tries.\n"\ + "Check them manually. This shouldn't occur.\n"\ + "Consider finding fixing the bug and submitting a PR.") else: - if self.verbose>0: print(f'Passed check: all files were copied successfully.') + #if self.verbose>0: OK(f'All files were copied successfully.') + OK(f'All OpenFAST files were copied successfully.') def _were_all_turbine_files_copied(self): @@ -955,7 +1227,7 @@ def _were_all_turbine_files_copied(self): for cond in range(self.nConditions): for case in range(self.nCases): - currPath = os.path.join(self.path, self.condDirList[cond], self.caseDirList[case]) + currPath = self.getCasePath(cond, case) # Check HydroDyn if self.hasHD and not self.multi_HD: @@ -1002,7 +1274,8 @@ def _were_all_turbine_files_copied(self): if not _: return False if self.Mod_AmbWind == 3: # only for TS-driven cases for seed in range(self.nSeeds): - _ = checkIfExists(os.path.join(currPath,f'Seed_{seed}',self.IWfilename)) + seedPath = self.getCaseSeedPath(cond, case, seed) + _ = checkIfExists(os.path.join(seedPath,self.IWfilename)) if not _: return False for t in range(self.nTurbines): @@ -1039,16 +1312,19 @@ def _were_all_turbine_files_copied(self): return True - def setTemplateFilename(self, templatePath=None, templateFiles=None): + def setTemplateFilename(self, templatePath=None, templateFiles=None, templateFSTF=None, verbose=None): """ Function to receive, check, and set all the template files. Inputs ------ - templatePath: str + - templateFSTF: + The path, relative or absolute to a FAST.Farm fstf input file. + + - templatePath: str The path of the directory where teh template files exist. - templateFiles: dict + - templateFiles: dict A dictionary containing the filenames and their corresponding types as keys. Keys should correspond to the variable names expected in the function. The values should be strings with the filenames or filepaths as appropriate. @@ -1057,18 +1333,29 @@ def setTemplateFilename(self, templatePath=None, templateFiles=None): assumption is made regarding its location. All values should be explicitly defined. Unused ones should be set as None. + Example call - OPTION 1 + -------------------------------------------------- + templateFSTF = 'path/to/main.fstf' + templateFiles = { + 'turbsimLowfilepath' : './SampleFiles/template_Low_InflowXX_SeedY.inp', + 'turbsimHighfilepath' : './SampleFiles/template_HighT1_InflowXX_SeedY.inp', + } + setTemplateFilename(templateFSTF=templateFSTF, templateFiles=templateFiles) + - Example call - ------------ + Example call - OPTION 2 + -------------------------------------------------- templatePath = 'full/path/to/template/files/' templateFiles = { + 'FFfilename' : 'Model_FFarm.fstf' + 'turbfilename' : 'Model.T', 'EDfilename' : 'ElastoDyn.T', - 'SEDfilename' : None, + 'SrvDfilename' : 'ServoDyn.T', 'HDfilename' : 'HydroDyn.dat', # ending with .T for per-turbine HD, .dat for holisitc 'MDfilename' : 'MoorDyn.T', # ending with .T for per-turbine MD, .dat for holistic + 'SEDfilename' : None, 'bathfilename' : 'bathymetry.txt', 'SSfilename' : 'SeaState.dat', - 'SrvDfilename' : 'ServoDyn.T', 'ADfilename' : 'AeroDyn.dat', 'ADskfilename' : None, 'SubDfilename' : None, @@ -1078,20 +1365,23 @@ def setTemplateFilename(self, templatePath=None, templateFiles=None): 'EDbladefilename' : 'ElastoDyn_Blade.dat', 'EDtowerfilename' : 'ElastoDyn_Tower.dat', 'ADbladefilename' : 'AeroDyn_Blade.dat', - 'turbfilename' : 'Model.T', - 'libdisconfilepath' : '/full/path/to/controller/libdiscon.so', 'controllerInputfilename' : 'DISCON', + # TODO 'coeffTablefilename' : None, 'hydroDatapath' : '/full/path/to/hydroData', + 'libdisconfilepath' : '/full/path/to/controller/libdiscon.so', 'turbsimLowfilepath' : './SampleFiles/template_Low_InflowXX_SeedY.inp', 'turbsimHighfilepath' : './SampleFiles/template_HighT1_InflowXX_SeedY.inp', - 'FFfilename' : 'Model_FFarm.fstf' } setTemplateFilename(templatePath, templateFiles) """ + INFO('Reading and checking template files') + if verbose is None: + verbose=self.verbose # Set default values + #TODO TODO TODO Replace this by a dictionary so that we can for loop over it more easily self.EDfilename = "unused"; self.EDfilepath = "unused" self.SEDfilename = "unused"; self.SEDfilepath = "unused" self.HDfilename = "unused"; self.HDfilepath = "unused" @@ -1113,32 +1403,95 @@ def setTemplateFilename(self, templatePath=None, templateFiles=None): self.libdisconfilepath = "unused" self.coeffTablefilename = "unused" self.hydroDatapath = "unused" - self.turbsimLowfilepath = "unused" - self.turbsimHighfilepath = "unused" - self.FFfilename = "unused" + self.turbsimLowfilepath = "unused" # TODO Convention unclear + self.turbsimHighfilepath = "unused" # TODO Convention unclear + self.FFfilename = "unused"; self.FFfilepath = "unused" - # Check and set the templatePath - if templatePath is None: - print(f'--- WARNING: No template files given. Complete setup will not be possible') - return - if not os.path.isdir(templatePath): - raise ValueError(f'Template path {templatePath} does not seem to exist.') - self.templatePath = templatePath - self.templatePathabs = os.path.abspath(self.templatePath) - # Check and set the templateFiles valid_keys = {'EDfilename', 'SEDfilename', 'HDfilename', 'MDfilename', 'bathfilename', 'SSfilename', 'SrvDfilename', 'ADfilename', 'ADskfilename', 'SubDfilename', 'IWfilename', 'BDfilename', 'BDbladefilename', 'EDbladefilename', 'EDtowerfilename', 'ADbladefilename', 'turbfilename', 'libdisconfilepath', 'controllerInputfilename', 'coeffTablefilename', 'hydroDatapath', 'FFfilename', 'turbsimLowfilepath', 'turbsimHighfilepath'} + + if templateFiles is None: + templateFiles={} + if not isinstance(templateFiles, dict): raise ValueError(f'templateFiles should be a dictionary with the following valid entries: {valid_keys}') + templateFiles = templateFiles.copy() # we create a copy to avoid changing the user input + + # Join templatePath to most templateFiles + # TODO TODO, not all templateFiles have the same convention, this needs to be changed. + if templatePath is not None: + if not os.path.isdir(templatePath): + raise ValueError(f'Template path {templatePath} does not seem to exist. Current directory is: {os.getcwd()}') + for key, value in templateFiles.items(): + if key in ['turbsimLowfilepath', 'turbsimHighfilepath', 'libdisconfilepath']: + # We skip those keys because there convention is not clear + WARN(f'Not adding templatePath to key `{key}`.\nImplementation and behavrio might change in a future release.') + #INFO(f'Template {key:23s}={templateFiles[key]}') + continue + if value == 'unused' or value is None: + continue + templateFiles[key] = os.path.join(templatePath, f"{value}").replace('\\','/') + #INFO(f'Template {key:23s}={templateFiles[key]}') + + # --- The user provided a FSTF file from which we override the templateFiles + if templateFSTF is not None: + templateFiles['FFfilename'] = templateFSTF + # --- + baseDir = os.path.dirname(templateFSTF) + fstf = FASTInputFile(templateFSTF) + fstFilename = os.path.join(baseDir,fstf['WindTurbines'][0,3].strip('"').strip()) + # Read all existing files from FST file into an input deck + dck = FASTInputDeck(fstFilename, verbose=False) + fread = dck.inputFilesRead + # Check and set the templateFiles from the input deck + KEY_MAP = {'ED':'EDfilename', 'EDtwr':'EDtowerfilename', 'EDbld':'EDbladefilename', 'SED':'SEDfilename', + 'AD':'ADfilename', 'ADbld':'ADbladefilename', 'ADdsk':'ADskfilename', + 'HD':'HDfilename', 'MD':'MDfilename', 'SeaSt':'SSfilename', + 'SrvD':'SrvDfilename', 'SrvDdll':'libdisconfilepath', 'SrvDini':'controllerInputfilename', + 'SD':'SubDfilename', + 'IW':'IWfilename', + 'BD':'BDfilename', 'BDbld':'BDbladefilename', + 'Fst':'turbfilename'} + #, 'bathfilename', # TODO + # 'coeffTablefilename', # TODO + for key_deck, key_tpl in KEY_MAP.items(): + if key_deck in fread.keys(): + if key_tpl in templateFiles: + WARN(f'Template {key_tpl} is provided in templateFiles, not using value from FSTF file.') + else: + filebase = fread[key_deck] + if '.T.' in filebase: + filebase = fread[key_deck].rsplit('.T.', 1)[0]+'.T' + templateFiles[key_tpl] = filebase.replace('\\','/') + #INFO(f'Template {key_tpl:23s}={filebase}') + + # TODO In theory, we should need the templatePath beyond this point. + templatePath = os.path.dirname(templateFiles['FFfilename']) + self.templatePathabs = os.path.abspath(templatePath).replace('\\','/') # TODO, in theory, we shouldn't need to store that. + + # -------------------------------------------------------------------------------- + # NOTE: BEYOND THIS POINT THE VALUES OF TEMPLATE FILES ARE EITHER: + # - ABSOLUTE OR + # - RELATIVE TO CALLER SCRIPT + # and the script should work no matter what. + # The convention is : + # - *filepath: the absolute or relative path wrt caller script + # - *filename: os.path.basename(filepath), the filename only + # -------------------------------------------------------------------------------- + for key, value in templateFiles.items(): + if verbose>0: INFO(f'Template {key:23s}={value}') + if not valid_keys >= set(templateFiles.keys()): raise ValueError(f'Extra entries are present in the dictionary. '\ f'Extra keys: {list(set(templateFiles.keys()) - valid_keys)}.') + + def checkIfExists(f): if os.path.basename(f) == 'unused': return @@ -1150,193 +1503,202 @@ def checkIfExists(f): if value == 'unused' or value is None: continue + # --- Per turbine templates # Map the template file types to the specific checks - if key == 'EDfilename': + if key == 'turbfilename': + if not value.endswith('.T'): + raise ValueError(f'Name the template turbine file "*.T.fst" and give "*.T" as `turbfilename`') + self.turbfilepath = value + ".fst" + checkIfExists(self.turbfilepath) + self.turbfilename = os.path.basename(value) + + elif key == 'EDfilename': if not value.endswith('.T'): raise ValueError(f'Name the template ED file "*.T.dat" and give "*.T" as `EDfilename`') - self.EDfilepath = os.path.join(self.templatePath, f"{value}.dat") + self.EDfilepath = value + ".dat" checkIfExists(self.EDfilepath) - self.EDfilename = value + self.EDfilename = os.path.basename(value) elif key == 'SEDfilename': if not value.endswith('.T'): raise ValueError(f'Name the template SED file "*.T.dat" and give "*.T" as `SEDfilename`') - self.SEDfilepath = os.path.join(self.templatePath, f"{value}.dat") + self.SEDfilepath = value + ".dat" checkIfExists(self.SEDfilepath) - self.SEDfilename = value + self.SEDfilename = os.path.basename(value) elif key == 'HDfilename': if value.endswith('.dat'): self.multi_HD = False - self.HDfilepath = os.path.join(self.templatePath, value) + self.HDfilepath = value elif value.endswith('.T'): self.multi_HD = True - self.HDfilepath = os.path.join(self.templatePath, f'{value}.dat') + self.HDfilepath = value + ".dat" else: raise ValueError(f'The HydroDyn filename should end in either `.dat` (for single ', \ f'farm-wide HydroDyn) or `.T` (for per-turbine HydroDyn).') checkIfExists(self.HDfilepath) - self.HDfilename = value + self.HDfilename = os.path.basename(value) self.hasHD = True elif key == 'MDfilename': if value.endswith('.dat'): self.multi_MD = False - self.MDfilepath = os.path.join(self.templatePath, value) + self.MDfilepath = value elif value.endswith('.T'): self.multi_MD = True - self.MDfilepath = os.path.join(self.templatePath, f'{value}.dat') + self.MDfilepath = value + ".dat" else: raise ValueError(f'The MoorDyn filename should end in either `.dat` (for single ', \ f'farm-wide MoorDyn) or `.T` (for per-turbine MoorDyn).') checkIfExists(self.MDfilepath) - self.MDfilename = value + self.MDfilename = os.path.basename(value) self.hasMD = True + elif key == 'SrvDfilename': + if not value.endswith('.T'): + raise ValueError(f'Name the template ServoDyn file "*.T.dat" and give "*.T" as `SrvDfilename`') + self.SrvDfilepath = value + ".dat" + checkIfExists(self.SrvDfilepath) + self.SrvDfilename = os.path.basename(value) + self.hasSrvD = True + + # --- Files that are NOT changing from turbine to turbines elif key == 'bathfilename': - self.bathfilepath = os.path.join(self.templatePath, value) + self.bathfilepath = value checkIfExists(self.bathfilepath) - self.bathfilename = value + self.bathfilename = os.path.basename(value) self.hasBath = True + elif key == 'SSfilename': if not value.endswith('.dat'): raise ValueError(f'The SeaState filename should end in `.dat`.') - self.SSfilepath = os.path.join(self.templatePath, value) + self.SSfilepath = value checkIfExists(self.SSfilepath) - self.SSfilename = value + self.SSfilename = os.path.basename(value) self.hasSS = True - elif key == 'SrvDfilename': - if not value.endswith('.T'): - raise ValueError(f'Name the template ServoDyn file "*.T.dat" and give "*.T" as `SrvDfilename`') - self.SrvDfilepath = os.path.join(self.templatePath, f"{value}.dat") - checkIfExists(self.SrvDfilepath) - self.SrvDfilename = value - self.hasSrvD = True - elif key == 'ADfilename': if not value.endswith('.dat'): raise ValueError(f'The AeroDyn filename should end in `.dat`.') - self.ADfilepath = os.path.join(self.templatePath, value) + self.ADfilepath = value checkIfExists(self.ADfilepath) - self.ADfilename = value + self.ADfilename = os.path.basename(value) elif key == 'ADskfilename': if not value.endswith('.dat'): raise ValueError(f'The AeroDisk filename should end in `.dat`.') - self.ADskfilepath = os.path.join(self.templatePath, value) + self.ADskfilepath = value checkIfExists(self.ADskfilepath) - self.ADskfilename = value + self.ADskfilename = os.path.basename(value) self.hasController = False self.hasSrvD = False elif key == 'SubDfilename': if not value.endswith('.dat'): raise ValueError(f'The SubDyn filename should end in `.dat`.') - self.SubDfilepath = os.path.join(self.templatePath, value) + self.SubDfilepath = value checkIfExists(self.SubDfilepath) - self.SubDfilename = value + self.SubDfilename = os.path.basename(value) self.hasSubD = True elif key == 'IWfilename': - if not value.endswith('.dat'): + if not value.lower().endswith('.dat'): raise ValueError(f'The InflowWind filename should end in `.dat`.') - self.IWfilepath = os.path.join(self.templatePath, value) + self.IWfilepath = value checkIfExists(self.IWfilepath) - self.IWfilename = value + self.IWfilename = os.path.basename(value) elif key == 'BDfilename': - if not value.endswith('.dat'): + if not value.lower().endswith('.dat'): raise ValueError(f'The BeamDyn filename should end in `.dat`.') - self.BDfilepath = os.path.join(self.templatePath, value) + self.BDfilepath = value checkIfExists(self.BDfilepath) - self.BDfilename = value + self.BDfilename = os.path.basename(value) self.hasBD = True elif key == 'BDbladefilename': - if not value.endswith('.dat'): + if not value.lower().endswith('.dat'): raise ValueError(f'The BeamDyn blade filename should end in `.dat`.') - self.BDbladefilepath = os.path.join(self.templatePath, value) + self.BDbladefilepath = value checkIfExists(self.BDbladefilepath) - self.BDbladefile = value + self.BDbladefile = os.path.basename(value) elif key == 'EDbladefilename': - if not value.endswith('.dat'): + if not value.lower().endswith('.dat'): raise ValueError(f'The ElastoDyn blade filename should end in `.dat`.') - self.EDbladefilepath = os.path.join(self.templatePath, value) + self.EDbladefilepath = value checkIfExists(self.EDbladefilepath) - self.EDbladefilename = value + self.EDbladefilename = os.path.basename(value) elif key == 'EDtowerfilename': - if not value.endswith('.dat'): + if not value.lower().endswith('.dat'): raise ValueError(f'The ElastoDyn tower filename should end in `.dat`.') - self.EDtowerfilepath = os.path.join(self.templatePath, value) + self.EDtowerfilepath = value checkIfExists(self.EDtowerfilepath) - self.EDtowerfilename = value + self.EDtowerfilename = os.path.basename(value) elif key == 'ADbladefilename': - if not value.endswith('.dat'): + if not value.lower().endswith('.dat'): raise ValueError(f'The AeroDyn blade filename should end in `.dat`.') - self.ADbladefilepath = os.path.join(self.templatePath, value) + self.ADbladefilepath = value checkIfExists(self.ADbladefilepath) - self.ADbladefilename = value + self.ADbladefilename = os.path.basename(value) - elif key == 'turbfilename': - if not value.endswith('.T'): - raise ValueError(f'Name the template turbine file "*.T.fst" and give "*.T" as `turbfilename`') - self.turbfilepath = os.path.join(self.templatePath, f"{value}.fst") - checkIfExists(self.turbfilepath) - self.turbfilename = value - - elif key == 'libdisconfilepath': - if not value.endswith('.so'): - raise ValueError(f'The libdiscon file should end in "*.so"') - if os.path.isabs(value): - self.libdisconfilepath = value - else: - self.libdisconfilepath = os.path.abspath(value) - checkIfExists(self.libdisconfilepath) - self._create_copy_libdiscon() - self.hasController = True + elif key == 'FFfilename': + if not value.endswith('.fstf'): + raise ValueError(f'FAST.Farm input file should end in ".fstf".') + self.FFfilepath = value + checkIfExists(self.FFfilepath) + #self.FFfilename = os.path.basename(value) # TODO TODO This is not used, and outputFFfilename is used elif key == 'controllerInputfilename': - if not value.endswith('.IN'): + if not value.lower().endswith('.in'): print(f'--- WARNING: The controller input file typically ends in "*.IN". Currently {value}. Double check.') - self.controllerInputfilepath = os.path.join(self.templatePath, value) + self.controllerInputfilepath = value checkIfExists(self.controllerInputfilepath) - self.controllerInputfilename = value + self.controllerInputfilename = os.path.basename(value) elif key == 'coeffTablefilename': if not value.endswith('.csv'): raise ValueError(f'The performance table file should end in "*.csv"') - self.coeffTablefilepath = os.path.join(self.templatePath, value) + self.coeffTablefilepath = value checkIfExists(self.coeffTablefilepath) - self.coeffTablefilename = value + self.coeffTablefilename = os.path.basename(value) elif key == 'hydroDatapath': - self.hydrodatafilepath = os.path.join(self.templatePath, value) + self.hydrodatafilepath = value if not os.path.isdir(self.hydrodatafilepath): raise ValueError(f'The hydroData directory hydroDatapath should be a directory. Received {value}.') - self.hydroDatapath = value + self.hydroDatapath = os.path.basename(value) + # --- TODO TODO TODO not clean convention + elif key == 'libdisconfilepath': + ext = os.path.splitext(value)[1].lower() + if ext not in ['.so', '.dll', '.dylib']: + raise ValueError(f'The libdiscon file should have extension ".so", ".dll", or ".dylib"') + self.DLLext = ext[1:] # No dot + if os.path.isabs(value): + self.libdisconfilepath = value + else: + self.libdisconfilepath = os.path.abspath(value).replace('\\','/') + checkIfExists(self.libdisconfilepath) + self._create_copy_libdiscon() + self.hasController = True + + # --- TODO TODO TODO not clean convention elif key == 'turbsimLowfilepath': if not value.endswith('.inp'): raise ValueError(f'TurbSim file input for low-res box should end in ".inp".') self.turbsimLowfilepath = value checkIfExists(self.turbsimLowfilepath) + # --- TODO TODO TODO not clean convention elif key == 'turbsimHighfilepath': if not value.endswith('.inp'): raise ValueError(f'TurbSim file input for high-res box should end in ".inp".') self.turbsimHighfilepath = value checkIfExists(self.turbsimHighfilepath) - elif key == 'FFfilename': - if not value.endswith('.fstf'): - raise ValueError(f'FAST.Farm input file should end in ".fstf".') - self.FFfilepath = os.path.join(self.templatePath, value) - checkIfExists(self.FFfilepath) - self.FFfilename = value # Perform some checks @@ -1371,16 +1733,18 @@ def _create_copy_libdiscon(self): # Make copies of libdiscon for each turbine if they don't exist copied = False for t in range(self.nTurbines): + # NOTE: libdisconfilepath contains extension + DLL_parentDir = os.path.dirname(self.libdisconfilepath).replace('\\','/') libdisconfilename = os.path.splitext(os.path.basename(self.libdisconfilepath))[0] - currLibdiscon = os.path.join(os.path.dirname(self.libdisconfilepath), f'{libdisconfilename}.T{t+1}.so') - self.DLLfilepath = os.path.join(os.path.dirname(self.libdisconfilepath), f'{libdisconfilename}.T') + self.DLLfilepath = os.path.join(DLL_parentDir, f'{libdisconfilename}.T') # No extension + currLibdiscon = os.path.join(DLL_parentDir, f'{libdisconfilename}.T{t+1}.{self.DLLext}') if not os.path.isfile(currLibdiscon): - if self.verbose>0: print(f' Creating a copy of the controller {libdisconfilename}.so in {currLibdiscon}') + if self.verbose>0: print(f' Creating a copy of the controller {self.libdisconfilepath} in {currLibdiscon}') shutil.copy2(self.libdisconfilepath, currLibdiscon) copied=True if copied == False and self.verbose>0: - print(f' Copies of the controller {libdisconfilename}.T[1-{self.nTurbines}].so already exists in {os.path.dirname(self.libdisconfilepath)}. Skipped step.') + print(f' Copies of the controller {libdisconfilename}.T[1-{self.nTurbines}].{self.DLLext} already exists in {os.path.dirname(self.libdisconfilepath)}. Skipped step.') def _open_template_files(self): @@ -1414,6 +1778,11 @@ def createAuxArrays(self): self._rotate_wts() self._create_all_cond() self._create_all_cases() + if self.flat: + if self.nCases==1 and self.nConditions==1: + self.flat + else: + self.flat = False def _create_all_cond(self): @@ -1434,7 +1803,7 @@ def _create_all_cond(self): self.nConditions = len(self.vhub) * len(self.shear) * len(self.TIvalue) if self.verbose>1: print(f'The length of vhub, shear, and TI are different. Assuming sweep on each of them.') - if self.verbose>0: print(f'Creating {self.nConditions} conditions') + if self.verbose>0: print(f'Creating {self.nConditions} condition(s)') # Repeat arrays as necessary to build xarray Dataset combination = np.vstack(list(itertools.product(self.vhub,self.shear,self.TIvalue))) @@ -1652,14 +2021,45 @@ def _isclose(a, b, tol=1): - + def TS_low_dummy(self): + boxType='lowres' + tmp_dir='_turbsim_temp' + seedPath = tmp_dir + if not os.path.isdir(seedPath): + os.makedirs(seedPath) + + # ---------------- TurbSim Low boxes setup ------------------ # + # Get properties needed for the creation of the low-res turbsim inp file + D_ = self.allCases['D' ].max().values + HubHt_ = self.allCases['zhub'].max().values + xlocs_ = self.allCases['Tx' ].values.flatten() # All turbines are needed for proper + ylocs_ = self.allCases['Ty' ].values.flatten() # and consistent extent calculation + Vhub_ = self.allCond.sel(cond=0)['vhub' ].values + shear_ = self.allCond.sel(cond=0)['shear' ].values + tivalue_ = self.allCond.sel(cond=0)['TIvalue'].values + # Coherence parameters + a = 12; b=0.12 # IEC 61400-3 ed4, app C, eq C.16 + Lambda1 = 0.7*HubHt_ if HubHt_<60 else 42 # IEC 61400-3 ed4, sec 6.3.1, eq 5 + + # Create and write new Low.inp files creating the proper box with proper resolution + # By passing low_ext, manual mode for the domain size is activated, and by passing ds_low, + # manual mode for discretization (and further domain size) is also activated + TSlowbox = TSCaseCreation(D_, HubHt_, Vhub_, tivalue_, shear_, x=xlocs_, y=ylocs_, zbot=self.zbot, + cmax=self.cmax, fmax=self.fmax, Cmeander=self.Cmeander, boxType='lowres', extent=self.extent_low, + ds_low=self.ds_low, dt_low=self.dt_low, ds_high=self.ds_high, dt_high=self.dt_high, mod_wake=self.mod_wake) + + return TSlowbox + + def TS_low_setup(self, writeFiles=True, runOnce=False): + INFO('Preparing TurbSim low resolution input files.') # Loops on all conditions/seeds creating Low-res TurbSim box (following openfast_toolbox/openfast_toolbox/fastfarm/examples/Ex1_TurbSimInputSetup.py) boxType='lowres' + lowFilesName = [] for cond in range(self.nConditions): for seed in range(self.nSeeds): - seedPath = os.path.join(self.path, self.condDirList[cond], f'Seed_{seed}') + seedPath = self.getCondSeedPath(cond, seed) # ---------------- TurbSim Low boxes setup ------------------ # # Set file to be created @@ -1691,7 +2091,7 @@ def TS_low_setup(self, writeFiles=True, runOnce=False): # flowfield is shorter than the requested total simulation time. So if we ask for the low-res # with the exact length we want, the high-res boxes might be shorter than tmax. Note that the # total FAST.Farm simulation time remains unmodified from what the user requested. - self.TSlowbox.writeTSFile(self.turbsimLowfilepath, currentTSLowFile, tmax=self.tmax+self.dt_low, verbose=self.verbose) + self.TSlowbox.writeTSFile(fileIn=self.turbsimLowfilepath, fileOut=currentTSLowFile, tmax=self.tmax+self.dt_low, verbose=self.verbose) # Modify some values and save file (some have already been set in the call above) Lowinp = FASTInputFile(currentTSLowFile) @@ -1699,14 +2099,20 @@ def TS_low_setup(self, writeFiles=True, runOnce=False): Lowinp['PLExp'] = shear_ #Lowinp['latitude'] = latitude # Not used when IECKAI model is selected. Lowinp['InCDec1'] = Lowinp['InCDec2'] = Lowinp['InCDec3'] = f'"{a} {b/(8.1*Lambda1):.8f}"' + lowFileName = os.path.join(seedPath, 'Low.inp') + if writeFiles: - lowFileName = os.path.join(seedPath, 'Low.inp') Lowinp.write(lowFileName) + lowFilesName.append(lowFileName) # Let's remove the original file os.remove(os.path.join(seedPath, 'Low_stillToBeModified.inp')) self.TSlowBoxFilesCreatedBool = True + if len(lowFilesName)==1: + OK(f'TurbSim low resolution input files generated, see e.g.:\n{lowFilesName[0]}') + elif len(lowFilesName)>1: + OK(f'TurbSim low resolution input files generated, see e.g.:\n{lowFilesName[0]}\n{lowFilesName[-1]}') def sed_inplace(self, sed_command, inplace): @@ -1725,7 +2131,40 @@ def sed_inplace(self, sed_command, inplace): shutil.move(os.path.join(self.path,'temp.txt'), os.path.join(self.path,filename)) - def TS_low_slurm_prepare(self, slurmfilepath, inplace=True): + + def TS_low_batch_prepare(self, run=False, **kwargs): + """ Writes a flat batch file for TurbSim low""" + + from openfast_toolbox.case_generation.runner import writeBatch + + ext = ".bat" if os.name == "nt" else ".sh" + batchfile = os.path.join(self.path, f'runAllLowBox{ext}') + + TS_files = [] + for cond in range(self.nConditions): + for seed in range(self.nSeeds): + seedpath = self.getCondSeedPath(cond, seed) + TS_files.append(f'{seedpath}/Low.inp') + + writeBatch(batchfile, TS_files, fastExe=self.tsbin, **kwargs) + self.batchfile_low = batchfile + OK(f"Batch file written to {batchfile}") + + if run: + self.TS_low_batch_run() + + def TS_low_batch_run(self, showOutputs=True, showCommand=True, verbose=True, **kwargs): + from openfast_toolbox.case_generation.runner import runBatch + if not os.path.exists(self.batchfile_low): + raise FFException(f'Batch file does not exist: {self.batchfile_low}.\nMake sure you run TS_low_batch_prepare first.') + stat = runBatch(self.batchfile_low, showOutputs=showOutputs, showCommand=showCommand, verbose=verbose, **kwargs) + if stat!=0: + raise FFException(f'Batch file failed: {self.batchfile_low}') + + + + + def TS_low_slurm_prepare(self, slurmfilepath, inplace=True, useSed=False): # -------------------------------------------------- # ----- Prepare SLURM script for Low-res boxes ----- @@ -1733,41 +2172,73 @@ def TS_low_slurm_prepare(self, slurmfilepath, inplace=True): if not os.path.isfile(slurmfilepath): raise ValueError (f'SLURM script for low-res box {slurmfilepath} does not exist.') - self.slurmfilename_low = os.path.basename(slurmfilepath) - - shutil.copy2(slurmfilepath, os.path.join(self.path, self.slurmfilename_low)) # Determine memory-per-cpu memory_per_cpu = int(150000/self.nSeeds) - - # Change job name (for convenience only) - sed_command = f"sed -i 's|^#SBATCH --job-name=lowBox|#SBATCH --job-name=lowBox_{os.path.basename(self.path)}|g' {self.slurmfilename_low}" - self.sed_inplace(sed_command, inplace) - # Change logfile name (for convenience only) - sed_command = f"sed -i 's|#SBATCH --output log.lowBox|#SBATCH --output log.turbsim_low|g' {self.slurmfilename_low}" - self.sed_inplace(sed_command, inplace) - # Change memory per cpu - sed_command = f"sed -i 's|--mem-per-cpu=25000M|--mem-per-cpu={memory_per_cpu}M|g' {self.slurmfilename_low}" - self.sed_inplace(sed_command, inplace) - # Change number of nodes values - sed_command = f"sed -i 's|^#SBATCH --nodes.*|#SBATCH --nodes={int(np.ceil(self.nConditions*self.nSeeds/6))}|g' {self.slurmfilename_low}" - self.sed_inplace(sed_command, inplace) - # Change the fastfarm binary to be called - sed_command = f"""sed -i "s|^turbsimbin.*|turbsimbin='{self.tsbin}'|g" {self.slurmfilename_low}""" - self.sed_inplace(sed_command, inplace) - # Change the path inside the script to the desired one - sed_command = f"""sed -i "s|^basepath.*|basepath='{self.path}'|g" {self.slurmfilename_low}""" - self.sed_inplace(sed_command, inplace) - # Assemble list of conditions and write it - listtoprint = "' '".join(self.condDirList) - sed_command = f"""sed -i "s|^condList.*|condList=('{listtoprint}')|g" {self.slurmfilename_low}""" - self.sed_inplace(sed_command, inplace) - # Change the number of seeds - sed_command = f"sed -i 's|^nSeeds.*|nSeeds={self.nSeeds}|g' {self.slurmfilename_low}" - self.sed_inplace(sed_command, inplace) - + if self.nSeeds > 6: - print(f'--- WARNING: The memory-per-cpu on the low-res boxes SLURM script might be too low given {self.nSeeds} seeds.') + WARN(f'The memory-per-cpu on the low-res boxes SLURM script might be too low given {self.nSeeds} seeds.') + + if useSed: + self.slurmfilename_low = os.path.basename(slurmfilepath) + shutil.copy2(slurmfilepath, os.path.join(self.path, self.slurmfilename_low)) + # Change job name (for convenience only) + sed_command = f"sed -i 's|^#SBATCH --job-name=lowBox|#SBATCH --job-name=lowBox_{os.path.basename(self.path)}|g' {self.slurmfilename_low}" + self.sed_inplace(sed_command, inplace) + # Change logfile name (for convenience only) + sed_command = f"sed -i 's|#SBATCH --output log.lowBox|#SBATCH --output log.turbsim_low|g' {self.slurmfilename_low}" + self.sed_inplace(sed_command, inplace) + # Change memory per cpu + sed_command = f"sed -i 's|--mem-per-cpu=25000M|--mem-per-cpu={memory_per_cpu}M|g' {self.slurmfilename_low}" + self.sed_inplace(sed_command, inplace) + # Change number of nodes values + sed_command = f"sed -i 's|^#SBATCH --nodes.*|#SBATCH --nodes={int(np.ceil(self.nConditions*self.nSeeds/6))}|g' {self.slurmfilename_low}" + self.sed_inplace(sed_command, inplace) + # Change the fastfarm binary to be called + sed_command = f"""sed -i "s|^turbsimbin.*|turbsimbin='{self.tsbin}'|g" {self.slurmfilename_low}""" + self.sed_inplace(sed_command, inplace) + # Change the path inside the script to the desired one + sed_command = f"""sed -i "s|^basepath.*|basepath='{self.path}'|g" {self.slurmfilename_low}""" + self.sed_inplace(sed_command, inplace) + # Assemble list of conditions and write it + listtoprint = "' '".join(self.condDirList) + sed_command = f"""sed -i "s|^condList.*|condList=('{listtoprint}')|g" {self.slurmfilename_low}""" + self.sed_inplace(sed_command, inplace) + # Change the number of seeds + sed_command = f"sed -i 's|^nSeeds.*|nSeeds={self.nSeeds}|g' {self.slurmfilename_low}" + self.sed_inplace(sed_command, inplace) + else: + self.slurmfilename_low = os.path.join(self.path, os.path.basename(slurmfilepath)) + shutil.copy2(slurmfilepath, self.slurmfilename_low) + + # Python version + with open(self.slurmfilename_low, "r") as f: + lines = f.read() + + # Replacements + jobname = f"#SBATCH --job-name=lowBox_{os.path.basename(self.path)}" + logfile = "#SBATCH --output log.turbsim_low" + memcpu = f"--mem-per-cpu={memory_per_cpu}M" + nodes = f"#SBATCH --nodes={int(np.ceil(self.nConditions * self.nSeeds / 6))}" + turbsim = f"turbsimbin='{self.tsbin}'" + basepath = f"basepath='{self.path}'" + condlist = "condList=('{}')".format("' '".join(self.condDirList)) + seeds = f"nSeeds={self.nSeeds}" + + # Apply substitutions + import re + lines = re.sub(r"^#SBATCH --job-name=.*", jobname, lines, flags=re.M) + lines = re.sub(r"^#SBATCH --output .*", logfile, lines, flags=re.M) + lines = re.sub(r"--mem-per-cpu=\d+M", memcpu, lines) + lines = re.sub(r"^#SBATCH --nodes=.*", nodes, lines, flags=re.M) + lines = re.sub(r"^turbsimbin=.*", turbsim, lines, flags=re.M) + lines = re.sub(r"^basepath=.*", basepath,lines, flags=re.M) + lines = re.sub(r"^condList=.*", condlist,lines, flags=re.M) + lines = re.sub(r"^nSeeds=.*", seeds, lines, flags=re.M) + + with open(self.slurmfilename_low, "w") as f: + f.write(lines) + INFO(f'File written: {self.slurmfilename_low}') def TS_low_slurm_submit(self, qos='normal', A=None, t=None, p=None, inplace=True): @@ -1790,27 +2261,38 @@ def TS_low_slurm_submit(self, qos='normal', A=None, t=None, p=None, inplace=True def TS_low_createSymlinks(self): # Create symbolic links for all of the time-series and the Low.bts files too - - notepath = os.getcwd() - os.chdir(self.path) for cond in range(self.nConditions): for case in range(self.nCases): for seed in range(self.nSeeds): - try: - src = os.path.join('..', '..', '..', '..', self.condDirList[cond], f'Seed_{seed}', 'Low.bts') - dst = os.path.join(self.condDirList[cond], self.caseDirList[case], f'Seed_{seed}', 'TurbSim', 'Low.bts') - os.symlink(src, dst) - except FileExistsError: - print(f' File {dst} already exists. Skipping symlink.') - os.chdir(notepath) + condSeedPath = self.getCondSeedPath(cond, seed) + turbSimPath = self.getHRTurbSimPath(cond, case, seed) + dst = os.path.join(turbSimPath, 'Low.bts') + src = os.path.join(condSeedPath, 'Low.bts') + if not os.path.exists(src): + raise FFException(f'BTS file not existing: {src}\nTurbSim must be run on the low-res input files first.') + if self._can_create_symlinks: + # --- Unix based + # We create a symlink at + # dst = path/cond/case/seed/DISCON.in + # pointing to : + # src = '../../Seed_0/Low.bts' # We use relative path to help if the whole path directory is moved + src = os.path.join( os.path.relpath(condSeedPath, turbSimPath), 'Low.bts') + try: + os.symlink(src, dst) + except FileExistsError: + print(f' File {dst} already exists. Skipping symlink.') + else: + # --- Windows + self._copy(src, dst) def getDomainParameters(self): + INFO('Computing low and high res extent according to TurbSim capabilities') # If the low box setup hasn't been called (e.g. LES run), do it once to get domain extents if not self.TSlowBoxFilesCreatedBool: if self.verbose>1: print(' Running a TurbSim setup once to get domain extents') - self.TS_low_setup(writeFiles=False, runOnce=True) + self.TSlowbox = self.TS_low_dummy() # Figure out how many (and which) high boxes actually need to be executed. Remember that yaw misalignment, SED/ADsk models, # and sweep in yaw do not require extra TurbSim runs @@ -1833,8 +2315,8 @@ def getDomainParameters(self): self.xoffset_turbsOrigin2TSOrigin = -self.extent_low[0]*self.D if self.verbose>0: - print(f" The y offset between the turbine ref frame and turbsim is {self.yoffset_turbsOrigin2TSOrigin}") print(f" The x offset between the turbine ref frame and turbsim is {self.xoffset_turbsOrigin2TSOrigin}") + print(f" The y offset between the turbine ref frame and turbsim is {self.yoffset_turbsOrigin2TSOrigin}") if self.verbose>2: print(f'allHighBoxCases is:') @@ -1846,7 +2328,7 @@ def TS_high_get_time_series(self): # Loop on all conditions/seeds extracting time series from the Low box at turbines location for cond in range(self.nConditions): for seed in range(self.nSeeds): - condSeedPath = os.path.join(self.path, self.condDirList[cond], f'Seed_{seed}') + condSeedPath = self.getCondSeedPath(cond, seed) # Read output .bts for current seed bts = TurbSimFile(os.path.join(condSeedPath, 'Low.bts')) @@ -1857,7 +2339,7 @@ def TS_high_get_time_series(self): # Get actual case number given the high-box that need to be saved case = self.allHighBoxCases.isel(case=case)['case'].values - caseSeedPath = os.path.join(self.path, self.condDirList[cond], self.caseDirList[case], f'Seed_{seed}', 'TurbSim') + caseSeedPath = self.getHRTurbSimPath(cond, case, seed) for t in range(self.nTurbines): # Recover turbine properties of the current case @@ -1924,10 +2406,12 @@ def TS_high_get_time_series(self): def TS_high_setup(self, writeFiles=True): + INFO('Preparing TurbSim high resolution input files.') #todo: Check if the low-res boxes were created successfully # Create symbolic links for the low-res boxes + # TODO TODO TODO Simply store address of files self.TS_low_createSymlinks() # Open low-res boxes and extract time-series at turbine locations @@ -1942,7 +2426,7 @@ def TS_high_setup(self, writeFiles=True): if self.verbose>3: print(f'Generating high-res box setup for cond {cond} ({self.condDirList[cond]}), case {case} ({self.caseDirList[case]}).') for seed in range(self.nSeeds): - seedPath = os.path.join(self.path, self.condDirList[cond], self.caseDirList[case], f'Seed_{seed}', 'TurbSim') + seedPath = self.getHRTurbSimPath(cond, case, seed) for t in range(self.nTurbines): @@ -1967,7 +2451,7 @@ def TS_high_setup(self, writeFiles=True): cmax=self.cmax, fmax=self.fmax, Cmeander=self.Cmeander, boxType='highres', extent=self.extent_high, ds_low=self.ds_low, dt_low=self.dt_low, ds_high=self.ds_high, dt_high=self.dt_high, mod_wake=self.mod_wake) - currentTS.writeTSFile(self.turbsimHighfilepath, currentTSHighFile, tmax=self.tmax_low, turb=t, verbose=self.verbose) + currentTS.writeTSFile(fileIn=self.turbsimHighfilepath, fileOut=currentTSHighFile, tmax=self.tmax_low, turb=t, verbose=self.verbose) # Modify some values and save file (some have already been set in the call above) Highinp = FASTInputFile(currentTSHighFile) @@ -1988,50 +2472,115 @@ def TS_high_setup(self, writeFiles=True): os.remove(os.path.join(seedPath, f'HighT{t+1}_stillToBeModified.inp')) self.TShighBoxFilesCreatedBool = True + if len(highFilesName)==1: + OK(f'TurbSim high resolution input files generated, see e.g.:\n{highFilesName[0]}') + elif len(highFilesName)>1: + OK(f'TurbSim high resolution input files generated, see e.g.:\n{highFilesName[0]}\n{highFilesName[-1]}') + - def TS_high_slurm_prepare(self, slurmfilepath, inplace=True): + def TS_high_batch_prepare(self, run=False, **kwargs): + """ Writes a flat batch file for TurbSim low""" + from openfast_toolbox.case_generation.runner import writeBatch + + ext = ".bat" if os.name == "nt" else ".sh" + batchfile = os.path.join(self.path, f'runAllHighBox{ext}') + + TS_files = [f.replace('.bts', '.inp') for f in self.high_res_bts] + writeBatch(batchfile, TS_files, fastExe=self.tsbin, **kwargs) + self.batchfile_high = batchfile + + OK(f"Batch file written to {batchfile}") + + if run: + self.TS_high_batch_run() + + def TS_high_batch_run(self, showOutputs=True, showCommand=True, verbose=True, **kwargs): + from openfast_toolbox.case_generation.runner import runBatch + if not os.path.exists(self.batchfile_high): + raise FFException(f'Batch file does not exist: {self.batchfile_high}.\nMake sure you run TS_high_batch_prepare first.') + stat = runBatch(self.batchfile_high, showOutputs=showOutputs, showCommand=showCommand, verbose=verbose, **kwargs) + if stat!=0: + raise FFException(f'Batch file failed: {self.batchfile_high}') + + + def TS_high_slurm_prepare(self, slurmfilepath, inplace=True, useSed=False): # --------------------------------------------------- # ----- Prepare SLURM script for High-res boxes ----- # --------------------------------------------------- if not os.path.isfile(slurmfilepath): raise ValueError (f'SLURM script for high-res box {slurmfilepath} does not exist.') - self.slurmfilename_high = os.path.basename(slurmfilepath) - ntasks = self.nConditions*self.nHighBoxCases*self.nSeeds*self.nTurbines - shutil.copy2(slurmfilepath, os.path.join(self.path, self.slurmfilename_high)) - - # Change job name (for convenience only) - sed_command = f"sed -i 's|^#SBATCH --job-name.*|#SBATCH --job-name=highBox_{os.path.basename(self.path)}|g' {self.slurmfilename_high}" - self.sed_inplace(sed_command, inplace) - # Change logfile name (for convenience only) - sed_command = f"sed -i 's|#SBATCH --output log.highBox|#SBATCH --output log.turbsim_high|g' {self.slurmfilename_high}" - self.sed_inplace(sed_command, inplace) - # Change number of nodes values - sed_command = f"sed -i 's|^#SBATCH --nodes.*|#SBATCH --nodes={int(np.ceil(ntasks/36))}|g' {self.slurmfilename_high}" - self.sed_inplace(sed_command, inplace) - # Change the fastfarm binary to be called - sed_command = f"""sed -i "s|^turbsimbin.*|turbsimbin='{self.tsbin}'|g" {self.slurmfilename_high}""" - self.sed_inplace(sed_command, inplace) - # Change the path inside the script to the desired one - sed_command = f"""sed -i "s|^basepath.*|basepath='{self.path}'|g" {self.slurmfilename_high}""" - self.sed_inplace(sed_command, inplace) - # Change number of turbines - sed_command = f"sed -i 's|^nTurbines.*|nTurbines={self.nTurbines}|g' {self.slurmfilename_high}" - self.sed_inplace(sed_command, inplace) - # Change number of seeds - sed_command = f"sed -i 's|^nSeeds.*|nSeeds={self.nSeeds}|g' {self.slurmfilename_high}" - self.sed_inplace(sed_command, inplace) - # Assemble list of conditions and write it - listtoprint = "' '".join(self.condDirList) - sed_command = f"""sed -i "s|^condList.*|condList=('{listtoprint}')|g" {self.slurmfilename_high}""" - self.sed_inplace(sed_command, inplace) - # Assemble list of cases and write it - highBoxesCaseDirList = [self.caseDirList[c] for c in self.allHighBoxCases.case.values] - listtoprint = "' '".join(highBoxesCaseDirList) - sed_command = f"""sed -i "s|^caseList.*|caseList=('{listtoprint}')|g" {self.slurmfilename_high}""" - self.sed_inplace(sed_command, inplace) + + + if useSed: + self.slurmfilename_high = os.path.basename(slurmfilepath) + shutil.copy2(slurmfilepath, os.path.join(self.path, self.slurmfilename_high)) + + # Change job name (for convenience only) + sed_command = f"sed -i 's|^#SBATCH --job-name.*|#SBATCH --job-name=highBox_{os.path.basename(self.path)}|g' {self.slurmfilename_high}" + self.sed_inplace(sed_command, inplace) + # Change logfile name (for convenience only) + sed_command = f"sed -i 's|#SBATCH --output log.highBox|#SBATCH --output log.turbsim_high|g' {self.slurmfilename_high}" + self.sed_inplace(sed_command, inplace) + # Change number of nodes values + sed_command = f"sed -i 's|^#SBATCH --nodes.*|#SBATCH --nodes={int(np.ceil(ntasks/36))}|g' {self.slurmfilename_high}" + self.sed_inplace(sed_command, inplace) + # Change the fastfarm binary to be called + sed_command = f"""sed -i "s|^turbsimbin.*|turbsimbin='{self.tsbin}'|g" {self.slurmfilename_high}""" + self.sed_inplace(sed_command, inplace) + # Change the path inside the script to the desired one + sed_command = f"""sed -i "s|^basepath.*|basepath='{self.path}'|g" {self.slurmfilename_high}""" + self.sed_inplace(sed_command, inplace) + # Change number of turbines + sed_command = f"sed -i 's|^nTurbines.*|nTurbines={self.nTurbines}|g' {self.slurmfilename_high}" + self.sed_inplace(sed_command, inplace) + # Change number of seeds + sed_command = f"sed -i 's|^nSeeds.*|nSeeds={self.nSeeds}|g' {self.slurmfilename_high}" + self.sed_inplace(sed_command, inplace) + # Assemble list of conditions and write it + listtoprint = "' '".join(self.condDirList) + sed_command = f"""sed -i "s|^condList.*|condList=('{listtoprint}')|g" {self.slurmfilename_high}""" + self.sed_inplace(sed_command, inplace) + # Assemble list of cases and write it + highBoxesCaseDirList = [self.caseDirList[c] for c in self.allHighBoxCases.case.values] + listtoprint = "' '".join(highBoxesCaseDirList) + sed_command = f"""sed -i "s|^caseList.*|caseList=('{listtoprint}')|g" {self.slurmfilename_high}""" + self.sed_inplace(sed_command, inplace) + else: + self.slurmfilename_high = os.path.join(self.path, os.path.basename(slurmfilepath)) + shutil.copy2(slurmfilepath, self.slurmfilename_high) + + with open(self.slurmfilename_high, "r") as f: + lines = f.read() + + # Prepare replacement strings + jobname = f"#SBATCH --job-name=highBox_{os.path.basename(self.path)}" + logfile = "#SBATCH --output log.turbsim_high" + nodes = f"#SBATCH --nodes={int(np.ceil(ntasks/36))}" + turbsim = f"turbsimbin='{self.tsbin}'" + basepath = f"basepath='{self.path}'" + nTurb = f"nTurbines={self.nTurbines}" + nSeed = f"nSeeds={self.nSeeds}" + condlist = "condList=('{}')".format("' '".join(self.condDirList)) + highBoxesCaseDirList = [self.caseDirList[c] for c in self.allHighBoxCases.case.values] + caselist = "caseList=('{}')".format("' '".join(highBoxesCaseDirList)) + + # Apply substitutions + import re + lines = re.sub(r"^#SBATCH --job-name.*", jobname, lines, flags=re.M) + lines = re.sub(r"^#SBATCH --output .*", logfile, lines, flags=re.M) + lines = re.sub(r"^#SBATCH --nodes.*", nodes, lines, flags=re.M) + lines = re.sub(r"^turbsimbin.*", turbsim, lines, flags=re.M) + lines = re.sub(r"^basepath.*", basepath,lines, flags=re.M) + lines = re.sub(r"^nTurbines.*", nTurb, lines, flags=re.M) + lines = re.sub(r"^nSeeds.*", nSeed, lines, flags=re.M) + lines = re.sub(r"^condList.*", condlist,lines, flags=re.M) + lines = re.sub(r"^caseList.*", caselist,lines, flags=re.M) + + with open(self.slurmfilename_high, "w") as f: + f.write(lines) @@ -2060,14 +2609,12 @@ def TS_high_create_symlink(self): if self.verbose>0: print(f'Creating symlinks for all the high-resolution boxes') - notepath = os.getcwd() - os.chdir(self.path) for cond in range(self.nConditions): for case in range(self.nCases): # In order to do the symlink let's check if the current case is source (has bts). If so, skip if. If not, find its equivalent source casematch = self.allHighBoxCases['case'] == case if len(np.where(casematch)) != 1: - raise ValueError (f'Something is wrong with your allHighBoxCases array. Found repeated case number. Stopping') + raise ValueError (f'Something is wrong with the allHighBoxCases array. Found repeated case number. Stopping') src_id = np.where(casematch)[0] @@ -2091,14 +2638,12 @@ def TS_high_create_symlink(self): # Now that we have the correct arrays, we perform the loop on the turbines and seeds for t in range(self.nTurbines): for seed in range(self.nSeeds): - src = os.path.join('..', '..', '..', '..', self.condDirList[cond], self.caseDirList[src_case], f'Seed_{seed}', 'TurbSim', f'HighT{t+1}.bts') - dst = os.path.join(self.condDirList[cond], self.caseDirList[case], f'Seed_{seed}', 'TurbSim', f'HighT{t+1}.bts') - - try: - os.symlink(src, dst) - except FileExistsError: - if self.verbose>1: print(f' File {dst} already exists. Skipping symlink.') - os.chdir(notepath) + src = os.path.join(self.getHRTurbSimPath(cond, src_case, seed), f'HighT{t+1}.bts') + dst = os.path.join(self.getHRTurbSimPath(cond, case , seed), f'HighT{t+1}.bts') + #src = os.path.join('..', '..', '..', '..', self.condDirList[cond], self.caseDirList[src_case], f'Seed_{seed}', 'TurbSim', f'HighT{t+1}.bts') + print('Emmanuel Says: TODO Check the line below') + src = os.path.relpath(src, dst) + self._symlink(src, dst) def FF_setup(self, outlistFF=None, **kwargs): @@ -2172,17 +2717,27 @@ def FF_setup(self, outlistFF=None, **kwargs): self._FF_setup_LES(**kwargs) elif self.inflowStr == 'TurbSim': + all_bts = self.high_res_bts + + for bts in all_bts: + if not os.path.isfile(bts): + raise FFException(f'File Missing: {bts}\nAll TurbSim boxes need to be completed before this step can be done.') + if os.path.getsize(bts)==0: + raise FFException(f'File has zero size: {bts}\n All TurbSim boxes need to be completed before this step can be done.') + + # --- Legacy, check log file from TurbSim # We need to make sure the TurbSim boxes have been executed. Let's check the last line of the logfile - highboxlog_path = os.path.join(self.path, self.condDirList[0], self.caseDirList[0], 'Seed_0', 'TurbSim', 'log.hight1.seed0.txt') - if not os.path.isfile(highboxlog_path): - raise ValueError(f'All TurbSim boxes need to be completed before this step can be done.') + #highbox_path = os.path.join(self.path, self.condDirList[0], self.caseDirList[0], 'Seed_0', 'TurbSim', 'HighT1.bts') + #highboxlog_path = os.path.join(self.path, self.condDirList[0], self.caseDirList[0], 'Seed_0', 'TurbSim', 'log.hight1.seed0.txt') + #if not os.path.isfile(highboxlog_path): + # #raise ValueError(f'All TurbSim boxes need to be completed before this step can be done.') - with open(highboxlog_path) as f: - last = None - for last in (line for line in f if line.rstrip('\n')): pass + #with open(highboxlog_path) as f: + # last = None + # for last in (line for line in f if line.rstrip('\n')): pass - if last is None or 'TurbSim terminated normally' not in last: - raise ValueError(f'All TurbSim boxes need to be completed before this step can be done.') + #if last is None or 'TurbSim terminated normally' not in last: + # raise ValueError(f'All TurbSim boxes need to be completed before this step can be done.') self._FF_setup_TS(**kwargs) @@ -2195,13 +2750,12 @@ def _FF_setup_LES(self, seedsToKeep=1): # Clean unnecessary directories and files created by the general setup for cond in range(self.nConditions): for seed in range(self.nSeeds): - currpath = os.path.join(self.path, self.condDirList[cond], f'Seed_{seed}') + currpath = self.getCondSeedPath(cond, seed) if os.path.isdir(currpath): shutil.rmtree(currpath) for case in range(self.nCases): - #shutil.rmtree(os.path.join(path, condDirList[cond], caseDirList[case], f'Seed_0','InflowWind.dat')) # needs to exist for seed in range(seedsToKeep,self.nSeeds): - currpath = os.path.join(self.path, self.condDirList[cond], self.caseDirList[case], f'Seed_{seed}') + currpath = self.getCaseSeedPath(cond, case, seed) if os.path.isdir(currpath): shutil.rmtree(currpath) @@ -2212,35 +2766,30 @@ def _FF_setup_LES(self, seedsToKeep=1): for case in range(self.nCases): for seed in range(self.seedsToKeep): # Remove TurbSim dir - currpath = os.path.join(self.path, self.condDirList[cond], self.caseDirList[case], f'Seed_{seed}', 'TurbSim') + currpath = self.getHRTurbSimPath(cond, case, seed) + seedPath = self.getCaseSeedPath(cond, case, seed) if os.path.isdir(currpath): shutil.rmtree(currpath) # Create LES boxes dir - currpath = os.path.join(self.path,self.condDirList[cond],self.caseDirList[case],f'Seed_{seed}',LESboxesDirName) + currpath = os.path.join(seedPath, LESboxesDirName) if not os.path.isdir(currpath): os.makedirs(currpath) # Low-res box - try: - src = os.path.join(self.inflowPath[cond], 'Low') - dst = os.path.join(self.path, self.condDirList[cond], self.caseDirList[case], f'Seed_{seed}', LESboxesDirName, 'Low') - os.symlink(src, dst) - except FileExistsError: - print(f'Directory {dst} already exists. Skipping symlink.') + src = os.path.join(self.inflowPath[cond], 'Low') + dst = os.path.join(seedPath, LESboxesDirName, 'Low') + self._symlink(src, dst) # High-res boxes for t in range(self.nTurbines): - try: - src = os.path.join(self.inflowPath[cond], f"HighT{t+1}_inflow{str(self.allCases.sel(case=case).inflow_deg.values).replace('-','m')}deg") - dst = os.path.join(self.path,self.condDirList[cond], self.caseDirList[case], f'Seed_{seed}', LESboxesDirName, f'HighT{t+1}') - os.symlink(src, dst) - except FileExistsError: - print(f'Directory {dst} already exists. Skipping symlink.') + src = os.path.join(self.inflowPath[cond], f"HighT{t+1}_inflow{str(self.allCases.sel(case=case).inflow_deg.values).replace('-','m')}deg") + dst = os.path.join(seedPath, LESboxesDirName, f'HighT{t+1}') + self._symlink(src, dst) # Loops on all conditions/cases and cases for FAST.Farm for cond in range(self.nConditions): for case in range(self.nCases): for seed in range(seedsToKeep): - seedPath = os.path.join(self.path, self.condDirList[cond], self.caseDirList[case], f'Seed_{seed}') + seedPath = self.getCaseSeedPath(cond, case, seed) # Recover case properties D_ = self.allCases['D' ].max().values # Getting the maximum in case different turbines are present @@ -2251,7 +2800,7 @@ def _FF_setup_LES(self, seedsToKeep=1): zWT = self.allCases.sel(case=case)['Tz'].values # --------------- FAST.Farm ----------------- # - templateFSTF = os.path.join(self.templatePath, self.FFfilename) + templateFSTF = self.FFfilepath outputFSTF = os.path.join(seedPath, self.outputFFfilename) # Write the file (mostly for turbine locations here @@ -2295,8 +2844,12 @@ def _FF_setup_LES(self, seedsToKeep=1): ff_file['NumRadii'] = int(np.ceil(3*D_/(2*self.dr) + 1)) ff_file['NumPlanes'] = int(np.ceil( 20*D_/(self.dt_low*Vhub_*(1-1/6)) ) ) - # Ensure radii outputs are within [0, NumRadii-1] ff_file['OutRadii'] = [ff_file['OutRadii']] if isinstance(ff_file['OutRadii'],(float,int)) else ff_file['OutRadii'] + # If NOutRadii is 0 we find some default radii + if ff_file['NOutRadii']==0: + ff_file['OutRadii'] = defaultOutRadii(ff_file['dr'], ff_file['NumRadii'], self.D/2)[0] + ff_file['NOutRadii']= len(ff_file['OutRadii']) + # Ensure radii outputs are within [0, NumRadii-1] for i, r in enumerate(ff_file['OutRadii']): if r > ff_file['NumRadii']-1: ff_file['NOutRadii'] = i @@ -2341,7 +2894,7 @@ def _FF_setup_TS(self): for case in range(self.nCases): if self.verbose>0: print(f' Processing all {self.nSeeds} seeds of case {self.caseDirList[case]}', end='\r') for seed in range(self.nSeeds): - seedPath = os.path.join(self.path, self.condDirList[cond], self.caseDirList[case], f'Seed_{seed}') + seedPath = self.getCaseSeedPath(cond, case, seed) # Recover case properties D_ = self.allCases['D' ].max().values # Getting the maximum in case different turbines are present @@ -2360,19 +2913,23 @@ def _FF_setup_TS(self): # --------------- FAST.Farm ----------------- # - templateFSTF = os.path.join(self.templatePath, self.FFfilename) + templateFSTF = self.FFfilepath outputFSTF = os.path.join(seedPath, self.outputFFfilename) # Open TurbSim outputs for the Low box and one High box (they are all of the same size) - lowbts = TurbSimFile(os.path.join(seedPath,'TurbSim', 'Low.bts')) + lowbts = TurbSimFile(os.path.join(seedPath,'TurbSim', 'Low.bts')) # TODO TODO TODO Get Path highbts = TurbSimFile(os.path.join(seedPath,'TurbSim', f'HighT1.bts')) # Get dictionary with all the D{X,Y,Z,t}, L{X,Y,Z,t}, N{X,Y,Z,t}, {X,Y,Z}0 d = self._getBoxesParamsForFF(lowbts, highbts, self.dt_low, D_, HubHt_, xWT, yt) # Write the file + if self.flat: + turbineTemplateFullFilename=f"{self.turbfilename}1.fst" + else: + turbineTemplateFullFilename=f"../{self.turbfilename}1.fst" writeFastFarm(outputFSTF, templateFSTF, xWT, yt, zWT, d, OutListT1=self.outlistFF, - noLeadingZero=True, turbineTemplateFullFilename=f"../{self.turbfilename}1.fst") + noLeadingZero=True, turbineTemplateFullFilename=turbineTemplateFullFilename) # Open saved file and change additional values manually or make sure we have the correct ones ff_file = FASTInputFile(outputFSTF) @@ -2403,8 +2960,13 @@ def _FF_setup_TS(self): ff_file['NumRadii'] = int(np.ceil(3*D_/(2*self.dr) + 1)) ff_file['NumPlanes'] = int(np.ceil( 20*D_/(self.dt_low*Vhub_*(1-1/6)) ) ) - # Ensure radii outputs are within [0, NumRadii-1] ff_file['OutRadii'] = [ff_file['OutRadii']] if isinstance(ff_file['OutRadii'],(float,int)) else ff_file['OutRadii'] + # If NOutRadii is 0 we find some default radii + if ff_file['NOutRadii']==0: + ff_file['OutRadii'] = defaultOutRadii(ff_file['dr'], ff_file['NumRadii'], self.D/2)[0] + ff_file['NOutRadii']= len(ff_file['OutRadii']) + + # Ensure radii outputs are within [0, NumRadii-1] for i, r in enumerate(ff_file['OutRadii']): if r > ff_file['NumRadii']-1: ff_file['NOutRadii'] = i @@ -2572,8 +3134,30 @@ def _getBoxesParamsForFF(self, lowbts, highbts, dt_low_desired, D, HubHt, xWT, y return d + def FF_batch_prepare(self, run=False, **kwargs): + """ Writes a flat batch file for FASTFarm cases""" + from openfast_toolbox.case_generation.runner import writeBatch + + ext = ".bat" if os.name == "nt" else ".sh" + batchfile = os.path.join(self.path, f'runAllFASTFarm{ext}') + + writeBatch(batchfile, self.FFFiles, fastExe=self.ffbin, **kwargs) + self.batchfile_ff = batchfile + + OK(f"Batch file written to {batchfile}") + + if run: + self.FF_batch_run() - def FF_slurm_prepare(self, slurmfilepath, inplace=True): + def FF_batch_run(self, showOutputs=True, showCommand=True, verbose=True, **kwargs): + from openfast_toolbox.case_generation.runner import runBatch + if not os.path.exists(self.batchfile_ff): + raise FFException(f'Batch file does not exist: {self.batchfile_ff}.\nMake sure you run FF_batch_prepare first.') + stat = runBatch(self.batchfile_ff, showOutputs=showOutputs, showCommand=showCommand, verbose=verbose, **kwargs) + if stat!=0: + raise FFException(f'Batch file failed: {self.batchfile_ff}') + + def FF_slurm_prepare(self, slurmfilepath, inplace=True, useSed=True): # ---------------------------------------------- # ----- Prepare SLURM script for FAST.Farm ----- # ------------- ONE SCRIPT PER CASE ------------ @@ -2584,6 +3168,8 @@ def FF_slurm_prepare(self, slurmfilepath, inplace=True): self.slurmfilename_ff = os.path.basename(slurmfilepath) + WARN('Implementation Note: Developper help needed. This function requires sed. Please use regexp similar to what was done for `TS_low_slurm_prepare` or `TS_high_slurm_prepare`.') + for cond in range(self.nConditions): for case in range(self.nCases): for seed in range(self.nSeeds): @@ -2617,7 +3203,6 @@ def FF_slurm_prepare(self, slurmfilepath, inplace=True): self.sed_inplace(sed_command, inplace) - def FF_slurm_submit(self, qos='normal', A=None, t=None, p=None, delay=4, inplace=True): # ---------------------------------- @@ -2723,7 +3308,7 @@ def loop_through_all_and_modify_file(self, file_to_modify, property_to_modify, v for cond in range(self.nConditions): for case in range(self.nCases): for seed in range(self.nSeeds): - ff_file = os.path.join(self.path, self.condDirList[cond], self.caseDirList[case], f'Seed_{seed}', file_to_modify) + ff_file = os.path.join(self.getCaseSeedPath(cond, case, seed), file_to_modify) if not os.path.exists(ff_file): raise ValueError(f'Method only applies to files inside seed directories. File {ff_file} not found.') modifyProperty(ff_file, property_to_modify, value) @@ -2732,15 +3317,19 @@ def save(self, dill_filename='ffcase_obj.dill'): ''' Save object to disk ''' - - import dill + try: + import dill + except ImportError: + FAIL('The python package fill is not installed. FFCaseCreation cannot be saved to disk.\nPlease install it using:\n`pip install dill`') + return objpath = os.path.join(self.path, dill_filename) dill.dump(self, file=open(objpath, 'wb')) + OK('FAST.Farm case setup saved to file: {}'.format(objpath)) - def plot(self, figsize=(14,7), fontsize=13, saveFig=True, returnFig=False, figFormat='png', showTurbNumber=False, showLegend=True): + def plot(self, figsize=(14,7), fontsize=13, saveFig=False, returnFig=False, figFormat='png', showTurbNumber=False, showLegend=True): import matplotlib.pyplot as plt fig, ax = plt.subplots(figsize=figsize) @@ -2790,16 +3379,26 @@ def plot(self, figsize=(14,7), fontsize=13, saveFig=True, returnFig=False, figFo ax.plot([dst.x.values-(dst.D.values/2)*sind(yaw+phi), dst.x.values+(dst.D.values/2)*sind(yaw+phi)], [dst.y.values-(dst.D.values/2)*cosd(yaw+phi), dst.y.values+(dst.D.values/2)*cosd(yaw+phi)], c=color, alpha=alphas[j]) + + # TODO TODO Plot high-res grid + #x_high = X0_High[wt] + np.arange(nX_High+1)*dX_High + #y_high = Y0_High[wt] + np.arange(nY_High+1)*dY_High + #z_high = Z0_High[wt] + np.arange(nZ_High+1)*dZ_High + #if grid: + # ax.vlines(x_high, ymin=y_high[0], ymax=y_high[-1], ls='--', lw=0.4, color=col(wt)) + # ax.hlines(y_high, xmin=x_high[0], xmax=x_high[-1], ls='--', lw=0.4, color=col(wt)) + + # plot convex hull of farm (or line) for given inflow turbs = self.wts_rot_ds.sel(inflow_deg=inflow)[['x','y']].to_array().transpose() try: from scipy.spatial import ConvexHull hull = ConvexHull(turbs) for simplex in hull.simplices: - ax.plot(turbs[simplex, 0], turbs[simplex, 1], 'gray', alpha=alphas[j], label=f'Inflow {inflow.values} deg') + ax.plot(turbs[simplex, 0], turbs[simplex, 1], 'gray', alpha=alphas[j], label=f'Turbine Envelop - Inflow {inflow.values} deg') except: # All turbines are in a line. Plotting a line instead of convex hull - ax.plot(turbs[:,0], turbs[:,1], 'gray', alpha=alphas[j], label=f'Inflow {inflow.values} deg') + ax.plot(turbs[:,0], turbs[:,1], 'gray', alpha=alphas[j], label=f'Turbine Line - Inflow {inflow.values} deg') # Remove duplicate entries from legend @@ -2827,3 +3426,45 @@ def plot(self, figsize=(14,7), fontsize=13, saveFig=True, returnFig=False, figFo + +if __name__ == '__main__': + from welib.essentials import * + # ----------------------------------------------------------------------------- + # --------------------------- Farm parameters --------------------------------- + # ----------------------------------------------------------------------------- + # ----------- General turbine parameters + cmax = 5 # Maximum blade chord (m) + fmax = 10/6 # Maximum excitation frequency (Hz) + Cmeander = 1.9 # Meandering constant (-) + D = 240 # Rotor diameter (m) + zhub = 150 # Hub height (m) + + # ----------- Wind farm + # The wts dictionary holds information of each wind turbine. The allowed entries + # are: x, y, z, D, zhub, cmax, fmax, Cmeander, and phi_deg. The phi_deg is the + # only entry that is optional and is related to floating platform heading angle, + # given in degrees. The angle phi_deg is not illustrated on the example below. + wts = { + 0 :{'x': 0.0, 'y': 0, 'z':0.0, 'D':D, 'zhub':zhub, 'cmax':cmax, 'fmax':fmax, 'Cmeander':Cmeander, 'name':'T1'}, + 1 :{'x': 5*D, 'y': 0, 'z':0.0, 'D':D, 'zhub':zhub, 'cmax':cmax, 'fmax':fmax, 'Cmeander':Cmeander, 'name':'T2'}, + } + # ----------------------------------------------------------------------------- + # ------------------- Inflow conditions and input files ----------------------- + # ----------------------------------------------------------------------------- + # ----------- Inflow parameters + inflowType = 'TS' # TS: TurbSim, or LES: LES (VTK files needs to exist) + + # ----------- Desired sweeps + vhub = [8] + + + ffcc = FFCaseCreation(wts=wts, vhub=vhub, inflowType=inflowType, verbose=1) + print(ffcc) + ffcc.plot() + import matplotlib.pyplot as plt + plt.show() + + + + + diff --git a/openfast_toolbox/fastfarm/TurbSimCaseCreation.py b/openfast_toolbox/fastfarm/TurbSimCaseCreation.py index 1cd36a2..e74ea71 100644 --- a/openfast_toolbox/fastfarm/TurbSimCaseCreation.py +++ b/openfast_toolbox/fastfarm/TurbSimCaseCreation.py @@ -1,4 +1,5 @@ import numpy as np +from openfast_toolbox.io import FASTInputFile class TSCaseCreation: @@ -216,16 +217,19 @@ def plotSetup(self, fig=None, ax=None): fig.tight_layout return fig, ax - def writeTSFile(self, fileIn, fileOut, NewFile=True, tpath=None, tmax=50, turb=None, verbose=0): + def writeTSFile(self, fileOut, fileIn=None, NewFile=False, tpath=None, tmax=50, turb=None, verbose=0): """ Write a TurbSim primary input file. See WriteTSFile below. """ - WriteTSFile(fileIn, fileOut, self, NewFile=NewFile, tpath=tpath, tmax=tmax, turb=turb, verbose=verbose) + if fileIn is None or fileIn in ['unused', '"unused"']: + NewFile = True + if verbose>0: print('[INFO] No TurbSim template provided, using a Dummy TurbSim file') + WriteTSFile(fileIn=fileIn, fileOut=fileOut, params=self, NewFile=NewFile, tpath=tpath, tmax=tmax, turb=turb, verbose=verbose) -def WriteTSFile(fileIn, fileOut, params, NewFile=True, tpath=None, tmax=50, turb=None, verbose=0): +def WriteTSFile(fileOut, fileIn, params, NewFile=True, tpath=None, tmax=50, turb=None, verbose=0): """ Write a TurbSim primary input file, @@ -240,6 +244,21 @@ def WriteTSFile(fileIn, fileOut, params, NewFile=True, tpath=None, tmax=50, turb Turbine number to be printed on the time series file. Only needed if boxType='highres' + params: + object with fields: + highres + lowres + nz + ny + dt + [tmax] + HubHt_for_TS + Height + Width + TI + RefHt + URef + PLexp """ if params.boxType=='highres' and not isinstance(turb, int): @@ -247,116 +266,203 @@ def WriteTSFile(fileIn, fileOut, params, NewFile=True, tpath=None, tmax=50, turb if params.boxType=='lowres' and turb is not None: print("WARNING: `turb` is not used when boxType is 'lowres'. Remove `turb` to dismiss this warning.") - if NewFile == True: - if verbose>1: print(f'Writing a new {fileOut} file from scratch') + if NewFile: + if verbose>1: print(f'[INFO] Writing a new {fileOut} file from scratch') + WriteDummyTSFile(fileOut) + fileIn=fileOut + # --- Writing FFarm input file from scratch - with open(fileOut, 'w') as f: - f.write(f'--------TurbSim v2.00.* Input File------------------------\n') - f.write(f'for Certification Test #1 (Kaimal Spectrum, formatted FF files).\n') - f.write(f'---------Runtime Options-----------------------------------\n') - f.write(f'False\tEcho\t\t- Echo input data to .ech (flag)\n') - f.write(f'123456\tRandSeed1\t\t- First random seed (-2147483648 to 2147483647)\n') - f.write(f'RanLux\tRandSeed2\t\t- Second random seed (-2147483648 to 2147483647) for intrinsic pRNG, or an alternative pRNG: "RanLux" or "RNSNLW"\n') - f.write(f'False\tWrBHHTP\t\t- Output hub-height turbulence parameters in binary form? (Generates RootName.bin)\n') - f.write(f'False\tWrFHHTP\t\t- Output hub-height turbulence parameters in formatted form? (Generates RootName.dat)\n') - f.write(f'False\tWrADHH\t\t- Output hub-height time-series data in AeroDyn form? (Generates RootName.hh)\n') - f.write(f'True\tWrADFF\t\t- Output full-field time-series data in TurbSim/AeroDyn form? (Generates RootName.bts)\n') - f.write(f'False\tWrBLFF\t\t- Output full-field time-series data in BLADED/AeroDyn form? (Generates RootName.wnd)\n') - f.write(f'False\tWrADTWR\t\t- Output tower time-series data? (Generates RootName.twr)\n') - f.write(f'False\tWrFMTFF\t\t- Output full-field time-series data in formatted (readable) form? (Generates RootName.u, RootName.v, RootName.w)\n') - f.write(f'False\tWrACT\t\t- Output coherent turbulence time steps in AeroDyn form? (Generates RootName.cts)\n') - f.write(f'True\tClockwise\t\t- Clockwise rotation looking downwind? (used only for full-field binary files - not necessary for AeroDyn)\n') - f.write(f'0\tScaleIEC\t\t- Scale IEC turbulence models to exact target standard deviation? [0=no additional scaling; 1=use hub scale uniformly; 2=use individual scales]\n') - f.write(f'\n') - f.write(f'--------Turbine/Model Specifications-----------------------\n') - f.write(f'{params.nz:.0f}\tNumGrid_Z\t\t- Vertical grid-point matrix dimension\n') - f.write(f'{params.ny:.0f}\tNumGrid_Y\t\t- Horizontal grid-point matrix dimension\n') - f.write(f'{params.dt:.6f}\tTimeStep\t\t- Time step [seconds]\n') - f.write(f'{tmax:.4f}\tAnalysisTime\t\t- Length of analysis time series [seconds] (program will add time if necessary: AnalysisTime = MAX(AnalysisTime, UsableTime+GridWidth/MeanHHWS) )\n') - f.write(f'"ALL"\tUsableTime\t\t- Usable length of output time series [seconds] (program will add GridWidth/MeanHHWS seconds unless UsableTime is "ALL")\n') - f.write(f'{params.HubHt_for_TS:.3f}\tHubHt\t\t- Hub height [m] (should be > 0.5*GridHeight)\n') - f.write(f'{params.Height:.3f}\tGridHeight\t\t- Grid height [m]\n') - f.write(f'{params.Width:.3f}\tGridWidth\t\t- Grid width [m] (should be >= 2*(RotorRadius+ShaftLength))\n') - f.write(f'0\tVFlowAng\t\t- Vertical mean flow (uptilt) angle [degrees]\n') - f.write(f'0\tHFlowAng\t\t- Horizontal mean flow (skew) angle [degrees]\n') - f.write(f'\n') - f.write(f'--------Meteorological Boundary Conditions-------------------\n') - if params.boxType=='lowres': - f.write(f'"IECKAI"\tTurbModel\t\t- Turbulence model ("IECKAI","IECVKM","GP_LLJ","NWTCUP","SMOOTH","WF_UPW","WF_07D","WF_14D","TIDAL","API","IECKAI","TIMESR", or "NONE")\n') - f.write(f'"unused"\tUserFile\t\t- Name of the file that contains inputs for user-defined spectra or time series inputs (used only for "IECKAI" and "TIMESR" models)\n') - elif params.boxType=='highres': - f.write(f'"TIMESR"\tTurbModel\t\t- Turbulence model ("IECKAI","IECVKM","GP_LLJ","NWTCUP","SMOOTH","WF_UPW","WF_07D","WF_14D","TIDAL","API","USRINP","TIMESR", or "NONE")\n') - f.write(f'"USRTimeSeries_T{turb}.txt"\tUserFile\t\t- Name of the file that contains inputs for user-defined spectra or time series inputs (used only for "IECKAI" and "TIMESR" models)\n') - else: - raise ValueError("boxType can only be 'lowres' or 'highres'. Stopping.") - f.write(f'1\tIECstandard\t\t- Number of IEC 61400-x standard (x=1,2, or 3 with optional 61400-1 edition number (i.e. "1-Ed2") )\n') - f.write(f'"{params.TI:.3f}\t"\tIECturbc\t\t- IEC turbulence characteristic ("A", "B", "C" or the turbulence intensity in percent) ("KHTEST" option with NWTCUP model, not used for other models)\n') - f.write(f'"NTM"\tIEC_WindType\t\t- IEC turbulence type ("NTM"=normal, "xETM"=extreme turbulence, "xEWM1"=extreme 1-year wind, "xEWM50"=extreme 50-year wind, where x=wind turbine class 1, 2, or 3)\n') - f.write(f'"default"\tETMc\t\t- IEC Extreme Turbulence Model "c" parameter [m/s]\n') - f.write(f'"PL"\tWindProfileType\t\t- Velocity profile type ("LOG";"PL"=power law;"JET";"H2L"=Log law for TIDAL model;"API";"PL";"TS";"IEC"=PL on rotor disk, LOG elsewhere; or "default")\n') - f.write(f'"unused"\tProfileFile\t\t- Name of the file that contains input profiles for WindProfileType="USR" and/or TurbModel="USRVKM" [-]\n') - f.write(f'{params.RefHt:.3f}\tRefHt\t\t- Height of the reference velocity (URef) [m]\n') - f.write(f'{params.URef:.3f}\tURef\t\t- Mean (total) velocity at the reference height [m/s] (or "default" for JET velocity profile) [must be 1-hr mean for API model; otherwise is the mean over AnalysisTime seconds]\n') - f.write(f'350\tZJetMax\t\t- Jet height [m] (used only for JET velocity profile, valid 70-490 m)\n') - f.write(f'"{params.PLexp:.3f}"\tPLExp\t\t- Power law exponent [-] (or "default")\n') - f.write(f'"default"\tZ0\t\t- Surface roughness length [m] (or "default")\n') - f.write(f'\n') - f.write(f'--------Non-IEC Meteorological Boundary Conditions------------\n') - f.write(f'"default"\tLatitude\t\t- Site latitude [degrees] (or "default")\n') - f.write(f'0.05\tRICH_NO\t\t- Gradient Richardson number [-]\n') - f.write(f'"default"\tUStar\t\t- Friction or shear velocity [m/s] (or "default")\n') - f.write(f'"default"\tZI\t\t- Mixing layer depth [m] (or "default")\n') - f.write(f'"default"\tPC_UW\t\t- Hub mean u\'w\' Reynolds stress [m^2/s^2] (or "default" or "none")\n') - f.write(f'"default"\tPC_UV\t\t- Hub mean u\'v\' Reynolds stress [m^2/s^2] (or "default" or "none")\n') - f.write(f'"default"\tPC_VW\t\t- Hub mean v\'w\' Reynolds stress [m^2/s^2] (or "default" or "none")\n') - f.write(f'\n') - f.write(f'--------Spatial Coherence Parameters----------------------------\n') - f.write(f'"IEC"\tSCMod1\t\t- u-component coherence model ("GENERAL","IEC","API","NONE", or "default")\n') - f.write(f'"IEC"\tSCMod2\t\t- v-component coherence model ("GENERAL","IEC","NONE", or "default")\n') - f.write(f'"IEC"\tSCMod3\t\t- w-component coherence model ("GENERAL","IEC","NONE", or "default")\n') - f.write(f'"12.0 {0.12/(8.1*42):.8f}"\tInCDec1\t- u-component coherence parameters for general or IEC models [-, m^-1] (e.g. "10.0 0.3e-3" in quotes) (or "default")\n') - f.write(f'"12.0 {0.12/(8.1*42):.8f}"\tInCDec2\t- v-component coherence parameters for general or IEC models [-, m^-1] (e.g. "10.0 0.3e-3" in quotes) (or "default")\n') - f.write(f'"12.0 {0.12/(8.1*42):.8f}"\tInCDec3\t- w-component coherence parameters for general or IEC models [-, m^-1] (e.g. "10.0 0.3e-3" in quotes) (or "default")\n') - f.write(f'"0.0"\tCohExp\t\t- Coherence exponent for general model [-] (or "default")\n') - f.write(f'\n') - f.write(f'--------Coherent Turbulence Scaling Parameters-------------------\n') - f.write(f'".\\EventData"\tCTEventPath\t\t- Name of the path where event data files are located\n') - f.write(f'"random"\tCTEventFile\t\t- Type of event files ("LES", "DNS", or "RANDOM")\n') - f.write(f'true\tRandomize\t\t- Randomize the disturbance scale and locations? (true/false)\n') - f.write(f'1\tDistScl\t\t- Disturbance scale [-] (ratio of event dataset height to rotor disk). (Ignored when Randomize = true.)\n') - f.write(f'0.5\tCTLy\t\t- Fractional location of tower centerline from right [-] (looking downwind) to left side of the dataset. (Ignored when Randomize = true.)\n') - f.write(f'0.5\tCTLz\t\t- Fractional location of hub height from the bottom of the dataset. [-] (Ignored when Randomize = true.)\n') - f.write(f'30\tCTStartTime\t\t- Minimum start time for coherent structures in RootName.cts [seconds]\n') - f.write(f'\n') - f.write(f'====================================================\n') - f.write(f'! NOTE: Do not add or remove any lines in this file!\n') - f.write(f'====================================================\n') - - else: - print(f'Modifying {fileIn} to be {fileOut}') - - NewPars = [int(params.nz), int(params.ny), int(params.dt), format(params.HubHt,'.2f'), format(params.Height,'.2f'), format(params.Width,'.2f'), format(params.TI,'.2f'), format(params.RefHt,'.2f'), format(params.URef,'.2f'), int(params.PLexp)] - ModVars = ['NumGrid_Z','NumGrid_Y','TimeStep','HubHt','GridHeight','GridWidth','IECturb','RefHt','URef','PLExp'] - wt=0 - with open(fileOut, 'w+') as new_file: - with open(fileIn) as old_file: - for line in old_file.readlines(): - newline = line - for index,tmpVar in enumerate(ModVars): - if tmpVar in line: - newline = str(NewPars[index])+'\t!!Orig is: '+line - if '.fst' in line: - newline =str('{params.x[wt]:.3f}\t\t{params.y[wt]:.3f}\t\t{params.z[wt]:.3f}\t\t{tpath}_WT{wt+1:d}.fst"\t{params.X0_High[wt]:.3f}\t\t{params.Y0_High[wt]:.3f}\t\t{params.Z0_High:.3f}\t\t{params.dX_High:.3f}\t\t{params.dY_High:.3f}\t\t{params.dZ_High:.3f}\n') - wt+=1 - new_file.write(newline) - - -def writeTimeSeriesFile(fileOut,yloc,zloc,u,v,w,time): +# with open(fileOut, 'w') as f: +# f.write( '--------TurbSim v2.00.* Input File------------------------\n') +# f.write( 'for Certification Test #1 (Kaimal Spectrum, formatted FF files).\n') +# f.write( '---------Runtime Options-----------------------------------\n') +# f.write( 'False\tEcho\t\t- Echo input data to .ech (flag)\n') +# f.write( '123456\tRandSeed1\t\t- First random seed (-2147483648 to 2147483647)\n') +# f.write( 'RanLux\tRandSeed2\t\t- Second random seed (-2147483648 to 2147483647) for intrinsic pRNG, or an alternative pRNG: "RanLux" or "RNSNLW"\n') +# f.write( 'False\tWrBHHTP\t\t- Output hub-height turbulence parameters in binary form? (Generates RootName.bin)\n') +# f.write( 'False\tWrFHHTP\t\t- Output hub-height turbulence parameters in formatted form? (Generates RootName.dat)\n') +# f.write( 'False\tWrADHH\t\t- Output hub-height time-series data in AeroDyn form? (Generates RootName.hh)\n') +# f.write( 'True\tWrADFF\t\t- Output full-field time-series data in TurbSim/AeroDyn form? (Generates RootName.bts)\n') +# f.write( 'False\tWrBLFF\t\t- Output full-field time-series data in BLADED/AeroDyn form? (Generates RootName.wnd)\n') +# f.write( 'False\tWrADTWR\t\t- Output tower time-series data? (Generates RootName.twr)\n') +# f.write( 'False\tWrHAWCFF\t\t- Output full-field time-series data in HAWC form? (Generates RootName-u.bin, RootName-v.bin, RootName-w.bin, RootName.hawc)\n') +# f.write( 'False\tWrFMTFF\t\t- Output full-field time-series data in formatted (readable) form? (Generates RootName.u, RootName.v, RootName.w)\n') +# f.write( 'False\tWrACT\t\t- Output coherent turbulence time steps in AeroDyn form? (Generates RootName.cts)\n') +# #f.write(f'True\tClockwise\t\t- Clockwise rotation looking downwind? (used only for full-field binary files - not necessary for AeroDyn)\n') +# f.write( '0\tScaleIEC\t\t- Scale IEC turbulence models to exact target standard deviation? [0=no additional scaling; 1=use hub scale uniformly; 2=use individual scales]\n') +# f.write( '\n') +# f.write( '--------Turbine/Model Specifications-----------------------\n') +# f.write(f'{params.nz:.0f}\tNumGrid_Z\t\t- Vertical grid-point matrix dimension\n') +# f.write(f'{params.ny:.0f}\tNumGrid_Y\t\t- Horizontal grid-point matrix dimension\n') +# f.write(f'{params.dt:.6f}\tTimeStep\t\t- Time step [seconds]\n') +# f.write(f'{tmax:.4f}\tAnalysisTime\t\t- Length of analysis time series [seconds] (program will add time if necessary: AnalysisTime = MAX(AnalysisTime, UsableTime+GridWidth/MeanHHWS) )\n') +# f.write( '"ALL"\tUsableTime\t\t- Usable length of output time series [seconds] (program will add GridWidth/MeanHHWS seconds unless UsableTime is "ALL")\n') +# f.write(f'{params.HubHt_for_TS:.3f}\tHubHt\t\t- Hub height [m] (should be > 0.5*GridHeight)\n') +# f.write(f'{params.Height:.3f}\tGridHeight\t\t- Grid height [m]\n') +# f.write(f'{params.Width:.3f}\tGridWidth\t\t- Grid width [m] (should be >= 2*(RotorRadius+ShaftLength))\n') +# f.write( '0\tVFlowAng\t\t- Vertical mean flow (uptilt) angle [degrees]\n') +# f.write( '0\tHFlowAng\t\t- Horizontal mean flow (skew) angle [degrees]\n') +# f.write( '\n') +# f.write( '--------Meteorological Boundary Conditions-------------------\n') +# if params.boxType=='lowres': +# f.write( '"IECKAI"\tTurbModel\t\t- Turbulence model ("IECKAI","IECVKM","GP_LLJ","NWTCUP","SMOOTH","WF_UPW","WF_07D","WF_14D","TIDAL","API","IECKAI","TIMESR", or "NONE")\n') +# f.write( '"unused"\tUserFile\t\t- Name of the file that contains inputs for user-defined spectra or time series inputs (used only for "IECKAI" and "TIMESR" models)\n') +# elif params.boxType=='highres': +# f.write( '"TIMESR"\tTurbModel\t\t- Turbulence model ("IECKAI","IECVKM","GP_LLJ","NWTCUP","SMOOTH","WF_UPW","WF_07D","WF_14D","TIDAL","API","USRINP","TIMESR", or "NONE")\n') +# f.write(f'"USRTimeSeries_T{turb}.txt"\tUserFile\t\t- Name of the file that contains inputs for user-defined spectra or time series inputs (used only for "IECKAI" and "TIMESR" models)\n') +# else: +# raise ValueError("boxType can only be 'lowres' or 'highres'. Stopping.") +# f.write( '1\tIECstandard\t\t- Number of IEC 61400-x standard (x=1,2, or 3 with optional 61400-1 edition number (i.e. "1-Ed2") )\n') +# f.write(f'"{params.TI:.3f}\t"\tIECturbc\t\t- IEC turbulence characteristic ("A", "B", "C" or the turbulence intensity in percent) ("KHTEST" option with NWTCUP model, not used for other models)\n') +# f.write( '"NTM"\tIEC_WindType\t\t- IEC turbulence type ("NTM"=normal, "xETM"=extreme turbulence, "xEWM1"=extreme 1-year wind, "xEWM50"=extreme 50-year wind, where x=wind turbine class 1, 2, or 3)\n') +# f.write( '"default"\tETMc\t\t- IEC Extreme Turbulence Model "c" parameter [m/s]\n') +# f.write( '"PL"\tWindProfileType\t\t- Velocity profile type ("LOG";"PL"=power law;"JET";"H2L"=Log law for TIDAL model;"API";"PL";"TS";"IEC"=PL on rotor disk, LOG elsewhere; or "default")\n') +# f.write( '"unused"\tProfileFile\t\t- Name of the file that contains input profiles for WindProfileType="USR" and/or TurbModel="USRVKM" [-]\n') +# f.write(f'{params.RefHt:.3f}\tRefHt\t\t- Height of the reference velocity (URef) [m]\n') +# f.write(f'{params.URef:.3f}\tURef\t\t- Mean (total) velocity at the reference height [m/s] (or "default" for JET velocity profile) [must be 1-hr mean for API model; otherwise is the mean over AnalysisTime seconds]\n') +# f.write( '350\tZJetMax\t\t- Jet height [m] (used only for JET velocity profile, valid 70-490 m)\n') +# f.write(f'"{params.PLexp:.3f}"\tPLExp\t\t- Power law exponent [-] (or "default")\n') +# f.write( '"default"\tZ0\t\t- Surface roughness length [m] (or "default")\n') +# f.write( '\n') +# f.write( '--------Non-IEC Meteorological Boundary Conditions------------\n') +# f.write( '"default"\tLatitude\t\t- Site latitude [degrees] (or "default")\n') +# f.write( '0.05\tRICH_NO\t\t- Gradient Richardson number [-]\n') +# f.write( '"default"\tUStar\t\t- Friction or shear velocity [m/s] (or "default")\n') +# f.write( '"default"\tZI\t\t- Mixing layer depth [m] (or "default")\n') +# f.write( '"default"\tPC_UW\t\t- Hub mean u\'w\' Reynolds stress [m^2/s^2] (or "default" or "none")\n') +# f.write( '"default"\tPC_UV\t\t- Hub mean u\'v\' Reynolds stress [m^2/s^2] (or "default" or "none")\n') +# f.write( '"default"\tPC_VW\t\t- Hub mean v\'w\' Reynolds stress [m^2/s^2] (or "default" or "none")\n') +# f.write( '\n') +# f.write( '--------Spatial Coherence Parameters----------------------------\n') +# f.write( '"IEC"\tSCMod1\t\t- u-component coherence model ("GENERAL","IEC","API","NONE", or "default")\n') +# f.write( '"IEC"\tSCMod2\t\t- v-component coherence model ("GENERAL","IEC","NONE", or "default")\n') +# f.write( '"IEC"\tSCMod3\t\t- w-component coherence model ("GENERAL","IEC","NONE", or "default")\n') +# f.write(f'"12.0 {0.12/(8.1*42):.8f}"\tInCDec1\t- u-component coherence parameters for general or IEC models [-, m^-1] (e.g. "10.0 0.3e-3" in quotes) (or "default")\n') +# f.write(f'"12.0 {0.12/(8.1*42):.8f}"\tInCDec2\t- v-component coherence parameters for general or IEC models [-, m^-1] (e.g. "10.0 0.3e-3" in quotes) (or "default")\n') +# f.write(f'"12.0 {0.12/(8.1*42):.8f}"\tInCDec3\t- w-component coherence parameters for general or IEC models [-, m^-1] (e.g. "10.0 0.3e-3" in quotes) (or "default")\n') +# f.write( '"0.0"\tCohExp\t\t- Coherence exponent for general model [-] (or "default")\n') +# f.write(f'\n') +# f.write(f'--------Coherent Turbulence Scaling Parameters-------------------\n') +# f.write( '".\\unused\t\t- Name of the path where event data files are located\n') +# f.write( '"random"\tCTEventFile\t\t- Type of event files ("LES", "DNS", or "RANDOM")\n') +# f.write( 'true\tRandomize\t\t- Randomize the disturbance scale and locations? (true/false)\n') +# f.write( '1\tDistScl\t\t- Disturbance scale [-] (ratio of event dataset height to rotor disk). (Ignored when Randomize = true.)\n') +# f.write( '0.5\tCTLy\t\t- Fractional location of tower centerline from right [-] (looking downwind) to left side of the dataset. (Ignored when Randomize = true.)\n') +# f.write( '0.5\tCTLz\t\t- Fractional location of hub height from the bottom of the dataset. [-] (Ignored when Randomize = true.)\n') +# f.write( '30\tCTStartTime\t\t- Minimum start time for coherent structures in RootName.cts [seconds]\n') +# f.write( '\n') +# f.write( '====================================================\n') +# f.write( '! NOTE: Do not add or remove any lines in this file!\n') +# f.write( '====================================================\n') + if verbose>1: print(f'[INFO] Modifying {fileIn} to be {fileOut}') + wt=0 + ts = FASTInputFile(fileIn) + ts['NumGrid_Z'] = int(params.nz) + ts['NumGrid_Y'] = int(params.ny) + ts['TimeStep'] = round(params.dt, 6) + ts['AnalysisTime'] = round(tmax, 4) + ts['HubHt'] = round(params.HubHt_for_TS, 3) + ts['GridHeight'] = round(params.Height, 3) + ts['GridWidth'] = round(params.Width , 3) + if params.boxType=='lowres': + ts['TurbModel'] = '"IECKAI"' + ts['UserFile'] = '"unused"' + elif params.boxType=='highres': + ts['TurbModel'] = '"TIMSR"' + ts['UserFile'] = f'"USRTimeSeries_T{turb}.txt"' + ts['IECTurbc'] = round(float(params.TI ) , 3) + ts['RefHt'] = round(float(params.RefHt) , 3) + ts['URef'] = round(float(params.URef ) , 3) + ts['PLExp'] = round(float(params.PLexp) , 3) + ts.write(fileOut) + + + +def WriteDummyTSFile(fileOut): + with open(fileOut, 'w') as f: + f.write('--------TurbSim v2.00.* Input File------------------------\n') + f.write('for Certification Test #1 (Kaimal Spectrum, formatted FF files).\n') + f.write('---------Runtime Options-----------------------------------\n') + f.write('False\tEcho\t\t- Echo input data to .ech (flag)\n') + f.write('123456\tRandSeed1\t\t- First random seed (-2147483648 to 2147483647)\n') + f.write('RanLux\tRandSeed2\t\t- Second random seed (-2147483648 to 2147483647) for intrinsic pRNG, or an alternative pRNG: "RanLux" or "RNSNLW"\n') + f.write('False\tWrBHHTP\t\t- Output hub-height turbulence parameters in binary form? (Generates RootName.bin)\n') + f.write('False\tWrFHHTP\t\t- Output hub-height turbulence parameters in formatted form? (Generates RootName.dat)\n') + f.write('False\tWrADHH\t\t- Output hub-height time-series data in AeroDyn form? (Generates RootName.hh)\n') + f.write('True\tWrADFF\t\t- Output full-field time-series data in TurbSim/AeroDyn form? (Generates RootName.bts)\n') + f.write('False\tWrBLFF\t\t- Output full-field time-series data in BLADED/AeroDyn form? (Generates RootName.wnd)\n') + f.write('False\tWrADTWR\t\t- Output tower time-series data? (Generates RootName.twr)\n') + f.write('False\tWrHAWCFF\t\t- Output full-field time-series data in HAWC form? (Generates RootName-u.bin, RootName-v.bin, RootName-w.bin, RootName.hawc)\n') + f.write('False\tWrFMTFF\t\t- Output full-field time-series data in formatted (readable) form? (Generates RootName.u, RootName.v, RootName.w)\n') + f.write('False\tWrACT\t\t- Output coherent turbulence time steps in AeroDyn form? (Generates RootName.cts)\n') + f.write('0\tScaleIEC\t\t- Scale IEC turbulence models to exact target standard deviation? [0=no additional scaling; 1=use hub scale uniformly; 2=use individual scales]\n') + f.write('\n') + f.write('--------Turbine/Model Specifications-----------------------\n') + f.write('10\tNumGrid_Z\t\t- Vertical grid-point matrix dimension\n') + f.write('10\tNumGrid_Y\t\t- Horizontal grid-point matrix dimension\n') + f.write('0.1\tTimeStep\t\t- Time step [seconds]\n') + f.write('50.0\tAnalysisTime\t\t- Length of analysis time series [seconds] (program will add time if necessary: AnalysisTime = MAX(AnalysisTime, UsableTime+GridWidth/MeanHHWS) )\n') + f.write('"ALL"\tUsableTime\t\t- Usable length of output time series [seconds] (program will add GridWidth/MeanHHWS seconds unless UsableTime is "ALL")\n') + f.write('100.0\tHubHt\t\t- Hub height [m] (should be > 0.5*GridHeight)\n') + f.write('50.0\tGridHeight\t\t- Grid height [m]\n') + f.write('50.0\tGridWidth\t\t- Grid width [m] (should be >= 2*(RotorRadius+ShaftLength))\n') + f.write('0\tVFlowAng\t\t- Vertical mean flow (uptilt) angle [degrees]\n') + f.write('0\tHFlowAng\t\t- Horizontal mean flow (skew) angle [degrees]\n') + f.write('\n') + f.write('--------Meteorological Boundary Conditions-------------------\n') + f.write('"IECKAI"\tTurbModel\t\t- Turbulence model ("IECKAI","IECVKM","GP_LLJ","NWTCUP","SMOOTH","WF_UPW","WF_07D","WF_14D","TIDAL","API","IECKAI","TIMESR", or "NONE")\n') + f.write('"unused"\tUserFile\t\t- Name of the file that contains inputs for user-defined spectra or time series inputs (used only for "IECKAI" and "TIMESR" models)\n') + f.write('1\tIECstandard\t\t- Number of IEC 61400-x standard (x=1,2, or 3 with optional 61400-1 edition number (i.e. "1-Ed2") )\n') + f.write('"A"\t\tIECturbc\t\t- IEC turbulence characteristic ("A", "B", "C" or the turbulence intensity in percent) ("KHTEST" option with NWTCUP model, not used for other models)\n') + f.write('"NTM"\tIEC_WindType\t\t- IEC turbulence type ("NTM"=normal, "xETM"=extreme turbulence, "xEWM1"=extreme 1-year wind, "xEWM50"=extreme 50-year wind, where x=wind turbine class 1, 2, or 3)\n') + f.write('"default"\tETMc\t\t- IEC Extreme Turbulence Model "c" parameter [m/s]\n') + f.write('"PL"\tWindProfileType\t\t- Velocity profile type ("LOG";"PL"=power law;"JET";"H2L"=Log law for TIDAL model;"API";"PL";"TS";"IEC"=PL on rotor disk, LOG elsewhere; or "default")\n') + f.write('"unused"\tProfileFile\t\t- Name of the file that contains input profiles for WindProfileType="USR" and/or TurbModel="USRVKM" [-]\n') + f.write('100\tRefHt\t\t- Height of the reference velocity (URef) [m]\n') + f.write('10.0\tURef\t\t- Mean (total) velocity at the reference height [m/s] (or "default" for JET velocity profile) [must be 1-hr mean for API model; otherwise is the mean over AnalysisTime seconds]\n') + f.write('350\tZJetMax\t\t- Jet height [m] (used only for JET velocity profile, valid 70-490 m)\n') + f.write('"0.2"\tPLExp\t\t- Power law exponent [-] (or "default")\n') + f.write('"default"\tZ0\t\t- Surface roughness length [m] (or "default")\n') + f.write('\n') + f.write('--------Non-IEC Meteorological Boundary Conditions------------\n') + f.write('"default"\tLatitude\t\t- Site latitude [degrees] (or "default")\n') + f.write('0.05\tRICH_NO\t\t- Gradient Richardson number [-]\n') + f.write('"default"\tUStar\t\t- Friction or shear velocity [m/s] (or "default")\n') + f.write('"default"\tZI\t\t- Mixing layer depth [m] (or "default")\n') + f.write('"default"\tPC_UW\t\t- Hub mean u\'w\' Reynolds stress [m^2/s^2] (or "default" or "none")\n') + f.write('"default"\tPC_UV\t\t- Hub mean u\'v\' Reynolds stress [m^2/s^2] (or "default" or "none")\n') + f.write('"default"\tPC_VW\t\t- Hub mean v\'w\' Reynolds stress [m^2/s^2] (or "default" or "none")\n') + f.write('\n') + f.write('--------Spatial Coherence Parameters----------------------------\n') + f.write('"IEC"\tSCMod1\t\t- u-component coherence model ("GENERAL","IEC","API","NONE", or "default")\n') + f.write('"IEC"\tSCMod2\t\t- v-component coherence model ("GENERAL","IEC","NONE", or "default")\n') + f.write('"IEC"\tSCMod3\t\t- w-component coherence model ("GENERAL","IEC","NONE", or "default")\n') + f.write(f'"12.0 {0.12/(8.1*42):.8f}"\tInCDec1\t- u-component coherence parameters for general or IEC models [-, m^-1] (e.g. "10.0 0.3e-3" in quotes) (or "default")\n') + f.write(f'"12.0 {0.12/(8.1*42):.8f}"\tInCDec2\t- v-component coherence parameters for general or IEC models [-, m^-1] (e.g. "10.0 0.3e-3" in quotes) (or "default")\n') + f.write(f'"12.0 {0.12/(8.1*42):.8f}"\tInCDec3\t- w-component coherence parameters for general or IEC models [-, m^-1] (e.g. "10.0 0.3e-3" in quotes) (or "default")\n') + f.write('"0.0"\tCohExp\t\t- Coherence exponent for general model [-] (or "default")\n') + f.write('\n') + f.write('--------Coherent Turbulence Scaling Parameters-------------------\n') + f.write('"unused"\tCTEventPath\t\t- Name of the path where event data files are located\n') + f.write('"random"\tCTEventFile\t\t- Type of event files ("LES", "DNS", or "RANDOM")\n') + f.write('true\tRandomize\t\t- Randomize the disturbance scale and locations? (true/false)\n') + f.write('1\tDistScl\t\t- Disturbance scale [-] (ratio of event dataset height to rotor disk). (Ignored when Randomize = true.)\n') + f.write('0.5\tCTLy\t\t- Fractional location of tower centerline from right [-] (looking downwind) to left side of the dataset. (Ignored when Randomize = true.)\n') + f.write('0.5\tCTLz\t\t- Fractional location of hub height from the bottom of the dataset. [-] (Ignored when Randomize = true.)\n') + f.write('30\tCTStartTime\t\t- Minimum start time for coherent structures in RootName.cts [seconds]\n') + f.write('\n') + f.write('====================================================\n') + f.write('! NOTE: Do not add or remove any lines in this file!\n') + f.write('====================================================\n') + + + +def writeTimeSeriesFile(fileOut,yloc,zloc,u,v,w,time, verbose=0): """ Write a TurbSim primary input file, """ - print(f'Writing {fileOut}') + if verbose>0: print(f'Writing {fileOut}') # --- Writing TurbSim user-defined time series file with open(fileOut, 'w') as f: f.write( '--------------TurbSim v2.00.* User Time Series Input File-----------------------\n') diff --git a/openfast_toolbox/fastfarm/examples/SampleFiles/FF_ForInitialDebug.fstf b/openfast_toolbox/fastfarm/examples/SampleFiles/FF_ForInitialDebug.fstf new file mode 100644 index 0000000..89e575d --- /dev/null +++ b/openfast_toolbox/fastfarm/examples/SampleFiles/FF_ForInitialDebug.fstf @@ -0,0 +1,115 @@ +------- FAST.Farm for OpenFAST INPUT FILE ------------------------------------------------- +Simulation with one turbine using precursor VTK +--- SIMULATION CONTROL --- +False Echo - Echo input data to .ech? (flag) +FATAL AbortLevel - Error level when simulation should abort (string) {"WARNING", "SEVERE", "FATAL"} +5.0 TMax - Total run time (s) [>=0.0] +2 Mod_AmbWind - Ambient wind model (-) (switch) {1: high-fidelity precursor in VTK format, 2: one InflowWind module, 3: multiple instances of InflowWind module} +2 Mod_WaveField - Wave field handling (-) (switch) {1: use individual HydroDyn inputs without adjustment, 2: adjust wave phases based on turbine offsets from farm origin} +0 Mod_SharedMooring - Shared mooring system model (switch) {0: None, 3=MoorDyn}} +--- SHARED MOORING SYSTEM --- [used only for Mod_SharedMoor>0] +"" SharedMoorFile - Name of file containing shared mooring system input parameters (quoted string) [used only when Mod_SharedMooring > 0] +0.04 DT_Mooring - Time step for farm-level mooring coupling with each turbine (s) [used only when Mod_SharedMooring > 0] +True WrMooringVis - Write shared mooring visualization, at the global FAST.Farm time step (-) [only used for Mod_SharedMooring=3] +--- AMBIENT WIND: PRECURSOR IN VTK FORMAT --- [used only for Mod_AmbWind=1] +3.0 DT_Low-VTK - Time step for low -resolution wind data input files; will be used as the global FAST.Farm time step (s) [>0.0] +0.1 DT_High-VTK - Time step for high-resolution wind data input files (s) [>0.0] +"unused" WindFilePath - Path name to VTK wind data files from precursor (string) +False ChkWndFiles - Check all the ambient wind files for data consistency? (flag) +--- AMBIENT WIND: INFLOWWIND MODULE --- [used only for Mod_AmbWind=2 or 3] +3.0 DT_Low - Time step for low -resolution wind data interpolation; will be used as the global FAST.Farm time step (s) [>0.0] +0.1 DT_High - Time step for high-resolution wind data interpolation (s) [>0.0] +2 NX_Low - Number of low -resolution spatial nodes in X direction for wind data interpolation (-) [>=2] +2 NY_Low - Number of low -resolution spatial nodes in Y direction for wind data interpolation (-) [>=2] +2 NZ_Low - Number of low -resolution spatial nodes in Z direction for wind data interpolation (-) [>=2] +-1000.0 X0_Low - Origin of low -resolution spatial nodes in X direction for wind data interpolation (m) +-1000.0 Y0_Low - Origin of low -resolution spatial nodes in Y direction for wind data interpolation (m) +0.0 Z0_Low - Origin of low -resolution spatial nodes in Z direction for wind data interpolation (m) +2000.0 dX_Low - Spacing of low -resolution spatial nodes in X direction for wind data interpolation (m) [>0.0] +2000.0 dY_Low - Spacing of low -resolution spatial nodes in Y direction for wind data interpolation (m) [>0.0] +800.0 dZ_Low - Spacing of low -resolution spatial nodes in Z direction for wind data interpolation (m) [>0.0] +2 NX_High - Number of high-resolution spatial nodes in X direction for wind data interpolation (-) [>=2] +2 NY_High - Number of high-resolution spatial nodes in Y direction for wind data interpolation (-) [>=2] +2 NZ_High - Number of high-resolution spatial nodes in Z direction for wind data interpolation (-) [>=2] +"IW_ForInitialDebug.dat" InflowFile - Name of file containing InflowWind module input parameters (quoted string) +--- WIND TURBINES --- +1 NumTurbines - Number of wind turbines (-) [>=1] [last 6 columns below used only for Mod_AmbWind=2 or 3] +WT_X WT_Y WT_Z WT_FASTInFile X0_High Y0_High Z0_High dX_High dY_High dZ_High +(m) (m) (m) (string) (m) (m) (m) (m) (m) (m) +0.0 0.0 0.0 "WT.T.fst" -500.0 -500.0 1.0 1000.0 1000.0 500.0 +--- WAKE DYNAMICS --- +1 Mod_Wake - Switch between wake formulations {1:Polar, 2:Curl, 3:Cartesian} (-) (switch) +240 RotorDiamRef - Reference turbine rotor diameter for wake calculations (m) [>0.0] +30.0 dr - Radial increment of radial finite-difference grid (m) [>0.0] +40 NumRadii - Number of radii in the radial finite-difference grid (-) [>=2] +140 NumPlanes - Number of wake planes (-) [>=2] +0.14 f_c - Cutoff (corner) frequency of the low-pass time-filter for the wake advection, deflection, and meandering model [recommended=1.28*U0/R] (Hz) [>0.0] or DEFAULT [DEFAULT=12.5/R, R estimated from dr and NumRadii, not recommended] +DEFAULT C_HWkDfl_O - Calibrated parameter in the correction for wake deflection defining the horizontal offset at the rotor (m ) or DEFAULT [DEFAULT= 0.0 ] +DEFAULT C_HWkDfl_OY - Calibrated parameter in the correction for wake deflection defining the horizontal offset at the rotor scaled with yaw error (m/deg) or DEFAULT [DEFAULT= 0.0 if Mod_Wake is 2, 0.3 otherwise] +DEFAULT C_HWkDfl_x - Calibrated parameter in the correction for wake deflection defining the horizontal offset scaled with downstream distance (- ) or DEFAULT [DEFAULT= 0.0 ] +DEFAULT C_HWkDfl_xY - Calibrated parameter in the correction for wake deflection defining the horizontal offset scaled with downstream distance and yaw error (1/deg) or DEFAULT [DEFAULT= 0.0 if Mod_Wake is 2, -0.004 otherwise] +DEFAULT C_NearWake - Calibrated parameter for the near-wake correction (-) [>1.0 and <2.5] or DEFAULT [DEFAULT=1.8] +DEFAULT k_vAmb - Calibrated parameters for the influence of the ambient turbulence in the eddy viscosity (set of 5 parameters: k, FMin, DMin, DMax, Exp) (-) [>=0.0, >=0.0 and <=1.0, >=0.0, >DMin, >=0.0] or DEFAULT [DEFAULT=0.05, 1.0, 0.0, 1.0, 0.01] +DEFAULT k_vShr - Calibrated parameters for the influence of the shear layer in the eddy viscosity (set of 5 parameters: k, FMin, DMin, DMax, Exp) (-) [>=0.0, >=0.0 and <=1.0, >=0.0, >DMin, >=0.0] or DEFAULT [DEFAULT=0.016, 0.2, 3.0, 25.0, 0.1] +DEFAULT Mod_WakeDiam - Wake diameter calculation model (-) (switch) {1: rotor diameter, 2: velocity based, 3: mass-flux based, 4: momentum-flux based} or DEFAULT [DEFAULT=1] +DEFAULT C_WakeDiam - Calibrated parameter for wake diameter calculation (-) [>0.0 and <0.99] or DEFAULT [DEFAULT=0.95] [unused for Mod_WakeDiam=1] +DEFAULT Mod_Meander - Spatial filter model for wake meandering (-) (switch) {1: uniform, 2: truncated jinc, 3: windowed jinc} or DEFAULT [DEFAULT=3] +DEFAULT C_Meander - Calibrated parameter for wake meandering (-) [>=1.0] or DEFAULT [DEFAULT=1.9] +--- CURLED-WAKE PARAMETERS [only used if Mod_Wake=2 or 3] --- +DEFAULT Swirl - Switch to include swirl velocities in wake (-) (switch) [DEFAULT=TRUE] +DEFAULT k_VortexDecay - Vortex decay constant for curl (-) [DEFAULT=0.0001] +DEFAULT NumVortices - The number of vortices in the curled wake model (-) [DEFAULT=100] +DEFAULT sigma_D - The width of the vortices in the curled wake model non-dimesionalized by rotor diameter (-) [DEFAULT=0.2] +DEFAULT FilterInit - Switch to filter the initial wake plane deficit and select the number of grid points for the filter {0: no filter, 1: filter of size 1} or DEFAULT [DEFAULT=1] [unused for Mod_Wake=1] (switch) +DEFAULT k_vCurl - Calibrated parameter for scaling the eddy viscosity in the curled-wake model (-) [>=0] or DEFAULT [DEFAULT=2.0 ] +DEFAULT Mod_Projection - Switch to select how the wake plane velocity is projected in AWAE {1: keep all components, 2: project against plane normal} or DEFAULT [DEFAULT=1: if Mod_Wake is 1 or 3, or DEFAULT=2: if Mod_Wake is 2] (switch) +--- WAKE-ADDED TURBULENCE --- +0 WAT - Switch between wake-added turbulence box options {0: no wake added turbulence, 1: predefined turbulence box, 2: user defined turbulence box} (switch) +"../WAT_MannBoxDB/FFDB_D100_512x512x64.u" WAT_BoxFile - Filepath to the file containing the u-component of the turbulence box (either predefined or user-defined) (quoted string) +512, 512, 64 WAT_NxNyNz - Number of points in the x, y, and z directions of the WAT_BoxFile [used only if WAT=2, derived value if WAT=1] (-) +5.0, 5.0, 5.0 WAT_DxDyDz - Distance (in meters) between points in the x, y, and z directions of the WAT_BoxFile [used only if WAT=2, derived value if WAT=1] (m) +default WAT_ScaleBox - Flag to scale the input turbulence box to zero mean and unit standard deviation at every node [DEFAULT=False] (flag) +default WAT_k_Def - Calibrated parameters for the influence of the maximum wake deficit on wake-added turbulence (set of 5 parameters: k_Def, FMin, DMin, DMax, Exp) (-) [>=0.0, >=0.0 and <=1.0, >=0.0, >DMin, >=0.0] or DEFAULT [DEFAULT=[0.6, 0.0, 0.0, 2.0, 1.0 ]] +default WAT_k_Grad - Calibrated parameters for the influence of the radial velocity gradient of the wake deficit on wake-added turbulence (set of 5 parameters: k_Grad, FMin, DMin, DMax, Exp) (-) [>=0.0, >=0.0 and <=1.0, >=0.0, >DMin, >=0.0] or DEFAULT [DEFAULT=[3.0, 0.0, 0.0, 12.0, 0.65] +--- VISUALIZATION --- +True WrDisWind - Write low- and high-resolution disturbed wind data to .Low.Dis.t.vtk etc.? (flag) +0 NOutDisWindXY - Number of XY planes for output of disturbed wind data across the low-resolution domain to .Low.DisXY.t.vtk (-) [0 to 999] +90.0 OutDisWindZ - Z coordinates of XY planes for output of disturbed wind data across the low-resolution domain (m) [1 to NOutDisWindXY] [unused for NOutDisWindXY=0] +0 NOutDisWindYZ - Number of YZ planes for output of disturbed wind data across the low-resolution domain to /Low.DisYZ.t.vtk (-) [0 to 999] +1126,1189 OutDisWindX - X coordinates of YZ planes for output of disturbed wind data across the low-resolution domain (m) [1 to NOutDisWindYZ] [unused for NOutDisWindYZ=0] +0 NOutDisWindXZ - Number of XZ planes for output of disturbed wind data across the low-resolution domain to /Low.DisXZ.t.vtk (-) [0 to 999] +1000.0 OutDisWindY - Y coordinates of XZ planes for output of disturbed wind data across the low-resolution domain (m) [1 to NOutDisWindXZ] [unused for NOutDisWindXZ=0] +3.0 WrDisDT - Time step for disturbed wind visualization output (s) [>0.0] or DEFAULT [DEFAULT=DT_Low or DT_Low-VTK] [unused for WrDisWind=False and NOutDisWindXY=NOutDisWindYZ=NOutDisWindXZ=0] +--- OUTPUT --- +False SumPrint - Print summary data to .sum? (flag) +99999.9 ChkptTime - Amount of time between creating checkpoint files for potential restart (s) [>0.0] +0.0 TStart - Time to begin tabular output (s) [>=0.0] +1 OutFileFmt - Format for tabular (time-marching) output file (switch) {1: text file [.out], 2: binary file [.outb], 3: both} +True TabDelim - Use tab delimiters in text tabular output file? (flag) {uses spaces if False} +"ES10.3E2" OutFmt - Format used for text tabular output, excluding the time channel. Resulting field should be 10 characters. (quoted string) +DEFAULT OutAllPlanes - Output all wake planes at all time steps. [DEFAULT=False] +7 NOutRadii - Number of radial nodes for wake output for an individual rotor (-) [0 to 20] +0, 2, 5, 11, 17, 21, 39 OutRadii - List of radial nodes for wake output for an individual rotor (-) [1 to NOutRadii] [unused for NOutRadii=0] +2 NOutDist - Number of downstream distances for wake output for an individual rotor (-) [0 to 9 ] +126.0, 189.0 OutDist - List of downstream distances for wake output for an individual rotor (m) [1 to NOutDist ] [unused for NOutDist =0] +1 NWindVel - Number of points for wind output (-) [0 to 9] +1000.0 WindVelX - List of coordinates in the X direction for wind output (m) [1 to NWindVel] [unused for NWindVel=0] +1000.0 WindVelY - List of coordinates in the Y direction for wind output (m) [1 to NWindVel] [unused for NWindVel=0] +90.0 WindVelZ - List of coordinates in the Z direction for wind output (m) [1 to NWindVel] [unused for NWindVel=0] + OutList - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels (quoted string) +"W1VAmbx" +"RtVRelT1" +"YawErrT1" +"TIAmbT1" +"CtT1N02 , CtT1N03 , CtT1N04 , CtT1N05 , CtT1N06" +"WkAxsXT1D1 , WkAxsXT1D2" +"WkAxsYT1D1 , WkAxsYT1D2" +"WkAxsZT1D1 , WkAxsZT1D2" +"WkPosXT1D1 , WkPosXT1D2" +"WkPosYT1D1 , WkPosYT1D2" +"WkPosZT1D1 , WkPosZT1D2" +"WkDfVxT1N01D1, WkDfVxT1N02D1, WkDfVxT1N03D1, WkDfVxT1N04D1, WkDfVxT1N05D1, WkDfVxT1N06D1, WkDfVxT1N07D1" +"WkDfVxT1N01D2, WkDfVxT1N02D2, WkDfVxT1N03D2, WkDfVxT1N04D2, WkDfVxT1N05D2, WkDfVxT1N06D2, WkDfVxT1N07D2" +"WkDfVrT1N01D1, WkDfVrT1N02D1, WkDfVrT1N03D1, WkDfVrT1N04D1, WkDfVrT1N05D1, WkDfVrT1N06D1, WkDfVrT1N07D1" +"WkDfVrT1N01D2, WkDfVrT1N02D2, WkDfVrT1N03D2, WkDfVrT1N04D2, WkDfVrT1N05D2, WkDfVrT1N06D2, WkDfVrT1N07D2" +END of input file (the word "END" must appear in the first 3 columns of this last OutList line) diff --git a/openfast_toolbox/fastfarm/fastfarm.py b/openfast_toolbox/fastfarm/fastfarm.py index 28a8071..ffc3175 100644 --- a/openfast_toolbox/fastfarm/fastfarm.py +++ b/openfast_toolbox/fastfarm/fastfarm.py @@ -1,11 +1,17 @@ +import matplotlib.pyplot as plt import os import glob import numpy as np import pandas as pd + from openfast_toolbox.io.fast_input_file import FASTInputFile from openfast_toolbox.io.fast_output_file import FASTOutputFile +from openfast_toolbox.io.fast_input_deck import FASTInputDeck from openfast_toolbox.io.turbsim_file import TurbSimFile import openfast_toolbox.postpro as fastlib +from openfast_toolbox.tools.strings import INFO, FAIL, OK, WARN, print_bold +from openfast_toolbox.tools.grids import BoundingBox, RegularGrid +from openfast_toolbox.modules.elastodyn import rotor_disk_points # --------------------------------------------------------------------------------} # --- Small helper functions @@ -400,117 +406,222 @@ def setFastFarmOutputs(fastFarmFile, OutListT1): fst['OutList']=OutList fst.write(fastFarmFile) +def defaultOutRadii(dr, nr, R): + """ + Finds OutRadii with good resolution at root and tip + - dr = NumRadii + OUTPUTS: + - OutRadii + """ + r_plane = dr * np.arange(nr) # TODO, check + R = R*1.1 # Account for some expansion + R0 = 0; + R1 = R*0.25 + R2 = R*0.75 + R3 = R*1.5 + R4 = min(2.5*R, r_plane[-1]) + r1 = np.linspace(R0 , R1, 4) + r2 = np.linspace(r1[-1], R2, 6) + r3 = np.linspace(r2[-1], R3, 7) + r4 = np.linspace(r3[-1], R4, 4) + r_out = np.unique(np.concatenate((r1,r2,r3,r4))) + ir_out_all = np.unique(np.round(r_out/dr).astype(int)) + if len(ir_out_all)<20: + r1 = np.linspace(R0 , R1, 5) + r2 = np.linspace(r1[-1], R2, 7) + r3 = np.linspace(r2[-1], R3, 8) + r4 = np.linspace(r3[-1], R4, 5) + r_out = np.unique(np.concatenate((r1,r2,r3,r4))) + ir_out_all = np.unique(np.round(r_out/dr).astype(int)) + + ir_out = ir_out_all[:20] + ir_out[-1] = ir_out_all[-1] + r_out = ir_out * dr + ir_out +=1 # Fortran is 1 based + return list(ir_out), r_out + +def printWT(fstf): + """ Print the table of wind turbines within the FAST.Farm input file""" + from openfast_toolbox.tools.strings import prettyMat + print('Col: X Y Z FST X0_High Y0_High Z0_High dX_High dY_High dZ_High') + print('Id : 0'+''.join([f"{x:10}" for x in range(1,10)])) + WT = fstf['WindTurbines'].copy() + for iwt in range(len(WT)): + s= WT[iwt,3].strip('"') + s='/long/path/to/WT.fst' + if len(s)>10: + s = s[:4]+'[...]' + s='{:9s}'.format(s) + WT[iwt,3]= s + WT[iwt,3]= np.nan + print(prettyMat(WT, sindent=' ', center0=False, nchar=9, digits=4)) + #print('WindTurbine Array:\n', fstf['WindTurbines']) + + +def col(i): + """ Colors""" + Colrs=plt.rcParams['axes.prop_cycle'].by_key()['color'] + return Colrs[ np.mod(i,len(Colrs)) ] + + + +def plotFastFarmWTs(wts, fig=None, figsize=(13,5)): + if fig is None: + fig = plt.figure(figsize=figsize) + ax = fig.add_subplot(111,aspect="equal") + + Dmax = -100 + for iwt, (k,wt) in enumerate(wts.items()): + name = wt['name'] if 'name' in wt else "WT{}".format(iwt+1) + ax.plot(wt['x'], wt['y'], 'o', ms=8, mew=2, c=col(iwt), label=name) + if 'D' in wt: + Dmax = max(Dmax, wt['D']) + ax.plot([wt['x'], wt['x']], [wt['y']-wt['D']/2,wt['y']+wt['D']/2], '-', lw=2, c=col(iwt)) + xmin, xmax = ax.get_xlim() + ymin, ymax = ax.get_ylim() + + D = np.abs(Dmax) + ax.set_xlim(xmin - D, xmax + D) + ax.set_ylim(ymin - D, ymax + D) + ax.legend() + ax.grid(ls=':', lw=0.5) + ax.set_xlabel("x [m]") + ax.set_ylabel("y [m]") + fig.tight_layout -def plotFastFarmSetup(fastFarmFile, grid=True, fig=None, D=None, plane='XY', hubHeight=None, showLegend=True): - """ """ - import matplotlib.pyplot as plt + return fig - def col(i): - Colrs=plt.rcParams['axes.prop_cycle'].by_key()['color'] - return Colrs[ np.mod(i,len(Colrs)) ] - def boundingBox(x, y): - """ return x and y coordinates to form a box marked by the min and max of x and y""" - x_bound = [x[0],x[-1],x[-1],x[0] ,x[0]] - y_bound = [y[0],y[0] ,y[-1],y[-1],y[0]] - return x_bound, y_bound +def plotFastFarmSetup(ff, grid=True, fig=None, D=None, plane=None, hubHeight=None, showLegend=True, figsize=(13.5,8)): + """ + Plot a FAST.Farm setup. + INPUTS: + - ff: may have different type: + - a string indicating the fastFarm input file + - a FASTInputFile object, containing a FASTFarm file + - a dict of wts + - an object of FASTFarmCaseCreation + - plane: if None, plots a figure in all three planes, otherwise plane in ['XY','YZ','XY'] + """ + from openfast_toolbox.fastfarm.FASTFarmCaseCreation import FFCaseCreation + + # --- accept differnt kind of inputs + if isinstance(ff, str): + # --- Read FAST.Farm input file + fst=FASTInputFile(ff) + elif isinstance(ff, FASTInputFile): + fst = ff + elif isinstance(ff, FFCaseCreation): + ffcase = fastfarm_input + return + elif isinstance(ff, dict): + if 'x' in ff[list(ff.keys())[0]].keys(): + return plotFastFarmWTs(ff, figsize=figsize) + else: + raise NotImplementedError('Unsopported input type for argument ff') + + + parentDir = os.path.dirname(fst.filename) + + + # --- Getting geometry + WT = fst['WindTurbines'] + + # Creating low and high res grid objects + if fst['Mod_AmbWind'] in [2, 3]: + x_low = fst['X0_Low'] + np.arange(fst['NX_Low'])*fst['DX_Low'] + y_low = fst['Y0_Low'] + np.arange(fst['NY_Low'])*fst['DY_Low'] + z_low = fst['Z0_Low'] + np.arange(fst['NZ_Low'])*fst['DZ_Low'] + low = RegularGrid(x0=fst['X0_Low'], nx=fst['NX_Low'], dx=fst['DX_Low'], + y0=fst['Y0_Low'], ny=fst['NY_Low'], dy=fst['DY_Low'], + z0=fst['Z0_Low'], nz=fst['NZ_Low'], dz=fst['DZ_Low']) + X0_DX = WT[:,4:].astype(float) + high = [] + for iwt in range(len(WT)): + high.append(RegularGrid(x0=X0_DX[iwt,0], nx=fst['NX_High'], dx=X0_DX[iwt,3], + y0=X0_DX[iwt,1], ny=fst['NY_High'], dy=X0_DX[iwt,4], + z0=X0_DX[iwt,2], nz=fst['NZ_High'], dz=X0_DX[iwt,5])) + if not low.contains_grid(high[iwt]): + FAIL(f'plotFastFarmSetup: Bounding box of high-res grid for turbine {iwt+1} not fully contained in low-res grid.') + + # Getting turbine locations and disk points + disk_points = [None]*len(WT) + pWT = np.zeros((len(WT), 3)) + pHub = np.zeros((len(WT), 3)) + for iwt in range(len(WT)): + pWT[iwt] = [float(WT[iwt,0]), float(WT[iwt,1]), 0 ] # Turbine coordinates + + # --- See if we can get more information from the turbine + fstFile = os.path.join(parentDir, WT[iwt,3].strip('"')) + if not os.path.exists(fstFile): + WARN('Unable to read OpenFAST file {fstFile}, drawing will be approximate.') + try: + # Get dimensions and disk points from ElastoDyn + dck = FASTInputDeck(fstFile, readlist=['ED']) + ED = dck.fst_vt['ElastoDyn'] + pHub[iwt], disk_points[iwt] = rotor_disk_points(ED, nP=30, origin=pWT[iwt]) + bbTurb = BoundingBox(disk_points[iwt][0,:], disk_points[iwt][1,:], disk_points[iwt][2,:]) + if not high[iwt].contains_bb(bbTurb): + FAIL(f'plotFastFarmSetup: Bounding box of rotor for turbine {iwt+1} not fully contained in high-res grid') + except: + WARN('Unable to read ElastoDyn file, disk points will be approximate.') + if disk_points[iwt] is None: + if D is None and hubHeight is None: + WARN('hubHeight and D not provided, unable to draw rotor disk points') + D = np.nan + hubHeight = 0 + elif D is not None and hubHeight is None: + WARN('hubHeight is unknown, Assuming hubHeight=1.3 D.') + hubHeight=1.3*D + elif D is None and hubHeight is not None: + WARN('D is unknown, assuming D=0.7*hubHeight.') + D=0.7*hubHeight + theta = np.linspace(0,2*np.pi, 40) + pHub[iwt] = pWT[iwt] + pHub[iwt][2] += hubHeight + y = pHub[iwt][1] + D/2*np.cos(theta) + z = pHub[iwt][2] + D/2*np.sin(theta) + x = pHub[iwt][0] + y*0 + disk_points[iwt]=np.vstack([x,y,z]) + WARN('hubHeight is unknown, WT z position will be approximate.') + + # --- Plots + if plane is None: + planes = ['XY', 'XZ', 'YZ'] + else: + planes = [plane] + labels = ["x [m]", "y [m]", "z [m]"] + plane2I= {'XY':(0,1), 'YZ':(1,2), 'XZ':(0,2)} - # --- Read FAST.Farm input file - fst=FASTInputFile(fastFarmFile) + for plane in planes: + iX, iY = plane2I[plane] - if fig is None: - fig = plt.figure(figsize=(13.5,8)) + fig = plt.figure(figsize=figsize) ax = fig.add_subplot(111,aspect="equal") - WT=fst['WindTurbines'] - xWT = WT[:,0].astype(float) - yWT = WT[:,1].astype(float) - zWT = yWT*0 - if hubHeight is not None: - zWT += hubHeight - - if plane == 'XY': - pass - elif plane == 'XZ': - yWT = zWT - elif plane == 'YZ': - xWT = yWT - yWT = zWT - else: - raise Exception("Plane should be 'XY' 'XZ' or 'YZ'") - - if fst['Mod_AmbWind'] == 2: - x_low = fst['X0_Low'] + np.arange(fst['NX_Low']+1)*fst['DX_Low'] - y_low = fst['Y0_Low'] + np.arange(fst['NY_Low']+1)*fst['DY_Low'] - z_low = fst['Z0_Low'] + np.arange(fst['NZ_Low']+1)*fst['DZ_Low'] - if plane == 'XZ': - y_low = z_low - elif plane == 'YZ': - x_low = y_low - y_low = z_low - # Plot low-res box - x_bound_low, y_bound_low = boundingBox(x_low, y_low) - ax.plot(x_bound_low, y_bound_low ,'--k',lw=2,label='Low-res') - # Plot Low res grid lines - if grid: - ax.vlines(x_low, ymin=y_low[0], ymax=y_low[-1], ls='-', lw=0.3, color=(0.3,0.3,0.3)) - ax.hlines(y_low, xmin=x_low[0], xmax=x_low[-1], ls='-', lw=0.3, color=(0.3,0.3,0.3)) - - X0_High = WT[:,4].astype(float) - Y0_High = WT[:,5].astype(float) - Z0_High = WT[:,6].astype(float) - dX_High = WT[:,7].astype(float)[0] - dY_High = WT[:,8].astype(float)[0] - dZ_High = WT[:,9].astype(float)[0] - nX_High = fst['NX_High'] - nY_High = fst['NY_High'] - nZ_High = fst['NZ_High'] - - # high-res boxes - for wt in range(len(xWT)): - x_high = X0_High[wt] + np.arange(nX_High+1)*dX_High - y_high = Y0_High[wt] + np.arange(nY_High+1)*dY_High - z_high = Z0_High[wt] + np.arange(nZ_High+1)*dZ_High - if plane == 'XZ': - y_high = z_high - elif plane == 'YZ': - x_high = y_high - y_high = z_high - - x_bound_high, y_bound_high = boundingBox(x_high, y_high) - ax.plot(x_bound_high, y_bound_high, '-', lw=2, c=col(wt)) - # Plot High res grid lines - if grid: - ax.vlines(x_high, ymin=y_high[0], ymax=y_high[-1], ls='--', lw=0.4, color=col(wt)) - ax.hlines(y_high, xmin=x_high[0], xmax=x_high[-1], ls='--', lw=0.4, color=col(wt)) - - # Plot turbines - for wt in range(len(xWT)): - ax.plot(xWT[wt], yWT[wt], 'x', ms=8, mew=2, c=col(wt),label="WT{}".format(wt+1)) - if plane=='XY' and D is not None: - ax.plot([xWT[wt],xWT[wt]], [yWT[wt]-D/2,yWT[wt]+D/2], '-', lw=2, c=col(wt)) - elif plane=='XZ' and D is not None and hubHeight is not None: - ax.plot([xWT[wt],xWT[wt]], [yWT[wt]-D/2,yWT[wt]+D/2], '-', lw=2, c=col(wt)) - elif plane=='YZ' and D is not None and hubHeight is not None: - theta = np.linspace(0,2*np.pi, 40) - x = xWT[wt] + D/2*np.cos(theta) - y = yWT[wt] + D/2*np.sin(theta) - ax.plot(x, y, '-', lw=2, c=col(wt)) - - #plt.legend(bbox_to_anchor=(1.05,1.015),frameon=False) - if showLegend: - ax.legend() - if plane=='XY': - ax.set_xlabel("x [m]") - ax.set_ylabel("y [m]") - elif plane=='XZ': - ax.set_xlabel("x [m]") - ax.set_ylabel("z [m]") - elif plane=='YZ': - ax.set_xlabel("y [m]") - ax.set_ylabel("z [m]") - fig.tight_layout - # fig.savefig('FFarmLayout.pdf',bbox_to_inches='tight',dpi=500) + # --- Plot Low and High res + if fst['Mod_AmbWind'] in [2, 3]: + # Plot low-res box + optsBB = dict(ls='--', lw=2, color='k', label='Low-res') + optsGd = dict(ls='-', lw=0.3, color=(0.3,0.3,0.3)) + low.plot(ax, plane=plane, grid=grid, optsBB=optsBB, optsGd=optsGd) + for iwt in range(len(WT)): + # high-res boxes + optsBB = dict(ls='-', lw=2 , color=col(iwt)) + optsGd = dict(ls='--', lw=0.4, color=col(iwt)) + high[iwt].plot(ax, plane=plane, grid=grid, optsBB=optsBB, optsGd=optsGd) + # --- Plot Turbine location and disc area + for iwt in range(len(WT)): + ax.plot(pWT[iwt][iX], pWT[iwt][iY], 'x', ms=8, mew=2, c=col(iwt),label="WT{}".format(iwt+1)) + ax.plot(pHub[iwt][iX], pHub[iwt][iY], 'o', ms=8, mew=2, c=col(iwt)) + if disk_points[iwt] is not None: + ax.fill(disk_points[iwt][iX, :], disk_points[iwt][iY, :], facecolor=col(iwt), alpha=0.3, edgecolor=col(iwt), linewidth=2) + ax.plot(disk_points[iwt][iX, :], disk_points[iwt][iY, :], '-', c=col(iwt), linewidth=2) + if showLegend: + ax.legend() + ax.set_xlabel(labels[iX]) + ax.set_ylabel(labels[iY]) + fig.tight_layout return fig @@ -654,3 +765,35 @@ def spanwisePostProFF(fastfarm_input,avgMethod='constantwindow',avgParam=30,D=1, dfDiam['i/n_[-]'] = np.arange(nDMax)/nDMax return dfRad, dfRadialTime, dfDiam +if __name__ == '__main__': + import numpy as np + import matplotlib.pyplot as plt + from mpl_toolkits.mplot3d import Axes3D + + #plotFastFarmSetup('../../template/FF.fstf') + + +# # --- Test --- +# # some arbitrary cloud of points +# np.random.seed(0) +# x = np.random.randn(30) +# y = np.random.randn(30) +# z = np.random.randn(30) +# +# # get bounding box line coords +# points = boundingBox_points_3D(x, y, z) +# +# # plot +# fig = plt.figure() +# ax = fig.add_subplot(111, projection='3d') +# +# # scatter points +# ax.scatter(x, y, z, c='b', marker='o') +# +# # bounding box edges +# ax.plot(points[:,0], points[:,1], points[:,2], 'r-', lw=2) +# +# ax.set_xlabel('X') +# ax.set_ylabel('Y') +# ax.set_zlabel('Z') +# plt.show() diff --git a/openfast_toolbox/fastfarm/postpro/ff_postpro.py b/openfast_toolbox/fastfarm/postpro/ff_postpro.py index bf7c7af..78e2b4c 100644 --- a/openfast_toolbox/fastfarm/postpro/ff_postpro.py +++ b/openfast_toolbox/fastfarm/postpro/ff_postpro.py @@ -13,6 +13,19 @@ def _get_fstf_filename(caseobj): else: return 'FFarm_mod' +def _getCasePath(caseobj, cond, case): + try: + return caseobj.getCasePath(cond, case) + except: + print('>>> get CasePath failed') + return os.path.join(caseobj.path, caseobj.condDirList[cond], caseobj.caseDirList[case]) + +def _getCaseSeedPath(caseobj, cond, case, seed): + try: + return caseobj.getCaseSeedPath(cond, case, seed) + except: + print('>>> get CaseSeedPath failed') + return os.path.join(caseobj.path, caseobj.condDirList[cond], caseobj.caseDirList[case], f'Seed_{seed}') def readTurbineOutputPar(caseobj, dt_openfast, dt_processing, saveOutput=True, output='zarr', iCondition=0, fCondition=-1, iCase=0, fCase=-1, iSeed=0, fSeed=-1, iTurbine=0, fTurbine=-1, @@ -190,8 +203,12 @@ def readTurbineOutput(caseobj, dt_openfast, dt_processing=1, saveOutput=True, ou # Read or process turbine output if os.path.isdir(outputzarr) or os.path.isfile(outputnc): # Data already processed. Reading output - if output == 'zarr': turbs = xr.open_zarr(outputzarr) - elif output == 'nc': turbs = xr.open_dataset(outputnc) + if output == 'zarr': + print(f'Output file {outputzarr} exists. Loading it.') + turbs = xr.open_zarr(outputzarr) + elif output == 'nc': + print(f'Output file {outputnc} exists. Loading it.') + turbs = xr.open_dataset(outputnc) else: print(f'{outfilename}.{output} does not exist. Reading output data...') # Processed data not saved. Reading it @@ -206,7 +223,7 @@ def readTurbineOutput(caseobj, dt_openfast, dt_processing=1, saveOutput=True, ou turbs_t=[] for t in np.arange(iTurbine, fTurbine, 1): print(f'Processing Condition {cond}, Case {case}, Seed {seed}, turbine {t+1}') - ff_file = os.path.join(caseobj.path, caseobj.condDirList[cond], caseobj.caseDirList[case], f'Seed_{seed}', f'{_get_fstf_filename(caseobj)}.T{t+1}.outb') + ff_file = os.path.join(_getCaseSeedPath(caseobj, cond, case, seed), f'{_get_fstf_filename(caseobj)}.T{t+1}.outb') df = FASTOutputFile(ff_file).toDataFrame() # Won't be able to send to xarray if columns are non-unique if not df.columns.is_unique: @@ -465,7 +482,7 @@ def readFFPlanes(caseobj, slicesToRead=['x','y','z'], verbose=False, saveOutput= for case in np.arange(iCase, fCase, 1): Slices_seed = [] for seed in np.arange(iSeed, fSeed, 1): - seedPath = os.path.join(caseobj.path, caseobj.condDirList[cond], caseobj.caseDirList[case], f'Seed_{seed}') + seedPath = _getCaseSeedPath(caseobj, cond, case, seed) # Read FAST.Farm input to determine outputs ff_file = FASTInputFile(os.path.join(seedPath,f'{_get_fstf_filename(caseobj)}.fstf')) diff --git a/openfast_toolbox/fastfarm/tests/test_turbsimExtent.py b/openfast_toolbox/fastfarm/tests/test_turbsimExtent.py index b47ad19..b1fab2e 100644 --- a/openfast_toolbox/fastfarm/tests/test_turbsimExtent.py +++ b/openfast_toolbox/fastfarm/tests/test_turbsimExtent.py @@ -54,7 +54,7 @@ def test_box_extent(self): np.testing.assert_almost_equal(FFTS['Y0_High'] , [-48 , 2 ], 5) # --- Write Fast Farm file with layout and Low and High res extent - templateFSTF = os.path.join(MyDir, '../examples/SampleFiles/TestCase.fstf') # template file used for FastFarm input file, need to exist + templateFSTF = os.path.join(MyDir, '../examples/SampleFiles/FF_ForInitialDebug.fstf') # template file used for FastFarm input file, need to exist outputFSTF = os.path.join(MyDir, '../examples/SampleFiles/_TestCase_mod.fstf') # new file that will be written writeFastFarm(outputFSTF, templateFSTF, xWT, yWT, zWT, FFTS=FFTS) #import matplotlib.pyplot as plt diff --git a/openfast_toolbox/io/fast_input_deck.py b/openfast_toolbox/io/fast_input_deck.py index 9228652..069202c 100644 --- a/openfast_toolbox/io/fast_input_deck.py +++ b/openfast_toolbox/io/fast_input_deck.py @@ -12,13 +12,17 @@ class FASTInputDeck(dict): """Container for input files that make up a FAST input deck""" + @property + def readlist_default(self): + return ['Fst','ED','SED','AD','ADdsk', 'BD','BDbld','EDtwr','EDbld','ADbld','AF','AC','OLAF','IW','HD','SeaSt','SrvD','SrvDdll','SrvDini', 'SD','MD'] + def __init__(self, fullFstPath='', readlist=['all'], verbose=False): """Read FAST master file and read inputs for FAST modules INPUTS: - fullFstPath: - readlist: list of module files to be read, or ['all'], modules are identified as follows: - ['Fst','ED','AD','BD','BDbld','EDtwr','EDbld','ADbld','AF','AC','IW','HD','SrvD','SD','MD'] + ['Fst','ED','AD','BD','BDbld','EDtwr','EDbld','ADbld','AF','AC','OLAF','IW','HD','SrvD','SD','MD'] where: AF: airfoil polars AC: airfoil coordinates (if present) @@ -36,7 +40,7 @@ def __init__(self, fullFstPath='', readlist=['all'], verbose=False): if not type(self.readlist) is list: self.readlist=[readlist] if 'all' in self.readlist: - self.readlist = ['Fst','ED','AD','BD','BDbld','EDtwr','EDbld','ADbld','AF','AC','IW','HD','SrvD','SD','MD'] + self.readlist = self.readlist_default else: self.readlist = ['Fst']+self.readlist @@ -89,9 +93,9 @@ def ED(self): return ED - def readAD(self, filename=None, readlist=None, verbose=False, key='AeroDyn15'): + def readAD(self, filename=None, readlist=None, verbose=False, key='AeroDyn15', key_short='AD'): """ - readlist: 'AD','AF','AC' + readlist: 'AD','AF','AC','OLAF' """ if readlist is not None: readlist_bkp = self.readlist @@ -99,7 +103,7 @@ def readAD(self, filename=None, readlist=None, verbose=False, key='AeroDyn15'): if not type(self.readlist) is list: self.readlist=[readlist] if 'all' in self.readlist: - self.readlist = ['Fst','ED','AD','BD','BDbld','EDtwr','EDbld','ADbld','AF','AC','IW','HD','SrvD','SD','MD'] + self.readlist = self.readlist_default if filename is None: filename = self.fst_vt['Fst']['AeroFile'] @@ -109,30 +113,49 @@ def readAD(self, filename=None, readlist=None, verbose=False, key='AeroDyn15'): self.verbose = verbose - self.fst_vt[key] = self._read(filename,'AD') + # AD + AD = self._read(filename, key_short) + self.fst_vt[key] = AD + + if AD is not None: + # ADbld - AeroDyn Blades + #bld_file = os.path.join(baseDir, AD['ADBlFile(1)']) + #self.fst_vt['AeroDynBlade'] = self._read(bld_file,'ADbld') + for i in range(10): + try: + AD['ADBlFile({})'.format(i+1)] + except KeyError: + nBlades = i + break + self.fst_vt['AeroDynBlade'] = [] + for i in range(nBlades): + bld_file = os.path.join(baseDir, self.fst_vt[key]['ADBlFile({})'.format(i+1)]) + self.fst_vt['AeroDynBlade'].append(self._read(bld_file,'ADbld')) + # OLAF + hasOLAF = False + if 'WakeMod' in AD: + hasOLAF = AD['Wake_Mod']==3 + elif 'WakeMod' in AD: + hasOLAF = AD['WakeMod']==3 + if hasOLAF: + self.fst_vt['OLAF'] = self._read(AD['OLAFInputFileName'], 'OLAF') - if self.fst_vt[key] is not None: - # Blades - bld_file = os.path.join(baseDir, self.fst_vt[key]['ADBlFile(1)']) - self.fst_vt['AeroDynBlade'] = self._read(bld_file,'ADbld') - #self.fst_vt['AeroDynBlade'] = [] - #for i in range(3): - # bld_file = os.path.join(os.path.dirname(self.fst_vt['Fst']['AeroFile']), self.fst_vt[key]['ADBlFile({})'.format(i+1)]) - # self.fst_vt['AeroDynBlade'].append(self._read(bld_file,'ADbld')) # Polars self.fst_vt['af_data']=[] # TODO add to "AeroDyn" for afi, af_filename in enumerate(self.fst_vt['AeroDyn15']['AFNames']): - af_filename = os.path.join(baseDir,af_filename).replace('"','') + af_filename = clean_path(os.path.join(baseDir, af_filename)) + # AF - Airfoil file try: polar = self._read(af_filename, 'AF') except: polar=None print('[FAIL] reading polar {}'.format(af_filename)) self.fst_vt['af_data'].append(polar) + # AC - Airfoil coordinates if polar is not None: coordFile = polar['NumCoords'] if isinstance(coordFile,str): - coordFile = coordFile.replace('"','') + coordFile = clean_path(coordFile) baseDirCoord=os.path.dirname(af_filename) if coordFile[0]=='@': ac_filename = os.path.join(baseDirCoord,coordFile[1:]) @@ -140,7 +163,7 @@ def readAD(self, filename=None, readlist=None, verbose=False, key='AeroDyn15'): self.fst_vt['ac_data'].append(coords) # --- Backward compatibility - self.AD = self.fst_vt[key] + self.AD = AD self.ADversion='AD15' if key=='AeroDyn15' else 'AD14' if readlist is not None: @@ -165,15 +188,15 @@ def inputFiles(self): def _relpath(self, k1, k2=None, k3=None): try: if k2 is None: - return self.fst_vt['Fst'][k1].replace('"','') + return clean_path(self.fst_vt['Fst'][k1]) else: - parent = os.path.dirname(self.fst_vt['Fst'][k1]).replace('"','') + parent = clean_path(os.path.dirname(self.fst_vt['Fst'][k1])) if type(k3)==list: for k in k3: if k in self.fst_vt[k2].keys(): - child = self.fst_vt[k2][k].replace('"','') + child = clean_path(self.fst_vt[k2][k]) else: - child = self.fst_vt[k2][k3].replace('"','') + child = clean_path(self.fst_vt[k2][k3]) return os.path.join(parent, child) except: return 'none' @@ -194,7 +217,7 @@ def ED_bld_path(self): return self._fullpath(self._relpath('EDFile','ElastoDyn', def _fullpath(self, relfilepath): - relfilepath = relfilepath.replace('"','') + relfilepath = clean_path(relfilepath) basename = os.path.basename(relfilepath) if basename.lower() in self.unusedNames: return 'none' @@ -227,7 +250,6 @@ def read(self, filename=None): else: self.version='F7' - if self.version=='AD_driver': # ---- AD Driver # InflowWind @@ -252,7 +274,10 @@ def read(self, filename=None): # ---- Regular OpenFAST file # ElastoDyn if 'EDFile' in self.fst_vt['Fst'].keys(): - self.fst_vt['ElastoDyn'] = self._read(self.fst_vt['Fst']['EDFile'],'ED') + if self.fst_vt['Fst']['CompElast']==3: + self.fst_vt['ElastoDyn'] = self._read(self.fst_vt['Fst']['EDFile'],'SED') + else: + self.fst_vt['ElastoDyn'] = self._read(self.fst_vt['Fst']['EDFile'],'ED') if self.fst_vt['ElastoDyn'] is not None: twr_file = self.ED_twr_path bld_file = self.ED_bld_path @@ -265,18 +290,34 @@ def read(self, filename=None): # AeroDyn if self.fst_vt['Fst']['CompAero']>0: - key = 'AeroDyn14' if self.fst_vt['Fst']['CompAero']==1 else 'AeroDyn15' - self.readAD(key=key, readlist=self.readlist) + # key = 'AeroDyn14' if self.fst_vt['Fst']['CompAero']==1 else 'AeroDyn15' + key = 'AeroDyn15' + key_short = 'AD' + if self.fst_vt['Fst']['CompAero']==1: + key_short = 'ADdsk' + self.readAD(key=key, readlist=self.readlist, key_short=key_short) # ServoDyn if self.fst_vt['Fst']['CompServo']>0: self.fst_vt['ServoDyn'] = self._read(self.fst_vt['Fst']['ServoFile'],'SrvD') - # TODO Discon + if self.fst_vt['ServoDyn'] is not None: + dll_file = clean_path(os.path.join(os.path.dirname(self.inputFilesRead['SrvD']), self.fst_vt['ServoDyn']['DLL_FileName'])) + ini_file = clean_path(os.path.join(os.path.dirname(self.inputFilesRead['SrvD']), self.fst_vt['ServoDyn']['DLL_InFile'])) + if 'SrvDdll' in self.readlist: + self.inputFilesRead['SrvDdll'] = dll_file + if 'SrvDini' in self.readlist: + self.inputFilesRead['SrvDini'] = ini_file + # TODO Actually read them... # HydroDyn - if self.fst_vt['Fst']['CompHydro']== 1: + if self.fst_vt['Fst']['CompHydro']>0: self.fst_vt['HydroDyn'] = self._read(self.fst_vt['Fst']['HydroFile'],'HD') + # SeaState + if 'CompSeaSt' in self.fst_vt['Fst']: + if self.fst_vt['Fst']['CompSeaSt']>0: + self.fst_vt['SeaState'] = self._read(self.fst_vt['Fst']['SeaStFile'],'SeaSt') + # SubDyn if self.fst_vt['Fst']['CompSub'] == 1: self.fst_vt['SubDyn'] = self._read(self.fst_vt['Fst']['SubFile'], 'SD') @@ -301,7 +342,7 @@ def read(self, filename=None): if not hasattr(self,'AD'): self.AD = None if self.AD is not None: - self.AD.Bld1 = self.fst_vt['AeroDynBlade'] + self.AD.Bld1 = self.fst_vt['AeroDynBlade'][0] self.AD.AF = self.fst_vt['af_data'] self.IW = self.fst_vt['InflowWind'] self.BD = self.fst_vt['BeamDyn'] @@ -314,7 +355,7 @@ def unusedNames(self): def _read(self, relfilepath, shortkey): """ read any openfast input """ - relfilepath =relfilepath.replace('"','') + relfilepath =clean_path(relfilepath) basename = os.path.basename(relfilepath) # Only read what the user requested to be read @@ -472,6 +513,11 @@ def __repr__(self): s+='\n' return s +def clean_path(path): + path = path.replace('"','') + path = path.replace("\\", "/") + return path + if __name__ == "__main__": fst=FASTInputDeck('NREL5MW.fst') print(fst) diff --git a/openfast_toolbox/io/fast_input_file.py b/openfast_toolbox/io/fast_input_file.py index 99446d2..31e8b71 100644 --- a/openfast_toolbox/io/fast_input_file.py +++ b/openfast_toolbox/io/fast_input_file.py @@ -669,7 +669,11 @@ def _read(self, IComment=None): else: nTabLines = self[d['tabDimVar']] #print('Reading table {} Dimension {} (based on {})'.format(d['label'],nTabLines,d['tabDimVar'])); - d['value'], d['tabColumnNames'], d['tabUnits'] = parseFASTNumTable(self.filename,lines[i:i+nTabLines+nHeaders], nTabLines, i, nHeaders, tableType=tab_type, varNumLines=d['tabDimVar']) + try: + d['value'], d['tabColumnNames'], d['tabUnits'] = parseFASTNumTable(self.filename,lines[i:i+nTabLines+nHeaders], nTabLines, i, nHeaders, tableType=tab_type, varNumLines=d['tabDimVar']) + except: + import pdb; pdb.set_trace() + _, d['descr'] = splitAfterChar(lines[i], '!') i += nTabLines+nHeaders-1 @@ -845,7 +849,7 @@ def mat_tostring(M,fmt='24.16e'): if d['isComment']: s+='{}'.format(d['value']) elif d['tabType']==TABTYPE_NOT_A_TAB: - if isinstance(d['value'], list): + if isinstance(d['value'], list) or isinstance(d['value'],np.ndarray): sList=', '.join([str(x) for x in d['value']]) s+=toStringVLD(sList, d['label'], d['descr']) else: @@ -981,6 +985,13 @@ def _toDataFrame(self): Cols = Cols + ShapeCols name=d['label'] + if 'AFCoeff' in name: + if '_' in name: + i = int(name.split('_')[1]) + Re = self['Re_'+str(i)] + else: + Re = self['Re'] + name = 'AFCoeff_Re{:.2f}'.format(Re) if name=='DampingCoeffs': pass @@ -1868,6 +1879,44 @@ def _toDataFrame(self): @property def _IComment(self): return [1] + def resample(self, n=10, r=None): + def multiInterp(x, xp, fp, extrap='bounded'): + """ See welib.tools.signal_analysis """ + x = np.asarray(x) + xp = np.asarray(xp) + j = np.searchsorted(xp, x, 'left') - 1 + dd = np.zeros(len(x)) #*np.nan + bOK = np.logical_and(j>=0, j< len(xp)-1) + jOK = j[bOK] + dd[bOK] = (x[bOK] - xp[jOK]) / (xp[jOK + 1] - xp[jOK]) + jBef=j + jAft=j+1 + bLower =j<0 + bUpper =j>=len(xp)-1 + jAft[bUpper] = len(xp)-1 + jBef[bUpper] = len(xp)-1 + jAft[bLower] = 0 + jBef[bLower] = 0 + return (1 - dd) * fp[:,jBef] + fp[:,jAft] * dd + # current data + M_old= self['BldAeroNodes'] + r_old = M_old[:,0] + if r is None: + r_new = np.linspace(r_old[0], r_old[-1], n) + else: + r_new = r + M_new = multiInterp(r_new, r_old, M_old.T).T + # Handling precision, but keeping first and last value + M_new = np.around(M_new, 5) + if r_new[0]==r_old[0]: + M_new[0,:] = M_old[0,:] + if r_new[-1]==r_old[-1]: + M_new[-1,:] = M_old[-1,:] + M_new[:,6] = np.around(M_new[:,6],0).astype(int) + self['BldAeroNodes']=M_new + self['NumBlNds']=len(r_new) + return self + # --------------------------------------------------------------------------------} # --- AeroDyn Polar @@ -1985,16 +2034,22 @@ def _write(self): self.data[i]['label'] = labFull def _toDataFrame(self): + # --- We rely on parent class, it has an if statement for AFCoeff already... dfs = FASTInputFileBase._toDataFrame(self) if not isinstance(dfs, dict): dfs={'AFCoeff':dfs} - for k,df in dfs.items(): + # --- Adding more columns + for i,(k,df) in enumerate(dfs.items()): sp = k.split('_') - if len(sp)==2: - labOffset='_'+sp[1] + if len(dfs)>1: + labOffset='_'+str(i+1) else: labOffset='' + #if len(sp)==2: + # labOffset='_'+sp[1] + #else: + # labOffset='' alpha = df['Alpha_[deg]'].values*np.pi/180. Cl = df['Cl_[-]'].values Cd = df['Cd_[-]'].values @@ -2066,6 +2121,81 @@ def _IComment(self): return I + # --- Helper functions + @property + def reynolds(self): + return self.getAll('re') + + def getPolar(self, i): + if i not in range(0, self['NumTabs']): + raise IndexError('Index {} for Polar should be between 0 and {}'.format(i, self['NumTabs']-1)) + if self['NumTabs']==1: + return self[f'AFCoeff'].copy() + else: + return self[f'AFCoeff_{i+1}'].copy() + + def setPolar(self, i, M): + if i not in range(0, self['NumTabs']): + raise IndexError('Index {} for Polar should be between 0 and {}'.format(i, self['NumTabs']-1)) + if self['NumTabs']==1: + M_old = self[f'AFCoeff'] + else: + M_old = self[f'AFCoeff_{i+1}'] + if M_old.shape[1] != M.shape[1]: + # Actually, does it? + raise Exception('Number of columns must match previous data when setting a polar') + #self[f'AFCoeff_{i+1}']=M + if self['NumTabs']==1: + self[f'AFCoeff']=M + else: + ID = self.getID(f'AFCoeff_{i+1}') + self[f'NumAlf_{i+1}']=M.shape[0] + self.data[ID]['value']=M + + + def getAll(self, key): + """ + Examples: + pol.getAll('re') + """ + if self['NumTabs']==1: + return np.array([self[key]]) + else: + return np.array([self[key + f'_{i}'] for i in range(1, self['NumTabs']+1)]) + + def setAll(self, key, value=None, offset=None): + """ + Examples: + pol.setAll('T_f0', 6 ) + pol.setAll('alpha1', offset=+2 ) + pol.setAll('alpha2', offset=-2 ) + """ + if self['NumTabs']==1: + if value is not None: + self[f'{key}'] = value + if offset is not None: + self[f'{key}'] += offset + else: + for i in range(1, self['NumTabs']+1): + ID = self.getID(f'{key}_{i}') + if value is not None: + self.data[ID]['value'] = value + if offset is not None: + self.data[ID]['value']+= offset + + def calcUnsteadyParams(self): + from welib.airfoils.Polar import Polar + for i in range(1, self['NumTabs']+1): + offset=f'_{i}' if self['NumTabs']>1 else '' + M = self['AFCoeff'+offset] + pol = Polar(alpha=M[:,0], cl=M[:,1], cd=M[:,2], cm=M[:,3], radians=False, name=os.path.basename(self.filename)+f'_Table{i}') + d = pol.unsteadyParams(dictOut=True) + for k,v in d.items(): + self[k+offset] = v + + + + # --------------------------------------------------------------------------------} # --- ExtPtfm # --------------------------------------------------------------------------------{ diff --git a/openfast_toolbox/io/rosco_discon_file.py b/openfast_toolbox/io/rosco_discon_file.py index b7f2891..d17f34b 100644 --- a/openfast_toolbox/io/rosco_discon_file.py +++ b/openfast_toolbox/io/rosco_discon_file.py @@ -136,14 +136,14 @@ def toString(self): FMTs['{:<4.4f}']=['WE_FOPoles_v'] FMTs['{:<10.8f}']=['WE_FOPoles'] FMTs['{:<10.3f}']=['PS_BldPitchMin'] - FMTs['{:<7.0f}']=['PerfTableSize'] + FMTs['{:<7.0f}']=['PerfTableSize','Ind_BldPitch'] fmtFloat='{:<014.5f}' for fmt,keys in FMTs.items(): if param in keys: fmtFloat=fmt break if type(v) is str: - sval='"{:15s}" '.format(v) + sval='{:15s} '.format('"'+v+'"') elif hasattr(v, '__len__'): if isinstance(v[0], (np.floating, float)): sval=' '.join([fmtFloat.format(vi) for vi in v] )+' ' diff --git a/openfast_toolbox/io/tests/example_files/FASTIn_Blade.dat b/openfast_toolbox/io/tests/example_files/FASTIn_Blade.dat index 2cb5efe..77cb06e 100644 --- a/openfast_toolbox/io/tests/example_files/FASTIn_Blade.dat +++ b/openfast_toolbox/io/tests/example_files/FASTIn_Blade.dat @@ -1,7 +1,7 @@ ------- AERODYN v15.00.* BLADE DEFINITION INPUT FILE ------------------------------------- SNL SWiFT V27 baseline aerodynamic blade input properties ====== Blade Properties ================================================================= -22 20 NumBlNds - Number of blade nodes used in the analysis (-) +22 NumBlNds - Number of blade nodes used in the analysis (-) BlSpn BlCrvAC BlSwpAC BlCrvAng BlTwist BlChord BlAFID (m) (m) (m) (deg) (deg) (m) (-) 0.0 0.0 0.0 0.0 13.9573 0.589 1 diff --git a/openfast_toolbox/io/tests/test_fast_input.py b/openfast_toolbox/io/tests/test_fast_input.py index 21be156..7b26a92 100644 --- a/openfast_toolbox/io/tests/test_fast_input.py +++ b/openfast_toolbox/io/tests/test_fast_input.py @@ -110,10 +110,10 @@ def test_FASTADPolMulti(self): F.test_ascii(bCompareWritesOnly=False,bDelete=True) dfs = F.toDataFrame() - self.assertTrue('AFCoeff_2' in dfs.keys()) + self.assertTrue('AFCoeff_Re0.06' in dfs.keys()) - df1 = dfs['AFCoeff_1'] - df2 = dfs['AFCoeff_2'] + df1 = dfs['AFCoeff_Re0.05'] + df2 = dfs['AFCoeff_Re0.06'] self.assertTrue('Cn_pot_[-]' in df2.keys()) self.assertEqual(df1.shape[0],23) diff --git a/openfast_toolbox/modules/elastodyn.py b/openfast_toolbox/modules/elastodyn.py new file mode 100644 index 0000000..6da35a9 --- /dev/null +++ b/openfast_toolbox/modules/elastodyn.py @@ -0,0 +1,2131 @@ +""" + +COORDINATE SYSTEMS: + NOTE: xIEC, yIEC, zIEC = xED, -zED, yED + + | ElastoDyn | IEC | + | z* | i | inertial + | a* | t | tower + | t* | te | tower elements + | b* | p | tower top + | d* | n | nacelle (including yaw) + | c* | s | non rotating shaft + | e* | a | rotating shaft + | f* | | teetered + | g* | h | hub (including delta 3 for 2-bladed + | g*' | | hub coordinate aligned with a given blade (rotated with azimuth between blade) + | i* | cK | coned for blade K (rotatged with cone angle) + | j* | bK | pitched for blade K (rotated with pitch angle) + | Lj* | | (rotated with structural twist) + + +BODIES: + | ElastoDyn | IEC | + | E | E | : earth/inertial frame + | X | F | : platform body + | N | N | : nacelle body + | A | | : tail-furl body + +POINTS: + | ElastoDyn | IEC | + | Z | F | : platform reference + | Y | Gf | : platform COG + | T0 | T | : tower-bottom + | O | N | : tower-top / base-plate + | U | Gn | : Nacelle COG + | V | | : Rotor furl axis + | D | | : COG of structure that furls (excluding the rotor) + | IMU | | : Nacelle IMU + | P | | : Teeter pin + | Q | | : Apex of rotation, rotor center + | C | Gh | : Hub COG + | W | | : specified point on the tail-furl axis + | I | | : tail boom COG + | J | | : tail fin COG + + +""" + +import numpy as np +import os +import matplotlib.pyplot as plt +from openfast_toolbox.io.fast_input_file import FASTInputFile +from openfast_toolbox.tools.eva import eigMCK + +# --------------------------------------------------------------------------------} +# --- GLOBAL CONSTANTS +# --------------------------------------------------------------------------------{ +# INTEGER(IntKi), PARAMETER :: MaxBl = 3 ! Maximum number of blades allowed in simulation +# INTEGER(IntKi), PARAMETER :: NumBE = 1 ! Number of blade-edge modes +# INTEGER(IntKi), PARAMETER :: NumBF = 2 ! Number of blade-flap modes +DOF_Sg = 0 # DOF index for platform surge +DOF_Sw = 1 # DOF index for platform sway +DOF_Hv = 2 # DOF index for platform heave +DOF_R = 3 # DOF index for platform roll +DOF_P = 4 # DOF index for platform pitch +DOF_Y = 5 # DOF index for platform yaw +DOF_TFA1 = 6 # DOF index for 1st tower fore-aft mode +DOF_TSS1 = 7 # DOF index for 1st tower side-to-side mode +DOF_TFA2 = 8 # DOF index for 2nd tower fore-aft mode +DOF_TSS2 = 9 # DOF index for 2nd tower side-to-side mode +DOF_Yaw = 10 # DOF index for nacelle-yaw +DOF_RFrl = 11 # DOF index for rotor-furl +DOF_GeAz = 12 # DOF index for the generator azimuth +DOF_DrTr = 13 # DOF index for drivetrain rotational-flexibility +DOF_TFrl = 14 # DOF index for tail-furl +# INTEGER(IntKi), PARAMETER :: DOF_BE (MaxBl,NumBE) = RESHAPE( & ! DOF indices for blade edge: +# (/ 17, 20, 23 /), (/MaxBl,NumBE/) ) ! 1st blade edge mode for blades 1,2, and 3, respectively 17 + 3*(K-1) +# INTEGER(IntKi), PARAMETER :: DOF_BF (MaxBl,NumBF) = RESHAPE( & ! DOF indices for blade flap: +# (/ 16, 19, 22, & ! 1st blade flap mode for blades 1,2, and 3, respectively 16 + 3*(K-1) +# 18, 21, 24 /), (/MaxBl,NumBF/) ) ! 2nd blade flap mode for blades 1,2, and 3, respectively 18 + 3*(K-1) +# INTEGER(IntKi), PARAMETER :: DOF_Teet = 22 !DOF_TFrl + 2*(NumBE+NumBF)+ 1 ! DOF index for rotor-teeter +ED_MaxDOFs = 24 +# INTEGER(IntKi), PARAMETER :: NPA = 9 ! Number of DOFs that contribute to the angular velocity of the tail (body A) in the inertia frame. +# INTEGER(IntKi), PARAMETER :: NPB = 7 ! Number of DOFs that contribute to the angular velocity of the tower top / baseplate (body B) in the inertia frame. +# INTEGER(IntKi), PARAMETER :: NPF = 7 ! Number of DOFs that contribute to the angular velocity of the tower elements (body F) in the inertia frame (body F) in the inertia frame. +# INTEGER(IntKi), PARAMETER :: NPG = 10 ! Number of DOFs that contribute to the angular velocity of the generator (body G) in the inertia frame. +# INTEGER(IntKi), PARAMETER :: NPL = 11 ! Number of DOFs that contribute to the angular velocity of the low-speed shaft (body L) in the inertia frame. +NPN = 8 # Number of DOFs that contribute to the angular velocity of the nacelle (body N) in the inertia frame. +# INTEGER(IntKi), PARAMETER :: NPR = 9 ! Number of DOFs that contribute to the angular velocity of the structure that furls with the rotor (not including rotor) (body R) in the inertia frame. +NPX = 3 # Number of DOFs that contribute to the angular velocity of the platform (body X) in the inertia frame. +PX = [ DOF_R, DOF_P, DOF_Y ] # Array of DOF indices (pointers) that contribute to the angular velocity of the platform (body X) in the inertia frame. +# INTEGER(IntKi), PARAMETER :: PF(NPF) = (/ DOF_R, DOF_P, DOF_Y, DOF_TFA1, DOF_TSS1, DOF_TFA2, DOF_TSS2 /) ! Array of DOF indices (pointers) that contribute to the angular velocity of the tower elements (body F) in the inertia frame. +# INTEGER(IntKi), PARAMETER :: PB(NPB) = (/ DOF_R, DOF_P, DOF_Y, DOF_TFA1, DOF_TSS1, DOF_TFA2, DOF_TSS2 /) ! Array of DOF indices (pointers) that contribute to the angular velocity of the tower top / baseplate (body B) in the inertia frame. +PN = [ DOF_R, DOF_P, DOF_Y, DOF_TFA1, DOF_TSS1, DOF_TFA2, DOF_TSS2, DOF_Yaw ] # Array of DOF indices (pointers) that contribute to the angular velocity of the nacelle (body N) in the inertia frame. +# INTEGER(IntKi), PARAMETER :: PR(NPR) = (/ DOF_R, DOF_P, DOF_Y, DOF_TFA1, DOF_TSS1, DOF_TFA2, DOF_TSS2, DOF_Yaw, DOF_RFrl /) ! Array of DOF indices (pointers) that contribute to the angular velocity of the structure that furls with the rotor (not including rotor) (body R) in the inertia frame. +# INTEGER(IntKi), PARAMETER :: PL(NPL) = (/ DOF_R, DOF_P, DOF_Y, DOF_TFA1, DOF_TSS1, DOF_TFA2, DOF_TSS2, DOF_Yaw, DOF_RFrl, DOF_GeAz, DOF_DrTr /) ! Array of DOF indices (pointers) that contribute to the angular velocity of the low-speed shaft (body L) in the inertia frame. +# INTEGER(IntKi), PARAMETER :: PG(NPG) = (/ DOF_R, DOF_P, DOF_Y, DOF_TFA1, DOF_TSS1, DOF_TFA2, DOF_TSS2, DOF_Yaw, DOF_RFrl, DOF_GeAz /) ! Array of DOF indices (pointers) that contribute to the angular velocity of the generator (body G) in the inertia frame. +# INTEGER(IntKi), PARAMETER :: PA(NPA) = (/ DOF_R, DOF_P, DOF_Y, DOF_TFA1, DOF_TSS1, DOF_TFA2, DOF_TSS2, DOF_Yaw, DOF_TFrl /) ! Array of DOF indices (pointers) that contribute to the angular velocity of the tail (body A) in the inertia frame. + + + + + +# --------------------------------------------------------------------------------} +# --- Simple Geometry functions +# --------------------------------------------------------------------------------{ + +def RotMat_AxisAngle(u,theta): + """ Returns the rotation matrix for a rotation around an axis u, with an angle theta """ + R=np.zeros((3,3)) + ux,uy,uz=u + c,s=np.cos(theta),np.sin(theta) + R[0,0]=ux**2*(1-c)+c ; R[0,1]=ux*uy*(1-c)-uz*s; R[0,2]=ux*uz*(1-c)+uy*s; + R[1,0]=uy*ux*(1-c)+uz*s ; R[1,1]=uy**2*(1-c)+c ; R[1,2]=uy*uz*(1-c)-ux*s + R[2,0]=uz*ux*(1-c)-uy*s ; R[2,1]=uz*uy*(1-c)+ux*s; R[2,2]=uz**2*(1-c)+c; + return R + +def orth_vect(u): + """ Given one vector, returns a 3x1 orthonormal vector to it""" + u=(u/np.linalg.norm(u)).ravel() + if abs(u[0])>=1/np.sqrt(3): + v = np.array([[-u[1]],[u[0]] ,[0]] ) + elif abs(u[1])>=1/np.sqrt(3): + v = np.array([[0] ,[-u[2]],[u[1]]] ) + elif abs(u[2])>=1/np.sqrt(3): + v = np.array([[u[2]] ,[0] ,[-u[0]]]) + else: + raise Exception('Cannot find orthogonal vector to a zero vector: {} '.format(u)) + return v/np.linalg.norm(v) + +def rotor_disk_points(ED, nP=10, origin=(0,0,0)): + """ Points of the rotor disk, taken from wiz + Needs further improvements, e.g. for Ptfm motion + """ + ED = getEDClass(ED) # if ED is a filename + + # TODO Ptfm.. + + tilt = ED['ShftTilt']*np.pi/180 + yaw = (ED['NacYaw'])*np.pi/180 + hT = ED['TowerHt'] + ED['Twr2Shft'] + t2h = ED['OverHang'] * np.sin(tilt) + dX_hub = ED['OverHang']*np.cos(yaw) + dY_hub = ED['OverHang']*np.sin(yaw) + R = ED['TipRad']*np.cos(ED['PreCone(1)']*np.pi/180) + + origin = np.asarray(origin).reshape(3,1) + r_hub0 = np.asarray([ED['OverHang'], 0, hT+t2h]).reshape(3,1) + origin + r_TT = np.asarray([0 , 0, hT]).reshape(3,1) + origin + + e_vert_g = np.array([0 ,0, 1] ).reshape(3,1) + e_shaft_g0 = np.array([np.cos(tilt),0,np.sin(tilt)]).reshape(3,1) + T_wt2g = RotMat_AxisAngle(e_vert_g, yaw) + # Rotating the shaft vector so that its coordinate follow the new yaw position + e_shaft_g = np.dot(T_wt2g , e_shaft_g0) + r_hub = r_TT + np.dot(T_wt2g , r_hub0-r_TT) + + #e_shaft_g = e_shaft_g0 + #r_hub =r_hub0 + + e_r = R*orth_vect(e_shaft_g) + + points=np.zeros((3,nP)) + theta=np.linspace(0,2*np.pi,nP) # dTheta=2 pi /(np-1) + for i,t in enumerate(theta): + T=RotMat_AxisAngle(e_shaft_g, t) + points[:,i]= r_hub.ravel()+np.dot(T,e_r).ravel() + return r_hub.flatten(), points + + + + + + + + + + + + + + + + +# --------------------------------------------------------------------------------} +# --- Shape function approach +# --------------------------------------------------------------------------------{ +def fitShapeFunction(x_bar, phi, exp=None, scale=True, plot=None): + """ + Return polynomial fit for a given shapefunction + The fit is such that phi_fit = a_i x_bar^e_i + + See also: from welib.yams.flexibility.polyshape + INPUTS: + - x : dimensionless spanwise coordinate, from 0 to 1 + The points 0 and 1 need not be present. + - exp: exponents of the polynomial. Should be length of coeff. + If None, exp = [2,3,4,5,6] as used in OpenFAST + - scale: if True, scale the coefficients such that the sum is 1 + OUTPUTS: + - pfit: fitted coefficients: [a_i] such that phi_fit = a_i x_bar^e_i + - y_fit: fitted values phi_fit(x_bar) + - fig: figure handle + - fitter: object with dictionary fields 'coeffs', 'formula', 'fitted_function' + """ + if exp is None: + exp = np.arange(2,7) + if np.any(x_bar)<0 or np.any(x_bar)>1: + raise Exception('`x_bar` should be between 0 and 1') + + from welib.tools.curve_fitting import model_fit + phi_fit, pfit, fitter = model_fit('fitter: polynomial_discrete', x_bar, phi, exponents=exp) + + # --- Manipulation of the fitted model... + pfit = np.around(pfit, 8) # sticking to 8 significant digits + + if scale: + scale = np.sum(pfit) + if np.abs(scale)<1e-8: + print('[WARN] ElastoDyn: fitShapeFunction: Problem, sum of coefficient is close to 0') + else: + pfit = np.array(pfit)/scale + pfit = np.around(pfit, 8) # sticking to 8 significant digits. NOTE: this might mess up the scale again.. + def fitted_function(xx): + y=np.zeros(xx.shape) + for i,(e,c) in enumerate(zip(exp, pfit)): + y += c * xx**e + return y + phi_fit = fitted_function(x_bar) + + if plot: + fig,ax = plt.subplots(1, 1, sharey=False, figsize=(6.4,4.8)) # (6.4,4.8) + fig.subplots_adjust(left=0.12, right=0.95, top=0.95, bottom=0.11, hspace=0.20, wspace=0.20) + ax.plot(x_bar, phi , label='Input Shape') + ax.plot(x_bar, phi_fit, '--', label='Fitted Shape') + ax.set_xlabel('x/L [-]') + ax.set_ylabel('Shape function [-]') + ax.legend(loc='upper left') + else: + fig=None + + + return pfit, phi_fit, fig + + +def DTfreq(InFile): + """ Returns ElastoDyn torsion drive train frequency + INPUTS: + - InFile: fst file + OUTUPTS: + - f0: natural frequency + - fd: damped frequency + - zeta: damping ratio + """ + from welib.yams.windturbine import FASTWindTurbine + WT = FASTWindTurbine(InFile) + nGear = WT.ED['GBRatio'] + K_DT = WT.ED['DTTorSpr'] + D_DT = WT.ED['DTTorDmp'] + Jr_LSS = WT.rot.inertia[0,0]*1.000 # bld + hub, LSS + Jg_LSS = WT.gen.inertia[0,0] # gen, LSS + + M = np.array([[Jr_LSS+Jg_LSS,-Jg_LSS],[-Jg_LSS,Jg_LSS]]) + K = K_DT*np.array([[0, 0],[0, 1]]) + C = D_DT*np.array([[0, 0],[0, 1]]) + + fd, zeta, Q, f0 = eigMCK(M, C, K) + + # f0 = np.sqrt(K_DT/Jr_LSS + K_DT/Jg_LSS)/(2*np.pi)) + return f0, fd, zeta + + +def SHP(Fract, FlexL, ModShpAry, Deriv): + """ SHP calculates the Derive-derivative of the shape function ModShpAry at Fract. + NOTES: This function only works for Deriv = 0, 1, or 2. + Taken from ElastoDyn.f90 + """ + Swtch = np.zeros((3, 1)); # Initialize Swtch(:) to 0 + Swtch[Deriv] = 1; + shp = 0.0; + if Deriv==0: + for i in np.arange(len(ModShpAry)): + shp = shp + ModShpAry[i]*( Fract**(i+2) ) + else: + for i in np.arange(len(ModShpAry)): + I = i + 1 + J = I + 1; + CoefTmp = Swtch[0] + Swtch[1]*J + Swtch[2]*I*J; + if ( (J == 2) and (Deriv == 2) ): + shp = ModShpAry[i]*CoefTmp /( FlexL**Deriv ); + else: + shp = shp + ModShpAry[i]*CoefTmp*( Fract**( J - Deriv ) )/( FlexL**Deriv ); + return shp + + +def getEDClass(class_or_filename): + """ + Return ElastoDyn instance of FileCl + INPUT: either + - an instance of FileCl, as returned by reading the file, ED = weio.read(ED_filename) + - a filepath to a ElastoDyn input file + - a filepath to a main OpenFAST input file + """ + if hasattr(class_or_filename,'startswith'): # if string + ED = FASTInputFile(class_or_filename) + if 'EDFile' in ED.keys(): # User provided a .fst file... + parentDir=os.path.dirname(class_or_filename) + EDfilename = os.path.join(parentDir, ED['EDFile'].replace('"','')) + ED = FASTInputFile(EDfilename) + else: + ED = class_or_filename + return ED + + + +def ED_Parameters(fstFilename, split=False): + + fst = FASTInputFile(fstFilename) + if 'EDFile' in fst.keys(): # User provided a .fst file... + parentDir=os.path.dirname(fstFilename) + EDfilename = os.path.join(parentDir, fst['EDFile'].replace('"','')) + ED = getEDClass(EDfilename) + else: + raise NotImplementedError() + + prot, pbld, phub = rotorParameters(ED) + ptwr = towerParameters(ED, gravity=fst['Gravity'], RotMass=prot['RotMass']) + + #pbld[0] = bladeDerivedParameters(pbld[0], inertiaAtBladeRoot=True) + #ptwr = towerDerivedParameters(ptwr) + + # --- Platform + pptfm={} + pptfm['PtfmRefzt'] = ED['PtfmRefzt'] + pptfm['PtfmCMxt'] = ED['PtfmCMxt'] + pptfm['PtfmCMyt'] = ED['PtfmCMyt'] + + + pmisc = {} + pmisc['rZT0zt'] = ED['TowerBsHt'] - ED['PtfmRefzt'] # zt-component of position vector rZT0. + pmisc['RefTwrHt'] = ED['TowerHt'] - ED['PtfmRefzt'] # Vertical distance between ElastoDyn's undisplaced tower height (variable TowerHt) and ElastoDyn's inertia frame reference point (variable PtfmRef). + pmisc['rZYzt'] = ED['PtfmCMzt'] - ED['PtfmRefzt'] + + + # --- Nacelle + pnac = {} + pnac['NacCMxn'] = ED['NacCMxn'] + pnac['NacCMyn'] = ED['NacCMyn'] + pnac['NacCMzn'] = ED['NacCMzn'] + + # --- Generator + pgen={} + + # --- Shaft + psft={} + + # Calculate the turbine mass: + #ptwr['TurbMass'] = ptwr['TwrTpMass'] + ptwr['TwrMass']; + p=dict() + if not split: + p.update(pmisc) + p.update(pptfm) + p.update(ptwr) + p.update(pnac) + p.update(pgen) + p.update(psft) + p.update(phub) + p.update(prot) + p.update(pbld[0]) + return p + else: + p['misc'] = pmisc + p['ptfm'] = pptfm + p['twr'] = ptwr + p['nac'] = pnac + p['gen'] = pgen + p['sft'] = psft + p['hub'] = phub + p['rot'] = prot + p['bld'] = pbld + return p + + + + +def rotorParameters(EDfilename, identicalBlades=True, pbld1=None): + """ + Return rotor parameters computed like ElastoDyn + p: rotor parametesr + pbld: list of parameters for each blades. + """ + ED = getEDClass(EDfilename) + + if pbld1 is None: + if identicalBlades: + pbld = [bladeParameters(EDfilename, 1)]*ED['NumBl'] + else: + pbld=[bladeParameters(EDfilename, ibld+1) for ibld in range(ED['NumBl'])] + else: + pbld = [pbld1]*ED['NumBl'] + + p=dict() + p['RotMass'] = sum([pbld[k]['BldMass'] for k in range(ED['NumBl'])]) + p['RotIner'] = sum([(pbld[k]['SecondMom'] + pbld[k]['BldMass']*ED['HubRad']*(2.0*pbld[k]['BldCG'] + ED['HubRad']))*(np.cos(pbld[k]['PreCone'])**2) for k in range(ED['NumBl'])]) + #if ( p.NumBl == 2 ) % 2-blader + # p.Hubg1Iner = ( InputFileData.HubIner - p.HubMass*( ( p.UndSling - p.HubCM )^2 ) )/( p.CosDel3^2 ); + # p.Hubg2Iner = p.Hubg1Iner; + #else % 3-blader + # p.Hubg1Iner = GetFASTPar(edDataOut, 'HubIner'); + # p.Hubg2Iner = 0.0; + #end + phub=dict() + phub['HubMass'] = ED['HubMass'] + phub['HubIner'] = ED['HubIner'] + + p['RotMass'] += phub['HubMass'] + p['RotIner'] += phub['HubIner'] + + p['TwrTpMass'] = p['RotMass'] + ED['NacMass'] + ED['YawBrMass']; + + return p, pbld, phub + + +def bladeParameters(EDfilename, ibld=1, RotSpeed=1, AdjBlMs=None): + """ + Compute blade parameters in a way similar to OpenFAST + See Routine Coeff from ElastoDyn.f90 + RotSpeed: used for rotational stiffening. Use 1 for unit contribution (proportioanl to omega**2) [rad/s] + """ + from welib.yams.flexibility import polyshape + from welib.yams.flexibility import GMBeam, GKBeam + # --- Read inputs + ED = getEDClass(EDfilename) + try: + EDbld = os.path.join(os.path.dirname(ED.filename), ED['BldFile({})'.format(ibld)].replace('"','')) + except: + EDbld = os.path.join(os.path.dirname(ED.filename), ED['BldFile{}'.format(ibld)].replace('"','')) + bld = FASTInputFile(EDbld) + bldProp = bld.toDataFrame() + + # --- + p=dict() + p['HubRad'] = ED['HubRad'] + p['BldNodes'] = ED['BldNodes'] + p['BldFlexL'] = ED['TipRad']- ED['HubRad'] # Length of the flexible portion of the blade. + n=ED['BldNodes'] + p['DRNodes'] = np.ones(ED['BldNodes'])*p['BldFlexL']/ED['BldNodes'] + bld_fract = np.arange(1./ED['BldNodes']/2., 1, 1./ED['BldNodes']) + p['RNodes'] = bld_fract*p['BldFlexL'] + + # Adjust mass + if AdjBlMs is None: + p['AdjBlMs'] = bld['AdjBlMs'] + else: + p['AdjBlMs'] = AdjBlMs + bldProp['BMassDen_[kg/m]'] *= p['AdjBlMs'] + + + # --- Interpolate the blade properties to this discretization: + p['RNodesNorm'] = p['RNodes']/p['BldFlexL']; # Normalized radius to analysis nodes relative to hub ( -1 < RNodesNorm(:) < 1 ) + p['Bl_s_span'] = np.concatenate(([0], p['RNodesNorm'], [1]))*p['BldFlexL']; # Normalized radius to analysis nodes relative to hub ( -1 < RNodesNorm(:) < 1 ) + p['Bl_s_span_norm'] = p['Bl_s_span']/p['BldFlexL'] + p['BlFract']= bldProp['BlFract_[-]'].values + StrcTwst = bldProp['StrcTwst_[deg]'].values + p['ThetaS'] = np.interp(p['RNodesNorm'], p['BlFract'], bldProp['StrcTwst_[deg]']) + p['MassB'] = np.interp(p['RNodesNorm'], p['BlFract'], bldProp['BMassDen_[kg/m]']) ; + p['StiffBF'] = np.interp(p['RNodesNorm'], p['BlFract'], bldProp['FlpStff_[Nm^2]']) + p['StiffBE'] = np.interp(p['RNodesNorm'], p['BlFract'], bldProp['EdgStff_[Nm^2]']) + p['m_full'] = np.interp(p['Bl_s_span_norm'], p['BlFract'], bldProp['BMassDen_[kg/m]']) ; + p['EI_F_full'] = np.interp(p['Bl_s_span_norm'], p['BlFract'], bldProp['FlpStff_[Nm^2]']) + p['EI_E_full'] = np.interp(p['Bl_s_span_norm'], p['BlFract'], bldProp['EdgStff_[Nm^2]']) + p['ThetaS'] = np.concatenate( ([StrcTwst[0]], p['ThetaS'] , [StrcTwst[-1]]) ) + # Set the blade damping and stiffness tuner + try: + p['BldFDamp'] = [bld['BldFlDmp(1)'], bld['BldFlDmp(2)'] ] + p['BldEDamp'] = [bld['BldEdDmp(1)']] + p['FStTunr'] = [bld['FlStTunr(1)'], bld['FlStTunr(2)'] ] + except: + p['BldFDamp'] = [bld['BldFlDmp1'], bld['BldFlDmp2'] ] + p['BldEDamp'] = [bld['BldEdDmp1']] + p['FStTunr'] = [bld['FlStTunr1'], bld['FlStTunr2'] ] + # Set the mode shape coefficients + p['BldFl1Sh'] = [bld[c] for c in ['BldFl1Sh(2)', 'BldFl1Sh(3)', 'BldFl1Sh(4)', 'BldFl1Sh(5)', 'BldFl1Sh(6)']] + p['BldFl2Sh'] = [bld[c] for c in ['BldFl2Sh(2)', 'BldFl2Sh(3)', 'BldFl2Sh(4)', 'BldFl2Sh(5)', 'BldFl2Sh(6)']] + p['BldEdgSh'] = [bld[c] for c in ['BldEdgSh(2)', 'BldEdgSh(3)', 'BldEdgSh(4)', 'BldEdgSh(5)', 'BldEdgSh(6)']] + p['CThetaS'] = np.cos(p['ThetaS']*np.pi/180); + p['SThetaS'] = np.sin(p['ThetaS']*np.pi/180); + + p['PreCone']= ED['PreCone({:d})'.format(ibld)]*np.pi/180 + + # --- Inertial properties + # Initialize BldMass(), FirstMom(), and SecondMom() using TipMass() effects + p['TipMass'] = ED['TipMass({:d})'.format(ibld)] + p['BElmntMass'] = p['MassB']*p['DRNodes'] # Mass of blade element + p['BldMass'] = sum(p['BElmntMass']) + p['TipMass'] + p['FirstMom'] = sum(p['BElmntMass']*p['RNodes']) + p['TipMass']*p['BldFlexL'] # wrt blade root + p['SecondMom'] = sum(p['BElmntMass']*p['RNodes']**2) + p['TipMass']*p['BldFlexL']*p['BldFlexL'] # wrt blade root + p['FMomAbvNd'] = np.zeros(n) + # Integrate to find FMomAbvNd: + for J in np.arange(ED['BldNodes']-1,-1,-1): # Loop through the blade nodes / elements in reverse + p['FMomAbvNd'][J] = (0.5*p['BElmntMass'][J] )*(ED['HubRad'] + p['RNodes'][J] + 0.5*p['DRNodes'][J]) + if J == n-1: # Outermost blade element + p['FMomAbvNd'][J] += p['TipMass'] * ED['TipRad']; # TipMass effects: + else: + # Add to p['FMomAbvNd(K,J) the effects from the (not yet used) portion of element J+1 + p['FMomAbvNd'][J] += p['FMomAbvNd'][J+1] + (0.5*p['BElmntMass'][J+1])*( ED['HubRad'] + p['RNodes'][J+1] - 0.5*p['DRNodes'][J+1] ); + # Calculate BldCG() using FirstMom() and BldMass(); and calculate RotMass and RotIner: + p['BldCG']= p['FirstMom']/p['BldMass']; + p['MBF'] = np.zeros((2, 2)) + p['MBE'] = np.zeros((1, 1)) + p['KBFCent'] = np.zeros((2, 2)) + p['KBECent'] = np.zeros((1, 1)) + p['KBF'] = np.zeros((2, 2)) + p['KBE'] = np.zeros((1, 1)) + # Initialize the generalized blade masses using tip mass effects: + p['MBF'][0,0] = p['TipMass']; + p['MBF'][1,1] = p['TipMass']; + p['MBE'][0,0] = p['TipMass']; + + # Shape functions and derivatives at all nodes and tip&root (2 additional points) + exp = np.arange(2,7) + p['ShapeF1_full'], p['dShapeF1_full'],p['ddShapeF1_full'] = polyshape(p['Bl_s_span'], coeff=p['BldFl1Sh'], exp=exp, x_max=p['BldFlexL'], doscale=False) + p['ShapeF2_full'], p['dShapeF2_full'],p['ddShapeF2_full'] = polyshape(p['Bl_s_span'], coeff=p['BldFl2Sh'], exp=exp, x_max=p['BldFlexL'], doscale=False) + p['ShapeE1_full'], p['dShapeE1_full'],p['ddShapeE1_full'] = polyshape(p['Bl_s_span'], coeff=p['BldEdgSh'], exp=exp, x_max=p['BldFlexL'], doscale=False) + + # Integrate to find the generalized mass of the blade (including tip mass effects). + # Ignore the cross-correlation terms of MBF (i.e. MBF(i,j) where i ~= j) since these terms will never be used. + p['MBF'][0,0] = sum(p['BElmntMass']*p['ShapeF1_full'][1:-1]**2) + p['MBF'][1,1] = sum(p['BElmntMass']*p['ShapeF2_full'][1:-1]**2) + p['MBE'][0,0] = sum(p['BElmntMass']*p['ShapeE1_full'][1:-1]**2) + + ElmntStff = p['StiffBF']*p['DRNodes'] # Flapwise stiffness of blade element J + p['KBF'][0,0] = sum(ElmntStff*p['ddShapeF1_full'][1:-1]*p['ddShapeF1_full'][1:-1]) + p['KBF'][0,1] = sum(ElmntStff*p['ddShapeF1_full'][1:-1]*p['ddShapeF2_full'][1:-1]) + p['KBF'][1,0] = sum(ElmntStff*p['ddShapeF2_full'][1:-1]*p['ddShapeF1_full'][1:-1]) + p['KBF'][1,1] = sum(ElmntStff*p['ddShapeF2_full'][1:-1]*p['ddShapeF2_full'][1:-1]) + ElmntStff = p['StiffBE']*p['DRNodes'] # Edgewise stiffness of blade element J + p['KBE'][0,0] = sum(ElmntStff*p['ddShapeE1_full'][1:-1]*p['ddShapeE1_full'][1:-1]) + + # Integrate to find the centrifugal-term of the generalized flapwise and edgewise + # stiffness of the blades. Ignore the cross-correlation terms of KBFCent (i.e. + # KBFCent(i,j) where i ~= j) since these terms will never be used. + ElmntStff = p['FMomAbvNd']*p['DRNodes']*RotSpeed**2 # Centrifugal stiffness of blade element J + p['KBFCent'][0,0] = sum(ElmntStff*p['dShapeF1_full'][1:-1]**2) + p['KBFCent'][1,1] = sum(ElmntStff*p['dShapeF2_full'][1:-1]**2) + p['KBECent'][0,0] = sum(ElmntStff*p['dShapeE1_full'][1:-1]**2) + + # Calculate the 2nd derivatives of the twisted shape functions (include root and tip): + p['TwistedSF'] = np.zeros((2, 3, ED['BldNodes']+2, 3)); # x/y, BF1/BF2/BE, node, deriv + p['TwistedSF'][0,0,:,2] = p['ddShapeF1_full'][:]*p['CThetaS'][:] # 2nd deriv. of Phi1(J) for blade K + p['TwistedSF'][1,0,:,2] = -p['ddShapeF1_full'][:]*p['SThetaS'][:] # 2nd deriv. of Psi1(J) for blade K + p['TwistedSF'][0,1,:,2] = p['ddShapeF2_full'][:]*p['CThetaS'][:] # 2nd deriv. of Phi2(J) for blade K + p['TwistedSF'][1,1,:,2] = -p['ddShapeF2_full'][:]*p['SThetaS'][:] # 2nd deriv. of Psi2(J) for blade K + p['TwistedSF'][0,2,:,2] = p['ddShapeE1_full'][:]*p['SThetaS'][:] # 2nd deriv. of Phi3(J) for blade K + p['TwistedSF'][1,2,:,2] = p['ddShapeE1_full'][:]*p['CThetaS'][:] # 2nd deriv. of Psi3(J) for blade K + # Integrate to find the 1st derivatives of the twisted shape functions: + for J in np.arange(n): # Loop through the blade nodes / elements + TwstdSF= np.zeros((2, 3, 2)) + order=1; + for I in [0,1]: # Loop through Phi and Psi + for L in [0,1,2]: # Loop through all blade DOFs + TwstdSF[I,L,order] = p['TwistedSF'][I,L,J+1,order+1]*0.5*p['DRNodes'][J]; + p['TwistedSF'][I,L,J+1,order] = TwstdSF[I,L,order]; + if J != 0: # All but the innermost blade element + # Add the effects from the (not yet used) portion of element J-1 + for I in [0,1]: # Loop through Phi and Psi + for L in [0,1,2]: # Loop through all blade DOFs + p['TwistedSF'][I,L,J+1,order] += p['TwistedSF'][I,L,J,order] + TwstdSFOld[I,L,order]; + # Store the TwstdSF and AxRdBld terms of the current element (these will be used for the next element) +# TwstdSFOld = TwstdSF; +# for J in np.arange(n): # Loop through the blade nodes / elements +# TwstdSF= np.zeros((2, 3, 2)) + # Integrate to find the twisted shape functions themselves (i.e., their zeroeth derivative): + order = 0 + for I in [0,1]: # Loop through Phi and Psi + for L in [0,1,2]: # Loop through all blade DOFs + TwstdSF[I,L, order] = p['TwistedSF'][I,L,J+1, order+1]*0.5*p['DRNodes'][J]; + p['TwistedSF'][I,L,J+1,order] = TwstdSF[ I,L, order ]; + if J != 0: # All but the innermost blade element + # Add the effects from the (not yet used) portion of element J-1 + for I in [0,1]: # Loop through Phi and Psi + for L in [0,1,2]: # Loop through all blade DOFs + p['TwistedSF'][I,L,J+1,order] += p['TwistedSF'][I,L,J,order] + TwstdSFOld[I,L, order]; + TwstdSFOld = TwstdSF; + # Integrate to find the 1st and zeroeth derivatives of the twisted shape functions at the tip: + for I in [0,1]: # Loop through Phi and Psi + for L in [0,1,2]: # Loop through all blade DOFs + p['TwistedSF'][I,L,-1,1] = p['TwistedSF'][I,L,-2,1] + TwstdSFOld[I,L,1] + p['TwistedSF'][I,L,-1,0] = p['TwistedSF'][I,L,-2,0] + TwstdSFOld[I,L,0] + # Blade root + p['TwistedSF'][:,:,0,1] = 0.0; + p['TwistedSF'][:,:,0,0] = 0.0; + + # Integrate to find the blade axial reduction shape functions: + p['AxRedBld'] = np.zeros((3, 3, ED['BldNodes']+2)); # + for J in np.arange(n): # Loop through the blade nodes / elements + AxRdBld= np.zeros((3, 3)) + for I in [0,1,2]: # Loop through all blade DOFs + for L in [0,1,2]: # Loop through all blade DOFs + AxRdBld[I,L] = 0.5*p['DRNodes'][J]*( p['TwistedSF'][0,I,J+1,1]*p['TwistedSF'][0,L,J+1,1] + p['TwistedSF'][1,I,J+1,1]*p['TwistedSF'][1,L,J+1,1] ); + p['AxRedBld'][I,L,J+1] = AxRdBld[I,L] + if J != 0: # All but the innermost blade element + # Add the effects from the (not yet used) portion of element J-1 + for I in [0,1,2]: # Loop through all blade DOFs + for L in [0,1,2]: # Loop through all blade DOFs + p['AxRedBld'][I,L,J+1] += p['AxRedBld'][I,L,J] + AxRdBldOld[I,L] + AxRdBldOld = AxRdBld; + # Integrate to find the blade axial reduction shape functions at the tip: + for I in [0,1,2]: # Loop through all blade DOFs + for L in [0,1,2]: # Loop through all blade DOFs + p['AxRedBld'][I,L,-1] = p['AxRedBld'][I,L,-2] + AxRdBldOld[I,L] + # Blade root + p['AxRedBld'] [:,:,0 ] = 0.0; + + # Apply the flapwise modal stiffness tuners of the blades to KBF(): + for I in [0,1]: # Loop through flap DOFs + for L in [0,1]: # Loop through flap DOFs + p['KBF'][I,L] = np.sqrt( p['FStTunr'][I]*p['FStTunr'][L] )*p['KBF'][I,L]; + # Calculate the blade natural frequencies: + p['FreqBF'] = np.zeros((2,3)) + p['FreqBE'] = np.zeros((1,3)) + for I in [0,1]: # Loop through flap DOFs + p['FreqBF'][I,0] = (1/2/np.pi)*np.sqrt( p['KBF'][I,I] /( p['MBF'][I,I] - p['TipMass']) )# Natural blade I-flap frequency w/o centrifugal stiffening nor tip mass effects + p['FreqBF'][I,1] = (1/2/np.pi)*np.sqrt( p['KBF'][I,I] / p['MBF'][I,I] )# Natural blade I-flap frequency w/o centrifugal stiffening, but w/ tip mass effects + p['FreqBF'][I,2] = (1/2/np.pi)*np.sqrt( ( p['KBF'][I,I] + p['KBFCent'][I,I])/ p['MBF'][I,I] )# Natural blade I-flap frequency w/ centrifugal stiffening and tip mass effects + I=0 + p['FreqBE'][I,0] = (1/2/np.pi)*np.sqrt( p['KBE'][I,I] /( p['MBE'][I,I] - p['TipMass']) )# Natural blade 1-edge frequency w/o centrifugal stiffening nor tip mass effects + p['FreqBE'][I,1] = (1/2/np.pi)*np.sqrt( p['KBE'][I,I] / p['MBE'][I,I] )# Natural Blade 1-edge frequency w/o centrifugal stiffening, but w/ tip mass effects + p['FreqBE'][I,2] = (1/2/np.pi)*np.sqrt( ( p['KBE'][I,I] + p['KBECent'][I,I])/ p['MBE'][I,I] )# Natural Blade 1-edge frequency w/ centrifugal stiffening and tip mass effects + # Calculate the generalized damping of the blades: + p['CBF'] = np.zeros((2,2)) + p['CBE'] = np.zeros((1,1)) + for I in [0,1]: # Loop through flap DOFs + for L in [0,1]: # Loop through flap DOFs + p['CBF'][I,L] = ( 0.01*p['BldFDamp'][L] )*p['KBF'][I,L]/( np.pi*p['FreqBF'][L,0] ); + L=0; I=0; + p['CBE'][I,L] = ( 0.01*p['BldEDamp'][L] )*p['KBE'][I,L]/( np.pi*p['FreqBE'][L,0] ); + + nq = 3 + + # --- Twisted and untwisted shape functions + nNodes=n+2 + p['Ut'] = np.zeros((nq, 3, nNodes)) + p['Vt'] = np.zeros((nq, 3, nNodes)) + p['Kt'] = np.zeros((nq, 3, nNodes)) + p['U'] = np.zeros((nq, 3, nNodes)) + p['V'] = np.zeros((nq, 3, nNodes)) + p['K'] = np.zeros((nq, 3, nNodes)) + for j,idir,name in zip(range(0,nq), (0,0,1), ('F1','F2','E1')): # direction is x, x, y + p['Ut'][j][0,:] = p['TwistedSF'][0, j, :, 0] # x + p['Ut'][j][1,:] = p['TwistedSF'][1, j, :, 0] # y + p['Vt'][j][0,:] = p['TwistedSF'][0, j, :, 1] # x + p['Vt'][j][1,:] = p['TwistedSF'][1, j, :, 1] # y + p['Kt'][j][0,:] = p['TwistedSF'][0, j, :, 2] # x + p['Kt'][j][1,:] = p['TwistedSF'][1, j, :, 2] # y + p['U'][j][idir,:] = p['Shape'+name+'_full'] + p['V'][j][idir,:] = p['dShape'+name+'_full'] + p['K'][j][idir,:] = p['ddShape'+name+'_full'] + + # --- Parameters consistent with "YAMS" flexibility module + p['s_span'] = p['Bl_s_span'] + p['m'] = p['m_full'] + p['EI'] = np.zeros((3,nNodes)) + p['EI'][0,:] = p['EI_F_full'] + p['EI'][1,:] = p['EI_E_full'] + + p['s_G0'] = np.zeros((3, len(p['Bl_s_span']))) + p['s_G0'][2,:] = p['s_span'] # TODO add hub radius + + #KK0 = GKBeam(s_span, EI, PhiK, bOrth=False) + #if bStiffening: + # KKg = GKBeamStiffnening(s_span, PhiV, gravity, m, Mtop, Omega, main_axis=main_axis) + # KKg_self= GKBeamStiffnening(s_span, PhiV, gravity, m, Mtop, Omega, main_axis=main_axis, bSelfWeight=True , bMtop=False, bRot=False) + # KKg_Mtop= GKBeamStiffnening(s_span, PhiV, gravity, m, Mtop, Omega, main_axis=main_axis, bSelfWeight=False, bMtop=True, bRot=False) + # KKg_rot = GKBeamStiffnening(s_span, PhiV, gravity, m, Mtop, Omega, main_axis=main_axis, bSelfWeight=False, bMtop=False, bRot=True) +# MM, IT = GMBeam(s_G0, p['s_span'], p['m_full'], p['Ut'], rot_terms=True, method='OpenFAST', main_axis='z', U_untwisted=p['U']) + return p + + +def bladeDerivedParameters(p, inertiaAtBladeRoot=True): + """ Compute blade derived parameters, suitable for SID: + - Inertial matrices + - Stiffness matrices + The parameters are computed "by hand" (as opposed to using GMBeam) + NOTE: this function is mostly for debugging purposes. + Use GMBeam with method='OpenFAST' instead + """ + + nq = 3 + if inertiaAtBladeRoot: + rh = 0 + else: + rh = p['HubRad'] # Hub Radius # TODO make this an option if from blade root or not + + # --- Rigid mass matrix terms + # Mxt term + p['mdCM'] = np.zeros((3)) + p['mdCM'][2]= sum(p['BElmntMass'][:]*(p['RNodes']+rh)); + # + p['mdCM_M1'] = np.zeros((3,nq)) + for j in np.arange(nq): + p['mdCM_M1'][0,j]= sum(p['TwistedSF'][0, j, 1:-1, 0]*p['BElmntMass']) + p['mdCM_M1'][1,j]= sum(p['TwistedSF'][1, j, 1:-1, 0]*p['BElmntMass']) + + p['J'] = np.zeros((3,3)) + p['J'][0,0] = sum(p['BElmntMass'][:]*(p['RNodes']+rh)**2) + p['J'][1,1] = sum(p['BElmntMass'][:]*(p['RNodes']+rh)**2) + # --- Elastic matrices + p['Ke'] = np.zeros((nq,nq)) + p['Ke0'] = np.zeros((nq,nq)) # Without any stiffening + p['De'] = np.zeros((nq,nq)) + p['Me'] = np.zeros((nq,nq)) + # Me + p['Me'][0,0]= p['MBF'][0, 0] + p['Me'][0,1]= p['MBF'][0, 1] + p['Me'][1,0]= p['MBF'][1, 0] + p['Me'][1,1]= p['MBF'][1, 1] + p['Me'][2,2]= p['MBE'][0, 0] + # Ke + p['Ke0'][0,0]= p['KBF'][0, 0] + p['Ke0'][0,1]= p['KBF'][0, 1] + p['Ke0'][1,0]= p['KBF'][1, 0] + p['Ke0'][1,1]= p['KBF'][1, 1] + p['Ke0'][2,2]= p['KBE'][0, 0] + p['Ke'] = p['Ke0'] # OpenFAST does not put the stiffening in this + # De + p['De'][0,0]= p['CBF'][0, 0] + p['De'][0,1]= p['CBF'][0, 1] + p['De'][1,0]= p['CBF'][1, 0] + p['De'][1,1]= p['CBF'][1, 1] + p['De'][2,2]= p['CBE'][0, 0] + + # KgOm + p['Kg_Om'] = np.zeros((nq,nq)) + p['Kg_Om'][0,0] = p['KBFCent'][0,0] + p['Kg_Om'][1,1] = p['KBFCent'][1,1] + p['Kg_Om'][2,2] = p['KBECent'][0,0] + + # --- Elastic mass matrix terms + # Ct + p['Ct'] = np.zeros((nq,3)) + p['Ct'][0,0] = sum(np.squeeze(p['TwistedSF'][0, 0, 1:-1, 0])*p['BElmntMass'][:])# 1st mode acceleration in x + p['Ct'][0,1] = sum(np.squeeze(p['TwistedSF'][1, 0, 1:-1, 0])*p['BElmntMass'][:])# 1st mode acceleration in y + p['Ct'][1,0] = sum(np.squeeze(p['TwistedSF'][0, 1, 1:-1, 0])*p['BElmntMass'][:])# 2nd mode acceleration in x + p['Ct'][1,1] = sum(np.squeeze(p['TwistedSF'][1, 1, 1:-1, 0])*p['BElmntMass'][:])# 2nd mode acceleration in y + p['Ct'][2,0] = sum(np.squeeze(p['TwistedSF'][0, 2, 1:-1, 0])*p['BElmntMass'][:])# 3nd mode acceleration in x + p['Ct'][2,1] = sum(np.squeeze(p['TwistedSF'][1, 2, 1:-1, 0])*p['BElmntMass'][:])# 3nd mode acceleration in y + + # Cr + p['Cr'] = np.zeros((nq,3)) + p['Cr'][0,0]= -sum((p['RNodes']+rh)*np.squeeze(p['TwistedSF'][1, 0, 1:-1, 0])*p['BElmntMass'][:])# 1st mode acceleration about x axis (1) -> movement in negative y + p['Cr'][0,1]= sum((p['RNodes']+rh)*np.squeeze(p['TwistedSF'][0, 0, 1:-1, 0])*p['BElmntMass'][:])# 1st mode acceleration about y axis (2) -> movement in x + p['Cr'][1,0]= -sum((p['RNodes']+rh)*np.squeeze(p['TwistedSF'][1, 1, 1:-1, 0])*p['BElmntMass'][:])# 2nd mode acceleration about x axis (1) -> movement in negative y + p['Cr'][1,1]= sum((p['RNodes']+rh)*np.squeeze(p['TwistedSF'][0, 1, 1:-1, 0])*p['BElmntMass'][:])# 2nd mode acceleration about y axis (2) -> movement in x + p['Cr'][2,0]= -sum((p['RNodes']+rh)*np.squeeze(p['TwistedSF'][1, 2, 1:-1, 0])*p['BElmntMass'][:])# 3nd mode acceleration about x axis (1) -> movement in negative y + p['Cr'][2,1]= sum((p['RNodes']+rh)*np.squeeze(p['TwistedSF'][0, 2, 1:-1, 0])*p['BElmntMass'][:])# 3nd mode acceleration about y axis (2) -> movement in x + + # --- Oe, Oe_j = \int [~Phi_j] [~s] = { \int [~s] [~Phi_j] }^t = -1/2 *(Gr_j)^t + # M0: nq x 6 + # Straight blade: Oe6_j= [0, 0, 0, 0, szy, szx] + p['Oe6'] = np.zeros((nq,6)) + for j in np.arange(nq): + szx = sum((p['RNodes']+rh) * p['TwistedSF'][0, j, 1:-1, 0]*p['BElmntMass']) + szy = sum((p['RNodes']+rh) * p['TwistedSF'][1, j, 1:-1, 0]*p['BElmntMass']) + p['Oe6'][j,4] = szy + p['Oe6'][j,5] = szx + + # M1: nq x 6 x nq + #Oe = np.zeros((nf,3,3)) + #Oe6= np.zeros((nf,6)) + o=0 # derivative order 0=shape + Oe_M1 = np.zeros((nq,6,nq)) + SS=np.zeros((nq,nq,3,3)) + for j in np.arange(nq): + for k in np.arange(nq): + s=np.zeros((3,3)) + for i1 in [0,1]: # NOTE: z,2 is 0 + for i2 in [0,1]: # NOTE: z,2 is 0 + s[i1,i2] = sum(np.squeeze(p['TwistedSF'][i1, k, 1:-1, o])*np.squeeze(p['TwistedSF'][i2, j, 1:-1, o])*p['BElmntMass']) + SS[j,k,:,:]=s + #Oe6_j= [ -(syy+szz), -(sxx+szz), -(sxx+syy), sxy+syx, syz+szy, sxz+szx] + Oe_M1[j,:,k] = [-(s[1,1]+s[2,2]), -(s[0,0]+s[2,2]), -(s[0,0]+s[1,1]), s[0,1]+s[1,0], s[1,2]+s[2,1], s[0,2]+s[2,0] ] + p['SS_M1']=SS + # Centrifugal stiffening + # TODO TODO + # TODO TODO TODO + # Below is for flap1 + edge1 not flap1 flap2 edge + Oe_M1g = np.zeros((nq,6,nq)) + Oe_M1g[0,0,0]= p['KBFCent'][0,0]; + Oe_M1g[0,1,0]= p['KBFCent'][0,0]; + Oe_M1g[2,0,2]= p['KBECent'][0,0]; + Oe_M1g[2,1,2]= p['KBECent'][0,0]; + + p['Oe_M1'] = Oe_M1 + p['Oe_M1g'] = Oe_M1g + + + return p + + +def towerParameters(EDfilename, gravity, RotMass=None, noInertialCouplings=True): + """ + Compute tower parameters exactly like OpenFAST + See Routine Coeff from ElastoDyn.f90 + """ + from welib.yams.flexibility import polyshape + # --- Read inputs + ED = getEDClass(EDfilename) + EDtwr = os.path.join(os.path.dirname(ED.filename), ED['TwrFile'].replace('"','')) + twr = FASTInputFile(EDtwr) + twrProp = twr.toDataFrame() + n = ED['TwrNodes'] + + # --- + p=dict() + + # --- Main dimensions + p['TwrFlexL'] = ED['TowerHt'] - ED['TowerBsHt'] # Height / length of the flexible portion of the tower. + p['TwrNodes'] = ED['TwrNodes'] + n = ED['TwrNodes'] + nModesPerDir = 2 + nDeriv = 3 + # --- Spanwise nodes + twr_fract = np.arange(1./n/2., 1, 1./n) + p['DHNodes'] = np.ones(n)*p['TwrFlexL']/n + p['HNodes'] = twr_fract * p['TwrFlexL'] # NOTE: we don't add the TowerBsHt! + p['HNodesNorm'] = p['HNodes']/p['TwrFlexL'] + p['Twr_s_span'] = np.concatenate(([0], p['HNodesNorm'], [1]))*p['TwrFlexL']; # Midpoints + 0 and L + p['Twr_s_span_norm'] = p['Twr_s_span']/p['TwrFlexL'] + # --- Interpolate properties to new nodal positions + HtFract= twrProp['HtFract_[-]'].values + p['MassT'] = np.interp(p['HNodesNorm'], HtFract, twrProp['TMassDen_[kg/m]']) ; + p['StiffTFA'] = np.interp(p['HNodesNorm'], HtFract, twrProp['TwFAStif_[Nm^2]']) ; + p['StiffTSS'] = np.interp(p['HNodesNorm'], HtFract, twrProp['TwSSStif_[Nm^2]']) ; + p['m_full'] = np.interp(p['Twr_s_span_norm'],HtFract, twrProp['TMassDen_[kg/m]']) ; + p['EI_FA_full'] = np.interp(p['Twr_s_span_norm'], HtFract, twrProp['TwFAStif_[Nm^2]']) + p['EI_SS_full'] = np.interp(p['Twr_s_span_norm'], HtFract, twrProp['TwSSStif_[Nm^2]']) + # Shape coefficients + p['TwFAM1Sh'] = [twr[c] for c in ['TwFAM1Sh(2)', 'TwFAM1Sh(3)', 'TwFAM1Sh(4)', 'TwFAM1Sh(5)', 'TwFAM1Sh(6)']] + p['TwFAM2Sh'] = [twr[c] for c in ['TwFAM2Sh(2)', 'TwFAM2Sh(3)', 'TwFAM2Sh(4)', 'TwFAM2Sh(5)', 'TwFAM2Sh(6)']] + p['TwSSM1Sh'] = [twr[c] for c in ['TwSSM1Sh(2)', 'TwSSM1Sh(3)', 'TwSSM1Sh(4)', 'TwSSM1Sh(5)', 'TwSSM1Sh(6)']] + p['TwSSM2Sh'] = [twr[c] for c in ['TwSSM2Sh(2)', 'TwSSM2Sh(3)', 'TwSSM2Sh(4)', 'TwSSM2Sh(5)', 'TwSSM2Sh(6)']] + p['FAStTunr'] = [twr['FAStTunr(1)'], twr['FAStTunr(2)']] + p['SSStTunr'] = [twr['SSStTunr(1)'], twr['SSStTunr(2)']] + p['TwrFADmp'] = [twr['TwrFADmp(1)'], twr['TwrFADmp(2)']] + p['TwrSSDmp'] = [twr['TwrSSDmp(1)'], twr['TwrSSDmp(2)']] + # Calculate the tower-top mass: + p['TwrTpMass'] = RotMass + ED['NacMass'] + ED['YawBrMass']; + p['TElmntMass'] = p['MassT']*p['DHNodes'] # Mass of tower element J + p['TwrMass'] = sum(p['TElmntMass']) + # Mass above node + p['TMssAbvNd'] = np.zeros(n) + for J in np.arange(n-1,-1,-1): + p['TMssAbvNd'][J] = 0.5*p['TElmntMass'][J]; + if J == n-1: # Uppermost tower element + # Add the TwrTpMass effects: + p['TMssAbvNd'][J] = p['TMssAbvNd'][J] + p['TwrTpMass'] + else: # All other tower elements + # Add to TMssAbvNd'][J] the effects from the (not yet used) portion of element J+1 + p['TMssAbvNd'][J] = 0.5*p['TElmntMass'][J+1] + p['TMssAbvNd'][J] + p['TMssAbvNd'][J+1]; + + # --- Tower shape functions (all derivatives) for mode 1&2 FA and SS + p['TwrFASF'] = np.zeros((nModesPerDir, n+2, nDeriv)) # NOTE: full (+2) + p['TwrSSSF'] = np.zeros((nModesPerDir, n+2, nDeriv)) # NOTE: full (+2) + p['TwrFASF'][0,:,0],p['TwrFASF'][0,:,1],p['TwrFASF'][0,:,2] = polyshape(p['Twr_s_span'], coeff=p['TwFAM1Sh'], x_max=p['TwrFlexL'], doscale=False) + p['TwrFASF'][1,:,0],p['TwrFASF'][1,:,1],p['TwrFASF'][1,:,2] = polyshape(p['Twr_s_span'], coeff=p['TwFAM2Sh'], x_max=p['TwrFlexL'], doscale=False) + p['TwrSSSF'][0,:,0],p['TwrSSSF'][0,:,1],p['TwrSSSF'][0,:,2] = polyshape(p['Twr_s_span'], coeff=p['TwSSM1Sh'], x_max=p['TwrFlexL'], doscale=False) + p['TwrSSSF'][1,:,0],p['TwrSSSF'][1,:,1],p['TwrSSSF'][1,:,2] = polyshape(p['Twr_s_span'], coeff=p['TwSSM2Sh'], x_max=p['TwrFlexL'], doscale=False) + + # --- Generalized mass + p['MTFA'] = np.zeros((2, 2)) + p['MTSS'] = np.zeros((2, 2)) + for I in [0,1]: # Loop through all tower modes in a single direction + p['MTFA'][I,I] = p['TwrTpMass']; + p['MTSS'][I,I] = p['TwrTpMass']; + for I in [0,1]: # Loop through all tower DOFs in one direction + for L in [0,1]: # Loop through all tower DOFs in one direction + p['MTFA'][I,L] += sum(p['TElmntMass']*p['TwrFASF'][I,1:-1,0]*p['TwrFASF'][L,1:-1,0]) + p['MTSS'][I,L] += sum(p['TElmntMass']*p['TwrSSSF'][I,1:-1,0]*p['TwrSSSF'][L,1:-1,0]) + if noInertialCouplings: + p['MTFA'][0,1]=0 + p['MTFA'][1,0]=0 + p['MTSS'][0,1]=0 + p['MTSS'][1,0]=0 + + # --- Generalized stiffness + p['KTFA'] = np.zeros((nModesPerDir, nModesPerDir)) + p['KTSS'] = np.zeros((nModesPerDir, nModesPerDir)) + for I in [0,1]: # Loop through all tower DOFs in one direction + for L in [0,1]: # Loop through all tower DOFs in one direction + p['KTFA'][I,L] = sum(p['StiffTFA']*p['DHNodes']*p['TwrFASF'][I,1:-1,2]*p['TwrFASF'][L,1:-1,2]) + p['KTSS'][I,L] = sum(p['StiffTSS']*p['DHNodes']*p['TwrSSSF'][I,1:-1,2]*p['TwrSSSF'][L,1:-1,2]) + # --- Self-weight geometrical stiffness + p['KTFAGrav'] = np.zeros((nModesPerDir, nModesPerDir)) + p['KTSSGrav'] = np.zeros((nModesPerDir, nModesPerDir)) + for I in [0,1]: # Loop through all tower DOFs in one direction + p['KTFAGrav'][I,I] = sum( - p['TMssAbvNd']*p['DHNodes']*p['TwrFASF'][I,1:-1,1]**2)*gravity + p['KTSSGrav'][I,I] = sum( - p['TMssAbvNd']*p['DHNodes']*p['TwrSSSF'][I,1:-1,1]**2)*gravity + # --- Tower top geometric stiffness + p['KTFAGravTT'] = np.zeros((nModesPerDir, nModesPerDir)) + p['KTSSGravTT'] = np.zeros((nModesPerDir, nModesPerDir)) + for I in [0,1]: # Loop through all tower DOFs in one direction + # TODO CHECK SIGN + p['KTFAGravTT'][I,I] = sum(- p['TwrTpMass']* p['DHNodes']*p['TwrFASF'][I,1:-1,1]**2)*gravity + p['KTSSGravTT'][I,I] = sum(- p['TwrTpMass']* p['DHNodes']*p['TwrSSSF'][I,1:-1,1]**2)*gravity + # --- Integrate to find the tower axial reduction shape functions: + p['AxRedTFA']= np.zeros((nModesPerDir, nModesPerDir, n+2)) # NOTE: full (+2) + p['AxRedTSS']= np.zeros((nModesPerDir, nModesPerDir, n+2)) # NOTE: full (+2) + for J in np.arange(n): # Loop through the tower nodes / elements + AxRdTFA= np.zeros((2, 2)) + AxRdTSS= np.zeros((2, 2)) + for I in [0,1]: # Loop through all tower DOFs in one direction + for L in [0,1]: # Loop through all tower DOFs in one direction + AxRdTFA [I,L] = 0.5*p['DHNodes'][J]*p['TwrFASF'][I,J+1,1]*p['TwrFASF'][L,J,1]; + AxRdTSS [I,L] = 0.5*p['DHNodes'][J]*p['TwrSSSF'][I,J+1,1]*p['TwrSSSF'][L,J,1]; + p['AxRedTFA'][I,L,J+1] = AxRdTFA[I,L] + p['AxRedTSS'][I,L,J+1] = AxRdTSS[I,L] + if J != 0: # All but the lowermost tower element + # Add the effects from the (not yet used) portion of element J-1 + for I in [0,1]: # Loop through all tower DOFs in one direction + for L in [0,1]: # Loop through all tower DOFs in one direction + p['AxRedTFA'][I,L,J+1] += p['AxRedTFA'][I,L,J]+ AxRdTFAOld[I,L] + p['AxRedTSS'][I,L,J+1] += p['AxRedTSS'][I,L,J]+ AxRdTSSOld[I,L] + # Store the AxRdTFA and AxRdTSS terms of the current element (these will be used for the next element) + AxRdTFAOld = AxRdTFA; + AxRdTSSOld = AxRdTSS; + # Integrate to find the tower axial reduction shape functions at the tower-top: + for I in [0,1]: # Loop through all tower DOFs in one direction + for L in [0,1]: # Loop through all tower DOFs in one direction + p['AxRedTFA'][I,L,-1] = p['AxRedTFA'][I,L,-2] + AxRdTFAOld[I,L] + p['AxRedTSS'][I,L,-1] = p['AxRedTSS'][I,L,-2] + AxRdTSSOld[I,L] + # Apply the modal stiffness tuners of the tower to KTFA() and KTSS(): + for I in [0,1]: # Loop through all tower DOFs in one direction + for L in [0,1]: # Loop through all tower DOFs in one direction + p['KTFA'][I,L] = np.sqrt( p['FAStTunr'][I]*p['FAStTunr'][L] )*p['KTFA'][I,L] + p['KTSS'][I,L] = np.sqrt( p['SSStTunr'][I]*p['SSStTunr'][L] )*p['KTSS'][I,L] + # Calculate the tower natural frequencies: + p['FreqTFA'] = np.zeros((nModesPerDir, 3)) # NOTE: third frequency not computed by OpenFAST + p['FreqTSS'] = np.zeros((nModesPerDir, 3)) + p['CTFA'] = np.zeros((nModesPerDir, 2)) + p['CTSS'] = np.zeros((nModesPerDir, 2)) + for I in [0,1]: # Loop through all tower DOFs in one direction + allKTFAGrav= p['KTFAGrav'][I,I] + p['KTFAGravTT'][I,I] + allKTSSGrav= p['KTSSGrav'][I,I] + p['KTSSGravTT'][I,I] + p['FreqTFA'][I,0] = (1/2/np.pi)*np.sqrt( p['KTFA'][I,I] /( p['MTFA'][I,I] - p['TwrTpMass'] ) ) # Natural tower I-fore-aft frequency w/o gravitational destiffening nor tower-top mass effects + p['FreqTFA'][I,1] = (1/2/np.pi)*np.sqrt( ( p['KTFA'][I,I] + p['KTFAGrav'][I,I] )/ p['MTFA'][I,I] ) # Natural tower I-fore-aft frequency w/ gravitational destiffening and tower-top mass effects + p['FreqTFA'][I,2] = (1/2/np.pi)*np.sqrt( ( p['KTFA'][I,I] + allKTFAGrav )/ p['MTFA'][I,I] ) # Natural tower I-fore-aft frequency w/ gravitational destiffening and tower-top mass effects + p['FreqTSS'][I,0] = (1/2/np.pi)*np.sqrt( p['KTSS'][I,I] /( p['MTSS'][I,I] - p['TwrTpMass'] ) ) # Natural tower I-side-to-side frequency w/o gravitational destiffening nor tower-top mass effects + p['FreqTSS'][I,1] = (1/2/np.pi)*np.sqrt( ( p['KTSS'][I,I] + p['KTSSGrav'][I,I] )/ p['MTSS'][I,I] ) # Natural tower I-side-to-side frequency w/ gravitational destiffening and tower-top mass effects + p['FreqTSS'][I,2] = (1/2/np.pi)*np.sqrt( ( p['KTSS'][I,I] + allKTSSGrav )/ p['MTSS'][I,I] ) # Natural tower I-side-to-side frequency w/ gravitational destiffening and tower-top mass effects + # Calculate the generalized damping of the tower: + for I in [0,1]: # Loop through all tower DOFs in one direction + for L in [0,1]: # Loop through all tower DOFs in one direction + p['CTFA'][I,L] = ( 0.01*p['TwrFADmp'][L] )*p['KTFA'][I,L]/( np.pi*p['FreqTFA'][L,0] ); + p['CTSS'][I,L] = ( 0.01*p['TwrSSDmp'][L] )*p['KTSS'][I,L]/( np.pi*p['FreqTSS'][L,0] ); + + + # --- Shape functions (FA1 FA2 SS1 SS2) + nq=4 + nNodes=n+2 + p['U'] = np.zeros((nq, 3, nNodes)) + p['V'] = np.zeros((nq, 3, nNodes)) + p['K'] = np.zeros((nq, 3, nNodes)) + j=0 + for idir, name in zip((0,1),('FA','SS')): + for jm in [0,1]: + p['U'][j][idir,:] = p['Twr{}SF'.format(name)][jm, :, 0] + p['V'][j][idir,:] = p['Twr{}SF'.format(name)][jm, :, 1] + p['K'][j][idir,:] = p['Twr{}SF'.format(name)][jm, :, 2] + j+=1 + # --- Parameters consistent with "YAMS" flexibility module + p['s_span'] = p['Twr_s_span'] + p['m'] = p['m_full'] + p['EI'] = np.zeros((3,n+2)) + p['EI'][0,:] = p['EI_FA_full'] + p['EI'][1,:] = p['EI_SS_full'] + + p['s_G0'] = np.zeros((3, len(p['Twr_s_span']))) + p['s_G0'][2,:] = p['Twr_s_span'] # TODO add hub radius +# for k,v in p.items(): +# if hasattr(v, '__len__'): +# v = np.asarray(v) +# if len(v.shape)>=3: +# print('{:15s}:({})'.format(k,v.shape)) +# elif len(v.shape)==2: +# print('{:15s}:\n {} ({})'.format(k,v, v.shape)) +# else: +# n=len(v) +# print('{:15s}:{} ({})'.format(k,v,n)) +# else: +# print('{:15s}:{}'.format(k,v)) + + + # --- "purely" elastic mass + p['MTFA_e'] = p['MTFA'] + p['MTSS_e'] = p['MTSS'] + for I in [0,1]: #Loop through all tower modes in a single direction + p['MTFA_e'][I,I] = p['MTFA'][I,I] - p['TwrTpMass'] + p['MTSS_e'][I,I] = p['MTSS'][I,I] - p['TwrTpMass'] + + # TODO TODO TODO Check signs + p['KTFAGrav_nd'] = -p['KTFAGrav']/gravity # reverting to a dimensionless factor + p['KTSSGrav_nd'] = -p['KTSSGrav']/gravity # reverting to a dimensionless factor + p['KTFAGravTT_nd'] = -p['KTFAGravTT']/gravity/p['TwrTpMass'] # reverting to a dimensionless factor + p['KTSSGravTT_nd'] = -p['KTSSGravTT']/gravity/p['TwrTpMass'] # reverting to a dimensionless factor + + + return p + +def towerDerivedParameters(p): + """ Compute blade derived parameters, suitable for SID: + - Inertial matrices + - Stiffness matrices + The parameters are computed "by hand" (as opposed to using GMBeam) + NOTE: this function is mostly for debugging purposes. + Use GMBeam with method='OpenFAST' instead + + Order of shape functions: FA1 FA2 SS1 SS2 + """ + + # param.tower_Ct1_1_1_3= p.KTFAGrav(1, 1); + # param.tower_Ct1_2_2_3= p.KTSSGrav(1, 1); + + # param.tower_frame_11_origin1_1_1_1= 1; + # param.tower_frame_11_origin1_2_2_1= 1; + # param.tower_frame_11_phi1_1_3_1 = p.KTFAGravTT(1, 1) ; + # param.tower_frame_11_phi1_2_3_2 = p.KTSSGravTT(1, 1) ; + # param.tower_frame_11_psi0_1_2 = -p.TwrFASF(1, end, 2); + # param.tower_frame_11_psi0_2_1 = p.TwrSSSF(1, end, 2) ; + + nq = 4 + # --- Rigid mass matrix terms + p['mdCM'] = np.zeros((3)) + p['mdCM'][2]= sum(p['TElmntMass'][:]*(p['HNodes'])); + p['J'] = np.zeros((3,3)) + p['J'][0,0] = sum(p['TElmntMass'][:]*(p['HNodes'])**2) + p['J'][1,1] = sum(p['TElmntMass'][:]*(p['HNodes'])**2) + # --- Elastic matrices + p['Ke0'] = np.zeros((nq,nq)) # Without stiffening + p['De'] = np.zeros((nq,nq)) + p['Me'] = np.zeros((nq,nq)) + for I in [0,1]: # Loop through all tower DOFs in one direction + for L in [0,1]: # Loop through all tower DOFs in one direction + p['Me'][I ,L] = p['MTFA_e'][I, L] + p['Me'][I+2,L+2] = p['MTSS_e'][I, L] + p['Ke0'][I ,L] = p['KTFA'][I, L] + p['Ke0'][I+2,L+2] = p['KTSS'][I, L] + p['De'][I ,L] = p['CTFA'][I, L] + p['De'][I+2,L+2] = p['CTSS'][I, L] + + # --- Self-weight, and top mass geometrical stiffness + p['Kg_SW'] = np.zeros((nq,nq)) + p['Kg_TM'] = np.zeros((nq,nq)) + for I in [0,1]: + for L in [0,1]: # Loop through all tower DOFs in one direction + p['Kg_SW'][I, L] = p['KTFAGrav'][I,L] + p['Kg_SW'][I+2, L+2] = p['KTSSGrav'][I,L] + p['Kg_TM'][I, L] = p['KTFAGravTT'][I,L] + p['Kg_TM'][I+2, L+2] = p['KTSSGravTT'][I,L] + + p['Ke'] = p['Ke0'] + p['Kg_SW'] # + p['Kg_TM'] # NOTE: TM not included, needs further validation + # --- Elastic mass matrix terms + # Ct + p['Ct'] = np.zeros((nq,3)) + p['Ct'][0,0] = sum(np.squeeze(p['TwrFASF'][0, 1:-1, 0])*p['TElmntMass'][:]) + p['Ct'][1,0] = sum(np.squeeze(p['TwrFASF'][1, 1:-1, 0])*p['TElmntMass'][:]) + p['Ct'][2,1] = sum(np.squeeze(p['TwrSSSF'][0, 1:-1, 0])*p['TElmntMass'][:]) + p['Ct'][3,1] = sum(np.squeeze(p['TwrSSSF'][1, 1:-1, 0])*p['TElmntMass'][:]) + # Cr + p['Cr'] = np.zeros((nq,3)) + p['Cr'][0,1]= sum((p['HNodes'])*np.squeeze(p['TwrFASF'][0, 1:-1, 0])*p['TElmntMass'][:]) + p['Cr'][1,1]= sum((p['HNodes'])*np.squeeze(p['TwrFASF'][1, 1:-1, 0])*p['TElmntMass'][:]) + p['Cr'][2,0]= -sum((p['HNodes'])*np.squeeze(p['TwrSSSF'][0, 1:-1, 0])*p['TElmntMass'][:]) + p['Cr'][3,0]= -sum((p['HNodes'])*np.squeeze(p['TwrSSSF'][1, 1:-1, 0])*p['TElmntMass'][:]) + return p + + + +def ED_qDict2q(qDict): + """ + From a dictionary of values, return the flat array of degrees of freedom ordered liked ElastoDyn. + The dictionary is a convenient way to just specify few DOFs + Example: + qDict={'Hv':0} + """ + q = np.zeros(ED_MaxDOFs) + + qMAP = {'Sg':DOF_Sg,'Sw':DOF_Sw,'Hv':DOF_Hv, 'R':DOF_R, 'P':DOF_P, 'Y':DOF_Y} + qMAP.update({'TFA1':DOF_TFA1, 'TSS1':DOF_TSS1, 'TFA2':DOF_TFA2, 'TSS2':DOF_TSS2}) + qMAP.update({'Yaw':DOF_Yaw, 'RFrl':DOF_RFrl, 'GeAz':DOF_GeAz, 'DrTr':DOF_DrTr}) + + for k,v in qDict.items(): + if k not in qMAP.keys(): + raise Exception('Key {} not supported by qMAP'.format(k)) + if k=='TSS1' or k=='TSS2': + q[qMAP[k]] = -v # <<<< NOTE: DOF has a negative convention + else: + q[qMAP[k]] = v + return q + + +def EDVec2IEC(v, offset=None): + """ Convert a vector/array of coordinates from ElastoDyn coordinate system to IEC""" + if offset is None: + offset = np.array([0,0,0]) + v = np.asarray(v) + if len(v.shape)==1: + vIEC = np.array([ v[0]+offset[0], -v[2]+offset[1], v[1]+offset[2]]) + elif len(v.shape)==2 and v.shape[1]==3: + vIEC = np.column_stack( [ v[:,0]+offset[0], -v[:,2]+offset[1], v[:,1]+offset[2]] ) + else: + raise NotImplementedError() + return vIEC + +def EDSysVectoIECDCM(a1, a2, a3): + """ Return DCM from ElastoDyn coordsys vectors (in a different coordinate system)""" + R_g2t = np.zeros((3,3)) + R_g2t[:,0] = [ a1[0], -a3[0], a2[0]] + R_g2t[:,1] = [-a1[2], a3[2], -a2[2]] + R_g2t[:,2] = [ a1[1], -a3[1], a2[1]] + return R_g2t + +def EDSysVecRot(R,z1,z2,z3): + """ + Apply transformation matrix to vectors to obtain other vectors + """ + a1 = R[0,0]*z1 + R[0,1]*z2 + R[0,2]*z3 + a2 = R[1,0]*z1 + R[1,1]*z2 + R[1,2]*z3 + a3 = R[2,0]*z1 + R[2,1]*z2 + R[2,2]*z3 + return a1, a2 ,a3 + + + + +def ED_CoordSys(q=None, qDict=None, TwrFASF=None, TwrSSSF=None): + """ + Return ElastoDyn coordinate systems in ElastoDyn and IEC convention: + + See ElastoDyn line 5978 + See ElastoDyn line 1678 + + INPUTS: + - q + OR + - qDict + """ + # + if qDict is not None: + q = ED_qDict2q(qDict) + + + from welib.yams.rotations import smallRot_OF + # --- Inertial frame coordinate system: + z1 = np.array([ 1, 0, 0]) # Vector / direction z1 (= xi from the IEC coord. system). + z2 = np.array([ 0, 1, 0]) # Vector / direction z2 (= zi from the IEC coord. system). + z3 = np.array([ 0, 0, 1]) # Vector / direction z3 (= -yi from the IEC coord. system). + R_g2g = np.eye(3) + # --- Tower base / platform coordinate system: + # Vector / direction a1 (= xt from the IEC coord. system) + # Vector / direction a2 (= zt from the IEC coord. system) + # Vector / direction a3 (= -yt from the IEC coord. system) + R = smallRot_OF(q[DOF_R], q[DOF_Y], -q[DOF_P]) + a1, a2, a3 = EDSysVecRot(R, z1, z2, z3) + # IEC Coordinate system + R_g2t = EDSysVectoIECDCM(a1, a2, a3) + + # --- Tower element-fixed coordinate system: + # Vector / direction t1 for tower node J (= Lxt from the IEC coord. system). + # Vector / direction t2 for tower node J (= Lzt from the IEC coord. system). + # Vector / direction t3 for tower node J (= -Lyt from the IEC coord. system). + if TwrFASF is not None: + TwrNodes = TwrFASF.shape[1] - 2 + t1 = np.zeros((TwrNodes,3)) + t2 = np.zeros((TwrNodes,3)) + t3 = np.zeros((TwrNodes,3)) + R_g2Ts = np.zeros((TwrNodes,3,3))# List of transformations from global to tower elements + for j in range(TwrNodes): + # Slope V: Mode 1 V Mode 2 V + ThetaFA = -TwrFASF[0,j,1]*q[DOF_TFA1] - TwrFASF[1,j,1]*q[DOF_TFA2] + ThetaSS = TwrSSSF[0,j,1]*q[DOF_TSS1] + TwrSSSF[1,j,1]*q[DOF_TSS2] + R = smallRot_OF(ThetaSS, 0, ThetaFA) + t1[j,:], t2[j,:], t3[j,:] = EDSysVecRot(R, a1, a2, a3) + R_g2Ts[j,:,:] =EDSysVectoIECDCM(t1[j,:], t2[j,:], t3[j,:]) + + # --- Tower-top / base plate coordinate system: + # Slope V: Mode 1 V Mode 2 V + #print('>>> Coupling coeffs FA', -TwrFASF[0,-1,1], -TwrFASF[0,-1,1]) + #print('>>> Coupling coeffs SS', TwrSSSF[0,-1,1], TwrSSSF[0,-1,1]) + ThetaFA = -TwrFASF[0,-1,1]*q[DOF_TFA1] - TwrFASF[1,-1,1]*q[DOF_TFA2] + ThetaSS = TwrSSSF[0,-1,1]*q[DOF_TSS1] + TwrSSSF[1,-1,1]*q[DOF_TSS2] + R = smallRot_OF(ThetaSS, 0, ThetaFA) + b1, b2, b3 = EDSysVecRot(R, a1, a2, a3) + R_g2b = EDSysVectoIECDCM(b1, b2, b3) + else: + t1, t2, t3 = None, None, None + R_g2Ts = None + + b1, b2, b3 = a1, a2, a3 + R_g2b = R_g2t + + # --- Nacelle / yaw coordinate system: + CNacYaw = np.cos(q[DOF_Yaw]) + SNacYaw = np.sin(q[DOF_Yaw]) + d1 = CNacYaw*b1 - SNacYaw*b3 # Vector / direction d1 (= xn from the IEC coord. system). + d2 = b2 # Vector / direction d2 (= zn from the IEC coord. system). + d3 = SNacYaw*b1 + CNacYaw*b3 # Vector / direction d3 (= -yn from the IEC coord. system). + R_g2n = EDSysVectoIECDCM(d1, d2, d3) + + # --- To be continued + # ... + # ! Rotor-furl coordinate system: + # + # CRotFurl = COS( x%QT(DOF_RFrl) ) + # SRotFurl = SIN( x%QT(DOF_RFrl) ) + # + # CoordSys%rf1 = ( ( 1.0 - p%CRFrlSkw2*p%CRFrlTlt2 )*CRotFurl + p%CRFrlSkw2*p%CRFrlTlt2 )*CoordSys%d1 & + # + ( p%CRFrlSkew*p%CSRFrlTlt*( 1.0 - CRotFurl ) - p%SRFrlSkew*p%CRFrlTilt*SRotFurl )*CoordSys%d2 & + # + ( p%CSRFrlSkw*p%CRFrlTlt2*( CRotFurl - 1.0 ) - p%SRFrlTilt*SRotFurl )*CoordSys%d3 + # CoordSys%rf2 = ( p%CRFrlSkew*p%CSRFrlTlt*( 1.0 - CRotFurl ) + p%SRFrlSkew*p%CRFrlTilt*SRotFurl )*CoordSys%d1 & + # + ( p%CRFrlTlt2* CRotFurl + p%SRFrlTlt2 )*CoordSys%d2 & + # + ( p%SRFrlSkew*p%CSRFrlTlt*( CRotFurl - 1.0 ) + p%CRFrlSkew*p%CRFrlTilt*SRotFurl )*CoordSys%d3 + # CoordSys%rf3 = ( p%CSRFrlSkw*p%CRFrlTlt2*( CRotFurl - 1.0 ) + p%SRFrlTilt*SRotFurl )*CoordSys%d1 & + # + ( p%SRFrlSkew*p%CSRFrlTlt*( CRotFurl - 1.0 ) - p%CRFrlSkew*p%CRFrlTilt*SRotFurl )*CoordSys%d2 & + # + ( ( 1.0 - p%SRFrlSkw2*p%CRFrlTlt2 )*CRotFurl + p%SRFrlSkw2*p%CRFrlTlt2 )*CoordSys%d3 + # CoordSys%rfa = p%CRFrlSkew*p%CRFrlTilt*CoordSys%d1 + p%SRFrlTilt*CoordSys%d2 - p%SRFrlSkew*p%CRFrlTilt*CoordSys%d3 + # + # + # ! Shaft coordinate system: + # CoordSys%c1 = p%CShftSkew*p%CShftTilt*CoordSys%rf1 + p%SShftTilt*CoordSys%rf2 - p%SShftSkew*p%CShftTilt*CoordSys%rf3 ! Vector / direction c1 (= xs from the IEC coord. system). + # CoordSys%c2 = -p%CShftSkew*p%SShftTilt*CoordSys%rf1 + p%CShftTilt*CoordSys%rf2 + p%SShftSkew*p%SShftTilt*CoordSys%rf3 ! Vector / direction c2 (= zs from the IEC coord. system). + # CoordSys%c3 = p%SShftSkew* CoordSys%rf1 + p%CShftSkew* CoordSys%rf3 ! Vector / direction c3 (= -ys from the IEC coord. system). + # ! Azimuth coordinate system: + # CAzimuth = COS( x%QT(DOF_DrTr) + x%QT(DOF_GeAz) ) + # SAzimuth = SIN( x%QT(DOF_DrTr) + x%QT(DOF_GeAz) ) + # CoordSys%e1 = CoordSys%c1 ! Vector / direction e1 (= xa from the IEC coord. system). + # CoordSys%e2 = CAzimuth*CoordSys%c2 + SAzimuth*CoordSys%c3 ! Vector / direction e2 (= ya from the IEC coord. system). + # CoordSys%e3 = -SAzimuth*CoordSys%c2 + CAzimuth*CoordSys%c3 ! Vector / direction e3 (= za from the IEC coord. system). + # ! Teeter coordinate system: + # ! Lets define TeetAng, which is the current teeter angle (= QT(DOF_Teet) for + # ! 2-blader or 0 for 3-blader) and is used in place of QT(DOF_Teet) + # ! throughout SUBROUTINE RtHS(). Doing it this way, we can run the same + # ! equations of motion for both the 2 and 3-blader configurations even + # ! though a 3-blader does not have a teetering DOF. + # IF ( p%NumBl == 2 ) THEN ! 2-blader + # dat%TeetAng = x%QT (DOF_Teet) + # dat%TeetAngVel = x%QDT(DOF_Teet) + # ELSE ! 3-blader + # dat%TeetAng = 0.0 ! Teeter is not an available DOF for a 3-blader + # dat%TeetAngVel = 0.0 ! Teeter is not an available DOF for a 3-blader + # ENDIF + # CTeetAng = COS( dat%TeetAng ) + # STeetAng = SIN( dat%TeetAng ) + # CoordSys%f1 = CTeetAng*CoordSys%e1 - STeetAng*CoordSys%e3 ! Vector / direction f1. + # CoordSys%f2 = CoordSys%e2 ! Vector / direction f2. + # CoordSys%f3 = STeetAng*CoordSys%e1 + CTeetAng*CoordSys%e3 ! Vector / direction f3. + # ! Hub / delta-3 coordinate system: + # CoordSys%g1 = CoordSys%f1 ! Vector / direction g1 (= xh from the IEC coord. system). + # CoordSys%g2 = p%CosDel3*CoordSys%f2 + p%SinDel3*CoordSys%f3 ! Vector / direction g2 (= yh from the IEC coord. system). + # CoordSys%g3 = -p%SinDel3*CoordSys%f2 + p%CosDel3*CoordSys%f3 ! Vector / direction g3 (= zh from the IEC coord. system). + # DO K = 1,p%NumBl ! Loop through all blades + # ! Hub (Prime) coordinate system rotated to match blade K. + # gRotAng = p%TwoPiNB*(K-1) + # CgRotAng = COS( gRotAng ) + # SgRotAng = SIN( gRotAng ) + # g1Prime = CoordSys%g1 + # g2Prime = CgRotAng*CoordSys%g2 + SgRotAng*CoordSys%g3 + # g3Prime = -SgRotAng*CoordSys%g2 + CgRotAng*CoordSys%g3 + # ! Coned coordinate system: + # CoordSys%i1(K,:) = p%CosPreC(K)*g1Prime - p%SinPreC(K)*g3Prime ! i1(K,:) = vector / direction i1 for blade K (= xcK from the IEC coord. system). + # CoordSys%i2(K,:) = g2Prime ! i2(K,:) = vector / direction i2 for blade K (= ycK from the IEC coord. system). + # CoordSys%i3(K,:) = p%SinPreC(K)*g1Prime + p%CosPreC(K)*g3Prime ! i3(K,:) = vector / direction i3 for blade K (= zcK from the IEC coord. system). + # ! Blade / pitched coordinate system: + # CosPitch = COS( REAL(BlPitch(K),R8Ki) ) + # SinPitch = SIN( REAL(BlPitch(K),R8Ki) ) + # CoordSys%j1(K,:) = CosPitch*CoordSys%i1(K,:) - SinPitch*CoordSys%i2(K,:) ! j1(K,:) = vector / direction j1 for blade K (= xbK from the IEC coord. system). + # CoordSys%j2(K,:) = SinPitch*CoordSys%i1(K,:) + CosPitch*CoordSys%i2(K,:) ! j2(K,:) = vector / direction j2 for blade K (= ybK from the IEC coord. system). + # CoordSys%j3(K,:) = CoordSys%i3(K,:) ! j3(K,:) = vector / direction j3 for blade K (= zbK from the IEC coord. system). + # DO J = 0,p%TipNode ! Loop through the blade nodes / elements + # ! Blade coordinate system aligned with local structural axes (not element fixed): + # Lj1 = p%CThetaS(K,J)*CoordSys%j1(K,:) - p%SThetaS(K,J)*CoordSys%j2(K,:) ! vector / direction Lj1 at node J for blade K + # Lj2 = p%SThetaS(K,J)*CoordSys%j1(K,:) + p%CThetaS(K,J)*CoordSys%j2(K,:) ! vector / direction Lj2 at node J for blade K + # Lj3 = CoordSys%j3(K,:) ! vector / direction Lj3 at node J for blade K + # ! Blade element-fixed coordinate system aligned with local structural axes: + # ThetaOoP = p%TwistedSF(K,1,1,J,1)*x%QT( DOF_BF(K,1) ) & + # + p%TwistedSF(K,1,2,J,1)*x%QT( DOF_BF(K,2) ) & + # + p%TwistedSF(K,1,3,J,1)*x%QT( DOF_BE(K,1) ) + # ThetaIP = - p%TwistedSF(K,2,1,J,1)*x%QT( DOF_BF(K,1) ) & + # - p%TwistedSF(K,2,2,J,1)*x%QT( DOF_BF(K,2) ) & + # - p%TwistedSF(K,2,3,J,1)*x%QT( DOF_BE(K,1) ) + # ThetaLxb = p%CThetaS(K,J)*ThetaIP - p%SThetaS(K,J)*ThetaOoP + # ThetaLyb = p%SThetaS(K,J)*ThetaIP + p%CThetaS(K,J)*ThetaOoP + # CALL SmllRotTrans( 'blade deflection (ElastoDyn SetCoordSy)', ThetaLxb, ThetaLyb, 0.0_R8Ki, TransMat, TRIM(Num2LStr(t))//' s', ErrStat2, ErrMsg2 ) ! Get the transformation matrix, TransMat, from blade coordinate system aligned with local structural axes (not element fixed) to blade element-fixed coordinate system aligned with local structural axes. + # CoordSys%n1(K,J,:) = TransMat(1,1)*Lj1 + TransMat(1,2)*Lj2 + TransMat(1,3)*Lj3 ! Vector / direction n1 for node J of blade K (= LxbK from the IEC coord. system). + # CoordSys%n2(K,J,:) = TransMat(2,1)*Lj1 + TransMat(2,2)*Lj2 + TransMat(2,3)*Lj3 ! Vector / direction n2 for node J of blade K (= LybK from the IEC coord. system). + # CoordSys%n3(K,J,:) = TransMat(3,1)*Lj1 + TransMat(3,2)*Lj2 + TransMat(3,3)*Lj3 ! Vector / direction n3 for node J of blade K (= LzbK from the IEC coord. system). + # ! skip these next CoordSys variables at the root and the tip; they are required only for AD14: + # if (j == 0 .or. j==p%TipNode) cycle + # ! Blade element-fixed coordinate system used for calculating and returning + # ! aerodynamics loads: + # ! This coordinate system is rotated about positive n3 by the angle + # ! BlPitch(K) + ThetaS(K,J) and is coincident with the i-vector triad + # ! when the blade is undeflected. + # CPitPTwstS = CosPitch*p%CThetaS(K,J) - SinPitch*p%SThetaS(K,J) ! = COS( BlPitch(K) + ThetaS(K,J) ) found using the sum of angles formulae of cosine. + # SPitPTwstS = CosPitch*p%SThetaS(K,J) + SinPitch*p%CThetaS(K,J) ! = SIN( BlPitch(K) + ThetaS(K,J) ) found using the sum of angles formulae of sine. + # CoordSys%m1(K,J,:) = CPitPTwstS*CoordSys%n1(K,J,:) + SPitPTwstS*CoordSys%n2(K,J,:) ! m1(K,J,:) = vector / direction m1 for node J of blade K (used to calc. and return aerodynamic loads from AeroDyn). + # CoordSys%m2(K,J,:) = -SPitPTwstS*CoordSys%n1(K,J,:) + CPitPTwstS*CoordSys%n2(K,J,:) ! m2(K,J,:) = vector / direction m2 for node J of blade K (used to calc. and return aerodynamic loads from AeroDyn). + # CoordSys%m3(K,J,:) = CoordSys%n3(K,J,:) ! m3(K,J,:) = vector / direction m3 for node J of blade K (used to calc. and return aerodynamic loads from AeroDyn). + # ! Calculate the trailing edge coordinate system used in noise calculations. + # ! This coordinate system is blade element-fixed and oriented with the local + # ! aerodynamic axes (te2 points toward trailing edge, te1 points toward + # ! suction surface): + # CPitPTwstA = CosPitch*p%CAeroTwst(J) - SinPitch*p%SAeroTwst(J) ! = COS( BlPitch(K) + AeroTwst(J) ) found using the sum of angles formulae of cosine. + # SPitPTwstA = CosPitch*p%SAeroTwst(J) + SinPitch*p%CAeroTwst(J) ! = SIN( BlPitch(K) + AeroTwst(J) ) found using the sum of angles formulae of sine. + # CoordSys%te1(K,J,:) = CPitPTwstA*CoordSys%m1(K,J,:) - SPitPTwstA*CoordSys%m2(K,J,:) ! te1(K,J,:) = vector / direction te1 for node J of blade K (used to calc. noise and to calc. and return aerodynamic loads from AeroDyn). + # CoordSys%te2(K,J,:) = SPitPTwstA*CoordSys%m1(K,J,:) + CPitPTwstA*CoordSys%m2(K,J,:) ! te2(K,J,:) = vector / direction te2 for node J of blade K (used to calc. noise and to calc. and return aerodynamic loads from AeroDyn). + # CoordSys%te3(K,J,:) = CoordSys%m3(K,J,:) ! te3(K,J,:) = vector / direction te3 for node J of blade K (used to calc. noise and to calc. and return aerodynamic loads from AeroDyn). + # ENDDO ! J - Blade nodes / elements + # ENDDO ! K - Blades + # ! Tail-furl coordinate system: + # CTailFurl = COS( x%QT(DOF_TFrl) ) + # STailFurl = SIN( x%QT(DOF_TFrl) ) + # CoordSys%tf1 = ( ( 1.0 - p%CTFrlSkw2*p%CTFrlTlt2 )*CTailFurl + p%CTFrlSkw2*p%CTFrlTlt2 )*CoordSys%d1 & + # + ( p%CTFrlSkew*p%CSTFrlTlt*( 1.0 - CTailFurl ) - p%STFrlSkew*p%CTFrlTilt*STailFurl )*CoordSys%d2 & + # + ( p%CSTFrlSkw*p%CTFrlTlt2*( CTailFurl - 1.0 ) - p%STFrlTilt*STailFurl )*CoordSys%d3 + # CoordSys%tf2 = ( p%CTFrlSkew*p%CSTFrlTlt*( 1.0 - CTailFurl ) + p%STFrlSkew*p%CTFrlTilt*STailFurl )*CoordSys%d1 & + # + ( p%CTFrlTlt2* CTailFurl + p%STFrlTlt2 )*CoordSys%d2 & + # + ( p%STFrlSkew*p%CSTFrlTlt*( CTailFurl - 1.0 ) + p%CTFrlSkew*p%CTFrlTilt*STailFurl )*CoordSys%d3 + # CoordSys%tf3 = ( p%CSTFrlSkw*p%CTFrlTlt2*( CTailFurl - 1.0 ) + p%STFrlTilt*STailFurl )*CoordSys%d1 & + # + ( p%STFrlSkew*p%CSTFrlTlt*( CTailFurl - 1.0 ) - p%CTFrlSkew*p%CTFrlTilt*STailFurl )*CoordSys%d2 & + # + ( ( 1.0 - p%STFrlSkw2*p%CTFrlTlt2 )*CTailFurl + p%STFrlSkw2*p%CTFrlTlt2 )*CoordSys%d3 + # CoordSys%tfa = p%CTFrlSkew*p%CTFrlTilt*CoordSys%d1 + p%STFrlTilt*CoordSys%d2 - p%STFrlSkew*p%CTFrlTilt*CoordSys%d3 + # R_ + + CoordSys = dict() + # ED + CoordSys['z1'] = z1 + CoordSys['z2'] = z2 + CoordSys['z3'] = z3 + CoordSys['a1'] = a1 + CoordSys['a2'] = a2 + CoordSys['a3'] = a3 + CoordSys['t1'] = t1 + CoordSys['t2'] = t2 + CoordSys['t3'] = t3 + CoordSys['d1'] = d1 + CoordSys['d2'] = d2 + CoordSys['d3'] = d3 + # IEC + CoordSys['R_g2f'] = R_g2t + CoordSys['R_g2t'] = R_g2t + CoordSys['R_g2Ts'] = R_g2Ts # To tower elements + CoordSys['R_g2n'] = R_g2n # To nacelle (including nacelle yaw) + return CoordSys + + +def ED_Positions(q=None, qDict=None, CoordSys=None, p=None, dat=None, IEC=None): + """ + See ElastoDyn.f90 CalculatePositions + # !> This routine is used to calculate the positions stored in other states that are used in both the + # !! CalcOutput and CalcContStateDeriv routines. + # SUBROUTINE CalculatePositions( p, x, CoordSys, dat ) + """ + if qDict is not None: + QT = ED_qDict2q(qDict) + else: + QT = q + + if dat is None: + dat = dict() + TTopNode=-1 + # Define the position vectors between the various points on the wind turbine + # that are not dependent on the distributed tower or blade parameters: + dat['rZ'] = QT[DOF_Sg]* CoordSys['z1'] + QT[DOF_Hv] * CoordSys['z2'] - QT[DOF_Sw]* CoordSys['z3'] # Position vector from inertia frame origin to platform reference (point Z). + dat['rZY'] = p['rZYzt']* CoordSys['a2'] + p['PtfmCMxt']*CoordSys['a1'] - p['PtfmCMyt']*CoordSys['a3'] # Position vector from platform reference (point Z) to platform mass center (point Y). + dat['rZT0'] = p['rZT0zt']* CoordSys['a2'] # Position vector from platform reference (point Z) to tower base (point T(0)) + dat['rZO'] = ( QT[DOF_TFA1] + QT[DOF_TFA2] )*CoordSys['a1'] # Position vector from platform reference (point Z) to tower-top / base plate (point O). + dat['rZO'] += ( p['RefTwrHt'] - 0.5*( p['AxRedTFA'][0,0,TTopNode]*QT[DOF_TFA1]*QT[DOF_TFA1] \ + + p['AxRedTFA'][1,1,TTopNode]*QT[DOF_TFA2]*QT[DOF_TFA2] \ + + 2.0*p['AxRedTFA'][0,1,TTopNode]*QT[DOF_TFA1]*QT[DOF_TFA2] \ + + p['AxRedTSS'][0,0,TTopNode]*QT[DOF_TSS1]*QT[DOF_TSS1] \ + + p['AxRedTSS'][1,1,TTopNode]*QT[DOF_TSS2]*QT[DOF_TSS2] \ + + 2.0*p['AxRedTSS'][0,1,TTopNode]*QT[DOF_TSS1]*QT[DOF_TSS2] ))*CoordSys['a2'] + dat['rZO'] += ( QT[DOF_TSS1] + QT[DOF_TSS2])*CoordSys['a3'] + dat['rOU'] = p['NacCMxn']*CoordSys['d1'] + p['NacCMzn'] *CoordSys['d2'] - p['NacCMyn'] *CoordSys['d3'] # Position vector from tower-top / base plate (point O) to nacelle center of mass (point U). +# dat['rOV'] = p['RFrlPnt_n(1)*CoordSys['d1 + p['RFrlPnt_n(3)*CoordSys['d2 - p['RFrlPnt_n(2)*CoordSys['d3 ! Position vector from tower-top / base plate (point O) to specified point on rotor-furl axis (point V). +# dat['rVIMU'] = p['rVIMUxn*CoordSys['rf1 + p['rVIMUzn *CoordSys['rf2 - p['rVIMUyn *CoordSys['rf3 ! Position vector from specified point on rotor-furl axis (point V) to nacelle IMU (point IMU). +# dat['rVD'] = p['rVDxn*CoordSys['rf1 + p['rVDzn *CoordSys['rf2 - p['rVDyn *CoordSys['rf3 ! Position vector from specified point on rotor-furl axis (point V) to center of mass of structure that furls with the rotor (not including rotor) (point D). +# dat['rVP'] = p['rVPxn*CoordSys['rf1 + p['rVPzn *CoordSys['rf2 - p['rVPyn *CoordSys['rf3 + p['OverHang*CoordSys['c1 ! Position vector from specified point on rotor-furl axis (point V) to teeter pin (point P). +# dat['rPQ'] = -p['UndSling*CoordSys['g1 ! Position vector from teeter pin (point P) to apex of rotation (point Q). +# dat['rQC'] = p['HubCM*CoordSys['g1 ! Position vector from apex of rotation (point Q) to hub center of mass (point C). +# dat['rOW'] = p['TFrlPnt_n(1)*CoordSys['d1 + p['TFrlPnt_n(3) *CoordSys['d2 - p['TFrlPnt_n(2)*CoordSys['d3 ! Position vector from tower-top / base plate (point O) to specified point on tail-furl axis (point W). +# dat['rWI'] = p['rWIxn*CoordSys['tf1 + p['rWIzn*CoordSys['tf2 - p['rWIyn*CoordSys['tf3 ! Position vector from specified point on tail-furl axis (point W) to tail boom center of mass (point I). +# dat['rWJ'] = p['rWJxn*CoordSys['tf1 + p['rWJzn*CoordSys['tf2 - p['rWJyn*CoordSys['tf3 ! Position vector from specified point on tail-furl axis (point W) to tail fin center of mass (point J). +# dat['rPC'] = dat['rPQ'] + dat['rQC'] # Position vector from teeter pin (point P) to hub center of mass (point C). + dat['rT0O'] = dat['rZO'] - dat['rZT0'] # Position vector from the tower base (point T(0)) to tower-top / base plate (point O). + dat['rO'] = dat['rZ'] + dat['rZO'] # Position vector from inertial frame origin to tower-top / base plate (point O). +# dat['rV'] = dat['rO'] + dat['rOV'] # Position vector from inertial frame origin to specified point on rotor-furl axis (point V) +# !dat['rP'] = dat['rO'] + dat['rOV'] + dat['rVP'] # Position vector from inertial frame origin to teeter pin (point P). +# dat['rP'] = dat['rV'] + dat['rVP'] # Position vector from inertial frame origin to teeter pin (point P). +# dat['rQ'] = dat['rP'] + dat['rPQ'] # Position vector from inertial frame origin to apex of rotation (point Q). +# dat['rJ'] = dat['rO'] + dat['rOW']+ dat['rWJ'] # Position vector from inertial frame origin to tail fin center of mass (point J).' +# +# +# DO K = 1,p['NumBl ! Loop through all blades +# ! Calculate the position vector of the tip: +# dat['rS0S(:,K,p['TipNode) = ( p['TwistedSF(K,1,1,p['TipNode,0)*QT( DOF_BF(K,1) ) & ! Position vector from the blade root (point S(0)) to the blade tip (point S(p['BldFlexL)). +# + p['TwistedSF(K,1,2,p['TipNode,0)*QT( DOF_BF(K,2) ) & +# + p['TwistedSF(K,1,3,p['TipNode,0)*QT( DOF_BE(K,1) ) )*CoordSys['j1(K,:) & +# + ( p['TwistedSF(K,2,1,p['TipNode,0)*QT( DOF_BF(K,1) ) & +# + p['TwistedSF(K,2,2,p['TipNode,0)*QT( DOF_BF(K,2) ) & +# + p['TwistedSF(K,2,3,p['TipNode,0)*QT( DOF_BE(K,1) ) )*CoordSys['j2(K,:) & +# + ( p['BldFlexL - 0.5* & +# ( p['AxRedBld(K,1,1,p['TipNode)*QT( DOF_BF(K,1) )*QT( DOF_BF(K,1) ) & +# + p['AxRedBld(K,2,2,p['TipNode)*QT( DOF_BF(K,2) )*QT( DOF_BF(K,2) ) & +# + p['AxRedBld(K,3,3,p['TipNode)*QT( DOF_BE(K,1) )*QT( DOF_BE(K,1) ) & +# + 2.*p['AxRedBld(K,1,2,p['TipNode)*QT( DOF_BF(K,1) )*QT( DOF_BF(K,2) ) & +# + 2.*p['AxRedBld(K,2,3,p['TipNode)*QT( DOF_BF(K,2) )*QT( DOF_BE(K,1) ) & +# + 2.*p['AxRedBld(K,1,3,p['TipNode)*QT( DOF_BF(K,1) )*QT( DOF_BE(K,1) ) ) )*CoordSys['j3(K,:) +# dat['rQS (:,K,p['TipNode) = dat['rS0S(:,K,p['TipNode) + p['HubRad*CoordSys['j3(K,:) ! Position vector from apex of rotation (point Q) to the blade tip (point S(p['BldFlexL)). +# dat['rS (:,K,p['TipNode) = dat['rQS (:,K,p['TipNode) + dat['rQ ! Position vector from inertial frame origin to the blade tip (point S(p['BldFlexL)). +# +# ! position vectors for blade root node: +# dat['rQS (:,K,0) = p['HubRad*CoordSys['j3(K,:) +# dat['rS (:,K,0) = p['HubRad*CoordSys['j3(K,:) + dat['rQ +# ! Calculate the position vector from the teeter pin to the blade root: +# dat['rPS0(:,K) = dat['rPQ + p['HubRad*CoordSys['j3(K,:) ! Position vector from teeter pin (point P) to blade root (point S(0)). +# DO J = 1,p['BldNodes ! Loop through the blade nodes / elements +# ! Calculate the position vector of the current node: +# dat['rS0S(:,K,J) = ( p['TwistedSF(K,1,1,J,0)*QT( DOF_BF(K,1) ) & ! Position vector from the blade root (point S(0)) to the current node (point S(RNodes(J)). +# + p['TwistedSF(K,1,2,J,0)*QT( DOF_BF(K,2) ) & +# + p['TwistedSF(K,1,3,J,0)*QT( DOF_BE(K,1) ) )*CoordSys['j1(K,:) & +# + ( p['TwistedSF(K,2,1,J,0)*QT( DOF_BF(K,1) ) & +# + p['TwistedSF(K,2,2,J,0)*QT( DOF_BF(K,2) ) & +# + p['TwistedSF(K,2,3,J,0)*QT( DOF_BE(K,1) ) )*CoordSys['j2(K,:) & +# + ( p['RNodes(J) - 0.5* & +# ( p['AxRedBld(K,1,1,J)*QT( DOF_BF(K,1) )*QT( DOF_BF(K,1) ) & +# + p['AxRedBld(K,2,2,J)*QT( DOF_BF(K,2) )*QT( DOF_BF(K,2) ) & +# + p['AxRedBld(K,3,3,J)*QT( DOF_BE(K,1) )*QT( DOF_BE(K,1) ) & +# + 2.0*p['AxRedBld(K,1,2,J)*QT( DOF_BF(K,1) )*QT( DOF_BF(K,2) ) & +# + 2.0*p['AxRedBld(K,2,3,J)*QT( DOF_BF(K,2) )*QT( DOF_BE(K,1) ) & +# + 2.0*p['AxRedBld(K,1,3,J)*QT( DOF_BF(K,1) )*QT( DOF_BE(K,1) ) ) )*CoordSys['j3(K,:) +# dat['rQS (:,K,J) = dat['rS0S(:,K,J) + p['HubRad*CoordSys['j3(K,:) ! Position vector from apex of rotation (point Q) to the current node (point S(RNodes(J)). +# dat['rS (:,K,J) = dat['rQS (:,K,J) + dat['rQ ! Position vector from inertial frame origin to the current node (point S(RNodes(J)). +# END DO !J = 1,p['BldNodes ! Loop through the blade nodes / elements +# END DO !K = 1,p['NumBl + # --- Tower element positions + TwrNodes = p['TwrFASF'].shape[1] - 2 + dat['rZT'] = np.zeros((TwrNodes+1,3)) + dat['rT0T'] = np.zeros((TwrNodes,3)) + dat['rT'] = np.zeros((TwrNodes,3)) + dat['rZT'][0,:] = dat['rZT0'] + # TODO vectorize + # TODO TODO TODO check that this is correct due to messy ED indexing (some starting at 0 some at 1) + for j in range(TwrNodes): + jj=j+1 + # Calculate the position vector of the current node: + dat['rT0T'][j,:] = ( p['TwrFASF'][0,jj,0]*QT[DOF_TFA1] + p['TwrFASF'][1,jj,0]*QT[DOF_TFA2] )*CoordSys['a1']# Position vector from base of flexible portion of tower (point T(0)) to current node (point T(j)). + dat['rT0T'][j,:] += + ( p['HNodes'][j] - 0.5*( p['AxRedTFA'][0,0,j]*QT[DOF_TFA1]*QT[DOF_TFA1] \ + + p['AxRedTFA'][1,1,jj]*QT[DOF_TFA2]*QT[DOF_TFA2] \ + + 2.0*p['AxRedTFA'][0,1,jj]*QT[DOF_TFA1]*QT[DOF_TFA2] \ + + p['AxRedTSS'][0,0,jj]*QT[DOF_TSS1]*QT[DOF_TSS1] \ + + p['AxRedTSS'][1,1,jj]*QT[DOF_TSS2]*QT[DOF_TSS2] \ + + 2.0*p['AxRedTSS'][0,1,jj]*QT[DOF_TSS1]*QT[DOF_TSS2] ) )*CoordSys['a2'] + dat['rT0T'][j,:] += ( p['TwrSSSF'][0,jj,0]*QT[DOF_TSS1] + p['TwrSSSF'][1,jj,0]*QT[DOF_TSS2] )*CoordSys['a3'] + dat['rZT'][jj,:] = dat['rZT0'] + dat['rT0T'][j,:] # Position vector from platform reference (point Z) to the current node (point T(HNodes(j)). + dat['rT'][j,:] = dat['rZ'] + dat['rZT'][jj,:] # Position vector from inertial frame origin to the current node (point T(HNodes(j)). + + + # --- IEC + if IEC is None: + IEC = dict() + IEC['r_F0'] = np.array([0,0,p['PtfmRefzt']]) + IEC['r_F'] = EDVec2IEC(dat['rZ']) + IEC['r_F0'] # ED ReftPtfm point + IEC['r_FT'] = EDVec2IEC(dat['rZT0']) # Tower base from Floater + IEC['r_T'] = IEC['r_F'] + IEC['r_FT'] + IEC['r_TN'] = EDVec2IEC(dat['rT0O']) # Tower top / base plate/ nacelle origin from tower base + IEC['r_N'] = EDVec2IEC(dat['rO'])+ IEC['r_F0'] # Tower top / base plate/ nacelle origin + IEC['r_NGn'] = EDVec2IEC(dat['rOU']) # From Tower top to nacelle COG + IEC['r_Gn'] = IEC['r_N'] + IEC['r_NGn'] # Nacelle COG + IEC['r_Ts'] = EDVec2IEC(dat['rT'], IEC['r_F0'] ) + + return dat, IEC + + +def ED_AngPosVelPAcc(q=None, qd=None, qDict=None, qdDict=None, CoordSys=None, p=None, dat=None, IEC=None): + """ + See ElastoDyn.f90 CalculateAngularPosVelPAcc + This routine is used to calculate the angular positions, velocities, and partial accelerations stored in other states that are used in + both the CalcOutput and CalcContStateDeriv routines. + SUBROUTINE CalculateAngularPosVelPAcc( p, x, CoordSys, dat ) + + """ + if qDict is not None: + QT = ED_qDict2q(qDict) + else: + QT = q + if qdDict is not None: + QDT = ED_qDict2q(qdDict) + else: + QDT = qd + + if dat is None: + dat = dict() +# REAL(ReKi) :: AngVelHM (3) ! Angular velocity of eleMent J of blade K (body M) in the hub (body H). +# REAL(ReKi) :: AngAccELt (3) ! Portion of the angular acceleration of the low-speed shaft (body L) in the inertia frame (body E for earth) associated with everything but the QD2T()'s. + #NDOF=ED_MaxDOFs + NDOF=11 # TODO + TwrNodes = p['TwrFASF'].shape[1] - 2 + NumBl=3 + # These angular velocities are allocated to start numbering a dimension with 0 instead of 1: + dat['PAngVelEB']=np.zeros((NDOF,2,3)) + dat['PAngVelER']=np.zeros((NDOF,2,3)) + dat['PAngVelEX']=np.zeros((NDOF,2,3)) + dat['PAngVelEA']=np.zeros((NDOF,2,3)) + dat['PAngVelEN']=np.zeros((NDOF,2,3)) + #dat['PAngVelEG']=np.zeros((NDOF,2,3)) + #dat['PAngVelEH']=np.zeros((NDOF,2,3)) + #dat['PAngVelEL']=np.zeros((NDOF,2,3)) + dat['PAngVelEF']=np.zeros((TwrNodes+1, NDOF,2,3)) + #dat['PAngVelEM']=np.zeros((NumBl,0:p%TipNode,NDOF,2,3)) + + dat['AngPosXF']=np.zeros((TwrNodes+1,3)) + dat['AngPosEF']=np.zeros((TwrNodes+1,3)) + dat['AngVelEF']=np.zeros((TwrNodes+1,3)) + + + + # --------------------------------------------------------------------------------} + # --- Angular and partial angular velocities + # --------------------------------------------------------------------------------{ + # Define the angular and partial angular velocities of all of the rigid bodies in the inertia frame: + # NOTE: PAngVelEN(I,D,:) = the Dth-derivative of the partial angular velocity of DOF I for body N in body E. + # --- Platform "X" + dat['PAngVelEX'][ :,0,:] = 0.0 + dat['PAngVelEX'][DOF_R ,0,:] = CoordSys['z1'] + dat['PAngVelEX'][DOF_P ,0,:] = -CoordSys['z3'] + dat['PAngVelEX'][DOF_Y ,0,:] = CoordSys['z2'] + dat['AngVelEX'] = QDT[DOF_R ]*dat['PAngVelEX'][DOF_R,0,:] + QDT[DOF_P]*dat['PAngVelEX'][DOF_P,0,:] + QDT[DOF_Y]*dat['PAngVelEX'][DOF_Y,0,:] + dat['AngPosEX'] = QT [DOF_R ]*dat['PAngVelEX'][DOF_R,0,:] + QT [DOF_P]*dat['PAngVelEX'][DOF_P,0,:] + QT [DOF_Y]*dat['PAngVelEX'][DOF_Y,0,:] + # --- Tower top "B" + dat['PAngVelEB'][ :,0,:] = dat['PAngVelEX'][:,0,:] + dat['PAngVelEB'][DOF_TFA1,0,:] = -p['TwrFASF'][0,-1,1]*CoordSys['a3'] + dat['PAngVelEB'][DOF_TSS1,0,:] = p['TwrSSSF'][0,-1,1]*CoordSys['a1'] + dat['PAngVelEB'][DOF_TFA2,0,:] = -p['TwrFASF'][1,-1,1]*CoordSys['a3'] + dat['PAngVelEB'][DOF_TSS2,0,:] = p['TwrSSSF'][1,-1,1]*CoordSys['a1'] + dat['AngVelEB'] = dat['AngVelEX'].copy() + dat['AngVelEB'] += QDT[DOF_TFA1]*dat['PAngVelEB'][DOF_TFA1,0,:] + dat['AngVelEB'] += QDT[DOF_TSS1]*dat['PAngVelEB'][DOF_TSS1,0,:] + dat['AngVelEB'] += QDT[DOF_TFA2]*dat['PAngVelEB'][DOF_TFA2,0,:] + dat['AngVelEB'] += QDT[DOF_TSS2]*dat['PAngVelEB'][DOF_TSS2,0,:] + dat['AngPosXB'] = QT [DOF_TFA1]*dat['PAngVelEB'][DOF_TFA1,0,:] + dat['AngPosXB'] += QT [DOF_TSS1]*dat['PAngVelEB'][DOF_TSS1,0,:] + dat['AngPosXB'] += QT [DOF_TFA2]*dat['PAngVelEB'][DOF_TFA2,0,:] + dat['AngPosXB'] += QT [DOF_TSS2]*dat['PAngVelEB'][DOF_TSS2,0,:] + # --- Nacelle "N" (yawed tower top) + dat['PAngVelEN'][ :,0,:]= dat['PAngVelEB'][:,0,:] + dat['PAngVelEN'][DOF_Yaw ,0,:]= CoordSys['d2'] + dat['AngVelEN'] = dat['AngVelEB'] + QDT[DOF_Yaw ]*dat['PAngVelEN'][DOF_Yaw ,0,:] +# +# dat['PAngVelER( :,0,:)= dat['PAngVelEN(:,0,:) +# dat['PAngVelER(DOF_RFrl,0,:)= CoordSys['rfa +# dat['AngVelER = dat['AngVelEN + QDT(DOF_RFrl)*dat['PAngVelER(DOF_RFrl,0,:) +# +# dat['PAngVelEL( :,0,:)= dat['PAngVelER(:,0,:) +# dat['PAngVelEL(DOF_GeAz,0,:)= CoordSys['c1 +# dat['PAngVelEL(DOF_DrTr,0,:)= CoordSys['c1 +# dat['AngVelEL = dat['AngVelER + QDT(DOF_GeAz)*dat['PAngVelEL(DOF_GeAz,0,:) & +# + QDT(DOF_DrTr)*dat['PAngVelEL(DOF_DrTr,0,:) +# +# dat['PAngVelEH( :,0,:)= dat['PAngVelEL(:,0,:) +# dat['AngVelEH = dat['AngVelEL +# IF ( p['NumBl == 2 ) THEN ! 2-blader +# dat['PAngVelEH(DOF_Teet,0,:)= CoordSys['f2 +# dat['AngVelEH = dat['AngVelEH + QDT(DOF_Teet)*dat['PAngVelEH(DOF_Teet,0,:) +# ENDIF +# +# dat['PAngVelEG( :,0,:) = dat['PAngVelER(:,0,:) +# dat['PAngVelEG(DOF_GeAz,0,:) = p['GBRatio*CoordSys['c1 +# dat['AngVelEG = dat['AngVelER + QDT(DOF_GeAz)*dat['PAngVelEG(DOF_GeAz,0,:) +# +# dat['PAngVelEA( :,0,:) = dat['PAngVelEN(:,0,:) +# dat['PAngVelEA(DOF_TFrl,0,:) = CoordSys['tfa +# dat['AngVelEA = dat['AngVelEN + QDT(DOF_TFrl)*dat['PAngVelEA(DOF_TFrl,0,:) +# +# +# +# ! Define the 1st derivatives of the partial angular velocities of all +# ! of the rigid bodies in the inertia frame and the portion of the angular +# ! acceleration of the rigid bodies in the inertia frame associated with +# ! everything but the QD2T()'s: +# dat['PAngVelEX( :,1,:) = 0.0 +# dat['AngAccEXt = 0.0 +# dat['PAngVelEB( :,1,:) = dat['PAngVelEX(:,1,:) +# dat['PAngVelEB(DOF_TFA1,1,:) = CROSS_PRODUCT( dat['AngVelEX, dat['PAngVelEB(DOF_TFA1,0,:) ) +# dat['PAngVelEB(DOF_TSS1,1,:) = CROSS_PRODUCT( dat['AngVelEX, dat['PAngVelEB(DOF_TSS1,0,:) ) +# dat['PAngVelEB(DOF_TFA2,1,:) = CROSS_PRODUCT( dat['AngVelEX, dat['PAngVelEB(DOF_TFA2,0,:) ) +# dat['PAngVelEB(DOF_TSS2,1,:) = CROSS_PRODUCT( dat['AngVelEX, dat['PAngVelEB(DOF_TSS2,0,:) ) +# dat['AngAccEBt = dat['AngAccEXt + QDT(DOF_TFA1)*dat['PAngVelEB(DOF_TFA1,1,:) & +# + QDT(DOF_TSS1)*dat['PAngVelEB(DOF_TSS1,1,:) & +# + QDT(DOF_TFA2)*dat['PAngVelEB(DOF_TFA2,1,:) & +# + QDT(DOF_TSS2)*dat['PAngVelEB(DOF_TSS2,1,:) +# dat['PAngVelEN( :,1,:) = dat['PAngVelEB(:,1,:) +# dat['PAngVelEN(DOF_Yaw ,1,:) = CROSS_PRODUCT( dat['AngVelEB, dat['PAngVelEN(DOF_Yaw ,0,:) ) +# dat['AngAccENt = dat['AngAccEBt + QDT(DOF_Yaw )*dat['PAngVelEN(DOF_Yaw ,1,:) +# +# dat['PAngVelER( :,1,:) = dat['PAngVelEN(:,1,:) +# dat['PAngVelER(DOF_RFrl,1,:) = CROSS_PRODUCT( dat['AngVelEN, dat['PAngVelER(DOF_RFrl,0,:) ) +# dat['AngAccERt = dat['AngAccENt + QDT(DOF_RFrl)*dat['PAngVelER(DOF_RFrl,1,:) +# +# dat['PAngVelEL( :,1,:) = dat['PAngVelER(:,1,:) +# dat['PAngVelEL(DOF_GeAz,1,:) = CROSS_PRODUCT( dat['AngVelER, dat['PAngVelEL(DOF_GeAz,0,:) ) +# dat['PAngVelEL(DOF_DrTr,1,:) = CROSS_PRODUCT( dat['AngVelER, dat['PAngVelEL(DOF_DrTr,0,:) ) +# AngAccELt = dat['AngAccERt + QDT(DOF_GeAz)*dat['PAngVelEL(DOF_GeAz,1,:) & +# + QDT(DOF_DrTr)*dat['PAngVelEL(DOF_DrTr,1,:) +# +# dat['PAngVelEH( :,1,:) = dat['PAngVelEL(:,1,:) +# dat['AngAccEHt = AngAccELt +# IF ( p['NumBl == 2 ) THEN ! 2-blader +# dat['PAngVelEH(DOF_Teet,1,:) = CROSS_PRODUCT( dat['AngVelEH, dat['PAngVelEH(DOF_Teet,0,:) ) +# dat['AngAccEHt = dat['AngAccEHt + QDT(DOF_Teet)*dat['PAngVelEH(DOF_Teet,1,:) +# ENDIF +# +# dat['PAngVelEG( :,1,:) = dat['PAngVelER(:,1,:) +# dat['PAngVelEG(DOF_GeAz,1,:) = CROSS_PRODUCT( dat['AngVelER, dat['PAngVelEG(DOF_GeAz,0,:) ) +# dat['AngAccEGt = dat['AngAccERt + QDT(DOF_GeAz)*dat['PAngVelEG(DOF_GeAz,1,:) +# +# dat['PAngVelEA( :,1,:) = dat['PAngVelEN(:,1,:) +# dat['PAngVelEA(DOF_TFrl,1,:) = CROSS_PRODUCT( dat['AngVelEN, dat['PAngVelEA(DOF_TFrl,0,:) ) +# dat['AngAccEAt = dat['AngAccENt + QDT(DOF_TFrl)*dat['PAngVelEA(DOF_TFrl,1,:) + +# DO K = 1,p['NumBl ! Loop through all blades +# DO J = 0,p['TipNode ! Loop through the blade nodes / elements +# ! Define the partial angular velocities of the current node (body M(RNodes(J))) in the inertia frame: +# ! NOTE: PAngVelEM(K,J,I,D,:) = the Dth-derivative of the partial angular velocity +# ! of DOF I for body M of blade K, element J in body E. +# +# dat['PAngVelEM(K,J, :,0,:) = dat['PAngVelEH(:,0,:) +# dat['PAngVelEM(K,J,DOF_BF(K,1),0,:) = - p['TwistedSF(K,2,1,J,1)*CoordSys['j1(K,:) & +# + p['TwistedSF(K,1,1,J,1)*CoordSys['j2(K,:) +# dat['PAngVelEM(K,J,DOF_BF(K,2),0,:) = - p['TwistedSF(K,2,2,J,1)*CoordSys['j1(K,:) & +# + p['TwistedSF(K,1,2,J,1)*CoordSys['j2(K,:) +# dat['PAngVelEM(K,J,DOF_BE(K,1),0,:) = - p['TwistedSF(K,2,3,J,1)*CoordSys['j1(K,:) & +# + p['TwistedSF(K,1,3,J,1)*CoordSys['j2(K,:) +# AngVelHM = QDT(DOF_BF(K,1))*dat['PAngVelEM(K,J,DOF_BF(K,1),0,:) & +# + QDT(DOF_BF(K,2))*dat['PAngVelEM(K,J,DOF_BF(K,2),0,:) & +# + QDT(DOF_BE(K,1))*dat['PAngVelEM(K,J,DOF_BE(K,1),0,:) +# dat['AngVelEM(:,J,K ) = dat['AngVelEH + AngVelHM +# dat['AngPosHM(:,K,J ) = QT (DOF_BF(K,1))*dat['PAngVelEM(K,J,DOF_BF(K,1),0,:) & +# + QT (DOF_BF(K,2))*dat['PAngVelEM(K,J,DOF_BF(K,2),0,:) & +# + QT (DOF_BE(K,1))*dat['PAngVelEM(K,J,DOF_BE(K,1),0,:) +# dat['AngAccEKt(:,J ,K) = dat['AngAccEHt + QDT(DOF_BF(K,1))*dat['PAngVelEM(K,J,DOF_BF(K,1),1,:) & +# + QDT(DOF_BF(K,2))*dat['PAngVelEM(K,J,DOF_BF(K,2),1,:) & +# + QDT(DOF_BE(K,1))*dat['PAngVelEM(K,J,DOF_BE(K,1),1,:) +# ! Define the 1st derivatives of the partial angular velocities of the current node (body M(RNodes(J))) in the inertia frame: +# ! NOTE: These are currently unused by the code, therefore, they need not +# ! be calculated. Thus, they are currently commented out. If it +# ! turns out that they are ever needed (i.e., if inertias of the +# ! blade elements are ever added, etc...) simply uncomment out these computations: +# ! dat['PAngVelEM(K,J, :,1,:) = dat['PAngVelEH(:,1,:) +# ! dat['PAngVelEM(K,J,DOF_BF(K,1),1,:) = CROSS_PRODUCT( dat['AngVelEH, PAngVelEM(K,J,DOF_BF(K,1),0,:) ) +# ! dat['PAngVelEM(K,J,DOF_BF(K,2),1,:) = CROSS_PRODUCT( dat['AngVelEH, PAngVelEM(K,J,DOF_BF(K,2),0,:) ) +# ! dat['PAngVelEM(K,J,DOF_BE(K,1),1,:) = CROSS_PRODUCT( dat['AngVelEH, PAngVelEM(K,J,DOF_BE(K,1),0,:) ) +# END DO !J = 1,p['BldNodes ! Loop through the blade nodes / elements +# END DO !K = 1,p['NumBl + # --- Tower values: + for J in range(TwrNodes+1): +# ! Define the partial angular velocities (and their 1st derivatives) of the +# ! current node (body F(HNodes(J)) in the inertia frame. +# ! Also define the overall angular velocity of the current node in the inertia frame. +# ! Also, define the portion of the angular acceleration of the current node +# ! in the inertia frame associated with everything but the QD2T()'s: +# ! NOTE: PAngVelEF(J,I,D,:) = the Dth-derivative of the partial angular velocity +# ! of DOF I for body F of element J in body E. + dat['PAngVelEF'] [J, :,0,:] = dat['PAngVelEX'][:,0,:] + dat['PAngVelEF'] [J,DOF_TFA1,0,:] = -p['TwrFASF'][0,J,1]*CoordSys['a3'] # Local slope + dat['PAngVelEF'] [J,DOF_TSS1,0,:] = p['TwrSSSF'][0,J,1]*CoordSys['a1'] + dat['PAngVelEF'] [J,DOF_TFA2,0,:] = -p['TwrFASF'][1,J,1]*CoordSys['a3'] + dat['PAngVelEF'] [J,DOF_TSS2,0,:] = p['TwrSSSF'][1,J,1]*CoordSys['a1'] + dat['PAngVelEF'] [J, :,1,:] = dat['PAngVelEX'][:,1,:] + dat['PAngVelEF'] [J,DOF_TFA1,1,:] = np.cross( dat['AngVelEX'] , dat['PAngVelEF'][J,DOF_TFA1,0,:] ) + dat['PAngVelEF'] [J,DOF_TSS1,1,:] = np.cross( dat['AngVelEX'] , dat['PAngVelEF'][J,DOF_TSS1,0,:] ) + dat['PAngVelEF'] [J,DOF_TFA2,1,:] = np.cross( dat['AngVelEX'] , dat['PAngVelEF'][J,DOF_TFA2,0,:] ) + dat['PAngVelEF'] [J,DOF_TSS2,1,:] = np.cross( dat['AngVelEX'] , dat['PAngVelEF'][J,DOF_TSS2,0,:] ) + dat['AngVelEF'] [J,:] = dat['AngVelEX'].copy() + dat['AngVelEF'] [J,:] += QDT[DOF_TFA1]*dat['PAngVelEF'][J,DOF_TFA1,0,:] + dat['AngVelEF'] [J,:] += QDT[DOF_TSS1]*dat['PAngVelEF'][J,DOF_TSS1,0,:] + dat['AngVelEF'] [J,:] += QDT[DOF_TFA2]*dat['PAngVelEF'][J,DOF_TFA2,0,:] + dat['AngVelEF'] [J,:] += QDT[DOF_TSS2]*dat['PAngVelEF'][J,DOF_TSS2,0,:] + dat['AngPosXF'] [J,:] = QT [DOF_TFA1]*dat['PAngVelEF'][J,DOF_TFA1,0,:] + dat['AngPosXF'] [J,:] += QT [DOF_TSS1]*dat['PAngVelEF'][J,DOF_TSS1,0,:] + dat['AngPosXF'] [J,:] += QT [DOF_TFA2]*dat['PAngVelEF'][J,DOF_TFA2,0,:] + dat['AngPosXF'] [J,:] += QT [DOF_TSS2]*dat['PAngVelEF'][J,DOF_TSS2,0,:] + dat['AngPosEF'] [J,:] = dat['AngPosEX'] + dat['AngPosXF'][J,:] +# dat['AngAccEFt'][J,:] = dat['AngAccEXt'] +# dat['AngAccEFt'][J,:] += QDT[DOF_TFA1]*dat['PAngVelEF'][J,DOF_TFA1,1,:] +# dat['AngAccEFt'][J,:] += QDT[DOF_TSS1]*dat['PAngVelEF'][J,DOF_TSS1,1,:] +# dat['AngAccEFt'][J,:] += QDT[DOF_TFA2]*dat['PAngVelEF'][J,DOF_TFA2,1,:] +# dat['AngAccEFt'][J,:] += QDT[DOF_TSS2]*dat['PAngVelEF'][J,DOF_TSS2,1,:] + # --- + if IEC is None: + IEC = dict() + IEC['theta_f'] = EDVec2IEC(dat['AngPosEX']) + IEC['omega_f'] = EDVec2IEC(dat['AngVelEX']) + IEC['omega_t'] = IEC['omega_f'].copy() + IEC['theta_fn'] = EDVec2IEC(dat['AngPosXB']) # TODO TODO ADD YAW + IEC['theta_n'] = IEC['theta_f'] + IEC['theta_fn'] + IEC['omega_n'] = EDVec2IEC(dat['AngVelEN']) + + IEC['omega_Ts'] = EDVec2IEC(dat['AngVelEF']) # Tower nodes ang vel + IEC['theta_fTs'] = EDVec2IEC(dat['AngPosXF']) # Tower nodes ang pos from platform + IEC['theta_Ts'] = EDVec2IEC(dat['AngPosEF']) # Tower nodes ang pos from platform + + return dat, IEC + + +def ED_LinVelPAcc(q=None, qd=None, qDict=None, qdDict=None, CoordSys=None, p=None, dat=None, IEC=None): + """ + See ElastoDyn.f90 CalculateLinearVelPAcc + !> This routine is used to calculate the linear velocities and accelerations stored in other states that are used in + !! both the CalcOutput and CalcContStateDeriv routines. + SUBROUTINE CalculateLinearVelPAcc( p, x, CoordSys, dat ) + + BODIES: + E: the earth/inertial frame + X: the platform body + N: the nacelle body + A: the tail-furl body + + """ + if qDict is not None: + QT = ED_qDict2q(qDict) + else: + QT = q + if qdDict is not None: + QDT = ED_qDict2q(qdDict) + else: + QDT = qd + + if dat is None: + dat = dict() +# ALLOCATE( RtHS%LinVelES( Dims, 0:p%TipNode, p%NumBl ), & +# RtHS%AngVelEM( Dims, 0:p%TipNode, p%NumBl ), STAT=ErrStat ) +# ! These linear velocities are allocated to start numbering a dimension with 0 instead of 1: +# ALLOCATE ( RtHS%PLinVelEIMU(p%NDOF,0:1,Dims) , STAT=ErrStat ) +# ALLOCATE ( RtHS%PLinVelEO(p%NDOF,0:1,Dims) , STAT=ErrStat ) +# ALLOCATE ( RtHS%PLinVelES(p%NumBl,0:p%TipNode,p%NDOF,0:1,Dims) , STAT=ErrStat ) +# ALLOCATE ( RtHS%PLinVelET(0:p%TwrNodes,p%NDOF,0:1,Dims) , STAT=ErrStat ) +# ALLOCATE ( RtHS%PLinVelEC(p%NDOF,0:1,3) , STAT=ErrStat ) +# ALLOCATE ( RtHS%PLinVelED(p%NDOF,0:1,3) , STAT=ErrStat ) +# ALLOCATE ( RtHS%PLinVelEI(p%NDOF,0:1,3) , STAT=ErrStat ) +# ALLOCATE ( RtHS%PLinVelEJ(p%NDOF,0:1,3) , STAT=ErrStat ) +# ALLOCATE ( RtHS%PLinVelEP(p%NDOF,0:1,3) , STAT=ErrStat ) +# ALLOCATE ( RtHS%PLinVelEQ(p%NDOF,0:1,3) , STAT=ErrStat ) +# RtHS%PLinVelEW(p%NDOF,0:1,3) , & +# RtHS%PLinVelEY(p%NDOF,0:1,3) , STAT=ErrStat ) + NDOF=11 # TODO + TwrNodes = p['TwrFASF'].shape[1] - 2 + NumBl=3 + + dat['PLinVelEZ'] = np.zeros((NDOF,2, 3)) + dat['PLinVelEO'] = np.zeros((NDOF,2, 3)) + dat['PLinVelEU'] = np.zeros((NDOF,2, 3)) + dat['PLinVelET'] = np.zeros((TwrNodes+1,NDOF,2, 3)) +# !------------------------------------------------------------------------------------------------- +# ! Partial linear velocities and accelerations +# !------------------------------------------------------------------------------------------------- +# ! Define the partial linear velocities (and their 1st derivatives) of all of +# ! the points on the wind turbine in the inertia frame that are not +# ! dependent on the distributed tower or blade parameters. Also, define +# ! the portion of the linear acceleration of the points in the inertia +# ! frame associated with everything but the QD2T()'s: +# ! NOTE: PLinVelEX(I,D,:) = the Dth-derivative of the partial linear velocity +# ! of DOF I for point X in body E. +# EwXXrZY = CROSS_PRODUCT( dat['AngVelEX, dat['rZY ) ! +# EwRXrVD = np.cross( dat['AngVelER'], dat['rVD'] ) # Cross products +# EwRXrVP = np.cross( dat['AngVelER'], dat['rVP'] ) # in the following +# EwHXrPQ = np.cross( dat['AngVelEH'], dat['rPQ'] ) # DO...LOOPs +# EwHXrQC = np.cross( dat['AngVelEH'], dat['rQC'] ) # +# EwNXrOW = np.cross( dat['AngVelEN'], dat['rOW'] ) # +# EwAXrWI = np.cross( dat['AngVelEA'], dat['rWI'] ) # +# EwAXrWJ = np.cross( dat['AngVelEA'], dat['rWJ'] ) # + + # --- Platform reference point "Z" + dat['PLinVelEZ'][ :,:,:] = 0.0 + dat['PLinVelEZ'][DOF_Sg ,0,:] = CoordSys['z1'] + dat['PLinVelEZ'][DOF_Sw ,0,:] = -CoordSys['z3'] + dat['PLinVelEZ'][DOF_Hv ,0,:] = CoordSys['z2'] + dat['LinVelEZ'] = QDT[DOF_Sg]*dat['PLinVelEZ'][DOF_Sg,0,:]+ QDT[DOF_Sw]*dat['PLinVelEZ'][DOF_Sw,0,:]+ QDT[DOF_Hv]*dat['PLinVelEZ'][DOF_Hv,0,:] + + # --- Platform COG "Y" +# dat['PLinVelEY( :,:,:) = dat['PLinVelEZ(:,:,:) +# DO I = 1,NPX ! Loop through all DOFs associated with the angular motion of the platform (body X) +# TmpVec0 = CROSS_PRODUCT( dat['PAngVelEX(PX(I) ,0,:), dat['rZY ) +# TmpVec1 = CROSS_PRODUCT( dat['PAngVelEX(PX(I) ,0,:), EwXXrZY ) +# dat['PLinVelEY(PX(I),0,:) = TmpVec0 + dat['PLinVelEY(PX(I) ,0,:) +# dat['PLinVelEY(PX(I),1,:) = TmpVec1 + dat['PLinVelEY(PX(I) ,1,:) +# dat['LinAccEYt = dat['LinAccEYt + x%QDT(PX(I) )*dat['PLinVelEY(PX(I) ,1,:) + + # --- Tower Top "O" + dat['PLinVelEO'] = dat['PLinVelEZ'][:,:,:].copy() + dat['PLinVelEO'][DOF_TFA1,0,:] = CoordSys['a1'] - (p['AxRedTFA'][0,0,-1]* QT[DOF_TFA1] + p['AxRedTFA'][0,1,-1]* QT[DOF_TFA2])*CoordSys['a2'] + dat['PLinVelEO'][DOF_TSS1,0,:] = CoordSys['a3'] - (p['AxRedTSS'][0,0,-1]* QT[DOF_TSS1] + p['AxRedTSS'][0,1,-1]* QT[DOF_TSS2])*CoordSys['a2'] + dat['PLinVelEO'][DOF_TFA2,0,:] = CoordSys['a1'] - (p['AxRedTFA'][1,1,-1]* QT[DOF_TFA2] + p['AxRedTFA'][0,1,-1]* QT[DOF_TFA1])*CoordSys['a2'] + dat['PLinVelEO'][DOF_TSS2,0,:] = CoordSys['a3'] - (p['AxRedTSS'][1,1,-1]* QT[DOF_TSS2] + p['AxRedTSS'][0,1,-1]* QT[DOF_TSS1])*CoordSys['a2'] + TmpVec1 = np.cross( dat['AngVelEX'] , dat['PLinVelEO'][DOF_TFA1,0,:] ) + TmpVec2 = np.cross( dat['AngVelEX'] , dat['PLinVelEO'][DOF_TSS1,0,:] ) + TmpVec3 = np.cross( dat['AngVelEX'] , dat['PLinVelEO'][DOF_TFA2,0,:] ) + TmpVec4 = np.cross( dat['AngVelEX'] , dat['PLinVelEO'][DOF_TSS2,0,:] ) + dat['PLinVelEO'][DOF_TFA1,1,:] = TmpVec1 - ( p['AxRedTFA'][0,0,-1]*QDT[DOF_TFA1] + p['AxRedTFA'][0,1,-1]*QDT[DOF_TFA2] )*CoordSys['a2'] + dat['PLinVelEO'][DOF_TSS1,1,:] = TmpVec2 - ( p['AxRedTSS'][0,0,-1]*QDT[DOF_TSS1] + p['AxRedTSS'][0,1,-1]*QDT[DOF_TSS2] )*CoordSys['a2'] + dat['PLinVelEO'][DOF_TFA2,1,:] = TmpVec3 - ( p['AxRedTFA'][1,1,-1]*QDT[DOF_TFA2] + p['AxRedTFA'][0,1,-1]*QDT[DOF_TFA1] )*CoordSys['a2'] + dat['PLinVelEO'][DOF_TSS2,1,:] = TmpVec4 - ( p['AxRedTSS'][1,1,-1]*QDT[DOF_TSS2] + p['AxRedTSS'][0,1,-1]*QDT[DOF_TSS1] )*CoordSys['a2'] + LinVelXO = QDT[DOF_TFA1]*dat['PLinVelEO'][DOF_TFA1,0,:] \ + + QDT[DOF_TSS1]*dat['PLinVelEO'][DOF_TSS1,0,:] \ + + QDT[DOF_TFA2]*dat['PLinVelEO'][DOF_TFA2,0,:] \ + + QDT[DOF_TSS2]*dat['PLinVelEO'][DOF_TSS2,0,:] + dat['LinAccEOt'] = QDT[DOF_TFA1]*dat['PLinVelEO'][DOF_TFA1,1,:] \ + + QDT[DOF_TSS1]*dat['PLinVelEO'][DOF_TSS1,1,:] \ + + QDT[DOF_TFA2]*dat['PLinVelEO'][DOF_TFA2,1,:] \ + + QDT[DOF_TSS2]*dat['PLinVelEO'][DOF_TSS2,1,:] + + dat['LinVelEO'] = LinVelXO + dat['LinVelEZ'].copy() + EwXXrZO = np.cross( dat['AngVelEX'], dat['rZO'] ) # + for I in range(NPX): # Loop through all DOFs associated with the angular motion of the platform (body X) + TmpVec0 = np.cross( dat['PAngVelEX'][PX[I] ,0,:], dat['rZO'] ) + TmpVec1 = np.cross( dat['PAngVelEX'][PX[I] ,0,:], EwXXrZO + LinVelXO ) + dat['PLinVelEO'][PX[I],0,:] = TmpVec0 + dat['PLinVelEO'][PX[I] ,0,:] + dat['PLinVelEO'][PX[I],1,:] = TmpVec1 + dat['PLinVelEO'][PX[I] ,1,:] + dat['LinVelEO'] += QDT[PX[I] ]*dat['PLinVelEO'][PX[I],0,:] + dat['LinAccEOt'] += QDT[PX[I] ]*dat['PLinVelEO'][PX[I],1,:] + + # --- Nacelle COG "U" + dat['PLinVelEU'] = dat['PLinVelEO'].copy() + dat['LinVelEU'] = dat['LinVelEZ'].copy() # NOTE: MANU + dat['LinAccEUt'] = 0 + EwNXrOU = np.cross( dat['AngVelEN'], dat['rOU'] ) # + for I in range(NPN): # Loop through all DOFs associated with the angular motion of the nacelle (body N) + TmpVec0 = np.cross( dat['PAngVelEN'][PN[I] ,0,:], dat['rOU'] ) + TmpVec1 = np.cross( dat['PAngVelEN'][PN[I] ,0,:], EwNXrOU ) + TmpVec2 = np.cross( dat['PAngVelEN'][PN[I] ,1,:], dat['rOU'] ) + dat['PLinVelEU'][PN[I],0,:] = TmpVec0 + dat['PLinVelEU'][PN[I] ,0,:] + dat['PLinVelEU'][PN[I],1,:] = TmpVec1 + TmpVec2 + dat['PLinVelEU'][PN[I] ,1,:] + dat['LinVelEU'] += QDT[PN[I] ]*dat['PLinVelEU'][PN[I],0,:] # NOTE: TODO TODO THIS IS MANU TRIAL + dat['LinAccEUt'] += QDT[PN[I] ]*dat['PLinVelEU'][PN[I],1,:] + + # --- Rotor Furl "V" +# dat['PLinVelEV'] = dat['PLinVelEO'].copy() +# EwNXrOV = np.cross( dat['AngVelEN'], dat['rOV'] ) # +# for I in range(NPN): # Loop through all DOFs associated with the angular motion of the nacelle (body N) +# TmpVec0 = np.cross( dat['PAngVelEN(PN[I] ,0,:), dat['rOV ) +# TmpVec1 = np.cross( dat['PAngVelEN(PN[I] ,0,:), EwNXrOV ) +# TmpVec2 = np.cross( dat['PAngVelEN(PN[I] ,1,:), dat['rOV ) +# dat['PLinVelEV'][PN[I],0,:] = TmpVec0 + dat['PLinVelEV[PN[I],0,:] +# dat['PLinVelEV'][PN[I],1,:] = TmpVec1 + TmpVec2 + dat['PLinVelEV[PN[I],1,:] +# LinAccEVt += QDT(PN[I] )*dat['PLinVelEV'][PN[I] ,1,:] +# +# dat['PLinVelED( :,:,:) = dat['PLinVelEV'].copy() +# for I in range(NPR): # Loop through all DOFs associated with the angular motion of the structure that furls with the rotor (not including rotor) (body R) +# TmpVec0 = CROSS_PRODUCT( dat['PAngVelER(PR[I] ,0,:), dat['rVD ) +# TmpVec1 = CROSS_PRODUCT( dat['PAngVelER(PR[I] ,0,:), EwRXrVD ) +# TmpVec2 = CROSS_PRODUCT( dat['PAngVelER(PR[I] ,1,:), dat['rVD ) +# dat['PLinVelED(PR[I],0,:) = TmpVec0 + dat['PLinVelED'][PR[I] ,0,:] +# dat['PLinVelED(PR[I],1,:) = TmpVec1 + TmpVec2 + dat['PLinVelED'][PR[I] ,1,:] +# dat['LinAccEDt += QDT(PR[I] )*dat['PLinVelED'][PR[I] ,1,:] +# + # --- Nacelle IMU +# dat['PLinVelEIMU'] = dat['PLinVelEV'].copy() +# dat['LinVelEIMU'] = dat['LinVelEZ'].copy() +# EwRXrVIMU = np.cross( dat['AngVelER'], dat['rVIMU'] ) # that are used +# for I in range(NPR): # Loop through all DOFs associated with the angular motion of the structure that furls with the rotor (not including rotor) (body R) +# TmpVec0 = CROSS_PRODUCT( dat['PAngVelER(PR[I] ,0,:), dat['rVIMU ) +# TmpVec1 = CROSS_PRODUCT( dat['PAngVelER(PR[I] ,0,:), EwRXrVIMU ) +# TmpVec2 = CROSS_PRODUCT( dat['PAngVelER(PR[I] ,1,:), dat['rVIMU ) +# dat['PLinVelEIMU(PR[I],0,:) = TmpVec0 + dat['PLinVelEIMU(PR[I] ,0,:) +# dat['PLinVelEIMU(PR[I],1,:) = TmpVec1 + TmpVec2 + dat['PLinVelEIMU(PR[I] ,1,:) +# dat['LinVelEIMU'] += QDT(PR[I] )*dat['PLinVelEIMU(PR[I] ,0,:) +# dat['LinAccEIMUt'] += QDT(PR[I] )*dat['PLinVelEIMU(PR[I] ,1,:) +# +# dat['PLinVelEP( :,:,:) = dat['PLinVelEV(:,:,:) +# for I in range(NPR): # Loop through all DOFs associated with the angular motion of the structure that furls with the rotor (not including rotor) (body R) +# TmpVec0 = CROSS_PRODUCT( dat['PAngVelER(PR[I] ,0,:), dat['rVP ) +# TmpVec1 = CROSS_PRODUCT( dat['PAngVelER(PR[I] ,0,:), EwRXrVP ) +# TmpVec2 = CROSS_PRODUCT( dat['PAngVelER(PR[I] ,1,:), dat['rVP ) +# dat['PLinVelEP(PR[I],0,:) = TmpVec0 + dat['PLinVelEP(PR[I] ,0,:) +# dat['PLinVelEP(PR[I],1,:) = TmpVec1 + TmpVec2 + dat['PLinVelEP(PR[I] ,1,:) +# LinAccEPt = LinAccEPt + QDT(PR[I] )*dat['PLinVelEP(PR[I] ,1,:) +# + # --- Rotor center "Q" +# dat['PLinVelEQ'] = dat['PLinVelEP'].copy() +# dat['LinVelEQ'] = dat['LinVelEZ'].copy() +# DO I = 1,p['NPH ! Loop through all DOFs associated with the angular motion of the hub (body H) +# TmpVec0 = CROSS_PRODUCT( dat['PAngVelEH(p['PH(I) ,0,:), dat['rPQ ) +# TmpVec1 = CROSS_PRODUCT( dat['PAngVelEH(p['PH(I) ,0,:), EwHXrPQ ) +# TmpVec2 = CROSS_PRODUCT( dat['PAngVelEH(p['PH(I) ,1,:), dat['rPQ ) +# dat['PLinVelEQ(p['PH(I),0,:) = TmpVec0 + dat['PLinVelEQ(p['PH(I) ,0,:) +# dat['PLinVelEQ(p['PH(I),1,:) = TmpVec1 + TmpVec2 + dat['PLinVelEQ(p['PH(I) ,1,:) +# dat['LinVelEQ += QDT(p['PH(I) )*dat['PLinVelEQ(p['PH(I) ,0,:) +# LinAccEQt += QDT(p['PH(I) )*dat['PLinVelEQ(p['PH(I) ,1,:) +# + # --- Hub COG "C" +# dat['PLinVelEC( :,:,:) = dat['PLinVelEQ(:,:,:) +# DO I = 1,p['NPH ! Loop through all DOFs associated with the angular motion of the hub (body H) +# TmpVec0 = CROSS_PRODUCT( dat['PAngVelEH(p['PH(I) ,0,:), dat['rQC ) +# TmpVec1 = CROSS_PRODUCT( dat['PAngVelEH(p['PH(I) ,0,:), EwHXrQC ) +# TmpVec2 = CROSS_PRODUCT( dat['PAngVelEH(p['PH(I) ,1,:), dat['rQC ) +# dat['PLinVelEC(p['PH(I),0,:) = TmpVec0 + dat['PLinVelEC(p['PH(I) ,0,:) +# dat['PLinVelEC(p['PH(I),1,:) = TmpVec1 + TmpVec2 + dat['PLinVelEC(p['PH(I) ,1,:) +# dat['LinAccECt = dat['LinAccECt + QDT(p['PH(I) )*dat['PLinVelEC(p['PH(I) ,1,:) +# +# +# DO K = 1,p['NumBl ! Loop through all blades +# DO J = 0,p['TipNode ! Loop through the blade nodes / elements +# ! Define the partial linear velocities (and their 1st derivatives) of the +# ! current node (point S(RNodes(J))) in the inertia frame. Also define +# ! the overall linear velocity of the current node in the inertia frame. +# ! Also, define the portion of the linear acceleration of the current node +# ! in the inertia frame associated with everything but the QD2T()'s: +# +# EwHXrQS = CROSS_PRODUCT( dat['AngVelEH, dat['rQS(:,K,J) ) +# +# dat['PLinVelES(K,J, :,:,:) = dat['PLinVelEQ(:,:,:) +# dat['PLinVelES(K,J,DOF_BF(K,1),0,:) = p['TwistedSF(K,1,1,J,0) *CoordSys['j1(K,:) & !bjj: this line can be optimized +# + p['TwistedSF(K,2,1,J,0) *CoordSys['j2(K,:) & +# - ( p['AxRedBld(K,1,1,J)*QT ( DOF_BF(K,1) ) & +# + p['AxRedBld(K,1,2,J)*QT ( DOF_BF(K,2) ) & +# + p['AxRedBld(K,1,3,J)*QT ( DOF_BE(K,1) ) )*CoordSys['j3(K,:) +# dat['PLinVelES(K,J,DOF_BE(K,1),0,:) = p['TwistedSF(K,1,3,J,0) *CoordSys['j1(K,:) & +# + p['TwistedSF(K,2,3,J,0) *CoordSys['j2(K,:) & +# - ( p['AxRedBld(K,3,3,J)*QT ( DOF_BE(K,1) ) & +# + p['AxRedBld(K,2,3,J)*QT ( DOF_BF(K,2) ) & +# + p['AxRedBld(K,1,3,J)*QT ( DOF_BF(K,1) ) )*CoordSys['j3(K,:) +# dat['PLinVelES(K,J,DOF_BF(K,2),0,:) = p['TwistedSF(K,1,2,J,0) *CoordSys['j1(K,:) & +# + p['TwistedSF(K,2,2,J,0) *CoordSys['j2(K,:) & +# - ( p['AxRedBld(K,2,2,J)*QT ( DOF_BF(K,2) ) & +# + p['AxRedBld(K,1,2,J)*QT ( DOF_BF(K,1) ) & +# + p['AxRedBld(K,2,3,J)*QT ( DOF_BE(K,1) ) )*CoordSys['j3(K,:) +# +# TmpVec1 = CROSS_PRODUCT( dat['AngVelEH, dat['PLinVelES(K,J,DOF_BF(K,1),0,:) ) +# TmpVec2 = CROSS_PRODUCT( dat['AngVelEH, dat['PLinVelES(K,J,DOF_BE(K,1),0,:) ) +# TmpVec3 = CROSS_PRODUCT( dat['AngVelEH, dat['PLinVelES(K,J,DOF_BF(K,2),0,:) ) +# +# dat['PLinVelES(K,J,DOF_BF(K,1),1,:) = TmpVec1 & +# - ( p['AxRedBld(K,1,1,J)*QDT( DOF_BF(K,1) ) & +# + p['AxRedBld(K,1,2,J)*QDT( DOF_BF(K,2) ) & +# + p['AxRedBld(K,1,3,J)*QDT( DOF_BE(K,1) ) )*CoordSys['j3(K,:) +# dat['PLinVelES(K,J,DOF_BE(K,1),1,:) = TmpVec2 & +# - ( p['AxRedBld(K,3,3,J)*QDT( DOF_BE(K,1) ) & +# + p['AxRedBld(K,2,3,J)*QDT( DOF_BF(K,2) ) & +# + p['AxRedBld(K,1,3,J)*QDT( DOF_BF(K,1) ) )*CoordSys['j3(K,:) +# dat['PLinVelES(K,J,DOF_BF(K,2),1,:) = TmpVec3 & +# - ( p['AxRedBld(K,2,2,J)*QDT( DOF_BF(K,2) ) & +# + p['AxRedBld(K,1,2,J)*QDT( DOF_BF(K,1) ) & +# + p['AxRedBld(K,2,3,J)*QDT( DOF_BE(K,1) ) )*CoordSys['j3(K,:) +# +# LinVelHS = QDT( DOF_BF(K,1) )*dat['PLinVelES(K,J,DOF_BF(K,1),0,:) & +# + QDT( DOF_BE(K,1) )*dat['PLinVelES(K,J,DOF_BE(K,1),0,:) & +# + QDT( DOF_BF(K,2) )*dat['PLinVelES(K,J,DOF_BF(K,2),0,:) +# dat['LinAccESt(:,K,J) = QDT( DOF_BF(K,1) )*dat['PLinVelES(K,J,DOF_BF(K,1),1,:) & +# + QDT( DOF_BE(K,1) )*dat['PLinVelES(K,J,DOF_BE(K,1),1,:) & +# + QDT( DOF_BF(K,2) )*dat['PLinVelES(K,J,DOF_BF(K,2),1,:) +# +# dat['LinVelES(:,J,K) = LinVelHS + dat['LinVelEZ +# DO I = 1,p['NPH ! Loop through all DOFs associated with the angular motion of the hub (body H) +# +# TmpVec0 = CROSS_PRODUCT( dat['PAngVelEH(p['PH(I),0,:), dat['rQS(:,K,J) ) !bjj: this line can be optimized +# TmpVec1 = CROSS_PRODUCT( dat['PAngVelEH(p['PH(I),0,:), EwHXrQS + LinVelHS ) !bjj: this line can be optimized +# TmpVec2 = CROSS_PRODUCT( dat['PAngVelEH(p['PH(I),1,:), dat['rQS(:,K,J) ) !bjj: this line can be optimized +# +# dat['PLinVelES(K,J,p['PH(I),0,:) = dat['PLinVelES(K,J,p['PH(I),0,:) + TmpVec0 !bjj: this line can be optimized +# dat['PLinVelES(K,J,p['PH(I),1,:) = dat['PLinVelES(K,J,p['PH(I),1,:) + TmpVec1 + TmpVec2 !bjj: this line can be optimized +# +# dat['LinVelES(:,J,K) = dat['LinVelES(:,J,K) + QDT(p['PH(I))*dat['PLinVelES(K,J,p['PH(I),0,:) !bjj: this line can be optimized +# dat['LinAccESt(:,K,J) = dat['LinAccESt(:,K,J) + QDT(p['PH(I))*dat['PLinVelES(K,J,p['PH(I),1,:) !bjj: this line can be optimized +# +# END DO ! I - all DOFs associated with the angular motion of the hub (body H) +# +# END DO !J = 0,p['TipNodes ! Loop through the blade nodes / elements +# +# +# !JASON: USE TipNode HERE INSTEAD OF BldNodes IF YOU ALLOCATE AND DEFINE n1, n2, n3, m1, m2, AND m3 TO USE TipNode. THIS WILL REQUIRE THAT THE AERODYNAMIC AND STRUCTURAL TWISTS, AeroTwst() AND ThetaS(), BE KNOWN AT THE TIP!!! +# !IF (.NOT. p['BD4Blades) THEN +# ! dat['LinVelESm2(K) = DOT_PRODUCT( dat['LinVelES(:,p['TipNode,K), CoordSys['m2(K,p['BldNodes,:) ) +# !END IF +# +# END DO !K = 1,p['NumBl +# +# +# dat['PLinVelEW( :,:,:) = dat['PLinVelEO(:,:,:) +# DO I = 1,NPN ! Loop through all DOFs associated with the angular motion of the nacelle (body N) +# +# TmpVec0 = CROSS_PRODUCT( dat['PAngVelEN(PN(I) ,0,:), dat['rOW ) +# TmpVec1 = CROSS_PRODUCT( dat['PAngVelEN(PN(I) ,0,:), EwNXrOW ) +# TmpVec2 = CROSS_PRODUCT( dat['PAngVelEN(PN(I) ,1,:), dat['rOW ) +# +# dat['PLinVelEW(PN(I),0,:) = TmpVec0 + dat['PLinVelEW(PN(I) ,0,:) +# dat['PLinVelEW(PN(I),1,:) = TmpVec1 + TmpVec2 + dat['PLinVelEW(PN(I) ,1,:) +# +# LinAccEWt = LinAccEWt + QDT(PN(I) )*dat['PLinVelEW(PN(I) ,1,:) +# +# ENDDO ! I - all DOFs associated with the angular motion of the nacelle (body N) +# +# +# ! Velocities of point I (tail boom center of mass) +# dat['PLinVelEI( :,:,:) = dat['PLinVelEW(:,:,:) +# DO I = 1,NPA ! Loop through all DOFs associated with the angular motion of the tail (body A) +# +# TmpVec0 = CROSS_PRODUCT( dat['PAngVelEA(PA(I) ,0,:), dat['rWI ) +# TmpVec1 = CROSS_PRODUCT( dat['PAngVelEA(PA(I) ,0,:), EwAXrWI ) +# TmpVec2 = CROSS_PRODUCT( dat['PAngVelEA(PA(I) ,1,:), dat['rWI ) +# +# dat['PLinVelEI(PA(I),0,:) = TmpVec0 + dat['PLinVelEI(PA(I) ,0,:) +# dat['PLinVelEI(PA(I),1,:) = TmpVec1 + TmpVec2 + dat['PLinVelEI(PA(I) ,1,:) +# +# dat['LinAccEIt = dat['LinAccEIt + QDT(PA(I) )*dat['PLinVelEI(PA(I) ,1,:) +# +# ENDDO ! I - all DOFs associated with the angular motion of the tail (body A) +# +# +# ! Velocities of point J (tail fin center of mass) +# dat['PLinVelEJ( :,:,:) = dat['PLinVelEW(:,:,:) +# dat['LinVelEJ = dat['LinVelEZ +# DO I = 1,NPA ! Loop through all DOFs associated with the angular motion of the tail (body A) +# +# TmpVec0 = CROSS_PRODUCT( dat['PAngVelEA(PA(I) ,0,:), dat['rWJ ) +# TmpVec1 = CROSS_PRODUCT( dat['PAngVelEA(PA(I) ,0,:), EwAXrWJ ) +# TmpVec2 = CROSS_PRODUCT( dat['PAngVelEA(PA(I) ,1,:), dat['rWJ ) +# +# dat['PLinVelEJ(PA(I),0,:) = TmpVec0 + dat['PLinVelEJ(PA(I) ,0,:) +# dat['PLinVelEJ(PA(I),1,:) = TmpVec1 + TmpVec2 + dat['PLinVelEJ(PA(I) ,1,:) +# +# dat['LinVelEJ = dat['LinVelEJ + QDT(PA(I) )*dat['PLinVelEJ(PA(I) ,0,:) +# dat['LinAccEJt = dat['LinAccEJt + QDT(PA(I) )*dat['PLinVelEJ(PA(I) ,1,:) +# +# ENDDO ! I - all DOFs associated with the angular motion of the tail (body A) +# +# + # --- Tower nodes + dat['LinAccETt'] = np.zeros((TwrNodes+1,3)) + dat['LinVelET'] = np.zeros((TwrNodes+1,3)) + for J in range(TwrNodes+1): #Loop through the tower nodes / elements + # Define the partial linear velocities (and their 1st derivatives) of the current node (point T(HNodes(J))) in the inertia frame. + # Also define the overall linear velocity of the current node in the inertia frame. + # Also, define the portion of the linear acceleration of the current node in the inertia frame associated with + # everything but the QD2T()'s: + EwXXrZT = np.cross( dat['AngVelEX'], dat['rZT'][J,:] ) + dat['PLinVelET'][J, :,:,:] = dat['PLinVelEZ'].copy() + dat['PLinVelET'][J,DOF_TFA1,0,:] = p['TwrFASF'][0,J,0]*CoordSys['a1'] - ( p['AxRedTFA'][0,0,J]* QT[DOF_TFA1] + p['AxRedTFA'][0,1,J]* QT[DOF_TFA2] )*CoordSys['a2'] + dat['PLinVelET'][J,DOF_TSS1,0,:] = p['TwrSSSF'][0,J,0]*CoordSys['a3'] - ( p['AxRedTSS'][0,0,J]* QT[DOF_TSS1] + p['AxRedTSS'][0,1,J]* QT[DOF_TSS2] )*CoordSys['a2'] + dat['PLinVelET'][J,DOF_TFA2,0,:] = p['TwrFASF'][1,J,0]*CoordSys['a1'] - ( p['AxRedTFA'][1,1,J]* QT[DOF_TFA2] + p['AxRedTFA'][0,1,J]* QT[DOF_TFA1] )*CoordSys['a2'] + dat['PLinVelET'][J,DOF_TSS2,0,:] = p['TwrSSSF'][1,J,0]*CoordSys['a3'] - ( p['AxRedTSS'][1,1,J]* QT[DOF_TSS2] + p['AxRedTSS'][0,1,J]* QT[DOF_TSS1] )*CoordSys['a2'] + TmpVec1 = np.cross( dat['AngVelEX'], dat['PLinVelET'][J,DOF_TFA1,0,:] ) + TmpVec2 = np.cross( dat['AngVelEX'], dat['PLinVelET'][J,DOF_TSS1,0,:] ) + TmpVec3 = np.cross( dat['AngVelEX'], dat['PLinVelET'][J,DOF_TFA2,0,:] ) + TmpVec4 = np.cross( dat['AngVelEX'], dat['PLinVelET'][J,DOF_TSS2,0,:] ) + dat['PLinVelET'][J,DOF_TFA1,1,:] = TmpVec1 - ( p['AxRedTFA'][0,0,J]*QDT[DOF_TFA1] + p['AxRedTFA'][0,1,J]*QDT[DOF_TFA2] )*CoordSys['a2'] + dat['PLinVelET'][J,DOF_TSS1,1,:] = TmpVec2 - ( p['AxRedTSS'][0,0,J]*QDT[DOF_TSS1] + p['AxRedTSS'][0,1,J]*QDT[DOF_TSS2] )*CoordSys['a2'] + dat['PLinVelET'][J,DOF_TFA2,1,:] = TmpVec3 - ( p['AxRedTFA'][1,1,J]*QDT[DOF_TFA2] + p['AxRedTFA'][0,1,J]*QDT[DOF_TFA1] )*CoordSys['a2'] + dat['PLinVelET'][J,DOF_TSS2,1,:] = TmpVec4 - ( p['AxRedTSS'][1,1,J]*QDT[DOF_TSS2] + p['AxRedTSS'][0,1,J]*QDT[DOF_TSS1] )*CoordSys['a2'] + LinVelXT = QDT[DOF_TFA1]*dat['PLinVelET'][J,DOF_TFA1,0,:] \ + + QDT[DOF_TSS1]*dat['PLinVelET'][J,DOF_TSS1,0,:] \ + + QDT[DOF_TFA2]*dat['PLinVelET'][J,DOF_TFA2,0,:] \ + + QDT[DOF_TSS2]*dat['PLinVelET'][J,DOF_TSS2,0,:] + dat['LinAccETt'][J,:] = QDT[DOF_TFA1]*dat['PLinVelET'][J,DOF_TFA1,1,:] \ + + QDT[DOF_TSS1]*dat['PLinVelET'][J,DOF_TSS1,1,:] \ + + QDT[DOF_TFA2]*dat['PLinVelET'][J,DOF_TFA2,1,:] \ + + QDT[DOF_TSS2]*dat['PLinVelET'][J,DOF_TSS2,1,:] + dat['LinVelET'][J,:] = LinVelXT + dat['LinVelEZ'] + for I in range(NPX): # Loop through all DOFs associated with the angular motion of the platform (body X) + TmpVec0 = np.cross( dat['PAngVelEX'][PX[I],0,:], dat['rZT'][J,:] ) + TmpVec1 = np.cross( dat['PAngVelEX'][PX[I],0,:], EwXXrZT + LinVelXT ) + dat['PLinVelET'][J,PX[I],0,:] = dat['PLinVelET'][J,PX[I],0,:] + TmpVec0 + dat['PLinVelET'][J,PX[I],1,:] = dat['PLinVelET'][J,PX[I],1,:] + TmpVec1 + dat['LinVelET'][ J, :] += QDT[PX[I]]*dat['PLinVelET'][J,PX[I],0,:] + dat['LinAccETt'][J, :] += QDT[PX[I]]*dat['PLinVelET'][J,PX[I],1,:] + # --- + if IEC is None: + IEC = dict() + IEC['v_F'] = EDVec2IEC(dat['LinVelEZ']) + IEC['v_N'] = EDVec2IEC(dat['LinVelEO']) + IEC['ud_N'] = EDVec2IEC(LinVelXO) # Elastic velocity of tower top + IEC['v_Gn'] = EDVec2IEC(dat['LinVelEU']) # velocity of nacelle COG + IEC['v_Ts'] = EDVec2IEC(dat['LinVelET']) # velocity of tower nodes + + return dat, IEC + + +def ED_CalcOutputs(x, p, noAxRed=False): + """ + INPUTS: + - x: states (for now structural only) + - p: parameters, e.g. as returned by p = ED_Parameters(fstSim) + OUTPUTS: + - CS: dictionary of Coordinate system info + - dat: dictionary of structural variables in "ElastoDyn internal" coordinate system + - IEC: dictionary of structural variables in OpenFAST/IEC coordinate system + + Example: + p = ED_Parameters(fstSim) + x['qDict'] = {'Sg': 10.0, 'Sw':20.0, 'Hv': 5.0, 'R':0.0, 'P':0.3, 'Y':0, 'TFA1':1.0, 'TSS1':10.0, 'Yaw':np.pi/8} + x['qdDict'] = {'Sg': 1.0, 'Sw': 2.0, 'Hv': 3.0, 'R':0.1, 'P':0.3, 'Y':0, 'TFA1':2.0, 'TSS1':4.0, 'Yaw':0.0} + + """ + if noAxRed: + p['AxRedTFA']*=0 # + p['AxRedTSS']*=0 # + qDict = x['qDict'] + qdDict = x['qdDict'] + CS = ED_CoordSys(qDict=qDict, TwrFASF=p['TwrFASF'], TwrSSSF=p['TwrSSSF']) + dat, IEC = ED_Positions(qDict=qDict, CoordSys=CS, p=p) + dat, IEC = ED_AngPosVelPAcc(qDict=qDict, qdDict=qdDict, CoordSys=CS, p=p, dat=dat, IEC=IEC) + dat, IEC = ED_LinVelPAcc (qDict=qDict, qdDict=qdDict, CoordSys=CS, p=p, dat=dat, IEC=IEC) + return CS, dat, IEC + +if __name__ == '__main__': +# EDfilename='../yams/_Jens/FEMBeam_NewFASTCoeffs/data/NREL5MW_ED_Onshore.dat' +# EDfilename='../../data/NREL5MW/onshore/NREL5MW_ED_Onshore.dat' +# bladeParameters(EDfilename) + + EDfilename = '../../data/NREL5MW/onshore/NREL5MW_ED_Onshore.dat' + FSTfilename = '../../data/NREL5MW/Main_Onshore.fst' + + fst = FASTInputFile(FSTfilename) + + p,pbld = rotorParameters(EDfilename) + + ptwr=towerParameters(EDfilename, gravity=fst['Gravity'], RotMass=p['RotMass']) + + # Calculate the turbine mass: + ptwr['TurbMass'] = ptwr['TwrTpMass'] + ptwr['TwrMass']; + + diff --git a/openfast_toolbox/modules/servodyn.py b/openfast_toolbox/modules/servodyn.py new file mode 100644 index 0000000..d6b6657 --- /dev/null +++ b/openfast_toolbox/modules/servodyn.py @@ -0,0 +1,63 @@ +import os +import ctypes +import platform + +from openfast_toolbox.tools.strings import INFO, FAIL, OK, WARN, print_bold + +def check_discon_library(libpath): + """ + Try to load a DISCON-style library and optionally call its DISCON entry point. + + Parameters + ---------- + libpath : str + Path to the shared library (.dll, .so, .dylib) + + Returns + ------- + success : bool + True if the library is suitable for the current OS and the DISCON function is callable. + msg : str + Description of the result. + """ + # Normalize path + libpath = os.path.abspath(libpath) + + # Check extension against OS + system = platform.system() + expected_ext = { "Windows": ".dll", "Linux": ".so", "Darwin": ".dylib" } + if system not in expected_ext: + WARN(f"Unsupported OS: {system}") + if not libpath.endswith(expected_ext[system]): + WARN(f"Library extension mismatch: expected {expected_ext[system]} for {system}") + + if not os.path.isfile(libpath): + FAIL(f"File not found: {libpath}") + return False + + try: + lib = ctypes.CDLL(libpath) + OK(f"Successully loaded library {libpath}") + except OSError as e: + FAIL(f"Failed to load library {libpath}\nError: {e}") + return False + + # Check if DISCON function exists + try: + discon_func = lib.DISCON + # Optionally set argument/return types (DISCON has a big Fortran-style interface) + # but for a simple check, just ensure we can obtain the symbol + except AttributeError: + FAIL(f"Library loaded but no DISCON symbol found in {libpath}") + return False + # Try a "dry call" — this will fail unless proper arguments are passed. + # We just test that the function pointer exists and is callable. + try: + _ = callable(discon_func) + OK(f'DISCON function is present in library.') + except Exception as e: + FAIL[f"DISCON symbol found but not callable:\nLibrary:{libpath}\nError: {e}"] + return False + + #OK(f'Successfully loaded {libpath} and DISCON function is present.') + return True diff --git a/openfast_toolbox/tools/grids.py b/openfast_toolbox/tools/grids.py new file mode 100644 index 0000000..a6d7c9b --- /dev/null +++ b/openfast_toolbox/tools/grids.py @@ -0,0 +1,218 @@ +import numpy as np +import matplotlib.pyplot as plt + +class BoundingBox: + def __init__(self, x, y, z=None): + """Initialize from arrays of coordinates x,y,(z).""" + self.is3D = z is not None + self.xmin, self.xmax = np.min(x), np.max(x) + self.ymin, self.ymax = np.min(y), np.max(y) + if self.is3D: + self.zmin, self.zmax = np.min(z), np.max(z) + + def lines(self): + """Return line segments (arrays of shape (N,2) or (N,3)) + for plotting the bounding box edges.""" + if not self.is3D: + # 2D rectangle (closed loop) + pts = np.array([ + [self.xmin, self.ymin], + [self.xmax, self.ymin], + [self.xmax, self.ymax], + [self.xmin, self.ymax], + [self.xmin, self.ymin] + ]) + return pts + else: + # 3D: 8 corners + corners = np.array([ + [self.xmin, self.ymin, self.zmin], + [self.xmax, self.ymin, self.zmin], + [self.xmax, self.ymax, self.zmin], + [self.xmin, self.ymax, self.zmin], + [self.xmin, self.ymin, self.zmax], + [self.xmax, self.ymin, self.zmax], + [self.xmax, self.ymax, self.zmax], + [self.xmin, self.ymax, self.zmax] + ]) + # faces as loops of 4 corners (closed) + faces = [ + [0,1,2,3,0], # bottom + [4,5,6,7,4], # top + [0,1,5,4,0], # front + [1,2,6,5,1], # right + [2,3,7,6,2], # back + [3,0,4,7,3] # left + ] + + X, Y, Z = [], [], [] + for f in faces: + X.extend(corners[f,0]); X.append(np.nan) # NaN breaks the line + Y.extend(corners[f,1]); Y.append(np.nan) + Z.extend(corners[f,2]); Z.append(np.nan) + + points = np.zeros((len(X), 3) ) + points[:,0] = X + points[:,1] = Y + points[:,2] = Z + return points + + def contains(self, other, strict: bool = False): + """Return True if self contains other bounding box. + + Parameters + ---------- + other : BoundingBox + The other bounding box to check. + strict : bool, optional + If True, requires strict containment (no shared boundaries). + Default is False. + """ + if self.is3D != other.is3D: + raise Exception('Cannot compare a 2D and 3D box') + if strict: + ok = (self.xmin < other.xmin) and (self.xmax > other.xmax) \ + and (self.ymin < other.ymin) and (self.ymax > other.ymax) + if self.is3D: + ok = ok and (self.zmin < other.zmin) and (self.zmax > other.zmax) + else: + ok = (self.xmin <= other.xmin) and (self.xmax >= other.xmax) \ + and (self.ymin <= other.ymin) and (self.ymax >= other.ymax) + if self.is3D: + ok = ok and (self.zmin <= other.zmin) and (self.zmax >= other.zmax) + return ok + + def plot(self, ax, plane=None, **kwargs): + """Plot bounding box in the chosen plane.""" + pts = self.lines() + if plane is None: + if not self.is3D: + ax.plot(pts[:,0], pts[:,1], **kwargs) + else: + ax.plot(pts[:,0], pts[:,1], pts[:,2], **kwargs) + return + if plane == "XY": + X, Y = pts[:,0],pts[:,1] + elif plane == "XZ" and self.is3D: + X, Y = pts[:,0],pts[:,2] + elif plane == "YZ" and self.is3D: + X, Y = pts[:,1],pts[:,2] + else: + raise ValueError(f"Invalid plane {plane} for this bounding box") + ax.plot(X, Y, **kwargs) + + + +class RegularGrid: + def __init__(self, x0, nx, dx, y0=None, ny=None, dy=None, z0=None, nz=None, dz=None): + """ + Define a regular grid in 2D or 3D. + + Parameters + ---------- + x0, nx, dx : float, int, float + Origin, number of points, spacing along x. + y0, ny, dy : optional + Same for y. + z0, nz, dz : optional + Same for z. + """ + self.x0, self.nx, self.dx = x0, nx, dx + self.y0, self.ny, self.dy = y0, ny, dy + self.z0, self.nz, self.dz = z0, nz, dz + self.is3D = z0 is not None and nz is not None and dz is not None + + # Coordinates + self.x = x0 + np.arange(nx) * dx + if y0 is not None and ny is not None and dy is not None: + self.y = y0 + np.arange(ny) * dy + else: + self.y = None + if self.is3D: + self.z = z0 + np.arange(nz) * dz + else: + self.z = None + + # Bounding box + if self.is3D: + self.bb = BoundingBox(self.x, self.y, self.z) + else: + self.bb = BoundingBox(self.x, self.y) + + def contains_grid(self, other, strict=False): + """Check if this grid fully contains another grid.""" + return self.bb.contains(other.bb, strict=strict) + + def contains_bb(self, other_bb, strict=False): + """Check if this grid contains a given bounding box.""" + return self.bb.contains(other_bb, strict=strict) + + def contains_p(self, p): + """Check if this grid contains a point p=(x,y) or (x,y,z).""" + if self.is3D and len(p) == 3: + x, y, z = p + return (self.bb.xmin <= x <= self.bb.xmax and + self.bb.ymin <= y <= self.bb.ymax and + self.bb.zmin <= z <= self.bb.zmax) + elif not self.is3D and len(p) == 2: + x, y = p + return (self.bb.xmin <= x <= self.bb.xmax and + self.bb.ymin <= y <= self.bb.ymax) + else: + return False + + def plot(self, ax, plane="XY", grid=True, color=(0.3,0.3,0.3), optsGd=None, optsBB=None): + """Plot grid lines and bounding box projection in a given plane.""" + optsGdLoc=dict(ls='-', color=color, lw=0.3) + optsGd=optsGdLoc if optsGd is None else optsGdLoc.update(optsGd) + optsBBLoc=dict(ls='-', color=color, lw=1.0) + optsBB=optsBBLoc if optsBB is None else optsBBLoc.update(optsBB) + + if plane == "XY": + X, Y = self.x, self.y + elif plane == "XZ" and self.is3D: + X, Y = self.x, self.z + elif plane == "YZ" and self.is3D: + X, Y = self.y, self.z + else: + raise ValueError(f"Invalid plane {plane} for this grid") + + # Grid lines + if grid: + ax.vlines(X, ymin=Y[0], ymax=Y[-1], **optsGdLoc) + ax.hlines(Y, xmin=X[0], xmax=X[-1], **optsGdLoc) + # Bounding box + self.bb.plot(ax, plane=plane, **optsBBLoc) + + +if __name__ == "__main__": + # --- 2D test --- + x = np.random.randn(20) + y = np.random.randn(20) +# bb2d = BoundingBox(x, y) +# +# fig, ax = plt.subplots() +# ax.scatter(x, y, label="points") +# bb2d.plot(ax, color='r', lw=2, label="bounding box") +# ax.legend() +# plt.title("2D BoundingBox test") +# plt.show() + + # --- 3D test --- + z = np.random.randn(20) + bb3d = BoundingBox(x, y, z) + + fig = plt.figure() + ax = fig.add_subplot(111, projection='3d') + ax.scatter(x, y, z, c='b', marker='o') + bb3d.plot(ax, color='g', lw=2) + plt.title("3D BoundingBox test") + plt.show() + + # --- containment test --- + x_small = np.random.uniform(-0.5, 0.5, 10) + y_small = np.random.uniform(-0.5, 0.5, 10) + z_small = np.random.uniform(-0.5, 0.5, 10) + small_box = BoundingBox(x_small, y_small, z_small) + print("bb3d contains small_box?", bb3d.contains(small_box)) + diff --git a/openfast_toolbox/tools/strings.py b/openfast_toolbox/tools/strings.py new file mode 100644 index 0000000..0b118a5 --- /dev/null +++ b/openfast_toolbox/tools/strings.py @@ -0,0 +1,391 @@ +import sys +import numpy as np +from html import escape + +# ---------- optional libs ---------- +try: + from termcolor import cprint as _tc_cprint + _HAS_TERMCOLOR = True +except Exception: + _HAS_TERMCOLOR = False + +try: + from IPython import get_ipython + from IPython.display import display, HTML + _IPY = get_ipython() + # ZMQInteractiveShell => Jupyter Notebook / Lab + _IN_JUPYTER = _IPY is not None and _IPY.__class__.__name__ == "ZMQInteractiveShell" +except Exception: + _IN_JUPYTER = False + +# --- HTML +_HTML_COLOR = { + 'red': '#d32f2f', 'yellow': '#f7b500', 'green': '#388e3c', + 'blue': '#1976d2', 'magenta': '#8e24aa', 'cyan': '#0097a7', None: 'inherit' +} + +# --- ASCII Codes +_ANSI_COLOR = { + 'red': '\033[91m', + 'yellow': '\033[93m', + 'green': '\033[92m', + 'blue': '\033[94m', + 'magenta':'\033[95m', + 'cyan': '\033[96m', + None: '' +} +_ATTRS_ANSI = { + 'bold': '\033[1m', + 'underline': '\033[4m' +} +_RESET = '\033[0m' + + + +def cprint_local(msg, color=None, attrs=None, file=sys.stdout, end='\n'): + color_code = _COLOR.get(color, '') + attr_code = ''.join(_ATTR.get(a, '') for a in (attrs or [])) + try: + print(f"{color_code}{attr_code}{msg}{_RESET}", file=file) + except Exception: + # Absolute last resort (no colors, never crash) + print(msg, file=file, end=end) + + + +def cprint(msg, color=None, attrs=None, file=sys.stdout, end='\n'): + """Robust colored / bold print. In Jupyter: render HTML for reliable styling. + In normal terminals: use termcolor if present, else ANSI escapes, else plain print. + `file` follows print() semantics; when in a notebook and file is stdout/stderr + the function uses rich HTML output (display).""" + attrs = attrs or [] + + # 1) Jupyter: render HTML so bold + color always show in output cells + if _IN_JUPYTER and file in (sys.stdout, sys.stderr): + try: + color_css = _HTML_COLOR.get(color, color or 'inherit') + style = '' + if color_css: + style += f'color:{color_css};' + if 'bold' in attrs: + style += 'font-weight:700;' + if 'underline' in attrs: + style += 'text-decoration:underline;' + safe = escape(msg) + html = (f"
{safe}
") + display(HTML(html)) + return + except Exception: + # fall through to other backends if display fails + pass + + # 2) termcolor if available (works well in many terminals) + if _HAS_TERMCOLOR: + try: + _tc_cprint(msg, color=color, attrs=attrs, file=file) + return + except Exception: + pass + + # 3) ANSI fallback + try: + color_code = _ANSI_COLOR.get(color, '') + attr_code = ''.join(_ATTRS_ANSI.get(a, '') for a in attrs) + trailing = _RESET if (color_code or attr_code) else '' + print(f"{color_code}{attr_code}{msg}{trailing}", file=file, end=end) + except Exception: + # 4) last resort: plain text + try: + print(msg, file=file, end=end) + except Exception: + # silence any error (we never want the logger itself to crash) + pass + + +# ------------------------------------------------------------------------- +# --- Convenient functions +# ------------------------------------------------------------------------- +def print_bold(msg, **kwargs): + cprint(msg, attrs=['bold'], **kwargs) + +def FAIL(msg, label='[FAIL] ', **kwargs): + msg = ('\n'+ ' ' * len(label)).join( (label+msg).split('\n') ) # Indending new lines + cprint(msg, color='red', attrs=['bold'], file=sys.stderr, **kwargs) + +def WARN(msg, label='[WARN] ', **kwargs): + msg = ('\n'+ ' ' * len(label)).join( (label+msg).split('\n') ) # Indending new lines + cprint(msg, color='yellow', attrs=['bold'], **kwargs) + +def OK(msg, label='[ OK ] ', **kwargs): + msg = ('\n'+ ' ' * len(label)).join( (label+msg).split('\n') ) # Indending new lines + cprint(msg, color='green', attrs=['bold'], **kwargs) + +def INFO(msg, label='[INFO] ', **kwargs): + msg = ('\n'+ ' ' * len(label)).join( (label+msg).split('\n') ) # Indending new lines + cprint(msg, **kwargs) + + +# -------------------------------------------------------------------------------- +# --- Pretty prints +# -------------------------------------------------------------------------------- +def pretty_num(x, digits=None, nchar=None, align='right', xmin=1e-16, center0=True): + """ + Printing number with "pretty" formatting, either: + - fixed number of decimals by setting digits + OR + - fixed number of characters by setting nchar + + """ + if nchar is not None and digits is not None: + method='fixed_number_of_char_and_digits' + + elif nchar is None: + nchar=7+digits + method='fixed_number_of_digits' + else: + if digits is None: + digits=int(nchar/2) + method='fixed_number_of_char' + if nchar<8: + raise Exception('nchar needs to be at least 7 to accomodate exp notation') + + try: + x = float(x) + except: + s=str(x) + if align=='right': + return s.rjust(nchar) + else: + return s.ljust(nchar) + + if np.abs(x)1e-7: + s= "{:.6f}".format(x) + else: + s= "{:.6e}".format(x) + elif digits==5: + if abs(x)<100000 and abs(x)>1e-6: + s= "{:.5f}".format(x) + else: + s= "{:.5e}".format(x) + elif digits==4: + if abs(x)<10000 and abs(x)>1e-5: + s= "{:.4f}".format(x) + else: + s= "{:.4e}".format(x) + elif digits==3: + if abs(x)<10000 and abs(x)>1e-4: + s= "{:.3f}".format(x) + else: + s= "{:.3e}".format(x) + elif digits==2: + if abs(x)<100000 and abs(x)>1e-3: + s= "{:.2f}".format(x) + else: + s= "{:.2e}".format(x) + elif digits==1: + if abs(x)<100000 and abs(x)>1e-2: + s= "{:.1f}".format(x) + else: + s= "{:.1e}".format(x) + elif digits==0: + if abs(x)<1000000 and abs(x)>1e-1: + s= "{:.0f}".format(x) + else: + s= "{:.0e}".format(x) + else: + raise NotImplementedError('digits',digits) + elif method=='fixed_number_of_char': + xlow = 10**(-(nchar-2)) + xhigh = 10**( (nchar-1)) + if type(x)==int: + raise NotImplementedError() + if abs(x)xlow: + n = int(np.log10(abs(x))) + if n<0: + sfmt='{:'+str(nchar)+'.'+str(nchar-3)+'f'+'}' + elif nchar-3-n<0: + sfmt='{:'+str(nchar-1)+'.0'+'f'+'}' + elif nchar-3-n==0: + sfmt='{:'+str(nchar-1)+'.0'+'f'+'}.' + else: + sfmt='{:'+str(nchar)+'.'+str(nchar-3-n)+'f'+'}' + else: + sfmt='{:'+str(nchar)+'.'+str(nchar-7)+'e'+'}' # Need 7 char for exp + s = sfmt.format(x) + #print(xlow, xhigh, sfmt, len(s), '>'+s+'<') + elif method=='fixed_number_of_char_and_digits': + xlow = 10**(-(nchar-2)) + xhigh = 10**( (nchar-1)) + s = f"{x:.{digits+1}g}" # general format with significant digits + if len(s) > nchar: + # fallback: scientific notation + s = f"{x:.{digits+1}e}" + # truncate or pad to exactly nchar characters + if len(s) > nchar: + s = s[:nchar] + else: + raise NotImplementedError(method) + + if align=='right': + return s.rjust(nchar) + else: + return s.ljust(nchar) + +def prettyMat(M, var=None, digits=2, nchar=None, sindent=' ', align='right', center0=True, newline=True, openChar='[',closeChar=']', sepChar=' ', xmin=1e-16): + """ + return a matrix as a string, with misc output options + INPUTS: + - M: array of float/int + - var: string + """ + s='' + if var is not None: + if not isinstance(var, str): + raise Exception() + s=var+':' + if newline: + s+='\n' + # Corner cases, being nice to user.. + if isinstance(M, str): + s+=M + return s + if not hasattr(M,'__len__'): + s+=pretty_num(M, digits=digits, nchar=nchar, align=align, center0=center0, xmin=xmin) + return s + + M=np.atleast_2d(M) + s+=sindent + for iline,line in enumerate(M): + s+= openChar+sepChar.join([pretty_num(v, digits=digits, nchar=nchar, align=align, center0=center0, xmin=xmin) for v in line ])+closeChar + if iline>> printDict TYPE', type(v)) +# sindentloc = print('{}{20s}:{}'.format(sindent, k, v) + + +def prettyVar(val, var=None, key_fmt='{:15s}', digits=2, xmin=1e-16, **kwargs): + s='' + if var is not None: + s+=key_fmt.format(var)+': ' + # Corner cases, being nice to user.. + if isinstance(val, str): + s+=val + return s + if not hasattr(val,'__len__'): + s+=pretty_num(val, digits=digits, **kwargs) + return s + +def printVar(val, var=None, key_fmt='{:15s}', digits=2, xmin=1e-16, **kwargs): + var, val = _swapArgs(var, val) + s = prettyVar(val, var=var, key_fmt=key_fmt, digits=digits, xmin=xmin, **kwargs) + print(s) + +def printVarTex(val, var=None, key_fmt='{:15s}', digits=2, xmin=1e-16, **kwargs): + var, val = _swapArgs(var, val) + s = '' + if var is not None: + var='$'+var+'$' + s += key_fmt.format(var) + '&' + if isinstance(val, str): + s+=val + elif not hasattr(val,'__len__'): + s+=pretty_num(val, digits=digits, **kwargs) + s+='\\\\' + return print(s) + + +def _swapArgs(var, val): + if var is not None: + if not isinstance(var, str): + if isinstance(val, str): + val, var = var, val # we swap + return var, val + + +# ------------------------------------------------------------------------- +# Example usage +# ------------------------------------------------------------------------- +if __name__ == "__main__": + f= 10.**np.arange(-8,8,1) + f1=10.**np.arange(-8,8,1) + f2=-f1 + f3=f1*0 + M = np.stack((f1,f2,f3,f1)) + d=3 + nc=None + d=None + nc=12 + for x in f: + print(pretty_num(x, digits=d, nchar=nc)) + for x in f: + s=pretty_num(-x, digits=d, nchar=nc) + print(s, len(s), -x) + print(pretty_num(0, digits=d, nchar=nc)) + printMat(M, 'M', digits=1, align='right') + + + FAIL("This is a failure message") + WARN("This is a warning message") + OK("This is a success message") From 209644bc5bb8551be4e693c0cdb1c6cff7bd8c43 Mon Sep 17 00:00:00 2001 From: "E. Branlard" <1318316+ebranlard@users.noreply.github.com> Date: Sat, 11 Oct 2025 11:27:33 -0400 Subject: [PATCH 4/4] Updates from welib and FAST.Farm examples on github action (#64) * Updates from welib * Adding IEA15 model * Adding Example 0, update Example 1 so it can run on github action * Adapting Example 2 for FAST.Farm so it can run on github action * Adapting Example 3 for FAST.Farm so it can run on github action * Adding real_all io unittest, and verbose flag to unittest --- .github/workflows/development-pipeline.yml | 2 +- Makefile | 2 +- data/IEA15MW/AD.dat | 187 ++++++ .../Airfoils/IEA-15-240-RWT_AF00_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF01_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF02_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF03_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF04_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF05_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF06_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF07_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF08_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF09_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF10_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF11_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF12_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF13_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF14_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF15_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF16_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF17_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF18_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF19_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF20_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF21_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF22_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF23_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF24_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF25_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF26_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF27_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF28_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF29_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF30_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF31_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF32_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF33_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF34_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF35_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF36_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF37_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF38_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF39_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF40_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF41_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF42_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF43_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF44_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF45_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF46_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF47_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF48_Coords.txt | 208 +++++++ .../Airfoils/IEA-15-240-RWT_AF49_Coords.txt | 208 +++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_00.dat | 220 +++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_01.dat | 220 +++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_02.dat | 220 +++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_03.dat | 220 +++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_04.dat | 220 +++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_05.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_06.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_07.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_08.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_09.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_10.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_11.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_12.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_13.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_14.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_15.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_16.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_17.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_18.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_19.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_20.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_21.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_22.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_23.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_24.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_25.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_26.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_27.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_28.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_29.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_30.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_31.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_32.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_33.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_34.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_35.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_36.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_37.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_38.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_39.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_40.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_41.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_42.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_43.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_44.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_45.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_46.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_47.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_48.dat | 254 ++++++++ .../IEA-15-240-RWT_AeroDyn15_Polar_49.dat | 254 ++++++++ data/IEA15MW/Cp_Ct_Cq.IEA15MW.txt | 99 +++ data/IEA15MW/DISCON_ROSCOv2.9.IN | 198 ++++++ data/IEA15MW/ED.T.dat | 166 +++++ data/IEA15MW/FF.fstf | 115 ++++ ...EA-15-240-RWT-Monopile_ElastoDyn_tower.dat | 61 ++ .../IEA-15-240-RWT_AeroDyn15_blade.dat | 56 ++ .../IEA-15-240-RWT_ElastoDyn_blade.dat | 82 +++ data/IEA15MW/IW_WT.dat | 71 +++ data/IEA15MW/README.md | 18 + data/IEA15MW/SvD.T.dat | 110 ++++ data/IEA15MW/WT.T.fst | 73 +++ openfast_toolbox/converters/beamDynToHawc2.py | 8 +- .../examples/Main_BeamDynToHawc2.py | 5 +- .../examples/Main_Hawc2ToBeamDyn.py | 3 +- openfast_toolbox/converters/hawc2ToBeamDyn.py | 12 +- .../converters/tests/test_hawc2ToBeamDyn.py | 2 +- .../fastfarm/FASTFarmCaseCreation.py | 32 +- openfast_toolbox/fastfarm/examples/.gitignore | 1 + .../Ex0_FASTFarm_PlotSetup_ModifyInputs.py | 84 +++ .../examples/Ex1_FASTFarm_discretization.py | 191 ++++-- .../examples/Ex2a_FASTFarm_TurbSim_driven.py | 223 +++++-- .../examples/Ex2b_FASTFarm_LES_driven.py | 135 ++-- .../SampleFiles/dummy_discon.dll.dummy | 2 + .../SampleFiles/dummy_fastfarm.exe.txt | 3 + .../SampleFiles/dummy_turbsim.exe.txt | 3 + ...1_InflowXX_SeedY.inp => template_High.inp} | 28 +- ...ow_InflowXX_SeedY.inp => template_Low.inp} | 32 +- .../fastfarm/tests/test_run_Examples.py | 3 +- openfast_toolbox/io/airfoil_file.py | 577 ++++++++++++++++++ openfast_toolbox/io/csv_file.py | 106 +++- openfast_toolbox/io/fast_input_file.py | 8 +- openfast_toolbox/io/fast_summary_file.py | 2 +- openfast_toolbox/io/plot3d_file.py | 237 +++++++ .../io/tests/example_files/CSVComma_UTF16.csv | Bin 0 -> 326 bytes .../Elliptic_AD15_blade_40_dummy.dat | 46 ++ openfast_toolbox/io/tests/test_all.py | 69 +++ openfast_toolbox/io/turbsim_file.py | 19 +- openfast_toolbox/io/yaml_file.py | 211 +++++++ openfast_toolbox/linearization/__init__.py | 1 + .../linearization/campbell_data.py | 5 + .../ex1a_OneLinFile_SimpleEigenAnalysis.py | 12 +- .../examples/ex1b_OneLinFile_NoRotation.py | 6 +- .../examples/ex2a_MultiLinFiles_OneOP.py | 6 +- .../examples/ex3a_MultiLinFile_Campbell.py | 5 +- openfast_toolbox/postpro/postpro.py | 138 +++-- openfast_toolbox/tools/curve_fitting.py | 21 +- openfast_toolbox/tools/pandalib.py | 2 +- openfast_toolbox/tools/signal_analysis.py | 103 +++- openfast_toolbox/tools/spectral.py | 169 ++++- openfast_toolbox/tools/stats.py | 58 +- 153 files changed, 26343 insertions(+), 395 deletions(-) create mode 100644 data/IEA15MW/AD.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF00_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF01_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF02_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF03_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF04_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF05_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF06_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF07_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF08_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF09_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF10_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF11_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF12_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF13_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF14_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF15_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF16_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF17_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF18_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF19_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF20_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF21_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF22_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF23_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF24_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF25_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF26_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF27_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF28_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF29_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF30_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF31_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF32_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF33_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF34_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF35_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF36_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF37_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF38_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF39_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF40_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF41_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF42_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF43_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF44_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF45_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF46_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF47_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF48_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AF49_Coords.txt create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_00.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_01.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_02.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_03.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_04.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_05.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_06.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_07.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_08.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_09.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_10.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_11.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_12.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_13.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_14.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_15.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_16.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_17.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_18.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_19.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_20.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_21.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_22.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_23.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_24.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_25.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_26.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_27.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_28.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_29.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_30.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_31.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_32.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_33.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_34.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_35.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_36.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_37.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_38.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_39.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_40.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_41.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_42.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_43.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_44.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_45.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_46.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_47.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_48.dat create mode 100644 data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_49.dat create mode 100644 data/IEA15MW/Cp_Ct_Cq.IEA15MW.txt create mode 100644 data/IEA15MW/DISCON_ROSCOv2.9.IN create mode 100644 data/IEA15MW/ED.T.dat create mode 100644 data/IEA15MW/FF.fstf create mode 100644 data/IEA15MW/IEA-15-240-RWT-Monopile_ElastoDyn_tower.dat create mode 100644 data/IEA15MW/IEA-15-240-RWT_AeroDyn15_blade.dat create mode 100644 data/IEA15MW/IEA-15-240-RWT_ElastoDyn_blade.dat create mode 100644 data/IEA15MW/IW_WT.dat create mode 100644 data/IEA15MW/README.md create mode 100644 data/IEA15MW/SvD.T.dat create mode 100644 data/IEA15MW/WT.T.fst create mode 100644 openfast_toolbox/fastfarm/examples/.gitignore create mode 100644 openfast_toolbox/fastfarm/examples/Ex0_FASTFarm_PlotSetup_ModifyInputs.py create mode 100644 openfast_toolbox/fastfarm/examples/SampleFiles/dummy_discon.dll.dummy create mode 100644 openfast_toolbox/fastfarm/examples/SampleFiles/dummy_fastfarm.exe.txt create mode 100644 openfast_toolbox/fastfarm/examples/SampleFiles/dummy_turbsim.exe.txt rename openfast_toolbox/fastfarm/examples/SampleFiles/{template_HighT1_InflowXX_SeedY.inp => template_High.inp} (73%) rename openfast_toolbox/fastfarm/examples/SampleFiles/{template_Low_InflowXX_SeedY.inp => template_Low.inp} (78%) create mode 100644 openfast_toolbox/io/airfoil_file.py create mode 100644 openfast_toolbox/io/plot3d_file.py create mode 100644 openfast_toolbox/io/tests/example_files/CSVComma_UTF16.csv create mode 100644 openfast_toolbox/io/tests/example_files/input_decks/Elliptic_AD15_blade_40_dummy.dat create mode 100644 openfast_toolbox/io/tests/test_all.py create mode 100644 openfast_toolbox/io/yaml_file.py diff --git a/.github/workflows/development-pipeline.yml b/.github/workflows/development-pipeline.yml index d8dcc8b..5e9e460 100644 --- a/.github/workflows/development-pipeline.yml +++ b/.github/workflows/development-pipeline.yml @@ -59,4 +59,4 @@ jobs: pip install -e . - name: Tests run: | - python -m unittest discover + python -m unittest discover -v diff --git a/Makefile b/Makefile index 4d532ca..05099f5 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ test: - python -m unittest discover + python -m unittest discover -v diff --git a/data/IEA15MW/AD.dat b/data/IEA15MW/AD.dat new file mode 100644 index 0000000..c892f9c --- /dev/null +++ b/data/IEA15MW/AD.dat @@ -0,0 +1,187 @@ +------- AERODYN v15.03.* INPUT FILE ------------------------------------------------ +IEA 15 MW Offshore Reference Turbine +====== General Options ============================================================================ +False Echo - Echo the input to ".AD.ech"? (flag) +Default DTAero - Time interval for aerodynamic calculations {or "default"} (s) +1 Wake_Mod - Wake/induction model (switch) {0=none, 1=BEMT, 3=OLAF} [Wake_Mod cannot be 2 or 3 when linearizing] +1 TwrPotent - Type tower influence on wind based on potential flow around the tower (switch) {0=none, 1=baseline potential flow, 2=potential flow with Bak correction} +1 TwrShadow - Calculate tower influence on wind based on downstream tower shadow (switch) {0=none, 1=Powles model, 2=Eames model} +True TwrAero - Calculate tower aerodynamic loads? (flag) +False CavitCheck - Perform cavitation check? (flag) [UA_Mod must be 0 when CavitCheck=true] +False Buoyancy - Include buoyancy effects? (flag) +False NacelleDrag - Include Nacelle Drag effects? (flag) +False CompAA - Flag to compute AeroAcoustics calculation [used only when Wake_Mod = 1 or 2] +AeroAcousticsInput.dat AA_InputFile - AeroAcoustics input file [used only when CompAA=true] +====== Environmental Conditions =================================================================== +"default" AirDens - Air density (kg/m^3) +"default" KinVisc - Kinematic viscosity of working fluid (m^2/s) +"default" SpdSound - Speed of sound in working fluid (m/s) +"default" Patm - Atmospheric pressure (Pa) [used only when CavitCheck=True] +"default" Pvap - Vapour pressure of working fluid (Pa) [used only when CavitCheck=True] +====== Blade-Element/Momentum Theory Options ====================================================== [unused when Wake_Mod=0 or 3, except for BEM_Mod] +1 BEM_Mod - BEM model {1=legacy NoSweepPitchTwist, 2=polar} (switch) [used for all Wake_Mod to determine output coordinate system] +--- Skew correction +1 Skew_Mod - Skew model {0=No skew model, -1=Remove non-normal component for linearization, 1=skew model active} +False SkewMomCorr - Turn the skew momentum correction on or off [used only when Skew_Mod=1] +1 SkewRedistr_Mod - Type of skewed-wake correction model (switch) {0=no redistribution, 1=Glauert/Pitt/Peters, default=1} [used only when Skew_Mod=1] +default SkewRedistrFactor - Constant used in Pitt/Peters skewed wake model {or "default" is 15/32*pi} (-) [used only when Skew_Mod=1 and SkewRedistr_Mod=1] +--- BEM algorithm +True TipLoss - Use the Prandtl tip-loss model? (flag) [unused when Wake_Mod=0 or 3] +True HubLoss - Use the Prandtl hub-loss model? (flag) [unused when Wake_Mod=0 or 3] +True TanInd - Include tangential induction in BEMT calculations? (flag) [unused when Wake_Mod=0 or 3] +True AIDrag - Include the drag term in the axial-induction calculation? (flag) [unused when Wake_Mod=0 or 3] +True TIDrag - Include the drag term in the tangential-induction calculation? (flag) [unused when Wake_Mod=0,3 or TanInd=FALSE] +Default IndToler - Convergence tolerance for BEMT nonlinear solve residual equation {or "default"} (-) [unused when Wake_Mod=0 or 3] +500 MaxIter - Maximum number of iteration steps (-) [unused when Wake_Mod=0] +--- Shear correction +False SectAvg - Use sector averaging (flag) +1 SectAvgWeighting - Weighting function for sector average {1=Uniform, default=1} within a sector centered on the blade (switch) [used only when SectAvg=True] +default SectAvgNPoints - Number of points per sectors (-) {default=5} [used only when SectAvg=True] +default SectAvgPsiBwd - Backward azimuth relative to blade where the sector starts (<=0) {default=-60} (deg) [used only when SectAvg=True] +default SectAvgPsiFwd - Forward azimuth relative to blade where the sector ends (>=0) {default=60} (deg) [used only when SectAvg=True] +--- Dynamic wake/inflow +2 DBEMT_Mod - Type of dynamic BEMT (DBEMT) model {0=No Dynamic Wake, -1=Frozen Wake for linearization, 1:constant tau1, 2=time-dependent tau1, 3=constant tau1 with continuous formulation} (-) +29.03 tau1_const - Time constant for DBEMT (s) [used only when Wake_Mod=2 and DBEMT_Mod=1] +====== OLAF -- cOnvecting LAgrangian Filaments (Free Vortex Wake) Theory Options ================== [used only when Wake_Mod=3] +IEA-15-240-RWT_OLAF.dat OLAFInputFileName - Input file for OLAF [used only when Wake_Mod=3] +====== Unsteady Airfoil Aerodynamics Options ==================================================== +True AoA34 - Sample the angle of attack (AoA) at the 3/4 chord or the AC point {default=True} [always used] +4 UA_Mod - Unsteady Aero Model Switch (switch) {0=Quasi-steady (no UA), 2=B-L Gonzalez, 3=B-L Minnema/Pierce, 4=B-L HGM 4-states, 5=B-L HGM+vortex 5 states, 6=Oye, 7=Boeing-Vertol} +True FLookup - Flag to indicate whether a lookup for f' will be calculated (TRUE) or whether best-fit exponential equations will be used (FALSE); if FALSE S1-S4 must be provided in airfoil input files (flag) [used only when UA_Mod>0] +4 IntegrationMethod - Switch to indicate which integration method UA uses (1=RK4, 2=AB4, 3=ABM4, 4=BDF2) +0.1 UAStartRad - Starting radius for dynamic stall (fraction of rotor radius [0.0,1.0]) [used only when UA_Mod>0; if line is missing UAStartRad=0] +1 UAEndRad - Ending radius for dynamic stall (fraction of rotor radius [0.0,1.0]) [used only when UA_Mod>0; if line is missing UAEndRad=1] +====== Airfoil Information ========================================================================= +1 AFTabMod - Interpolation method for multiple airfoil tables {1=1D interpolation on AoA (first table only); 2=2D interpolation on AoA and Re; 3=2D interpolation on AoA and UserProp} (-) +1 InCol_Alfa - The column in the airfoil tables that contains the angle of attack (-) +2 InCol_Cl - The column in the airfoil tables that contains the lift coefficient (-) +3 InCol_Cd - The column in the airfoil tables that contains the drag coefficient (-) +4 InCol_Cm - The column in the airfoil tables that contains the pitching-moment coefficient; use zero if there is no Cm column (-) +0 InCol_Cpmin - The column in the airfoil tables that contains the Cpmin coefficient; use zero if there is no Cpmin column (-) +50 NumAFfiles - Number of airfoil files used (-) +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_00.dat" AFNames - Airfoil file names (NumAFfiles lines) (quoted strings) +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_01.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_02.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_03.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_04.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_05.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_06.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_07.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_08.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_09.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_10.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_11.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_12.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_13.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_14.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_15.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_16.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_17.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_18.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_19.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_20.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_21.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_22.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_23.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_24.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_25.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_26.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_27.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_28.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_29.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_30.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_31.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_32.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_33.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_34.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_35.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_36.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_37.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_38.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_39.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_40.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_41.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_42.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_43.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_44.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_45.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_46.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_47.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_48.dat" +"Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_49.dat" +====== Rotor/Blade Properties ===================================================================== +True UseBlCm - Include aerodynamic pitching moment in calculations? (flag) +"IEA-15-240-RWT_AeroDyn15_blade.dat" ADBlFile(1) - Name of file containing distributed aerodynamic properties for Blade #1 (-) +"IEA-15-240-RWT_AeroDyn15_blade.dat" ADBlFile(2) - Name of file containing distributed aerodynamic properties for Blade #2 (-) [unused if NumBl < 2] +"IEA-15-240-RWT_AeroDyn15_blade.dat" ADBlFile(3) - Name of file containing distributed aerodynamic properties for Blade #3 (-) [unused if NumBl < 3] +====== Hub Properties ============================================================================== [used only when Buoyancy=True] +0 VolHub - Hub volume (m^3) +0 HubCenBx - Hub center of buoyancy x direction offset (m) +====== Nacelle Properties ========================================================================== [used only when Buoyancy=True or NacelleDrag=True] +0 VolNac - Nacelle volume (m^3) +0.0, 0.0, 0.0 NacCenB - Position of nacelle center of buoyancy from yaw bearing in nacelle coordinates (m) +0, 0, 0 NacArea - Projected area of the nacelle in X, Y, Z in the nacelle coordinate system (m^2) +0, 0, 0 NacCd - Drag coefficient for the nacelle areas defined above (-) +0, 0, 0 NacDragAC - Position of aerodynamic center of nacelle drag in nacelle coordinates (m) +====== Tail Fin Aerodynamics ======================================================================= +False TFinAero - Calculate tail fin aerodynamics model (flag) +"unused" TFinFile - Input file for tail fin aerodynamics [used only when TFinAero=True] +====== Tower Influence and Aerodynamics ============================================================ [used only when TwrPotent/=0, TwrShadow/=0, TwrAero=True, or Buoyancy=True] +20 NumTwrNds - Number of tower nodes used in the analysis (-) [used only when TwrPotent/=0, TwrShadow/=0, or TwrAero=True] +TwrElev TwrDiam TwrCd TwrTI TwrCb !TwrTI used only with TwrShadow=2, TwrCb used only with Buoyancy=True +(m) (m) (-) (-) (-) + 15.000 10.000 0.5 0.1 0.0 + 28.000 10.000 0.5 0.1 0.0 + 28.001 10.000 0.5 0.1 0.0 + 41.000 9.926 0.5 0.1 0.0 + 41.001 9.926 0.5 0.1 0.0 + 54.000 9.443 0.5 0.1 0.0 + 54.001 9.443 0.5 0.1 0.0 + 67.000 8.833 0.5 0.1 0.0 + 67.001 8.833 0.5 0.1 0.0 + 80.000 8.151 0.5 0.1 0.0 + 80.001 8.151 0.5 0.1 0.0 + 93.000 7.390 0.5 0.1 0.0 + 93.001 7.390 0.5 0.1 0.0 + 106.000 6.909 0.5 0.1 0.0 + 106.001 6.909 0.5 0.1 0.0 + 119.000 6.748 0.5 0.1 0.0 + 119.001 6.748 0.5 0.1 0.0 + 132.000 6.572 0.5 0.1 0.0 + 132.001 6.572 0.5 0.1 0.0 + 144.386 6.500 0.5 0.1 0.0 +====== Outputs ==================================================================================== +False SumPrint - Generate a summary file listing input options and interpolated properties to ".AD.sum"? (flag) +9 NBlOuts - Number of blade node outputs [0 - 9] (-) +6, 11, 16, 21, 25, 30, 35, 40, 45 BlOutNd - Blade nodes whose values will be output (-) +0 NTwOuts - Number of tower node outputs [0 - 9] (-) +0 TwOutNd - Tower nodes whose values will be output (-) + OutList - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-) +"RtArea" +"RtSpeed" +"RtTSR" +"RtSkew" +"RtAeroFxh" +"RtAeroFyh" +"RtAeroFzh" +"RtAeroMxh" +"RtAeroMyh" +"RtAeroMzh" +"RtVAvgxh" +"RtAeroPwr" +"RtArea" +"RtAeroCp" +"RtAeroCq" +"RtAeroCt" +"RtAeroFxi" +"RtAeroFyi" +"RtAeroFzi" +"RtAeroMxi" +"RtAeroMyi" +"RtAeroMzi" +END of input file (the word "END" must appear in the first 3 columns of this last OutList line) +====== Outputs for all blade stations (same ending as above for B1N1.... =========================== [optional section] + 1 BldNd_BladesOut - Number of blades to output all node information at. Up to number of blades on turbine. (-) + "All" BldNd_BlOutNd - Future feature will allow selecting a portion of the nodes to output. Not implemented yet. (-) + OutList - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-) +END (the word "END" must appear in the first 3 columns of this last OutList line in the optional nodal output section) diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF00_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF00_Coords.txt new file mode 100644 index 0000000..c384a4c --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF00_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.500000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -5.22829392626822e-16 + 9.99429683992583e-01 -2.22597407115582e-02 + 9.98063017832965e-01 -4.44580348954677e-02 + 9.95573914266674e-01 -6.65618134473914e-02 + 9.92086309749560e-01 -8.85198205325816e-02 + 9.87686148675057e-01 -1.10275272231260e-01 + 9.82330525170640e-01 -1.31784370919739e-01 + 9.76011908335692e-01 -1.53006617635088e-01 + 9.68787467298381e-01 -1.73886802805474e-01 + 9.60674860259240e-01 -1.94379348489358e-01 + 9.51675358763677e-01 -2.14449685889897e-01 + 9.41827652746244e-01 -2.34058378730561e-01 + 9.31175295355131e-01 -2.53152975865307e-01 + 9.19730397431178e-01 -2.71705871524177e-01 + 9.07524559194720e-01 -2.89691038427374e-01 + 8.94610408070308e-01 -3.07057540313714e-01 + 8.81009696499435e-01 -3.23779496057417e-01 + 8.66747905197194e-01 -3.39839087916958e-01 + 8.51890258171205e-01 -3.55200475411866e-01 + 8.36469462621421e-01 -3.69843137468982e-01 + 8.20513485943698e-01 -3.83761493954297e-01 + 8.04073832217581e-01 -3.96914898117900e-01 + 7.87191529885653e-01 -4.09289340064311e-01 + 7.69897919101553e-01 -4.20894001702843e-01 + 7.52252341235159e-01 -4.31703640475796e-01 + 7.34291349178558e-01 -4.41704116420428e-01 + 7.16044924955764e-01 -4.50916295010545e-01 + 6.97571640033109e-01 -4.59311192391506e-01 + 6.78906186433687e-01 -4.66891833699312e-01 + 6.60080312620540e-01 -4.73693126862085e-01 + 6.41147517137212e-01 -4.79664129290007e-01 + 6.22137650968852e-01 -4.84843433471521e-01 + 6.03087998194415e-01 -4.89268924532069e-01 + 5.84045042118975e-01 -4.92877104400900e-01 + 5.65030897687003e-01 -4.95771017901343e-01 + 5.46088602779599e-01 -4.97906772720028e-01 + 5.27248673916899e-01 -4.99205230965369e-01 + 5.08535950506088e-01 -4.99900147123151e-01 + 4.89992355470388e-01 -4.99865122336167e-01 + 4.71632114506831e-01 -4.99152990523336e-01 + 4.53492503744348e-01 -4.97865574847876e-01 + 4.35593302897673e-01 -4.95849221396458e-01 + 4.17956065616942e-01 -4.93220204257438e-01 + 4.00609748442576e-01 -4.90034017714886e-01 + 3.83560931606009e-01 -4.86240654381211e-01 + 3.66843215733716e-01 -4.81953122075711e-01 + 3.50457316320503e-01 -4.77107036591688e-01 + 3.34434484008630e-01 -4.71801617147634e-01 + 3.18774100329315e-01 -4.65997503105357e-01 + 3.03499623121295e-01 -4.59771833639973e-01 + 2.88611293565648e-01 -4.53111012774598e-01 + 2.74124386665666e-01 -4.46071472676040e-01 + 2.60041455523719e-01 -4.38653996586565e-01 + 2.46374872015918e-01 -4.30897288076141e-01 + 2.33123443938833e-01 -4.22812892154316e-01 + 2.20293777810423e-01 -4.14442160590301e-01 + 2.07883282965331e-01 -4.05790731420267e-01 + 1.95902956391646e-01 -3.96897110059902e-01 + 1.84341253066628e-01 -3.87763028932806e-01 + 1.73213930954161e-01 -3.78432781857511e-01 + 1.62499176129638e-01 -3.68901685535316e-01 + 1.52214602777259e-01 -3.59220819204806e-01 + 1.42331759398971e-01 -3.49381794975500e-01 + 1.32872111539190e-01 -3.39428678290192e-01 + 1.23806439629760e-01 -3.29359452404754e-01 + 1.15147623386077e-01 -3.19202364510091e-01 + 1.06887208802748e-01 -3.08971834769009e-01 + 9.90071115215634e-02 -2.98675440643128e-01 + 9.15234043853440e-02 -2.88346537239591e-01 + 8.43970428172224e-02 -2.77979120522002e-01 + 7.76464790199521e-02 -2.67604205770439e-01 + 7.12479082120208e-02 -2.57229212452774e-01 + 6.51878662973747e-02 -2.46861090082763e-01 + 5.94874721274203e-02 -2.36524433012697e-01 + 5.41002464180900e-02 -2.26213901273871e-01 + 4.90378786701877e-02 -2.15949074862572e-01 + 4.43003497573340e-02 -2.05745246473815e-01 + 3.98423597346805e-02 -1.95597654428208e-01 + 3.56899752436130e-02 -1.85525503303304e-01 + 3.18292350050659e-02 -1.75535988753057e-01 + 2.82200072057900e-02 -1.65626936732462e-01 + 2.48925247792698e-02 -1.55815221490219e-01 + 2.18286683030035e-02 -1.46105621815703e-01 + 1.89846947131332e-02 -1.36495337998243e-01 + 1.63921917020335e-02 -1.26998300581103e-01 + 1.40446346341990e-02 -1.17620770590061e-01 + 1.18798249846349e-02 -1.08356847039080e-01 + 9.93094518736226e-03 -9.92166214620377e-02 + 8.21940795734749e-03 -9.02084101294225e-02 + 6.65838622137879e-03 -8.13254351098410e-02 + 5.26774192850643e-03 -7.25722234042700e-02 + 4.09515753852961e-03 -6.39564017315716e-02 + 3.09878859713642e-03 -5.54780130211000e-02 + 2.19660773551101e-03 -4.71320046999757e-02 + 1.46264176301869e-03 -3.89244052604170e-02 + 9.64484608297922e-04 -3.08606101713947e-02 + 5.99373867982851e-04 -2.29362359459691e-02 + 2.90086645599082e-04 -1.51487658773967e-02 + 7.80707788302466e-05 -7.50222207649338e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 7.80412061165972e-05 7.50073622069008e-03 + 2.89878724192004e-04 1.51427584868874e-02 + 5.98775316682048e-04 2.29225845614194e-02 + 9.63326351634835e-04 3.08361193977748e-02 + 1.45966821282819e-03 3.88857489711792e-02 + 2.19097636449990e-03 4.70758159906831e-02 + 3.08997841959778e-03 5.54008881281673e-02 + 4.08271112470316e-03 6.38548864368973e-02 + 5.24853124383664e-03 7.24426344646886e-02 + 6.63128223001261e-03 8.11642365969105e-02 + 8.18368429859057e-03 9.00120990085718e-02 + 9.88361416849065e-03 9.89814202866229e-02 + 1.18176401547236e-02 1.08079023747493e-01 + 1.39661993216830e-02 1.17296891553284e-01 + 1.62951420791042e-02 1.26624818507885e-01 + 1.88631937781153e-02 1.36068234819796e-01 + 2.16807137532775e-02 1.45621741073938e-01 + 2.47159162958630e-02 1.55271505652796e-01 + 2.80064400105864e-02 1.65019126539152e-01 + 3.15762558914965e-02 1.74861450420233e-01 + 3.53948396168776e-02 1.84781748500356e-01 + 3.94949825480075e-02 1.94780451150684e-01 + 4.38979282781582e-02 2.04852826049369e-01 + 4.85758075737765e-02 2.14979335736815e-01 + 5.35679916138118e-02 2.25163248876704e-01 + 5.88818211488708e-02 2.35392575398327e-01 + 6.45001629027313e-02 2.45645861854958e-01 + 7.04692046391145e-02 2.55928809695428e-01 + 7.67740309924709e-02 2.66220088966340e-01 + 8.34162127168367e-02 2.76507393790272e-01 + 9.04290195190656e-02 2.86789711779561e-01 + 9.77906533229447e-02 2.97034361595414e-01 + 1.05536187198748e-01 3.07245770330167e-01 + 1.13658760041779e-01 3.17397798197942e-01 + 1.22161483318940e-01 3.27472514118938e-01 + 1.31067498602735e-01 3.37467155091884e-01 + 1.40354649921884e-01 3.47346400530541e-01 + 1.50055110786138e-01 3.57117293892256e-01 + 1.60148962661562e-01 3.66736829146265e-01 + 1.70658187899640e-01 3.76209016178366e-01 + 1.81574957422924e-01 3.85495420277773e-01 + 1.92907571409635e-01 3.94583247665971e-01 + 2.04657634577812e-01 4.03452252859203e-01 + 2.16817353069424e-01 4.12073654675103e-01 + 2.29396483963478e-01 4.20441260405522e-01 + 2.42377800694080e-01 4.28515729124923e-01 + 2.55773624268338e-01 4.36297014051329e-01 + 2.69566785632899e-01 4.43730784236712e-01 + 2.83765797226135e-01 4.50825718973627e-01 + 2.98347982887804e-01 4.57529313046837e-01 + 3.13318978785268e-01 4.63848274999177e-01 + 3.28658461892810e-01 4.69727033948469e-01 + 3.44364941645546e-01 4.75166089488011e-01 + 3.60419773725681e-01 4.80124895665173e-01 + 3.76811233766957e-01 4.84580156948735e-01 + 3.93525251020729e-01 4.88538023799543e-01 + 4.10538642553571e-01 4.91916286871980e-01 + 4.27843232490823e-01 4.94793689772683e-01 + 4.45406663468198e-01 4.97001865465950e-01 + 4.63222254103030e-01 4.98694527925836e-01 + 4.81251545655716e-01 4.99575957461702e-01 + 4.99481026671737e-01 4.99999595958852e-01 + 5.17879583085697e-01 4.99609899963933e-01 + 5.36417631367010e-01 4.98719254404591e-01 + 5.55075704909560e-01 4.96947095459801e-01 + 5.73808427242608e-01 4.94546807361687e-01 + 5.92596731105059e-01 4.91342495584800e-01 + 6.11401377553511e-01 4.87427713678203e-01 + 6.30186430605241e-01 4.82763790791591e-01 + 6.48926781663159e-01 4.77299436027394e-01 + 6.67570206424973e-01 4.71090906382616e-01 + 6.86088429590952e-01 4.64085564448580e-01 + 7.04445389043917e-01 4.56285153530384e-01 + 7.22592093722966e-01 4.47721154132331e-01 + 7.40501800453524e-01 4.38357128523673e-01 + 7.58125457122835e-01 4.28212344239085e-01 + 7.75421014376153e-01 4.17302884275069e-01 + 7.92362373587600e-01 4.05613976111210e-01 + 8.08894546151696e-01 3.93173546991026e-01 + 8.24974633014891e-01 3.79990391949436e-01 + 8.40576952273409e-01 3.66062639074102e-01 + 8.55652758808818e-01 3.51433146523418e-01 + 8.70162898882712e-01 3.36117863695803e-01 + 8.84085033071272e-01 3.20125614835584e-01 + 8.97361214262371e-01 3.03490505958309e-01 + 9.09954680076662e-01 2.86240968660934e-01 + 9.21851471402547e-01 2.68396507929684e-01 + 9.33012836658427e-01 2.50001405518451e-01 + 9.43389278969050e-01 2.31088842332578e-01 + 9.52973153850559e-01 2.11684808241657e-01 + 9.61743130827061e-01 1.91832340326070e-01 + 9.69640690675464e-01 1.71577158818629e-01 + 9.76664215898664e-01 1.50951670528481e-01 + 9.82815077112014e-01 1.29995621032034e-01 + 9.88028440045103e-01 1.08765299158177e-01 + 9.92304836603751e-01 8.72999337504368e-02 + 9.95693518775914e-01 6.56397719044068e-02 + 9.98120489340015e-01 4.38394581414280e-02 + 9.99443037908705e-01 2.19496513968833e-02 + 1.00000000000000e+00 -5.26828685157063e-16 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF01_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF01_Coords.txt new file mode 100644 index 0000000..2957c41 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF01_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.499996 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 1.40005998995553e-08 + 9.99429427343441e-01 -2.22597267030057e-02 + 9.98061572217025e-01 -4.44577848805880e-02 + 9.95571383549524e-01 -6.65613532214902e-02 + 9.92082809827900e-01 -8.85193855241323e-02 + 9.87681777703418e-01 -1.10274914777896e-01 + 9.82325363018063e-01 -1.31784096290399e-01 + 9.76006023234194e-01 -1.53006417256835e-01 + 9.68780907279161e-01 -1.73886649853821e-01 + 9.60667684160886e-01 -1.94379246532870e-01 + 9.51667600623758e-01 -2.14449599639644e-01 + 9.41819346367688e-01 -2.34058280560842e-01 + 9.31166468996032e-01 -2.53152837999437e-01 + 9.19721069411155e-01 -2.71705651589515e-01 + 9.07514754074885e-01 -2.89690709437295e-01 + 8.94600146303824e-01 -3.07057071448252e-01 + 8.80998997819370e-01 -3.23778855290503e-01 + 8.66736792567221e-01 -3.39838248522847e-01 + 8.51878755382849e-01 -3.55199415819552e-01 + 8.36457596260419e-01 -3.69841842202921e-01 + 8.20501280345495e-01 -3.83759938879697e-01 + 8.04061310083066e-01 -3.96913055465217e-01 + 7.87178721540307e-01 -4.09287205211027e-01 + 7.69884847323010e-01 -4.20891537995147e-01 + 7.52239038648575e-01 -4.31700853408170e-01 + 7.34277840346126e-01 -4.41700973750181e-01 + 7.16031241238548e-01 -4.50912791027355e-01 + 6.97557812893171e-01 -4.59307331507645e-01 + 6.78892246319772e-01 -4.66887612738659e-01 + 6.60066289421290e-01 -4.73688529443277e-01 + 6.41133441201703e-01 -4.79659179048869e-01 + 6.22123552036738e-01 -4.84838110567366e-01 + 6.03073905295938e-01 -4.89263240909268e-01 + 5.84030982810156e-01 -4.92871071663808e-01 + 5.65016899440764e-01 -4.95764648987003e-01 + 5.46074693367218e-01 -4.97900058679315e-01 + 5.27234879120912e-01 -4.99198192585696e-01 + 5.08522292788441e-01 -4.99892800940364e-01 + 4.89978858523711e-01 -4.99857480717926e-01 + 4.71618801653453e-01 -4.99145063846224e-01 + 4.53479393608716e-01 -4.97857381618549e-01 + 4.35580419493293e-01 -4.95840767661285e-01 + 4.17943422880783e-01 -4.93211519813745e-01 + 4.00597367904574e-01 -4.90025105680319e-01 + 3.83548827577646e-01 -4.86231538701768e-01 + 3.66831403801181e-01 -4.81943816480506e-01 + 3.50445814046255e-01 -4.77097554919849e-01 + 3.34423299150815e-01 -4.71791983498949e-01 + 3.18763250780893e-01 -4.65987728123496e-01 + 3.03489116310374e-01 -4.59761938701466e-01 + 2.88601142803576e-01 -4.53101012086089e-01 + 2.74114601386245e-01 -4.46061383005148e-01 + 2.60032039609033e-01 -4.38643841302036e-01 + 2.46365836252729e-01 -4.30887080633753e-01 + 2.33114787808629e-01 -4.22802657531928e-01 + 2.20285500112543e-01 -4.14431921584177e-01 + 2.07875383951102e-01 -4.05780508776961e-01 + 1.95895429958061e-01 -3.96886927398520e-01 + 1.84334107828037e-01 -3.87752897816203e-01 + 1.73207160176379e-01 -3.78422722980516e-01 + 1.62492766215665e-01 -3.68891724014934e-01 + 1.52208559239028e-01 -3.59210964738185e-01 + 1.42326076964707e-01 -3.49372064581795e-01 + 1.32866781079567e-01 -3.39419088580448e-01 + 1.23801449059621e-01 -3.29350021348010e-01 + 1.15142955969917e-01 -3.19193110270350e-01 + 1.06882858163562e-01 -3.08962769351762e-01 + 9.90030643587096e-02 -2.98666578673889e-01 + 9.15196442392668e-02 -2.88337892118020e-01 + 8.43935565355487e-02 -2.77970704434639e-01 + 7.76432589821407e-02 -2.67596026440612e-01 + 7.12449433732097e-02 -2.57221278615913e-01 + 6.51851467232884e-02 -2.46853409688193e-01 + 5.94849879921953e-02 -2.36517012068296e-01 + 5.40979884215793e-02 -2.26206746308259e-01 + 4.90358344819246e-02 -2.15942191770559e-01 + 4.42985079397142e-02 -2.05738640498377e-01 + 3.98407091165603e-02 -1.95591330310490e-01 + 3.56884985510426e-02 -1.85519465685032e-01 + 3.18279178676808e-02 -1.75530241280368e-01 + 2.82188419167881e-02 -1.65621481935618e-01 + 2.48914999059792e-02 -1.55810061094456e-01 + 2.18277701790664e-02 -1.46100757283361e-01 + 1.89839099783587e-02 -1.36490770929544e-01 + 1.63915094394441e-02 -1.26994031206567e-01 + 1.40440477648929e-02 -1.17616798197041e-01 + 1.18793279574610e-02 -1.08353171083749e-01 + 9.93052868630150e-03 -9.92132410650907e-02 + 8.21906075945397e-03 -9.02053239808020e-02 + 6.65810252047977e-03 -8.13226418726482e-02 + 5.26751734441321e-03 -7.25697212349388e-02 + 4.09498369032961e-03 -6.39541883577312e-02 + 3.09865554229082e-03 -5.54760862324904e-02 + 2.19650575138584e-03 -4.71303625816726e-02 + 1.46256277557686e-03 -3.89230452547491e-02 + 9.64428880900557e-04 -3.08595288101021e-02 + 5.99336408504312e-04 -2.29354300064522e-02 + 2.90066482848754e-04 -1.51482322436148e-02 + 7.80653559246329e-05 -7.50195740484091e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 7.80369577422810e-05 7.50047008949821e-03 + 2.89864474072776e-04 1.51422234004666e-02 + 5.98752221299196e-04 2.29217770203493e-02 + 9.63294269686962e-04 3.08350363946711e-02 + 1.45961772179312e-03 3.88843878102352e-02 + 2.19089550926614e-03 4.70741738618680e-02 + 3.08985945468262e-03 5.53989624741041e-02 + 4.08255154522300e-03 6.38526748856316e-02 + 5.24832804913223e-03 7.24401344968791e-02 + 6.63102695230831e-03 8.11614461417253e-02 + 8.18336643751576e-03 9.00090167272072e-02 + 9.88322662101310e-03 9.89780450697813e-02 + 1.18171740095009e-02 1.08075354103337e-01 + 1.39656498117348e-02 1.17292926172636e-01 + 1.62945046597224e-02 1.26620556808258e-01 + 1.88624565772894e-02 1.36063676706787e-01 + 2.16798631750457e-02 1.45616887144489e-01 + 2.47149426773156e-02 1.55266356870467e-01 + 2.80053361895133e-02 1.65013683465516e-01 + 3.15750134266354e-02 1.74855714462498e-01 + 3.53934446419227e-02 1.84775722697110e-01 + 3.94934173903166e-02 1.94774139559134e-01 + 4.38961778250621e-02 2.04846232434907e-01 + 4.85738634466406e-02 2.14972464514701e-01 + 5.35658424563709e-02 2.25156105024675e-01 + 5.88794524720093e-02 2.35385165239648e-01 + 6.44975668063143e-02 2.45638191199126e-01 + 7.04663737362468e-02 2.55920883769043e-01 + 7.67709557383878e-02 2.66211914933394e-01 + 8.34128849980207e-02 2.76498979190024e-01 + 9.04254305053313e-02 2.86781064153480e-01 + 9.77867895588179e-02 2.97025492478145e-01 + 1.05532034286455e-01 3.07236691386611e-01 + 1.13654308176871e-01 3.17388521315634e-01 + 1.22156724283709e-01 3.27463051403640e-01 + 1.31062414901579e-01 3.37457523408638e-01 + 1.40349229201793e-01 3.47336616783170e-01 + 1.50049347051718e-01 3.57107371683684e-01 + 1.60142851978632e-01 3.66726783570871e-01 + 1.70651722352345e-01 3.76198864186818e-01 + 1.81568130656064e-01 3.85485180496659e-01 + 1.92900373517033e-01 3.94572942393013e-01 + 2.04650062473387e-01 4.03441900895501e-01 + 2.16809407711859e-01 4.12063273946677e-01 + 2.29388161261882e-01 4.20430873674365e-01 + 2.42369097353979e-01 4.28505361357879e-01 + 2.55764541123941e-01 4.36286686890808e-01 + 2.69557327207425e-01 4.43720518954356e-01 + 2.83755969289181e-01 4.50815535645405e-01 + 2.98337793903356e-01 4.57519232064581e-01 + 3.13308440136266e-01 4.63838312202483e-01 + 3.28647578612239e-01 4.69717217633800e-01 + 3.44353731544870e-01 4.75156428462534e-01 + 3.60408244853217e-01 4.80115418044360e-01 + 3.76799402652574e-01 4.84570877794031e-01 + 3.93513131929384e-01 4.88528963157307e-01 + 4.10526254543845e-01 4.91907460220115e-01 + 4.27830591891118e-01 4.94785114831379e-01 + 4.45393789684201e-01 4.96993562805830e-01 + 4.63209168470989e-01 4.98686505971343e-01 + 4.81238272769653e-01 4.99568228610593e-01 + 4.99467590291924e-01 4.99992158197957e-01 + 5.17866006466328e-01 4.99602769356364e-01 + 5.36403938556423e-01 4.98712432490960e-01 + 5.55061920973600e-01 4.96940591246620e-01 + 5.73794577555942e-01 4.94540624226612e-01 + 5.92582842082514e-01 4.91336635868271e-01 + 6.11387474867201e-01 4.87422185428382e-01 + 6.30172541525958e-01 4.82758580946989e-01 + 6.48912932599518e-01 4.77294544711586e-01 + 6.67556425941521e-01 4.71086354296818e-01 + 6.86074743405682e-01 4.64081317624005e-01 + 7.04431826856421e-01 4.56281232320674e-01 + 7.22578683995759e-01 4.47717549871310e-01 + 7.40488571062978e-01 4.38353834215016e-01 + 7.58112436634799e-01 4.28209350234295e-01 + 7.75408233050915e-01 4.17300188381259e-01 + 7.92349858684666e-01 4.05611562914235e-01 + 8.08882327912338e-01 3.93171409150622e-01 + 8.24962738826757e-01 3.79988508650156e-01 + 8.40565414246071e-01 3.66061008171375e-01 + 8.55641607139505e-01 3.51431756036478e-01 + 8.70152165931217e-01 3.36116704625257e-01 + 8.84074751506678e-01 3.20124680972120e-01 + 8.97351411193486e-01 3.03489770031700e-01 + 9.09945391979414e-01 2.86240427891614e-01 + 9.21842722709060e-01 2.68396129636527e-01 + 9.33004662474069e-01 2.50001181727226e-01 + 9.43381712415969e-01 2.31088757323814e-01 + 9.52966225012817e-01 2.11684822173323e-01 + 9.61736865408470e-01 1.91832354266127e-01 + 9.69635124673369e-01 1.71577172767025e-01 + 9.76659380194314e-01 1.50951684485025e-01 + 9.82810991312600e-01 1.29995634996227e-01 + 9.88025141194105e-01 1.08765313129958e-01 + 9.92302353521589e-01 8.72999477295311e-02 + 9.95691879580707e-01 6.56397858905899e-02 + 9.98119706513454e-01 4.38394721340010e-02 + 9.99443037892454e-01 2.19495558180643e-02 + 1.00000000000000e+00 1.40005998955560e-08 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF02_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF02_Coords.txt new file mode 100644 index 0000000..389bc00 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF02_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.489918 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 3.11697462695050e-05 + 9.98792778568247e-01 -2.21849423041560e-02 + 9.94709408491515e-01 -4.37908234181668e-02 + 9.89719063295889e-01 -6.53727690708149e-02 + 9.83991827465383e-01 -8.73255711462479e-02 + 9.77577544450589e-01 -1.09195210069932e-01 + 9.70392217269295e-01 -1.30834838408396e-01 + 9.62401646816373e-01 -1.52173369026241e-01 + 9.53616308899169e-01 -1.73115133554863e-01 + 9.44078883004556e-01 -1.93680593662128e-01 + 9.33733219711924e-01 -2.13750078995666e-01 + 9.22617429104402e-01 -2.33300650528889e-01 + 9.10762170100885e-01 -2.52279090934922e-01 + 8.98156414009905e-01 -2.70625520679034e-01 + 8.84846129275043e-01 -2.88347042474457e-01 + 8.70874303459625e-01 -3.05384058067013e-01 + 8.56260886787625e-01 -3.21707707821992e-01 + 8.41038766618914e-01 -3.37311442868568e-01 + 8.25275040762271e-01 -3.52170492383091e-01 + 8.09008886199076e-01 -3.66277538730936e-01 + 7.92262956278720e-01 -3.79607791787505e-01 + 7.75095050375002e-01 -3.92112513883925e-01 + 7.57573075377607e-01 -4.03828412252961e-01 + 7.39693488744078e-01 -4.14694049879667e-01 + 7.21536831733535e-01 -4.24776824918018e-01 + 7.03121906177338e-01 -4.33979348845875e-01 + 6.84493387002760e-01 -4.42380666276484e-01 + 6.65709831803348e-01 -4.49974222078074e-01 + 6.46803647185148e-01 -4.56746323538791e-01 + 6.27805282572633e-01 -4.62702508266310e-01 + 6.08769029639549e-01 -4.67880733533020e-01 + 5.89723320072293e-01 -4.72223025923308e-01 + 5.70703750587007e-01 -4.75837794352136e-01 + 5.51753388247683e-01 -4.78661069500781e-01 + 5.32894094697214e-01 -4.80798687608076e-01 + 5.14169356823052e-01 -4.82158133294204e-01 + 4.95605216535442e-01 -4.82726789956120e-01 + 4.77219158997371e-01 -4.82728572489828e-01 + 4.59055571265520e-01 -4.82028148111231e-01 + 4.41127802422661e-01 -4.80673830097014e-01 + 4.23462667294028e-01 -4.78785603049848e-01 + 4.06091580814683e-01 -4.76182150340408e-01 + 3.89013980566290e-01 -4.73033125229909e-01 + 3.72275199476328e-01 -4.69333817207196e-01 + 3.55866002192300e-01 -4.65081420562475e-01 + 3.39822584861678e-01 -4.60365693808780e-01 + 3.24149930468741e-01 -4.55122659233808e-01 + 3.08857685460377e-01 -4.49474753012687e-01 + 2.93967319968794e-01 -4.43352160648348e-01 + 2.79479268182596e-01 -4.36856396965187e-01 + 2.65406561088864e-01 -4.29957614703825e-01 + 2.51755906103336e-01 -4.22718055550025e-01 + 2.38517689880534e-01 -4.15153664081063e-01 + 2.25719250460144e-01 -4.07280498095627e-01 + 2.13334692309298e-01 -3.99136559742769e-01 + 2.01369042617637e-01 -3.90758287806911e-01 + 1.89822850963807e-01 -3.82146705909064e-01 + 1.78693122525877e-01 -3.73347003713394e-01 + 1.68000407485639e-01 -3.64333223074314e-01 + 1.57726809687186e-01 -3.55170733963922e-01 + 1.47835591829680e-01 -3.45865149830115e-01 + 1.38385853655051e-01 -3.36431990168436e-01 + 1.29325725663118e-01 -3.26879817175834e-01 + 1.20668084977423e-01 -3.17251803276530e-01 + 1.12377372949409e-01 -3.07549129126845e-01 + 1.04456185444273e-01 -2.97800553459576e-01 + 9.69186424590137e-02 -2.88006253271856e-01 + 8.97315833999233e-02 -2.78179916305526e-01 + 8.29040230601356e-02 -2.68352093397973e-01 + 7.64042191331769e-02 -2.58513978537231e-01 + 7.02624235396753e-02 -2.48686232703765e-01 + 6.44474423463348e-02 -2.38878642231453e-01 + 5.89482528008850e-02 -2.29096341060283e-01 + 5.37859999603907e-02 -2.19359423554569e-01 + 4.89155504919243e-02 -2.09663764533181e-01 + 4.43419809092904e-02 -2.00027492474630e-01 + 4.00672431287443e-02 -1.90464403759877e-01 + 3.60467323245220e-02 -1.80968562775279e-01 + 3.22930412672096e-02 -1.71558964420792e-01 + 2.87985882290270e-02 -1.62240494727821e-01 + 2.55380244463286e-02 -1.53008376477274e-01 + 2.25331690338114e-02 -1.43877622803121e-01 + 1.97609914947447e-02 -1.34852400405741e-01 + 1.71786074949348e-02 -1.25930232927262e-01 + 1.48226335947165e-02 -1.17121866409251e-01 + 1.26948581276901e-02 -1.08431365813089e-01 + 1.07368031251623e-02 -9.98532238631497e-02 + 8.97330474574709e-03 -9.13967621719577e-02 + 7.42146378471077e-03 -8.30693020803634e-02 + 6.00678866178575e-03 -7.48639997135098e-02 + 4.75212322396845e-03 -6.67842057008376e-02 + 3.69612763416471e-03 -5.88365547239710e-02 + 2.79382133895359e-03 -5.10212372664401e-02 + 1.96407728242075e-03 -4.33338887657259e-02 + 1.28403298444783e-03 -3.57790431513651e-02 + 8.39039066263657e-04 -2.83599749794590e-02 + 5.15453800772286e-04 -2.10728720803478e-02 + 2.45198012763526e-04 -1.39154638319094e-02 + 6.59976828967550e-05 -6.89123101169440e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 6.85829867901681e-05 6.88366686348028e-03 + 2.57972336391522e-04 1.39031124454386e-02 + 5.46272810098666e-04 2.10525254879548e-02 + 8.89635724393518e-04 2.83286899972473e-02 + 1.34350089736556e-03 3.57347237755572e-02 + 2.00494898058315e-03 4.32747050620063e-02 + 2.81631893807423e-03 5.09437848091364e-02 + 3.71552813830418e-03 5.87363084213497e-02 + 4.78041134413648e-03 6.66567577301631e-02 + 6.04267254525875e-03 7.47062842098405e-02 + 7.45089065565891e-03 8.28789944322033e-02 + 8.99043846832334e-03 9.11706151363231e-02 + 1.07434893062583e-02 9.95870791362013e-02 + 1.26995273730437e-02 1.08120781647389e-01 + 1.48249604199301e-02 1.16763199712370e-01 + 1.71622523186842e-02 1.25520906914516e-01 + 1.97180704563617e-02 1.34390113121500e-01 + 2.24694617028158e-02 1.43357826549255e-01 + 2.54593241848903e-02 1.52424704397191e-01 + 2.87088867772979e-02 1.61589568951349e-01 + 3.21761284707573e-02 1.70839482254532e-01 + 3.58852789781532e-02 1.80177249998583e-01 + 3.98631590498240e-02 1.89597449106625e-01 + 4.40968292248310e-02 1.99082043570709e-01 + 4.86190496245493e-02 2.08635612225264e-01 + 5.34303260548428e-02 2.18249289396031e-01 + 5.85277470379034e-02 2.27900386181981e-01 + 6.39584221527980e-02 2.37593247046179e-01 + 6.97029768107010e-02 2.47311041657535e-01 + 7.57660476064234e-02 2.57042320157031e-01 + 8.21792339946869e-02 2.66786070630475e-01 + 8.89108839624771e-02 2.76518879642135e-01 + 9.59939645772507e-02 2.86245468390234e-01 + 1.03431749018774e-01 2.95940186996930e-01 + 1.11230842642825e-01 3.05585587756439e-01 + 1.19394098377199e-01 3.15189935540573e-01 + 1.27910796069845e-01 3.24717952042259e-01 + 1.36826882057075e-01 3.34168995825046e-01 + 1.46127128698219e-01 3.43503483624093e-01 + 1.55824761748163e-01 3.52729690431555e-01 + 1.65915530130050e-01 3.61813012097022e-01 + 1.76400034115599e-01 3.70749078091911e-01 + 1.87294809836004e-01 3.79509498662744e-01 + 1.98601025912454e-01 3.88063421692240e-01 + 2.10317482908900e-01 3.96415723709830e-01 + 2.22428846373908e-01 4.04532045526720e-01 + 2.34956417490172e-01 4.12404585124469e-01 + 2.47891207291058e-01 4.19978097706131e-01 + 2.61244504950468e-01 4.27258406615431e-01 + 2.74999692960128e-01 4.34193670581605e-01 + 2.89168757044176e-01 4.40780104367838e-01 + 3.03717650514883e-01 4.46990534345794e-01 + 3.18672809576893e-01 4.52780914006346e-01 + 3.33994418374449e-01 4.58154632661363e-01 + 3.49689364299261e-01 4.63058595805324e-01 + 3.65738729788333e-01 4.67510165072748e-01 + 3.82129925270188e-01 4.71416802308365e-01 + 3.98848856339274e-01 4.74862116209952e-01 + 4.15870063550297e-01 4.77684349711404e-01 + 4.33191105273844e-01 4.80009453068141e-01 + 4.50780831673469e-01 4.81551216027993e-01 + 4.68623963504152e-01 4.82630014720088e-01 + 4.86688446091861e-01 4.82931648145394e-01 + 5.04946578055259e-01 4.82735229333515e-01 + 5.23381206832737e-01 4.81677875896424e-01 + 5.41947870066483e-01 4.79999734772977e-01 + 5.60629859824291e-01 4.77523072059659e-01 + 5.79386520365912e-01 4.74353985054907e-01 + 5.98185583238099e-01 4.70406913406244e-01 + 6.17000181755560e-01 4.65660157974556e-01 + 6.35783075481570e-01 4.60215566420533e-01 + 6.54499909377525e-01 4.53899339332715e-01 + 6.73123483130640e-01 4.46833765975988e-01 + 6.91602362958431e-01 4.38985970978778e-01 + 7.09908651878063e-01 4.30323417121448e-01 + 7.27995055391152e-01 4.20859560601641e-01 + 7.45836835542511e-01 4.10626967485244e-01 + 7.63399496411530e-01 3.99581842940247e-01 + 7.80622314759391e-01 3.87769954353751e-01 + 7.97455711879916e-01 3.75170511128707e-01 + 8.13885056889722e-01 3.61822853198340e-01 + 8.29857131775227e-01 3.47748126544954e-01 + 8.45337825381919e-01 3.32968892153064e-01 + 8.60305522457363e-01 3.17500129364232e-01 + 8.74689376584514e-01 3.01329758014196e-01 + 8.88474371786989e-01 2.84539926686475e-01 + 9.01618678467765e-01 2.67084683467358e-01 + 9.14108259579200e-01 2.49062330240231e-01 + 9.25889017819090e-01 2.30489080418614e-01 + 9.36946290061487e-01 2.11339864812578e-01 + 9.47248671361612e-01 1.91533029106854e-01 + 9.56761263350701e-01 1.71323228688913e-01 + 9.65470567003916e-01 1.50742113825967e-01 + 9.73352037037514e-01 1.29827785458242e-01 + 9.80380392538953e-01 1.08638869933479e-01 + 9.86536727763238e-01 8.72134512733374e-02 + 9.91867220169214e-01 6.55920450585678e-02 + 9.96259556749258e-01 4.38267465817332e-02 + 9.99379643516300e-01 2.17316622733827e-02 + 1.00000000000000e+00 3.11697462695010e-05 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF03_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF03_Coords.txt new file mode 100644 index 0000000..368cd8b --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF03_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.464392 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 9.44054819368640e-05 + 9.96923783298513e-01 -2.16438857098048e-02 + 9.86750962146060e-01 -4.14648205105703e-02 + 9.75991940468785e-01 -6.15137163516908e-02 + 9.65054205115156e-01 -8.29184804485191e-02 + 9.53940472019856e-01 -1.04509064076945e-01 + 9.42481677594047e-01 -1.25943826183654e-01 + 9.30584488398964e-01 -1.47091057342449e-01 + 9.18152274541527e-01 -1.67773905302460e-01 + 9.05285329921781e-01 -1.88133263858891e-01 + 8.91795320505773e-01 -2.07888065972100e-01 + 8.77718618321606e-01 -2.27044077070090e-01 + 8.63055486968971e-01 -2.45542766434707e-01 + 8.47740515603274e-01 -2.63260380854480e-01 + 8.31851888031741e-01 -2.80261881632504e-01 + 8.15409145254910e-01 -2.96468979128058e-01 + 7.98426927866672e-01 -3.11844302918448e-01 + 7.80954480131336e-01 -3.26399770809210e-01 + 7.63062609550102e-01 -3.40129741858157e-01 + 7.44805271530170e-01 -3.53050684192039e-01 + 7.26192012792495e-01 -3.65099418632224e-01 + 7.07367447658527e-01 -3.76210937958050e-01 + 6.88527619052760e-01 -3.86518065527860e-01 + 6.69463368383261e-01 -3.95822084758770e-01 + 6.50292368883361e-01 -4.04368213845181e-01 + 6.30999030926767e-01 -4.11896956092349e-01 + 6.11654236254964e-01 -4.18597729668828e-01 + 5.92314575777676e-01 -4.24508503620642e-01 + 5.73007580398758e-01 -4.29583293158860e-01 + 5.53760641264088e-01 -4.33768595163010e-01 + 5.34627775740136e-01 -4.37280407402424e-01 + 5.15634028264469e-01 -4.39867726746894e-01 + 4.96810695482379e-01 -4.41779259139977e-01 + 4.78192824312631e-01 -4.42952561885715e-01 + 4.59801207940814e-01 -4.43497422894682e-01 + 4.41678496474780e-01 -4.43224493288281e-01 + 4.23841271926549e-01 -4.42257777390581e-01 + 4.06292411626149e-01 -4.40797850812986e-01 + 3.89079062571235e-01 -4.38694550624879e-01 + 3.72212371432960e-01 -4.35986303464299e-01 + 3.55697910688801e-01 -4.32829874136285e-01 + 3.39587756496555e-01 -4.28989454393205e-01 + 3.23839056338535e-01 -4.24745677063318e-01 + 3.08526079786088e-01 -4.19966326956651e-01 + 2.93609575927730e-01 -4.14750240647480e-01 + 2.79129038420436e-01 -4.09136106729460e-01 + 2.65097033592486e-01 -4.03062315883243e-01 + 2.51481191452259e-01 -3.96700593018082e-01 + 2.38343939923540e-01 -3.89916219644776e-01 + 2.25641232107639e-01 -3.82863241483302e-01 + 2.13409544222578e-01 -3.75477006272555e-01 + 2.01638730400305e-01 -3.67832079811975e-01 + 1.90296065156258e-01 -3.59978490615744e-01 + 1.79435953871775e-01 -3.51882223809159e-01 + 1.68986166215393e-01 -3.43640639155022e-01 + 1.58948032749771e-01 -3.35279753237277e-01 + 1.49327724077306e-01 -3.26790924786992e-01 + 1.40095117564203e-01 -3.18234891854269e-01 + 1.31330433970354e-01 -3.09523585983723e-01 + 1.22951695680380e-01 -3.00770324131699e-01 + 1.14894775605371e-01 -2.92004918017078e-01 + 1.07294354853823e-01 -2.83161880422245e-01 + 1.00055844887034e-01 -2.74288849670397e-01 + 9.31746966101856e-02 -2.65427170174464e-01 + 8.66044522193608e-02 -2.56585801905677e-01 + 8.03274068627305e-02 -2.47795034945862e-01 + 7.43995207838837e-02 -2.39022329205953e-01 + 6.87597916960882e-02 -2.30295760235647e-01 + 6.34027098432057e-02 -2.21639560112237e-01 + 5.83108556635721e-02 -2.13038589261121e-01 + 5.35342307384676e-02 -2.04489441171791e-01 + 4.90285542659875e-02 -1.96007497680268e-01 + 4.47875032575345e-02 -1.87593717522929e-01 + 4.08305288520162e-02 -1.79257715630939e-01 + 3.71166537388692e-02 -1.70998253191951e-01 + 3.36386220218903e-02 -1.62830127369895e-01 + 3.04022483649444e-02 -1.54763697660367e-01 + 2.73651655609346e-02 -1.46790286968020e-01 + 2.45135479671609e-02 -1.38928472031989e-01 + 2.18520682554685e-02 -1.31177748331505e-01 + 1.93849454492066e-02 -1.23527212680566e-01 + 1.71159639413360e-02 -1.15987540504378e-01 + 1.50126318197686e-02 -1.08561464084448e-01 + 1.30352450255270e-02 -1.01247280799309e-01 + 1.12272891675158e-02 -9.40482527053873e-02 + 9.60553531811026e-03 -8.69632724354827e-02 + 8.12164639019582e-03 -7.99877627856518e-02 + 6.78381432263076e-03 -7.31292659137378e-02 + 5.59985209983925e-03 -6.63927843724256e-02 + 4.52253538937495e-03 -5.97713094063133e-02 + 3.57919207217429e-03 -5.32654299650498e-02 + 2.78924101847083e-03 -4.68794627386532e-02 + 2.10410481374642e-03 -4.06139556124220e-02 + 1.44781815982484e-03 -3.44661667892127e-02 + 8.99285509102148e-04 -2.84371119611881e-02 + 5.73344841761633e-04 -2.25250626751628e-02 + 3.40949995368540e-04 -1.67275477708878e-02 + 1.54130036275443e-04 -1.10428580806739e-02 + 4.15043457831623e-05 -5.47310057257464e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 4.93945900663519e-05 5.43221149579773e-03 + 1.91771295681269e-04 1.09945547510102e-02 + 4.30948497399088e-04 1.66704127420464e-02 + 7.21734410387013e-04 2.24567464929346e-02 + 1.07730741709769e-03 2.83584353066665e-02 + 1.57867666907350e-03 3.43789399593932e-02 + 2.18962409504178e-03 4.05147702784284e-02 + 2.87390274495630e-03 4.67612467796823e-02 + 3.70286336519119e-03 5.31220505905402e-02 + 4.68384229545709e-03 5.96008136931467e-02 + 5.76013406788145e-03 6.61956390356683e-02 + 6.93177128373104e-03 7.29034759421855e-02 + 8.26901355862479e-03 7.97281559747367e-02 + 9.77824180969898e-03 8.66630074775354e-02 + 1.14275019521860e-02 9.37034428079475e-02 + 1.32266847333467e-02 1.00858753106311e-01 + 1.51761539374060e-02 1.08128938064856e-01 + 1.72714956568739e-02 1.15502939300003e-01 + 1.95637787239429e-02 1.22979180535135e-01 + 2.20695252293750e-02 1.30561156795805e-01 + 2.47281094042561e-02 1.38244832029166e-01 + 2.75456806099454e-02 1.46038604153497e-01 + 3.05593823991002e-02 1.53935375707370e-01 + 3.37860581768749e-02 1.61920597521568e-01 + 3.72452027207338e-02 1.70001910440777e-01 + 4.09245903519178e-02 1.78177743729407e-01 + 4.48465295723024e-02 1.86422391301425e-01 + 4.90582070152980e-02 1.94736994989385e-01 + 5.35340018637743e-02 2.03115244822406e-01 + 5.82837915297898e-02 2.11547642695091e-01 + 6.33351801667874e-02 2.20033140707549e-01 + 6.86401251468436e-02 2.28569934803754e-01 + 7.42272548120636e-02 2.37163318012591e-01 + 8.01196560476374e-02 2.45788663448382e-01 + 8.63307082083169e-02 2.54429538603770e-01 + 9.28250826404981e-02 2.63119655632924e-01 + 9.96151523489584e-02 2.71823596011513e-01 + 1.06771709719796e-01 2.80522656428195e-01 + 1.14289871889533e-01 2.89185047380688e-01 + 1.22165975516914e-01 2.97828593551331e-01 + 1.30403868764262e-01 3.06427230443892e-01 + 1.38990200919880e-01 3.14995426949833e-01 + 1.47969751776653e-01 3.23485724226965e-01 + 1.57361528045221e-01 3.31862218154845e-01 + 1.67144419888203e-01 3.40154287933799e-01 + 1.77307898151855e-01 3.48338254267513e-01 + 1.87889764546787e-01 3.56387986084499e-01 + 1.98897359073543e-01 3.64245898865723e-01 + 2.10347619668173e-01 3.71910444037256e-01 + 2.22236708320681e-01 3.79330943328417e-01 + 2.34588282889992e-01 3.86479706550197e-01 + 2.47343811156454e-01 3.93391935249739e-01 + 2.60582145900602e-01 3.99925054005489e-01 + 2.74225101658487e-01 4.06178193307188e-01 + 2.88315125174728e-01 4.12032656000221e-01 + 3.02825054140620e-01 4.17529143471988e-01 + 3.17763150799911e-01 4.22553357869358e-01 + 3.33104610358311e-01 4.27197423676452e-01 + 3.48838348510863e-01 4.31315435147126e-01 + 3.64970051727677e-01 4.34971337039456e-01 + 3.81483853494839e-01 4.37904127638067e-01 + 3.98361605944391e-01 4.40358878565305e-01 + 4.15570857179751e-01 4.42114230352512e-01 + 4.33088650986587e-01 4.43373980371240e-01 + 4.50902925376936e-01 4.43820367304233e-01 + 4.68972912267664e-01 4.43660461110881e-01 + 4.87287044378984e-01 4.42717023231123e-01 + 5.05803713812534e-01 4.41119875712370e-01 + 5.24498972573167e-01 4.38689845156700e-01 + 5.43343697751625e-01 4.35466871955895e-01 + 5.62302254742289e-01 4.31642876475118e-01 + 5.81330045863197e-01 4.26804120992610e-01 + 6.00417829020494e-01 4.21312934747846e-01 + 6.19511743354015e-01 4.15008517656744e-01 + 6.38582778349824e-01 4.07867738242271e-01 + 6.57589012927152e-01 3.99893003231071e-01 + 6.76641999006394e-01 3.91149198139106e-01 + 6.95677552572029e-01 3.81537221304609e-01 + 7.14531035702312e-01 3.71137756894499e-01 + 7.33137095171979e-01 3.59873484886580e-01 + 7.51507481541476e-01 3.47864259882383e-01 + 7.69578488761687e-01 3.35088699792006e-01 + 7.87327996086565e-01 3.21582528180890e-01 + 8.04736157831846e-01 3.07372723953618e-01 + 8.21702404223314e-01 2.92359267564169e-01 + 8.38262336688405e-01 2.76726564554491e-01 + 8.54310027807165e-01 2.60304976363149e-01 + 8.69888471938163e-01 2.43294208306092e-01 + 8.84933040739667e-01 2.25678262925529e-01 + 8.99412990874286e-01 2.07349933198512e-01 + 9.13274206761712e-01 1.88030204854370e-01 + 9.26534822813331e-01 1.68305625002896e-01 + 9.39153653193120e-01 1.48200110006822e-01 + 9.51047733036157e-01 1.27734922212462e-01 + 9.62277182402837e-01 1.06992408688949e-01 + 9.72775366334289e-01 8.59988926685764e-02 + 9.82570741487315e-01 6.47976208557021e-02 + 9.91447684039704e-01 4.34144664477603e-02 + 9.98692576247939e-01 2.12471865113030e-02 + 1.00000000000000e+00 9.44054819368601e-05 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF04_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF04_Coords.txt new file mode 100644 index 0000000..8c8f40c --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF04_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.429199 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 1.50639922379954e-04 + 9.93825116368402e-01 -2.01670270052505e-02 + 9.76971987326442e-01 -3.69812411596295e-02 + 9.59638397286645e-01 -5.44835138995675e-02 + 9.42670484767148e-01 -7.40752376060517e-02 + 9.26075454307312e-01 -9.41658668399325e-02 + 9.09612465731644e-01 -1.14270937651071e-01 + 8.93131208613358e-01 -1.34205585833426e-01 + 8.76422509204268e-01 -1.53719854855478e-01 + 8.59647113144997e-01 -1.73031717041737e-01 + 8.42478302881929e-01 -1.91739038477861e-01 + 8.24949233510082e-01 -2.09862208046166e-01 + 8.07025539322051e-01 -2.27328741382489e-01 + 7.88582181958697e-01 -2.43960372721002e-01 + 7.69728270043092e-01 -2.59852875597655e-01 + 7.50455066159919e-01 -2.74908585527527e-01 + 7.30768856519934e-01 -2.89076976991922e-01 + 7.10734026134789e-01 -3.02376826658361e-01 + 6.90422680344192e-01 -3.14812442583619e-01 + 6.69903396291527e-01 -3.26415097769023e-01 + 6.49169995960853e-01 -3.37088841903011e-01 + 6.28563073441194e-01 -3.46755218272321e-01 + 6.08509490129302e-01 -3.55617618354979e-01 + 5.88400336356101e-01 -3.63369617620486e-01 + 5.68374089867870e-01 -3.70391271833192e-01 + 5.48387946757785e-01 -3.76295993225084e-01 + 5.28528608275514e-01 -3.81353165320938e-01 + 5.08846887080833e-01 -3.85637754433315e-01 + 4.89365481111481e-01 -3.89079456754792e-01 + 4.70108182934207e-01 -3.91575047384096e-01 + 4.51124851331427e-01 -3.93489986934023e-01 + 4.32436462955731e-01 -3.94413108497312e-01 + 4.14068667962057e-01 -3.94707698622192e-01 + 3.96047116672700e-01 -3.94318693947774e-01 + 3.78390499420695e-01 -3.93354324010347e-01 + 3.61137089527507e-01 -3.91548081278938e-01 + 3.44294262447928e-01 -3.89144050245470e-01 + 3.27852553763786e-01 -3.86313239577107e-01 + 3.11856910640169e-01 -3.82901727100304e-01 + 2.96315639932397e-01 -3.78937651202233e-01 + 2.81215384300053e-01 -3.74607365236148e-01 + 2.66620474847380e-01 -3.69635276851407e-01 + 2.52455809562628e-01 -3.64398922892410e-01 + 2.38812480191185e-01 -3.58647873428024e-01 + 2.25628846820846e-01 -3.52578977980842e-01 + 2.12943244640398e-01 -3.46178373608768e-01 + 2.00772750664686e-01 -3.39390994478350e-01 + 1.89051399102700e-01 -3.32432460374099e-01 + 1.77870029158067e-01 -3.25108669814298e-01 + 1.67149669109653e-01 -3.17622401192026e-01 + 1.56942443850556e-01 -3.09876942237456e-01 + 1.47224318144150e-01 -3.01957140568090e-01 + 1.37945277792599e-01 -2.93947851668053e-01 + 1.29176949278577e-01 -2.85764865317954e-01 + 1.20813758894541e-01 -2.77565594568180e-01 + 1.12852726058514e-01 -2.69365843706160e-01 + 1.05303461657828e-01 -2.61148338318763e-01 + 9.81143338144265e-02 -2.52989869168208e-01 + 9.14073145133105e-02 -2.44739921923271e-01 + 8.50521579178617e-02 -2.36560650817359e-01 + 7.89663784505373e-02 -2.28508364459162e-01 + 7.33340312050618e-02 -2.20433078553628e-01 + 6.80324951643100e-02 -2.12423844224058e-01 + 6.30417193529091e-02 -2.04519589897441e-01 + 5.83096301105653e-02 -1.96738239042999e-01 + 5.38016390606915e-02 -1.89111749869821e-01 + 4.96026898349437e-02 -1.81573205636937e-01 + 4.56327250695242e-02 -1.74166237430730e-01 + 4.18728914299956e-02 -1.66908046187620e-01 + 3.83174841791309e-02 -1.59777426145505e-01 + 3.50253608418105e-02 -1.52744961961351e-01 + 3.19445600042997e-02 -1.45831978051611e-01 + 2.90724119757712e-02 -1.39034908418031e-01 + 2.64232301587887e-02 -1.32351735741685e-01 + 2.39626958976056e-02 -1.25784513945137e-01 + 2.16748388246736e-02 -1.19343967050697e-01 + 1.95686259725624e-02 -1.13036379516507e-01 + 1.76053997713580e-02 -1.06850421467632e-01 + 1.57497466369458e-02 -1.00803849074163e-01 + 1.40158065499312e-02 -9.48901710130890e-02 + 1.24332126478387e-02 -8.90919199421619e-02 + 1.09877052526025e-02 -8.34147315179866e-02 + 9.63942188616484e-03 -7.78597941994217e-02 + 8.35447583749980e-03 -7.24262572688269e-02 + 7.17553290706620e-03 -6.71089909824489e-02 + 6.12877579024111e-03 -6.19011409871098e-02 + 5.18027470035278e-03 -5.67991574211783e-02 + 4.32401943590811e-03 -5.18083870672683e-02 + 3.55844111108688e-03 -4.69311010931079e-02 + 2.86522285717555e-03 -4.21601809598737e-02 + 2.27242618501838e-03 -3.74930736631853e-02 + 1.78041086322702e-03 -3.29313900634512e-02 + 1.34314904948014e-03 -2.84760249354099e-02 + 8.96198113115433e-04 -2.41260415803860e-02 + 5.10589108473089e-04 -1.98784774376619e-02 + 3.13796101731496e-04 -1.57260192705604e-02 + 1.76931660052504e-04 -1.16676808380940e-02 + 7.31448679043374e-05 -7.70233033114123e-03 + 1.97228468786147e-05 -3.83031315690182e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 3.23306824296959e-05 3.72663760311781e-03 + 1.29842674153680e-04 7.58559479913837e-03 + 3.10081443685023e-04 1.15413021098891e-02 + 5.34175271530997e-04 1.55883377180133e-02 + 7.77152319438240e-04 1.97335475789882e-02 + 1.09802529851270e-03 2.39796840741796e-02 + 1.48368545053408e-03 2.83248657758363e-02 + 1.92446278035036e-03 3.27656263613764e-02 + 2.47888270136373e-03 3.73047268274936e-02 + 3.13315292994846e-03 4.19485432520312e-02 + 3.83234808731443e-03 4.66997247150635e-02 + 4.58839870416647e-03 5.15566824674854e-02 + 5.45473965839827e-03 5.65208773220767e-02 + 6.44974794170204e-03 6.15868944177101e-02 + 7.54398102125260e-03 6.67547293364322e-02 + 8.71923053151525e-03 7.20365835154547e-02 + 9.97272064222359e-03 7.74366824831880e-02 + 1.13178129442358e-02 8.29463643557327e-02 + 1.28076469063735e-02 8.85616422008356e-02 + 1.44563388047050e-02 9.42910710278974e-02 + 1.61965269525356e-02 1.00140630615420e-01 + 1.80168045911478e-02 1.06124768404076e-01 + 1.99614335193230e-02 1.12234652048844e-01 + 2.20726908655543e-02 1.18459733560101e-01 + 2.43585800269142e-02 1.24810864894382e-01 + 2.67979124316423e-02 1.31294474255796e-01 + 2.94278739166264e-02 1.37882348361615e-01 + 3.22919926639024e-02 1.44572014378606e-01 + 3.53649139865357e-02 1.51368765404054e-01 + 3.86591409452920e-02 1.58265541671239e-01 + 4.21974635494740e-02 1.65261181996845e-01 + 4.59247472271020e-02 1.72377550006574e-01 + 4.98656244423393e-02 1.79620086838866e-01 + 5.40592509385260e-02 1.86965537305978e-01 + 5.85243769111221e-02 1.94398732948545e-01 + 6.31979115971898e-02 2.01980098633252e-01 + 6.81125413121970e-02 2.09674320058645e-01 + 7.33547192592396e-02 2.17442861738183e-01 + 7.89304832578431e-02 2.25262731903794e-01 + 8.48229713319361e-02 2.33161165892639e-01 + 9.10449808647500e-02 2.41121083235135e-01 + 9.75742264002897e-02 2.49175858078168e-01 + 1.04476346466662e-01 2.57257765775008e-01 + 1.11785494672608e-01 2.65325415827440e-01 + 1.19467672549980e-01 2.73432039012652e-01 + 1.27518633452080e-01 2.81564539077503e-01 + 1.35987281733138e-01 2.89676569175103e-01 + 1.44894924712119e-01 2.97708684938950e-01 + 1.54263555784105e-01 3.05649488788744e-01 + 1.64101715818601e-01 3.13449669423272e-01 + 1.74440928411978e-01 3.21056432370502e-01 + 1.85207863158729e-01 3.28567008077067e-01 + 1.96519173107261e-01 3.35740810051744e-01 + 2.08272075662548e-01 3.42770022795852e-01 + 2.20536068534141e-01 3.49471328328863e-01 + 2.33279958722219e-01 3.55905702858263e-01 + 2.46529222394472e-01 3.61940357346035e-01 + 2.60252225740409e-01 3.67670459668533e-01 + 2.74451459858811e-01 3.72970852102391e-01 + 2.89138855597453e-01 3.77839525061369e-01 + 3.04313084112333e-01 3.82052989411498e-01 + 3.19954938463797e-01 3.85770965089497e-01 + 3.36034754255422e-01 3.88873528917721e-01 + 3.52535721344842e-01 3.91480301466176e-01 + 3.69451127691435e-01 3.93336279360581e-01 + 3.86747314472571e-01 3.94603579924491e-01 + 4.04418022023886e-01 3.95116376365675e-01 + 4.22424791004886e-01 3.95019905492055e-01 + 4.40752901649959e-01 3.94058304397881e-01 + 4.59373948550652e-01 3.92327943670238e-01 + 4.78265724943047e-01 3.90092528994945e-01 + 4.97378872095490e-01 3.86744562805955e-01 + 5.16720075862136e-01 3.82843406891621e-01 + 5.36238572801128e-01 3.78123143252654e-01 + 5.55906913054693e-01 3.72572146337360e-01 + 5.75691711285939e-01 3.66184446680063e-01 + 5.95989506053998e-01 3.59050371343162e-01 + 6.16690238612756e-01 3.51030246602093e-01 + 6.37388476336622e-01 3.42232192366278e-01 + 6.58002490204530e-01 3.32536554998071e-01 + 6.78573545238263e-01 3.22127255227523e-01 + 6.99027449451809e-01 3.10948293862190e-01 + 7.19355919018514e-01 2.99046363871560e-01 + 7.39541366389923e-01 2.86457949055682e-01 + 7.59452964048431e-01 2.73017120543956e-01 + 7.79180881289212e-01 2.58984351678540e-01 + 7.98551940870688e-01 2.44099307892628e-01 + 8.17669709634573e-01 2.28633839510729e-01 + 8.36459324162845e-01 2.12547754047013e-01 + 8.54873127475182e-01 1.95705210243350e-01 + 8.72833930178459e-01 1.77766690176499e-01 + 8.90414437832225e-01 1.59422281728604e-01 + 9.07543565525050e-01 1.40675829265513e-01 + 9.24078419056890e-01 1.21504746192956e-01 + 9.40161494789802e-01 1.02051949436287e-01 + 9.55671164053353e-01 8.23129122740457e-02 + 9.70600424067586e-01 6.23378928523766e-02 + 9.84603867784436e-01 4.20837899026943e-02 + 9.96687665857578e-01 2.07285752768550e-02 + 1.00000000000000e+00 1.50639922379950e-04 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF05_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF05_Coords.txt new file mode 100644 index 0000000..1cf36c8 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF05_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.390122 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 1.81668005709887e-04 + 9.89839305056369e-01 -1.77184371943406e-02 + 9.67669339123546e-01 -3.06948948775324e-02 + 9.45029140738328e-01 -4.49130889238079e-02 + 9.23087530488359e-01 -6.14315900824870e-02 + 9.01887757603543e-01 -7.87543056701497e-02 + 8.81172905135403e-01 -9.63551365927508e-02 + 8.60771720344449e-01 -1.14015052624867e-01 + 8.40414525195301e-01 -1.31435582891476e-01 + 8.20293195088020e-01 -1.48837630563814e-01 + 8.00010762556257e-01 -1.65775916796712e-01 + 7.79595375442742e-01 -1.82263687689669e-01 + 7.58987845782886e-01 -1.98206422874963e-01 + 7.38027941878539e-01 -2.13395760860541e-01 + 7.16833953238522e-01 -2.27917465130822e-01 + 6.95374613969084e-01 -2.41658888140446e-01 + 6.73646884772149e-01 -2.54554595075268e-01 + 6.51718617874821e-01 -2.66614958541719e-01 + 6.29655663927714e-01 -2.77841210845614e-01 + 6.07531359156390e-01 -2.88265150357909e-01 + 5.85328095390029e-01 -2.97774729393737e-01 + 5.63542105624344e-01 -3.06287094687590e-01 + 5.42770334931897e-01 -3.14025179968140e-01 + 5.22094612382781e-01 -3.20644740726036e-01 + 5.01650729116227e-01 -3.26567441178945e-01 + 4.81384772528712e-01 -3.31363993863077e-01 + 4.61383492166413e-01 -3.35320979201823e-01 + 4.41689840160337e-01 -3.38529316294309e-01 + 4.22323271382687e-01 -3.40913006721076e-01 + 4.03304573677797e-01 -3.42348856822591e-01 + 3.84676771933928e-01 -3.43264104397781e-01 + 3.66457374341614e-01 -3.43186694158794e-01 + 3.48666802185297e-01 -3.42520002320538e-01 + 3.31322895319195e-01 -3.41222232657113e-01 + 3.14441847163063e-01 -3.39390980462570e-01 + 2.98055303743063e-01 -3.36740879405174e-01 + 2.82164639931318e-01 -3.33568103087579e-01 + 2.66754333859033e-01 -3.30012524744029e-01 + 2.51862721994187e-01 -3.25935711669634e-01 + 2.37495522408771e-01 -3.21358366636737e-01 + 2.23628887339844e-01 -3.16471884954941e-01 + 2.10326814581040e-01 -3.11002364965863e-01 + 1.97502621478311e-01 -3.05359801418825e-01 + 1.85246348995858e-01 -2.99239180585705e-01 + 1.73488993830359e-01 -2.92888453760407e-01 + 1.62263508266730e-01 -2.86258994818703e-01 + 1.51586868753383e-01 -2.79307649911638e-01 + 1.41378942671525e-01 -2.72262816009452e-01 + 1.31736955237954e-01 -2.64908080316477e-01 + 1.22568035020121e-01 -2.57464195418963e-01 + 1.13926910579466e-01 -2.49822424883429e-01 + 1.05783156215001e-01 -2.42067889706922e-01 + 9.80810039129152e-02 -2.34303746752472e-01 + 9.08936396871226e-02 -2.26419013889672e-01 + 8.41062080479445e-02 -2.18600994648404e-01 + 7.77121625084452e-02 -2.10858768110217e-01 + 7.17212050977966e-02 -2.03171773331129e-01 + 6.60728682857449e-02 -1.95623344143113e-01 + 6.08990427774627e-02 -1.88033298697211e-01 + 5.60529596799576e-02 -1.80586145755648e-01 + 5.14489599307636e-02 -1.73353706810877e-01 + 4.72776553950129e-02 -1.66140254106768e-01 + 4.34125034867413e-02 -1.59057497600963e-01 + 3.98248940135414e-02 -1.52140172926815e-01 + 3.64643818002677e-02 -1.45411874170717e-01 + 3.32884189512879e-02 -1.38903986820421e-01 + 3.03884042025174e-02 -1.32531335975465e-01 + 2.76803806057353e-02 -1.26345795158615e-01 + 2.51376370207744e-02 -1.20358782976234e-01 + 2.27597472612498e-02 -1.14547594393945e-01 + 2.06003586829561e-02 -1.08867634831644e-01 + 1.86078608102011e-02 -1.03342873573844e-01 + 1.67809896287572e-02 -9.79668474969444e-02 + 1.51270128759217e-02 -9.27297054517084e-02 + 1.36187214674036e-02 -8.76357722752409e-02 + 1.22379486943830e-02 -8.26914475059640e-02 + 1.09950731304688e-02 -7.78991114625478e-02 + 9.85547824527882e-03 -7.32470909840191e-02 + 8.77404859786860e-03 -6.87509779879421e-02 + 7.76848931587744e-03 -6.44002932737582e-02 + 6.88143566986386e-03 -6.01742955935503e-02 + 6.08634569287801e-03 -5.60744322297130e-02 + 5.34049989689567e-03 -5.21010683635556e-02 + 4.61668756263021e-03 -4.82538055469151e-02 + 3.94908820272010e-03 -4.45218740465887e-02 + 3.36454091770521e-03 -4.08947994530565e-02 + 2.84331452650350e-03 -3.73696441339502e-02 + 2.37225751851325e-03 -3.39494194552734e-02 + 1.94332294947207e-03 -3.06339975179006e-02 + 1.55954669828877e-03 -2.74165026047054e-02 + 1.24562186231914e-03 -2.42920931203457e-02 + 9.89133064825562e-04 -2.12601146741595e-02 + 7.52124710834712e-04 -1.83214518341754e-02 + 4.84550621080101e-04 -1.54763017477014e-02 + 2.42145727570053e-04 -1.27189350164608e-02 + 1.43601595034255e-04 -1.00384612097229e-02 + 7.61873786880223e-05 -7.43483205109773e-03 + 2.84602487828866e-05 -4.90719320558744e-03 + 7.70462178850949e-06 -2.45437672700742e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 2.29154496308512e-05 2.30454879669094e-03 + 9.21277039078369e-05 4.73999917422172e-03 + 2.22158261301634e-04 7.25795687632589e-03 + 3.86336189929779e-04 9.85079113653697e-03 + 5.37981292386847e-04 1.25264471209995e-02 + 7.15035675974916e-04 1.52871244811576e-02 + 9.21826674163481e-04 1.81323847063119e-02 + 1.16752496400420e-03 2.10601111178604e-02 + 1.49539370600645e-03 2.40723549117605e-02 + 1.88061007687211e-03 2.71771109763177e-02 + 2.27674425646058e-03 3.03803172137514e-02 + 2.70097110399899e-03 3.36817818019049e-02 + 3.19021795652715e-03 3.70813584698127e-02 + 3.76596741278901e-03 4.05754097302197e-02 + 4.40138579990432e-03 4.41677105317378e-02 + 5.06376675275730e-03 4.78717838409923e-02 + 5.75146171993099e-03 5.16945738247084e-02 + 6.48913472369717e-03 5.56300397683418e-02 + 7.32504322449232e-03 5.96730165798682e-02 + 8.27403993074309e-03 6.38346746400018e-02 + 9.27642079920550e-03 6.81278807876064e-02 + 1.03093788861656e-02 7.25703049849866e-02 + 1.14187129386268e-02 7.71526985899433e-02 + 1.26595139880100e-02 8.18677249485151e-02 + 1.40337988851239e-02 8.67276706289114e-02 + 1.55181691056109e-02 9.17439074393018e-02 + 1.71492640196870e-02 9.68902216861246e-02 + 1.89642714914147e-02 1.02161688611462e-01 + 2.09447333410899e-02 1.07570952065851e-01 + 2.31022417167603e-02 1.13113768999875e-01 + 2.54554679096700e-02 1.18788809943084e-01 + 2.79540424979398e-02 1.24632603973116e-01 + 3.06202336972029e-02 1.30649462837102e-01 + 3.35002647999872e-02 1.36818455258026e-01 + 3.66150920439140e-02 1.43126272611735e-01 + 3.98934867965818e-02 1.49646886031458e-01 + 4.33790848832209e-02 1.56347098816828e-01 + 4.71595194395097e-02 1.63176570648299e-01 + 5.12488498413124e-02 1.70119587006001e-01 + 5.56250426590652e-02 1.77207210896758e-01 + 6.03078585705348e-02 1.84428398149115e-01 + 6.52741078779166e-02 1.91825628824162e-01 + 7.05960008616806e-02 1.99321258721810e-01 + 7.63152181327329e-02 2.06871706727953e-01 + 8.23962358413367e-02 2.14540127410422e-01 + 8.88406036666841e-02 2.22320251007191e-01 + 9.56992111484199e-02 2.30153834408643e-01 + 1.03000430140358e-01 2.37983823891040e-01 + 1.10769080690412e-01 2.45789533863714e-01 + 1.19021710029169e-01 2.53524630122007e-01 + 1.27791266491893e-01 2.61122092932639e-01 + 1.37004344233526e-01 2.68712398010800e-01 + 1.46788233862177e-01 2.76005684768727e-01 + 1.57037625164286e-01 2.83239705746166e-01 + 1.67831640731788e-01 2.90199553639078e-01 + 1.79140691600359e-01 2.96952421827523e-01 + 1.90998210593949e-01 3.03362820968409e-01 + 2.03371921601482e-01 3.09517941344547e-01 + 2.16272724329459e-01 3.15315838273858e-01 + 2.29714854248802e-01 3.20708118582531e-01 + 2.43706101378155e-01 3.25516682508874e-01 + 2.58228404448588e-01 3.29829512238321e-01 + 2.73257279041846e-01 3.33605140107007e-01 + 2.88781539860764e-01 3.36894341136197e-01 + 3.04798381087788e-01 3.39511734348897e-01 + 3.21282500763027e-01 3.41569923068709e-01 + 3.38231421359921e-01 3.42927712760434e-01 + 3.55613053654945e-01 3.43726858272444e-01 + 3.73419890536675e-01 3.43685551529324e-01 + 3.91627081088231e-01 3.42928751095839e-01 + 4.10223430316931e-01 3.41741689286080e-01 + 4.29161993851873e-01 3.39451744438132e-01 + 4.48458197315896e-01 3.36689857074510e-01 + 4.68069080793735e-01 3.33150251906539e-01 + 4.87971013509052e-01 3.28831395554929e-01 + 5.08139676667431e-01 3.23724149994242e-01 + 5.29199337639026e-01 3.17926561401568e-01 + 5.51009573812084e-01 3.11289602543246e-01 + 5.72971568866073e-01 3.03929868302021e-01 + 5.94997674795123e-01 2.95715291323927e-01 + 6.17146860415960e-01 2.86853571430211e-01 + 6.39342374165498e-01 2.77273429753645e-01 + 6.61586002485230e-01 2.67026206816235e-01 + 6.83862351866883e-01 2.56151886709350e-01 + 7.06028612592097e-01 2.44463249705942e-01 + 7.28205984217708e-01 2.32243197464589e-01 + 7.50186313263602e-01 2.19204659507964e-01 + 7.72106536177158e-01 2.05635795266837e-01 + 7.93889294437484e-01 1.91487841374586e-01 + 8.15477683809172e-01 1.76660212602995e-01 + 8.36783185673207e-01 1.60911879801007e-01 + 8.57908949389615e-01 1.44766830357707e-01 + 8.78766841681439e-01 1.28201738912787e-01 + 8.99182352646326e-01 1.11134260753372e-01 + 9.19339872446482e-01 9.37865800802753e-02 + 9.39084931241369e-01 7.61115156931585e-02 + 9.58378822750075e-01 5.81686063506184e-02 + 9.76799750962106e-01 3.98188665560602e-02 + 9.93366181728805e-01 2.03406423565705e-02 + 1.00000000000000e+00 1.81668005709885e-04 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF06_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF06_Coords.txt new file mode 100644 index 0000000..ab19c83 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF06_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.352942 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 1.91618246389726e-04 + 9.85713728297364e-01 -1.48145073454067e-02 + 9.60296599608518e-01 -2.39280828741916e-02 + 9.34667548395100e-01 -3.47369900568018e-02 + 9.09826473042007e-01 -4.77134739187086e-02 + 8.85816893608743e-01 -6.17785901066344e-02 + 8.62429370848723e-01 -7.64247120957726e-02 + 8.39522344092125e-01 -9.14077524240148e-02 + 8.16847406253680e-01 -1.06394463238442e-01 + 7.94581185412904e-01 -1.21567772853087e-01 + 7.72363998526917e-01 -1.36482245585183e-01 + 7.50217564651659e-01 -1.51132558724339e-01 + 7.28076023083174e-01 -1.65399569075069e-01 + 7.05785739491298e-01 -1.79060380032277e-01 + 6.83442761543389e-01 -1.92171344884600e-01 + 6.61006394925856e-01 -2.04609732855716e-01 + 6.38466096824721e-01 -2.16297357943611e-01 + 6.15876941845506e-01 -2.27230602266142e-01 + 5.93288984977918e-01 -2.37402498007493e-01 + 5.70765409009589e-01 -2.46838668993632e-01 + 5.48286421870134e-01 -2.55424144944172e-01 + 5.26269937255425e-01 -2.63080327516458e-01 + 5.05230893642848e-01 -2.70017786709455e-01 + 4.84381081773310e-01 -2.75905633470131e-01 + 4.63844631838532e-01 -2.81143346814918e-01 + 4.43567047481127e-01 -2.85322762886107e-01 + 4.23628476217602e-01 -2.88704816117099e-01 + 4.04065787454561e-01 -2.91379499387231e-01 + 3.84896956627907e-01 -2.93279659130418e-01 + 3.66141031047616e-01 -2.94289117105526e-01 + 3.47835383469268e-01 -2.94820173885516e-01 + 3.29995476666150e-01 -2.94428000841823e-01 + 3.12638443975118e-01 -2.93490557506629e-01 + 2.95777618769517e-01 -2.91981345539914e-01 + 2.79427374749891e-01 -2.89980004165011e-01 + 2.63614021350148e-01 -2.87237496984430e-01 + 2.48336307207790e-01 -2.84033070995830e-01 + 2.33577341419421e-01 -2.80476925004388e-01 + 2.19369226120868e-01 -2.76461067270800e-01 + 2.05716070162770e-01 -2.72002431508825e-01 + 1.92590626859839e-01 -2.67271454332971e-01 + 1.80051378080451e-01 -2.62037557168146e-01 + 1.68012664297365e-01 -2.56670612592729e-01 + 1.56556312333603e-01 -2.50885815222941e-01 + 1.45614761749270e-01 -2.44923692236882e-01 + 1.35215622209819e-01 -2.38724642956816e-01 + 1.25373863865239e-01 -2.32261414575754e-01 + 1.16008142583710e-01 -2.25736789847783e-01 + 1.07210648957087e-01 -2.18957743061653e-01 + 9.88881483802899e-02 -2.12123482214397e-01 + 9.10916068233112e-02 -2.05138402374371e-01 + 8.37895198750953e-02 -1.98075186629732e-01 + 7.69271602340786e-02 -1.91030950173878e-01 + 7.05721590495848e-02 -1.83900490049182e-01 + 6.46136338560759e-02 -1.76856948226833e-01 + 5.90429895815728e-02 -1.69906423503516e-01 + 5.38685798402409e-02 -1.63031199751683e-01 + 4.90294153806806e-02 -1.56306022827580e-01 + 4.46505670278080e-02 -1.49568815834366e-01 + 4.05876743027340e-02 -1.42986285130049e-01 + 3.67593634575350e-02 -1.36627014766879e-01 + 3.33425788934579e-02 -1.30309211419235e-01 + 3.02183224103472e-02 -1.24137275110933e-01 + 2.73552345412753e-02 -1.18138875014284e-01 + 2.47069960918709e-02 -1.12336974492489e-01 + 2.22295405674497e-02 -1.06758268301187e-01 + 2.00090662553476e-02 -1.01324723708703e-01 + 1.79654081383561e-02 -9.60841426188542e-02 + 1.60689575898736e-02 -9.10441547985244e-02 + 1.43200775857538e-02 -8.61872678895886e-02 + 1.27630474674267e-02 -8.14716124167225e-02 + 1.13498676221292e-02 -7.69183240615198e-02 + 1.00792597169456e-02 -7.25206909344688e-02 + 8.95302187096519e-03 -6.82675790113417e-02 + 7.94884407031560e-03 -6.41636809937179e-02 + 7.04984653877549e-03 -6.02109878031645e-02 + 6.26661059411093e-03 -5.64085008048589e-02 + 5.56733590119890e-03 -5.27477870026264e-02 + 4.90548026394057e-03 -4.92402684609636e-02 + 4.29862767909153e-03 -4.58749390129952e-02 + 3.79280506906997e-03 -4.26332664845229e-02 + 3.35575829378490e-03 -3.95142151506067e-02 + 2.94477396292330e-03 -3.65185268350378e-02 + 2.53742473026380e-03 -3.36455559148251e-02 + 2.15904393501103e-03 -3.08837837805241e-02 + 1.83322267664427e-03 -2.82228390672795e-02 + 1.54954717706508e-03 -2.56596745732359e-02 + 1.29310558279870e-03 -2.31949424206621e-02 + 1.05278133181599e-03 -2.08268541981732e-02 + 8.42576586770647e-04 -1.85493184581310e-02 + 6.83227711807835e-04 -1.63567750038369e-02 + 5.56500335757856e-04 -1.42472087904358e-02 + 4.32109003350633e-04 -1.22209185550830e-02 + 2.70752609367634e-04 -1.02780563450021e-02 + 1.14911595951237e-04 -8.41232290483191e-03 + 6.84504385827460e-05 -6.61279946580888e-03 + 3.60698115219286e-05 -4.87942729113314e-03 + 1.41305620208163e-05 -3.21116982010682e-03 + 3.85055736179521e-06 -1.60611528462468e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 1.98961257683670e-05 1.48179944353149e-03 + 7.73304811541504e-05 3.07202280183821e-03 + 1.77775294864083e-04 4.73178919654628e-03 + 3.05115138548504e-04 6.45581673989728e-03 + 4.05206272690232e-04 8.25159375028845e-03 + 5.02423033738890e-04 1.01210608784792e-02 + 6.10256071318306e-04 1.20648316294468e-02 + 7.47101967370015e-04 1.40822493147555e-02 + 9.45089062455157e-04 1.61750548331166e-02 + 1.17633554873274e-03 1.83508953963638e-02 + 1.40286388660821e-03 2.06166839641888e-02 + 1.64252401177988e-03 2.29734106453467e-02 + 1.92144205475257e-03 2.54207021683306e-02 + 2.25941807853010e-03 2.79573905091268e-02 + 2.63138745674837e-03 3.05894049568140e-02 + 3.00076150497053e-03 3.33289142269476e-02 + 3.36843321498628e-03 3.61829263520034e-02 + 3.76383052670327e-03 3.91481675628746e-02 + 4.22905247816118e-03 4.22203848126344e-02 + 4.78076135082518e-03 4.54092190339878e-02 + 5.37038006675066e-03 4.87288257622874e-02 + 5.97013961366900e-03 5.21953351059134e-02 + 6.62450909273722e-03 5.58012829007451e-02 + 7.39175907742602e-03 5.95410537325480e-02 + 8.27225647671301e-03 6.34254910747630e-02 + 9.24397945356502e-03 6.74657274833967e-02 + 1.03367175109916e-02 7.16445634761531e-02 + 1.15823305684254e-02 7.59567256295158e-02 + 1.29697177179863e-02 8.04149172398254e-02 + 1.45083800936265e-02 8.50181167893255e-02 + 1.62145532632409e-02 8.97648391848559e-02 + 1.80460118335235e-02 9.46910626573065e-02 + 2.00241442670563e-02 9.97983678135292e-02 + 2.21960690956259e-02 1.05069643043976e-01 + 2.45828725995416e-02 1.10494417360840e-01 + 2.71161903669575e-02 1.16139293681944e-01 + 2.98429724028211e-02 1.21976595830276e-01 + 3.28455421762474e-02 1.27957936972363e-01 + 3.61420530681460e-02 1.34072254056494e-01 + 3.97104226295783e-02 1.40346368946396e-01 + 4.35741886779967e-02 1.46771025630586e-01 + 4.77129405039652e-02 1.53383650998506e-01 + 5.21972318380603e-02 1.60113674192287e-01 + 5.70705239523739e-02 1.66921074238492e-01 + 6.23010624317015e-02 1.73859464165357e-01 + 6.78940319468616e-02 1.80925020773057e-01 + 7.38978018502774e-02 1.88062044466444e-01 + 8.03425199645560e-02 1.95222613811939e-01 + 8.72539411911595e-02 2.02380063250201e-01 + 9.46520769310763e-02 2.09494056037004e-01 + 1.02568109920494e-01 2.16500173082380e-01 + 1.10934777336689e-01 2.23523154559966e-01 + 1.19874990377371e-01 2.30291719303862e-01 + 1.29291047874935e-01 2.37026579174050e-01 + 1.39261117837038e-01 2.43526482809229e-01 + 1.49759044014277e-01 2.49848787039972e-01 + 1.60819635749624e-01 2.55874713862246e-01 + 1.72412793858115e-01 2.61673505781836e-01 + 1.84552814559851e-01 2.67167016253569e-01 + 1.97253802690306e-01 2.72289002250607e-01 + 2.10527309249892e-01 2.76907843022097e-01 + 2.24356959270068e-01 2.81063667338571e-01 + 2.38722705936718e-01 2.84758405205253e-01 + 2.53616870613484e-01 2.87999202195838e-01 + 2.69038627683940e-01 2.90665631697764e-01 + 2.84968735585987e-01 2.92823380758648e-01 + 3.01406580411011e-01 2.94363363714886e-01 + 3.18325647635942e-01 2.95407243547431e-01 + 3.35722359993862e-01 2.95693343741590e-01 + 3.53575414426390e-01 2.95345790158341e-01 + 3.71879893864385e-01 2.94627550449347e-01 + 3.90593471488251e-01 2.92911680693862e-01 + 4.09734338519105e-01 2.90790805116088e-01 + 4.29266683698486e-01 2.87974998139579e-01 + 4.49170356004992e-01 2.84469000388918e-01 + 4.69427265618330e-01 2.80263349658966e-01 + 4.90570753728708e-01 2.75449207752787e-01 + 5.12478757889083e-01 2.69890037127722e-01 + 5.34647602712887e-01 2.63695567185528e-01 + 5.57000760152315e-01 2.56741266019976e-01 + 5.79593749371784e-01 2.49228473588071e-01 + 6.02359787190423e-01 2.41084119520502e-01 + 6.25303477082525e-01 2.32358958166538e-01 + 6.48411133259728e-01 2.23092052042753e-01 + 6.71556370585875e-01 2.13102341253447e-01 + 6.94852528953405e-01 2.02660823614077e-01 + 7.18107403821894e-01 1.91491320019079e-01 + 7.41447669368340e-01 1.79864587287265e-01 + 7.64805153993719e-01 1.67732063252785e-01 + 7.88125731981342e-01 1.55042587515745e-01 + 8.11326957535631e-01 1.41684542266649e-01 + 8.34506944259779e-01 1.27956554206912e-01 + 8.57581821028569e-01 1.13812866438131e-01 + 8.80387550854620e-01 9.91210646587913e-02 + 9.03099169466567e-01 8.41638363973287e-02 + 9.25571740404426e-01 6.88571585006190e-02 + 9.47766649722456e-01 5.32678502667369e-02 + 9.69305372052072e-01 3.71731888356646e-02 + 9.89520674918417e-01 2.01386433906473e-02 + 1.00000000000000e+00 1.91618246389725e-04 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF07_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF07_Coords.txt new file mode 100644 index 0000000..c5d0f4f --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF07_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.323441 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 1.92868919692344e-04 + 9.82407475246458e-01 -1.23088621078325e-02 + 9.55513540141175e-01 -1.84426823965055e-02 + 9.28969001281695e-01 -2.65113990168809e-02 + 9.03155234426800e-01 -3.65722603048777e-02 + 8.78057554433568e-01 -4.79584156464652e-02 + 8.53544566995996e-01 -6.01827214828987e-02 + 8.29534703869550e-01 -7.29770070036873e-02 + 8.05856309159957e-01 -8.59768766108782e-02 + 7.82639514189691e-01 -9.93317942847610e-02 + 7.59634088512754e-01 -1.12595603368092e-01 + 7.36855530895818e-01 -1.25747146875780e-01 + 7.14245874307582e-01 -1.38647334434625e-01 + 6.91688200575899e-01 -1.51062355357102e-01 + 6.69237531285970e-01 -1.63025938039175e-01 + 6.46855550444046e-01 -1.74408997915636e-01 + 6.24527581747874e-01 -1.85125361367559e-01 + 6.02286608806934e-01 -1.95162093753958e-01 + 5.80162710835200e-01 -2.04507234908343e-01 + 5.58199681622703e-01 -2.13182273251829e-01 + 5.36383268257237e-01 -2.21073848539470e-01 + 5.14829803018212e-01 -2.28111109463484e-01 + 4.93741959991912e-01 -2.34489819838872e-01 + 4.72873393189025e-01 -2.39904346536071e-01 + 4.52342324414561e-01 -2.44721460189701e-01 + 4.32095409299620e-01 -2.48570189408710e-01 + 4.12209243197062e-01 -2.51679971564568e-01 + 3.92718465623717e-01 -2.54134359117694e-01 + 3.73640685285296e-01 -2.55878650832474e-01 + 3.54994411088773e-01 -2.56814300736555e-01 + 3.36814881722252e-01 -2.57309862025481e-01 + 3.19116918989320e-01 -2.56980655992375e-01 + 3.01916580164730e-01 -2.56155709623789e-01 + 2.85225808690502e-01 -2.54820851595213e-01 + 2.69058330343453e-01 -2.53037170371348e-01 + 2.53438462703788e-01 -2.50612942220861e-01 + 2.38364335544812e-01 -2.47778272084098e-01 + 2.23819121813254e-01 -2.44619335175558e-01 + 2.09832447446912e-01 -2.41060006696641e-01 + 1.96407898545969e-01 -2.37116113627714e-01 + 1.83517786888509e-01 -2.32925864090405e-01 + 1.71217675843266e-01 -2.28317703274166e-01 + 1.59423983149802e-01 -2.23585515169841e-01 + 1.48214262636203e-01 -2.18505564276097e-01 + 1.37522700201327e-01 -2.13276343440038e-01 + 1.27374746254194e-01 -2.07843585613067e-01 + 1.17784306677095e-01 -2.02195366269589e-01 + 1.08671255614533e-01 -1.96488523687901e-01 + 1.00124237210499e-01 -1.90578339983677e-01 + 9.20516555204341e-02 -1.84620270552742e-01 + 8.45021122289866e-02 -1.78545760107685e-01 + 7.74443666342394e-02 -1.72408554908231e-01 + 7.08250094452873e-02 -1.66283815021913e-01 + 6.47084826863050e-02 -1.60092825110712e-01 + 5.89872622019614e-02 -1.53966261932587e-01 + 5.36521231043266e-02 -1.47909522043448e-01 + 4.87106827822960e-02 -1.41910880443279e-01 + 4.41028374190930e-02 -1.36026641300082e-01 + 3.99486865234301e-02 -1.30143198720235e-01 + 3.61073429131436e-02 -1.24383546318837e-01 + 3.25001530404621e-02 -1.18799559040256e-01 + 2.92958558403658e-02 -1.13263557409898e-01 + 2.63800223726005e-02 -1.07852054677854e-01 + 2.37209457706916e-02 -1.02584330781220e-01 + 2.12743079688000e-02 -9.74778997498705e-02 + 1.89962769242110e-02 -9.25521168625770e-02 + 1.69694063016861e-02 -8.77532964515784e-02 + 1.51160820899590e-02 -8.31165850237679e-02 + 1.34061761285077e-02 -7.86476370231112e-02 + 1.18397788634174e-02 -7.43381844378010e-02 + 1.04568256484713e-02 -7.01617763617381e-02 + 9.21120988167104e-03 -6.61330295079923e-02 + 8.10146009676222e-03 -6.22469130155153e-02 + 7.12736630730269e-03 -5.84959922234847e-02 + 6.26831174659777e-03 -5.48838309664468e-02 + 5.50839757024593e-03 -5.14085325957331e-02 + 4.85812776827176e-03 -4.80665420812881e-02 + 4.28668140471351e-03 -4.48548394410622e-02 + 3.74802991955767e-03 -4.17797376077117e-02 + 3.25922192299513e-03 -3.88323246516023e-02 + 2.86639061323360e-03 -3.60000374258300e-02 + 2.53583431289681e-03 -3.32809621839155e-02 + 2.22521981607815e-03 -3.06770510681543e-02 + 1.91380808522012e-03 -2.81869157455569e-02 + 1.62330094032306e-03 -2.58020382857138e-02 + 1.37545846132875e-03 -2.35149146458009e-02 + 1.16299788107164e-03 -2.13218631709159e-02 + 9.71004021328326e-04 -1.92214821601386e-02 + 7.87566316125809e-04 -1.72111010144092e-02 + 6.29759707189814e-04 -1.52857079216714e-02 + 5.16639868041243e-04 -1.34402957894832e-02 + 4.28532538884539e-04 -1.16723515564423e-02 + 3.38206786141157e-04 -9.98123741710090e-03 + 2.10233182791313e-04 -8.36618491215895e-03 + 8.19914341862233e-05 -6.82204854239580e-03 + 5.05413676594199e-05 -5.34054140058429e-03 + 2.78142602114567e-05 -3.92089161189305e-03 + 1.23294240137213e-05 -2.56157952666908e-03 + 3.36612933234782e-06 -1.26071766135574e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 1.95166185917800e-05 1.22752873913666e-03 + 7.43587736514677e-05 2.52249930191332e-03 + 1.65537483227907e-04 3.87525762370575e-03 + 2.80996845122566e-04 5.28750848246056e-03 + 3.65448493314449e-04 6.76515800992056e-03 + 4.38759567039489e-04 8.31014120110483e-03 + 5.17041866928868e-04 9.92368742973168e-03 + 6.21161442330270e-04 1.16064851794170e-02 + 7.79279852796731e-04 1.33603061039852e-02 + 9.63327580980974e-04 1.51910213970069e-02 + 1.13874583299930e-03 1.71046534564710e-02 + 1.32305525680672e-03 1.91030555398905e-02 + 1.53875866161173e-03 2.11866948089802e-02 + 1.80434275522865e-03 2.33570546344343e-02 + 2.09534885142857e-03 2.56207067953678e-02 + 2.37501580560620e-03 2.79866492778939e-02 + 2.64545289594622e-03 3.04599628289471e-02 + 2.93715558145997e-03 3.30398744602559e-02 + 3.28955941516219e-03 3.57244825705901e-02 + 3.72020140346022e-03 3.85190156328298e-02 + 4.18547026480025e-03 4.14345683580835e-02 + 4.65643594178088e-03 4.44824068667655e-02 + 5.17665065354222e-03 4.76582683440146e-02 + 5.80440216239468e-03 5.09569310296201e-02 + 6.53996100487061e-03 5.43858818223556e-02 + 7.36233627653882e-03 5.79522336703269e-02 + 8.29771067296165e-03 6.16517848143076e-02 + 9.37591904497447e-03 6.54805408941869e-02 + 1.05889020814073e-02 6.94458770221309e-02 + 1.19451580542389e-02 7.35498692422921e-02 + 1.34601577222579e-02 7.77909405450494e-02 + 1.50954210152111e-02 8.21934234284519e-02 + 1.68721758035587e-02 8.67554797194549e-02 + 1.88370890481228e-02 9.14644744980648e-02 + 2.10110258411276e-02 9.63131847300812e-02 + 2.33282336590104e-02 1.01346769283792e-01 + 2.58359979652729e-02 1.06544991098987e-01 + 2.86136348722182e-02 1.11871365607452e-01 + 3.16804383134811e-02 1.17317051788128e-01 + 3.50149817541534e-02 1.22899653370645e-01 + 3.86419129942183e-02 1.28608668181592e-01 + 4.25424331439969e-02 1.34467488792074e-01 + 4.67853392659352e-02 1.40424155777512e-01 + 5.14140559870085e-02 1.46446117177516e-01 + 5.63990546002278e-02 1.52565646786065e-01 + 6.17467073663191e-02 1.58778615206727e-01 + 6.75037682109597e-02 1.65042320945436e-01 + 7.37004068022150e-02 1.71321803947137e-01 + 8.03625072243941e-02 1.77588319917914e-01 + 8.75108851667208e-02 1.83809226229057e-01 + 9.51755871464724e-02 1.89934200221183e-01 + 1.03292659563544e-01 1.96057772423916e-01 + 1.11981258184889e-01 2.01969782346066e-01 + 1.21148101934096e-01 2.07836175639110e-01 + 1.30869576377121e-01 2.13497265662199e-01 + 1.41121157282100e-01 2.18992619408164e-01 + 1.51937343609923e-01 2.24230022944308e-01 + 1.63289290085700e-01 2.29258465680849e-01 + 1.75192007814750e-01 2.34020252389819e-01 + 1.87659227435234e-01 2.38452419247689e-01 + 2.00703316879919e-01 2.42461357775587e-01 + 2.14308655709873e-01 2.46062151836957e-01 + 2.28456897076196e-01 2.49271280744497e-01 + 2.43141503631519e-01 2.52075036798412e-01 + 2.58362197951727e-01 2.54401872038847e-01 + 2.74101890894819e-01 2.56281078910809e-01 + 2.90360470500331e-01 2.57632436015126e-01 + 3.07113575909226e-01 2.58552979416334e-01 + 3.24358788954582e-01 2.58818480113996e-01 + 3.42076243123573e-01 2.58537134982752e-01 + 3.60262940347687e-01 2.57934758095631e-01 + 3.78878715270422e-01 2.56467967723816e-01 + 3.97942091460364e-01 2.54651467520631e-01 + 4.17420067555596e-01 2.52230611014045e-01 + 4.37293857597600e-01 2.49212443875982e-01 + 4.57547521100390e-01 2.45587143437905e-01 + 4.78319159099587e-01 2.41434553857101e-01 + 4.99547006084852e-01 2.36634150480063e-01 + 5.21099441684486e-01 2.31284312325841e-01 + 5.42922156956560e-01 2.25270803198157e-01 + 5.65051646800162e-01 2.18780904391573e-01 + 5.87438924847094e-01 2.11742883490031e-01 + 6.10085481346957e-01 2.04205105640455e-01 + 6.32978667110165e-01 1.96204638420141e-01 + 6.56026731194570e-01 1.87568711051105e-01 + 6.79307793653958e-01 1.78552869200074e-01 + 7.02679949110215e-01 1.68892776659435e-01 + 7.26229549881413e-01 1.58840834251746e-01 + 7.49904709166384e-01 1.48348710603774e-01 + 7.73662266804357e-01 1.37385971042153e-01 + 7.97437085230234e-01 1.25893574960746e-01 + 8.21298681224627e-01 1.14068245653666e-01 + 8.45182471882348e-01 1.01853657837697e-01 + 8.68962562532882e-01 8.90928764093607e-02 + 8.92774261505339e-01 7.60908177448896e-02 + 9.16514012348515e-01 6.27440350716847e-02 + 9.40175790838216e-01 4.91222930110910e-02 + 9.63518168850016e-01 3.49576047477060e-02 + 9.86307215423474e-01 2.00813324173578e-02 + 1.00000000000000e+00 1.92868919692345e-04 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF08_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF08_Coords.txt new file mode 100644 index 0000000..31c8dad --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF08_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.303523 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 1.67793866277612e-04 + 9.80105439787502e-01 -1.01813197115048e-02 + 9.52881851296265e-01 -1.45034730859470e-02 + 9.26360534807159e-01 -2.11063901993153e-02 + 9.00451901565177e-01 -2.92494156531073e-02 + 8.75109122021321e-01 -3.89270282693225e-02 + 8.50271015533919e-01 -4.96697763073901e-02 + 8.25908437538160e-01 -6.11701168487462e-02 + 8.01920278660714e-01 -7.30285092572216e-02 + 7.78394863715461e-01 -8.53480042114618e-02 + 7.55179956966922e-01 -9.76991513951347e-02 + 7.32286562360959e-01 -1.10042089420031e-01 + 7.09666233443598e-01 -1.22219616613677e-01 + 6.87235986475062e-01 -1.33992991143745e-01 + 6.65016108346109e-01 -1.45372991140821e-01 + 6.42972746653797e-01 -1.56228160833990e-01 + 6.21088611075758e-01 -1.66468211136151e-01 + 5.99378068084506e-01 -1.76072647272961e-01 + 5.77855727260433e-01 -1.85024979936861e-01 + 5.56549066498367e-01 -1.93343490870287e-01 + 5.35449445977407e-01 -2.00920241460509e-01 + 5.14406667343370e-01 -2.07691971229675e-01 + 4.93350439358222e-01 -2.13837048657096e-01 + 4.72516939000228e-01 -2.19080001913305e-01 + 4.52021703891012e-01 -2.23749808790863e-01 + 4.31812756436607e-01 -2.27515661219660e-01 + 4.11964839916347e-01 -2.30576182816174e-01 + 3.92511996492597e-01 -2.33006352470674e-01 + 3.73471819369622e-01 -2.34764059833324e-01 + 3.54862711771932e-01 -2.35768601126550e-01 + 3.36719297091692e-01 -2.36342167216018e-01 + 3.19056286691240e-01 -2.36159538177877e-01 + 3.01889558989936e-01 -2.35502949996681e-01 + 2.85230945717454e-01 -2.34365862294414e-01 + 2.69093996076186e-01 -2.32795433716121e-01 + 2.53502477339550e-01 -2.30649802962872e-01 + 2.38454688011670e-01 -2.28108601892027e-01 + 2.23934372473248e-01 -2.25241257029010e-01 + 2.09970340755282e-01 -2.21992643636195e-01 + 1.96566094716274e-01 -2.18373682424007e-01 + 1.83694666171912e-01 -2.14488249211851e-01 + 1.71409940357889e-01 -2.10200089607461e-01 + 1.59630627986362e-01 -2.05712486096900e-01 + 1.48431884451611e-01 -2.00816837289561e-01 + 1.37749604195845e-01 -1.95572965243792e-01 + 1.27608487010150e-01 -1.90828386638317e-01 + 1.18021816086367e-01 -1.85903788102872e-01 + 1.08911536187864e-01 -1.80906972089580e-01 + 1.00363598572370e-01 -1.75738079082606e-01 + 9.22887020855791e-02 -1.70512878111007e-01 + 8.47338180689784e-02 -1.65187695889430e-01 + 7.76684825734591e-02 -1.59800458117132e-01 + 7.10406099213449e-02 -1.54405612216283e-01 + 6.49126535920828e-02 -1.48950696409202e-01 + 5.91799248418624e-02 -1.43527137501527e-01 + 5.38331682293527e-02 -1.38141224643349e-01 + 4.88795690107479e-02 -1.32787042771895e-01 + 4.42603513780026e-02 -1.27505235713135e-01 + 4.00918683024574e-02 -1.22226285071003e-01 + 3.62367524737588e-02 -1.17034554929342e-01 + 3.26181473155717e-02 -1.11966542794113e-01 + 2.93995945620499e-02 -1.06945072724830e-01 + 2.64695956213909e-02 -1.02021036086090e-01 + 2.37970248316385e-02 -9.72077061502737e-02 + 2.13384971220336e-02 -9.25176353792068e-02 + 1.90509842705117e-02 -8.79645632069137e-02 + 1.70144709727233e-02 -8.35170203041504e-02 + 1.51530524079878e-02 -7.91989822323381e-02 + 1.34369828626533e-02 -7.50154253158359e-02 + 1.18657224140979e-02 -7.09657677198796e-02 + 1.04773481258578e-02 -6.70379964990307e-02 + 9.22672495132974e-03 -6.32411942406170e-02 + 8.11215683053146e-03 -5.95720993234450e-02 + 7.13298957552284e-03 -5.60273092135295e-02 + 6.26888924014972e-03 -5.26092037883485e-02 + 5.50464867074183e-03 -4.93133934072035e-02 + 4.85060699077809e-03 -4.61348369592012e-02 + 4.27609652460489e-03 -4.30748884868753e-02 + 3.73612173385770e-03 -4.01361059780498e-02 + 3.24714825322432e-03 -3.73117926772366e-02 + 2.85430054115550e-03 -3.45945760380690e-02 + 2.52414672948185e-03 -3.19824111572239e-02 + 2.21476351789168e-03 -2.94783265364546e-02 + 1.90570576407697e-03 -2.70802885451037e-02 + 1.61757192233294e-03 -2.47829164400676e-02 + 1.37116041945252e-03 -2.25814653443132e-02 + 1.15959047603326e-03 -2.04716690940801e-02 + 9.68523619176466e-04 -1.84508094108964e-02 + 7.86183232545318e-04 -1.65158372378438e-02 + 6.29441712929409e-04 -1.46625654363367e-02 + 5.16781109221284e-04 -1.28867310723137e-02 + 4.28847917262679e-04 -1.11857285815879e-02 + 3.39307093085431e-04 -9.55817943290215e-03 + 2.13607534099717e-04 -8.00243423393045e-03 + 8.79892297910428e-05 -6.51462953687812e-03 + 5.62413408267618e-05 -5.08904035500971e-03 + 3.30209949737755e-05 -3.72420136673376e-03 + 1.67772553804997e-05 -2.41816232733398e-03 + 7.08273306194318e-06 -1.16920300661154e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 2.15390322376342e-05 1.21594717858823e-03 + 7.63154960772153e-05 2.46686226317518e-03 + 1.66646423722692e-04 3.76789306495500e-03 + 2.80944227366391e-04 5.12681399631580e-03 + 3.64997876570869e-04 6.54814480446503e-03 + 4.38043458604048e-04 8.03389078530680e-03 + 5.16088725000233e-04 9.58557687978666e-03 + 6.19701606735330e-04 1.12047762791725e-02 + 7.76313689032932e-04 1.28933798123610e-02 + 9.58656777413755e-04 1.46556381365719e-02 + 1.13315187658307e-03 1.64964301129491e-02 + 1.31674553603505e-03 1.84181045699260e-02 + 1.53148586430215e-03 2.04220066736834e-02 + 1.79497273210370e-03 2.25114828799875e-02 + 2.08284626089944e-03 2.46931110758499e-02 + 2.35940360283671e-03 2.69732001835656e-02 + 2.62724196020118e-03 2.93549389020465e-02 + 2.91648689302494e-03 3.18391846846877e-02 + 3.26567801006735e-03 3.44260562888045e-02 + 3.69271480899907e-03 3.71169314811658e-02 + 4.15576709369988e-03 3.99195520710740e-02 + 4.62625050781294e-03 4.28408831375476e-02 + 5.14718415377913e-03 4.58792458332846e-02 + 5.77586679156240e-03 4.90292887595859e-02 + 6.51300305950729e-03 5.22956225304685e-02 + 7.33830622035242e-03 5.56814772374503e-02 + 8.27621394550688e-03 5.91927037466592e-02 + 9.35604653182834e-03 6.28266444048531e-02 + 1.05707022112843e-02 6.65854269588876e-02 + 1.19282421838992e-02 7.04731984921681e-02 + 1.34440856174411e-02 7.44883120479972e-02 + 1.50812710794436e-02 7.86437888570169e-02 + 1.68611563600613e-02 8.29351506371541e-02 + 1.88295932846709e-02 8.73529645034632e-02 + 2.10071486720956e-02 9.18922937287293e-02 + 2.33301312650301e-02 9.65791626783734e-02 + 2.58450966212236e-02 1.01398871560712e-01 + 2.86296910087908e-02 1.06325987984781e-01 + 3.17031118244857e-02 1.11352360006393e-01 + 3.50447295975912e-02 1.16487491286475e-01 + 3.86791840896525e-02 1.21718856824539e-01 + 4.25886351089804e-02 1.27056966904545e-01 + 4.68403663388800e-02 1.32466057164540e-01 + 5.14771110910710e-02 1.37919731415171e-01 + 5.64706889154840e-02 1.43431163109616e-01 + 6.18276138879621e-02 1.48994560663913e-01 + 6.75935808502593e-02 1.54579109904917e-01 + 7.37981276429057e-02 1.60159783340596e-01 + 8.04669469019476e-02 1.65707066793427e-01 + 8.76205622205246e-02 1.71193865571847e-01 + 9.52882446049826e-02 1.76583361938397e-01 + 1.03407890211844e-01 1.81939396877310e-01 + 1.12095568124396e-01 1.87110187310814e-01 + 1.21260703453365e-01 1.92208177595947e-01 + 1.30977793285880e-01 1.97595036226115e-01 + 1.41223082023593e-01 2.02826723508190e-01 + 1.52030163683463e-01 2.07687481305033e-01 + 1.63370961888235e-01 2.12270496676546e-01 + 1.75260124055786e-01 2.16559677991882e-01 + 1.87710976474859e-01 2.20516454052570e-01 + 2.00735532928886e-01 2.24079082778616e-01 + 2.14318521810095e-01 2.27258775216194e-01 + 2.28442102766429e-01 2.30074271835432e-01 + 2.43099898227201e-01 2.32507848690467e-01 + 2.58291626392007e-01 2.34519106222378e-01 + 2.74000673061783e-01 2.36115211052070e-01 + 2.90226918370717e-01 2.37236869208110e-01 + 3.06946649593385e-01 2.37961642608874e-01 + 3.24157495235082e-01 2.38100760965162e-01 + 3.41840095169005e-01 2.37744941378091e-01 + 3.59991575578808e-01 2.37085874912214e-01 + 3.78572722909291e-01 2.35662124166498e-01 + 3.97601570515030e-01 2.33909657217884e-01 + 4.17045941396206e-01 2.31611527609804e-01 + 4.36887459877591e-01 2.28775507896640e-01 + 4.57110551645779e-01 2.25393039142808e-01 + 4.77500562687438e-01 2.21532152991484e-01 + 4.98045986283355e-01 2.17089957767898e-01 + 5.18943945591719e-01 2.12153237992339e-01 + 5.40158604865076e-01 2.06620821833843e-01 + 5.61709152880037e-01 2.00663036656115e-01 + 5.83561155582789e-01 1.94212835604329e-01 + 6.05712363627537e-01 1.87316355979470e-01 + 6.28150700503379e-01 1.80008601038694e-01 + 6.50813932385142e-01 1.72131031128422e-01 + 6.73747739165066e-01 1.63919240427144e-01 + 6.96855670314327e-01 1.55129300183976e-01 + 7.20186974564736e-01 1.45990847290388e-01 + 7.43703231915542e-01 1.36459335239714e-01 + 7.67371460256942e-01 1.26508445030746e-01 + 7.91142314551672e-01 1.16082723019247e-01 + 8.15057229103983e-01 1.05359815921843e-01 + 8.39069378083978e-01 9.42866163303158e-02 + 8.63088725121666e-01 8.27135535667870e-02 + 8.87209541825775e-01 7.09271129122314e-02 + 9.11364584609546e-01 5.88247090497486e-02 + 9.35572709644521e-01 4.64753781469346e-02 + 9.59705258308737e-01 3.36031456682403e-02 + 9.83787091325082e-01 2.01066682923067e-02 + 1.00000000000000e+00 1.44711077669299e-03 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF09_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF09_Coords.txt new file mode 100644 index 0000000..05cc397 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF09_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.284198 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 1.62195843969083e-05 + 9.77407510358482e-01 -6.89879250350199e-03 + 9.50579531463591e-01 -9.59690463596468e-03 + 9.24299887961795e-01 -1.52386252896518e-02 + 8.98410419588860e-01 -2.11832881080788e-02 + 8.72926901501644e-01 -2.89401312101402e-02 + 8.47869982550045e-01 -3.81051033487883e-02 + 8.23259826829256e-01 -4.83025839964879e-02 + 7.99056530928414e-01 -5.90881412538259e-02 + 7.75312979461208e-01 -7.04438973672509e-02 + 7.51959967612238e-01 -8.20265716908182e-02 + 7.29004064520639e-01 -9.37541639211196e-02 + 7.06403946536841e-01 -1.05440040987563e-01 + 6.84103092561771e-01 -1.16856276366701e-01 + 6.62090934936827e-01 -1.27957160088349e-01 + 6.40335157072620e-01 -1.38612918317277e-01 + 6.18813862414738e-01 -1.48728632826798e-01 + 5.97524364914802e-01 -1.58265048373630e-01 + 5.76467465075839e-01 -1.67191354404055e-01 + 5.55656853320725e-01 -1.75514429494022e-01 + 5.35086798239402e-01 -1.83143303315382e-01 + 5.14479090840887e-01 -1.90025876783512e-01 + 4.93629781672966e-01 -1.96291322036413e-01 + 4.73014529311592e-01 -2.01734634375221e-01 + 4.52734075186760e-01 -2.06591603527540e-01 + 4.32744668343937e-01 -2.10615554245343e-01 + 4.13111055218774e-01 -2.13940331775949e-01 + 3.93864606345434e-01 -2.16621071318235e-01 + 3.75023202995159e-01 -2.18638394738216e-01 + 3.56604992063525e-01 -2.19940592507563e-01 + 3.38641741948980e-01 -2.20767549100576e-01 + 3.21147875599871e-01 -2.20890760222882e-01 + 3.04138656701537e-01 -2.20518399720337e-01 + 2.87625730489153e-01 -2.19652399283124e-01 + 2.71621914805498e-01 -2.18324493186577e-01 + 2.56148443483653e-01 -2.16457516654865e-01 + 2.41204792428903e-01 -2.14157486998654e-01 + 2.26777950712619e-01 -2.11476726530899e-01 + 2.12892791869633e-01 -2.08379580451448e-01 + 1.99552538923271e-01 -2.04863604039747e-01 + 1.86734343394787e-01 -2.00981670145430e-01 + 1.74483522360620e-01 -1.96614581903233e-01 + 1.62731004558389e-01 -1.91822749156588e-01 + 1.51539709924728e-01 -1.86342104143746e-01 + 1.40854580003444e-01 -1.79907265472573e-01 + 1.30696673805066e-01 -1.75936367665495e-01 + 1.21076113982988e-01 -1.71816942561717e-01 + 1.11925945332038e-01 -1.67589379872506e-01 + 1.03318126619621e-01 -1.63204442548710e-01 + 9.51755855107376e-02 -1.58735759652885e-01 + 8.75368534332735e-02 -1.54167018294129e-01 + 8.03756464339155e-02 -1.49520621724145e-01 + 7.36468541398249e-02 -1.44831248775031e-01 + 6.74026400570680e-02 -1.40074231954954e-01 + 6.15531967338298e-02 -1.35303768609551e-01 + 5.60892484660989e-02 -1.30529422245155e-01 + 5.10157498082077e-02 -1.25752566775409e-01 + 4.62811181341867e-02 -1.21001202429783e-01 + 4.19819300730577e-02 -1.16247183331380e-01 + 3.79996331761226e-02 -1.11540958760378e-01 + 3.42669001691426e-02 -1.06907029785303e-01 + 3.09199260837613e-02 -1.02313605130518e-01 + 2.78626123896833e-02 -9.77898069477666e-02 + 2.50671936475472e-02 -9.33447917153188e-02 + 2.24951839585008e-02 -8.89878613981139e-02 + 2.01081686133530e-02 -8.47291030140667e-02 + 1.79723483681819e-02 -8.05561595767304e-02 + 1.60210559072156e-02 -7.64843394661920e-02 + 1.42269331253029e-02 -7.25186833169075e-02 + 1.25859475810720e-02 -6.86652262850003e-02 + 1.11264412049560e-02 -6.49238337307104e-02 + 9.80846747596467e-03 -6.12993307855888e-02 + 8.62907897593538e-03 -5.77900423825828e-02 + 7.58547597163595e-03 -5.43959125671759e-02 + 6.65857694714438e-03 -5.11184771085131e-02 + 5.83700077415027e-03 -4.79515471991904e-02 + 5.13015738742514e-03 -4.48890757936364e-02 + 4.50809184571025e-03 -4.19358934107907e-02 + 3.93188460658858e-03 -3.90917672918532e-02 + 3.41472931668258e-03 -3.63518051844962e-02 + 2.99573046533764e-03 -3.37126761321903e-02 + 2.64341154706281e-03 -3.11722915117901e-02 + 2.31824286073284e-03 -2.87345304643879e-02 + 2.00116593455437e-03 -2.63968869234282e-02 + 1.70696937563476e-03 -2.41564128131583e-02 + 1.45111983565715e-03 -2.20104844247651e-02 + 1.22844116268453e-03 -1.99543909292746e-02 + 1.02803872524976e-03 -1.79844350951338e-02 + 8.39103086092927e-04 -1.60973014213624e-02 + 6.76603405933668e-04 -1.42894293772034e-02 + 5.56011834816657e-04 -1.25571343170637e-02 + 4.60210222769487e-04 -1.08977558355932e-02 + 3.67423193187411e-04 -9.30935783280985e-03 + 2.47094865824333e-04 -7.78961877215540e-03 + 1.29328954129212e-04 -6.33565308992131e-03 + 9.17900398914610e-05 -4.94368522445662e-03 + 6.24052555271133e-05 -3.61170646237007e-03 + 3.94093261987111e-05 -2.33739051620097e-03 + 2.31736535208528e-05 -1.11890354943918e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 3.08641475100311e-05 1.20471951894990e-03 + 8.74955503572865e-05 2.42905728782988e-03 + 1.75820019527608e-04 3.69955376960960e-03 + 2.86210709119903e-04 5.02675797011574e-03 + 3.71494894764991e-04 6.41420311660394e-03 + 4.48463361460094e-04 7.86395598103437e-03 + 5.31892996040304e-04 9.37775463395498e-03 + 6.40011837937825e-04 1.09578240732020e-02 + 7.96773901194372e-04 1.26061501382512e-02 + 9.79733615862334e-04 1.43257650805626e-02 + 1.16048522745519e-03 1.61206688125806e-02 + 1.35257792812762e-03 1.79935645824952e-02 + 1.57613645151045e-03 1.99464585605897e-02 + 1.84370910743614e-03 2.19840846719618e-02 + 2.13136107186253e-03 2.41130056356185e-02 + 2.40984042716257e-03 2.63374953666710e-02 + 2.68446067273875e-03 2.86592895364291e-02 + 2.98285117621209e-03 3.10804488615690e-02 + 3.33870450534456e-03 3.36026208549216e-02 + 3.77192554117155e-03 3.62242413182940e-02 + 4.25040125869453e-03 3.89504407937065e-02 + 4.74787558803327e-03 4.17848457232349e-02 + 5.30424619288858e-03 4.47276872421534e-02 + 5.97077847300563e-03 4.77734338815047e-02 + 6.75079938648122e-03 5.09244042642218e-02 + 7.62795322797405e-03 5.41806945331071e-02 + 8.61706522808232e-03 5.75558044829399e-02 + 9.74490884463755e-03 6.10480812223277e-02 + 1.10093972455614e-02 6.46554450105531e-02 + 1.24162476607062e-02 6.83835479087335e-02 + 1.39807599561416e-02 7.22306007638934e-02 + 1.56740580783453e-02 7.62004220302277e-02 + 1.75182551311793e-02 8.02861742145497e-02 + 1.95544954001481e-02 8.44806566057711e-02 + 2.18016450267102e-02 8.87804597252288e-02 + 2.42074049976234e-02 9.31955562240813e-02 + 2.68139278186802e-02 9.77150542687774e-02 + 2.96898179542242e-02 1.02322135869572e-01 + 3.28534810510792e-02 1.07008652055331e-01 + 3.62887357285033e-02 1.11776660918911e-01 + 4.00199094451659e-02 1.16611007693514e-01 + 4.40342590460324e-02 1.21509907971669e-01 + 4.83907658992928e-02 1.26450433468249e-01 + 5.31282414043159e-02 1.31410583505854e-01 + 5.82256830108872e-02 1.36385063874530e-01 + 6.36901175349029e-02 1.41364427723084e-01 + 6.95615785671373e-02 1.46326894412324e-01 + 7.58660458009190e-02 1.51254811201447e-01 + 8.26281226120551e-02 1.56116469927231e-01 + 8.98665414734444e-02 1.60888230586514e-01 + 9.76064966684654e-02 1.65545565656780e-01 + 1.05795561551837e-01 1.70118251036833e-01 + 1.14533340090233e-01 1.74514416638718e-01 + 1.23743468163855e-01 1.78787261839234e-01 + 1.33490263977937e-01 1.84720540448506e-01 + 1.43753920237499e-01 1.90511563717529e-01 + 1.54563028370506e-01 1.95548823512244e-01 + 1.65893528005346e-01 2.00079860084750e-01 + 1.77757851427023e-01 2.04180768549493e-01 + 1.90167093999380e-01 2.07868602964687e-01 + 2.03131037499484e-01 2.11126187218336e-01 + 2.16636115434812e-01 2.13978206993377e-01 + 2.30666874909299e-01 2.16442174190905e-01 + 2.45217484727854e-01 2.18507881403688e-01 + 2.60287390228070e-01 2.20167076075760e-01 + 2.75862071224997e-01 2.21407574173492e-01 + 2.91941095190666e-01 2.22195169454992e-01 + 3.08503840901232e-01 2.22584189906125e-01 + 3.25547783342868e-01 2.22439188167366e-01 + 3.43056011378621e-01 2.21825155573841e-01 + 3.61025765347265e-01 2.20881943472828e-01 + 3.79422798279764e-01 2.19283099269151e-01 + 3.98261978895168e-01 2.17333215587219e-01 + 4.17515230361685e-01 2.14883379896854e-01 + 4.37166189926108e-01 2.11942748557907e-01 + 4.57200883063948e-01 2.08509417816514e-01 + 4.77235195822176e-01 2.04630338023815e-01 + 4.97280402772600e-01 2.00240382825237e-01 + 5.17688944196930e-01 1.95405392254060e-01 + 5.38439291844714e-01 1.90057629761052e-01 + 5.59538089176881e-01 1.84328014720960e-01 + 5.80962380734809e-01 1.78167256832218e-01 + 6.02707361763716e-01 1.71617349357548e-01 + 6.24761576085528e-01 1.64708529919546e-01 + 6.47087295250095e-01 1.57329568881198e-01 + 6.69703745958055e-01 1.49660259550729e-01 + 6.92553256948152e-01 1.41526412915477e-01 + 7.15653666990480e-01 1.33094919261261e-01 + 7.38977778504197e-01 1.24339060274674e-01 + 7.62501518395754e-01 1.15248255346442e-01 + 7.86190132465406e-01 1.05785393998906e-01 + 8.10057398659226e-01 9.60807057347494e-02 + 8.34070897255521e-01 8.61023824461444e-02 + 8.58174369128095e-01 7.57516840956031e-02 + 8.82412518546861e-01 6.52388172535362e-02 + 9.06741690193597e-01 5.44871930980383e-02 + 9.31175716009802e-01 4.35617251144147e-02 + 9.55643296907869e-01 3.22181810030390e-02 + 9.80193726831070e-01 2.02005644230895e-02 + 1.00000000000000e+00 5.97937973842799e-03 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF10_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF10_Coords.txt new file mode 100644 index 0000000..67b2a88 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF10_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.267063 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -2.64022008284388e-04 + 9.75314165440816e-01 -4.15659350070438e-03 + 9.48992367308834e-01 -5.72471880436165e-03 + 9.22946273092978e-01 -1.01041592803161e-02 + 8.97096335803002e-01 -1.39118271223155e-02 + 8.71533944214959e-01 -1.96481247334922e-02 + 8.46342823587631e-01 -2.70169397728042e-02 + 8.21577912127079e-01 -3.56330826798859e-02 + 7.97240660024750e-01 -4.50546340754459e-02 + 7.73360302559136e-01 -5.51550915061807e-02 + 7.49923031965700e-01 -6.56884774281976e-02 + 7.26932205273799e-01 -7.65378450546072e-02 + 7.04350857457473e-01 -8.74969127441360e-02 + 6.82139237816719e-01 -9.83606166878958e-02 + 6.60265623585798e-01 -1.09025265250036e-01 + 6.38697836241192e-01 -1.19363744795006e-01 + 6.17409982052701e-01 -1.29275866739874e-01 + 5.96387495620610e-01 -1.38700621364937e-01 + 5.75621663219321e-01 -1.47589595259469e-01 + 5.55116975630273e-01 -1.55932605510717e-01 + 5.34868930696306e-01 -1.63656891284479e-01 + 5.14618143302812e-01 -1.70720484085818e-01 + 4.94163452121182e-01 -1.77192790859660e-01 + 4.73960501456667e-01 -1.82947993714334e-01 + 4.54082360094970e-01 -1.88114171594778e-01 + 4.34501029315174e-01 -1.92539145455083e-01 + 4.15263013092456e-01 -1.96282966769031e-01 + 3.96395248373062e-01 -1.99378287163404e-01 + 3.77916561686694e-01 -2.01828081009607e-01 + 3.59844970796224e-01 -2.03611499682141e-01 + 3.42207394421086e-01 -2.04877515460253e-01 + 3.25018029605297e-01 -2.05501692420878e-01 + 3.08291284380375e-01 -2.05613049256416e-01 + 2.92038684457644e-01 -2.05222861529317e-01 + 2.76271929529623e-01 -2.04349882990823e-01 + 2.61007954738775e-01 -2.02980190202303e-01 + 2.46248466620109e-01 -2.01150116196728e-01 + 2.31986279137067e-01 -1.98901914560702e-01 + 2.18239457782162e-01 -1.96222522570733e-01 + 2.05010852245312e-01 -1.93105777996257e-01 + 1.92284891723442e-01 -1.89570264570799e-01 + 1.80092043222997e-01 -1.85530704821770e-01 + 1.68384582367433e-01 -1.80956941740671e-01 + 1.57204206799998e-01 -1.75599473827331e-01 + 1.46511642215086e-01 -1.69049164444633e-01 + 1.36321659055708e-01 -1.65679726862258e-01 + 1.26638936289880e-01 -1.62170546266886e-01 + 1.17415806397828e-01 -1.58520222123945e-01 + 1.08699966191808e-01 -1.54718060955865e-01 + 1.00435573210990e-01 -1.50806349701338e-01 + 9.26465041938430e-02 -1.46789405361585e-01 + 8.53137021020124e-02 -1.42678454166686e-01 + 7.84041652299809e-02 -1.38494157804715e-01 + 7.19521010437275e-02 -1.34232464767048e-01 + 6.58936105173230e-02 -1.29921241691484e-01 + 6.02194067766647e-02 -1.25573171568202e-01 + 5.49305463905184e-02 -1.21195383950507e-01 + 4.99880893527290e-02 -1.16807668888316e-01 + 4.54538455924565e-02 -1.12410999894472e-01 + 4.12423125802387e-02 -1.08032741747368e-01 + 3.73030852628075e-02 -1.03689789994776e-01 + 3.37240030911045e-02 -9.93815891133935e-02 + 3.04361529509067e-02 -9.51227237687866e-02 + 2.74177594632330e-02 -9.09199518100021e-02 + 2.46391498156177e-02 -8.67807698983257e-02 + 2.20703077488647e-02 -8.27132346974678e-02 + 1.97527978152418e-02 -7.87178443156007e-02 + 1.76365991643577e-02 -7.48044253719530e-02 + 1.56987756971577e-02 -7.09782885543782e-02 + 1.39290871904571e-02 -6.72499316457719e-02 + 1.23382839575353e-02 -6.36270011525819e-02 + 1.08958183806910e-02 -6.01116413414340e-02 + 9.59647858531127e-03 -5.67032651340377e-02 + 8.43354438980987e-03 -5.34040125610418e-02 + 7.39019216842355e-03 -5.02149191112320e-02 + 6.46204525599119e-03 -4.71287004686336e-02 + 5.65683711776247e-03 -4.41387231860371e-02 + 4.94596586346279e-03 -4.12520567413028e-02 + 4.30184721652829e-03 -3.84667432068594e-02 + 3.73170915571672e-03 -3.57790619065800e-02 + 3.26349629131827e-03 -3.31882451713319e-02 + 2.86939107066213e-03 -3.06921914723134e-02 + 2.51436052191395e-03 -2.82953242786195e-02 + 2.18194598432675e-03 -2.59948502758648e-02 + 1.87606654632083e-03 -2.37893523457293e-02 + 1.60226426559060e-03 -2.16775369414381e-02 + 1.35855407108328e-03 -1.96544160130202e-02 + 1.14044650414920e-03 -1.77156836206926e-02 + 9.38913521582192e-04 -1.58578612252730e-02 + 7.65388812191758e-04 -1.40777809805271e-02 + 6.29792544721518e-04 -1.23721206704647e-02 + 5.19155383855509e-04 -1.07381871998821e-02 + 4.20050214518891e-04 -9.17369768244726e-03 + 3.08842109643271e-04 -7.67591116127849e-03 + 2.03548566673762e-04 -6.24254977003886e-03 + 1.54402849981552e-04 -4.87105157695334e-03 + 1.12135412904639e-04 -3.55906288759348e-03 + 7.54855334084817e-05 -2.30400224210194e-03 + 4.43934809434575e-05 -1.10386093790631e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 4.42170474756748e-05 1.18419477858646e-03 + 1.06669518335192e-04 2.38988097039190e-03 + 1.92573988309820e-04 3.64187210844012e-03 + 2.96155390495556e-04 4.94981062385677e-03 + 3.83808740629651e-04 6.31664260273635e-03 + 4.68189422258695e-04 7.74447548335602e-03 + 5.61764413793201e-04 9.23517901177839e-03 + 6.78410112062381e-04 1.07913804669264e-02 + 8.35585920176786e-04 1.24151255039165e-02 + 1.01981021511316e-03 1.41086926647892e-02 + 1.21243550658175e-03 1.58755345580624e-02 + 1.42063094339022e-03 1.77185699767876e-02 + 1.66090167330500e-03 1.96402128085909e-02 + 1.93632509926772e-03 2.16460573600570e-02 + 2.22371925426716e-03 2.37426566221394e-02 + 2.50595896558280e-03 2.59330171246573e-02 + 2.79351880268129e-03 2.82179644985665e-02 + 3.10932270143060e-03 3.06003032430885e-02 + 3.47790741779206e-03 3.30826324911241e-02 + 3.92296224326375e-03 3.56615456279361e-02 + 4.43073649141047e-03 3.83405269742263e-02 + 4.97930575292213e-03 4.11210908215566e-02 + 5.60256030132544e-03 4.40046404993352e-02 + 6.34037224406873e-03 4.69855045977088e-02 + 7.20095781724174e-03 5.00645258327578e-02 + 8.17521871733625e-03 5.32397727348637e-02 + 9.26008490070183e-03 5.65295409662762e-02 + 1.04776835025571e-02 5.99327967043709e-02 + 1.18352386974614e-02 6.34447504810669e-02 + 1.33341604238162e-02 6.70719735750422e-02 + 1.49895475782654e-02 7.08125502815241e-02 + 1.67873808825814e-02 7.46643165517180e-02 + 1.87511000709256e-02 7.86188084165206e-02 + 2.09131718265327e-02 8.26701432465321e-02 + 2.32893404002362e-02 8.68157836591675e-02 + 2.58480524741130e-02 9.10550530499284e-02 + 2.86233137469296e-02 9.53792804897439e-02 + 3.16672496686923e-02 9.97771047881878e-02 + 3.49968530242806e-02 1.04240176839443e-01 + 3.86039926457908e-02 1.08765363734988e-01 + 4.25123979562766e-02 1.13335421195235e-01 + 4.67184464327976e-02 1.17939842424948e-01 + 5.12661384756613e-02 1.22563933282999e-01 + 5.61872625417274e-02 1.27188321683129e-01 + 6.14736614561100e-02 1.31794524334357e-01 + 6.71332268726077e-02 1.36369821874653e-01 + 7.31958695953968e-02 1.40898062593995e-01 + 7.96812530606106e-02 1.45366142429055e-01 + 8.66120690780720e-02 1.49740288189222e-01 + 9.40039050416355e-02 1.53998710546857e-01 + 1.01874779831195e-01 1.58125391175937e-01 + 1.10189417817408e-01 1.62124367594469e-01 + 1.19018329562530e-01 1.65947660435021e-01 + 1.28310282975686e-01 1.69603719884127e-01 + 1.38111616654567e-01 1.75415883047720e-01 + 1.48409494454472e-01 1.81072250461805e-01 + 1.59223657541248e-01 1.85824169129586e-01 + 1.70537115546503e-01 1.89967938924910e-01 + 1.82358343822859e-01 1.93617148282486e-01 + 1.94694423733888e-01 1.96816373910881e-01 + 2.07551078982494e-01 1.99575134176103e-01 + 2.20917630344548e-01 2.01924429563003e-01 + 2.34782720046237e-01 2.03874832617777e-01 + 2.49141328491658e-01 2.05421696151759e-01 + 2.63992225052817e-01 2.06581383763856e-01 + 2.79324435585344e-01 2.07326176665495e-01 + 2.95136737337489e-01 2.07643562413973e-01 + 3.11413860468552e-01 2.07565545337068e-01 + 3.28152761487213e-01 2.07011072716328e-01 + 3.45340742173231e-01 2.06019064378949e-01 + 3.62974990434505e-01 2.04674853101145e-01 + 3.81030186085331e-01 2.02792501994474e-01 + 3.99515088198649e-01 2.00540833531231e-01 + 4.18408992478983e-01 1.97841982520619e-01 + 4.37699105299070e-01 1.94706186720648e-01 + 4.57374291638498e-01 1.91138375960042e-01 + 4.77076004765730e-01 1.87164876062057e-01 + 4.96818154135232e-01 1.82759035382874e-01 + 5.16926365048355e-01 1.77965105507165e-01 + 5.37388164381310e-01 1.72751492795021e-01 + 5.58202634106987e-01 1.67204287455724e-01 + 5.79354173325763e-01 1.61295554043650e-01 + 6.00836518866323e-01 1.55061267880857e-01 + 6.22638684822529e-01 1.48525360429214e-01 + 6.44739122015505e-01 1.41630459375097e-01 + 6.67139813458437e-01 1.34492460266520e-01 + 6.89809055669925e-01 1.27016018780361e-01 + 7.12743756048402e-01 1.19298582006118e-01 + 7.35924148916157e-01 1.11333080560149e-01 + 7.59332208333489e-01 1.03125420400649e-01 + 7.82943370275724e-01 9.46602525612134e-02 + 8.06751528970084e-01 8.60153882039510e-02 + 8.30733626357925e-01 7.71830433379566e-02 + 8.54857204166652e-01 6.81212653455516e-02 + 8.79128352859622e-01 5.89548199009361e-02 + 9.03516437903694e-01 4.96406990261466e-02 + 9.28022083295763e-01 4.02393127605285e-02 + 9.52597893735403e-01 3.05689361633640e-02 + 9.77237483922068e-01 2.02783577221102e-02 + 1.00000000000000e+00 1.02901147494315e-02 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF11_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF11_Coords.txt new file mode 100644 index 0000000..59fd5cc --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF11_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.254778 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -6.06361831630199e-04 + 9.74278536069251e-01 -1.89392613376563e-03 + 9.48251352965938e-01 -3.80912663943441e-03 + 9.22331013146299e-01 -6.53041529367676e-03 + 8.96506103515080e-01 -8.61512875342120e-03 + 8.70911418779128e-01 -1.25264665439243e-02 + 8.45661797425891e-01 -1.80925531171881e-02 + 8.20828608204991e-01 -2.49958988510343e-02 + 7.96432398643363e-01 -3.28531875559161e-02 + 7.72491557953140e-01 -4.14845304915539e-02 + 7.49017682084612e-01 -5.07152025304428e-02 + 7.26012589733502e-01 -6.04144500502849e-02 + 7.03441213085216e-01 -7.03738496812846e-02 + 6.81271263587267e-01 -8.04157649182165e-02 + 6.59461170372151e-01 -9.03966164928008e-02 + 6.37978589498935e-01 -1.00191143396660e-01 + 6.16795555863364e-01 -1.09693981605727e-01 + 5.95891926942188e-01 -1.18825923201106e-01 + 5.75254548364808e-01 -1.27523168932452e-01 + 5.54883691969404e-01 -1.35757355932793e-01 + 5.34775235825715e-01 -1.43468741716650e-01 + 5.14791769889276e-01 -1.50621850496005e-01 + 4.94827941079654e-01 -1.57233813440814e-01 + 4.75135072237988e-01 -1.63243027794785e-01 + 4.55752196517369e-01 -1.68687550485718e-01 + 4.36670953950430e-01 -1.73493458286081e-01 + 4.17915739337964e-01 -1.77658567133965e-01 + 3.99508443100073e-01 -1.81197030160046e-01 + 3.81469347867722e-01 -1.84127305083245e-01 + 3.63816565471127e-01 -1.86453747741967e-01 + 3.46571403522567e-01 -1.88248905312736e-01 + 3.29748007566493e-01 -1.89474626835771e-01 + 3.13359945540706e-01 -1.90194435953984e-01 + 2.97418761680899e-01 -1.90428555836792e-01 + 2.81934960691538e-01 -1.90187450828064e-01 + 2.66920507901980e-01 -1.89506226836149e-01 + 2.52379874024997e-01 -1.88372435743680e-01 + 2.38312861468895e-01 -1.86827303011689e-01 + 2.24729562393923e-01 -1.84882012337826e-01 + 2.11632474283854e-01 -1.82541169513418e-01 + 1.99014668970733e-01 -1.79817852978780e-01 + 1.86889196834034e-01 -1.76683152213259e-01 + 1.75233503004511e-01 -1.73104663061739e-01 + 1.64064382353605e-01 -1.68951985291097e-01 + 1.53361153742650e-01 -1.63963031933848e-01 + 1.43131228953169e-01 -1.60908023100952e-01 + 1.33372928966876e-01 -1.57697529802988e-01 + 1.24061245993845e-01 -1.54328424911432e-01 + 1.15215413406158e-01 -1.50808920399208e-01 + 1.06804515275880e-01 -1.47166097983636e-01 + 9.88352199121832e-02 -1.43414347846500e-01 + 9.12969324190772e-02 -1.39559558993767e-01 + 8.41708675390898e-02 -1.35615751633397e-01 + 7.74700784569334e-02 -1.31588862787782e-01 + 7.11611432254163e-02 -1.27494299638386e-01 + 6.52347805282373e-02 -1.23346416878005e-01 + 5.96874504777834e-02 -1.19155213714771e-01 + 5.44951775529585e-02 -1.14936773375945e-01 + 4.96786137061151e-02 -1.10705813969592e-01 + 4.51913616455413e-02 -1.06478996387831e-01 + 4.10031798003041e-02 -1.02269831238595e-01 + 3.71444474298232e-02 -9.80923335089881e-02 + 3.35785205966771e-02 -9.39544178827157e-02 + 3.02907787596283e-02 -8.98618320451831e-02 + 2.72621362355483e-02 -8.58213385370469e-02 + 2.44727402820540e-02 -8.18401678190150e-02 + 2.19346798916084e-02 -7.79247397571294e-02 + 1.96179534585171e-02 -7.40824447880348e-02 + 1.75050323203841e-02 -7.03187760397136e-02 + 1.55782750801587e-02 -6.66462900934006e-02 + 1.38272398881096e-02 -6.30761645748033e-02 + 1.22327190127818e-02 -5.96093555593383e-02 + 1.07867702398459e-02 -5.62457824942399e-02 + 9.47791809679651e-03 -5.29885829393799e-02 + 8.29205503299499e-03 -4.98385791937578e-02 + 7.23331028735283e-03 -4.67880116231370e-02 + 6.30739966627680e-03 -4.38299997336177e-02 + 5.48739992868906e-03 -4.09726189672118e-02 + 4.75964797081462e-03 -3.82131555632537e-02 + 4.12414540144204e-03 -3.55484177523564e-02 + 3.59518234768378e-03 -3.29787789608999e-02 + 3.14944293267143e-03 -3.05021359376242e-02 + 2.75743938676804e-03 -2.81231557800418e-02 + 2.40591526464724e-03 -2.58389206609114e-02 + 2.08541820453153e-03 -2.36486917648820e-02 + 1.78931769601096e-03 -2.15517635826078e-02 + 1.51955566060929e-03 -1.95430259560952e-02 + 1.27949483807717e-03 -1.76179052706907e-02 + 1.06227835084977e-03 -1.57728520219150e-02 + 8.75008851145894e-04 -1.40048718914509e-02 + 7.20833723055955e-04 -1.23108028286698e-02 + 5.91863407807092e-04 -1.06879377535949e-02 + 4.84809051143090e-04 -9.13384125749992e-03 + 3.84150153887967e-04 -7.64558753567868e-03 + 2.92598631592754e-04 -6.22116585632337e-03 + 2.28616918482540e-04 -4.85854838387978e-03 + 1.69527334506004e-04 -3.55522775495600e-03 + 1.15343437201459e-04 -2.30850438926194e-03 + 6.40853307618280e-05 -1.11626383656354e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 5.76891617590133e-05 1.15929273569901e-03 + 1.28999222654755e-04 2.35379182333715e-03 + 2.12889370492022e-04 3.59777845460044e-03 + 3.08455334816119e-04 4.89737115405152e-03 + 3.99071524053234e-04 6.25526508944754e-03 + 4.92623224024700e-04 7.67358625743055e-03 + 5.98730681328278e-04 9.15426207279856e-03 + 7.25935767997523e-04 1.07000958816039e-02 + 8.83716657239656e-04 1.23131598468791e-02 + 1.06957668891299e-03 1.39954021492401e-02 + 1.27693034778951e-03 1.57500345090707e-02 + 1.50508086699082e-03 1.75800691661828e-02 + 1.76606536651783e-03 1.94880983876216e-02 + 2.05129587044288e-03 2.14800941784728e-02 + 2.33848598078314e-03 2.35626051697301e-02 + 2.62547033268136e-03 2.57380800067249e-02 + 2.92912970289574e-03 2.80069423224925e-02 + 3.26657398496476e-03 3.03723224708589e-02 + 3.65101343408131e-03 3.28372383424330e-02 + 4.11081635888140e-03 3.53974695025932e-02 + 4.65495288910880e-03 3.80557701168764e-02 + 5.26680980715727e-03 4.08127156530690e-02 + 5.97276628754611e-03 4.36702206346010e-02 + 6.79860242916189e-03 4.66225443699478e-02 + 7.75853705421612e-03 4.96698665055389e-02 + 8.85232969089665e-03 5.28093420928930e-02 + 1.00549597395166e-02 5.60613867585808e-02 + 1.13829240593524e-02 5.94252373364938e-02 + 1.28548495441767e-02 6.28948868849671e-02 + 1.44669036856529e-02 6.64773063147728e-02 + 1.62339541964692e-02 7.01705137145486e-02 + 1.81600634216163e-02 7.39696422298139e-02 + 2.02702406772728e-02 7.78654685002289e-02 + 2.25863712090676e-02 8.18526701708310e-02 + 2.51204019963045e-02 8.59290718924292e-02 + 2.78658908122036e-02 9.00891291116383e-02 + 3.08468868400612e-02 9.43251068706000e-02 + 3.40955588797172e-02 9.86280713597437e-02 + 3.76272110159563e-02 1.02989529553042e-01 + 4.14434192349486e-02 1.07403910437394e-01 + 4.55671673414173e-02 1.11852925117302e-01 + 5.00057530705212e-02 1.16321932892218e-01 + 5.47851457166408e-02 1.20799930485210e-01 + 5.99287212401606e-02 1.25268672781196e-01 + 6.54437033528984e-02 1.29703404445447e-01 + 7.13389794535980e-02 1.34089690324119e-01 + 7.76323458169338e-02 1.38413857286720e-01 + 8.43359415875986e-02 1.42664791300242e-01 + 9.14701981711527e-02 1.46807617095263e-01 + 9.90469825544403e-02 1.50821276830237e-01 + 1.07075812570713e-01 1.54693734090661e-01 + 1.15541822958995e-01 1.58416446712199e-01 + 1.24480968999126e-01 1.61962573211125e-01 + 1.33871885621891e-01 1.65318695765066e-01 + 1.43739561132494e-01 1.69952135710290e-01 + 1.54079435151275e-01 1.74387373067812e-01 + 1.64900728796265e-01 1.78148764277955e-01 + 1.76194828998984e-01 1.81415081282843e-01 + 1.87965478572159e-01 1.84252550420798e-01 + 2.00214936270883e-01 1.86686832644915e-01 + 2.12944018620522e-01 1.88726353941826e-01 + 2.26145379708362e-01 1.90393016406948e-01 + 2.39812431346897e-01 1.91686089948856e-01 + 2.53941000347870e-01 1.92599246402474e-01 + 2.68528905092843e-01 1.93161987963255e-01 + 2.83569265491997e-01 1.93335902254531e-01 + 2.99059738521432e-01 1.93122396930199e-01 + 3.14991325380560e-01 1.92536033846166e-01 + 3.31360177843205e-01 1.91538442916722e-01 + 3.48158514112255e-01 1.90148098527275e-01 + 3.65383265607967e-01 1.88405720198178e-01 + 3.83019830172293e-01 1.86235869048758e-01 + 4.01069314511624e-01 1.83702189876028e-01 + 4.19519868509432e-01 1.80781515771706e-01 + 4.38362947154427e-01 1.77484424567366e-01 + 4.57590797728996e-01 1.73819976593022e-01 + 4.77007610767745e-01 1.69800285851103e-01 + 4.96618700372647e-01 1.65425764810728e-01 + 5.16595946907312e-01 1.60724407831146e-01 + 5.36930903129103e-01 1.55691712165099e-01 + 5.57619392098088e-01 1.50376725752821e-01 + 5.78649107158277e-01 1.44769323689177e-01 + 6.00013179942024e-01 1.38898794674575e-01 + 6.21700854747208e-01 1.32782815425195e-01 + 6.43697957855788e-01 1.26406052375068e-01 + 6.65998669367578e-01 1.19832789216483e-01 + 6.88583218439319e-01 1.13028314692417e-01 + 7.11438920287149e-01 1.06036740798250e-01 + 7.34549402992518e-01 9.88649082631487e-02 + 7.57899440310709e-01 9.15292236458133e-02 + 7.81469258658692e-01 8.40306037200766e-02 + 8.05243264703293e-01 7.64075514381593e-02 + 8.29202628945360e-01 6.86696435731776e-02 + 8.53326133984823e-01 6.08151138861190e-02 + 8.77600732894501e-01 5.29050236940674e-02 + 9.02001061213473e-01 4.49248791079078e-02 + 9.26519143444913e-01 3.69319617997908e-02 + 9.51114839848502e-01 2.88383961758660e-02 + 9.75737662078090e-01 2.06840739247021e-02 + 1.00000000000000e+00 1.25843794464830e-02 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF12_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF12_Coords.txt new file mode 100644 index 0000000..4511cd1 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF12_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250001 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -8.99297851914681e-04 + 9.74055707406337e-01 -2.18231197182105e-03 + 9.48096572495894e-01 -3.41411061023963e-03 + 9.22204366620501e-01 -4.58505219979969e-03 + 8.96385418602361e-01 -5.55615520947839e-03 + 8.70784494659331e-01 -8.15264924489613e-03 + 8.45523117960116e-01 -1.23054777399751e-02 + 8.20676111012135e-01 -1.77935083100358e-02 + 7.96267986893872e-01 -2.43099942558164e-02 + 7.72314891143734e-01 -3.16678871778385e-02 + 7.48833674572419e-01 -3.97295363499704e-02 + 7.25825830235589e-01 -4.83662827826924e-02 + 7.03256671218029e-01 -5.73781505188297e-02 + 6.81095426578380e-01 -6.66103338641311e-02 + 6.59298471626911e-01 -7.58999750445917e-02 + 6.37833402197147e-01 -8.51225466486399e-02 + 6.16671797608682e-01 -9.41687092729788e-02 + 5.95792346957448e-01 -1.02947665179585e-01 + 5.75180968477634e-01 -1.11385420267809e-01 + 5.54837061277546e-01 -1.19439330511854e-01 + 5.34756561215672e-01 -1.27056288535923e-01 + 5.14942200407531e-01 -1.34203734250236e-01 + 4.95402749417922e-01 -1.40864012202764e-01 + 4.76149525856166e-01 -1.47015107922731e-01 + 4.57192324730041e-01 -1.52637755069115e-01 + 4.38539786560989e-01 -1.57707720736193e-01 + 4.20197474441086e-01 -1.62182517177215e-01 + 4.02183143271294e-01 -1.66064691581993e-01 + 3.84518470699951e-01 -1.69380487283873e-01 + 3.67221773583870e-01 -1.72150267344489e-01 + 3.50309713073458e-01 -1.74396789330015e-01 + 3.33796501653124e-01 -1.76137604022864e-01 + 3.17695089865643e-01 -1.77393967414418e-01 + 3.02017119167419e-01 -1.78192862363533e-01 + 2.86772156259859e-01 -1.78540833912021e-01 + 2.71968053037811e-01 -1.78502930517518e-01 + 2.57611664906648e-01 -1.78041106704089e-01 + 2.43708711307942e-01 -1.77200610060995e-01 + 2.30262631492946e-01 -1.76012682591138e-01 + 2.17275672927509e-01 -1.74498711834820e-01 + 2.04748180347900e-01 -1.72683938022583e-01 + 1.92678659012168e-01 -1.70597051815785e-01 + 1.81065642441903e-01 -1.68254563041228e-01 + 1.69905122003014e-01 -1.65680458753517e-01 + 1.59191985974834e-01 -1.62896324607437e-01 + 1.48927509348006e-01 -1.59930355022854e-01 + 1.39104717038827e-01 -1.56783789116353e-01 + 1.29717544889760e-01 -1.53474733078920e-01 + 1.20761451388408e-01 -1.50015449448059e-01 + 1.12226351615633e-01 -1.46429780019040e-01 + 1.04104531839088e-01 -1.42734268333693e-01 + 9.63924570254760e-02 -1.38933675297854e-01 + 8.90832222170918e-02 -1.35040623018826e-01 + 8.21721651846349e-02 -1.31063175468970e-01 + 7.56513630633733e-02 -1.27014118781535e-01 + 6.95115487895842e-02 -1.22908180872060e-01 + 6.37453310812134e-02 -1.18755980730567e-01 + 5.83413021644688e-02 -1.14572841426615e-01 + 5.32855447625140e-02 -1.10376368671079e-01 + 4.85644962965606e-02 -1.06180995807530e-01 + 4.41649173627987e-02 -1.01999544940423e-01 + 4.00688156620742e-02 -9.78490730619561e-02 + 3.62666946212887e-02 -9.37361147509143e-02 + 3.27499756182997e-02 -8.96662189458415e-02 + 2.95085438061577e-02 -8.56460069912596e-02 + 2.65311957978067e-02 -8.16825503685800e-02 + 2.38051051972881e-02 -7.77834969226222e-02 + 2.13172444045643e-02 -7.39557419814804e-02 + 1.90547145877206e-02 -7.02048230748701e-02 + 1.69936313516762e-02 -6.65437240588129e-02 + 1.51055661230311e-02 -6.29843487642342e-02 + 1.33809444939552e-02 -5.95274121676746e-02 + 1.18095056827517e-02 -5.61729393574743e-02 + 1.03757219288988e-02 -5.29242731567652e-02 + 9.06778895548024e-03 -4.97821936104355e-02 + 7.89708934348210e-03 -4.67388458390770e-02 + 6.86762739629727e-03 -4.37873007321140e-02 + 5.95392902103630e-03 -4.09358394579399e-02 + 5.15427996069541e-03 -3.81815959211022e-02 + 4.46252858322884e-03 -3.55214868093499e-02 + 3.88127030572688e-03 -3.29561176817632e-02 + 3.39105707747545e-03 -3.04833854078711e-02 + 2.96717183247041e-03 -2.81080067999491e-02 + 2.59911123713133e-03 -2.58270390948119e-02 + 2.26593496434532e-03 -2.36398810855611e-02 + 1.95057245079241e-03 -2.15459464058071e-02 + 1.65834014361333e-03 -1.95401002096773e-02 + 1.39933351949280e-03 -1.76177148163909e-02 + 1.16855108578612e-03 -1.57752264740965e-02 + 9.69383472722261e-04 -1.40096760149300e-02 + 7.99187348574367e-04 -1.23179338327911e-02 + 6.54425610861769e-04 -1.06972900692834e-02 + 5.40454979671935e-04 -9.14527850550096e-03 + 4.48530163902468e-04 -7.65893595165321e-03 + 3.67998627997102e-04 -6.23630562155651e-03 + 2.90996884868127e-04 -4.87546760752571e-03 + 2.16976283779821e-04 -3.57388327430895e-03 + 1.47366142814586e-04 -2.32882848231901e-03 + 7.78543515982383e-05 -1.13816400082587e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 6.78127517770530e-05 1.13806879874042e-03 + 1.47565943283697e-04 2.32712592022802e-03 + 2.30198285159976e-04 3.56951154667887e-03 + 3.19055240201138e-04 4.86743347754025e-03 + 4.12240668138527e-04 6.22353706135628e-03 + 5.13697434613150e-04 7.63995212338490e-03 + 6.30597521149958e-04 9.11861769878852e-03 + 7.66908908530203e-04 1.06623725976501e-02 + 9.25256842670760e-04 1.22732943614270e-02 + 1.11256152877042e-03 1.39532645705700e-02 + 1.33262866332125e-03 1.57054462643020e-02 + 1.57799503936499e-03 1.75328703986223e-02 + 1.85685160061415e-03 1.94381651623728e-02 + 2.15058105549821e-03 2.14273787730015e-02 + 2.43765140888875e-03 2.35070589711210e-02 + 2.72877038559482e-03 2.56795416515825e-02 + 3.04635067509301e-03 2.79451690349857e-02 + 3.40249455396159e-03 3.03071371482298e-02 + 3.80065016743841e-03 3.27685484987945e-02 + 4.27321730971548e-03 3.53250178426433e-02 + 4.84875125757424e-03 3.79791511252974e-02 + 5.51519325130986e-03 4.07313329985501e-02 + 6.29240997908412e-03 4.35835807327415e-02 + 7.19403708016141e-03 4.65301387243124e-02 + 8.23944450452626e-03 4.95710510239354e-02 + 9.43596749887555e-03 5.27032855836410e-02 + 1.07397581799275e-02 5.59476875359880e-02 + 1.21625182081359e-02 5.93035481965627e-02 + 1.37326457416068e-02 6.27646116430189e-02 + 1.54418319138108e-02 6.63379289616450e-02 + 1.73047536970423e-02 7.00215036166455e-02 + 1.93409124086817e-02 7.38099142863254e-02 + 2.15766352083030e-02 7.76937789888010e-02 + 2.40247623399470e-02 8.16678862422444e-02 + 2.66939996111258e-02 8.57301312773705e-02 + 2.95992775100505e-02 8.98739643525584e-02 + 3.27561233392282e-02 9.40918347407485e-02 + 3.61797152473266e-02 9.83753022210038e-02 + 3.98839307337048e-02 1.02715838067761e-01 + 4.38785893244411e-02 1.07107360382137e-01 + 4.81860293573214e-02 1.11531354359420e-01 + 5.28227834072468e-02 1.15972308943516e-01 + 5.77995250354641e-02 1.20419974649958e-01 + 6.31325141465980e-02 1.24856330563512e-01 + 6.88419819487181e-02 1.29255298497825e-01 + 7.49376378530768e-02 1.33602063922348e-01 + 8.14270361821848e-02 1.37883454732119e-01 + 8.83159723786126e-02 1.42088757637630e-01 + 9.56229806111189e-02 1.46182851763136e-01 + 1.03356804488914e-01 1.50144817252867e-01 + 1.11519818332756e-01 1.53963450441063e-01 + 1.20114354180333e-01 1.57627518689621e-01 + 1.29147285846097e-01 1.61114667892957e-01 + 1.38622392670227e-01 1.64406803564294e-01 + 1.48546697120415e-01 1.67491101076430e-01 + 1.58922601542521e-01 1.70328337196884e-01 + 1.69750469253406e-01 1.72895299872383e-01 + 1.81028727285701e-01 1.75181969815357e-01 + 1.92757118924613e-01 1.77168564278960e-01 + 2.04933816260549e-01 1.78838948215749e-01 + 2.17555461592526e-01 1.80184995573688e-01 + 2.30617465467296e-01 1.81212022700458e-01 + 2.44117205761035e-01 1.81908318363264e-01 + 2.58051161820726e-01 1.82261566882865e-01 + 2.72416276340340e-01 1.82305417547863e-01 + 2.87209054885467e-01 1.81995426373325e-01 + 3.02426119201637e-01 1.81339510533665e-01 + 3.18063704918750e-01 1.80341378478502e-01 + 3.34117190458647e-01 1.78988710332534e-01 + 3.50582887188607e-01 1.77287479137940e-01 + 3.67457411885316e-01 1.75249869525742e-01 + 3.84735241282320e-01 1.72867532494522e-01 + 4.02410840631438e-01 1.70141479775781e-01 + 4.20479861045900e-01 1.67080664184218e-01 + 4.38937337917567e-01 1.63695484138131e-01 + 4.57778369994272e-01 1.59996415385370e-01 + 4.76993987050806e-01 1.55988478484349e-01 + 4.96578866399340e-01 1.51685830097681e-01 + 5.16529791056700e-01 1.47107194833659e-01 + 5.36839132157416e-01 1.42263068183257e-01 + 5.57502062361407e-01 1.37179151139885e-01 + 5.78506947528442e-01 1.31856481715879e-01 + 5.99846801335039e-01 1.26318875145128e-01 + 6.21510917352017e-01 1.20579315267813e-01 + 6.43486642507374e-01 1.14646813491681e-01 + 6.65766554732338e-01 1.08554231709500e-01 + 6.88333354278774e-01 1.02301230862090e-01 + 7.11172372912089e-01 9.59014827558126e-02 + 7.34267939097315e-01 8.93686838710645e-02 + 7.57605408744763e-01 8.27233945350840e-02 + 7.81166012551761e-01 7.59751302935144e-02 + 8.04932152644172e-01 6.91408331092116e-02 + 8.28885866886992e-01 6.22388909791468e-02 + 8.53008300212640e-01 5.52871874665662e-02 + 8.77282284440723e-01 4.83123962886992e-02 + 9.01683465544550e-01 4.13179466502112e-02 + 9.26201800069874e-01 3.43596311850488e-02 + 9.50798227706342e-01 2.73147519752609e-02 + 9.75411025687940e-01 2.02210601345113e-02 + 1.00000000000000e+00 1.30779157393880e-02 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF13_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF13_Coords.txt new file mode 100644 index 0000000..0125507 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF13_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -3.90877762153646e-03 + 9.76177095955410e-01 -3.85208958690553e-03 + 9.52277287116538e-01 -3.83111119280944e-03 + 9.28383239307027e-01 -3.82811551770923e-03 + 9.04529994401472e-01 -3.96696457539504e-03 + 8.80840828145205e-01 -5.34019737869113e-03 + 8.57417633200015e-01 -8.18374310592265e-03 + 8.34326859178021e-01 -1.22126401581110e-02 + 8.11595759633889e-01 -1.72101035964300e-02 + 7.89243885521130e-01 -2.30246013841072e-02 + 7.67287548630289e-01 -2.95367087322223e-02 + 7.45732491989749e-01 -3.66415593728245e-02 + 7.24554819149708e-01 -4.41761736694646e-02 + 7.03736195361140e-01 -5.20286394197939e-02 + 6.83244494739171e-01 -6.00573123924261e-02 + 6.63054837090624e-01 -6.81534157746482e-02 + 6.43143898417858e-01 -7.62173001043563e-02 + 6.23494227469507e-01 -8.41652914327959e-02 + 6.04094047547589e-01 -9.19289572385884e-02 + 5.84938808854833e-01 -9.94560415712232e-02 + 5.66022428344779e-01 -1.06695961637198e-01 + 5.47389810776532e-01 -1.13614469364895e-01 + 5.29081352562769e-01 -1.20176980216462e-01 + 5.11024946546101e-01 -1.26368348065976e-01 + 4.93218569544800e-01 -1.32154404950994e-01 + 4.75672046227022e-01 -1.37522625941238e-01 + 4.58379895613815e-01 -1.42417212984863e-01 + 4.41355595903661e-01 -1.46837099566139e-01 + 4.24613086505546e-01 -1.50792954276308e-01 + 4.08167297110225e-01 -1.54303395394699e-01 + 3.92028973923146e-01 -1.57366998915872e-01 + 3.76210015042822e-01 -1.60010907217167e-01 + 3.60719923157279e-01 -1.62235047036860e-01 + 3.45568978559587e-01 -1.64061526227491e-01 + 3.30764205698122e-01 -1.65489425154032e-01 + 3.16311997017383e-01 -1.66575590692259e-01 + 3.02217761394986e-01 -1.67277625747913e-01 + 2.88490723188695e-01 -1.67636352173956e-01 + 2.75132601741012e-01 -1.67974431259090e-01 + 2.62147193872928e-01 -1.68090636948436e-01 + 2.49538031764636e-01 -1.67775180850143e-01 + 2.37302222312310e-01 -1.67070432257966e-01 + 2.25445942138468e-01 -1.66002852005471e-01 + 2.13962099069650e-01 -1.64646802892946e-01 + 2.02852567541021e-01 -1.63121940051853e-01 + 1.92118323716113e-01 -1.61108701700029e-01 + 1.81753570845603e-01 -1.58891050991702e-01 + 1.71760957246231e-01 -1.56490709454719e-01 + 1.62131138208361e-01 -1.53913443867215e-01 + 1.52863925633744e-01 -1.51183703355634e-01 + 1.43950337147922e-01 -1.48312408901790e-01 + 1.35391053773309e-01 -1.45304503320985e-01 + 1.27184994233133e-01 -1.42175616768150e-01 + 1.19324455397562e-01 -1.38929364906317e-01 + 1.11811880162703e-01 -1.35578563821089e-01 + 1.04641079757190e-01 -1.32135316142304e-01 + 9.78055598204587e-02 -1.28612422301908e-01 + 9.13018350334682e-02 -1.25018894540023e-01 + 8.51089104289940e-02 -1.21373305448543e-01 + 7.92268491644684e-02 -1.17688098197148e-01 + 7.36525290126733e-02 -1.13969302313390e-01 + 6.83576285751799e-02 -1.10234585634925e-01 + 6.33434291475475e-02 -1.06490728986879e-01 + 5.86061804232405e-02 -1.02741736345765e-01 + 5.41406883677369e-02 -9.89958982123532e-02 + 4.99407132065149e-02 -9.52618144308452e-02 + 4.59908954230563e-02 -9.15428506950582e-02 + 4.22856128361672e-02 -8.78484598279850e-02 + 3.88178675912695e-02 -8.41820988845605e-02 + 3.55681317147985e-02 -8.05550751850779e-02 + 3.25102759782516e-02 -7.69773113706368e-02 + 2.96399516806552e-02 -7.34512388142908e-02 + 2.69486138036888e-02 -6.99788465310968e-02 + 2.44236016326825e-02 -6.65638003081551e-02 + 2.20569329194722e-02 -6.32089107247205e-02 + 1.98571606160768e-02 -5.99125860010893e-02 + 1.78266145540996e-02 -5.66710292848314e-02 + 1.59470491437203e-02 -5.34906049941406e-02 + 1.42216821128479e-02 -5.03708117684365e-02 + 1.26433917361987e-02 -4.73114634597941e-02 + 1.12093788591937e-02 -4.43144666873401e-02 + 9.90827442830392e-03 -4.13789246344865e-02 + 8.72275298609148e-03 -3.85107356201553e-02 + 7.64305353962473e-03 -3.57093675294362e-02 + 6.64788888834934e-03 -3.29794105578045e-02 + 5.71947206423957e-03 -3.03218536662493e-02 + 4.85961584007870e-03 -2.77349602648651e-02 + 4.08269980520317e-03 -2.52158793640985e-02 + 3.38021410671381e-03 -2.27625623835875e-02 + 2.76605356172716e-03 -2.03727735855632e-02 + 2.22720838179425e-03 -1.80450120962037e-02 + 1.76655879024735e-03 -1.57822062811901e-02 + 1.38054696915975e-03 -1.35829147924319e-02 + 1.07207156975125e-03 -1.14488702825501e-02 + 8.13520896447866e-04 -9.37899717101793e-03 + 5.78940236278657e-04 -7.37758168788766e-03 + 3.66954876962351e-04 -5.44193320315021e-03 + 2.15719785057460e-04 -3.56946792722449e-03 + 9.17763434635190e-05 -1.75741494924084e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 8.12837274941815e-05 1.74275976786035e-03 + 2.13482082265897e-04 3.55155400727700e-03 + 3.68945873420070e-04 5.42102559654241e-03 + 5.80773727591174e-04 7.35244962776421e-03 + 8.18626570509609e-04 9.34901261570286e-03 + 1.08597186892115e-03 1.14131463830453e-02 + 1.39596167744593e-03 1.35436525848427e-02 + 1.75737262305734e-03 1.57432573812360e-02 + 2.17809471944046e-03 1.80074300217509e-02 + 2.68128661180446e-03 2.03360405790018e-02 + 3.26862706766535e-03 2.27264187442188e-02 + 3.94322628765407e-03 2.51790877462052e-02 + 4.69417832316158e-03 2.76972167761205e-02 + 5.50941559208442e-03 3.02848939050822e-02 + 6.36747280403009e-03 3.29465293920483e-02 + 7.28400908343728e-03 3.56820464534603e-02 + 8.27917258175618e-03 3.84899461637592e-02 + 9.36036529948644e-03 4.13700676657341e-02 + 1.05303166324624e-02 4.43228954473559e-02 + 1.18161368875548e-02 4.73418377585736e-02 + 1.32449975596923e-02 5.04267307747597e-02 + 1.48103315886215e-02 5.35766679370262e-02 + 1.65238234059495e-02 5.67926542690335e-02 + 1.83949326872553e-02 6.00647621794375e-02 + 2.04391460483928e-02 6.33928867522617e-02 + 2.26638234098374e-02 6.67736398578291e-02 + 2.50334144328273e-02 7.02171937823344e-02 + 2.75539827628001e-02 7.37219853729937e-02 + 3.02502999442799e-02 7.72806708111450e-02 + 3.31152853185371e-02 8.08957175056634e-02 + 3.61597090025231e-02 8.45635874068602e-02 + 3.94018235157987e-02 8.82793767169184e-02 + 4.28617626766180e-02 9.20333961488105e-02 + 4.65457756808214e-02 9.58201884726711e-02 + 5.04601152261955e-02 9.96335158752354e-02 + 5.46213245241059e-02 1.03467699215250e-01 + 5.90365362795236e-02 1.07319070829234e-01 + 6.37121857762988e-02 1.11177318956441e-01 + 6.86573176207854e-02 1.15035401806315e-01 + 7.38810922853281e-02 1.18887132774108e-01 + 7.94004404123226e-02 1.22712074537373e-01 + 8.52284327230626e-02 1.26502381132062e-01 + 9.13676461124212e-02 1.30249244003468e-01 + 9.78274085250955e-02 1.33937033310728e-01 + 1.04626032649977e-01 1.37544441628875e-01 + 1.11769413929706e-01 1.41063831823955e-01 + 1.19259688136687e-01 1.44481579522620e-01 + 1.27097867236153e-01 1.47795780460922e-01 + 1.35296785565090e-01 1.50976072387099e-01 + 1.43861154805552e-01 1.54011410434990e-01 + 1.52789881151373e-01 1.56886707818341e-01 + 1.62089171112070e-01 1.59602598584991e-01 + 1.71754781316711e-01 1.62135324335366e-01 + 1.81796346822162e-01 1.64474533463360e-01 + 1.92213382100991e-01 1.66425363979292e-01 + 2.03009050546195e-01 1.68178912288037e-01 + 2.14180218637347e-01 1.69705078018473e-01 + 2.25727564999561e-01 1.70945370934145e-01 + 2.37648965207326e-01 1.71865540277029e-01 + 2.49941108651580e-01 1.72448620252311e-01 + 2.62599876512358e-01 1.72695694130638e-01 + 2.75622055341312e-01 1.72615098951172e-01 + 2.89006514217906e-01 1.72207177047615e-01 + 3.02749795232816e-01 1.71470103649849e-01 + 3.16849286437346e-01 1.70439370597369e-01 + 3.31302483108853e-01 1.69424774342140e-01 + 3.46105726965195e-01 1.68140432482039e-01 + 3.61257789093933e-01 1.66577432007405e-01 + 3.76754471001010e-01 1.64734882692806e-01 + 3.92593943557866e-01 1.62616780912533e-01 + 4.08772404272451e-01 1.60223262509855e-01 + 4.25287655360067e-01 1.57566274370684e-01 + 4.42133487405743e-01 1.54634663959906e-01 + 4.59307799694892e-01 1.51442933244203e-01 + 4.76807106309904e-01 1.47999683987140e-01 + 4.94627158933230e-01 1.44311657194929e-01 + 5.12822370473813e-01 1.40387948268534e-01 + 5.31382646360085e-01 1.36236308125113e-01 + 5.50249128150191e-01 1.31874675524777e-01 + 5.69414694524883e-01 1.27314121937792e-01 + 5.88874199026108e-01 1.22566985606882e-01 + 6.08618545245910e-01 1.17640995767619e-01 + 6.28640986695080e-01 1.12552045558480e-01 + 6.48931744074941e-01 1.07307462020721e-01 + 6.69481093353748e-01 1.01924988287650e-01 + 6.90282024075574e-01 9.64215377586026e-02 + 7.11320509717455e-01 9.08073616432578e-02 + 7.32584534819389e-01 8.50874326292580e-02 + 7.54060899264128e-01 7.92743217827944e-02 + 7.75736959753760e-01 7.33842784511773e-02 + 7.97597581858509e-01 6.74289362945081e-02 + 8.19629177212279e-01 6.14208725794973e-02 + 8.41817173600272e-01 5.53784629762045e-02 + 8.64144720017884e-01 4.93159955375314e-02 + 8.86598901365336e-01 4.32520815210299e-02 + 9.09160854091841e-01 3.71988721535228e-02 + 9.31820867597258e-01 3.11967366388144e-02 + 9.54545150216031e-01 2.51080100041560e-02 + 9.77282214271235e-01 1.89680903898767e-02 + 1.00000000000000e+00 1.27725024332311e-02 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF14_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF14_Coords.txt new file mode 100644 index 0000000..0e8cdee --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF14_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -8.07334740112747e-03 + 9.79221200543899e-01 -6.03425302679456e-03 + 9.58276401590868e-01 -4.48600188668470e-03 + 9.37249596414011e-01 -3.48328816766299e-03 + 9.16217026018384e-01 -2.96772689972439e-03 + 8.95271127161916e-01 -3.30786922536192e-03 + 8.74485622936572e-01 -4.99532959252518e-03 + 8.53914947863701e-01 -7.66842174239273e-03 + 8.33590287417539e-01 -1.11944025140524e-02 + 8.13536079423397e-01 -1.54693687661147e-02 + 7.93767861530072e-01 -2.03850293230136e-02 + 7.74297475284363e-01 -2.58670051390440e-02 + 7.55116507909576e-01 -3.17990967062916e-02 + 7.36224469711268e-01 -3.81190940881802e-02 + 7.17605735219894e-01 -4.47231957059536e-02 + 6.99246220737501e-01 -5.15250093631793e-02 + 6.81129915784949e-01 -5.84408057021431e-02 + 6.63244907650762e-01 -6.54024930904345e-02 + 6.45582727402024e-01 -7.23544273766168e-02 + 6.28133158892752e-01 -7.92378276698723e-02 + 6.10887222053294e-01 -8.60030799733642e-02 + 5.93870978386956e-01 -9.26124539968124e-02 + 5.77105211283826e-01 -9.90235215725858e-02 + 5.60534655930499e-01 -1.05212997679798e-01 + 5.44155709491168e-01 -1.11151843455848e-01 + 5.27970929841038e-01 -1.16821361726290e-01 + 5.11968863797175e-01 -1.22165480718227e-01 + 4.96158991064346e-01 -1.27183275763906e-01 + 4.80543386723467e-01 -1.31859964360396e-01 + 4.65131989286139e-01 -1.36204242521235e-01 + 4.49929469215702e-01 -1.40203347834267e-01 + 4.34944347851167e-01 -1.43872151302930e-01 + 4.20181485878933e-01 -1.47199731605473e-01 + 4.05649144244415e-01 -1.50197795203218e-01 + 3.91351176424123e-01 -1.52856219387145e-01 + 3.77294015446200e-01 -1.55206451007822e-01 + 3.63479738318255e-01 -1.57210423299989e-01 + 3.49919502444129e-01 -1.58899631007322e-01 + 3.36616022215246e-01 -1.60859597969601e-01 + 3.23575439492644e-01 -1.62670113158257e-01 + 3.10802062814463e-01 -1.63888241003918e-01 + 2.98298566071376e-01 -1.64545655268030e-01 + 2.86071099665344e-01 -1.64649526526879e-01 + 2.74118980221010e-01 -1.64255861432821e-01 + 2.62445992079981e-01 -1.63445239359718e-01 + 2.51055876358533e-01 -1.62786361517003e-01 + 2.39947282187746e-01 -1.61901644403656e-01 + 2.29125492185451e-01 -1.60805250093357e-01 + 2.18586649582227e-01 -1.59493623777599e-01 + 2.08333918388133e-01 -1.57992086493122e-01 + 1.98363986499353e-01 -1.56303490876888e-01 + 1.88679910064133e-01 -1.54433040921186e-01 + 1.79282776987519e-01 -1.52400683344823e-01 + 1.70169754220938e-01 -1.50203650454774e-01 + 1.61344872827030e-01 -1.47854801657299e-01 + 1.52806351966642e-01 -1.45362472392527e-01 + 1.44550992137061e-01 -1.42742593259469e-01 + 1.36580118955628e-01 -1.39995120904402e-01 + 1.28880618804664e-01 -1.37140014964945e-01 + 1.21454976569802e-01 -1.34186863109308e-01 + 1.14305703695860e-01 -1.31131947980655e-01 + 1.07414917035599e-01 -1.27993813552119e-01 + 1.00785190340698e-01 -1.24779594176706e-01 + 9.44165430020784e-02 -1.21491076920797e-01 + 8.83061464628073e-02 -1.18138947449683e-01 + 8.24503491005332e-02 -1.14733998743461e-01 + 7.68431867210182e-02 -1.11273451687390e-01 + 7.14807767215630e-02 -1.07770429031597e-01 + 6.63621564520963e-02 -1.04225402458551e-01 + 6.14773116503050e-02 -1.00647273497250e-01 + 5.68128329293549e-02 -9.70431217975063e-02 + 5.23668231900885e-02 -9.34178416973082e-02 + 4.81344139974554e-02 -8.97762403243342e-02 + 4.41091840840487e-02 -8.61224468747281e-02 + 4.02874296497069e-02 -8.24621856376730e-02 + 3.66698380459600e-02 -7.88028520474877e-02 + 3.32572325346391e-02 -7.51451438751843e-02 + 3.00409764859863e-02 -7.14926750819715e-02 + 2.70250817119810e-02 -6.78483375905138e-02 + 2.42042608902915e-02 -6.42161025096475e-02 + 2.15741186995721e-02 -6.05997433780677e-02 + 1.91328444601190e-02 -5.70000943728932e-02 + 1.68712086349476e-02 -5.34247492034163e-02 + 1.47790669382181e-02 -4.98766349049358e-02 + 1.28406771478420e-02 -4.63677910308392e-02 + 1.10427125043029e-02 -4.29014670346303e-02 + 9.38018305897801e-03 -3.94808026390514e-02 + 7.87007689212147e-03 -3.61054963151586e-02 + 6.49787574483746e-03 -3.27756736717481e-02 + 5.29449824963774e-03 -2.94901370487684e-02 + 4.23510008626491e-03 -2.62497227090602e-02 + 3.32948275108824e-03 -2.30654495585963e-02 + 2.55676087926568e-03 -1.99373468861916e-02 + 1.93301398383811e-03 -1.68738856235686e-02 + 1.41336434125244e-03 -1.38752546647408e-02 + 9.59565805648218e-04 -1.09546456906559e-02 + 5.57550777445461e-04 -8.10914997122945e-03 + 2.97369527194442e-04 -5.33638511455700e-03 + 1.05092610307520e-04 -2.63267378705458e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 9.55567127353597e-05 2.62159030229867e-03 + 2.98415981526065e-04 5.32187329611126e-03 + 5.58963178979173e-04 8.09117878761504e-03 + 9.50743688766724e-04 1.09316435327940e-02 + 1.39483046102671e-03 1.38472305963159e-02 + 1.89605375643053e-03 1.68408051499943e-02 + 2.47743496809607e-03 1.99066668803368e-02 + 3.15705504981302e-03 2.30473802965293e-02 + 3.95396258443797e-03 2.62489321137118e-02 + 4.90966800227364e-03 2.95083060104062e-02 + 6.01732699926503e-03 3.28144611520736e-02 + 7.29878278121537e-03 3.61643223152113e-02 + 8.71775090763030e-03 3.95618349948329e-02 + 1.02768390461423e-02 4.30082745506948e-02 + 1.19542835779178e-02 4.65049840738280e-02 + 1.37660735218386e-02 5.00484247348741e-02 + 1.57261925461139e-02 5.36344556756830e-02 + 1.78379343589320e-02 5.72580990875103e-02 + 2.01081376384622e-02 6.09160827342359e-02 + 2.25541998569176e-02 6.45986486726600e-02 + 2.51909930226753e-02 6.83016586300093e-02 + 2.80174362842042e-02 7.20223532558272e-02 + 3.10369095528759e-02 7.57602850426688e-02 + 3.42592751817078e-02 7.94995398292520e-02 + 3.76917389970838e-02 8.32397989580815e-02 + 4.13377178168780e-02 8.69771633659212e-02 + 4.51834652692616e-02 9.07064903394664e-02 + 4.92294692994139e-02 9.44249906041134e-02 + 5.34901624008167e-02 9.81237593020423e-02 + 5.79625758049088e-02 1.01798686508183e-01 + 6.26519723823795e-02 1.05444022187550e-01 + 6.75667093990260e-02 1.09055605231701e-01 + 7.27173460390111e-02 1.12623305408261e-01 + 7.81054229353040e-02 1.16141312838526e-01 + 8.37353736611478e-02 1.19597459010706e-01 + 8.96148506174161e-02 1.22987314176471e-01 + 9.57434173326257e-02 1.26312782630787e-01 + 1.02123872111929e-01 1.29560866993600e-01 + 1.08759070540133e-01 1.32726659148873e-01 + 1.15652909023735e-01 1.35803822311014e-01 + 1.22814898880055e-01 1.38769160480619e-01 + 1.30248312878360e-01 1.41625826790262e-01 + 1.37952119160829e-01 1.44367080243205e-01 + 1.45929421185843e-01 1.46980722029795e-01 + 1.54188974871623e-01 1.49452290676138e-01 + 1.62730776625850e-01 1.51784448266146e-01 + 1.71554543533328e-01 1.53962921382450e-01 + 1.80657738055108e-01 1.55998446174920e-01 + 1.90046005272108e-01 1.57867488786970e-01 + 1.99719900707754e-01 1.59573174399796e-01 + 2.09677081941992e-01 1.61094844055895e-01 + 2.19920331715425e-01 1.62450160193982e-01 + 2.30444639108594e-01 1.63613348744482e-01 + 2.41254910947225e-01 1.64585169319622e-01 + 2.52349268622484e-01 1.65661492597062e-01 + 2.63728332369411e-01 1.66615987835985e-01 + 2.75388576827329e-01 1.67214313405789e-01 + 2.87330237434036e-01 1.67438497932802e-01 + 2.99550601211257e-01 1.67281149315567e-01 + 3.12046369103180e-01 1.66745200004450e-01 + 3.24814518081560e-01 1.65851159556216e-01 + 3.37852379098881e-01 1.64617075526103e-01 + 3.51158899179799e-01 1.63061672052833e-01 + 3.64730380997744e-01 1.61196317356998e-01 + 3.78565323114399e-01 1.59055554299456e-01 + 3.92660884442849e-01 1.57290559237541e-01 + 4.07013562849287e-01 1.55335288522997e-01 + 4.21623042634860e-01 1.53174219521817e-01 + 4.36486154332345e-01 1.50811035733740e-01 + 4.51601608219310e-01 1.48252581018077e-01 + 4.66965183091982e-01 1.45494985385807e-01 + 4.82574701407707e-01 1.42548984855696e-01 + 4.98426491448941e-01 1.39413973553154e-01 + 5.14517752353766e-01 1.36098188226949e-01 + 5.30845249617679e-01 1.32607833013793e-01 + 5.47404182012442e-01 1.28943941449471e-01 + 5.64234122265171e-01 1.25124266848195e-01 + 5.81324152134668e-01 1.21141864667106e-01 + 5.98634521691505e-01 1.17017578674898e-01 + 6.16158837812567e-01 1.12756929106355e-01 + 6.33891496205559e-01 1.08363822198320e-01 + 6.51827041881908e-01 1.03850480257554e-01 + 6.69959072516104e-01 9.92242630318279e-02 + 6.88279139184040e-01 9.44867269543307e-02 + 7.06781720669086e-01 8.96575051098235e-02 + 7.25460397362862e-01 8.47447902935426e-02 + 7.44305839320801e-01 7.97592135386944e-02 + 7.63309837923549e-01 7.47064611684110e-02 + 7.82462739311484e-01 6.95948278249936e-02 + 8.01754771137058e-01 6.44330951982709e-02 + 8.21176014681886e-01 5.92324206564670e-02 + 8.40718635263391e-01 5.40082149246081e-02 + 8.60372924903524e-01 4.87753362998312e-02 + 8.80124908010382e-01 4.35353451878232e-02 + 8.99967772961271e-01 3.83096141062618e-02 + 9.19890534609507e-01 3.31146158959137e-02 + 9.39883960266685e-01 2.79691489091252e-02 + 9.59921818368150e-01 2.27772902091126e-02 + 9.79967309603052e-01 1.75595788635621e-02 + 1.00000000000000e+00 1.23146665498868e-02 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF15_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF15_Coords.txt new file mode 100644 index 0000000..d3d9f2f --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF15_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -1.10509575423538e-02 + 9.81411690826682e-01 -7.57971372427505e-03 + 9.62593270995096e-01 -4.92654587127468e-03 + 9.43629688990319e-01 -3.19635258549884e-03 + 9.24626832070457e-01 -2.30138153875055e-03 + 9.05654945738084e-01 -2.09475830937593e-03 + 8.86767482701158e-01 -3.04025558509015e-03 + 8.68010231608718e-01 -4.82957516185432e-03 + 8.49417207283124e-01 -7.38484241818010e-03 + 8.31016364066570e-01 -1.06360119301930e-02 + 8.12822682547506e-01 -1.44809349847565e-02 + 7.94852392671663e-01 -1.88667158279844e-02 + 7.77108223472522e-01 -2.37100321442376e-02 + 7.59602526279175e-01 -2.89829645033655e-02 + 7.42331549064133e-01 -3.46098634839686e-02 + 7.25288977119364e-01 -4.05204175569251e-02 + 7.08464062659816e-01 -4.66426040685526e-02 + 6.91848878421112e-01 -5.29202112398719e-02 + 6.75437335686597e-01 -5.93073955668692e-02 + 6.59215140893944e-01 -6.57415853949234e-02 + 6.43171229320706e-01 -7.21735336027545e-02 + 6.27308226456623e-01 -7.85628722356951e-02 + 6.11624713487422e-01 -8.48635760226628e-02 + 5.96094539920748e-01 -9.10442639047107e-02 + 5.80714880183991e-01 -9.70828872714430e-02 + 5.65481947225649e-01 -1.02953448564325e-01 + 5.50381219396596e-01 -1.08602021926968e-01 + 5.35419565272026e-01 -1.14028447746342e-01 + 5.20590427913323e-01 -1.19199243257144e-01 + 5.05900137980011e-01 -1.24115041319193e-01 + 4.91349294093509e-01 -1.28757827845388e-01 + 4.76943980791057e-01 -1.33130403509631e-01 + 4.62685756464561e-01 -1.37216499816543e-01 + 4.48581420734730e-01 -1.41019914657937e-01 + 4.34632604662850e-01 -1.44524090636448e-01 + 4.20846036166405e-01 -1.47740500742434e-01 + 4.07221238353771e-01 -1.50635510220325e-01 + 3.93770374269343e-01 -1.53233531715719e-01 + 3.80497305313331e-01 -1.56076801427578e-01 + 3.67409875959456e-01 -1.58762873581155e-01 + 3.54512480792978e-01 -1.60861073794047e-01 + 3.41812742187926e-01 -1.62394257353712e-01 + 3.29315423474305e-01 -1.63353542028572e-01 + 3.17025801221576e-01 -1.63770944223548e-01 + 3.04948024185483e-01 -1.63674123681480e-01 + 2.93088220574610e-01 -1.63991920123931e-01 + 2.81448581581555e-01 -1.64066361279469e-01 + 2.70035057361408e-01 -1.63908267098579e-01 + 2.58849280954558e-01 -1.63507375104088e-01 + 2.47895478259142e-01 -1.62889633745819e-01 + 2.37175349657851e-01 -1.62052089805351e-01 + 2.26693203073739e-01 -1.61000135213871e-01 + 2.16450917264734e-01 -1.59756822822365e-01 + 2.06450312776514e-01 -1.58314791574144e-01 + 1.96694909979451e-01 -1.56686932048336e-01 + 1.87186098762898e-01 -1.54878868873991e-01 + 1.77923300434541e-01 -1.52908785069620e-01 + 1.68910486397903e-01 -1.50770121017112e-01 + 1.60142459165313e-01 -1.48483834450603e-01 + 1.51621314305938e-01 -1.46057458263885e-01 + 1.43352511527145e-01 -1.43480261393825e-01 + 1.35328822587817e-01 -1.40771418267004e-01 + 1.27551987359353e-01 -1.37938317629591e-01 + 1.20024344738906e-01 -1.34981151293937e-01 + 1.12744183941309e-01 -1.31912328448447e-01 + 1.05709151418255e-01 -1.28744220219672e-01 + 9.89216653669963e-02 -1.25469625784273e-01 + 9.23779889604102e-02 -1.22104308714821e-01 + 8.60811996685219e-02 -1.18646592466226e-01 + 8.00285351775635e-02 -1.15103647397512e-01 + 7.42169115102465e-02 -1.11480507386211e-01 + 6.86455675816781e-02 -1.07783839081544e-01 + 6.33124317257154e-02 -1.04020477481171e-01 + 5.82158369985136e-02 -1.00194885243170e-01 + 5.33550082187192e-02 -9.63148833170392e-02 + 4.87244991959520e-02 -9.23943341964291e-02 + 4.43241606243177e-02 -8.84371699134256e-02 + 4.01521753059670e-02 -8.44450252431994e-02 + 3.62123445116897e-02 -8.04232338622245e-02 + 3.25011024702438e-02 -7.63787583765980e-02 + 2.90136700235325e-02 -7.23167157312794e-02 + 2.57548613414798e-02 -6.82391856995173e-02 + 2.27209601267049e-02 -6.41549819671272e-02 + 1.99013660083038e-02 -6.00695207200590e-02 + 1.72850788874385e-02 -5.60002019537108e-02 + 1.48626645326118e-02 -5.19519017368173e-02 + 1.26240169385869e-02 -4.79312687108058e-02 + 1.05875607745008e-02 -4.39398358989068e-02 + 8.73433299474148e-03 -3.99792934225952e-02 + 7.10774510080775e-03 -3.60491906063883e-02 + 5.67481526323844e-03 -3.21520454802931e-02 + 4.45004076252820e-03 -2.83046987771536e-02 + 3.39950311639580e-03 -2.45082380332127e-02 + 2.54832756291068e-03 -2.07759829409580e-02 + 1.84009183591997e-03 -1.71090322906018e-02 + 1.22940616128262e-03 -1.35269859869500e-02 + 6.91637176855277e-04 -1.00267783584981e-02 + 3.54078146575947e-04 -6.60617193597537e-03 + 1.13845813955877e-04 -3.26083713812033e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 1.05197958660838e-04 3.25536855273048e-03 + 3.58331849259044e-04 6.59742678863812e-03 + 6.94566901935779e-04 1.00142387509855e-02 + 1.21627365955504e-03 1.35088350454241e-02 + 1.80859442021047e-03 1.70857375298485e-02 + 2.47759459373575e-03 2.07481232073594e-02 + 3.25355772569460e-03 2.44870522179696e-02 + 4.16155922987374e-03 2.83049727493539e-02 + 5.22912574508452e-03 3.21810480324966e-02 + 6.51035737655895e-03 3.61101847416550e-02 + 7.99159585501785e-03 4.00753187422275e-02 + 9.70860751601073e-03 4.40707854204392e-02 + 1.16070979082780e-02 4.81010888874746e-02 + 1.37008914987855e-02 5.21654805197718e-02 + 1.59679609555441e-02 5.62630963220601e-02 + 1.84236894948370e-02 6.03879062307073e-02 + 2.10772621345772e-02 6.45338682939905e-02 + 2.39293444242789e-02 6.86925384998138e-02 + 2.69903717938460e-02 7.28579413318714e-02 + 3.02704883299755e-02 7.70180405036534e-02 + 3.37744319199382e-02 8.11658377913594e-02 + 3.75047715494588e-02 8.52972406045579e-02 + 4.14593390222563e-02 8.94107562170276e-02 + 4.56490823318150e-02 9.34861626249357e-02 + 5.00749115027655e-02 9.75229873657162e-02 + 5.47369108153300e-02 1.01516963716297e-01 + 5.96382554732170e-02 1.05451928528098e-01 + 6.47757341796085e-02 1.09324210228339e-01 + 7.01557005273084e-02 1.13123780659718e-01 + 7.57784370027206e-02 1.16841796950029e-01 + 8.16452558532460e-02 1.20470917354094e-01 + 8.77563853840686e-02 1.24007515191187e-01 + 9.41154094555710e-02 1.27441142931524e-01 + 1.00721071553802e-01 1.30765736935782e-01 + 1.07576707929068e-01 1.33964861053823e-01 + 1.14682178786315e-01 1.37034984581016e-01 + 1.22032158125471e-01 1.39982021306906e-01 + 1.29627935845099e-01 1.42791041321579e-01 + 1.37468006838375e-01 1.45458671867978e-01 + 1.45551942133847e-01 1.47978468092711e-01 + 1.53883956584634e-01 1.50325248895372e-01 + 1.62459671344905e-01 1.52510082187272e-01 + 1.71276454572446e-01 1.54527714754209e-01 + 1.80333393961927e-01 1.56368416703186e-01 + 1.89631521766709e-01 1.58022652800150e-01 + 1.99166536498390e-01 1.59500496285892e-01 + 2.08937081446981e-01 1.60787206701062e-01 + 2.18938477411433e-01 1.61902616040580e-01 + 2.29171319366536e-01 1.62828104054750e-01 + 2.39633374918360e-01 1.63576992470296e-01 + 2.50321867123162e-01 1.64124612682017e-01 + 2.61235997006877e-01 1.64500880493664e-01 + 2.72372091169415e-01 1.64678571390904e-01 + 2.83730019885369e-01 1.64666440445737e-01 + 2.95308069545020e-01 1.64965709900864e-01 + 3.07104577948667e-01 1.65162698854512e-01 + 3.19116313489242e-01 1.64975393198282e-01 + 3.31342735437319e-01 1.64420594043668e-01 + 3.43780967598184e-01 1.63507406647756e-01 + 3.56427985455109e-01 1.62247486117168e-01 + 3.69281826794814e-01 1.60668283838744e-01 + 3.82340036331855e-01 1.58788146739748e-01 + 3.95601360573733e-01 1.56631923092584e-01 + 4.09061888911786e-01 1.54211600813200e-01 + 4.22720977687680e-01 1.51556701696382e-01 + 4.36575325163006e-01 1.49293741018267e-01 + 4.50621611008401e-01 1.46884407804744e-01 + 4.64859837518628e-01 1.44319422734410e-01 + 4.79287628208979e-01 1.41604288601654e-01 + 4.93903816557736e-01 1.38748605629233e-01 + 5.08703902827898e-01 1.35747274430575e-01 + 5.23685132681155e-01 1.32606384617311e-01 + 5.38846096800813e-01 1.29336404307583e-01 + 5.54183001884026e-01 1.25939291250943e-01 + 5.69692561557026e-01 1.22419546752540e-01 + 5.85369391309433e-01 1.18774054003556e-01 + 6.01229218670740e-01 1.15027146197698e-01 + 6.17261282389790e-01 1.11160619278953e-01 + 6.33451897803230e-01 1.07197909270273e-01 + 6.49795195786550e-01 1.03139748134717e-01 + 6.66285242597059e-01 9.89853115090349e-02 + 6.82919203554898e-01 9.47494190976470e-02 + 6.99690923989396e-01 9.04336429025070e-02 + 7.16592912293283e-01 8.60356789560214e-02 + 7.33622671530269e-01 8.15751962475538e-02 + 7.50774207256676e-01 7.70558751331495e-02 + 7.68041569112651e-01 7.24867760706181e-02 + 7.85419287822119e-01 6.78757411633822e-02 + 8.02900261357254e-01 6.32276565982537e-02 + 8.20476783261702e-01 5.85457709779441e-02 + 8.38142687961821e-01 5.38404614301608e-02 + 8.55894281036140e-01 4.91303096274833e-02 + 8.73725354735666e-01 4.44272073052611e-02 + 8.91624002570722e-01 3.97226144336362e-02 + 9.09587804885732e-01 3.50416738573172e-02 + 9.27611445710978e-01 3.04029484428038e-02 + 9.45686036255908e-01 2.58097842951588e-02 + 9.63790785086802e-01 2.11950192782819e-02 + 9.81899462412430e-01 1.65697747312077e-02 + 1.00000000000000e+00 1.19344536950897e-02 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF16_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF16_Coords.txt new file mode 100644 index 0000000..50af0d3 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF16_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -1.24252640800748e-02 + 9.82425475701935e-01 -8.13509426619932e-03 + 9.64591169339978e-01 -4.87734430030055e-03 + 9.46582471482630e-01 -2.81411840337627e-03 + 9.28518990025422e-01 -1.80640395947902e-03 + 9.10460700094831e-01 -1.58235815617821e-03 + 8.92451673024753e-01 -2.20215711161437e-03 + 8.74533696052007e-01 -3.60052209291324e-03 + 8.56742093454814e-01 -5.72386945519578e-03 + 8.39106447061078e-01 -8.51774183837510e-03 + 8.21641479645111e-01 -1.18824656751187e-02 + 8.04365452155706e-01 -1.57749984659010e-02 + 7.87286250188198e-01 -2.01270794263903e-02 + 7.70422168049626e-01 -2.49263691477237e-02 + 7.53774948882267e-01 -3.01104285576322e-02 + 7.37341873558742e-01 -3.56163831485470e-02 + 7.21114629931218e-01 -4.13776776099346e-02 + 7.05087135247494e-01 -4.73437295122691e-02 + 6.89254402383221e-01 -5.34733489013033e-02 + 6.73600250699443e-01 -5.97023876255703e-02 + 6.58112650671682e-01 -6.59817033961564e-02 + 6.42781438555545e-01 -7.22696815682527e-02 + 6.27593328972990e-01 -7.85190347480942e-02 + 6.12538988806551e-01 -8.46941944361605e-02 + 5.97616328690040e-01 -9.07769961993379e-02 + 5.82818405573326e-01 -9.67375014161532e-02 + 5.68129519439464e-01 -1.02523238235982e-01 + 5.53555382749166e-01 -1.08134531532468e-01 + 5.39085424948161e-01 -1.13529167900029e-01 + 5.24724303737483e-01 -1.18703866870826e-01 + 5.10470792285467e-01 -1.23638755686121e-01 + 4.96329845983840e-01 -1.28330411405035e-01 + 4.82301502361614e-01 -1.32760574472246e-01 + 4.68391883101538e-01 -1.36929299219655e-01 + 4.54601602382362e-01 -1.40817087120938e-01 + 4.40937576860884e-01 -1.44425833341921e-01 + 4.27398116918708e-01 -1.47724213168402e-01 + 4.13995775223519e-01 -1.50733288697601e-01 + 4.00735028800926e-01 -1.53536352547708e-01 + 3.87624513095671e-01 -1.56074113392779e-01 + 3.74668569553583e-01 -1.58265234426449e-01 + 3.61877296169293e-01 -1.60133161526838e-01 + 3.49254545190635e-01 -1.61664857454815e-01 + 3.36808616728624e-01 -1.62880036891641e-01 + 3.24543629539702e-01 -1.63772517894953e-01 + 3.12466894791373e-01 -1.64549540556099e-01 + 3.00582310428625e-01 -1.65067891531101e-01 + 2.88895893987586e-01 -1.65344053775414e-01 + 2.77412122331332e-01 -1.65364660423274e-01 + 2.66135447217754e-01 -1.65155950298717e-01 + 2.55070072243012e-01 -1.64712283164611e-01 + 2.44220794708782e-01 -1.64039137932494e-01 + 2.33589707917216e-01 -1.63161005008156e-01 + 2.23181012194870e-01 -1.62068397471737e-01 + 2.12997666308098e-01 -1.60774220329540e-01 + 2.03042527370616e-01 -1.59282843615106e-01 + 1.93316278784585e-01 -1.57613492793396e-01 + 1.83823955928242e-01 -1.55756592441880e-01 + 1.74564466556571e-01 -1.53733562225594e-01 + 1.65539306698218e-01 -1.51550984064369e-01 + 1.56755083069504e-01 -1.49194880868633e-01 + 1.48210117019675e-01 -1.46684718846302e-01 + 1.39905415525066e-01 -1.44028004479714e-01 + 1.31844313652306e-01 -1.41224191278744e-01 + 1.24025502983605e-01 -1.38286486098724e-01 + 1.16447119731699e-01 -1.35227990451102e-01 + 1.09115780548947e-01 -1.32039457093367e-01 + 1.02027598522578e-01 -1.28737871802032e-01 + 9.51874613925664e-02 -1.25320563806821e-01 + 8.85960429999338e-02 -1.21793902260768e-01 + 8.22552687049425e-02 -1.18161974233736e-01 + 7.61647796309013e-02 -1.14432266621600e-01 + 7.03238282223643e-02 -1.10612552944290e-01 + 6.47329999233869e-02 -1.06707450190022e-01 + 5.93928454299115e-02 -1.02725749667548e-01 + 5.42949867217323e-02 -9.86843069022559e-02 + 4.94388463165489e-02 -9.45885507806050e-02 + 4.48257444385887e-02 -9.04392000870008e-02 + 4.04592311060131e-02 -8.62427185705315e-02 + 3.63366162863054e-02 -8.20074533376969e-02 + 3.24530936032557e-02 -7.77391430778038e-02 + 2.88164934792770e-02 -7.34404440407586e-02 + 2.54255897483057e-02 -6.91207345319771e-02 + 2.22695354976677e-02 -6.47865827458440e-02 + 1.93396732679572e-02 -6.04578695538779e-02 + 1.66285046896144e-02 -5.61402238416290e-02 + 1.41235125294590e-02 -5.18419182196969e-02 + 1.18436996913393e-02 -4.75653347638105e-02 + 9.76802218318390e-03 -4.33128876704626e-02 + 7.94572111298354e-03 -3.90844719774857e-02 + 6.34012295468644e-03 -3.48833840566722e-02 + 4.96784226083534e-03 -3.07291590513705e-02 + 3.78881763251666e-03 -2.66233742672808e-02 + 2.83227442076798e-03 -2.25815934608641e-02 + 2.03662047129126e-03 -1.86053365330818e-02 + 1.35349446340432e-03 -1.47171691907230e-02 + 7.53091365979220e-04 -1.09139531279332e-02 + 3.79921259919516e-04 -7.19351794735494e-03 + 1.17733839192470e-04 -3.55123219976787e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 1.09536242676414e-04 3.54896116795036e-03 + 3.85825335806826e-04 7.18809445434842e-03 + 7.57103683926277e-04 1.09045800888091e-02 + 1.33902743819016e-03 1.47019162202047e-02 + 1.99991945526195e-03 1.85848833225608e-02 + 2.74646684813715e-03 2.25568027181948e-02 + 3.61234570992480e-03 2.66072352465913e-02 + 4.62592742895590e-03 3.07385752604502e-02 + 5.81875061439723e-03 3.49268280013834e-02 + 7.25062085687063e-03 3.91659388814479e-02 + 8.90459236950203e-03 4.34360561113553e-02 + 1.08229624461328e-02 4.77303166768107e-02 + 1.29431509494892e-02 5.20534832231859e-02 + 1.52843027921837e-02 5.64038704034413e-02 + 1.78242589462450e-02 6.07795927565966e-02 + 2.05779563980521e-02 6.51734672462594e-02 + 2.35522879328122e-02 6.95785720720600e-02 + 2.67467672959450e-02 7.39848590218934e-02 + 3.01736203821112e-02 7.83851014693314e-02 + 3.38395823602152e-02 8.27662086835659e-02 + 3.77444484387073e-02 8.71198588215513e-02 + 4.18924181832118e-02 9.14413422535874e-02 + 4.62788397961834e-02 9.57286825138103e-02 + 5.09153202697887e-02 9.99596638777772e-02 + 5.57997895536366e-02 1.04133742700112e-01 + 6.09306921943845e-02 1.08246482100410e-01 + 6.63192771955008e-02 1.12276618541979e-01 + 7.19606827641224e-02 1.16220072113981e-01 + 7.78573977734587e-02 1.20066294782795e-01 + 8.40112669455515e-02 1.23804253212163e-01 + 9.04217765530028e-02 1.27425868994556e-01 + 9.70851943493784e-02 1.30927762788731e-01 + 1.04001859101463e-01 1.34299340215902e-01 + 1.11169336005702e-01 1.37534420193325e-01 + 1.18590495098391e-01 1.40614591457231e-01 + 1.26261315961118e-01 1.43536739391073e-01 + 1.34174319251319e-01 1.46308633426027e-01 + 1.42330314844212e-01 1.48914449254447e-01 + 1.50725797713432e-01 1.51351524701617e-01 + 1.59358231336042e-01 1.53613364899084e-01 + 1.68229387632340e-01 1.55673870018162e-01 + 1.77331228248522e-01 1.57547771023608e-01 + 1.86660576926949e-01 1.59230503264615e-01 + 1.96214753947406e-01 1.60713479492089e-01 + 2.05991050399693e-01 1.61989444394187e-01 + 2.15983165244597e-01 1.63071901182973e-01 + 2.26189375939737e-01 1.63945893246535e-01 + 2.36604093238288e-01 1.64635462244728e-01 + 2.47225599093989e-01 1.65124262003384e-01 + 2.58050410720893e-01 1.65430333331400e-01 + 2.69075641334411e-01 1.65527151911075e-01 + 2.80298614382645e-01 1.65450304548786e-01 + 2.91716647220206e-01 1.65171895447169e-01 + 3.03326957697325e-01 1.64704380071809e-01 + 3.15128138205676e-01 1.64169645912043e-01 + 3.27117381216084e-01 1.63469808893915e-01 + 3.39291704318724e-01 1.62548154755347e-01 + 3.51650117621385e-01 1.61423767950888e-01 + 3.64189720591847e-01 1.60096676742024e-01 + 3.76907668140496e-01 1.58566305247527e-01 + 3.89802542573877e-01 1.56847523730075e-01 + 4.02871952529041e-01 1.54943927943041e-01 + 4.16114501236930e-01 1.52868448757355e-01 + 4.29526171314381e-01 1.50615670568084e-01 + 4.43106727635112e-01 1.48204759009470e-01 + 4.56852612264859e-01 1.45737250455029e-01 + 4.70760602675014e-01 1.43123422489868e-01 + 4.84830781621821e-01 1.40376702012426e-01 + 4.99061149951278e-01 1.37503144284773e-01 + 5.13450546044641e-01 1.34513764346176e-01 + 5.27994345734396e-01 1.31403219006082e-01 + 5.42689411412218e-01 1.28174704895875e-01 + 5.57535466651162e-01 1.24844500772921e-01 + 5.72528162721151e-01 1.21411310101436e-01 + 5.87664143453917e-01 1.17878850514536e-01 + 6.02937717917403e-01 1.14242075850083e-01 + 6.18350987933677e-01 1.10528433350522e-01 + 6.33893412374121e-01 1.06714373204467e-01 + 6.49565792293205e-01 1.02824629876946e-01 + 6.65362501079187e-01 9.88575631416573e-02 + 6.81277452515826e-01 9.48104222366743e-02 + 6.97309024633204e-01 9.06991039200901e-02 + 7.13451177378247e-01 8.65225709430592e-02 + 7.29696862201265e-01 8.22767901434561e-02 + 7.46044981838772e-01 7.79811866791701e-02 + 7.62489738618352e-01 7.36376992370752e-02 + 7.79026746292031e-01 6.92542986966430e-02 + 7.95651803384283e-01 6.48401479180864e-02 + 8.12358988885293e-01 6.03984904653564e-02 + 8.29141552457649e-01 5.59299827933516e-02 + 8.45995065527593e-01 5.14445548663478e-02 + 8.62917749835587e-01 4.69624785828993e-02 + 8.79905017580147e-01 4.24941870516068e-02 + 8.96945919876639e-01 3.80262803834179e-02 + 9.14040069723942e-01 3.35859971674524e-02 + 9.31184774914660e-01 2.91926669736630e-02 + 9.48371305818242e-01 2.48424981540045e-02 + 9.65581388758071e-01 2.04643678442921e-02 + 9.82793685641916e-01 1.60706837689086e-02 + 1.00000000000000e+00 1.16593285865521e-02 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF17_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF17_Coords.txt new file mode 100644 index 0000000..48f6b1f --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF17_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -1.22296732978971e-02 + 9.81809231997450e-01 -7.66325101842351e-03 + 9.63362020906993e-01 -4.26138903321795e-03 + 9.44746882275587e-01 -2.24733614559064e-03 + 9.26083982102653e-01 -1.38644381886032e-03 + 9.07437793637814e-01 -1.53384239700012e-03 + 8.88856404100716e-01 -2.32693033767316e-03 + 8.70383681457240e-01 -3.92705639126025e-03 + 8.52056691131542e-01 -6.27418411468357e-03 + 8.33906603147679e-01 -9.31215046334780e-03 + 8.15950523038870e-01 -1.29428641300523e-02 + 7.98204200093546e-01 -1.71077183616288e-02 + 7.80674665832591e-01 -2.17331052675344e-02 + 7.63378191963654e-01 -2.67977731219143e-02 + 7.46314515499711e-01 -3.22328632370932e-02 + 7.29478641179161e-01 -3.79691530756852e-02 + 7.12860910320368e-01 -4.39363336316885e-02 + 6.96453832466194e-01 -5.00796489479708e-02 + 6.80250736410765e-01 -5.63527272688241e-02 + 6.64235689503957e-01 -6.26907204733623e-02 + 6.48397060046097e-01 -6.90436817797063e-02 + 6.32724698731886e-01 -7.53681191363056e-02 + 6.17206835973375e-01 -8.16185205255380e-02 + 6.01835687369930e-01 -8.77599400163134e-02 + 5.86609989211829e-01 -9.37736446297983e-02 + 5.71524364750817e-01 -9.96312129879424e-02 + 5.56565813869953e-01 -1.05285151248074e-01 + 5.41740879655680e-01 -1.10736488595741e-01 + 5.27040982722006e-01 -1.15946705159313e-01 + 5.12471514440421e-01 -1.20913532669082e-01 + 4.98032656361943e-01 -1.25621055054266e-01 + 4.83729774780465e-01 -1.30066335119358e-01 + 4.69563938928678e-01 -1.34235045075349e-01 + 4.55541492061386e-01 -1.38128492455088e-01 + 4.41663747445554e-01 -1.41731222545254e-01 + 4.27937513519288e-01 -1.45047252280423e-01 + 4.14361683850019e-01 -1.48049486028839e-01 + 4.00948088942408e-01 -1.50755869510361e-01 + 3.87700935663498e-01 -1.52790180119929e-01 + 3.74628296422797e-01 -1.54442159164026e-01 + 3.61734153850616e-01 -1.56008949993457e-01 + 3.49027603255408e-01 -1.57531274736190e-01 + 3.36512006977356e-01 -1.59011285080467e-01 + 3.24194734608231e-01 -1.60476108811399e-01 + 3.12079131244187e-01 -1.61920765071212e-01 + 3.00171588113850e-01 -1.62356434984062e-01 + 2.88475231867746e-01 -1.62517062244864e-01 + 2.76994777250217e-01 -1.62461106962565e-01 + 2.65733638890499e-01 -1.62229244011237e-01 + 2.54695340284831e-01 -1.61777912120635e-01 + 2.43882945396650e-01 -1.61103412911627e-01 + 2.33299791070163e-01 -1.60212668831732e-01 + 2.22947124194297e-01 -1.59128838294383e-01 + 2.12828015809329e-01 -1.57844282006959e-01 + 2.02943939785058e-01 -1.56372494845157e-01 + 1.93296602499314e-01 -1.54718410692791e-01 + 1.83885834004145e-01 -1.52900289922660e-01 + 1.74715176623601e-01 -1.50910360815620e-01 + 1.65782541685520e-01 -1.48769305967462e-01 + 1.57088621088024e-01 -1.46483347557291e-01 + 1.48638622307584e-01 -1.44040245808349e-01 + 1.40429775578192e-01 -1.41458912098839e-01 + 1.32462329560753e-01 -1.38746378416846e-01 + 1.24738643656956e-01 -1.35902338383278e-01 + 1.17256684143595e-01 -1.32939242617555e-01 + 1.10013761383795e-01 -1.29869609428816e-01 + 1.03015102952045e-01 -1.26685385977509e-01 + 9.62564747579863e-02 -1.23402261252777e-01 + 8.97415047651788e-02 -1.20018076128724e-01 + 8.34702035772624e-02 -1.16538743494506e-01 + 7.74441214789436e-02 -1.12967714458325e-01 + 7.16617973619830e-02 -1.09312462716826e-01 + 6.61225075819711e-02 -1.05579747180118e-01 + 6.08258731295669e-02 -1.01774082200882e-01 + 5.57714250471305e-02 -9.79038769707849e-02 + 5.09515299003378e-02 -9.39841882850989e-02 + 4.63650316122612e-02 -9.00201527242694e-02 + 4.20121184991988e-02 -8.60127158476875e-02 + 3.78951850130416e-02 -8.19679795399627e-02 + 3.40128163986049e-02 -7.78927824524520e-02 + 3.03592260422807e-02 -7.37929023573802e-02 + 2.69406575353877e-02 -6.96709533335743e-02 + 2.37551384136294e-02 -6.55356390230753e-02 + 2.07940779551889e-02 -6.13923536288691e-02 + 1.80482033497931e-02 -5.72594799838666e-02 + 1.55090679024736e-02 -5.31426684966478e-02 + 1.31628418804869e-02 -4.90499497133552e-02 + 1.10284324839042e-02 -4.49829198363657e-02 + 9.09051311728509e-03 -4.09423116755188e-02 + 7.39128595652454e-03 -3.69288722420332e-02 + 5.89558376925414e-03 -3.29457288686102e-02 + 4.62058668169035e-03 -2.90106408143961e-02 + 3.52709628908262e-03 -2.51249520723311e-02 + 2.64004713248243e-03 -2.13031961549352e-02 + 1.90248218103786e-03 -1.75465644274572e-02 + 1.26909246362027e-03 -1.38755508082653e-02 + 7.11601683288611e-04 -1.02871803593313e-02 + 3.62486029485987e-04 -6.77924088475695e-03 + 1.15497517628583e-04 -3.34729913924277e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 1.08093066942806e-04 3.33918775675954e-03 + 3.67646707335402e-04 6.76816176796410e-03 + 7.14764517797302e-04 1.02723323501643e-02 + 1.25505560953463e-03 1.38550866971263e-02 + 1.86768269503982e-03 1.75210301896460e-02 + 2.55965515359469e-03 2.12733095630101e-02 + 3.36297906684865e-03 2.51024823842601e-02 + 4.30430076932742e-03 2.90109899752713e-02 + 5.41334523061249e-03 3.29767262631779e-02 + 6.74716857561911e-03 3.69942424676100e-02 + 8.28928873723673e-03 4.10453881100819e-02 + 1.00794195077674e-02 4.51240489065064e-02 + 1.20612882904423e-02 4.92341140850434e-02 + 1.42527999054193e-02 5.33744571113216e-02 + 1.66289164935771e-02 5.75447455409543e-02 + 1.92067561990959e-02 6.17375779613473e-02 + 2.19945915876867e-02 6.59463553218263e-02 + 2.49923833485361e-02 7.01616869357910e-02 + 2.82109256890907e-02 7.43774694849406e-02 + 3.16558269934085e-02 7.85821842365215e-02 + 3.53289199887431e-02 8.27674467644262e-02 + 3.92346229792959e-02 8.69289574362650e-02 + 4.33690666848927e-02 9.10649963299149e-02 + 4.77424719304472e-02 9.51556815693883e-02 + 5.23544774696668e-02 9.91998488271188e-02 + 5.72043982608224e-02 1.03193356237620e-01 + 6.23027898097415e-02 1.07116897935543e-01 + 6.76461403081773e-02 1.10966337265489e-01 + 7.32374035363292e-02 1.14731817632279e-01 + 7.90790442845742e-02 1.18403020935496e-01 + 8.51712797864121e-02 1.21972349850825e-01 + 9.15114641420283e-02 1.25436357380778e-01 + 9.81001646314178e-02 1.28785439830078e-01 + 1.04936080722340e-01 1.32013486368443e-01 + 1.12022593309583e-01 1.35103353618433e-01 + 1.19356638579019e-01 1.38051972126837e-01 + 1.26932304845102e-01 1.40865901481851e-01 + 1.34751012487242e-01 1.43530310585126e-01 + 1.42810604972708e-01 1.46041948058747e-01 + 1.51109629755865e-01 1.48394243524406e-01 + 1.59650397460870e-01 1.50562902301039e-01 + 1.68426206898648e-01 1.52561001653294e-01 + 1.77435051141596e-01 1.54383612739763e-01 + 1.86675288976271e-01 1.56022172988685e-01 + 1.96145631916838e-01 1.57468477980996e-01 + 2.05840764349413e-01 1.58734679583823e-01 + 2.15760069525232e-01 1.59805856332179e-01 + 2.25899485995056e-01 1.60702390220701e-01 + 2.36258010057915e-01 1.61408705350612e-01 + 2.46833073362046e-01 1.61940360384045e-01 + 2.57622932749092e-01 1.62271441205939e-01 + 2.68625576562631e-01 1.62433774494784e-01 + 2.79839352393455e-01 1.62400042754185e-01 + 2.91262067401072e-01 1.62230907923951e-01 + 3.02893052767776e-01 1.61383250775460e-01 + 3.14730120951629e-01 1.60264316167892e-01 + 3.26770978786010e-01 1.59142835983272e-01 + 3.39014847569322e-01 1.58012882277514e-01 + 3.51459353168841e-01 1.56848974011417e-01 + 3.64102019219135e-01 1.55626399537965e-01 + 3.76941597499826e-01 1.54337274882279e-01 + 3.89975969988928e-01 1.52963700774330e-01 + 4.03203919629940e-01 1.51496903741551e-01 + 4.16621794824389e-01 1.49905837702007e-01 + 4.30229354868869e-01 1.48199812704824e-01 + 4.44023262030406e-01 1.45941127833292e-01 + 4.58000485768835e-01 1.43502540332096e-01 + 4.72161036479830e-01 1.40920418152315e-01 + 4.86502958488108e-01 1.38199815872232e-01 + 5.01024959498606e-01 1.35349817733689e-01 + 5.15722635127152e-01 1.32366000966311e-01 + 5.30592844001216e-01 1.29251402994428e-01 + 5.45634934790387e-01 1.26019995907410e-01 + 5.60844743846067e-01 1.22672319355954e-01 + 5.76218755922979e-01 1.19211563128976e-01 + 5.91751251405612e-01 1.15633150256903e-01 + 6.07443399477076e-01 1.11962195677558e-01 + 6.23285137067223e-01 1.08178544465817e-01 + 6.39276813584391e-01 1.04305579629746e-01 + 6.55412956834645e-01 1.00344238050106e-01 + 6.71686978435328e-01 9.62912693298393e-02 + 6.88096486820389e-01 9.21614598216105e-02 + 7.04635219005550e-01 8.79553801509932e-02 + 7.21295577802815e-01 8.36693376062615e-02 + 7.38075680766425e-01 7.93226722468104e-02 + 7.54968852996380e-01 7.49170049249178e-02 + 7.71969961501859e-01 7.04608718867095e-02 + 7.89073925052129e-01 6.59638397611041e-02 + 8.06273915840113e-01 6.14295966862295e-02 + 8.23562725422814e-01 5.68613411070895e-02 + 8.40934978079703e-01 5.22698356896253e-02 + 8.58387753786377e-01 4.76757387735603e-02 + 8.75915010162172e-01 4.30887496782642e-02 + 8.93505693295502e-01 3.85002281063371e-02 + 9.11158151974088e-01 3.39379729071236e-02 + 9.28868179178930e-01 2.94209452862480e-02 + 9.46626564710179e-01 2.49493364505803e-02 + 9.64414839745242e-01 2.04458435480200e-02 + 9.82209801121977e-01 1.59240487172577e-02 + 1.00000000000000e+00 1.13821920044181e-02 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF18_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF18_Coords.txt new file mode 100644 index 0000000..494d433 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF18_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -1.16632865296421e-02 + 9.80217654328904e-01 -6.92509062408520e-03 + 9.60188302276238e-01 -3.47720169982583e-03 + 9.40008342543793e-01 -1.62141042692285e-03 + 9.19798890257740e-01 -9.84799370916085e-04 + 8.99636132540208e-01 -1.42658986873376e-03 + 8.79578621787504e-01 -2.66830892914488e-03 + 8.59675619332631e-01 -4.79121439832610e-03 + 8.39968547108665e-01 -7.71816230647970e-03 + 8.20492534390534e-01 -1.13881558100171e-02 + 8.01270717529288e-01 -1.57070253661491e-02 + 7.82312429580785e-01 -2.05764974766374e-02 + 7.63622370079569e-01 -2.59089460778903e-02 + 7.45211498988559e-01 -3.16600753977219e-02 + 7.27074298261763e-01 -3.77443546888712e-02 + 7.09199899054353e-01 -4.40762674869390e-02 + 6.91575157567226e-01 -5.05758330830263e-02 + 6.74188963501973e-01 -5.71775559506585e-02 + 6.57030352285490e-01 -6.38218095061332e-02 + 6.40084081491944e-01 -7.04420266390534e-02 + 6.23339557323550e-01 -7.69862248432273e-02 + 6.06787128885386e-01 -8.34062094890199e-02 + 5.90419282702000e-01 -8.96609914654253e-02 + 5.74231528259348e-01 -9.57173463476151e-02 + 5.58224657673924e-01 -1.01554962969757e-01 + 5.42397362574000e-01 -1.07149396358289e-01 + 5.26743502195508e-01 -1.12465677563980e-01 + 5.11271756957334e-01 -1.17506597410144e-01 + 4.95978715201395e-01 -1.22243265855024e-01 + 4.80871678879433e-01 -1.26676107420163e-01 + 4.65954449488553e-01 -1.30799259244738e-01 + 4.51233469825178e-01 -1.34611231534369e-01 + 4.36712467656939e-01 -1.38107692620167e-01 + 4.22398369061556e-01 -1.41293244614854e-01 + 4.08294288176469e-01 -1.44162751378535e-01 + 3.94406752726309e-01 -1.46725919933101e-01 + 3.80736171500234e-01 -1.48966261238432e-01 + 3.67292537958174e-01 -1.50893958601297e-01 + 3.54079354080868e-01 -1.52268705525896e-01 + 3.41103242622663e-01 -1.53273487231421e-01 + 3.28367282658943e-01 -1.54141563125759e-01 + 3.15877949034209e-01 -1.54937341760375e-01 + 3.03637400951257e-01 -1.55686457459697e-01 + 2.91650550198012e-01 -1.56429877321322e-01 + 2.79918790796599e-01 -1.57179907120785e-01 + 2.68446147873612e-01 -1.56739683023583e-01 + 2.57233740220227e-01 -1.56011359117290e-01 + 2.46282991616062e-01 -1.55125449986524e-01 + 2.35594531416695e-01 -1.54241324576378e-01 + 2.25169533799376e-01 -1.53163038757884e-01 + 2.15008095252323e-01 -1.51891892336257e-01 + 2.05109846498368e-01 -1.50438453204258e-01 + 1.95473890481048e-01 -1.48822464974549e-01 + 1.86100360366917e-01 -1.47041029510206e-01 + 1.76987001335500e-01 -1.45109132028452e-01 + 1.68132562074583e-01 -1.43033173670747e-01 + 1.59534672643874e-01 -1.40828940594189e-01 + 1.51193068694253e-01 -1.38493321151030e-01 + 1.43102997909428e-01 -1.36045119545306e-01 + 1.35263146872037e-01 -1.33489680733670e-01 + 1.27675151630859e-01 -1.30819264958480e-01 + 1.20333287993772e-01 -1.28051371517557e-01 + 1.13235918397337e-01 -1.25191829210217e-01 + 1.06382904128971e-01 -1.22240963338892e-01 + 9.97703666914516e-02 -1.19209286399118e-01 + 9.33935145564022e-02 -1.16107818161238e-01 + 8.72539181480834e-02 -1.12931593320882e-01 + 8.13464745357984e-02 -1.09692982285081e-01 + 7.56715678410008e-02 -1.06391152485122e-01 + 7.02274155475578e-02 -1.03030890600004e-01 + 6.50144477416426e-02 -9.96140722588892e-02 + 6.00284060500332e-02 -9.61481102145142e-02 + 5.52685822446613e-02 -9.26371675060462e-02 + 5.07320831730570e-02 -8.90854938966851e-02 + 4.64158187161950e-02 -8.55005001887829e-02 + 4.23141374159713e-02 -8.18925964414078e-02 + 3.84244349043443e-02 -7.82661301270864e-02 + 3.47439335278356e-02 -7.46226507569578e-02 + 3.12721181471367e-02 -7.09673076413688e-02 + 2.80107663787650e-02 -6.73030804258061e-02 + 2.49516126236822e-02 -6.36358247511843e-02 + 2.20967893222459e-02 -5.99680287272591e-02 + 1.94423550928764e-02 -5.63066718745816e-02 + 1.69854303472378e-02 -5.26541425272748e-02 + 1.47151058422611e-02 -4.90249539685495e-02 + 1.26204707975494e-02 -4.54247856872051e-02 + 1.06844600893296e-02 -4.18610018263988e-02 + 8.92572101090407e-03 -3.83331838313589e-02 + 7.34344739742936e-03 -3.48377906513379e-02 + 5.96185450933529e-03 -3.13777109356842e-02 + 4.74970502747944e-03 -2.79556186151972e-02 + 3.72553821482971e-03 -2.45846939956754e-02 + 2.85254518581349e-03 -2.12656749283929e-02 + 2.14467948559800e-03 -1.80104156369561e-02 + 1.55686984724083e-03 -1.48192629888907e-02 + 1.05161621044168e-03 -1.17073749587869e-02 + 6.04684511656445e-04 -8.67219194455909e-03 + 3.17558002523636e-04 -5.71139385374425e-03 + 1.09603574592077e-04 -2.82105853016805e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 1.04133011985657e-04 2.80019482937380e-03 + 3.20781607272749e-04 5.68802423881039e-03 + 6.05657737636481e-04 8.64551523414676e-03 + 1.03870062611886e-03 1.16757579775280e-02 + 1.52703821225340e-03 1.47829066247568e-02 + 2.07847263859631e-03 1.79696618092175e-02 + 2.72067462006770e-03 2.12291506321576e-02 + 3.47581881150172e-03 2.45639349350494e-02 + 4.36891005289184e-03 2.79567882805352e-02 + 5.44986562530461e-03 3.14038253234937e-02 + 6.70348821074795e-03 3.48912891988831e-02 + 8.16274104018753e-03 3.84149982531134e-02 + 9.78757092688314e-03 4.19766255589644e-02 + 1.15925674614671e-02 4.55764884179028e-02 + 1.35454214587330e-02 4.92182138067018e-02 + 1.56687814103139e-02 5.28938871659017e-02 + 1.79744853728911e-02 5.65977547461250e-02 + 2.04636613116212e-02 6.03221416287039e-02 + 2.31434227364193e-02 6.40638256008176e-02 + 2.60166457038436e-02 6.78152964333696e-02 + 2.90904828893974e-02 7.15680560412713e-02 + 3.23698515584093e-02 7.53188617635797e-02 + 3.58529422967718e-02 7.90666583306784e-02 + 3.95464478258127e-02 8.27975294463227e-02 + 4.34544270081752e-02 8.65087444742925e-02 + 4.75784514054465e-02 9.01969128874868e-02 + 5.19270483026970e-02 9.38478481313829e-02 + 5.65001723185461e-02 9.74572838674210e-02 + 6.13020842590936e-02 1.01017128514263e-01 + 6.63367625866232e-02 1.04518945311318e-01 + 7.16063333205297e-02 1.07956377589968e-01 + 7.71110326167617e-02 1.11325799041508e-01 + 8.28521147021733e-02 1.14620114747163e-01 + 8.88311835048391e-02 1.17833395381170e-01 + 9.50529260517316e-02 1.20951768424039e-01 + 1.01516831231572e-01 1.23972264574893e-01 + 1.08221020051123e-01 1.26898323279596e-01 + 1.15168468439125e-01 1.29717653739515e-01 + 1.22360494981534e-01 1.32425491537332e-01 + 1.29798459367319e-01 1.35015077134280e-01 + 1.37486115750144e-01 1.37466709047487e-01 + 1.45420267474120e-01 1.39789161819584e-01 + 1.53601878054672e-01 1.41976563003563e-01 + 1.62031988928493e-01 1.44020373970386e-01 + 1.70713030109411e-01 1.45909914869864e-01 + 1.79642243946684e-01 1.47653806853251e-01 + 1.88821818611783e-01 1.49237224554427e-01 + 1.98251583262402e-01 1.50671159018877e-01 + 2.07932417011279e-01 1.51941904654116e-01 + 2.17864104029836e-01 1.53058588083530e-01 + 2.28047793741785e-01 1.53996899815121e-01 + 2.38483221681258e-01 1.54778972526587e-01 + 2.49171299834269e-01 1.55378972885210e-01 + 2.60111419236226e-01 1.55961702005729e-01 + 2.71304764225112e-01 1.55815126187117e-01 + 2.82750754179475e-01 1.55353269262063e-01 + 2.94448827679890e-01 1.54897002790587e-01 + 3.06398756362994e-01 1.54427745277158e-01 + 3.18599496489687e-01 1.53910327183813e-01 + 3.31049496710481e-01 1.53310934064898e-01 + 3.43747917939376e-01 1.52613186174334e-01 + 3.56693331415869e-01 1.51791317103658e-01 + 3.69884979931269e-01 1.50827218545616e-01 + 3.83320140088490e-01 1.49679120059038e-01 + 3.96998543160869e-01 1.48356344913779e-01 + 4.10917417268813e-01 1.46574702279958e-01 + 4.25074213588026e-01 1.44585799260896e-01 + 4.39468758018075e-01 1.42425706690933e-01 + 4.54099191912527e-01 1.40096936199139e-01 + 4.68963893395827e-01 1.37603642301520e-01 + 4.84059017671957e-01 1.34943731355758e-01 + 4.99381428649330e-01 1.32119947861434e-01 + 5.14929487968173e-01 1.29140227434892e-01 + 5.30699520004976e-01 1.26009865620594e-01 + 5.46687610562902e-01 1.22730744424277e-01 + 5.62887978434513e-01 1.19299537728892e-01 + 5.79299936312816e-01 1.15735359991450e-01 + 5.95914619547052e-01 1.12026818450527e-01 + 6.12730709236635e-01 1.08193835180151e-01 + 6.29743115305241e-01 1.04243942733819e-01 + 6.46943985330232e-01 1.00172688420283e-01 + 6.64328941897631e-01 9.59920179986369e-02 + 6.81891154735795e-01 9.17066524220465e-02 + 6.99621625137081e-01 8.73138166385594e-02 + 7.17516439128198e-01 8.28326480971229e-02 + 7.35566698100536e-01 7.82640172512667e-02 + 7.53765329156961e-01 7.36179318289522e-02 + 7.72104984951822e-01 6.89049292301415e-02 + 7.90576506135902e-01 6.41298775103396e-02 + 8.09171494303623e-01 5.93024873868261e-02 + 8.27882121516277e-01 5.44356425302492e-02 + 8.46702517631436e-01 4.95509174769936e-02 + 8.65622909509902e-01 4.46562074349216e-02 + 8.84631945592956e-01 3.97550678929255e-02 + 9.03724711163877e-01 3.48766374686173e-02 + 9.22893082456990e-01 3.00389238712883e-02 + 9.42126629336644e-01 2.52524243263971e-02 + 9.61406305100774e-01 2.04763805013702e-02 + 9.80704028333917e-01 1.57106771972442e-02 + 1.00000000000000e+00 1.09645280246108e-02 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF19_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF19_Coords.txt new file mode 100644 index 0000000..cfa685c --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF19_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -1.09393020671112e-02 + 9.78333496951182e-01 -6.09819736643714e-03 + 9.56431158976776e-01 -2.65453624834099e-03 + 9.34398717093692e-01 -1.00094576310997e-03 + 9.12358410032814e-01 -6.01121712902224e-04 + 8.90400292149856e-01 -1.29742623431100e-03 + 8.68595304831126e-01 -3.07024826935875e-03 + 8.46999094239379e-01 -5.81203568962472e-03 + 8.25658239673608e-01 -9.42539212210090e-03 + 8.04612557488666e-01 -1.38435983269780e-02 + 7.83892323498624e-01 -1.89771274637964e-02 + 7.63499275030790e-01 -2.46807473518411e-02 + 7.43435350944336e-01 -3.08502367938405e-02 + 7.23705222999466e-01 -3.74140197844376e-02 + 7.04297152053772e-01 -4.42668286922150e-02 + 6.85193315938445e-01 -5.13038578132970e-02 + 6.66376445067804e-01 -5.84336767868266e-02 + 6.47831143866776e-01 -6.55780762620468e-02 + 6.29541365145368e-01 -7.26617381923438e-02 + 6.11492683585961e-01 -7.96160604759830e-02 + 5.93675734090156e-01 -8.63866506552769e-02 + 5.76081455796181e-01 -9.29197470476168e-02 + 5.58707373742206e-01 -9.91797148944977e-02 + 5.41552896815921e-01 -1.05135367741834e-01 + 5.24621250882551e-01 -1.10764526118692e-01 + 5.07915943836515e-01 -1.16047452438402e-01 + 4.91438955221403e-01 -1.20964005096228e-01 + 4.75201495694346e-01 -1.25519060395104e-01 + 4.59206271308544e-01 -1.29695128374689e-01 + 4.43462845817948e-01 -1.33495821363570e-01 + 4.27979306120404e-01 -1.36927177792386e-01 + 4.12763369408319e-01 -1.39989421343618e-01 + 3.97821910702718e-01 -1.42690054055173e-01 + 3.83162546044567e-01 -1.45037578262237e-01 + 3.68790521495786e-01 -1.47039073261606e-01 + 3.54712032463977e-01 -1.48710982171189e-01 + 3.40929281503218e-01 -1.50049372352149e-01 + 3.27450087324796e-01 -1.51055237733833e-01 + 3.14277117443900e-01 -1.51825971231181e-01 + 3.01415278469621e-01 -1.52287468818975e-01 + 2.88866579821921e-01 -1.52450984836899e-01 + 2.76634394161481e-01 -1.52398468047258e-01 + 2.64719456380979e-01 -1.52175510416933e-01 + 2.53123768646431e-01 -1.51834214141211e-01 + 2.41846415240011e-01 -1.51406188619243e-01 + 2.30888620225768e-01 -1.49976451086223e-01 + 2.20249125430754e-01 -1.48257879232326e-01 + 2.09925458691854e-01 -1.46439084376609e-01 + 1.99914952074148e-01 -1.44782791105428e-01 + 1.90215998560613e-01 -1.42962298423848e-01 + 1.80825181653302e-01 -1.40984823137618e-01 + 1.71737744657410e-01 -1.38865248726906e-01 + 1.62950252449625e-01 -1.36619276260809e-01 + 1.54459360253471e-01 -1.34249620324710e-01 + 1.46258399113103e-01 -1.31773030446830e-01 + 1.38342616314124e-01 -1.29197644752230e-01 + 1.30707037499332e-01 -1.26536320347263e-01 + 1.23346891865740e-01 -1.23791462316458e-01 + 1.16254273795245e-01 -1.20979651167356e-01 + 1.09425495917880e-01 -1.18105193374361e-01 + 1.02857966319201e-01 -1.15165676437425e-01 + 9.65424632688522e-02 -1.12176927991261e-01 + 9.04751162344416e-02 -1.09143352464236e-01 + 8.46528291607890e-02 -1.06066022962314e-01 + 7.90695396518661e-02 -1.02953157571851e-01 + 7.37179678970966e-02 -9.98140020480188e-02 + 6.85953548766180e-02 -9.66472462031963e-02 + 6.36955691004824e-02 -9.34613318073815e-02 + 5.90151545325721e-02 -9.02569967100400e-02 + 5.45502059077884e-02 -8.70376943488093e-02 + 5.02998271876843e-02 -8.38034352535125e-02 + 4.62564485128575e-02 -8.05615600296623e-02 + 4.24193799055669e-02 -7.73131586465496e-02 + 3.87827518953038e-02 -7.40621676384129e-02 + 3.53403713535823e-02 -7.08148158843870e-02 + 3.20889331451904e-02 -6.75760124978618e-02 + 2.90241183716289e-02 -6.43491707817425e-02 + 2.61396381754450e-02 -6.11365552233610e-02 + 2.34315329560047e-02 -5.79421874470826e-02 + 2.09053595551905e-02 -5.47644786915078e-02 + 1.85499176766635e-02 -5.16093767808416e-02 + 1.63624728569742e-02 -4.84792206988748e-02 + 1.43367528512121e-02 -4.53789488994303e-02 + 1.24766390821413e-02 -4.23073912789209e-02 + 1.07692850484703e-02 -3.92744802315685e-02 + 9.20086291157029e-03 -3.62859296722089e-02 + 7.75047739473341e-03 -3.33483148361587e-02 + 6.43646810583385e-03 -3.04588320387084e-02 + 5.27521860125765e-03 -2.76088807047684e-02 + 4.26965069145353e-03 -2.48038848191355e-02 + 3.39317940641972e-03 -2.20459815618399e-02 + 2.66595299597293e-03 -1.93429305363773e-02 + 2.05399135900849e-03 -1.66947520253386e-02 + 1.55824840843005e-03 -1.41101284297585e-02 + 1.14772360108236e-03 -1.15884068754302e-02 + 7.94161299504126e-04 -9.13842848666729e-03 + 4.78112757278973e-04 -6.75812534852917e-03 + 2.64370856749643e-04 -4.44504963736360e-03 + 1.02391119241458e-04 -2.19588423963092e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 9.90965621418903e-05 2.16431371156758e-03 + 2.65301296267018e-04 4.41151991172855e-03 + 4.76493859013289e-04 6.72183521643065e-03 + 7.82573107955037e-04 9.09799815287762e-03 + 1.12377305711426e-03 1.15436287031924e-02 + 1.50883434598751e-03 1.40608993919477e-02 + 1.96029535233688e-03 1.66459792120483e-02 + 2.49503702246557e-03 1.93015726796802e-02 + 3.13247636539726e-03 2.20162300163472e-02 + 3.91407948474630e-03 2.47879167184651e-02 + 4.82616998705845e-03 2.76080772123576e-02 + 5.89371958633038e-03 3.04748177503797e-02 + 7.09587611985723e-03 3.33871878541068e-02 + 8.44330451013037e-03 3.63472140811730e-02 + 9.89508755804619e-03 3.93632106898694e-02 + 1.14804207464159e-02 4.24266556420869e-02 + 1.32153630670653e-02 4.55327958814750e-02 + 1.51024243414525e-02 4.86759876669029e-02 + 1.71443607593656e-02 5.18564195246253e-02 + 1.93408137661224e-02 5.50713266123956e-02 + 2.17052339515164e-02 5.83120762922151e-02 + 2.42431292660238e-02 6.15766771776389e-02 + 2.69551288267646e-02 6.48648608346220e-02 + 2.98437486802292e-02 6.81697731991359e-02 + 3.29182803465840e-02 7.14868293918001e-02 + 3.61829668221013e-02 7.48135283424277e-02 + 3.96439343232895e-02 7.81417438901888e-02 + 4.33052411288557e-02 8.14670561737065e-02 + 4.71726953413599e-02 8.47834630879645e-02 + 5.12520673532864e-02 8.80847550588798e-02 + 5.55477428620194e-02 9.13660441432593e-02 + 6.00633698875572e-02 9.46234917584035e-02 + 6.48010158850482e-02 9.78529729503989e-02 + 6.97657231697966e-02 1.01048773263976e-01 + 7.49637250072289e-02 1.04200892319385e-01 + 8.03975322522573e-02 1.07306479379084e-01 + 8.60700399337448e-02 1.10365280170869e-01 + 9.19860654863844e-02 1.13368011179097e-01 + 9.81510414458546e-02 1.16308116805026e-01 + 1.04569656708795e-01 1.19178613576066e-01 + 1.11247374322390e-01 1.21965237575119e-01 + 1.18185146402247e-01 1.24671669653449e-01 + 1.25387452963330e-01 1.27290920295439e-01 + 1.32858511244023e-01 1.29814479216162e-01 + 1.40605153329577e-01 1.32228736075826e-01 + 1.48627649762734e-01 1.34538132258339e-01 + 1.56931509263663e-01 1.36727956162304e-01 + 1.65521166807231e-01 1.38798081545952e-01 + 1.74399730437513e-01 1.40737016941479e-01 + 1.83569769313430e-01 1.42546274531895e-01 + 1.93035857184101e-01 1.44203444426111e-01 + 2.02799797960237e-01 1.45719183252951e-01 + 2.12865539435827e-01 1.47069414677167e-01 + 2.23234347686069e-01 1.48505936143613e-01 + 2.33909600870229e-01 1.49415396704872e-01 + 2.44892620687528e-01 1.50007826373712e-01 + 2.56184895812800e-01 1.50521747266961e-01 + 2.67786849389590e-01 1.50934563370273e-01 + 2.79699012638678e-01 1.51210679094819e-01 + 2.91920929272184e-01 1.51316556155420e-01 + 3.04452244549660e-01 1.51235575267213e-01 + 3.17292345679018e-01 1.50942298552532e-01 + 3.30441019833195e-01 1.50416843388429e-01 + 3.43896642447748e-01 1.49614985014895e-01 + 3.57658911621237e-01 1.48551703923871e-01 + 3.71725725348275e-01 1.47326941586531e-01 + 3.86095105074260e-01 1.45870388544101e-01 + 4.00766658286734e-01 1.44209907283515e-01 + 4.15738641204923e-01 1.42344999014295e-01 + 4.31009041786004e-01 1.40273982295155e-01 + 4.46574677691199e-01 1.37997520775421e-01 + 4.62432419080659e-01 1.35518012181575e-01 + 4.78579459119651e-01 1.32836245972147e-01 + 4.95012699923397e-01 1.29963147861278e-01 + 5.11727755004241e-01 1.26899051661751e-01 + 5.28718770240375e-01 1.23642112053256e-01 + 5.45982860556142e-01 1.20204339943648e-01 + 5.63512580025598e-01 1.16584715483687e-01 + 5.81304634754021e-01 1.12799063589885e-01 + 5.99354387027370e-01 1.08862724970938e-01 + 6.17652488014572e-01 1.04769823623678e-01 + 6.36192209395313e-01 1.00528942527338e-01 + 6.54966049326153e-01 9.61497159173587e-02 + 6.73963349938461e-01 9.16304550949505e-02 + 6.93177792275724e-01 8.69900576527363e-02 + 7.12597845236384e-01 8.22285056997021e-02 + 7.32214139404039e-01 7.73575489481384e-02 + 7.52016644738228e-01 7.23888740258830e-02 + 7.71993441740228e-01 6.73287458100196e-02 + 7.92134723291065e-01 6.21945844410601e-02 + 8.12429758442606e-01 5.70017844986369e-02 + 8.32869184614226e-01 5.17730051402206e-02 + 8.53438812082886e-01 4.65140058123626e-02 + 8.74126936926262e-01 4.12427797415376e-02 + 8.94924780993199e-01 3.59900516032138e-02 + 9.15819583755837e-01 3.07727003291269e-02 + 9.36799470881938e-01 2.56134237186330e-02 + 9.57844711558385e-01 2.05154769117794e-02 + 9.78921449347125e-01 1.54616216932341e-02 + 1.00000000000000e+00 1.04746693688942e-02 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF20_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF20_Coords.txt new file mode 100644 index 0000000..4d5ac3a --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF20_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -1.01629406069420e-02 + 9.76564055555559e-01 -5.27635803339109e-03 + 9.52902767472989e-01 -1.86644206570412e-03 + 9.29130630890963e-01 -4.17973315924122e-04 + 9.05370939734970e-01 -2.29089713392072e-04 + 8.81726771294709e-01 -1.17216790376347e-03 + 8.58280701649009e-01 -3.44375697375845e-03 + 8.35094373053208e-01 -6.76674602622409e-03 + 8.12219208168558e-01 -1.10247193424094e-02 + 7.89699425059321e-01 -1.61455836915237e-02 + 7.67572004319938e-01 -2.20441722668217e-02 + 7.45831550011316e-01 -2.85311532610704e-02 + 7.24477408399593e-01 -3.54867207297548e-02 + 7.03508345896347e-01 -4.28136793777355e-02 + 6.82906781031105e-01 -5.03882263597857e-02 + 6.62648361660741e-01 -5.80874411482768e-02 + 6.42711943609450e-01 -6.58091408367421e-02 + 6.23078106932431e-01 -7.34631763249916e-02 + 6.03726031275393e-01 -8.09594934703928e-02 + 5.84642058679708e-01 -8.82275790793056e-02 + 5.65817977937610e-01 -9.52107774712417e-02 + 5.47245282296606e-01 -1.01850098857862e-01 + 5.28926228541099e-01 -1.08114936836081e-01 + 5.10863887547382e-01 -1.13976018841725e-01 + 4.93063770751835e-01 -1.19409410849581e-01 + 4.75533909079063e-01 -1.24399796052971e-01 + 4.58283907979429e-01 -1.28940957436179e-01 + 4.41327354296019e-01 -1.33039729808372e-01 + 4.24672699319516e-01 -1.36689329202356e-01 + 4.08331630897378e-01 -1.39896361665720e-01 + 3.92316260413709e-01 -1.42678042316371e-01 + 3.76635501865932e-01 -1.45036203989466e-01 + 3.61299185909517e-01 -1.46989461940375e-01 + 3.46315576540607e-01 -1.48549981263645e-01 + 3.31691921944443e-01 -1.49736312961996e-01 + 3.17434105444553e-01 -1.50571226125508e-01 + 3.03546014147454e-01 -1.51062580026399e-01 + 2.90033424424276e-01 -1.51202738707254e-01 + 2.76898220130679e-01 -1.51371172227139e-01 + 2.64143696217142e-01 -1.51287042314499e-01 + 2.51770857573644e-01 -1.50766584802989e-01 + 2.39780163551962e-01 -1.49893685900974e-01 + 2.28171011453065e-01 -1.48721868465182e-01 + 2.16942670971937e-01 -1.47305055760789e-01 + 2.06092057278170e-01 -1.45686866783463e-01 + 1.95617763914558e-01 -1.43419466071986e-01 + 1.85516300464311e-01 -1.40882977400319e-01 + 1.75781536024106e-01 -1.38277625044398e-01 + 1.66407706122415e-01 -1.35896176967234e-01 + 1.57390591879564e-01 -1.33378666317204e-01 + 1.48723477697856e-01 -1.30737866646966e-01 + 1.40397486590582e-01 -1.27992714271707e-01 + 1.32406799896512e-01 -1.25155113845211e-01 + 1.24744806648972e-01 -1.22233050947367e-01 + 1.17400692509174e-01 -1.19244931998198e-01 + 1.10366416541662e-01 -1.16200526350990e-01 + 1.03634558540950e-01 -1.13109940395140e-01 + 9.71961156233807e-02 -1.09980760063964e-01 + 9.10402208562468e-02 -1.06827477557158e-01 + 8.51609574538954e-02 -1.03653424094355e-01 + 7.95517629560949e-02 -1.00461190085674e-01 + 7.42001310401230e-02 -9.72650332810979e-02 + 6.91000941578372e-02 -9.40680204601587e-02 + 6.42457789677888e-02 -9.08719270027057e-02 + 5.96290721407326e-02 -8.76828162798763e-02 + 5.52403570817134e-02 -8.45082680416983e-02 + 5.10728089227914e-02 -8.13504046773394e-02 + 4.71193302380847e-02 -7.82139785128710e-02 + 4.33728586399823e-02 -7.51012022018099e-02 + 3.98274953569316e-02 -7.20142771141671e-02 + 3.64810989663015e-02 -6.89514622360701e-02 + 3.33229897406936e-02 -6.59200304184545e-02 + 3.03524948415320e-02 -6.29181856630621e-02 + 2.75609496919081e-02 -5.99495703459587e-02 + 2.49392470790590e-02 -5.70193033838678e-02 + 2.24862853359655e-02 -5.41271278668343e-02 + 2.01961354220026e-02 -5.12755798045939e-02 + 1.80592110536455e-02 -4.84675951297020e-02 + 1.60683178832446e-02 -4.57061364391409e-02 + 1.42325618817961e-02 -4.29853247097997e-02 + 1.25379867332418e-02 -4.03111943366398e-02 + 1.09772873893357e-02 -3.76859442569474e-02 + 9.54200265528784e-03 -3.51125961271468e-02 + 8.24236332417406e-03 -3.25866380596451e-02 + 7.06370358548052e-03 -3.01137004648171e-02 + 5.98945614598226e-03 -2.76995295875225e-02 + 4.99512877298731e-03 -2.53499597874977e-02 + 4.09877212221573e-03 -2.30599474675419e-02 + 3.33291288368029e-03 -2.08161405748393e-02 + 2.68047585892929e-03 -1.86263440670013e-02 + 2.11924517114485e-03 -1.64921910530911e-02 + 1.67088009463077e-03 -1.44163504710578e-02 + 1.30405708361904e-03 -1.23981687236204e-02 + 1.00752189487569e-03 -1.04433495040769e-02 + 7.63488020033550e-04 -8.55030106526493e-03 + 5.52381402397009e-04 -6.72193227949928e-03 + 3.59247261031066e-04 -4.95663698285814e-03 + 2.14421983815630e-04 -3.25184739734959e-03 + 9.51938837357210e-05 -1.60481461434970e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 9.37383340616188e-05 1.57110665801089e-03 + 2.13198876322539e-04 3.21669367344145e-03 + 3.55194058711376e-04 4.91923625661353e-03 + 5.42039785974738e-04 6.68114270890756e-03 + 7.45060499791641e-04 8.50553136166462e-03 + 9.73878196680902e-04 1.03940787842877e-02 + 1.24621139703436e-03 1.23458106572824e-02 + 1.57396964342763e-03 1.43635654848696e-02 + 1.97132232621591e-03 1.64413184384214e-02 + 2.47179891728492e-03 1.85787731683269e-02 + 3.06315134698651e-03 2.07722587142449e-02 + 3.76284637187265e-03 2.30220299364633e-02 + 4.56806380850323e-03 2.53246725389594e-02 + 5.48578286269067e-03 2.76838182683258e-02 + 6.46700241606666e-03 3.01121832815741e-02 + 7.54706633232816e-03 3.26006750479806e-02 + 8.74599754891500e-03 3.51454802775258e-02 + 1.00676036099549e-02 3.77428627393847e-02 + 1.15105486783715e-02 4.03962140377403e-02 + 1.30714365259339e-02 4.31072257966848e-02 + 1.47696322113560e-02 4.58671390174957e-02 + 1.66111984066909e-02 4.86751374050032e-02 + 1.85990542915288e-02 5.15316914546419e-02 + 2.07317935322867e-02 5.44365793541140e-02 + 2.30236217189109e-02 5.73834748755483e-02 + 2.54812906333908e-02 6.03707122515318e-02 + 2.81086716115344e-02 6.33958567308801e-02 + 3.09136767428390e-02 6.64543442765595e-02 + 3.39035672199516e-02 6.95421350431518e-02 + 3.70857962647807e-02 7.26551110419427e-02 + 4.04668716733329e-02 7.57897636325484e-02 + 4.40536456000151e-02 7.89420548824714e-02 + 4.78489492152709e-02 8.21106489778307e-02 + 5.18610538771431e-02 8.52900332515684e-02 + 5.60976449475549e-02 8.84738437103762e-02 + 6.05640712567051e-02 9.16593409613794e-02 + 6.52677111916042e-02 9.48428019044891e-02 + 7.02151115737241e-02 9.80177672101252e-02 + 7.54155684126915e-02 1.01175999153309e-01 + 8.08768971156664e-02 1.04310303961728e-01 + 8.66061655782245e-02 1.07411524220580e-01 + 9.26082220915872e-02 1.10478557216616e-01 + 9.88908490699364e-02 1.13503364377780e-01 + 1.05461246196246e-01 1.16477462037534e-01 + 1.12330379609266e-01 1.19384487787883e-01 + 1.19501363675173e-01 1.22224957728440e-01 + 1.26982825492884e-01 1.24984267096020e-01 + 1.34783525431558e-01 1.27651849232092e-01 + 1.42908664759231e-01 1.30218291987654e-01 + 1.51363428059753e-01 1.32677956706746e-01 + 1.60155604919303e-01 1.35010217442930e-01 + 1.69288941693095e-01 1.37214953489673e-01 + 1.78770237149438e-01 1.39269738535278e-01 + 1.88602518242459e-01 1.41442621468535e-01 + 1.98791223382994e-01 1.43350722961820e-01 + 2.09339460769087e-01 1.44972408375739e-01 + 2.20250644350869e-01 1.46414096659509e-01 + 2.31525809112119e-01 1.47655773157723e-01 + 2.43166965342848e-01 1.48666817676916e-01 + 2.55174685144507e-01 1.49420232409367e-01 + 2.67549068633062e-01 1.49903909910836e-01 + 2.80290269305010e-01 1.50097892097572e-01 + 2.93398585570511e-01 1.49985340082097e-01 + 3.06873424795887e-01 1.49523842922762e-01 + 3.20714453924754e-01 1.48737406824995e-01 + 3.34920200040971e-01 1.48037339937729e-01 + 3.49489220139047e-01 1.47080725009147e-01 + 3.64420916592402e-01 1.45889436472579e-01 + 3.79713653492388e-01 1.44460148405892e-01 + 3.95365052384050e-01 1.42785698729856e-01 + 4.11372553052473e-01 1.40869340509116e-01 + 4.27733031528910e-01 1.38713145810163e-01 + 4.44442583645683e-01 1.36311193023964e-01 + 4.61498654081415e-01 1.33679695244267e-01 + 4.78896412812820e-01 1.30817532351858e-01 + 4.96629937243072e-01 1.27724249665593e-01 + 5.14694278337904e-01 1.24405187040223e-01 + 5.33083322517832e-01 1.20869065989101e-01 + 5.51791921140529e-01 1.17127863724620e-01 + 5.70815861312387e-01 1.13204253715040e-01 + 5.90144388901980e-01 1.09091023302907e-01 + 6.09768567816414e-01 1.04793597428767e-01 + 6.29680265528769e-01 1.00326224467597e-01 + 6.49867266026613e-01 9.56882359317000e-02 + 6.70320991796415e-01 9.08983041609065e-02 + 6.91027439521691e-01 8.59555770060733e-02 + 7.11975083089197e-01 8.08734401039727e-02 + 7.33151373098203e-01 7.56646593401528e-02 + 7.54541797950800e-01 7.03368113684905e-02 + 7.76135227583435e-01 6.49145563683423e-02 + 7.97918204786827e-01 5.94156469528838e-02 + 8.19878087177515e-01 5.38637608640574e-02 + 8.41996537350120e-01 4.82626518218661e-02 + 8.64261520472198e-01 4.26438717559159e-02 + 8.86660630181438e-01 3.70396348331895e-02 + 9.09176751494747e-01 3.14657599329256e-02 + 9.31796653812487e-01 2.59564026025220e-02 + 9.54499963862254e-01 2.05416793916086e-02 + 9.77247401792770e-01 1.51928007971372e-02 + 1.00000000000000e+00 9.94263213662223e-03 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF21_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF21_Coords.txt new file mode 100644 index 0000000..f77c42b --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF21_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -9.42412799643962e-03 + 9.75329853741237e-01 -4.55562302984154e-03 + 9.50441681614827e-01 -1.20075060044008e-03 + 9.25456091815809e-01 8.90361527071166e-05 + 9.00497114277709e-01 1.35652908829840e-04 + 8.75676909907685e-01 -1.07670175435165e-03 + 8.51086170090705e-01 -3.69618546554730e-03 + 8.26790719412394e-01 -7.42456805674336e-03 + 8.02845358824188e-01 -1.21321676388136e-02 + 7.79297376623554e-01 -1.77431425723253e-02 + 7.56188430051543e-01 -2.41753672145602e-02 + 7.33508147649464e-01 -3.12087498590349e-02 + 7.11254067325731e-01 -3.87126140552249e-02 + 6.89420836456379e-01 -4.65718948153249e-02 + 6.67986798492830e-01 -5.46498608102546e-02 + 6.46923046574195e-01 -6.28109562545029e-02 + 6.26205733962059e-01 -7.09454982411323e-02 + 6.05812633676340e-01 -7.89550095837847e-02 + 5.85719596036303e-01 -8.67391575759325e-02 + 5.65913498323342e-01 -9.42260960195752e-02 + 5.46386934179133e-01 -1.01357590615292e-01 + 5.27131783347551e-01 -1.08071004922419e-01 + 5.08153603049962e-01 -1.14339239862498e-01 + 4.89458018433735e-01 -1.20134357827350e-01 + 4.71052135142369e-01 -1.25431200973852e-01 + 4.52947138956048e-01 -1.30217536030444e-01 + 4.35157954465966e-01 -1.34496858511634e-01 + 4.17699825926991e-01 -1.38277369302885e-01 + 4.00585211986335e-01 -1.41559751966697e-01 + 3.83827282066409e-01 -1.44352700697479e-01 + 3.67440954667878e-01 -1.46681226456357e-01 + 3.51435978570786e-01 -1.48548284477431e-01 + 3.35824246013088e-01 -1.49980241588510e-01 + 3.20614472945683e-01 -1.50991817692829e-01 + 3.05815304053432e-01 -1.51609565414580e-01 + 2.91432404978324e-01 -1.51860666268209e-01 + 2.77470837817852e-01 -1.51761204493462e-01 + 2.63934954391910e-01 -1.51297524706721e-01 + 2.50826091946355e-01 -1.50811853940491e-01 + 2.38146421284811e-01 -1.50074135537068e-01 + 2.25896246628257e-01 -1.48919352638034e-01 + 2.14073995268444e-01 -1.47405032393794e-01 + 2.02678131523692e-01 -1.45569643011671e-01 + 1.91706019165055e-01 -1.43451094156630e-01 + 1.81153060385941e-01 -1.41087020832489e-01 + 1.71016013916131e-01 -1.38425516159737e-01 + 1.61289832328010e-01 -1.35547691800850e-01 + 1.51965832712967e-01 -1.32576834027465e-01 + 1.43036090736418e-01 -1.29689583735305e-01 + 1.34494565720223e-01 -1.26685896575896e-01 + 1.26332240913951e-01 -1.23582421984493e-01 + 1.18537365389011e-01 -1.20400923166366e-01 + 1.11102457944325e-01 -1.17150656740343e-01 + 1.04018629415209e-01 -1.13843284853958e-01 + 9.72721740197549e-02 -1.10498369624661e-01 + 9.08527572577668e-02 -1.07126818202581e-01 + 8.47512529218541e-02 -1.03736818326480e-01 + 7.89557062127688e-02 -1.00339569619840e-01 + 7.34531846533524e-02 -9.69481076682339e-02 + 6.82362164197960e-02 -9.35650834420267e-02 + 6.32954695592884e-02 -9.01965769276680e-02 + 5.86161467154131e-02 -8.68557508659514e-02 + 5.41908176520568e-02 -8.35447390139191e-02 + 5.00116718447934e-02 -8.02658065939809e-02 + 4.60691654194023e-02 -7.70235140433874e-02 + 4.23520518521120e-02 -7.38242790580997e-02 + 3.88506703081703e-02 -7.06726182814893e-02 + 3.55572496124065e-02 -6.75707106182078e-02 + 3.24622119135344e-02 -6.45217974113015e-02 + 2.95582679507269e-02 -6.15272067019780e-02 + 2.68424076343131e-02 -5.85839757583624e-02 + 2.43017820750716e-02 -5.56993301719436e-02 + 2.19357303891536e-02 -5.28694609552822e-02 + 1.97336383869655e-02 -5.00978053063859e-02 + 1.76843662548850e-02 -4.73887079328827e-02 + 1.57883492654309e-02 -4.47383085755342e-02 + 1.40385352888849e-02 -4.21485313239385e-02 + 1.24230380563984e-02 -3.96227804499337e-02 + 1.09324069542230e-02 -3.71632798690622e-02 + 9.57822350388835e-03 -3.47611580608061e-02 + 8.34460903997443e-03 -3.24225098040339e-02 + 7.22107048887169e-03 -3.01494363522934e-02 + 6.19761984291063e-03 -2.79436223780135e-02 + 5.28891663995497e-03 -2.57982250682069e-02 + 4.47902608440423e-03 -2.37158741595429e-02 + 3.74947008799864e-03 -2.17023384473732e-02 + 3.07324750782609e-03 -1.97629355238332e-02 + 2.46820745279427e-03 -1.78910594319472e-02 + 1.97813659861554e-03 -1.60700439190365e-02 + 1.57201164732671e-03 -1.43093546933737e-02 + 1.23066420520135e-03 -1.26102732698391e-02 + 9.76807500162775e-04 -1.09719177998627e-02 + 7.80970958473876e-04 -9.39316464869130e-03 + 6.23385034561832e-04 -7.87763983329989e-03 + 4.95480132103175e-04 -6.42309673391595e-03 + 3.83737677651824e-04 -5.02830642196525e-03 + 2.76337472951990e-04 -3.69198480915191e-03 + 1.79582180841092e-04 -2.41148044821756e-03 + 8.93066802273239e-05 -1.18444075874648e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 8.87155415365147e-05 1.16543652634416e-03 + 1.76856954298385e-04 2.39138857044313e-03 + 2.70586320936143e-04 3.67000403318993e-03 + 3.74265558963138e-04 5.00346088038491e-03 + 4.80904972227802e-04 6.39452753728770e-03 + 6.00741311961163e-04 7.84453463996218e-03 + 7.48131203255318e-04 9.35450043505861e-03 + 9.31516588393751e-04 1.09273568846971e-02 + 1.16140659495184e-03 1.25608631131893e-02 + 1.46579482044090e-03 1.42559351494707e-02 + 1.83342946433883e-03 1.60123090963873e-02 + 2.27654250564721e-03 1.78317384882239e-02 + 2.80489123400829e-03 1.97090904932903e-02 + 3.42288403360491e-03 2.16491164923925e-02 + 4.07588117726935e-03 2.36676030078002e-02 + 4.80351508149448e-03 2.57550595848901e-02 + 5.62857357261709e-03 2.79083284293907e-02 + 6.55576936838490e-03 3.01250038166390e-02 + 7.58091240496222e-03 3.24107115274343e-02 + 8.69848764859335e-03 3.47702516125480e-02 + 9.93198555501865e-03 3.71947769354785e-02 + 1.12878557197453e-02 3.96842908381388e-02 + 1.27706146622149e-02 4.22397792261415e-02 + 1.43761201522981e-02 4.48656463443946e-02 + 1.61220053892721e-02 4.75543513582752e-02 + 1.80167720564745e-02 5.03048111318161e-02 + 2.00627186894733e-02 5.31185607249427e-02 + 2.22704454466001e-02 5.59909355367613e-02 + 2.46482270643390e-02 5.89192644161555e-02 + 2.72046905537579e-02 6.19008882746400e-02 + 2.99478238943702e-02 6.49332605483564e-02 + 3.28867141541042e-02 6.80122042564707e-02 + 3.60247252019180e-02 7.11383290361901e-02 + 3.93723806831674e-02 7.43062629696090e-02 + 4.29383788105744e-02 7.75121784767503e-02 + 4.67300479284695e-02 8.07534138286789e-02 + 5.07578936078280e-02 8.40238263856248e-02 + 5.50296689334694e-02 8.73189267140286e-02 + 5.95573647239966e-02 9.06293037902330e-02 + 6.43509771567079e-02 9.39476171559126e-02 + 6.94186935238437e-02 9.72682712290645e-02 + 7.47680797353169e-02 1.00586826715747e-01 + 8.04092216594491e-02 1.03894513317287e-01 + 8.63513992620265e-02 1.07182865933725e-01 + 9.26084622225283e-02 1.10433602563920e-01 + 9.91855085003989e-02 1.13644501385217e-01 + 1.06093340292706e-01 1.16801032155078e-01 + 1.13343734971317e-01 1.19885345927272e-01 + 1.20943353847432e-01 1.22889480896982e-01 + 1.28899205788087e-01 1.25802810631623e-01 + 1.37221323455695e-01 1.28605953502730e-01 + 1.45914808078555e-01 1.31291271512215e-01 + 1.54988447006057e-01 1.33837489255144e-01 + 1.64446495421741e-01 1.36390122612035e-01 + 1.74295828781056e-01 1.38825110742499e-01 + 1.84540801381575e-01 1.41034176702179e-01 + 1.95186170070837e-01 1.43013605956377e-01 + 2.06233396596869e-01 1.44752020162416e-01 + 2.17685522914215e-01 1.46226596825883e-01 + 2.29543838435437e-01 1.47421487783478e-01 + 2.41808760543078e-01 1.48331474094163e-01 + 2.54480977227042e-01 1.48945394853222e-01 + 2.67561143490204e-01 1.49252656392873e-01 + 2.81049386480181e-01 1.49213956539601e-01 + 2.94945351409727e-01 1.48864228524309e-01 + 3.09248004158297e-01 1.48540946688409e-01 + 3.23956275270876e-01 1.47933043239443e-01 + 3.39069424051884e-01 1.47069020987410e-01 + 3.54585889834479e-01 1.45943582059583e-01 + 3.70503038587840e-01 1.44545741580839e-01 + 3.86818744034228e-01 1.42880558757071e-01 + 4.03529886300044e-01 1.40949878503895e-01 + 4.20631795817686e-01 1.38743098180303e-01 + 4.38122295708788e-01 1.36280118876443e-01 + 4.55996246579842e-01 1.33558806342025e-01 + 4.74247678072064e-01 1.30579675879644e-01 + 4.92870201520873e-01 1.27343414222526e-01 + 5.11858632670824e-01 1.23865537574947e-01 + 5.31206529175901e-01 1.20155339339923e-01 + 5.50909974458698e-01 1.16240607653645e-01 + 5.70957234177731e-01 1.12113197529874e-01 + 5.91337832298221e-01 1.07776331147829e-01 + 6.12043196385659e-01 1.03247475287687e-01 + 6.33060023607835e-01 9.85266730684655e-02 + 6.54378161086711e-01 9.36324397140804e-02 + 6.75981881112925e-01 8.85633411725916e-02 + 6.97858153257143e-01 8.33339041532981e-02 + 7.19992670841439e-01 7.79576473340285e-02 + 7.42369114254639e-01 7.24430623451618e-02 + 7.64975430667051e-01 6.68198593604196e-02 + 7.87796261276916e-01 6.11074357432836e-02 + 8.10816676007818e-01 5.53301797078299e-02 + 8.34015444407408e-01 4.94904459611575e-02 + 8.57380300830358e-01 4.36292437542878e-02 + 8.80896308203363e-01 3.77798261883748e-02 + 9.04543314270347e-01 3.19572727461911e-02 + 9.28307142422559e-01 2.62037308608536e-02 + 9.52166971266270e-01 2.05309059939892e-02 + 9.76079738069090e-01 1.49147985067452e-02 + 1.00000000000000e+00 9.38745044130349e-03 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF22_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF22_Coords.txt new file mode 100644 index 0000000..1c8c5a0 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF22_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -8.82463593659055e-03 + 9.75234296882347e-01 -4.07195485675820e-03 + 9.50255544432051e-01 -7.98248950457765e-04 + 9.25182518319792e-01 4.59015405686792e-04 + 9.00137383192707e-01 5.03425663979333e-04 + 8.75232119805695e-01 -9.64914030717306e-04 + 8.50557709806725e-01 -3.58967102599536e-03 + 8.26180125477418e-01 -7.31987891024248e-03 + 8.02154246906259e-01 -1.20246827249572e-02 + 7.78527428533231e-01 -1.76434549167161e-02 + 7.55341868989860e-01 -2.40877649192879e-02 + 7.32587397051707e-01 -3.11356530820595e-02 + 7.10262087078449e-01 -3.86576762939743e-02 + 6.88360042084116e-01 -4.65355162763687e-02 + 6.66859377331190e-01 -5.46311434134933e-02 + 6.45731216285550e-01 -6.28088159733548e-02 + 6.24951659171662e-01 -7.09583241634137e-02 + 6.04498468332129e-01 -7.89808536353920e-02 + 5.84347224103891e-01 -8.67750304311487e-02 + 5.64484814424526e-01 -9.42686930240366e-02 + 5.44903874660855e-01 -1.01403389217168e-01 + 5.25596182786011e-01 -1.08115855460812e-01 + 5.06567529231517e-01 -1.14379226045809e-01 + 4.87823451896779e-01 -1.20164927250333e-01 + 4.69371095089600e-01 -1.25447538406269e-01 + 4.51221749635954e-01 -1.30214673126390e-01 + 4.33390892634647e-01 -1.34470878949829e-01 + 4.15893695233854e-01 -1.38223856931158e-01 + 3.98742948807582e-01 -1.41474761672022e-01 + 3.81951916654198e-01 -1.44233318989729e-01 + 3.65535794905708e-01 -1.46552646022020e-01 + 3.49504350110542e-01 -1.48404356580122e-01 + 3.33869800276634e-01 -1.49815365629171e-01 + 3.18640850767714e-01 -1.50799533979216e-01 + 3.03826511735471e-01 -1.51385076135015e-01 + 2.89432289439516e-01 -1.51597960286678e-01 + 2.75463633707156e-01 -1.51456167973636e-01 + 2.61924667579499e-01 -1.50945289406372e-01 + 2.48816759544315e-01 -1.49820290784658e-01 + 2.36142027215763e-01 -1.48337838607945e-01 + 2.23900757877441e-01 -1.46728676677109e-01 + 2.12091202442600e-01 -1.44987152492908e-01 + 2.00711798064127e-01 -1.43105988156995e-01 + 1.89759746646316e-01 -1.41083500100127e-01 + 1.79230373598411e-01 -1.38924423695571e-01 + 1.69120266929377e-01 -1.36628506888412e-01 + 1.59424268731231e-01 -1.34203523985344e-01 + 1.50133527635805e-01 -1.31586993207801e-01 + 1.41239941796693e-01 -1.28658050632062e-01 + 1.32737352696107e-01 -1.25614268186612e-01 + 1.24616514817842e-01 -1.22473225866236e-01 + 1.16865517450329e-01 -1.19256438509995e-01 + 1.09476741372708e-01 -1.15972874855589e-01 + 1.02441090309246e-01 -1.12634755981313e-01 + 9.57446861112555e-02 -1.09261541429255e-01 + 8.93769879533703e-02 -1.05864324419857e-01 + 8.33286969484173e-02 -1.02451193415354e-01 + 7.75875849096225e-02 -9.90338569650793e-02 + 7.21406034320314e-02 -9.56250005784910e-02 + 6.69801736029935e-02 -9.22271288427092e-02 + 6.20965351512147e-02 -8.88472153672261e-02 + 5.74747850597184e-02 -8.54980753096916e-02 + 5.31073683987994e-02 -8.21816673621395e-02 + 4.89861455187096e-02 -7.89006724384927e-02 + 4.51014790775358e-02 -7.56593674473605e-02 + 4.14418725835168e-02 -7.24642712815675e-02 + 3.79974745107442e-02 -6.93199929403320e-02 + 3.47604115159903e-02 -6.62284421504838e-02 + 3.17206988444021e-02 -6.31932503262627e-02 + 2.88710263785976e-02 -6.02154239665808e-02 + 2.62080930997205e-02 -5.72921577483027e-02 + 2.37188621654212e-02 -5.44305824782203e-02 + 2.14026940124619e-02 -5.16265532316101e-02 + 1.92486521358209e-02 -4.88837255462092e-02 + 1.72452841512816e-02 -4.62063853998756e-02 + 1.53928462682404e-02 -4.35906955444680e-02 + 1.36844065977878e-02 -4.10381361973572e-02 + 1.21080479082528e-02 -3.85518513625596e-02 + 1.06541599785168e-02 -3.61339264768926e-02 + 9.33426978185559e-03 -3.37752236951720e-02 + 8.13267953454782e-03 -3.14816737620833e-02 + 7.03835673364221e-03 -2.92553427534487e-02 + 6.04148662979025e-03 -2.70976270452955e-02 + 5.15689174946352e-03 -2.50014486913912e-02 + 4.36880007549257e-03 -2.29689810492558e-02 + 3.65854316758372e-03 -2.10060486233264e-02 + 2.99941013686039e-03 -1.91176201797404e-02 + 2.40980008753548e-03 -1.72965873497120e-02 + 1.93345318526703e-03 -1.55261559946178e-02 + 1.53812700170979e-03 -1.38161514056102e-02 + 1.20539343917677e-03 -1.21679475625357e-02 + 9.56760038958383e-04 -1.05800479607496e-02 + 7.65342297036178e-04 -9.05136135456472e-03 + 6.09764517824789e-04 -7.58503925452652e-03 + 4.81674424353207e-04 -6.17878150580482e-03 + 3.72236585339006e-04 -4.83104436296697e-03 + 2.71586710445666e-04 -3.54074651466179e-03 + 1.76561614166990e-04 -2.30499697365265e-03 + 8.62412519578493e-05 -1.12213213479821e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 8.47185401973777e-05 1.14027896379731e-03 + 1.71939728463488e-04 2.32205858229273e-03 + 2.61905799319850e-04 3.55614890838687e-03 + 3.56671728002566e-04 4.84438547974499e-03 + 4.56894473875460e-04 6.18967024340794e-03 + 5.71758971911553e-04 7.59303604677746e-03 + 7.12946703728524e-04 9.05548570770134e-03 + 8.90088679297868e-04 1.05800508609476e-02 + 1.11281897036842e-03 1.21649699464116e-02 + 1.40664763699671e-03 1.38109514772927e-02 + 1.76235484285765e-03 1.55183545606631e-02 + 2.19003447587729e-03 1.72891793021203e-02 + 2.70082683401069e-03 1.91181371872414e-02 + 3.29943409992815e-03 2.10099792055921e-02 + 3.93102782928047e-03 2.29804899514016e-02 + 4.63562148560807e-03 2.50203289881847e-02 + 5.43565473538957e-03 2.71263236463253e-02 + 6.33628297941001e-03 2.92962845654899e-02 + 7.33276800568200e-03 3.15359874818167e-02 + 8.41978714840133e-03 3.38503440474200e-02 + 9.61995263674526e-03 3.62317278234274e-02 + 1.09391421670310e-02 3.86808457142837e-02 + 1.23830528385306e-02 4.11976418455524e-02 + 1.39476104023128e-02 4.37869621079364e-02 + 1.56508158075923e-02 4.64407556884219e-02 + 1.75014612839761e-02 4.91580453565656e-02 + 1.95012610748503e-02 5.19411917348513e-02 + 2.16612059898247e-02 5.47854325144758e-02 + 2.39896959065856e-02 5.76882755513278e-02 + 2.64952727828800e-02 6.06474110979852e-02 + 2.91861482360375e-02 6.36603400223900e-02 + 3.20717009166476e-02 6.67228312742886e-02 + 3.51552451210013e-02 6.98359105557802e-02 + 3.84476883194282e-02 7.29939064877054e-02 + 4.19577241052818e-02 7.61935553174862e-02 + 4.56928339535472e-02 7.94323236299435e-02 + 4.96640950800607e-02 8.27032167191995e-02 + 5.38792189767346e-02 8.60023391457613e-02 + 5.83504447473849e-02 8.93201798709532e-02 + 6.30880179008144e-02 9.26492849446814e-02 + 6.81002199761747e-02 9.59845521245626e-02 + 7.33949153615851e-02 9.93210825226372e-02 + 7.89823978777915e-02 1.02650028549060e-01 + 8.48722262132926e-02 1.05962626026196e-01 + 9.10784190713352e-02 1.09240673718372e-01 + 9.76062827541888e-02 1.12481556552737e-01 + 1.04466772321452e-01 1.15670947421273e-01 + 1.11671965236896e-01 1.18789791772743e-01 + 1.19228640293147e-01 1.21830341171694e-01 + 1.27143926895481e-01 1.24781453201826e-01 + 1.35428044884835e-01 1.27624017499659e-01 + 1.44086141353379e-01 1.30349672842819e-01 + 1.53127132103188e-01 1.32937820029185e-01 + 1.62555410547095e-01 1.35241459089964e-01 + 1.72377905628829e-01 1.37295450509711e-01 + 1.82599061397815e-01 1.39200599507429e-01 + 1.93223726992680e-01 1.40941522014517e-01 + 2.04253376503725e-01 1.42520526896251e-01 + 2.15691115538017e-01 1.43922184894547e-01 + 2.27538308990768e-01 1.45144475806100e-01 + 2.39795367406813e-01 1.46188446606183e-01 + 2.52463016033809e-01 1.47052668349391e-01 + 2.65541909631568e-01 1.47734256285049e-01 + 2.79032253033613e-01 1.48196642827539e-01 + 2.92933652151481e-01 1.48484546320859e-01 + 3.07245113037153e-01 1.48208243249528e-01 + 3.21965588324161e-01 1.47617592210408e-01 + 3.37094273205868e-01 1.46767753880215e-01 + 3.52629565222472e-01 1.45662207601935e-01 + 3.68568831200908e-01 1.44292503614155e-01 + 3.84909918045890e-01 1.42653362070648e-01 + 4.01649741329745e-01 1.40746929493391e-01 + 4.18783491107945e-01 1.38561979853749e-01 + 4.36309096119333e-01 1.36119163389331e-01 + 4.54221311551285e-01 1.33415916262098e-01 + 4.72514203789032e-01 1.30453094209417e-01 + 4.91181204690089e-01 1.27230846885164e-01 + 5.10217294887795e-01 1.23765632915085e-01 + 5.29615745188874e-01 1.20065757127932e-01 + 5.49372727688106e-01 1.16159763738369e-01 + 5.69476446033723e-01 1.12039542777908e-01 + 5.89916305219489e-01 1.07708227568959e-01 + 6.10683618838738e-01 1.03183189203426e-01 + 6.31765155670346e-01 9.84652332121784e-02 + 6.53150501435068e-01 9.35722935993394e-02 + 6.74823867520210e-01 8.85032131241451e-02 + 6.96772099289498e-01 8.32725777462657e-02 + 7.18980781856151e-01 7.78940799083079e-02 + 7.41433503084832e-01 7.23764604209258e-02 + 7.64118075436013e-01 6.67495186918011e-02 + 7.87019025497992e-01 6.10329007626331e-02 + 8.10121228200712e-01 5.52509751321508e-02 + 8.33403156826935e-01 4.94056304284834e-02 + 8.56852675073043e-01 4.35391713307892e-02 + 8.80454507154744e-01 3.76843113831125e-02 + 9.04188220893009e-01 3.18558334161366e-02 + 9.28039690086919e-01 2.61061039709405e-02 + 9.51988065306611e-01 2.03482015413632e-02 + 9.75990080595429e-01 1.45876959874575e-02 + 1.00000000000000e+00 8.83858620970101e-03 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF23_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF23_Coords.txt new file mode 100644 index 0000000..2dcebee --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF23_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -8.21139809450505e-03 + 9.76142842133469e-01 -3.73615750355408e-03 + 9.52101373897713e-01 -6.10304280806426e-04 + 9.27972027630962e-01 7.51610694688174e-04 + 9.03861550959005e-01 9.63261392398244e-04 + 8.79868401432142e-01 -3.33217321879714e-04 + 8.56074970695499e-01 -2.53626051968576e-03 + 8.32542789395929e-01 -5.74527324899553e-03 + 8.09322839067906e-01 -9.83814732896065e-03 + 7.86458886381699e-01 -1.48643853871281e-02 + 7.63991074833837e-01 -2.06896655874153e-02 + 7.41917426367872e-01 -2.71202064324273e-02 + 7.20242581247835e-01 -3.40506239390570e-02 + 6.98961930064152e-01 -4.13612856527449e-02 + 6.78057263619977e-01 -4.89213784287057e-02 + 6.57506021858820e-01 -5.66105931522147e-02 + 6.37287503247901e-01 -6.43246573619078e-02 + 6.17383135667522e-01 -7.19732679116094e-02 + 5.97770855800075e-01 -7.94607179722445e-02 + 5.78436919352117e-01 -8.67141858187819e-02 + 5.59373209879583e-01 -9.36756409758915e-02 + 5.40570201738706e-01 -1.00281836382868e-01 + 5.22031083034862e-01 -1.06503028984052e-01 + 5.03757305858770e-01 -1.12303940051636e-01 + 4.85754185012292e-01 -1.17658749217170e-01 + 4.68029611604968e-01 -1.22549767864311e-01 + 4.50596235722804e-01 -1.26976715578814e-01 + 4.33466449688809e-01 -1.30941601459488e-01 + 4.16650268714259e-01 -1.34439253974495e-01 + 4.00159704233804e-01 -1.37483756940932e-01 + 3.84008352518328e-01 -1.40312881060739e-01 + 3.68205002950426e-01 -1.42679586968998e-01 + 3.52761641683399e-01 -1.44605028235604e-01 + 3.37686288670032e-01 -1.46093511961001e-01 + 3.22988917463881e-01 -1.47175364613660e-01 + 3.08674091631704e-01 -1.47861651710737e-01 + 2.94748692456360e-01 -1.48174065247058e-01 + 2.81216974774364e-01 -1.48100322963184e-01 + 2.68081278708605e-01 -1.47096505772833e-01 + 2.55344811318869e-01 -1.45660897801810e-01 + 2.43008664406681e-01 -1.44216811075288e-01 + 2.31072437363709e-01 -1.42727254568588e-01 + 2.19535602914952e-01 -1.41164762707010e-01 + 2.08396655313779e-01 -1.39509178742462e-01 + 1.97652346024764e-01 -1.37747529799079e-01 + 1.87300391937533e-01 -1.35868428330919e-01 + 1.77336859244564e-01 -1.33872941382972e-01 + 1.67755000605281e-01 -1.31664902569635e-01 + 1.58548224533755e-01 -1.29088715076382e-01 + 1.49711893228095e-01 -1.26383840144076e-01 + 1.41238063571777e-01 -1.23569883400584e-01 + 1.33117425897004e-01 -1.20662663064887e-01 + 1.25343512883808e-01 -1.17672456001733e-01 + 1.17908667577238e-01 -1.14610899267274e-01 + 1.10801538863403e-01 -1.11495115465765e-01 + 1.04013051837911e-01 -1.08336118424724e-01 + 9.75348493368756e-02 -1.05143790294569e-01 + 9.13565292212518e-02 -1.01928952605436e-01 + 8.54669040643825e-02 -9.87035268331100e-02 + 7.98596426648644e-02 -9.54697931186412e-02 + 7.45253683035687e-02 -9.22369807018674e-02 + 6.94514194833640e-02 -8.90166771564203e-02 + 6.46312294411355e-02 -8.58107323002263e-02 + 6.00566983094542e-02 -8.26243897415192e-02 + 5.57193756303779e-02 -7.94617391728192e-02 + 5.16080069733817e-02 -7.63316342453446e-02 + 4.77150519707249e-02 -7.32362016541595e-02 + 4.40327463066853e-02 -7.01787043564087e-02 + 4.05513152964932e-02 -6.71644186929150e-02 + 3.72651441121580e-02 -6.41930290877494e-02 + 3.41698403303669e-02 -6.12645796313637e-02 + 3.12538090870972e-02 -5.83855307572309e-02 + 2.85165598427288e-02 -5.55518258316502e-02 + 2.59472651690071e-02 -5.27690839517594e-02 + 2.35347679794599e-02 -5.00421704052296e-02 + 2.12758865933225e-02 -4.73722374722452e-02 + 1.91661192199595e-02 -4.47581476105576e-02 + 1.71963801380513e-02 -4.22004054178514e-02 + 1.53588367624661e-02 -3.97010110758467e-02 + 1.36612884133029e-02 -3.72527616298657e-02 + 1.20920038976858e-02 -3.48602378407364e-02 + 1.06400333056760e-02 -3.25253640011433e-02 + 9.29894133660171e-03 -3.02490907877501e-02 + 8.07889819085139e-03 -2.80256331349109e-02 + 6.96708593195298e-03 -2.58576394991613e-02 + 5.94591454377916e-03 -2.37513353705315e-02 + 4.99426931002390e-03 -2.17096802022710e-02 + 4.13507451423521e-03 -1.97237639636666e-02 + 3.39667523938367e-03 -1.77802282556760e-02 + 2.75601953430367e-03 -1.58894633915468e-02 + 2.19633874865461e-03 -1.40540283526098e-02 + 1.72840307496228e-03 -1.22724114817618e-02 + 1.34286570899636e-03 -1.05443998004454e-02 + 1.01729226165425e-03 -8.87224718805503e-03 + 7.32705043016408e-04 -7.25411365114207e-03 + 5.08422707108106e-04 -5.69154437946780e-03 + 3.45530945580279e-04 -4.18459716234432e-03 + 2.00034055925006e-04 -2.72863908853638e-03 + 8.38226000491430e-05 -1.32680888135557e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 8.04217358349222e-05 1.36175324140431e-03 + 1.82860022602032e-04 2.76203880241374e-03 + 3.07707391529631e-04 4.21763686472499e-03 + 4.44549055929702e-04 5.72804069668572e-03 + 6.23812839818893e-04 7.29765270496059e-03 + 8.45723484104881e-04 8.92566325846658e-03 + 1.10575031296603e-03 1.06102951588076e-02 + 1.42735596260657e-03 1.23552265511570e-02 + 1.81829046740118e-03 1.41573523739125e-02 + 2.29223730414638e-03 1.60141564516852e-02 + 2.85437040447899e-03 1.79262695550641e-02 + 3.50522821294580e-03 1.98955987049263e-02 + 4.24985885842792e-03 2.19179453753560e-02 + 5.09867079311818e-03 2.39965625093915e-02 + 6.00290430242815e-03 2.61431200010744e-02 + 6.99979513226061e-03 2.83499696451790e-02 + 8.10539687891000e-03 3.06129483946552e-02 + 9.32708192651976e-03 3.29297646022999e-02 + 1.06596814741146e-02 3.53043711729411e-02 + 1.21021906543371e-02 3.77383927667579e-02 + 1.36649171299809e-02 4.02337668248353e-02 + 1.53487963892932e-02 4.27955502279189e-02 + 1.71665283904856e-02 4.54149372234760e-02 + 1.91182181200803e-02 4.80940142581830e-02 + 2.12201355077159e-02 5.08224059584770e-02 + 2.34809845346465e-02 5.35991766555858e-02 + 2.59000581038165e-02 5.64277746808970e-02 + 2.84877807135127e-02 5.93028159074542e-02 + 3.12521672692866e-02 6.22213658283823e-02 + 3.41995342253892e-02 6.51818699892661e-02 + 3.73378473367669e-02 6.81809116659515e-02 + 4.06757574012530e-02 7.12140270675027e-02 + 4.42154838055095e-02 7.42828638427761e-02 + 4.79678967721103e-02 7.73792453363171e-02 + 5.19403017142868e-02 8.05008840842748e-02 + 5.61387218917495e-02 8.36461359062149e-02 + 6.05744824624157e-02 8.68046432556253e-02 + 6.52533623648681e-02 8.99744768782235e-02 + 7.01859237124755e-02 9.31469184593639e-02 + 7.53814295031060e-02 9.63138316754236e-02 + 8.08473958902046e-02 9.94691758968421e-02 + 8.65903682254258e-02 1.02608950984904e-01 + 9.26191737957453e-02 1.05724688299087e-01 + 9.89427503964933e-02 1.08805284501001e-01 + 1.05572574378567e-01 1.11835726530552e-01 + 1.12512915633577e-01 1.14814012082883e-01 + 1.19773007772667e-01 1.17727286471524e-01 + 1.27363221950667e-01 1.20556889598296e-01 + 1.35289296514862e-01 1.23294787548128e-01 + 1.43556857719485e-01 1.25932505090186e-01 + 1.52174578736971e-01 1.28451369499810e-01 + 1.61146152442972e-01 1.30847460635660e-01 + 1.70478833350526e-01 1.33103875216750e-01 + 1.80176444516454e-01 1.35036359961196e-01 + 1.90244409946836e-01 1.36693107134912e-01 + 2.00686204337921e-01 1.38207445504524e-01 + 2.11505597872941e-01 1.39570306744710e-01 + 2.22703590303689e-01 1.40793968317909e-01 + 2.34282402247760e-01 1.41865906191140e-01 + 2.46243024904699e-01 1.42795952710561e-01 + 2.58585392268802e-01 1.43587041085657e-01 + 2.71309804206021e-01 1.44243663400420e-01 + 2.84416437446142e-01 1.44769416282592e-01 + 2.97905136878219e-01 1.45138883405801e-01 + 3.11775233303682e-01 1.45396185603328e-01 + 3.26025457731245e-01 1.44799633556647e-01 + 3.40654434931028e-01 1.43890189834681e-01 + 3.55661055018669e-01 1.42727607243276e-01 + 3.71043291657118e-01 1.41378512496123e-01 + 3.86798859574859e-01 1.39857189471553e-01 + 4.02924818727687e-01 1.38084176510744e-01 + 4.19418353512935e-01 1.36064257381550e-01 + 4.36274589718543e-01 1.33787632522958e-01 + 4.53491768061524e-01 1.31275824854263e-01 + 4.71064241052868e-01 1.28524300378203e-01 + 4.88986423191382e-01 1.25535254042783e-01 + 5.07252279772362e-01 1.22310892585478e-01 + 5.25856826494498e-01 1.18865894646810e-01 + 5.44792841888021e-01 1.15204498738876e-01 + 5.64056788561128e-01 1.11354270394649e-01 + 5.83637699153914e-01 1.07308615540232e-01 + 6.03526114261812e-01 1.03072921183451e-01 + 6.23713052918496e-01 9.86595204920906e-02 + 6.44187289257573e-01 9.40741686204436e-02 + 6.64938489728388e-01 8.93305116803128e-02 + 6.85952696964425e-01 8.44303114940775e-02 + 7.07217803846837e-01 7.93870888768201e-02 + 7.28720904577667e-01 7.42148757404108e-02 + 7.50447285230671e-01 6.89231193962187e-02 + 7.72384947979838e-01 6.35355666474870e-02 + 7.94520071668891e-01 5.80715917032048e-02 + 8.16839076995703e-01 5.25544618224475e-02 + 8.39322007651833e-01 4.69843270149347e-02 + 8.61958036424303e-01 4.14008883230868e-02 + 8.84732645656678e-01 3.58312967441193e-02 + 9.07627292619726e-01 3.02890268067034e-02 + 9.30629504368063e-01 2.48874125752277e-02 + 9.53718812883226e-01 1.94086902525117e-02 + 9.76855430771540e-01 1.38798239923547e-02 + 1.00000000000000e+00 8.29927788503082e-03 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF24_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF24_Coords.txt new file mode 100644 index 0000000..a00089d --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF24_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -7.56432337756101e-03 + 9.77604553225231e-01 -3.47082732461743e-03 + 9.55071032701306e-01 -5.30304448662040e-04 + 9.32459923743646e-01 1.00923690794973e-03 + 9.09853170336084e-01 1.50584312886866e-03 + 8.87327473250015e-01 7.33296443208864e-04 + 8.64951404122783e-01 -7.98125989400150e-04 + 8.42779347686616e-01 -3.18899672693891e-03 + 8.20856013295664e-01 -6.33165545565214e-03 + 7.99219395444539e-01 -1.04099030124611e-02 + 7.77906331230207e-01 -1.52392584340842e-02 + 7.56928024157091e-01 -2.06765813620756e-02 + 7.36299678030450e-01 -2.66551952900761e-02 + 7.16018754955252e-01 -3.30533534544358e-02 + 6.96072959120435e-01 -3.97518529143060e-02 + 6.76449892721087e-01 -4.66552132883785e-02 + 6.57133999710469e-01 -5.36687143779019e-02 + 6.38112605261403e-01 -6.07157462660716e-02 + 6.19367437057640e-01 -6.77097196723369e-02 + 6.00883733642204e-01 -7.45767507129040e-02 + 5.82652169021692e-01 -8.12594873982717e-02 + 5.64661120231064e-01 -8.76947091960666e-02 + 5.46909588628814e-01 -9.38480438378482e-02 + 5.29392452861062e-01 -9.96734252612141e-02 + 5.12112084332935e-01 -1.05144390040683e-01 + 4.95070904527429e-01 -1.10234719079896e-01 + 4.78277015297031e-01 -1.14936364522100e-01 + 4.61738338257797e-01 -1.19242177975201e-01 + 4.45460422197515e-01 -1.23136810120982e-01 + 4.29453264492553e-01 -1.26638509583062e-01 + 4.13727887480644e-01 -1.30205819336949e-01 + 3.98291508433205e-01 -1.33326242585238e-01 + 3.83155740484708e-01 -1.36012845422670e-01 + 3.68327500866002e-01 -1.38256284457854e-01 + 3.53818313097675e-01 -1.40090066630534e-01 + 3.39631224097106e-01 -1.41502568029413e-01 + 3.25775418141369e-01 -1.42521487848996e-01 + 3.12255362105731e-01 -1.43137721119343e-01 + 2.99074959326180e-01 -1.42885855686084e-01 + 2.86239169614775e-01 -1.42192063025163e-01 + 2.73750379119993e-01 -1.41409795936987e-01 + 2.61610356730133e-01 -1.40507057653170e-01 + 2.49820241248179e-01 -1.39465126052431e-01 + 2.38380606120556e-01 -1.38269139598606e-01 + 2.27290497117917e-01 -1.36907324153962e-01 + 2.16549447327136e-01 -1.35373590218969e-01 + 2.06155492332107e-01 -1.33674184634580e-01 + 1.96105269852570e-01 -1.31806864598108e-01 + 1.86394618342824e-01 -1.29798206367827e-01 + 1.77021346601515e-01 -1.27638582066055e-01 + 1.67979606875066e-01 -1.25350856256132e-01 + 1.59264274179416e-01 -1.22941682161954e-01 + 1.50870734427893e-01 -1.20423441225688e-01 + 1.42793646313714e-01 -1.17806830900703e-01 + 1.35025724337546e-01 -1.15105214013800e-01 + 1.27560252038824e-01 -1.12329476661362e-01 + 1.20390387343173e-01 -1.09492386765219e-01 + 1.13508665944543e-01 -1.06603338776558e-01 + 1.06906894447247e-01 -1.03673024957219e-01 + 1.00580749027463e-01 -1.00703364348671e-01 + 9.45214700431468e-02 -9.77072151568267e-02 + 8.87200022615946e-02 -9.46941899593864e-02 + 8.31713687294055e-02 -9.16659634124004e-02 + 7.78675335828499e-02 -8.86319021093854e-02 + 7.28019558797340e-02 -8.55957945406550e-02 + 6.79637706292370e-02 -8.25702506284957e-02 + 6.33491557655127e-02 -7.95534034182216e-02 + 5.89505223815094e-02 -7.65506930086862e-02 + 5.47584337632626e-02 -7.35700421773415e-02 + 5.07700025455080e-02 -7.06090083309671e-02 + 4.69790804011980e-02 -6.76722198329940e-02 + 4.33763923900693e-02 -6.47650585882094e-02 + 3.99616877288314e-02 -6.18836100097362e-02 + 3.67243144771543e-02 -5.90366522630708e-02 + 3.36535906377128e-02 -5.62299826572433e-02 + 3.07408034874801e-02 -5.34727808644556e-02 + 2.79853608942525e-02 -5.07596977654719e-02 + 2.53827326061070e-02 -4.80869915547224e-02 + 2.29279459837821e-02 -4.54565252514460e-02 + 2.06228031205048e-02 -4.28642088454343e-02 + 1.84619544646303e-02 -4.03124511788614e-02 + 1.64345829858125e-02 -3.78029484369137e-02 + 1.45396904021833e-02 -3.53359342337824e-02 + 1.27799620292237e-02 -3.29077035519993e-02 + 1.11473325968982e-02 -3.05216692101392e-02 + 9.62594710950231e-03 -2.81847018230500e-02 + 8.20369424104832e-03 -2.58965281652211e-02 + 6.91077860021739e-03 -2.36453396059864e-02 + 5.75077692399507e-03 -2.14233053286087e-02 + 4.71542334084741e-03 -1.92417246809301e-02 + 3.79061899876188e-03 -1.71050631313951e-02 + 2.96985932957846e-03 -1.50117846448995e-02 + 2.27201302000975e-03 -1.29630892410872e-02 + 1.67294240414338e-03 -1.09597866473871e-02 + 1.13657511907321e-03 -9.00077720000924e-03 + 7.27525458994168e-04 -7.09257571552104e-03 + 4.64495970750558e-04 -5.23707262291010e-03 + 2.38906446280983e-04 -3.42683252022691e-03 + 8.17107945672561e-05 -1.67272034668398e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 7.61467549823109e-05 1.70145394345800e-03 + 2.01943167056160e-04 3.45328232459010e-03 + 3.81395185583571e-04 5.26525263642839e-03 + 5.85930307757067e-04 7.13308979231880e-03 + 8.92359097274833e-04 9.06361021019522e-03 + 1.28649070591074e-03 1.10530399913895e-02 + 1.73771156288424e-03 1.30951293142941e-02 + 2.29173728679810e-03 1.51945964609704e-02 + 2.95328678251122e-03 1.73461748802941e-02 + 3.71701635353684e-03 1.95421603635107e-02 + 4.61125731443375e-03 2.17836207464791e-02 + 5.62117485502431e-03 2.40723132909228e-02 + 6.74201573095337e-03 2.64057930966131e-02 + 7.99336891397882e-03 2.87849029776245e-02 + 9.33623835245940e-03 3.12146929013670e-02 + 1.08033908671941e-02 3.36902372052722e-02 + 1.24006058390659e-02 3.62057794756649e-02 + 1.41388224411716e-02 3.87588635013297e-02 + 1.60121791203600e-02 4.13505095288245e-02 + 1.80266176901062e-02 4.39770539483560e-02 + 2.01726496377910e-02 4.66558210289041e-02 + 2.24432591907360e-02 4.93988661013192e-02 + 2.48624128418397e-02 5.21833061903338e-02 + 2.74369393316803e-02 5.50067882169806e-02 + 3.01803236427391e-02 5.78551969434095e-02 + 3.31011277780957e-02 6.07276635672542e-02 + 3.61947490722831e-02 6.36293863780552e-02 + 3.94707009148225e-02 6.65539808380448e-02 + 4.29363788496663e-02 6.94978007459577e-02 + 4.65945188345070e-02 7.24605067989242e-02 + 5.04526910691199e-02 7.54372060067005e-02 + 5.45183753469819e-02 7.84230601340006e-02 + 5.87920295117307e-02 8.14207174473965e-02 + 6.32844638599680e-02 8.44179706830025e-02 + 6.80007504342932e-02 8.74141030770068e-02 + 7.29445664478783e-02 9.04089010923996e-02 + 7.81276359597299e-02 9.33865968836788e-02 + 8.35526287241229e-02 9.63484244894486e-02 + 8.92274088319182e-02 9.92869409674310e-02 + 9.51596585703596e-02 1.02192912158804e-01 + 1.01355662703728e-01 1.05058787711796e-01 + 1.07819844454672e-01 1.07882013438497e-01 + 1.14558671680435e-01 1.10654730370201e-01 + 1.21580083253696e-01 1.13362071814715e-01 + 1.28891465267190e-01 1.15994154001435e-01 + 1.36495420185450e-01 1.18549960475986e-01 + 1.44398412070934e-01 1.21019005454168e-01 + 1.52608066886974e-01 1.23383263452766e-01 + 1.61128449062580e-01 1.25634241263431e-01 + 1.69962766510632e-01 1.27767754750988e-01 + 1.79117204049243e-01 1.29765835285054e-01 + 1.88593114940912e-01 1.31631707748057e-01 + 1.98395080937357e-01 1.33354415033851e-01 + 2.08526007479340e-01 1.34921720796477e-01 + 2.18988897357209e-01 1.36311059161410e-01 + 2.29785665725425e-01 1.37513025729422e-01 + 2.40918346892126e-01 1.38519678887412e-01 + 2.52387177470611e-01 1.39348303006632e-01 + 2.64192954265048e-01 1.39984871282363e-01 + 2.76336067255505e-01 1.40447602438792e-01 + 2.88815683738951e-01 1.40736906171120e-01 + 3.01631419206898e-01 1.40858856604377e-01 + 3.14782681311539e-01 1.40820916427446e-01 + 3.28268735846035e-01 1.40613930928130e-01 + 3.42088471001508e-01 1.40271965125527e-01 + 3.56240175283897e-01 1.39176450123551e-01 + 3.70721945980970e-01 1.37799453202378e-01 + 3.85532182384715e-01 1.36182988362656e-01 + 4.00668176204080e-01 1.34470081033185e-01 + 4.16128201888210e-01 1.32704826044275e-01 + 4.31908053311812e-01 1.30716434338931e-01 + 4.48005347370752e-01 1.28513932612418e-01 + 4.64415106456292e-01 1.26089816273117e-01 + 4.81136073210859e-01 1.23467012252396e-01 + 4.98161952300398e-01 1.20637816866521e-01 + 5.15487718285494e-01 1.17606579649685e-01 + 5.33108194681692e-01 1.14378816873922e-01 + 5.51018453602490e-01 1.10966343454323e-01 + 5.69210481580133e-01 1.07366855818095e-01 + 5.87681208614711e-01 1.03606344948257e-01 + 6.06421001068111e-01 9.96806556147008e-02 + 6.25422226546090e-01 9.55988006622248e-02 + 6.44675430180647e-01 9.13650080051313e-02 + 6.64172612416068e-01 8.69929959888130e-02 + 6.83903569581724e-01 8.24895121586465e-02 + 7.03857290507609e-01 7.78610146655313e-02 + 7.24023353371056e-01 7.31193106689484e-02 + 7.44391280268447e-01 6.82789782351697e-02 + 7.64949089433623e-01 6.33506013277345e-02 + 7.85685088260759e-01 5.83481890301292e-02 + 8.06588113821195e-01 5.32906782138662e-02 + 8.27647073718251e-01 4.81995644109501e-02 + 8.48844538192330e-01 4.30722004585763e-02 + 8.70171786158144e-01 3.79440985437455e-02 + 8.91615519671644e-01 3.28334603720587e-02 + 9.13160235840878e-01 2.77516556132812e-02 + 9.34796121557107e-01 2.28847968463111e-02 + 9.56503322434788e-01 1.79175149301519e-02 + 9.78247647558889e-01 1.28833930947917e-02 + 1.00000000000000e+00 7.77316122569051e-03 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF25_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF25_Coords.txt new file mode 100644 index 0000000..5fe3a0c --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF25_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -6.90996795189652e-03 + 9.79051784906020e-01 -3.20591062468399e-03 + 9.58011274672457e-01 -4.41056971620761e-04 + 9.36903363675773e-01 1.27365925445527e-03 + 9.15785437957649e-01 2.08866878434932e-03 + 8.94712657028773e-01 1.92887691294457e-03 + 8.73739909416876e-01 1.04756555848845e-03 + 8.52914504725529e-01 -5.77456171206867e-04 + 8.32274942259497e-01 -2.85364710268578e-03 + 8.11853501515720e-01 -6.00480012734394e-03 + 7.91683745944122e-01 -9.84809619736941e-03 + 7.71789930036150e-01 -1.43020398217891e-02 + 7.52197716498017e-01 -1.93382785426476e-02 + 7.32906618429231e-01 -2.48329722311178e-02 + 7.13910194827725e-01 -3.06784131419832e-02 + 6.95206109474979e-01 -3.68037036789993e-02 + 6.76783900840165e-01 -4.31235812832689e-02 + 6.58636732971251e-01 -4.95749936250298e-02 + 6.40750087000464e-01 -5.60803786556861e-02 + 6.23108194383111e-01 -6.25648008542080e-02 + 6.05700531557994e-01 -6.89715799959822e-02 + 5.88513399014437e-01 -7.52375218141829e-02 + 5.71541652837112e-01 -8.13236706836220e-02 + 5.54773663342737e-01 -8.71732800644328e-02 + 5.38208887696389e-01 -9.27592498440937e-02 + 5.21844331935521e-01 -9.80469149474190e-02 + 5.05683594732971e-01 -1.03020537017842e-01 + 4.89730171283752e-01 -1.07663900884601e-01 + 4.73985188195639e-01 -1.11951580262165e-01 + 4.58456648737569e-01 -1.15899775851639e-01 + 4.43153026810978e-01 -1.20020177950560e-01 + 4.28079983149119e-01 -1.23724613060294e-01 + 4.13248761562680e-01 -1.27020701972646e-01 + 3.98665187483912e-01 -1.29889315015525e-01 + 3.84342319046781e-01 -1.32366636853445e-01 + 3.70281701542905e-01 -1.34421368547331e-01 + 3.56494799430581e-01 -1.36087238593843e-01 + 3.42986289523419e-01 -1.37357755402807e-01 + 3.29761622885635e-01 -1.38022503311002e-01 + 3.16827494719155e-01 -1.38289852617125e-01 + 3.04187572697874e-01 -1.38323758736344e-01 + 2.91845773716130e-01 -1.38113813755440e-01 + 2.79804886151067e-01 -1.37662461722541e-01 + 2.68067542046101e-01 -1.36970655476565e-01 + 2.56635058751043e-01 -1.36035933693507e-01 + 2.45508767559134e-01 -1.34864324175584e-01 + 2.34688653937295e-01 -1.33472832718625e-01 + 2.24174707133865e-01 -1.31952674678420e-01 + 2.13965171472885e-01 -1.30505923882363e-01 + 2.04060278118012e-01 -1.28886149069951e-01 + 1.94456253922377e-01 -1.27119441457648e-01 + 1.85152117133038e-01 -1.25203380060833e-01 + 1.76145088538866e-01 -1.23152430051578e-01 + 1.67432119542913e-01 -1.20976358587984e-01 + 1.59009949987252e-01 -1.18684805962979e-01 + 1.50874198492890e-01 -1.16288531807092e-01 + 1.43019523066792e-01 -1.13803161227707e-01 + 1.35441368134332e-01 -1.11236675733408e-01 + 1.28134504672534e-01 -1.08598550548438e-01 + 1.21096596350487e-01 -1.05890347191658e-01 + 1.14319494490592e-01 -1.03128516887265e-01 + 1.07797714401655e-01 -1.00320716780931e-01 + 1.01527853191659e-01 -9.74684481019473e-02 + 9.55019383665671e-02 -9.45851595876661e-02 + 8.97153195846605e-02 -9.16743415098414e-02 + 8.41575174371132e-02 -8.87523228529754e-02 + 7.88283913272357e-02 -8.58132825729096e-02 + 7.37205260190841e-02 -8.28648163438856e-02 + 6.88248194216298e-02 -7.99174671649253e-02 + 6.41410846146470e-02 -7.69666864953145e-02 + 5.96614347609765e-02 -7.40216415605936e-02 + 5.53788918634240e-02 -7.10866464205484e-02 + 5.12934425200519e-02 -6.81579271280387e-02 + 4.73946085401072e-02 -6.52473896238348e-02 + 4.36721783092756e-02 -6.23617540059130e-02 + 4.01119628516415e-02 -5.95181478207897e-02 + 3.67172409651559e-02 -5.67070520912621e-02 + 3.34879927417454e-02 -5.39205206725077e-02 + 3.04220771579797e-02 -5.11602807799873e-02 + 2.75153584875161e-02 -4.84253245117712e-02 + 2.47688056047089e-02 -4.57159103059615e-02 + 2.21717330425265e-02 -4.30335084998324e-02 + 1.97285256799088e-02 -4.03776427481770e-02 + 1.74344580911675e-02 -3.77466674771731e-02 + 1.52861705937629e-02 -3.51447522958208e-02 + 1.32695260256556e-02 -3.25794065533110e-02 + 1.13813272654342e-02 -3.00471563676276e-02 + 9.65898712950190e-03 -2.75333232210894e-02 + 8.08155935902643e-03 -2.50355491241652e-02 + 6.65541769422626e-03 -2.25660334545810e-02 + 5.36910663494096e-03 -2.01311292826235e-02 + 4.19901797256922e-03 -1.77292764366712e-02 + 3.19195638788689e-03 -1.53630739376981e-02 + 2.32209781048333e-03 -1.30319016666417e-02 + 1.53644454079846e-03 -1.07353929558163e-02 + 9.44457823853916e-04 -8.48498302048932e-03 + 5.82282552724702e-04 -6.28437677557031e-03 + 2.79797716122703e-04 -4.12336408929500e-03 + 8.01825423805274e-05 -2.02045958246308e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 7.27481971794514e-05 2.03253534122420e-03 + 2.24119822441770e-04 4.13242423123724e-03 + 4.54353043427967e-04 6.29723664202138e-03 + 7.25911065833949e-04 8.51896646047437e-03 + 1.15824519045566e-03 1.08068202030976e-02 + 1.72289177780932e-03 1.31540890670662e-02 + 2.36341273397574e-03 1.55500949124510e-02 + 3.14755622646609e-03 1.80005858548188e-02 + 4.07704005637224e-03 2.04981552647957e-02 + 5.12768183320926e-03 2.30299622918588e-02 + 6.35074086216123e-03 2.55975075076578e-02 + 7.71616136264168e-03 2.82023998982459e-02 + 9.20948580745683e-03 3.08439308180246e-02 + 1.08593927475814e-02 3.35205568263485e-02 + 1.26365530774741e-02 3.62307735396351e-02 + 1.45693089610875e-02 3.89723508690224e-02 + 1.66532673381690e-02 4.17379548177742e-02 + 1.89028988388869e-02 4.45249662408002e-02 + 2.13116560201758e-02 4.73315017767006e-02 + 2.38923585639441e-02 5.01486619302302e-02 + 2.66159178790225e-02 5.30090053794952e-02 + 2.94674456953712e-02 5.59315165802361e-02 + 3.24820634365880e-02 5.88793747805383e-02 + 3.56732569931754e-02 6.18458313528236e-02 + 3.90517539875741e-02 6.48130682412850e-02 + 4.26259758510957e-02 6.77802828475971e-02 + 4.63874629385658e-02 7.07544060847261e-02 + 5.03448265559965e-02 7.37280629139574e-02 + 5.45048490210109e-02 7.66969024895348e-02 + 5.88667212624090e-02 7.96617886230915e-02 + 6.34376218430832e-02 8.26163666818840e-02 + 6.82238711518841e-02 8.55554276954450e-02 + 7.32241829389096e-02 8.84826106361476e-02 + 7.84493081684038e-02 9.13817175580576e-02 + 8.39021076356463e-02 9.42535868383690e-02 + 8.95839357467278e-02 9.70994214118358e-02 + 9.55069115103113e-02 9.98980967272800e-02 + 1.01670626295308e-01 1.02653978781261e-01 + 1.08080272896129e-01 1.05360887370290e-01 + 1.14741968547590e-01 1.08008501375277e-01 + 1.21660778822698e-01 1.10587775677240e-01 + 1.28839025836469e-01 1.13097587715781e-01 + 1.36280841388445e-01 1.15530682154723e-01 + 1.43993175323776e-01 1.17868466227087e-01 + 1.51979363994295e-01 1.20106134642064e-01 + 1.60240358954647e-01 1.22243647030130e-01 + 1.68779882153193e-01 1.24272863043493e-01 + 1.77602841555064e-01 1.26176385527535e-01 + 1.86711644252493e-01 1.27945266530296e-01 + 1.96107103772600e-01 1.29579570505543e-01 + 2.05792941228302e-01 1.31062025942558e-01 + 2.15768193444679e-01 1.32402931970391e-01 + 2.26034795887951e-01 1.33597218756147e-01 + 2.36594745472541e-01 1.34797079388220e-01 + 2.47448647757132e-01 1.35917115282877e-01 + 2.58596873802898e-01 1.36809911726270e-01 + 2.70039739238106e-01 1.37465384637996e-01 + 2.81776725097058e-01 1.37902294491714e-01 + 2.93807218474496e-01 1.38102174683740e-01 + 3.06131014086568e-01 1.38087784309810e-01 + 3.18746520127666e-01 1.37853846414678e-01 + 3.31652674494133e-01 1.37404639402729e-01 + 3.44848123378894e-01 1.36747929616718e-01 + 3.58331559215623e-01 1.35888101400849e-01 + 3.72101431969541e-01 1.34844479284681e-01 + 3.86155592027154e-01 1.33337843510912e-01 + 4.00491614419010e-01 1.31596215099338e-01 + 4.15107412475448e-01 1.29637196338305e-01 + 4.29999602706707e-01 1.27624828780038e-01 + 4.45167013738118e-01 1.25618058166913e-01 + 4.60604185904836e-01 1.23416421214805e-01 + 4.76309164317023e-01 1.21033145516821e-01 + 4.92276868993485e-01 1.18462998717239e-01 + 5.08506539530098e-01 1.15730297851643e-01 + 5.24991239165174e-01 1.12824200948091e-01 + 5.41726496973228e-01 1.09751190784078e-01 + 5.58707986188693e-01 1.06520060382622e-01 + 5.75930834781045e-01 1.03139789300860e-01 + 5.93386245129911e-01 9.96015966856668e-02 + 6.11071609997387e-01 9.59299145672758e-02 + 6.28978616255575e-01 9.21230024006773e-02 + 6.47101440422570e-01 8.81934629508471e-02 + 6.65430158423062e-01 8.41374991675851e-02 + 6.83959965052850e-01 7.99767137056431e-02 + 7.02680785234760e-01 7.57110238797591e-02 + 7.21584524810879e-01 7.13515376484831e-02 + 7.40662430560521e-01 6.69083654908165e-02 + 7.59906428424182e-01 6.23966262173392e-02 + 7.79307241731570e-01 5.78280291843169e-02 + 7.98853480073595e-01 5.32069422153383e-02 + 8.18536612417361e-01 4.85518691766150e-02 + 8.38348008636851e-01 4.38825514234465e-02 + 8.58272740493840e-01 3.91935723287226e-02 + 8.78304172167859e-01 3.45162967179692e-02 + 8.98430213345024e-01 2.98600656550237e-02 + 9.18638370858659e-01 2.52341648010477e-02 + 9.38921465088871e-01 2.08418931868186e-02 + 9.59260249204513e-01 1.63700067511036e-02 + 9.79626073331625e-01 1.18455832014158e-02 + 1.00000000000000e+00 7.26000008758432e-03 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF26_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF26_Coords.txt new file mode 100644 index 0000000..78a9a79 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF26_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -6.27548680628733e-03 + 9.79897896066398e-01 -2.88100938002223e-03 + 9.59730261051089e-01 -2.48646511733163e-04 + 9.39501181403885e-01 1.58812893692097e-03 + 9.19253685583499e-01 2.66331305516477e-03 + 8.99030339193690e-01 2.91993880314394e-03 + 8.78878031053569e-01 2.38861122935718e-03 + 8.58839934355517e-01 1.12181574398836e-03 + 8.38950917754029e-01 -7.98395603403523e-04 + 8.19239919523370e-01 -3.43083945751242e-03 + 7.99738589204766e-01 -6.69764467727776e-03 + 7.80478811433425e-01 -1.05766643177347e-02 + 7.61492363619193e-01 -1.50619517357643e-02 + 7.42779957957341e-01 -2.00284429351637e-02 + 7.24338576407926e-01 -2.53751507348420e-02 + 7.06171765169634e-01 -3.10455496457105e-02 + 6.88272041175159e-01 -3.69599064340915e-02 + 6.70635982119011e-01 -4.30630950931861e-02 + 6.53251263553763e-01 -4.92828312654591e-02 + 6.36101528149825e-01 -5.55435645995022e-02 + 6.19175552198615e-01 -6.17890076120828e-02 + 6.02458422155477e-01 -6.79559813922944e-02 + 5.85942570607525e-01 -7.40028506960966e-02 + 5.69612562834441e-01 -7.98666247372443e-02 + 5.53466152216717e-01 -8.55198311697876e-02 + 5.37497178699624e-01 -9.09228670519637e-02 + 5.21706608211975e-01 -9.60554978447310e-02 + 5.06095348080997e-01 -1.00896207565631e-01 + 4.90661939526162e-01 -1.05413678519611e-01 + 4.75413219979189e-01 -1.09610411484604e-01 + 4.60356173420848e-01 -1.13694012376059e-01 + 4.45495550568165e-01 -1.17411208543187e-01 + 4.30842379309956e-01 -1.20771627637541e-01 + 4.16401846768110e-01 -1.23757972990762e-01 + 4.02187908274686e-01 -1.26407040099974e-01 + 3.88201231209126e-01 -1.28681678660864e-01 + 3.74454613117445e-01 -1.30619307476714e-01 + 3.60952853551843e-01 -1.32213884198423e-01 + 3.47702308442112e-01 -1.33453605072464e-01 + 3.34710687570464e-01 -1.34377861550423e-01 + 3.21982407843259e-01 -1.35006179747371e-01 + 3.09522641967504e-01 -1.35343548930300e-01 + 2.97335142729240e-01 -1.35407149219830e-01 + 2.85423745712349e-01 -1.35209058962805e-01 + 2.73791096325235e-01 -1.34751908560863e-01 + 2.62439577166538e-01 -1.34049738653879e-01 + 2.51370313684989e-01 -1.33128582719707e-01 + 2.40585254570385e-01 -1.32039364891975e-01 + 2.30084050717160e-01 -1.30921128291335e-01 + 2.19868349503182e-01 -1.29616971692603e-01 + 2.09935590681986e-01 -1.28154872746361e-01 + 2.00287214803938e-01 -1.26527105312497e-01 + 1.90921515401614e-01 -1.24749352797282e-01 + 1.81836784290526e-01 -1.22830838469943e-01 + 1.73032114692883e-01 -1.20779026277013e-01 + 1.64504490414414e-01 -1.18604601911880e-01 + 1.56249446471325e-01 -1.16324860910107e-01 + 1.48264127853011e-01 -1.13946958715928e-01 + 1.40545038630696e-01 -1.11479659023348e-01 + 1.33091004443564e-01 -1.08924314328813e-01 + 1.25894233808957e-01 -1.06299476482774e-01 + 1.18951329521092e-01 -1.03611659404921e-01 + 1.12259808948973e-01 -1.00862262932129e-01 + 1.05811736647092e-01 -9.80671223909206e-02 + 9.96035675965212e-02 -9.52295537022162e-02 + 9.36250478155273e-02 -9.23680601672415e-02 + 8.78781890456959e-02 -8.94745090185136e-02 + 8.23556775863553e-02 -8.65577561682980e-02 + 7.70486069808071e-02 -8.36298765049070e-02 + 7.19583691000554e-02 -8.06850902641110e-02 + 6.70760607024304e-02 -7.77352182769078e-02 + 6.23960466781218e-02 -7.47839502969784e-02 + 5.79184524080934e-02 -7.18275946009569e-02 + 5.36329012827407e-02 -6.88798857556737e-02 + 4.95294566930029e-02 -6.59480833594741e-02 + 4.55907280203056e-02 -6.30539616130684e-02 + 4.18222571675668e-02 -6.01855636687938e-02 + 3.82266611592225e-02 -5.73324853521904e-02 + 3.48034544509128e-02 -5.44963744822453e-02 + 3.15450298227713e-02 -5.16780250842850e-02 + 2.84560501608476e-02 -4.88764383817525e-02 + 2.55259069154341e-02 -4.60929526719439e-02 + 2.27621321826707e-02 -4.33266765381901e-02 + 2.01556679128025e-02 -4.05771684421223e-02 + 1.77059055032647e-02 -3.78490404435475e-02 + 1.53997121082274e-02 -3.51501753220224e-02 + 1.32391022168859e-02 -3.24752279601059e-02 + 1.12657028603273e-02 -2.98078419861384e-02 + 9.44423062781524e-03 -2.71488590504527e-02 + 7.78961817867701e-03 -2.45110047252601e-02 + 6.29195542495711e-03 -2.19017356505150e-02 + 4.91763466643684e-03 -1.93194775433952e-02 + 3.72979311493521e-03 -1.67676473385885e-02 + 2.70162075861576e-03 -1.42447889699687e-02 + 1.77022465002811e-03 -1.17509643095183e-02 + 1.07128540605200e-03 -9.30048523994438e-03 + 6.51145432714118e-04 -6.89811749925011e-03 + 3.08574515118424e-04 -4.53202873450616e-03 + 7.94436497587475e-05 -2.22520588497387e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 7.09904269154590e-05 2.22465549870145e-03 + 2.43735227033312e-04 4.52803487676842e-03 + 4.97007207635961e-04 6.89913328980921e-03 + 8.07749573945100e-04 9.32776331321535e-03 + 1.31369313553301e-03 1.18245288134076e-02 + 1.97802979215463e-03 1.43810051218881e-02 + 2.72922337158783e-03 1.69839251217152e-02 + 3.64790317556055e-03 1.96396390114764e-02 + 4.73403243647707e-03 2.23394889840390e-02 + 5.95241488856881e-03 2.50676310968492e-02 + 7.36771448329081e-03 2.78258189166973e-02 + 8.94097663476809e-03 3.06155747415812e-02 + 1.06520702929548e-02 3.34372050117658e-02 + 1.25349881506597e-02 3.62877711839578e-02 + 1.45660527966006e-02 3.91619369314258e-02 + 1.67710195583666e-02 4.20590481085567e-02 + 1.91395481482585e-02 4.49708483986758e-02 + 2.16881738314858e-02 4.78946233988489e-02 + 2.44099481655307e-02 5.08267921790485e-02 + 2.73217119170517e-02 5.37553941300597e-02 + 3.03829174828733e-02 5.67218945921041e-02 + 3.35740740072289e-02 5.97493290723046e-02 + 3.69368245449680e-02 6.27927282213047e-02 + 4.04885470302252e-02 6.58427735930341e-02 + 4.42383570193603e-02 6.88794823120238e-02 + 4.81945937596484e-02 7.19020904855532e-02 + 5.23465426569530e-02 7.49185419895003e-02 + 5.67022876221677e-02 7.79208826975613e-02 + 6.12682524555831e-02 8.09043497998305e-02 + 6.60415555163136e-02 8.38705104981596e-02 + 7.10291464002233e-02 8.68121556234874e-02 + 7.62366676605357e-02 8.97238594583126e-02 + 8.16618133785367e-02 9.26098401823639e-02 + 8.73152998303339e-02 9.54515667328583e-02 + 9.31986950250824e-02 9.82507866863795e-02 + 9.93119953603242e-02 1.01009531105329e-01 + 1.05667550748534e-01 1.03703543688088e-01 + 1.12263152807937e-01 1.06339021502643e-01 + 1.19102432583176e-01 1.08910522594534e-01 + 1.26190592315055e-01 1.11407090362995e-01 + 1.33531984787217e-01 1.13818805786657e-01 + 1.41127703720749e-01 1.16145383293446e-01 + 1.48980515159782e-01 1.18379920455584e-01 + 1.57096790723300e-01 1.20501646089532e-01 + 1.65477499118052e-01 1.22508723992633e-01 + 1.74122626708866e-01 1.24401684454706e-01 + 1.83034292291426e-01 1.26173758366545e-01 + 1.92215814777337e-01 1.27807915920270e-01 + 2.01668632311587e-01 1.29294943302104e-01 + 2.11392158564910e-01 1.30637388865641e-01 + 2.21388674266841e-01 1.31818388664987e-01 + 2.31655861957878e-01 1.32852377724710e-01 + 2.42194109976904e-01 1.33737728153979e-01 + 2.53004884076482e-01 1.34558732155186e-01 + 2.64087388295072e-01 1.35269822476436e-01 + 2.75441090953410e-01 1.35777030720513e-01 + 2.87065302868827e-01 1.36067302008441e-01 + 2.98959063333068e-01 1.36159316978221e-01 + 3.11120935266768e-01 1.36029154475809e-01 + 3.23550365370306e-01 1.35700404403439e-01 + 3.36245318035491e-01 1.35160656092309e-01 + 3.49204335008658e-01 1.34410471128363e-01 + 3.62425617302331e-01 1.33453853581859e-01 + 3.75907522140648e-01 1.32298236618546e-01 + 3.89648243283943e-01 1.30949099283017e-01 + 4.03645374976086e-01 1.29384289370007e-01 + 4.17896186914573e-01 1.27628605937290e-01 + 4.32398308316577e-01 1.25685744701008e-01 + 4.47147960943405e-01 1.23621369146641e-01 + 4.62144297414576e-01 1.21473398566872e-01 + 4.77381125194470e-01 1.19147089673444e-01 + 4.92856739744938e-01 1.16658126077110e-01 + 5.08566001233638e-01 1.14002603864704e-01 + 5.24508439795866e-01 1.11205652783905e-01 + 5.40676743664968e-01 1.08254596090419e-01 + 5.57066766107100e-01 1.05157163743503e-01 + 5.73674677137308e-01 1.01924064489568e-01 + 5.90495637380767e-01 9.85626202188802e-02 + 6.07520390769236e-01 9.50602631938428e-02 + 6.24746600614510e-01 9.14405140167765e-02 + 6.42166725813274e-01 8.77030438668883e-02 + 6.59776000448165e-01 8.38625543241310e-02 + 6.77564226125986e-01 7.99105566140164e-02 + 6.95528465191805e-01 7.58732628828031e-02 + 7.13658717749469e-01 7.17465972114929e-02 + 7.31948595046301e-01 6.75443860274197e-02 + 7.50390319394958e-01 6.32757478603975e-02 + 7.68977222122067e-01 5.89561176623678e-02 + 7.87701608067630e-01 5.45978627404676e-02 + 8.06552263499198e-01 5.01997142412369e-02 + 8.25522196098378e-01 4.57799228781803e-02 + 8.44604215283851e-01 4.13572044427520e-02 + 8.63784855309663e-01 3.69245231651101e-02 + 8.83058699486917e-01 3.25108191526951e-02 + 9.02414363531992e-01 2.81202531737612e-02 + 9.21841113887386e-01 2.37608924923316e-02 + 9.41333310579092e-01 1.95349220775499e-02 + 9.60872061977251e-01 1.52875561522155e-02 + 9.80431957728399e-01 1.10279034363946e-02 + 1.00000000000000e+00 6.75659164855083e-03 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF27_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF27_Coords.txt new file mode 100644 index 0000000..8c4cdb8 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF27_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -5.67403868393575e-03 + 9.79741045648661e-01 -2.42701798235721e-03 + 9.59418734206259e-01 1.45817993657089e-04 + 9.39037829344021e-01 2.03706000542212e-03 + 9.18639734339343e-01 3.24008089685812e-03 + 8.98267369292816e-01 3.56427248375033e-03 + 8.77968065224077e-01 2.97603215185010e-03 + 8.57785318219346e-01 1.55947448530291e-03 + 8.37754485568274e-01 -6.00230130933099e-04 + 8.17905732957675e-01 -3.27975099021012e-03 + 7.98271459674006e-01 -6.56643738824756e-03 + 7.78883955077259e-01 -1.04697918471843e-02 + 7.59774145953394e-01 -1.49777372785481e-02 + 7.40943035262346e-01 -1.99657343796035e-02 + 7.22388114137865e-01 -2.53335240994536e-02 + 7.04112564289356e-01 -3.10222695240268e-02 + 6.86108664224081e-01 -3.69508261560719e-02 + 6.68372331627214e-01 -4.30615310167681e-02 + 6.50891296860964e-01 -4.92817233244738e-02 + 6.33649241307537e-01 -5.55353518151182e-02 + 6.16634907516698e-01 -6.17653693231092e-02 + 5.99833807016491e-01 -6.79090681898729e-02 + 5.83238374354175e-01 -7.39239962319436e-02 + 5.66833968511860e-01 -7.97487679388959e-02 + 5.50618368081709e-01 -8.53550618155212e-02 + 5.34585810570777e-01 -9.07036387339627e-02 + 5.18737550964739e-01 -9.57744099202305e-02 + 5.03075064271266e-01 -1.00547553886635e-01 + 4.87597388810891e-01 -1.04993043495855e-01 + 4.72311598300900e-01 -1.09096164337699e-01 + 4.57224801819666e-01 -1.12567049998300e-01 + 4.42341862380680e-01 -1.15714830444629e-01 + 4.27673702443591e-01 -1.18559250268951e-01 + 4.13225571512411e-01 -1.21097497283478e-01 + 3.99011040008034e-01 -1.23365275408240e-01 + 3.85030843433707e-01 -1.25336804045707e-01 + 3.71297346158304e-01 -1.27050501401623e-01 + 3.57815172120901e-01 -1.28498829435515e-01 + 3.44590336159311e-01 -1.29691804971202e-01 + 3.31630178421338e-01 -1.30650663712449e-01 + 3.18938762969647e-01 -1.31382243506405e-01 + 3.06520877348475e-01 -1.31890762005209e-01 + 2.94379963287481e-01 -1.32192359369107e-01 + 2.82519478901798e-01 -1.32298335530146e-01 + 2.70941633723855e-01 -1.32208644654474e-01 + 2.59648568854122e-01 -1.31935536154034e-01 + 2.48640885788944e-01 -1.31508663769972e-01 + 2.37920294689044e-01 -1.30803736415964e-01 + 2.27486122430260e-01 -1.29655714280607e-01 + 2.17339570258297e-01 -1.28325184522389e-01 + 2.07477814625786e-01 -1.26839657019162e-01 + 1.97901850677719e-01 -1.25192117625319e-01 + 1.88609751517201e-01 -1.23397829594493e-01 + 1.79599540602462e-01 -1.21466106965722e-01 + 1.70869953438440e-01 -1.19404583550367e-01 + 1.62417736026789e-01 -1.17223863099436e-01 + 1.54238308418752e-01 -1.14940759978208e-01 + 1.46328459655831e-01 -1.12562828470715e-01 + 1.38684484509643e-01 -1.10098778116381e-01 + 1.31304984064680e-01 -1.07549869424482e-01 + 1.24182140083772e-01 -1.04934090708416e-01 + 1.17312271562970e-01 -1.02258262831646e-01 + 1.10692719709438e-01 -9.95237364993664e-02 + 1.04315632398353e-01 -9.67456474352982e-02 + 9.81772429980430e-02 -9.39274016812783e-02 + 9.22673013046414e-02 -9.10871541506749e-02 + 8.65874434627906e-02 -8.82172782877598e-02 + 8.11304493033447e-02 -8.53262287180672e-02 + 7.58875160781786e-02 -8.24257063327140e-02 + 7.08597016454224e-02 -7.95101898667033e-02 + 6.60382661637072e-02 -7.65908993111105e-02 + 6.14175477272999e-02 -7.36715148852898e-02 + 5.69974409926533e-02 -7.07484620489178e-02 + 5.27678721881793e-02 -6.78347402493893e-02 + 4.87189323199222e-02 -6.49377413503802e-02 + 4.48339031382058e-02 -6.20780243680319e-02 + 4.11177510206131e-02 -5.92444493843536e-02 + 3.75726783651327e-02 -5.64271311799151e-02 + 3.41981558982294e-02 -5.36275676433171e-02 + 3.09873461487011e-02 -5.08456019609887e-02 + 2.79445891228906e-02 -4.80804395654868e-02 + 2.50593246205255e-02 -4.53333600991251e-02 + 2.23385163557734e-02 -4.26039253965745e-02 + 1.97738037780452e-02 -3.98914409758853e-02 + 1.73646678989641e-02 -3.72006970266140e-02 + 1.50976217605934e-02 -3.45394812676095e-02 + 1.29709580584060e-02 -3.19058516680566e-02 + 1.10288372701132e-02 -2.92797527785805e-02 + 9.23904962761070e-03 -2.66620180244738e-02 + 7.61615121438000e-03 -2.40653462064484e-02 + 6.14956478764192e-03 -2.14974710736011e-02 + 4.80729184436667e-03 -1.89573269613498e-02 + 3.64899503145657e-03 -1.64485702597347e-02 + 2.64882077453634e-03 -1.39698845820168e-02 + 1.74336597206753e-03 -1.15212578478356e-02 + 1.06220983903090e-03 -9.11661172705484e-03 + 6.49654306833230e-04 -6.76033713789594e-03 + 3.19245191038692e-04 -4.44099654046341e-03 + 8.26839011606360e-05 -2.18060094050120e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 7.40611896210186e-05 2.17906679735866e-03 + 2.57440868456763e-04 4.43622196791328e-03 + 4.97945002714161e-04 6.76045923944343e-03 + 8.03141150876861e-04 9.14203887663884e-03 + 1.29607281927137e-03 1.15912708025493e-02 + 1.94177476215163e-03 1.41001294280084e-02 + 2.67229416013244e-03 1.66559203640247e-02 + 3.56546165846223e-03 1.92649216916527e-02 + 4.62348833286629e-03 2.19186833759321e-02 + 5.81312887196394e-03 2.46019502179411e-02 + 7.19470257572676e-03 2.73165746528068e-02 + 8.73202415718279e-03 3.00639416436577e-02 + 1.04069421544080e-02 3.28437005288217e-02 + 1.22501852681681e-02 3.56534412226896e-02 + 1.42396470686168e-02 3.84872458813112e-02 + 1.63996892138214e-02 4.13456592910115e-02 + 1.87222983057992e-02 4.42191941799875e-02 + 2.12228799291257e-02 4.71056299084971e-02 + 2.38943927345688e-02 5.00017814994779e-02 + 2.67521871776475e-02 5.28971565871068e-02 + 2.97587138054120e-02 5.58302751757582e-02 + 3.28953096475851e-02 5.88234689611991e-02 + 3.62020218954991e-02 6.18334589412228e-02 + 3.96954233116910e-02 6.48518078830601e-02 + 4.33849131116104e-02 6.78585456798703e-02 + 4.72786294736282e-02 7.08529740864038e-02 + 5.13666295425939e-02 7.38422739729807e-02 + 5.56569904539075e-02 7.68186802278229e-02 + 6.01559578928923e-02 7.97776593509293e-02 + 6.48605894477031e-02 8.27212586170250e-02 + 6.97778390543146e-02 8.56424719192571e-02 + 7.49135418276358e-02 8.85357208436714e-02 + 8.02656953411329e-02 9.14050899023347e-02 + 8.58449006490395e-02 9.42325203773344e-02 + 9.16529537982630e-02 9.70193692010113e-02 + 9.76901234989811e-02 9.97675392119617e-02 + 1.03968473497877e-01 1.02453773107898e-01 + 1.10486039603176e-01 1.05084214638689e-01 + 1.17246693699944e-01 1.07653237955999e-01 + 1.24255745517175e-01 1.10150138372407e-01 + 1.31517701074373e-01 1.12565197101571e-01 + 1.39033934482733e-01 1.14897966563389e-01 + 1.46807389375140e-01 1.17141766415488e-01 + 1.54844522585722e-01 1.19276113334680e-01 + 1.63146568636221e-01 1.21298945122238e-01 + 1.71713903596160e-01 1.23210523879283e-01 + 1.80548849496446e-01 1.25004454350144e-01 + 1.89654854298705e-01 1.26664139993748e-01 + 1.99033666314505e-01 1.28180658042282e-01 + 2.08685108886153e-01 1.29555520053770e-01 + 2.18611742403663e-01 1.30771560026670e-01 + 2.28811654623648e-01 1.31842708941392e-01 + 2.39285460862443e-01 1.32768813736701e-01 + 2.50034908140825e-01 1.33331921329404e-01 + 2.61059565328661e-01 1.33625461961136e-01 + 2.72359221540301e-01 1.33801362488480e-01 + 2.83933485896005e-01 1.33844480788643e-01 + 2.95781682699648e-01 1.33771635659846e-01 + 3.07902617560834e-01 1.33555517630597e-01 + 3.20295999021916e-01 1.33217451363808e-01 + 3.32960079598165e-01 1.32738799805397e-01 + 3.45893598146370e-01 1.32115777472554e-01 + 3.59094954746759e-01 1.31345141609595e-01 + 3.72562681594160e-01 1.30425036067413e-01 + 3.86295060681724e-01 1.29353420225113e-01 + 4.00289813266600e-01 1.28127553425529e-01 + 4.14544292744636e-01 1.26728205119813e-01 + 4.29056212568072e-01 1.25162372646286e-01 + 4.43821853817884e-01 1.23328059658412e-01 + 4.58840382210254e-01 1.21223581806021e-01 + 4.74105729965271e-01 1.18937809275043e-01 + 4.89616227210464e-01 1.16486525366210e-01 + 5.05366775216324e-01 1.13865650815906e-01 + 5.21356740013131e-01 1.11099097348103e-01 + 5.37578961586716e-01 1.08175114340851e-01 + 5.54029287653138e-01 1.05101439551296e-01 + 5.70703700081646e-01 1.01887810150867e-01 + 5.87597466272884e-01 9.85425071195882e-02 + 6.04701359522278e-01 9.50533831156473e-02 + 6.22012792962686e-01 9.14431265800620e-02 + 6.39524147122106e-01 8.77115316054546e-02 + 6.57230517373020e-01 8.38733084881850e-02 + 6.75121714598067e-01 7.99207408672451e-02 + 6.93194416023314e-01 7.58790742213111e-02 + 7.11438787611307e-01 7.17460059613808e-02 + 7.29848214611073e-01 6.75353310307841e-02 + 7.48414883548652e-01 6.32571661123750e-02 + 7.67131777155322e-01 5.89266018464741e-02 + 7.85990890692483e-01 5.45559620271406e-02 + 8.04981129693906e-01 5.01459940376982e-02 + 8.24095003674357e-01 4.57143005137421e-02 + 8.43324919376579e-01 4.12795045360690e-02 + 8.62657384781224e-01 3.68361997658278e-02 + 8.82086189335266e-01 3.24117004449495e-02 + 9.01599557155744e-01 2.80103871369643e-02 + 9.21186490028025e-01 2.36412035750401e-02 + 9.40840463067174e-01 1.92394132556927e-02 + 9.60542395626828e-01 1.48796822371786e-02 + 9.80266637238719e-01 1.05503885298509e-02 + 1.00000000000000e+00 6.26505689076515e-03 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF28_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF28_Coords.txt new file mode 100644 index 0000000..962a29a --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF28_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -5.07931290625881e-03 + 9.78759069862791e-01 -1.77417080855189e-03 + 9.57455046919601e-01 8.34169870768012e-04 + 9.36102882730402e-01 2.73403129635382e-03 + 9.14741823948585e-01 3.92622470916057e-03 + 8.93420713684284e-01 4.15751919324668e-03 + 8.72191598049569e-01 3.39510168565109e-03 + 8.51100824918164e-01 1.77627582614882e-03 + 8.30187155639255e-01 -5.91463369305793e-04 + 8.09487302975761e-01 -3.50871316730807e-03 + 7.89037621347337e-01 -7.08256909391424e-03 + 7.68869531320921e-01 -1.12921021087019e-02 + 7.49008105125871e-01 -1.60905525290312e-02 + 7.29455206468978e-01 -2.13561089072927e-02 + 7.10209375002886e-01 -2.69893785892337e-02 + 6.91270152642739e-01 -3.29163938148530e-02 + 6.72627738437084e-01 -3.90478971868268e-02 + 6.54273968889022e-01 -4.53123396424792e-02 + 6.36196054110899e-01 -5.16335778873107e-02 + 6.18378049587102e-01 -5.79335747384585e-02 + 6.00808792498313e-01 -6.41518117077036e-02 + 5.83476081464459e-01 -7.02276446974945e-02 + 5.66373199940814e-01 -7.61159641162185e-02 + 5.49490310736459e-01 -8.17645969889591e-02 + 5.32825893883027e-01 -8.71416229623088e-02 + 5.16377030041224e-01 -9.22111122323383e-02 + 5.00147156065027e-01 -9.69551749282225e-02 + 4.84141136479792e-01 -1.01363266667174e-01 + 4.68361088407377e-01 -1.05413068836821e-01 + 4.52815527134986e-01 -1.09098795345862e-01 + 4.37512627544965e-01 -1.12191020625428e-01 + 4.22458061184345e-01 -1.14933239854340e-01 + 4.07662362525996e-01 -1.17354698455944e-01 + 3.93131276265282e-01 -1.19466460413223e-01 + 3.78876371904763e-01 -1.21304651773868e-01 + 3.64898988423553e-01 -1.22858767998435e-01 + 3.51209126238965e-01 -1.24169232637766e-01 + 3.37810595758489e-01 -1.25228137448965e-01 + 3.24707600617416e-01 -1.26058436705805e-01 + 3.11905506412945e-01 -1.26677146547531e-01 + 2.99406568375889e-01 -1.27095129641138e-01 + 2.87213447684632e-01 -1.27320380439431e-01 + 2.75327886082655e-01 -1.27366756115369e-01 + 2.63751267221845e-01 -1.27245412238937e-01 + 2.52483426578440e-01 -1.26961644313310e-01 + 2.41525080510481e-01 -1.26523816005555e-01 + 2.30874134998420e-01 -1.25965004572412e-01 + 2.20530573616175e-01 -1.25115297512131e-01 + 2.10491813035599e-01 -1.23723034202353e-01 + 2.00756604853340e-01 -1.22168522711640e-01 + 1.91320549031468e-01 -1.20476446895571e-01 + 1.82181845414006e-01 -1.18644816712796e-01 + 1.73337227423789e-01 -1.16686585385207e-01 + 1.64783075617622e-01 -1.14611526723831e-01 + 1.56515739064381e-01 -1.12428731736724e-01 + 1.48530446409247e-01 -1.10148424171342e-01 + 1.40821808899267e-01 -1.07784618065665e-01 + 1.33384463259608e-01 -1.05346850978459e-01 + 1.26213184479569e-01 -1.02843789257571e-01 + 1.19305184915293e-01 -1.00276369173446e-01 + 1.12652405021638e-01 -9.76593309245059e-02 + 1.06249194071259e-01 -9.50011292931270e-02 + 1.00091800804716e-01 -9.23029446054130e-02 + 9.41727260446047e-02 -8.95760174761578e-02 + 8.84868469879996e-02 -8.68241785804281e-02 + 8.30238518539356e-02 -8.40632388520081e-02 + 7.77829815634220e-02 -8.12885407955586e-02 + 7.27573913626472e-02 -7.85063154714296e-02 + 6.79386659708573e-02 -7.57260320273818e-02 + 6.33258494510989e-02 -7.29437379081485e-02 + 5.89112717390398e-02 -7.01671283535699e-02 + 5.46886876686903e-02 -6.74000244420973e-02 + 5.06569308525956e-02 -6.46393251282526e-02 + 4.68072218130242e-02 -6.18942015902673e-02 + 4.31296774385214e-02 -5.91723542442364e-02 + 3.96116414138668e-02 -5.64874511358097e-02 + 3.62547687638971e-02 -5.38326766351484e-02 + 3.30585272921690e-02 -5.12013245342578e-02 + 3.00216217394201e-02 -4.85942422993081e-02 + 2.71417976499484e-02 -4.60065858945759e-02 + 2.44206966984172e-02 -4.34388214281682e-02 + 2.18479442779195e-02 -4.08921874992558e-02 + 1.94269175611291e-02 -3.83682403248633e-02 + 1.71538204051860e-02 -3.58646542095627e-02 + 1.50275733589611e-02 -3.33866288687000e-02 + 1.30327866185711e-02 -3.09416279274592e-02 + 1.11496064838839e-02 -2.85429691795007e-02 + 9.43185453416021e-03 -2.61555617588423e-02 + 7.86578600440846e-03 -2.37785096419497e-02 + 6.46133609441822e-03 -2.14240242122485e-02 + 5.20446278475288e-03 -1.91008284815139e-02 + 4.07369938472897e-03 -1.68099722320801e-02 + 3.10779155420027e-03 -1.45559790661260e-02 + 2.28542651397383e-03 -1.23385212932671e-02 + 1.54439248394536e-03 -1.01574714836586e-02 + 9.78391311275044e-04 -8.02406299202750e-03 + 6.19231066668889e-04 -5.94071718510440e-03 + 3.25062302908713e-04 -3.89829931846947e-03 + 9.79518596722050e-05 -1.91299503776772e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 8.89185860006805e-05 1.91201032782639e-03 + 2.68581736870917e-04 3.89516360300266e-03 + 4.87272561102144e-04 5.94163169144662e-03 + 7.54533338975992e-04 8.04439326406920e-03 + 1.16481767547266e-03 1.02119640612571e-02 + 1.69414408514519e-03 1.24386370003032e-02 + 2.29552631138335e-03 1.47151242642622e-02 + 3.03004208367970e-03 1.70470463529641e-02 + 3.91037929206800e-03 1.94270751380111e-02 + 4.91567653382075e-03 2.18436669877389e-02 + 6.08253146945623e-03 2.42990177226458e-02 + 7.39000204420331e-03 2.67937735720566e-02 + 8.83059474453737e-03 2.93245209013148e-02 + 1.04188661593578e-02 3.18917489713875e-02 + 1.21376471399054e-02 3.44887801863172e-02 + 1.40060778130947e-02 3.71202939863243e-02 + 1.60284223499134e-02 3.97719903776693e-02 + 1.82144109530936e-02 4.24437827936625e-02 + 2.05567334347321e-02 4.51348683238700e-02 + 2.30628032710280e-02 4.78420673975760e-02 + 2.57122066450722e-02 5.05880969634508e-02 + 2.84915110187049e-02 5.33906945706508e-02 + 3.14314961914722e-02 5.62169330077529e-02 + 3.45438505792325e-02 5.90629946967829e-02 + 3.78397776674738e-02 6.19098715828641e-02 + 4.13265614004568e-02 6.47571241654035e-02 + 4.49984288622619e-02 6.76083980467598e-02 + 4.88636103070399e-02 7.04569390976742e-02 + 5.29276937714780e-02 7.32993463636303e-02 + 5.71881886728240e-02 7.61394613516280e-02 + 6.16521473909945e-02 7.89714507996290e-02 + 6.63264854493882e-02 8.17892149673703e-02 + 7.12108863597540e-02 8.45960293898340e-02 + 7.63154573583305e-02 8.73767529793241e-02 + 8.16434438696692e-02 9.01308330936490e-02 + 8.71967809712278e-02 9.28593083249690e-02 + 9.29861960270380e-02 9.55443806340739e-02 + 9.90114209148622e-02 9.81912772602473e-02 + 1.05277926361640e-01 1.00793364629599e-01 + 1.11791811246647e-01 1.03341288703187e-01 + 1.18558501469732e-01 1.05826535574825e-01 + 1.25581028029529e-01 1.08247670257292e-01 + 1.32863587756823e-01 1.10598829710272e-01 + 1.40413212085224e-01 1.12861710911733e-01 + 1.48233123450538e-01 1.15032309205900e-01 + 1.56325743459978e-01 1.17109472745647e-01 + 1.64694842248188e-01 1.19087844630684e-01 + 1.73344985305097e-01 1.20952712609130e-01 + 1.82279618595638e-01 1.22696372128947e-01 + 1.91500849370652e-01 1.24315190343453e-01 + 2.01012965207770e-01 1.25790803762581e-01 + 2.10816302410663e-01 1.27133313064226e-01 + 2.20913009206459e-01 1.28346987928072e-01 + 2.31306251606215e-01 1.29124600786585e-01 + 2.41997686108533e-01 1.29598156235129e-01 + 2.52988823179835e-01 1.29985931099543e-01 + 2.64280929945187e-01 1.30271096138049e-01 + 2.75874735130741e-01 1.30462561970147e-01 + 2.87770395562822e-01 1.30535587133523e-01 + 2.99968889986730e-01 1.30506634928112e-01 + 3.12469889713620e-01 1.30354427298291e-01 + 3.25273136309465e-01 1.30070865514745e-01 + 3.38378058156743e-01 1.29644763748054e-01 + 3.51784071831834e-01 1.29063947113764e-01 + 3.65489935520628e-01 1.28327206562353e-01 + 3.79494016904881e-01 1.27427265103237e-01 + 3.93794142700315e-01 1.26321390828251e-01 + 4.08388494677736e-01 1.25020699923467e-01 + 4.23273751214338e-01 1.23428705690998e-01 + 4.38449023184147e-01 1.21564127458960e-01 + 4.53909044617285e-01 1.19499544771642e-01 + 4.69652211025295e-01 1.17250327008969e-01 + 4.85673624880008e-01 1.14811164473538e-01 + 5.01971831021026e-01 1.12200339745912e-01 + 5.18540465681811e-01 1.09410804226609e-01 + 5.35375239805050e-01 1.06449897469931e-01 + 5.52471137015526e-01 1.03322427011034e-01 + 5.69823882155297e-01 1.00041459177470e-01 + 5.87424536390005e-01 9.65980052747351e-02 + 6.05269320712368e-01 9.30114164215713e-02 + 6.23350003912149e-01 8.92815368342969e-02 + 6.41660705707632e-01 8.54223873509465e-02 + 6.60191372818727e-01 8.14312694173232e-02 + 6.78936344189552e-01 7.73275864063319e-02 + 6.97886487865566e-01 7.31182055568951e-02 + 7.17033605603755e-01 6.88158410133258e-02 + 7.36369388572263e-01 6.44353354758884e-02 + 7.55884801812479e-01 5.99901583767167e-02 + 7.75569933118936e-01 5.54922143471618e-02 + 7.95414150366974e-01 5.09530568377930e-02 + 8.15407242505679e-01 4.63875310776136e-02 + 8.35539349320223e-01 4.18142087255355e-02 + 8.55796356354238e-01 3.72353983554263e-02 + 8.76168145132350e-01 3.26721170829936e-02 + 8.96640975774816e-01 2.81315065848594e-02 + 9.17202078061274e-01 2.36267809132743e-02 + 9.37840508339705e-01 1.91047786600906e-02 + 9.58536232986692e-01 1.46286434758752e-02 + 9.79261424141970e-01 1.01852490851282e-02 + 1.00000000000000e+00 5.78986975720379e-03 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF29_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF29_Coords.txt new file mode 100644 index 0000000..fb69325 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF29_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -4.49625939740452e-03 + 9.77457853208364e-01 -1.04316597600737e-03 + 9.54852963815056e-01 1.63555784437397e-03 + 9.32213783357029e-01 3.50730746196549e-03 + 9.09576700744022e-01 4.60757296789467e-03 + 8.86998407669373e-01 4.68081430367886e-03 + 8.64537198216728e-01 3.72271423521479e-03 + 8.42243199165007e-01 1.92239950430055e-03 + 8.20159682584557e-01 -5.96865324129041e-04 + 7.98332036772446e-01 -3.81219520162389e-03 + 7.76801857097513e-01 -7.76657962862105e-03 + 7.55599412888537e-01 -1.23818300163157e-02 + 7.34742018498701e-01 -1.75652287574438e-02 + 7.14232678210926e-01 -2.31985790867254e-02 + 6.94071321070827e-01 -2.91836364125778e-02 + 6.74252665900160e-01 -3.54263830827288e-02 + 6.54764156255591e-01 -4.18268112915026e-02 + 6.35592220663605e-01 -4.82949715188628e-02 + 6.16723379853172e-01 -5.47501057906049e-02 + 5.98142185031683e-01 -6.11115453817810e-02 + 5.79837598775300e-01 -6.73141719526489e-02 + 5.61800450330663e-01 -7.33000758315035e-02 + 5.44025148041524e-01 -7.90206260937338e-02 + 5.26508220270728e-01 -8.44358573002974e-02 + 5.09249076527737e-01 -8.95090802488065e-02 + 4.92248564937723e-01 -9.42087503222896e-02 + 4.75513013549554e-01 -9.85198914177161e-02 + 4.59051778340332e-01 -1.02444252249111e-01 + 4.42871056153247e-01 -1.05969728774758e-01 + 4.26981272500599e-01 -1.09111285338049e-01 + 4.11392014562162e-01 -1.11961377739959e-01 + 3.96110025273204e-01 -1.14406179433829e-01 + 3.81145324985106e-01 -1.16480816843461e-01 + 3.66504314571560e-01 -1.18206946653441e-01 + 3.52195912117143e-01 -1.19620134881509e-01 + 3.38222256267169e-01 -1.20724415662920e-01 + 3.24590214965441e-01 -1.21562621654819e-01 + 3.11302520608293e-01 -1.22125689078236e-01 + 2.98360976805562e-01 -1.22453071394920e-01 + 2.85768332676347e-01 -1.22557121324392e-01 + 2.73524446567382e-01 -1.22454505415851e-01 + 2.61629162008486e-01 -1.22159782049475e-01 + 2.50081968090522e-01 -1.21684785236833e-01 + 2.38881499592987e-01 -1.21041506364518e-01 + 2.28024446128953e-01 -1.20245006741615e-01 + 2.17509636129485e-01 -1.19299313534145e-01 + 2.07331403745439e-01 -1.18240157670364e-01 + 1.97487444649611e-01 -1.16944246713343e-01 + 1.87972644301500e-01 -1.15229502890468e-01 + 1.78782508266439e-01 -1.13381545467826e-01 + 1.69910547497989e-01 -1.11420992620277e-01 + 1.61351257785320e-01 -1.09352671363768e-01 + 1.53099597340205e-01 -1.07186357048321e-01 + 1.45149769709863e-01 -1.04932087455621e-01 + 1.37494961695434e-01 -1.02600767500619e-01 + 1.30128391292198e-01 -1.00201992908183e-01 + 1.23043598000320e-01 -9.77457721656205e-02 + 1.16232366509405e-01 -9.52441240671010e-02 + 1.09687457944365e-01 -9.27055162829094e-02 + 1.03404244456646e-01 -9.01304747645700e-02 + 9.73743467437753e-02 -8.75293116078295e-02 + 9.15895039968572e-02 -8.49123483319951e-02 + 8.60445173283466e-02 -8.22805670547926e-02 + 8.07323552516630e-02 -7.96400572395137e-02 + 7.56460979006045e-02 -7.69951269000301e-02 + 7.07753518983592e-02 -7.43583166389459e-02 + 6.61161842537817e-02 -7.17287545038657e-02 + 6.16622476761265e-02 -6.91096576363359e-02 + 5.74056403178663e-02 -6.65073787743017e-02 + 5.33427377610745e-02 -6.39200628995547e-02 + 4.94672875035588e-02 -6.13508244709258e-02 + 4.57722715008422e-02 -5.88035796855324e-02 + 4.22551173756043e-02 -5.62758211577366e-02 + 3.89087607196150e-02 -5.37717369516455e-02 + 3.57233527183364e-02 -5.12992056663973e-02 + 3.26916195281312e-02 -4.88629134386781e-02 + 2.98108282984894e-02 -4.64614832806934e-02 + 2.70768232203800e-02 -4.40925528322215e-02 + 2.44872940264326e-02 -4.17560541758796e-02 + 2.20460592173070e-02 -3.94412357813752e-02 + 1.97511849068726e-02 -3.71500396674393e-02 + 1.75925424180927e-02 -3.48841129531776e-02 + 1.55687563955336e-02 -3.26472765608450e-02 + 1.36820789955301e-02 -3.04347632002085e-02 + 1.19306880974510e-02 -2.82517210641787e-02 + 1.02966724352019e-02 -2.61057883655393e-02 + 8.73613250984501e-03 -2.40296109388684e-02 + 7.31569183162246e-03 -2.19698626587838e-02 + 6.04607362133237e-03 -1.99217721379574e-02 + 4.93108994324025e-03 -1.78963965309341e-02 + 3.95210760045341e-03 -1.59041910337616e-02 + 3.10161561262617e-03 -1.39486767144450e-02 + 2.39064252855970e-03 -1.20357963231306e-02 + 1.80389257925676e-03 -1.01667645268782e-02 + 1.28073260530134e-03 -8.34227172172284e-03 + 8.67323334004320e-04 -6.57004924496674e-03 + 5.78917214379367e-04 -4.85002739411315e-03 + 3.29338535827688e-04 -3.17614189355846e-03 + 1.20384719425402e-04 -1.55688594975253e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 1.10786801312131e-04 1.55668331914520e-03 + 2.79124414322050e-04 3.17536659392894e-03 + 4.73130502846966e-04 4.85236793729894e-03 + 6.90123100667932e-04 6.58425906310341e-03 + 9.90891412170052e-04 8.37712613532620e-03 + 1.36600853872521e-03 1.02282571101486e-02 + 1.79627102759820e-03 1.21328633323595e-02 + 2.32055731039111e-03 1.40953353693863e-02 + 2.96543810954528e-03 1.61092240154779e-02 + 3.72646194650676e-03 1.81681360150489e-02 + 4.60879292429572e-03 2.02747142251645e-02 + 5.61168780352160e-03 2.24281761314519e-02 + 6.74177592395091e-03 2.46215206878655e-02 + 7.99218420014655e-03 2.68593383411101e-02 + 9.35228587723551e-03 2.91352046938627e-02 + 1.08343020283274e-02 3.14576983418851e-02 + 1.24587658378116e-02 3.38068785696873e-02 + 1.42278870568149e-02 3.61853058602528e-02 + 1.61339992591633e-02 3.85954833791147e-02 + 1.81739986253897e-02 4.10433943711824e-02 + 2.03501777793355e-02 4.35314002477075e-02 + 2.26560350313192e-02 4.60708805694109e-02 + 2.51100699549293e-02 4.86429113574602e-02 + 2.77174987155517e-02 5.12494166487686e-02 + 3.04919156378949e-02 5.38730846249108e-02 + 3.34394727201308e-02 5.65137751469588e-02 + 3.65599226351095e-02 5.91708986143791e-02 + 3.98616985347233e-02 6.18389873552911e-02 + 4.33495170050894e-02 6.45160950226586e-02 + 4.70214861824354e-02 6.72082521979816e-02 + 5.08847888947997e-02 6.99111392630080e-02 + 5.49477723154654e-02 7.26181660566421e-02 + 5.92123539939277e-02 7.53314783105840e-02 + 6.36879868079284e-02 7.80398959701461e-02 + 6.83798367531331e-02 8.07406632977646e-02 + 7.32920470111996e-02 8.34336352082395e-02 + 7.84335741047722e-02 8.61082140885653e-02 + 8.38063973742911e-02 8.87682837637879e-02 + 8.94181061729416e-02 9.14060260532937e-02 + 9.52758450834724e-02 9.40139427320222e-02 + 1.01386258939684e-01 9.65851783222454e-02 + 1.07754574282670e-01 9.91170275237920e-02 + 1.14386648556438e-01 1.01604614485307e-01 + 1.21290274596692e-01 1.04032962537900e-01 + 1.28471309025255e-01 1.06395707830446e-01 + 1.35934883992461e-01 1.08689719975377e-01 + 1.43686688516015e-01 1.10910672257577e-01 + 1.51732768923212e-01 1.13046646377614e-01 + 1.60078820740396e-01 1.15091140578954e-01 + 1.68729977626863e-01 1.17034433545808e-01 + 1.77692815857505e-01 1.18857307016176e-01 + 1.86970651286937e-01 1.20564288701907e-01 + 1.96567663403225e-01 1.22163180218509e-01 + 2.06488898522225e-01 1.23414966974147e-01 + 2.16738779460527e-01 1.24416770374647e-01 + 2.27321097649130e-01 1.25324947405791e-01 + 2.38239317236182e-01 1.26121782691576e-01 + 2.49496027948563e-01 1.26806191433998e-01 + 2.61093177110625e-01 1.27359499822878e-01 + 2.73033426614291e-01 1.27790739029860e-01 + 2.85318327817922e-01 1.28078925341494e-01 + 2.97948950977979e-01 1.28213070509089e-01 + 3.10926087080825e-01 1.28175422394981e-01 + 3.24250324597316e-01 1.27945710187952e-01 + 3.37921052716601e-01 1.27527194058378e-01 + 3.51937495698045e-01 1.26910747871457e-01 + 3.66298107453791e-01 1.26036675371895e-01 + 3.81001690323836e-01 1.24922469561446e-01 + 3.96045449142811e-01 1.23561987676780e-01 + 4.11428422113370e-01 1.22015300563736e-01 + 4.27146405744553e-01 1.20243816660014e-01 + 4.43197882188293e-01 1.18262356858853e-01 + 4.59578220528431e-01 1.16063981014362e-01 + 4.76284877444347e-01 1.13659512526073e-01 + 4.93312544277679e-01 1.11048133447063e-01 + 5.10656750732641e-01 1.08236655672830e-01 + 5.28311157659728e-01 1.05223354474786e-01 + 5.46272096056865e-01 1.02027637247130e-01 + 5.64531008546674e-01 9.86447008206431e-02 + 5.83082536416322e-01 9.50894740264849e-02 + 6.01917637840895e-01 9.13618674999100e-02 + 6.21029139698767e-01 8.74749884773460e-02 + 6.40407168707889e-01 8.34327875031644e-02 + 6.60042965353677e-01 7.92469265726961e-02 + 6.79928328012050e-01 7.49364238688948e-02 + 7.00052960153818e-01 7.05125613687010e-02 + 7.20407896548099e-01 6.59964442206516e-02 + 7.40981428594305e-01 6.13993935930192e-02 + 7.61761116501575e-01 5.67327586844199e-02 + 7.82736940794309e-01 5.20224120710789e-02 + 8.03895085398519e-01 4.72795451410064e-02 + 8.25222686152650e-01 4.25226614139466e-02 + 8.46704803808697e-01 3.77642924988576e-02 + 8.68326141501229e-01 3.30171111860217e-02 + 8.90070356857288e-01 2.82919179045392e-02 + 9.11922331570745e-01 2.36075853088273e-02 + 9.33865266678883e-01 1.90061749563297e-02 + 9.55877865767872e-01 1.44253696213052e-02 + 9.77929415714106e-01 9.86017810574581e-03 + 1.00000000000000e+00 5.32180221795630e-03 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF30_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF30_Coords.txt new file mode 100644 index 0000000..9aa2065 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF30_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -3.93323218112574e-03 + 9.76323470833739e-01 -3.61167224034221e-04 + 9.52584504368996e-01 2.36200917930035e-03 + 9.28823321232748e-01 4.17718024662597e-03 + 9.05073818994016e-01 5.16415808743744e-03 + 8.81399531630570e-01 5.09096174883476e-03 + 8.57864200119782e-01 3.98265418559522e-03 + 8.34521245636961e-01 2.05039829123919e-03 + 8.11417872635709e-01 -5.97848046449028e-04 + 7.88607032621726e-01 -4.07692785365896e-03 + 7.66134889949618e-01 -8.36305167425931e-03 + 7.44030710314936e-01 -1.33320007602753e-02 + 7.22305044863544e-01 -1.88509920322628e-02 + 7.00961892216592e-01 -2.48049799541478e-02 + 6.80002392672937e-01 -3.10967207992328e-02 + 6.59417060349373e-01 -3.76147177012136e-02 + 6.39190936603501e-01 -4.42495907996427e-02 + 6.19305735363873e-01 -5.08953493146031e-02 + 5.99747376364726e-01 -5.74672122590400e-02 + 5.80500842977793e-01 -6.38822167666347e-02 + 5.61555207097254e-01 -7.00712344117947e-02 + 5.42903940027482e-01 -7.59787393568016e-02 + 5.24542430774182e-01 -8.15530308284726e-02 + 5.06472757100422e-01 -8.67647857458122e-02 + 4.88695138821361e-01 -9.15731574909767e-02 + 4.71213708484693e-01 -9.59504243912966e-02 + 4.54037314642321e-01 -9.98841505255152e-02 + 4.37179228855796e-01 -1.03386801556528e-01 + 4.20649204611977e-01 -1.06455178361621e-01 + 4.04459332730526e-01 -1.09119934894458e-01 + 3.88620431612250e-01 -1.11694944076119e-01 + 3.73140178213612e-01 -1.13827924401079e-01 + 3.58028144682108e-01 -1.15554363491205e-01 + 3.43291303938467e-01 -1.16901991896003e-01 + 3.28936262598367e-01 -1.17902252380033e-01 + 3.14965856444869e-01 -1.18569733587743e-01 + 3.01384222575430e-01 -1.18949150472825e-01 + 2.88193153591426e-01 -1.19027474657498e-01 + 2.75392360794263e-01 -1.18858797723254e-01 + 2.62982312294244e-01 -1.18450626419279e-01 + 2.50960776868276e-01 -1.17824542594502e-01 + 2.39325141659801e-01 -1.17000572737811e-01 + 2.28072931928813e-01 -1.15988767402963e-01 + 2.17200386026532e-01 -1.14801966527402e-01 + 2.06701451046776e-01 -1.13464232930898e-01 + 1.96573309552429e-01 -1.11975639660953e-01 + 1.86807181823553e-01 -1.10372769689757e-01 + 1.77398768972931e-01 -1.08606722229927e-01 + 1.68340749784737e-01 -1.06613075215290e-01 + 1.59625799979868e-01 -1.04515722737145e-01 + 1.51245609343654e-01 -1.02331123325306e-01 + 1.43191444522349e-01 -1.00070353012155e-01 + 1.35456716123698e-01 -9.77401927110475e-02 + 1.28033729808585e-01 -9.53502483932110e-02 + 1.20912915557622e-01 -9.29127819587314e-02 + 1.14085738509792e-01 -9.04366029866972e-02 + 1.07544803831404e-01 -8.79276627419266e-02 + 1.01279409847580e-01 -8.53998616832226e-02 + 9.52805620245908e-02 -8.28612231083904e-02 + 8.95420282493121e-02 -8.03119523171977e-02 + 8.40551504593324e-02 -7.77582632773402e-02 + 7.88093924133725e-02 -7.52115328872421e-02 + 7.37982932020727e-02 -7.26726233076543e-02 + 6.90152290651320e-02 -7.01431529692749e-02 + 6.44517134818649e-02 -6.76276824091995e-02 + 6.00972819413477e-02 -6.51355861725634e-02 + 5.59452344804671e-02 -6.26690072956548e-02 + 5.19896574897810e-02 -6.02284060762058e-02 + 4.82230967256259e-02 -5.78171133446821e-02 + 4.46396014259016e-02 -5.54351388029786e-02 + 4.12341548991480e-02 -5.30817757402285e-02 + 3.79990653162951e-02 -5.07608477938696e-02 + 3.49305345778364e-02 -4.84703003838516e-02 + 3.20229934490066e-02 -4.62101493852628e-02 + 2.92666230148372e-02 -4.39879864897764e-02 + 2.66588417946999e-02 -4.18009537986939e-02 + 2.41930916500834e-02 -3.96518568593087e-02 + 2.18620577574775e-02 -3.75423720095996e-02 + 1.96625449797216e-02 -3.54715307307107e-02 + 1.76036661354011e-02 -3.34240133609757e-02 + 1.56803702147842e-02 -3.14026755009240e-02 + 1.38827429390357e-02 -2.94104078660320e-02 + 1.22052657655731e-02 -2.74522809395600e-02 + 1.06554636728854e-02 -2.55208619452319e-02 + 9.23086709151732e-03 -2.36201150251087e-02 + 7.91136658008885e-03 -2.17589886303680e-02 + 6.63209985052486e-03 -1.99852669652407e-02 + 5.47085095640745e-03 -1.82329631321638e-02 + 4.45967396434578e-03 -1.64908911441758e-02 + 3.59704287519198e-03 -1.47681273351944e-02 + 2.86032196813297e-03 -1.30774447073015e-02 + 2.25416665477533e-03 -1.14238824740854e-02 + 1.76544209641157e-03 -9.81513821477174e-03 + 1.38409806888956e-03 -8.25421642883708e-03 + 1.05087763210226e-03 -6.74438139896020e-03 + 7.70495833854752e-04 -5.29042699958504e-03 + 5.43772165063499e-04 -3.89033957528025e-03 + 3.34082665519982e-04 -2.54076813132829e-03 + 1.44161524377354e-04 -1.24355099477031e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 1.34031848191461e-04 1.24413374341086e-03 + 2.90596866007572e-04 2.54241249809178e-03 + 4.60801655401759e-04 3.89464420056415e-03 + 6.33971160994036e-04 5.30051544728095e-03 + 8.39264942509066e-04 6.76389444127500e-03 + 1.07994458536254e-03 8.28453213923082e-03 + 1.36102729440633e-03 9.86153364806117e-03 + 1.70203846562752e-03 1.14975298675568e-02 + 2.14165167946532e-03 1.31856727491392e-02 + 2.68972139841572e-03 1.49245041762301e-02 + 3.32400839225971e-03 1.67170414204781e-02 + 4.06137846471118e-03 1.85603939904904e-02 + 4.92077306036435e-03 2.04453370005167e-02 + 5.87663700515486e-03 2.23805332900981e-02 + 6.92404711116537e-03 2.43621946862633e-02 + 8.06919251773133e-03 2.63992705579843e-02 + 9.34678950626319e-03 2.84683148865893e-02 + 1.07524916039716e-02 3.05738491750078e-02 + 1.22783218211691e-02 3.27215455794041e-02 + 1.39120075079777e-02 3.49243643120293e-02 + 1.56756364438649e-02 3.71680428303041e-02 + 1.75687491553540e-02 3.94578997221281e-02 + 1.95991394877938e-02 4.17877672630398e-02 + 2.17663811896562e-02 4.41638466437799e-02 + 2.40861528856495e-02 4.65711127223333e-02 + 2.65636197592682e-02 4.90096029416629e-02 + 2.92033516139220e-02 5.14758970387865e-02 + 3.20139584848995e-02 5.39655468730545e-02 + 3.49993972399703e-02 5.64777857678618e-02 + 3.81582979701460e-02 5.90201913984679e-02 + 4.14979572263025e-02 6.15896860883661e-02 + 4.50279702739528e-02 6.41796363074482e-02 + 4.87522022652722e-02 6.67910919779734e-02 + 5.26795356174699e-02 6.94165081152607e-02 + 5.68168106530915e-02 7.20518358001803e-02 + 6.11700955479742e-02 7.46958242936517e-02 + 6.57468030301519e-02 7.73440887083844e-02 + 7.05508717464115e-02 7.99990944935514e-02 + 7.55917380384955e-02 8.26522797169000e-02 + 8.08774581187304e-02 8.52978906887893e-02 + 8.64157394703891e-02 8.79306362839198e-02 + 9.22137226775943e-02 9.05467768055403e-02 + 9.82787128836017e-02 9.31421133226994e-02 + 1.04619166703750e-01 9.57054072733460e-02 + 1.11243237206176e-01 9.82286498087481e-02 + 1.18158419554577e-01 1.00706784537699e-01 + 1.25372075621914e-01 1.03135720015043e-01 + 1.32891542708668e-01 1.05506543212316e-01 + 1.40724477477177e-01 1.07813012122649e-01 + 1.48878651967053e-01 1.10041494000889e-01 + 1.57362637707264e-01 1.12173428790639e-01 + 1.66182348083024e-01 1.14207532128983e-01 + 1.75343733407111e-01 1.16150220401422e-01 + 1.84853479218650e-01 1.17886445994320e-01 + 1.94718419971344e-01 1.19452624369295e-01 + 2.04944335609019e-01 1.20904257975971e-01 + 2.15536605613641e-01 1.22223960879677e-01 + 2.26499442106346e-01 1.23402886400648e-01 + 2.37836353342475e-01 1.24429064080778e-01 + 2.49551468557503e-01 1.25301722141646e-01 + 2.61647978108495e-01 1.26002114425625e-01 + 2.74128110585591e-01 1.26519005923695e-01 + 2.86993844874052e-01 1.26831148273081e-01 + 3.00246791085851e-01 1.26914393880050e-01 + 3.13886888509904e-01 1.26775293883833e-01 + 3.27914108157883e-01 1.26409149584926e-01 + 3.42327450722950e-01 1.25746584815274e-01 + 3.57126259548593e-01 1.24816468402290e-01 + 3.72308198427630e-01 1.23678019753342e-01 + 3.87872242208834e-01 1.22408465645943e-01 + 4.03815113655421e-01 1.20892501138629e-01 + 4.20135370451198e-01 1.19144468961662e-01 + 4.36828614108603e-01 1.17156007567097e-01 + 4.53891352664245e-01 1.14931437545369e-01 + 4.71319197288225e-01 1.12475372744814e-01 + 4.89107519683607e-01 1.09794165055402e-01 + 5.07248827524868e-01 1.06880395012909e-01 + 5.25739980248093e-01 1.03758998064230e-01 + 5.44572753024734e-01 1.00428819922214e-01 + 5.63740409976877e-01 9.69009341299154e-02 + 5.83233202597139e-01 9.31753092256823e-02 + 6.03042830684245e-01 8.92642559809137e-02 + 6.23159577875907e-01 8.51775215305777e-02 + 6.43571983464834e-01 8.09200190459371e-02 + 6.64272656875951e-01 7.65213597320201e-02 + 6.85249472323694e-01 7.19915770223985e-02 + 7.06492892337749e-01 6.73572355799172e-02 + 7.27988877474063e-01 6.26277837466349e-02 + 7.49722784428381e-01 5.78140865027228e-02 + 7.71685127823939e-01 5.29544996367203e-02 + 7.93858948778344e-01 4.80570291694600e-02 + 8.16228764331545e-01 4.31401192179182e-02 + 8.38778916193787e-01 3.82252136892333e-02 + 8.61489593052035e-01 3.33177109081651e-02 + 8.84342183716357e-01 2.84316009527550e-02 + 9.07319522852483e-01 2.35906895671876e-02 + 9.30399706920200e-01 1.88998238809764e-02 + 9.53560338622756e-01 1.42114480062832e-02 + 9.76768189504558e-01 9.52625743455217e-03 + 1.00000000000000e+00 4.85271819555733e-03 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF31_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF31_Coords.txt new file mode 100644 index 0000000..ad67eb6 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF31_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -3.39909427730294e-03 + 9.75739786245093e-01 1.66667066115984e-04 + 9.51417292282270e-01 2.85912858145949e-03 + 9.27078794400706e-01 4.60341829559475e-03 + 9.02756908276111e-01 5.50613391539154e-03 + 8.78518688512159e-01 5.35971397021267e-03 + 8.54430678728430e-01 4.19771208973180e-03 + 8.30547995197446e-01 2.20301177833617e-03 + 8.06919865739493e-01 -5.79858711530448e-04 + 7.83603133430182e-01 -4.21344714779629e-03 + 7.60646313547970e-01 -8.67026400438177e-03 + 7.38078155379423e-01 -1.38212050569975e-02 + 7.15905730132804e-01 -1.95128719564531e-02 + 6.94133548055599e-01 -2.56318405987101e-02 + 6.72763372684357e-01 -3.20813822416317e-02 + 6.51783554648899e-01 -3.87410062721133e-02 + 6.31177899280420e-01 -4.54965105369282e-02 + 6.10925694660405e-01 -5.22336503936310e-02 + 5.91012551287536e-01 -5.88655748559732e-02 + 5.71423674899189e-01 -6.53081406311836e-02 + 5.52148193637985e-01 -7.14901559459290e-02 + 5.33180938251479e-01 -7.73573215393409e-02 + 5.14517802334726e-01 -8.28563570797554e-02 + 4.96163719036651e-01 -8.79634154002229e-02 + 4.78119325106735e-01 -9.26355107282512e-02 + 4.60390443057936e-01 -9.68468884471846e-02 + 4.42987218340636e-01 -1.00586419659736e-01 + 4.25924937239420e-01 -1.03872084322774e-01 + 4.09215183274954e-01 -1.06705265246540e-01 + 3.92870904133390e-01 -1.09114012391344e-01 + 3.76903551727443e-01 -1.11249616161404e-01 + 3.61321283604413e-01 -1.12961375193398e-01 + 3.46133441293176e-01 -1.14278538699435e-01 + 3.31347292055281e-01 -1.15229726056944e-01 + 3.16968253164255e-01 -1.15836939720711e-01 + 3.02999519108095e-01 -1.16118986482656e-01 + 2.89443821855832e-01 -1.16121220594512e-01 + 2.76302470447169e-01 -1.15822471042447e-01 + 2.63574099608091e-01 -1.15285310621984e-01 + 2.51258003779674e-01 -1.14512474376716e-01 + 2.39350876572525e-01 -1.13527470799731e-01 + 2.27848841222159e-01 -1.12351637233901e-01 + 2.16748412519936e-01 -1.10993456961979e-01 + 2.06044595759961e-01 -1.09465848807993e-01 + 1.95729926901452e-01 -1.07796953878528e-01 + 1.85800741643028e-01 -1.05983937144934e-01 + 1.76246658055100e-01 -1.04061744576678e-01 + 1.67062350970448e-01 -1.02029204977502e-01 + 1.58239363751536e-01 -9.98962542838599e-02 + 1.49768916052398e-01 -9.76826873281142e-02 + 1.41641760595294e-01 -9.54016631547151e-02 + 1.33847502504757e-01 -9.30680497032718e-02 + 1.26378756085063e-01 -9.06866650664268e-02 + 1.19226850459531e-01 -8.82656458706206e-02 + 1.12380797115595e-01 -8.58175295318907e-02 + 1.05831159278362e-01 -8.33502714935896e-02 + 9.95700613624248e-02 -8.08666704449668e-02 + 9.35855223600608e-02 -7.83810647688373e-02 + 8.78676443817454e-02 -7.59007382049857e-02 + 8.24093698567963e-02 -7.34258008874915e-02 + 7.72018972897895e-02 -7.09599101493557e-02 + 7.22335196395077e-02 -6.85139081821755e-02 + 6.74971266364634e-02 -6.60886949772903e-02 + 6.29863043116490e-02 -6.36836255005664e-02 + 5.86917600386968e-02 -6.13030819553711e-02 + 5.46029927053700e-02 -5.89542162761045e-02 + 5.07118786320632e-02 -5.66401854921898e-02 + 4.70127273555139e-02 -5.43597876831225e-02 + 4.34983149419465e-02 -5.21142240118531e-02 + 4.01614936331924e-02 -4.99045317005533e-02 + 3.69978826112811e-02 -4.77283625102477e-02 + 3.39994433583261e-02 -4.55891618237860e-02 + 3.11617470922872e-02 -4.34849860726161e-02 + 2.84799939042705e-02 -4.14140284798579e-02 + 2.59443802638183e-02 -3.93828998736286e-02 + 2.35547390966207e-02 -3.73854000084209e-02 + 2.13025440022261e-02 -3.54254336768029e-02 + 1.91788547192580e-02 -3.35072296921697e-02 + 1.71800208100581e-02 -3.16291628629476e-02 + 1.53178792291381e-02 -2.97746594811567e-02 + 1.35857750834126e-02 -2.79463422665963e-02 + 1.19739044103992e-02 -2.61494138764628e-02 + 1.04746168338933e-02 -2.43882221823268e-02 + 9.09815040788543e-03 -2.26529512593523e-02 + 7.84170242489815e-03 -2.09448097537099e-02 + 6.68403239544467e-03 -1.92756021526446e-02 + 5.54949184750671e-03 -1.76976772112062e-02 + 4.52160737553635e-03 -1.61446314317938e-02 + 3.64340860979854e-03 -1.45962578918390e-02 + 2.91062290643606e-03 -1.30587774980858e-02 + 2.29855508780695e-03 -1.15476776744096e-02 + 1.81812065527304e-03 -1.00675799462668e-02 + 1.44375175176043e-03 -8.62806010495813e-03 + 1.16809719336443e-03 -7.23388244617354e-03 + 9.32608159232356e-04 -5.89314179331030e-03 + 7.20674256176374e-04 -4.60933828270470e-03 + 5.25688647449223e-04 -3.37988707954523e-03 + 3.40835589883743e-04 -2.20290202941760e-03 + 1.64346865984056e-04 -1.07689387957650e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 1.53869139937573e-04 1.07807588078786e-03 + 3.04071965837616e-04 2.20647324921419e-03 + 4.54457975871383e-04 3.38656052640254e-03 + 6.05078767614746e-04 4.61959410165525e-03 + 7.61247128100513e-04 5.90811274480162e-03 + 9.32753369525850e-04 7.25285581453266e-03 + 1.13707718282904e-03 8.65487813270113e-03 + 1.38378606189583e-03 1.01146099866904e-02 + 1.71778098618888e-03 1.16228029770650e-02 + 2.15627739057439e-03 1.31813769546055e-02 + 2.66293594627137e-03 1.47935130046138e-02 + 3.26368300598562e-03 1.64536111066851e-02 + 3.98379507910298e-03 1.81530046322477e-02 + 4.78810431821423e-03 1.99033883002444e-02 + 5.67462224613696e-03 2.17068814281762e-02 + 6.64643433375894e-03 2.35669182172802e-02 + 7.74555462675047e-03 2.54609097701465e-02 + 8.96426321586436e-03 2.73937335025929e-02 + 1.02944233142050e-02 2.93732325048702e-02 + 1.17190445460846e-02 3.14140519916504e-02 + 1.32704000813006e-02 3.34954891781513e-02 + 1.49511394055411e-02 3.56187677564318e-02 + 1.67635478436389e-02 3.77853169080426e-02 + 1.87042958974451e-02 4.00021663809206e-02 + 2.07901346464376e-02 4.22569898315412e-02 + 2.30257215189381e-02 4.45497589458610e-02 + 2.54181049225125e-02 4.68772201868000e-02 + 2.79759859059517e-02 4.92352578533138e-02 + 3.07029304318938e-02 5.16235456328616e-02 + 3.35978371577263e-02 5.40497764925380e-02 + 3.66680611492222e-02 5.65113655174356e-02 + 3.99238398646998e-02 5.90023806866969e-02 + 4.33700405749277e-02 6.15230992074648e-02 + 4.70152521726131e-02 6.40681891966492e-02 + 5.08671764876895e-02 6.66341185196324e-02 + 5.49328721816193e-02 6.92189285992367e-02 + 5.92189576390632e-02 7.18213097075055e-02 + 6.37303796474003e-02 7.44425317192721e-02 + 6.84775248970213e-02 7.70741944675256e-02 + 7.34689186697189e-02 7.97116805421378e-02 + 7.87128152239401e-02 8.23507271150428e-02 + 8.42173399946330e-02 8.49871998752260e-02 + 8.99905430235632e-02 8.76169020885232e-02 + 9.60412224669393e-02 9.02320979314852e-02 + 1.02378713005334e-01 9.28247078569560e-02 + 1.09011725666261e-01 9.53883054988788e-02 + 1.15948483072861e-01 9.79176716209780e-02 + 1.23196986782368e-01 1.00406512606601e-01 + 1.30765902539138e-01 1.02847233856467e-01 + 1.38664359933785e-01 1.05226821035496e-01 + 1.46901957132397e-01 1.07529696890148e-01 + 1.55485944052396e-01 1.09749789749515e-01 + 1.64423182165898e-01 1.11884391967652e-01 + 1.73721200457221e-01 1.13911272563702e-01 + 1.83388074262724e-01 1.15821004647700e-01 + 1.93430606694714e-01 1.17604750981877e-01 + 2.03855162750145e-01 1.19246902631310e-01 + 2.14666789336154e-01 1.20736420536841e-01 + 2.25869797868798e-01 1.22066280667620e-01 + 2.37469072589833e-01 1.23223955194771e-01 + 2.49468647185969e-01 1.24193911237087e-01 + 2.61871346255825e-01 1.24968075308936e-01 + 2.74679759905621e-01 1.25525906006853e-01 + 2.87896023922084e-01 1.25844883871652e-01 + 3.01520360642209e-01 1.25929884597590e-01 + 3.15553125311262e-01 1.25789254513640e-01 + 3.29993599962861e-01 1.25351297741305e-01 + 3.44841406308180e-01 1.24662975309263e-01 + 3.60094444292175e-01 1.23737418968654e-01 + 3.75751656165542e-01 1.22610460751335e-01 + 3.91810241285897e-01 1.21225971077480e-01 + 4.08268796201183e-01 1.19598046643594e-01 + 4.25123042017541e-01 1.17717594534165e-01 + 4.42368998657365e-01 1.15585589387212e-01 + 4.60002750578870e-01 1.13209439924516e-01 + 4.78019588187282e-01 1.10595261345016e-01 + 4.96411425802417e-01 1.07732704017816e-01 + 5.15175394762687e-01 1.04649547791519e-01 + 5.34303441349070e-01 1.01346515873086e-01 + 5.53788121077760e-01 9.78326981073893e-02 + 5.73619321825297e-01 9.41080928262103e-02 + 5.93788163463361e-01 9.01846009881958e-02 + 6.14285010371086e-01 8.60749523033904e-02 + 6.35097011970718e-01 8.17805874062051e-02 + 6.56217195003967e-01 7.73365680304052e-02 + 6.77632492460534e-01 7.27522851846285e-02 + 6.99333072430285e-01 6.80571126677167e-02 + 7.21303696158036e-01 6.32595351785844e-02 + 7.43528586544760e-01 5.83701685478656e-02 + 7.65998533028662e-01 5.34337916704591e-02 + 7.88694959628150e-01 4.84567715698254e-02 + 8.11601035907789e-01 4.34575217978679e-02 + 8.34700733602412e-01 3.84620719915582e-02 + 8.57971918537177e-01 3.34720774754900e-02 + 8.81394812126103e-01 2.85031695282134e-02 + 9.04951195757996e-01 2.35816921636677e-02 + 9.28616539385671e-01 1.87519658334635e-02 + 9.52367879264581e-01 1.39421026241459e-02 + 9.76170692701358e-01 9.14702646089212e-03 + 1.00000000000000e+00 4.37932834150154e-03 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF32_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF32_Coords.txt new file mode 100644 index 0000000..6c3481b --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF32_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -2.86933612157191e-03 + 9.75710581955689e-01 5.51477867577173e-04 + 9.51359031596632e-01 3.13262961853299e-03 + 9.26991894625622e-01 4.80111337820540e-03 + 9.02641669985214e-01 5.66121921621952e-03 + 8.78375551244010e-01 5.52137617785977e-03 + 8.54260189031929e-01 4.39735522731236e-03 + 8.30350764819393e-01 2.40219875532723e-03 + 8.06696583075141e-01 -5.00952188830051e-04 + 7.83354642102012e-01 -4.16213194475111e-03 + 7.60373540303087e-01 -8.61161677423921e-03 + 7.37781971622506e-01 -1.37504882375816e-02 + 7.15586869697147e-01 -1.94259517535702e-02 + 6.93792798799077e-01 -2.55260896373486e-02 + 6.72401581934057e-01 -3.19552843103034e-02 + 6.51401499009391e-01 -3.85932302535030e-02 + 6.30776330468193e-01 -4.53260559798622e-02 + 6.10505284953472e-01 -5.20396662533520e-02 + 5.90573982420126e-01 -5.86474213601350e-02 + 5.70967654303317e-01 -6.50651701311649e-02 + 5.51675431418049e-01 -7.12212133883194e-02 + 5.32692225296455e-01 -7.70617165566036e-02 + 5.14013964216947e-01 -8.25336151006485e-02 + 4.95645713543472e-01 -8.76132426767312e-02 + 4.77588104389030e-01 -9.22563408198895e-02 + 4.59847027738872e-01 -9.64367147020175e-02 + 4.42432692902487e-01 -1.00143384153325e-01 + 4.25360472301764e-01 -1.03394173973710e-01 + 4.08642045684131e-01 -1.06191287249211e-01 + 3.92290400221153e-01 -1.08544986908926e-01 + 3.76317022031866e-01 -1.10139175084822e-01 + 3.60730092418504e-01 -1.11371512532470e-01 + 3.45538931592235e-01 -1.12261191009945e-01 + 3.30750821422830e-01 -1.12835269970873e-01 + 3.16371112086567e-01 -1.13103574620437e-01 + 3.02403014504912e-01 -1.13082757921765e-01 + 2.88849183529447e-01 -1.12821581450485e-01 + 2.75710898902246e-01 -1.12286327404734e-01 + 2.62986738758329e-01 -1.11541948845303e-01 + 2.50675929995854e-01 -1.10587978435274e-01 + 2.38775107882583e-01 -1.09447077364863e-01 + 2.27280332262792e-01 -1.08137650430628e-01 + 2.16188058177186e-01 -1.06667383856405e-01 + 2.05493222753836e-01 -1.05048669181830e-01 + 1.95188292319715e-01 -1.03308378105110e-01 + 1.85269552920494e-01 -1.01442098426403e-01 + 1.75726548380678e-01 -9.94810757698171e-02 + 1.66553891639532e-01 -9.74289812803704e-02 + 1.57743065211077e-01 -9.52987727400077e-02 + 1.49285219786851e-01 -9.31027099966431e-02 + 1.41171060800877e-01 -9.08517715977444e-02 + 1.33390105663228e-01 -8.85622203053299e-02 + 1.25934924317904e-01 -8.62380857152676e-02 + 1.18796801551282e-01 -8.38852202931174e-02 + 1.11964678193763e-01 -8.15155031755840e-02 + 1.05429071988293e-01 -7.91361009448231e-02 + 9.91820861309109e-02 -7.67477418157678e-02 + 9.32116791755736e-02 -7.43639212558069e-02 + 8.75079093892874e-02 -7.19910265222864e-02 + 8.20636733830980e-02 -6.96293394417494e-02 + 7.68701635924034e-02 -6.72815588210815e-02 + 7.19156238522349e-02 -6.49637157081614e-02 + 6.71929073019509e-02 -6.26738463956420e-02 + 6.26956065238284e-02 -6.04065797133978e-02 + 5.84143910981356e-02 -5.81657185585440e-02 + 5.43387642077658e-02 -5.59572269106603e-02 + 5.04605343967177e-02 -5.37832607040119e-02 + 4.67740219510675e-02 -5.16421496473689e-02 + 4.32720192807160e-02 -4.95339518122824e-02 + 3.99473184519267e-02 -4.74599125686704e-02 + 3.67955645776809e-02 -4.54183078159595e-02 + 3.38087050478438e-02 -4.34119526398842e-02 + 3.09822790833794e-02 -4.14386987960767e-02 + 2.83115224859162e-02 -3.94973261836052e-02 + 2.57866428149322e-02 -3.75928211632205e-02 + 2.34075847715222e-02 -3.57199095731913e-02 + 2.11657378206714e-02 -3.38805329641029e-02 + 1.90520763093584e-02 -3.20799495279222e-02 + 1.70629283604154e-02 -3.03161626385366e-02 + 1.52102419111137e-02 -2.85746333101723e-02 + 1.34872933931782e-02 -2.68566485029548e-02 + 1.18842660802136e-02 -2.51706507006433e-02 + 1.03934217080328e-02 -2.35183857078230e-02 + 9.02513409957092e-03 -2.18880487579211e-02 + 7.77661519691035e-03 -2.02767632089874e-02 + 6.62655361045153e-03 -1.87005437179072e-02 + 5.49884834104592e-03 -1.72060551400348e-02 + 4.47717226558900e-03 -1.57381095971917e-02 + 3.60515260195545e-03 -1.42655774200156e-02 + 2.87842186472125e-03 -1.27912524665274e-02 + 2.27218694288842e-03 -1.13335943630618e-02 + 1.79771419844169e-03 -9.89508410920731e-03 + 1.42883574258884e-03 -8.48720722363950e-03 + 1.15831794062774e-03 -7.11636221746300e-03 + 9.30636249531746e-04 -5.79723280350945e-03 + 7.23870989558607e-04 -4.53364765449117e-03 + 5.30112500189225e-04 -3.32376787121142e-03 + 3.52782657913539e-04 -2.16590639702834e-03 + 1.80335397902936e-04 -1.05857850063155e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 1.69715796269172e-04 1.06014319106919e-03 + 3.21704227944512e-04 2.17080604943226e-03 + 4.60023854570542e-04 3.33301245462774e-03 + 6.10259476100310e-04 4.54803964186977e-03 + 7.63254914856163e-04 5.81801907656370e-03 + 9.29584876117045e-04 7.14323758542462e-03 + 1.12817623239725e-03 8.52475228204217e-03 + 1.36925994933498e-03 9.96054312566465e-03 + 1.69826050381121e-03 1.14372697758041e-02 + 2.13160030418877e-03 1.29585230075298e-02 + 2.63224445453142e-03 1.45274225018933e-02 + 3.22658817917968e-03 1.61352608176745e-02 + 3.94015986401240e-03 1.77764582440203e-02 + 4.73732414026266e-03 1.94645467530458e-02 + 5.61613730511823e-03 2.12102419743729e-02 + 6.57965015828667e-03 2.30062882500706e-02 + 7.67017126196983e-03 2.48349911579901e-02 + 8.87983531829525e-03 2.67000443488238e-02 + 1.02004887843934e-02 2.86103824086056e-02 + 1.16149475555995e-02 3.05772114070344e-02 + 1.31559547334692e-02 3.25833972102539e-02 + 1.48263386639013e-02 3.46281612084791e-02 + 1.66280844572763e-02 3.67152019753755e-02 + 1.85577397368627e-02 3.88490303789384e-02 + 2.06320860586828e-02 4.10202598936691e-02 + 2.28557582737609e-02 4.32285559327392e-02 + 2.52359079275283e-02 4.54737011408442e-02 + 2.77812429214905e-02 4.77512403299201e-02 + 3.04953176572188e-02 5.00605553063858e-02 + 3.33770560169661e-02 5.24080586925027e-02 + 3.64338172837324e-02 5.47908985454538e-02 + 3.96758623516985e-02 5.72045278709751e-02 + 4.31081148620460e-02 5.96487864870898e-02 + 4.67391469620273e-02 6.21190717516457e-02 + 5.05766912034182e-02 6.46141156063287e-02 + 5.46278596855443e-02 6.71316672087533e-02 + 5.88992343795577e-02 6.96702967966609e-02 + 6.33958210810660e-02 7.22303205575746e-02 + 6.81280497888368e-02 7.48043751863431e-02 + 7.31044690486392e-02 7.73883294092361e-02 + 7.83333610762029e-02 7.99783703744675e-02 + 8.38229021165262e-02 8.25705985893102e-02 + 8.95811846390999e-02 8.51601173812468e-02 + 9.56170142055573e-02 8.77423595089163e-02 + 1.01939781818762e-01 9.03107543450649e-02 + 1.08558265316547e-01 9.28580826494489e-02 + 1.15480744127304e-01 9.53765928581059e-02 + 1.22715247925958e-01 9.78621377686747e-02 + 1.30270506312440e-01 1.00304043054231e-01 + 1.38155703711192e-01 1.02694528398231e-01 + 1.46380476666041e-01 1.05026259286590e-01 + 1.54952155330125e-01 1.07293322081246e-01 + 1.63877705055846e-01 1.09470413188966e-01 + 1.73164612629031e-01 1.11566635995441e-01 + 1.82821064635341e-01 1.13555603104327e-01 + 1.92853923563870e-01 1.15423555151864e-01 + 2.03269600951114e-01 1.17157630427070e-01 + 2.14073179855890e-01 1.18749830729886e-01 + 2.25269010690139e-01 1.20195797831111e-01 + 2.36862049700001e-01 1.21469516142441e-01 + 2.48856367816239e-01 1.22558448114212e-01 + 2.61254812509487e-01 1.23459965496932e-01 + 2.74060002850408e-01 1.24157250891336e-01 + 2.87274098574441e-01 1.24634125868712e-01 + 3.00897343465281e-01 1.24885240572198e-01 + 3.14930111913273e-01 1.24938181609379e-01 + 3.29371692980750e-01 1.24724549122169e-01 + 3.44221719292070e-01 1.24307490886237e-01 + 3.59478108674937e-01 1.23567755868112e-01 + 3.75139792148706e-01 1.22456688258022e-01 + 3.91203993073507e-01 1.21086123045838e-01 + 4.07669307000040e-01 1.19470016205814e-01 + 4.24531484406341e-01 1.17601586965184e-01 + 4.41786477980222e-01 1.15477530519042e-01 + 4.59430437714005e-01 1.13109140186475e-01 + 4.77458608360058e-01 1.10499382552401e-01 + 4.95862911928271e-01 1.07640323375764e-01 + 5.14640507672017e-01 1.04560841932114e-01 + 5.33783302980021e-01 1.01258821965706e-01 + 5.53283842708155e-01 9.77447261984488e-02 + 5.73132001488757e-01 9.40188334708139e-02 + 5.93318858507625e-01 9.00923641140249e-02 + 6.13834782021916e-01 8.59783693040786e-02 + 6.34666851564916e-01 8.16779614146220e-02 + 6.55808135409155e-01 7.72277953373070e-02 + 6.77245516640299e-01 7.26370604981205e-02 + 6.98969133928812e-01 6.79347164847326e-02 + 7.20963718956045e-01 6.31306748127620e-02 + 7.43213415006638e-01 5.82344583458571e-02 + 7.65709042197842e-01 5.32923633965684e-02 + 7.88431943052315e-01 4.83106536849915e-02 + 8.11365220544129e-01 4.33078905252115e-02 + 8.34492827307227e-01 3.83106490888924e-02 + 8.57792501162961e-01 3.33197297171255e-02 + 8.81244404698330e-01 2.83510461535743e-02 + 9.04830264085222e-01 2.34312170392390e-02 + 9.28525421748544e-01 1.84474300171901e-02 + 9.52306890313906e-01 1.35331900349642e-02 + 9.76140104343009e-01 8.66673115983542e-03 + 1.00000000000000e+00 3.87126252611321e-03 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF33_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF33_Coords.txt new file mode 100644 index 0000000..b942326 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF33_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -2.28655225865229e-03 + 9.75721322236667e-01 9.54369910662247e-04 + 9.51382552729723e-01 3.40062648464338e-03 + 9.27029635765017e-01 4.98402404923701e-03 + 9.02694326378763e-01 5.80229446998580e-03 + 8.78443210693472e-01 5.67721442450712e-03 + 8.54342403026775e-01 4.60294687831478e-03 + 8.30446767419120e-01 2.63556530921125e-03 + 8.06805212281844e-01 -2.64521613333467e-04 + 7.83474088117097e-01 -3.87183829866023e-03 + 7.60501446586731e-01 -8.23366950983079e-03 + 7.37915560591130e-01 -1.32586308899571e-02 + 7.15723961092165e-01 -1.88031588415209e-02 + 6.93931617754691e-01 -2.47620843345338e-02 + 6.72540754883845e-01 -3.10449767263213e-02 + 6.51540239804918e-01 -3.75351809762991e-02 + 6.30914414988264e-01 -4.41218961195991e-02 + 6.10643145691772e-01 -5.06942786651510e-02 + 5.90712421336183e-01 -5.71673404441778e-02 + 5.71107681907586e-01 -6.34572546666489e-02 + 5.51818055114220e-01 -6.94905146364697e-02 + 5.32838613759226e-01 -7.52151446077274e-02 + 5.14165414540733e-01 -8.05796028377901e-02 + 4.95803314834020e-01 -8.55594122633099e-02 + 4.77752551409938e-01 -9.01048489359325e-02 + 4.60018749447408e-01 -9.41869968196246e-02 + 4.42612079355789e-01 -9.77951900440706e-02 + 4.25547662437493e-01 -1.00944814759997e-01 + 4.08837212799525e-01 -1.03640613622302e-01 + 3.92493652415712e-01 -1.05886738488532e-01 + 3.76528492360307e-01 -1.07211636249933e-01 + 3.60949900843970e-01 -1.08200452177207e-01 + 3.45767059621715e-01 -1.08866487516599e-01 + 3.30987243411618e-01 -1.09240098494128e-01 + 3.16615713527019e-01 -1.09325301058059e-01 + 3.02655652194061e-01 -1.09132271137352e-01 + 2.89109640703685e-01 -1.08728096905146e-01 + 2.75978893230466e-01 -1.08062939513131e-01 + 2.63261967951429e-01 -1.07203689016417e-01 + 2.50957984666485e-01 -1.06152175541310e-01 + 2.39063532065972e-01 -1.04930812993863e-01 + 2.27574691027111e-01 -1.03554736906002e-01 + 2.16487801040837e-01 -1.02033322443856e-01 + 2.05797727498094e-01 -1.00379442764087e-01 + 1.95496976890366e-01 -9.86179319903890e-02 + 1.85581744602307e-01 -9.67441647534269e-02 + 1.76041690323953e-01 -9.47853561792388e-02 + 1.66871292010029e-01 -9.27484561419344e-02 + 1.58061994137126e-01 -9.06458414201606e-02 + 1.49605030968148e-01 -8.84879718411380e-02 + 1.41491119300754e-01 -8.62841681024385e-02 + 1.33709740265339e-01 -8.40523501272378e-02 + 1.26253412532650e-01 -8.17962037033994e-02 + 1.19113504868168e-01 -7.95194565178448e-02 + 1.12278988820496e-01 -7.72335876758069e-02 + 1.05740393541299e-01 -7.49452638866562e-02 + 9.94898724512218e-02 -7.26534042562456e-02 + 9.35154597742979e-02 -7.03708916898468e-02 + 8.78072501784957e-02 -6.81034740238380e-02 + 8.23580895484161e-02 -6.58518172470166e-02 + 7.71591891187207e-02 -6.36178155408839e-02 + 7.21989522636637e-02 -6.14427329700256e-02 + 6.74701842292170e-02 -5.93132709481660e-02 + 6.29664161620078e-02 -5.72064441453368e-02 + 5.86783695352689e-02 -5.51254591326568e-02 + 5.45956376068264e-02 -5.30752349201355e-02 + 5.07101055849996e-02 -5.10566315893807e-02 + 4.70160835844945e-02 -4.90678000807504e-02 + 4.35064301179784e-02 -4.71078130639651e-02 + 4.01739551239727e-02 -4.51781755163167e-02 + 3.70142061430594e-02 -4.32782582679243e-02 + 3.40191844306501e-02 -4.14102395203940e-02 + 3.11844343745809e-02 -3.95718009604862e-02 + 2.85051370203022e-02 -3.77626986433330e-02 + 2.59716502434142e-02 -3.59861641923795e-02 + 2.35837425767395e-02 -3.42383992169489e-02 + 2.13330490522593e-02 -3.25189956414824e-02 + 1.92105146232866e-02 -3.08342202451894e-02 + 1.72124953617385e-02 -2.91817878634085e-02 + 1.53505196257692e-02 -2.75495881790446e-02 + 1.36180622571397e-02 -2.59374459858901e-02 + 1.20050376937792e-02 -2.43571622382614e-02 + 1.05040209054358e-02 -2.28076710670178e-02 + 9.12533611217964e-03 -2.12752302423776e-02 + 7.86665839866362e-03 -1.97529224253015e-02 + 6.70648838310773e-03 -1.82611048523234e-02 + 5.57019533438140e-03 -1.68404046434988e-02 + 4.53928828027559e-03 -1.54472508602149e-02 + 3.65789923556567e-03 -1.40399679030097e-02 + 2.92233268602207e-03 -1.26182977298276e-02 + 2.30790798886780e-03 -1.12037228725835e-02 + 1.82632559853049e-03 -9.79683014056990e-03 + 1.45196812175709e-03 -8.41103294741395e-03 + 1.17729695183517e-03 -7.05431977643600e-03 + 9.57447062003629e-04 -5.74753485275153e-03 + 7.54538045914156e-04 -4.49489443321160e-03 + 5.56942091965416e-04 -3.29531027209919e-03 + 3.76510929500736e-04 -2.14721446682755e-03 + 1.97421137389531e-04 -1.04929408479184e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 1.86727960599474e-04 1.05119742180028e-03 + 3.47782885680907e-04 2.15329679105333e-03 + 4.88743997136262e-04 3.30691192824467e-03 + 6.44046918478388e-04 4.51326172867321e-03 + 7.96856091718265e-04 5.77415245648887e-03 + 9.59515726360973e-04 7.08938602934189e-03 + 1.15408934611581e-03 8.45992309415111e-03 + 1.39550854341811e-03 9.88148944159373e-03 + 1.73068698909738e-03 1.13368929649011e-02 + 2.17079772938756e-03 1.28311154286477e-02 + 2.67921011583347e-03 1.43671494771972e-02 + 3.28237931639649e-03 1.59333040421774e-02 + 4.00476724309588e-03 1.75269008191942e-02 + 4.81111157314177e-03 1.91630656019462e-02 + 5.69792524309637e-03 2.08607806666256e-02 + 6.67007631708651e-03 2.26023864415863e-02 + 7.76870850029163e-03 2.43750297539178e-02 + 8.98636002519880e-03 2.61811665634247e-02 + 1.03147524483049e-02 2.80306932770957e-02 + 1.17374060296517e-02 2.99311210181606e-02 + 1.32862972992787e-02 3.18693610291570e-02 + 1.49645374841968e-02 3.38428043016018e-02 + 1.67738540889400e-02 3.58570121858112e-02 + 1.87111747947887e-02 3.79137398618638e-02 + 2.07929231206189e-02 4.00064846889529e-02 + 2.30237845274116e-02 4.21345550039997e-02 + 2.54105602929451e-02 4.43009833380315e-02 + 2.79619901913054e-02 4.65009378367207e-02 + 3.06817525238990e-02 4.87334507715206e-02 + 3.35689382397854e-02 5.10035003460305e-02 + 3.66309243620996e-02 5.33078574713119e-02 + 3.98778330723144e-02 5.56434198461375e-02 + 4.33146604848859e-02 5.80095738215555e-02 + 4.69499540997345e-02 6.04023011915549e-02 + 5.07912499129358e-02 6.28228416360851e-02 + 5.48456984109971e-02 6.52686799327633e-02 + 5.91199447893122e-02 6.77379219746159e-02 + 6.36191013018946e-02 7.02298492739661e-02 + 6.83535185622459e-02 7.27382450203669e-02 + 7.33317334843500e-02 7.52593810076249e-02 + 7.85620269745329e-02 7.77898076298057e-02 + 8.40525795359661e-02 8.03258938552421e-02 + 8.98115451888031e-02 8.28618143251143e-02 + 9.58475819038157e-02 8.53963503793477e-02 + 1.02170018097144e-01 8.79247685797251e-02 + 1.08787696430036e-01 9.04390228306913e-02 + 1.15709080969071e-01 9.29282334192782e-02 + 1.22942114481263e-01 9.53904471555562e-02 + 1.30495703056108e-01 9.78109836205552e-02 + 1.38378815114101e-01 1.00188606047808e-01 + 1.46600878757831e-01 1.02533433136919e-01 + 1.55169394551765e-01 1.04850159176791e-01 + 1.64092161704748e-01 1.07071451352010e-01 + 1.73375419863325e-01 1.09232608947482e-01 + 1.83028050193364e-01 1.11292438594720e-01 + 1.93057015771637e-01 1.13235367534031e-01 + 2.03468669577486e-01 1.15050867107640e-01 + 2.14267997351939e-01 1.16734080920269e-01 + 2.25459317366355e-01 1.18283114969957e-01 + 2.37048071454509e-01 1.19656437557375e-01 + 2.49038242774790e-01 1.20842827567519e-01 + 2.61432566427715e-01 1.21843770390964e-01 + 2.74233626631712e-01 1.22645068713666e-01 + 2.87443539111396e-01 1.23238668086382e-01 + 3.01062648743588e-01 1.23595670037009e-01 + 3.15091321683857e-01 1.23760249190434e-01 + 3.29528738968683e-01 1.23670137401317e-01 + 3.44374484106669e-01 1.23376864974725e-01 + 3.59626559114318e-01 1.22734960936677e-01 + 3.75283755516390e-01 1.21656569386618e-01 + 3.91343290185795e-01 1.20312635556553e-01 + 4.07803715029528e-01 1.18716514016919e-01 + 4.24661119620287e-01 1.16872770447226e-01 + 4.41910840883947e-01 1.14758541677097e-01 + 4.59549630858158e-01 1.12402949205246e-01 + 4.77572128951709e-01 1.09793886614310e-01 + 4.95970813541164e-01 1.06935937559023e-01 + 5.14743047705367e-01 1.03862396910533e-01 + 5.33880043208681e-01 1.00556913677013e-01 + 5.53374719761819e-01 9.70371632564740e-02 + 5.73217030908595e-01 9.33047646647311e-02 + 5.93397896215123e-01 8.93677900095761e-02 + 6.13907680091447e-01 8.52399214660122e-02 + 6.34733482572126e-01 8.09217580902728e-02 + 6.55868665599131e-01 7.64559455370953e-02 + 6.77300088565368e-01 7.18509007246176e-02 + 6.99017681232191e-01 6.71327286712102e-02 + 7.21006641599007e-01 6.23184999833508e-02 + 7.43250799821168e-01 5.74125565355643e-02 + 7.65741217996608e-01 5.24665225951827e-02 + 7.88459259864114e-01 4.74866679652408e-02 + 8.11388065298306e-01 4.24922741140753e-02 + 8.34511585139977e-01 3.75111330417436e-02 + 8.57807428038287e-01 3.25410811039965e-02 + 8.81255771974737e-01 2.75988870994086e-02 + 9.04838325774436e-01 2.27117117155849e-02 + 9.28530536924305e-01 1.77146083846230e-02 + 9.52309497234048e-01 1.28189790485560e-02 + 9.76140986286482e-01 7.99184030275693e-03 + 1.00000000000000e+00 3.26330481060804e-03 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF34_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF34_Coords.txt new file mode 100644 index 0000000..c05fadf --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF34_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -1.70008727284656e-03 + 9.75757442999300e-01 1.33962719268066e-03 + 9.51461656923270e-01 3.63790368313023e-03 + 9.27156563425510e-01 5.13461899761970e-03 + 9.02871415702250e-01 5.91677007157440e-03 + 8.78670756967060e-01 5.80682169167163e-03 + 8.54618897859540e-01 4.78690419537126e-03 + 8.30769634867738e-01 2.88254741956116e-03 + 8.07170544417778e-01 1.04244936265663e-04 + 7.83875798385858e-01 -3.36551974556091e-03 + 7.60931609682103e-01 -7.55459681442540e-03 + 7.38364835189792e-01 -1.23610853231397e-02 + 7.16185014741362e-01 -1.76600142761889e-02 + 6.94398481382825e-01 -2.33572806053302e-02 + 6.73008809033862e-01 -2.93710695222275e-02 + 6.52006840571961e-01 -3.55922059449307e-02 + 6.31378808627765e-01 -4.19157653626782e-02 + 6.11106786728224e-01 -4.82376039293054e-02 + 5.91178006848906e-01 -5.44758149661271e-02 + 5.71578610355932e-01 -6.05472940574775e-02 + 5.52297714509135e-01 -6.63758172647655e-02 + 5.33330934484040e-01 -7.19123387507361e-02 + 5.14674758868616e-01 -7.71081082224122e-02 + 4.96333345549048e-01 -8.19364608710434e-02 + 4.78305605079570e-01 -8.63388358753557e-02 + 4.60596268702772e-01 -9.02814584330476e-02 + 4.43215376002535e-01 -9.37539916233154e-02 + 4.26177203738470e-01 -9.67668994737366e-02 + 4.09493581572670e-01 -9.93284876266198e-02 + 3.93177212211695e-01 -1.01446517921001e-01 + 3.77239690656980e-01 -1.02763683890849e-01 + 3.61689141090763e-01 -1.03740185946740e-01 + 3.46534279624567e-01 -1.04386654177307e-01 + 3.31782356924523e-01 -1.04740182346232e-01 + 3.17438335448004e-01 -1.04804601563118e-01 + 3.03505300915573e-01 -1.04579097923195e-01 + 2.89985587225545e-01 -1.04161715234230e-01 + 2.76880188041674e-01 -1.03483641046245e-01 + 2.64187594420022e-01 -1.02612554220761e-01 + 2.51906565977157e-01 -1.01557581125237e-01 + 2.40033534758348e-01 -1.00341184000335e-01 + 2.28564652376948e-01 -9.89747608677339e-02 + 2.17495869717138e-01 -9.74716438262469e-02 + 2.06821810909897e-01 -9.58460632451405e-02 + 1.96535117524443e-01 -9.41198574617439e-02 + 1.86631680042317e-01 -9.22895977323459e-02 + 1.77101547822257e-01 -9.03780563907554e-02 + 1.67938744850930e-01 -8.83960612620546e-02 + 1.59134587680803e-01 -8.63561975718048e-02 + 1.50680591634610e-01 -8.42667238316057e-02 + 1.42567511727181e-01 -8.21359461571351e-02 + 1.34784707076311e-01 -7.99833590311928e-02 + 1.27324523915072e-01 -7.78128295807883e-02 + 1.20178613440043e-01 -7.56261072457596e-02 + 1.13336050508565e-01 -7.34344201131452e-02 + 1.06787402641099e-01 -7.12442169048557e-02 + 1.00524992169236e-01 -6.90530235979911e-02 + 9.45371078039178e-02 -6.68732086233714e-02 + 8.88139666336077e-02 -6.47101174450762e-02 + 8.33482439442156e-02 -6.25649981734568e-02 + 7.81312141944236e-02 -6.04392721216312e-02 + 7.31518173066822e-02 -5.83997350046384e-02 + 6.84026974561646e-02 -5.64218355327067e-02 + 6.38771791745571e-02 -5.44651326155087e-02 + 5.95661584569183e-02 -5.25323385718064e-02 + 5.54595314931183e-02 -5.06275646908205e-02 + 5.15494413221366e-02 -4.87504519943854e-02 + 4.78301638512260e-02 -4.68991687937419e-02 + 4.42947799040294e-02 -4.50720425614403e-02 + 4.09361595254644e-02 -4.32708658253099e-02 + 3.77495221092536e-02 -4.14961810479447e-02 + 3.47270500666477e-02 -3.97496400899892e-02 + 3.18643051622500e-02 -3.80288209444548e-02 + 2.91562842903780e-02 -3.63344862352920e-02 + 2.65938508565125e-02 -3.46683323951838e-02 + 2.41761809199326e-02 -3.30280287657854e-02 + 2.18957353818106e-02 -3.14110428164351e-02 + 1.97433603412845e-02 -2.98245286712917e-02 + 1.77155058661606e-02 -2.82660102882950e-02 + 1.58222892232330e-02 -2.67255643170919e-02 + 1.40578525293395e-02 -2.52017457836673e-02 + 1.24112060980532e-02 -2.37092093488654e-02 + 1.08759783397775e-02 -2.22444625557423e-02 + 9.46232665461570e-03 -2.07921683896738e-02 + 8.16948372733245e-03 -1.93421233126744e-02 + 6.97531793748111e-03 -1.79183527493840e-02 + 5.81014322923250e-03 -1.65565928866959e-02 + 4.74819136453736e-03 -1.52227999669970e-02 + 3.83529204644056e-03 -1.38668516263032e-02 + 3.07000967477440e-03 -1.24862432090756e-02 + 2.42804184993088e-03 -1.11050074170431e-02 + 1.92254892763096e-03 -9.72240141555189e-03 + 1.52976489250848e-03 -8.35345985101848e-03 + 1.24112548297123e-03 -7.00747049795239e-03 + 1.02028728572417e-03 -5.71003179554596e-03 + 8.13480608339388e-04 -4.46566226585669e-03 + 6.04648434499428e-04 -3.27385095072104e-03 + 4.09850292628465e-04 -2.13312087853641e-03 + 2.14328089277376e-04 -1.04229296499157e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 2.03645492746842e-04 1.04445500936502e-03 + 3.80229598179513e-04 2.14010633957589e-03 + 5.37842002699659e-04 3.28725331497461e-03 + 7.05051456767521e-04 4.48706951755623e-03 + 8.64984648405100e-04 5.74111366019337e-03 + 1.03196338113797e-03 7.04881664992474e-03 + 1.23142203832641e-03 8.41106345925421e-03 + 1.48378549243307e-03 9.82185370098230e-03 + 1.83974087515607e-03 1.12610259945533e-02 + 2.30262304143410e-03 1.27345841629370e-02 + 2.83716087217056e-03 1.42453752589016e-02 + 3.47001113240836e-03 1.57793255881880e-02 + 4.22204906364905e-03 1.73359398975203e-02 + 5.05926693832384e-03 1.89315418368386e-02 + 5.97298719910323e-03 2.05916615295347e-02 + 6.97418957300841e-03 2.22903748877105e-02 + 8.10010022115337e-03 2.40186683432688e-02 + 9.34461449362398e-03 2.57779865658367e-02 + 1.06990338921582e-02 2.75789759301495e-02 + 1.21492475338527e-02 2.94260794391358e-02 + 1.37246538832546e-02 3.13095369631231e-02 + 1.54293155280999e-02 3.32252553088824e-02 + 1.72640936157335e-02 3.51802627703454e-02 + 1.92271940049126e-02 3.71739732807179e-02 + 2.13338360956640e-02 3.92022400836712e-02 + 2.35888755558957e-02 4.12640455183332e-02 + 2.59979356742100e-02 4.33651778556460e-02 + 2.85698634157347e-02 4.55004902421537e-02 + 3.13087537708386e-02 4.76687098538121e-02 + 3.42142595528832e-02 4.98735595229720e-02 + 3.72938174470553e-02 5.21114442912126e-02 + 4.05570831285218e-02 5.43804844261640e-02 + 4.40092964474428e-02 5.66796624896247e-02 + 4.76589220120135e-02 5.90054002590296e-02 + 5.15128347795698e-02 6.13611408286700e-02 + 5.55783143369923e-02 6.37441523294786e-02 + 5.98622185098501e-02 6.61520261326188e-02 + 6.43700175836475e-02 6.85831105728570e-02 + 6.91117951903834e-02 7.10321918442136e-02 + 7.40960491250514e-02 7.34958426806031e-02 + 7.93310558903069e-02 7.59708755960914e-02 + 8.48250103100324e-02 7.84538833316611e-02 + 9.05862734061244e-02 8.09381242245646e-02 + 9.66230067848283e-02 8.34253209857669e-02 + 1.02944328376156e-01 8.59124532744344e-02 + 1.09559298849723e-01 8.83907366439924e-02 + 1.16477003230928e-01 9.08462957949981e-02 + 1.23705092005791e-01 9.32790628489261e-02 + 1.31253064817888e-01 9.56703973145901e-02 + 1.39129163642365e-01 9.80253083026896e-02 + 1.47342115570675e-01 1.00371156174573e-01 + 1.55899994279582e-01 1.02723688074117e-01 + 1.64813403330152e-01 1.04973631446205e-01 + 1.74084388100436e-01 1.07181670251407e-01 + 1.83724165707002e-01 1.09292179907538e-01 + 1.93740037514196e-01 1.11287554744272e-01 + 2.04138159567124e-01 1.13159291588675e-01 + 2.14923190316235e-01 1.14906164223987e-01 + 2.26099339940529e-01 1.16528369574661e-01 + 2.37673683359147e-01 1.17967604176458e-01 + 2.49649908542195e-01 1.19212608572790e-01 + 2.62030372676954e-01 1.20267988601237e-01 + 2.74817542769904e-01 1.21121595128239e-01 + 2.88013386532346e-01 1.21775488378959e-01 + 3.01618588828562e-01 1.22165884455076e-01 + 3.15633488119645e-01 1.22351219591036e-01 + 3.30056902139094e-01 1.22278999395077e-01 + 3.44888249213742e-01 1.21964814357112e-01 + 3.60125814496415e-01 1.21329217314464e-01 + 3.75767920375995e-01 1.20284008978546e-01 + 3.91811761908143e-01 1.18964810312656e-01 + 4.08255744221217e-01 1.17384005118637e-01 + 4.25097097301065e-01 1.15565287541140e-01 + 4.42329087197514e-01 1.13453519172657e-01 + 4.59950490693772e-01 1.11107280207411e-01 + 4.77953911360686e-01 1.08489236240058e-01 + 4.96333698697975e-01 1.05625395680430e-01 + 5.15087901272280e-01 1.02556023803917e-01 + 5.34205391385655e-01 9.92406266176922e-02 + 5.53680349427449e-01 9.57092689422690e-02 + 5.73502994329569e-01 9.19658115476644e-02 + 5.93663708839333e-01 8.80131118475106e-02 + 6.14152844428511e-01 8.38654581538432e-02 + 6.34957570079735e-01 7.95231147981840e-02 + 6.56072235378048e-01 7.50379434783887e-02 + 6.77483620034969e-01 7.04171635595818e-02 + 6.99180951227209e-01 6.56816702998434e-02 + 7.21150995233810e-01 6.08606795062229e-02 + 7.43376529121406e-01 5.59498869263449e-02 + 7.65849428795947e-01 5.10088747184360e-02 + 7.88551129348430e-01 4.60441709795809e-02 + 8.11464894754138e-01 4.10762688533146e-02 + 8.34574669823296e-01 3.61343057108217e-02 + 8.57857628784579e-01 3.12117165661705e-02 + 8.81294001392915e-01 2.63264549411032e-02 + 9.04865438134263e-01 2.15062058228121e-02 + 9.28547739830810e-01 1.66251759843438e-02 + 9.52318264597199e-01 1.18614383546103e-02 + 9.76143952360734e-01 7.17598522379954e-03 + 1.00000000000000e+00 2.60229290134914e-03 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF35_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF35_Coords.txt new file mode 100644 index 0000000..7ba442f --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF35_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -1.16352604390801e-03 + 9.75826236205482e-01 1.66795337094237e-03 + 9.51612313517979e-01 3.81662415801630e-03 + 9.27398301420009e-01 5.23366586158571e-03 + 9.03208688269478e-01 5.99117916495978e-03 + 8.79104126491238e-01 5.89275019763225e-03 + 8.55145491559466e-01 4.92762323760028e-03 + 8.31384546772790e-01 3.11888496576622e-03 + 8.07866331746746e-01 5.27330687279865e-04 + 7.84640869091193e-01 -2.74497194247924e-03 + 7.61750869751803e-01 -6.69416802683588e-03 + 7.39220493759704e-01 -1.12048068679547e-02 + 7.17063106908823e-01 -1.61782325079694e-02 + 6.95287638850399e-01 -2.15329223588853e-02 + 6.73900233890368e-01 -2.71970224953806e-02 + 6.52895497411758e-01 -3.30720998985836e-02 + 6.32263261918992e-01 -3.90611716093124e-02 + 6.11989806661655e-01 -4.50697592290980e-02 + 5.92064730102734e-01 -5.10200186999722e-02 + 5.72475509410190e-01 -5.68299522020147e-02 + 5.53211241944514e-01 -6.24206160851780e-02 + 5.34268575847668e-01 -6.77461185437110e-02 + 5.15644822256324e-01 -7.27613239384657e-02 + 4.97342806856187e-01 -7.74357943659871e-02 + 4.79358914377381e-01 -8.17011100065960e-02 + 4.61696173530714e-01 -8.55173779836949e-02 + 4.44364374738552e-01 -8.88743560807564e-02 + 4.27376186300355e-01 -9.17755292203566e-02 + 4.10743657956769e-01 -9.42323530040160e-02 + 3.94479074812476e-01 -9.62586481962852e-02 + 3.78594191711050e-01 -9.77004324381062e-02 + 3.63097048981117e-01 -9.87888690044308e-02 + 3.47995475900525e-01 -9.95324519019542e-02 + 3.33296677327669e-01 -9.99752963965443e-02 + 3.19005046538691e-01 -1.00123283749691e-01 + 3.05123485456033e-01 -9.99613140111835e-02 + 2.91653856810438e-01 -9.96234765367142e-02 + 2.78596734295398e-01 -9.90207472373655e-02 + 2.65950481132839e-01 -9.82197480636144e-02 + 2.53713170958056e-01 -9.72393715417607e-02 + 2.41880937480514e-01 -9.61017769754459e-02 + 2.30450067032909e-01 -9.48139074220416e-02 + 2.19415770384803e-01 -9.33941903568637e-02 + 2.08772212179461e-01 -9.18585375701320e-02 + 1.98512291246186e-01 -9.02246575600200e-02 + 1.88631317368293e-01 -8.84912770119057e-02 + 1.79120082041662e-01 -8.66762352671226e-02 + 1.69971744655534e-01 -8.47941831169088e-02 + 1.61177378126584e-01 -8.28585536016922e-02 + 1.52729033065438e-01 -8.08747004907519e-02 + 1.44617537272812e-01 -7.88504889693815e-02 + 1.36832017489401e-01 -7.68064068195406e-02 + 1.29364491534939e-01 -7.47469735849545e-02 + 1.22207148505512e-01 -7.26719659097829e-02 + 1.15349260013430e-01 -7.05922621524320e-02 + 1.08781466653814e-01 -6.85142508546394e-02 + 1.02496412454826e-01 -6.64345407128228e-02 + 9.64828708062788e-02 -6.43648075755445e-02 + 9.07312919505795e-02 -6.23100964083309e-02 + 8.52340262627001e-02 -6.02723563347169e-02 + 7.99824686135929e-02 -5.82530281125021e-02 + 7.49665807997787e-02 -5.63224877149433e-02 + 7.01787002316819e-02 -5.44545351310688e-02 + 6.56117579358907e-02 -5.26060613482921e-02 + 6.12569822901456e-02 -5.07794518857674e-02 + 5.71048464285739e-02 -4.89783144992270e-02 + 5.31479844373108e-02 -4.72014083270487e-02 + 4.93806070743656e-02 -4.54469997387781e-02 + 4.57962185621041e-02 -4.37129608923064e-02 + 4.23878034200949e-02 -4.20013122968644e-02 + 3.91499560753409e-02 -4.03135092271121e-02 + 3.60752039564752e-02 -3.86508563257668e-02 + 3.31591419227383e-02 -3.70108825117745e-02 + 3.03964161464272e-02 -3.53951192407028e-02 + 2.77788528316676e-02 -3.38042056140189e-02 + 2.53044996519659e-02 -3.22369093416046e-02 + 2.29673904041203e-02 -3.06892006283758e-02 + 2.07581829161712e-02 -2.91688471909093e-02 + 1.86735062742535e-02 -2.76732720238735e-02 + 1.67207902742507e-02 -2.61940888045228e-02 + 1.48954478808059e-02 -2.47289827178785e-02 + 1.31847674722755e-02 -2.32945319600218e-02 + 1.15843837721889e-02 -2.18855893092176e-02 + 1.01041364664171e-02 -2.04857690534728e-02 + 8.74622474147678e-03 -1.90827276884963e-02 + 7.48731285713604e-03 -1.77029520939151e-02 + 6.26713205783067e-03 -1.63790038342829e-02 + 5.14605430818425e-03 -1.50830855579442e-02 + 4.17314261559750e-03 -1.37596436602635e-02 + 3.35126546217235e-03 -1.24048359691523e-02 + 2.65684082512612e-03 -1.10444047340198e-02 + 2.10580949124927e-03 -9.67685363872774e-03 + 1.67793145657213e-03 -8.31830149342973e-03 + 1.36268906531944e-03 -6.97888547622378e-03 + 1.12000837452246e-03 -5.68716353117902e-03 + 8.93458951997472e-04 -4.44784411422790e-03 + 6.64446509037175e-04 -3.26077450076612e-03 + 4.46845666214424e-04 -2.12453374924321e-03 + 2.29527828984537e-04 -1.03802680781396e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 2.18935685969158e-04 1.04034841829192e-03 + 4.14490203079302e-04 2.13207604506963e-03 + 5.96662999749155e-04 3.27528752912841e-03 + 7.82797939374329e-04 4.47112808142116e-03 + 9.61960049506389e-04 5.72100423151010e-03 + 1.14933529357760e-03 7.02411773211922e-03 + 1.37153507100420e-03 8.38130575814858e-03 + 1.65191190816014e-03 9.78550091061729e-03 + 2.04743766564036e-03 1.12146952438620e-02 + 2.55368877788959e-03 1.26754999429358e-02 + 3.13798339515819e-03 1.41706447196899e-02 + 3.82736223090506e-03 1.56845277077768e-02 + 4.63586959210957e-03 1.72179811339144e-02 + 5.53188716995905e-03 1.87880562665437e-02 + 6.49685193709353e-03 2.04244537907059e-02 + 7.55338348788383e-03 2.20959726335908e-02 + 8.73124688913192e-03 2.37960475180524e-02 + 1.00269221669931e-02 2.55254620549266e-02 + 1.14309108148021e-02 2.72953338040589e-02 + 1.29336135175166e-02 2.91080741774421e-02 + 1.45595187273231e-02 3.09561112265421e-02 + 1.63145009304275e-02 3.28343876227311e-02 + 1.81977712677959e-02 3.47508613444482e-02 + 2.02099699301402e-02 3.67033683511983e-02 + 2.23640230326771e-02 3.86893016262052e-02 + 2.46651104081271e-02 4.07074122474112e-02 + 2.71166118251227e-02 4.27653430779872e-02 + 2.97275783977332e-02 4.48577375190175e-02 + 3.25028987144580e-02 4.69831129684012e-02 + 3.54432956781012e-02 4.91443274381631e-02 + 3.85563196022324e-02 5.13375161931052e-02 + 4.18507376850831e-02 5.35616210239821e-02 + 4.53322539796522e-02 5.58153428939390e-02 + 4.90091752240582e-02 5.80953712699467e-02 + 5.28871174051451e-02 6.04066714775590e-02 + 5.69736059857924e-02 6.27463696974772e-02 + 6.12759037528830e-02 6.51116492906241e-02 + 6.58001628749262e-02 6.75002020335691e-02 + 7.05559585086778e-02 6.99075048969030e-02 + 7.55517139456997e-02 7.23303122679040e-02 + 8.07956973017088e-02 7.47655896051978e-02 + 8.62961306748632e-02 7.72100782694164e-02 + 9.20617693288342e-02 7.96563540794358e-02 + 9.80998295269478e-02 8.21081713779918e-02 + 1.04419028321310e-01 8.45637420885748e-02 + 1.11028841585804e-01 8.70137658341035e-02 + 1.17939536982759e-01 8.94421759352875e-02 + 1.25158208339224e-01 9.18501860420740e-02 + 1.32695485742464e-01 9.42162027144823e-02 + 1.40558227628046e-01 9.65497949258293e-02 + 1.48753825988161e-01 9.88850780420452e-02 + 1.57291446011204e-01 1.01238013059508e-01 + 1.66187032241270e-01 1.03478709746172e-01 + 1.75434641931136e-01 1.05693670499823e-01 + 1.85049941093962e-01 1.07812899921013e-01 + 1.95040875374152e-01 1.09816836982480e-01 + 2.05413225748941e-01 1.11699020566677e-01 + 2.16171027332872e-01 1.13462933416945e-01 + 2.27318284439415e-01 1.15110317869378e-01 + 2.38865182253667e-01 1.16566027328053e-01 + 2.50814846549728e-01 1.17818328772653e-01 + 2.63168914766428e-01 1.18874920439618e-01 + 2.75929630676144e-01 1.19726174426695e-01 + 2.89098680093855e-01 1.20386012684450e-01 + 3.02677395401382e-01 1.20750679458112e-01 + 3.16666062314764e-01 1.20892381510022e-01 + 3.31062806644756e-01 1.20771822231848e-01 + 3.45866732123965e-01 1.20358172784995e-01 + 3.61076663147858e-01 1.19670395516332e-01 + 3.76690028620272e-01 1.18632356161148e-01 + 3.92703982045185e-01 1.17312914760594e-01 + 4.09116649006107e-01 1.15723374511861e-01 + 4.25927431444056e-01 1.13909960040119e-01 + 4.43125651355832e-01 1.11780533573370e-01 + 4.60713941720601e-01 1.09427503349694e-01 + 4.78681028787433e-01 1.06784086652576e-01 + 4.97024825672978e-01 1.03901995378440e-01 + 5.15744686478415e-01 1.00829014754215e-01 + 5.34825027921222e-01 9.74960022006922e-02 + 5.54262431395570e-01 9.39479504186166e-02 + 5.74047621273907e-01 9.01913350056972e-02 + 5.94169957914115e-01 8.62230063908930e-02 + 6.14619768146589e-01 8.20573000093964e-02 + 6.35384352267882e-01 7.76948591470723e-02 + 6.56459940862454e-01 7.31971132724339e-02 + 6.77833161885944e-01 6.85700238894307e-02 + 6.99491904419003e-01 6.38277709277193e-02 + 7.21425921581938e-01 5.90139861932156e-02 + 7.43615984798529e-01 5.41143101961112e-02 + 7.66055519899444e-01 4.91962058582531e-02 + 7.88726097868356e-01 4.42668669239231e-02 + 8.11611219034432e-01 3.93482102125072e-02 + 8.34694816722482e-01 3.44699290009385e-02 + 8.57953237792765e-01 2.96211418843023e-02 + 8.81366810604441e-01 2.48208236675982e-02 + 9.04917074534596e-01 2.00967093307105e-02 + 9.28580503344309e-01 1.53933948841804e-02 + 9.52334962334925e-01 1.08181547894991e-02 + 9.76149601348813e-01 6.32737840061601e-03 + 1.00000000000000e+00 1.95682769991448e-03 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF36_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF36_Coords.txt new file mode 100644 index 0000000..46bf8fd --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF36_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -7.29419189595606e-04 + 9.75915770699515e-01 1.91249465128369e-03 + 9.51808393374241e-01 3.92801765257105e-03 + 9.27712923898406e-01 5.28058205482929e-03 + 9.03647649183407e-01 6.02611534062702e-03 + 8.79668157784876e-01 5.93369316895642e-03 + 8.55830854302391e-01 5.01729338014448e-03 + 8.32184855834527e-01 3.31715343145611e-03 + 8.08771900332813e-01 9.10324330805802e-04 + 7.85636610128757e-01 -2.15320157523943e-03 + 7.62817138354366e-01 -5.84613854585871e-03 + 7.40334135082350e-01 -1.00471977439171e-02 + 7.18205945603090e-01 -1.46862635999984e-02 + 6.96444879054669e-01 -1.96928550706371e-02 + 6.75060425105821e-01 -2.50040349649066e-02 + 6.54052086047983e-01 -3.05331519068835e-02 + 6.33414379628432e-01 -3.61915187684513e-02 + 6.13139058853086e-01 -4.18952946150173e-02 + 5.93218802172994e-01 -4.75707892314447e-02 + 5.73642825304853e-01 -5.31372760744497e-02 + 5.54400199710125e-01 -5.85138129187541e-02 + 5.35488917938631e-01 -6.36570901865027e-02 + 5.16907361675811e-01 -6.85256085948266e-02 + 4.98656622745809e-01 -7.30842665590296e-02 + 4.80729798513666e-01 -7.72561882435040e-02 + 4.63127701841708e-01 -8.09954861801213e-02 + 4.45859798868093e-01 -8.42917076265271e-02 + 4.28936664478215e-01 -8.71407575833897e-02 + 4.12370634845388e-01 -8.95559092428311e-02 + 3.96173451564625e-01 -9.15539874697587e-02 + 3.80357077514361e-01 -9.31232055630836e-02 + 3.64929443887577e-01 -9.43349182124982e-02 + 3.49897225746343e-01 -9.51944277905604e-02 + 3.35267568330188e-01 -9.57507180586334e-02 + 3.21044124124761e-01 -9.60110700205248e-02 + 3.07229555838880e-01 -9.59456677056186e-02 + 2.93825112977767e-01 -9.57210149294118e-02 + 2.80830822642781e-01 -9.52294539922503e-02 + 2.68244881679471e-01 -9.45350089350621e-02 + 2.56064470917142e-01 -9.36657880458372e-02 + 2.44285335780625e-01 -9.26430628818212e-02 + 2.32903937940105e-01 -9.14690258488800e-02 + 2.21914524904501e-01 -9.01669243973229e-02 + 2.11310663292912e-01 -8.87541232371338e-02 + 2.01085586759147e-01 -8.72436511767301e-02 + 1.91233849306635e-01 -8.56366026641871e-02 + 1.81747208324209e-01 -8.39458714430274e-02 + 1.72617697925855e-01 -8.21892402390199e-02 + 1.63836073935780e-01 -8.03812614259989e-02 + 1.55395083642858e-01 -7.85239554053773e-02 + 1.47285649578784e-01 -7.66251141830917e-02 + 1.39496596044998e-01 -7.47054760953099e-02 + 1.32019513430619e-01 -7.27704440051866e-02 + 1.24847290909011e-01 -7.08178850820173e-02 + 1.17969456169464e-01 -6.88581443017359e-02 + 1.11376744913913e-01 -6.68975858111069e-02 + 1.05062219859245e-01 -6.49323140693849e-02 + 9.90152852057825e-02 -6.29730846588107e-02 + 9.32266946462527e-02 -6.10246519345936e-02 + 8.76883756833979e-02 -5.90896477455711e-02 + 8.23918799049788e-02 -5.71699473665078e-02 + 7.73284990786417e-02 -5.53119083840365e-02 + 7.24901713598827e-02 -5.34996389910304e-02 + 6.78693156276263e-02 -5.17057638256750e-02 + 6.34575928563315e-02 -4.99325130030092e-02 + 5.92462270742182e-02 -4.81832654957281e-02 + 5.52284914662671e-02 -4.64563345875653e-02 + 5.13985119986177e-02 -4.47500635159457e-02 + 4.77503439479123e-02 -4.30621209877924e-02 + 4.42771208227043e-02 -4.13946491463024e-02 + 4.09726236545735e-02 -3.97495855839970e-02 + 3.78298289129595e-02 -3.81280701088404e-02 + 3.48443745298384e-02 -3.65276151102233e-02 + 3.20104502121031e-02 -3.49501537251097e-02 + 2.93211352482219e-02 -3.33958074971050e-02 + 2.67730087153842e-02 -3.18639111207218e-02 + 2.43621515371591e-02 -3.03496904673615e-02 + 2.20789765063803e-02 -2.88612144258525e-02 + 1.99203457018927e-02 -2.73958667969144e-02 + 1.78901911708685e-02 -2.59460239518450e-02 + 1.59855798888856e-02 -2.45089468644257e-02 + 1.41915591322072e-02 -2.31021412420893e-02 + 1.25063748448677e-02 -2.17196553967740e-02 + 1.09394532070357e-02 -2.03446069427030e-02 + 9.49685431313137e-03 -1.89636462303051e-02 + 8.15367525863802e-03 -1.76044432344048e-02 + 6.86190392292942e-03 -1.62980705796670e-02 + 5.66387371697032e-03 -1.50196827893173e-02 + 4.61285580018136e-03 -1.37111972272213e-02 + 3.71732042625899e-03 -1.23681873610745e-02 + 2.95462314428478e-03 -1.10172165518288e-02 + 2.34432347759040e-03 -9.65647407458958e-03 + 1.87077053301901e-03 -8.30259855839001e-03 + 1.52090430839907e-03 -6.96612771740569e-03 + 1.23726734623269e-03 -5.67696257859437e-03 + 9.77290241945844e-04 -4.43989845160568e-03 + 7.22778562499772e-04 -3.25494476668161e-03 + 4.80121246984708e-04 -2.12070579666157e-03 + 2.41626478243972e-04 -1.03612488936541e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 2.31168228032421e-04 1.03851836523956e-03 + 4.44832662754807e-04 2.12849880342413e-03 + 6.51446521726990e-04 3.26995802328937e-03 + 8.59858727263428e-04 4.46402829980066e-03 + 1.06760048329403e-03 5.71204781012079e-03 + 1.28916084476854e-03 7.01311498003001e-03 + 1.54939234538367e-03 8.36804503686495e-03 + 1.87072877106048e-03 9.76928914613409e-03 + 2.31775544962276e-03 1.11940020259750e-02 + 2.88045133090887e-03 1.26490597838240e-02 + 3.52950450435011e-03 1.41371289707207e-02 + 4.29245539302885e-03 1.56418975163580e-02 + 5.17445782912102e-03 1.71647884086437e-02 + 6.14700333705523e-03 1.87231764280513e-02 + 7.17866293065709e-03 2.03486900096229e-02 + 8.30720551469580e-03 2.20076841920320e-02 + 9.55268552695593e-03 2.36947263481374e-02 + 1.09149469546139e-02 2.54102883899312e-02 + 1.23834500784838e-02 2.71657033166192e-02 + 1.39544673980257e-02 2.89624154205251e-02 + 1.56460969746189e-02 3.07938888678992e-02 + 1.74665714839146e-02 3.26546138617266e-02 + 1.94129545803106e-02 3.45529764150710e-02 + 2.14890547423770e-02 3.64860516504079e-02 + 2.37048133706099e-02 3.84519584716112e-02 + 2.60658321988752e-02 4.04493324965489e-02 + 2.85725710501235e-02 4.24867098594326e-02 + 3.12343467386756e-02 4.45586337076200e-02 + 3.40570807225684e-02 4.66635188712311e-02 + 3.70428886281345e-02 4.88037999673537e-02 + 4.01994686565085e-02 5.09754742406955e-02 + 4.35344316514319e-02 5.31778787404060e-02 + 4.70540858268165e-02 5.54095754160005e-02 + 5.07665324525640e-02 5.76673729169217e-02 + 5.46757489629309e-02 5.99569832601363e-02 + 5.87895808288957e-02 6.22754655771253e-02 + 6.31158178952933e-02 6.46197855223734e-02 + 6.76614998027134e-02 6.69873088462427e-02 + 7.24355399263769e-02 6.93738506432344e-02 + 7.74462645914813e-02 7.17762456305091e-02 + 8.27019309981269e-02 7.41915248824460e-02 + 8.82107967419950e-02 7.66165006642193e-02 + 9.39821301932075e-02 7.90433974594283e-02 + 1.00021917249409e-01 8.14769660359139e-02 + 1.06338353219320e-01 8.39160390755980e-02 + 1.12941454365995e-01 8.63510611727601e-02 + 1.19843027556073e-01 8.87648499816970e-02 + 1.27049442123849e-01 9.11592407729027e-02 + 1.34572799431288e-01 9.35111190301575e-02 + 1.42418157234457e-01 9.58323723140521e-02 + 1.50591169891213e-01 9.81505299531436e-02 + 1.59102423194497e-01 1.00468078081830e-01 + 1.67974812988395e-01 1.02662327104527e-01 + 1.77191999964822e-01 1.04844751159943e-01 + 1.86775440384662e-01 1.06931873497424e-01 + 1.96733918424090e-01 1.08902541802380e-01 + 2.07072726908762e-01 1.10752389573763e-01 + 2.17795089680307e-01 1.12490321444779e-01 + 2.28904743117799e-01 1.14119055958712e-01 + 2.40415920423636e-01 1.15548455097402e-01 + 2.52331015672703e-01 1.16766595123667e-01 + 2.64650729549793e-01 1.17784587066129e-01 + 2.77377015287660e-01 1.18596060988477e-01 + 2.90511191812661e-01 1.19226953413936e-01 + 3.04055434251975e-01 1.19536703126278e-01 + 3.18009959673847e-01 1.19611042451037e-01 + 3.32371993350214e-01 1.19425045053428e-01 + 3.47140229568674e-01 1.18905965621403e-01 + 3.62314194550059e-01 1.18150570008209e-01 + 3.77890154325651e-01 1.17086693619113e-01 + 3.93865208319830e-01 1.15737215574024e-01 + 4.10237118287933e-01 1.14112514864518e-01 + 4.27008112974930e-01 1.12279414913409e-01 + 4.44162381184802e-01 1.10112981968014e-01 + 4.61707574743386e-01 1.07735669146937e-01 + 4.79627373557784e-01 1.05054040683660e-01 + 4.97924328799134e-01 1.02143783531795e-01 + 5.16599493724405e-01 9.90588577088745e-02 + 5.35631486098927e-01 9.57037133922949e-02 + 5.55020012229397e-01 9.21373312778483e-02 + 5.74756454320134e-01 8.83685515986215e-02 + 5.94828842087141e-01 8.43888699773916e-02 + 6.15227470290013e-01 8.02119881824148e-02 + 6.35939810130634e-01 7.58396806929024e-02 + 6.56964540317929e-01 7.13408179086443e-02 + 6.78288091296959e-01 6.67203662692395e-02 + 6.99896610613702e-01 6.19857784909072e-02 + 7.21783738768284e-01 5.71939788153653e-02 + 7.43927636836344e-01 5.23215451427032e-02 + 7.66323747878632e-01 4.74416308103105e-02 + 7.88953819743417e-01 4.25624049390136e-02 + 8.11801660374906e-01 3.77070824141625e-02 + 8.34851188149622e-01 3.29048206903248e-02 + 8.58077673106191e-01 2.81416726501623e-02 + 8.81461571937378e-01 2.34371671028459e-02 + 9.04984279411852e-01 1.88185087254521e-02 + 9.28623145121989e-01 1.42812227847677e-02 + 9.52356694473630e-01 9.88520564797795e-03 + 9.76156953517981e-01 5.58116316342507e-03 + 1.00000000000000e+00 1.40781838692117e-03 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF37_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF37_Coords.txt new file mode 100644 index 0000000..bba4831 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF37_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -4.49626526216799e-04 + 9.75993006946222e-01 2.05848660835095e-03 + 9.51977540163041e-01 3.98167290739308e-03 + 9.27984330573828e-01 5.29267745574830e-03 + 9.04026315459564e-01 6.03506973227252e-03 + 8.80154715067815e-01 5.94428938366653e-03 + 8.56422077232372e-01 5.06171539032128e-03 + 8.32875236327564e-01 3.44821301238136e-03 + 8.09553082149713e-01 1.16895433834449e-03 + 7.86495578521493e-01 -1.73718424367720e-03 + 7.63736946811802e-01 -5.23353787688778e-03 + 7.41294809254559e-01 -9.20055844303472e-03 + 7.19191806664689e-01 -1.35902529656892e-02 + 6.97443163468759e-01 -1.83393325613028e-02 + 6.76061255187145e-01 -2.33907812730678e-02 + 6.55049808391880e-01 -2.86671489289203e-02 + 6.34407382519169e-01 -3.40860121842538e-02 + 6.14130452468976e-01 -3.95718567453542e-02 + 5.94214353620504e-01 -4.50540796979151e-02 + 5.74649801436224e-01 -5.04529772356070e-02 + 5.55425845035998e-01 -5.56865573252915e-02 + 5.36541636712807e-01 -6.07130717236143e-02 + 5.17996481652804e-01 -6.54936907179457e-02 + 4.99789975977708e-01 -6.99893977012781e-02 + 4.81912381232213e-01 -7.41179366013390e-02 + 4.64362598793889e-01 -7.78291098044687e-02 + 4.47149815059603e-01 -8.11121369291787e-02 + 4.30282799047113e-01 -8.39570419520305e-02 + 4.13774134018681e-01 -8.63776675804228e-02 + 3.97635092714860e-01 -8.83903811517993e-02 + 3.81877817473768e-01 -9.00287758142598e-02 + 3.66510145343359e-01 -9.13145822833594e-02 + 3.51537755710281e-01 -9.22496964348678e-02 + 3.36967742384310e-01 -9.28853034294871e-02 + 3.22803118813835e-01 -9.32287564380518e-02 + 3.09046341351876e-01 -9.32391798684842e-02 + 2.95698130509343e-01 -9.31046714891122e-02 + 2.82758041874073e-01 -9.27043703141391e-02 + 2.70224128768305e-01 -9.20996048068595e-02 + 2.58092801849084e-01 -9.13247154181068e-02 + 2.46359471590467e-01 -9.03999406747614e-02 + 2.35020750916187e-01 -8.93237026894979e-02 + 2.24070056385734e-01 -8.81225557518029e-02 + 2.13500438737230e-01 -8.68147609593402e-02 + 2.03305420458286e-01 -8.54095530217054e-02 + 1.93478903584591e-01 -8.39098022556086e-02 + 1.84013478725148e-01 -8.23246266313304e-02 + 1.74900209283849e-01 -8.06737860560186e-02 + 1.66129577547506e-01 -7.89727496209038e-02 + 1.57694931789158e-01 -7.72207823755204e-02 + 1.49587276259456e-01 -7.54257412438405e-02 + 1.41795174362927e-01 -7.36081699899854e-02 + 1.34309847768940e-01 -7.17742152910417e-02 + 1.27124789567169e-01 -6.99202871367689e-02 + 1.20229748349754e-01 -6.80562029810810e-02 + 1.13615541861793e-01 -6.61882942201216e-02 + 1.07275593998804e-01 -6.43124484284844e-02 + 1.01199853124970e-01 -6.24385774410788e-02 + 9.53793347021180e-02 -6.05711887727270e-02 + 8.98056014454942e-02 -5.87134082320101e-02 + 8.44703401334158e-02 -5.68676297845783e-02 + 7.93659898229518e-02 -5.50468604313242e-02 + 7.44841442553873e-02 -5.32495571182779e-02 + 6.98167805093799e-02 -5.14703225300476e-02 + 6.53559327356407e-02 -4.97113466143674e-02 + 6.10934727154373e-02 -4.79759510097012e-02 + 5.70232249474827e-02 -4.62623292901264e-02 + 5.31392422528587e-02 -4.45688496631480e-02 + 4.94360552709656e-02 -4.28931304543963e-02 + 4.59069260345654e-02 -4.12373474766159e-02 + 4.25449339058954e-02 -3.96035711274592e-02 + 3.93434427160134e-02 -3.79928986571167e-02 + 3.62981275532618e-02 -3.64028393310955e-02 + 3.34027843581427e-02 -3.48354361961145e-02 + 3.06515733827515e-02 -3.32906745318634e-02 + 2.80398068308935e-02 -3.17680431192105e-02 + 2.55653315643944e-02 -3.02625699858862e-02 + 2.32183489983409e-02 -2.87824034488534e-02 + 2.09959222009572e-02 -2.73249186661399e-02 + 1.88989659132333e-02 -2.58826945058642e-02 + 1.69259739306338e-02 -2.44528805119635e-02 + 1.50600602598359e-02 -2.30532242865357e-02 + 1.33017233942782e-02 -2.16775632464259e-02 + 1.16600328065963e-02 -2.03088869708687e-02 + 1.01443791738933e-02 -1.89335876889349e-02 + 8.72850768936470e-03 -1.75796432946096e-02 + 7.37497932480073e-03 -1.62777450587640e-02 + 6.11056667077299e-03 -1.50038073543623e-02 + 4.99217101686704e-03 -1.36991029280228e-02 + 4.03309494221489e-03 -1.23590629267154e-02 + 3.21150278509821e-03 -1.10104643217214e-02 + 2.55007574425753e-03 -9.65142252961814e-03 + 2.03712168789088e-03 -8.29871125630739e-03 + 1.65738747814646e-03 -6.96297117160762e-03 + 1.33293879288168e-03 -5.67443960648260e-03 + 1.04074259634531e-03 -4.43793373481620e-03 + 7.64569069077780e-04 -3.25350351591015e-03 + 5.02686552744297e-04 -2.11975949852285e-03 + 2.49325850796644e-04 -1.03565469232048e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 2.38984331184659e-04 1.03806606602889e-03 + 4.65408331789869e-04 2.12761493039294e-03 + 6.89179785050616e-04 3.26864135396431e-03 + 9.15779299259623e-04 4.46227436185425e-03 + 1.14972958356354e-03 5.70983514177224e-03 + 1.40412155223589e-03 7.01039636482181e-03 + 1.70085075887398e-03 8.36476771746412e-03 + 2.05948946479332e-03 9.76528030949739e-03 + 2.55094301915702e-03 1.11888793113874e-02 + 3.16233054888269e-03 1.26425052726629e-02 + 3.86724719566991e-03 1.41288071771169e-02 + 4.69366445328701e-03 1.56312921708472e-02 + 5.63906685379628e-03 1.71515291022837e-02 + 6.67762859549448e-03 1.87069725745084e-02 + 7.76682197120758e-03 2.03297399251200e-02 + 8.95748432249010e-03 2.19855655716501e-02 + 1.02612932872510e-02 2.36693043121711e-02 + 1.16809947479214e-02 2.53813479421267e-02 + 1.32051507912950e-02 2.71330836900638e-02 + 1.48350991927175e-02 2.89257057030037e-02 + 1.65834253917985e-02 3.07529452029260e-02 + 1.84603963382836e-02 3.26091764573956e-02 + 2.04612231737020e-02 3.45028937410198e-02 + 2.25924474759201e-02 3.64309737581509e-02 + 2.48614359041016e-02 3.83917219822918e-02 + 2.72741541419091e-02 4.03837432624094e-02 + 2.98285431434766e-02 4.24158065316811e-02 + 3.25341489274150e-02 4.44824289383631e-02 + 3.53977839487709e-02 4.65819983275264e-02 + 3.84227652561802e-02 4.87168378322996e-02 + 4.16169186248543e-02 5.08829073812138e-02 + 4.49868573781755e-02 5.30796469614725e-02 + 4.85394109048478e-02 5.53055817305247e-02 + 5.22825032291867e-02 5.75575497740310e-02 + 5.62186983005870e-02 5.98414599566654e-02 + 6.03561176425675e-02 6.21543541561048e-02 + 6.47030057624752e-02 6.44931377600525e-02 + 6.92671678719046e-02 6.68550899205605e-02 + 7.40569464652952e-02 6.92361147530083e-02 + 7.90805842205521e-02 7.16330667162102e-02 + 8.43463289215020e-02 7.40429926438230e-02 + 8.98624687854934e-02 7.64627231666865e-02 + 9.56387148100046e-02 7.88843874410147e-02 + 1.01679991527133e-01 8.13129988959564e-02 + 1.07994044167654e-01 8.37475565285710e-02 + 1.14591355157212e-01 8.61784373814818e-02 + 1.21485059145276e-01 8.85881583254555e-02 + 1.28680900488004e-01 9.09787173616251e-02 + 1.36192249731232e-01 9.33265871049676e-02 + 1.44022611288624e-01 9.56442797480746e-02 + 1.52176140561063e-01 9.79471230630264e-02 + 1.60664648815145e-01 1.00219821099479e-01 + 1.69517028380740e-01 1.02360125625933e-01 + 1.78707971436027e-01 1.04498427849178e-01 + 1.88263929154819e-01 1.06541277271609e-01 + 1.98194409066309e-01 1.08466513978061e-01 + 2.08504282895930e-01 1.10271452495018e-01 + 2.19196074646931e-01 1.11969506892626e-01 + 2.30273289566830e-01 1.13563888286447e-01 + 2.41753652849197e-01 1.14954025832581e-01 + 2.53638927374186e-01 1.16128159004845e-01 + 2.65929005742880e-01 1.17100321189066e-01 + 2.78625590556252e-01 1.17867118767506e-01 + 2.91729684246990e-01 1.18463610293012e-01 + 3.05244188930116e-01 1.18723850829066e-01 + 3.19169262455377e-01 1.18744154669194e-01 + 3.33501353251790e-01 1.18510887950870e-01 + 3.48238802402340e-01 1.17924215973523e-01 + 3.63381741552148e-01 1.17119102148741e-01 + 3.78925433589375e-01 1.16017551837228e-01 + 3.94866931287052e-01 1.14629160066478e-01 + 4.11203682546923e-01 1.12963719533611e-01 + 4.27940354634774e-01 1.11102006006915e-01 + 4.45056708245048e-01 1.08897514005431e-01 + 4.62564724673289e-01 1.06492497327971e-01 + 4.80443730638285e-01 1.03775635537294e-01 + 4.98700278293417e-01 1.00839150817594e-01 + 5.17336886659402e-01 9.77407493760191e-02 + 5.36327171079838e-01 9.43668609331258e-02 + 5.55673533543324e-01 9.07861525233834e-02 + 5.75367923727808e-01 8.70090498400544e-02 + 5.95397223481250e-01 8.30235069176388e-02 + 6.15751699897618e-01 7.88423748342838e-02 + 6.36418971608972e-01 7.44686830028563e-02 + 6.57399829180085e-01 6.99755281318409e-02 + 6.78680532675034e-01 6.53672991712120e-02 + 7.00245727318224e-01 6.06465262596784e-02 + 7.22092407028257e-01 5.58792071204656e-02 + 7.44196481083909e-01 5.10358624978040e-02 + 7.66555132694040e-01 4.61925567123437e-02 + 7.89150262277803e-01 4.13583479891148e-02 + 8.11965943141174e-01 3.65573282323457e-02 + 8.34986080765646e-01 3.18176417134287e-02 + 8.58185016277900e-01 2.71238132544420e-02 + 8.81543317076702e-01 2.24955104221916e-02 + 9.05042253185376e-01 1.79592199578819e-02 + 9.28659929725470e-01 1.35286467790738e-02 + 9.52375441536923e-01 9.25274519100639e-03 + 9.76163295810500e-01 5.07654643028011e-03 + 1.00000000000000e+00 1.04191728915796e-03 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF38_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF38_Coords.txt new file mode 100644 index 0000000..179c7b8 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF38_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -3.71663624309444e-04 + 9.76017568294686e-01 2.09740027382490e-03 + 9.52031329328083e-01 3.99388322551278e-03 + 9.28070638676756e-01 5.29329818508414e-03 + 9.04146732423838e-01 6.03552788264997e-03 + 8.80309441682373e-01 5.94483425110475e-03 + 8.56610087823544e-01 5.07205375524694e-03 + 8.33094779308812e-01 3.48518207679764e-03 + 8.09801500212952e-01 1.24198889436214e-03 + 7.86768732939441e-01 -1.61714401887065e-03 + 7.64029448545206e-01 -5.05415831433425e-03 + 7.41600306402727e-01 -8.95103649024531e-03 + 7.19505313316081e-01 -1.32664966742413e-02 + 6.97760620781954e-01 -1.79392345429141e-02 + 6.76379522029838e-01 -2.29138874387622e-02 + 6.55367086965139e-01 -2.81158064050698e-02 + 6.34723160292757e-01 -3.34644442304210e-02 + 6.14445718488537e-01 -3.88868243087427e-02 + 5.94530941842471e-01 -4.43132611654412e-02 + 5.74970022740498e-01 -4.96643666397068e-02 + 5.55752003197788e-01 -5.48579023094515e-02 + 5.36876404308979e-01 -5.98525300304434e-02 + 5.18342824936104e-01 -6.46102084095419e-02 + 5.00150385563215e-01 -6.90906898681219e-02 + 4.82288445935981e-01 -7.32102556940118e-02 + 4.64755299574327e-01 -7.69174493160327e-02 + 4.47560043916586e-01 -8.02013672216798e-02 + 4.30710873709413e-01 -8.30502485164628e-02 + 4.14220450790071e-01 -8.54779875163164e-02 + 3.98099898802043e-01 -8.75003551684143e-02 + 3.82361417152145e-01 -8.91539118487549e-02 + 3.67012812949938e-01 -9.04577352136744e-02 + 3.52059448954428e-01 -9.14125244130858e-02 + 3.37508402620579e-01 -9.20698975569944e-02 + 3.23362484181096e-01 -9.24370482908363e-02 + 3.09624084367261e-01 -9.24697923842373e-02 + 2.96293755468272e-01 -9.23622670606858e-02 + 2.83370903129312e-01 -9.19897555434183e-02 + 2.70853535031793e-01 -9.14126750133591e-02 + 2.58737816915769e-01 -9.06671135148306e-02 + 2.47019052739988e-01 -8.97729432930204e-02 + 2.35693903527246e-01 -8.87274220986881e-02 + 2.24755521592725e-01 -8.75580418688866e-02 + 2.14196793622914e-01 -8.62833003191494e-02 + 2.04011333955405e-01 -8.49112533908159e-02 + 1.94192837298268e-01 -8.34452969779509e-02 + 1.84734159226918e-01 -8.18934025781127e-02 + 1.75626054456646e-01 -8.02758698487786e-02 + 1.66858918288587e-01 -7.86084496737449e-02 + 1.58426290110471e-01 -7.68895418961286e-02 + 1.50319200159812e-01 -7.51270351688627e-02 + 1.42526128875168e-01 -7.33413608576655e-02 + 1.35038180671969e-01 -7.15388978061903e-02 + 1.27849040687011e-01 -6.97156113201790e-02 + 1.20948527760174e-01 -6.78811403433585e-02 + 1.14327485726520e-01 -6.60418021962953e-02 + 1.07979453337408e-01 -6.41934386967372e-02 + 1.01894552002694e-01 -6.23456843683916e-02 + 9.60638804275308e-02 -6.05029662954196e-02 + 9.04788853236919e-02 -5.86685553793366e-02 + 8.51312964604805e-02 -5.68450270554785e-02 + 8.00139177362996e-02 -5.50331392699712e-02 + 7.51182333677251e-02 -5.32366201153170e-02 + 7.04360799396603e-02 -5.14581517700259e-02 + 6.59596102739365e-02 -4.96999221177560e-02 + 6.16809021391528e-02 -4.79652498980933e-02 + 5.75939553533738e-02 -4.62523224159701e-02 + 5.36927994773425e-02 -4.45595092963015e-02 + 4.99721163171827e-02 -4.28844263337983e-02 + 4.64252087767243e-02 -4.12292511300908e-02 + 4.30449330853367e-02 -3.95960611215206e-02 + 3.98247762561857e-02 -3.79859513726024e-02 + 3.67604251934450e-02 -3.63964310185422e-02 + 3.38455506187726e-02 -3.48295489141875e-02 + 3.10746565338045e-02 -3.32852832714888e-02 + 2.84426522729682e-02 -3.17631309877224e-02 + 2.59479462715313e-02 -3.02581097804500e-02 + 2.35806727258491e-02 -2.87783720898960e-02 + 2.13379586193463e-02 -2.73212926691211e-02 + 1.92197591809738e-02 -2.58794609330894e-02 + 1.72250219390216e-02 -2.44500206527471e-02 + 1.53362461148815e-02 -2.30507319172916e-02 + 1.35546465191771e-02 -2.16754212282863e-02 + 1.18891791905238e-02 -2.03070715945921e-02 + 1.03502939408908e-02 -1.89320620321851e-02 + 8.91130605466057e-03 -1.75783863139938e-02 + 7.53813877740335e-03 -1.62767162061906e-02 + 6.25261631407701e-03 -1.50030050459626e-02 + 5.11279434609420e-03 -1.36984926934841e-02 + 4.13351214596566e-03 -1.23586032117553e-02 + 3.29319124926354e-03 -1.10101245850993e-02 + 2.61550555648146e-03 -9.65116862965519e-03 + 2.09002183330755e-03 -8.29851601144447e-03 + 1.70078951843963e-03 -6.96281267583815e-03 + 1.36265166348109e-03 -5.67431295008859e-03 + 1.05977091812036e-03 -4.43783511622449e-03 + 7.76752295586629e-04 -3.25343117981278e-03 + 5.09088367705372e-04 -2.11971200576328e-03 + 2.51457101720442e-04 -1.03563109330527e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 2.41152507493868e-04 1.03804336890630e-03 + 4.71263736944646e-04 2.12757058293535e-03 + 6.99943594043346e-04 3.26857529570577e-03 + 9.32193128484313e-04 4.46218636779492e-03 + 1.17467942772895e-03 5.70972413170852e-03 + 1.43994542427533e-03 7.01025996015618e-03 + 1.74875960694718e-03 8.36460325834191e-03 + 2.11951590798279e-03 9.76507908206140e-03 + 2.62509733655399e-03 1.11886220147912e-02 + 3.25196895044496e-03 1.26421758114203e-02 + 3.97465034233274e-03 1.41283885203257e-02 + 4.82125008770289e-03 1.56307580709229e-02 + 5.78681385913657e-03 1.71508606271287e-02 + 6.84636895293181e-03 1.87061547939764e-02 + 7.95385823673404e-03 2.03287827858700e-02 + 9.16427485256001e-03 2.19844474193354e-02 + 1.04866325918796e-02 2.36680181220581e-02 + 1.19246001481561e-02 2.53798825843331e-02 + 1.34664539799032e-02 2.71314307830888e-02 + 1.51151426347581e-02 2.89238440065633e-02 + 1.68814985227616e-02 3.07508671802106e-02 + 1.87764354986689e-02 3.26068686407149e-02 + 2.07945755995919e-02 3.45003481634749e-02 + 2.29433295368296e-02 3.64281722102988e-02 + 2.52292451944009e-02 3.83886558140635e-02 + 2.76584039930501e-02 4.03804022182471e-02 + 3.02279458793868e-02 4.24121923692621e-02 + 3.29474897596453e-02 4.44785420770728e-02 + 3.58241314284824e-02 4.65778377875867e-02 + 3.88615699902796e-02 4.87123968511837e-02 + 4.20676717891717e-02 5.08781772356130e-02 + 4.54487329341993e-02 5.30746242381647e-02 + 4.90117485491485e-02 5.53002611029898e-02 + 5.27645862937288e-02 5.75519273923613e-02 + 5.67093606250863e-02 5.98355421876917e-02 + 6.08542808522407e-02 6.21481464820482e-02 + 6.52077360665248e-02 6.44866424610369e-02 + 6.97777749333136e-02 6.68483047653571e-02 + 7.45725584053168e-02 6.92290421276930e-02 + 7.96003025603602e-02 7.16257099944468e-02 + 8.48692521878683e-02 7.40353559775043e-02 + 9.03877052429679e-02 7.64548116524863e-02 + 9.61655134799091e-02 7.88762011581258e-02 + 1.02207263913494e-01 8.13045515555609e-02 + 1.08520558648419e-01 8.37388705427050e-02 + 1.15116028351370e-01 8.61695316478935e-02 + 1.22007229910574e-01 8.85790359587486e-02 + 1.29199708937344e-01 9.09693898928607e-02 + 1.36707239581636e-01 9.33170443302486e-02 + 1.44532832289765e-01 9.56345442285116e-02 + 1.52680165789989e-01 9.79325041341286e-02 + 1.61161441053045e-01 1.00189166048500e-01 + 1.70007457308521e-01 1.02310587742487e-01 + 1.79190054721449e-01 1.04432905562834e-01 + 1.88737272862309e-01 1.06459673932072e-01 + 1.98658849288637e-01 1.08368456710055e-01 + 2.08959521814780e-01 1.10157093980485e-01 + 2.19641591893373e-01 1.11840420663148e-01 + 2.30708491271435e-01 1.13421765446694e-01 + 2.42179055605765e-01 1.14797531689102e-01 + 2.54054847054779e-01 1.15956061862792e-01 + 2.66335501246618e-01 1.16912330796287e-01 + 2.79022641080626e-01 1.17663923550265e-01 + 2.92117168343597e-01 1.18248653891892e-01 + 3.05622216334775e-01 1.18493312816741e-01 + 3.19537924072257e-01 1.18497489736340e-01 + 3.33860492946775e-01 1.18251006166221e-01 + 3.48588151721234e-01 1.17646648524711e-01 + 3.63721224567419e-01 1.16827356073084e-01 + 3.79254655371093e-01 1.15711829738200e-01 + 3.95185482070027e-01 1.14309376763544e-01 + 4.11511052759619e-01 1.12629630765949e-01 + 4.28236810162283e-01 1.10757309311154e-01 + 4.45341106820901e-01 1.08539918592541e-01 + 4.62837300814829e-01 1.06125215640029e-01 + 4.80703334536459e-01 1.03396855089698e-01 + 4.98947032463024e-01 1.00451779534968e-01 + 5.17571379732328e-01 9.73486814910668e-02 + 5.36548400903477e-01 9.39688774564715e-02 + 5.55881355199664e-01 9.03838060138069e-02 + 5.75562372757084e-01 8.66043381028199e-02 + 5.95577970398358e-01 8.26174413045570e-02 + 6.15918406419707e-01 7.84356567370351e-02 + 6.36571346336407e-01 7.40624490885372e-02 + 6.57538252289466e-01 6.95719746617823e-02 + 6.78805330161313e-01 6.49684751967319e-02 + 7.00356747433778e-01 6.02530296562983e-02 + 7.22190564422178e-01 5.54942107563349e-02 + 7.44281974327413e-01 5.06608414104289e-02 + 7.66628713730443e-01 4.58296525153133e-02 + 7.89212731568401e-01 4.10099912210156e-02 + 8.12018185533069e-01 3.62261968408074e-02 + 8.35028977005283e-01 3.15060199889171e-02 + 8.58219151715056e-01 2.68336443816806e-02 + 8.81569312265979e-01 2.22287377219739e-02 + 9.05060689011999e-01 1.77175246606552e-02 + 9.28671627335113e-01 1.33156680593407e-02 + 9.52381403156938e-01 9.07315533594737e-03 + 9.76165312677752e-01 4.93304948753480e-03 + 1.00000000000000e+00 9.38336381193382e-04 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF39_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF39_Coords.txt new file mode 100644 index 0000000..179c7b8 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF39_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -3.71663624309444e-04 + 9.76017568294686e-01 2.09740027382490e-03 + 9.52031329328083e-01 3.99388322551278e-03 + 9.28070638676756e-01 5.29329818508414e-03 + 9.04146732423838e-01 6.03552788264997e-03 + 8.80309441682373e-01 5.94483425110475e-03 + 8.56610087823544e-01 5.07205375524694e-03 + 8.33094779308812e-01 3.48518207679764e-03 + 8.09801500212952e-01 1.24198889436214e-03 + 7.86768732939441e-01 -1.61714401887065e-03 + 7.64029448545206e-01 -5.05415831433425e-03 + 7.41600306402727e-01 -8.95103649024531e-03 + 7.19505313316081e-01 -1.32664966742413e-02 + 6.97760620781954e-01 -1.79392345429141e-02 + 6.76379522029838e-01 -2.29138874387622e-02 + 6.55367086965139e-01 -2.81158064050698e-02 + 6.34723160292757e-01 -3.34644442304210e-02 + 6.14445718488537e-01 -3.88868243087427e-02 + 5.94530941842471e-01 -4.43132611654412e-02 + 5.74970022740498e-01 -4.96643666397068e-02 + 5.55752003197788e-01 -5.48579023094515e-02 + 5.36876404308979e-01 -5.98525300304434e-02 + 5.18342824936104e-01 -6.46102084095419e-02 + 5.00150385563215e-01 -6.90906898681219e-02 + 4.82288445935981e-01 -7.32102556940118e-02 + 4.64755299574327e-01 -7.69174493160327e-02 + 4.47560043916586e-01 -8.02013672216798e-02 + 4.30710873709413e-01 -8.30502485164628e-02 + 4.14220450790071e-01 -8.54779875163164e-02 + 3.98099898802043e-01 -8.75003551684143e-02 + 3.82361417152145e-01 -8.91539118487549e-02 + 3.67012812949938e-01 -9.04577352136744e-02 + 3.52059448954428e-01 -9.14125244130858e-02 + 3.37508402620579e-01 -9.20698975569944e-02 + 3.23362484181096e-01 -9.24370482908363e-02 + 3.09624084367261e-01 -9.24697923842373e-02 + 2.96293755468272e-01 -9.23622670606858e-02 + 2.83370903129312e-01 -9.19897555434183e-02 + 2.70853535031793e-01 -9.14126750133591e-02 + 2.58737816915769e-01 -9.06671135148306e-02 + 2.47019052739988e-01 -8.97729432930204e-02 + 2.35693903527246e-01 -8.87274220986881e-02 + 2.24755521592725e-01 -8.75580418688866e-02 + 2.14196793622914e-01 -8.62833003191494e-02 + 2.04011333955405e-01 -8.49112533908159e-02 + 1.94192837298268e-01 -8.34452969779509e-02 + 1.84734159226918e-01 -8.18934025781127e-02 + 1.75626054456646e-01 -8.02758698487786e-02 + 1.66858918288587e-01 -7.86084496737449e-02 + 1.58426290110471e-01 -7.68895418961286e-02 + 1.50319200159812e-01 -7.51270351688627e-02 + 1.42526128875168e-01 -7.33413608576655e-02 + 1.35038180671969e-01 -7.15388978061903e-02 + 1.27849040687011e-01 -6.97156113201790e-02 + 1.20948527760174e-01 -6.78811403433585e-02 + 1.14327485726520e-01 -6.60418021962953e-02 + 1.07979453337408e-01 -6.41934386967372e-02 + 1.01894552002694e-01 -6.23456843683916e-02 + 9.60638804275308e-02 -6.05029662954196e-02 + 9.04788853236919e-02 -5.86685553793366e-02 + 8.51312964604805e-02 -5.68450270554785e-02 + 8.00139177362996e-02 -5.50331392699712e-02 + 7.51182333677251e-02 -5.32366201153170e-02 + 7.04360799396603e-02 -5.14581517700259e-02 + 6.59596102739365e-02 -4.96999221177560e-02 + 6.16809021391528e-02 -4.79652498980933e-02 + 5.75939553533738e-02 -4.62523224159701e-02 + 5.36927994773425e-02 -4.45595092963015e-02 + 4.99721163171827e-02 -4.28844263337983e-02 + 4.64252087767243e-02 -4.12292511300908e-02 + 4.30449330853367e-02 -3.95960611215206e-02 + 3.98247762561857e-02 -3.79859513726024e-02 + 3.67604251934450e-02 -3.63964310185422e-02 + 3.38455506187726e-02 -3.48295489141875e-02 + 3.10746565338045e-02 -3.32852832714888e-02 + 2.84426522729682e-02 -3.17631309877224e-02 + 2.59479462715313e-02 -3.02581097804500e-02 + 2.35806727258491e-02 -2.87783720898960e-02 + 2.13379586193463e-02 -2.73212926691211e-02 + 1.92197591809738e-02 -2.58794609330894e-02 + 1.72250219390216e-02 -2.44500206527471e-02 + 1.53362461148815e-02 -2.30507319172916e-02 + 1.35546465191771e-02 -2.16754212282863e-02 + 1.18891791905238e-02 -2.03070715945921e-02 + 1.03502939408908e-02 -1.89320620321851e-02 + 8.91130605466057e-03 -1.75783863139938e-02 + 7.53813877740335e-03 -1.62767162061906e-02 + 6.25261631407701e-03 -1.50030050459626e-02 + 5.11279434609420e-03 -1.36984926934841e-02 + 4.13351214596566e-03 -1.23586032117553e-02 + 3.29319124926354e-03 -1.10101245850993e-02 + 2.61550555648146e-03 -9.65116862965519e-03 + 2.09002183330755e-03 -8.29851601144447e-03 + 1.70078951843963e-03 -6.96281267583815e-03 + 1.36265166348109e-03 -5.67431295008859e-03 + 1.05977091812036e-03 -4.43783511622449e-03 + 7.76752295586629e-04 -3.25343117981278e-03 + 5.09088367705372e-04 -2.11971200576328e-03 + 2.51457101720442e-04 -1.03563109330527e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 2.41152507493868e-04 1.03804336890630e-03 + 4.71263736944646e-04 2.12757058293535e-03 + 6.99943594043346e-04 3.26857529570577e-03 + 9.32193128484313e-04 4.46218636779492e-03 + 1.17467942772895e-03 5.70972413170852e-03 + 1.43994542427533e-03 7.01025996015618e-03 + 1.74875960694718e-03 8.36460325834191e-03 + 2.11951590798279e-03 9.76507908206140e-03 + 2.62509733655399e-03 1.11886220147912e-02 + 3.25196895044496e-03 1.26421758114203e-02 + 3.97465034233274e-03 1.41283885203257e-02 + 4.82125008770289e-03 1.56307580709229e-02 + 5.78681385913657e-03 1.71508606271287e-02 + 6.84636895293181e-03 1.87061547939764e-02 + 7.95385823673404e-03 2.03287827858700e-02 + 9.16427485256001e-03 2.19844474193354e-02 + 1.04866325918796e-02 2.36680181220581e-02 + 1.19246001481561e-02 2.53798825843331e-02 + 1.34664539799032e-02 2.71314307830888e-02 + 1.51151426347581e-02 2.89238440065633e-02 + 1.68814985227616e-02 3.07508671802106e-02 + 1.87764354986689e-02 3.26068686407149e-02 + 2.07945755995919e-02 3.45003481634749e-02 + 2.29433295368296e-02 3.64281722102988e-02 + 2.52292451944009e-02 3.83886558140635e-02 + 2.76584039930501e-02 4.03804022182471e-02 + 3.02279458793868e-02 4.24121923692621e-02 + 3.29474897596453e-02 4.44785420770728e-02 + 3.58241314284824e-02 4.65778377875867e-02 + 3.88615699902796e-02 4.87123968511837e-02 + 4.20676717891717e-02 5.08781772356130e-02 + 4.54487329341993e-02 5.30746242381647e-02 + 4.90117485491485e-02 5.53002611029898e-02 + 5.27645862937288e-02 5.75519273923613e-02 + 5.67093606250863e-02 5.98355421876917e-02 + 6.08542808522407e-02 6.21481464820482e-02 + 6.52077360665248e-02 6.44866424610369e-02 + 6.97777749333136e-02 6.68483047653571e-02 + 7.45725584053168e-02 6.92290421276930e-02 + 7.96003025603602e-02 7.16257099944468e-02 + 8.48692521878683e-02 7.40353559775043e-02 + 9.03877052429679e-02 7.64548116524863e-02 + 9.61655134799091e-02 7.88762011581258e-02 + 1.02207263913494e-01 8.13045515555609e-02 + 1.08520558648419e-01 8.37388705427050e-02 + 1.15116028351370e-01 8.61695316478935e-02 + 1.22007229910574e-01 8.85790359587486e-02 + 1.29199708937344e-01 9.09693898928607e-02 + 1.36707239581636e-01 9.33170443302486e-02 + 1.44532832289765e-01 9.56345442285116e-02 + 1.52680165789989e-01 9.79325041341286e-02 + 1.61161441053045e-01 1.00189166048500e-01 + 1.70007457308521e-01 1.02310587742487e-01 + 1.79190054721449e-01 1.04432905562834e-01 + 1.88737272862309e-01 1.06459673932072e-01 + 1.98658849288637e-01 1.08368456710055e-01 + 2.08959521814780e-01 1.10157093980485e-01 + 2.19641591893373e-01 1.11840420663148e-01 + 2.30708491271435e-01 1.13421765446694e-01 + 2.42179055605765e-01 1.14797531689102e-01 + 2.54054847054779e-01 1.15956061862792e-01 + 2.66335501246618e-01 1.16912330796287e-01 + 2.79022641080626e-01 1.17663923550265e-01 + 2.92117168343597e-01 1.18248653891892e-01 + 3.05622216334775e-01 1.18493312816741e-01 + 3.19537924072257e-01 1.18497489736340e-01 + 3.33860492946775e-01 1.18251006166221e-01 + 3.48588151721234e-01 1.17646648524711e-01 + 3.63721224567419e-01 1.16827356073084e-01 + 3.79254655371093e-01 1.15711829738200e-01 + 3.95185482070027e-01 1.14309376763544e-01 + 4.11511052759619e-01 1.12629630765949e-01 + 4.28236810162283e-01 1.10757309311154e-01 + 4.45341106820901e-01 1.08539918592541e-01 + 4.62837300814829e-01 1.06125215640029e-01 + 4.80703334536459e-01 1.03396855089698e-01 + 4.98947032463024e-01 1.00451779534968e-01 + 5.17571379732328e-01 9.73486814910668e-02 + 5.36548400903477e-01 9.39688774564715e-02 + 5.55881355199664e-01 9.03838060138069e-02 + 5.75562372757084e-01 8.66043381028199e-02 + 5.95577970398358e-01 8.26174413045570e-02 + 6.15918406419707e-01 7.84356567370351e-02 + 6.36571346336407e-01 7.40624490885372e-02 + 6.57538252289466e-01 6.95719746617823e-02 + 6.78805330161313e-01 6.49684751967319e-02 + 7.00356747433778e-01 6.02530296562983e-02 + 7.22190564422178e-01 5.54942107563349e-02 + 7.44281974327413e-01 5.06608414104289e-02 + 7.66628713730443e-01 4.58296525153133e-02 + 7.89212731568401e-01 4.10099912210156e-02 + 8.12018185533069e-01 3.62261968408074e-02 + 8.35028977005283e-01 3.15060199889171e-02 + 8.58219151715056e-01 2.68336443816806e-02 + 8.81569312265979e-01 2.22287377219739e-02 + 9.05060689011999e-01 1.77175246606552e-02 + 9.28671627335113e-01 1.33156680593407e-02 + 9.52381403156938e-01 9.07315533594737e-03 + 9.76165312677752e-01 4.93304948753480e-03 + 1.00000000000000e+00 9.38336381193382e-04 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF40_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF40_Coords.txt new file mode 100644 index 0000000..179c7b8 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF40_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -3.71663624309444e-04 + 9.76017568294686e-01 2.09740027382490e-03 + 9.52031329328083e-01 3.99388322551278e-03 + 9.28070638676756e-01 5.29329818508414e-03 + 9.04146732423838e-01 6.03552788264997e-03 + 8.80309441682373e-01 5.94483425110475e-03 + 8.56610087823544e-01 5.07205375524694e-03 + 8.33094779308812e-01 3.48518207679764e-03 + 8.09801500212952e-01 1.24198889436214e-03 + 7.86768732939441e-01 -1.61714401887065e-03 + 7.64029448545206e-01 -5.05415831433425e-03 + 7.41600306402727e-01 -8.95103649024531e-03 + 7.19505313316081e-01 -1.32664966742413e-02 + 6.97760620781954e-01 -1.79392345429141e-02 + 6.76379522029838e-01 -2.29138874387622e-02 + 6.55367086965139e-01 -2.81158064050698e-02 + 6.34723160292757e-01 -3.34644442304210e-02 + 6.14445718488537e-01 -3.88868243087427e-02 + 5.94530941842471e-01 -4.43132611654412e-02 + 5.74970022740498e-01 -4.96643666397068e-02 + 5.55752003197788e-01 -5.48579023094515e-02 + 5.36876404308979e-01 -5.98525300304434e-02 + 5.18342824936104e-01 -6.46102084095419e-02 + 5.00150385563215e-01 -6.90906898681219e-02 + 4.82288445935981e-01 -7.32102556940118e-02 + 4.64755299574327e-01 -7.69174493160327e-02 + 4.47560043916586e-01 -8.02013672216798e-02 + 4.30710873709413e-01 -8.30502485164628e-02 + 4.14220450790071e-01 -8.54779875163164e-02 + 3.98099898802043e-01 -8.75003551684143e-02 + 3.82361417152145e-01 -8.91539118487549e-02 + 3.67012812949938e-01 -9.04577352136744e-02 + 3.52059448954428e-01 -9.14125244130858e-02 + 3.37508402620579e-01 -9.20698975569944e-02 + 3.23362484181096e-01 -9.24370482908363e-02 + 3.09624084367261e-01 -9.24697923842373e-02 + 2.96293755468272e-01 -9.23622670606858e-02 + 2.83370903129312e-01 -9.19897555434183e-02 + 2.70853535031793e-01 -9.14126750133591e-02 + 2.58737816915769e-01 -9.06671135148306e-02 + 2.47019052739988e-01 -8.97729432930204e-02 + 2.35693903527246e-01 -8.87274220986881e-02 + 2.24755521592725e-01 -8.75580418688866e-02 + 2.14196793622914e-01 -8.62833003191494e-02 + 2.04011333955405e-01 -8.49112533908159e-02 + 1.94192837298268e-01 -8.34452969779509e-02 + 1.84734159226918e-01 -8.18934025781127e-02 + 1.75626054456646e-01 -8.02758698487786e-02 + 1.66858918288587e-01 -7.86084496737449e-02 + 1.58426290110471e-01 -7.68895418961286e-02 + 1.50319200159812e-01 -7.51270351688627e-02 + 1.42526128875168e-01 -7.33413608576655e-02 + 1.35038180671969e-01 -7.15388978061903e-02 + 1.27849040687011e-01 -6.97156113201790e-02 + 1.20948527760174e-01 -6.78811403433585e-02 + 1.14327485726520e-01 -6.60418021962953e-02 + 1.07979453337408e-01 -6.41934386967372e-02 + 1.01894552002694e-01 -6.23456843683916e-02 + 9.60638804275308e-02 -6.05029662954196e-02 + 9.04788853236919e-02 -5.86685553793366e-02 + 8.51312964604805e-02 -5.68450270554785e-02 + 8.00139177362996e-02 -5.50331392699712e-02 + 7.51182333677251e-02 -5.32366201153170e-02 + 7.04360799396603e-02 -5.14581517700259e-02 + 6.59596102739365e-02 -4.96999221177560e-02 + 6.16809021391528e-02 -4.79652498980933e-02 + 5.75939553533738e-02 -4.62523224159701e-02 + 5.36927994773425e-02 -4.45595092963015e-02 + 4.99721163171827e-02 -4.28844263337983e-02 + 4.64252087767243e-02 -4.12292511300908e-02 + 4.30449330853367e-02 -3.95960611215206e-02 + 3.98247762561857e-02 -3.79859513726024e-02 + 3.67604251934450e-02 -3.63964310185422e-02 + 3.38455506187726e-02 -3.48295489141875e-02 + 3.10746565338045e-02 -3.32852832714888e-02 + 2.84426522729682e-02 -3.17631309877224e-02 + 2.59479462715313e-02 -3.02581097804500e-02 + 2.35806727258491e-02 -2.87783720898960e-02 + 2.13379586193463e-02 -2.73212926691211e-02 + 1.92197591809738e-02 -2.58794609330894e-02 + 1.72250219390216e-02 -2.44500206527471e-02 + 1.53362461148815e-02 -2.30507319172916e-02 + 1.35546465191771e-02 -2.16754212282863e-02 + 1.18891791905238e-02 -2.03070715945921e-02 + 1.03502939408908e-02 -1.89320620321851e-02 + 8.91130605466057e-03 -1.75783863139938e-02 + 7.53813877740335e-03 -1.62767162061906e-02 + 6.25261631407701e-03 -1.50030050459626e-02 + 5.11279434609420e-03 -1.36984926934841e-02 + 4.13351214596566e-03 -1.23586032117553e-02 + 3.29319124926354e-03 -1.10101245850993e-02 + 2.61550555648146e-03 -9.65116862965519e-03 + 2.09002183330755e-03 -8.29851601144447e-03 + 1.70078951843963e-03 -6.96281267583815e-03 + 1.36265166348109e-03 -5.67431295008859e-03 + 1.05977091812036e-03 -4.43783511622449e-03 + 7.76752295586629e-04 -3.25343117981278e-03 + 5.09088367705372e-04 -2.11971200576328e-03 + 2.51457101720442e-04 -1.03563109330527e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 2.41152507493868e-04 1.03804336890630e-03 + 4.71263736944646e-04 2.12757058293535e-03 + 6.99943594043346e-04 3.26857529570577e-03 + 9.32193128484313e-04 4.46218636779492e-03 + 1.17467942772895e-03 5.70972413170852e-03 + 1.43994542427533e-03 7.01025996015618e-03 + 1.74875960694718e-03 8.36460325834191e-03 + 2.11951590798279e-03 9.76507908206140e-03 + 2.62509733655399e-03 1.11886220147912e-02 + 3.25196895044496e-03 1.26421758114203e-02 + 3.97465034233274e-03 1.41283885203257e-02 + 4.82125008770289e-03 1.56307580709229e-02 + 5.78681385913657e-03 1.71508606271287e-02 + 6.84636895293181e-03 1.87061547939764e-02 + 7.95385823673404e-03 2.03287827858700e-02 + 9.16427485256001e-03 2.19844474193354e-02 + 1.04866325918796e-02 2.36680181220581e-02 + 1.19246001481561e-02 2.53798825843331e-02 + 1.34664539799032e-02 2.71314307830888e-02 + 1.51151426347581e-02 2.89238440065633e-02 + 1.68814985227616e-02 3.07508671802106e-02 + 1.87764354986689e-02 3.26068686407149e-02 + 2.07945755995919e-02 3.45003481634749e-02 + 2.29433295368296e-02 3.64281722102988e-02 + 2.52292451944009e-02 3.83886558140635e-02 + 2.76584039930501e-02 4.03804022182471e-02 + 3.02279458793868e-02 4.24121923692621e-02 + 3.29474897596453e-02 4.44785420770728e-02 + 3.58241314284824e-02 4.65778377875867e-02 + 3.88615699902796e-02 4.87123968511837e-02 + 4.20676717891717e-02 5.08781772356130e-02 + 4.54487329341993e-02 5.30746242381647e-02 + 4.90117485491485e-02 5.53002611029898e-02 + 5.27645862937288e-02 5.75519273923613e-02 + 5.67093606250863e-02 5.98355421876917e-02 + 6.08542808522407e-02 6.21481464820482e-02 + 6.52077360665248e-02 6.44866424610369e-02 + 6.97777749333136e-02 6.68483047653571e-02 + 7.45725584053168e-02 6.92290421276930e-02 + 7.96003025603602e-02 7.16257099944468e-02 + 8.48692521878683e-02 7.40353559775043e-02 + 9.03877052429679e-02 7.64548116524863e-02 + 9.61655134799091e-02 7.88762011581258e-02 + 1.02207263913494e-01 8.13045515555609e-02 + 1.08520558648419e-01 8.37388705427050e-02 + 1.15116028351370e-01 8.61695316478935e-02 + 1.22007229910574e-01 8.85790359587486e-02 + 1.29199708937344e-01 9.09693898928607e-02 + 1.36707239581636e-01 9.33170443302486e-02 + 1.44532832289765e-01 9.56345442285116e-02 + 1.52680165789989e-01 9.79325041341286e-02 + 1.61161441053045e-01 1.00189166048500e-01 + 1.70007457308521e-01 1.02310587742487e-01 + 1.79190054721449e-01 1.04432905562834e-01 + 1.88737272862309e-01 1.06459673932072e-01 + 1.98658849288637e-01 1.08368456710055e-01 + 2.08959521814780e-01 1.10157093980485e-01 + 2.19641591893373e-01 1.11840420663148e-01 + 2.30708491271435e-01 1.13421765446694e-01 + 2.42179055605765e-01 1.14797531689102e-01 + 2.54054847054779e-01 1.15956061862792e-01 + 2.66335501246618e-01 1.16912330796287e-01 + 2.79022641080626e-01 1.17663923550265e-01 + 2.92117168343597e-01 1.18248653891892e-01 + 3.05622216334775e-01 1.18493312816741e-01 + 3.19537924072257e-01 1.18497489736340e-01 + 3.33860492946775e-01 1.18251006166221e-01 + 3.48588151721234e-01 1.17646648524711e-01 + 3.63721224567419e-01 1.16827356073084e-01 + 3.79254655371093e-01 1.15711829738200e-01 + 3.95185482070027e-01 1.14309376763544e-01 + 4.11511052759619e-01 1.12629630765949e-01 + 4.28236810162283e-01 1.10757309311154e-01 + 4.45341106820901e-01 1.08539918592541e-01 + 4.62837300814829e-01 1.06125215640029e-01 + 4.80703334536459e-01 1.03396855089698e-01 + 4.98947032463024e-01 1.00451779534968e-01 + 5.17571379732328e-01 9.73486814910668e-02 + 5.36548400903477e-01 9.39688774564715e-02 + 5.55881355199664e-01 9.03838060138069e-02 + 5.75562372757084e-01 8.66043381028199e-02 + 5.95577970398358e-01 8.26174413045570e-02 + 6.15918406419707e-01 7.84356567370351e-02 + 6.36571346336407e-01 7.40624490885372e-02 + 6.57538252289466e-01 6.95719746617823e-02 + 6.78805330161313e-01 6.49684751967319e-02 + 7.00356747433778e-01 6.02530296562983e-02 + 7.22190564422178e-01 5.54942107563349e-02 + 7.44281974327413e-01 5.06608414104289e-02 + 7.66628713730443e-01 4.58296525153133e-02 + 7.89212731568401e-01 4.10099912210156e-02 + 8.12018185533069e-01 3.62261968408074e-02 + 8.35028977005283e-01 3.15060199889171e-02 + 8.58219151715056e-01 2.68336443816806e-02 + 8.81569312265979e-01 2.22287377219739e-02 + 9.05060689011999e-01 1.77175246606552e-02 + 9.28671627335113e-01 1.33156680593407e-02 + 9.52381403156938e-01 9.07315533594737e-03 + 9.76165312677752e-01 4.93304948753480e-03 + 1.00000000000000e+00 9.38336381193382e-04 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF41_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF41_Coords.txt new file mode 100644 index 0000000..179c7b8 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF41_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -3.71663624309444e-04 + 9.76017568294686e-01 2.09740027382490e-03 + 9.52031329328083e-01 3.99388322551278e-03 + 9.28070638676756e-01 5.29329818508414e-03 + 9.04146732423838e-01 6.03552788264997e-03 + 8.80309441682373e-01 5.94483425110475e-03 + 8.56610087823544e-01 5.07205375524694e-03 + 8.33094779308812e-01 3.48518207679764e-03 + 8.09801500212952e-01 1.24198889436214e-03 + 7.86768732939441e-01 -1.61714401887065e-03 + 7.64029448545206e-01 -5.05415831433425e-03 + 7.41600306402727e-01 -8.95103649024531e-03 + 7.19505313316081e-01 -1.32664966742413e-02 + 6.97760620781954e-01 -1.79392345429141e-02 + 6.76379522029838e-01 -2.29138874387622e-02 + 6.55367086965139e-01 -2.81158064050698e-02 + 6.34723160292757e-01 -3.34644442304210e-02 + 6.14445718488537e-01 -3.88868243087427e-02 + 5.94530941842471e-01 -4.43132611654412e-02 + 5.74970022740498e-01 -4.96643666397068e-02 + 5.55752003197788e-01 -5.48579023094515e-02 + 5.36876404308979e-01 -5.98525300304434e-02 + 5.18342824936104e-01 -6.46102084095419e-02 + 5.00150385563215e-01 -6.90906898681219e-02 + 4.82288445935981e-01 -7.32102556940118e-02 + 4.64755299574327e-01 -7.69174493160327e-02 + 4.47560043916586e-01 -8.02013672216798e-02 + 4.30710873709413e-01 -8.30502485164628e-02 + 4.14220450790071e-01 -8.54779875163164e-02 + 3.98099898802043e-01 -8.75003551684143e-02 + 3.82361417152145e-01 -8.91539118487549e-02 + 3.67012812949938e-01 -9.04577352136744e-02 + 3.52059448954428e-01 -9.14125244130858e-02 + 3.37508402620579e-01 -9.20698975569944e-02 + 3.23362484181096e-01 -9.24370482908363e-02 + 3.09624084367261e-01 -9.24697923842373e-02 + 2.96293755468272e-01 -9.23622670606858e-02 + 2.83370903129312e-01 -9.19897555434183e-02 + 2.70853535031793e-01 -9.14126750133591e-02 + 2.58737816915769e-01 -9.06671135148306e-02 + 2.47019052739988e-01 -8.97729432930204e-02 + 2.35693903527246e-01 -8.87274220986881e-02 + 2.24755521592725e-01 -8.75580418688866e-02 + 2.14196793622914e-01 -8.62833003191494e-02 + 2.04011333955405e-01 -8.49112533908159e-02 + 1.94192837298268e-01 -8.34452969779509e-02 + 1.84734159226918e-01 -8.18934025781127e-02 + 1.75626054456646e-01 -8.02758698487786e-02 + 1.66858918288587e-01 -7.86084496737449e-02 + 1.58426290110471e-01 -7.68895418961286e-02 + 1.50319200159812e-01 -7.51270351688627e-02 + 1.42526128875168e-01 -7.33413608576655e-02 + 1.35038180671969e-01 -7.15388978061903e-02 + 1.27849040687011e-01 -6.97156113201790e-02 + 1.20948527760174e-01 -6.78811403433585e-02 + 1.14327485726520e-01 -6.60418021962953e-02 + 1.07979453337408e-01 -6.41934386967372e-02 + 1.01894552002694e-01 -6.23456843683916e-02 + 9.60638804275308e-02 -6.05029662954196e-02 + 9.04788853236919e-02 -5.86685553793366e-02 + 8.51312964604805e-02 -5.68450270554785e-02 + 8.00139177362996e-02 -5.50331392699712e-02 + 7.51182333677251e-02 -5.32366201153170e-02 + 7.04360799396603e-02 -5.14581517700259e-02 + 6.59596102739365e-02 -4.96999221177560e-02 + 6.16809021391528e-02 -4.79652498980933e-02 + 5.75939553533738e-02 -4.62523224159701e-02 + 5.36927994773425e-02 -4.45595092963015e-02 + 4.99721163171827e-02 -4.28844263337983e-02 + 4.64252087767243e-02 -4.12292511300908e-02 + 4.30449330853367e-02 -3.95960611215206e-02 + 3.98247762561857e-02 -3.79859513726024e-02 + 3.67604251934450e-02 -3.63964310185422e-02 + 3.38455506187726e-02 -3.48295489141875e-02 + 3.10746565338045e-02 -3.32852832714888e-02 + 2.84426522729682e-02 -3.17631309877224e-02 + 2.59479462715313e-02 -3.02581097804500e-02 + 2.35806727258491e-02 -2.87783720898960e-02 + 2.13379586193463e-02 -2.73212926691211e-02 + 1.92197591809738e-02 -2.58794609330894e-02 + 1.72250219390216e-02 -2.44500206527471e-02 + 1.53362461148815e-02 -2.30507319172916e-02 + 1.35546465191771e-02 -2.16754212282863e-02 + 1.18891791905238e-02 -2.03070715945921e-02 + 1.03502939408908e-02 -1.89320620321851e-02 + 8.91130605466057e-03 -1.75783863139938e-02 + 7.53813877740335e-03 -1.62767162061906e-02 + 6.25261631407701e-03 -1.50030050459626e-02 + 5.11279434609420e-03 -1.36984926934841e-02 + 4.13351214596566e-03 -1.23586032117553e-02 + 3.29319124926354e-03 -1.10101245850993e-02 + 2.61550555648146e-03 -9.65116862965519e-03 + 2.09002183330755e-03 -8.29851601144447e-03 + 1.70078951843963e-03 -6.96281267583815e-03 + 1.36265166348109e-03 -5.67431295008859e-03 + 1.05977091812036e-03 -4.43783511622449e-03 + 7.76752295586629e-04 -3.25343117981278e-03 + 5.09088367705372e-04 -2.11971200576328e-03 + 2.51457101720442e-04 -1.03563109330527e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 2.41152507493868e-04 1.03804336890630e-03 + 4.71263736944646e-04 2.12757058293535e-03 + 6.99943594043346e-04 3.26857529570577e-03 + 9.32193128484313e-04 4.46218636779492e-03 + 1.17467942772895e-03 5.70972413170852e-03 + 1.43994542427533e-03 7.01025996015618e-03 + 1.74875960694718e-03 8.36460325834191e-03 + 2.11951590798279e-03 9.76507908206140e-03 + 2.62509733655399e-03 1.11886220147912e-02 + 3.25196895044496e-03 1.26421758114203e-02 + 3.97465034233274e-03 1.41283885203257e-02 + 4.82125008770289e-03 1.56307580709229e-02 + 5.78681385913657e-03 1.71508606271287e-02 + 6.84636895293181e-03 1.87061547939764e-02 + 7.95385823673404e-03 2.03287827858700e-02 + 9.16427485256001e-03 2.19844474193354e-02 + 1.04866325918796e-02 2.36680181220581e-02 + 1.19246001481561e-02 2.53798825843331e-02 + 1.34664539799032e-02 2.71314307830888e-02 + 1.51151426347581e-02 2.89238440065633e-02 + 1.68814985227616e-02 3.07508671802106e-02 + 1.87764354986689e-02 3.26068686407149e-02 + 2.07945755995919e-02 3.45003481634749e-02 + 2.29433295368296e-02 3.64281722102988e-02 + 2.52292451944009e-02 3.83886558140635e-02 + 2.76584039930501e-02 4.03804022182471e-02 + 3.02279458793868e-02 4.24121923692621e-02 + 3.29474897596453e-02 4.44785420770728e-02 + 3.58241314284824e-02 4.65778377875867e-02 + 3.88615699902796e-02 4.87123968511837e-02 + 4.20676717891717e-02 5.08781772356130e-02 + 4.54487329341993e-02 5.30746242381647e-02 + 4.90117485491485e-02 5.53002611029898e-02 + 5.27645862937288e-02 5.75519273923613e-02 + 5.67093606250863e-02 5.98355421876917e-02 + 6.08542808522407e-02 6.21481464820482e-02 + 6.52077360665248e-02 6.44866424610369e-02 + 6.97777749333136e-02 6.68483047653571e-02 + 7.45725584053168e-02 6.92290421276930e-02 + 7.96003025603602e-02 7.16257099944468e-02 + 8.48692521878683e-02 7.40353559775043e-02 + 9.03877052429679e-02 7.64548116524863e-02 + 9.61655134799091e-02 7.88762011581258e-02 + 1.02207263913494e-01 8.13045515555609e-02 + 1.08520558648419e-01 8.37388705427050e-02 + 1.15116028351370e-01 8.61695316478935e-02 + 1.22007229910574e-01 8.85790359587486e-02 + 1.29199708937344e-01 9.09693898928607e-02 + 1.36707239581636e-01 9.33170443302486e-02 + 1.44532832289765e-01 9.56345442285116e-02 + 1.52680165789989e-01 9.79325041341286e-02 + 1.61161441053045e-01 1.00189166048500e-01 + 1.70007457308521e-01 1.02310587742487e-01 + 1.79190054721449e-01 1.04432905562834e-01 + 1.88737272862309e-01 1.06459673932072e-01 + 1.98658849288637e-01 1.08368456710055e-01 + 2.08959521814780e-01 1.10157093980485e-01 + 2.19641591893373e-01 1.11840420663148e-01 + 2.30708491271435e-01 1.13421765446694e-01 + 2.42179055605765e-01 1.14797531689102e-01 + 2.54054847054779e-01 1.15956061862792e-01 + 2.66335501246618e-01 1.16912330796287e-01 + 2.79022641080626e-01 1.17663923550265e-01 + 2.92117168343597e-01 1.18248653891892e-01 + 3.05622216334775e-01 1.18493312816741e-01 + 3.19537924072257e-01 1.18497489736340e-01 + 3.33860492946775e-01 1.18251006166221e-01 + 3.48588151721234e-01 1.17646648524711e-01 + 3.63721224567419e-01 1.16827356073084e-01 + 3.79254655371093e-01 1.15711829738200e-01 + 3.95185482070027e-01 1.14309376763544e-01 + 4.11511052759619e-01 1.12629630765949e-01 + 4.28236810162283e-01 1.10757309311154e-01 + 4.45341106820901e-01 1.08539918592541e-01 + 4.62837300814829e-01 1.06125215640029e-01 + 4.80703334536459e-01 1.03396855089698e-01 + 4.98947032463024e-01 1.00451779534968e-01 + 5.17571379732328e-01 9.73486814910668e-02 + 5.36548400903477e-01 9.39688774564715e-02 + 5.55881355199664e-01 9.03838060138069e-02 + 5.75562372757084e-01 8.66043381028199e-02 + 5.95577970398358e-01 8.26174413045570e-02 + 6.15918406419707e-01 7.84356567370351e-02 + 6.36571346336407e-01 7.40624490885372e-02 + 6.57538252289466e-01 6.95719746617823e-02 + 6.78805330161313e-01 6.49684751967319e-02 + 7.00356747433778e-01 6.02530296562983e-02 + 7.22190564422178e-01 5.54942107563349e-02 + 7.44281974327413e-01 5.06608414104289e-02 + 7.66628713730443e-01 4.58296525153133e-02 + 7.89212731568401e-01 4.10099912210156e-02 + 8.12018185533069e-01 3.62261968408074e-02 + 8.35028977005283e-01 3.15060199889171e-02 + 8.58219151715056e-01 2.68336443816806e-02 + 8.81569312265979e-01 2.22287377219739e-02 + 9.05060689011999e-01 1.77175246606552e-02 + 9.28671627335113e-01 1.33156680593407e-02 + 9.52381403156938e-01 9.07315533594737e-03 + 9.76165312677752e-01 4.93304948753480e-03 + 1.00000000000000e+00 9.38336381193382e-04 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF42_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF42_Coords.txt new file mode 100644 index 0000000..179c7b8 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF42_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -3.71663624309444e-04 + 9.76017568294686e-01 2.09740027382490e-03 + 9.52031329328083e-01 3.99388322551278e-03 + 9.28070638676756e-01 5.29329818508414e-03 + 9.04146732423838e-01 6.03552788264997e-03 + 8.80309441682373e-01 5.94483425110475e-03 + 8.56610087823544e-01 5.07205375524694e-03 + 8.33094779308812e-01 3.48518207679764e-03 + 8.09801500212952e-01 1.24198889436214e-03 + 7.86768732939441e-01 -1.61714401887065e-03 + 7.64029448545206e-01 -5.05415831433425e-03 + 7.41600306402727e-01 -8.95103649024531e-03 + 7.19505313316081e-01 -1.32664966742413e-02 + 6.97760620781954e-01 -1.79392345429141e-02 + 6.76379522029838e-01 -2.29138874387622e-02 + 6.55367086965139e-01 -2.81158064050698e-02 + 6.34723160292757e-01 -3.34644442304210e-02 + 6.14445718488537e-01 -3.88868243087427e-02 + 5.94530941842471e-01 -4.43132611654412e-02 + 5.74970022740498e-01 -4.96643666397068e-02 + 5.55752003197788e-01 -5.48579023094515e-02 + 5.36876404308979e-01 -5.98525300304434e-02 + 5.18342824936104e-01 -6.46102084095419e-02 + 5.00150385563215e-01 -6.90906898681219e-02 + 4.82288445935981e-01 -7.32102556940118e-02 + 4.64755299574327e-01 -7.69174493160327e-02 + 4.47560043916586e-01 -8.02013672216798e-02 + 4.30710873709413e-01 -8.30502485164628e-02 + 4.14220450790071e-01 -8.54779875163164e-02 + 3.98099898802043e-01 -8.75003551684143e-02 + 3.82361417152145e-01 -8.91539118487549e-02 + 3.67012812949938e-01 -9.04577352136744e-02 + 3.52059448954428e-01 -9.14125244130858e-02 + 3.37508402620579e-01 -9.20698975569944e-02 + 3.23362484181096e-01 -9.24370482908363e-02 + 3.09624084367261e-01 -9.24697923842373e-02 + 2.96293755468272e-01 -9.23622670606858e-02 + 2.83370903129312e-01 -9.19897555434183e-02 + 2.70853535031793e-01 -9.14126750133591e-02 + 2.58737816915769e-01 -9.06671135148306e-02 + 2.47019052739988e-01 -8.97729432930204e-02 + 2.35693903527246e-01 -8.87274220986881e-02 + 2.24755521592725e-01 -8.75580418688866e-02 + 2.14196793622914e-01 -8.62833003191494e-02 + 2.04011333955405e-01 -8.49112533908159e-02 + 1.94192837298268e-01 -8.34452969779509e-02 + 1.84734159226918e-01 -8.18934025781127e-02 + 1.75626054456646e-01 -8.02758698487786e-02 + 1.66858918288587e-01 -7.86084496737449e-02 + 1.58426290110471e-01 -7.68895418961286e-02 + 1.50319200159812e-01 -7.51270351688627e-02 + 1.42526128875168e-01 -7.33413608576655e-02 + 1.35038180671969e-01 -7.15388978061903e-02 + 1.27849040687011e-01 -6.97156113201790e-02 + 1.20948527760174e-01 -6.78811403433585e-02 + 1.14327485726520e-01 -6.60418021962953e-02 + 1.07979453337408e-01 -6.41934386967372e-02 + 1.01894552002694e-01 -6.23456843683916e-02 + 9.60638804275308e-02 -6.05029662954196e-02 + 9.04788853236919e-02 -5.86685553793366e-02 + 8.51312964604805e-02 -5.68450270554785e-02 + 8.00139177362996e-02 -5.50331392699712e-02 + 7.51182333677251e-02 -5.32366201153170e-02 + 7.04360799396603e-02 -5.14581517700259e-02 + 6.59596102739365e-02 -4.96999221177560e-02 + 6.16809021391528e-02 -4.79652498980933e-02 + 5.75939553533738e-02 -4.62523224159701e-02 + 5.36927994773425e-02 -4.45595092963015e-02 + 4.99721163171827e-02 -4.28844263337983e-02 + 4.64252087767243e-02 -4.12292511300908e-02 + 4.30449330853367e-02 -3.95960611215206e-02 + 3.98247762561857e-02 -3.79859513726024e-02 + 3.67604251934450e-02 -3.63964310185422e-02 + 3.38455506187726e-02 -3.48295489141875e-02 + 3.10746565338045e-02 -3.32852832714888e-02 + 2.84426522729682e-02 -3.17631309877224e-02 + 2.59479462715313e-02 -3.02581097804500e-02 + 2.35806727258491e-02 -2.87783720898960e-02 + 2.13379586193463e-02 -2.73212926691211e-02 + 1.92197591809738e-02 -2.58794609330894e-02 + 1.72250219390216e-02 -2.44500206527471e-02 + 1.53362461148815e-02 -2.30507319172916e-02 + 1.35546465191771e-02 -2.16754212282863e-02 + 1.18891791905238e-02 -2.03070715945921e-02 + 1.03502939408908e-02 -1.89320620321851e-02 + 8.91130605466057e-03 -1.75783863139938e-02 + 7.53813877740335e-03 -1.62767162061906e-02 + 6.25261631407701e-03 -1.50030050459626e-02 + 5.11279434609420e-03 -1.36984926934841e-02 + 4.13351214596566e-03 -1.23586032117553e-02 + 3.29319124926354e-03 -1.10101245850993e-02 + 2.61550555648146e-03 -9.65116862965519e-03 + 2.09002183330755e-03 -8.29851601144447e-03 + 1.70078951843963e-03 -6.96281267583815e-03 + 1.36265166348109e-03 -5.67431295008859e-03 + 1.05977091812036e-03 -4.43783511622449e-03 + 7.76752295586629e-04 -3.25343117981278e-03 + 5.09088367705372e-04 -2.11971200576328e-03 + 2.51457101720442e-04 -1.03563109330527e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 2.41152507493868e-04 1.03804336890630e-03 + 4.71263736944646e-04 2.12757058293535e-03 + 6.99943594043346e-04 3.26857529570577e-03 + 9.32193128484313e-04 4.46218636779492e-03 + 1.17467942772895e-03 5.70972413170852e-03 + 1.43994542427533e-03 7.01025996015618e-03 + 1.74875960694718e-03 8.36460325834191e-03 + 2.11951590798279e-03 9.76507908206140e-03 + 2.62509733655399e-03 1.11886220147912e-02 + 3.25196895044496e-03 1.26421758114203e-02 + 3.97465034233274e-03 1.41283885203257e-02 + 4.82125008770289e-03 1.56307580709229e-02 + 5.78681385913657e-03 1.71508606271287e-02 + 6.84636895293181e-03 1.87061547939764e-02 + 7.95385823673404e-03 2.03287827858700e-02 + 9.16427485256001e-03 2.19844474193354e-02 + 1.04866325918796e-02 2.36680181220581e-02 + 1.19246001481561e-02 2.53798825843331e-02 + 1.34664539799032e-02 2.71314307830888e-02 + 1.51151426347581e-02 2.89238440065633e-02 + 1.68814985227616e-02 3.07508671802106e-02 + 1.87764354986689e-02 3.26068686407149e-02 + 2.07945755995919e-02 3.45003481634749e-02 + 2.29433295368296e-02 3.64281722102988e-02 + 2.52292451944009e-02 3.83886558140635e-02 + 2.76584039930501e-02 4.03804022182471e-02 + 3.02279458793868e-02 4.24121923692621e-02 + 3.29474897596453e-02 4.44785420770728e-02 + 3.58241314284824e-02 4.65778377875867e-02 + 3.88615699902796e-02 4.87123968511837e-02 + 4.20676717891717e-02 5.08781772356130e-02 + 4.54487329341993e-02 5.30746242381647e-02 + 4.90117485491485e-02 5.53002611029898e-02 + 5.27645862937288e-02 5.75519273923613e-02 + 5.67093606250863e-02 5.98355421876917e-02 + 6.08542808522407e-02 6.21481464820482e-02 + 6.52077360665248e-02 6.44866424610369e-02 + 6.97777749333136e-02 6.68483047653571e-02 + 7.45725584053168e-02 6.92290421276930e-02 + 7.96003025603602e-02 7.16257099944468e-02 + 8.48692521878683e-02 7.40353559775043e-02 + 9.03877052429679e-02 7.64548116524863e-02 + 9.61655134799091e-02 7.88762011581258e-02 + 1.02207263913494e-01 8.13045515555609e-02 + 1.08520558648419e-01 8.37388705427050e-02 + 1.15116028351370e-01 8.61695316478935e-02 + 1.22007229910574e-01 8.85790359587486e-02 + 1.29199708937344e-01 9.09693898928607e-02 + 1.36707239581636e-01 9.33170443302486e-02 + 1.44532832289765e-01 9.56345442285116e-02 + 1.52680165789989e-01 9.79325041341286e-02 + 1.61161441053045e-01 1.00189166048500e-01 + 1.70007457308521e-01 1.02310587742487e-01 + 1.79190054721449e-01 1.04432905562834e-01 + 1.88737272862309e-01 1.06459673932072e-01 + 1.98658849288637e-01 1.08368456710055e-01 + 2.08959521814780e-01 1.10157093980485e-01 + 2.19641591893373e-01 1.11840420663148e-01 + 2.30708491271435e-01 1.13421765446694e-01 + 2.42179055605765e-01 1.14797531689102e-01 + 2.54054847054779e-01 1.15956061862792e-01 + 2.66335501246618e-01 1.16912330796287e-01 + 2.79022641080626e-01 1.17663923550265e-01 + 2.92117168343597e-01 1.18248653891892e-01 + 3.05622216334775e-01 1.18493312816741e-01 + 3.19537924072257e-01 1.18497489736340e-01 + 3.33860492946775e-01 1.18251006166221e-01 + 3.48588151721234e-01 1.17646648524711e-01 + 3.63721224567419e-01 1.16827356073084e-01 + 3.79254655371093e-01 1.15711829738200e-01 + 3.95185482070027e-01 1.14309376763544e-01 + 4.11511052759619e-01 1.12629630765949e-01 + 4.28236810162283e-01 1.10757309311154e-01 + 4.45341106820901e-01 1.08539918592541e-01 + 4.62837300814829e-01 1.06125215640029e-01 + 4.80703334536459e-01 1.03396855089698e-01 + 4.98947032463024e-01 1.00451779534968e-01 + 5.17571379732328e-01 9.73486814910668e-02 + 5.36548400903477e-01 9.39688774564715e-02 + 5.55881355199664e-01 9.03838060138069e-02 + 5.75562372757084e-01 8.66043381028199e-02 + 5.95577970398358e-01 8.26174413045570e-02 + 6.15918406419707e-01 7.84356567370351e-02 + 6.36571346336407e-01 7.40624490885372e-02 + 6.57538252289466e-01 6.95719746617823e-02 + 6.78805330161313e-01 6.49684751967319e-02 + 7.00356747433778e-01 6.02530296562983e-02 + 7.22190564422178e-01 5.54942107563349e-02 + 7.44281974327413e-01 5.06608414104289e-02 + 7.66628713730443e-01 4.58296525153133e-02 + 7.89212731568401e-01 4.10099912210156e-02 + 8.12018185533069e-01 3.62261968408074e-02 + 8.35028977005283e-01 3.15060199889171e-02 + 8.58219151715056e-01 2.68336443816806e-02 + 8.81569312265979e-01 2.22287377219739e-02 + 9.05060689011999e-01 1.77175246606552e-02 + 9.28671627335113e-01 1.33156680593407e-02 + 9.52381403156938e-01 9.07315533594737e-03 + 9.76165312677752e-01 4.93304948753480e-03 + 1.00000000000000e+00 9.38336381193382e-04 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF43_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF43_Coords.txt new file mode 100644 index 0000000..179c7b8 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF43_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -3.71663624309444e-04 + 9.76017568294686e-01 2.09740027382490e-03 + 9.52031329328083e-01 3.99388322551278e-03 + 9.28070638676756e-01 5.29329818508414e-03 + 9.04146732423838e-01 6.03552788264997e-03 + 8.80309441682373e-01 5.94483425110475e-03 + 8.56610087823544e-01 5.07205375524694e-03 + 8.33094779308812e-01 3.48518207679764e-03 + 8.09801500212952e-01 1.24198889436214e-03 + 7.86768732939441e-01 -1.61714401887065e-03 + 7.64029448545206e-01 -5.05415831433425e-03 + 7.41600306402727e-01 -8.95103649024531e-03 + 7.19505313316081e-01 -1.32664966742413e-02 + 6.97760620781954e-01 -1.79392345429141e-02 + 6.76379522029838e-01 -2.29138874387622e-02 + 6.55367086965139e-01 -2.81158064050698e-02 + 6.34723160292757e-01 -3.34644442304210e-02 + 6.14445718488537e-01 -3.88868243087427e-02 + 5.94530941842471e-01 -4.43132611654412e-02 + 5.74970022740498e-01 -4.96643666397068e-02 + 5.55752003197788e-01 -5.48579023094515e-02 + 5.36876404308979e-01 -5.98525300304434e-02 + 5.18342824936104e-01 -6.46102084095419e-02 + 5.00150385563215e-01 -6.90906898681219e-02 + 4.82288445935981e-01 -7.32102556940118e-02 + 4.64755299574327e-01 -7.69174493160327e-02 + 4.47560043916586e-01 -8.02013672216798e-02 + 4.30710873709413e-01 -8.30502485164628e-02 + 4.14220450790071e-01 -8.54779875163164e-02 + 3.98099898802043e-01 -8.75003551684143e-02 + 3.82361417152145e-01 -8.91539118487549e-02 + 3.67012812949938e-01 -9.04577352136744e-02 + 3.52059448954428e-01 -9.14125244130858e-02 + 3.37508402620579e-01 -9.20698975569944e-02 + 3.23362484181096e-01 -9.24370482908363e-02 + 3.09624084367261e-01 -9.24697923842373e-02 + 2.96293755468272e-01 -9.23622670606858e-02 + 2.83370903129312e-01 -9.19897555434183e-02 + 2.70853535031793e-01 -9.14126750133591e-02 + 2.58737816915769e-01 -9.06671135148306e-02 + 2.47019052739988e-01 -8.97729432930204e-02 + 2.35693903527246e-01 -8.87274220986881e-02 + 2.24755521592725e-01 -8.75580418688866e-02 + 2.14196793622914e-01 -8.62833003191494e-02 + 2.04011333955405e-01 -8.49112533908159e-02 + 1.94192837298268e-01 -8.34452969779509e-02 + 1.84734159226918e-01 -8.18934025781127e-02 + 1.75626054456646e-01 -8.02758698487786e-02 + 1.66858918288587e-01 -7.86084496737449e-02 + 1.58426290110471e-01 -7.68895418961286e-02 + 1.50319200159812e-01 -7.51270351688627e-02 + 1.42526128875168e-01 -7.33413608576655e-02 + 1.35038180671969e-01 -7.15388978061903e-02 + 1.27849040687011e-01 -6.97156113201790e-02 + 1.20948527760174e-01 -6.78811403433585e-02 + 1.14327485726520e-01 -6.60418021962953e-02 + 1.07979453337408e-01 -6.41934386967372e-02 + 1.01894552002694e-01 -6.23456843683916e-02 + 9.60638804275308e-02 -6.05029662954196e-02 + 9.04788853236919e-02 -5.86685553793366e-02 + 8.51312964604805e-02 -5.68450270554785e-02 + 8.00139177362996e-02 -5.50331392699712e-02 + 7.51182333677251e-02 -5.32366201153170e-02 + 7.04360799396603e-02 -5.14581517700259e-02 + 6.59596102739365e-02 -4.96999221177560e-02 + 6.16809021391528e-02 -4.79652498980933e-02 + 5.75939553533738e-02 -4.62523224159701e-02 + 5.36927994773425e-02 -4.45595092963015e-02 + 4.99721163171827e-02 -4.28844263337983e-02 + 4.64252087767243e-02 -4.12292511300908e-02 + 4.30449330853367e-02 -3.95960611215206e-02 + 3.98247762561857e-02 -3.79859513726024e-02 + 3.67604251934450e-02 -3.63964310185422e-02 + 3.38455506187726e-02 -3.48295489141875e-02 + 3.10746565338045e-02 -3.32852832714888e-02 + 2.84426522729682e-02 -3.17631309877224e-02 + 2.59479462715313e-02 -3.02581097804500e-02 + 2.35806727258491e-02 -2.87783720898960e-02 + 2.13379586193463e-02 -2.73212926691211e-02 + 1.92197591809738e-02 -2.58794609330894e-02 + 1.72250219390216e-02 -2.44500206527471e-02 + 1.53362461148815e-02 -2.30507319172916e-02 + 1.35546465191771e-02 -2.16754212282863e-02 + 1.18891791905238e-02 -2.03070715945921e-02 + 1.03502939408908e-02 -1.89320620321851e-02 + 8.91130605466057e-03 -1.75783863139938e-02 + 7.53813877740335e-03 -1.62767162061906e-02 + 6.25261631407701e-03 -1.50030050459626e-02 + 5.11279434609420e-03 -1.36984926934841e-02 + 4.13351214596566e-03 -1.23586032117553e-02 + 3.29319124926354e-03 -1.10101245850993e-02 + 2.61550555648146e-03 -9.65116862965519e-03 + 2.09002183330755e-03 -8.29851601144447e-03 + 1.70078951843963e-03 -6.96281267583815e-03 + 1.36265166348109e-03 -5.67431295008859e-03 + 1.05977091812036e-03 -4.43783511622449e-03 + 7.76752295586629e-04 -3.25343117981278e-03 + 5.09088367705372e-04 -2.11971200576328e-03 + 2.51457101720442e-04 -1.03563109330527e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 2.41152507493868e-04 1.03804336890630e-03 + 4.71263736944646e-04 2.12757058293535e-03 + 6.99943594043346e-04 3.26857529570577e-03 + 9.32193128484313e-04 4.46218636779492e-03 + 1.17467942772895e-03 5.70972413170852e-03 + 1.43994542427533e-03 7.01025996015618e-03 + 1.74875960694718e-03 8.36460325834191e-03 + 2.11951590798279e-03 9.76507908206140e-03 + 2.62509733655399e-03 1.11886220147912e-02 + 3.25196895044496e-03 1.26421758114203e-02 + 3.97465034233274e-03 1.41283885203257e-02 + 4.82125008770289e-03 1.56307580709229e-02 + 5.78681385913657e-03 1.71508606271287e-02 + 6.84636895293181e-03 1.87061547939764e-02 + 7.95385823673404e-03 2.03287827858700e-02 + 9.16427485256001e-03 2.19844474193354e-02 + 1.04866325918796e-02 2.36680181220581e-02 + 1.19246001481561e-02 2.53798825843331e-02 + 1.34664539799032e-02 2.71314307830888e-02 + 1.51151426347581e-02 2.89238440065633e-02 + 1.68814985227616e-02 3.07508671802106e-02 + 1.87764354986689e-02 3.26068686407149e-02 + 2.07945755995919e-02 3.45003481634749e-02 + 2.29433295368296e-02 3.64281722102988e-02 + 2.52292451944009e-02 3.83886558140635e-02 + 2.76584039930501e-02 4.03804022182471e-02 + 3.02279458793868e-02 4.24121923692621e-02 + 3.29474897596453e-02 4.44785420770728e-02 + 3.58241314284824e-02 4.65778377875867e-02 + 3.88615699902796e-02 4.87123968511837e-02 + 4.20676717891717e-02 5.08781772356130e-02 + 4.54487329341993e-02 5.30746242381647e-02 + 4.90117485491485e-02 5.53002611029898e-02 + 5.27645862937288e-02 5.75519273923613e-02 + 5.67093606250863e-02 5.98355421876917e-02 + 6.08542808522407e-02 6.21481464820482e-02 + 6.52077360665248e-02 6.44866424610369e-02 + 6.97777749333136e-02 6.68483047653571e-02 + 7.45725584053168e-02 6.92290421276930e-02 + 7.96003025603602e-02 7.16257099944468e-02 + 8.48692521878683e-02 7.40353559775043e-02 + 9.03877052429679e-02 7.64548116524863e-02 + 9.61655134799091e-02 7.88762011581258e-02 + 1.02207263913494e-01 8.13045515555609e-02 + 1.08520558648419e-01 8.37388705427050e-02 + 1.15116028351370e-01 8.61695316478935e-02 + 1.22007229910574e-01 8.85790359587486e-02 + 1.29199708937344e-01 9.09693898928607e-02 + 1.36707239581636e-01 9.33170443302486e-02 + 1.44532832289765e-01 9.56345442285116e-02 + 1.52680165789989e-01 9.79325041341286e-02 + 1.61161441053045e-01 1.00189166048500e-01 + 1.70007457308521e-01 1.02310587742487e-01 + 1.79190054721449e-01 1.04432905562834e-01 + 1.88737272862309e-01 1.06459673932072e-01 + 1.98658849288637e-01 1.08368456710055e-01 + 2.08959521814780e-01 1.10157093980485e-01 + 2.19641591893373e-01 1.11840420663148e-01 + 2.30708491271435e-01 1.13421765446694e-01 + 2.42179055605765e-01 1.14797531689102e-01 + 2.54054847054779e-01 1.15956061862792e-01 + 2.66335501246618e-01 1.16912330796287e-01 + 2.79022641080626e-01 1.17663923550265e-01 + 2.92117168343597e-01 1.18248653891892e-01 + 3.05622216334775e-01 1.18493312816741e-01 + 3.19537924072257e-01 1.18497489736340e-01 + 3.33860492946775e-01 1.18251006166221e-01 + 3.48588151721234e-01 1.17646648524711e-01 + 3.63721224567419e-01 1.16827356073084e-01 + 3.79254655371093e-01 1.15711829738200e-01 + 3.95185482070027e-01 1.14309376763544e-01 + 4.11511052759619e-01 1.12629630765949e-01 + 4.28236810162283e-01 1.10757309311154e-01 + 4.45341106820901e-01 1.08539918592541e-01 + 4.62837300814829e-01 1.06125215640029e-01 + 4.80703334536459e-01 1.03396855089698e-01 + 4.98947032463024e-01 1.00451779534968e-01 + 5.17571379732328e-01 9.73486814910668e-02 + 5.36548400903477e-01 9.39688774564715e-02 + 5.55881355199664e-01 9.03838060138069e-02 + 5.75562372757084e-01 8.66043381028199e-02 + 5.95577970398358e-01 8.26174413045570e-02 + 6.15918406419707e-01 7.84356567370351e-02 + 6.36571346336407e-01 7.40624490885372e-02 + 6.57538252289466e-01 6.95719746617823e-02 + 6.78805330161313e-01 6.49684751967319e-02 + 7.00356747433778e-01 6.02530296562983e-02 + 7.22190564422178e-01 5.54942107563349e-02 + 7.44281974327413e-01 5.06608414104289e-02 + 7.66628713730443e-01 4.58296525153133e-02 + 7.89212731568401e-01 4.10099912210156e-02 + 8.12018185533069e-01 3.62261968408074e-02 + 8.35028977005283e-01 3.15060199889171e-02 + 8.58219151715056e-01 2.68336443816806e-02 + 8.81569312265979e-01 2.22287377219739e-02 + 9.05060689011999e-01 1.77175246606552e-02 + 9.28671627335113e-01 1.33156680593407e-02 + 9.52381403156938e-01 9.07315533594737e-03 + 9.76165312677752e-01 4.93304948753480e-03 + 1.00000000000000e+00 9.38336381193382e-04 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF44_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF44_Coords.txt new file mode 100644 index 0000000..179c7b8 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF44_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -3.71663624309444e-04 + 9.76017568294686e-01 2.09740027382490e-03 + 9.52031329328083e-01 3.99388322551278e-03 + 9.28070638676756e-01 5.29329818508414e-03 + 9.04146732423838e-01 6.03552788264997e-03 + 8.80309441682373e-01 5.94483425110475e-03 + 8.56610087823544e-01 5.07205375524694e-03 + 8.33094779308812e-01 3.48518207679764e-03 + 8.09801500212952e-01 1.24198889436214e-03 + 7.86768732939441e-01 -1.61714401887065e-03 + 7.64029448545206e-01 -5.05415831433425e-03 + 7.41600306402727e-01 -8.95103649024531e-03 + 7.19505313316081e-01 -1.32664966742413e-02 + 6.97760620781954e-01 -1.79392345429141e-02 + 6.76379522029838e-01 -2.29138874387622e-02 + 6.55367086965139e-01 -2.81158064050698e-02 + 6.34723160292757e-01 -3.34644442304210e-02 + 6.14445718488537e-01 -3.88868243087427e-02 + 5.94530941842471e-01 -4.43132611654412e-02 + 5.74970022740498e-01 -4.96643666397068e-02 + 5.55752003197788e-01 -5.48579023094515e-02 + 5.36876404308979e-01 -5.98525300304434e-02 + 5.18342824936104e-01 -6.46102084095419e-02 + 5.00150385563215e-01 -6.90906898681219e-02 + 4.82288445935981e-01 -7.32102556940118e-02 + 4.64755299574327e-01 -7.69174493160327e-02 + 4.47560043916586e-01 -8.02013672216798e-02 + 4.30710873709413e-01 -8.30502485164628e-02 + 4.14220450790071e-01 -8.54779875163164e-02 + 3.98099898802043e-01 -8.75003551684143e-02 + 3.82361417152145e-01 -8.91539118487549e-02 + 3.67012812949938e-01 -9.04577352136744e-02 + 3.52059448954428e-01 -9.14125244130858e-02 + 3.37508402620579e-01 -9.20698975569944e-02 + 3.23362484181096e-01 -9.24370482908363e-02 + 3.09624084367261e-01 -9.24697923842373e-02 + 2.96293755468272e-01 -9.23622670606858e-02 + 2.83370903129312e-01 -9.19897555434183e-02 + 2.70853535031793e-01 -9.14126750133591e-02 + 2.58737816915769e-01 -9.06671135148306e-02 + 2.47019052739988e-01 -8.97729432930204e-02 + 2.35693903527246e-01 -8.87274220986881e-02 + 2.24755521592725e-01 -8.75580418688866e-02 + 2.14196793622914e-01 -8.62833003191494e-02 + 2.04011333955405e-01 -8.49112533908159e-02 + 1.94192837298268e-01 -8.34452969779509e-02 + 1.84734159226918e-01 -8.18934025781127e-02 + 1.75626054456646e-01 -8.02758698487786e-02 + 1.66858918288587e-01 -7.86084496737449e-02 + 1.58426290110471e-01 -7.68895418961286e-02 + 1.50319200159812e-01 -7.51270351688627e-02 + 1.42526128875168e-01 -7.33413608576655e-02 + 1.35038180671969e-01 -7.15388978061903e-02 + 1.27849040687011e-01 -6.97156113201790e-02 + 1.20948527760174e-01 -6.78811403433585e-02 + 1.14327485726520e-01 -6.60418021962953e-02 + 1.07979453337408e-01 -6.41934386967372e-02 + 1.01894552002694e-01 -6.23456843683916e-02 + 9.60638804275308e-02 -6.05029662954196e-02 + 9.04788853236919e-02 -5.86685553793366e-02 + 8.51312964604805e-02 -5.68450270554785e-02 + 8.00139177362996e-02 -5.50331392699712e-02 + 7.51182333677251e-02 -5.32366201153170e-02 + 7.04360799396603e-02 -5.14581517700259e-02 + 6.59596102739365e-02 -4.96999221177560e-02 + 6.16809021391528e-02 -4.79652498980933e-02 + 5.75939553533738e-02 -4.62523224159701e-02 + 5.36927994773425e-02 -4.45595092963015e-02 + 4.99721163171827e-02 -4.28844263337983e-02 + 4.64252087767243e-02 -4.12292511300908e-02 + 4.30449330853367e-02 -3.95960611215206e-02 + 3.98247762561857e-02 -3.79859513726024e-02 + 3.67604251934450e-02 -3.63964310185422e-02 + 3.38455506187726e-02 -3.48295489141875e-02 + 3.10746565338045e-02 -3.32852832714888e-02 + 2.84426522729682e-02 -3.17631309877224e-02 + 2.59479462715313e-02 -3.02581097804500e-02 + 2.35806727258491e-02 -2.87783720898960e-02 + 2.13379586193463e-02 -2.73212926691211e-02 + 1.92197591809738e-02 -2.58794609330894e-02 + 1.72250219390216e-02 -2.44500206527471e-02 + 1.53362461148815e-02 -2.30507319172916e-02 + 1.35546465191771e-02 -2.16754212282863e-02 + 1.18891791905238e-02 -2.03070715945921e-02 + 1.03502939408908e-02 -1.89320620321851e-02 + 8.91130605466057e-03 -1.75783863139938e-02 + 7.53813877740335e-03 -1.62767162061906e-02 + 6.25261631407701e-03 -1.50030050459626e-02 + 5.11279434609420e-03 -1.36984926934841e-02 + 4.13351214596566e-03 -1.23586032117553e-02 + 3.29319124926354e-03 -1.10101245850993e-02 + 2.61550555648146e-03 -9.65116862965519e-03 + 2.09002183330755e-03 -8.29851601144447e-03 + 1.70078951843963e-03 -6.96281267583815e-03 + 1.36265166348109e-03 -5.67431295008859e-03 + 1.05977091812036e-03 -4.43783511622449e-03 + 7.76752295586629e-04 -3.25343117981278e-03 + 5.09088367705372e-04 -2.11971200576328e-03 + 2.51457101720442e-04 -1.03563109330527e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 2.41152507493868e-04 1.03804336890630e-03 + 4.71263736944646e-04 2.12757058293535e-03 + 6.99943594043346e-04 3.26857529570577e-03 + 9.32193128484313e-04 4.46218636779492e-03 + 1.17467942772895e-03 5.70972413170852e-03 + 1.43994542427533e-03 7.01025996015618e-03 + 1.74875960694718e-03 8.36460325834191e-03 + 2.11951590798279e-03 9.76507908206140e-03 + 2.62509733655399e-03 1.11886220147912e-02 + 3.25196895044496e-03 1.26421758114203e-02 + 3.97465034233274e-03 1.41283885203257e-02 + 4.82125008770289e-03 1.56307580709229e-02 + 5.78681385913657e-03 1.71508606271287e-02 + 6.84636895293181e-03 1.87061547939764e-02 + 7.95385823673404e-03 2.03287827858700e-02 + 9.16427485256001e-03 2.19844474193354e-02 + 1.04866325918796e-02 2.36680181220581e-02 + 1.19246001481561e-02 2.53798825843331e-02 + 1.34664539799032e-02 2.71314307830888e-02 + 1.51151426347581e-02 2.89238440065633e-02 + 1.68814985227616e-02 3.07508671802106e-02 + 1.87764354986689e-02 3.26068686407149e-02 + 2.07945755995919e-02 3.45003481634749e-02 + 2.29433295368296e-02 3.64281722102988e-02 + 2.52292451944009e-02 3.83886558140635e-02 + 2.76584039930501e-02 4.03804022182471e-02 + 3.02279458793868e-02 4.24121923692621e-02 + 3.29474897596453e-02 4.44785420770728e-02 + 3.58241314284824e-02 4.65778377875867e-02 + 3.88615699902796e-02 4.87123968511837e-02 + 4.20676717891717e-02 5.08781772356130e-02 + 4.54487329341993e-02 5.30746242381647e-02 + 4.90117485491485e-02 5.53002611029898e-02 + 5.27645862937288e-02 5.75519273923613e-02 + 5.67093606250863e-02 5.98355421876917e-02 + 6.08542808522407e-02 6.21481464820482e-02 + 6.52077360665248e-02 6.44866424610369e-02 + 6.97777749333136e-02 6.68483047653571e-02 + 7.45725584053168e-02 6.92290421276930e-02 + 7.96003025603602e-02 7.16257099944468e-02 + 8.48692521878683e-02 7.40353559775043e-02 + 9.03877052429679e-02 7.64548116524863e-02 + 9.61655134799091e-02 7.88762011581258e-02 + 1.02207263913494e-01 8.13045515555609e-02 + 1.08520558648419e-01 8.37388705427050e-02 + 1.15116028351370e-01 8.61695316478935e-02 + 1.22007229910574e-01 8.85790359587486e-02 + 1.29199708937344e-01 9.09693898928607e-02 + 1.36707239581636e-01 9.33170443302486e-02 + 1.44532832289765e-01 9.56345442285116e-02 + 1.52680165789989e-01 9.79325041341286e-02 + 1.61161441053045e-01 1.00189166048500e-01 + 1.70007457308521e-01 1.02310587742487e-01 + 1.79190054721449e-01 1.04432905562834e-01 + 1.88737272862309e-01 1.06459673932072e-01 + 1.98658849288637e-01 1.08368456710055e-01 + 2.08959521814780e-01 1.10157093980485e-01 + 2.19641591893373e-01 1.11840420663148e-01 + 2.30708491271435e-01 1.13421765446694e-01 + 2.42179055605765e-01 1.14797531689102e-01 + 2.54054847054779e-01 1.15956061862792e-01 + 2.66335501246618e-01 1.16912330796287e-01 + 2.79022641080626e-01 1.17663923550265e-01 + 2.92117168343597e-01 1.18248653891892e-01 + 3.05622216334775e-01 1.18493312816741e-01 + 3.19537924072257e-01 1.18497489736340e-01 + 3.33860492946775e-01 1.18251006166221e-01 + 3.48588151721234e-01 1.17646648524711e-01 + 3.63721224567419e-01 1.16827356073084e-01 + 3.79254655371093e-01 1.15711829738200e-01 + 3.95185482070027e-01 1.14309376763544e-01 + 4.11511052759619e-01 1.12629630765949e-01 + 4.28236810162283e-01 1.10757309311154e-01 + 4.45341106820901e-01 1.08539918592541e-01 + 4.62837300814829e-01 1.06125215640029e-01 + 4.80703334536459e-01 1.03396855089698e-01 + 4.98947032463024e-01 1.00451779534968e-01 + 5.17571379732328e-01 9.73486814910668e-02 + 5.36548400903477e-01 9.39688774564715e-02 + 5.55881355199664e-01 9.03838060138069e-02 + 5.75562372757084e-01 8.66043381028199e-02 + 5.95577970398358e-01 8.26174413045570e-02 + 6.15918406419707e-01 7.84356567370351e-02 + 6.36571346336407e-01 7.40624490885372e-02 + 6.57538252289466e-01 6.95719746617823e-02 + 6.78805330161313e-01 6.49684751967319e-02 + 7.00356747433778e-01 6.02530296562983e-02 + 7.22190564422178e-01 5.54942107563349e-02 + 7.44281974327413e-01 5.06608414104289e-02 + 7.66628713730443e-01 4.58296525153133e-02 + 7.89212731568401e-01 4.10099912210156e-02 + 8.12018185533069e-01 3.62261968408074e-02 + 8.35028977005283e-01 3.15060199889171e-02 + 8.58219151715056e-01 2.68336443816806e-02 + 8.81569312265979e-01 2.22287377219739e-02 + 9.05060689011999e-01 1.77175246606552e-02 + 9.28671627335113e-01 1.33156680593407e-02 + 9.52381403156938e-01 9.07315533594737e-03 + 9.76165312677752e-01 4.93304948753480e-03 + 1.00000000000000e+00 9.38336381193382e-04 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF45_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF45_Coords.txt new file mode 100644 index 0000000..179c7b8 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF45_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -3.71663624309444e-04 + 9.76017568294686e-01 2.09740027382490e-03 + 9.52031329328083e-01 3.99388322551278e-03 + 9.28070638676756e-01 5.29329818508414e-03 + 9.04146732423838e-01 6.03552788264997e-03 + 8.80309441682373e-01 5.94483425110475e-03 + 8.56610087823544e-01 5.07205375524694e-03 + 8.33094779308812e-01 3.48518207679764e-03 + 8.09801500212952e-01 1.24198889436214e-03 + 7.86768732939441e-01 -1.61714401887065e-03 + 7.64029448545206e-01 -5.05415831433425e-03 + 7.41600306402727e-01 -8.95103649024531e-03 + 7.19505313316081e-01 -1.32664966742413e-02 + 6.97760620781954e-01 -1.79392345429141e-02 + 6.76379522029838e-01 -2.29138874387622e-02 + 6.55367086965139e-01 -2.81158064050698e-02 + 6.34723160292757e-01 -3.34644442304210e-02 + 6.14445718488537e-01 -3.88868243087427e-02 + 5.94530941842471e-01 -4.43132611654412e-02 + 5.74970022740498e-01 -4.96643666397068e-02 + 5.55752003197788e-01 -5.48579023094515e-02 + 5.36876404308979e-01 -5.98525300304434e-02 + 5.18342824936104e-01 -6.46102084095419e-02 + 5.00150385563215e-01 -6.90906898681219e-02 + 4.82288445935981e-01 -7.32102556940118e-02 + 4.64755299574327e-01 -7.69174493160327e-02 + 4.47560043916586e-01 -8.02013672216798e-02 + 4.30710873709413e-01 -8.30502485164628e-02 + 4.14220450790071e-01 -8.54779875163164e-02 + 3.98099898802043e-01 -8.75003551684143e-02 + 3.82361417152145e-01 -8.91539118487549e-02 + 3.67012812949938e-01 -9.04577352136744e-02 + 3.52059448954428e-01 -9.14125244130858e-02 + 3.37508402620579e-01 -9.20698975569944e-02 + 3.23362484181096e-01 -9.24370482908363e-02 + 3.09624084367261e-01 -9.24697923842373e-02 + 2.96293755468272e-01 -9.23622670606858e-02 + 2.83370903129312e-01 -9.19897555434183e-02 + 2.70853535031793e-01 -9.14126750133591e-02 + 2.58737816915769e-01 -9.06671135148306e-02 + 2.47019052739988e-01 -8.97729432930204e-02 + 2.35693903527246e-01 -8.87274220986881e-02 + 2.24755521592725e-01 -8.75580418688866e-02 + 2.14196793622914e-01 -8.62833003191494e-02 + 2.04011333955405e-01 -8.49112533908159e-02 + 1.94192837298268e-01 -8.34452969779509e-02 + 1.84734159226918e-01 -8.18934025781127e-02 + 1.75626054456646e-01 -8.02758698487786e-02 + 1.66858918288587e-01 -7.86084496737449e-02 + 1.58426290110471e-01 -7.68895418961286e-02 + 1.50319200159812e-01 -7.51270351688627e-02 + 1.42526128875168e-01 -7.33413608576655e-02 + 1.35038180671969e-01 -7.15388978061903e-02 + 1.27849040687011e-01 -6.97156113201790e-02 + 1.20948527760174e-01 -6.78811403433585e-02 + 1.14327485726520e-01 -6.60418021962953e-02 + 1.07979453337408e-01 -6.41934386967372e-02 + 1.01894552002694e-01 -6.23456843683916e-02 + 9.60638804275308e-02 -6.05029662954196e-02 + 9.04788853236919e-02 -5.86685553793366e-02 + 8.51312964604805e-02 -5.68450270554785e-02 + 8.00139177362996e-02 -5.50331392699712e-02 + 7.51182333677251e-02 -5.32366201153170e-02 + 7.04360799396603e-02 -5.14581517700259e-02 + 6.59596102739365e-02 -4.96999221177560e-02 + 6.16809021391528e-02 -4.79652498980933e-02 + 5.75939553533738e-02 -4.62523224159701e-02 + 5.36927994773425e-02 -4.45595092963015e-02 + 4.99721163171827e-02 -4.28844263337983e-02 + 4.64252087767243e-02 -4.12292511300908e-02 + 4.30449330853367e-02 -3.95960611215206e-02 + 3.98247762561857e-02 -3.79859513726024e-02 + 3.67604251934450e-02 -3.63964310185422e-02 + 3.38455506187726e-02 -3.48295489141875e-02 + 3.10746565338045e-02 -3.32852832714888e-02 + 2.84426522729682e-02 -3.17631309877224e-02 + 2.59479462715313e-02 -3.02581097804500e-02 + 2.35806727258491e-02 -2.87783720898960e-02 + 2.13379586193463e-02 -2.73212926691211e-02 + 1.92197591809738e-02 -2.58794609330894e-02 + 1.72250219390216e-02 -2.44500206527471e-02 + 1.53362461148815e-02 -2.30507319172916e-02 + 1.35546465191771e-02 -2.16754212282863e-02 + 1.18891791905238e-02 -2.03070715945921e-02 + 1.03502939408908e-02 -1.89320620321851e-02 + 8.91130605466057e-03 -1.75783863139938e-02 + 7.53813877740335e-03 -1.62767162061906e-02 + 6.25261631407701e-03 -1.50030050459626e-02 + 5.11279434609420e-03 -1.36984926934841e-02 + 4.13351214596566e-03 -1.23586032117553e-02 + 3.29319124926354e-03 -1.10101245850993e-02 + 2.61550555648146e-03 -9.65116862965519e-03 + 2.09002183330755e-03 -8.29851601144447e-03 + 1.70078951843963e-03 -6.96281267583815e-03 + 1.36265166348109e-03 -5.67431295008859e-03 + 1.05977091812036e-03 -4.43783511622449e-03 + 7.76752295586629e-04 -3.25343117981278e-03 + 5.09088367705372e-04 -2.11971200576328e-03 + 2.51457101720442e-04 -1.03563109330527e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 2.41152507493868e-04 1.03804336890630e-03 + 4.71263736944646e-04 2.12757058293535e-03 + 6.99943594043346e-04 3.26857529570577e-03 + 9.32193128484313e-04 4.46218636779492e-03 + 1.17467942772895e-03 5.70972413170852e-03 + 1.43994542427533e-03 7.01025996015618e-03 + 1.74875960694718e-03 8.36460325834191e-03 + 2.11951590798279e-03 9.76507908206140e-03 + 2.62509733655399e-03 1.11886220147912e-02 + 3.25196895044496e-03 1.26421758114203e-02 + 3.97465034233274e-03 1.41283885203257e-02 + 4.82125008770289e-03 1.56307580709229e-02 + 5.78681385913657e-03 1.71508606271287e-02 + 6.84636895293181e-03 1.87061547939764e-02 + 7.95385823673404e-03 2.03287827858700e-02 + 9.16427485256001e-03 2.19844474193354e-02 + 1.04866325918796e-02 2.36680181220581e-02 + 1.19246001481561e-02 2.53798825843331e-02 + 1.34664539799032e-02 2.71314307830888e-02 + 1.51151426347581e-02 2.89238440065633e-02 + 1.68814985227616e-02 3.07508671802106e-02 + 1.87764354986689e-02 3.26068686407149e-02 + 2.07945755995919e-02 3.45003481634749e-02 + 2.29433295368296e-02 3.64281722102988e-02 + 2.52292451944009e-02 3.83886558140635e-02 + 2.76584039930501e-02 4.03804022182471e-02 + 3.02279458793868e-02 4.24121923692621e-02 + 3.29474897596453e-02 4.44785420770728e-02 + 3.58241314284824e-02 4.65778377875867e-02 + 3.88615699902796e-02 4.87123968511837e-02 + 4.20676717891717e-02 5.08781772356130e-02 + 4.54487329341993e-02 5.30746242381647e-02 + 4.90117485491485e-02 5.53002611029898e-02 + 5.27645862937288e-02 5.75519273923613e-02 + 5.67093606250863e-02 5.98355421876917e-02 + 6.08542808522407e-02 6.21481464820482e-02 + 6.52077360665248e-02 6.44866424610369e-02 + 6.97777749333136e-02 6.68483047653571e-02 + 7.45725584053168e-02 6.92290421276930e-02 + 7.96003025603602e-02 7.16257099944468e-02 + 8.48692521878683e-02 7.40353559775043e-02 + 9.03877052429679e-02 7.64548116524863e-02 + 9.61655134799091e-02 7.88762011581258e-02 + 1.02207263913494e-01 8.13045515555609e-02 + 1.08520558648419e-01 8.37388705427050e-02 + 1.15116028351370e-01 8.61695316478935e-02 + 1.22007229910574e-01 8.85790359587486e-02 + 1.29199708937344e-01 9.09693898928607e-02 + 1.36707239581636e-01 9.33170443302486e-02 + 1.44532832289765e-01 9.56345442285116e-02 + 1.52680165789989e-01 9.79325041341286e-02 + 1.61161441053045e-01 1.00189166048500e-01 + 1.70007457308521e-01 1.02310587742487e-01 + 1.79190054721449e-01 1.04432905562834e-01 + 1.88737272862309e-01 1.06459673932072e-01 + 1.98658849288637e-01 1.08368456710055e-01 + 2.08959521814780e-01 1.10157093980485e-01 + 2.19641591893373e-01 1.11840420663148e-01 + 2.30708491271435e-01 1.13421765446694e-01 + 2.42179055605765e-01 1.14797531689102e-01 + 2.54054847054779e-01 1.15956061862792e-01 + 2.66335501246618e-01 1.16912330796287e-01 + 2.79022641080626e-01 1.17663923550265e-01 + 2.92117168343597e-01 1.18248653891892e-01 + 3.05622216334775e-01 1.18493312816741e-01 + 3.19537924072257e-01 1.18497489736340e-01 + 3.33860492946775e-01 1.18251006166221e-01 + 3.48588151721234e-01 1.17646648524711e-01 + 3.63721224567419e-01 1.16827356073084e-01 + 3.79254655371093e-01 1.15711829738200e-01 + 3.95185482070027e-01 1.14309376763544e-01 + 4.11511052759619e-01 1.12629630765949e-01 + 4.28236810162283e-01 1.10757309311154e-01 + 4.45341106820901e-01 1.08539918592541e-01 + 4.62837300814829e-01 1.06125215640029e-01 + 4.80703334536459e-01 1.03396855089698e-01 + 4.98947032463024e-01 1.00451779534968e-01 + 5.17571379732328e-01 9.73486814910668e-02 + 5.36548400903477e-01 9.39688774564715e-02 + 5.55881355199664e-01 9.03838060138069e-02 + 5.75562372757084e-01 8.66043381028199e-02 + 5.95577970398358e-01 8.26174413045570e-02 + 6.15918406419707e-01 7.84356567370351e-02 + 6.36571346336407e-01 7.40624490885372e-02 + 6.57538252289466e-01 6.95719746617823e-02 + 6.78805330161313e-01 6.49684751967319e-02 + 7.00356747433778e-01 6.02530296562983e-02 + 7.22190564422178e-01 5.54942107563349e-02 + 7.44281974327413e-01 5.06608414104289e-02 + 7.66628713730443e-01 4.58296525153133e-02 + 7.89212731568401e-01 4.10099912210156e-02 + 8.12018185533069e-01 3.62261968408074e-02 + 8.35028977005283e-01 3.15060199889171e-02 + 8.58219151715056e-01 2.68336443816806e-02 + 8.81569312265979e-01 2.22287377219739e-02 + 9.05060689011999e-01 1.77175246606552e-02 + 9.28671627335113e-01 1.33156680593407e-02 + 9.52381403156938e-01 9.07315533594737e-03 + 9.76165312677752e-01 4.93304948753480e-03 + 1.00000000000000e+00 9.38336381193382e-04 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF46_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF46_Coords.txt new file mode 100644 index 0000000..179c7b8 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF46_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -3.71663624309444e-04 + 9.76017568294686e-01 2.09740027382490e-03 + 9.52031329328083e-01 3.99388322551278e-03 + 9.28070638676756e-01 5.29329818508414e-03 + 9.04146732423838e-01 6.03552788264997e-03 + 8.80309441682373e-01 5.94483425110475e-03 + 8.56610087823544e-01 5.07205375524694e-03 + 8.33094779308812e-01 3.48518207679764e-03 + 8.09801500212952e-01 1.24198889436214e-03 + 7.86768732939441e-01 -1.61714401887065e-03 + 7.64029448545206e-01 -5.05415831433425e-03 + 7.41600306402727e-01 -8.95103649024531e-03 + 7.19505313316081e-01 -1.32664966742413e-02 + 6.97760620781954e-01 -1.79392345429141e-02 + 6.76379522029838e-01 -2.29138874387622e-02 + 6.55367086965139e-01 -2.81158064050698e-02 + 6.34723160292757e-01 -3.34644442304210e-02 + 6.14445718488537e-01 -3.88868243087427e-02 + 5.94530941842471e-01 -4.43132611654412e-02 + 5.74970022740498e-01 -4.96643666397068e-02 + 5.55752003197788e-01 -5.48579023094515e-02 + 5.36876404308979e-01 -5.98525300304434e-02 + 5.18342824936104e-01 -6.46102084095419e-02 + 5.00150385563215e-01 -6.90906898681219e-02 + 4.82288445935981e-01 -7.32102556940118e-02 + 4.64755299574327e-01 -7.69174493160327e-02 + 4.47560043916586e-01 -8.02013672216798e-02 + 4.30710873709413e-01 -8.30502485164628e-02 + 4.14220450790071e-01 -8.54779875163164e-02 + 3.98099898802043e-01 -8.75003551684143e-02 + 3.82361417152145e-01 -8.91539118487549e-02 + 3.67012812949938e-01 -9.04577352136744e-02 + 3.52059448954428e-01 -9.14125244130858e-02 + 3.37508402620579e-01 -9.20698975569944e-02 + 3.23362484181096e-01 -9.24370482908363e-02 + 3.09624084367261e-01 -9.24697923842373e-02 + 2.96293755468272e-01 -9.23622670606858e-02 + 2.83370903129312e-01 -9.19897555434183e-02 + 2.70853535031793e-01 -9.14126750133591e-02 + 2.58737816915769e-01 -9.06671135148306e-02 + 2.47019052739988e-01 -8.97729432930204e-02 + 2.35693903527246e-01 -8.87274220986881e-02 + 2.24755521592725e-01 -8.75580418688866e-02 + 2.14196793622914e-01 -8.62833003191494e-02 + 2.04011333955405e-01 -8.49112533908159e-02 + 1.94192837298268e-01 -8.34452969779509e-02 + 1.84734159226918e-01 -8.18934025781127e-02 + 1.75626054456646e-01 -8.02758698487786e-02 + 1.66858918288587e-01 -7.86084496737449e-02 + 1.58426290110471e-01 -7.68895418961286e-02 + 1.50319200159812e-01 -7.51270351688627e-02 + 1.42526128875168e-01 -7.33413608576655e-02 + 1.35038180671969e-01 -7.15388978061903e-02 + 1.27849040687011e-01 -6.97156113201790e-02 + 1.20948527760174e-01 -6.78811403433585e-02 + 1.14327485726520e-01 -6.60418021962953e-02 + 1.07979453337408e-01 -6.41934386967372e-02 + 1.01894552002694e-01 -6.23456843683916e-02 + 9.60638804275308e-02 -6.05029662954196e-02 + 9.04788853236919e-02 -5.86685553793366e-02 + 8.51312964604805e-02 -5.68450270554785e-02 + 8.00139177362996e-02 -5.50331392699712e-02 + 7.51182333677251e-02 -5.32366201153170e-02 + 7.04360799396603e-02 -5.14581517700259e-02 + 6.59596102739365e-02 -4.96999221177560e-02 + 6.16809021391528e-02 -4.79652498980933e-02 + 5.75939553533738e-02 -4.62523224159701e-02 + 5.36927994773425e-02 -4.45595092963015e-02 + 4.99721163171827e-02 -4.28844263337983e-02 + 4.64252087767243e-02 -4.12292511300908e-02 + 4.30449330853367e-02 -3.95960611215206e-02 + 3.98247762561857e-02 -3.79859513726024e-02 + 3.67604251934450e-02 -3.63964310185422e-02 + 3.38455506187726e-02 -3.48295489141875e-02 + 3.10746565338045e-02 -3.32852832714888e-02 + 2.84426522729682e-02 -3.17631309877224e-02 + 2.59479462715313e-02 -3.02581097804500e-02 + 2.35806727258491e-02 -2.87783720898960e-02 + 2.13379586193463e-02 -2.73212926691211e-02 + 1.92197591809738e-02 -2.58794609330894e-02 + 1.72250219390216e-02 -2.44500206527471e-02 + 1.53362461148815e-02 -2.30507319172916e-02 + 1.35546465191771e-02 -2.16754212282863e-02 + 1.18891791905238e-02 -2.03070715945921e-02 + 1.03502939408908e-02 -1.89320620321851e-02 + 8.91130605466057e-03 -1.75783863139938e-02 + 7.53813877740335e-03 -1.62767162061906e-02 + 6.25261631407701e-03 -1.50030050459626e-02 + 5.11279434609420e-03 -1.36984926934841e-02 + 4.13351214596566e-03 -1.23586032117553e-02 + 3.29319124926354e-03 -1.10101245850993e-02 + 2.61550555648146e-03 -9.65116862965519e-03 + 2.09002183330755e-03 -8.29851601144447e-03 + 1.70078951843963e-03 -6.96281267583815e-03 + 1.36265166348109e-03 -5.67431295008859e-03 + 1.05977091812036e-03 -4.43783511622449e-03 + 7.76752295586629e-04 -3.25343117981278e-03 + 5.09088367705372e-04 -2.11971200576328e-03 + 2.51457101720442e-04 -1.03563109330527e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 2.41152507493868e-04 1.03804336890630e-03 + 4.71263736944646e-04 2.12757058293535e-03 + 6.99943594043346e-04 3.26857529570577e-03 + 9.32193128484313e-04 4.46218636779492e-03 + 1.17467942772895e-03 5.70972413170852e-03 + 1.43994542427533e-03 7.01025996015618e-03 + 1.74875960694718e-03 8.36460325834191e-03 + 2.11951590798279e-03 9.76507908206140e-03 + 2.62509733655399e-03 1.11886220147912e-02 + 3.25196895044496e-03 1.26421758114203e-02 + 3.97465034233274e-03 1.41283885203257e-02 + 4.82125008770289e-03 1.56307580709229e-02 + 5.78681385913657e-03 1.71508606271287e-02 + 6.84636895293181e-03 1.87061547939764e-02 + 7.95385823673404e-03 2.03287827858700e-02 + 9.16427485256001e-03 2.19844474193354e-02 + 1.04866325918796e-02 2.36680181220581e-02 + 1.19246001481561e-02 2.53798825843331e-02 + 1.34664539799032e-02 2.71314307830888e-02 + 1.51151426347581e-02 2.89238440065633e-02 + 1.68814985227616e-02 3.07508671802106e-02 + 1.87764354986689e-02 3.26068686407149e-02 + 2.07945755995919e-02 3.45003481634749e-02 + 2.29433295368296e-02 3.64281722102988e-02 + 2.52292451944009e-02 3.83886558140635e-02 + 2.76584039930501e-02 4.03804022182471e-02 + 3.02279458793868e-02 4.24121923692621e-02 + 3.29474897596453e-02 4.44785420770728e-02 + 3.58241314284824e-02 4.65778377875867e-02 + 3.88615699902796e-02 4.87123968511837e-02 + 4.20676717891717e-02 5.08781772356130e-02 + 4.54487329341993e-02 5.30746242381647e-02 + 4.90117485491485e-02 5.53002611029898e-02 + 5.27645862937288e-02 5.75519273923613e-02 + 5.67093606250863e-02 5.98355421876917e-02 + 6.08542808522407e-02 6.21481464820482e-02 + 6.52077360665248e-02 6.44866424610369e-02 + 6.97777749333136e-02 6.68483047653571e-02 + 7.45725584053168e-02 6.92290421276930e-02 + 7.96003025603602e-02 7.16257099944468e-02 + 8.48692521878683e-02 7.40353559775043e-02 + 9.03877052429679e-02 7.64548116524863e-02 + 9.61655134799091e-02 7.88762011581258e-02 + 1.02207263913494e-01 8.13045515555609e-02 + 1.08520558648419e-01 8.37388705427050e-02 + 1.15116028351370e-01 8.61695316478935e-02 + 1.22007229910574e-01 8.85790359587486e-02 + 1.29199708937344e-01 9.09693898928607e-02 + 1.36707239581636e-01 9.33170443302486e-02 + 1.44532832289765e-01 9.56345442285116e-02 + 1.52680165789989e-01 9.79325041341286e-02 + 1.61161441053045e-01 1.00189166048500e-01 + 1.70007457308521e-01 1.02310587742487e-01 + 1.79190054721449e-01 1.04432905562834e-01 + 1.88737272862309e-01 1.06459673932072e-01 + 1.98658849288637e-01 1.08368456710055e-01 + 2.08959521814780e-01 1.10157093980485e-01 + 2.19641591893373e-01 1.11840420663148e-01 + 2.30708491271435e-01 1.13421765446694e-01 + 2.42179055605765e-01 1.14797531689102e-01 + 2.54054847054779e-01 1.15956061862792e-01 + 2.66335501246618e-01 1.16912330796287e-01 + 2.79022641080626e-01 1.17663923550265e-01 + 2.92117168343597e-01 1.18248653891892e-01 + 3.05622216334775e-01 1.18493312816741e-01 + 3.19537924072257e-01 1.18497489736340e-01 + 3.33860492946775e-01 1.18251006166221e-01 + 3.48588151721234e-01 1.17646648524711e-01 + 3.63721224567419e-01 1.16827356073084e-01 + 3.79254655371093e-01 1.15711829738200e-01 + 3.95185482070027e-01 1.14309376763544e-01 + 4.11511052759619e-01 1.12629630765949e-01 + 4.28236810162283e-01 1.10757309311154e-01 + 4.45341106820901e-01 1.08539918592541e-01 + 4.62837300814829e-01 1.06125215640029e-01 + 4.80703334536459e-01 1.03396855089698e-01 + 4.98947032463024e-01 1.00451779534968e-01 + 5.17571379732328e-01 9.73486814910668e-02 + 5.36548400903477e-01 9.39688774564715e-02 + 5.55881355199664e-01 9.03838060138069e-02 + 5.75562372757084e-01 8.66043381028199e-02 + 5.95577970398358e-01 8.26174413045570e-02 + 6.15918406419707e-01 7.84356567370351e-02 + 6.36571346336407e-01 7.40624490885372e-02 + 6.57538252289466e-01 6.95719746617823e-02 + 6.78805330161313e-01 6.49684751967319e-02 + 7.00356747433778e-01 6.02530296562983e-02 + 7.22190564422178e-01 5.54942107563349e-02 + 7.44281974327413e-01 5.06608414104289e-02 + 7.66628713730443e-01 4.58296525153133e-02 + 7.89212731568401e-01 4.10099912210156e-02 + 8.12018185533069e-01 3.62261968408074e-02 + 8.35028977005283e-01 3.15060199889171e-02 + 8.58219151715056e-01 2.68336443816806e-02 + 8.81569312265979e-01 2.22287377219739e-02 + 9.05060689011999e-01 1.77175246606552e-02 + 9.28671627335113e-01 1.33156680593407e-02 + 9.52381403156938e-01 9.07315533594737e-03 + 9.76165312677752e-01 4.93304948753480e-03 + 1.00000000000000e+00 9.38336381193382e-04 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF47_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF47_Coords.txt new file mode 100644 index 0000000..179c7b8 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF47_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -3.71663624309444e-04 + 9.76017568294686e-01 2.09740027382490e-03 + 9.52031329328083e-01 3.99388322551278e-03 + 9.28070638676756e-01 5.29329818508414e-03 + 9.04146732423838e-01 6.03552788264997e-03 + 8.80309441682373e-01 5.94483425110475e-03 + 8.56610087823544e-01 5.07205375524694e-03 + 8.33094779308812e-01 3.48518207679764e-03 + 8.09801500212952e-01 1.24198889436214e-03 + 7.86768732939441e-01 -1.61714401887065e-03 + 7.64029448545206e-01 -5.05415831433425e-03 + 7.41600306402727e-01 -8.95103649024531e-03 + 7.19505313316081e-01 -1.32664966742413e-02 + 6.97760620781954e-01 -1.79392345429141e-02 + 6.76379522029838e-01 -2.29138874387622e-02 + 6.55367086965139e-01 -2.81158064050698e-02 + 6.34723160292757e-01 -3.34644442304210e-02 + 6.14445718488537e-01 -3.88868243087427e-02 + 5.94530941842471e-01 -4.43132611654412e-02 + 5.74970022740498e-01 -4.96643666397068e-02 + 5.55752003197788e-01 -5.48579023094515e-02 + 5.36876404308979e-01 -5.98525300304434e-02 + 5.18342824936104e-01 -6.46102084095419e-02 + 5.00150385563215e-01 -6.90906898681219e-02 + 4.82288445935981e-01 -7.32102556940118e-02 + 4.64755299574327e-01 -7.69174493160327e-02 + 4.47560043916586e-01 -8.02013672216798e-02 + 4.30710873709413e-01 -8.30502485164628e-02 + 4.14220450790071e-01 -8.54779875163164e-02 + 3.98099898802043e-01 -8.75003551684143e-02 + 3.82361417152145e-01 -8.91539118487549e-02 + 3.67012812949938e-01 -9.04577352136744e-02 + 3.52059448954428e-01 -9.14125244130858e-02 + 3.37508402620579e-01 -9.20698975569944e-02 + 3.23362484181096e-01 -9.24370482908363e-02 + 3.09624084367261e-01 -9.24697923842373e-02 + 2.96293755468272e-01 -9.23622670606858e-02 + 2.83370903129312e-01 -9.19897555434183e-02 + 2.70853535031793e-01 -9.14126750133591e-02 + 2.58737816915769e-01 -9.06671135148306e-02 + 2.47019052739988e-01 -8.97729432930204e-02 + 2.35693903527246e-01 -8.87274220986881e-02 + 2.24755521592725e-01 -8.75580418688866e-02 + 2.14196793622914e-01 -8.62833003191494e-02 + 2.04011333955405e-01 -8.49112533908159e-02 + 1.94192837298268e-01 -8.34452969779509e-02 + 1.84734159226918e-01 -8.18934025781127e-02 + 1.75626054456646e-01 -8.02758698487786e-02 + 1.66858918288587e-01 -7.86084496737449e-02 + 1.58426290110471e-01 -7.68895418961286e-02 + 1.50319200159812e-01 -7.51270351688627e-02 + 1.42526128875168e-01 -7.33413608576655e-02 + 1.35038180671969e-01 -7.15388978061903e-02 + 1.27849040687011e-01 -6.97156113201790e-02 + 1.20948527760174e-01 -6.78811403433585e-02 + 1.14327485726520e-01 -6.60418021962953e-02 + 1.07979453337408e-01 -6.41934386967372e-02 + 1.01894552002694e-01 -6.23456843683916e-02 + 9.60638804275308e-02 -6.05029662954196e-02 + 9.04788853236919e-02 -5.86685553793366e-02 + 8.51312964604805e-02 -5.68450270554785e-02 + 8.00139177362996e-02 -5.50331392699712e-02 + 7.51182333677251e-02 -5.32366201153170e-02 + 7.04360799396603e-02 -5.14581517700259e-02 + 6.59596102739365e-02 -4.96999221177560e-02 + 6.16809021391528e-02 -4.79652498980933e-02 + 5.75939553533738e-02 -4.62523224159701e-02 + 5.36927994773425e-02 -4.45595092963015e-02 + 4.99721163171827e-02 -4.28844263337983e-02 + 4.64252087767243e-02 -4.12292511300908e-02 + 4.30449330853367e-02 -3.95960611215206e-02 + 3.98247762561857e-02 -3.79859513726024e-02 + 3.67604251934450e-02 -3.63964310185422e-02 + 3.38455506187726e-02 -3.48295489141875e-02 + 3.10746565338045e-02 -3.32852832714888e-02 + 2.84426522729682e-02 -3.17631309877224e-02 + 2.59479462715313e-02 -3.02581097804500e-02 + 2.35806727258491e-02 -2.87783720898960e-02 + 2.13379586193463e-02 -2.73212926691211e-02 + 1.92197591809738e-02 -2.58794609330894e-02 + 1.72250219390216e-02 -2.44500206527471e-02 + 1.53362461148815e-02 -2.30507319172916e-02 + 1.35546465191771e-02 -2.16754212282863e-02 + 1.18891791905238e-02 -2.03070715945921e-02 + 1.03502939408908e-02 -1.89320620321851e-02 + 8.91130605466057e-03 -1.75783863139938e-02 + 7.53813877740335e-03 -1.62767162061906e-02 + 6.25261631407701e-03 -1.50030050459626e-02 + 5.11279434609420e-03 -1.36984926934841e-02 + 4.13351214596566e-03 -1.23586032117553e-02 + 3.29319124926354e-03 -1.10101245850993e-02 + 2.61550555648146e-03 -9.65116862965519e-03 + 2.09002183330755e-03 -8.29851601144447e-03 + 1.70078951843963e-03 -6.96281267583815e-03 + 1.36265166348109e-03 -5.67431295008859e-03 + 1.05977091812036e-03 -4.43783511622449e-03 + 7.76752295586629e-04 -3.25343117981278e-03 + 5.09088367705372e-04 -2.11971200576328e-03 + 2.51457101720442e-04 -1.03563109330527e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 2.41152507493868e-04 1.03804336890630e-03 + 4.71263736944646e-04 2.12757058293535e-03 + 6.99943594043346e-04 3.26857529570577e-03 + 9.32193128484313e-04 4.46218636779492e-03 + 1.17467942772895e-03 5.70972413170852e-03 + 1.43994542427533e-03 7.01025996015618e-03 + 1.74875960694718e-03 8.36460325834191e-03 + 2.11951590798279e-03 9.76507908206140e-03 + 2.62509733655399e-03 1.11886220147912e-02 + 3.25196895044496e-03 1.26421758114203e-02 + 3.97465034233274e-03 1.41283885203257e-02 + 4.82125008770289e-03 1.56307580709229e-02 + 5.78681385913657e-03 1.71508606271287e-02 + 6.84636895293181e-03 1.87061547939764e-02 + 7.95385823673404e-03 2.03287827858700e-02 + 9.16427485256001e-03 2.19844474193354e-02 + 1.04866325918796e-02 2.36680181220581e-02 + 1.19246001481561e-02 2.53798825843331e-02 + 1.34664539799032e-02 2.71314307830888e-02 + 1.51151426347581e-02 2.89238440065633e-02 + 1.68814985227616e-02 3.07508671802106e-02 + 1.87764354986689e-02 3.26068686407149e-02 + 2.07945755995919e-02 3.45003481634749e-02 + 2.29433295368296e-02 3.64281722102988e-02 + 2.52292451944009e-02 3.83886558140635e-02 + 2.76584039930501e-02 4.03804022182471e-02 + 3.02279458793868e-02 4.24121923692621e-02 + 3.29474897596453e-02 4.44785420770728e-02 + 3.58241314284824e-02 4.65778377875867e-02 + 3.88615699902796e-02 4.87123968511837e-02 + 4.20676717891717e-02 5.08781772356130e-02 + 4.54487329341993e-02 5.30746242381647e-02 + 4.90117485491485e-02 5.53002611029898e-02 + 5.27645862937288e-02 5.75519273923613e-02 + 5.67093606250863e-02 5.98355421876917e-02 + 6.08542808522407e-02 6.21481464820482e-02 + 6.52077360665248e-02 6.44866424610369e-02 + 6.97777749333136e-02 6.68483047653571e-02 + 7.45725584053168e-02 6.92290421276930e-02 + 7.96003025603602e-02 7.16257099944468e-02 + 8.48692521878683e-02 7.40353559775043e-02 + 9.03877052429679e-02 7.64548116524863e-02 + 9.61655134799091e-02 7.88762011581258e-02 + 1.02207263913494e-01 8.13045515555609e-02 + 1.08520558648419e-01 8.37388705427050e-02 + 1.15116028351370e-01 8.61695316478935e-02 + 1.22007229910574e-01 8.85790359587486e-02 + 1.29199708937344e-01 9.09693898928607e-02 + 1.36707239581636e-01 9.33170443302486e-02 + 1.44532832289765e-01 9.56345442285116e-02 + 1.52680165789989e-01 9.79325041341286e-02 + 1.61161441053045e-01 1.00189166048500e-01 + 1.70007457308521e-01 1.02310587742487e-01 + 1.79190054721449e-01 1.04432905562834e-01 + 1.88737272862309e-01 1.06459673932072e-01 + 1.98658849288637e-01 1.08368456710055e-01 + 2.08959521814780e-01 1.10157093980485e-01 + 2.19641591893373e-01 1.11840420663148e-01 + 2.30708491271435e-01 1.13421765446694e-01 + 2.42179055605765e-01 1.14797531689102e-01 + 2.54054847054779e-01 1.15956061862792e-01 + 2.66335501246618e-01 1.16912330796287e-01 + 2.79022641080626e-01 1.17663923550265e-01 + 2.92117168343597e-01 1.18248653891892e-01 + 3.05622216334775e-01 1.18493312816741e-01 + 3.19537924072257e-01 1.18497489736340e-01 + 3.33860492946775e-01 1.18251006166221e-01 + 3.48588151721234e-01 1.17646648524711e-01 + 3.63721224567419e-01 1.16827356073084e-01 + 3.79254655371093e-01 1.15711829738200e-01 + 3.95185482070027e-01 1.14309376763544e-01 + 4.11511052759619e-01 1.12629630765949e-01 + 4.28236810162283e-01 1.10757309311154e-01 + 4.45341106820901e-01 1.08539918592541e-01 + 4.62837300814829e-01 1.06125215640029e-01 + 4.80703334536459e-01 1.03396855089698e-01 + 4.98947032463024e-01 1.00451779534968e-01 + 5.17571379732328e-01 9.73486814910668e-02 + 5.36548400903477e-01 9.39688774564715e-02 + 5.55881355199664e-01 9.03838060138069e-02 + 5.75562372757084e-01 8.66043381028199e-02 + 5.95577970398358e-01 8.26174413045570e-02 + 6.15918406419707e-01 7.84356567370351e-02 + 6.36571346336407e-01 7.40624490885372e-02 + 6.57538252289466e-01 6.95719746617823e-02 + 6.78805330161313e-01 6.49684751967319e-02 + 7.00356747433778e-01 6.02530296562983e-02 + 7.22190564422178e-01 5.54942107563349e-02 + 7.44281974327413e-01 5.06608414104289e-02 + 7.66628713730443e-01 4.58296525153133e-02 + 7.89212731568401e-01 4.10099912210156e-02 + 8.12018185533069e-01 3.62261968408074e-02 + 8.35028977005283e-01 3.15060199889171e-02 + 8.58219151715056e-01 2.68336443816806e-02 + 8.81569312265979e-01 2.22287377219739e-02 + 9.05060689011999e-01 1.77175246606552e-02 + 9.28671627335113e-01 1.33156680593407e-02 + 9.52381403156938e-01 9.07315533594737e-03 + 9.76165312677752e-01 4.93304948753480e-03 + 1.00000000000000e+00 9.38336381193382e-04 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF48_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF48_Coords.txt new file mode 100644 index 0000000..179c7b8 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF48_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -3.71663624309444e-04 + 9.76017568294686e-01 2.09740027382490e-03 + 9.52031329328083e-01 3.99388322551278e-03 + 9.28070638676756e-01 5.29329818508414e-03 + 9.04146732423838e-01 6.03552788264997e-03 + 8.80309441682373e-01 5.94483425110475e-03 + 8.56610087823544e-01 5.07205375524694e-03 + 8.33094779308812e-01 3.48518207679764e-03 + 8.09801500212952e-01 1.24198889436214e-03 + 7.86768732939441e-01 -1.61714401887065e-03 + 7.64029448545206e-01 -5.05415831433425e-03 + 7.41600306402727e-01 -8.95103649024531e-03 + 7.19505313316081e-01 -1.32664966742413e-02 + 6.97760620781954e-01 -1.79392345429141e-02 + 6.76379522029838e-01 -2.29138874387622e-02 + 6.55367086965139e-01 -2.81158064050698e-02 + 6.34723160292757e-01 -3.34644442304210e-02 + 6.14445718488537e-01 -3.88868243087427e-02 + 5.94530941842471e-01 -4.43132611654412e-02 + 5.74970022740498e-01 -4.96643666397068e-02 + 5.55752003197788e-01 -5.48579023094515e-02 + 5.36876404308979e-01 -5.98525300304434e-02 + 5.18342824936104e-01 -6.46102084095419e-02 + 5.00150385563215e-01 -6.90906898681219e-02 + 4.82288445935981e-01 -7.32102556940118e-02 + 4.64755299574327e-01 -7.69174493160327e-02 + 4.47560043916586e-01 -8.02013672216798e-02 + 4.30710873709413e-01 -8.30502485164628e-02 + 4.14220450790071e-01 -8.54779875163164e-02 + 3.98099898802043e-01 -8.75003551684143e-02 + 3.82361417152145e-01 -8.91539118487549e-02 + 3.67012812949938e-01 -9.04577352136744e-02 + 3.52059448954428e-01 -9.14125244130858e-02 + 3.37508402620579e-01 -9.20698975569944e-02 + 3.23362484181096e-01 -9.24370482908363e-02 + 3.09624084367261e-01 -9.24697923842373e-02 + 2.96293755468272e-01 -9.23622670606858e-02 + 2.83370903129312e-01 -9.19897555434183e-02 + 2.70853535031793e-01 -9.14126750133591e-02 + 2.58737816915769e-01 -9.06671135148306e-02 + 2.47019052739988e-01 -8.97729432930204e-02 + 2.35693903527246e-01 -8.87274220986881e-02 + 2.24755521592725e-01 -8.75580418688866e-02 + 2.14196793622914e-01 -8.62833003191494e-02 + 2.04011333955405e-01 -8.49112533908159e-02 + 1.94192837298268e-01 -8.34452969779509e-02 + 1.84734159226918e-01 -8.18934025781127e-02 + 1.75626054456646e-01 -8.02758698487786e-02 + 1.66858918288587e-01 -7.86084496737449e-02 + 1.58426290110471e-01 -7.68895418961286e-02 + 1.50319200159812e-01 -7.51270351688627e-02 + 1.42526128875168e-01 -7.33413608576655e-02 + 1.35038180671969e-01 -7.15388978061903e-02 + 1.27849040687011e-01 -6.97156113201790e-02 + 1.20948527760174e-01 -6.78811403433585e-02 + 1.14327485726520e-01 -6.60418021962953e-02 + 1.07979453337408e-01 -6.41934386967372e-02 + 1.01894552002694e-01 -6.23456843683916e-02 + 9.60638804275308e-02 -6.05029662954196e-02 + 9.04788853236919e-02 -5.86685553793366e-02 + 8.51312964604805e-02 -5.68450270554785e-02 + 8.00139177362996e-02 -5.50331392699712e-02 + 7.51182333677251e-02 -5.32366201153170e-02 + 7.04360799396603e-02 -5.14581517700259e-02 + 6.59596102739365e-02 -4.96999221177560e-02 + 6.16809021391528e-02 -4.79652498980933e-02 + 5.75939553533738e-02 -4.62523224159701e-02 + 5.36927994773425e-02 -4.45595092963015e-02 + 4.99721163171827e-02 -4.28844263337983e-02 + 4.64252087767243e-02 -4.12292511300908e-02 + 4.30449330853367e-02 -3.95960611215206e-02 + 3.98247762561857e-02 -3.79859513726024e-02 + 3.67604251934450e-02 -3.63964310185422e-02 + 3.38455506187726e-02 -3.48295489141875e-02 + 3.10746565338045e-02 -3.32852832714888e-02 + 2.84426522729682e-02 -3.17631309877224e-02 + 2.59479462715313e-02 -3.02581097804500e-02 + 2.35806727258491e-02 -2.87783720898960e-02 + 2.13379586193463e-02 -2.73212926691211e-02 + 1.92197591809738e-02 -2.58794609330894e-02 + 1.72250219390216e-02 -2.44500206527471e-02 + 1.53362461148815e-02 -2.30507319172916e-02 + 1.35546465191771e-02 -2.16754212282863e-02 + 1.18891791905238e-02 -2.03070715945921e-02 + 1.03502939408908e-02 -1.89320620321851e-02 + 8.91130605466057e-03 -1.75783863139938e-02 + 7.53813877740335e-03 -1.62767162061906e-02 + 6.25261631407701e-03 -1.50030050459626e-02 + 5.11279434609420e-03 -1.36984926934841e-02 + 4.13351214596566e-03 -1.23586032117553e-02 + 3.29319124926354e-03 -1.10101245850993e-02 + 2.61550555648146e-03 -9.65116862965519e-03 + 2.09002183330755e-03 -8.29851601144447e-03 + 1.70078951843963e-03 -6.96281267583815e-03 + 1.36265166348109e-03 -5.67431295008859e-03 + 1.05977091812036e-03 -4.43783511622449e-03 + 7.76752295586629e-04 -3.25343117981278e-03 + 5.09088367705372e-04 -2.11971200576328e-03 + 2.51457101720442e-04 -1.03563109330527e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 2.41152507493868e-04 1.03804336890630e-03 + 4.71263736944646e-04 2.12757058293535e-03 + 6.99943594043346e-04 3.26857529570577e-03 + 9.32193128484313e-04 4.46218636779492e-03 + 1.17467942772895e-03 5.70972413170852e-03 + 1.43994542427533e-03 7.01025996015618e-03 + 1.74875960694718e-03 8.36460325834191e-03 + 2.11951590798279e-03 9.76507908206140e-03 + 2.62509733655399e-03 1.11886220147912e-02 + 3.25196895044496e-03 1.26421758114203e-02 + 3.97465034233274e-03 1.41283885203257e-02 + 4.82125008770289e-03 1.56307580709229e-02 + 5.78681385913657e-03 1.71508606271287e-02 + 6.84636895293181e-03 1.87061547939764e-02 + 7.95385823673404e-03 2.03287827858700e-02 + 9.16427485256001e-03 2.19844474193354e-02 + 1.04866325918796e-02 2.36680181220581e-02 + 1.19246001481561e-02 2.53798825843331e-02 + 1.34664539799032e-02 2.71314307830888e-02 + 1.51151426347581e-02 2.89238440065633e-02 + 1.68814985227616e-02 3.07508671802106e-02 + 1.87764354986689e-02 3.26068686407149e-02 + 2.07945755995919e-02 3.45003481634749e-02 + 2.29433295368296e-02 3.64281722102988e-02 + 2.52292451944009e-02 3.83886558140635e-02 + 2.76584039930501e-02 4.03804022182471e-02 + 3.02279458793868e-02 4.24121923692621e-02 + 3.29474897596453e-02 4.44785420770728e-02 + 3.58241314284824e-02 4.65778377875867e-02 + 3.88615699902796e-02 4.87123968511837e-02 + 4.20676717891717e-02 5.08781772356130e-02 + 4.54487329341993e-02 5.30746242381647e-02 + 4.90117485491485e-02 5.53002611029898e-02 + 5.27645862937288e-02 5.75519273923613e-02 + 5.67093606250863e-02 5.98355421876917e-02 + 6.08542808522407e-02 6.21481464820482e-02 + 6.52077360665248e-02 6.44866424610369e-02 + 6.97777749333136e-02 6.68483047653571e-02 + 7.45725584053168e-02 6.92290421276930e-02 + 7.96003025603602e-02 7.16257099944468e-02 + 8.48692521878683e-02 7.40353559775043e-02 + 9.03877052429679e-02 7.64548116524863e-02 + 9.61655134799091e-02 7.88762011581258e-02 + 1.02207263913494e-01 8.13045515555609e-02 + 1.08520558648419e-01 8.37388705427050e-02 + 1.15116028351370e-01 8.61695316478935e-02 + 1.22007229910574e-01 8.85790359587486e-02 + 1.29199708937344e-01 9.09693898928607e-02 + 1.36707239581636e-01 9.33170443302486e-02 + 1.44532832289765e-01 9.56345442285116e-02 + 1.52680165789989e-01 9.79325041341286e-02 + 1.61161441053045e-01 1.00189166048500e-01 + 1.70007457308521e-01 1.02310587742487e-01 + 1.79190054721449e-01 1.04432905562834e-01 + 1.88737272862309e-01 1.06459673932072e-01 + 1.98658849288637e-01 1.08368456710055e-01 + 2.08959521814780e-01 1.10157093980485e-01 + 2.19641591893373e-01 1.11840420663148e-01 + 2.30708491271435e-01 1.13421765446694e-01 + 2.42179055605765e-01 1.14797531689102e-01 + 2.54054847054779e-01 1.15956061862792e-01 + 2.66335501246618e-01 1.16912330796287e-01 + 2.79022641080626e-01 1.17663923550265e-01 + 2.92117168343597e-01 1.18248653891892e-01 + 3.05622216334775e-01 1.18493312816741e-01 + 3.19537924072257e-01 1.18497489736340e-01 + 3.33860492946775e-01 1.18251006166221e-01 + 3.48588151721234e-01 1.17646648524711e-01 + 3.63721224567419e-01 1.16827356073084e-01 + 3.79254655371093e-01 1.15711829738200e-01 + 3.95185482070027e-01 1.14309376763544e-01 + 4.11511052759619e-01 1.12629630765949e-01 + 4.28236810162283e-01 1.10757309311154e-01 + 4.45341106820901e-01 1.08539918592541e-01 + 4.62837300814829e-01 1.06125215640029e-01 + 4.80703334536459e-01 1.03396855089698e-01 + 4.98947032463024e-01 1.00451779534968e-01 + 5.17571379732328e-01 9.73486814910668e-02 + 5.36548400903477e-01 9.39688774564715e-02 + 5.55881355199664e-01 9.03838060138069e-02 + 5.75562372757084e-01 8.66043381028199e-02 + 5.95577970398358e-01 8.26174413045570e-02 + 6.15918406419707e-01 7.84356567370351e-02 + 6.36571346336407e-01 7.40624490885372e-02 + 6.57538252289466e-01 6.95719746617823e-02 + 6.78805330161313e-01 6.49684751967319e-02 + 7.00356747433778e-01 6.02530296562983e-02 + 7.22190564422178e-01 5.54942107563349e-02 + 7.44281974327413e-01 5.06608414104289e-02 + 7.66628713730443e-01 4.58296525153133e-02 + 7.89212731568401e-01 4.10099912210156e-02 + 8.12018185533069e-01 3.62261968408074e-02 + 8.35028977005283e-01 3.15060199889171e-02 + 8.58219151715056e-01 2.68336443816806e-02 + 8.81569312265979e-01 2.22287377219739e-02 + 9.05060689011999e-01 1.77175246606552e-02 + 9.28671627335113e-01 1.33156680593407e-02 + 9.52381403156938e-01 9.07315533594737e-03 + 9.76165312677752e-01 4.93304948753480e-03 + 1.00000000000000e+00 9.38336381193382e-04 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF49_Coords.txt b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF49_Coords.txt new file mode 100644 index 0000000..179c7b8 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AF49_Coords.txt @@ -0,0 +1,208 @@ + 201 NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included. +! ......... x-y coordinates are next if NumCoords > 0 ............. +! x-y coordinate of airfoil reference +! x/c y/c + 0.250000 0 +! coordinates of airfoil shape +! interpolation to 200 points +! x/c y/c + 1.00000000000000e+00 -3.71663624309444e-04 + 9.76017568294686e-01 2.09740027382490e-03 + 9.52031329328083e-01 3.99388322551278e-03 + 9.28070638676756e-01 5.29329818508414e-03 + 9.04146732423838e-01 6.03552788264997e-03 + 8.80309441682373e-01 5.94483425110475e-03 + 8.56610087823544e-01 5.07205375524694e-03 + 8.33094779308812e-01 3.48518207679764e-03 + 8.09801500212952e-01 1.24198889436214e-03 + 7.86768732939441e-01 -1.61714401887065e-03 + 7.64029448545206e-01 -5.05415831433425e-03 + 7.41600306402727e-01 -8.95103649024531e-03 + 7.19505313316081e-01 -1.32664966742413e-02 + 6.97760620781954e-01 -1.79392345429141e-02 + 6.76379522029838e-01 -2.29138874387622e-02 + 6.55367086965139e-01 -2.81158064050698e-02 + 6.34723160292757e-01 -3.34644442304210e-02 + 6.14445718488537e-01 -3.88868243087427e-02 + 5.94530941842471e-01 -4.43132611654412e-02 + 5.74970022740498e-01 -4.96643666397068e-02 + 5.55752003197788e-01 -5.48579023094515e-02 + 5.36876404308979e-01 -5.98525300304434e-02 + 5.18342824936104e-01 -6.46102084095419e-02 + 5.00150385563215e-01 -6.90906898681219e-02 + 4.82288445935981e-01 -7.32102556940118e-02 + 4.64755299574327e-01 -7.69174493160327e-02 + 4.47560043916586e-01 -8.02013672216798e-02 + 4.30710873709413e-01 -8.30502485164628e-02 + 4.14220450790071e-01 -8.54779875163164e-02 + 3.98099898802043e-01 -8.75003551684143e-02 + 3.82361417152145e-01 -8.91539118487549e-02 + 3.67012812949938e-01 -9.04577352136744e-02 + 3.52059448954428e-01 -9.14125244130858e-02 + 3.37508402620579e-01 -9.20698975569944e-02 + 3.23362484181096e-01 -9.24370482908363e-02 + 3.09624084367261e-01 -9.24697923842373e-02 + 2.96293755468272e-01 -9.23622670606858e-02 + 2.83370903129312e-01 -9.19897555434183e-02 + 2.70853535031793e-01 -9.14126750133591e-02 + 2.58737816915769e-01 -9.06671135148306e-02 + 2.47019052739988e-01 -8.97729432930204e-02 + 2.35693903527246e-01 -8.87274220986881e-02 + 2.24755521592725e-01 -8.75580418688866e-02 + 2.14196793622914e-01 -8.62833003191494e-02 + 2.04011333955405e-01 -8.49112533908159e-02 + 1.94192837298268e-01 -8.34452969779509e-02 + 1.84734159226918e-01 -8.18934025781127e-02 + 1.75626054456646e-01 -8.02758698487786e-02 + 1.66858918288587e-01 -7.86084496737449e-02 + 1.58426290110471e-01 -7.68895418961286e-02 + 1.50319200159812e-01 -7.51270351688627e-02 + 1.42526128875168e-01 -7.33413608576655e-02 + 1.35038180671969e-01 -7.15388978061903e-02 + 1.27849040687011e-01 -6.97156113201790e-02 + 1.20948527760174e-01 -6.78811403433585e-02 + 1.14327485726520e-01 -6.60418021962953e-02 + 1.07979453337408e-01 -6.41934386967372e-02 + 1.01894552002694e-01 -6.23456843683916e-02 + 9.60638804275308e-02 -6.05029662954196e-02 + 9.04788853236919e-02 -5.86685553793366e-02 + 8.51312964604805e-02 -5.68450270554785e-02 + 8.00139177362996e-02 -5.50331392699712e-02 + 7.51182333677251e-02 -5.32366201153170e-02 + 7.04360799396603e-02 -5.14581517700259e-02 + 6.59596102739365e-02 -4.96999221177560e-02 + 6.16809021391528e-02 -4.79652498980933e-02 + 5.75939553533738e-02 -4.62523224159701e-02 + 5.36927994773425e-02 -4.45595092963015e-02 + 4.99721163171827e-02 -4.28844263337983e-02 + 4.64252087767243e-02 -4.12292511300908e-02 + 4.30449330853367e-02 -3.95960611215206e-02 + 3.98247762561857e-02 -3.79859513726024e-02 + 3.67604251934450e-02 -3.63964310185422e-02 + 3.38455506187726e-02 -3.48295489141875e-02 + 3.10746565338045e-02 -3.32852832714888e-02 + 2.84426522729682e-02 -3.17631309877224e-02 + 2.59479462715313e-02 -3.02581097804500e-02 + 2.35806727258491e-02 -2.87783720898960e-02 + 2.13379586193463e-02 -2.73212926691211e-02 + 1.92197591809738e-02 -2.58794609330894e-02 + 1.72250219390216e-02 -2.44500206527471e-02 + 1.53362461148815e-02 -2.30507319172916e-02 + 1.35546465191771e-02 -2.16754212282863e-02 + 1.18891791905238e-02 -2.03070715945921e-02 + 1.03502939408908e-02 -1.89320620321851e-02 + 8.91130605466057e-03 -1.75783863139938e-02 + 7.53813877740335e-03 -1.62767162061906e-02 + 6.25261631407701e-03 -1.50030050459626e-02 + 5.11279434609420e-03 -1.36984926934841e-02 + 4.13351214596566e-03 -1.23586032117553e-02 + 3.29319124926354e-03 -1.10101245850993e-02 + 2.61550555648146e-03 -9.65116862965519e-03 + 2.09002183330755e-03 -8.29851601144447e-03 + 1.70078951843963e-03 -6.96281267583815e-03 + 1.36265166348109e-03 -5.67431295008859e-03 + 1.05977091812036e-03 -4.43783511622449e-03 + 7.76752295586629e-04 -3.25343117981278e-03 + 5.09088367705372e-04 -2.11971200576328e-03 + 2.51457101720442e-04 -1.03563109330527e-03 + 0.00000000000000e+00 0.00000000000000e+00 + 2.41152507493868e-04 1.03804336890630e-03 + 4.71263736944646e-04 2.12757058293535e-03 + 6.99943594043346e-04 3.26857529570577e-03 + 9.32193128484313e-04 4.46218636779492e-03 + 1.17467942772895e-03 5.70972413170852e-03 + 1.43994542427533e-03 7.01025996015618e-03 + 1.74875960694718e-03 8.36460325834191e-03 + 2.11951590798279e-03 9.76507908206140e-03 + 2.62509733655399e-03 1.11886220147912e-02 + 3.25196895044496e-03 1.26421758114203e-02 + 3.97465034233274e-03 1.41283885203257e-02 + 4.82125008770289e-03 1.56307580709229e-02 + 5.78681385913657e-03 1.71508606271287e-02 + 6.84636895293181e-03 1.87061547939764e-02 + 7.95385823673404e-03 2.03287827858700e-02 + 9.16427485256001e-03 2.19844474193354e-02 + 1.04866325918796e-02 2.36680181220581e-02 + 1.19246001481561e-02 2.53798825843331e-02 + 1.34664539799032e-02 2.71314307830888e-02 + 1.51151426347581e-02 2.89238440065633e-02 + 1.68814985227616e-02 3.07508671802106e-02 + 1.87764354986689e-02 3.26068686407149e-02 + 2.07945755995919e-02 3.45003481634749e-02 + 2.29433295368296e-02 3.64281722102988e-02 + 2.52292451944009e-02 3.83886558140635e-02 + 2.76584039930501e-02 4.03804022182471e-02 + 3.02279458793868e-02 4.24121923692621e-02 + 3.29474897596453e-02 4.44785420770728e-02 + 3.58241314284824e-02 4.65778377875867e-02 + 3.88615699902796e-02 4.87123968511837e-02 + 4.20676717891717e-02 5.08781772356130e-02 + 4.54487329341993e-02 5.30746242381647e-02 + 4.90117485491485e-02 5.53002611029898e-02 + 5.27645862937288e-02 5.75519273923613e-02 + 5.67093606250863e-02 5.98355421876917e-02 + 6.08542808522407e-02 6.21481464820482e-02 + 6.52077360665248e-02 6.44866424610369e-02 + 6.97777749333136e-02 6.68483047653571e-02 + 7.45725584053168e-02 6.92290421276930e-02 + 7.96003025603602e-02 7.16257099944468e-02 + 8.48692521878683e-02 7.40353559775043e-02 + 9.03877052429679e-02 7.64548116524863e-02 + 9.61655134799091e-02 7.88762011581258e-02 + 1.02207263913494e-01 8.13045515555609e-02 + 1.08520558648419e-01 8.37388705427050e-02 + 1.15116028351370e-01 8.61695316478935e-02 + 1.22007229910574e-01 8.85790359587486e-02 + 1.29199708937344e-01 9.09693898928607e-02 + 1.36707239581636e-01 9.33170443302486e-02 + 1.44532832289765e-01 9.56345442285116e-02 + 1.52680165789989e-01 9.79325041341286e-02 + 1.61161441053045e-01 1.00189166048500e-01 + 1.70007457308521e-01 1.02310587742487e-01 + 1.79190054721449e-01 1.04432905562834e-01 + 1.88737272862309e-01 1.06459673932072e-01 + 1.98658849288637e-01 1.08368456710055e-01 + 2.08959521814780e-01 1.10157093980485e-01 + 2.19641591893373e-01 1.11840420663148e-01 + 2.30708491271435e-01 1.13421765446694e-01 + 2.42179055605765e-01 1.14797531689102e-01 + 2.54054847054779e-01 1.15956061862792e-01 + 2.66335501246618e-01 1.16912330796287e-01 + 2.79022641080626e-01 1.17663923550265e-01 + 2.92117168343597e-01 1.18248653891892e-01 + 3.05622216334775e-01 1.18493312816741e-01 + 3.19537924072257e-01 1.18497489736340e-01 + 3.33860492946775e-01 1.18251006166221e-01 + 3.48588151721234e-01 1.17646648524711e-01 + 3.63721224567419e-01 1.16827356073084e-01 + 3.79254655371093e-01 1.15711829738200e-01 + 3.95185482070027e-01 1.14309376763544e-01 + 4.11511052759619e-01 1.12629630765949e-01 + 4.28236810162283e-01 1.10757309311154e-01 + 4.45341106820901e-01 1.08539918592541e-01 + 4.62837300814829e-01 1.06125215640029e-01 + 4.80703334536459e-01 1.03396855089698e-01 + 4.98947032463024e-01 1.00451779534968e-01 + 5.17571379732328e-01 9.73486814910668e-02 + 5.36548400903477e-01 9.39688774564715e-02 + 5.55881355199664e-01 9.03838060138069e-02 + 5.75562372757084e-01 8.66043381028199e-02 + 5.95577970398358e-01 8.26174413045570e-02 + 6.15918406419707e-01 7.84356567370351e-02 + 6.36571346336407e-01 7.40624490885372e-02 + 6.57538252289466e-01 6.95719746617823e-02 + 6.78805330161313e-01 6.49684751967319e-02 + 7.00356747433778e-01 6.02530296562983e-02 + 7.22190564422178e-01 5.54942107563349e-02 + 7.44281974327413e-01 5.06608414104289e-02 + 7.66628713730443e-01 4.58296525153133e-02 + 7.89212731568401e-01 4.10099912210156e-02 + 8.12018185533069e-01 3.62261968408074e-02 + 8.35028977005283e-01 3.15060199889171e-02 + 8.58219151715056e-01 2.68336443816806e-02 + 8.81569312265979e-01 2.22287377219739e-02 + 9.05060689011999e-01 1.77175246606552e-02 + 9.28671627335113e-01 1.33156680593407e-02 + 9.52381403156938e-01 9.07315533594737e-03 + 9.76165312677752e-01 4.93304948753480e-03 + 1.00000000000000e+00 9.38336381193382e-04 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_00.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_00.dat new file mode 100644 index 0000000..4cd74eb --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_00.dat @@ -0,0 +1,220 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF00_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF00_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +False InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 1.00000000000000e-04 3.50000000000000e-01 -1.00000000000000e-04 +-1.77000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 +-1.74000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-1.71000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-1.68000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-1.65000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-1.62000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-1.59000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-1.56000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-1.53000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-1.50000000000000e+02 1.00000000000100e-04 3.50000000000000e-01 -9.99999999999890e-05 +-1.47000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-1.44000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-1.41000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-1.38000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-1.35000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-1.32000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-1.29000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-1.26000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-1.23000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-1.20000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-1.17000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-1.14000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-1.11000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-1.08000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-1.05000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-1.02000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-9.90000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-9.60000000000000e+01 9.99999999999959e-05 3.50000000000000e-01 -9.99999999999890e-05 +-9.30000000000000e+01 1.00000000000003e-04 3.50000000000000e-01 -9.99999999999890e-05 +-9.00000000000000e+01 1.00000000000000e-04 3.50000000000000e-01 -9.99999999999890e-05 +-8.70000000000000e+01 1.00000000000003e-04 3.50000000000000e-01 -9.99999999999890e-05 +-8.40000000000000e+01 1.00000000000010e-04 3.50000000000000e-01 -9.99999999999890e-05 +-8.10000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-7.80000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-7.50000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-7.20000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-6.90000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-6.60000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-6.30000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-6.00000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 +-5.70000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 +-5.40000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 +-5.10000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 +-4.80000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 +-4.50000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 +-4.20000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 +-3.90000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 +-3.60000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 +-3.30000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 +-3.00000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 +-2.93939393939394e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 +-2.87878787878788e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 +-2.81818181818182e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 +-2.75757575757576e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 +-2.69696969696970e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 +-2.63636363636364e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999994e-05 +-2.57575757575758e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999994e-05 +-2.51515151515151e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999994e-05 +-2.45454545454545e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999994e-05 +-2.39393939393939e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999994e-05 +-2.33333333333333e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999994e-05 +-2.27272727272727e+01 1.00000000000100e-04 3.50000000000000e-01 -9.99999999999994e-05 +-2.21212121212121e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000000e-04 +-2.15151515151515e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999998e-05 +-2.09090909090909e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000000e-04 +-2.03030303030303e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000000e-04 +-1.96969696969697e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999994e-05 +-1.90909090909091e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999994e-05 +-1.84848484848485e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999994e-05 +-1.78787878787879e+01 9.99999999998780e-05 3.50000000000000e-01 -9.99999999999994e-05 +-1.72727272727273e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999994e-05 +-1.66666666666667e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999994e-05 +-1.60606060606061e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999994e-05 +-1.54545454545455e+01 1.00000000000100e-04 3.50000000000000e-01 -9.99999999999994e-05 +-1.48484848484848e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999994e-05 +-1.42424242424242e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999994e-05 +-1.36363636363636e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999994e-05 +-1.30303030303030e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999994e-05 +-1.24242424242424e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999994e-05 +-1.18181818181818e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999994e-05 +-1.12121212121212e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999994e-05 +-1.06060606060606e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999994e-05 +-1.00000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999994e-05 +-9.39393939393939e+00 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999994e-05 +-8.78787878787879e+00 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999994e-05 +-8.18181818181818e+00 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 +-7.57575757575758e+00 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 +-6.96969696969697e+00 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 +-6.36363636363636e+00 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 +-5.75757575757576e+00 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 +-5.15151515151515e+00 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 +-4.54545454545454e+00 1.00000000000003e-04 3.50000000000000e-01 -1.00000000000003e-04 +-3.93939393939394e+00 1.00000000000003e-04 3.50000000000000e-01 -1.00000000000003e-04 +-3.33333333333333e+00 9.99999999999994e-05 3.50000000000000e-01 -1.00000000000003e-04 +-2.72727272727273e+00 1.00000000000003e-04 3.50000000000000e-01 -1.00000000000003e-04 +-2.12121212121212e+00 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000017e-04 +-1.51515151515152e+00 9.99999999999612e-05 3.50000000000000e-01 -1.00000000000010e-04 +-9.09090909090912e-01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 +-3.03030303030302e-01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 3.03030303030302e-01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 9.09090909090912e-01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 1.51515151515152e+00 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 2.12121212121212e+00 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 2.72727272727273e+00 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 3.33333333333333e+00 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 3.93939393939394e+00 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 4.54545454545455e+00 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 5.15151515151515e+00 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 5.75757575757576e+00 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 6.36363636363637e+00 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 6.96969696969697e+00 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 7.57575757575757e+00 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 8.18181818181818e+00 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 8.78787878787879e+00 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 9.39393939393939e+00 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.00000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.06060606060606e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.12121212121212e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 1.18181818181818e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 1.24242424242424e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 1.30303030303030e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 1.36363636363636e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 1.42424242424242e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 1.48484848484848e+01 9.99999999997669e-05 3.50000000000000e-01 -1.00000000000003e-04 + 1.54545454545455e+01 1.00000000000211e-04 3.50000000000000e-01 -1.00000000000003e-04 + 1.60606060606061e+01 9.99999999997669e-05 3.50000000000000e-01 -1.00000000000003e-04 + 1.66666666666667e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 1.72727272727273e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 1.78787878787879e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 1.84848484848485e+01 9.99999999997669e-05 3.50000000000000e-01 -1.00000000000003e-04 + 1.90909090909091e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 1.96969696969697e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 2.03030303030303e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 2.09090909090909e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 2.15151515151515e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 2.21212121212121e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 2.27272727272727e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 2.33333333333333e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 2.39393939393939e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 2.45454545454545e+01 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 2.51515151515151e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 2.57575757575758e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 2.63636363636364e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 2.69696969696970e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 2.75757575757576e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 2.81818181818182e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 2.87878787878788e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 2.93939393939394e+01 1.00000000000211e-04 3.50000000000000e-01 -9.99999999999890e-05 + 3.00000000000000e+01 9.99999999998780e-05 3.50000000000000e-01 -9.99999999999890e-05 + 3.30000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 3.60000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 3.90000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 4.20000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 4.50000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 4.80000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 5.10000000000000e+01 1.00000000000044e-04 3.50000000000000e-01 -9.99999999999890e-05 + 5.40000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 5.70000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 6.00000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 6.30000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 6.60000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 6.90000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 7.20000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 7.50000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 7.80000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 8.10000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 8.40000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 8.70000000000000e+01 1.00000000000003e-04 3.50000000000000e-01 -9.99999999999890e-05 + 9.00000000000000e+01 1.00000000000000e-04 3.50000000000000e-01 -9.99999999999890e-05 + 9.30000000000000e+01 1.00000000000003e-04 3.50000000000000e-01 -9.99999999999890e-05 + 9.60000000000000e+01 1.00000000000003e-04 3.50000000000000e-01 -9.99999999999890e-05 + 9.90000000000000e+01 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.02000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.05000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.08000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.11000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.14000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.17000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.20000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.23000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.26000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.29000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.32000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.35000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.38000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.41000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.44000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.47000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.50000000000000e+02 1.00000000000100e-04 3.50000000000000e-01 -9.99999999999890e-05 + 1.53000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.56000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.59000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.62000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.65000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.68000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.71000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.74000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -9.99999999999890e-05 + 1.77000000000000e+02 9.99999999999890e-05 3.50000000000000e-01 -1.00000000000003e-04 + 1.80000000000000e+02 1.00000000000000e-04 3.50000000000000e-01 -1.00000000000000e-04 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_01.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_01.dat new file mode 100644 index 0000000..955790e --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_01.dat @@ -0,0 +1,220 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF01_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF01_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +False InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 9.99956900108589e-05 3.49991742771221e-01 -9.99956900108589e-05 +-1.77000000000000e+02 1.08182339015592e-04 3.49991665503880e-01 -9.78096826804698e-05 +-1.74000000000000e+02 1.16535527858563e-04 3.49991459408608e-01 -9.55059016620131e-05 +-1.71000000000000e+02 1.24888681656388e-04 3.49991126498129e-01 -9.32021652702975e-05 +-1.68000000000000e+02 1.33206210387149e-04 3.49991544878852e-01 -9.33805516582925e-05 +-1.65000000000000e+02 1.41506664871671e-04 3.49991518311294e-01 -9.47999407836103e-05 +-1.62000000000000e+02 1.49806448963619e-04 3.49990428058219e-01 -9.62193738493489e-05 +-1.59000000000000e+02 1.54145506945980e-04 3.49990292862054e-01 -9.79004935755673e-05 +-1.56000000000000e+02 1.50561984681885e-04 3.49992524472016e-01 -9.99997591197288e-05 +-1.53000000000000e+02 1.46979077062070e-04 3.49994451026034e-01 -9.99997799269042e-05 +-1.50000000000000e+02 1.43396139430180e-04 3.49996087686587e-01 -9.99997965916849e-05 +-1.47000000000000e+02 1.34341858032586e-04 3.50000000001663e-01 -9.99998171934552e-05 +-1.44000000000000e+02 1.32328777054283e-04 3.50001218636936e-01 -9.99998359821549e-05 +-1.41000000000000e+02 1.29801813394725e-04 3.50003516804110e-01 -9.99998541389713e-05 +-1.38000000000000e+02 1.27897661903010e-04 3.50006069122226e-01 -9.99998614056100e-05 +-1.35000000000000e+02 1.26256615060671e-04 3.50008734554717e-01 -9.99998636965760e-05 +-1.32000000000000e+02 1.24524433766246e-04 3.50011387393220e-01 -9.99998659873130e-05 +-1.29000000000000e+02 1.22785006912533e-04 3.50013988000102e-01 -9.99998668924362e-05 +-1.26000000000000e+02 1.21066124279409e-04 3.50016444212797e-01 -9.99998636398783e-05 +-1.23000000000000e+02 1.19380793315284e-04 3.50019012767813e-01 -9.99998606817792e-05 +-1.20000000000000e+02 1.17773160459342e-04 3.50021833616524e-01 -9.99998577761799e-05 +-1.17000000000000e+02 1.15932235401184e-04 3.50023739382584e-01 -9.99998530689938e-05 +-1.14000000000000e+02 1.14141931675554e-04 3.50025883971005e-01 -9.99998483887168e-05 +-1.11000000000000e+02 1.12405184766486e-04 3.50028333976257e-01 -9.99998436215163e-05 +-1.08000000000000e+02 1.10622734526781e-04 3.50030034211198e-01 -9.99998395294632e-05 +-1.05000000000000e+02 1.08804706408059e-04 3.50031472689910e-01 -9.99998358582610e-05 +-1.02000000000000e+02 1.06984714860922e-04 3.50033261127597e-01 -9.99998320011797e-05 +-9.90000000000000e+01 1.05221576403462e-04 3.50034821556323e-01 -9.99998291702636e-05 +-9.60000000000000e+01 1.03568074910786e-04 3.50035379459493e-01 -9.99998288358367e-05 +-9.30000000000000e+01 1.01830901693329e-04 3.50036338639419e-01 -9.99998283057468e-05 +-9.00000000000000e+01 9.99953285190307e-05 3.50037703820502e-01 -9.99998277535635e-05 +-8.70000000000000e+01 9.81600505267923e-05 3.50036338494801e-01 -9.99998348324704e-05 +-8.40000000000000e+01 9.64231725846263e-05 3.50035379414690e-01 -9.99998418645953e-05 +-8.10000000000000e+01 9.47699663932126e-05 3.50034821611351e-01 -9.99998487177869e-05 +-7.80000000000000e+01 9.30069403345382e-05 3.50033261328918e-01 -9.99998575355251e-05 +-7.50000000000000e+01 9.11869487449117e-05 3.50031472891209e-01 -9.99998671196295e-05 +-7.20000000000000e+01 8.93689206238474e-05 3.50030034412492e-01 -9.99998764899951e-05 +-6.90000000000000e+01 8.75874686457924e-05 3.50028334158516e-01 -9.99998859839285e-05 +-6.60000000000000e+01 8.58537366608889e-05 3.50025883822593e-01 -9.99998957124971e-05 +-6.30000000000000e+01 8.40664479301971e-05 3.50023738903567e-01 -9.99999052528552e-05 +-6.00000000000000e+01 8.22285512234924e-05 3.50021832753220e-01 -9.99999146030946e-05 +-5.70000000000000e+01 8.06179140909816e-05 3.50019012193433e-01 -9.99999227712829e-05 +-5.40000000000000e+01 7.89295516550707e-05 3.50016444034876e-01 -9.99999307780448e-05 +-5.10000000000000e+01 7.72076375267390e-05 3.50013988218614e-01 -9.99999386040078e-05 +-4.80000000000000e+01 7.54671998915817e-05 3.50011387761717e-01 -9.99999448587511e-05 +-4.50000000000000e+01 7.37350185517904e-05 3.50008734923150e-01 -9.99999503551095e-05 +-4.20000000000000e+01 7.20939717375746e-05 3.50006069490698e-01 -9.99999557569672e-05 +-3.90000000000000e+01 7.01898816372892e-05 3.50003517147700e-01 -9.99999583974210e-05 +-3.60000000000000e+01 6.76629179251070e-05 3.50001218980470e-01 -9.99999544117076e-05 +-3.30000000000000e+01 6.56498370051467e-05 3.50000000001665e-01 -9.86077822626530e-05 +-3.00000000000000e+01 6.44849502422391e-05 3.49998415413580e-01 -9.71683189680845e-05 +-2.93939393939394e+01 6.51839732130535e-05 3.49998985351149e-01 -9.73246130371794e-05 +-2.87878787878788e+01 6.58829948484759e-05 3.49999555284785e-01 -9.74809071062743e-05 +-2.81818181818182e+01 6.65820152560889e-05 3.49999999927852e-01 -9.76372011753639e-05 +-2.75757575757576e+01 6.60857693020166e-05 3.49999988346917e-01 -9.78194477832747e-05 +-2.69696969696970e+01 6.50772656223039e-05 3.49999548561840e-01 -9.80128169056106e-05 +-2.63636363636364e+01 6.40687605264288e-05 3.49999108776326e-01 -9.82061860279413e-05 +-2.57575757575758e+01 6.30602539191116e-05 3.49998668990405e-01 -9.83995551502755e-05 +-2.51515151515151e+01 6.20517456957764e-05 3.49998229204108e-01 -9.85929242726113e-05 +-2.45454545454545e+01 6.10432357428664e-05 3.49997789417461e-01 -9.87862933949472e-05 +-2.39393939393939e+01 6.00214628639906e-05 3.49997343572642e-01 -9.89836876733891e-05 +-2.33333333333333e+01 5.88803379164005e-05 3.49996843206809e-01 -9.92173083749995e-05 +-2.27272727272727e+01 5.77392100731544e-05 3.49996342840545e-01 -9.94509290766113e-05 +-2.21212121212121e+01 5.65980790649401e-05 3.49995842473869e-01 -9.96845497782227e-05 +-2.15151515151515e+01 5.54569778790093e-05 3.49995342106798e-01 -9.99181716661160e-05 +-2.09090909090909e+01 5.43158951567813e-05 3.49994841739349e-01 -1.00064103988459e-04 +-2.03030303030303e+01 5.31748124343173e-05 3.49994341371538e-01 -1.00321466072157e-04 +-1.96969696969697e+01 5.28315833228654e-05 3.49993939414196e-01 -1.00646458750424e-04 +-1.90909090909091e+01 5.44571333181976e-05 3.49993945161130e-01 -1.00739077429987e-04 +-1.84848484848485e+01 5.37430449396026e-05 3.49993711681189e-01 -1.00836547210782e-04 +-1.78787878787879e+01 5.49467601650977e-05 3.49993679840998e-01 -1.00898098883487e-04 +-1.72727272727273e+01 5.49774107655859e-05 3.49993538357449e-01 -1.00938936322532e-04 +-1.66666666666667e+01 5.49568621480284e-05 3.49993402982746e-01 -1.00971369555100e-04 +-1.60606060606061e+01 5.62702041834034e-05 3.49993391912652e-01 -1.00995450592270e-04 +-1.54545454545455e+01 5.66346136025436e-05 3.49993267963641e-01 -1.01044110474961e-04 +-1.48484848484848e+01 5.73916711474887e-05 3.49993182260445e-01 -1.01095432442556e-04 +-1.42424242424242e+01 5.89292261728158e-05 3.49993161717141e-01 -1.01133346940237e-04 +-1.36363636363636e+01 6.03210316231645e-05 3.49993113254555e-01 -1.01205974427983e-04 +-1.30303030303030e+01 6.12172724483023e-05 3.49993025617059e-01 -1.01255060204029e-04 +-1.24242424242424e+01 6.35330697197622e-05 3.49993041337729e-01 -1.01336316888242e-04 +-1.18181818181818e+01 6.49778392861067e-05 3.49992987874692e-01 -1.01390809142652e-04 +-1.12121212121212e+01 6.70363207187635e-05 3.49992963274311e-01 -1.01432057439406e-04 +-1.06060606060606e+01 6.80386749961348e-05 3.49992869978212e-01 -1.01400928958280e-04 +-1.00000000000000e+01 6.88116006653527e-05 3.49992823647383e-01 -1.01289353428714e-04 +-9.39393939393939e+00 7.07237663471055e-05 3.49992815442168e-01 -1.01276707918017e-04 +-8.78787878787879e+00 7.38580907655856e-05 3.49992819427271e-01 -1.01494750103100e-04 +-8.18181818181818e+00 7.82739532497832e-05 3.49992850591852e-01 -1.01844651491080e-04 +-7.57575757575758e+00 8.19672895187471e-05 3.49992891923250e-01 -1.02097379944998e-04 +-6.96969696969697e+00 8.55767121469269e-05 3.49992919494177e-01 -1.02354491410823e-04 +-6.36363636363636e+00 8.94675700468060e-05 3.49992951069683e-01 -1.02645034404394e-04 +-5.75757575757576e+00 9.29936968965986e-05 3.49992999356441e-01 -1.02854304294698e-04 +-5.15151515151515e+00 9.66767589213255e-05 3.49993019789932e-01 -1.03169582087935e-04 +-4.54545454545454e+00 9.99998938423993e-05 3.49993051610871e-01 -1.03400112302213e-04 +-3.93939393939394e+00 9.99999726713854e-05 3.49993090518723e-01 -1.03538708668015e-04 +-3.33333333333333e+00 1.02104563831917e-04 3.49993101022381e-01 -1.03617063217622e-04 +-2.72727272727273e+00 1.07252898597504e-04 3.49993130972691e-01 -1.03580865911987e-04 +-2.12121212121212e+00 1.09173300118226e-04 3.49993160922999e-01 -1.03563259781107e-04 +-1.51515151515152e+00 1.10872232017382e-04 3.49993165652132e-01 -1.03548067592854e-04 +-9.09090909090912e-01 1.12485357262299e-04 3.49993187872749e-01 -1.03516241153121e-04 +-3.03030303030302e-01 1.14011692232017e-04 3.49993192852192e-01 -1.03480683172430e-04 + 3.03030303030302e-01 1.15905676322437e-04 3.49993206102242e-01 -1.03465793429122e-04 + 9.09090909090912e-01 1.18066581947865e-04 3.49993215127413e-01 -1.03461219529576e-04 + 1.51515151515152e+00 1.20355930433138e-04 3.49993222322884e-01 -1.03474338111080e-04 + 2.12121212121212e+00 1.22529939662743e-04 3.49993226895244e-01 -1.03494457595954e-04 + 2.72727272727273e+00 1.24795528884072e-04 3.49993234108963e-01 -1.03500115833907e-04 + 3.33333333333333e+00 1.27035509377153e-04 3.49993246985179e-01 -1.03529290403614e-04 + 3.93939393939394e+00 1.29287278088922e-04 3.49993242976982e-01 -1.03544413173783e-04 + 4.54545454545455e+00 1.31551829634521e-04 3.49993250264807e-01 -1.03582362774309e-04 + 5.15151515151515e+00 1.33828796445093e-04 3.49993257728593e-01 -1.03599894782101e-04 + 5.75757575757576e+00 1.36105903623864e-04 3.49993250170113e-01 -1.03626057241469e-04 + 6.36363636363637e+00 1.38377857364622e-04 3.49993260950705e-01 -1.03648751923345e-04 + 6.96969696969697e+00 1.40673659393624e-04 3.49993258116397e-01 -1.03663929056793e-04 + 7.57575757575757e+00 1.43076720352929e-04 3.49993250486975e-01 -1.03701967147611e-04 + 8.18181818181818e+00 1.45302176062644e-04 3.49993251962386e-01 -1.03697090030105e-04 + 8.78787878787879e+00 1.47738464734131e-04 3.49993238001863e-01 -1.03717395462167e-04 + 9.39393939393939e+00 1.49824564965907e-04 3.49993220373877e-01 -1.03706930869463e-04 + 1.00000000000000e+01 1.51234772475611e-04 3.49993198602953e-01 -1.03636093565864e-04 + 1.06060606060606e+01 1.53193160665262e-04 3.49993139437758e-01 -1.03579511869083e-04 + 1.12121212121212e+01 1.53963534799247e-04 3.49993064628866e-01 -1.03259421066974e-04 + 1.18181818181818e+01 1.54779147335461e-04 3.49992980979586e-01 -1.02884894639075e-04 + 1.24242424242424e+01 1.56486370071492e-04 3.49992841913354e-01 -1.02575261854567e-04 + 1.30303030303030e+01 1.58933107586705e-04 3.49992677237424e-01 -1.02384741367951e-04 + 1.36363636363636e+01 1.62308609336779e-04 3.49992457428419e-01 -1.02322109043607e-04 + 1.42424242424242e+01 1.64578951696220e-04 3.49992339939178e-01 -1.02214854196613e-04 + 1.48484848484848e+01 1.66715430801712e-04 3.49992235379165e-01 -1.02121653583306e-04 + 1.54545454545455e+01 1.68826942136130e-04 3.49992154001000e-01 -1.02057327769653e-04 + 1.60606060606061e+01 1.70178103705843e-04 3.49992151963429e-01 -1.01983472981517e-04 + 1.66666666666667e+01 1.72245978345476e-04 3.49992110521683e-01 -1.01910122705623e-04 + 1.72727272727273e+01 1.74592610036883e-04 3.49992053110435e-01 -1.01881045069278e-04 + 1.78787878787879e+01 1.74965330710541e-04 3.49992194819120e-01 -1.01853760779406e-04 + 1.84848484848485e+01 1.75219150317929e-04 3.49992284452806e-01 -1.01738853071538e-04 + 1.90909090909091e+01 1.76104395755217e-04 3.49992311273349e-01 -1.01647022971590e-04 + 1.96969696969697e+01 1.76718220580213e-04 3.49992375356329e-01 -1.01597836993690e-04 + 2.03030303030303e+01 1.76340335717035e-04 3.49992501260540e-01 -1.01605796124511e-04 + 2.09090909090909e+01 1.75179962186328e-04 3.49992655702293e-01 -1.01604559182508e-04 + 2.15151515151515e+01 1.74486032911758e-04 3.49992765294010e-01 -1.01649701391145e-04 + 2.21212121212121e+01 1.74477786713978e-04 3.49992802523344e-01 -1.01747889763032e-04 + 2.27272727272727e+01 1.74933383332437e-04 3.49992783538517e-01 -1.01891968752047e-04 + 2.33333333333333e+01 1.75516911857722e-04 3.49992755561634e-01 -1.02052800337255e-04 + 2.39393939393939e+01 1.76117514413206e-04 3.49992721359420e-01 -1.02261768133080e-04 + 2.45454545454545e+01 1.75008509831501e-04 3.49992853071432e-01 -1.02529592862307e-04 + 2.51515151515151e+01 1.72902368559269e-04 3.49993205348663e-01 -1.02917900088474e-04 + 2.57575757575758e+01 1.70528342823745e-04 3.49993632923178e-01 -1.03354166268450e-04 + 2.63636363636364e+01 1.68128959161185e-04 3.49994075903070e-01 -1.03790698800568e-04 + 2.69696969696970e+01 1.65746288943919e-04 3.49994508513317e-01 -1.04227408360808e-04 + 2.75757575757576e+01 1.63374488870716e-04 3.49994936965530e-01 -1.04660020795951e-04 + 2.81818181818182e+01 1.60987302700089e-04 3.49995364428597e-01 -1.05093383366573e-04 + 2.87878787878788e+01 1.58551528528478e-04 3.49995789343631e-01 -1.05541650789599e-04 + 2.93939393939394e+01 1.56090378827939e-04 3.49996229677305e-01 -1.05998796364161e-04 + 3.00000000000000e+01 1.54241699274235e-04 3.49996781316634e-01 -1.06200144619980e-04 + 3.30000000000000e+01 1.47987104326806e-04 3.50000000007699e-01 -1.06731481013236e-04 + 3.60000000000000e+01 1.45305542354521e-04 3.50001890131902e-01 -1.07263348386598e-04 + 3.90000000000000e+01 1.41881898972022e-04 3.50004050445471e-01 -1.07815894714467e-04 + 4.20000000000000e+01 1.39441071968532e-04 3.50006491156261e-01 -1.08127211476524e-04 + 4.50000000000000e+01 1.37257998480435e-04 3.50008998205631e-01 -1.08427564439101e-04 + 4.80000000000000e+01 1.34941084766468e-04 3.50011494704583e-01 -1.08720743198189e-04 + 5.10000000000000e+01 1.32551947342161e-04 3.50013988218614e-01 -1.09060619378374e-04 + 5.40000000000000e+01 1.30097758393389e-04 3.50016444034876e-01 -1.09395517017906e-04 + 5.70000000000000e+01 1.27691500433364e-04 3.50019012193433e-01 -1.09745089976875e-04 + 6.00000000000000e+01 1.25396278624613e-04 3.50021832753220e-01 -1.10094050532149e-04 + 6.30000000000000e+01 1.22765971799197e-04 3.50023738903567e-01 -1.10498132186585e-04 + 6.60000000000000e+01 1.20207961597504e-04 3.50025883822593e-01 -1.10901542844135e-04 + 6.90000000000000e+01 1.17726461033764e-04 3.50028334158516e-01 -1.11304953526865e-04 + 7.20000000000000e+01 1.15180265527827e-04 3.50030034412492e-01 -1.11734091892153e-04 + 7.50000000000000e+01 1.12583556556493e-04 3.50031472891209e-01 -1.12170860784359e-04 + 7.80000000000000e+01 1.09984042630041e-04 3.50033261328918e-01 -1.12614706168242e-04 + 8.10000000000000e+01 1.07465275859856e-04 3.50034821611351e-01 -1.13049709797674e-04 + 8.40000000000000e+01 1.05102130635501e-04 3.50035379414690e-01 -1.13444905113265e-04 + 8.70000000000000e+01 1.02619454335093e-04 3.50036338494801e-01 -1.13851866274875e-04 + 9.00000000000000e+01 9.99962065422050e-05 3.50037703820502e-01 -1.14258827478193e-04 + 9.30000000000000e+01 9.81604783324287e-05 3.50036338639419e-01 -1.14316913552528e-04 + 9.60000000000000e+01 9.64233051171546e-05 3.50035379459493e-01 -1.14374956121658e-04 + 9.90000000000000e+01 9.47698036266927e-05 3.50034821556323e-01 -1.14466579914176e-04 + 1.02000000000000e+02 9.30066651697670e-05 3.50033261127597e-01 -1.14409045216611e-04 + 1.05000000000000e+02 9.11866736226846e-05 3.50031472689910e-01 -1.14308528894262e-04 + 1.08000000000000e+02 8.93686455040073e-05 3.50030034211198e-01 -1.14231833714102e-04 + 1.11000000000000e+02 8.75873014758999e-05 3.50028333976257e-01 -1.14122920296746e-04 + 1.14000000000000e+02 8.58538727867165e-05 3.50025883971005e-01 -1.13997582285777e-04 + 1.17000000000000e+02 8.40668872813099e-05 3.50023739382584e-01 -1.13872244293169e-04 + 1.20000000000000e+02 8.22292804450019e-05 3.50021833616524e-01 -1.13717785444254e-04 + 1.23000000000000e+02 8.06183297978706e-05 3.50019012767813e-01 -1.13690887005129e-04 + 1.26000000000000e+02 7.89296804236412e-05 3.50016444212797e-01 -1.13637532436843e-04 + 1.29000000000000e+02 7.72074793802327e-05 3.50013988000102e-01 -1.13485126906942e-04 + 1.32000000000000e+02 7.54669462644207e-05 3.50011387393220e-01 -1.13710749448038e-04 + 1.35000000000000e+02 7.37347649697809e-05 3.50008734554717e-01 -1.13929974917863e-04 + 1.38000000000000e+02 7.20937181276464e-05 3.50006069122226e-01 -1.14149200396695e-04 + 1.41000000000000e+02 7.01895666355770e-05 3.50003516804110e-01 -1.14841047821109e-04 + 1.44000000000000e+02 6.76626029749092e-05 3.50001218636936e-01 -1.16598759471780e-04 + 1.47000000000000e+02 6.56495219968703e-05 3.50000000001663e-01 -1.18326293000778e-04 + 1.50000000000000e+02 5.65952405918446e-05 3.49996087686587e-01 -1.20265817588824e-04 + 1.53000000000000e+02 5.30122349324744e-05 3.49994451065267e-01 -1.23161236682122e-04 + 1.56000000000000e+02 4.94292292730902e-05 3.49992524561635e-01 -1.26268687584669e-04 + 1.59000000000000e+02 4.58462236137547e-05 3.49990292687078e-01 -1.29376138487236e-04 + 1.62000000000000e+02 5.01867958091484e-05 3.49990428200251e-01 -1.26218866816935e-04 + 1.65000000000000e+02 5.84902455151859e-05 3.49991518311294e-01 -1.19928659514990e-04 + 1.68000000000000e+02 6.67936952213344e-05 3.49991544919100e-01 -1.13638285501127e-04 + 1.71000000000000e+02 7.51126145056291e-05 3.49991126500118e-01 -1.08485163856764e-04 + 1.74000000000000e+02 8.34624736686662e-05 3.49991459408608e-01 -1.05606270109869e-04 + 1.77000000000000e+02 9.18123329153031e-05 3.49991665503880e-01 -1.02727376245267e-04 + 1.80000000000000e+02 9.99956900108589e-05 3.49991742771221e-01 -9.99956900108589e-05 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_02.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_02.dat new file mode 100644 index 0000000..56f8527 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_02.dat @@ -0,0 +1,220 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF02_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF02_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +False InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 9.00230260490811e-05 3.30798514504607e-01 -9.00230260490811e-05 +-1.77000000000000e+02 1.84920501986226e-02 3.30626151621077e-01 5.07575442429410e-03 +-1.74000000000000e+02 3.72574396502084e-02 3.30165645071935e-01 1.05040630952018e-02 +-1.71000000000000e+02 5.60227556151270e-02 3.29419288544039e-01 1.59323331373207e-02 +-1.68000000000000e+02 7.47103650976201e-02 3.30379576428224e-01 1.56468736446903e-02 +-1.65000000000000e+02 9.33606694989612e-02 3.30349297517968e-01 1.25188837380090e-02 +-1.62000000000000e+02 1.12009568144857e-01 3.27858487414522e-01 9.40567865691511e-03 +-1.59000000000000e+02 1.22016731015964e-01 3.27704306579861e-01 5.74723455110653e-03 +-1.56000000000000e+02 1.14738241795509e-01 3.32851270094929e-01 1.21434646793149e-03 +-1.53000000000000e+02 1.07461041431106e-01 3.37358557581273e-01 1.10412069182866e-03 +-1.50000000000000e+02 1.00183778133592e-01 3.41257963448733e-01 1.01561827569464e-03 +-1.47000000000000e+02 7.95432809182269e-02 3.50009463513734e-01 9.04324278825898e-04 +-1.44000000000000e+02 7.48838428370348e-02 3.52937093635406e-01 8.02538362506815e-04 +-1.41000000000000e+02 6.90490715358817e-02 3.58222296785571e-01 7.04066279534912e-04 +-1.38000000000000e+02 6.46460794062004e-02 3.64100482571765e-01 6.64442782917246e-04 +-1.35000000000000e+02 6.08479395848150e-02 3.70247014744177e-01 6.51782052762812e-04 +-1.32000000000000e+02 5.68417449923794e-02 3.76371343880825e-01 6.39122519145729e-04 +-1.29000000000000e+02 5.28190604225913e-02 3.82378657374467e-01 6.34086327068229e-04 +-1.26000000000000e+02 4.88432942849108e-02 3.88056156818003e-01 6.51566868730510e-04 +-1.23000000000000e+02 4.49440684003464e-02 3.93990534919080e-01 6.67503290063709e-04 +-1.20000000000000e+02 4.12220866195260e-02 4.00503770942175e-01 6.83164156078525e-04 +-1.17000000000000e+02 3.69647228451472e-02 4.04913726325036e-01 7.08563027282928e-04 +-1.14000000000000e+02 3.28228589088202e-02 4.09870956268516e-01 7.33820313471488e-04 +-1.11000000000000e+02 2.88031244957219e-02 4.15530604187078e-01 7.59533830640563e-04 +-1.08000000000000e+02 2.46781948534082e-02 4.19461822010219e-01 7.81546917452337e-04 +-1.05000000000000e+02 2.04716182166370e-02 4.22788264116632e-01 8.01273010297997e-04 +-1.02000000000000e+02 1.62605618441825e-02 4.26922003743937e-01 8.21973974647935e-04 +-9.90000000000000e+01 1.21802654836172e-02 4.30530802601247e-01 8.37092990288980e-04 +-9.60000000000000e+01 8.35277872579416e-03 4.31820850853430e-01 8.38718573017698e-04 +-9.30000000000000e+01 4.33427275586383e-03 4.34040742689362e-01 8.41370278910229e-04 +-9.00000000000000e+01 8.92343097716269e-05 4.37207886730677e-01 8.44137835127795e-04 +-8.70000000000000e+01 -4.15519408434416e-03 4.34040407538936e-01 8.05688687102964e-04 +-8.40000000000000e+01 -8.17300508673020e-03 4.31820747173531e-01 7.67484488800825e-04 +-8.10000000000000e+01 -1.19998016215879e-02 4.30530929982015e-01 7.30219021530296e-04 +-7.80000000000000e+01 -1.60798377050847e-02 4.26922468926959e-01 6.82327559036376e-04 +-7.50000000000000e+01 -2.02908939684876e-02 4.22788728450035e-01 6.30255611588380e-04 +-7.20000000000000e+01 -2.44974703986271e-02 4.19462286245928e-01 5.79304655594234e-04 +-6.90000000000000e+01 -2.86201111733607e-02 4.15531024328442e-01 5.27659146461509e-04 +-6.60000000000000e+01 -3.26329371684249e-02 4.09870614909699e-01 4.74690390790743e-04 +-6.30000000000000e+01 -3.67678911078440e-02 4.04912625477568e-01 4.22708592571951e-04 +-6.00000000000000e+01 -4.10183062419205e-02 4.00501786133789e-01 3.71723750964174e-04 +-5.70000000000000e+01 -4.47471812742044e-02 3.93989218136264e-01 3.27105221715158e-04 +-5.40000000000000e+01 -4.86533538387735e-02 3.88055749625604e-01 2.83333136190601e-04 +-5.10000000000000e+01 -5.26360678453316e-02 3.82379156809996e-01 2.40509198080831e-04 +-4.80000000000000e+01 -5.66610705033960e-02 3.76372184142738e-01 2.06188645824511e-04 +-4.50000000000000e+01 -6.06672659831130e-02 3.70247851955237e-01 1.75977251000280e-04 +-4.20000000000000e+01 -6.44654050725055e-02 3.64101315383509e-01 1.46261464745842e-04 +-3.90000000000000e+01 -6.88682575646420e-02 3.58223067194427e-01 1.31129084299752e-04 +-3.60000000000000e+01 -7.47030341639997e-02 3.52937854153323e-01 1.50950056339917e-04 +-3.30000000000000e+01 -7.93624708806843e-02 3.50009472720323e-01 3.18555553934576e-03 +-3.00000000000000e+01 -8.20864455015328e-02 3.46294262685425e-01 6.32904017915959e-03 +-2.93939393939394e+01 -8.05032740420237e-02 3.47502380805042e-01 5.96800203828490e-03 +-2.87878787878788e+01 -7.89271049173904e-02 3.48689872158150e-01 5.60696389741020e-03 +-2.81818181818182e+01 -7.73573751395213e-02 3.49606178594486e-01 5.24592575653551e-03 +-2.75757575757576e+01 -7.84841370760208e-02 3.49534841164362e-01 4.83046737797369e-03 +-2.69696969696970e+01 -8.07708130732406e-02 3.48551574357094e-01 4.39168604503957e-03 +-2.63636363636364e+01 -8.30649156772857e-02 3.47566009349435e-01 3.95290471210545e-03 +-2.57575757575758e+01 -8.53669453924476e-02 3.46578315720670e-01 3.51412337917134e-03 +-2.51515151515151e+01 -8.76774487308070e-02 3.45588646766732e-01 3.07534204623722e-03 +-2.45454545454545e+01 -8.99970236230371e-02 3.44597141408835e-01 2.63656071330310e-03 +-2.39393939393939e+01 -9.23570267560176e-02 3.43590760487753e-01 2.18933897484397e-03 +-2.33333333333333e+01 -9.50057729052215e-02 3.42463875109653e-01 1.66615354846715e-03 +-2.27272727272727e+01 -9.76697039039155e-02 3.41334732654311e-01 1.14296812209033e-03 +-2.21212121212121e+01 -1.00350232285732e-01 3.40203429484719e-01 6.19782695713503e-04 +-2.15151515151515e+01 -1.02874367469219e-01 3.39070056555378e-01 9.03761474551463e-05 +-2.09090909090909e+01 -1.05301674979551e-01 3.37934699786499e-01 -2.42715668963384e-04 +-2.03030303030303e+01 -1.07728982489884e-01 3.36797440407555e-01 -8.15684727887353e-04 +-1.96969696969697e+01 -1.08411284751725e-01 3.35881448108627e-01 -1.53922079174463e-03 +-1.90909090909091e+01 -1.04793816665399e-01 3.35884017155059e-01 -1.74541914429296e-03 +-1.84848484848485e+01 -1.06281051210905e-01 3.35348395842278e-01 -1.96241757612659e-03 +-1.78787878787879e+01 -1.03581299282820e-01 3.35266467146081e-01 -2.10269753707688e-03 +-1.72727272727273e+01 -1.03430350479183e-01 3.34938212499346e-01 -2.19815048486346e-03 +-1.66666666666667e+01 -1.03391109871507e-01 3.34623694238931e-01 -2.27526684893067e-03 +-1.60606060606061e+01 -1.00441541239879e-01 3.34588698419647e-01 -2.33416010881574e-03 +-1.54545454545455e+01 -9.95776758086917e-02 3.34300483482254e-01 -2.44320078100801e-03 +-1.48484848484848e+01 -9.78588161917909e-02 3.34098305218279e-01 -2.55766306392921e-03 +-1.42424242424242e+01 -9.44370406086159e-02 3.34042520154669e-01 -2.64287247267279e-03 +-1.36363636363636e+01 -9.13409599999336e-02 3.33924432600633e-01 -2.80156937710902e-03 +-1.30303030303030e+01 -8.93312482178306e-02 3.33718679630578e-01 -2.90740184859619e-03 +-1.24242424242424e+01 -8.42242998676511e-02 3.33744932495682e-01 -3.08342590243944e-03 +-1.18181818181818e+01 -8.09592719984500e-02 3.33616251723376e-01 -3.20093756490321e-03 +-1.12121212121212e+01 -7.61548603848388e-02 3.33553260910159e-01 -3.28928046556380e-03 +-1.06060606060606e+01 -7.38262910596604e-02 3.33336173722471e-01 -3.21970924897314e-03 +-1.00000000000000e+01 -7.20338178301001e-02 3.33224420576602e-01 -2.97461592414602e-03 +-9.39393939393939e+00 -6.76110612644461e-02 3.33200155678520e-01 -2.97633824740317e-03 +-8.78787878787879e+00 -6.03575494860279e-02 3.33203181074095e-01 -3.48138283716112e-03 +-8.18181818181818e+00 -5.01795440553934e-02 3.33267051663634e-01 -4.27412232350943e-03 +-7.57575757575758e+00 -4.16792300839451e-02 3.33355202887829e-01 -4.86275248723950e-03 +-6.96969696969697e+00 -3.33778736709721e-02 3.33413166956729e-01 -5.46433389525084e-03 +-6.36363636363636e+00 -2.44630570464863e-02 3.33480048999941e-01 -6.13885734830186e-03 +-5.75757575757576e+00 -1.63958403627998e-02 3.33584857820345e-01 -6.63399891708730e-03 +-5.15151515151515e+00 -8.01368222032708e-03 3.33628202311159e-01 -7.35734594397267e-03 +-4.54545454545454e+00 -4.79373919277819e-04 3.33696991751639e-01 -7.89578781880651e-03 +-3.93939393939394e+00 -5.17948194599604e-05 3.33781730590756e-01 -8.23362680975245e-03 +-3.33333333333333e+00 4.78542195841153e-03 3.33804181122733e-01 -8.43986179668539e-03 +-2.72727272727273e+00 1.62472367031360e-02 3.33870089639260e-01 -8.38750125465472e-03 +-2.12121212121212e+00 2.09396014538138e-02 3.33935982633961e-01 -8.34141933220989e-03 +-1.51515151515152e+00 2.51635129109656e-02 3.33946002516973e-01 -8.30566911000972e-03 +-9.09090909090912e-01 2.89749926657949e-02 3.33995261006189e-01 -8.23483606082350e-03 +-3.03030303030302e-01 3.25222004524628e-02 3.34006212374125e-01 -8.15782399565737e-03 + 3.03030303030302e-01 3.69369894550071e-02 3.34035736189444e-01 -8.12954031961902e-03 + 9.09090909090912e-01 4.19662331159961e-02 3.34055917843349e-01 -8.12554485864645e-03 + 1.51515151515152e+00 4.72873824174126e-02 3.34072175350546e-01 -8.16175520461103e-03 + 2.12121212121212e+00 5.23464650741149e-02 3.34082633200077e-01 -8.21395958760075e-03 + 2.72727272727273e+00 5.76118246290899e-02 3.34099114910129e-01 -8.23312768156046e-03 + 3.33333333333333e+00 6.28177721188691e-02 3.34128330371845e-01 -8.30525013587766e-03 + 3.93939393939394e+00 6.80492989437129e-02 3.34119902942407e-01 -8.34545654010011e-03 + 4.54545454545455e+00 7.33069386120024e-02 3.34136858322706e-01 -8.43654551703654e-03 + 5.15151515151515e+00 7.85914921944310e-02 3.34154269282463e-01 -8.48139234055265e-03 + 5.75757575757576e+00 8.38736296165466e-02 3.34138261948454e-01 -8.54511670218487e-03 + 6.36363636363637e+00 8.91413812516663e-02 3.34163351509712e-01 -8.60053444106521e-03 + 6.96969696969697e+00 9.44614205597502e-02 3.34158116102988e-01 -8.63870475217643e-03 + 7.57575757575757e+00 1.00019096182719e-01 3.34142475918862e-01 -8.72726317279754e-03 + 8.18181818181818e+00 1.05171583476243e-01 3.34147327763668e-01 -8.71887759435203e-03 + 8.78787878787879e+00 1.10797540825263e-01 3.34118007366229e-01 -8.76630455237818e-03 + 9.39393939393939e+00 1.15622642039039e-01 3.34080982476305e-01 -8.74377792709526e-03 + 1.00000000000000e+01 1.18909866503501e-01 3.34034950112061e-01 -8.58518467864042e-03 + 1.06060606060606e+01 1.23425927956293e-01 3.33906795587730e-01 -8.45741003112566e-03 + 1.12121212121212e+01 1.25235691987845e-01 3.33744623565172e-01 -7.73883218212544e-03 + 1.18181818181818e+01 1.27131654958972e-01 3.33564476691201e-01 -6.90029205848701e-03 + 1.24242424242424e+01 1.31034835915638e-01 3.33262477076219e-01 -6.20859933801502e-03 + 1.30303030303030e+01 1.36616805018429e-01 3.32903581717198e-01 -5.78270928441173e-03 + 1.36363636363636e+01 1.44312432685399e-01 3.32422626611613e-01 -5.63724915443400e-03 + 1.42424242424242e+01 1.49509177898688e-01 3.32170319960009e-01 -5.39408107015372e-03 + 1.48484848484848e+01 1.54417045395194e-01 3.31945894858348e-01 -5.18414173922454e-03 + 1.54545454545455e+01 1.59278263921314e-01 3.31773978090106e-01 -5.03757753010456e-03 + 1.60606060606061e+01 1.62398158613168e-01 3.31781430392472e-01 -4.86982020058117e-03 + 1.66666666666667e+01 1.67203079881566e-01 3.31702382457411e-01 -4.70427478933722e-03 + 1.72727272727273e+01 1.72707256701795e-01 3.31585267832590e-01 -4.63677174397228e-03 + 1.78787878787879e+01 1.73630947233006e-01 3.31919862702132e-01 -4.57324129514052e-03 + 1.84848484848485e+01 1.73957558193509e-01 3.32136642406785e-01 -4.32087813931578e-03 + 1.90909090909091e+01 1.75646374915564e-01 3.32208418017294e-01 -4.12104465838727e-03 + 1.96969696969697e+01 1.76742996909094e-01 3.32362932613774e-01 -4.01554466871492e-03 + 2.03030303030303e+01 1.75742257676212e-01 3.32657099264745e-01 -4.03805494986360e-03 + 2.09090909090909e+01 1.73100642750825e-01 3.33015130881505e-01 -4.04209732270529e-03 + 2.15151515151515e+01 1.71476731778547e-01 3.33267072563345e-01 -4.14850080507963e-03 + 2.21212121212121e+01 1.71348867479824e-01 3.33346555822519e-01 -4.37203163340769e-03 + 2.27272727272727e+01 1.72233031224399e-01 3.33323140349789e-01 -4.69706657723593e-03 + 2.33333333333333e+01 1.73396321156924e-01 3.33323654594708e-01 -5.05939668182809e-03 + 2.39393939393939e+01 1.74596863789621e-01 3.33310586198331e-01 -5.52866355757156e-03 + 2.45454545454545e+01 1.72151562366170e-01 3.33660385991791e-01 -6.13150964161746e-03 + 2.51515151515151e+01 1.67540033612651e-01 3.34491519252907e-01 -7.00353037126351e-03 + 2.57575757575758e+01 1.62344025419799e-01 3.35486938688092e-01 -7.98468361880976e-03 + 2.63636363636364e+01 1.57092690438405e-01 3.36515970102202e-01 -8.96913655042255e-03 + 2.69696969696970e+01 1.51877821420998e-01 3.37522376670882e-01 -9.95670499745440e-03 + 2.75757575757576e+01 1.46686669253800e-01 3.38519711098464e-01 -1.09377602709997e-02 + 2.81818181818182e+01 1.41233717102876e-01 3.39514955126311e-01 -1.19231047117334e-02 + 2.87878787878788e+01 1.35545450830254e-01 3.40504797861022e-01 -1.29448748875307e-02 + 2.93939393939394e+01 1.29823977722476e-01 3.41528281508922e-01 -1.39899619937304e-02 + 3.00000000000000e+01 1.25542664516004e-01 3.42794615621884e-01 -1.44530750114850e-02 + 3.30000000000000e+01 1.11128950470940e-01 3.50042490451313e-01 -1.56830705467351e-02 + 3.60000000000000e+01 1.04917348133094e-01 3.54431248725182e-01 -1.69143529347962e-02 + 3.90000000000000e+01 9.70121005483770e-02 3.59422291063185e-01 -1.81925325409678e-02 + 4.20000000000000e+01 9.13626801134551e-02 3.65056064326220e-01 -1.89168124036774e-02 + 4.50000000000000e+01 8.63062464804763e-02 3.70846676085526e-01 -1.96139596185156e-02 + 4.80000000000000e+01 8.09445586385439e-02 3.76616117081650e-01 -2.02947917817873e-02 + 5.10000000000000e+01 7.54174160703011e-02 3.82379156809996e-01 -2.10815066270033e-02 + 5.40000000000000e+01 6.97408614420390e-02 3.88055749625604e-01 -2.18565348618729e-02 + 5.70000000000000e+01 6.41736499249968e-02 3.93989218136263e-01 -2.26648123868875e-02 + 6.00000000000000e+01 5.88597382575695e-02 4.00501786133789e-01 -2.34717206440644e-02 + 6.30000000000000e+01 5.27768366985287e-02 4.04912625477568e-01 -2.44045150958376e-02 + 6.60000000000000e+01 4.68588935907429e-02 4.09870614909699e-01 -2.53358944607969e-02 + 6.90000000000000e+01 4.11154248131714e-02 4.15531024328442e-01 -2.62673712674326e-02 + 7.20000000000000e+01 3.52230413519032e-02 4.19462286245928e-01 -2.72575325297918e-02 + 7.50000000000000e+01 2.92147335290873e-02 4.22788728450035e-01 -2.82652840060948e-02 + 7.80000000000000e+01 2.32000260865505e-02 4.26922468926959e-01 -2.92893606638412e-02 + 8.10000000000000e+01 1.73710440453469e-02 4.30530929982015e-01 -3.02930652432568e-02 + 8.40000000000000e+01 1.19009356106096e-02 4.31820747173531e-01 -3.12052889786883e-02 + 8.70000000000000e+01 6.15793074786111e-03 4.34040407538936e-01 -3.21445679043574e-02 + 9.00000000000000e+01 9.12270004298213e-05 4.37207886730677e-01 -3.30840402850139e-02 + 9.30000000000000e+01 -4.15420554851855e-03 4.34040742689362e-01 -3.32198869041638e-02 + 9.60000000000000e+01 -8.17270001815806e-03 4.31820850853430e-01 -3.33557405671290e-02 + 9.90000000000000e+01 -1.20001750847928e-02 4.30530802601247e-01 -3.35684169419418e-02 + 1.02000000000000e+02 -1.60804686178265e-02 4.26922003743937e-01 -3.34379062444086e-02 + 1.05000000000000e+02 -2.02915247453810e-02 4.22788264116632e-01 -3.32081623145814e-02 + 1.08000000000000e+02 -2.44981011309110e-02 4.19461822010219e-01 -3.30328962976732e-02 + 1.11000000000000e+02 -2.86204943274547e-02 4.15530604187078e-01 -3.27837493244998e-02 + 1.14000000000000e+02 -3.26326252696821e-02 4.09870956268516e-01 -3.24960419208884e-02 + 1.17000000000000e+02 -3.67668843029341e-02 4.04913726325036e-01 -3.22084343957780e-02 + 1.20000000000000e+02 -4.10166344301068e-02 4.00503770942175e-01 -3.18547967011369e-02 + 1.23000000000000e+02 -4.47462286332758e-02 3.93990534919080e-01 -3.17935870095799e-02 + 1.26000000000000e+02 -4.86530587283903e-02 3.88056156818003e-01 -3.16723655172156e-02 + 1.29000000000000e+02 -5.26364303692643e-02 3.82378657374467e-01 -3.13267573605773e-02 + 1.32000000000000e+02 -5.66616520739902e-02 3.76371343880825e-01 -3.18460012615698e-02 + 1.35000000000000e+02 -6.06678475814379e-02 3.70247014744177e-01 -3.23548601635954e-02 + 1.38000000000000e+02 -6.44659866228196e-02 3.64100482571765e-01 -3.28637345726003e-02 + 1.41000000000000e+02 -6.88689801392204e-02 3.58222296785571e-01 -3.44544592891668e-02 + 1.44000000000000e+02 -7.47037578192496e-02 3.52937093635406e-01 -3.84942388074919e-02 + 1.47000000000000e+02 -7.93631943723841e-02 3.50009463513734e-01 -4.24825794335701e-02 + 1.50000000000000e+02 -1.00003732081494e-01 3.41257963448733e-01 -4.69844303779689e-02 + 1.53000000000000e+02 -1.07281138026252e-01 3.37358639849116e-01 -5.33582585455013e-02 + 1.56000000000000e+02 -1.14558543971010e-01 3.32851458017072e-01 -6.00070327739690e-02 + 1.59000000000000e+02 -1.21835949915768e-01 3.27703939670052e-01 -6.66558070024368e-02 + 1.62000000000000e+02 -1.11825424024892e-01 3.27858819510041e-01 -5.98129747542470e-02 + 1.65000000000000e+02 -9.31685571079292e-02 3.30349297517968e-01 -4.62230861404223e-02 + 1.68000000000000e+02 -7.45116901909665e-02 3.30379666689846e-01 -3.17589247621598e-02 + 1.71000000000000e+02 -5.58210712216662e-02 3.29419293014406e-01 -2.01128255543781e-02 + 1.74000000000000e+02 -3.70629465719090e-02 3.30165645071935e-01 -1.33292253442338e-02 + 1.77000000000000e+02 -1.83048217470332e-02 3.30626151621077e-01 -6.54570470375381e-03 + 1.80000000000000e+02 9.00230260490811e-05 3.30798514504607e-01 -9.00230260490811e-05 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_03.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_03.dat new file mode 100644 index 0000000..b05bd98 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_03.dat @@ -0,0 +1,220 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF03_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF03_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +False InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 6.66837016727444e-05 2.84801209438855e-01 -6.66837016727444e-05 +-1.77000000000000e+02 5.72307812469910e-02 2.84283152911434e-01 1.81981318600291e-02 +-1.74000000000000e+02 1.15435260510099e-01 2.82893334218690e-01 3.72571275318618e-02 +-1.71000000000000e+02 1.73639554024248e-01 2.80622199236131e-01 5.63164633708879e-02 +-1.68000000000000e+02 2.31621535871098e-01 2.83762691439030e-01 5.64573081996768e-02 +-1.65000000000000e+02 2.89496275401416e-01 2.83966898778708e-01 4.72883727123846e-02 +-1.62000000000000e+02 3.47367461666635e-01 2.76118631859417e-01 3.82753392587070e-02 +-1.59000000000000e+02 3.80494825561929e-01 2.76913195292430e-01 2.79178149032128e-02 +-1.56000000000000e+02 3.64130626562395e-01 2.93953129863182e-01 1.53805641771286e-02 +-1.53000000000000e+02 3.47769685346596e-01 3.09376183976957e-01 1.41874195575970e-02 +-1.50000000000000e+02 3.31408585057589e-01 3.23262722939947e-01 1.32221941230556e-02 +-1.47000000000000e+02 2.65709758712060e-01 3.50123776011957e-01 1.19469013239767e-02 +-1.44000000000000e+02 2.50096030779472e-01 3.60866170629080e-01 1.07713610413840e-02 +-1.41000000000000e+02 2.30732526336741e-01 3.78315739781059e-01 9.63058914622135e-03 +-1.38000000000000e+02 2.16035167200702e-01 3.97760787473656e-01 9.16474081460909e-03 +-1.35000000000000e+02 2.03312509669166e-01 4.18141439970275e-01 9.01053054190169e-03 +-1.32000000000000e+02 1.89928884265240e-01 4.38499477627343e-01 8.85633282313661e-03 +-1.29000000000000e+02 1.76493246812631e-01 4.58495549652683e-01 8.79391296087290e-03 +-1.26000000000000e+02 1.63206789696634e-01 4.77429571283203e-01 8.99132141252110e-03 +-1.23000000000000e+02 1.50163080815033e-01 4.97182651452555e-01 9.17252911771720e-03 +-1.20000000000000e+02 1.37681458917172e-01 5.18795814258861e-01 9.35084662193614e-03 +-1.17000000000000e+02 1.23462377990624e-01 5.33559403939012e-01 9.64091399734994e-03 +-1.14000000000000e+02 1.09609746333408e-01 5.50076677955034e-01 9.92949587781894e-03 +-1.11000000000000e+02 9.61440998821812e-02 5.68863284797490e-01 1.02228644852673e-02 +-1.08000000000000e+02 8.23330624815744e-02 5.81969734758176e-01 1.04721274146995e-02 +-1.05000000000000e+02 6.82570704755942e-02 5.93068891230706e-01 1.06947543743621e-02 +-1.02000000000000e+02 5.41668662902554e-02 6.06793934024240e-01 1.09276095822806e-02 +-9.90000000000000e+01 4.05042519763786e-02 6.18777753777236e-01 1.10952655988185e-02 +-9.60000000000000e+01 2.76733845659806e-02 6.23092755333157e-01 1.11080828465794e-02 +-9.30000000000000e+01 1.42356590263926e-02 6.30462407576559e-01 1.11316660695640e-02 +-9.00000000000000e+01 6.44254337711692e-05 6.40990471244619e-01 1.11564620027107e-02 +-8.70000000000000e+01 -1.41053208290242e-02 6.30461298245140e-01 1.07092040493742e-02 +-8.40000000000000e+01 -2.75406694000040e-02 6.23092413241643e-01 1.02645160825063e-02 +-8.10000000000000e+01 -4.03692100706549e-02 6.18778174351615e-01 9.82967718189423e-03 +-7.80000000000000e+01 -5.40309643618974e-02 6.06795463863463e-01 9.27266321633009e-03 +-7.50000000000000e+01 -6.81211666928243e-02 5.93070412526454e-01 8.66644235829618e-03 +-7.20000000000000e+01 -8.21971564917266e-02 5.81971255097219e-01 8.07198282350579e-03 +-6.90000000000000e+01 -9.60007945788492e-02 5.68864659328740e-01 7.46870057551959e-03 +-6.60000000000000e+01 -1.09444139575241e-01 5.50075566642513e-01 6.84846376878368e-03 +-6.30000000000000e+01 -1.23274454388278e-01 5.33555826801860e-01 6.23858201478321e-03 +-6.00000000000000e+01 -1.37471035310993e-01 5.18789358816024e-01 5.63916048233209e-03 +-5.70000000000000e+01 -1.49974976784512e-01 4.97178395990056e-01 5.11206482101668e-03 +-5.40000000000000e+01 -1.63041113139981e-01 4.77428260415934e-01 4.59384995733548e-03 +-5.10000000000000e+01 -1.76350009817551e-01 4.58497152708591e-01 4.08558295560294e-03 +-4.80000000000000e+01 -1.89793144784801e-01 4.38502160207637e-01 3.67525124647931e-03 +-4.50000000000000e+01 -2.03176778742302e-01 4.18144091607858e-01 3.31239344978636e-03 +-4.20000000000000e+01 -2.15899429061524e-01 3.97763392293848e-01 2.95473552555576e-03 +-3.90000000000000e+01 -2.30596344948851e-01 3.78318104004000e-01 2.75346308678508e-03 +-3.60000000000000e+01 -2.49959904118848e-01 3.60868431979600e-01 2.92567437862026e-03 +-3.30000000000000e+01 -2.65573618705722e-01 3.50123891685555e-01 1.14793322471103e-02 +-3.00000000000000e+01 -2.75045280898291e-01 3.37229760352253e-01 2.03855905667360e-02 +-2.93939393939394e+01 -2.70130942937911e-01 3.40333954076724e-01 1.91858967463295e-02 +-2.87878787878788e+01 -2.65290072731147e-01 3.43221733958277e-01 1.79862029259230e-02 +-2.81818181818182e+01 -2.60516763466545e-01 3.45356636374812e-01 1.67865091055166e-02 +-2.75757575757576e+01 -2.64074031409497e-01 3.44748273313549e-01 1.54492596869178e-02 +-2.69696969696970e+01 -2.71246398698456e-01 3.41723146454954e-01 1.40530578808132e-02 +-2.63636363636364e+01 -2.78496685157253e-01 3.38673907122015e-01 1.26568560747086e-02 +-2.57575757575758e+01 -2.85830142023745e-01 3.35602334522567e-01 1.12606542686039e-02 +-2.51515151515151e+01 -2.93252503244620e-01 3.32510037021252e-01 9.86445246249932e-03 +-2.45454545454545e+01 -3.00770042244983e-01 3.29398472164693e-01 8.46825065639471e-03 +-2.39393939393939e+01 -3.08490295117675e-01 3.26232000964712e-01 7.05071441515487e-03 +-2.33333333333333e+01 -3.17246913627433e-01 3.22711708628072e-01 5.44116816116050e-03 +-2.27272727272727e+01 -3.26162849964863e-01 3.19167735276801e-01 3.83162190716615e-03 +-2.21212121212121e+01 -3.35252924282773e-01 3.15601091941154e-01 2.22207565317179e-03 +-2.15151515151515e+01 -3.42702137778394e-01 3.12012732906105e-01 5.47258049303284e-04 +-2.09090909090909e+01 -3.49135445613860e-01 3.08403559637379e-01 -5.32250599404473e-04 +-2.03030303030303e+01 -3.55568753449327e-01 3.04774424385979e-01 -2.26763271237795e-03 +-1.96969696969697e+01 -3.56970773542142e-01 3.01831750921987e-01 -4.45904518701871e-03 +-1.90909090909091e+01 -3.46026682010340e-01 3.01743499071779e-01 -5.08356919431672e-03 +-1.84848484848485e+01 -3.49698415901962e-01 2.99990377600369e-01 -5.74080398087674e-03 +-1.78787878787879e+01 -3.41359918972177e-01 2.99641348460007e-01 -6.19203998902327e-03 +-1.72727272727273e+01 -3.40231104941834e-01 2.98533441023743e-01 -6.51797613703847e-03 +-1.66666666666667e+01 -3.39422134712059e-01 2.97467976747249e-01 -6.79141083181857e-03 +-1.60606060606061e+01 -3.30280289995584e-01 2.97266267282435e-01 -7.01266898888260e-03 +-1.54545454545455e+01 -3.27236933780180e-01 2.96287709359166e-01 -7.34867903566660e-03 +-1.48484848484848e+01 -3.21759627642799e-01 2.95575386664300e-01 -7.69700888254662e-03 +-1.42424242424242e+01 -3.11406518884005e-01 2.95314463757543e-01 -7.96158166599902e-03 +-1.36363636363636e+01 -3.02049689548045e-01 2.94865456824211e-01 -8.41791751927807e-03 +-1.30303030303030e+01 -2.95845858111270e-01 2.94149306691809e-01 -8.71046022648801e-03 +-1.24242424242424e+01 -2.80773994148611e-01 2.94147010057450e-01 -9.20397603397470e-03 +-1.18181818181818e+01 -2.70530413120595e-01 2.93671408806113e-01 -9.52899052805928e-03 +-1.12121212121212e+01 -2.54352604279287e-01 2.93406315317634e-01 -9.76822973526066e-03 +-1.06060606060606e+01 -2.46572878263560e-01 2.92667853353344e-01 -9.55532797831544e-03 +-1.00000000000000e+01 -2.40599197831251e-01 2.92252839380045e-01 -8.83986991653517e-03 +-9.39393939393939e+00 -2.25841890900791e-01 2.92124664838960e-01 -9.08767844035653e-03 +-8.78787878787879e+00 -2.01726332764369e-01 2.92079917304309e-01 -1.07766033100582e-02 +-8.18181818181818e+00 -1.68257484199412e-01 2.92221166445950e-01 -1.32892585098194e-02 +-7.57575757575758e+00 -1.40296121312069e-01 2.92450642749520e-01 -1.52830122964937e-02 +-6.96969696969697e+00 -1.12996023366332e-01 2.92593588567687e-01 -1.73419222054703e-02 +-6.36363636363636e+00 -8.39439246729068e-02 2.92763447081009e-01 -1.96096803614886e-02 +-5.75757575757576e+00 -5.77074680111089e-02 2.93054053258667e-01 -2.13467833148246e-02 +-5.15151515151515e+00 -3.07688646150288e-02 2.93164839716785e-01 -2.37117146263409e-02 +-4.54545454545454e+00 -6.72815455103116e-03 2.93353055101222e-01 -2.55472240268875e-02 +-3.93939393939394e+00 -1.77298712645515e-03 2.93590873778937e-01 -2.68082124888239e-02 +-3.33333333333333e+00 1.42909887309282e-02 2.93649929495011e-01 -2.76910129071598e-02 +-2.72727272727273e+00 4.90060016629789e-02 2.93841264716401e-01 -2.77672903626511e-02 +-2.12121212121212e+00 6.66036947392122e-02 2.94032437084456e-01 -2.75998922721442e-02 +-1.51515151515152e+00 8.29823782307039e-02 2.94057972753637e-01 -2.74993653276105e-02 +-9.09090909090912e-01 9.64624658949972e-02 2.94204318768977e-01 -2.73070430756208e-02 +-3.03030303030302e-01 1.08611983482654e-01 2.94236062692640e-01 -2.71106369199608e-02 + 3.03030303030302e-01 1.23742376381559e-01 2.94325163017028e-01 -2.70805590867442e-02 + 9.09090909090912e-01 1.40874324674040e-01 2.94386722043003e-01 -2.71326906698621e-02 + 1.51515151515152e+00 1.58925136678777e-01 2.94437824931367e-01 -2.73104907166055e-02 + 2.12121212121212e+00 1.76143659681658e-01 2.94471834062738e-01 -2.75389136956546e-02 + 2.72727272727273e+00 1.93996538731596e-01 2.94525279107448e-01 -2.76599698924283e-02 + 3.33333333333333e+00 2.11648414389792e-01 2.94618214140656e-01 -2.79443287272923e-02 + 3.93939393939394e+00 2.29369271402437e-01 2.94597346717029e-01 -2.81269926555332e-02 + 4.54545454545455e+00 2.47144201987200e-01 2.94655020115179e-01 -2.84621578718806e-02 + 5.15151515151515e+00 2.64991857641319e-01 2.94714644516775e-01 -2.86514283687226e-02 + 5.75757575757576e+00 2.82805176462077e-01 2.94673902629846e-01 -2.88938937899507e-02 + 6.36363636363637e+00 3.00546730243606e-01 2.94759314562847e-01 -2.91059004758654e-02 + 6.96969696969697e+00 3.18435539783289e-01 2.94753312590546e-01 -2.92613898668563e-02 + 7.57575757575757e+00 3.37018269896835e-01 2.94718451846672e-01 -2.95630413782783e-02 + 8.18181818181818e+00 3.54299488223734e-01 2.94747293483045e-01 -2.95610865550940e-02 + 8.78787878787879e+00 3.73025884927724e-01 2.94675038687774e-01 -2.97240035996582e-02 + 9.39393939393939e+00 3.89161937531294e-01 2.94583800452112e-01 -2.96636980297222e-02 + 1.00000000000000e+01 4.00403606232013e-01 2.94467448735825e-01 -2.91798923530276e-02 + 1.06060606060606e+01 4.15372741773097e-01 2.94114359359879e-01 -2.87797884463296e-02 + 1.12121212121212e+01 4.21697795874946e-01 2.93666535031666e-01 -2.65663529306244e-02 + 1.18181818181818e+01 4.28130651214409e-01 2.93180594395172e-01 -2.39991840846483e-02 + 1.24242424242424e+01 4.40736068731105e-01 2.92343073880989e-01 -2.18923386344670e-02 + 1.30303030303030e+01 4.58622525009301e-01 2.91337080681085e-01 -2.05913082828893e-02 + 1.36363636363636e+01 4.83151872111485e-01 2.89973517560332e-01 -2.00983624985053e-02 + 1.42424242424242e+01 4.99871526400044e-01 2.89305488568683e-01 -1.93248387084215e-02 + 1.48484848484848e+01 5.15809017119240e-01 2.88714226461826e-01 -1.86687952957387e-02 + 1.54545454545455e+01 5.31639396524293e-01 2.88290443999366e-01 -1.81960705789044e-02 + 1.60606060606061e+01 5.41833472538731e-01 2.88429801593304e-01 -1.76594215624544e-02 + 1.66666666666667e+01 5.57680265654059e-01 2.88326302345211e-01 -1.71390355833239e-02 + 1.72727272727273e+01 5.76224083786449e-01 2.88089205996505e-01 -1.69104071751488e-02 + 1.78787878787879e+01 5.79563870920434e-01 2.89277195550941e-01 -1.66936096151508e-02 + 1.84848484848485e+01 5.78608672969648e-01 2.90101069695457e-01 -1.59609244213556e-02 + 1.90909090909091e+01 5.81433642925666e-01 2.90450355634357e-01 -1.53969828954548e-02 + 1.96969696969697e+01 5.82563036196215e-01 2.91047519182093e-01 -1.51129912295233e-02 + 2.03030303030303e+01 5.78237293455658e-01 2.92079753079074e-01 -1.52233908522657e-02 + 2.09090909090909e+01 5.69763427654526e-01 2.93305888424553e-01 -1.52955603036707e-02 + 2.15151515151515e+01 5.64203459955629e-01 2.94165420912548e-01 -1.56697363659820e-02 + 2.21212121212121e+01 5.62926985063862e-01 2.94419929241385e-01 -1.63898762545307e-02 + 2.27272727272727e+01 5.64548156963936e-01 2.94530555799821e-01 -1.74111633361322e-02 + 2.33333333333333e+01 5.66968525198926e-01 2.95042057196816e-01 -1.85449106169452e-02 + 2.39393939393939e+01 5.69495555663143e-01 2.95514668666566e-01 -1.99994287894028e-02 + 2.45454545454545e+01 5.62281723976873e-01 2.97033463139460e-01 -2.18792683457821e-02 + 2.51515151515151e+01 5.48943082573204e-01 2.99931217214666e-01 -2.45782891605541e-02 + 2.57575757575758e+01 5.33930954961815e-01 3.03299356778090e-01 -2.76240769645673e-02 + 2.63636363636364e+01 5.18760415246746e-01 3.06763734428536e-01 -3.07000600297652e-02 + 2.69696969696970e+01 5.03694285171566e-01 3.10163332440500e-01 -3.38057928685071e-02 + 2.75757575757576e+01 4.88696061371688e-01 3.13536955025481e-01 -3.69113925923914e-02 + 2.81818181818182e+01 4.71207457021258e-01 3.16905153744328e-01 -4.00493167101014e-02 + 2.87878787878788e+01 4.52060672964054e-01 3.20259197331655e-01 -4.33208776119028e-02 + 2.93939393939394e+01 4.32987920336084e-01 3.23709561850820e-01 -4.66893171748199e-02 + 3.00000000000000e+01 4.18831226717010e-01 3.27855257764845e-01 -4.82092958280709e-02 + 3.30000000000000e+01 3.71571472621099e-01 3.50515825311321e-01 -5.23317679491849e-02 + 3.60000000000000e+01 3.50698856040055e-01 3.65366063802374e-01 -5.64591829723103e-02 + 3.90000000000000e+01 3.24448811500572e-01 3.82023857910243e-01 -6.07331211030109e-02 + 4.20000000000000e+01 3.05523152915678e-01 4.00762203573767e-01 -6.31998123159724e-02 + 4.50000000000000e+01 2.88540117879417e-01 4.20044756045832e-01 -6.55562172167601e-02 + 4.80000000000000e+01 2.70589282038780e-01 4.39281499022563e-01 -6.78608554450793e-02 + 5.10000000000000e+01 2.52105191945082e-01 4.58497152708591e-01 -7.04969619169638e-02 + 5.40000000000000e+01 2.33134584867273e-01 4.77428260415934e-01 -7.30921870048905e-02 + 5.70000000000000e+01 2.14510759302220e-01 4.97178395990056e-01 -7.57911854418025e-02 + 6.00000000000000e+01 1.96690254576325e-01 5.18789358816024e-01 -7.84860447343681e-02 + 6.30000000000000e+01 1.76374168559581e-01 5.33555826801860e-01 -8.15843166829972e-02 + 6.60000000000000e+01 1.56581473666299e-01 5.50075566642513e-01 -8.46789476762920e-02 + 6.90000000000000e+01 1.37341654051397e-01 5.68864659328740e-01 -8.77746009070330e-02 + 7.20000000000000e+01 1.17612819879829e-01 5.81971255097219e-01 -9.10566882253490e-02 + 7.50000000000000e+01 9.75077782092281e-02 5.93070412526454e-01 -9.43960872547163e-02 + 7.80000000000000e+01 7.73824344121793e-02 6.06795463863463e-01 -9.77885933985301e-02 + 8.10000000000000e+01 5.78645070014214e-02 6.18778174351615e-01 -1.01112861127644e-01 + 8.40000000000000e+01 3.95275257732005e-02 6.23092413241643e-01 -1.04137806881177e-01 + 8.70000000000000e+01 2.03234807856620e-02 6.30461298245140e-01 -1.07250126991739e-01 + 9.00000000000000e+01 7.07184989173033e-05 6.40990471244619e-01 -1.10364476731605e-01 + 9.30000000000000e+01 -1.41020696644416e-02 6.30462407576559e-01 -1.10838918205741e-01 + 9.60000000000000e+01 -2.75396745441999e-02 6.23092755333157e-01 -1.11314158029798e-01 + 9.90000000000000e+01 -4.03704192918924e-02 6.18777753777236e-01 -1.12034616750232e-01 + 1.02000000000000e+02 -5.40330039396075e-02 6.06793934024240e-01 -1.11631042600500e-01 + 1.05000000000000e+02 -6.81232055554815e-02 5.93068891230706e-01 -1.10896977190393e-01 + 1.08000000000000e+02 -8.21991949254658e-02 5.81969734758176e-01 -1.10336681932369e-01 + 1.11000000000000e+02 -9.60020321842386e-02 5.68863284797490e-01 -1.09536383564411e-01 + 1.14000000000000e+02 -1.09443132870527e-01 5.50076677955034e-01 -1.08600023694438e-01 + 1.17000000000000e+02 -1.23271203736270e-01 5.33559403939012e-01 -1.07664711750705e-01 + 1.20000000000000e+02 -1.37465632128852e-01 5.18795814258861e-01 -1.06522930138119e-01 + 1.23000000000000e+02 -1.49971900877419e-01 4.97182651452554e-01 -1.06329368120480e-01 + 1.26000000000000e+02 -1.63040160120151e-01 4.77429571283203e-01 -1.05947981054684e-01 + 1.29000000000000e+02 -1.76351181159555e-01 4.58495549652683e-01 -1.04866482739869e-01 + 1.32000000000000e+02 -1.89795025145747e-01 4.38499477627343e-01 -1.06574455681937e-01 + 1.35000000000000e+02 -2.03178660149883e-01 4.18141439970275e-01 -1.08294563513798e-01 + 1.38000000000000e+02 -2.15901309497703e-01 3.97760787473656e-01 -1.10014833942148e-01 + 1.41000000000000e+02 -2.30598683183055e-01 3.78315739781059e-01 -1.15229535857731e-01 + 1.44000000000000e+02 -2.49962254552278e-01 3.60866170629080e-01 -1.28412705458532e-01 + 1.47000000000000e+02 -2.65575966452647e-01 3.50123776011957e-01 -1.41560205741318e-01 + 1.50000000000000e+02 -3.31275217654243e-01 3.23262722939947e-01 -1.56555297766090e-01 + 1.53000000000000e+02 -3.47636678506302e-01 3.09376391921702e-01 -1.75162135502763e-01 + 1.56000000000000e+02 -3.63998139358361e-01 2.93953604865568e-01 -1.93112138097111e-01 + 1.59000000000000e+02 -3.80359600210419e-01 2.76912267870934e-01 -2.11062140691459e-01 + 1.62000000000000e+02 -3.47222116292216e-01 2.76119744300312e-01 -1.91849262067415e-01 + 1.65000000000000e+02 -2.89328359559880e-01 2.83966898778708e-01 -1.54051354858014e-01 + 1.68000000000000e+02 -2.31434602827543e-01 2.83762966323075e-01 -1.07080670683346e-01 + 1.71000000000000e+02 -1.73444206948869e-01 2.80622212911498e-01 -7.05321393777995e-02 + 1.74000000000000e+02 -1.15260528265729e-01 2.82893334218690e-01 -4.67132723033195e-02 + 1.77000000000000e+02 -5.70768491399484e-02 2.84283152911434e-01 -2.28952422858290e-02 + 1.80000000000000e+02 6.66837016727444e-05 2.84801209438855e-01 -6.66837016727444e-05 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_04.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_04.dat new file mode 100644 index 0000000..2ff06c6 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_04.dat @@ -0,0 +1,220 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF04_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF04_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +False InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 3.94881162172094e-05 2.27151529245548e-01 -3.94881162172094e-05 +-1.77000000000000e+02 9.46440139687942e-02 2.26370186593820e-01 3.63287686299869e-02 +-1.74000000000000e+02 1.90765953131999e-01 2.24262469468006e-01 7.39426874844601e-02 +-1.71000000000000e+02 2.86887683253236e-01 2.20780668955199e-01 1.11558043107716e-01 +-1.68000000000000e+02 3.82685615273584e-01 2.26330706181529e-01 1.14690194569045e-01 +-1.65000000000000e+02 4.78326053376668e-01 2.27684531962573e-01 1.01021568614598e-01 +-1.62000000000000e+02 5.73962492633489e-01 2.15563234050116e-01 8.78137376453296e-02 +-1.59000000000000e+02 6.33507823536454e-01 2.20191737853659e-01 7.32073898120407e-02 +-1.56000000000000e+02 6.20871057631477e-01 2.50823936150828e-01 5.62885064833538e-02 +-1.53000000000000e+02 6.08237958037894e-01 2.79636496398447e-01 5.25338326495681e-02 +-1.50000000000000e+02 5.95604679423246e-01 3.06719861751038e-01 4.94521503790824e-02 +-1.47000000000000e+02 4.87124304238889e-01 3.50520138879720e-01 4.50068374909883e-02 +-1.44000000000000e+02 4.58337663453854e-01 3.72815245859237e-01 4.08560370532686e-02 +-1.41000000000000e+02 4.23455862843109e-01 4.04459391688718e-01 3.68078994581306e-02 +-1.38000000000000e+02 3.96603256067060e-01 4.39649071459267e-01 3.51157733085524e-02 +-1.35000000000000e+02 3.73174879622118e-01 4.76563277197254e-01 3.45254163904034e-02 +-1.32000000000000e+02 3.48677475143880e-01 5.13532693864376e-01 3.39350965410832e-02 +-1.29000000000000e+02 3.24096666043469e-01 5.49898060377138e-01 3.36902719439651e-02 +-1.26000000000000e+02 2.99757376707658e-01 5.84443684607224e-01 3.43616275870826e-02 +-1.23000000000000e+02 2.75809911365867e-01 6.20319739905243e-01 3.49851462493776e-02 +-1.20000000000000e+02 2.52769625796240e-01 6.59244636582720e-01 3.56001364905499e-02 +-1.17000000000000e+02 2.26756202170556e-01 6.86404301524827e-01 3.66056054254272e-02 +-1.14000000000000e+02 2.01334539620259e-01 7.16429147302697e-01 3.76066880443159e-02 +-1.11000000000000e+02 1.76536845079703e-01 7.50196788134341e-01 3.86219047382852e-02 +-1.08000000000000e+02 1.51130830641007e-01 7.74033457752937e-01 3.94735309117097e-02 +-1.05000000000000e+02 1.25271489655557e-01 7.94267947342446e-01 4.02298258003668e-02 +-1.02000000000000e+02 9.93891996325195e-02 8.18866657275891e-01 4.10163222922098e-02 +-9.90000000000000e+01 7.42510524833688e-02 8.40271528939931e-01 4.15683993912650e-02 +-9.60000000000000e+01 5.05714074672201e-02 8.48220377533355e-01 4.15794764000504e-02 +-9.30000000000000e+01 2.59102298155576e-02 8.61302474154264e-01 4.16223427928519e-02 +-9.00000000000000e+01 3.61943731921613e-05 8.79778369588460e-01 4.16687724789392e-02 +-8.70000000000000e+01 -2.58362047958363e-02 8.61300548479630e-01 4.00711371184632e-02 +-8.40000000000000e+01 -5.04931200202226e-02 8.48219785628372e-01 3.84810903215006e-02 +-8.10000000000000e+01 -7.41686511836108e-02 8.40272257139826e-01 3.69201254927665e-02 +-7.80000000000000e+01 -9.93053080635309e-02 8.18869295313612e-01 3.49308973414833e-02 +-7.50000000000000e+01 -1.25187592199008e-01 7.94270560368256e-01 3.27626083860095e-02 +-7.20000000000000e+01 -1.51046926644790e-01 7.74036067993426e-01 3.06290478423477e-02 +-6.90000000000000e+01 -1.76440410879961e-01 7.50199145510662e-01 2.84597371522099e-02 +-6.60000000000000e+01 -2.01200397094183e-01 7.16427251205100e-01 2.62209653440007e-02 +-6.30000000000000e+01 -2.26584306559098e-01 6.86398210435481e-01 2.40127695626792e-02 +-6.00000000000000e+01 -2.52559560931711e-01 6.59233633620476e-01 2.18354619809288e-02 +-5.70000000000000e+01 -2.75637707707567e-01 6.20312536057208e-01 1.99066518087779e-02 +-5.40000000000000e+01 -2.99623099015240e-01 5.84441474717317e-01 1.80040645361316e-02 +-5.10000000000000e+01 -3.24000349785311e-01 5.49900754115845e-01 1.61308509520787e-02 +-4.80000000000000e+01 -3.48593862200267e-01 5.13537175154644e-01 1.46018860905281e-02 +-4.50000000000000e+01 -3.73091291496924e-01 4.76567667739535e-01 1.32406458950955e-02 +-4.20000000000000e+01 -3.96519646916839e-01 4.39653323377926e-01 1.18947596958503e-02 +-3.90000000000000e+01 -4.23371517942924e-01 4.04463165429722e-01 1.10319786951006e-02 +-3.60000000000000e+01 -4.58253479651062e-01 3.72818716365526e-01 1.13146847802298e-02 +-3.30000000000000e+01 -4.87040081592237e-01 3.50520600943671e-01 2.28621152027726e-02 +-3.00000000000000e+01 -5.05905537614595e-01 3.25416349429552e-01 3.49926590620448e-02 +-2.93939393939394e+01 -4.98307569472558e-01 3.28726418263519e-01 3.28264270913766e-02 +-2.87878787878788e+01 -4.90926534268224e-01 3.31397468094012e-01 3.06601951207083e-02 +-2.81818181818182e+01 -4.83744990581399e-01 3.33058938315992e-01 2.84939631500401e-02 +-2.75757575757576e+01 -4.89585238976727e-01 3.31038906815115e-01 2.61729260425300e-02 +-2.69696969696970e+01 -5.01138693679645e-01 3.26030100126320e-01 2.37855438895625e-02 +-2.63636363636364e+01 -5.12922225301815e-01 3.20950094991440e-01 2.13981617365950e-02 +-2.57575757575758e+01 -5.24951339509306e-01 3.15804144991316e-01 1.90107795836275e-02 +-2.51515151515151e+01 -5.37242967293456e-01 3.10596999247149e-01 1.66233974306600e-02 +-2.45454545454545e+01 -5.49815632598040e-01 3.05332961550131e-01 1.42360152776925e-02 +-2.39393939393939e+01 -5.62858428979195e-01 2.99965470959252e-01 1.18246233410887e-02 +-2.33333333333333e+01 -5.77805451595310e-01 2.94081283541774e-01 9.19714324311539e-03 +-2.27272727272727e+01 -5.93222902156802e-01 2.88127171676918e-01 6.56966314514209e-03 +-2.21212121212121e+01 -6.09154541077289e-01 2.82106120698420e-01 3.94218304716878e-03 +-2.15151515151515e+01 -6.20241105240251e-01 2.76020948384593e-01 1.12197205735576e-03 +-2.09090909090909e+01 -6.28327939747183e-01 2.69874316550975e-01 -7.89728979789440e-04 +-2.03030303030303e+01 -6.36414774254115e-01 2.63668741693637e-01 -3.55882481441665e-03 +-1.96969696969697e+01 -6.37075632593907e-01 2.58589994936489e-01 -7.05559426369963e-03 +-1.90909090909091e+01 -6.19641726398570e-01 2.58152445722872e-01 -8.05212800362073e-03 +-1.84848484848485e+01 -6.23525236806652e-01 2.55031995701381e-01 -9.10085732739892e-03 +-1.78787878787879e+01 -6.09836383470179e-01 2.54176250791442e-01 -9.88341653133910e-03 +-1.72727272727273e+01 -6.06441973418654e-01 2.52107027240205e-01 -1.04908752263513e-02 +-1.66666666666667e+01 -6.03514060697741e-01 2.50106105214981e-01 -1.10217597068751e-02 +-1.60606060606061e+01 -5.88432516430827e-01 2.49495324140106e-01 -1.14765438674242e-02 +-1.54545454545455e+01 -5.82563609551396e-01 2.47651347347553e-01 -1.20263510258309e-02 +-1.48484848484848e+01 -5.73180069080250e-01 2.46237270244628e-01 -1.25860885326899e-02 +-1.42424242424242e+01 -5.56685092015852e-01 2.45547834003183e-01 -1.30236650145750e-02 +-1.36363636363636e+01 -5.41803164562146e-01 2.44569254789968e-01 -1.36941403789658e-02 +-1.30303030303030e+01 -5.31626575325417e-01 2.43171284927434e-01 -1.40945270396575e-02 +-1.24242424242424e+01 -5.08515817929842e-01 2.42916356953876e-01 -1.47880362015125e-02 +-1.18181818181818e+01 -4.91537822886469e-01 2.41914250981110e-01 -1.52333540699169e-02 +-1.12121212121212e+01 -4.62781764056597e-01 2.41274997178743e-01 -1.55478986639272e-02 +-1.06060606060606e+01 -4.48965007503383e-01 2.39879239831197e-01 -1.52029883850887e-02 +-1.00000000000000e+01 -4.38339508632038e-01 2.39000149582580e-01 -1.41250916476356e-02 +-9.39393939393939e+00 -4.11473341274159e-01 2.38634200236013e-01 -1.50959751636774e-02 +-8.78787878787879e+00 -3.68382578012957e-01 2.38400800242034e-01 -1.81687500752824e-02 +-8.18181818181818e+00 -3.09636214916806e-01 2.38462896822260e-01 -2.24429489301844e-02 +-7.57575757575758e+00 -2.59972659692307e-01 2.38707615627659e-01 -2.61246957825316e-02 +-6.96969696969697e+00 -2.11291891586963e-01 2.38832568143304e-01 -2.99719199184221e-02 +-6.36363636363636e+00 -1.60064974878214e-01 2.38999606542609e-01 -3.41237525837732e-02 +-5.75757575757576e+00 -1.13705278702707e-01 2.39373321817165e-01 -3.74588387223656e-02 +-5.15151515151515e+00 -6.66740388829792e-02 2.39485263189656e-01 -4.16454565623223e-02 +-4.54545454545454e+00 -2.47954504215887e-02 2.39719537318234e-01 -4.50599040247489e-02 +-3.93939393939394e+00 -7.20137600420318e-03 2.40035519278711e-01 -4.76360191376182e-02 +-3.33333333333333e+00 2.27441240175762e-02 2.40101343533870e-01 -4.96570820725333e-02 +-2.72727272727273e+00 7.81378018655399e-02 2.40376232409624e-01 -5.03659571881744e-02 +-2.12121212121212e+00 1.14249208884250e-01 2.40650640417911e-01 -5.01817130734515e-02 +-1.51515151515152e+00 1.48889481571089e-01 2.40676357745243e-01 -5.01637763760653e-02 +-9.09090909090912e-01 1.75778391867642e-01 2.40897148973416e-01 -5.00263833432495e-02 +-3.03030303030302e-01 1.99534556385456e-01 2.40942653694946e-01 -4.99031117951173e-02 + 3.03030303030302e-01 2.28644637246565e-01 2.41081294890857e-01 -5.00722124571789e-02 + 9.09090909090912e-01 2.61157129545046e-01 2.41179029332050e-01 -5.03819345516552e-02 + 1.51515151515152e+00 2.95146305466658e-01 2.41264616928692e-01 -5.08869087652635e-02 + 2.12121212121212e+00 3.27739097341122e-01 2.41324819144787e-01 -5.14718395750452e-02 + 2.72727272727273e+00 3.61314801522298e-01 2.41419003303581e-01 -5.18655736610087e-02 + 3.33333333333333e+00 3.94511445644247e-01 2.41577802057872e-01 -5.25164555833113e-02 + 3.93939393939394e+00 4.27781620434596e-01 2.41558886459008e-01 -5.29936956788409e-02 + 4.54545454545455e+00 4.61047098590934e-01 2.41667967082859e-01 -5.36992202954911e-02 + 5.15151515151515e+00 4.94392435631380e-01 2.41781795724278e-01 -5.41609852955795e-02 + 5.75757575757576e+00 5.27593114783967e-01 2.41740872424789e-01 -5.46915755394731e-02 + 6.36363636363637e+00 5.60588314081041e-01 2.41902599615155e-01 -5.51581310125282e-02 + 6.96969696969697e+00 5.93767927310651e-01 2.41922381851399e-01 -5.55236653540774e-02 + 7.57575757575757e+00 6.27906419743919e-01 2.41904835042616e-01 -5.60947735197290e-02 + 8.18181818181818e+00 6.59819162685898e-01 2.41991949987437e-01 -5.61651128473923e-02 + 8.78787878787879e+00 6.93947472896796e-01 2.41927878600520e-01 -5.64773669884990e-02 + 9.39393939393939e+00 7.23592010129416e-01 2.41847087197616e-01 -5.64087458210262e-02 + 1.00000000000000e+01 7.45037731680697e-01 2.41733559918786e-01 -5.56483462937478e-02 + 1.06060606060606e+01 7.72112167087316e-01 2.41285672316709e-01 -5.49870878920467e-02 + 1.12121212121212e+01 7.84603921105937e-01 2.40715394855244e-01 -5.14272990714068e-02 + 1.18181818181818e+01 7.96716412671607e-01 2.40136100543116e-01 -4.73238685616555e-02 + 1.24242424242424e+01 8.18437142936489e-01 2.39064395805613e-01 -4.39721674841750e-02 + 1.30303030303030e+01 8.48697187253392e-01 2.37748267685342e-01 -4.18854038481025e-02 + 1.36363636363636e+01 8.89429940363626e-01 2.35925135409503e-01 -4.09560493412999e-02 + 1.42424242424242e+01 9.17505408487427e-01 2.35198278974278e-01 -3.96263954981269e-02 + 1.48484848484848e+01 9.44651091794366e-01 2.34573860211685e-01 -3.85299174728073e-02 + 1.54545454545455e+01 9.71503377747835e-01 2.34242818073216e-01 -3.76988833951511e-02 + 1.60606060606061e+01 9.88671974031951e-01 2.34845270270224e-01 -3.67669562130197e-02 + 1.66666666666667e+01 1.01522617780448e+00 2.35154237744790e-01 -3.58874996651936e-02 + 1.72727272727273e+01 1.04714212720244e+00 2.35217788219683e-01 -3.54562680856406e-02 + 1.78787878787879e+01 1.05258940950915e+00 2.37630600212485e-01 -3.50432300832069e-02 + 1.84848484848485e+01 1.04641041167444e+00 2.39487448725994e-01 -3.39682136057189e-02 + 1.90909090909091e+01 1.04548582652706e+00 2.40537546223849e-01 -3.31868850458326e-02 + 1.96969696969697e+01 1.04208821549574e+00 2.41971739173812e-01 -3.28341174067294e-02 + 2.03030303030303e+01 1.03211442789203e+00 2.44106104988286e-01 -3.31280347874651e-02 + 2.09090909090909e+01 1.01747076293083e+00 2.46539214218391e-01 -3.34104756372589e-02 + 2.15151515151515e+01 1.00707706524727e+00 2.48308475718426e-01 -3.41517404488971e-02 + 2.21212121212121e+01 1.00293091076034e+00 2.48966694019453e-01 -3.54193907780027e-02 + 2.27272727272727e+01 1.00301102075330e+00 2.49724837165621e-01 -3.71478880642702e-02 + 2.33333333333333e+01 1.00425677146280e+00 2.51750684193556e-01 -3.90520757583011e-02 + 2.39393939393939e+01 1.00565809075023e+00 2.53719809636718e-01 -4.14540937173286e-02 + 2.45454545454545e+01 9.94603563617458e-01 2.57232916655470e-01 -4.45843914542878e-02 + 2.51515151515151e+01 9.74810498153267e-01 2.62759270315639e-01 -4.90113121558897e-02 + 2.57575757575758e+01 9.52576626122456e-01 2.68971688780638e-01 -5.40144826897743e-02 + 2.63636363636364e+01 9.30111707488985e-01 2.75324472044390e-01 -5.91043312449866e-02 + 2.69696969696970e+01 9.07799071995632e-01 2.81582773162869e-01 -6.42803762278471e-02 + 2.75757575757576e+01 8.85585478897676e-01 2.87803188703051e-01 -6.94942776348311e-02 + 2.81818181818182e+01 8.56168087039935e-01 2.94017102123890e-01 -7.47953653297736e-02 + 2.87878787878788e+01 8.22322946343933e-01 3.00213656970561e-01 -8.03489806923896e-02 + 2.93939393939394e+01 7.88933313705118e-01 3.06550697446481e-01 -8.61057886151857e-02 + 3.00000000000000e+01 7.64342643757368e-01 3.13901889952292e-01 -8.87922594075948e-02 + 3.30000000000000e+01 6.82326400575840e-01 3.51965371141101e-01 -9.63912444023070e-02 + 3.60000000000000e+01 6.43619696305046e-01 3.79834260845586e-01 -1.04001629985344e-01 + 3.90000000000000e+01 5.96219120438176e-01 4.10427306456802e-01 -1.11843223959061e-01 + 4.20000000000000e+01 5.61364211908924e-01 4.44572073786636e-01 -1.16531623127793e-01 + 4.50000000000000e+01 5.29909908075674e-01 4.79722279253603e-01 -1.20945604420996e-01 + 4.80000000000000e+01 4.96892905365780e-01 5.14840125184943e-01 -1.25273698324989e-01 + 5.10000000000000e+01 4.62979126881824e-01 5.49900754115845e-01 -1.30130760270227e-01 + 5.40000000000000e+01 4.28225703753605e-01 5.84441474717317e-01 -1.34906445469772e-01 + 5.70000000000000e+01 3.94032023910220e-01 6.20312536057208e-01 -1.39846415213372e-01 + 6.00000000000000e+01 3.61134954811738e-01 6.59233633620477e-01 -1.44780094337736e-01 + 6.30000000000000e+01 3.23967591694384e-01 6.86398210435481e-01 -1.50390903136212e-01 + 6.60000000000000e+01 2.87645465775204e-01 7.16427251205100e-01 -1.55997460924539e-01 + 6.90000000000000e+01 2.52214839655964e-01 7.50199145510662e-01 -1.61607037074838e-01 + 7.20000000000000e+01 2.15922621493795e-01 7.74036067993426e-01 -1.67520259383532e-01 + 7.50000000000000e+01 1.78986669583809e-01 7.94270560368256e-01 -1.73529970733352e-01 + 7.80000000000000e+01 1.42017936804604e-01 8.18869295313612e-01 -1.79627958035389e-01 + 8.10000000000000e+01 1.06106549837209e-01 8.40272257139826e-01 -1.85596499467511e-01 + 8.40000000000000e+01 7.22666489651497e-02 8.48219785628372e-01 -1.91039596245206e-01 + 8.70000000000000e+01 3.70241940988868e-02 8.61300548479630e-01 -1.96626734832606e-01 + 9.00000000000000e+01 4.65804331113880e-05 8.79778369588460e-01 -2.02219866390016e-01 + 9.30000000000000e+01 -2.58305981917443e-02 8.61302474154264e-01 -2.03179269638133e-01 + 9.60000000000000e+01 -5.04914195634060e-02 8.48220377533355e-01 -2.04141436510551e-01 + 9.90000000000000e+01 -7.41707023855342e-02 8.40271528939931e-01 -2.05502436816416e-01 + 1.02000000000000e+02 -9.93087619375106e-02 8.18866657275891e-01 -2.04899051903966e-01 + 1.05000000000000e+02 -1.25191044373525e-01 7.94267947342445e-01 -2.03691082281850e-01 + 1.08000000000000e+02 -1.51050377575502e-01 7.74033457752937e-01 -2.02765502896305e-01 + 1.11000000000000e+02 -1.76442504791491e-01 7.50196788134341e-01 -2.01425055013987e-01 + 1.14000000000000e+02 -2.01198695199881e-01 7.16429147302697e-01 -1.99805459801515e-01 + 1.17000000000000e+02 -2.26578809248206e-01 6.86404301524827e-01 -1.98188958874656e-01 + 1.20000000000000e+02 -2.52550413477987e-01 6.59244636582719e-01 -1.96244843481152e-01 + 1.23000000000000e+02 -2.75632505682069e-01 6.20319739905243e-01 -1.95930319558272e-01 + 1.26000000000000e+02 -2.99621486952799e-01 5.84443684607224e-01 -1.95317431931624e-01 + 1.29000000000000e+02 -3.24002332263754e-01 5.49898060377138e-01 -1.93596611200551e-01 + 1.32000000000000e+02 -3.48597046989710e-01 5.13532693864376e-01 -1.96631174118920e-01 + 1.35000000000000e+02 -3.73094479815103e-01 4.76563277197254e-01 -1.99853549416028e-01 + 1.38000000000000e+02 -3.96522832095462e-01 4.39649071459266e-01 -2.03076404763569e-01 + 1.41000000000000e+02 -4.23375481832200e-01 4.04459391688718e-01 -2.12270136865847e-01 + 1.44000000000000e+02 -4.58257480061078e-01 3.72815245859237e-01 -2.35129914411366e-01 + 1.47000000000000e+02 -4.87044073506756e-01 3.50520138879720e-01 -2.58176681847062e-01 + 1.50000000000000e+02 -5.95525703190811e-01 3.06719861751038e-01 -2.84625803193262e-01 + 1.53000000000000e+02 -6.08159387583293e-01 2.79636730419564e-01 -3.12072447752129e-01 + 1.56000000000000e+02 -6.20793071975774e-01 2.50824470718743e-01 -3.35525659322540e-01 + 1.59000000000000e+02 -6.33426756368255e-01 2.20190694133058e-01 -3.58978870892951e-01 + 1.62000000000000e+02 -5.73865433189955e-01 2.15565143234275e-01 -3.31909040485704e-01 + 1.65000000000000e+02 -4.78196687691120e-01 2.27684531962573e-01 -2.79572455938461e-01 + 1.68000000000000e+02 -3.82527942192283e-01 2.26331128039531e-01 -2.00150825830322e-01 + 1.71000000000000e+02 -2.86718246943228e-01 2.20780690064837e-01 -1.39519287647810e-01 + 1.74000000000000e+02 -1.90626645613215e-01 2.24262469468006e-01 -9.25085198031098e-02 + 1.77000000000000e+02 -9.45350437850543e-02 2.26370186593820e-01 -4.55002248779671e-02 + 1.80000000000000e+02 3.94881162172094e-05 2.27151529245548e-01 -3.94881162172094e-05 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_05.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_05.dat new file mode 100644 index 0000000..0df6afe --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_05.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF05_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF05_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-3.705851 alpha0 ! 0-lift angle of attack, depends on airfoil. +17.517914 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-17.222993 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.670092 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.101387 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.182988 Cd0 ! 2D drag coefficient value at 0-lift. +-0.065386 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 1.70145295538027e-05 1.70511408351162e-01 -1.70145295538027e-05 +-1.77000000000000e+02 1.18723723595649e-01 1.69728043737518e-01 5.64221265726058e-02 +-1.74000000000000e+02 2.39066072210225e-01 1.67602438241121e-01 1.14281749784800e-01 +-1.71000000000000e+02 3.59408287684638e-01 1.64050962129110e-01 1.72143806505091e-01 +-1.68000000000000e+02 4.79402142970896e-01 1.71446733227206e-01 1.81297376452858e-01 +-1.65000000000000e+02 5.99224625479392e-01 1.75363630268205e-01 1.66770316741539e-01 +-1.62000000000000e+02 7.19044561097182e-01 1.64340507032179e-01 1.52947834454429e-01 +-1.59000000000000e+02 7.99958666346354e-01 1.75497391233545e-01 1.38506921227829e-01 +-1.56000000000000e+02 8.03069933063709e-01 2.17126646288132e-01 1.23009994902699e-01 +-1.53000000000000e+02 8.06183534878189e-01 2.57596962255641e-01 1.16470184738391e-01 +-1.50000000000000e+02 8.09297022673010e-01 2.96965942958416e-01 1.10959047298986e-01 +-1.47000000000000e+02 6.84099580986353e-01 3.51329769884174e-01 1.01814356033631e-01 +-1.44000000000000e+02 6.43267540442919e-01 3.87148624681671e-01 9.31197145381947e-02 +-1.41000000000000e+02 5.95851905848986e-01 4.31516333033736e-01 8.45819939787462e-02 +-1.38000000000000e+02 5.58375940291218e-01 4.80348855944498e-01 8.09009595601688e-02 +-1.35000000000000e+02 5.25224343125994e-01 5.31414316673923e-01 7.95317915607710e-02 +-1.32000000000000e+02 4.90923395366456e-01 5.82631151117470e-01 7.81626802213602e-02 +-1.29000000000000e+02 4.56533496046404e-01 6.33060265295049e-01 7.75792365688625e-02 +-1.26000000000000e+02 4.22403504249265e-01 6.81191441889532e-01 7.89112451982926e-02 +-1.23000000000000e+02 3.88693985468323e-01 7.30758739346758e-01 8.01701346385721e-02 +-1.20000000000000e+02 3.55957854278122e-01 7.83644350430577e-01 8.14160078928261e-02 +-1.17000000000000e+02 3.19564214734672e-01 8.22020620449402e-01 8.34679382178900e-02 +-1.14000000000000e+02 2.83805874478852e-01 8.63506249600342e-01 8.55131640255925e-02 +-1.11000000000000e+02 2.48716450631633e-01 9.09088521514880e-01 8.75799938745935e-02 +-1.08000000000000e+02 2.12832712111473e-01 9.42024899641266e-01 8.92814418847768e-02 +-1.05000000000000e+02 1.76391483858379e-01 9.70120382145066e-01 9.07794982681721e-02 +-1.02000000000000e+02 1.39925619640586e-01 1.00302548204003e+00 9.23237180318234e-02 +-9.90000000000000e+01 1.04406170867844e-01 1.03135990774487e+00 9.33647498776490e-02 +-9.60000000000000e+01 7.07556554791918e-02 1.04265546878400e+00 9.32891254108776e-02 +-9.30000000000000e+01 3.60498389559819e-02 1.05966320156939e+00 9.32620912594416e-02 +-9.00000000000000e+01 1.34641263639800e-05 1.08275594518728e+00 9.32404429366757e-02 +-8.70000000000000e+01 -3.60216215035110e-02 1.05966085188414e+00 8.98407491083187e-02 +-8.40000000000000e+01 -7.07221351155918e-02 1.04265474799279e+00 8.64526544570289e-02 +-8.10000000000000e+01 -1.04367574833457e-01 1.03136079487380e+00 8.31090118154438e-02 +-7.80000000000000e+01 -1.39885207165714e-01 1.00302868777105e+00 7.88773501140639e-02 +-7.50000000000000e+01 -1.76351062158141e-01 9.70123549763220e-01 7.42552508323783e-02 +-7.20000000000000e+01 -2.12792280402844e-01 9.42028063023782e-01 6.96862341923756e-02 +-6.90000000000000e+01 -2.48660964789313e-01 9.09091376499224e-01 6.50290394015460e-02 +-6.60000000000000e+01 -2.83705128785387e-01 8.63503960728501e-01 6.01986024573453e-02 +-6.30000000000000e+01 -3.19418141150032e-01 8.22013276766091e-01 5.54149012028778e-02 +-6.00000000000000e+01 -3.55765871508778e-01 7.83631076562082e-01 5.06784184460622e-02 +-5.70000000000000e+01 -3.88547539832730e-01 7.30750086360500e-01 4.64425589025442e-02 +-5.40000000000000e+01 -4.22302583184577e-01 6.81188794495645e-01 4.22467812604339e-02 +-5.10000000000000e+01 -4.56478153643438e-01 6.33063485554774e-01 3.80959015248258e-02 +-4.80000000000000e+01 -4.90883320337473e-01 5.82636487915555e-01 3.46616112277290e-02 +-4.50000000000000e+01 -5.25184305791497e-01 5.31419515102658e-01 3.15789285371013e-02 +-4.20000000000000e+01 -5.95835870968744e-01 4.80353842275715e-01 2.85197145464657e-02 +-3.90000000000000e+01 -6.70810963977152e-01 4.31520690605094e-01 2.62726996676212e-02 +-3.60000000000000e+01 -7.55726844535504e-01 3.87152519043787e-01 2.59241303635209e-02 +-3.30000000000000e+01 -8.34058826014882e-01 3.51330892809880e-01 3.53898498868525e-02 +-3.00000000000000e+01 -9.01736967901487e-01 3.13164538415259e-01 4.54953253602123e-02 +-2.93939393939394e+01 -9.01910164192205e-01 3.14031986152208e-01 4.25398323882156e-02 +-2.87878787878788e+01 -9.02414944128719e-01 3.13922688480425e-01 3.95843394162188e-02 +-2.81818181818182e+01 -9.03224648367559e-01 3.12936570070066e-01 3.66288464442220e-02 +-2.75757575757576e+01 -9.17581619732611e-01 3.08749571631046e-01 3.35747570925712e-02 +-2.69696969696970e+01 -9.37946996171735e-01 3.02271528966017e-01 3.04784121580402e-02 +-2.63636363636364e+01 -9.58664046932455e-01 2.95684658934441e-01 2.73820672235092e-02 +-2.57575757575758e+01 -9.79756472543334e-01 2.88996991674602e-01 2.42857222889782e-02 +-2.51515151515151e+01 -1.00125015215345e+00 2.82215786254392e-01 2.11893773544473e-02 +-2.45454545454545e+01 -1.01749158156998e+00 2.75347621051391e-01 1.80930324199163e-02 +-2.39393939393939e+01 -1.03248714655958e+00 2.68353544527828e-01 1.49813955009518e-02 +-2.33333333333333e+01 -1.04975861987404e+00 2.60859648052703e-01 1.17321306528902e-02 +-2.27272727272727e+01 -1.06774914588222e+00 2.53258871527748e-01 8.48286580482853e-03 +-2.21212121212121e+01 -1.08652561270928e+00 2.45555778058290e-01 5.23360095676689e-03 +-2.15151515151515e+01 -1.09789634590612e+00 2.37754674639920e-01 1.68974547415144e-03 +-2.09090909090909e+01 -1.10468196950053e+00 2.29859629877939e-01 -9.31796022322321e-04 +-2.03030303030303e+01 -1.11146759309494e+00 2.21874490255740e-01 -4.27125683688078e-03 +-1.96969696969697e+01 -1.11011790242275e+00 2.15271595840243e-01 -8.48827396117173e-03 +-1.90909090909091e+01 -1.08913286992150e+00 2.14152882569034e-01 -9.69006890565761e-03 +-1.84848484848485e+01 -1.09112616163323e+00 2.09915480891905e-01 -1.09548104281579e-02 +-1.78787878787879e+01 -1.07409565570772e+00 2.08315187261054e-01 -1.19837210720760e-02 +-1.72727272727273e+01 -1.06783240479111e+00 2.05323507180899e-01 -1.28352883293962e-02 +-1.66666666666667e+01 -1.06207199749325e+00 2.02411146633109e-01 -1.36043152320570e-02 +-1.60606060606061e+01 -1.03208298046523e+00 2.01113294455849e-01 -1.42913125971981e-02 +-1.54545454545455e+01 -9.93548773830059e-01 1.98418063982538e-01 -1.49729503950408e-02 +-1.48484848484848e+01 -9.53530915226003e-01 1.96225603132480e-01 -1.56533160080076e-02 +-1.42424242424242e+01 -9.10468778007094e-01 1.94873247273574e-01 -1.62020026426881e-02 +-1.36363636363636e+01 -8.68191806589509e-01 1.93212957482341e-01 -1.69320206313883e-02 +-1.30303030303030e+01 -8.27992204952709e-01 1.91085392374834e-01 -1.73244308296067e-02 +-1.24242424242424e+01 -7.82255717623328e-01 1.90280638154904e-01 -1.80328016337069e-02 +-1.18181818181818e+01 -7.38831149753499e-01 1.88633691354016e-01 -1.84700241834583e-02 +-1.12121212121212e+01 -6.89279335045402e-01 1.87459832811423e-01 -1.87578387887000e-02 +-1.06060606060606e+01 -6.47074201432547e-01 1.85411683455984e-01 -1.83348182982048e-02 +-1.00000000000000e+01 -6.06432192960957e-01 1.83960447529310e-01 -1.71217020468999e-02 +-9.39393939393939e+00 -5.56499926346657e-01 1.83213276607492e-01 -1.90762514915795e-02 +-8.78787878787879e+00 -4.98711478638913e-01 1.82618660930529e-01 -2.32964573819629e-02 +-8.18181818181818e+00 -4.33509075949333e-01 1.82364128437645e-01 -2.88116939695414e-02 +-7.57575757575758e+00 -3.72044653979786e-01 1.82405802873814e-01 -3.39332198031769e-02 +-6.96969696969697e+00 -3.10783913947713e-01 1.82346110512790e-01 -3.93380733877864e-02 +-6.36363636363636e+00 -2.48436456940985e-01 1.82334305876124e-01 -4.50712685195075e-02 +-5.75757575757576e+00 -1.88390982264593e-01 1.82590989672036e-01 -4.98603477607253e-02 +-5.15151515151515e+00 -1.28106895168198e-01 1.82593686150123e-01 -5.54717031641780e-02 +-4.54545454545454e+00 -7.03027335653976e-02 1.82736617873084e-01 -6.02507259443752e-02 +-3.93939393939394e+00 -2.03788898083461e-02 1.82980164756960e-01 -6.41255266496011e-02 +-3.33333333333333e+00 3.25057399730709e-02 1.83001333276912e-01 -6.73968759855104e-02 +-2.72727272727273e+00 9.42116512203816e-02 1.83262220203877e-01 -6.91328281803392e-02 +-2.12121212121212e+00 1.51026156143983e-01 1.83522372121260e-01 -6.94272869322935e-02 +-1.51515151515152e+00 2.07392434366561e-01 1.83523116579555e-01 -6.99362265434177e-02 +-9.09090909090912e-01 2.59202752888647e-01 1.83755837168269e-01 -7.03181349248675e-02 +-3.03030303030302e-01 3.09233785842319e-01 1.83798909626762e-01 -7.07070218270847e-02 + 3.03030303030302e-01 3.61893210153141e-01 1.83953770861699e-01 -7.14377852641217e-02 + 9.09090909090912e-01 4.16160625555628e-01 1.84066835155473e-01 -7.23209738666405e-02 + 1.51515151515152e+00 4.71063442154756e-01 1.84174542816821e-01 -7.33930880824656e-02 + 2.12121212121212e+00 5.25285433576651e-01 1.84256302215351e-01 -7.45442517175736e-02 + 2.72727272727273e+00 5.79906243316403e-01 1.84383474049642e-01 -7.54308834066016e-02 + 3.33333333333333e+00 6.34304944965251e-01 1.84589158855106e-01 -7.65948909012672e-02 + 3.93939393939394e+00 6.88701439511946e-01 1.84594976788333e-01 -7.75355228480234e-02 + 4.54545454545455e+00 7.43012398673987e-01 1.84755340484934e-01 -7.87004711550150e-02 + 5.15151515151515e+00 7.97325517580735e-01 1.84924415962002e-01 -7.95643647412694e-02 + 5.75757575757576e+00 8.51492986222137e-01 1.84923396935904e-01 -8.04714548544247e-02 + 6.36363636363637e+00 9.05486899142224e-01 1.85161454053305e-01 -8.12725458412124e-02 + 6.96969696969697e+00 9.59515723233272e-01 1.85241519773324e-01 -8.19351829209107e-02 + 7.57575757575757e+00 1.01382967921895e+00 1.85295013603419e-01 -8.27745825261331e-02 + 8.18181818181818e+00 1.06702644429367e+00 1.85476472796857e-01 -8.30078585577551e-02 + 8.78787878787879e+00 1.12110947063058e+00 1.85501416538723e-01 -8.34734773885794e-02 + 9.39393939393939e+00 1.17289898384048e+00 1.85533489723549e-01 -8.34522247913145e-02 + 1.00000000000000e+01 1.22073673873995e+00 1.85542027451715e-01 -8.26047371525834e-02 + 1.06060606060606e+01 1.27073966042425e+00 1.85246986546499e-01 -8.17986073574083e-02 + 1.12121212121212e+01 1.31362390992926e+00 1.84868208881011e-01 -7.76303267338079e-02 + 1.18181818181818e+01 1.35582619151283e+00 1.84584579246301e-01 -7.28293842809297e-02 + 1.24242424242424e+01 1.40200197843528e+00 1.83874100111916e-01 -6.89050022967406e-02 + 1.30303030303030e+01 1.45194780852643e+00 1.82943500602848e-01 -6.64161308543009e-02 + 1.36363636363636e+01 1.50608756713443e+00 1.81582441874278e-01 -6.50506927318157e-02 + 1.42424242424242e+01 1.54110979214009e+00 1.81468798988884e-01 -6.32968641812496e-02 + 1.48484848484848e+01 1.57393067346111e+00 1.81446388272135e-01 -6.19021536884374e-02 + 1.54545454545455e+01 1.60567882187827e+00 1.81829924203171e-01 -6.07727850604024e-02 + 1.60606060606061e+01 1.62526825029483e+00 1.83353578564253e-01 -5.95245583925873e-02 + 1.66666666666667e+01 1.65413313457361e+00 1.84783317711863e-01 -5.83861245579816e-02 + 1.72727272727273e+01 1.69004910730861e+00 1.85903496220987e-01 -5.77510434643883e-02 + 1.78787878787879e+01 1.69361130284390e+00 1.89797054926538e-01 -5.71364087597366e-02 + 1.84848484848485e+01 1.67970555350745e+00 1.93169022706525e-01 -5.60196658353769e-02 + 1.90909090909091e+01 1.67119260531143e+00 1.95594344393809e-01 -5.52945791076576e-02 + 1.96969696969697e+01 1.66001394993310e+00 1.98453777120129e-01 -5.50494743175718e-02 + 2.03030303030303e+01 1.64380314882516e+00 2.02103977521967e-01 -5.56120339923232e-02 + 2.09090909090909e+01 1.62461502671661e+00 2.06068003104825e-01 -5.62486190631740e-02 + 2.15151515151515e+01 1.61000800032979e+00 2.09201460133979e-01 -5.73961089073063e-02 + 2.21212121212121e+01 1.60213528306577e+00 2.10933755357677e-01 -5.91304002752693e-02 + 2.27272727272727e+01 1.59881811196550e+00 2.13049592152213e-01 -6.13806944441491e-02 + 2.33333333333333e+01 1.59675740035085e+00 2.17140075443495e-01 -6.38307546495427e-02 + 2.39393939393939e+01 1.59486437815596e+00 2.21169417791245e-01 -6.68441279377045e-02 + 2.45454545454545e+01 1.58215438461530e+00 2.26890015601961e-01 -7.08044376258036e-02 + 2.51515151515151e+01 1.55842099367267e+00 2.34783715977151e-01 -7.62603798654457e-02 + 2.57575757575758e+01 1.52637480699253e+00 2.43416934644345e-01 -8.24002298530283e-02 + 2.63636363636364e+01 1.49407957213536e+00 2.52201454377416e-01 -8.86714764619739e-02 + 2.69696969696970e+01 1.46194848528124e+00 2.60884130561299e-01 -9.50737503056223e-02 + 2.75757575757576e+01 1.42992415752999e+00 2.69525969381194e-01 -1.01550710845748e-01 + 2.81818181818182e+01 1.38697419816865e+00 2.78162898269724e-01 -1.08153493470360e-01 + 2.87878787878788e+01 1.33750813017487e+00 2.86786013297160e-01 -1.15070891540286e-01 + 2.93939393939394e+01 1.28884250764499e+00 2.95560559635257e-01 -1.22262424353879e-01 + 3.00000000000000e+01 1.25111171924427e+00 3.05428273807788e-01 -1.25811094250566e-01 + 3.30000000000000e+01 1.11098026452630e+00 3.54533216230492e-01 -1.36579452164918e-01 + 3.60000000000000e+01 1.01804572399105e+00 3.95120407161386e-01 -1.47369147078704e-01 + 3.90000000000000e+01 9.15759379405487e-01 4.38447471224641e-01 -1.58398261993356e-01 + 4.20000000000000e+01 8.28934145901396e-01 4.86141046611072e-01 -1.65360997904751e-01 + 4.50000000000000e+01 7.46492240389145e-01 5.35160461735319e-01 -1.71772592758285e-01 + 4.80000000000000e+01 6.99869096771059e-01 5.84189005655673e-01 -1.78082361627705e-01 + 5.10000000000000e+01 6.52184288804731e-01 6.33063485554774e-01 -1.84960944350330e-01 + 5.40000000000000e+01 6.03447553426362e-01 6.81188794495645e-01 -1.91710911249744e-01 + 5.70000000000000e+01 5.55311485542349e-01 7.30750086360500e-01 -1.98633942484654e-01 + 6.00000000000000e+01 5.08566789701813e-01 7.83631076562083e-01 -2.05550615345691e-01 + 6.30000000000000e+01 4.56569429252100e-01 8.22013276766091e-01 -2.13277621748775e-01 + 6.60000000000000e+01 4.05479512012414e-01 8.63503960728501e-01 -2.21001702235375e-01 + 6.90000000000000e+01 3.55345368903866e-01 9.09091376499224e-01 -2.28730396276098e-01 + 7.20000000000000e+01 3.04085412032482e-01 9.42028063023782e-01 -2.36794440422499e-01 + 7.50000000000000e+01 2.52033684002435e-01 9.70123549763220e-01 -2.44969412719543e-01 + 7.80000000000000e+01 1.99946767346639e-01 1.00302868777105e+00 -2.53241681793491e-01 + 8.10000000000000e+01 1.49205072503317e-01 1.03136079487380e+00 -2.61316133450914e-01 + 8.40000000000000e+01 1.01118921768754e-01 1.04265474799279e+00 -2.68705212430464e-01 + 8.70000000000000e+01 5.15246410254046e-02 1.05966085188414e+00 -2.76251888049188e-01 + 9.00000000000000e+01 2.57346259031827e-05 1.08275594518728e+00 -2.83807723942736e-01 + 9.30000000000000e+01 -3.60148081261650e-02 1.05966320156939e+00 -2.85383837004786e-01 + 9.60000000000000e+01 -7.07200800726831e-02 1.04265546878400e+00 -2.86964352976087e-01 + 9.90000000000000e+01 -1.04370041845019e-01 1.03135990774487e+00 -2.88975898988570e-01 + 1.02000000000000e+02 -1.39889356724814e-01 1.00302548204003e+00 -2.88466917230779e-01 + 1.05000000000000e+02 -1.76355209345785e-01 9.70120382145065e-01 -2.87106797406551e-01 + 1.08000000000000e+02 -2.12796425701780e-01 9.42024899641266e-01 -2.86051628844239e-01 + 1.11000000000000e+02 -2.48663479010419e-01 9.09088521514879e-01 -2.84470623316146e-01 + 1.14000000000000e+02 -2.83703086318617e-01 8.63506249600341e-01 -2.82424213034577e-01 + 1.17000000000000e+02 -3.19411542215827e-01 8.22020620449402e-01 -2.80382532395809e-01 + 1.20000000000000e+02 -3.55754883337232e-01 7.83644350430577e-01 -2.77994960156191e-01 + 1.23000000000000e+02 -3.88541295211524e-01 7.30758739346757e-01 -2.77645164590397e-01 + 1.26000000000000e+02 -4.22300647782403e-01 6.81191441889532e-01 -2.76980037024330e-01 + 1.29000000000000e+02 -4.56480534580408e-01 6.33060265295049e-01 -2.75148195135464e-01 + 1.32000000000000e+02 -4.90887147033928e-01 5.82631151117470e-01 -2.79196952277270e-01 + 1.35000000000000e+02 -5.25188138122307e-01 5.31414316673923e-01 -2.83878043652351e-01 + 1.38000000000000e+02 -5.58339698351782e-01 4.80348855944498e-01 -2.88559868755976e-01 + 1.41000000000000e+02 -5.95815729575291e-01 4.31516333033736e-01 -3.00650237164977e-01 + 1.44000000000000e+02 -6.43231666230045e-01 3.87148624681671e-01 -3.29551688081366e-01 + 1.47000000000000e+02 -6.84063634414910e-01 3.51329769884174e-01 -3.58899464021968e-01 + 1.50000000000000e+02 -8.09262993613903e-01 2.96965942958416e-01 -3.92320288436130e-01 + 1.53000000000000e+02 -8.06149764261573e-01 2.57597111305184e-01 -4.20769444054601e-01 + 1.56000000000000e+02 -8.03036534909243e-01 2.17126986757849e-01 -4.41986777380497e-01 + 1.59000000000000e+02 -7.99923305556913e-01 1.75496726481233e-01 -4.63204110706392e-01 + 1.62000000000000e+02 -7.18990126377523e-01 1.64342669895160e-01 -4.35444258298820e-01 + 1.65000000000000e+02 -5.99136280964893e-01 1.75363630268205e-01 -3.83190172096946e-01 + 1.68000000000000e+02 -4.79282435552263e-01 1.71447163995189e-01 -2.89536387680947e-01 + 1.71000000000000e+02 -3.59276658546865e-01 1.64050983813890e-01 -2.15201798838022e-01 + 1.74000000000000e+02 -2.38967011262699e-01 1.67602438241121e-01 -1.42883986768215e-01 + 1.77000000000000e+02 -1.18657363661260e-01 1.69728043737518e-01 -7.05699552819095e-02 + 1.80000000000000e+02 1.70145295538027e-05 1.70511408351162e-01 -1.70145295538027e-05 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_06.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_06.dat new file mode 100644 index 0000000..290ca44 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_06.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF06_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF06_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-3.629687 alpha0 ! 0-lift angle of attack, depends on airfoil. +16.852674 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-15.195005 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.880382 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.203482 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.131200 Cd0 ! 2D drag coefficient value at 0-lift. +-0.075342 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 4.11424186832239e-06 1.23550153573951e-01 -4.11424186832239e-06 +-1.77000000000000e+02 1.29065548873212e-01 1.23043160581867e-01 7.52915183758213e-02 +-1.74000000000000e+02 2.59690008066997e-01 1.21660145650731e-01 1.51916681585648e-01 +-1.71000000000000e+02 3.90314426123572e-01 1.19325896124867e-01 2.28544004730352e-01 +-1.68000000000000e+02 5.20606571558825e-01 1.27653158028924e-01 2.45406450476918e-01 +-1.65000000000000e+02 6.50733450700638e-01 1.35388782217635e-01 2.32959111926556e-01 +-1.62000000000000e+02 7.80859542912529e-01 1.32612835094706e-01 2.21110680589719e-01 +-1.59000000000000e+02 8.73804474433753e-01 1.50950852697425e-01 2.09599550883394e-01 +-1.56000000000000e+02 8.92403633182208e-01 1.98772932188270e-01 1.98700305264621e-01 +-1.53000000000000e+02 9.11003513421299e-01 2.46236926488518e-01 1.91099710570871e-01 +-1.50000000000000e+02 9.29603358430971e-01 2.93360633837899e-01 1.84373371295350e-01 +-1.47000000000000e+02 8.22582226472957e-01 3.52494092898568e-01 1.70607308949232e-01 +-1.44000000000000e+02 7.72791075253055e-01 4.01402088042772e-01 1.57223445288134e-01 +-1.41000000000000e+02 7.18460591039065e-01 4.55357268678277e-01 1.43972946666469e-01 +-1.38000000000000e+02 6.73795486464737e-01 5.13597511581632e-01 1.38052483156805e-01 +-1.35000000000000e+02 6.33513855149512e-01 5.74009468111769e-01 1.35698176349532e-01 +-1.32000000000000e+02 5.92442678124711e-01 6.34575957131335e-01 1.33343917696836e-01 +-1.29000000000000e+02 5.51310791263008e-01 6.94217588791740e-01 1.32314382707129e-01 +-1.26000000000000e+02 5.10357580061316e-01 7.51477640263488e-01 1.34226532760174e-01 +-1.23000000000000e+02 4.69692777977767e-01 8.09727379821633e-01 1.36076539776134e-01 +-1.20000000000000e+02 4.29695498858587e-01 8.70278540852242e-01 1.37915534425172e-01 +-1.17000000000000e+02 3.86166899782118e-01 9.16826634448375e-01 1.40973209326116e-01 +-1.14000000000000e+02 3.43074211380147e-01 9.65526576061866e-01 1.44025186145943e-01 +-1.11000000000000e+02 3.00439972245686e-01 1.01708060126403e+00 1.47095523956300e-01 +-1.08000000000000e+02 2.56950245439094e-01 1.05571979314668e+00 1.49561151309453e-01 +-1.05000000000000e+02 2.12922635840763e-01 1.08892832907849e+00 1.51706802650736e-01 +-1.02000000000000e+02 1.68878123111399e-01 1.12550536793124e+00 1.53891687641688e-01 +-9.90000000000000e+01 1.25805122843970e-01 1.15636706411639e+00 1.55279386058308e-01 +-9.60000000000000e+01 8.46631628708779e-02 1.17020938593852e+00 1.54979032909407e-01 +-9.30000000000000e+01 4.27962534233131e-02 1.18808182892583e+00 1.54719976030375e-01 +-9.00000000000000e+01 7.21428059977573e-07 1.21029080247743e+00 1.54465341689320e-01 +-8.70000000000000e+01 -4.27934082606364e-02 1.18807968181527e+00 1.49133202394014e-01 +-8.40000000000000e+01 -8.46555042954867e-02 1.17020872683889e+00 1.43810921086727e-01 +-8.10000000000000e+01 -1.25792844039721e-01 1.15636787516855e+00 1.38526418957788e-01 +-7.80000000000000e+01 -1.68864183838944e-01 1.12550830142352e+00 1.31891831358038e-01 +-7.50000000000000e+01 -2.12908688640395e-01 1.08893123022476e+00 1.24627644082837e-01 +-7.20000000000000e+01 -2.56936289727911e-01 1.05572269070154e+00 1.17408571046578e-01 +-6.90000000000000e+01 -3.00412185887105e-01 1.01708321684380e+00 1.10029022333199e-01 +-6.60000000000000e+01 -3.43004828822890e-01 9.65524476764295e-01 1.02331161934956e-01 +-6.30000000000000e+01 -3.86055863344571e-01 9.16819895817814e-01 9.46730215846788e-02 +-6.00000000000000e+01 -4.29542300624212e-01 8.70266363187482e-01 8.70550260248291e-02 +-5.70000000000000e+01 -4.69581400246333e-01 8.09719429537617e-01 8.01706089458095e-02 +-5.40000000000000e+01 -5.10288040669934e-01 7.51475205522893e-01 7.33202569475783e-02 +-5.10000000000000e+01 -5.51283136135278e-01 6.94220552412685e-01 6.65080630895178e-02 +-4.80000000000000e+01 -5.92429047970836e-01 6.34580875331282e-01 6.07905470101237e-02 +-4.50000000000000e+01 -6.33500256938697e-01 5.74014268844661e-01 5.56147830864100e-02 +-4.20000000000000e+01 -7.11281861125309e-01 5.13602131974390e-01 5.04589649021236e-02 +-3.90000000000000e+01 -7.93446160412880e-01 4.55361328835483e-01 4.61815861567301e-02 +-3.60000000000000e+01 -8.85276853562857e-01 4.01405754635558e-01 4.38940505419096e-02 +-3.30000000000000e+01 -9.72567954704422e-01 3.52496110021697e-01 4.70867186056060e-02 +-3.00000000000000e+01 -1.05254714890014e+00 3.02345168891601e-01 5.07258347407906e-02 +-2.93939393939394e+01 -1.05652667790242e+00 2.98950080180855e-01 4.73221035589307e-02 +-2.87878787878788e+01 -1.06078801548377e+00 2.94724868394867e-01 4.39183723770708e-02 +-2.81818181818182e+01 -1.06530850421885e+00 2.90011923683015e-01 4.05146411952109e-02 +-2.75757575757576e+01 -1.07888647086256e+00 2.83516109251804e-01 3.70804460279749e-02 +-2.69696969696970e+01 -1.09651825948731e+00 2.75953109154162e-01 3.36331948696017e-02 +-2.63636363636364e+01 -1.11444893149222e+00 2.68297618109154e-01 3.01859437112285e-02 +-2.57575757575758e+01 -1.13269862964479e+00 2.60556460825685e-01 2.67386925528554e-02 +-2.51515151515151e+01 -1.15128934829340e+00 2.52735806690072e-01 2.32914413944822e-02 +-2.45454545454545e+01 -1.16456333294306e+00 2.44841246578892e-01 1.98441902361090e-02 +-2.39393939393939e+01 -1.17646691857326e+00 2.36852124622066e-01 1.63922142106384e-02 +-2.33333333333333e+01 -1.19005951848945e+00 2.28550249084844e-01 1.28977143599110e-02 +-2.27272727272727e+01 -1.20426323183197e+00 2.20157537599118e-01 9.40321450918363e-03 +-2.21212121212121e+01 -1.21913490593857e+00 2.11677868288088e-01 5.90871465845625e-03 +-2.15151515151515e+01 -1.22771254444430e+00 2.03114901610653e-01 2.16384610232512e-03 +-2.09090909090909e+01 -1.23239335860925e+00 1.94472095420942e-01 -9.77354790836756e-04 +-2.03030303030303e+01 -1.23707417277419e+00 1.85752718794597e-01 -4.49972309488853e-03 +-1.96969696969697e+01 -1.23385873328434e+00 1.78473271071907e-01 -8.94771283966712e-03 +-1.90909090909091e+01 -1.21175756003674e+00 1.76441065280606e-01 -1.02153319720648e-02 +-1.84848484848485e+01 -1.21161458079718e+00 1.71509944050699e-01 -1.15493453649611e-02 +-1.78787878787879e+01 -1.19321550017945e+00 1.69037894418096e-01 -1.27056971417517e-02 +-1.72727272727273e+01 -1.18479817291400e+00 1.65303366737574e-01 -1.37032246025653e-02 +-1.66666666666667e+01 -1.15430829684724e+00 1.61642594344748e-01 -1.46218761147108e-02 +-1.60606060606061e+01 -1.11315917143833e+00 1.59483033720901e-01 -1.54621398174341e-02 +-1.54545454545455e+01 -1.07775111919285e+00 1.56080248695217e-01 -1.61966240555070e-02 +-1.48484848484848e+01 -1.04039656130246e+00 1.53151313785271e-01 -1.69187083798967e-02 +-1.42424242424242e+01 -9.98992253964009e-01 1.51004026955757e-01 -1.75149596572291e-02 +-1.36363636363636e+01 -9.58755483234812e-01 1.48615527316740e-01 -1.82193889958014e-02 +-1.30303030303030e+01 -9.21364230131931e-01 1.45822211577827e-01 -1.85577967284450e-02 +-1.24242424242424e+01 -8.76607356921851e-01 1.44260449671850e-01 -1.91981378927239e-02 +-1.18181818181818e+01 -8.35118948866548e-01 1.41951491578639e-01 -1.95759883047649e-02 +-1.12121212121212e+01 -7.86106532908328e-01 1.40168848276926e-01 -1.98031766218788e-02 +-1.06060606060606e+01 -7.46392297102303e-01 1.37571831605795e-01 -1.93510875993902e-02 +-1.00000000000000e+01 -7.08659109160597e-01 1.35530886717071e-01 -1.81439793753277e-02 +-9.39393939393939e+00 -6.54703144907408e-01 1.34322388558784e-01 -2.08597266525182e-02 +-8.78787878787879e+00 -5.90750897662991e-01 1.33256202023323e-01 -2.57405458347491e-02 +-8.18181818181818e+00 -5.17291482614106e-01 1.32507267533594e-01 -3.18589024035975e-02 +-7.57575757575758e+00 -4.46547548657533e-01 1.32170627647696e-01 -3.78297320389885e-02 +-6.96969696969697e+00 -3.75183455921684e-01 1.31797834399562e-01 -4.41693273914085e-02 +-6.36363636363636e+00 -3.02372103712101e-01 1.31469898168935e-01 -5.08226874607656e-02 +-5.75757575757576e+00 -2.32288020228661e-01 1.31441544231509e-01 -5.65143268791534e-02 +-5.15151515151515e+00 -1.61523150349846e-01 1.31249480295143e-01 -6.29024585964436e-02 +-4.54545454545454e+00 -9.36821032142941e-02 1.31188423781513e-01 -6.84952093690111e-02 +-3.93939393939394e+00 -3.19483944014906e-02 1.31232529821076e-01 -7.32233465778323e-02 +-3.33333333333333e+00 3.05709471353528e-02 1.31168783766942e-01 -7.73700103306053e-02 +-2.72727272727273e+00 9.93662934853084e-02 1.31328962256468e-01 -8.00928241453069e-02 +-2.12121212121212e+00 1.66026644207938e-01 1.31488516071019e-01 -8.16098414284202e-02 +-1.51515151515152e+00 2.32326732150422e-01 1.31445216529445e-01 -8.32356004569598e-02 +-9.09090909090912e-01 2.93221180251785e-01 1.31631555003346e-01 -8.47036427194765e-02 +-3.03030303030302e-01 3.51892906601044e-01 1.31657929296926e-01 -8.60974044129543e-02 + 3.03030303030302e-01 4.13806599407788e-01 1.31796530045563e-01 -8.77517468605260e-02 + 9.09090909090912e-01 4.77697192870786e-01 1.31903852981445e-01 -8.94949094360331e-02 + 1.51515151515152e+00 5.42230145367859e-01 1.32019257274622e-01 -9.13229309085126e-02 + 2.12121212121212e+00 6.05816009427033e-01 1.32115201155173e-01 -9.31886160639171e-02 + 2.72727272727273e+00 6.69753995406790e-01 1.32263488670652e-01 -9.47337182540688e-02 + 3.33333333333333e+00 7.33294627555561e-01 1.32492025588392e-01 -9.64901792401297e-02 + 3.93939393939394e+00 7.96741335477859e-01 1.32539420947190e-01 -9.80022829976369e-02 + 4.54545454545455e+00 8.59874596972428e-01 1.32743354676457e-01 -9.96499085260909e-02 + 5.15151515151515e+00 9.22924956620427e-01 1.32960427357788e-01 -1.00989123394365e-01 + 5.75757575757576e+00 9.85598520510198e-01 1.33029510511742e-01 -1.02306237793631e-01 + 6.36363636363637e+00 1.04786059831687e+00 1.33332592550317e-01 -1.03472636020069e-01 + 6.96969696969697e+00 1.11004220801512e+00 1.33495110507731e-01 -1.04475539877820e-01 + 7.57575757575757e+00 1.17218933830798e+00 1.33657612066573e-01 -1.05541192387416e-01 + 8.18181818181818e+00 1.23271509316394e+00 1.33952017575614e-01 -1.06004088288044e-01 + 8.78787878787879e+00 1.29400242380590e+00 1.34125947003459e-01 -1.06603774838201e-01 + 9.39393939393939e+00 1.35186860634049e+00 1.34347093652681e-01 -1.06678589451148e-01 + 1.00000000000000e+01 1.40439862816592e+00 1.34568148693058e-01 -1.05945901200270e-01 + 1.06060606060606e+01 1.45853430356657e+00 1.34630030950088e-01 -1.05131413688351e-01 + 1.12121212121212e+01 1.50284316650626e+00 1.34704263739301e-01 -1.01151287696299e-01 + 1.18181818181818e+01 1.54502903084079e+00 1.35035451030458e-01 -9.65127023031853e-02 + 1.24242424242424e+01 1.59098880480247e+00 1.35197026013814e-01 -9.26710562232063e-02 + 1.30303030303030e+01 1.64109545404915e+00 1.35268237689954e-01 -9.01503033762806e-02 + 1.36363636363636e+01 1.69439256412854e+00 1.35217728567213e-01 -8.84094495130125e-02 + 1.42424242424242e+01 1.74066104837128e+00 1.36312765819231e-01 -8.63948938761979e-02 + 1.48484848484848e+01 1.78728942861466e+00 1.37467486034284e-01 -8.48542154270946e-02 + 1.54545454545455e+01 1.83237456029907e+00 1.39125682600553e-01 -8.35133092332991e-02 + 1.60606060606061e+01 1.87063526394408e+00 1.41934698168637e-01 -8.20518937437680e-02 + 1.66666666666667e+01 1.89845125603712e+00 1.45115019464097e-01 -8.07650720703050e-02 + 1.72727272727273e+01 1.92316354460764e+00 1.48015668940224e-01 -7.99520107354446e-02 + 1.78787878787879e+01 1.91832934955060e+00 1.53480118187520e-01 -7.91581885159310e-02 + 1.84848484848485e+01 1.89805417097896e+00 1.58739031031974e-01 -7.82292215960185e-02 + 1.90909090909091e+01 1.88289991306143e+00 1.63201141460602e-01 -7.77527211985563e-02 + 1.96969696969697e+01 1.86519829290220e+00 1.68070886008368e-01 -7.77284277619554e-02 + 2.03030303030303e+01 1.84460833538755e+00 1.73611467728808e-01 -7.85871458098556e-02 + 2.09090909090909e+01 1.82309364034215e+00 1.79382982050547e-01 -7.96364842158526e-02 + 2.15151515151515e+01 1.80595666177837e+00 1.84402041458205e-01 -8.11681885535098e-02 + 2.21212121212121e+01 1.79525502048540e+00 1.88155141769616e-01 -8.32536847086343e-02 + 2.27272727272727e+01 1.78890668039704e+00 1.92175838614764e-01 -8.58253722621562e-02 + 2.33333333333333e+01 1.78375901886525e+00 1.97865416574506e-01 -8.85842322151903e-02 + 2.39393939393939e+01 1.77877160212669e+00 2.03496567962865e-01 -9.18718234201275e-02 + 2.45454545454545e+01 1.76588422123604e+00 2.10769084248187e-01 -9.62176131290592e-02 + 2.51515151515151e+01 1.74264950187814e+00 2.20121026751283e-01 -1.01980982244050e-01 + 2.57575757575758e+01 1.71121878989022e+00 2.30179656390387e-01 -1.08375389875468e-01 + 2.63636363636364e+01 1.67955008630038e+00 2.40382870035154e-01 -1.14881745778846e-01 + 2.69696969696970e+01 1.64803824330942e+00 2.50488761508347e-01 -1.21499643271124e-01 + 2.75757575757576e+01 1.61662841981611e+00 2.60555628605659e-01 -1.28176761527889e-01 + 2.81818181818182e+01 1.57597435303535e+00 2.70619763738128e-01 -1.34950458431595e-01 + 2.87878787878788e+01 1.52986546224178e+00 2.80675271587822e-01 -1.41981037770756e-01 + 2.93939393939394e+01 1.48441050802250e+00 2.90875487905704e-01 -1.49253817919485e-01 + 3.00000000000000e+01 1.44888482534724e+00 3.02120340515135e-01 -1.53164990226153e-01 + 3.30000000000000e+01 1.31014896398928e+00 3.57753058936062e-01 -1.66272761062198e-01 + 3.60000000000000e+01 1.20418252596597e+00 4.08874400681311e-01 -1.79414753429028e-01 + 3.90000000000000e+01 1.09176838299090e+00 4.61802018199268e-01 -1.92707505033014e-01 + 4.20000000000000e+01 9.94330775794924e-01 5.18958404239159e-01 -2.01689177791063e-01 + 4.50000000000000e+01 9.01507656403628e-01 5.77467008397449e-01 -2.09740349835019e-01 + 4.80000000000000e+01 8.45019419141822e-01 6.36011375134099e-01 -2.17697532530385e-01 + 5.10000000000000e+01 7.87585916508615e-01 6.94220552412686e-01 -2.26064188370402e-01 + 5.40000000000000e+01 7.29100072704098e-01 7.51475205522893e-01 -2.34253441102105e-01 + 5.70000000000000e+01 6.71026234852001e-01 8.09719429537617e-01 -2.42559622513576e-01 + 6.00000000000000e+01 6.13906737467617e-01 8.70266363187482e-01 -2.50861658466831e-01 + 6.30000000000000e+01 5.51717115645130e-01 9.16819895817814e-01 -2.59913784208272e-01 + 6.60000000000000e+01 4.90150094912288e-01 9.65524476764295e-01 -2.68964810298793e-01 + 6.90000000000000e+01 4.29238154263358e-01 1.01708321684380e+00 -2.78019757374709e-01 + 7.20000000000000e+01 3.67112288544847e-01 1.05572269070154e+00 -2.87327375294218e-01 + 7.50000000000000e+01 3.04222288852270e-01 1.08893123022476e+00 -2.96723853787123e-01 + 7.80000000000000e+01 2.41308146715090e-01 1.12550830142352e+00 -3.06188482110288e-01 + 8.10000000000000e+01 1.79775610302277e-01 1.15636787516855e+00 -3.15383325312049e-01 + 8.40000000000000e+01 1.20988456662581e-01 1.17020872683889e+00 -3.23837888124929e-01 + 8.70000000000000e+01 6.11651876429827e-02 1.18807968181527e+00 -3.32402212680347e-01 + 9.00000000000000e+01 1.20616875483861e-05 1.21029080247743e+00 -3.40974322423019e-01 + 9.30000000000000e+01 -4.27871735478274e-02 1.18808182892583e+00 -3.43262111043577e-01 + 9.60000000000000e+01 -8.46536201668252e-02 1.17020938593852e+00 -3.45553596436780e-01 + 9.90000000000000e+01 -1.25795109628692e-01 1.15636706411639e+00 -3.48142402577789e-01 + 1.02000000000000e+02 -1.68867996102266e-01 1.12550536793124e+00 -3.48101788038777e-01 + 1.05000000000000e+02 -2.12912498975644e-01 1.08892832907849e+00 -3.47029218415721e-01 + 1.08000000000000e+02 -2.56940098462787e-01 1.05571979314668e+00 -3.46166872816447e-01 + 1.11000000000000e+02 -3.00414496185665e-01 1.01708060126403e+00 -3.44763013249551e-01 + 1.14000000000000e+02 -3.43002951702907e-01 9.65526576061866e-01 -3.42675788582326e-01 + 1.17000000000000e+02 -3.86049798848683e-01 9.16826634448375e-01 -3.40592583577735e-01 + 1.20000000000000e+02 -4.29532204761890e-01 8.70278540852242e-01 -3.38275250493898e-01 + 1.23000000000000e+02 -4.69575661521949e-01 8.09727379821633e-01 -3.38002390622395e-01 + 1.26000000000000e+02 -5.10286262081442e-01 7.51477640263488e-01 -3.37515952861764e-01 + 1.29000000000000e+02 -5.51285323781441e-01 6.94217588791739e-01 -3.36241480509882e-01 + 1.32000000000000e+02 -5.92432563509686e-01 6.34575957131335e-01 -3.40775511059695e-01 + 1.35000000000000e+02 -6.33503777359099e-01 5.74009468111769e-01 -3.46653969982532e-01 + 1.38000000000000e+02 -6.73785377283117e-01 5.13597511581632e-01 -3.52533052479169e-01 + 1.41000000000000e+02 -7.18450537665894e-01 4.55357268678276e-01 -3.65766406045997e-01 + 1.44000000000000e+02 -7.72781278597402e-01 4.01402088042772e-01 -3.95154781467016e-01 + 1.47000000000000e+02 -8.22572368320709e-01 3.52494092898568e-01 -4.24984502539393e-01 + 1.50000000000000e+02 -9.29595129947234e-01 2.93360633837899e-01 -4.57839978098950e-01 + 1.53000000000000e+02 -9.10995364790274e-01 2.46236972541356e-01 -4.80902898572300e-01 + 1.56000000000000e+02 -8.92395599633315e-01 1.98773037385485e-01 -4.97383802132350e-01 + 1.59000000000000e+02 -8.73795834476355e-01 1.50950647304440e-01 -5.13864705692399e-01 + 1.62000000000000e+02 -7.80830961570006e-01 1.32614381425052e-01 -4.88662487082747e-01 + 1.65000000000000e+02 -6.50673318113884e-01 1.35388782217635e-01 -4.42613316849493e-01 + 1.68000000000000e+02 -5.20515674657760e-01 1.27653441427252e-01 -3.61379087655773e-01 + 1.71000000000000e+02 -3.90212844661529e-01 1.19325910465867e-01 -2.85672761693164e-01 + 1.74000000000000e+02 -2.59619634806758e-01 1.21660145650731e-01 -1.89897880321233e-01 + 1.77000000000000e+02 -1.29026424853956e-01 1.23043160581867e-01 -9.41262122907270e-02 + 1.80000000000000e+02 4.11424186832239e-06 1.23550153573951e-01 -4.11424186832239e-06 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_07.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_07.dat new file mode 100644 index 0000000..9bd51a8 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_07.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF07_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF07_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-3.579894 alpha0 ! 0-lift angle of attack, depends on airfoil. +15.095631 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-13.091020 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.951294 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.229081 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.092737 Cd0 ! 2D drag coefficient value at 0-lift. +-0.078575 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 1.50621634755349e-07 9.14605754856553e-02 -1.50621634755349e-07 +-1.77000000000000e+02 1.31443193279777e-01 9.13461599405691e-02 8.96546882031156e-02 +-1.74000000000000e+02 2.64394663797461e-01 9.10328209471266e-02 1.80435803488511e-01 +-1.71000000000000e+02 3.97346132577216e-01 9.05000513291448e-02 2.71217504238400e-01 +-1.68000000000000e+02 5.29977209322709e-01 9.90056706627709e-02 2.94980088526417e-01 +-1.65000000000000e+02 6.62448130382419e-01 1.10672372933218e-01 2.85385822878138e-01 +-1.62000000000000e+02 7.94919018196590e-01 1.19825719864354e-01 2.75950661675320e-01 +-1.59000000000000e+02 8.91506354790518e-01 1.43663771381330e-01 2.67391282737429e-01 +-1.56000000000000e+02 9.16346139171871e-01 1.93361088009230e-01 2.60538820219116e-01 +-1.53000000000000e+02 9.41185954034138e-01 2.43043276562342e-01 2.54012133164314e-01 +-1.50000000000000e+02 9.66025767408062e-01 2.92711088965373e-01 2.47717681080835e-01 +-1.47000000000000e+02 8.97546625761051e-01 3.53672668126279e-01 2.30832205769741e-01 +-1.44000000000000e+02 8.42419057446785e-01 4.12624962327664e-01 2.14047610776704e-01 +-1.41000000000000e+02 7.86220419428317e-01 4.72634904304247e-01 1.97298442531346e-01 +-1.38000000000000e+02 7.37938032934933e-01 5.35951510860399e-01 1.89563942566795e-01 +-1.35000000000000e+02 6.93507334425926e-01 6.00932954161765e-01 1.86310804974187e-01 +-1.32000000000000e+02 6.48890799739204e-01 6.65958749724785e-01 1.83057680173238e-01 +-1.29000000000000e+02 6.04260038135998e-01 7.29952068815730e-01 1.81606406070007e-01 +-1.26000000000000e+02 5.59671352497632e-01 7.91749893162416e-01 1.83835971115997e-01 +-1.23000000000000e+02 5.15150481401099e-01 8.53781158017182e-01 1.86049028644694e-01 +-1.20000000000000e+02 4.70786369592946e-01 9.16356878451266e-01 1.88259271043731e-01 +-1.17000000000000e+02 4.23554174860473e-01 9.67613352348193e-01 1.91970919156663e-01 +-1.14000000000000e+02 3.76424500701527e-01 1.01937881519578e+00 1.95681053645914e-01 +-1.11000000000000e+02 3.29402564481872e-01 1.07182234521074e+00 1.99396065501688e-01 +-1.08000000000000e+02 2.81559940115645e-01 1.11284855015330e+00 2.02301209470736e-01 +-1.05000000000000e+02 2.33280994991020e-01 1.14840840906606e+00 2.04796678011816e-01 +-1.02000000000000e+02 1.84998074600363e-01 1.18477130476986e+00 2.07302568479161e-01 +-9.90000000000000e+01 1.37585075939440e-01 1.21460129368954e+00 2.08781154152476e-01 +-9.60000000000000e+01 9.19097236247555e-02 1.23002485726356e+00 2.08180350594851e-01 +-9.30000000000000e+01 4.60637374797011e-02 1.24641375223721e+00 2.07590516872641e-01 +-9.00000000000000e+01 -3.12369493646806e-06 1.26384646536020e+00 2.07001516291021e-01 +-8.70000000000000e+01 -4.60676743217211e-02 1.24641223259869e+00 2.00194000358826e-01 +-8.40000000000000e+01 -9.19104436802311e-02 1.23002438810425e+00 1.93389103077333e-01 +-8.10000000000000e+01 -1.37582630532291e-01 1.21460187026110e+00 1.86594241360068e-01 +-7.80000000000000e+01 -1.84994450301286e-01 1.18477340544117e+00 1.78126795741590e-01 +-7.50000000000000e+01 -2.33277368574840e-01 1.14841050115088e+00 1.68834937468065e-01 +-7.20000000000000e+01 -2.81556311438060e-01 1.11285064128518e+00 1.59555063225486e-01 +-6.90000000000000e+01 -3.29388709310933e-01 1.07182423624909e+00 1.50043790962889e-01 +-6.60000000000000e+01 -3.76379804994509e-01 1.01937728350084e+00 1.40070408397174e-01 +-6.30000000000000e+01 -4.23478623313445e-01 9.67608417970327e-01 1.30107576963322e-01 +-6.00000000000000e+01 -4.70679739581795e-01 9.16347976592394e-01 1.20155441291770e-01 +-5.70000000000000e+01 -5.15074680947040e-01 8.53775276052443e-01 1.11078144413377e-01 +-5.40000000000000e+01 -5.59626565476933e-01 7.91748078429363e-01 1.02009896495842e-01 +-5.10000000000000e+01 -6.04246276741629e-01 7.29954290192907e-01 9.29517848089821e-02 +-4.80000000000000e+01 -6.48887398856444e-01 6.65962474933196e-01 8.52562825884910e-02 +-4.50000000000000e+01 -6.93503942016574e-01 6.00936648183275e-01 7.82408141487177e-02 +-4.20000000000000e+01 -7.75434633326548e-01 5.35955156966450e-01 7.12306440441075e-02 +-3.90000000000000e+01 -8.61216402965393e-01 4.72638238203682e-01 6.48690844867486e-02 +-3.60000000000000e+01 -9.54915096471564e-01 4.12628191695821e-01 5.98667514641207e-02 +-3.30000000000000e+01 -1.04754265149839e+00 3.53675549414148e-01 5.59551116472546e-02 +-3.00000000000000e+01 -1.13844962802421e+00 2.94489368325896e-01 5.21494576791101e-02 +-2.93939393939394e+01 -1.14803123695829e+00 2.86903014303505e-01 4.86091113052258e-02 +-2.87878787878788e+01 -1.15768770480193e+00 2.79096148512409e-01 4.50687649313415e-02 +-2.81818181818182e+01 -1.16741301289465e+00 2.71192576271150e-01 4.15284185574572e-02 +-2.75757575757576e+01 -1.17923090912287e+00 2.62935038069054e-01 3.79867851673510e-02 +-2.69696969696970e+01 -1.19199133065291e+00 2.54506299775024e-01 3.44446001989737e-02 +-2.63636363636364e+01 -1.20483114679897e+00 2.46052992422500e-01 3.09024152305963e-02 +-2.57575757575758e+01 -1.21775570823422e+00 2.37576928909685e-01 2.73602302622190e-02 +-2.51515151515151e+01 -1.23077085748108e+00 2.29079748056568e-01 2.38180452938417e-02 +-2.45454545454545e+01 -1.23820116857389e+00 2.20562935009290e-01 2.02758603254644e-02 +-2.39393939393939e+01 -1.24387313498139e+00 2.12022591279969e-01 1.67334757449705e-02 +-2.33333333333333e+01 -1.24996247185818e+00 2.03413464858462e-01 1.31892946545241e-02 +-2.27272727272727e+01 -1.25621414334118e+00 1.94780209008122e-01 9.64511356407773e-03 +-2.21212121212121e+01 -1.26264325021166e+00 1.86123853903668e-01 6.10093247363134e-03 +-2.15151515151515e+01 -1.26740042557699e+00 1.77445371900032e-01 2.49024408119140e-03 +-2.09090909090909e+01 -1.27112245849979e+00 1.68745681532734e-01 -9.83081198600601e-04 +-2.03030303030303e+01 -1.27484449142259e+00 1.60025651190658e-01 -4.52843965146573e-03 +-1.96969696969697e+01 -1.27089224346401e+00 1.52693847566903e-01 -9.00546098446157e-03 +-1.90909090909091e+01 -1.24866009811895e+00 1.49791929325349e-01 -1.02813537413008e-02 +-1.84848484848485e+01 -1.24761914493531e+00 1.44549594989016e-01 -1.16240741073964e-02 +-1.78787878787879e+01 -1.22892588128329e+00 1.41302799220500e-01 -1.28163716885527e-02 +-1.72727272727273e+01 -1.20180624276777e+00 1.37075688326861e-01 -1.38600869938162e-02 +-1.66666666666667e+01 -1.17051783804169e+00 1.32908269868067e-01 -1.48276814949494e-02 +-1.60606060606061e+01 -1.13148877581373e+00 1.29955601659244e-01 -1.57196262804473e-02 +-1.54545454545455e+01 -1.09900554440342e+00 1.26067637830976e-01 -1.64651013922323e-02 +-1.48484848484848e+01 -1.06435920620638e+00 1.22571705651798e-01 -1.71936780415330e-02 +-1.42424242424242e+01 -1.02518358844328e+00 1.19711137423937e-01 -1.78008170043158e-02 +-1.36363636363636e+01 -9.87376632443908e-01 1.16712432083893e-01 -1.84836481631973e-02 +-1.30303030303030e+01 -9.52794049549451e-01 1.13421842257556e-01 -1.87941047542652e-02 +-1.24242424242424e+01 -9.09973684769770e-01 1.11136873308872e-01 -1.93959482129139e-02 +-1.18181818181818e+01 -8.71907812983230e-01 1.08288447633951e-01 -1.97429792410047e-02 +-1.12121212121212e+01 -8.29142926169385e-01 1.05977355458510e-01 -1.99411329686171e-02 +-1.06060606060606e+01 -7.93682114804973e-01 1.02998995747793e-01 -1.94837365799890e-02 +-1.00000000000000e+01 -7.59796051751677e-01 1.00476643785966e-01 -1.82976938837344e-02 +-9.39393939393939e+00 -7.04417399066202e-01 9.88549085898205e-02 -2.12924927139840e-02 +-8.78787878787879e+00 -6.40821468432639e-01 9.73509976956331e-02 -2.63767372850673e-02 +-8.18181818181818e+00 -5.68909067493778e-01 9.61097752931876e-02 -3.26552919418130e-02 +-7.57575757575758e+00 -4.95444796144071e-01 9.53758448148246e-02 -3.88923202738971e-02 +-6.96969696969697e+00 -4.19816873784489e-01 9.46838539796035e-02 -4.55284536518628e-02 +-6.36363636363636e+00 -3.42559770378104e-01 9.40300661958967e-02 -5.24673919147679e-02 +-5.75757575757576e+00 -2.67150337633251e-01 9.36848341873212e-02 -5.84519575645310e-02 +-5.15151515151515e+00 -1.90082522907708e-01 9.32921936449757e-02 -6.50693195310847e-02 +-4.54545454545454e+00 -1.14873992243224e-01 9.30091043598138e-02 -7.09190832864663e-02 +-3.93939393939394e+00 -4.24177699757614e-02 9.28276005505463e-02 -7.59341987275290e-02 +-3.33333333333333e+00 2.90919675186135e-02 9.26751597846387e-02 -8.03860295605948e-02 +-2.72727272727273e+00 1.00225290438685e-01 9.27098556764291e-02 -8.37076815608805e-02 +-2.12121212121212e+00 1.71204938104309e-01 9.27443856311583e-02 -8.68311113127981e-02 +-1.51515151515152e+00 2.41902266009154e-01 9.26561349049419e-02 -8.98314323714774e-02 +-9.09090909090912e-01 3.10661268251160e-01 9.27753154143788e-02 -9.26089740974561e-02 +-3.03030303030302e-01 3.78197619419767e-01 9.27810157142119e-02 -9.51738151393067e-02 + 3.03030303030302e-01 4.48076770413332e-01 9.28898675414151e-02 -9.78300324912104e-02 + 9.09090909090912e-01 5.19485668167573e-01 9.29817264820413e-02 -1.00464045382068e-01 + 1.51515151515152e+00 5.91164152350710e-01 9.30957962511420e-02 -1.03029116994582e-01 + 2.12121212121212e+00 6.61873184233347e-01 9.31992101976069e-02 -1.05568959501284e-01 + 2.72727272727273e+00 7.32635113223778e-01 9.33581562943394e-02 -1.07750513365527e-01 + 3.33333333333333e+00 8.02860423664040e-01 9.35924577278822e-02 -1.10034890564001e-01 + 3.93939393939394e+00 8.72855548935544e-01 9.36816074143321e-02 -1.12074007931138e-01 + 4.54545454545455e+00 9.42246328456508e-01 9.39162034455310e-02 -1.14125010608182e-01 + 5.15151515151515e+00 1.01142700975748e+00 9.41676981713925e-02 -1.15890875053207e-01 + 5.75757575757576e+00 1.07996911490881e+00 9.43081263599713e-02 -1.17557949568312e-01 + 6.36363636363637e+00 1.14784318838100e+00 9.46570728954338e-02 -1.19036366322160e-01 + 6.96969696969697e+00 1.21544633266385e+00 9.48966252367257e-02 -1.20338099858165e-01 + 7.57575757575757e+00 1.28238151873984e+00 9.51654875531796e-02 -1.21561121829252e-01 + 8.18181818181818e+00 1.34756507365390e+00 9.55593784805892e-02 -1.22247284836016e-01 + 8.78787878787879e+00 1.41282629006248e+00 9.58829949149069e-02 -1.22943481711283e-01 + 9.39393939393939e+00 1.47426573220430e+00 9.62943165862707e-02 -1.23123615204080e-01 + 1.00000000000000e+01 1.53052212786064e+00 9.67318536825222e-02 -1.22598896664092e-01 + 1.06060606060606e+01 1.58632848116655e+00 9.71854490438710e-02 -1.21855262652879e-01 + 1.12121212121212e+01 1.63226495456002e+00 9.77597991159091e-02 -1.18464612155686e-01 + 1.18181818181818e+01 1.67430551995409e+00 9.87532509791791e-02 -1.14399921710505e-01 + 1.24242424242424e+01 1.71757732272376e+00 9.98911530467888e-02 -1.10938887630088e-01 + 1.30303030303030e+01 1.76334836041935e+00 1.01109066753844e-01 -1.08560304703207e-01 + 1.36363636363636e+01 1.80811350118212e+00 1.02597830836310e-01 -1.06549369917800e-01 + 1.42424242424242e+01 1.84714927157919e+00 1.05016534024685e-01 -1.04399502418399e-01 + 1.48484848484848e+01 1.88735631489246e+00 1.07466934196434e-01 -1.02807805690918e-01 + 1.54545454545455e+01 1.92436201837066e+00 1.10499859431420e-01 -1.01335752513274e-01 + 1.60606060606061e+01 1.95434251628577e+00 1.14578824883624e-01 -9.97479502683762e-02 + 1.66666666666667e+01 1.98020640566905e+00 1.19583657886900e-01 -9.83880675097178e-02 + 1.72727272727273e+01 2.00476487415844e+00 1.24409373750449e-01 -9.74446538214824e-02 + 1.78787878787879e+01 1.98772296852294e+00 1.31223207967074e-01 -9.65181228942134e-02 + 1.84848484848485e+01 1.96475798725312e+00 1.38284651973842e-01 -9.58248072292535e-02 + 1.90909090909091e+01 1.94703793143730e+00 1.44883126747358e-01 -9.56142487736356e-02 + 1.96969696969697e+01 1.92685949298996e+00 1.51834487373412e-01 -9.58037439928874e-02 + 2.03030303030303e+01 1.90474040994333e+00 1.59225495946282e-01 -9.69058344114819e-02 + 2.09090909090909e+01 1.88257569326201e+00 1.66720814568809e-01 -9.83011084682451e-02 + 2.15151515151515e+01 1.86463577900096e+00 1.73721850652076e-01 -1.00128965848222e-01 + 2.21212121212121e+01 1.85290641505564e+00 1.79911604729407e-01 -1.02452144465264e-01 + 2.27272727272727e+01 1.84537829108157e+00 1.85803406655726e-01 -1.05205715411708e-01 + 2.33333333333333e+01 1.83900890584563e+00 1.92079444090604e-01 -1.08118975819639e-01 + 2.39393939393939e+01 1.83279416803674e+00 1.98299095799905e-01 -1.11488668994729e-01 + 2.45454545454545e+01 1.82002991314241e+00 2.06113888350267e-01 -1.15950209083335e-01 + 2.51515151515151e+01 1.79733298672068e+00 2.15936706889311e-01 -1.21626351452985e-01 + 2.57575757575758e+01 1.76652788802628e+00 2.26441527914154e-01 -1.27784936414606e-01 + 2.63636363636364e+01 1.73549311079970e+00 2.37085882611318e-01 -1.33975004060871e-01 + 2.69696969696970e+01 1.70460971501607e+00 2.47636314609800e-01 -1.40195859991278e-01 + 2.75757575757576e+01 1.67382477517914e+00 2.58149085357636e-01 -1.46405549052713e-01 + 2.81818181818182e+01 1.64060982367381e+00 2.68660083825806e-01 -1.52621241212972e-01 + 2.87878787878788e+01 1.60592182486379e+00 2.79164772963977e-01 -1.58945670966571e-01 + 2.93939393939394e+01 1.57124093374583e+00 2.89809115889507e-01 -1.65392712935518e-01 + 3.00000000000000e+01 1.54321798521053e+00 3.01461605859592e-01 -1.69267665265405e-01 + 3.30000000000000e+01 1.42118013838373e+00 3.60667349798059e-01 -1.83750323832830e-01 + 3.60000000000000e+01 1.30690929064058e+00 4.19017799902083e-01 -1.98279845945147e-01 + 3.90000000000000e+01 1.19106591041314e+00 4.77849850638264e-01 -2.12821421777627e-01 + 4.20000000000000e+01 1.08745298500445e+00 5.40145912602441e-01 -2.23299879503322e-01 + 4.50000000000000e+01 9.88129498237289e-01 6.03582080606634e-01 -2.32464500207845e-01 + 4.80000000000000e+01 9.26006703675121e-01 6.67044469494892e-01 -2.41557060402082e-01 + 5.10000000000000e+01 8.63229376390951e-01 7.29954290192907e-01 -2.50794710230431e-01 + 5.40000000000000e+01 7.99545144946104e-01 7.91748078429363e-01 -2.59813682386523e-01 + 5.70000000000000e+01 7.35957789530523e-01 8.53775276052443e-01 -2.68859867091810e-01 + 6.00000000000000e+01 6.72594827438027e-01 9.16347976592394e-01 -2.77905111190423e-01 + 6.30000000000000e+01 6.05115976930807e-01 9.67608417970327e-01 -2.87520633457983e-01 + 6.60000000000000e+01 5.37783421774936e-01 1.01937728350084e+00 -2.97136057596896e-01 + 6.90000000000000e+01 4.70604818512644e-01 1.07182423624909e+00 -3.06752523294601e-01 + 7.20000000000000e+01 4.02259890218884e-01 1.11285064128518e+00 -3.16474668244630e-01 + 7.50000000000000e+01 3.33294829789922e-01 1.14841050115088e+00 -3.26241069428280e-01 + 7.80000000000000e+01 2.64324091722298e-01 1.18477340544117e+00 -3.36023718212135e-01 + 8.10000000000000e+01 1.96591337896491e-01 1.21460187026110e+00 -3.45472558211603e-01 + 8.40000000000000e+01 1.31330835022174e-01 1.23002438810425e+00 -3.54206420532290e-01 + 8.70000000000000e+01 6.58264438239559e-02 1.24641223259869e+00 -3.62966354522209e-01 + 9.00000000000000e+01 5.65249877489452e-06 1.26384646536020e+00 -3.71728356548087e-01 + 9.30000000000000e+01 -4.60632100749068e-02 1.24641375223721e+00 -3.74677054976548e-01 + 9.60000000000000e+01 -9.19090732753658e-02 1.23002485726356e+00 -3.77626449669891e-01 + 9.90000000000000e+01 -1.37584300604653e-01 1.21460129368954e+00 -3.80646018428746e-01 + 1.02000000000000e+02 -1.84997269037667e-01 1.18477130476986e+00 -3.81254433099022e-01 + 1.05000000000000e+02 -2.33280186810205e-01 1.14840840906606e+00 -3.80724039472866e-01 + 1.08000000000000e+02 -2.81559129248920e-01 1.11284855015330e+00 -3.80243242987549e-01 + 1.11000000000000e+02 -3.29390420197978e-01 1.07182234521074e+00 -3.79272132763165e-01 + 1.14000000000000e+02 -3.76378412976040e-01 1.01937881519578e+00 -3.77414103872541e-01 + 1.17000000000000e+02 -4.23474128382323e-01 9.67613352348193e-01 -3.75557142754993e-01 + 1.20000000000000e+02 -4.70672270882442e-01 9.16356878451266e-01 -3.73645624370741e-01 + 1.23000000000000e+02 -5.15070427972734e-01 8.53781158017182e-01 -3.73512118141157e-01 + 1.26000000000000e+02 -5.59625247705906e-01 7.91749893162416e-01 -3.73328933464190e-01 + 1.29000000000000e+02 -6.04247895800000e-01 7.29952068815729e-01 -3.72962389925317e-01 + 1.32000000000000e+02 -6.48889997468847e-01 6.65958749724784e-01 -3.77543140818322e-01 + 1.35000000000000e+02 -6.93506541937565e-01 6.00932954161765e-01 -3.84234728161641e-01 + 1.38000000000000e+02 -7.37937232107892e-01 5.35951510860398e-01 -3.90926481147920e-01 + 1.41000000000000e+02 -7.86219633426090e-01 4.72634904304246e-01 -4.03925859188170e-01 + 1.44000000000000e+02 -8.42418339638342e-01 4.12624962327664e-01 -4.29892365339112e-01 + 1.47000000000000e+02 -8.97545891616810e-01 3.53672668126279e-01 -4.55984023416370e-01 + 1.50000000000000e+02 -9.66025466164793e-01 2.92711088965373e-01 -4.82823260693924e-01 + 1.53000000000000e+02 -9.41185656164417e-01 2.43043278507943e-01 -4.98859346456530e-01 + 1.56000000000000e+02 -9.16345846164040e-01 1.93361092453512e-01 -5.13091393939800e-01 + 1.59000000000000e+02 -8.91506036163664e-01 1.43663762704064e-01 -5.27323441423070e-01 + 1.62000000000000e+02 -7.94898698840969e-01 1.19826093385226e-01 -5.03585897497092e-01 + 1.65000000000000e+02 -6.62397738051485e-01 1.10672372933218e-01 -4.60858355601258e-01 + 1.68000000000000e+02 -5.29896777262001e-01 9.90057353903814e-02 -4.08784344712143e-01 + 1.71000000000000e+02 -3.97255701312338e-01 9.05000546169274e-02 -3.39001490544951e-01 + 1.74000000000000e+02 -2.64334388500761e-01 9.10328209471266e-02 -2.25532306526096e-01 + 1.77000000000000e+02 -1.31413075685041e-01 9.13461599405691e-02 -1.12063976125897e-01 + 1.80000000000000e+02 1.50621634755349e-07 9.14605754856553e-02 -1.50621634755349e-07 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_08.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_08.dat new file mode 100644 index 0000000..4e635a3 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_08.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF08_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF08_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-3.531558 alpha0 ! 0-lift angle of attack, depends on airfoil. +13.962800 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-11.833326 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.963699 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.243857 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.068854 Cd0 ! 2D drag coefficient value at 0-lift. +-0.078768 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 0.00000000000000e+00 7.37956199987786e-02 0.00000000000000e+00 +-1.77000000000000e+02 1.28438854270228e-01 7.40178079430060e-02 9.89571341154612e-02 +-1.74000000000000e+02 2.58241593814365e-01 7.46181962953226e-02 1.98812210016153e-01 +-1.71000000000000e+02 3.88044342174215e-01 7.56129745010833e-02 2.98666720845945e-01 +-1.68000000000000e+02 5.17557796804616e-01 8.39209942927290e-02 3.27697872988645e-01 +-1.65000000000000e+02 6.46925531329979e-01 9.83078599701983e-02 3.21155507607949e-01 +-1.62000000000000e+02 7.76294247758981e-01 1.16800615844195e-01 3.14442895269293e-01 +-1.59000000000000e+02 8.73207737401714e-01 1.44542834524979e-01 3.09176701127158e-01 +-1.56000000000000e+02 9.05051775613940e-01 1.94186625047894e-01 3.06856413842419e-01 +-1.53000000000000e+02 9.36398789137312e-01 2.44267815567233e-01 3.04298626578322e-01 +-1.50000000000000e+02 9.66441600065912e-01 2.94764665586048e-01 3.01188191365051e-01 +-1.47000000000000e+02 9.31176166869259e-01 3.56380281785188e-01 2.83624292673839e-01 +-1.44000000000000e+02 8.73373198346023e-01 4.20213646355507e-01 2.65533717413421e-01 +-1.41000000000000e+02 8.17426262538024e-01 4.83251393461704e-01 2.47336258684983e-01 +-1.38000000000000e+02 7.67682224835281e-01 5.48698458150231e-01 2.38323632985459e-01 +-1.35000000000000e+02 7.21220897123522e-01 6.15357401855463e-01 2.34028924267696e-01 +-1.32000000000000e+02 6.75084325165063e-01 6.81986259455910e-01 2.29737087747979e-01 +-1.29000000000000e+02 6.28972986220014e-01 7.47536109768381e-01 2.27724262703805e-01 +-1.26000000000000e+02 5.82788242092701e-01 8.11123578893879e-01 2.29553736840745e-01 +-1.23000000000000e+02 5.36484581785327e-01 8.74306053110619e-01 2.31560757999607e-01 +-1.20000000000000e+02 4.89905317272062e-01 9.36555312299159e-01 2.33621674168475e-01 +-1.17000000000000e+02 4.41105733303252e-01 9.90087810533294e-01 2.37258389407561e-01 +-1.14000000000000e+02 3.92126514354470e-01 1.04274572533895e+00 2.40951795318209e-01 +-1.11000000000000e+02 3.42958022508111e-01 1.09425612255383e+00 2.44640005252456e-01 +-1.08000000000000e+02 2.93024647690888e-01 1.13595742253410e+00 2.47400450932612e-01 +-1.05000000000000e+02 2.42754049281593e-01 1.17233643377999e+00 2.49729577123857e-01 +-1.02000000000000e+02 1.92490417061064e-01 1.20737265653235e+00 2.52017116152487e-01 +-9.90000000000000e+01 1.42983712682911e-01 1.23541350874355e+00 2.53160059452065e-01 +-9.60000000000000e+01 9.49986072603361e-02 1.25165506009553e+00 2.52126952012098e-01 +-9.30000000000000e+01 4.73116806074544e-02 1.26630924338393e+00 2.51036395965201e-01 +-9.00000000000000e+01 -2.95195319705360e-06 1.27928081893278e+00 2.49944214838341e-01 +-8.70000000000000e+01 -4.73147845252548e-02 1.26630828713597e+00 2.42352827613676e-01 +-8.40000000000000e+01 -9.49998809705043e-02 1.25165476214182e+00 2.34759233914334e-01 +-8.10000000000000e+01 -1.42983101283483e-01 1.23541387414427e+00 2.27119065206308e-01 +-7.80000000000000e+01 -1.92489060073394e-01 1.20737400337697e+00 2.17725454738880e-01 +-7.50000000000000e+01 -2.42752694501428e-01 1.17233778984657e+00 2.07408030736495e-01 +-7.20000000000000e+01 -2.93023295328185e-01 1.13595877962640e+00 1.97054676740998e-01 +-6.90000000000000e+01 -3.42949788031997e-01 1.09425735317778e+00 1.86440008819374e-01 +-6.60000000000000e+01 -3.92097442959555e-01 1.04274471464862e+00 1.75258883454098e-01 +-6.30000000000000e+01 -4.41055841468687e-01 9.90084536976257e-01 1.64067630150650e-01 +-6.00000000000000e+01 -4.89834604668371e-01 9.36549421694087e-01 1.52876577966968e-01 +-5.70000000000000e+01 -5.36434525793459e-01 8.74302091361926e-01 1.42451284263171e-01 +-5.40000000000000e+01 -5.82759133364176e-01 8.11122343483758e-01 1.32015820521489e-01 +-5.10000000000000e+01 -6.28964811671109e-01 7.47537634044344e-01 1.21578454683230e-01 +-4.80000000000000e+01 -6.75083113490227e-01 6.81988853056987e-01 1.12490393704254e-01 +-4.50000000000000e+01 -7.21219676315944e-01 6.15360028928382e-01 1.04096118876967e-01 +-4.20000000000000e+01 -8.05181011772493e-01 5.48701136459122e-01 9.56961724936380e-02 +-3.90000000000000e+01 -8.92424613417219e-01 4.83253961399669e-01 8.59203308505379e-02 +-3.60000000000000e+01 -9.85871489757856e-01 4.20216326262389e-01 7.40187584519494e-02 +-3.30000000000000e+01 -1.08117447258473e+00 3.56383315969809e-01 6.10016212246300e-02 +-3.00000000000000e+01 -1.17779417139147e+00 2.89789987808615e-01 5.13714430056010e-02 +-2.93939393939394e+01 -1.19062835768821e+00 2.78569830258059e-01 4.78309228014586e-02 +-2.87878787878788e+01 -1.20368374253711e+00 2.67716343788159e-01 4.42904025973161e-02 +-2.81818181818182e+01 -1.21680078621977e+00 2.56962970831440e-01 4.07498823931736e-02 +-2.75757575757576e+01 -1.22669296096688e+00 2.47577707801871e-01 3.72465738566580e-02 +-2.69696969696970e+01 -1.23524438567109e+00 2.38787299867328e-01 3.37592131745264e-02 +-2.63636363636364e+01 -1.24383446834222e+00 2.30211799447717e-01 3.02718524923949e-02 +-2.57575757575758e+01 -1.25244825669924e+00 2.21650332319162e-01 2.67844918102634e-02 +-2.51515151515151e+01 -1.26107116733063e+00 2.13095340400313e-01 2.32971311281318e-02 +-2.45454545454545e+01 -1.26400699953538e+00 2.04546510163492e-01 1.98097704460003e-02 +-2.39393939393939e+01 -1.26499008930562e+00 1.96002715163442e-01 1.63281811749904e-02 +-2.33333333333333e+01 -1.26556461488785e+00 1.87468655853050e-01 1.28985346301913e-02 +-2.27272727272727e+01 -1.26605462337080e+00 1.78960378986429e-01 9.46888808539222e-03 +-2.21212121212121e+01 -1.26644959179588e+00 1.70476776635701e-01 6.03924154059312e-03 +-2.15151515151515e+01 -1.26800953926279e+00 1.62016801965923e-01 2.64449403073659e-03 +-2.09090909090909e+01 -1.27027961014106e+00 1.53579464792753e-01 -9.38851233899042e-04 +-2.03030303030303e+01 -1.27254968101934e+00 1.45163827450657e-01 -4.44333772104596e-03 +-1.96969696969697e+01 -1.26782757213066e+00 1.38074277470795e-01 -8.80806575447139e-03 +-1.90909090909091e+01 -1.24655187476701e+00 1.34588713728950e-01 -1.00883895867049e-02 +-1.84848484848485e+01 -1.24438092713039e+00 1.29324312800760e-01 -1.14323113219542e-02 +-1.78787878787879e+01 -1.22624941405690e+00 1.25576164671679e-01 -1.26322422347644e-02 +-1.72727272727273e+01 -1.19909888881377e+00 1.21087871139075e-01 -1.36830022866252e-02 +-1.66666666666667e+01 -1.17006950927877e+00 1.16645083226050e-01 -1.46610553487752e-02 +-1.60606060606061e+01 -1.13323461323885e+00 1.13128053081119e-01 -1.55666064473813e-02 +-1.54545454545455e+01 -1.10319116623454e+00 1.08974671776026e-01 -1.63031916040969e-02 +-1.48484848484848e+01 -1.07098768451082e+00 1.05129190059337e-01 -1.70203783939923e-02 +-1.42424242424242e+01 -1.03421697236775e+00 1.01770384254096e-01 -1.76218127611409e-02 +-1.36363636363636e+01 -9.98922383352294e-01 9.83612350198291e-02 -1.82755540627461e-02 +-1.30303030303030e+01 -9.66943180045777e-01 9.47642048238726e-02 -1.85610173339809e-02 +-1.24242424242424e+01 -9.26657170443611e-01 9.19411072369248e-02 -1.91224003745192e-02 +-1.18181818181818e+01 -8.91916872026229e-01 8.87229322968465e-02 -1.94275322636657e-02 +-1.12121212121212e+01 -8.54958033527110e-01 8.60066168023007e-02 -1.95316831925788e-02 +-1.06060606060606e+01 -8.23291861087517e-01 8.27739285083718e-02 -1.89360915127550e-02 +-1.00000000000000e+01 -7.92794290723913e-01 7.98924295400618e-02 -1.75760768407330e-02 +-9.39393939393939e+00 -7.36786227717631e-01 7.78944728018581e-02 -2.07863770840460e-02 +-8.78787878787879e+00 -6.74532846607251e-01 7.59839938864653e-02 -2.58804004260031e-02 +-8.18181818181818e+00 -6.05649085199414e-01 7.42736039916602e-02 -3.20511444691484e-02 +-7.57575757575758e+00 -5.31199467977172e-01 7.31619793963623e-02 -3.83221001120591e-02 +-6.96969696969697e+00 -4.53080830166698e-01 7.21712355284807e-02 -4.50118582878563e-02 +-6.36363636363636e+00 -3.73256976625555e-01 7.12099039778869e-02 -5.19746077847094e-02 +-5.75757575757576e+00 -2.94366050164105e-01 7.05527486696356e-02 -5.80411278688093e-02 +-5.15151515151515e+00 -2.13044203259095e-01 6.99532153138727e-02 -6.46244067763141e-02 +-4.54545454545454e+00 -1.32544933860476e-01 6.94388297407423e-02 -7.05156636586465e-02 +-3.93939393939394e+00 -5.30471531049165e-02 6.90202238706963e-02 -7.56541282011340e-02 +-3.33333333333333e+00 2.57831362897097e-02 6.87732372796278e-02 -8.02818715360163e-02 +-2.72727272727273e+00 9.98089231110599e-02 6.86731048903290e-02 -8.40404239773201e-02 +-2.12121212121212e+00 1.73670587625092e-01 6.85729139032869e-02 -8.82928975049801e-02 +-1.51515151515152e+00 2.47094592227135e-01 6.84370238445684e-02 -9.23968189277409e-02 +-9.09090909090912e-01 3.22404442717098e-01 6.84840897763934e-02 -9.62240014541950e-02 +-3.03030303030302e-01 3.97878120106422e-01 6.84675131874643e-02 -9.96871634073941e-02 + 3.03030303030302e-01 4.74617410368071e-01 6.85430208906901e-02 -1.03101703015705e-01 + 9.09090909090912e-01 5.52306577960302e-01 6.86160157712419e-02 -1.06404302233578e-01 + 1.51515151515152e+00 6.29840403412968e-01 6.87268687935466e-02 -1.09511487567174e-01 + 2.12121212121212e+00 7.06450782322688e-01 6.88364753172253e-02 -1.12541874552505e-01 + 2.72727272727273e+00 7.82780740675879e-01 6.90040647765158e-02 -1.15195205389974e-01 + 3.33333333333333e+00 8.58458818499653e-01 6.92409941240514e-02 -1.17854952752140e-01 + 3.93939393939394e+00 9.33772529874218e-01 6.93716448662932e-02 -1.20277907478267e-01 + 4.54545454545455e+00 1.00820283967491e+00 6.96348639446140e-02 -1.22605523451251e-01 + 5.15151515151515e+00 1.08229707501881e+00 6.99189484886228e-02 -1.24678674318234e-01 + 5.75757575757576e+00 1.15550827060842e+00 7.01322305678341e-02 -1.26590128384178e-01 + 6.36363636363637e+00 1.22781493152460e+00 7.05258371978054e-02 -1.28286838994352e-01 + 6.96969696969697e+00 1.29965895044604e+00 7.08438487256510e-02 -1.29801906309900e-01 + 7.57575757575757e+00 1.37018099272833e+00 7.12253196519208e-02 -1.31117717628389e-01 + 8.18181818181818e+00 1.43893316891052e+00 7.17254058893991e-02 -1.31973823747067e-01 + 8.78787878787879e+00 1.50700112659778e+00 7.22124280212809e-02 -1.32728892809533e-01 + 9.39393939393939e+00 1.57107736697741e+00 7.28377695785874e-02 -1.32994503900513e-01 + 1.00000000000000e+01 1.63050841127161e+00 7.35196343190513e-02 -1.32671223517386e-01 + 1.06060606060606e+01 1.68724904733400e+00 7.44337959022688e-02 -1.32017329784082e-01 + 1.12121212121212e+01 1.73477368533841e+00 7.55970536225323e-02 -1.29275178094809e-01 + 1.18181818181818e+01 1.77433941145450e+00 7.73650515417258e-02 -1.25882597234151e-01 + 1.24242424242424e+01 1.81264624571519e+00 7.95640438646518e-02 -1.22907003965434e-01 + 1.30303030303030e+01 1.85230011527713e+00 8.19481016436845e-02 -1.20758344368530e-01 + 1.36363636363636e+01 1.88736206481288e+00 8.48415448721449e-02 -1.18586416925227e-01 + 1.42424242424242e+01 1.91899084686844e+00 8.83627291466673e-02 -1.16405166864056e-01 + 1.48484848484848e+01 1.95289900656123e+00 9.18087086270277e-02 -1.14835895008238e-01 + 1.54545454545455e+01 1.98215246487701e+00 9.58883688575261e-02 -1.13307682238201e-01 + 1.60606060606061e+01 2.00458545437905e+00 1.00895684713660e-01 -1.11673458576935e-01 + 1.66666666666667e+01 2.01769842217763e+00 1.07268462015129e-01 -1.10306639782738e-01 + 1.72727272727273e+01 2.01566084546588e+00 1.13494319175027e-01 -1.09284771515295e-01 + 1.78787878787879e+01 1.99063089921796e+00 1.21177855491648e-01 -1.08276862306187e-01 + 1.84848484848485e+01 1.96555144340731e+00 1.29397312750008e-01 -1.07834075424726e-01 + 1.90909090909091e+01 1.94535143571831e+00 1.37388070110263e-01 -1.07881668415291e-01 + 1.96969696969697e+01 1.92293509283917e+00 1.45661468611581e-01 -1.08262696949697e-01 + 2.03030303030303e+01 1.89992500040992e+00 1.54176171507330e-01 -1.09541332722150e-01 + 2.09090909090909e+01 1.87802959022799e+00 1.62690728766200e-01 -1.11195694102828e-01 + 2.15151515151515e+01 1.85994301686236e+00 1.70899757055098e-01 -1.13215382336747e-01 + 2.21212121212121e+01 1.84745551543876e+00 1.78625249078232e-01 -1.15652320068013e-01 + 2.27272727272727e+01 1.83875560829407e+00 1.85747397286529e-01 -1.18448203496819e-01 + 2.33333333333333e+01 1.83110035278684e+00 1.92477244239467e-01 -1.21372367174248e-01 + 2.39393939393939e+01 1.82358451843001e+00 1.99156257092694e-01 -1.24667708913623e-01 + 2.45454545454545e+01 1.81163063287783e+00 2.07288519339565e-01 -1.29041761911122e-01 + 2.51515151515151e+01 1.79069851027698e+00 2.17232786118265e-01 -1.34400506162209e-01 + 2.57575757575758e+01 1.76189710937872e+00 2.27791906780841e-01 -1.40099411744195e-01 + 2.63636363636364e+01 1.73288864363760e+00 2.38476822909187e-01 -1.45769365135481e-01 + 2.69696969696970e+01 1.70401665462505e+00 2.49077063780081e-01 -1.51409514183155e-01 + 2.75757575757576e+01 1.67523342778344e+00 2.59643351451810e-01 -1.56988429066206e-01 + 2.81818181818182e+01 1.64835905950380e+00 2.70209220986181e-01 -1.62505045221448e-01 + 2.87878787878788e+01 1.62356606522210e+00 2.80772154905245e-01 -1.68009857469372e-01 + 2.93939393939394e+01 1.59955281495680e+00 2.91460992578830e-01 -1.73541981370938e-01 + 3.00000000000000e+01 1.57834420955723e+00 3.03058717153520e-01 -1.77258617686223e-01 + 3.30000000000000e+01 1.47286571423734e+00 3.63495235009696e-01 -1.92422291715051e-01 + 3.60000000000000e+01 1.35413733256654e+00 4.25364076915961e-01 -2.07641929915898e-01 + 3.90000000000000e+01 1.23796360802321e+00 4.87200437487828e-01 -2.22756493058699e-01 + 4.20000000000000e+01 1.13132730444733e+00 5.51746501137351e-01 -2.34150479219862e-01 + 4.50000000000000e+01 1.02856945987662e+00 6.17230699353906e-01 -2.43951324038876e-01 + 4.80000000000000e+01 9.63746604506665e-01 6.82740730189762e-01 -2.53701167819111e-01 + 5.10000000000000e+01 8.98533579092745e-01 7.47537634044344e-01 -2.63368109282193e-01 + 5.40000000000000e+01 8.32564752349757e-01 8.11122343483758e-01 -2.72788776739837e-01 + 5.70000000000000e+01 7.66426047324572e-01 8.74302091361927e-01 -2.82160052522365e-01 + 6.00000000000000e+01 6.99893835120588e-01 9.36549421694087e-01 -2.91533180721317e-01 + 6.30000000000000e+01 6.30177339556954e-01 9.90084536976257e-01 -3.01298065022634e-01 + 6.60000000000000e+01 5.60204047039661e-01 1.04274471464862e+00 -3.10962383650665e-01 + 6.90000000000000e+01 4.89960321399445e-01 1.09425735317778e+00 -3.20635048320842e-01 + 7.20000000000000e+01 4.18628024633995e-01 1.13595877962640e+00 -3.30308393105139e-01 + 7.50000000000000e+01 3.46816147513547e-01 1.17233778984657e+00 -3.39996221182289e-01 + 7.80000000000000e+01 2.75014220765322e-01 1.20737400337697e+00 -3.49663781579746e-01 + 8.10000000000000e+01 2.04290292640671e-01 1.23541387414427e+00 -3.58963032909690e-01 + 8.40000000000000e+01 1.35732979892806e-01 1.25165476214182e+00 -3.67598899244953e-01 + 8.70000000000000e+01 6.76017714328579e-02 1.26630828713597e+00 -3.76195530162200e-01 + 9.00000000000000e+01 3.33651451207050e-06 1.27928081893278e+00 -3.84793026934942e-01 + 9.30000000000000e+01 -4.73119226994909e-02 1.26630924338393e+00 -3.88162878361166e-01 + 9.60000000000000e+01 -9.49989809570199e-02 1.25165506009553e+00 -3.91531340119745e-01 + 9.90000000000000e+01 -1.42984220168794e-01 1.23541350874355e+00 -3.94782850719597e-01 + 1.02000000000000e+02 -1.92490956904069e-01 1.20737265653235e+00 -3.95882962822688e-01 + 1.05000000000000e+02 -2.42754591927133e-01 1.17233643377999e+00 -3.95796217911817e-01 + 1.08000000000000e+02 -2.93025193211530e-01 1.13595742253410e+00 -3.95627830388075e-01 + 1.11000000000000e+02 -3.42950941969244e-01 1.09425612255383e+00 -3.95030411095309e-01 + 1.14000000000000e+02 -3.92096502218618e-01 1.04274572533895e+00 -3.93421074494479e-01 + 1.17000000000000e+02 -4.41052805959976e-01 9.90087810533294e-01 -3.91810726591886e-01 + 1.20000000000000e+02 -4.89829574785638e-01 9.36555312299159e-01 -3.90304638624324e-01 + 1.23000000000000e+02 -5.36431654190090e-01 8.74306053110619e-01 -3.90315850892886e-01 + 1.26000000000000e+02 -5.82758243929216e-01 8.11123578893879e-01 -3.90423833363943e-01 + 1.29000000000000e+02 -6.28965902695796e-01 7.47536109768380e-01 -3.90872248607063e-01 + 1.32000000000000e+02 -6.75084861483821e-01 6.81986259455909e-01 -3.95407741178122e-01 + 1.35000000000000e+02 -7.21221422971252e-01 6.15357401855463e-01 -4.02664287098387e-01 + 1.38000000000000e+02 -7.67682759609058e-01 5.48698458150231e-01 -4.09931154204611e-01 + 1.41000000000000e+02 -8.17426781442747e-01 4.83251393461703e-01 -4.22454398576512e-01 + 1.44000000000000e+02 -8.73373644253484e-01 4.20213646355507e-01 -4.44920401575912e-01 + 1.47000000000000e+02 -9.31176630263189e-01 3.56380281785188e-01 -4.67199934691813e-01 + 1.50000000000000e+02 -9.66441600065912e-01 2.94764665586048e-01 -4.88276229831551e-01 + 1.53000000000000e+02 -9.36398705105456e-01 2.44267759313828e-01 -4.97423560333814e-01 + 1.56000000000000e+02 -9.05051545507928e-01 1.94186496549809e-01 -5.07914403014995e-01 + 1.59000000000000e+02 -8.73208246059535e-01 1.44543085411899e-01 -5.18383215596583e-01 + 1.62000000000000e+02 -7.76275625117923e-01 1.16800081194539e-01 -4.97737569631507e-01 + 1.65000000000000e+02 -6.46880243842761e-01 9.83078599701983e-02 -4.61514747248049e-01 + 1.68000000000000e+02 -5.17484862557224e-01 8.39208889638602e-02 -4.35316274445427e-01 + 1.71000000000000e+02 -3.87962802106352e-01 7.56129684597332e-02 -3.73311078430485e-01 + 1.74000000000000e+02 -2.58187369118098e-01 7.46181962953226e-02 -2.48499383015454e-01 + 1.77000000000000e+02 -1.28411893678326e-01 7.40178079430060e-02 -1.23686774037611e-01 + 1.80000000000000e+02 0.00000000000000e+00 7.37956199987786e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_09.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_09.dat new file mode 100644 index 0000000..5fee76c --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_09.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF09_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF09_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-3.419254 alpha0 ! 0-lift angle of attack, depends on airfoil. +13.325244 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-11.008829 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.959434 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.237959 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.045594 Cd0 ! 2D drag coefficient value at 0-lift. +-0.078754 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 0.00000000000000e+00 5.94864829366104e-02 0.00000000000000e+00 +-1.77000000000000e+02 1.16904564809013e-01 6.00967494246859e-02 1.08615454613599e-01 +-1.74000000000000e+02 2.34657136282959e-01 6.17299674091324e-02 2.17752069475414e-01 +-1.71000000000000e+02 3.52409779608234e-01 6.43846880132201e-02 3.26888312230064e-01 +-1.68000000000000e+02 4.69984077151008e-01 7.22489660309936e-02 3.62646166252849e-01 +-1.65000000000000e+02 5.87464246308435e-01 8.90122252075303e-02 3.61542903268489e-01 +-1.62000000000000e+02 7.04948934143259e-01 1.15408080218642e-01 3.60259190088442e-01 +-1.59000000000000e+02 8.02220393177375e-01 1.48704975377920e-01 3.61995611598036e-01 +-1.56000000000000e+02 8.58396414370059e-01 1.97899466287370e-01 3.69831399633273e-01 +-1.53000000000000e+02 9.12650199326984e-01 2.49113773850681e-01 3.77414359909371e-01 +-1.50000000000000e+02 9.61861768969119e-01 3.02247505250846e-01 3.83329422572758e-01 +-1.47000000000000e+02 9.57524115238546e-01 3.63901097372723e-01 3.67775138948511e-01 +-1.44000000000000e+02 8.97538038759830e-01 4.28648712185337e-01 3.50264054840301e-01 +-1.41000000000000e+02 8.42142208076024e-01 4.93544958253019e-01 3.32478633292172e-01 +-1.38000000000000e+02 7.91310494967137e-01 5.60171320637401e-01 3.22026236644760e-01 +-1.35000000000000e+02 7.43199563070830e-01 6.27741617183954e-01 3.15710357751169e-01 +-1.32000000000000e+02 6.95898015942572e-01 6.95344207698991e-01 3.09405621615627e-01 +-1.29000000000000e+02 6.48660195888499e-01 7.61899984805943e-01 3.06217464872892e-01 +-1.26000000000000e+02 6.01239709876267e-01 8.26773434704320e-01 3.06309554535822e-01 +-1.23000000000000e+02 5.53521928219340e-01 8.90644197076276e-01 3.07145250817825e-01 +-1.20000000000000e+02 5.05115403042923e-01 9.52237866072916e-01 3.08208525902878e-01 +-1.17000000000000e+02 4.55124161236440e-01 1.00760135325020e+00 3.10685306649313e-01 +-1.14000000000000e+02 4.04684139661437e-01 1.06081882050886e+00 3.13408100499500e-01 +-1.11000000000000e+02 3.53770140653807e-01 1.11126101979212e+00 3.16125449655442e-01 +-1.08000000000000e+02 3.02150358983676e-01 1.15339860429951e+00 3.17829050207668e-01 +-1.05000000000000e+02 2.50290558568478e-01 1.19036349602328e+00 3.19163769946627e-01 +-1.02000000000000e+02 1.98448163472357e-01 1.22411874711625e+00 3.20343326702941e-01 +-9.90000000000000e+01 1.47250730571602e-01 1.25054745646852e+00 3.20326537781901e-01 +-9.60000000000000e+01 9.73721735535120e-02 1.26743578602945e+00 3.18347376554207e-01 +-9.30000000000000e+01 4.82367404990786e-02 1.28059322133180e+00 3.16142856473160e-01 +-9.00000000000000e+01 -1.80748704860687e-06 1.28989424712396e+00 3.13937238276654e-01 +-8.70000000000000e+01 -4.82384660994077e-02 1.28059273671563e+00 3.05824134501438e-01 +-8.40000000000000e+01 -9.73730394046158e-02 1.26743563408739e+00 2.97710362356618e-01 +-8.10000000000000e+01 -1.47250678541381e-01 1.25054764248751e+00 2.89418762755455e-01 +-7.80000000000000e+01 -1.98447732263958e-01 1.22411943835178e+00 2.79556695332419e-01 +-7.50000000000000e+01 -2.50290129486106e-01 1.19036419715956e+00 2.68738250133965e-01 +-7.20000000000000e+01 -3.02149932455090e-01 1.15339930654526e+00 2.57798203855612e-01 +-6.90000000000000e+01 -3.53766070369042e-01 1.11126165756118e+00 2.46621577886299e-01 +-6.60000000000000e+01 -4.04669009447609e-01 1.06081829205614e+00 2.34770231663885e-01 +-6.30000000000000e+01 -4.55097988942513e-01 1.00759963536990e+00 2.22911407861741e-01 +-6.00000000000000e+01 -5.05078237281260e-01 9.52234779696220e-01 2.11090837300259e-01 +-5.70000000000000e+01 -5.53495669932525e-01 8.90642098525988e-01 1.99528213645419e-01 +-5.40000000000000e+01 -6.01224567944647e-01 8.26772775908104e-01 1.87958541929355e-01 +-5.10000000000000e+01 -6.48656156308075e-01 7.61900801281830e-01 1.76418674949901e-01 +-4.80000000000000e+01 -6.95897659970296e-01 6.95345609137125e-01 1.65777501780286e-01 +-4.50000000000000e+01 -7.43199197174927e-01 6.27743054472519e-01 1.55667100937354e-01 +-4.20000000000000e+01 -8.28810137433839e-01 5.60172812102797e-01 1.45550680636771e-01 +-3.90000000000000e+01 -9.17141612859626e-01 4.93546423799309e-01 1.27474264960162e-01 +-3.60000000000000e+01 -1.01003738016587e+00 4.28650296843443e-01 9.69569412501445e-02 +-3.30000000000000e+01 -1.10752347212186e+00 3.63903057735230e-01 6.49757199844284e-02 +-3.00000000000000e+01 -1.20597986444790e+00 2.85482971262433e-01 4.83753913984320e-02 +-2.93939393939394e+01 -1.21938688658352e+00 2.68921608874339e-01 4.48529375328551e-02 +-2.87878787878788e+01 -1.23387385183096e+00 2.53115791274696e-01 4.13304836672783e-02 +-2.81818181818182e+01 -1.24880588476513e+00 2.37425332094617e-01 3.78080298017014e-02 +-2.75757575757576e+01 -1.25608677259494e+00 2.26791099330722e-01 3.44574112049978e-02 +-2.69696969696970e+01 -1.26038562677557e+00 2.18332865404601e-01 3.11804362803143e-02 +-2.63636363636364e+01 -1.26507231206495e+00 2.10631731103600e-01 2.79034613556307e-02 +-2.57575757575758e+01 -1.27010508544552e+00 2.02916528832568e-01 2.46264864309472e-02 +-2.51515151515151e+01 -1.27544510672817e+00 1.95162958261486e-01 2.13495115062636e-02 +-2.45454545454545e+01 -1.27537414461684e+00 1.87374266229600e-01 1.80725365815801e-02 +-2.39393939393939e+01 -1.27357274414639e+00 1.79541823391849e-01 1.48222127597662e-02 +-2.33333333333333e+01 -1.27129849179893e+00 1.71607381867619e-01 1.18117489843745e-02 +-2.27272727272727e+01 -1.26918487488277e+00 1.63700173317919e-01 8.80128520898287e-03 +-2.21212121212121e+01 -1.26723654843224e+00 1.55819007307845e-01 5.79082143359118e-03 +-2.15151515151515e+01 -1.26477242236658e+00 1.47962755999729e-01 2.71560194381040e-03 +-2.09090909090909e+01 -1.26194584296077e+00 1.40130348989043e-01 -6.89403955943296e-04 +-2.03030303030303e+01 -1.25911926355496e+00 1.32320768357381e-01 -3.98921044973770e-03 +-1.96969696969697e+01 -1.25172605946006e+00 1.25746648242669e-01 -7.84183303086786e-03 +-1.90909090909091e+01 -1.23391200287616e+00 1.21718244380992e-01 -9.14309698640465e-03 +-1.84848484848485e+01 -1.22779533938096e+00 1.16647410264246e-01 -1.04938313122664e-02 +-1.78787878787879e+01 -1.20094714246560e+00 1.12445300202694e-01 -1.17221935285072e-02 +-1.72727272727273e+01 -1.17252655059637e+00 1.07757705412936e-01 -1.27925827996017e-02 +-1.66666666666667e+01 -1.14430176094490e+00 1.03096829437103e-01 -1.38051765680611e-02 +-1.60606060606061e+01 -1.11097574593906e+00 9.89791794785777e-02 -1.47593855552735e-02 +-1.54545454545455e+01 -1.08287918943915e+00 9.46158841127712e-02 -1.54518184517196e-02 +-1.48484848484848e+01 -1.05345884695477e+00 9.04475503375981e-02 -1.61145818588821e-02 +-1.42424242424242e+01 -1.02105363196390e+00 8.65651661670739e-02 -1.66860668847203e-02 +-1.36363636363636e+01 -9.90011128832749e-01 8.27339736209471e-02 -1.72130297345597e-02 +-1.30303030303030e+01 -9.61400702892853e-01 7.88459212816052e-02 -1.73920662610307e-02 +-1.24242424242424e+01 -9.27361438148682e-01 7.54123773231613e-02 -1.77830656742905e-02 +-1.18181818181818e+01 -8.96648342933934e-01 7.17930000096785e-02 -1.79295700211181e-02 +-1.12121212121212e+01 -8.63352819995860e-01 6.85741716851637e-02 -1.77327906396336e-02 +-1.06060606060606e+01 -8.34648170569899e-01 6.50488949476422e-02 -1.67537594914084e-02 +-1.00000000000000e+01 -8.06975715548453e-01 6.17254634747863e-02 -1.49568404451688e-02 +-9.39393939393939e+00 -7.51406616467880e-01 5.91688971118154e-02 -1.89048793064571e-02 +-8.78787878787879e+00 -6.90870061187081e-01 5.66488926327369e-02 -2.40062779669736e-02 +-8.18181818181818e+00 -6.25863711475403e-01 5.42298899237535e-02 -2.97669276236293e-02 +-7.57575757575758e+00 -5.52472462141334e-01 5.25546564371282e-02 -3.61236172662389e-02 +-6.96969696969697e+00 -4.74102177592234e-01 5.11206548365244e-02 -4.29658797111115e-02 +-6.36363636363636e+00 -3.94429195191415e-01 4.96997652034938e-02 -4.99752883807617e-02 +-5.75757575757576e+00 -3.15061392844545e-01 4.85648530039117e-02 -5.62968086499316e-02 +-5.15151515151515e+00 -2.33418759226281e-01 4.76309264206290e-02 -6.27260062737824e-02 +-4.54545454545454e+00 -1.52233245305749e-01 4.67428792024342e-02 -6.87314949367656e-02 +-3.93939393939394e+00 -7.12003937427576e-02 4.59403219685871e-02 -7.42748162774213e-02 +-3.33333333333333e+00 1.17614928819903e-02 4.55365335712489e-02 -7.94941838978613e-02 +-2.72727272727273e+00 9.00513512084094e-02 4.52168406035873e-02 -8.41185857143658e-02 +-2.12121212121212e+00 1.67843927676651e-01 4.48964228805503e-02 -8.90575316555620e-02 +-1.51515151515152e+00 2.44888097829481e-01 4.46814029187164e-02 -9.42144550588305e-02 +-9.09090909090912e-01 3.25499177025813e-01 4.46128224778486e-02 -9.90786501490691e-02 +-3.03030303030302e-01 4.07565974588348e-01 4.45597416901430e-02 -1.03394075938125e-01 + 3.03030303030302e-01 4.89984919156486e-01 4.45811138682192e-02 -1.07558293921007e-01 + 9.09090909090912e-01 5.72680832568686e-01 4.46222945898341e-02 -1.11542061970850e-01 + 1.51515151515152e+00 6.54723182071486e-01 4.47280492758779e-02 -1.15209991124363e-01 + 2.12121212121212e+00 7.35994593915078e-01 4.48477263060393e-02 -1.18753704867725e-01 + 2.72727272727273e+00 8.16581073740457e-01 4.50293658756607e-02 -1.21912870493619e-01 + 3.33333333333333e+00 8.96424083866661e-01 4.52710798893183e-02 -1.24970019950650e-01 + 3.93939393939394e+00 9.75758412125900e-01 4.54676585953441e-02 -1.27808890537608e-01 + 4.54545454545455e+00 1.05391542205815e+00 4.57774646799314e-02 -1.30426371743343e-01 + 5.15151515151515e+00 1.13159756359500e+00 4.61149134720680e-02 -1.32834130540241e-01 + 5.75757575757576e+00 1.20814788638716e+00 4.64461324847682e-02 -1.35007243816533e-01 + 6.36363636363637e+00 1.28355776145073e+00 4.69146800214099e-02 -1.36938749114731e-01 + 6.96969696969697e+00 1.35828984476695e+00 4.73612332041945e-02 -1.38687429558348e-01 + 7.57575757575757e+00 1.43094578986398e+00 4.79310850206847e-02 -1.40089303480432e-01 + 8.18181818181818e+00 1.50196821948035e+00 4.86128009924740e-02 -1.41140696994250e-01 + 8.78787878787879e+00 1.57136277265632e+00 4.93776394266026e-02 -1.41952311067605e-01 + 9.39393939393939e+00 1.63689284650043e+00 5.03740148328058e-02 -1.42320626554849e-01 + 1.00000000000000e+01 1.69888149641910e+00 5.14791272185311e-02 -1.42265573401566e-01 + 1.06060606060606e+01 1.75547062452400e+00 5.32028886120615e-02 -1.41746344598119e-01 + 1.12121212121212e+01 1.80448839397824e+00 5.53989235207013e-02 -1.39960995974330e-01 + 1.18181818181818e+01 1.83637609714462e+00 5.85198601208472e-02 -1.37655179391595e-01 + 1.24242424242424e+01 1.86463106521690e+00 6.24621520799461e-02 -1.35546835264967e-01 + 1.30303030303030e+01 1.89433421786160e+00 6.66427499980388e-02 -1.33868821760457e-01 + 1.36363636363636e+01 1.91744380986091e+00 7.14514856608745e-02 -1.31554687233732e-01 + 1.42424242424242e+01 1.94135326894049e+00 7.63322916881809e-02 -1.29441848879384e-01 + 1.48484848484848e+01 1.96945586515480e+00 8.08536328841983e-02 -1.27998340103911e-01 + 1.54545454545455e+01 1.99198589389452e+00 8.60447941446455e-02 -1.26466726956154e-01 + 1.60606060606061e+01 2.00832059147743e+00 9.20079450140770e-02 -1.24853096560412e-01 + 1.66666666666667e+01 2.01248612098539e+00 9.97914356712556e-02 -1.23558820628913e-01 + 1.72727272727273e+01 2.01860029426570e+00 1.07327685097562e-01 -1.22468311856611e-01 + 1.78787878787879e+01 1.99072691441484e+00 1.15763310521659e-01 -1.21386042398735e-01 + 1.84848484848485e+01 1.95928163239145e+00 1.24857474403430e-01 -1.21402021293804e-01 + 1.90909090909091e+01 1.93050354334918e+00 1.33815310326978e-01 -1.21898126264874e-01 + 1.96969696969697e+01 1.90036844391390e+00 1.42922011809375e-01 -1.22591748588087e-01 + 2.03030303030303e+01 1.87435946540146e+00 1.52068933006636e-01 -1.24092051609202e-01 + 2.09090909090909e+01 1.85352264011526e+00 1.61105213367958e-01 -1.26088407224463e-01 + 2.15151515151515e+01 1.83501787686009e+00 1.69887483783347e-01 -1.28302431608093e-01 + 2.21212121212121e+01 1.81994129488829e+00 1.78254898315895e-01 -1.30764785178905e-01 + 2.27272727272727e+01 1.80718376863688e+00 1.86417634639735e-01 -1.33439826513082e-01 + 2.33333333333333e+01 1.79506585824114e+00 1.94701195203183e-01 -1.36189587132370e-01 + 2.39393939393939e+01 1.78303331216708e+00 2.02953631231888e-01 -1.39156784239571e-01 + 2.45454545454545e+01 1.77398034003040e+00 2.12154756644213e-01 -1.43142088262468e-01 + 2.51515151515151e+01 1.75932886549902e+00 2.22471874499320e-01 -1.47740585056555e-01 + 2.57575757575758e+01 1.73765624192814e+00 2.33165453060511e-01 -1.52524251035825e-01 + 2.63636363636364e+01 1.71585683737889e+00 2.43936053254172e-01 -1.57276214323520e-01 + 2.69696969696970e+01 1.69414099435044e+00 2.54654808760755e-01 -1.61995898047148e-01 + 2.75757575757576e+01 1.67247949833096e+00 2.65352775514648e-01 -1.66665617177207e-01 + 2.81818181818182e+01 1.65075482510330e+00 2.76055068454792e-01 -1.71261311751737e-01 + 2.87878787878788e+01 1.63299699926451e+00 2.86766255792903e-01 -1.75777796439179e-01 + 2.93939393939394e+01 1.61963964495565e+00 2.97554531066162e-01 -1.80290715770910e-01 + 3.00000000000000e+01 1.60418732957339e+00 3.08899296610547e-01 -1.83814752530333e-01 + 3.30000000000000e+01 1.51399273264511e+00 3.68445670775225e-01 -1.99536615872445e-01 + 3.60000000000000e+01 1.39151592092985e+00 4.31652781624832e-01 -2.15323123467615e-01 + 3.90000000000000e+01 1.27552304926461e+00 4.95779449861435e-01 -2.30887929347722e-01 + 4.20000000000000e+01 1.16642663021009e+00 5.61858797067722e-01 -2.43108491430229e-01 + 4.50000000000000e+01 1.06078924944677e+00 6.28763057793762e-01 -2.53469683846469e-01 + 4.80000000000000e+01 9.93790786936225e-01 6.95751464863827e-01 -2.63803053447372e-01 + 5.10000000000000e+01 9.26657878649809e-01 7.61900801281830e-01 -2.73820506890303e-01 + 5.40000000000000e+01 8.58919303297820e-01 8.26772775908104e-01 -2.83565696957956e-01 + 5.70000000000000e+01 7.90756021809849e-01 8.90642098525988e-01 -2.93183633702052e-01 + 6.00000000000000e+01 7.21608904912196e-01 9.52234779696221e-01 -3.02806659260293e-01 + 6.30000000000000e+01 6.50191386608724e-01 1.00759963536990e+00 -3.12622204783425e-01 + 6.60000000000000e+01 5.78132639763516e-01 1.06081829205614e+00 -3.22049337627816e-01 + 6.90000000000000e+01 5.05396736890183e-01 1.11126165756118e+00 -3.31511864709602e-01 + 7.20000000000000e+01 4.31654760666076e-01 1.15339930654526e+00 -3.40914074979186e-01 + 7.50000000000000e+01 3.57571056874393e-01 1.19036419715956e+00 -3.50321462223816e-01 + 7.80000000000000e+01 2.83512216709656e-01 1.22411943835178e+00 -3.59690593437215e-01 + 8.10000000000000e+01 2.10372949158160e-01 1.25054764248751e+00 -3.68679710500810e-01 + 8.40000000000000e+01 1.39113933859185e-01 1.26743563408739e+00 -3.77075683859917e-01 + 8.70000000000000e+01 6.89166672919402e-02 1.28059273671563e+00 -3.85383812917776e-01 + 9.00000000000000e+01 1.64718947299784e-06 1.28989424712396e+00 -3.93701498547184e-01 + 9.30000000000000e+01 -4.82369974393756e-02 1.28059322133180e+00 -3.97378358319443e-01 + 9.60000000000000e+01 -9.73725701701802e-02 1.26743578602945e+00 -4.01054276131772e-01 + 9.90000000000000e+01 -1.47251269183178e-01 1.25054745646852e+00 -4.04447543380423e-01 + 1.02000000000000e+02 -1.98448736425618e-01 1.22411874711625e+00 -4.05948721298753e-01 + 1.05000000000000e+02 -2.50291134496164e-01 1.19036349602328e+00 -4.06236244423620e-01 + 1.08000000000000e+02 -3.02150937962802e-01 1.15339860429951e+00 -4.06327816599933e-01 + 1.11000000000000e+02 -3.53766682073014e-01 1.11126101979212e+00 -4.06059524351477e-01 + 1.14000000000000e+02 -4.04668510188323e-01 1.06081882050886e+00 -4.04698119770321e-01 + 1.17000000000000e+02 -4.55096378265789e-01 1.00760135325020e+00 -4.03336011211396e-01 + 1.20000000000000e+02 -5.05075572776266e-01 9.52237866072915e-01 -4.02248903943091e-01 + 1.23000000000000e+02 -5.53494146560373e-01 8.90644197076276e-01 -4.02448333150106e-01 + 1.26000000000000e+02 -6.01224096114447e-01 8.26773434704320e-01 -4.02904273707582e-01 + 1.29000000000000e+02 -6.48656734324072e-01 7.61899984805942e-01 -4.04247357108590e-01 + 1.32000000000000e+02 -6.95898585155433e-01 6.95344207698990e-01 -4.08819045957706e-01 + 1.35000000000000e+02 -7.43200121170444e-01 6.27741617183954e-01 -4.16772512577578e-01 + 1.38000000000000e+02 -7.91311062540260e-01 5.60171320637400e-01 -4.24766379805577e-01 + 1.41000000000000e+02 -8.42142758806794e-01 4.93544958253019e-01 -4.36977840789309e-01 + 1.44000000000000e+02 -8.97538512016188e-01 4.28648712185337e-01 -4.56334970432769e-01 + 1.47000000000000e+02 -9.57524607053873e-01 3.63901097372723e-01 -4.75383952765531e-01 + 1.50000000000000e+02 -9.61861768969118e-01 3.02247505250846e-01 -4.91770075809514e-01 + 1.53000000000000e+02 -9.12649801133463e-01 2.49113514084873e-01 -4.89621868547061e-01 + 1.56000000000000e+02 -8.58395345773524e-01 1.97898872911573e-01 -4.86991344611700e-01 + 1.59000000000000e+02 -8.02222737504138e-01 1.48706133918352e-01 -4.84275648925763e-01 + 1.62000000000000e+02 -7.04935335679616e-01 1.15406960427352e-01 -4.74593550208249e-01 + 1.65000000000000e+02 -5.87436100467148e-01 8.90122252075304e-02 -4.61366392110991e-01 + 1.68000000000000e+02 -4.69936865214574e-01 7.22487037843611e-02 -4.58833180680141e-01 + 1.71000000000000e+02 -3.52358897609767e-01 6.43846720871697e-02 -4.08595537003275e-01 + 1.74000000000000e+02 -2.34623429564868e-01 6.17299674091324e-02 -2.72179303422235e-01 + 1.77000000000000e+02 -1.16887797485879e-01 6.00967494246859e-02 -1.35762100924749e-01 + 1.80000000000000e+02 0.00000000000000e+00 5.94864829366104e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_10.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_10.dat new file mode 100644 index 0000000..8d246a1 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_10.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF10_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF10_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-3.287810 alpha0 ! 0-lift angle of attack, depends on airfoil. +13.075848 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-10.481203 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.941545 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.242936 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.028135 Cd0 ! 2D drag coefficient value at 0-lift. +-0.079152 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 0.00000000000000e+00 4.85365970495091e-02 0.00000000000000e+00 +-1.77000000000000e+02 1.05009764827302e-01 4.94562869406118e-02 1.15784920512390e-01 +-1.74000000000000e+02 2.10368871936806e-01 5.19089579129028e-02 2.31770640469272e-01 +-1.71000000000000e+02 3.15728180482053e-01 5.58678519202361e-02 3.47756557004583e-01 +-1.68000000000000e+02 4.21016332778859e-01 6.34299391600656e-02 3.88874898767478e-01 +-1.65000000000000e+02 5.26260280114062e-01 8.21938961664176e-02 3.92477341119259e-01 +-1.62000000000000e+02 6.31512084543189e-01 1.14339878418870e-01 3.95993742523599e-01 +-1.59000000000000e+02 7.28398979457758e-01 1.52674470573253e-01 4.03993138906823e-01 +-1.56000000000000e+02 8.07705013071299e-01 2.01440457806368e-01 4.20991071458761e-01 +-1.53000000000000e+02 8.84561392043873e-01 2.53735435827676e-01 4.37866648805431e-01 +-1.50000000000000e+02 9.54997237287067e-01 3.09383999941043e-01 4.52162703332211e-01 +-1.47000000000000e+02 9.74765493318165e-01 3.70877912645317e-01 4.38898187215931e-01 +-1.44000000000000e+02 9.13324701437002e-01 4.35073301835020e-01 4.22568881376655e-01 +-1.41000000000000e+02 8.58397446449681e-01 5.00975089072186e-01 4.06016894257550e-01 +-1.38000000000000e+02 8.06871979284473e-01 5.68184961080796e-01 3.94752373191667e-01 +-1.35000000000000e+02 7.57663379339577e-01 6.36203994802548e-01 3.86895469137241e-01 +-1.32000000000000e+02 7.09607684589767e-01 7.04344254010034e-01 3.79052765511029e-01 +-1.29000000000000e+02 6.61643352492936e-01 7.71485675751058e-01 3.74971661641628e-01 +-1.26000000000000e+02 6.13419024004352e-01 8.37162024310436e-01 3.73497808324540e-01 +-1.23000000000000e+02 5.64770574413189e-01 9.01414804616081e-01 3.73266674993647e-01 +-1.20000000000000e+02 5.15139606937259e-01 9.62457622191618e-01 3.73405640871088e-01 +-1.17000000000000e+02 4.64380174686129e-01 1.01903335649710e+00 3.74723101462712e-01 +-1.14000000000000e+02 4.12980735091037e-01 1.07257588027983e+00 3.76443816491667e-01 +-1.11000000000000e+02 3.60904570573054e-01 1.12222462901714e+00 3.78162000184400e-01 +-1.08000000000000e+02 3.08166191601411e-01 1.16462259609248e+00 3.78774089267599e-01 +-1.05000000000000e+02 2.55257560724355e-01 1.20195562814797e+00 3.79079957933357e-01 +-1.02000000000000e+02 2.02373752914861e-01 1.23481282833874e+00 3.79122923837976e-01 +-9.90000000000000e+01 1.50054355778920e-01 1.26014173830900e+00 3.77942862331227e-01 +-9.60000000000000e+01 9.89117216744377e-02 1.27745252718875e+00 3.75040445290472e-01 +-9.30000000000000e+01 4.88275930909082e-02 1.28960692358153e+00 3.71755616579705e-01 +-9.00000000000000e+01 -7.15992653640702e-07 1.29650319774748e+00 3.68470767829588e-01 +-8.70000000000000e+01 -4.88282421078364e-02 1.28960675143210e+00 3.59941678557091e-01 +-8.40000000000000e+01 -9.89120813847628e-02 1.27745247300777e+00 3.51414101500785e-01 +-8.10000000000000e+01 -1.50054398563858e-01 1.26014180449120e+00 3.42587948322355e-01 +-7.80000000000000e+01 -2.02373660678053e-01 1.23481307586104e+00 3.32401673621931e-01 +-7.50000000000000e+01 -2.55257469148778e-01 1.20195588059898e+00 3.21252064880985e-01 +-7.20000000000000e+01 -3.08166101229400e-01 1.16462284910925e+00 3.09904077789135e-01 +-6.90000000000000e+01 -3.60903149081762e-01 1.12222485876416e+00 2.98350965787883e-01 +-6.60000000000000e+01 -4.12975265612642e-01 1.07257568888213e+00 2.86031774508372e-01 +-6.30000000000000e+01 -4.64370666361402e-01 1.01903273229348e+00 2.73712583780134e-01 +-6.00000000000000e+01 -5.15126088544766e-01 9.62456501671552e-01 2.61468036395963e-01 +-5.70000000000000e+01 -5.64761034631304e-01 9.01414037918862e-01 2.49127509455779e-01 +-5.40000000000000e+01 -6.13413552321519e-01 8.37161782454166e-01 2.36801027101612e-01 +-5.10000000000000e+01 -6.61641942007398e-01 7.71485975954678e-01 2.24541223230979e-01 +-4.80000000000000e+01 -7.09607619373053e-01 7.04344772311984e-01 2.12716527602466e-01 +-4.50000000000000e+01 -7.57663308989591e-01 6.36204530812717e-01 2.01249204111388e-01 +-4.20000000000000e+01 -8.44371913175235e-01 5.68185522709128e-01 1.89778997285589e-01 +-3.90000000000000e+01 -9.33397292003478e-01 5.00975648530476e-01 1.64135325754076e-01 +-3.60000000000000e+01 -1.02582451620074e+00 4.35073918800262e-01 1.17173146298810e-01 +-3.30000000000000e+01 -1.12476531598335e+00 3.70878709071222e-01 6.86332874114978e-02 +-3.00000000000000e+01 -1.22608856376388e+00 2.82232047401588e-01 4.55180127368655e-02 +-2.93939393939394e+01 -1.24130778493868e+00 2.61461268106839e-01 4.20127890051711e-02 +-2.87878787878788e+01 -1.25796973776623e+00 2.41453569570382e-01 3.85075652734766e-02 +-2.81818181818182e+01 -1.27526055632816e+00 2.21511095863604e-01 3.50023415417821e-02 +-2.75757575757576e+01 -1.28089403539590e+00 2.09925386569542e-01 3.17973455955064e-02 +-2.69696969696970e+01 -1.28195098631414e+00 2.01925479528883e-01 2.87210186745458e-02 +-2.63636363636364e+01 -1.28357344463061e+00 1.94867470329246e-01 2.56446917535852e-02 +-2.57575757575758e+01 -1.28571308480795e+00 1.87771010030134e-01 2.25683648326247e-02 +-2.51515151515151e+01 -1.28832572158741e+00 1.80606634239299e-01 1.94920379116641e-02 +-2.45454545454545e+01 -1.28568893819893e+00 1.73379817734744e-01 1.64157109907035e-02 +-2.39393939393939e+01 -1.28144659311379e+00 1.66095329010593e-01 1.33859484429708e-02 +-2.33333333333333e+01 -1.27659906070162e+00 1.58792359066217e-01 1.07752654649909e-02 +-2.27272727272727e+01 -1.27210258340357e+00 1.51502290220581e-01 8.16458248701108e-03 +-2.21212121212121e+01 -1.26797671719130e+00 1.44224536331245e-01 5.55389950903124e-03 +-2.15151515151515e+01 -1.26168513617895e+00 1.36958538783457e-01 2.80073579647767e-03 +-2.09090909090909e+01 -1.25399780613308e+00 1.29703763524634e-01 -2.52324555070637e-04 +-2.03030303030303e+01 -1.24631047608721e+00 1.22459698079623e-01 -3.23144914242072e-03 +-1.96969696969697e+01 -1.23636980904908e+00 1.16311408954368e-01 -6.36113676195057e-03 +-1.90909090909091e+01 -1.21919698560732e+00 1.11787567586105e-01 -7.69377439220209e-03 +-1.84848484848485e+01 -1.19429563442434e+00 1.06828898237386e-01 -9.05698264986986e-03 +-1.78787878787879e+01 -1.16602592902301e+00 1.02219040367589e-01 -1.03247424679558e-02 +-1.72727272727273e+01 -1.13825654108186e+00 9.73806827700479e-02 -1.14151856662802e-02 +-1.66666666666667e+01 -1.11056804659503e+00 9.25534906720984e-02 -1.24688966254414e-02 +-1.60606060606061e+01 -1.08077203900218e+00 8.79530163991914e-02 -1.34848968387939e-02 +-1.54545454545455e+01 -1.05442169885383e+00 8.34267148478234e-02 -1.41109301804959e-02 +-1.48484848484848e+01 -1.02766724902751e+00 7.90013469142572e-02 -1.46931933717432e-02 +-1.42424242424242e+01 -9.99679633149855e-01 7.46950766442276e-02 -1.52180337211585e-02 +-1.36363636363636e+01 -9.72901690260844e-01 7.05299666731558e-02 -1.55670232015029e-02 +-1.30303030303030e+01 -9.47559655132390e-01 6.64210584346708e-02 -1.55983009860920e-02 +-1.24242424242424e+01 -9.19974757135575e-01 6.25002542149336e-02 -1.57583767651280e-02 +-1.18181818181818e+01 -8.93276763535551e-01 5.85807700166872e-02 -1.57262333946564e-02 +-1.12121212121212e+01 -8.63678409014162e-01 5.50079034707678e-02 -1.53190631990910e-02 +-1.06060606060606e+01 -8.37803076636833e-01 5.13054558449453e-02 -1.42332573374740e-02 +-1.00000000000000e+01 -8.12769421139369e-01 4.76816732645739e-02 -1.24588360154804e-02 +-9.39393939393939e+00 -7.57972653824402e-01 4.47786428432544e-02 -1.71104670911925e-02 +-8.78787878787879e+00 -6.99590270096833e-01 4.18753894047622e-02 -2.22188997019332e-02 +-8.18181818181818e+00 -6.38766988578531e-01 3.89964377269629e-02 -2.75884362861774e-02 +-7.57575757575758e+00 -5.67105460848610e-01 3.69399228981355e-02 -3.40268917103656e-02 +-6.96969696969697e+00 -4.89536675365355e-01 3.52063650919254e-02 -4.10145997287427e-02 +-6.36363636363636e+00 -4.11227012686957e-01 3.34736823858219e-02 -4.80685079405229e-02 +-5.75757575757576e+00 -3.32643790816586e-01 3.20098559986803e-02 -5.46332256518766e-02 +-5.15151515151515e+00 -2.52097420628860e-01 3.08632193622270e-02 -6.09154736801310e-02 +-4.54545454545454e+00 -1.71906948382994e-01 2.97308422549951e-02 -6.70299068792240e-02 +-3.93939393939394e+00 -9.14630126263168e-02 2.86727194479340e-02 -7.29593461269638e-02 +-3.33333333333333e+00 -6.20606033739469e-03 2.81699300455827e-02 -7.87429545652762e-02 +-2.72727272727273e+00 7.64165674212130e-02 2.76988567048099e-02 -8.41877852366759e-02 +-2.12121212121212e+00 1.58409663012652e-01 2.72267107218343e-02 -8.96206558717623e-02 +-1.51515151515152e+00 2.39843618745801e-01 2.69619539124092e-02 -9.54202591018048e-02 +-9.09090909090912e-01 3.24548453000714e-01 2.68077451465977e-02 -1.00953480770244e-01 +-3.03030303030302e-01 4.10979126105702e-01 2.67294540845021e-02 -1.05874281604922e-01 + 3.03030303030302e-01 4.97170834012300e-01 2.67090100908129e-02 -1.10581358778545e-01 + 9.09090909090912e-01 5.83119334853625e-01 2.67253496627156e-02 -1.15064997692371e-01 + 1.51515151515152e+00 6.68016800381163e-01 2.68228771889059e-02 -1.19147252517744e-01 + 2.12121212121212e+00 7.52286457492618e-01 2.69453450446844e-02 -1.23072174201475e-01 + 2.72727272727273e+00 8.35541923490432e-01 2.71302858503953e-02 -1.26610530119575e-01 + 3.33333333333333e+00 9.17987940501499e-01 2.73654345736117e-02 -1.29964353190010e-01 + 3.93939393939394e+00 9.99810620070175e-01 2.76052261607621e-02 -1.33116424939212e-01 + 4.54545454545455e+00 1.08022302672861e+00 2.79377585397442e-02 -1.35949586620631e-01 + 5.15151515151515e+00 1.16004925179119e+00 2.83016969368019e-02 -1.38609861442740e-01 + 5.75757575757576e+00 1.23854809736554e+00 2.87092561506125e-02 -1.40979274324238e-01 + 6.36363636363637e+00 1.31572208219099e+00 2.92138385221642e-02 -1.43087234036556e-01 + 6.96969696969697e+00 1.39204502454359e+00 2.97389040924252e-02 -1.45012630558085e-01 + 7.57575757575757e+00 1.46568107556166e+00 3.04241384641561e-02 -1.46475437793797e-01 + 8.18181818181818e+00 1.53782354463776e+00 3.12087728608592e-02 -1.47677037905929e-01 + 8.78787878787879e+00 1.60756342002657e+00 3.21430856804575e-02 -1.48529301920865e-01 + 9.39393939393939e+00 1.67360136576617e+00 3.33611139512396e-02 -1.48977768872093e-01 + 1.00000000000000e+01 1.73707742633230e+00 3.47198896745367e-02 -1.49138513421047e-01 + 1.06060606060606e+01 1.79294202745556e+00 3.69332328639210e-02 -1.48731028020602e-01 + 1.12121212121212e+01 1.84272518107018e+00 3.97509577846588e-02 -1.47737062729048e-01 + 1.18181818181818e+01 1.87079570841028e+00 4.36739721955351e-02 -1.46350572932150e-01 + 1.24242424242424e+01 1.89278606765535e+00 4.87091851722236e-02 -1.44991986035659e-01 + 1.30303030303030e+01 1.91532711396205e+00 5.40678709400873e-02 -1.43731302295946e-01 + 1.36363636363636e+01 1.92875610882166e+00 6.02496093160458e-02 -1.41318933586429e-01 + 1.42424242424242e+01 1.94603212838620e+00 6.61404272280127e-02 -1.39286548168721e-01 + 1.48484848484848e+01 1.96875814618407e+00 7.15345553915093e-02 -1.37966533044858e-01 + 1.54545454545455e+01 1.98521918705316e+00 7.76086695658731e-02 -1.36448562115395e-01 + 1.60606060606061e+01 1.99612938541406e+00 8.43117172472679e-02 -1.34870484430926e-01 + 1.66666666666667e+01 1.99219801653993e+00 9.31714069492647e-02 -1.33653564605214e-01 + 1.72727272727273e+01 1.99071004357542e+00 1.01755192205524e-01 -1.32515891282489e-01 + 1.78787878787879e+01 1.98335673110984e+00 1.10777465840202e-01 -1.31381420967693e-01 + 1.84848484848485e+01 1.95330202103699e+00 1.20631036300818e-01 -1.31796557685011e-01 + 1.90909090909091e+01 1.91634288913238e+00 1.30460928934322e-01 -1.32678908569252e-01 + 1.96969696969697e+01 1.87884629758376e+00 1.40330826442235e-01 -1.33638187554063e-01 + 2.03030303030303e+01 1.84997723712813e+00 1.50070553422847e-01 -1.35314356363901e-01 + 2.09090909090909e+01 1.83014999988948e+00 1.59603422027132e-01 -1.37586133018732e-01 + 2.15151515151515e+01 1.81124640276109e+00 1.68930076211252e-01 -1.39942941495720e-01 + 2.21212121212121e+01 1.79370057643657e+00 1.77905164345462e-01 -1.42396703611479e-01 + 2.27272727272727e+01 1.77707323892271e+00 1.87056849901133e-01 -1.44933314268527e-01 + 2.33333333333333e+01 1.76069922865812e+00 1.96822210079190e-01 -1.47498768920132e-01 + 2.39393939393939e+01 1.74435902791936e+00 2.06575243025674e-01 -1.50148415695984e-01 + 2.45454545454545e+01 1.73807269974591e+00 2.16795759023193e-01 -1.53757557416928e-01 + 2.51515151515151e+01 1.72941117202707e+00 2.27468470455900e-01 -1.57665596288319e-01 + 2.57575757575758e+01 1.71453736866661e+00 2.38290283500591e-01 -1.61642445283244e-01 + 2.63636363636364e+01 1.69961335223494e+00 2.49142601852671e-01 -1.65603998805756e-01 + 2.69696969696970e+01 1.68472243130899e+00 2.59974386517459e-01 -1.69550017575608e-01 + 2.75757575757576e+01 1.66985303514383e+00 2.70797937556568e-01 -1.73473802737942e-01 + 2.81818181818182e+01 1.65272928586876e+00 2.81630339513412e-01 -1.77333088035538e-01 + 2.87878787878788e+01 1.63953244804897e+00 2.92482918326582e-01 -1.81081211692879e-01 + 2.93939393939394e+01 1.63226425700647e+00 3.03366028707082e-01 -1.84823946913700e-01 + 3.00000000000000e+01 1.62064442309403e+00 3.14469543488725e-01 -1.88199072353760e-01 + 3.30000000000000e+01 1.54110012709416e+00 3.72714740599452e-01 -2.04294042774739e-01 + 3.60000000000000e+01 1.41609073737870e+00 4.36233812750218e-01 -2.20459848479147e-01 + 3.90000000000000e+01 1.30035447194711e+00 5.01824136061829e-01 -2.36319436349854e-01 + 4.20000000000000e+01 1.18961954572887e+00 5.68818267214774e-01 -2.49116852571474e-01 + 4.50000000000000e+01 1.08203849050583e+00 6.36583943713316e-01 -2.59865128862026e-01 + 4.80000000000000e+01 1.01359764769011e+00 7.04494834054947e-01 -2.70603052703949e-01 + 5.10000000000000e+01 9.45204970511934e-01 7.71485975954679e-01 -2.80854339139332e-01 + 5.40000000000000e+01 8.76314893054873e-01 8.37161782454166e-01 -2.90814898581966e-01 + 5.70000000000000e+01 8.06818928954714e-01 9.01414037918862e-01 -3.00591282010218e-01 + 6.00000000000000e+01 7.35919392975332e-01 9.62456501671553e-01 -3.10375245074618e-01 + 6.30000000000000e+01 6.63405391103981e-01 1.01903273229348e+00 -3.20214055760797e-01 + 6.60000000000000e+01 5.89977046191588e-01 1.07257568888213e+00 -3.29560293404444e-01 + 6.90000000000000e+01 5.15581930483123e-01 1.12222485876416e+00 -3.38952541143706e-01 + 7.20000000000000e+01 4.40241594035377e-01 1.16462284910925e+00 -3.48219253200108e-01 + 7.50000000000000e+01 3.64658465557219e-01 1.20195588059898e+00 -3.57477098865759e-01 + 7.80000000000000e+01 2.89110798552334e-01 1.23481307586104e+00 -3.66678377781185e-01 + 8.10000000000000e+01 2.14368764412405e-01 1.26014180449120e+00 -3.75485959547219e-01 + 8.40000000000000e+01 1.41306388553961e-01 1.27745247300777e+00 -3.83746095489434e-01 + 8.70000000000000e+01 6.97562322911372e-02 1.28960675143210e+00 -3.91880465849569e-01 + 9.00000000000000e+01 5.74981339027175e-07 1.29650319774748e+00 -4.00028871678832e-01 + 9.30000000000000e+01 -4.88277161626000e-02 1.28960692358153e+00 -4.03950185547556e-01 + 9.60000000000000e+01 -9.89119116496382e-02 1.27745252718875e+00 -4.07871475051429e-01 + 9.90000000000000e+01 -1.50054613768184e-01 1.26014173830900e+00 -4.11389327675222e-01 + 1.02000000000000e+02 -2.02374027353429e-01 1.23481282833874e+00 -4.13203078787004e-01 + 1.05000000000000e+02 -2.55257836587641e-01 1.20195562814797e+00 -4.13783809914245e-01 + 1.08000000000000e+02 -3.08166468926305e-01 1.16462259609248e+00 -4.14083989245589e-01 + 1.11000000000000e+02 -3.60903372587311e-01 1.12222462901714e+00 -4.14073532991791e-01 + 1.14000000000000e+02 -4.12975083118563e-01 1.07257588027983e+00 -4.12897973447211e-01 + 1.17000000000000e+02 -4.64370077058843e-01 1.01903335649710e+00 -4.11722481136772e-01 + 1.20000000000000e+02 -5.15125114524573e-01 9.62457622191618e-01 -4.10940587772100e-01 + 1.23000000000000e+02 -5.64760477592734e-01 9.01414804616081e-01 -4.11253161060883e-01 + 1.26000000000000e+02 -6.13413379657145e-01 8.37162024310436e-01 -4.11931550112798e-01 + 1.29000000000000e+02 -6.61642153098962e-01 7.71485675751057e-01 -4.13889285060266e-01 + 1.32000000000000e+02 -7.09607957236724e-01 7.04344254010034e-01 -4.18407111810697e-01 + 1.35000000000000e+02 -7.57663646663405e-01 6.36203994802548e-01 -4.26749560038534e-01 + 1.38000000000000e+02 -8.06872251146012e-01 5.68184961080795e-01 -4.35143602838933e-01 + 1.41000000000000e+02 -8.58397710243911e-01 5.00975089072185e-01 -4.46944958448470e-01 + 1.44000000000000e+02 -9.13324928121805e-01 4.35073301835020e-01 -4.63853691256862e-01 + 1.47000000000000e+02 -9.74765728892519e-01 3.70877912645317e-01 -4.80579017375592e-01 + 1.50000000000000e+02 -9.54997237287067e-01 3.09383999941042e-01 -4.93914526906785e-01 + 1.53000000000000e+02 -8.84560671582423e-01 2.53734981969083e-01 -4.81781232747720e-01 + 1.56000000000000e+02 -8.07703131370688e-01 2.01439421069831e-01 -4.66730865077547e-01 + 1.59000000000000e+02 -7.28403064355874e-01 1.52676494756243e-01 -4.51572041880903e-01 + 1.62000000000000e+02 -6.31503381681902e-01 1.14338337693542e-01 -4.52417897706642e-01 + 1.65000000000000e+02 -5.26248697565842e-01 8.21938961664177e-02 -4.61189844074729e-01 + 1.68000000000000e+02 -4.20994013398712e-01 6.34295355770831e-02 -4.75144052643209e-01 + 1.71000000000000e+02 -3.15706927134972e-01 5.58678282768318e-02 -4.34689145747933e-01 + 1.74000000000000e+02 -2.10354994341064e-01 5.19089579129028e-02 -2.89708821778742e-01 + 1.77000000000000e+02 -1.05002852932339e-01 4.94562869406118e-02 -1.44728034825269e-01 + 1.80000000000000e+02 0.00000000000000e+00 4.85365970495091e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_11.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_11.dat new file mode 100644 index 0000000..46bda5a --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_11.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF11_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF11_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-3.177069 alpha0 ! 0-lift angle of attack, depends on airfoil. +12.942952 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-10.125254 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.942328 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.253626 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.018852 Cd0 ! 2D drag coefficient value at 0-lift. +-0.079875 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 0.00000000000000e+00 4.12273098810148e-02 0.00000000000000e+00 +-1.77000000000000e+02 9.73668602854118e-02 4.23163613253115e-02 1.19259846233562e-01 +-1.74000000000000e+02 1.94806303180404e-01 4.52190006099516e-02 2.38555787248150e-01 +-1.71000000000000e+02 2.92246115333351e-01 4.98995478390606e-02 3.57852299124799e-01 +-1.68000000000000e+02 3.89674183098286e-01 5.74422166118760e-02 4.01653926477899e-01 +-1.65000000000000e+02 4.87085827890259e-01 7.77158348507211e-02 4.07692089999572e-01 +-1.62000000000000e+02 5.84507070374648e-01 1.13216928956699e-01 4.13713618668242e-01 +-1.59000000000000e+02 6.80159947566904e-01 1.54802448435501e-01 4.24995495384328e-01 +-1.56000000000000e+02 7.71758317913905e-01 2.03338722243542e-01 4.46810551737553e-01 +-1.53000000000000e+02 8.61802038404726e-01 2.56213029045423e-01 4.68599382551405e-01 +-1.50000000000000e+02 9.47782349433387e-01 3.13209751571286e-01 4.87347417403261e-01 +-1.47000000000000e+02 9.82584866744045e-01 3.74582707862540e-01 4.75377754394748e-01 +-1.44000000000000e+02 9.20477448790304e-01 4.38225030238742e-01 4.60029442540379e-01 +-1.41000000000000e+02 8.65791098089840e-01 5.04527456225199e-01 4.44756749608130e-01 +-1.38000000000000e+02 8.13955729316716e-01 5.71952462744177e-01 4.33530833893512e-01 +-1.35000000000000e+02 7.64244520464503e-01 6.40136178104683e-01 4.25221940625575e-01 +-1.32000000000000e+02 7.15848953622723e-01 7.08494106617188e-01 4.16922037915933e-01 +-1.29000000000000e+02 6.67557926240643e-01 7.75882033967336e-01 4.12601867319781e-01 +-1.26000000000000e+02 6.18970296949935e-01 8.41912359726706e-01 4.10451513728005e-01 +-1.23000000000000e+02 5.69898371855787e-01 9.06320408055417e-01 4.09767103625109e-01 +-1.20000000000000e+02 5.19704533021517e-01 9.67081350217848e-01 4.09498848549380e-01 +-1.17000000000000e+02 4.68599758874184e-01 1.02421057558643e+00 4.10212019108944e-01 +-1.14000000000000e+02 4.16764277572059e-01 1.07788970959575e+00 4.11380947134709e-01 +-1.11000000000000e+02 3.64155795028641e-01 1.12715376569016e+00 4.12549422565025e-01 +-1.08000000000000e+02 3.10906144698066e-01 1.16966321756079e+00 4.12509803319343e-01 +-1.05000000000000e+02 2.57519503322069e-01 1.20715920029274e+00 4.12186803158400e-01 +-1.02000000000000e+02 2.04161203452833e-01 1.23959337882192e+00 4.11535535725342e-01 +-9.90000000000000e+01 1.51328866210174e-01 1.26441170467595e+00 4.09639559875021e-01 +-9.60000000000000e+01 9.96063530773062e-02 1.28191388509559e+00 4.06142382115335e-01 +-9.30000000000000e+01 4.90917496217976e-02 1.29360716985121e+00 4.02174098116719e-01 +-9.00000000000000e+01 -1.30861165430589e-07 1.29941208408868e+00 3.98206148646173e-01 +-8.70000000000000e+01 -4.90918644433644e-02 1.29360714042389e+00 3.89321991311682e-01 +-8.40000000000000e+01 -9.96064203096772e-02 1.28191387583421e+00 3.80439408204861e-01 +-8.10000000000000e+01 -1.51328880655164e-01 1.26441171586375e+00 3.71191673464572e-01 +-7.80000000000000e+01 -2.04161194760924e-01 1.23959342124298e+00 3.60697833886276e-01 +-7.50000000000000e+01 -2.57519494255801e-01 1.20715924396291e+00 3.49236497577303e-01 +-7.20000000000000e+01 -3.10906135844386e-01 1.16966326139270e+00 3.37532911810703e-01 +-6.90000000000000e+01 -3.64155554800461e-01 1.12715380510933e+00 3.25637896967387e-01 +-6.60000000000000e+01 -4.16763330981382e-01 1.07788967671362e+00 3.12915488853957e-01 +-6.30000000000000e+01 -4.68598108586064e-01 1.02421046729881e+00 3.00195567738856e-01 +-6.00000000000000e+01 -5.19702185178367e-01 9.67081155677601e-01 2.87561324007255e-01 +-5.70000000000000e+01 -5.69896715734676e-01 9.06320275010063e-01 2.74844082085588e-01 +-5.40000000000000e+01 -6.18969350562620e-01 8.41912317383952e-01 2.62170523666037e-01 +-5.10000000000000e+01 -6.67557687932946e-01 7.75882086060134e-01 2.49584608479552e-01 +-4.80000000000000e+01 -7.15848949463100e-01 7.08494197298681e-01 2.37179175564868e-01 +-4.50000000000000e+01 -7.64244514740314e-01 6.40136273085005e-01 2.25034921714432e-01 +-4.20000000000000e+01 -8.51455724773377e-01 5.71952562372475e-01 2.12890091631118e-01 +-3.90000000000000e+01 -9.40791078079958e-01 5.04527556164924e-01 1.83252753762357e-01 +-3.60000000000000e+01 -1.03297742201430e+00 4.38225142312384e-01 1.28684401867529e-01 +-3.30000000000000e+01 -1.13258484223893e+00 3.74582855088429e-01 7.19605350711567e-02 +-3.00000000000000e+01 -1.23915542262752e+00 2.80359902906234e-01 4.39862213536636e-02 +-2.93939393939394e+01 -1.25845233257295e+00 2.57769451544152e-01 4.04902343993580e-02 +-2.87878787878788e+01 -1.27868000390406e+00 2.35609990605280e-01 3.69942474450523e-02 +-2.81818181818182e+01 -1.29932191469677e+00 2.13470483473829e-01 3.34982604907467e-02 +-2.75757575757576e+01 -1.30481941991330e+00 2.01417961569920e-01 3.03713303339741e-02 +-2.69696969696970e+01 -1.30410272675740e+00 1.93689298157669e-01 2.74025673447015e-02 +-2.63636363636364e+01 -1.30376266044493e+00 1.86550980316207e-01 2.44338043554289e-02 +-2.57575757575758e+01 -1.30376989634248e+00 1.79382963198130e-01 2.14650413661563e-02 +-2.51515151515151e+01 -1.30409784615801e+00 1.72166984750973e-01 1.84962783768837e-02 +-2.45454545454545e+01 -1.29904050300814e+00 1.64906860035374e-01 1.55275153876111e-02 +-2.39393939393939e+01 -1.29221205879206e+00 1.57646549957130e-01 1.26159919321100e-02 +-2.33333333333333e+01 -1.28427422938732e+00 1.50735087452259e-01 1.02196245395588e-02 +-2.27272727272727e+01 -1.27659684539140e+00 1.43826103308239e-01 7.82325714700770e-03 +-2.21212121212121e+01 -1.26919584294255e+00 1.36919469343381e-01 5.42688975445655e-03 +-2.15151515151515e+01 -1.26003009533915e+00 1.30015061171457e-01 2.92467039896771e-03 +-2.09090909090909e+01 -1.24973700076984e+00 1.23112757267617e-01 2.63992742385522e-04 +-2.03030303030303e+01 -1.23944390620053e+00 1.16212437944922e-01 -2.36556482866149e-03 +-1.96969696969697e+01 -1.21616203198303e+00 1.10239654679458e-01 -4.77563602503936e-03 +-1.90909090909091e+01 -1.19078120555374e+00 1.05309816368935e-01 -6.14123718794140e-03 +-1.84848484848485e+01 -1.16610337224094e+00 1.00277181752807e-01 -7.51959458276775e-03 +-1.78787878787879e+01 -1.14047001073357e+00 9.53360121752503e-02 -8.82586463402968e-03 +-1.72727272727273e+01 -1.11367198411297e+00 9.03935522141856e-02 -9.92894608414891e-03 +-1.66666666666667e+01 -1.08688934136456e+00 8.54537394130551e-02 -1.10162741546376e-02 +-1.60606060606061e+01 -1.05970590336614e+00 8.05675134506522e-02 -1.20871831563388e-02 +-1.54545454545455e+01 -1.03498993896225e+00 7.59267509819986e-02 -1.26432285077965e-02 +-1.48484848484848e+01 -1.01039847832712e+00 7.13351089610440e-02 -1.31418494250598e-02 +-1.42424242424242e+01 -9.85572500955447e-01 6.67713865895188e-02 -1.36160835535987e-02 +-1.36363636363636e+01 -9.61888445937080e-01 6.24110777107423e-02 -1.37888719154527e-02 +-1.30303030303030e+01 -9.39085379623982e-01 5.81775294614192e-02 -1.36754442789276e-02 +-1.24242424242424e+01 -9.15855777987574e-01 5.39872337848536e-02 -1.36148443609846e-02 +-1.18181818181818e+01 -8.92536165815682e-01 4.99250883977478e-02 -1.34481900527413e-02 +-1.12121212121212e+01 -8.67557474992956e-01 4.62399825277091e-02 -1.30367027066449e-02 +-1.06060606060606e+01 -8.44610117112163e-01 4.25235039455750e-02 -1.22602454427100e-02 +-1.00000000000000e+01 -8.22122074822642e-01 3.88221485488441e-02 -1.11196989553263e-02 +-9.39393939393939e+00 -7.67662545278972e-01 3.59180359314001e-02 -1.61485136734584e-02 +-8.78787878787879e+00 -7.11400737834147e-01 3.30046579664856e-02 -2.12607170635109e-02 +-8.18181818181818e+00 -6.54210487739519e-01 3.00863146916155e-02 -2.64205846800974e-02 +-7.57575757575758e+00 -5.83576530889608e-01 2.79656255863789e-02 -3.29028733285439e-02 +-6.96969696969697e+00 -5.06458356451263e-01 2.61815840315962e-02 -3.99685522085417e-02 +-6.36363636363636e+00 -4.29061534457624e-01 2.43949804610691e-02 -4.70463158568126e-02 +-5.75757575757576e+00 -3.50743651233384e-01 2.28685450952194e-02 -5.37414075194262e-02 +-5.15151515151515e+00 -2.70436906022616e-01 2.17177767108338e-02 -5.99448784057753e-02 +-4.54545454545454e+00 -1.90345614251839e-01 2.05673891141476e-02 -6.61177148903357e-02 +-3.93939393939394e+00 -1.09699224532845e-01 1.94819264534872e-02 -7.22541452838158e-02 +-3.33333333333333e+00 -2.23119708847107e-02 1.89796675811908e-02 -7.83402334860086e-02 +-2.72727272727273e+00 6.42233335575592e-02 1.84827326656427e-02 -8.42922263623816e-02 +-2.12121212121212e+00 1.50350122470765e-01 1.79850797563611e-02 -9.01336468013745e-02 +-1.51515151515152e+00 2.36757602981541e-01 1.77210743861124e-02 -9.60753728558772e-02 +-9.09090909090912e-01 3.25008630791938e-01 1.75409714363074e-02 -1.01805556477036e-01 +-3.03030303030302e-01 4.14114019381472e-01 1.74583543402357e-02 -1.07013449974293e-01 + 3.03030303030302e-01 5.02704678659186e-01 1.74224673248800e-02 -1.11980480846076e-01 + 9.09090909090912e-01 5.90782587463278e-01 1.74294801090211e-02 -1.16705061863737e-01 + 1.51515151515152e+00 6.77581114054847e-01 1.75168981743859e-02 -1.20987688539365e-01 + 2.12121212121212e+00 7.63817098521500e-01 1.76322035573744e-02 -1.25097412835909e-01 + 2.72727272727273e+00 8.48844908912982e-01 1.78059615158576e-02 -1.28820415146511e-01 + 3.33333333333333e+00 9.33013047494456e-01 1.80217158128803e-02 -1.32318420304970e-01 + 3.93939393939394e+00 1.01648499333747e+00 1.82651504565586e-02 -1.35623330462514e-01 + 4.54545454545455e+00 1.09839558922617e+00 1.85842788289126e-02 -1.38561147442034e-01 + 5.15151515151515e+00 1.17964943094038e+00 1.89337059520440e-02 -1.41344771160258e-01 + 5.75757575757576e+00 1.25944629036112e+00 1.93453080005093e-02 -1.43809806710630e-01 + 6.36363636363637e+00 1.33779471340167e+00 1.98267374513215e-02 -1.46003792845178e-01 + 6.96969696969697e+00 1.41518343928605e+00 2.03464058357158e-02 -1.48015606661140e-01 + 7.57575757575757e+00 1.48950833235711e+00 2.10234526152893e-02 -1.49507262850730e-01 + 8.18181818181818e+00 1.56238647394296e+00 2.17825172490315e-02 -1.50782881394824e-01 + 8.78787878787879e+00 1.63240361423594e+00 2.27023423360298e-02 -1.51654540790333e-01 + 9.39393939393939e+00 1.69873579149028e+00 2.38899628184897e-02 -1.52142763203665e-01 + 1.00000000000000e+01 1.76297925816913e+00 2.52157817234823e-02 -1.52411971463109e-01 + 1.06060606060606e+01 1.81828871866273e+00 2.73722675400361e-02 -1.52061377875035e-01 + 1.12121212121212e+01 1.86819479625250e+00 3.01123354146873e-02 -1.51469797637631e-01 + 1.18181818181818e+01 1.89994594076231e+00 3.39101044497957e-02 -1.50555002634016e-01 + 1.24242424242424e+01 1.92310506231306e+00 3.89283338751597e-02 -1.49584387548963e-01 + 1.30303030303030e+01 1.94413789153540e+00 4.44024761304637e-02 -1.48541736223703e-01 + 1.36363636363636e+01 1.95216810425251e+00 5.10066202225329e-02 -1.46083454049647e-01 + 1.42424242424242e+01 1.96456205029663e+00 5.73099610055394e-02 -1.44096942700926e-01 + 1.48484848484848e+01 1.98244266524930e+00 6.32280094272604e-02 -1.42843771364718e-01 + 1.54545454545455e+01 1.99334162799307e+00 6.98123101531284e-02 -1.41336161186496e-01 + 1.60606060606061e+01 1.99907091039751e+00 7.69259773932753e-02 -1.39780014558561e-01 + 1.66666666666667e+01 1.98628744470007e+00 8.63598671436619e-02 -1.38606038667495e-01 + 1.72727272727273e+01 1.97509917988815e+00 9.56252490923398e-02 -1.37446383777992e-01 + 1.78787878787879e+01 1.96093325811641e+00 1.05034096987718e-01 -1.36287307584783e-01 + 1.84848484848485e+01 1.94174627361261e+00 1.15551452704961e-01 -1.36909500315949e-01 + 1.90909090909091e+01 1.90875160681424e+00 1.26226410147217e-01 -1.37991419979594e-01 + 1.96969696969697e+01 1.86730864640020e+00 1.36897082958340e-01 -1.39087253067646e-01 + 2.03030303030303e+01 1.83690634537874e+00 1.47319756711898e-01 -1.40851286057482e-01 + 2.09090909090909e+01 1.81762033086729e+00 1.57467592220173e-01 -1.43261553063925e-01 + 2.15151515151515e+01 1.79850292578318e+00 1.67504151872843e-01 -1.45687225035779e-01 + 2.21212121212121e+01 1.77963338017938e+00 1.77345991909894e-01 -1.48130456192222e-01 + 2.27272727272727e+01 1.76093150363918e+00 1.87399522170157e-01 -1.50588672770882e-01 + 2.33333333333333e+01 1.74227587169356e+00 1.97959249546312e-01 -1.53052080063112e-01 + 2.39393939393939e+01 1.72362641163753e+00 2.08516726600687e-01 -1.55530664484395e-01 + 2.45454545454545e+01 1.71882323354155e+00 2.19283720296637e-01 -1.58937176308637e-01 + 2.51515151515151e+01 1.71337281292471e+00 2.30147059308886e-01 -1.62481317347630e-01 + 2.57575757575758e+01 1.70214373973402e+00 2.41037616646903e-01 -1.66037568097240e-01 + 2.63636363636364e+01 1.69090550020562e+00 2.51933742693287e-01 -1.69590753555066e-01 + 2.69696969696970e+01 1.67967330222327e+00 2.62826120338950e-01 -1.73140828963626e-01 + 2.75757575757576e+01 1.66844503356095e+00 2.73716994945825e-01 -1.76686601915585e-01 + 2.81818181818182e+01 1.65533555475890e+00 2.84619146100890e-01 -1.80176718306245e-01 + 2.87878787878788e+01 1.64467894995470e+00 2.95547522443476e-01 -1.83544379878423e-01 + 2.93939393939394e+01 1.63785312800742e+00 3.06481472288150e-01 -1.86910661331872e-01 + 3.00000000000000e+01 1.62798870261369e+00 3.17455656699784e-01 -1.90212233844076e-01 + 3.30000000000000e+01 1.55344526378825e+00 3.74921697393128e-01 -2.06478480218039e-01 + 3.60000000000000e+01 1.42726632393964e+00 4.38433960716617e-01 -2.22818504071718e-01 + 3.90000000000000e+01 1.31168280316762e+00 5.04678864303360e-01 -2.38811823444024e-01 + 4.20000000000000e+01 1.20019723263455e+00 5.72064578494853e-01 -2.51880316890276e-01 + 4.50000000000000e+01 1.09171905470243e+00 6.40203084564282e-01 -2.62809512852336e-01 + 4.80000000000000e+01 1.02261913358163e+00 7.08520525821540e-01 -2.73736885407949e-01 + 5.10000000000000e+01 9.53654213902806e-01 7.75882086060134e-01 -2.84095395765010e-01 + 5.40000000000000e+01 8.84243631915315e-01 8.41912317383952e-01 -2.94154422228382e-01 + 5.70000000000000e+01 8.14141198516148e-01 9.06320275010063e-01 -3.04001885996194e-01 + 6.00000000000000e+01 7.42436036404688e-01 9.67081155677601e-01 -3.13858157162500e-01 + 6.30000000000000e+01 6.69429124727955e-01 1.02421046729881e+00 -3.23721959610993e-01 + 6.60000000000000e+01 5.95378336905874e-01 1.07788967671362e+00 -3.33278631917684e-01 + 6.90000000000000e+01 5.20223258616971e-01 1.12715380510933e+00 -3.42864669879746e-01 + 7.20000000000000e+01 4.44152364306244e-01 1.16966326139270e+00 -3.52244154955567e-01 + 7.50000000000000e+01 3.67885843469443e-01 1.20715924396291e+00 -3.61588618259449e-01 + 7.80000000000000e+01 2.91659811172780e-01 1.23959342124298e+00 -3.70852209576855e-01 + 8.10000000000000e+01 2.16185035960342e-01 1.26441171586375e+00 -3.79698591511940e-01 + 8.40000000000000e+01 1.42295471318847e-01 1.28191387583421e+00 -3.88004232501377e-01 + 8.70000000000000e+01 7.01315061456443e-02 1.29360714042389e+00 -3.96155116005883e-01 + 9.00000000000000e+01 9.74526567536753e-08 1.29941208408868e+00 -4.04315370056845e-01 + 9.30000000000000e+01 -4.90917742128862e-02 1.29360716985121e+00 -4.08431292494330e-01 + 9.60000000000000e+01 -9.96063910364582e-02 1.28191388509559e+00 -4.12547495320425e-01 + 9.90000000000000e+01 -1.51328917759290e-01 1.26441170467595e+00 -4.16192845737171e-01 + 1.02000000000000e+02 -2.04161258288702e-01 1.23959337882192e+00 -4.18225453659064e-01 + 1.05000000000000e+02 -2.57519558442613e-01 1.20715920029274e+00 -4.19007930451206e-01 + 1.08000000000000e+02 -3.10906200110655e-01 1.16966321756079e+00 -4.19459924209238e-01 + 1.11000000000000e+02 -3.64155593469793e-01 1.12715376569016e+00 -4.19620467834908e-01 + 1.14000000000000e+02 -4.16763299479085e-01 1.07788970959575e+00 -4.18544304369011e-01 + 1.17000000000000e+02 -4.68598005911894e-01 1.02421057558643e+00 -4.17468435115696e-01 + 1.20000000000000e+02 -5.19702015354184e-01 9.67081350217847e-01 -4.16830051202546e-01 + 1.23000000000000e+02 -5.69896619069431e-01 9.06320408055417e-01 -4.17143558912787e-01 + 1.26000000000000e+02 -6.18969320388796e-01 8.41912359726706e-01 -4.17859771242741e-01 + 1.29000000000000e+02 -6.67557724402138e-01 7.75882033967335e-01 -4.20026941769144e-01 + 1.32000000000000e+02 -7.15849008100609e-01 7.08494106617187e-01 -4.24361384015293e-01 + 1.35000000000000e+02 -7.64244573878768e-01 6.40136178104683e-01 -4.32654939709167e-01 + 1.38000000000000e+02 -8.13955783637667e-01 5.71952462744177e-01 -4.40981189093082e-01 + 1.41000000000000e+02 -8.65791150798853e-01 5.04527456225199e-01 -4.52232302166507e-01 + 1.44000000000000e+02 -9.20477494084441e-01 4.38225030238742e-01 -4.67501627716625e-01 + 1.47000000000000e+02 -9.82584913814413e-01 3.74582707862540e-01 -4.82892928777537e-01 + 1.50000000000000e+02 -9.47782349433387e-01 3.13209751571285e-01 -4.94849780833835e-01 + 1.53000000000000e+02 -8.61801113115740e-01 2.56212471137037e-01 -4.77011595249041e-01 + 1.56000000000000e+02 -7.71755981316838e-01 2.03337447828964e-01 -4.55436533360794e-01 + 1.59000000000000e+02 -6.80164951208121e-01 1.54804936674525e-01 -4.33792828944306e-01 + 1.62000000000000e+02 -5.84501139167763e-01 1.13215060392961e-01 -4.40384279341300e-01 + 1.65000000000000e+02 -4.87083429119909e-01 7.77158348507212e-02 -4.61045560545227e-01 + 1.68000000000000e+02 -3.89665719039731e-01 5.74416983142709e-02 -4.82783952128936e-01 + 1.71000000000000e+02 -2.92241297008245e-01 4.98995199006948e-02 -4.47313487183701e-01 + 1.74000000000000e+02 -1.94803424922768e-01 4.52190006099516e-02 -2.98193895729185e-01 + 1.77000000000000e+02 -9.73654213791312e-02 4.23163613253115e-02 -1.49074213348727e-01 + 1.80000000000000e+02 0.00000000000000e+00 4.12273098810148e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_12.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_12.dat new file mode 100644 index 0000000..4a62b3b --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_12.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF12_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF12_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-3.106712 alpha0 ! 0-lift angle of attack, depends on airfoil. +12.968562 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-9.912430 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.941291 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.266353 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.015893 Cd0 ! 2D drag coefficient value at 0-lift. +-0.080551 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 0.00000000000000e+00 3.71823486494224e-02 0.00000000000000e+00 +-1.77000000000000e+02 9.42331910297031e-02 3.83265955678298e-02 1.19999932939100e-01 +-1.74000000000000e+02 1.88466534009064e-01 4.13786079922686e-02 2.39999867409092e-01 +-1.71000000000000e+02 2.82700394559594e-01 4.63084560558918e-02 3.60000463068775e-01 +-1.68000000000000e+02 3.76937973890306e-01 5.40031436225779e-02 4.04382734091109e-01 +-1.65000000000000e+02 4.71166482041057e-01 7.52288152141806e-02 4.10956324231044e-01 +-1.62000000000000e+02 5.65404921251337e-01 1.12207889640194e-01 4.17530605600957e-01 +-1.59000000000000e+02 6.59623911630977e-01 1.55277612904524e-01 4.29538145857158e-01 +-1.56000000000000e+02 7.53846205755959e-01 2.03762593106748e-01 4.52419640570978e-01 +-1.53000000000000e+02 8.48040949207716e-01 2.56766260489533e-01 4.75298921905582e-01 +-1.50000000000000e+02 9.42187646547978e-01 3.14064018560735e-01 4.95037076164544e-01 +-1.47000000000000e+02 9.84192432194509e-01 3.75406527145853e-01 4.83363096714775e-01 +-1.44000000000000e+02 9.21947173444827e-01 4.38900352722281e-01 4.68543684663928e-01 +-1.41000000000000e+02 8.67313614221312e-01 5.05278775734148e-01 4.54167150883945e-01 +-1.38000000000000e+02 8.15415077638357e-01 5.72742319930925e-01 4.43435807448510e-01 +-1.35000000000000e+02 7.65599987903039e-01 6.40955427212404e-01 4.35421549254455e-01 +-1.32000000000000e+02 7.17134794997466e-01 7.09355096249268e-01 4.27407398265730e-01 +-1.29000000000000e+02 6.68776924514200e-01 7.76791506298022e-01 4.23291380870281e-01 +-1.26000000000000e+02 6.20114750078062e-01 8.42893437634247e-01 4.21178760747443e-01 +-1.23000000000000e+02 5.70955603262396e-01 9.07331339198415e-01 4.20533964925046e-01 +-1.20000000000000e+02 5.20645176169571e-01 9.68030646259131e-01 4.20281768996740e-01 +-1.17000000000000e+02 4.69469754790227e-01 1.02527408882523e+00 4.20893281580856e-01 +-1.14000000000000e+02 4.17544522653215e-01 1.07898006525770e+00 4.21936632348780e-01 +-1.11000000000000e+02 3.64825998746516e-01 1.12816217695146e+00 4.22979984002851e-01 +-1.08000000000000e+02 3.11470782006911e-01 1.17069378931869e+00 4.22727612125512e-01 +-1.05000000000000e+02 2.57985598489592e-01 1.20822281166610e+00 4.22182562697254e-01 +-1.02000000000000e+02 2.04529497568222e-01 1.24056821320277e+00 4.21284810114696e-01 +-9.90000000000000e+01 1.51591234543805e-01 1.26528021276816e+00 4.19123255322495e-01 +-9.60000000000000e+01 9.97487478413702e-02 1.28282171746833e+00 4.15370235787049e-01 +-9.30000000000000e+01 4.91456189560524e-02 1.29441948948082e+00 4.11119898095822e-01 +-9.00000000000000e+01 -2.04670398245845e-10 1.29999994774573e+00 4.06869566207745e-01 +-8.70000000000000e+01 -4.91456186719347e-02 1.29441948951163e+00 3.97720052471243e-01 +-8.40000000000000e+01 -9.97487477085259e-02 1.28282171750885e+00 3.88570560811156e-01 +-8.10000000000000e+01 -1.51591234960156e-01 1.26528021257558e+00 3.79037752607434e-01 +-7.80000000000000e+01 -2.04529497982493e-01 1.24056821301301e+00 3.68278266648752e-01 +-7.50000000000000e+01 -2.57985598273914e-01 1.20822281180517e+00 3.56544667641004e-01 +-7.20000000000000e+01 -3.11470781756557e-01 1.17069378951834e+00 3.44554508947778e-01 +-6.90000000000000e+01 -3.64825999068641e-01 1.12816217663452e+00 3.32370259367806e-01 +-6.60000000000000e+01 -4.17544522182221e-01 1.07898006561435e+00 3.19326632368338e-01 +-6.30000000000000e+01 -4.69469754569378e-01 1.02527408889235e+00 3.06283048494645e-01 +-6.00000000000000e+01 -5.20645176119214e-01 9.68030646045831e-01 2.93316760199651e-01 +-5.70000000000000e+01 -5.70955602578997e-01 9.07331339830045e-01 2.80501545672714e-01 +-5.40000000000000e+01 -6.20114750086220e-01 8.42893437507159e-01 2.67756190735403e-01 +-5.10000000000000e+01 -6.68776924871572e-01 7.76791505776259e-01 2.55103276796362e-01 +-4.80000000000000e+01 -7.17134795249446e-01 7.09355095901875e-01 2.42573394816251e-01 +-4.50000000000000e+01 -7.65599987484657e-01 6.40955427811305e-01 2.30282897796446e-01 +-4.20000000000000e+01 -8.52915077634868e-01 5.72742319944720e-01 2.17992400583028e-01 +-3.90000000000000e+01 -9.42313614323309e-01 5.05278775616480e-01 1.87469430082845e-01 +-3.60000000000000e+01 -1.03444717278262e+00 4.38900353405982e-01 1.32468962256911e-01 +-3.30000000000000e+01 -1.13419243239329e+00 3.75406526954937e-01 7.44772376297385e-02 +-3.00000000000000e+01 -1.24643682374235e+00 2.79594128305175e-01 4.36441816867264e-02 +-2.93939393939394e+01 -1.27034240989513e+00 2.56967071082309e-01 4.01502572484372e-02 +-2.87878787878788e+01 -1.29425919844900e+00 2.34344872775448e-01 3.66563328101479e-02 +-2.81818181818182e+01 -1.31818101839492e+00 2.11722796111045e-01 3.31624083718587e-02 +-2.75757575757576e+01 -1.32442303101209e+00 1.99570245330345e-01 3.00529098294258e-02 +-2.69696969696970e+01 -1.32309134006267e+00 1.91904633406278e-01 2.71081652096077e-02 +-2.63636363636364e+01 -1.32176424528436e+00 1.84246034011009e-01 2.41634205897897e-02 +-2.57575757575758e+01 -1.32044140365408e+00 1.76587050953064e-01 2.12186759699716e-02 +-2.51515151515151e+01 -1.31912250543237e+00 1.68927468434152e-01 1.82739313501536e-02 +-2.45454545454545e+01 -1.31212545203784e+00 1.61267333887655e-01 1.53291867303355e-02 +-2.39393939393939e+01 -1.30304192526289e+00 1.53695870777183e-01 1.24440653424850e-02 +-2.33333333333333e+01 -1.29219812933441e+00 1.46926817442750e-01 1.00955533121348e-02 +-2.27272727272727e+01 -1.28135765000349e+00 1.40157762629769e-01 7.74704128178463e-03 +-2.21212121212121e+01 -1.27052069685639e+00 1.33388706134425e-01 5.39852925143446e-03 +-2.15151515151515e+01 -1.25242470690164e+00 1.26619647723786e-01 3.04866858508000e-03 +-2.09090909090909e+01 -1.23038676534524e+00 1.19850587129805e-01 6.97088325921849e-04 +-2.03030303030303e+01 -1.20834882378885e+00 1.13081524041835e-01 -1.65420618578090e-03 +-1.96969696969697e+01 -1.18567894387690e+00 1.07094519164191e-01 -3.52937512395963e-03 +-1.90909090909091e+01 -1.16237709172327e+00 1.01889935262085e-01 -4.92053092511831e-03 +-1.84848484848485e+01 -1.13907530708740e+00 9.66849250885640e-02 -6.31180730135777e-03 +-1.78787878787879e+01 -1.11537565762097e+00 9.15204164774147e-02 -7.64627381672162e-03 +-1.72727272727273e+01 -1.09008480372478e+00 8.65165995638757e-02 -8.75430462588779e-03 +-1.66666666666667e+01 -1.06479395130611e+00 8.15127937075429e-02 -9.86218342874742e-03 +-1.60606060606061e+01 -1.03950306039375e+00 7.65092096677158e-02 -1.09699020595496e-02 +-1.54545454545455e+01 -1.01650113616092e+00 7.18003814187208e-02 -1.14715613496178e-02 +-1.48484848484848e+01 -9.93753527270564e-01 6.71243934156425e-02 -1.19058783918414e-02 +-1.42424242424242e+01 -9.71005895856449e-01 6.24485178503358e-02 -1.23399618239099e-02 +-1.36363636363636e+01 -9.49410033365980e-01 5.80093309835005e-02 -1.23823568934726e-02 +-1.30303030303030e+01 -9.28582028406113e-01 5.37279015719170e-02 -1.21628088988895e-02 +-1.24242424242424e+01 -9.07753982480399e-01 4.94466353284088e-02 -1.19437535780941e-02 +-1.18181818181818e+01 -8.87164880349705e-01 4.53583329725682e-02 -1.17034049570008e-02 +-1.12121212121212e+01 -8.67124426460854e-01 4.17205617491961e-02 -1.14131927273261e-02 +-1.06060606060606e+01 -8.47107146079249e-01 3.80826521743572e-02 -1.11189353338440e-02 +-1.00000000000000e+01 -8.27095101416556e-01 3.44447614734121e-02 -1.08206778229050e-02 +-9.39393939393939e+00 -7.73065919836394e-01 3.17365984686671e-02 -1.59337153463369e-02 +-8.78787878787879e+00 -7.19017082630912e-01 2.90282822938387e-02 -2.10467607283957e-02 +-8.18181818181818e+00 -6.64959997354283e-01 2.63198118061791e-02 -2.61598105441700e-02 +-7.57575757575758e+00 -5.95149724254541e-01 2.43306343882601e-02 -3.26518868840674e-02 +-6.96969696969697e+00 -5.18579685611426e-01 2.26497262532872e-02 -3.97349761815882e-02 +-6.36363636363636e+00 -4.42007254618211e-01 2.09687728960310e-02 -4.68180666032313e-02 +-5.75757575757576e+00 -3.63912438634128e-01 1.95466238046902e-02 -5.35422699734542e-02 +-5.15151515151515e+00 -2.83528555609560e-01 1.85126937748291e-02 -5.97281504048137e-02 +-4.54545454545454e+00 -2.03147336690540e-01 1.74787278049902e-02 -6.59140279865682e-02 +-3.93939393939394e+00 -1.21931717045454e-01 1.65036833719610e-02 -7.20966782395698e-02 +-3.33333333333333e+00 -3.31831725541821e-02 1.60592493111183e-02 -7.82503083269225e-02 +-2.72727272727273e+00 5.55596571121007e-02 1.56148097102782e-02 -8.44027093685063e-02 +-2.12121212121212e+00 1.44297486363174e-01 1.51703613286280e-02 -9.05532395923199e-02 +-1.51515151515152e+00 2.34384562504332e-01 1.49360620505817e-02 -9.63451634251637e-02 +-9.09090909090912e-01 3.24740374609906e-01 1.47704835679255e-02 -1.01980939039756e-01 +-3.03030303030302e-01 4.14607991667878e-01 1.46965923835319e-02 -1.07249297051287e-01 + 3.03030303030302e-01 5.03890185514493e-01 1.46640751524135e-02 -1.12271352520669e-01 + 9.09090909090912e-01 5.92586956479866e-01 1.46729306792518e-02 -1.17047105309323e-01 + 1.51515151515152e+00 6.79922426290664e-01 1.47515282533060e-02 -1.21372359115606e-01 + 2.12121212121212e+00 7.66697459170248e-01 1.48556252587682e-02 -1.25521446517215e-01 + 2.72727272727273e+00 8.52191676263084e-01 1.50124917425101e-02 -1.29283867061292e-01 + 3.33333333333333e+00 9.36794750343432e-01 1.52060074676168e-02 -1.32812621859804e-01 + 3.93939393939394e+00 1.02066870796854e+00 1.54295059818492e-02 -1.36150194736584e-01 + 4.54545454545455e+00 1.10291027948083e+00 1.57175797051231e-02 -1.39110313850989e-01 + 5.15151515151515e+00 1.18446359112676e+00 1.60322886255623e-02 -1.41920311418713e-01 + 5.75757575757576e+00 1.26449625084851e+00 1.64053784532873e-02 -1.44405764176048e-01 + 6.36363636363637e+00 1.34301839627604e+00 1.68349349427651e-02 -1.46618126127083e-01 + 6.96969696969697e+00 1.42053353278094e+00 1.73021287981715e-02 -1.48648427413892e-01 + 7.57575757575757e+00 1.49482687383850e+00 1.79015679133696e-02 -1.50146154194565e-01 + 8.18181818181818e+00 1.56765079007369e+00 1.85667585518769e-02 -1.51437667907033e-01 + 8.78787878787879e+00 1.63744172105119e+00 1.93691267332052e-02 -1.52313425086773e-01 + 9.39393939393939e+00 1.70346625013891e+00 2.03874907894225e-02 -1.52810212196145e-01 + 1.00000000000000e+01 1.76746270636807e+00 2.15220962738284e-02 -1.53102937305931e-01 + 1.06060606060606e+01 1.82201327031432e+00 2.33181818840206e-02 -1.52764754354173e-01 + 1.12121212121212e+01 1.87119145514923e+00 2.55933678281282e-02 -1.52260897803338e-01 + 1.18181818181818e+01 1.91028641205185e+00 2.87579289278516e-02 -1.51449373102448e-01 + 1.24242424242424e+01 1.93870209516709e+00 3.31235999443593e-02 -1.50564031898302e-01 + 1.30303030303030e+01 1.96166824814630e+00 3.80782868667940e-02 -1.49569512346785e-01 + 1.36363636363636e+01 1.96754254546573e+00 4.44727380178210e-02 -1.47101634351936e-01 + 1.42424242424242e+01 1.97658228632705e+00 5.07645626519544e-02 -1.45125633365513e-01 + 1.48484848484848e+01 1.99035313872330e+00 5.69037194391856e-02 -1.43887450184581e-01 + 1.54545454545455e+01 1.99650938116987e+00 6.36867330740841e-02 -1.42382449909640e-01 + 1.60606060606061e+01 1.99764470285701e+00 7.09465069226511e-02 -1.40831479690088e-01 + 1.66666666666667e+01 1.97650564774566e+00 8.05624612935727e-02 -1.39667236353400e-01 + 1.72727272727273e+01 1.95538629736481e+00 9.01764289596691e-02 -1.38502994341770e-01 + 1.78787878787879e+01 1.93423427851967e+00 9.97914939388126e-02 -1.37338752383677e-01 + 1.84848484848485e+01 1.91110066478984e+00 1.10800878342463e-01 -1.38006505826294e-01 + 1.90909090909091e+01 1.88748068187047e+00 1.22157534357692e-01 -1.39132259354554e-01 + 1.96969696969697e+01 1.86386069111839e+00 1.33513999578113e-01 -1.40258014170721e-01 + 2.03030303030303e+01 1.83398769502624e+00 1.44557768848238e-01 -1.42041042783067e-01 + 2.09090909090909e+01 1.81482253224655e+00 1.55288620806754e-01 -1.44481343057679e-01 + 2.15151515151515e+01 1.79565738515086e+00 1.66018223597633e-01 -1.46921644759536e-01 + 2.21212121212121e+01 1.77649226111101e+00 1.76745612015069e-01 -1.49361948087946e-01 + 2.27272727272727e+01 1.75732715266769e+00 1.87476038796410e-01 -1.51802252803553e-01 + 2.33333333333333e+01 1.73816204852603e+00 1.98213143519664e-01 -1.54242557998361e-01 + 2.39393939393939e+01 1.71899694495849e+00 2.08950248033595e-01 -1.56682864595589e-01 + 2.45454545454545e+01 1.71452494522275e+00 2.19839266864305e-01 -1.60044035489519e-01 + 2.51515151515151e+01 1.70979154522354e+00 2.30745171851615e-01 -1.63507527770793e-01 + 2.57575757575758e+01 1.69937631803500e+00 2.41651079370767e-01 -1.66971021156522e-01 + 2.63636363636364e+01 1.68896108999381e+00 2.52556987407919e-01 -1.70434514243819e-01 + 2.69696969696970e+01 1.67854586251461e+00 2.63462895096395e-01 -1.73898007028466e-01 + 2.75757575757576e+01 1.66813063540091e+00 2.74368802645060e-01 -1.77361499401031e-01 + 2.81818181818182e+01 1.65796073506321e+00 2.85286528370389e-01 -1.80771673382029e-01 + 2.87878787878788e+01 1.64845051301321e+00 2.96231829838681e-01 -1.84057438458469e-01 + 2.93939393939394e+01 1.63898641436497e+00 3.07177131825419e-01 -1.87343203387223e-01 + 3.00000000000000e+01 1.62948486661177e+00 3.18122437554767e-01 -1.90628962413533e-01 + 3.30000000000000e+01 1.55598916671587e+00 3.75406558653026e-01 -2.06930658179051e-01 + 3.60000000000000e+01 1.42956737144382e+00 4.38900372688080e-01 -2.23306751757485e-01 + 3.90000000000000e+01 1.31401943437667e+00 5.05278789516681e-01 -2.39327569355859e-01 + 4.20000000000000e+01 1.20237867356750e+00 5.72742330194448e-01 -2.52452880563439e-01 + 4.50000000000000e+01 1.09371426250065e+00 6.40955433906790e-01 -2.63419888521790e-01 + 4.80000000000000e+01 1.02447827691206e+00 7.09355098299082e-01 -2.74386896190996e-01 + 5.10000000000000e+01 9.55395606992867e-01 7.76791505776259e-01 -2.84767585553772e-01 + 5.40000000000000e+01 8.85878214562883e-01 8.42893437507159e-01 -2.94846946654179e-01 + 5.70000000000000e+01 8.15650861101859e-01 9.07331339830046e-01 -3.04708934088858e-01 + 6.00000000000000e+01 7.43778823420896e-01 9.68030646045832e-01 -3.14579992615303e-01 + 6.30000000000000e+01 6.70671078251131e-01 1.02527408889235e+00 -3.24470703285087e-01 + 6.60000000000000e+01 5.96492174740629e-01 1.07898006561435e+00 -3.34367613114791e-01 + 6.90000000000000e+01 5.21179998763148e-01 1.12816217663452e+00 -3.44264874586208e-01 + 7.20000000000000e+01 4.44958259719047e-01 1.17069378951834e+00 -3.53880164476343e-01 + 7.50000000000000e+01 3.68550854753817e-01 1.20822281180517e+00 -3.63431899394982e-01 + 7.80000000000000e+01 2.92184997204604e-01 1.24056821301301e+00 -3.72879073089261e-01 + 8.10000000000000e+01 2.16558907168969e-01 1.26528021257558e+00 -3.81883659907926e-01 + 8.40000000000000e+01 1.42498211064748e-01 1.28282171750885e+00 -3.90330809624535e-01 + 8.70000000000000e+01 7.02080266984000e-02 1.29441948951163e+00 -3.98603865275381e-01 + 9.00000000000000e+01 2.83684971530144e-10 1.29999994774573e+00 -4.06877035329063e-01 + 9.30000000000000e+01 -4.91456189584431e-02 1.29441948948082e+00 -4.11127899832210e-01 + 9.60000000000000e+01 -9.97487478450612e-02 1.28282171746833e+00 -4.15378769219076e-01 + 9.90000000000000e+01 -1.51591234548818e-01 1.26528021276816e+00 -4.19132397522905e-01 + 1.02000000000000e+02 -2.04529497573553e-01 1.24056821320277e+00 -4.21294286848455e-01 + 1.05000000000000e+02 -2.57985598494952e-01 1.20822281166610e+00 -4.22192308964419e-01 + 1.08000000000000e+02 -3.11470782012298e-01 1.17069378931869e+00 -4.22737650379564e-01 + 1.11000000000000e+02 -3.64825998728601e-01 1.12816217695146e+00 -4.22990186546995e-01 + 1.14000000000000e+02 -4.17544522564847e-01 1.07898006525770e+00 -4.21946700242729e-01 + 1.17000000000000e+02 -4.69469754631566e-01 1.02527408882523e+00 -4.20903218833329e-01 + 1.20000000000000e+02 -5.20645175941607e-01 9.68030646259131e-01 -4.20291291179462e-01 + 1.23000000000000e+02 -5.70955603103753e-01 9.07331339198415e-01 -4.20542856586506e-01 + 1.26000000000000e+02 -6.20114749989843e-01 8.42893437634247e-01 -4.21186802756651e-01 + 1.29000000000000e+02 -6.68776924496259e-01 7.76791506298021e-01 -4.23298186027395e-01 + 1.32000000000000e+02 -7.17134795002763e-01 7.09355096249268e-01 -4.27413137447514e-01 + 1.35000000000000e+02 -7.65599987908232e-01 6.40955427212404e-01 -4.35425672158307e-01 + 1.38000000000000e+02 -8.15415077643639e-01 5.72742319930925e-01 -4.43438597102601e-01 + 1.41000000000000e+02 -8.67313614226437e-01 5.05278775734147e-01 -4.54168826251280e-01 + 1.44000000000000e+02 -9.21947173449231e-01 4.38900352722281e-01 -4.68544534334753e-01 + 1.47000000000000e+02 -9.84192432199085e-01 3.75406527145853e-01 -4.83363791215884e-01 + 1.50000000000000e+02 -9.42187646547978e-01 3.14064018560735e-01 -4.95037768219011e-01 + 1.53000000000000e+02 -8.48039942046296e-01 2.56765679347464e-01 -4.75308255313391e-01 + 1.56000000000000e+02 -7.53843746165311e-01 2.03761265620115e-01 -4.52426568898058e-01 + 1.59000000000000e+02 -6.59629104253502e-01 1.55280204764428e-01 -4.29544063423552e-01 + 1.62000000000000e+02 -5.65399774831140e-01 1.12205788142027e-01 -4.37533124940953e-01 + 1.65000000000000e+02 -4.71166477086214e-01 7.52288152141807e-02 -4.60957402438061e-01 + 1.68000000000000e+02 -3.76933179340903e-01 5.40025481890213e-02 -4.84382504775283e-01 + 1.71000000000000e+02 -2.82699867710892e-01 4.63084265927295e-02 -4.49999754207926e-01 + 1.74000000000000e+02 -1.88466528002530e-01 4.13786079922686e-02 -2.99999834182374e-01 + 1.77000000000000e+02 -9.42331879484480e-02 3.83265955678298e-02 -1.49999916117331e-01 + 1.80000000000000e+02 0.00000000000000e+00 3.71823486494224e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_13.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_13.dat new file mode 100644 index 0000000..a9212dc --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_13.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF13_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF13_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-3.053122 alpha0 ! 0-lift angle of attack, depends on airfoil. +13.119832 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-10.090819 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.953700 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.288390 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.015192 Cd0 ! 2D drag coefficient value at 0-lift. +-0.081549 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 0.00000000000000e+00 3.52340583612421e-02 0.00000000000000e+00 +-1.77000000000000e+02 9.32063210447951e-02 3.63873972967869e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.86408420490214e-01 3.94647560015040e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.79611080618563e-01 4.44394733544749e-02 3.60000658682385e-01 +-1.68000000000000e+02 3.72818345743282e-01 5.22408343976004e-02 4.04375526433424e-01 +-1.65000000000000e+02 4.66017054317982e-01 7.37514506012004e-02 4.10937982641388e-01 +-1.62000000000000e+02 5.59225624846468e-01 1.11059272217695e-01 4.17501130585118e-01 +-1.59000000000000e+02 6.52528321158400e-01 1.54461252190474e-01 4.29487347580628e-01 +-1.56000000000000e+02 7.46260727025850e-01 2.02963811759827e-01 4.52325836116342e-01 +-1.53000000000000e+02 8.40510904704357e-01 2.55987139215768e-01 4.75160427290363e-01 +-1.50000000000000e+02 9.36146448425676e-01 3.13306744056232e-01 4.94867162929905e-01 +-1.47000000000000e+02 9.79704593251617e-01 3.74673456678356e-01 4.83304091609564e-01 +-1.44000000000000e+02 9.18089704952839e-01 4.38192916603623e-01 4.68793869277108e-01 +-1.41000000000000e+02 8.63977339807292e-01 5.04599540802673e-01 4.54919263410029e-01 +-1.38000000000000e+02 8.12545402097064e-01 5.72092852854158e-01 4.44593778500106e-01 +-1.35000000000000e+02 7.63147234064657e-01 6.40337259465107e-01 4.36914547594983e-01 +-1.32000000000000e+02 7.15044439681374e-01 7.08770142356571e-01 4.29232252186971e-01 +-1.29000000000000e+02 6.67004568686357e-01 7.76241539757231e-01 4.25338883752473e-01 +-1.26000000000000e+02 6.18630143474489e-01 8.42379736991027e-01 4.23392461344380e-01 +-1.23000000000000e+02 5.69730430959261e-01 9.06855132555820e-01 4.22853908737711e-01 +-1.20000000000000e+02 5.19641231357173e-01 9.67593648706196e-01 4.22610576857463e-01 +-1.17000000000000e+02 4.68663205053730e-01 1.02487738602161e+00 4.23212900722479e-01 +-1.14000000000000e+02 4.16914131605183e-01 1.07862458167089e+00 4.24233628064057e-01 +-1.11000000000000e+02 3.64348473636258e-01 1.12784889652844e+00 4.25256023614466e-01 +-1.08000000000000e+02 3.11118681279773e-01 1.17042378066241e+00 4.24947264260290e-01 +-1.05000000000000e+02 2.57741002192842e-01 1.20799668171792e+00 4.24337682256206e-01 +-1.02000000000000e+02 2.04374803926238e-01 1.24038650226040e+00 4.23369830325254e-01 +-9.90000000000000e+01 1.51502824288988e-01 1.26514352984493e+00 4.21129588102001e-01 +-9.60000000000000e+01 9.97061992536448e-02 1.28273043907281e+00 4.17287593346697e-01 +-9.30000000000000e+01 4.91325063802350e-02 1.29437380815302e+00 4.12945330545652e-01 +-9.00000000000000e+01 -1.92380077021988e-10 1.29999999997796e+00 4.08603845600092e-01 +-8.70000000000000e+01 -4.91325060856542e-02 1.29437380818675e+00 3.99312684238729e-01 +-8.40000000000000e+01 -9.97061991145584e-02 1.28273043911429e+00 3.90022130677081e-01 +-8.10000000000000e+01 -1.51502824703207e-01 1.26514352965098e+00 3.80349762424391e-01 +-7.80000000000000e+01 -2.04374804340457e-01 1.24038650206644e+00 3.69441086426643e-01 +-7.50000000000000e+01 -2.57741001977983e-01 1.20799668185324e+00 3.57530541205913e-01 +-7.20000000000000e+01 -3.11118681030411e-01 1.17042378085833e+00 3.45360468748198e-01 +-6.90000000000000e+01 -3.64348473978841e-01 1.12784889620763e+00 3.32992324643652e-01 +-6.60000000000000e+01 -4.16914131220782e-01 1.07862458203085e+00 3.19750264527097e-01 +-6.30000000000000e+01 -4.68663204982477e-01 1.02487738609859e+00 3.06506965715114e-01 +-6.00000000000000e+01 -5.19641231518680e-01 9.67593648510352e-01 2.93333305512994e-01 +-5.70000000000000e+01 -5.69730430428034e-01 9.06855133199991e-01 2.80451523956472e-01 +-5.40000000000000e+01 -6.18630143567639e-01 8.42379736867702e-01 2.67641035711640e-01 +-5.10000000000000e+01 -6.67004569062604e-01 7.76241539230407e-01 2.54916776808974e-01 +-4.80000000000000e+01 -7.15044439931513e-01 7.08770142000714e-01 2.42310601478322e-01 +-4.50000000000000e+01 -7.63147233649533e-01 6.40337260055678e-01 2.29937228996077e-01 +-4.20000000000000e+01 -8.50045402093660e-01 5.72092852858829e-01 2.17562682506736e-01 +-3.90000000000000e+01 -9.38977339909782e-01 5.04599540675745e-01 1.87257598194963e-01 +-3.60000000000000e+01 -1.03058970429937e+00 4.38192917277288e-01 1.33554958769004e-01 +-3.30000000000000e+01 -1.12970459345029e+00 3.74673456473545e-01 7.64762023095740e-02 +-3.00000000000000e+01 -1.25076583110854e+00 2.79268159552318e-01 4.51026958548175e-02 +-2.93939393939394e+01 -1.27928629937103e+00 2.56959846139462e-01 4.15986745964396e-02 +-2.87878787878788e+01 -1.30748679753622e+00 2.34422524601631e-01 3.80950230916190e-02 +-2.81818181818182e+01 -1.33554357525187e+00 2.11888656508340e-01 3.45917780884434e-02 +-2.75757575757576e+01 -1.34422618561107e+00 1.99679821219782e-01 3.14633998916702e-02 +-2.69696969696970e+01 -1.34450974234561e+00 1.91907855977199e-01 2.84958620321137e-02 +-2.63636363636364e+01 -1.34466200562252e+00 1.83821101786190e-01 2.55287255237486e-02 +-2.57575757575758e+01 -1.34469277077713e+00 1.75740738892538e-01 2.25620454300180e-02 +-2.51515151515151e+01 -1.34461088239549e+00 1.67677503350438e-01 1.95958873696610e-02 +-2.45454545454545e+01 -1.33874252875124e+00 1.59630039984789e-01 1.66303301732482e-02 +-2.39393939393939e+01 -1.32192835483922e+00 1.51727656699900e-01 1.37349618018799e-02 +-2.33333333333333e+01 -1.30141586625441e+00 1.45006243098326e-01 1.14672288868567e-02 +-2.27272727272727e+01 -1.28081987670877e+00 1.38284879010521e-01 9.20298252065681e-03 +-2.21212121212121e+01 -1.26013510822473e+00 1.31563569946515e-01 6.94238322087144e-03 +-2.15151515151515e+01 -1.24003480539302e+00 1.24842322265399e-01 4.72413947025237e-03 +-2.09090909090909e+01 -1.21923546270465e+00 1.18200216726129e-01 2.55896710533069e-03 +-2.03030303030303e+01 -1.19848193985136e+00 1.11590789288618e-01 3.61483374316760e-04 +-1.96969696969697e+01 -1.17695649187147e+00 1.05600966881347e-01 -1.34971699260331e-03 +-1.90909090909091e+01 -1.15467851714449e+00 1.00256615041384e-01 -2.80514949639567e-03 +-1.84848484848485e+01 -1.13253336949390e+00 9.49221474192222e-02 -4.27868363370833e-03 +-1.78787878787879e+01 -1.11022834176574e+00 8.96418762235755e-02 -5.67479285460284e-03 +-1.72727272727273e+01 -1.08692529149112e+00 8.46195993847266e-02 -6.75276350343465e-03 +-1.66666666666667e+01 -1.06364492256026e+00 7.95960914923986e-02 -7.83332057818466e-03 +-1.60606060606061e+01 -1.04038318523188e+00 7.45655534153329e-02 -8.91700817334050e-03 +-1.54545454545455e+01 -1.01961793004800e+00 6.98222019578365e-02 -9.37110197771310e-03 +-1.48484848484848e+01 -9.99133253655279e-01 6.51082798477814e-02 -9.75415967499026e-03 +-1.42424242424242e+01 -9.78652439555819e-01 6.03911926438880e-02 -1.01427845730431e-02 +-1.36363636363636e+01 -9.59724050270609e-01 5.59268871518657e-02 -1.00310419624467e-02 +-1.30303030303030e+01 -9.41839781107999e-01 5.16320884980551e-02 -9.57455462934773e-03 +-1.24242424242424e+01 -9.23968581259282e-01 4.73327075646102e-02 -9.19351547421811e-03 +-1.18181818181818e+01 -9.05481631744466e-01 4.32525820593033e-02 -9.13974316180631e-03 +-1.12121212121212e+01 -8.85851249232404e-01 3.96759148743248e-02 -9.68274706964095e-03 +-1.06060606060606e+01 -8.65691829995092e-01 3.61027391907136e-02 -1.03412138480374e-02 +-1.00000000000000e+01 -8.45698022165369e-01 3.25285600903598e-02 -1.09584377380081e-02 +-9.39393939393939e+00 -7.88456303028142e-01 2.99936646144585e-02 -1.63266732697420e-02 +-8.78787878787879e+00 -7.31810721214621e-01 2.74630930834669e-02 -2.17499580687368e-02 +-8.18181818181818e+00 -6.75446053961609e-01 2.49368658271313e-02 -2.72246386576473e-02 +-7.57575757575758e+00 -6.05133392290600e-01 2.30646487215556e-02 -3.37170153029059e-02 +-6.96969696969697e+00 -5.29070200108122e-01 2.14727092668678e-02 -4.06320229771301e-02 +-6.36363636363636e+00 -4.53078030444102e-01 1.98820554406307e-02 -4.75471694361620e-02 +-5.75757575757576e+00 -3.74981158529277e-01 1.85505977260493e-02 -5.41588606810689e-02 +-5.15151515151515e+00 -2.93889140936548e-01 1.76075192713363e-02 -6.03163497391691e-02 +-4.54545454545454e+00 -2.12723626675913e-01 1.66654294689282e-02 -6.64764358183218e-02 +-3.93939393939394e+00 -1.30678593479335e-01 1.57783412344233e-02 -7.26318516138699e-02 +-3.33333333333333e+00 -4.13629292336573e-02 1.53776599570296e-02 -7.87184495637183e-02 +-2.72727272727273e+00 4.80998258313723e-02 1.49771019696375e-02 -8.48404956083194e-02 +-2.12121212121212e+00 1.37692965515094e-01 1.45767362778069e-02 -9.09396995648307e-02 +-1.51515151515152e+00 2.28644603585489e-01 1.43642708046952e-02 -9.64633038030793e-02 +-9.09090909090912e-01 3.19235646339903e-01 1.42134945542667e-02 -1.01906079169100e-01 +-3.03030303030302e-01 4.08770612715799e-01 1.41464916458443e-02 -1.07042052990791e-01 + 3.03030303030302e-01 4.97691746638557e-01 1.41187381304467e-02 -1.11922250218516e-01 + 9.09090909090912e-01 5.85999226805348e-01 1.41302579954596e-02 -1.16551505180579e-01 + 1.51515151515152e+00 6.72961251593524e-01 1.42035750287727e-02 -1.20743358071485e-01 + 2.12121212121212e+00 7.59372131396028e-01 1.43001150260284e-02 -1.24764540059987e-01 + 2.72727272727273e+00 8.44528160685474e-01 1.44459212094906e-02 -1.28414743277944e-01 + 3.33333333333333e+00 9.28812762953739e-01 1.46257403463131e-02 -1.31841154637600e-01 + 3.93939393939394e+00 1.01238433967620e+00 1.48334500748236e-02 -1.35084570645689e-01 + 4.54545454545455e+00 1.09436882117872e+00 1.51001536103559e-02 -1.37968851819839e-01 + 5.15151515151515e+00 1.17569160415740e+00 1.53907567249219e-02 -1.40712211725429e-01 + 5.75757575757576e+00 1.25555826789402e+00 1.57333972650566e-02 -1.43152768085864e-01 + 6.36363636363637e+00 1.33398715397470e+00 1.61265997399056e-02 -1.45336447704227e-01 + 6.96969696969697e+00 1.41145594129849e+00 1.65536448320290e-02 -1.47348860107482e-01 + 7.57575757575757e+00 1.48584184406320e+00 1.70928140182259e-02 -1.48864061573801e-01 + 8.18181818181818e+00 1.55881737765427e+00 1.76871764153554e-02 -1.50183498180402e-01 + 8.78787878787879e+00 1.62888283705504e+00 1.83967478540527e-02 -1.51107317368113e-01 + 9.39393939393939e+00 1.69528745319734e+00 1.92805801971942e-02 -1.51653734510099e-01 + 1.00000000000000e+01 1.75969653677691e+00 2.02595605670379e-02 -1.51996819989394e-01 + 1.06060606060606e+01 1.81511128040614e+00 2.17501242326127e-02 -1.51723723422905e-01 + 1.12121212121212e+01 1.86513662856347e+00 2.36095005572119e-02 -1.51279872463737e-01 + 1.18181818181818e+01 1.91044786061451e+00 2.61644262680706e-02 -1.50519525673713e-01 + 1.24242424242424e+01 1.94521317904935e+00 2.98055901843750e-02 -1.49639079369506e-01 + 1.30303030303030e+01 1.97354001601095e+00 3.40438119188005e-02 -1.48643543434455e-01 + 1.36363636363636e+01 1.98326054413873e+00 3.99423024011930e-02 -1.46425457570975e-01 + 1.42424242424242e+01 1.99363261987876e+00 4.59765073485831e-02 -1.44602109383368e-01 + 1.48484848484848e+01 2.00499987344409e+00 5.21740406067202e-02 -1.43395898061940e-01 + 1.54545454545455e+01 2.01071418811420e+00 5.88773246236613e-02 -1.41961657700475e-01 + 1.60606060606061e+01 2.01243516603723e+00 6.59594362757408e-02 -1.40478056882315e-01 + 1.66666666666667e+01 1.99332525178521e+00 7.49908277657231e-02 -1.39275611558447e-01 + 1.72727272727273e+01 1.97363757406625e+00 8.40611229035805e-02 -1.38072740942862e-01 + 1.78787878787879e+01 1.95490684037339e+00 9.30851977782810e-02 -1.36869484163973e-01 + 1.84848484848485e+01 1.92944959279614e+00 1.03877329591202e-01 -1.37298192979034e-01 + 1.90909090909091e+01 1.90204633865769e+00 1.15143395006210e-01 -1.38107745458825e-01 + 1.96969696969697e+01 1.87464308451924e+00 1.26406597946687e-01 -1.38891236641062e-01 + 2.03030303030303e+01 1.85576101422480e+00 1.37591517013032e-01 -1.40471201133173e-01 + 2.09090909090909e+01 1.84540012648910e+00 1.48706961061630e-01 -1.42862958023492e-01 + 2.15151515151515e+01 1.83503923875339e+00 1.59851834477256e-01 -1.45251979425956e-01 + 2.21212121212121e+01 1.81499646564212e+00 1.71051874121460e-01 -1.47637955993304e-01 + 2.27272727272727e+01 1.79105514108387e+00 1.82154350216621e-01 -1.50020529907048e-01 + 2.33333333333333e+01 1.76711381652561e+00 1.93051402470548e-01 -1.52399284996809e-01 + 2.39393939393939e+01 1.74317249196736e+00 2.04110585014708e-01 -1.54773734339962e-01 + 2.45454545454545e+01 1.73566903166540e+00 2.15342197197990e-01 -1.58224773991712e-01 + 2.51515151515151e+01 1.72809806041304e+00 2.26592679207092e-01 -1.61794223402299e-01 + 2.57575757575758e+01 1.71484527097885e+00 2.37843161216195e-01 -1.65362034905382e-01 + 2.63636363636364e+01 1.70159248154467e+00 2.49093643225297e-01 -1.68928142044579e-01 + 2.69696969696970e+01 1.68833969211049e+00 2.60344125234399e-01 -1.72492474719017e-01 + 2.75757575757576e+01 1.67508690267631e+00 2.71594607243501e-01 -1.76054958930033e-01 + 2.81818181818182e+01 1.66305432071528e+00 2.82834960936567e-01 -1.79533261082293e-01 + 2.87878787878788e+01 1.65137568952824e+00 2.94051681887518e-01 -1.82818936438773e-01 + 2.93939393939394e+01 1.63872156405482e+00 3.05268402838469e-01 -1.86104600877154e-01 + 3.00000000000000e+01 1.62801612197793e+00 3.16485123789419e-01 -1.89390254242826e-01 + 3.30000000000000e+01 1.54957799064327e+00 3.74673456473546e-01 -2.05744147620875e-01 + 3.60000000000000e+01 1.42405672042768e+00 4.38192917277288e-01 -2.22276973764554e-01 + 3.90000000000000e+01 1.30925334272826e+00 5.04599540675745e-01 -2.38451051101333e-01 + 4.20000000000000e+01 1.19827914584809e+00 5.72092852858829e-01 -2.51716194285353e-01 + 4.50000000000000e+01 1.09021033378505e+00 6.40337260055678e-01 -2.62813647719898e-01 + 4.80000000000000e+01 1.02149205704502e+00 7.08770142000714e-01 -2.73910029932137e-01 + 5.10000000000000e+01 9.52863670089434e-01 7.76241539230407e-01 -2.84406408461636e-01 + 5.40000000000000e+01 8.83757347953770e-01 8.42379736867702e-01 -2.94593432010454e-01 + 5.70000000000000e+01 8.13900614897191e-01 9.06855133199991e-01 -3.04555536778139e-01 + 6.00000000000000e+01 7.42344616455256e-01 9.67593648510353e-01 -3.14516350436287e-01 + 6.30000000000000e+01 6.69518864260682e-01 1.02487738609859e+00 -3.24488913861314e-01 + 6.60000000000000e+01 5.95591616029688e-01 1.07862458203085e+00 -3.34634397600155e-01 + 6.90000000000000e+01 5.20497819969772e-01 1.12784889620763e+00 -3.44769835027512e-01 + 7.20000000000000e+01 4.44455258614872e-01 1.17042378085833e+00 -3.54580691377762e-01 + 7.50000000000000e+01 3.68201431397118e-01 1.20799668185324e+00 -3.64314346697949e-01 + 7.80000000000000e+01 2.91964006200652e-01 1.24038650206644e+00 -3.73932959363052e-01 + 8.10000000000000e+01 2.16432606718867e-01 1.26514352965098e+00 -3.83077020774796e-01 + 8.40000000000000e+01 1.42437427306512e-01 1.28273043911429e+00 -3.91638044092216e-01 + 8.70000000000000e+01 7.01892944080772e-02 1.29437380818675e+00 -4.00022505121728e-01 + 9.00000000000000e+01 2.74828536672094e-10 1.29999999997796e+00 -4.08405111429476e-01 + 9.30000000000000e+01 -4.91325063802348e-02 1.29437380815302e+00 -4.12731661994970e-01 + 9.60000000000000e+01 -9.97061992536451e-02 1.28273043907281e+00 -4.17059016841760e-01 + 9.90000000000000e+01 -1.51502824288988e-01 1.26514352984493e+00 -4.20883885024608e-01 + 1.02000000000000e+02 -2.04374803926238e-01 1.24038650226040e+00 -4.23114865806461e-01 + 1.05000000000000e+02 -2.57741002192842e-01 1.20799668171792e+00 -4.24075313191287e-01 + 1.08000000000000e+02 -3.11118681279773e-01 1.17042378066241e+00 -4.24676837892244e-01 + 1.11000000000000e+02 -3.64348473636259e-01 1.12784889652844e+00 -4.24981194607050e-01 + 1.14000000000000e+02 -4.16914131605183e-01 1.07862458167088e+00 -4.23962924759651e-01 + 1.17000000000000e+02 -4.68663205053730e-01 1.02487738602161e+00 -4.22946209779832e-01 + 1.20000000000000e+02 -5.19641231357174e-01 9.67593648706196e-01 -4.22356037303445e-01 + 1.23000000000000e+02 -5.69730430959262e-01 9.06855132555820e-01 -4.22617641284820e-01 + 1.26000000000000e+02 -6.18630143474489e-01 8.42379736991027e-01 -4.23180738267149e-01 + 1.29000000000000e+02 -6.67004568686358e-01 7.76241539757230e-01 -4.25162812612685e-01 + 1.32000000000000e+02 -7.15044439681375e-01 7.08770142356570e-01 -4.29086901544947e-01 + 1.35000000000000e+02 -7.63147234064657e-01 6.40337259465107e-01 -4.36815703887675e-01 + 1.38000000000000e+02 -8.12545402097064e-01 5.72092852854158e-01 -4.44533358221983e-01 + 1.41000000000000e+02 -8.63977339807292e-01 5.04599540802673e-01 -4.54890977364733e-01 + 1.44000000000000e+02 -9.18089704952839e-01 4.38192916603623e-01 -4.68789315355658e-01 + 1.47000000000000e+02 -9.79704593251617e-01 3.74673456678356e-01 -4.83304091609564e-01 + 1.50000000000000e+02 -9.36146448425675e-01 3.13306744056231e-01 -4.94867162929905e-01 + 1.53000000000000e+02 -8.40509887404261e-01 2.55986557854650e-01 -4.74906815027638e-01 + 1.56000000000000e+02 -7.46258270126860e-01 2.02962483781969e-01 -4.52131531320961e-01 + 1.59000000000000e+02 -6.52533482883086e-01 1.54463844993724e-01 -4.29377949998947e-01 + 1.62000000000000e+02 -5.59220570684673e-01 1.11057102626075e-01 -4.37435626852346e-01 + 1.65000000000000e+02 -4.66017190520322e-01 7.37514506012005e-02 -4.60915778000089e-01 + 1.68000000000000e+02 -3.72813810366986e-01 5.22402103096139e-02 -4.84375193228005e-01 + 1.71000000000000e+02 -2.79610811913178e-01 4.44394436066519e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.86408585681638e-01 3.94647560015040e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -9.32064058859913e-02 3.63873972967869e-02 -1.50000000451309e-01 + 1.80000000000000e+02 0.00000000000000e+00 3.52340583612421e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_14.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_14.dat new file mode 100644 index 0000000..fa19e71 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_14.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF14_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF14_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-3.002653 alpha0 ! 0-lift angle of attack, depends on airfoil. +13.409444 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-10.404161 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.971745 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.297918 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.014811 Cd0 ! 2D drag coefficient value at 0-lift. +-0.082690 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 0.00000000000000e+00 3.39827187802334e-02 0.00000000000000e+00 +-1.77000000000000e+02 9.26080815390948e-02 3.51361910133376e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.85213229791944e-01 3.82136038549190e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.77818921047876e-01 4.31873143042871e-02 3.60000658682385e-01 +-1.68000000000000e+02 3.70428920400680e-01 5.10770501378210e-02 4.04360085420114e-01 +-1.65000000000000e+02 4.63030298181963e-01 7.27260619898571e-02 4.10899383049289e-01 +-1.62000000000000e+02 5.55641463335282e-01 1.09959274566120e-01 4.17439369973128e-01 +-1.59000000000000e+02 6.48313443472827e-01 1.53289756254014e-01 4.29381814706432e-01 +-1.56000000000000e+02 7.41289273939323e-01 2.01817548090846e-01 4.52134063616842e-01 +-1.53000000000000e+02 8.34622123787588e-01 2.54869069396775e-01 4.74880827150489e-01 +-1.50000000000000e+02 9.28917559371637e-01 3.12219982958281e-01 4.94526705619227e-01 +-1.47000000000000e+02 9.71846787745153e-01 3.73621431296778e-01 4.83181533087997e-01 +-1.44000000000000e+02 9.11335608114362e-01 4.37177696347211e-01 4.68937065721854e-01 +-1.41000000000000e+02 8.58135769472863e-01 5.03624778315583e-01 4.55354565417421e-01 +-1.38000000000000e+02 8.07520788399240e-01 5.71160800991772e-01 4.45269342808896e-01 +-1.35000000000000e+02 7.58852605973446e-01 6.39450116908812e-01 4.37791503286049e-01 +-1.32000000000000e+02 7.11384329602687e-01 7.07930654666168e-01 4.30311534739449e-01 +-1.29000000000000e+02 6.63901239926392e-01 7.75452250885997e-01 4.26555477426537e-01 +-1.26000000000000e+02 6.16030633441952e-01 8.41642478544626e-01 4.24713045370946e-01 +-1.23000000000000e+02 5.67585166352147e-01 9.06171672218216e-01 4.24235563363666e-01 +-1.20000000000000e+02 5.17883322268660e-01 9.66966459398360e-01 4.23971011171253e-01 +-1.17000000000000e+02 4.67250917092052e-01 1.02430800274071e+00 4.24555694933766e-01 +-1.14000000000000e+02 4.15810285975831e-01 1.07811434231402e+00 4.25555933524897e-01 +-1.11000000000000e+02 3.63512291340992e-01 1.12739922709198e+00 4.26559448727801e-01 +-1.08000000000000e+02 3.10502115434018e-01 1.17003620101767e+00 4.26216547455907e-01 +-1.05000000000000e+02 2.57312676449441e-01 1.20767206137494e+00 4.25569160714456e-01 +-1.02000000000000e+02 2.04103900018314e-01 1.24012563226212e+00 4.24561104782021e-01 +-9.90000000000000e+01 1.51347989605188e-01 1.26494728632009e+00 4.22276735198655e-01 +-9.60000000000000e+01 9.96316805574674e-02 1.28259934348137e+00 4.18385911181061e-01 +-9.30000000000000e+01 4.91095397493522e-02 1.29430815415810e+00 4.13994040754757e-01 +-9.00000000000000e+01 -1.92314944152434e-10 1.29999999997770e+00 4.09603892413799e-01 +-8.70000000000000e+01 -4.91095394549090e-02 1.29430815419222e+00 4.00232891799030e-01 +-8.40000000000000e+01 -9.96316804185679e-02 1.28259934352302e+00 3.90863864680303e-01 +-8.10000000000000e+01 -1.51347990018498e-01 1.26494728612563e+00 3.81115828142104e-01 +-7.80000000000000e+01 -2.04103900431624e-01 1.24012563206766e+00 3.70124688825763e-01 +-7.50000000000000e+01 -2.57312676235242e-01 1.20767206151051e+00 3.58107719156556e-01 +-7.20000000000000e+01 -3.10502115185660e-01 1.17003620121387e+00 3.45830271170127e-01 +-6.90000000000000e+01 -3.63512291681830e-01 1.12739922677078e+00 3.33353248436580e-01 +-6.60000000000000e+01 -4.15810285593388e-01 1.07811434267443e+00 3.19994744506193e-01 +-6.30000000000000e+01 -4.67250917021249e-01 1.02430800281777e+00 3.06635379976791e-01 +-6.00000000000000e+01 -5.17883322428918e-01 9.66966459202335e-01 2.93342461124646e-01 +-5.70000000000000e+01 -5.67585165825027e-01 9.06171672862984e-01 2.80353467317120e-01 +-5.40000000000000e+01 -6.16030633534228e-01 8.41642478421199e-01 2.67425810216944e-01 +-5.10000000000000e+01 -6.63901240298420e-01 7.75452250358775e-01 2.54577146205213e-01 +-4.80000000000000e+01 -7.11384329849526e-01 7.07930654310063e-01 2.41840099956793e-01 +-4.50000000000000e+01 -7.58852605563798e-01 6.39450117499795e-01 2.29326144295833e-01 +-4.20000000000000e+01 -8.45020788395888e-01 5.71160800996446e-01 2.16809906124507e-01 +-3.90000000000000e+01 -9.33135769573631e-01 5.03624778188578e-01 1.86872921306899e-01 +-3.60000000000000e+01 -1.02383560747260e+00 4.37177697021266e-01 1.34219545126635e-01 +-3.30000000000000e+01 -1.12184678794026e+00 3.73621431091848e-01 7.82293811495394e-02 +-3.00000000000000e+01 -1.25375628351165e+00 2.79061149213867e-01 4.73838900875023e-02 +-2.93939393939394e+01 -1.28625727154944e+00 2.56955754227869e-01 4.38573448175413e-02 +-2.87878787878788e+01 -1.31853596700494e+00 2.34578421679170e-01 4.03315184649675e-02 +-2.81818181818182e+01 -1.35071481566185e+00 2.12212110862505e-01 3.68064824796392e-02 +-2.75757575757576e+01 -1.35986252997284e+00 1.99897971840178e-01 3.36421114675233e-02 +-2.69696969696970e+01 -1.35495910198742e+00 1.91914959070894e-01 3.06326672606842e-02 +-2.63636363636364e+01 -1.34946290718730e+00 1.83570157885290e-01 2.76240034069863e-02 +-2.57575757575758e+01 -1.34338092343781e+00 1.75224082294616e-01 2.46162269671078e-02 +-2.51515151515151e+01 -1.33671945132270e+00 1.66889905575857e-01 2.16094655245475e-02 +-2.45454545454545e+01 -1.32482164011347e+00 1.58566686249247e-01 1.86038723507658e-02 +-2.39393939393939e+01 -1.31083000920841e+00 1.50415272993959e-01 1.56830739526009e-02 +-2.33333333333333e+01 -1.29304427643380e+00 1.43723446504335e-01 1.35175266651730e-02 +-2.27272727272727e+01 -1.27519922129554e+00 1.37031654413374e-01 1.13587583269157e-02 +-2.21212121212121e+01 -1.25729109411095e+00 1.30339900549057e-01 9.20708103458914e-03 +-2.15151515151515e+01 -1.23979819429180e+00 1.23648189329226e-01 7.08959978809658e-03 +-2.09090909090909e+01 -1.22043967619283e+00 1.17110269439883e-01 5.01398577204090e-03 +-2.03030303030303e+01 -1.20117226085600e+00 1.10635789391945e-01 2.88572121361289e-03 +-1.96969696969697e+01 -1.18092152023818e+00 1.04648291401609e-01 1.14383811143953e-03 +-1.90909090909091e+01 -1.15972602387504e+00 9.92107281088422e-02 -3.78910726358473e-04 +-1.84848484848485e+01 -1.13879462522256e+00 9.37773912296444e-02 -1.94114916795474e-03 +-1.78787878787879e+01 -1.11800025962587e+00 8.84177466705783e-02 -3.39182194909597e-03 +-1.72727272727273e+01 -1.09704122302623e+00 8.33869266627861e-02 -4.40845093196582e-03 +-1.66666666666667e+01 -1.07612728333848e+00 7.83541020344841e-02 -5.42469388269490e-03 +-1.60606060606061e+01 -1.05525038853418e+00 7.33154092755912e-02 -6.44131720293687e-03 +-1.54545454545455e+01 -1.03708998796522e+00 6.85491980977582e-02 -6.83885535277382e-03 +-1.48484848484848e+01 -1.01923776637593e+00 6.38115902444399e-02 -7.16542206075752e-03 +-1.42424242424242e+01 -1.00139322411555e+00 5.90717800931018e-02 -7.49449195097247e-03 +-1.36363636363636e+01 -9.85582630635891e-01 5.45953451852514e-02 -7.25824800069492e-03 +-1.30303030303030e+01 -9.71146235970556e-01 5.02951797188690e-02 -6.59429894473014e-03 +-1.24242424242424e+01 -9.56735826789301e-01 4.59918303324331e-02 -6.09458931264383e-03 +-1.18181818181818e+01 -9.39749743588092e-01 4.19234919469827e-02 -6.33957505918733e-03 +-1.12121212121212e+01 -9.17006603544935e-01 3.83975751824190e-02 -7.99132561302805e-03 +-1.06060606060606e+01 -8.94079294177099e-01 3.48735748117277e-02 -9.72329159910431e-03 +-1.00000000000000e+01 -8.71677310577263e-01 3.13482522682990e-02 -1.12324050009411e-02 +-9.39393939393939e+00 -8.09352515258175e-01 2.89418068369302e-02 -1.70570388600872e-02 +-8.78787878787879e+00 -7.47477336715996e-01 2.65382895638149e-02 -2.29887057358808e-02 +-8.18181818181818e+00 -6.85852590550991e-01 2.41376852823891e-02 -2.90203022168741e-02 +-7.57575757575758e+00 -6.14381913671465e-01 2.23432670728214e-02 -3.54907707563570e-02 +-6.96969696969697e+00 -5.38828724543117e-01 2.08086648227927e-02 -4.21230315335525e-02 +-6.36363636363636e+00 -4.63327422383557e-01 1.92749442274214e-02 -4.87555621521315e-02 +-5.75757575757576e+00 -3.85163419355998e-01 1.79998213210180e-02 -5.51743354497077e-02 +-5.15151515151515e+00 -3.03122193115074e-01 1.71122913188133e-02 -6.12743794545177e-02 +-4.54545454545454e+00 -2.21034663137001e-01 1.62253896620354e-02 -6.73794728863118e-02 +-3.93939393939394e+00 -1.38177932897275e-01 1.53902070884591e-02 -7.34745774946745e-02 +-3.33333333333333e+00 -4.88066008049138e-02 1.50151482972450e-02 -7.94277036440439e-02 +-2.72727272727273e+00 4.06445279709733e-02 1.46401123183401e-02 -8.54059912228891e-02 +-2.12121212121212e+00 1.30167561205432e-01 1.42651367821567e-02 -9.12729384220002e-02 +-1.51515151515152e+00 2.20357535136238e-01 1.40650603003038e-02 -9.65374040671284e-02 +-9.09090909090912e-01 3.10165780086269e-01 1.39226468209457e-02 -1.01763271666766e-01 +-3.03030303030302e-01 3.98928229947304e-01 1.38594434565742e-02 -1.06667755580241e-01 + 3.03030303030302e-01 4.87045854299020e-01 1.38343100624896e-02 -1.11308066157115e-01 + 9.09090909090912e-01 5.74519008441814e-01 1.38472629838411e-02 -1.15693602854419e-01 + 1.51515151515152e+00 6.60704509524197e-01 1.39174569045475e-02 -1.19665548020720e-01 + 2.12121212121212e+00 7.46366943450624e-01 1.40095697226422e-02 -1.23476913164000e-01 + 2.72727272727273e+00 8.30846032432434e-01 1.41489847711348e-02 -1.26943641636391e-01 + 3.33333333333333e+00 9.14505995842039e-01 1.43209158119834e-02 -1.30203062663109e-01 + 3.93939393939394e+00 9.97495686591294e-01 1.45194867506808e-02 -1.33293076731610e-01 + 4.54545454545455e+00 1.07900838078094e+00 1.47738338399892e-02 -1.36053851797392e-01 + 5.15151515151515e+00 1.15991697912853e+00 1.50504150795931e-02 -1.38688382740891e-01 + 5.75757575757576e+00 1.23950551232946e+00 1.53751380520933e-02 -1.41054411179117e-01 + 6.36363636363637e+00 1.31780639853610e+00 1.57468494287738e-02 -1.43189303259973e-01 + 6.96969696969697e+00 1.39524571124252e+00 1.61499213817503e-02 -1.45170073213983e-01 + 7.57575757575757e+00 1.46989934528637e+00 1.66525898361939e-02 -1.46709687830864e-01 + 8.18181818181818e+00 1.54327539608146e+00 1.72035745392014e-02 -1.48070397203321e-01 + 8.78787878787879e+00 1.61401686874612e+00 1.78554093069196e-02 -1.49068044507097e-01 + 9.39393939393939e+00 1.68136933145726e+00 1.86537493476594e-02 -1.49691971016351e-01 + 1.00000000000000e+01 1.74684860943325e+00 1.95312495059769e-02 -1.50114439349408e-01 + 1.06060606060606e+01 1.80438497462913e+00 2.08143699210209e-02 -1.49944264014223e-01 + 1.12121212121212e+01 1.85689220857784e+00 2.23744767025423e-02 -1.49595474903890e-01 + 1.18181818181818e+01 1.90661580835303e+00 2.44559405484823e-02 -1.48916178974564e-01 + 1.24242424242424e+01 1.94696064590772e+00 2.74744137440885e-02 -1.48042160973376e-01 + 1.30303030303030e+01 1.98145429731468e+00 3.10195192098657e-02 -1.47042843097862e-01 + 1.36363636363636e+01 1.99751311763332e+00 3.63423423987095e-02 -1.45221590604637e-01 + 1.42424242424242e+01 2.01147836920625e+00 4.20100420717890e-02 -1.43646036940195e-01 + 1.48484848484848e+01 2.02169869295177e+00 4.81623384443863e-02 -1.42487698494534e-01 + 1.54545454545455e+01 2.02921907670394e+00 5.46584078707335e-02 -1.41170861317507e-01 + 1.60606060606061e+01 2.03414582545316e+00 6.14218654132800e-02 -1.39802966655605e-01 + 1.66666666666667e+01 2.02277238639937e+00 6.95618262465563e-02 -1.38531375371486e-01 + 1.72727272727273e+01 2.01098848147598e+00 7.77065307886078e-02 -1.37258957186305e-01 + 1.78787878787879e+01 1.99988442719095e+00 8.58003612334251e-02 -1.35985788178017e-01 + 1.84848484848485e+01 1.97273440081224e+00 9.60615749489619e-02 -1.36005408910597e-01 + 1.90909090909091e+01 1.94138505742386e+00 1.06880040512111e-01 -1.36295443432173e-01 + 1.96969696969697e+01 1.91003571403548e+00 1.17686092347512e-01 -1.36534806582032e-01 + 2.03030303030303e+01 1.88493339069834e+00 1.28788718121450e-01 -1.37804520115597e-01 + 2.09090909090909e+01 1.86607808647019e+00 1.40197170282510e-01 -1.40134369244247e-01 + 2.15151515151515e+01 1.84722278224203e+00 1.51618281524563e-01 -1.42458899722834e-01 + 2.21212121212121e+01 1.82836747801388e+00 1.63067652667063e-01 -1.44777510082836e-01 + 2.27272727272727e+01 1.80951217378573e+00 1.74435912690673e-01 -1.47089504612401e-01 + 2.33333333333333e+01 1.79065686955758e+00 1.85643279261628e-01 -1.49394074145217e-01 + 2.39393939393939e+01 1.77180156532943e+00 1.97165878187615e-01 -1.51690271950324e-01 + 2.45454545454545e+01 1.76601020091115e+00 2.08889076608347e-01 -1.55274771659905e-01 + 2.51515151515151e+01 1.75436737602042e+00 2.20634001917652e-01 -1.59000060753440e-01 + 2.57575757575758e+01 1.73704273294787e+00 2.32378927226957e-01 -1.62722165238851e-01 + 2.63636363636364e+01 1.71971808987532e+00 2.44123852536261e-01 -1.66440955903993e-01 + 2.69696969696970e+01 1.70239344680277e+00 2.55868777845566e-01 -1.70156296450691e-01 + 2.75757575757576e+01 1.68506880373022e+00 2.67613703154871e-01 -1.73868043002232e-01 + 2.81818181818182e+01 1.66889112540195e+00 2.79317008071739e-01 -1.77450056857890e-01 + 2.87878787878788e+01 1.65365759934528e+00 2.90923198720283e-01 -1.80736745629451e-01 + 2.93939393939394e+01 1.63817362035422e+00 3.02529389368827e-01 -1.84023413172789e-01 + 3.00000000000000e+01 1.62514166091797e+00 3.14135580017371e-01 -1.87310059187294e-01 + 3.30000000000000e+01 1.53835255420038e+00 3.73621431091848e-01 -2.03750910811744e-01 + 3.60000000000000e+01 1.41440801067515e+00 4.37177697021266e-01 -2.20533948119252e-01 + 3.90000000000000e+01 1.30090824224804e+00 5.03624778188578e-01 -2.36954440549260e-01 + 4.20000000000000e+01 1.19110112627984e+00 5.71160800996447e-01 -2.50449099763811e-01 + 4.50000000000000e+01 1.08407515080543e+00 6.39450117499795e-01 -2.61764064068499e-01 + 4.80000000000000e+01 1.01626332835647e+00 7.07930654310063e-01 -2.73076945694479e-01 + 5.10000000000000e+01 9.48430343283457e-01 7.75452250358775e-01 -2.83768491559514e-01 + 5.40000000000000e+01 8.80043762191755e-01 8.41642478421199e-01 -2.94138780544973e-01 + 5.70000000000000e+01 8.10835951178611e-01 9.06171672862985e-01 -3.04273720520050e-01 + 6.00000000000000e+01 7.39833317755596e-01 9.66966459202335e-01 -3.14393960098611e-01 + 6.30000000000000e+01 6.67501310030356e-01 1.02430800281777e+00 -3.24499309507556e-01 + 6.60000000000000e+01 5.94014693704839e-01 1.07811434267443e+00 -3.34792586285973e-01 + 6.90000000000000e+01 5.19303273831185e-01 1.12739922677078e+00 -3.45078883565999e-01 + 7.20000000000000e+01 4.43574450265228e-01 1.17003620121387e+00 -3.55020565923334e-01 + 7.50000000000000e+01 3.67589537478917e-01 1.20767206151051e+00 -3.64881708184078e-01 + 7.80000000000000e+01 2.91577000616605e-01 1.24012563206766e+00 -3.74625876424580e-01 + 8.10000000000000e+01 2.16211414312140e-01 1.26494728612563e+00 -3.83873183623919e-01 + 8.40000000000000e+01 1.42330972026525e-01 1.28259934352302e+00 -3.92519347322908e-01 + 8.70000000000000e+01 7.01564849355841e-02 1.29430815419222e+00 -4.00992346585374e-01 + 9.00000000000000e+01 2.74735489364961e-10 1.29999999997770e+00 -4.09465825975662e-01 + 9.30000000000000e+01 -4.91095397493520e-02 1.29430815415810e+00 -4.13845598965074e-01 + 9.60000000000000e+01 -9.96316805574678e-02 1.28259934348137e+00 -4.18227112399659e-01 + 9.90000000000000e+01 -1.51347989605188e-01 1.26494728632009e+00 -4.22106038086598e-01 + 1.02000000000000e+02 -2.04103900018314e-01 1.24012563226212e+00 -4.24383973475826e-01 + 1.05000000000000e+02 -2.57312676449441e-01 1.20767206137494e+00 -4.25386885253563e-01 + 1.08000000000000e+02 -3.10502115434018e-01 1.17003620101767e+00 -4.26028674350942e-01 + 1.11000000000000e+02 -3.63512291340992e-01 1.12739922709198e+00 -4.26368516980535e-01 + 1.14000000000000e+02 -4.15810285975832e-01 1.07811434231402e+00 -4.25367868024145e-01 + 1.17000000000000e+02 -4.67250917092052e-01 1.02430800274071e+00 -4.24370416938046e-01 + 1.20000000000000e+02 -5.17883322268660e-01 9.66966459398360e-01 -4.23794175100512e-01 + 1.23000000000000e+02 -5.67585166352147e-01 9.06171672218217e-01 -4.24071421455842e-01 + 1.26000000000000e+02 -6.16030633441952e-01 8.41642478544627e-01 -4.24565955158553e-01 + 1.29000000000000e+02 -6.63901239926392e-01 7.75452250885996e-01 -4.26433155657525e-01 + 1.32000000000000e+02 -7.11384329602688e-01 7.07930654666167e-01 -4.30210555398480e-01 + 1.35000000000000e+02 -7.58852605973446e-01 6.39450116908812e-01 -4.37722833672458e-01 + 1.38000000000000e+02 -8.07520788399241e-01 5.71160800991772e-01 -4.45227367075036e-01 + 1.41000000000000e+02 -8.58135769472864e-01 5.03624778315583e-01 -4.55334914274690e-01 + 1.44000000000000e+02 -9.11335608114362e-01 4.37177696347211e-01 -4.68933901979469e-01 + 1.47000000000000e+02 -9.71846787745154e-01 3.73621431296778e-01 -4.83181533087997e-01 + 1.50000000000000e+02 -9.28917559371636e-01 3.12219982958280e-01 -4.94526705619227e-01 + 1.53000000000000e+02 -8.34621119114189e-01 2.54868487724435e-01 -4.74704561688228e-01 + 1.56000000000000e+02 -7.41286839770527e-01 2.01816219415190e-01 -4.51998894653424e-01 + 1.59000000000000e+02 -6.48318564655380e-01 1.53292350397079e-01 -4.29306192536028e-01 + 1.62000000000000e+02 -5.55636431177193e-01 1.09957123782257e-01 -4.37393754532054e-01 + 1.65000000000000e+02 -4.63030392805711e-01 7.27260619898573e-02 -4.60883956886565e-01 + 1.68000000000000e+02 -3.70424354441881e-01 5.10764090663421e-02 -4.84359753391269e-01 + 1.71000000000000e+02 -2.77818581255874e-01 4.31872845672653e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.85213344555257e-01 3.82136038549190e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -9.26081404807544e-02 3.51361910133376e-02 -1.50000000451309e-01 + 1.80000000000000e+02 0.00000000000000e+00 3.39827187802334e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_15.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_15.dat new file mode 100644 index 0000000..93653d9 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_15.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF15_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF15_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-2.960062 alpha0 ! 0-lift angle of attack, depends on airfoil. +13.627057 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-10.680572 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.982561 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.271763 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.014510 Cd0 ! 2D drag coefficient value at 0-lift. +-0.083575 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 0.00000000000000e+00 3.29453076082466e-02 0.00000000000000e+00 +-1.77000000000000e+02 9.20817740862242e-02 3.40977764143746e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.84162482361521e-01 3.71720667129573e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.76243709890200e-01 4.21391197358654e-02 3.60000658682385e-01 +-1.68000000000000e+02 3.68328828713436e-01 5.01522736976604e-02 4.04341407905008e-01 +-1.65000000000000e+02 4.60405198952197e-01 7.21244231725805e-02 4.10852692819182e-01 +-1.62000000000000e+02 5.52491284381649e-01 1.09235960494450e-01 4.17364664075255e-01 +-1.59000000000000e+02 6.44589842957587e-01 1.52446766011551e-01 4.29254740166213e-01 +-1.56000000000000e+02 7.36809877107096e-01 2.00992714595340e-01 4.51906015310975e-01 +-1.53000000000000e+02 8.29153878248385e-01 2.54064523756905e-01 4.74551989735043e-01 +-1.50000000000000e+02 9.21847623528178e-01 3.11437966586777e-01 4.94129115127781e-01 +-1.47000000000000e+02 9.63929829102448e-01 3.72864410206142e-01 4.83034562210683e-01 +-1.44000000000000e+02 9.04530666798996e-01 4.36447159651802e-01 4.69013383414224e-01 +-1.41000000000000e+02 8.52250224111874e-01 5.02923354401286e-01 4.55587796110118e-01 +-1.38000000000000e+02 8.02458349680375e-01 5.70490110978254e-01 4.45632881358491e-01 +-1.35000000000000e+02 7.54525648153485e-01 6.38811742932979e-01 4.38265189178474e-01 +-1.32000000000000e+02 7.07696666412643e-01 7.07326572390119e-01 4.30896724000904e-01 +-1.29000000000000e+02 6.60774549474821e-01 7.74884290898918e-01 4.27216798458039e-01 +-1.26000000000000e+02 6.13411554438028e-01 8.41111958841445e-01 4.25432454231741e-01 +-1.23000000000000e+02 5.65423752308721e-01 9.05679864796800e-01 4.25001029635266e-01 +-1.20000000000000e+02 5.16112179735297e-01 9.66515143734150e-01 4.24779642765256e-01 +-1.17000000000000e+02 4.65827997502734e-01 1.02389828339377e+00 4.25380663399174e-01 +-1.14000000000000e+02 4.14698130656090e-01 1.07774718201429e+00 4.26384157380436e-01 +-1.11000000000000e+02 3.62669814310485e-01 1.12707565196426e+00 4.27390764360428e-01 +-1.08000000000000e+02 3.09880908113816e-01 1.16975730473768e+00 4.27028371302801e-01 +-1.05000000000000e+02 2.56881126292934e-01 1.20743846962859e+00 4.26356385369409e-01 +-1.02000000000000e+02 2.03830956760376e-01 1.23993791427160e+00 4.25320504356902e-01 +-9.90000000000000e+01 1.51191989334236e-01 1.26480607253399e+00 4.23003400614988e-01 +-9.60000000000000e+01 9.95566008885626e-02 1.28250500913417e+00 4.19073539515478e-01 +-9.30000000000000e+01 4.90864002269102e-02 1.29426091056520e+00 4.14640749244140e-01 +-9.00000000000000e+01 -1.92260297305375e-10 1.29999999997752e+00 4.10209657454104e-01 +-8.70000000000000e+01 -4.90863999326058e-02 1.29426091059961e+00 4.00779894561011e-01 +-8.40000000000000e+01 -9.95566007498514e-02 1.28250500917595e+00 3.91352257072049e-01 +-8.10000000000000e+01 -1.51191989746630e-01 1.26480607233916e+00 3.81545092977492e-01 +-7.80000000000000e+01 -2.03830957172770e-01 1.23993791407677e+00 3.70494107452782e-01 +-7.50000000000000e+01 -2.56881126079401e-01 1.20743846976434e+00 3.58418911548625e-01 +-7.20000000000000e+01 -3.09880907866468e-01 1.16975730493409e+00 3.46082964406781e-01 +-6.90000000000000e+01 -3.62669814649565e-01 1.12707565164278e+00 3.33546884837505e-01 +-6.60000000000000e+01 -4.14698130275618e-01 1.07774718237502e+00 3.20125535029534e-01 +-6.30000000000000e+01 -4.65827997432385e-01 1.02389828347089e+00 3.06703872695046e-01 +-6.00000000000000e+01 -5.16112179894296e-01 9.66515143537994e-01 2.93347328607241e-01 +-5.70000000000000e+01 -5.65423751785740e-01 9.05679865441997e-01 2.80242168427946e-01 +-5.40000000000000e+01 -6.13411554529426e-01 8.41111958717943e-01 2.67192352007221e-01 +-5.10000000000000e+01 -6.60774549842598e-01 7.74884290371409e-01 2.54218999072432e-01 +-4.80000000000000e+01 -7.07696666656157e-01 7.07326572033836e-01 2.41353612047981e-01 +-4.50000000000000e+01 -7.54525647749354e-01 6.38811743524258e-01 2.28703895584144e-01 +-4.20000000000000e+01 -8.39958349677075e-01 5.70490110982930e-01 2.16052018057995e-01 +-3.90000000000000e+01 -9.27250224210906e-01 5.02923354274224e-01 1.86468205909353e-01 +-3.60000000000000e+01 -1.01703066616903e+00 4.36447160326138e-01 1.34586573338197e-01 +-3.30000000000000e+01 -1.11392982929397e+00 3.72864410001126e-01 7.95892332561154e-02 +-3.00000000000000e+01 -1.24472756558974e+00 2.78944633270374e-01 4.93258403174716e-02 +-2.93939393939394e+01 -1.27196411524275e+00 2.56953577845567e-01 4.57702638306196e-02 +-2.87878787878788e+01 -1.29855325550451e+00 2.34761306295155e-01 4.22153680060952e-02 +-2.81818181818182e+01 -1.32453701070020e+00 2.12580867823433e-01 3.86612204917640e-02 +-2.75757575757576e+01 -1.33022261742593e+00 2.00151772867502e-01 3.54567477068223e-02 +-2.69696969696970e+01 -1.32698638591066e+00 1.91923651062311e-01 3.24024726730249e-02 +-2.63636363636364e+01 -1.32329682403526e+00 1.83434211500757e-01 2.93489364681873e-02 +-2.57575757575758e+01 -1.31915645363246e+00 1.74939118812854e-01 2.62962404560709e-02 +-2.51515151515151e+01 -1.31456755176231e+00 1.66448346029330e-01 2.32445054311964e-02 +-2.45454545454545e+01 -1.30578744639864e+00 1.57961551344459e-01 2.01938765091376e-02 +-2.39393939393939e+01 -1.29516648121300e+00 1.49659046521796e-01 1.72376672379475e-02 +-2.33333333333333e+01 -1.27986875728774e+00 1.42983686100322e-01 1.51237534933321e-02 +-2.27272727272727e+01 -1.26454906260629e+00 1.36308338167338e-01 1.30162579761839e-02 +-2.21212121212121e+01 -1.24920600842824e+00 1.29633004112597e-01 1.09154761759582e-02 +-2.15151515151515e+01 -1.23401673873627e+00 1.22957685540005e-01 8.83144214586422e-03 +-2.09090909090909e+01 -1.21686805487040e+00 1.16427946862417e-01 6.76714671827737e-03 +-2.03030303030303e+01 -1.19980736286195e+00 1.09958240885935e-01 4.65630389917946e-03 +-1.96969696969697e+01 -1.18157977220998e+00 1.03927332866882e-01 2.85924152195838e-03 +-1.90909090909091e+01 -1.16222253537556e+00 9.83989349093183e-02 1.30879028429750e-03 +-1.84848484848485e+01 -1.14312037805306e+00 9.28696731111427e-02 -2.80442909173086e-04 +-1.78787878787879e+01 -1.12427422563553e+00 8.74329333720470e-02 -1.73678920458040e-03 +-1.72727272727273e+01 -1.10576362995482e+00 8.23835743951244e-02 -2.68244700659841e-03 +-1.66666666666667e+01 -1.08729659125250e+00 7.73324436921044e-02 -3.62598198770554e-03 +-1.60606060606061e+01 -1.06886533245439e+00 7.22782887618486e-02 -4.56802516821377e-03 +-1.54545454545455e+01 -1.05324117582609e+00 6.74925649654451e-02 -4.90300312721884e-03 +-1.48484848484848e+01 -1.03793504902459e+00 6.27361057469496e-02 -5.16843482354956e-03 +-1.42424242424242e+01 -1.02263633932439e+00 5.79788438790908e-02 -5.43353594951120e-03 +-1.36363636363636e+01 -1.00958301532415e+00 5.34932487877594e-02 -5.16676982706805e-03 +-1.30303030303030e+01 -9.98044225500352e-01 4.91890149690809e-02 -4.48785105101820e-03 +-1.24242424242424e+01 -9.86530533828970e-01 4.48836247904514e-02 -3.97012601804113e-03 +-1.18181818181818e+01 -9.70490181752748e-01 4.08283410193221e-02 -4.43395515790118e-03 +-1.12121212121212e+01 -9.44022467882456e-01 3.73542254549453e-02 -6.87273015758009e-03 +-1.06060606060606e+01 -9.17664147716328e-01 3.38803430975902e-02 -9.34062749755202e-03 +-1.00000000000000e+01 -8.91878119745981e-01 3.04054129881210e-02 -1.15512309177688e-02 +-9.39393939393939e+00 -8.25706602004327e-01 2.81035887437514e-02 -1.78482514849654e-02 +-8.78787878787879e+00 -7.59725785951263e-01 2.58027587207808e-02 -2.42466096217026e-02 +-8.18181818181818e+00 -6.93884845281776e-01 2.35028908017175e-02 -3.07395799056519e-02 +-7.57575757575758e+00 -6.21555539116883e-01 2.17720745170542e-02 -3.71586358848446e-02 +-6.96969696969697e+00 -5.46473861067737e-01 2.02851732224889e-02 -4.35211177548821e-02 +-6.36363636363636e+00 -4.71412724770030e-01 1.87985815606971e-02 -4.98838551074927e-02 +-5.75757575757576e+00 -3.93241073562277e-01 1.75689089623305e-02 -5.61135933779387e-02 +-5.15151515151515e+00 -3.10448588743882e-01 1.67244907625066e-02 -6.21456382599867e-02 +-4.54545454545454e+00 -2.27644431866710e-01 1.58802475501928e-02 -6.81824638787163e-02 +-3.93939393939394e+00 -1.44187408930467e-01 1.50849806630863e-02 -7.42002972901298e-02 +-3.33333333333333e+00 -5.49593887275116e-02 1.47291328632884e-02 -7.99978930127045e-02 +-2.72727272727273e+00 3.42752967707696e-02 1.43732362687600e-02 -8.58051091974714e-02 +-2.12121212121212e+00 1.23517409081103e-01 1.40172951771787e-02 -9.14851888827317e-02 +-1.51515151515152e+00 2.12761012123889e-01 1.38266599175309e-02 -9.65788508445611e-02 +-9.09090909090912e-01 3.01704841938040e-01 1.36907247943932e-02 -1.01604071834934e-01 +-3.03030303030302e-01 3.89705557912646e-01 1.36306141042532e-02 -1.06275722306748e-01 + 3.03030303030302e-01 4.77038720459168e-01 1.36076647729710e-02 -1.10685451440697e-01 + 9.09090909090912e-01 5.63704672745488e-01 1.36218824444041e-02 -1.14842158529542e-01 + 1.51515151515152e+00 6.49141127247236e-01 1.36900599138668e-02 -1.18610412740648e-01 + 2.12121212121212e+00 7.34081957840609e-01 1.37791934465886e-02 -1.22228866578385e-01 + 2.72727272727273e+00 8.17908165962029e-01 1.39141053181661e-02 -1.25527752162547e-01 + 3.33333333333333e+00 9.00965146004188e-01 1.40804079059001e-02 -1.28634886309929e-01 + 3.93939393939394e+00 9.83392681308500e-01 1.42724004507960e-02 -1.31585330063302e-01 + 4.54545454545455e+00 1.06444644410812e+00 1.45178060214797e-02 -1.34233804958587e-01 + 5.15151515151515e+00 1.14494818800780e+00 1.47842919477367e-02 -1.36768952334070e-01 + 5.75757575757576e+00 1.22425169333542e+00 1.50962523597438e-02 -1.39065231237404e-01 + 6.36363636363637e+00 1.30240334674737e+00 1.54527283897049e-02 -1.41152844047818e-01 + 6.96969696969697e+00 1.37978406400499e+00 1.58388409888716e-02 -1.43101316568747e-01 + 7.57575757575757e+00 1.45465323400941e+00 1.63160797752434e-02 -1.44657443218396e-01 + 8.18181818181818e+00 1.52837368595290e+00 1.68369059073695e-02 -1.46049778097840e-01 + 8.78787878787879e+00 1.59972643142369e+00 1.74485586168717e-02 -1.47108310544004e-01 + 9.39393939393939e+00 1.66796819955562e+00 1.81876925547670e-02 -1.47798056138816e-01 + 1.00000000000000e+01 1.73448814329402e+00 1.89949869627301e-02 -1.48289012209080e-01 + 1.06060606060606e+01 1.79419055230866e+00 2.01350263497562e-02 -1.48208101935143e-01 + 1.12121212121212e+01 1.84960091228756e+00 2.14879263681965e-02 -1.47942030670269e-01 + 1.18181818181818e+01 1.90205783767703e+00 2.32382836056571e-02 -1.47333229375175e-01 + 1.24242424242424e+01 1.94581294078358e+00 2.57986690141735e-02 -1.46462904617532e-01 + 1.30303030303030e+01 1.98438733863439e+00 2.88130368812922e-02 -1.45457167565743e-01 + 1.36363636363636e+01 2.00486312091314e+00 3.36256685263693e-02 -1.43982741914765e-01 + 1.42424242424242e+01 2.02131087955052e+00 3.89304564976836e-02 -1.42631374436181e-01 + 1.48484848484848e+01 2.03092075971349e+00 4.49572774246190e-02 -1.41510671540901e-01 + 1.54545454545455e+01 2.03953944505960e+00 5.12490934621242e-02 -1.40303637321015e-01 + 1.60606060606061e+01 2.04646038099213e+00 5.77423087547261e-02 -1.39049380954374e-01 + 1.66666666666667e+01 2.04092151113031e+00 6.52188020037730e-02 -1.37705169596756e-01 + 1.72727272727273e+01 2.03523062026009e+00 7.26767776540497e-02 -1.36360175339166e-01 + 1.78787878787879e+01 2.02979152031149e+00 8.00992409399858e-02 -1.35014470211298e-01 + 1.84848484848485e+01 2.00096408696034e+00 8.99935811874743e-02 -1.34634285243460e-01 + 1.90909090909091e+01 1.96622000829448e+00 1.00505335440530e-01 -1.34445505408526e-01 + 1.96969696969697e+01 1.93147592962861e+00 1.11003114028762e-01 -1.34208750528850e-01 + 2.03030303030303e+01 1.90129380833802e+00 1.22087642935983e-01 -1.35225110162376e-01 + 2.09090909090909e+01 1.87567364373460e+00 1.33765126587434e-01 -1.37522784546803e-01 + 2.15151515151515e+01 1.85005347913119e+00 1.45440133982324e-01 -1.39815423297377e-01 + 2.21212121212121e+01 1.82443331452777e+00 1.57116258764027e-01 -1.42102456950944e-01 + 2.27272727272727e+01 1.79881314992436e+00 1.68750827931556e-01 -1.44383226815898e-01 + 2.33333333333333e+01 1.77319298532094e+00 1.80310472488221e-01 -1.46656966783314e-01 + 2.39393939393939e+01 1.74757282071753e+00 1.92168575243740e-01 -1.48922780499718e-01 + 2.45454545454545e+01 1.74101802128240e+00 2.04245511469787e-01 -1.52610493040146e-01 + 2.51515151515151e+01 1.73497994856384e+00 2.16346230482297e-01 -1.56453964384237e-01 + 2.57575757575758e+01 1.72382472150504e+00 2.28446949494806e-01 -1.60294420579694e-01 + 2.63636363636364e+01 1.71216994890641e+00 2.40547668507316e-01 -1.64131739290014e-01 + 2.69696969696970e+01 1.70001563076795e+00 2.52648387519825e-01 -1.67965791469724e-01 + 2.75757575757576e+01 1.68736176708966e+00 2.64749106532335e-01 -1.71796440898086e-01 + 2.81818181818182e+01 1.67290797329955e+00 2.76785543944379e-01 -1.75462565094931e-01 + 2.87878787878788e+01 1.65506122841862e+00 2.88671990925522e-01 -1.78751788658786e-01 + 2.93939393939394e+01 1.63751161798688e+00 3.00558437906665e-01 -1.82040992124014e-01 + 3.00000000000000e+01 1.62184969575094e+00 3.12444884887807e-01 -1.85330175206003e-01 + 3.30000000000000e+01 1.52704261327711e+00 3.72864410001127e-01 -2.01852850076162e-01 + 3.60000000000000e+01 1.40468666595576e+00 4.36447160326138e-01 -2.18856331789899e-01 + 3.90000000000000e+01 1.29250032030129e+00 5.02923354274224e-01 -2.35496429922256e-01 + 4.20000000000000e+01 1.18386907096725e+00 5.70490110982931e-01 -2.49202321300680e-01 + 4.50000000000000e+01 1.07789378249908e+00 6.38811743524258e-01 -2.60722211350589e-01 + 4.80000000000000e+01 1.01099523808023e+00 7.07326572033836e-01 -2.72240129536334e-01 + 5.10000000000000e+01 9.43963642632283e-01 7.74884290371409e-01 -2.83118654200148e-01 + 5.40000000000000e+01 8.76302220756322e-01 8.41111958717943e-01 -2.93666744368191e-01 + 5.70000000000000e+01 8.07748216836772e-01 9.05679865441997e-01 -3.03972611793287e-01 + 6.00000000000000e+01 7.37303114134708e-01 9.66515143537995e-01 -3.14256459554559e-01 + 6.30000000000000e+01 6.65468567760550e-01 1.02389828347089e+00 -3.24504843241553e-01 + 6.60000000000000e+01 5.92425900393740e-01 1.07774718237502e+00 -3.34878470529885e-01 + 6.90000000000000e+01 5.18099735213665e-01 1.12707565164278e+00 -3.45249563834662e-01 + 7.20000000000000e+01 4.42687011237812e-01 1.16975730493409e+00 -3.55266742344281e-01 + 7.50000000000000e+01 3.66973037256287e-01 1.20743846976434e+00 -3.65202999478495e-01 + 7.80000000000000e+01 2.91187081675385e-01 1.23993791407677e+00 -3.75022524294482e-01 + 8.10000000000000e+01 2.15988556780899e-01 1.26480607233916e+00 -3.84345493085461e-01 + 8.40000000000000e+01 1.42223715356930e-01 1.28250500917595e+00 -3.93065181108872e-01 + 8.70000000000000e+01 7.01234284751508e-02 1.29426091059961e+00 -4.01611466306600e-01 + 9.00000000000000e+01 2.74657422342068e-10 1.29999999997752e+00 -4.10159532216257e-01 + 9.30000000000000e+01 -4.90864002269100e-02 1.29426091056520e+00 -4.14586857216231e-01 + 9.60000000000000e+01 -9.95566008885629e-02 1.28250500913417e+00 -4.19015887365247e-01 + 9.90000000000000e+01 -1.51191989334236e-01 1.26480607253399e+00 -4.22941428756882e-01 + 1.02000000000000e+02 -2.03830956760376e-01 1.23993791427160e+00 -4.25256196554378e-01 + 1.05000000000000e+02 -2.56881126292934e-01 1.20743846962859e+00 -4.26290209973337e-01 + 1.08000000000000e+02 -3.09880908113816e-01 1.16975730473768e+00 -4.26960163673144e-01 + 1.11000000000000e+02 -3.62669814310485e-01 1.12707565196426e+00 -4.27321446285817e-01 + 1.14000000000000e+02 -4.14698130656090e-01 1.07774718201429e+00 -4.26315879901182e-01 + 1.17000000000000e+02 -4.65827997502734e-01 1.02389828339377e+00 -4.25313397928057e-01 + 1.20000000000000e+02 -5.16112179735297e-01 9.66515143734150e-01 -4.24715442148434e-01 + 1.23000000000000e+02 -5.65423752308721e-01 9.05679864796800e-01 -4.24941437654486e-01 + 1.26000000000000e+02 -6.13411554438028e-01 8.41111958841445e-01 -4.25379052896117e-01 + 1.29000000000000e+02 -6.60774549474821e-01 7.74884290898917e-01 -4.27172389345190e-01 + 1.32000000000000e+02 -7.07696666412643e-01 7.07326572390119e-01 -4.30860063290510e-01 + 1.35000000000000e+02 -7.54525648153485e-01 6.38811742932979e-01 -4.38240258566009e-01 + 1.38000000000000e+02 -8.02458349680375e-01 5.70490110978254e-01 -4.45617642001531e-01 + 1.41000000000000e+02 -8.52250224111874e-01 5.02923354401285e-01 -4.55580661731485e-01 + 1.44000000000000e+02 -9.04530666798996e-01 4.36447159651802e-01 -4.69012234812518e-01 + 1.47000000000000e+02 -9.63929829102448e-01 3.72864410206142e-01 -4.83034562210683e-01 + 1.50000000000000e+02 -9.21847623528178e-01 3.11437966586777e-01 -4.94129115127781e-01 + 1.53000000000000e+02 -8.29152888232227e-01 2.54063941860614e-01 -4.74487842399886e-01 + 1.56000000000000e+02 -7.36807466986791e-01 2.00991385417560e-01 -4.51856566312306e-01 + 1.59000000000000e+02 -6.44594924158816e-01 1.52449361118726e-01 -4.29228078551617e-01 + 1.62000000000000e+02 -5.52486265507380e-01 1.09233837745378e-01 -4.37347877498620e-01 + 1.65000000000000e+02 -4.60405233305499e-01 7.21244231725806e-02 -4.60847092432332e-01 + 1.68000000000000e+02 -3.68324201106395e-01 5.01516042859133e-02 -4.84341077299352e-01 + 1.71000000000000e+02 -2.76243265180522e-01 4.21390900456011e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.84162524026524e-01 3.71720667129573e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -9.20817954850876e-02 3.40977764143746e-02 -1.50000000451309e-01 + 1.80000000000000e+02 0.00000000000000e+00 3.29453076082466e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_16.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_16.dat new file mode 100644 index 0000000..e55f5cf --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_16.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF16_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF16_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-2.921594 alpha0 ! 0-lift angle of attack, depends on airfoil. +13.766366 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-10.922246 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.981012 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.244139 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.014175 Cd0 ! 2D drag coefficient value at 0-lift. +-0.084189 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 0.00000000000000e+00 3.18309470116001e-02 0.00000000000000e+00 +-1.77000000000000e+02 9.14416112351528e-02 3.29836710943485e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.82883205938529e-01 3.60583979357063e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.74325304653198e-01 4.10252681456731e-02 3.60000658682385e-01 +-1.68000000000000e+02 3.65771046762630e-01 4.92325431180558e-02 4.04318404106221e-01 +-1.65000000000000e+02 4.57208002027358e-01 7.18727713663815e-02 4.10795187703937e-01 +-1.62000000000000e+02 5.48654595620694e-01 1.08914622593897e-01 4.17272654006834e-01 +-1.59000000000000e+02 6.40086557242814e-01 1.52056620132104e-01 4.29098884367836e-01 +-1.56000000000000e+02 7.31537458193731e-01 2.00610971873668e-01 4.51629570293708e-01 +-1.53000000000000e+02 8.22981414822144e-01 2.53692170495372e-01 4.74157560055440e-01 +-1.50000000000000e+02 9.14430778089812e-01 3.11076040137771e-01 4.93655493991351e-01 +-1.47000000000000e+02 9.55971765269994e-01 3.72514051869486e-01 4.82854989466391e-01 +-1.44000000000000e+02 8.97690393935667e-01 4.36109058607280e-01 4.69043447428713e-01 +-1.41000000000000e+02 8.46334120746256e-01 5.02598727097049e-01 4.55680000707497e-01 +-1.38000000000000e+02 7.97369626561966e-01 5.70179707687707e-01 4.45777018167655e-01 +-1.35000000000000e+02 7.50176224582438e-01 6.38516295887840e-01 4.38453463996664e-01 +-1.32000000000000e+02 7.03989856716724e-01 7.07046995950233e-01 4.31129898735190e-01 +-1.29000000000000e+02 6.57631625111959e-01 7.74621432282664e-01 4.27480747619909e-01 +-1.26000000000000e+02 6.10778877063280e-01 8.40866428032503e-01 4.25719993938625e-01 +-1.23000000000000e+02 5.63251116110628e-01 9.05452250490867e-01 4.25335184937098e-01 +-1.20000000000000e+02 5.14331841353731e-01 9.66306269493558e-01 4.25260879480137e-01 +-1.17000000000000e+02 4.64397690053715e-01 1.02370866042201e+00 4.25929759800357e-01 +-1.14000000000000e+02 4.13580200978099e-01 1.07757725587420e+00 4.26968762709775e-01 +-1.11000000000000e+02 3.61822963103004e-01 1.12692589755856e+00 4.28008285853047e-01 +-1.08000000000000e+02 3.09256475458491e-01 1.16962822823246e+00 4.27636500175260e-01 +-1.05000000000000e+02 2.56447335509455e-01 1.20733036059871e+00 4.26945868401174e-01 +-1.02000000000000e+02 2.03556596369305e-01 1.23985103615983e+00 4.25885504276945e-01 +-9.90000000000000e+01 1.51035179103168e-01 1.26474071711943e+00 4.23535457847109e-01 +-9.60000000000000e+01 9.94811314027878e-02 1.28246135007977e+00 4.19561465109633e-01 +-9.30000000000000e+01 4.90631405630725e-02 1.29423904567025e+00 4.15080178654903e-01 +-9.00000000000000e+01 -1.92189409218557e-10 1.29999999997743e+00 4.10599181890273e-01 +-8.70000000000000e+01 -4.90631402689075e-02 1.29423904570479e+00 4.01111207510465e-01 +-8.40000000000000e+01 -9.94811312642659e-02 1.28246135012161e+00 3.91623611927174e-01 +-8.10000000000000e+01 -1.51035179514641e-01 1.26474071692443e+00 3.81750924127056e-01 +-7.80000000000000e+01 -2.03556596780777e-01 1.23985103596484e+00 3.70640984513484e-01 +-7.50000000000000e+01 -2.56447335296592e-01 1.20733036073455e+00 3.58542451315224e-01 +-7.20000000000000e+01 -3.09256475212160e-01 1.16962822842897e+00 3.46183121503967e-01 +-6.90000000000000e+01 -3.61822963440318e-01 1.12692589723694e+00 3.33623504221890e-01 +-6.60000000000000e+01 -4.13580200599609e-01 1.07757725623507e+00 3.20177188580171e-01 +-6.30000000000000e+01 -4.64397689983821e-01 1.02370866049916e+00 3.06730868356251e-01 +-6.00000000000000e+01 -5.14331841511465e-01 9.66306269297342e-01 2.93349242859890e-01 +-5.70000000000000e+01 -5.63251115591807e-01 9.05452251136262e-01 2.80113343212209e-01 +-5.40000000000000e+01 -6.10778877153793e-01 8.40866427908968e-01 2.66935164517598e-01 +-5.10000000000000e+01 -6.57631625475464e-01 7.74621431755023e-01 2.53837359962385e-01 +-4.80000000000000e+01 -7.03989856956897e-01 7.07046995593867e-01 2.40847730609143e-01 +-4.50000000000000e+01 -7.50176224183853e-01 6.38516296479255e-01 2.28069519336278e-01 +-4.20000000000000e+01 -8.34869626558718e-01 5.70179707692383e-01 2.15290947507961e-01 +-3.90000000000000e+01 -9.21334120843545e-01 5.02598726969962e-01 1.86038153442186e-01 +-3.60000000000000e+01 -1.01019039331756e+00 4.36109059281746e-01 1.34734565490511e-01 +-3.30000000000000e+01 -1.08917408486200e+00 3.72514051664432e-01 8.06753441210856e-02 +-3.00000000000000e+01 -1.20861407175135e+00 2.78897090408197e-01 5.07947740133976e-02 +-2.93939393939394e+01 -1.23694857146913e+00 2.56952721675776e-01 4.72014253196237e-02 +-2.87878787878788e+01 -1.26482476742782e+00 2.34980129558878e-01 4.36081901511341e-02 +-2.81818181818182e+01 -1.29224326530683e+00 2.13009643657521e-01 4.00150797906795e-02 +-2.75757575757576e+01 -1.29890098712901e+00 2.00452987475343e-01 3.67650948607393e-02 +-2.69696969696970e+01 -1.29650126021270e+00 1.91934469351102e-01 3.36622198950091e-02 +-2.63636363636364e+01 -1.29376342574164e+00 1.83380072515482e-01 3.05594681559721e-02 +-2.57575757575758e+01 -1.29068751948343e+00 1.74824310955548e-01 2.74568565497348e-02 +-2.51515151515151e+01 -1.28727357373402e+00 1.66268610923242e-01 2.43544052231921e-02 +-2.45454545454545e+01 -1.28057052113801e+00 1.57712967550287e-01 2.12521383796620e-02 +-2.39393939393939e+01 -1.27227097385018e+00 1.49346064375354e-01 1.82470654838788e-02 +-2.33333333333333e+01 -1.25883876383268e+00 1.42677375683524e-01 1.61154907013369e-02 +-2.27272727272727e+01 -1.24540623521347e+00 1.36008687169565e-01 1.39849863924633e-02 +-2.21212121212121e+01 -1.23197336785419e+00 1.29339998853271e-01 1.18556018409089e-02 +-2.15151515151515e+01 -1.21854273055013e+00 1.22671310757487e-01 9.72752784503151e-03 +-2.09090909090909e+01 -1.20476414774930e+00 1.16026900776666e-01 7.60085792037644e-03 +-2.03030303030303e+01 -1.19100050700644e+00 1.09392500462840e-01 5.46673774566695e-03 +-1.96969696969697e+01 -1.17593027442501e+00 1.03247992836180e-01 3.63762681123343e-03 +-1.90909090909091e+01 -1.15955977574626e+00 9.76043941431112e-02 2.11097264757168e-03 +-1.84848484848485e+01 -1.14323259258515e+00 9.19601897786180e-02 5.77717954374866e-04 +-1.78787878787879e+01 -1.12701909679480e+00 8.64270613167812e-02 -8.20456125378074e-04 +-1.72727272727273e+01 -1.11114344140787e+00 8.13397022866064e-02 -1.68266809254070e-03 +-1.66666666666667e+01 -1.09527518251098e+00 7.62520597318254e-02 -2.54435927742968e-03 +-1.60606060606061e+01 -1.07941299946494e+00 7.11641529635845e-02 -3.40562595070347e-03 +-1.54545454545455e+01 -1.06626314607642e+00 6.63570187869577e-02 -3.66432536222547e-03 +-1.48484848484848e+01 -1.05341570360926e+00 6.15810849796072e-02 -3.85572096765004e-03 +-1.42424242424242e+01 -1.04056952065360e+00 5.68051389728842e-02 -4.04680522695666e-03 +-1.36363636363636e+01 -1.02978599016165e+00 5.23089320303016e-02 -3.86431144966221e-03 +-1.30303030303030e+01 -1.02038055188561e+00 4.79992216370649e-02 -3.42226642339930e-03 +-1.24242424242424e+01 -1.01097937557267e+00 4.36894946669393e-02 -3.00764653170158e-03 +-1.18181818181818e+01 -9.95259058831902e-01 3.96495775820427e-02 -3.57351860255470e-03 +-1.12121212121212e+01 -9.64806413678549e-01 3.62391187860649e-02 -6.37441102711330e-03 +-1.06060606060606e+01 -9.34400094001962e-01 3.28285488704873e-02 -9.17571823597861e-03 +-1.00000000000000e+01 -9.04097225764449e-01 2.94178235644168e-02 -1.19297196630052e-02 +-9.39393939393939e+00 -8.35965753261029e-01 2.72169059705611e-02 -1.87185938598998e-02 +-8.78787878787879e+00 -7.67843136812015e-01 2.50159855211799e-02 -2.55243698579311e-02 +-8.18181818181818e+00 -6.99734419683972e-01 2.28150551558279e-02 -3.23459258844546e-02 +-7.57575757575758e+00 -6.27070746007684e-01 2.11499054318774e-02 -3.86735345771592e-02 +-6.96969696969697e+00 -5.52449704597834e-01 1.97143833726773e-02 -4.47852991322174e-02 +-6.36363636363636e+00 -4.77829294787454e-01 1.82788631371806e-02 -5.08971062983187e-02 +-5.75757575757576e+00 -3.99747721057224e-01 1.70972036016567e-02 -5.69440595682936e-02 +-5.15151515151515e+00 -3.16475473604050e-01 1.62963299072044e-02 -6.28940330798561e-02 +-4.54545454545454e+00 -2.33204436600423e-01 1.54954455587203e-02 -6.88448039537371e-02 +-3.93939393939394e+00 -1.49367062089734e-01 1.47409529646169e-02 -7.47625921970345e-02 +-3.33333333333333e+00 -6.04224847896185e-02 1.44041086621295e-02 -8.03753128635826e-02 +-2.72727272727273e+00 2.85164234636353e-02 1.40672495428821e-02 -8.59882906899198e-02 +-2.12121212121212e+00 1.17450601857277e-01 1.37303733512439e-02 -9.15780031355760e-02 +-1.51515151515152e+00 2.05920296147157e-01 1.35495317056456e-02 -9.65956971401753e-02 +-9.09090909090912e-01 2.94113521807381e-01 1.34204926343044e-02 -1.01423283869942e-01 +-3.03030303030302e-01 3.81407578531014e-01 1.33639426821333e-02 -1.05861432986141e-01 + 3.03030303030302e-01 4.68022827394087e-01 1.33435820809419e-02 -1.10054443795969e-01 + 9.09090909090912e-01 5.53959326670566e-01 1.33594108392955e-02 -1.14003800581282e-01 + 1.51515151515152e+00 6.38720975094685e-01 1.34261037241953e-02 -1.17591530878379e-01 + 2.12121212121212e+00 7.23011778917835e-01 1.35128064606791e-02 -1.21041127038984e-01 + 2.72727272727273e+00 8.06248509788984e-01 1.36436529679775e-02 -1.24194358342559e-01 + 3.33333333333333e+00 8.88759492863156e-01 1.38047463414421e-02 -1.27170048395122e-01 + 3.93939393939394e+00 9.70676669245157e-01 1.39905856676533e-02 -1.30000510285258e-01 + 4.54545454545455e+00 1.05130765898132e+00 1.42275467054038e-02 -1.32552551059531e-01 + 5.15151515151515e+00 1.13142808921064e+00 1.44846262413078e-02 -1.35001711919430e-01 + 5.75757575757576e+00 1.21044555158353e+00 1.47850277756668e-02 -1.37235116388020e-01 + 6.36363636363637e+00 1.28841989977644e+00 1.51278770567656e-02 -1.39277746618080e-01 + 6.96969696969697e+00 1.36569832318463e+00 1.54990110933808e-02 -1.41193189097002e-01 + 7.57575757575757e+00 1.44069287821624e+00 1.59547091668020e-02 -1.42754954966401e-01 + 8.18181818181818e+00 1.51465584810800e+00 1.64503546691249e-02 -1.44165582201843e-01 + 8.78787878787879e+00 1.58649297457479e+00 1.70288770179640e-02 -1.45267019250934e-01 + 9.39393939393939e+00 1.65549195582764e+00 1.77206341224978e-02 -1.46006289387876e-01 + 1.00000000000000e+01 1.72295477750927e+00 1.84732128547150e-02 -1.46550511184958e-01 + 1.06060606060606e+01 1.78478575375549e+00 1.95066379760764e-02 -1.46539769236718e-01 + 1.12121212121212e+01 1.84357789259899e+00 2.07119744902266e-02 -1.46339143837519e-01 + 1.18181818181818e+01 1.89745150708619e+00 2.22365115831520e-02 -1.45786067909486e-01 + 1.24242424242424e+01 1.94233906557541e+00 2.44687099140224e-02 -1.44915682787024e-01 + 1.30303030303030e+01 1.98237352865820e+00 2.70952268434712e-02 -1.43899957221527e-01 + 1.36363636363636e+01 2.00436904127559e+00 3.14445983317098e-02 -1.42702329477301e-01 + 1.42424242424242e+01 2.02139856592383e+00 3.63782000806380e-02 -1.41541784228596e-01 + 1.48484848484848e+01 2.03082349610217e+00 4.21868467495412e-02 -1.40444547795966e-01 + 1.54545454545455e+01 2.03905650503025e+00 4.82928502719350e-02 -1.39336387091746e-01 + 1.60606060606061e+01 2.04575590448450e+00 5.45920284828024e-02 -1.38192375563755e-01 + 1.66666666666667e+01 2.04228629479173e+00 6.17286058044539e-02 -1.36771163695811e-01 + 1.72727272727273e+01 2.03881448061623e+00 6.88599117028603e-02 -1.35349821250723e-01 + 1.78787878787879e+01 2.03534631770409e+00 7.59864952088123e-02 -1.33928360242073e-01 + 1.84848484848485e+01 2.00470003558203e+00 8.57923336946304e-02 -1.33163049603185e-01 + 1.90909090909091e+01 1.96725821635070e+00 9.62664566737084e-02 -1.32553441390849e-01 + 1.96969696969697e+01 1.92981639711937e+00 1.06738037844149e-01 -1.31935831588916e-01 + 2.03030303030303e+01 1.89616599731910e+00 1.17963550030638e-01 -1.32777807775690e-01 + 2.09090909090909e+01 1.86630701637803e+00 1.29943785485991e-01 -1.35084073181370e-01 + 2.15151515151515e+01 1.83644803543696e+00 1.41922235898254e-01 -1.37389498711325e-01 + 2.21212121212121e+01 1.80658905449589e+00 1.53898440233038e-01 -1.39693989386793e-01 + 2.27272727272727e+01 1.77673007355482e+00 1.65871056946056e-01 -1.41997435346907e-01 + 2.33333333333333e+01 1.74687109261375e+00 1.77838521168910e-01 -1.44299708815045e-01 + 2.39393939393939e+01 1.71701211167268e+00 1.89855764188891e-01 -1.46600660291552e-01 + 2.45454545454545e+01 1.70734454789265e+00 2.02096414465465e-01 -1.50349761659919e-01 + 2.51515151515151e+01 1.69866284014765e+00 2.14361799022421e-01 -1.54259396577868e-01 + 2.57575757575758e+01 1.68595781815998e+00 2.26627183579377e-01 -1.58168528609742e-01 + 2.63636363636364e+01 1.67285213482085e+00 2.38892568136333e-01 -1.62077137351465e-01 + 2.69696969696970e+01 1.65934579013027e+00 2.51157952693289e-01 -1.65985201279994e-01 + 2.75757575757576e+01 1.64543878408824e+00 2.63423337250245e-01 -1.69892697675549e-01 + 2.81818181818182e+01 1.63185557613529e+00 2.75613952330969e-01 -1.73615742334958e-01 + 2.87878787878788e+01 1.61956007808844e+00 2.87630105265805e-01 -1.76909565637300e-01 + 2.93939393939394e+01 1.60696903948241e+00 2.99646258200640e-01 -1.80203385587464e-01 + 3.00000000000000e+01 1.59424812881283e+00 3.11662411135474e-01 -1.83497202137978e-01 + 3.30000000000000e+01 1.51567395065416e+00 3.72514051664432e-01 -2.00094277640686e-01 + 3.60000000000000e+01 1.39491484759651e+00 4.36109059281746e-01 -2.17276448388212e-01 + 3.90000000000000e+01 1.28404874406221e+00 5.02598726969962e-01 -2.34098439744145e-01 + 4.20000000000000e+01 1.17659946651245e+00 5.70179707692384e-01 -2.47989535546626e-01 + 4.50000000000000e+01 1.07168032026265e+00 6.38516296479255e-01 -2.59696137621636e-01 + 4.80000000000000e+01 1.00569979565271e+00 7.07046995593867e-01 -2.71402410706778e-01 + 5.10000000000000e+01 9.39473750679234e-01 7.74621431755023e-01 -2.82455794536936e-01 + 5.40000000000000e+01 8.72541253076848e-01 8.40866427908968e-01 -2.93173332631747e-01 + 5.70000000000000e+01 8.04644450845439e-01 9.05452251136263e-01 -3.03646665584049e-01 + 6.00000000000000e+01 7.34759773587806e-01 9.66306269297342e-01 -3.14099013044645e-01 + 6.30000000000000e+01 6.63425271405458e-01 1.02370866049916e+00 -3.24507021377095e-01 + 6.60000000000000e+01 5.90828857999442e-01 1.07757725623507e+00 -3.34912721760126e-01 + 6.90000000000000e+01 5.16889947771882e-01 1.12692589723694e+00 -3.45318385950747e-01 + 7.20000000000000e+01 4.41794964588800e-01 1.16962822842897e+00 -3.55366837617349e-01 + 7.50000000000000e+01 3.66353336137988e-01 1.20733036073455e+00 -3.65334589074228e-01 + 7.80000000000000e+01 2.90795138258253e-01 1.23985103596484e+00 -3.75186040991693e-01 + 8.10000000000000e+01 2.15764542163772e-01 1.26474071692443e+00 -3.84569068509293e-01 + 8.40000000000000e+01 1.42115901806094e-01 1.28246135012161e+00 -3.93365784292355e-01 + 8.70000000000000e+01 7.00902003841534e-02 1.29423904570479e+00 -4.01981914754245e-01 + 9.00000000000000e+01 2.74556153824516e-10 1.29999999997743e+00 -4.10598467968801e-01 + 9.30000000000000e+01 -4.90631405630723e-02 1.29423904567025e+00 -4.15079411080347e-01 + 9.60000000000000e+01 -9.94811314027882e-02 1.28246135007977e+00 -4.19560643980324e-01 + 9.90000000000000e+01 -1.51035179103168e-01 1.26474071711943e+00 -4.23534575192970e-01 + 1.02000000000000e+02 -2.03556596369304e-01 1.23985103615983e+00 -4.25884588352366e-01 + 1.05000000000000e+02 -2.56447335509456e-01 1.20733036059871e+00 -4.26944925876792e-01 + 1.08000000000000e+02 -3.09256475458491e-01 1.16962822823246e+00 -4.27635528706137e-01 + 1.11000000000000e+02 -3.61822963103004e-01 1.12692589755856e+00 -4.28007298568054e-01 + 1.14000000000000e+02 -4.13580200978099e-01 1.07757725587420e+00 -4.26967790245796e-01 + 1.17000000000000e+02 -4.64397690053714e-01 1.02370866042201e+00 -4.25928801750230e-01 + 1.20000000000000e+02 -5.14331841353731e-01 9.66306269493557e-01 -4.25259965082184e-01 + 1.23000000000000e+02 -5.63251116110628e-01 9.05452250490867e-01 -4.25334336179128e-01 + 1.26000000000000e+02 -6.10778877063280e-01 8.40866428032504e-01 -4.25719233352912e-01 + 1.29000000000000e+02 -6.57631625111959e-01 7.74621432282663e-01 -4.27480115108823e-01 + 1.32000000000000e+02 -7.03989856716725e-01 7.07046995950232e-01 -4.31129376583220e-01 + 1.35000000000000e+02 -7.50176224582438e-01 6.38516295887840e-01 -4.38453108914391e-01 + 1.38000000000000e+02 -7.97369626561966e-01 5.70179707687706e-01 -4.45776801116207e-01 + 1.41000000000000e+02 -8.46334120746257e-01 5.02598727097048e-01 -4.55679899093813e-01 + 1.44000000000000e+02 -8.97690393935667e-01 4.36109058607280e-01 -4.69043431069383e-01 + 1.47000000000000e+02 -9.55971765269994e-01 3.72514051869486e-01 -4.82854989466391e-01 + 1.50000000000000e+02 -9.14430778089812e-01 3.11076040137770e-01 -4.93655493991351e-01 + 1.53000000000000e+02 -8.22980436725492e-01 2.53691588495434e-01 -4.74156408914278e-01 + 1.56000000000000e+02 -7.31535070578989e-01 2.00609642463498e-01 -4.51628286203700e-01 + 1.59000000000000e+02 -6.40091596996123e-01 1.52059215685481e-01 -4.29099728510079e-01 + 1.62000000000000e+02 -5.48649603017084e-01 1.08912515672043e-01 -4.37272066461242e-01 + 1.65000000000000e+02 -4.57208002516646e-01 7.18727713663816e-02 -4.60795108102779e-01 + 1.68000000000000e+02 -3.65766402016247e-01 4.92318221381363e-02 -4.84318075253408e-01 + 1.71000000000000e+02 -2.74324802887051e-01 4.10252384603930e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.82883206531956e-01 3.60583979357063e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -9.14416115399329e-02 3.29836710943485e-02 -1.50000000451309e-01 + 1.80000000000000e+02 0.00000000000000e+00 3.18309470116001e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_17.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_17.dat new file mode 100644 index 0000000..ada39cf --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_17.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF17_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF17_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-2.881352 alpha0 ! 0-lift angle of attack, depends on airfoil. +13.839662 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-11.140103 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.968157 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.212597 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.013760 Cd0 ! 2D drag coefficient value at 0-lift. +-0.084590 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 0.00000000000000e+00 3.05414951794391e-02 0.00000000000000e+00 +-1.77000000000000e+02 9.05040181393861e-02 3.16952301130373e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.81008034921543e-01 3.47726107932974e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.71512550379606e-01 3.97436237989870e-02 3.60000658682385e-01 +-1.68000000000000e+02 3.62020668694375e-01 4.82612528881589e-02 4.04109110414257e-01 +-1.65000000000000e+02 4.52520088833044e-01 7.20219913215298e-02 4.10271993339900e-01 +-1.62000000000000e+02 5.43029048339844e-01 1.09014534507399e-01 4.16435525883065e-01 +-1.59000000000000e+02 6.33523136783837e-01 1.52131251728663e-01 4.28001476594490e-01 +-1.56000000000000e+02 7.24034505795155e-01 2.00675749548291e-01 4.50380762110055e-01 +-1.53000000000000e+02 8.14537128710279e-01 2.53751238078397e-01 4.72759448056984e-01 +-1.50000000000000e+02 9.05040178685546e-01 3.11131047064885e-01 4.92154548702799e-01 +-1.47000000000000e+02 9.46361063738359e-01 3.72565756956278e-01 4.81703462474928e-01 +-1.44000000000000e+02 8.89305186788289e-01 4.36157926094802e-01 4.68151080454345e-01 +-1.41000000000000e+02 8.38948803026617e-01 5.02644913186288e-01 4.54894603955552e-01 +-1.38000000000000e+02 7.90858934096793e-01 5.70223340957569e-01 4.45188737082035e-01 +-1.35000000000000e+02 7.44413904753083e-01 6.38557433863464e-01 4.38028009952891e-01 +-1.32000000000000e+02 6.98958138089537e-01 7.07085625353434e-01 4.30867282743576e-01 +-1.29000000000000e+02 6.53365338909604e-01 7.74657522426830e-01 4.27333125065231e-01 +-1.26000000000000e+02 6.07205213219550e-01 8.40899961278630e-01 4.25662777041727e-01 +-1.23000000000000e+02 5.60301923968370e-01 9.05483197385372e-01 4.25379185871873e-01 +-1.20000000000000e+02 5.11915164337080e-01 9.66334558846397e-01 4.25496874778254e-01 +-1.17000000000000e+02 4.62456154009455e-01 1.02373425599768e+00 4.26259683776011e-01 +-1.14000000000000e+02 4.12062694538308e-01 1.07760012440929e+00 4.27352241723975e-01 +-1.11000000000000e+02 3.60673425537094e-01 1.12694599760076e+00 4.28442190858401e-01 +-1.08000000000000e+02 3.08408854544291e-01 1.16964551108458e+00 4.28068276733024e-01 +-1.05000000000000e+02 2.55858496765472e-01 1.20734480386415e+00 4.27364052721712e-01 +-1.02000000000000e+02 2.03184172532214e-01 1.23986261899609e+00 4.26282886615662e-01 +-9.90000000000000e+01 1.50822320870530e-01 1.26474941353401e+00 4.23901847340977e-01 +-9.60000000000000e+01 9.93786871856556e-02 1.28246714870822e+00 4.19883475629862e-01 +-9.30000000000000e+01 4.90315672983529e-02 1.29424194445234e+00 4.15352565780964e-01 +-9.00000000000000e+01 -1.92066022884558e-10 1.29999999997744e+00 4.10820301890340e-01 +-8.70000000000000e+01 -4.90315670043773e-02 1.29424194448686e+00 4.01280071991413e-01 +-8.40000000000000e+01 -9.93786870473905e-02 1.28246714875005e+00 3.91737989676668e-01 +-8.10000000000000e+01 -1.50822321280753e-01 1.26474941333904e+00 3.81803589957942e-01 +-7.80000000000000e+01 -2.03184172942437e-01 1.23986261880112e+00 3.70634505043528e-01 +-7.50000000000000e+01 -2.55858496553516e-01 1.20734480399999e+00 3.58510307048218e-01 +-7.20000000000000e+01 -3.08408854299340e-01 1.16964551128108e+00 3.46123899281108e-01 +-6.90000000000000e+01 -3.60673425872010e-01 1.12694599727916e+00 3.33535240490473e-01 +-6.60000000000000e+01 -4.12062694162510e-01 1.07760012477015e+00 3.20051179614677e-01 +-6.30000000000000e+01 -4.62456153940180e-01 1.02373425607482e+00 3.06567118605678e-01 +-6.00000000000000e+01 -5.11915164493097e-01 9.66334558650189e-01 2.93144983838371e-01 +-5.70000000000000e+01 -5.60301923455198e-01 9.05483198030739e-01 2.79762617999668e-01 +-5.40000000000000e+01 -6.07205213308863e-01 8.40899961155100e-01 2.66442518423958e-01 +-5.10000000000000e+01 -6.53365339267309e-01 7.74657521899208e-01 2.53209004662920e-01 +-4.80000000000000e+01 -6.98958138325174e-01 7.07085624997081e-01 2.40085795091681e-01 +-4.50000000000000e+01 -7.44413904360014e-01 6.38557434454857e-01 2.27172303931618e-01 +-4.20000000000000e+01 -8.27484876473097e-01 5.70223340962246e-01 2.14260709639990e-01 +-3.90000000000000e+01 -9.04963154272419e-01 5.02644913059205e-01 1.85337841239923e-01 +-3.60000000000000e+01 -9.77419767543052e-01 4.36157926769241e-01 1.34678849720133e-01 +-3.30000000000000e+01 -1.04910497949918e+00 3.72565756751233e-01 8.15184392714218e-02 +-3.00000000000000e+01 -1.17206048246554e+00 2.79217264777337e-01 5.18069136862095e-02 +-2.93939393939394e+01 -1.20035462774891e+00 2.57394858903360e-01 4.81696833422699e-02 +-2.87878787878788e+01 -1.22827616697977e+00 2.35748234679930e-01 4.45320286617682e-02 +-2.81818181818182e+01 -1.25581973935012e+00 2.14130529139566e-01 4.08939456272781e-02 +-2.75757575757576e+01 -1.26277106029118e+00 2.01496392666658e-01 3.75930298483547e-02 +-2.69696969696970e+01 -1.26077232490483e+00 1.92679861885660e-01 3.44362899112525e-02 +-2.63636363636364e+01 -1.25850118835196e+00 1.84049500214790e-01 3.12789726713511e-02 +-2.57575757575758e+01 -1.25595770603775e+00 1.75427760352579e-01 2.81210043003506e-02 +-2.51515151515151e+01 -1.25314193336659e+00 1.66807391364206e-01 2.49622985358035e-02 +-2.45454545454545e+01 -1.24778170327140e+00 1.58188554707593e-01 2.18027542967290e-02 +-2.39393939393939e+01 -1.24109542157825e+00 1.49755281950715e-01 1.87380755590349e-02 +-2.33333333333333e+01 -1.22965158572849e+00 1.42979409326933e-01 1.65323573676931e-02 +-2.27272727272727e+01 -1.21813342488034e+00 1.36208491342561e-01 1.43210842890303e-02 +-2.21212121212121e+01 -1.20650926138779e+00 1.29445832461106e-01 1.21040737059648e-02 +-2.15151515151515e+01 -1.19472643512362e+00 1.22698515690760e-01 9.88127266889359e-03 +-2.09090909090909e+01 -1.18512347814683e+00 1.15818214507761e-01 7.65341591349005e-03 +-2.03030303030303e+01 -1.17549175047661e+00 1.08852821662192e-01 5.46154739737454e-03 +-1.96969696969697e+01 -1.16459001160220e+00 1.02490354188266e-01 3.63310608375394e-03 +-1.90909090909091e+01 -1.15238444755900e+00 9.66726374946462e-02 2.18245626892553e-03 +-1.84848484848485e+01 -1.13994735089428e+00 9.08583355699937e-02 7.66612998942486e-04 +-1.78787878787879e+01 -1.12730628819782e+00 8.51742222243375e-02 -5.24967323287191e-04 +-1.72727272727273e+01 -1.11447427092166e+00 8.00038455950962e-02 -1.29611153549748e-03 +-1.66666666666667e+01 -1.10160271749728e+00 7.48349553985660e-02 -2.07007879518379e-03 +-1.60606060606061e+01 -1.08869868708188e+00 6.96673378387495e-02 -2.84636679713439e-03 +-1.54545454545455e+01 -1.07815124397108e+00 6.48303619394388e-02 -3.01491878773171e-03 +-1.48484848484848e+01 -1.06786008032515e+00 6.00300584317401e-02 -3.11779780007799e-03 +-1.42424242424242e+01 -1.05756218426511e+00 5.52297593402354e-02 -3.22244148062575e-03 +-1.36363636363636e+01 -1.04852065048599e+00 5.07296570506745e-02 -3.22786617744836e-03 +-1.30303030303030e+01 -1.04030070707432e+00 4.64389725560883e-02 -3.22284749518982e-03 +-1.24242424242424e+01 -1.03205798236995e+00 4.21445540686149e-02 -3.04772982661325e-03 +-1.18181818181818e+01 -1.01572271867493e+00 3.81491587813502e-02 -3.76820438779256e-03 +-1.12121212121212e+01 -9.80308302847599e-01 3.48559535918507e-02 -6.81888119600133e-03 +-1.06060606060606e+01 -9.44648217852028e-01 3.15603673900336e-02 -9.86975607361981e-03 +-1.00000000000000e+01 -9.08498822541425e-01 2.82624622007426e-02 -1.31718283869033e-02 +-9.39393939393939e+00 -8.40225010612170e-01 2.61723673216852e-02 -2.02001366977081e-02 +-8.78787878787879e+00 -7.71918145205802e-01 2.40820082439773e-02 -2.71411862705099e-02 +-8.18181818181818e+00 -7.03545416563397e-01 2.19913469903974e-02 -3.40013220653625e-02 +-7.57575757575758e+00 -6.31276128150315e-01 2.04026445096312e-02 -4.01301814763513e-02 +-6.96969696969697e+00 -5.57159709593294e-01 1.90291608356116e-02 -4.59705144102798e-02 +-6.36363636363636e+00 -4.83041340663586e-01 1.76556789107240e-02 -5.18162207366944e-02 +-5.75757575757576e+00 -4.05190224404222e-01 1.65302349944002e-02 -5.76658970861466e-02 +-5.15151515151515e+00 -3.21737527975915e-01 1.57768858540019e-02 -6.35113866745124e-02 +-4.54545454545454e+00 -2.38276768066575e-01 1.50236090624805e-02 -6.93527542075161e-02 +-3.93939393939394e+00 -1.54317197517101e-01 1.43139852820866e-02 -7.51468069904503e-02 +-3.33333333333333e+00 -6.59366189394093e-02 1.39964562703002e-02 -8.05580618623390e-02 +-2.72727272727273e+00 2.24776563493192e-02 1.36790061340619e-02 -8.59644335473812e-02 +-2.12121212121212e+00 1.10920203959229e-01 1.33616478757975e-02 -9.14885189183898e-02 +-1.51515151515152e+00 1.98702843287588e-01 1.31913726142359e-02 -9.64490704793345e-02 +-9.09090909090912e-01 2.86269550726995e-01 1.30700642659220e-02 -1.01079088391822e-01 +-3.03030303030302e-01 3.72875102180978e-01 1.30179293007430e-02 -1.05297874074735e-01 + 3.03030303030302e-01 4.58797010103410e-01 1.30008843584504e-02 -1.09295674339310e-01 + 9.09090909090912e-01 5.44039312975963e-01 1.30189301745827e-02 -1.13064708126068e-01 + 1.51515151515152e+00 6.28159261504048e-01 1.30849316495815e-02 -1.16499204472764e-01 + 2.12121212121212e+00 7.11829202881247e-01 1.31699302129241e-02 -1.19806897627349e-01 + 2.72727272727273e+00 7.94496855525279e-01 1.32970240454705e-02 -1.22838774291146e-01 + 3.33333333333333e+00 8.76475571471876e-01 1.34530832281757e-02 -1.25705519432471e-01 + 3.93939393939394e+00 9.57890719551240e-01 1.36328488505828e-02 -1.28436981989063e-01 + 4.54545454545455e+00 1.03809162287267e+00 1.38612762904702e-02 -1.30909947042260e-01 + 5.15151515151515e+00 1.11781136466769e+00 1.41087564941423e-02 -1.33287412825127e-01 + 5.75757575757576e+00 1.19649346697879e+00 1.43970965918670e-02 -1.35464163704410e-01 + 6.36363636363637e+00 1.27419593362517e+00 1.47267082841534e-02 -1.37462160272382e-01 + 6.96969696969697e+00 1.35124811365579e+00 1.50839408628679e-02 -1.39341011848836e-01 + 7.57575757575757e+00 1.42616841372553e+00 1.55214994281405e-02 -1.40891903149291e-01 + 8.18181818181818e+00 1.50014635994537e+00 1.59959856093716e-02 -1.42301178762447e-01 + 8.78787878787879e+00 1.57218386375186e+00 1.65464929680762e-02 -1.43420132788887e-01 + 9.39393939393939e+00 1.64160811546706e+00 1.71997708640759e-02 -1.44186872266386e-01 + 1.00000000000000e+01 1.70966695140533e+00 1.79091618056978e-02 -1.44764110398887e-01 + 1.06060606060606e+01 1.77302578614285e+00 1.88643253900600e-02 -1.44796371243069e-01 + 1.12121212121212e+01 1.83459213880991e+00 1.99689332099947e-02 -1.44635677718574e-01 + 1.18181818181818e+01 1.88901655549857e+00 2.13516817776951e-02 -1.44115668943663e-01 + 1.24242424242424e+01 1.93384235768623e+00 2.33535763412728e-02 -1.43240280085176e-01 + 1.30303030303030e+01 1.97384763793820e+00 2.57009156065491e-02 -1.42208410467801e-01 + 1.36363636363636e+01 1.99586045024071e+00 2.96014272118124e-02 -1.41120930430752e-01 + 1.42424242424242e+01 2.01253709988622e+00 3.41007344571543e-02 -1.40026141457539e-01 + 1.48484848484848e+01 2.02229060545041e+00 3.94935484666620e-02 -1.38879358821098e-01 + 1.54545454545455e+01 2.02881756055241e+00 4.54005827197899e-02 -1.37758521533263e-01 + 1.60606060606061e+01 2.03324652181302e+00 5.15753907545180e-02 -1.36612000783691e-01 + 1.66666666666667e+01 2.02785032116153e+00 5.87246429689568e-02 -1.35094776209369e-01 + 1.72727272727273e+01 2.02239606942337e+00 6.59027138499748e-02 -1.33576587682769e-01 + 1.78787878787879e+01 2.01691367137244e+00 7.31050507923037e-02 -1.32057260558818e-01 + 1.84848484848485e+01 1.98391686432378e+00 8.31022824026549e-02 -1.31027404830222e-01 + 1.90909090909091e+01 1.94402542239940e+00 9.38069918950934e-02 -1.30160324197713e-01 + 1.96969696969697e+01 1.90411470737803e+00 1.04525183696937e-01 -1.29329763153954e-01 + 2.03030303030303e+01 1.86819042523459e+00 1.16047719129907e-01 -1.30124855326462e-01 + 2.09090909090909e+01 1.83625782808993e+00 1.28370546646487e-01 -1.32526422934434e-01 + 2.15151515151515e+01 1.80431289727943e+00 1.40703443927037e-01 -1.34932409933573e-01 + 2.21212121212121e+01 1.77235379260190e+00 1.53049358731590e-01 -1.37343315932638e-01 + 2.27272727272727e+01 1.74037828861564e+00 1.65412513772623e-01 -1.39759718762211e-01 + 2.33333333333333e+01 1.70838366825985e+00 1.77799179580314e-01 -1.42182290388776e-01 + 2.39393939393939e+01 1.67636657916547e+00 1.89869838471318e-01 -1.44611816866006e-01 + 2.45454545454545e+01 1.66478325894601e+00 2.02126206511280e-01 -1.48374853928387e-01 + 2.51515151515151e+01 1.65447974339468e+00 2.14403600302913e-01 -1.52287994749204e-01 + 2.57575757575758e+01 1.64105683603204e+00 2.26681736507736e-01 -1.56203761301243e-01 + 2.63636363636364e+01 1.62728450139368e+00 2.38960725243775e-01 -1.60122262629409e-01 + 2.69696969696970e+01 1.61315583898225e+00 2.51240699539375e-01 -1.64043613501409e-01 + 2.75757575757576e+01 1.59866230225786e+00 2.63521821618282e-01 -1.67967934837672e-01 + 2.81818181818182e+01 1.58483414155939e+00 2.75718560072890e-01 -1.71703184161181e-01 + 2.87878787878788e+01 1.57309569268983e+00 2.87720204381639e-01 -1.74990283219835e-01 + 2.93939393939394e+01 1.56051091779005e+00 2.99725969617946e-01 -1.78275884712799e-01 + 3.00000000000000e+01 1.54624266106725e+00 3.11734043415318e-01 -1.81559727366256e-01 + 3.30000000000000e+01 1.46765769423095e+00 3.72565756751234e-01 -1.98135441560747e-01 + 3.60000000000000e+01 1.36882400110256e+00 4.36157926769241e-01 -2.15452597378891e-01 + 3.90000000000000e+01 1.27168308858976e+00 5.02644913059205e-01 -2.32416677701167e-01 + 4.20000000000000e+01 1.16729847727657e+00 5.70223340962246e-01 -2.46479169533369e-01 + 4.50000000000000e+01 1.06344843480002e+00 6.38557434454857e-01 -2.58377808760426e-01 + 4.80000000000000e+01 9.98511626178820e-01 7.07085624997081e-01 -2.70278178786519e-01 + 5.10000000000000e+01 9.33379056096156e-01 7.74657521899209e-01 -2.81516770093539e-01 + 5.40000000000000e+01 8.67436019012662e-01 8.40899961155100e-01 -2.92416858645663e-01 + 5.70000000000000e+01 8.00431319221711e-01 9.05483198030739e-01 -3.03073249429368e-01 + 6.00000000000000e+01 7.31307377847282e-01 9.66334558650190e-01 -3.13710134544770e-01 + 6.30000000000000e+01 6.60651648485971e-01 1.02373425607482e+00 -3.24294648281317e-01 + 6.60000000000000e+01 5.88660991660728e-01 1.07760012477015e+00 -3.34750393705803e-01 + 6.90000000000000e+01 5.15247751245728e-01 1.12694599727916e+00 -3.45206139027002e-01 + 7.20000000000000e+01 4.40584077570485e-01 1.16964551128108e+00 -3.55290639078575e-01 + 7.50000000000000e+01 3.65512137933594e-01 1.20734480399999e+00 -3.65291283200910e-01 + 7.80000000000000e+01 2.90263104203481e-01 1.23986261880112e+00 -3.75173386527179e-01 + 8.10000000000000e+01 2.15460458972504e-01 1.26474941333904e+00 -3.84611668971588e-01 + 8.40000000000000e+01 1.41969552924843e-01 1.28246714875005e+00 -3.93475583310688e-01 + 8.70000000000000e+01 7.00450957205388e-02 1.29424194448686e+00 -4.02149000083604e-01 + 9.00000000000000e+01 2.74379889005778e-10 1.29999999997744e+00 -4.10820301893745e-01 + 9.30000000000000e+01 -4.90315672983527e-02 1.29424194445234e+00 -4.15352565780964e-01 + 9.60000000000000e+01 -9.93786871856559e-02 1.28246714870822e+00 -4.19883475629862e-01 + 9.90000000000000e+01 -1.50822320870531e-01 1.26474941353401e+00 -4.23901847340977e-01 + 1.02000000000000e+02 -2.03184172532214e-01 1.23986261899609e+00 -4.26282886615662e-01 + 1.05000000000000e+02 -2.55858496765472e-01 1.20734480386415e+00 -4.27364052721712e-01 + 1.08000000000000e+02 -3.08408854544290e-01 1.16964551108458e+00 -4.28068276733024e-01 + 1.11000000000000e+02 -3.60673425537095e-01 1.12694599760076e+00 -4.28442190858401e-01 + 1.14000000000000e+02 -4.12062694538309e-01 1.07760012440929e+00 -4.27352241723975e-01 + 1.17000000000000e+02 -4.62456154009455e-01 1.02373425599768e+00 -4.26259683776011e-01 + 1.20000000000000e+02 -5.11915164337081e-01 9.66334558846397e-01 -4.25496874778254e-01 + 1.23000000000000e+02 -5.60301923968370e-01 9.05483197385372e-01 -4.25379185871874e-01 + 1.26000000000000e+02 -6.07205213219550e-01 8.40899961278630e-01 -4.25662777041727e-01 + 1.29000000000000e+02 -6.53365338909605e-01 7.74657522426829e-01 -4.27333125065231e-01 + 1.32000000000000e+02 -6.98958138089538e-01 7.07085625353433e-01 -4.30867282743576e-01 + 1.35000000000000e+02 -7.44413904753083e-01 6.38557433863464e-01 -4.38028009952891e-01 + 1.38000000000000e+02 -7.90858934096794e-01 5.70223340957568e-01 -4.45188737082036e-01 + 1.41000000000000e+02 -8.38948803026618e-01 5.02644913186287e-01 -4.54894603955552e-01 + 1.44000000000000e+02 -8.89305186788289e-01 4.36157926094802e-01 -4.68151080454345e-01 + 1.47000000000000e+02 -9.46361063738360e-01 3.72565756956278e-01 -4.81703462474928e-01 + 1.50000000000000e+02 -9.05040178685545e-01 3.11131047064885e-01 -4.92154548702799e-01 + 1.53000000000000e+02 -8.14536160715045e-01 2.53750656127501e-01 -4.72759208692887e-01 + 1.56000000000000e+02 -7.24032142744545e-01 2.00674420323875e-01 -4.50380177814276e-01 + 1.59000000000000e+02 -6.33528124774044e-01 1.52133846501187e-01 -4.28002709842359e-01 + 1.62000000000000e+02 -5.43024106803545e-01 1.09012430059325e-01 -4.36435189503656e-01 + 1.65000000000000e+02 -4.52520088833045e-01 7.20219913215299e-02 -4.60271993506427e-01 + 1.68000000000000e+02 -3.62016070862544e-01 4.82604420639950e-02 -4.84108797509198e-01 + 1.71000000000000e+02 -2.71512052892044e-01 3.97435940896266e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.81008034921543e-01 3.47726107932974e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -9.05040181393861e-02 3.16952301130373e-02 -1.50000000451309e-01 + 1.80000000000000e+02 0.00000000000000e+00 3.05414951794391e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_18.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_18.dat new file mode 100644 index 0000000..46a1237 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_18.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF18_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF18_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-2.839150 alpha0 ! 0-lift angle of attack, depends on airfoil. +13.924625 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-11.426944 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.958095 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.178812 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.013340 Cd0 ! 2D drag coefficient value at 0-lift. +-0.084934 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 0.00000000000000e+00 2.92816357990909e-02 0.00000000000000e+00 +-1.77000000000000e+02 8.93789632759342e-02 3.04352336699670e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.78757925211511e-01 3.35121462780938e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.68137379623957e-01 3.84820648275667e-02 3.60000658682385e-01 +-1.68000000000000e+02 3.57520392106020e-01 4.73806421850215e-02 4.03596497811431e-01 +-1.65000000000000e+02 4.46894814538955e-01 7.24071515052936e-02 4.08990559474336e-01 +-1.62000000000000e+02 5.36278657756197e-01 1.09293784591283e-01 4.14385189714805e-01 +-1.59000000000000e+02 6.25647814772716e-01 1.52356701180547e-01 4.25386946442800e-01 +-1.56000000000000e+02 7.15034037541942e-01 2.00878398222729e-01 4.47609943250660e-01 +-1.53000000000000e+02 8.04411622937637e-01 2.53939943879054e-01 4.69830395629536e-01 +-1.50000000000000e+02 8.93789630084694e-01 3.11309231656589e-01 4.89114892364973e-01 +-1.47000000000000e+02 9.34818272773403e-01 3.72734887150511e-01 4.79039180469436e-01 +-1.44000000000000e+02 8.79112937110558e-01 4.36318900747029e-01 4.65846973083679e-01 +-1.41000000000000e+02 8.29844155385367e-01 5.02797875629947e-01 4.52906761456434e-01 +-1.38000000000000e+02 7.82683275986380e-01 5.70368449749769e-01 4.43697472395928e-01 +-1.35000000000000e+02 7.36996218205375e-01 6.38694695858431e-01 4.36946899493502e-01 +-1.32000000000000e+02 6.92373600878592e-01 7.07214863901126e-01 4.30196326515499e-01 +-1.29000000000000e+02 6.47782451166207e-01 7.74778533844868e-01 4.26951839592770e-01 +-1.26000000000000e+02 6.02528695253837e-01 8.41012608613083e-01 4.25509242027649e-01 +-1.23000000000000e+02 5.56442593421149e-01 9.05587321412925e-01 4.25398921290474e-01 +-1.20000000000000e+02 5.08752686280976e-01 9.66429871568866e-01 4.25621877551096e-01 +-1.17000000000000e+02 4.59915448283037e-01 1.02382059595609e+00 4.26443628182120e-01 +-1.14000000000000e+02 4.10076876498592e-01 1.07767734721944e+00 4.27572408125423e-01 +-1.11000000000000e+02 3.59169133775386e-01 1.12701393631749e+00 4.28698276618928e-01 +-1.08000000000000e+02 3.07299652726015e-01 1.16970397794540e+00 4.28323946959658e-01 +-1.05000000000000e+02 2.55087938849126e-01 1.20739370333865e+00 4.27611187975469e-01 +-1.02000000000000e+02 2.02696816462598e-01 1.23990186315841e+00 4.26516440376862e-01 +-9.90000000000000e+01 1.50543773309090e-01 1.26477889867262e+00 4.24114874841406e-01 +-9.60000000000000e+01 9.92446280679400e-02 1.28248682203017e+00 4.20067247264402e-01 +-9.30000000000000e+01 4.89902503345439e-02 1.29425178567060e+00 4.15504426878804e-01 +-9.00000000000000e+01 -1.91904176391630e-10 1.29999999997748e+00 4.10940305108437e-01 +-8.70000000000000e+01 -4.89902500408160e-02 1.29425178570506e+00 4.01369298881125e-01 +-8.40000000000000e+01 -9.92446279300111e-02 1.28248682207197e+00 3.91796346347505e-01 +-8.10000000000000e+01 -1.50543773717676e-01 1.26477889847772e+00 3.81828886794606e-01 +-7.80000000000000e+01 -2.02696816871184e-01 1.23990186296351e+00 3.70613584224707e-01 +-7.50000000000000e+01 -2.55087938638358e-01 1.20739370347444e+00 3.58425247098415e-01 +-7.20000000000000e+01 -3.07299652482870e-01 1.16970397814185e+00 3.45971128804989e-01 +-6.90000000000000e+01 -3.59169134107163e-01 1.12701393599595e+00 3.33309800361436e-01 +-6.60000000000000e+01 -4.10076876126314e-01 1.07767734758022e+00 3.19731114867678e-01 +-6.30000000000000e+01 -4.59915448214572e-01 1.02382059603322e+00 3.06152429239782e-01 +-6.00000000000000e+01 -5.08752686434746e-01 9.66429871372687e-01 2.92628683942346e-01 +-5.70000000000000e+01 -5.56442592915367e-01 9.05587322058198e-01 2.79112768878959e-01 +-5.40000000000000e+01 -6.02528695341580e-01 8.41012608489569e-01 2.65654044880255e-01 +-5.10000000000000e+01 -6.47782451516322e-01 7.74778533317312e-01 2.52282211153257e-01 +-4.80000000000000e+01 -6.92373601108293e-01 7.07214863544815e-01 2.39020349944828e-01 +-4.50000000000000e+01 -7.36996217817781e-01 6.38694696449754e-01 2.25966512737516e-01 +-4.20000000000000e+01 -8.09786412164111e-01 5.70368449754445e-01 2.12914977748033e-01 +-3.90000000000000e+01 -8.78708807018562e-01 5.02797875502880e-01 1.84311497463327e-01 +-3.60000000000000e+01 -9.44362385965965e-01 4.36318901421385e-01 1.34533415956119e-01 +-3.30000000000000e+01 -1.01094460991843e+00 3.72734886945495e-01 8.21794142331852e-02 +-3.00000000000000e+01 -1.13268672552310e+00 2.80100835759446e-01 5.26323544818550e-02 +-2.93939393939394e+01 -1.16080744278467e+00 2.58584550383096e-01 4.89558249629833e-02 +-2.87878787878788e+01 -1.18860147821393e+00 2.37340188775191e-01 4.52791203194961e-02 +-2.81818181818182e+01 -1.21605153382446e+00 2.16209558018046e-01 4.16023443310168e-02 +-2.75757575757576e+01 -1.22355873837578e+00 2.03598763497029e-01 3.82537270027801e-02 +-2.69696969696970e+01 -1.22242231083784e+00 1.94573723145870e-01 3.50452996873465e-02 +-2.63636363636364e+01 -1.22105386868145e+00 1.85776810710045e-01 3.18363116207088e-02 +-2.57575757575758e+01 -1.21945354313019e+00 1.76992778734753e-01 2.86267029414496e-02 +-2.51515151515151e+01 -1.21762146540584e+00 1.68213100757363e-01 2.54164077703941e-02 +-2.45454545454545e+01 -1.21387526777990e+00 1.59438289580313e-01 2.22053550623005e-02 +-2.39393939393939e+01 -1.20911777150234e+00 1.50839969759597e-01 1.90880670301403e-02 +-2.33333333333333e+01 -1.20074040841698e+00 1.43789813641812e-01 1.68181946541050e-02 +-2.27272727272727e+01 -1.19212384007834e+00 1.36755393829577e-01 1.45417364382193e-02 +-2.21212121212121e+01 -1.18316611613990e+00 1.29747205546275e-01 1.22586214266649e-02 +-2.15151515151515e+01 -1.17369775689309e+00 1.22787744955983e-01 9.96922223251855e-03 +-2.09090909090909e+01 -1.16753154077805e+00 1.15656681460705e-01 7.67644746373240e-03 +-2.03030303030303e+01 -1.16143155204605e+00 1.08358747227315e-01 5.42132265085160e-03 +-1.96969696969697e+01 -1.15432226992788e+00 1.01732857684373e-01 3.59575815103427e-03 +-1.90909090909091e+01 -1.14616210872765e+00 9.57084075699104e-02 2.22735356813863e-03 +-1.84848484848485e+01 -1.13771719935903e+00 8.96881018872557e-02 9.01192941703575e-04 +-1.78787878787879e+01 -1.12887618201237e+00 8.38158595910085e-02 -3.04544991539797e-04 +-1.72727272727273e+01 -1.11921927162842e+00 7.85273537219673e-02 -1.00021113169929e-03 +-1.66666666666667e+01 -1.10951373809272e+00 7.32406519044057e-02 -1.69930354399218e-03 +-1.60606060606061e+01 -1.09976826304188e+00 6.79554946587101e-02 -2.40121259136345e-03 +-1.54545454545455e+01 -1.09189940570007e+00 6.30832714092822e-02 -2.48866053085692e-03 +-1.48484848484848e+01 -1.08423221909718e+00 5.82568501337182e-02 -2.51008426246989e-03 +-1.42424242424242e+01 -1.07655675269953e+00 5.34304342179940e-02 -2.53364973400568e-03 +-1.36363636363636e+01 -1.06895411798574e+00 4.89379087621605e-02 -2.72034874101843e-03 +-1.30303030303030e+01 -1.06138037925290e+00 4.46974747279422e-02 -3.08340852149057e-03 +-1.24242424242424e+01 -1.05377862316627e+00 4.04451800438116e-02 -3.19001574470182e-03 +-1.18181818181818e+01 -1.03623293444064e+00 3.65265425840798e-02 -4.30461545626798e-03 +-1.12121212121212e+01 -9.94972751845980e-01 3.33999127629434e-02 -7.98949743751119e-03 +-1.06060606060606e+01 -9.53441857137756e-01 3.02644282412188e-02 -1.16750085020222e-02 +-1.00000000000000e+01 -9.11442009197103e-01 2.71199920881605e-02 -1.56654848124060e-02 +-9.39393939393939e+00 -8.43230518954900e-01 2.51404557801013e-02 -2.24616052758526e-02 +-8.78787878787879e+00 -7.74983443424409e-01 2.31598878842809e-02 -2.91551628176835e-02 +-8.18181818181818e+00 -7.06662355699495e-01 2.11780935163883e-02 -3.57547236981177e-02 +-7.57575757575758e+00 -6.35070520327240e-01 1.96664174713219e-02 -4.15857046944078e-02 +-6.96969696969697e+00 -5.61441003472604e-01 1.83565955397555e-02 -4.71234176301829e-02 +-6.36363636363636e+00 -4.87809087970872e-01 1.70467499550285e-02 -5.26786369911000e-02 +-5.75757575757576e+00 -4.10207606533604e-01 1.59768771424720e-02 -5.83150184189492e-02 +-5.15151515151515e+00 -3.26648751844885e-01 1.52670443390523e-02 -6.40440418055771e-02 +-4.54545454545454e+00 -2.43079980361548e-01 1.45572928543613e-02 -6.97682091730085e-02 +-3.93939393939394e+00 -1.59097771734084e-01 1.38884158928997e-02 -7.54384702623152e-02 +-3.33333333333333e+00 -7.14786119721399e-02 1.35865279145091e-02 -8.06753125590778e-02 +-2.72727272727273e+00 1.61819893658776e-02 1.32847309680536e-02 -8.58980022448742e-02 +-2.12121212121212e+00 1.03877361146259e-01 1.29830401852326e-02 -9.12522644462698e-02 +-1.51515151515152e+00 1.90827759981869e-01 1.28218149207443e-02 -9.60609438021888e-02 +-9.09090909090912e-01 2.77795111539039e-01 1.27074533636947e-02 -1.00510926631285e-01 +-3.03030303030302e-01 3.63732164720574e-01 1.26597388040124e-02 -1.04552799321433e-01 + 3.03030303030302e-01 4.48980086660793e-01 1.26461222510781e-02 -1.08387534832188e-01 + 9.09090909090912e-01 5.33552494088423e-01 1.26666052299374e-02 -1.12005751049606e-01 + 1.51515151515152e+00 6.17054648156663e-01 1.27330358873353e-02 -1.15312242974659e-01 + 2.12121212121212e+00 7.00124614938976e-01 1.28175784608930e-02 -1.18500455958525e-01 + 2.72727272727273e+00 7.82238958495911e-01 1.29420902315898e-02 -1.21429870636598e-01 + 3.33333333333333e+00 8.63697403620978e-01 1.30943809719599e-02 -1.24204382888374e-01 + 3.93939393939394e+00 9.44619413581351e-01 1.32694059600717e-02 -1.26851940781226e-01 + 4.54545454545455e+00 1.02439062534784e+00 1.34909015851151e-02 -1.29258273249960e-01 + 5.15151515151515e+00 1.10370241229788e+00 1.37303511699182e-02 -1.31574103273956e-01 + 5.75757575757576e+00 1.18202286389841e+00 1.40079990367655e-02 -1.33698407106907e-01 + 6.36363636363637e+00 1.25938847310282e+00 1.43269607457170e-02 -1.35651624426034e-01 + 6.96969696969697e+00 1.33612106648360e+00 1.46736545728852e-02 -1.37490811090599e-01 + 7.57575757575757e+00 1.41080458532810e+00 1.50992879573181e-02 -1.39018021251863e-01 + 8.18181818181818e+00 1.48459782108276e+00 1.55593529744203e-02 -1.40410471958657e-01 + 8.78787878787879e+00 1.55656192182614e+00 1.60897074231525e-02 -1.41526622756841e-01 + 9.39393939393939e+00 1.62604566498257e+00 1.67156648258579e-02 -1.42302925195344e-01 + 1.00000000000000e+01 1.69424384181506e+00 1.73939354161269e-02 -1.42896352109919e-01 + 1.06060606060606e+01 1.75807507247504e+00 1.82939449234735e-02 -1.42947708700608e-01 + 1.12121212121212e+01 1.82046674011267e+00 1.93268809987406e-02 -1.42803387321142e-01 + 1.18181818181818e+01 1.87549362499521e+00 2.06075291007807e-02 -1.42294543418676e-01 + 1.24242424242424e+01 1.92132881166872e+00 2.24198947821669e-02 -1.41409450978408e-01 + 1.30303030303030e+01 1.96255892672364e+00 2.45288605367058e-02 -1.40355216674495e-01 + 1.36363636363636e+01 1.98645281210489e+00 2.80033197802105e-02 -1.39182583373909e-01 + 1.42424242424242e+01 2.00425164729910e+00 3.20359461506834e-02 -1.37976562903491e-01 + 1.48484848484848e+01 2.01471292385770e+00 3.68788585064736e-02 -1.36669525510867e-01 + 1.54545454545455e+01 2.01978443188205e+00 4.25617615780360e-02 -1.35359719221389e-01 + 1.60606060606061e+01 2.02204211633683e+00 4.86329028449374e-02 -1.34024171993948e-01 + 1.66666666666667e+01 2.01383662674763e+00 5.59212318396071e-02 -1.32400260557744e-01 + 1.72727272727273e+01 2.00544430735428e+00 6.32445374313977e-02 -1.30771938808648e-01 + 1.78787878787879e+01 1.99696140274707e+00 7.05972942210029e-02 -1.29138776148843e-01 + 1.84848484848485e+01 1.96100299833571e+00 8.08189064340771e-02 -1.28067354223418e-01 + 1.90909090909091e+01 1.91812411683098e+00 9.17683573337264e-02 -1.27178610597385e-01 + 1.96969696969697e+01 1.87518320739289e+00 1.02734171422944e-01 -1.26323207682637e-01 + 2.03030303030303e+01 1.83670386336701e+00 1.14529381224367e-01 -1.27190067522519e-01 + 2.09090909090909e+01 1.80270298927724e+00 1.27149069483874e-01 -1.29766862399872e-01 + 2.15151515151515e+01 1.76866242090258e+00 1.39780979199794e-01 -1.32349018537196e-01 + 2.21212121212121e+01 1.73457623579695e+00 1.52428688005215e-01 -1.34937141695820e-01 + 2.27272727272727e+01 1.70043727166837e+00 1.65097320915642e-01 -1.37531932358556e-01 + 2.33333333333333e+01 1.66623678401320e+00 1.77794488338973e-01 -1.40134204939439e-01 + 2.39393939393939e+01 1.63196398367153e+00 1.90002158200898e-01 -1.42744911825249e-01 + 2.45454545454545e+01 1.61818553817622e+00 2.02296594393794e-01 -1.46499139490135e-01 + 2.51515151515151e+01 1.60588708905765e+00 2.14600997891126e-01 -1.50382732323577e-01 + 2.57575757575758e+01 1.59120067601355e+00 2.26907759348305e-01 -1.54269470377135e-01 + 2.63636363636364e+01 1.57615519704334e+00 2.39217228508428e-01 -1.58159489232350e-01 + 2.69696969696970e+01 1.56072863310224e+00 2.51529827879470e-01 -1.62052931089038e-01 + 2.75757575757576e+01 1.54489371272916e+00 2.63846072696188e-01 -1.65949945327447e-01 + 2.81818181818182e+01 1.53039929761549e+00 2.76054327991077e-01 -1.69660616119444e-01 + 2.87878787878788e+01 1.51972604136652e+00 2.88016327848591e-01 -1.72926354380155e-01 + 2.93939393939394e+01 1.50813202262015e+00 2.99991416080415e-01 -1.76187301635582e-01 + 3.00000000000000e+01 1.49459353138582e+00 3.11973836474945e-01 -1.79442627570215e-01 + 3.30000000000000e+01 1.42092607656013e+00 3.72734886945495e-01 -1.95887552260176e-01 + 3.60000000000000e+01 1.32853136915780e+00 4.36318901421385e-01 -2.13309574557044e-01 + 3.90000000000000e+01 1.23952821205866e+00 5.02797875502880e-01 -2.30385577269667e-01 + 4.20000000000000e+01 1.14792023253111e+00 5.70368449754446e-01 -2.44612363520141e-01 + 4.50000000000000e+01 1.05285173973969e+00 6.38694696449754e-01 -2.56714118957981e-01 + 4.80000000000000e+01 9.89105144440419e-01 7.07214863544815e-01 -2.68817975055655e-01 + 5.10000000000000e+01 9.25403502166174e-01 7.74778533317312e-01 -2.80253473741722e-01 + 5.40000000000000e+01 8.60755279059400e-01 8.41012608489569e-01 -2.91347431920093e-01 + 5.70000000000000e+01 7.94917989879096e-01 9.05587322058199e-01 -3.02195440267182e-01 + 6.00000000000000e+01 7.26789552049637e-01 9.66429871372687e-01 -3.13014366720820e-01 + 6.30000000000000e+01 6.57022068877959e-01 1.02382059603322e+00 -3.23757832854722e-01 + 6.60000000000000e+01 5.85824108751878e-01 1.07767734758022e+00 -3.34339066509483e-01 + 6.90000000000000e+01 5.13098763010233e-01 1.12701393599595e+00 -3.44920300059716e-01 + 7.20000000000000e+01 4.38999503546957e-01 1.16970397814185e+00 -3.55094916613797e-01 + 7.50000000000000e+01 3.64411340911940e-01 1.20739370347444e+00 -3.65177687571404e-01 + 7.80000000000000e+01 2.89566881244549e-01 1.23990186296351e+00 -3.75136233405009e-01 + 8.10000000000000e+01 2.15062533882395e-01 1.26477889847772e+00 -3.84631588136350e-01 + 8.40000000000000e+01 1.41778039900016e-01 1.28248682207197e+00 -3.93531109132339e-01 + 8.70000000000000e+01 6.99860714868797e-02 1.29425178570506e+00 -4.02236821330669e-01 + 9.00000000000000e+01 2.74148682545763e-10 1.29999999997748e+00 -4.10940305111835e-01 + 9.30000000000000e+01 -4.89902503345437e-02 1.29425178567060e+00 -4.15504426878804e-01 + 9.60000000000000e+01 -9.92446280679403e-02 1.28248682203017e+00 -4.20067247264402e-01 + 9.90000000000000e+01 -1.50543773309090e-01 1.26477889867262e+00 -4.24114874841406e-01 + 1.02000000000000e+02 -2.02696816462598e-01 1.23990186315841e+00 -4.26516440376862e-01 + 1.05000000000000e+02 -2.55087938849126e-01 1.20739370333865e+00 -4.27611187975469e-01 + 1.08000000000000e+02 -3.07299652726015e-01 1.16970397794540e+00 -4.28323946959658e-01 + 1.11000000000000e+02 -3.59169133775386e-01 1.12701393631749e+00 -4.28698276618928e-01 + 1.14000000000000e+02 -4.10076876498592e-01 1.07767734721944e+00 -4.27572408125423e-01 + 1.17000000000000e+02 -4.59915448283037e-01 1.02382059595609e+00 -4.26443628182120e-01 + 1.20000000000000e+02 -5.08752686280976e-01 9.66429871568866e-01 -4.25621877551096e-01 + 1.23000000000000e+02 -5.56442593421149e-01 9.05587321412925e-01 -4.25398921290474e-01 + 1.26000000000000e+02 -6.02528695253837e-01 8.41012608613083e-01 -4.25509242027649e-01 + 1.29000000000000e+02 -6.47782451166207e-01 7.74778533844868e-01 -4.26951839592770e-01 + 1.32000000000000e+02 -6.92373600878592e-01 7.07214863901126e-01 -4.30196326515499e-01 + 1.35000000000000e+02 -7.36996218205375e-01 6.38694695858431e-01 -4.36946899493502e-01 + 1.38000000000000e+02 -7.82683275986381e-01 5.70368449749768e-01 -4.43697472395928e-01 + 1.41000000000000e+02 -8.29844155385367e-01 5.02797875629947e-01 -4.52906761456434e-01 + 1.44000000000000e+02 -8.79112937110558e-01 4.36318900747029e-01 -4.65846973083679e-01 + 1.47000000000000e+02 -9.34818272773404e-01 3.72734887150511e-01 -4.79039180469436e-01 + 1.50000000000000e+02 -8.93789630084693e-01 3.11309231656588e-01 -4.89114892364973e-01 + 1.53000000000000e+02 -8.04410666975545e-01 2.53939362051627e-01 -4.69830157968600e-01 + 1.56000000000000e+02 -7.15031703866398e-01 2.00877069440077e-01 -4.47609363060490e-01 + 1.59000000000000e+02 -6.25652740757250e-01 1.52359294181772e-01 -4.25388171130266e-01 + 1.62000000000000e+02 -5.36273777648103e-01 1.09291685074546e-01 -4.34384895315313e-01 + 1.65000000000000e+02 -4.46894814538955e-01 7.24071515052938e-02 -4.58990559640862e-01 + 1.68000000000000e+02 -3.57515851429807e-01 4.73797201570160e-02 -4.83596223966411e-01 + 1.71000000000000e+02 -2.68136888320659e-01 3.84820351261717e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.78757925211511e-01 3.35121462780938e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -8.93789632759342e-02 3.04352336699670e-02 -1.50000000451309e-01 + 1.80000000000000e+02 0.00000000000000e+00 2.92816357990909e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_19.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_19.dat new file mode 100644 index 0000000..a02be4c --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_19.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF19_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF19_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-2.799814 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.018617 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-11.818551 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.950200 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.146200 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.012928 Cd0 ! 2D drag coefficient value at 0-lift. +-0.085215 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 0.00000000000000e+00 2.80270148732245e-02 0.00000000000000e+00 +-1.77000000000000e+02 8.82004574258801e-02 2.91807784526497e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.76400913529076e-01 3.22580480650534e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.64601855615590e-01 3.72282619360262e-02 3.60000658682385e-01 +-1.68000000000000e+02 3.52806308856813e-01 4.65448979679129e-02 4.02940959894088e-01 +-1.65000000000000e+02 4.41002285312955e-01 7.28631156823396e-02 4.07351839546626e-01 +-1.62000000000000e+02 5.29207558335703e-01 1.09657713490410e-01 4.11763184141423e-01 +-1.59000000000000e+02 6.17398338802550e-01 1.52672547526704e-01 4.22062897453461e-01 +-1.56000000000000e+02 7.05605960001710e-01 2.01172180261025e-01 4.44144011696265e-01 +-1.53000000000000e+02 7.93805057715385e-01 2.54218881147447e-01 4.66219687595421e-01 +-1.50000000000000e+02 8.82004571619420e-01 3.11575904149007e-01 4.85409275165434e-01 +-1.47000000000000e+02 9.22742643436693e-01 3.72990179269018e-01 4.75752594055329e-01 +-1.44000000000000e+02 8.68503181202292e-01 4.36563357695120e-01 4.63020538950961e-01 +-1.41000000000000e+02 8.20421692899110e-01 5.03031232338710e-01 4.50553493887730e-01 +-1.38000000000000e+02 7.74285739080395e-01 5.70590602393780e-01 4.41932068535347e-01 +-1.35000000000000e+02 7.29453160663100e-01 6.38905417334317e-01 4.35667048507625e-01 +-1.32000000000000e+02 6.85721513569081e-01 7.07413713105079e-01 4.29402028409762e-01 +-1.29000000000000e+02 6.42142289144410e-01 7.74965068041744e-01 4.26500462415173e-01 +-1.26000000000000e+02 5.97804201365229e-01 8.41186517285126e-01 4.25327482673247e-01 +-1.23000000000000e+02 5.52543670393773e-01 9.05748281875150e-01 4.25411317602447e-01 +-1.20000000000000e+02 5.05557764683655e-01 9.66577376904203e-01 4.25710714842172e-01 +-1.17000000000000e+02 4.57348677714589e-01 1.02395434622952e+00 4.26581384712035e-01 +-1.14000000000000e+02 4.08070686153272e-01 1.07779707789848e+00 4.27742181999839e-01 +-1.11000000000000e+02 3.57649409637260e-01 1.12711935434911e+00 4.28901054297469e-01 +-1.08000000000000e+02 3.06179071718929e-01 1.16979476262694e+00 4.28527262307481e-01 +-1.05000000000000e+02 2.54309475857368e-01 1.20746968130770e+00 4.27807629645285e-01 +-1.02000000000000e+02 2.02204460656555e-01 1.23996287583290e+00 4.26701401363197e-01 +-9.90000000000000e+01 1.50262368156504e-01 1.26482476503123e+00 4.24282104530673e-01 +-9.60000000000000e+01 9.91091936513499e-02 1.28251744193011e+00 4.20209120647359e-01 +-9.30000000000000e+01 4.89485095041990e-02 1.29426711074731e+00 4.15619079505733e-01 +-9.00000000000000e+01 -1.91740669531967e-10 1.29999999997754e+00 4.11028475855345e-01 +-8.70000000000000e+01 -4.89485092107213e-02 1.29426711078168e+00 4.01433039308733e-01 +-8.40000000000000e+01 -9.91091935137607e-02 1.28251744197187e+00 3.91836487766535e-01 +-8.10000000000000e+01 -1.50262368563438e-01 1.26482476483646e+00 3.81845310958647e-01 +-7.80000000000000e+01 -2.02204461063489e-01 1.23996287563813e+00 3.70588817531941e-01 +-7.50000000000000e+01 -2.54309475647801e-01 1.20746968144344e+00 3.58324550578768e-01 +-7.20000000000000e+01 -3.06179071477608e-01 1.16979476282333e+00 3.45790274533555e-01 +-6.90000000000000e+01 -3.57649409965867e-01 1.12711935402766e+00 3.33042917575408e-01 +-6.60000000000000e+01 -4.08070685784552e-01 1.07779707825916e+00 3.19352212620980e-01 +-6.30000000000000e+01 -4.57348677646941e-01 1.02395434630663e+00 3.05661507531306e-01 +-6.00000000000000e+01 -5.05557764835155e-01 9.66577376708067e-01 2.92017472640858e-01 +-5.70000000000000e+01 -5.52543669895457e-01 9.05748282520281e-01 2.78387636407757e-01 +-5.40000000000000e+01 -5.97804201451386e-01 8.41186517161637e-01 2.64805846440656e-01 +-5.10000000000000e+01 -6.42142289486858e-01 7.74965067514285e-01 2.51308403618928e-01 +-4.80000000000000e+01 -6.85721513792785e-01 7.07413712748828e-01 2.37919455330745e-01 +-4.50000000000000e+01 -7.29453160281735e-01 6.38905417925537e-01 2.24736992794102e-01 +-4.20000000000000e+01 -7.93112921374000e-01 5.70590602398456e-01 2.11556315630584e-01 +-3.90000000000000e+01 -8.54375512446404e-01 5.03031232211663e-01 1.83235187979541e-01 +-3.60000000000000e+01 -9.13860418304520e-01 4.36563358369366e-01 1.34361247104513e-01 +-3.30000000000000e+01 -9.75691949459422e-01 3.72990179064038e-01 8.27491384902947e-02 +-3.00000000000000e+01 -1.09421740782624e+00 2.81297312875280e-01 5.33445520754121e-02 +-2.93939393939394e+01 -1.12222717644019e+00 2.60142062246842e-01 4.96296972401428e-02 +-2.87878787878788e+01 -1.14994989566943e+00 2.39274222631034e-01 4.59151506111406e-02 +-2.81818181818182e+01 -1.17735781100362e+00 2.18597307812834e-01 4.22011346169205e-02 +-2.75757575757576e+01 -1.18549264504861e+00 2.06039123014107e-01 3.88084129573054e-02 +-2.69696969696970e+01 -1.18529594952549e+00 1.96875334460911e-01 3.55529675846618e-02 +-2.63636363636364e+01 -1.18490288648570e+00 1.87891308723118e-01 3.22972701148946e-02 +-2.57575757575758e+01 -1.18431360148804e+00 1.78920428679939e-01 2.90413129794864e-02 +-2.51515151515151e+01 -1.18352824008933e+00 1.69956439662711e-01 2.57850957962620e-02 +-2.45454545454545e+01 -1.18137674991982e+00 1.61000153278375e-01 2.25286309230337e-02 +-2.39393939393939e+01 -1.17853817486284e+00 1.52207724552865e-01 1.93652373741412e-02 +-2.33333333333333e+01 -1.17352504731872e+00 1.44826297530086e-01 1.70386436796826e-02 +-2.27272727272727e+01 -1.16812896773839e+00 1.37469776189941e-01 1.47071463651400e-02 +-2.21212121212121e+01 -1.16218672025496e+00 1.30154771210324e-01 1.23708872523930e-02 +-2.15151515151515e+01 -1.15542697888957e+00 1.22916887029725e-01 1.00307260376520e-02 +-2.09090909090909e+01 -1.15207857477269e+00 1.15532593527050e-01 7.69155320582060e-03 +-2.03030303030303e+01 -1.14891639603902e+00 1.07935807229395e-01 5.37370338951990e-03 +-1.96969696969697e+01 -1.14509034245544e+00 1.01052027960306e-01 3.55154454816265e-03 +-1.90909090909091e+01 -1.14056779186843e+00 9.48265002196696e-02 2.25976129942883e-03 +-1.84848484848485e+01 -1.13582186870691e+00 8.86041865533092e-02 1.00073892602471e-03 +-1.78787878787879e+01 -1.13056842119575e+00 8.25454266683992e-02 -1.37921935216124e-04 +-1.72727272727273e+01 -1.12388776149691e+00 7.71342767867654e-02 -7.73126782049216e-04 +-1.66666666666667e+01 -1.11716895904672e+00 7.17245259763968e-02 -1.41098875864979e-03 +-1.60606060606061e+01 -1.11041882421212e+00 6.63159730066327e-02 -2.05103508156599e-03 +-1.54545454545455e+01 -1.10505133011061e+00 6.14095306395199e-02 -2.06989687576284e-03 +-1.48484848484848e+01 -1.09983209523536e+00 5.65588166295672e-02 -2.02148249021580e-03 +-1.42424242424242e+01 -1.09460636522062e+00 5.17081067762575e-02 -1.97472905881414e-03 +-1.36363636363636e+01 -1.08819771686738e+00 4.72203110948908e-02 -2.32070544529895e-03 +-1.30303030303030e+01 -1.08098503497750e+00 4.30211454595599e-02 -2.98093057146144e-03 +-1.24242424242424e+01 -1.07375037469006e+00 3.88032074967769e-02 -3.37694416289480e-03 +-1.18181818181818e+01 -1.05484778627524e+00 3.49555795031002e-02 -4.97222325129390e-03 +-1.12121212121212e+01 -1.00796128748483e+00 3.19929736947546e-02 -9.43896759993664e-03 +-1.06060606060606e+01 -9.60903948870094e-01 2.90157084532912e-02 -1.39067075919449e-02 +-1.00000000000000e+01 -9.13654251425401e-01 2.60234836363991e-02 -1.86110736838420e-02 +-9.39393939393939e+00 -8.45557618617893e-01 2.41463220639477e-02 -2.49760415357774e-02 +-8.78787878787879e+00 -7.77439763753598e-01 2.22674317354166e-02 -3.12658350110429e-02 +-8.18181818181818e+00 -7.09273085202984e-01 2.03864671238200e-02 -3.74882280500636e-02 +-7.57575757575758e+00 -6.38319535384522e-01 1.89487362683793e-02 -4.30014049713310e-02 +-6.96969696969697e+00 -5.65120341820892e-01 1.77015946735132e-02 -4.82463929370247e-02 +-6.36363636363636e+00 -4.91919266622761e-01 1.64544010618390e-02 -5.35193078514259e-02 +-5.75757575757576e+00 -4.14548191006581e-01 1.54383626388873e-02 -5.89429794229295e-02 +-5.15151515151515e+00 -3.30919742218857e-01 1.47691654567917e-02 -6.45482804378527e-02 +-4.54545454545454e+00 -2.47283514136335e-01 1.41000228608517e-02 -7.01500073483993e-02 +-3.93939393939394e+00 -1.63320028044059e-01 1.34690521905854e-02 -7.56949215578013e-02 +-3.33333333333333e+00 -7.64771010064032e-02 1.31810336128729e-02 -8.07680011569550e-02 +-2.72727272727273e+00 1.03983351483146e-02 1.28930794950076e-02 -8.58193588765963e-02 +-2.12121212121212e+00 9.73010472053565e-02 1.26052007239395e-02 -9.09579988509596e-02 +-1.51515151515152e+00 1.83411286693414e-01 1.24523204660779e-02 -9.55663295844952e-02 +-9.09090909090912e-01 2.69751378515398e-01 1.23445666895677e-02 -9.98457169339172e-02 +-3.03030303030302e-01 3.55014885528789e-01 1.23013478337486e-02 -1.03733374490716e-01 + 3.03030303030302e-01 4.39594611429537e-01 1.22912850264947e-02 -1.07422638131654e-01 + 9.09090909090912e-01 5.23512668492090e-01 1.23143802765799e-02 -1.10906312336157e-01 + 1.51515151515152e+00 6.06414328242590e-01 1.23819653469077e-02 -1.14098413636526e-01 + 2.12121212121212e+00 6.88901951600744e-01 1.24668934542601e-02 -1.17179205576905e-01 + 2.72727272727273e+00 7.70479140105949e-01 1.25897624709034e-02 -1.20016188899398e-01 + 3.33333333333333e+00 8.51431761233168e-01 1.27393120795598e-02 -1.22707202026724e-01 + 3.93939393939394e+00 9.31873637897082e-01 1.29106918383909e-02 -1.25278612699926e-01 + 4.54545454545455e+00 1.01122164598558e+00 1.31266418089090e-02 -1.27624097884211e-01 + 5.15151515151515e+00 1.09012570845069e+00 1.33597299944761e-02 -1.29882690338639e-01 + 5.75757575757576e+00 1.16806780730192e+00 1.36291384636729e-02 -1.31955630555616e-01 + 6.36363636363637e+00 1.24506464149209e+00 1.39400737084328e-02 -1.33863097793099e-01 + 6.96969696969697e+00 1.32143420962243e+00 1.42789192647244e-02 -1.35660267045785e-01 + 7.57575757575757e+00 1.39580283358187e+00 1.46966062544240e-02 -1.37156409607002e-01 + 8.18181818181818e+00 1.46931188247943e+00 1.51467414777845e-02 -1.38523110246602e-01 + 8.78787878787879e+00 1.54105929288984e+00 1.56626061492721e-02 -1.39624640486715e-01 + 9.39393939393939e+00 1.61040722254582e+00 1.62690785382534e-02 -1.40399436054848e-01 + 1.00000000000000e+01 1.67850063996783e+00 1.69248485250527e-02 -1.40998304831594e-01 + 1.06060606060606e+01 1.74224343983473e+00 1.77854894766520e-02 -1.41054635161043e-01 + 1.12121212121212e+01 1.80443134911134e+00 1.87666437505342e-02 -1.40912608171270e-01 + 1.18181818181818e+01 1.86004899573162e+00 1.99724211608886e-02 -1.40401410569724e-01 + 1.24242424242424e+01 1.90737067425770e+00 2.16310673850165e-02 -1.39500937976812e-01 + 1.30303030303030e+01 1.95040765519683e+00 2.35420484113363e-02 -1.38418088672853e-01 + 1.36363636363636e+01 1.97713397665159e+00 2.66345359159805e-02 -1.37067993124878e-01 + 1.42424242424242e+01 1.99694036203490e+00 3.02376680944610e-02 -1.35660970225304e-01 + 1.48484848484848e+01 2.00841106328256e+00 3.45580603179453e-02 -1.34127566993962e-01 + 1.54545454545455e+01 2.01225889141592e+00 4.00329401064125e-02 -1.32547477222623e-01 + 1.60606060606061e+01 2.01244943559758e+00 4.60201879178771e-02 -1.30943225666573e-01 + 1.66666666666667e+01 2.00085065052558e+00 5.34913451652453e-02 -1.29224102634378e-01 + 1.72727272727273e+01 1.98895276310137e+00 6.09896273325722e-02 -1.27497326147921e-01 + 1.78787878787879e+01 1.97690985464764e+00 6.85107493828257e-02 -1.25762276650651e-01 + 1.84848484848485e+01 1.93770058437629e+00 7.89480699228558e-02 -1.24782953581159e-01 + 1.90909090909091e+01 1.89161711108849e+00 9.01226797776956e-02 -1.24016441145485e-01 + 1.96969696969697e+01 1.84543433511792e+00 1.01309979552191e-01 -1.23261437840012e-01 + 2.03030303030303e+01 1.80436185113486e+00 1.13337932074045e-01 -1.24272327001879e-01 + 2.09090909090909e+01 1.76842672248795e+00 1.26202723902924e-01 -1.27053850384017e-01 + 2.15151515151515e+01 1.73242804587538e+00 1.39076993670034e-01 -1.29839528296446e-01 + 2.21212121212121e+01 1.69635633984658e+00 1.51963515888021e-01 -1.32629829729052e-01 + 2.27272727272727e+01 1.66020013803840e+00 1.64866265089770e-01 -1.35425296849335e-01 + 2.33333333333333e+01 1.62394544106984e+00 1.77791143270388e-01 -1.38226559762924e-01 + 2.39393939393939e+01 1.58757497619838e+00 1.90197974925627e-01 -1.41034354932249e-01 + 2.45454545454545e+01 1.57167876251214e+00 2.02545425183840e-01 -1.44768197856027e-01 + 2.51515151515151e+01 1.55742639452551e+00 2.14886336877430e-01 -1.48606669062412e-01 + 2.57575757575758e+01 1.54141642998735e+00 2.27230980488871e-01 -1.52447525127203e-01 + 2.63636363636364e+01 1.52503981728263e+00 2.39579909552828e-01 -1.56290875423653e-01 + 2.69696969696970e+01 1.50826156472544e+00 2.51933792768157e-01 -1.60136834029924e-01 + 2.75757575757576e+01 1.49103833372357e+00 2.64293445591400e-01 -1.63985520217801e-01 + 2.81818181818182e+01 1.47586479663938e+00 2.76517865710142e-01 -1.67657922160486e-01 + 2.87878787878788e+01 1.46629949436818e+00 2.88435796030867e-01 -1.70908972645534e-01 + 2.93939393939394e+01 1.45599389700307e+00 3.00374441181750e-01 -1.74152423172764e-01 + 3.00000000000000e+01 1.44414992880754e+00 3.12324690868194e-01 -1.77386959365922e-01 + 3.30000000000000e+01 1.37748430318136e+00 3.72990179064038e-01 -1.93729346814100e-01 + 3.60000000000000e+01 1.29109539214879e+00 4.36563358369366e-01 -2.11231706214274e-01 + 3.90000000000000e+01 1.20949112761260e+00 5.03031232211664e-01 -2.28394346325370e-01 + 4.20000000000000e+01 1.12677963741410e+00 5.70590602398456e-01 -2.42765663074120e-01 + 4.50000000000000e+01 1.04207594325962e+00 6.38905417925537e-01 -2.55055378189673e-01 + 4.80000000000000e+01 9.79602162561122e-01 7.07413712748828e-01 -2.67346722368575e-01 + 5.10000000000000e+01 9.17346127838369e-01 7.74965067514285e-01 -2.78964857206485e-01 + 5.40000000000000e+01 8.54006002073409e-01 8.41186517161637e-01 -2.90238520320402e-01 + 5.70000000000000e+01 7.89348099850653e-01 9.05748282520281e-01 -3.01262882511631e-01 + 6.00000000000000e+01 7.22225378335935e-01 9.66577376708067e-01 -3.12244299632814e-01 + 6.30000000000000e+01 6.53355253781345e-01 1.02395434630663e+00 -3.23122334652854e-01 + 6.60000000000000e+01 5.82958122549360e-01 1.07779707825916e+00 -3.33852125038186e-01 + 6.90000000000000e+01 5.10927728522666e-01 1.12711935402766e+00 -3.44581915317522e-01 + 7.20000000000000e+01 4.37398673539440e-01 1.16979476282333e+00 -3.54863214489995e-01 + 7.50000000000000e+01 3.63299250925430e-01 1.20746968144344e+00 -3.65043209658299e-01 + 7.80000000000000e+01 2.88863515804984e-01 1.23996287563813e+00 -3.75092250424708e-01 + 8.10000000000000e+01 2.14660526519196e-01 1.26482476483646e+00 -3.84644363325130e-01 + 8.40000000000000e+01 1.41584562162515e-01 1.28251744197187e+00 -3.93569122859556e-01 + 8.70000000000000e+01 6.99264417296017e-02 1.29426711078168e+00 -4.02299442380339e-01 + 9.00000000000000e+01 2.73915104527666e-10 1.29999999997754e+00 -4.11028475858739e-01 + 9.30000000000000e+01 -4.89485095041988e-02 1.29426711074731e+00 -4.15619079505733e-01 + 9.60000000000000e+01 -9.91091936513502e-02 1.28251744193011e+00 -4.20209120647359e-01 + 9.90000000000000e+01 -1.50262368156504e-01 1.26482476503123e+00 -4.24282104530673e-01 + 1.02000000000000e+02 -2.02204460656555e-01 1.23996287583290e+00 -4.26701401363197e-01 + 1.05000000000000e+02 -2.54309475857368e-01 1.20746968130770e+00 -4.27807629645285e-01 + 1.08000000000000e+02 -3.06179071718928e-01 1.16979476262694e+00 -4.28527262307481e-01 + 1.11000000000000e+02 -3.57649409637260e-01 1.12711935434911e+00 -4.28901054297469e-01 + 1.14000000000000e+02 -4.08070686153272e-01 1.07779707789848e+00 -4.27742181999839e-01 + 1.17000000000000e+02 -4.57348677714589e-01 1.02395434622952e+00 -4.26581384712035e-01 + 1.20000000000000e+02 -5.05557764683655e-01 9.66577376904203e-01 -4.25710714842172e-01 + 1.23000000000000e+02 -5.52543670393773e-01 9.05748281875151e-01 -4.25411317602447e-01 + 1.26000000000000e+02 -5.97804201365229e-01 8.41186517285126e-01 -4.25327482673247e-01 + 1.29000000000000e+02 -6.42142289144411e-01 7.74965068041743e-01 -4.26500462415173e-01 + 1.32000000000000e+02 -6.85721513569081e-01 7.07413713105078e-01 -4.29402028409762e-01 + 1.35000000000000e+02 -7.29453160663100e-01 6.38905417334317e-01 -4.35667048507625e-01 + 1.38000000000000e+02 -7.74285739080396e-01 5.70590602393780e-01 -4.41932068535347e-01 + 1.41000000000000e+02 -8.20421692899110e-01 5.03031232338710e-01 -4.50553493887730e-01 + 1.44000000000000e+02 -8.68503181202292e-01 4.36563357695120e-01 -4.63020538950961e-01 + 1.47000000000000e+02 -9.22742643436693e-01 3.72990179269018e-01 -4.75752594055329e-01 + 1.50000000000000e+02 -8.82004571619419e-01 3.11575904149007e-01 -4.85409275165434e-01 + 1.53000000000000e+02 -7.93804114358126e-01 2.54218299457996e-01 -4.66219451498028e-01 + 1.56000000000000e+02 -7.05603657096834e-01 2.01170851928003e-01 -4.44143435248937e-01 + 1.59000000000000e+02 -6.17403199835540e-01 1.52675138879567e-01 -4.22064114404905e-01 + 1.62000000000000e+02 -5.29202742574248e-01 1.09655618279608e-01 -4.31762943426580e-01 + 1.65000000000000e+02 -4.41002285312955e-01 7.28631156823397e-02 -4.57351839713153e-01 + 1.68000000000000e+02 -3.52801828051662e-01 4.65438583525731e-02 -4.82940735999725e-01 + 1.71000000000000e+02 -2.64601370790369e-01 3.72282322340693e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.76400913529076e-01 3.22580480650534e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -8.82004574258801e-02 2.91807784526497e-02 -1.50000000451309e-01 + 1.80000000000000e+02 0.00000000000000e+00 2.80270148732245e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_20.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_20.dat new file mode 100644 index 0000000..31ceaeb --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_20.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF20_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF20_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-2.766799 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.118263 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-12.025354 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.944572 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.115998 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.012519 Cd0 ! 2D drag coefficient value at 0-lift. +-0.085427 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 0.00000000000000e+00 2.67292776565803e-02 0.00000000000000e+00 +-1.77000000000000e+02 8.70302961217015e-02 2.78846308869368e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.74060590938267e-01 3.09661327676359e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.61091365290577e-01 3.59431530556370e-02 3.60000658682385e-01 +-1.68000000000000e+02 3.48125604214875e-01 4.57057532691782e-02 4.02225925288733e-01 +-1.65000000000000e+02 4.35151478816161e-01 7.32913187079072e-02 4.05564389231706e-01 +-1.62000000000000e+02 5.22186526645887e-01 1.10059625760644e-01 4.08903205075680e-01 +-1.59000000000000e+02 6.09207274193412e-01 1.53057456356617e-01 4.18450094102741e-01 +-1.56000000000000e+02 6.96244639046140e-01 2.01545256370589e-01 4.40416173105623e-01 +-1.53000000000000e+02 7.83273593495027e-01 2.54581012547066e-01 4.62375061747979e-01 +-1.50000000000000e+02 8.70302958612650e-01 3.11926861184744e-01 4.81502275084793e-01 +-1.47000000000000e+02 9.10803596479024e-01 3.73329255700738e-01 4.72337064725999e-01 +-1.44000000000000e+02 8.58187646069172e-01 4.36890129644764e-01 4.60188058649908e-01 +-1.41000000000000e+02 8.11442723288845e-01 5.03344666741920e-01 4.48343503841105e-01 +-1.38000000000000e+02 7.66494529872368e-01 5.70890075931762e-01 4.40274150408210e-01 +-1.35000000000000e+02 7.22709029390855e-01 6.39190292483350e-01 4.34465120610616e-01 +-1.32000000000000e+02 6.79921931450650e-01 7.07683157209455e-01 4.28656090747985e-01 +-1.29000000000000e+02 6.37224947972431e-01 7.75218301690875e-01 4.26076567111881e-01 +-1.26000000000000e+02 5.93685179921264e-01 8.41422981229493e-01 4.25156789646474e-01 +-1.23000000000000e+02 5.49144417915775e-01 9.05967431043120e-01 4.25425578905048e-01 +-1.20000000000000e+02 5.02772291597767e-01 9.66778435881150e-01 4.25813937712634e-01 +-1.17000000000000e+02 4.55110854306949e-01 1.02413683711492e+00 4.26742068306046e-01 +-1.14000000000000e+02 4.06321601225260e-01 1.07796058343428e+00 4.27940761294496e-01 +-1.11000000000000e+02 3.56324447331996e-01 1.12726342722446e+00 4.29138849206620e-01 +-1.08000000000000e+02 3.05202099940212e-01 1.16991892414411e+00 4.28766185827126e-01 +-1.05000000000000e+02 2.53630777602701e-01 1.20757365995296e+00 4.28038926806377e-01 +-1.02000000000000e+02 2.01775203222645e-01 1.24004642439405e+00 4.26919566463027e-01 +-9.90000000000000e+01 1.50017026774914e-01 1.26488760845637e+00 4.24479621532626e-01 +-9.60000000000000e+01 9.89911159737534e-02 1.28255941827578e+00 4.20376786241607e-01 +-9.30000000000000e+01 4.89121180135265e-02 1.29428813067835e+00 4.15754537924904e-01 +-9.00000000000000e+01 -1.91598117064535e-10 1.29999999997763e+00 4.11132507375174e-01 +-8.70000000000000e+01 -4.89121177202670e-02 1.29428813071260e+00 4.01508090603961e-01 +-8.40000000000000e+01 -9.89911158364604e-02 1.28255941831749e+00 3.91883550953242e-01 +-8.10000000000000e+01 -1.50017027180407e-01 1.26488760826175e+00 3.81864391400246e-01 +-7.80000000000000e+01 -2.01775203628138e-01 1.24004642419944e+00 3.70565558746910e-01 +-7.50000000000000e+01 -2.53630777394181e-01 1.20757366008861e+00 3.58229984916492e-01 +-7.20000000000000e+01 -3.05202099700482e-01 1.16991892434040e+00 3.45620431484224e-01 +-6.90000000000000e+01 -3.56324447657839e-01 1.12726342690314e+00 3.32792283814684e-01 +-6.60000000000000e+01 -4.06321600859641e-01 1.07796058379482e+00 3.18996379648570e-01 +-6.30000000000000e+01 -4.55110854240015e-01 1.02413683719200e+00 3.05200475346172e-01 +-6.00000000000000e+01 -5.02772291747289e-01 9.66778435685072e-01 2.91443474634580e-01 +-5.70000000000000e+01 -5.49144417423969e-01 9.05967431688058e-01 2.77723951298752e-01 +-5.40000000000000e+01 -5.93685180006039e-01 8.41422981106036e-01 2.64042658062129e-01 +-5.10000000000000e+01 -6.37224948308194e-01 7.75218301163544e-01 2.50442186797315e-01 +-4.80000000000000e+01 -6.79921931669126e-01 7.07683156853284e-01 2.36948397102024e-01 +-4.50000000000000e+01 -7.22709029017303e-01 6.39190293074436e-01 2.23659831669976e-01 +-4.20000000000000e+01 -7.77883305663545e-01 5.70890075936436e-01 2.10372175973085e-01 +-3.90000000000000e+01 -8.31988499040719e-01 5.03344666614899e-01 1.82278719741678e-01 +-3.60000000000000e+01 -8.85645891139937e-01 4.36890130318880e-01 1.34199560667556e-01 +-3.30000000000000e+01 -9.42878466772988e-01 3.73329255495798e-01 8.32941959034459e-02 +-3.00000000000000e+01 -1.05786690244801e+00 2.82692353238544e-01 5.39955169881017e-02 +-2.93939393939394e+01 -1.08597483468299e+00 2.61873703209547e-01 5.02398204546114e-02 +-2.87878787878788e+01 -1.11385680813317e+00 2.41287928151139e-01 4.64847823409423e-02 +-2.81818181818182e+01 -1.14148232316924e+00 2.20915437539557e-01 4.27306762717803e-02 +-2.75757575757576e+01 -1.15019108961124e+00 2.08391710220108e-01 3.92970921704656e-02 +-2.69696969696970e+01 -1.15074597044615e+00 1.99149796134922e-01 3.60005777829359e-02 +-2.63636363636364e+01 -1.15115199589850e+00 1.90002700867035e-01 3.27041413081158e-02 +-2.57575757575758e+01 -1.15140926246764e+00 1.80865868874737e-01 2.94078227620686e-02 +-2.51515151515151e+01 -1.15151786665162e+00 1.71736516782201e-01 2.61116792069389e-02 +-2.45454545454545e+01 -1.15076886053192e+00 1.62615525552379e-01 2.28157931061067e-02 +-2.39393939393939e+01 -1.14965356989184e+00 1.53643112564907e-01 1.96120713912364e-02 +-2.33333333333333e+01 -1.14784112609211e+00 1.45938741432795e-01 1.72333550834242e-02 +-2.27272727272727e+01 -1.14560868478410e+00 1.38261404302721e-01 1.48523700649740e-02 +-2.21212121212121e+01 -1.14277724115537e+00 1.30629131320925e-01 1.24694108782674e-02 +-2.15151515151515e+01 -1.13904922207853e+00 1.23080569509326e-01 1.00855600514728e-02 +-2.09090909090909e+01 -1.13801425958607e+00 1.15442349153714e-01 7.70628481245708e-03 +-2.03030303030303e+01 -1.13722837131947e+00 1.07602033132244e-01 5.32898340316126e-03 +-1.96969696969697e+01 -1.13612023984365e+00 1.00497192546571e-01 3.51002286844753e-03 +-1.90909090909091e+01 -1.13467306845371e+00 9.40999245842684e-02 2.28207397603067e-03 +-1.84848484848485e+01 -1.13311088553101e+00 8.77042944828543e-02 1.07081970600256e-03 +-1.78787878787879e+01 -1.13098198371501e+00 8.14845452149375e-02 -1.83743976500085e-05 +-1.72727272727273e+01 -1.12689662354896e+00 7.59649534535330e-02 -6.08111720503200e-04 +-1.66666666666667e+01 -1.12279162419351e+00 7.04460746451931e-02 -1.19920309075774e-03 +-1.60606060606061e+01 -1.11867049221497e+00 6.49278062447367e-02 -1.79140758257996e-03 +-1.54545454545455e+01 -1.11549538451854e+00 5.99921678305731e-02 -1.75659819571316e-03 +-1.48484848484848e+01 -1.11242262697519e+00 5.51212346470098e-02 -1.65300947874831e-03 +-1.42424242424242e+01 -1.10934652517191e+00 5.02503035816313e-02 -1.55026716780843e-03 +-1.36363636363636e+01 -1.10395434956753e+00 4.57536426175198e-02 -2.02416266244841e-03 +-1.30303030303030e+01 -1.09701018441175e+00 4.15571727897367e-02 -2.90920062442531e-03 +-1.24242424242424e+01 -1.09005470287483e+00 3.73403261080729e-02 -3.58583373555480e-03 +-1.18181818181818e+01 -1.06997228510418e+00 3.35311505784052e-02 -5.65796154653038e-03 +-1.12121212121212e+01 -1.01846225557839e+00 3.06957659282084e-02 -1.09150062723678e-02 +-1.06060606060606e+01 -9.66911634643601e-01 2.78441121481275e-02 -1.61731317244461e-02 +-1.00000000000000e+01 -9.15462211909940e-01 2.49757822637950e-02 -2.15519756932853e-02 +-9.39393939393939e+00 -8.47459140503488e-01 2.31884336631989e-02 -2.74506279347679e-02 +-8.78787878787879e+00 -7.79452778018718e-01 2.13991554251912e-02 -3.33159005856244e-02 +-8.18181818181818e+00 -7.11431813665139e-01 1.96075519718012e-02 -3.91530318512208e-02 +-7.57575757575758e+00 -6.40857749083169e-01 1.82394328966752e-02 -4.43759928733038e-02 +-6.96969696969697e+00 -5.68017981248413e-01 1.70535144769277e-02 -4.93627084522919e-02 +-6.36363636363636e+00 -4.95177244585374e-01 1.58675315277800e-02 -5.43798590470442e-02 +-5.75757575757576e+00 -4.18003854490652e-01 1.49039074475083e-02 -5.95986537711472e-02 +-5.15151515151515e+00 -3.34330262502657e-01 1.42739286091959e-02 -6.50724649001811e-02 +-4.54545454545454e+00 -2.50652665060454e-01 1.36439680147455e-02 -7.05446712902302e-02 +-3.93939393939394e+00 -1.66723091825090e-01 1.30495829218658e-02 -7.59582411763888e-02 +-3.33333333333333e+00 -8.05596577020013e-02 1.27751740127090e-02 -8.08634741166444e-02 +-2.72727272727273e+00 5.62051492799764e-03 1.25007910222133e-02 -8.57455036705676e-02 +-2.12121212121212e+00 9.18147315530593e-02 1.22264385408280e-02 -9.06553515879711e-02 +-1.51515151515152e+00 1.77156721191222e-01 1.20819125093019e-02 -9.50384530840064e-02 +-9.09090909090912e-01 2.62774337173097e-01 1.19808766099931e-02 -9.91479263987341e-02 +-3.03030303030302e-01 3.47315670525509e-01 1.19424032732625e-02 -1.02888894749133e-01 + 3.03030303030302e-01 4.31199689012420e-01 1.19361347460918e-02 -1.06438581966666e-01 + 9.09090909090912e-01 5.14450818826738e-01 1.19620729848927e-02 -1.09793412136826e-01 + 1.51515151515152e+00 5.96743792950549e-01 1.20313707385465e-02 -1.12875487117463e-01 + 2.12121212121212e+00 6.78644042898903e-01 1.21173464009226e-02 -1.15852555370691e-01 + 2.72727272727273e+00 7.59680724204443e-01 1.22394225311418e-02 -1.18599951761963e-01 + 3.33333333333333e+00 8.40124200124398e-01 1.23871474829405e-02 -1.21209692477393e-01 + 3.93939393939394e+00 9.20082578233511e-01 1.25558535232981e-02 -1.23706712625677e-01 + 4.54545454545455e+00 9.98998812879721e-01 1.27675263558000e-02 -1.25991708503489e-01 + 5.15151515151515e+00 1.07748063690619e+00 1.29960531241272e-02 -1.28192649458492e-01 + 5.75757575757576e+00 1.15501231466920e+00 1.32605818629377e-02 -1.30212011577744e-01 + 6.36363636363637e+00 1.23160871627472e+00 1.35662824620792e-02 -1.32070970406188e-01 + 6.96969696969697e+00 1.30758324599619e+00 1.38996349959152e-02 -1.33822998454139e-01 + 7.57575757575757e+00 1.38159205088566e+00 1.43120454817981e-02 -1.35282878256235e-01 + 8.18181818181818e+00 1.45476013994577e+00 1.47554483026177e-02 -1.36617827073879e-01 + 8.78787878787879e+00 1.52620824619665e+00 1.52612771030411e-02 -1.37697124503754e-01 + 9.39393939393939e+00 1.59531030791573e+00 1.58542504857741e-02 -1.38462749578494e-01 + 1.00000000000000e+01 1.66316647409388e+00 1.64942508103288e-02 -1.39059381189575e-01 + 1.06060606060606e+01 1.72654536033810e+00 1.73272196041879e-02 -1.39111862878528e-01 + 1.12121212121212e+01 1.78805167877737e+00 1.82714322878649e-02 -1.38963088380451e-01 + 1.18181818181818e+01 1.84418141517876e+00 1.94228296228456e-02 -1.38440234559262e-01 + 1.24242424242424e+01 1.89306355205253e+00 2.09617338960584e-02 -1.37516869203761e-01 + 1.30303030303030e+01 1.93804116698105e+00 2.27163066497984e-02 -1.36397626701129e-01 + 1.36363636363636e+01 1.96797963049235e+00 2.54833718227742e-02 -1.34836441274374e-01 + 1.42424242424242e+01 1.99033601089753e+00 2.87395855575319e-02 -1.33185871905770e-01 + 1.48484848484848e+01 2.00308858090474e+00 3.26733164870070e-02 -1.31378659300922e-01 + 1.54545454545455e+01 2.00588460584681e+00 3.79837990873595e-02 -1.29499510314831e-01 + 1.60606060606061e+01 2.00402814771122e+00 4.39074652677943e-02 -1.27608396554106e-01 + 1.66666666666667e+01 1.98845466487533e+00 5.15574396842630e-02 -1.25820918013279e-01 + 1.72727272727273e+01 1.97255314554721e+00 5.92212366952588e-02 -1.24024759468038e-01 + 1.78787878787879e+01 1.95649257635047e+00 6.68966726877233e-02 -1.22219282691004e-01 + 1.84848484848485e+01 1.91383330144394e+00 7.75170220472213e-02 -1.21419866741629e-01 + 1.90909090909091e+01 1.86443374572134e+00 8.88777985379464e-02 -1.20874106347408e-01 + 1.96969696969697e+01 1.81492528111359e+00 1.00245041687900e-01 -1.20318010901870e-01 + 2.03030303030303e+01 1.77131445535524e+00 1.12456304585846e-01 -1.21524602904732e-01 + 2.09090909090909e+01 1.73363094976665e+00 1.25509643877111e-01 -1.24512447790213e-01 + 2.15151515151515e+01 1.69587774879924e+00 1.38567813033213e-01 -1.27502406154702e-01 + 2.21212121212121e+01 1.65804445379929e+00 1.51632225918723e-01 -1.30494716101238e-01 + 2.27272727272727e+01 1.62011848918684e+00 1.64704907916816e-01 -1.33489652706809e-01 + 2.33333333333333e+01 1.58208450132859e+00 1.77788866626607e-01 -1.36487535389521e-01 + 2.39393939393939e+01 1.54392354657590e+00 1.90452522745171e-01 -1.39488737039485e-01 + 2.45454545454545e+01 1.52620076703566e+00 2.02864094367433e-01 -1.43196469764875e-01 + 2.51515151515151e+01 1.51029927818527e+00 2.15247467899911e-01 -1.46983527205237e-01 + 2.57575757575758e+01 1.49324712757045e+00 2.27634892261924e-01 -1.50771738621243e-01 + 2.63636363636364e+01 1.47587215059360e+00 2.40026968290537e-01 -1.54561164521964e-01 + 2.69696969696970e+01 1.45813622441104e+00 2.52424421828382e-01 -1.58351867331149e-01 + 2.75757575757576e+01 1.43999213236737e+00 2.64828138016981e-01 -1.62143911695824e-01 + 2.81818181818182e+01 1.42443488875844e+00 2.77072303496777e-01 -1.65778350088588e-01 + 2.87878787878788e+01 1.41570881784065e+00 2.88954010803586e-01 -1.69037490081216e-01 + 2.93939393939394e+01 1.40654304514756e+00 3.00858203129936e-01 -1.72288371096904e-01 + 3.00000000000000e+01 1.39653038934325e+00 3.12774991659435e-01 -1.75529566303721e-01 + 3.30000000000000e+01 1.33697688750607e+00 3.73329255495798e-01 -1.91899458090094e-01 + 3.60000000000000e+01 1.25641618072161e+00 4.36890130318880e-01 -2.09460110708361e-01 + 3.90000000000000e+01 1.18182819374334e+00 5.03344666614899e-01 -2.26686157006923e-01 + 4.20000000000000e+01 1.10746580541157e+00 5.70890075936436e-01 -2.41173640361210e-01 + 4.50000000000000e+01 1.03244147002472e+00 6.39190293074436e-01 -2.53619316781867e-01 + 4.80000000000000e+01 9.71317045241609e-01 7.07683156853284e-01 -2.66065823288087e-01 + 5.10000000000000e+01 9.10321354725991e-01 7.75218301163544e-01 -2.77835713569167e-01 + 5.40000000000000e+01 8.48121685722913e-01 8.41422981106036e-01 -2.89258639742926e-01 + 5.70000000000000e+01 7.84492024891384e-01 9.05967431688059e-01 -3.00428849708245e-01 + 6.00000000000000e+01 7.18246131067555e-01 9.66778435685072e-01 -3.11542106208542e-01 + 6.30000000000000e+01 6.50158363200021e-01 1.02413683719200e+00 -3.22525528442012e-01 + 6.60000000000000e+01 5.80459429799488e-01 1.07796058379482e+00 -3.33394830755476e-01 + 6.90000000000000e+01 5.09034925225484e-01 1.12726342690314e+00 -3.44264132961566e-01 + 7.20000000000000e+01 4.36002999572117e-01 1.16991892434040e+00 -3.54645619434424e-01 + 7.50000000000000e+01 3.62329681991687e-01 1.20757366008861e+00 -3.64916919365854e-01 + 7.80000000000000e+01 2.88250290897340e-01 1.24004642419944e+00 -3.75050945326224e-01 + 8.10000000000000e+01 2.14310038829152e-01 1.26488760826175e+00 -3.84659170994989e-01 + 8.40000000000000e+01 1.41415879766372e-01 1.28255941831749e+00 -3.93613663321471e-01 + 8.70000000000000e+01 6.98744538860955e-02 1.29428813071260e+00 -4.02373163421054e-01 + 9.00000000000000e+01 2.73711461111938e-10 1.29999999997763e+00 -4.11132507378563e-01 + 9.30000000000000e+01 -4.89121180135263e-02 1.29428813067835e+00 -4.15754537924904e-01 + 9.60000000000000e+01 -9.89911159737537e-02 1.28255941827578e+00 -4.20376786241607e-01 + 9.90000000000000e+01 -1.50017026774914e-01 1.26488760845637e+00 -4.24479621532626e-01 + 1.02000000000000e+02 -2.01775203222645e-01 1.24004642439405e+00 -4.26919566463027e-01 + 1.05000000000000e+02 -2.53630777602702e-01 1.20757365995296e+00 -4.28038926806377e-01 + 1.08000000000000e+02 -3.05202099940212e-01 1.16991892414411e+00 -4.28766185827126e-01 + 1.11000000000000e+02 -3.56324447331997e-01 1.12726342722446e+00 -4.29138849206620e-01 + 1.14000000000000e+02 -4.06321601225260e-01 1.07796058343428e+00 -4.27940761294496e-01 + 1.17000000000000e+02 -4.55110854306949e-01 1.02413683711492e+00 -4.26742068306046e-01 + 1.20000000000000e+02 -5.02772291597768e-01 9.66778435881150e-01 -4.25813937712634e-01 + 1.23000000000000e+02 -5.49144417915775e-01 9.05967431043120e-01 -4.25425578905048e-01 + 1.26000000000000e+02 -5.93685179921264e-01 8.41422981229493e-01 -4.25156789646474e-01 + 1.29000000000000e+02 -6.37224947972431e-01 7.75218301690874e-01 -4.26076567111881e-01 + 1.32000000000000e+02 -6.79921931450650e-01 7.07683157209454e-01 -4.28656090747986e-01 + 1.35000000000000e+02 -7.22709029390855e-01 6.39190292483350e-01 -4.34465120610616e-01 + 1.38000000000000e+02 -7.66494529872369e-01 5.70890075931761e-01 -4.40274150408210e-01 + 1.41000000000000e+02 -8.11442723288845e-01 5.03344666741919e-01 -4.48343503841105e-01 + 1.44000000000000e+02 -8.58187646069172e-01 4.36890129644764e-01 -4.60188058649908e-01 + 1.47000000000000e+02 -9.10803596479025e-01 3.73329255700738e-01 -4.72337064725999e-01 + 1.50000000000000e+02 -8.70302958612649e-01 3.11926861184743e-01 -4.81502275084793e-01 + 1.53000000000000e+02 -7.83272662653351e-01 2.54580430972421e-01 -4.62374826908399e-01 + 1.56000000000000e+02 -6.96242366694054e-01 2.01543928327532e-01 -4.40415599685587e-01 + 1.59000000000000e+02 -6.09212070734756e-01 1.53060046970509e-01 -4.18451304767587e-01 + 1.62000000000000e+02 -5.22181774775459e-01 1.10057531830568e-01 -4.28903022917910e-01 + 1.65000000000000e+02 -4.35151478816161e-01 7.32913187079073e-02 -4.55564389398232e-01 + 1.68000000000000e+02 -3.48121182856863e-01 4.57045968237249e-02 -4.82225755878555e-01 + 1.71000000000000e+02 -2.61090886897565e-01 3.59431233132348e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.74060590938267e-01 3.09661327676359e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -8.70302961217015e-02 2.78846308869368e-02 -1.50000000451309e-01 + 1.80000000000000e+02 0.00000000000000e+00 2.67292776565803e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_21.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_21.dat new file mode 100644 index 0000000..49277ae --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_21.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF21_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF21_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-2.745262 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.216315 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-12.185916 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.939797 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.098688 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.012111 Cd0 ! 2D drag coefficient value at 0-lift. +-0.085554 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 0.00000000000000e+00 2.53290148278653e-02 0.00000000000000e+00 +-1.77000000000000e+02 8.59285016296224e-02 2.64887963195338e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.71857001970632e-01 2.95822545099189e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.57785975776513e-01 3.45790548652335e-02 3.60000658682385e-01 +-1.68000000000000e+02 3.43718370293262e-01 4.48135473403131e-02 4.01518537621734e-01 +-1.65000000000000e+02 4.29642506378457e-01 7.35899942969157e-02 4.03796054806101e-01 +-1.62000000000000e+02 5.15575699559975e-01 1.10462976513880e-01 4.06073812059132e-01 +-1.59000000000000e+02 6.01494773499376e-01 1.53506528775138e-01 4.14889649778594e-01 +-1.56000000000000e+02 6.87430254370626e-01 2.02004255427240e-01 4.36785411909175e-01 +-1.53000000000000e+02 7.73357431312872e-01 2.55038506123634e-01 4.58675668828557e-01 +-1.50000000000000e+02 8.59285013724831e-01 3.12377263500890e-01 4.77796578445001e-01 +-1.47000000000000e+02 8.99662983197418e-01 3.73768930764604e-01 4.69240399243684e-01 +-1.44000000000000e+02 8.48907563285228e-01 4.37316867521388e-01 4.57848023326145e-01 +-1.41000000000000e+02 8.03732568101703e-01 5.03756142981037e-01 4.46802015249323e-01 +-1.38000000000000e+02 7.60238709685215e-01 5.71284780254208e-01 4.39117737109882e-01 +-1.35000000000000e+02 7.17831487371475e-01 6.39566912449030e-01 4.33626764734664e-01 +-1.32000000000000e+02 6.76052044487069e-01 7.08040256215352e-01 4.28135792297970e-01 +-1.29000000000000e+02 6.33943753895283e-01 7.75554592314815e-01 4.25780896199185e-01 +-1.26000000000000e+02 5.90936680621969e-01 8.41737525960438e-01 4.25037729674295e-01 +-1.23000000000000e+02 5.46876198830003e-01 9.06259354630663e-01 4.25451155112158e-01 +-1.20000000000000e+02 5.00913629066164e-01 9.67046585149483e-01 4.25984409831889e-01 +-1.17000000000000e+02 4.53617621957588e-01 1.02438047735885e+00 4.26998712855780e-01 +-1.14000000000000e+02 4.05154489384632e-01 1.07817907828222e+00 4.28252421778584e-01 +-1.11000000000000e+02 3.55440339779474e-01 1.12745611265685e+00 4.29506319571593e-01 +-1.08000000000000e+02 3.04550196014543e-01 1.17008510316125e+00 4.29135153613059e-01 +-1.05000000000000e+02 2.53177902641315e-01 1.20771292082191e+00 4.28396971321226e-01 +-1.02000000000000e+02 2.01488772629270e-01 1.24015839364795e+00 4.27258764218565e-01 +-9.90000000000000e+01 1.49853317839536e-01 1.26497187936921e+00 4.24788978855920e-01 +-9.60000000000000e+01 9.89123262858260e-02 1.28261573901144e+00 4.20642528885619e-01 +-9.30000000000000e+01 4.88878350647790e-02 1.29431634909984e+00 4.15972451238124e-01 +-9.00000000000000e+01 -1.91502996084423e-10 1.29999999997774e+00 4.11302792442988e-01 +-8.70000000000000e+01 -4.88878347716651e-02 1.29431634913391e+00 4.01633118355072e-01 +-8.40000000000000e+01 -9.89123261487306e-02 1.28261573905307e+00 3.91963763400604e-01 +-8.10000000000000e+01 -1.49853318244068e-01 1.26497187917481e+00 3.81898037978135e-01 +-7.80000000000000e+01 -2.01488773033801e-01 1.24015839345356e+00 3.70549335528241e-01 +-7.50000000000000e+01 -2.53177902433493e-01 1.20771292095746e+00 3.58164024488391e-01 +-7.20000000000000e+01 -3.04550195775875e-01 1.17008510335741e+00 3.45501964379209e-01 +-6.90000000000000e+01 -3.55440340103473e-01 1.12745611233570e+00 3.32617464437799e-01 +-6.60000000000000e+01 -4.05154489021084e-01 1.07817907864257e+00 3.18748182844070e-01 +-6.30000000000000e+01 -4.53617621891129e-01 1.02438047743590e+00 3.04878901113331e-01 +-6.00000000000000e+01 -5.00913629214365e-01 9.67046584953482e-01 2.91043105691863e-01 +-5.70000000000000e+01 -5.46876198342541e-01 9.06259355275350e-01 2.77267803933582e-01 +-5.40000000000000e+01 -5.90936680705821e-01 8.41737525837025e-01 2.63523404092418e-01 +-5.10000000000000e+01 -6.33943754226586e-01 7.75554591787649e-01 2.49856921832503e-01 +-4.80000000000000e+01 -6.76052044702056e-01 7.08040255859284e-01 2.36295690037313e-01 +-4.50000000000000e+01 -7.17831487008493e-01 6.39566913039949e-01 2.22938874365388e-01 +-4.20000000000000e+01 -7.64825905846374e-01 5.71284780258881e-01 2.09582204718194e-01 +-3.90000000000000e+01 -8.12011292348548e-01 5.03756142854045e-01 1.81632858820554e-01 +-3.60000000000000e+01 -8.59977318360817e-01 4.37316868195362e-01 1.34086782875459e-01 +-3.30000000000000e+01 -9.12603513348925e-01 3.73768930559703e-01 8.38754096317567e-02 +-3.00000000000000e+01 -1.02536666423133e+00 2.84220552840093e-01 5.46239533719539e-02 +-2.93939393939394e+01 -1.05397723314015e+00 2.63631668014096e-01 5.08208463886256e-02 +-2.87878787878788e+01 -1.08247722990458e+00 2.43145961313371e-01 4.70182267520037e-02 +-2.81818181818182e+01 -1.11084924441566e+00 2.22782796336987e-01 4.32162604024851e-02 +-2.75757575757576e+01 -1.11994095343017e+00 2.10225017577820e-01 3.97453418292768e-02 +-2.69696969696970e+01 -1.12074980606133e+00 2.00969864850017e-01 3.64161906420659e-02 +-2.63636363636364e+01 -1.12148768405137e+00 1.91732390564808e-01 3.30872090403876e-02 +-2.57575757575758e+01 -1.12215460966601e+00 1.82499277815137e-01 2.97584368432183e-02 +-2.51515151515151e+01 -1.12275060517070e+00 1.73270386875530e-01 2.64299267941628e-02 +-2.45454545454545e+01 -1.12298953350238e+00 1.64046214979689e-01 2.31017501086858e-02 +-2.39393939393939e+01 -1.12316446658656e+00 1.54952978877541e-01 1.98639604015487e-02 +-2.33333333333333e+01 -1.12387557701222e+00 1.46999128485114e-01 1.74358564266565e-02 +-2.27272727272727e+01 -1.12434737008048e+00 1.39060536642332e-01 1.50075631219973e-02 +-2.21212121212121e+01 -1.12447784766558e+00 1.31147379936485e-01 1.25792969702137e-02 +-2.15151515151515e+01 -1.12409745063186e+00 1.23281471545723e-01 1.01517223412915e-02 +-2.09090909090909e+01 -1.12487344936277e+00 1.15389705438990e-01 7.72798180017369e-03 +-2.03030303030303e+01 -1.12580754431781e+00 1.07394075338393e-01 5.29779079715756e-03 +-1.96969696969697e+01 -1.12666559506528e+00 1.00143322151517e-01 3.48106111104496e-03 +-1.90909090909091e+01 -1.12744487743537e+00 9.36329633426203e-02 2.29445426155816e-03 +-1.84848484848485e+01 -1.12820550671041e+00 8.71228676586257e-02 1.11052942915776e-03 +-1.78787878787879e+01 -1.12837482109996e+00 8.07963809295877e-02 5.05378165163075e-05 +-1.72727272727273e+01 -1.12622922040516e+00 7.52037894267561e-02 -5.11918942187568e-04 +-1.66666666666667e+01 -1.12408043453704e+00 6.96113124609446e-02 -1.07459323071522e-03 +-1.60606060606061e+01 -1.12192903220651e+00 6.40189335581103e-02 -1.63744634395626e-03 +-1.54545454545455e+01 -1.12043025147823e+00 5.90640826924944e-02 -1.56940951586021e-03 +-1.48484848484848e+01 -1.11900353605756e+00 5.41800632457073e-02 -1.43141658538759e-03 +-1.42424242424242e+01 -1.11757627824956e+00 4.92960441392098e-02 -1.29355963136105e-03 +-1.36363636363636e+01 -1.11304985751660e+00 4.47633860792074e-02 -1.84819096322704e-03 +-1.30303030303030e+01 -1.10645604016500e+00 4.04935725759916e-02 -2.86877336634508e-03 +-1.24242424242424e+01 -1.09986038747109e+00 3.62122578358591e-02 -3.79973473292089e-03 +-1.18181818181818e+01 -1.07914545768419e+00 3.23756311915803e-02 -6.25649460108923e-03 +-1.12121212121212e+01 -1.02504306910807e+00 2.95892713583373e-02 -1.21794088313491e-02 +-1.06060606060606e+01 -9.70970494439360e-01 2.67936013454489e-02 -1.81029330458421e-02 +-1.00000000000000e+01 -9.17068184261665e-01 2.39883624413230e-02 -2.40459545092805e-02 +-9.39393939393939e+00 -8.49062325123216e-01 2.22713873121613e-02 -2.95948112840217e-02 +-8.78787878787879e+00 -7.81061798977495e-01 2.05533040750532e-02 -3.51420565316609e-02 +-8.18181818181818e+00 -7.13067000387395e-01 1.88338821145231e-02 -4.06895034255712e-02 +-7.57575757575758e+00 -6.42337418703490e-01 1.75289978387257e-02 -4.57018598926106e-02 +-6.96969696969697e+00 -5.69761557237093e-01 1.64021794702964e-02 -5.04958818041474e-02 +-6.36363636363636e+00 -4.97185538641706e-01 1.52753217976228e-02 -5.53071253029605e-02 +-5.75757575757576e+00 -4.20162367612616e-01 1.43627925774744e-02 -6.03372935714408e-02 +-5.15151515151515e+00 -3.36468269519932e-01 1.37718125471532e-02 -6.56693742735948e-02 +-4.54545454545454e+00 -2.52773521804412e-01 1.31808281622381e-02 -7.10013620117844e-02 +-3.93939393939394e+00 -1.68876788242453e-01 1.26229769487982e-02 -7.62716593789452e-02 +-3.33333333333333e+00 -8.31676834442266e-02 1.23633677296296e-02 -8.09893054666013e-02 +-2.72727272727273e+00 2.54413608140964e-03 1.21037574005422e-02 -8.56939889781324e-02 +-2.12121212121212e+00 8.82582333262317e-02 1.18441459703247e-02 -9.03904622696173e-02 +-1.51515151515152e+00 1.72994573821203e-01 1.17087011260867e-02 -9.45406229248235e-02 +-9.09090909090912e-01 2.57697924751589e-01 1.16149704184336e-02 -9.84721039602837e-02 +-3.03030303030302e-01 3.41406507145858e-01 1.15817277210265e-02 -1.02060425327419e-01 + 3.03030303030302e-01 4.24520559166891e-01 1.15796672955809e-02 -1.05466003894612e-01 + 9.09090909090912e-01 5.07054062091980e-01 1.16087901662927e-02 -1.08688334330749e-01 + 1.51515151515152e+00 5.88695758854228e-01 1.16803218898812e-02 -1.11656436952127e-01 + 2.12121212121212e+00 6.69972824736783e-01 1.17679794247149e-02 -1.14525903005677e-01 + 2.72727272727273e+00 7.50438530205855e-01 1.18902107756353e-02 -1.17179971773797e-01 + 3.33333333333333e+00 8.30344256209659e-01 1.20371174839412e-02 -1.19704626799820e-01 + 3.93939393939394e+00 9.09791946780198e-01 1.22042089261594e-02 -1.22123378767755e-01 + 4.54545454545455e+00 9.88244304111321e-01 1.24130291750668e-02 -1.24342889451140e-01 + 5.15151515151515e+00 1.06626490679427e+00 1.26393103364785e-02 -1.26480848808752e-01 + 5.75757575757576e+00 1.14332525417412e+00 1.29039378202869e-02 -1.28440595640326e-01 + 6.36363636363637e+00 1.21947691612551e+00 1.32079655031722e-02 -1.30245833804320e-01 + 6.96969696969697e+00 1.29502316766199e+00 1.35383604709355e-02 -1.31948063844256e-01 + 7.57575757575757e+00 1.36864566633701e+00 1.39474611591754e-02 -1.33367413903053e-01 + 8.18181818181818e+00 1.44144169186301e+00 1.43867538034482e-02 -1.34666085120322e-01 + 8.78787878787879e+00 1.51254646343010e+00 1.48867789312186e-02 -1.35717931945243e-01 + 9.39393939393939e+00 1.58135058004135e+00 1.54717217536432e-02 -1.36468349790237e-01 + 1.00000000000000e+01 1.64891719393916e+00 1.61022870311407e-02 -1.37056371203900e-01 + 1.06060606060606e+01 1.71188405715627e+00 1.69178008710017e-02 -1.37099417420720e-01 + 1.12121212121212e+01 1.77268668307923e+00 1.78381673483375e-02 -1.36937776711820e-01 + 1.18181818181818e+01 1.82915985485567e+00 1.89534877390428e-02 -1.36396017615339e-01 + 1.24242424242424e+01 1.87927577802555e+00 2.04120882996679e-02 -1.35438747924492e-01 + 1.30303030303030e+01 1.92589422859975e+00 2.20618488776299e-02 -1.34272051491204e-01 + 1.36363636363636e+01 1.95891931105911e+00 2.45840715222659e-02 -1.32515764870907e-01 + 1.42424242424242e+01 1.98413414193443e+00 2.76378963968287e-02 -1.30615477786026e-01 + 1.48484848484848e+01 1.99847127104052e+00 3.14562088361984e-02 -1.28494286269797e-01 + 1.54545454545455e+01 2.00036737554330e+00 3.66821529055102e-02 -1.26331800968982e-01 + 1.60606060606061e+01 1.99640757112859e+00 4.25674288180976e-02 -1.24191323114805e-01 + 1.66666666666667e+01 1.97616176630422e+00 5.03449203532965e-02 -1.22383188240378e-01 + 1.72727272727273e+01 1.95572904411747e+00 5.81246325098332e-02 -1.20570021089409e-01 + 1.78787878787879e+01 1.93520569426389e+00 6.59062144868689e-02 -1.18751473679104e-01 + 1.84848484848485e+01 1.88895723399904e+00 7.66465679131682e-02 -1.18194594994312e-01 + 1.90909090909091e+01 1.83622586971207e+00 8.81272886120435e-02 -1.17945845172216e-01 + 1.96969696969697e+01 1.78343244842220e+00 9.96090481897948e-02 -1.17683105687241e-01 + 2.03030303030303e+01 1.73745579577392e+00 1.11934352497872e-01 -1.19128697994408e-01 + 2.09090909090909e+01 1.69831282385853e+00 1.25102889226538e-01 -1.22297895119556e-01 + 2.15151515151515e+01 1.65913013905543e+00 1.38272201880513e-01 -1.25467429016409e-01 + 2.21212121212121e+01 1.61990181614298e+00 1.51442517599340e-01 -1.28637337259519e-01 + 2.27272727272727e+01 1.58062068947256e+00 1.64614161763982e-01 -1.31807663122373e-01 + 2.33333333333333e+01 1.54127801044240e+00 1.77787617549921e-01 -1.34978456643234e-01 + 2.39393939393939e+01 1.50186298483623e+00 1.90774587419963e-01 -1.38149775897902e-01 + 2.45454545454545e+01 1.48289433483101e+00 2.03260205359798e-01 -1.41830085953741e-01 + 2.51515151515151e+01 1.46599084981627e+00 2.15689920590889e-01 -1.45567034968088e-01 + 2.57575757575758e+01 1.44859064831393e+00 2.28121922193916e-01 -1.49304122697883e-01 + 2.63636363636364e+01 1.43102308548759e+00 2.40556549293739e-01 -1.53041362496989e-01 + 2.69696969696970e+01 1.41326657022132e+00 2.52994211570946e-01 -1.56778767659347e-01 + 2.75757575757576e+01 1.39529436106084e+00 2.65435408617711e-01 -1.60516351513879e-01 + 2.81818181818182e+01 1.38002464426566e+00 2.77702683418980e-01 -1.64126825222151e-01 + 2.87878787878788e+01 1.37148991307509e+00 2.89569686065625e-01 -1.67437635222567e-01 + 2.93939393939394e+01 1.36282669149422e+00 3.01449379722149e-01 -1.70743780268641e-01 + 3.00000000000000e+01 1.35397099678216e+00 3.13336182936141e-01 -1.74044454978545e-01 + 3.30000000000000e+01 1.29967046929788e+00 3.73768930559704e-01 -1.90700265619798e-01 + 3.60000000000000e+01 1.22498014937336e+00 4.37316868195362e-01 -2.08294856129892e-01 + 3.90000000000000e+01 1.15729538052780e+00 5.03756142854045e-01 -2.25558091676943e-01 + 4.20000000000000e+01 1.09107397781016e+00 5.71284780258881e-01 -2.40118935023649e-01 + 4.50000000000000e+01 1.02547355286927e+00 6.39566913039949e-01 -2.52665340500846e-01 + 4.80000000000000e+01 9.65788635288652e-01 7.08040255859284e-01 -2.65211879214501e-01 + 5.10000000000000e+01 9.05633934609408e-01 7.75554591787650e-01 -2.77079875917141e-01 + 5.40000000000000e+01 8.44195258151173e-01 8.41737525837025e-01 -2.88599272090876e-01 + 5.70000000000000e+01 7.81251711917915e-01 9.06259355275350e-01 -2.99863464744672e-01 + 6.00000000000000e+01 7.15590898877664e-01 9.67046584953482e-01 -3.11060545248734e-01 + 6.30000000000000e+01 6.48025174130184e-01 1.02438047743590e+00 -3.22109250564688e-01 + 6.60000000000000e+01 5.78792127172977e-01 1.07817907864257e+00 -3.33075863744307e-01 + 6.90000000000000e+01 5.07771914433532e-01 1.12745611233570e+00 -3.44042476815592e-01 + 7.20000000000000e+01 4.35071708251250e-01 1.17008510335741e+00 -3.54493844861366e-01 + 7.50000000000000e+01 3.61682717762133e-01 1.20771292095746e+00 -3.64828830713439e-01 + 7.80000000000000e+01 2.87841104334002e-01 1.24015839345356e+00 -3.75022134636243e-01 + 8.10000000000000e+01 2.14076168920097e-01 1.26497187917481e+00 -3.84685472006914e-01 + 8.40000000000000e+01 1.41303323069615e-01 1.28261573905307e+00 -3.93689790834858e-01 + 8.70000000000000e+01 6.98397639595214e-02 1.29431634913391e+00 -4.02496114232726e-01 + 9.00000000000000e+01 2.73575576047623e-10 1.29999999997774e+00 -4.11302792446369e-01 + 9.30000000000000e+01 -4.88878350647788e-02 1.29431634909984e+00 -4.15972451238124e-01 + 9.60000000000000e+01 -9.89123262858264e-02 1.28261573901144e+00 -4.20642528885619e-01 + 9.90000000000000e+01 -1.49853317839536e-01 1.26497187936921e+00 -4.24788978855920e-01 + 1.02000000000000e+02 -2.01488772629270e-01 1.24015839364795e+00 -4.27258764218565e-01 + 1.05000000000000e+02 -2.53177902641316e-01 1.20771292082191e+00 -4.28396971321226e-01 + 1.08000000000000e+02 -3.04550196014543e-01 1.17008510316125e+00 -4.29135153613059e-01 + 1.11000000000000e+02 -3.55440339779475e-01 1.12745611265685e+00 -4.29506319571593e-01 + 1.14000000000000e+02 -4.05154489384633e-01 1.07817907828222e+00 -4.28252421778584e-01 + 1.17000000000000e+02 -4.53617621957587e-01 1.02438047735885e+00 -4.26998712855780e-01 + 1.20000000000000e+02 -5.00913629066165e-01 9.67046585149482e-01 -4.25984409831889e-01 + 1.23000000000000e+02 -5.46876198830003e-01 9.06259354630663e-01 -4.25451155112158e-01 + 1.26000000000000e+02 -5.90936680621969e-01 8.41737525960439e-01 -4.25037729674295e-01 + 1.29000000000000e+02 -6.33943753895283e-01 7.75554592314814e-01 -4.25780896199185e-01 + 1.32000000000000e+02 -6.76052044487069e-01 7.08040256215352e-01 -4.28135792297970e-01 + 1.35000000000000e+02 -7.17831487371475e-01 6.39566912449030e-01 -4.33626764734664e-01 + 1.38000000000000e+02 -7.60238709685215e-01 5.71284780254207e-01 -4.39117737109882e-01 + 1.41000000000000e+02 -8.03732568101703e-01 5.03756142981036e-01 -4.46802015249324e-01 + 1.44000000000000e+02 -8.48907563285228e-01 4.37316867521388e-01 -4.57848023326145e-01 + 1.47000000000000e+02 -8.99662983197418e-01 3.73768930764604e-01 -4.69240399243684e-01 + 1.50000000000000e+02 -8.59285013724830e-01 3.12377263500889e-01 -4.77796578445001e-01 + 1.53000000000000e+02 -7.73356512255555e-01 2.55037924598855e-01 -4.58675434713530e-01 + 1.56000000000000e+02 -6.87428010786281e-01 2.02002927315853e-01 -4.36784840303748e-01 + 1.59000000000000e+02 -6.01499509317006e-01 1.53509120528393e-01 -4.14890856525278e-01 + 1.62000000000000e+02 -5.15571007847732e-01 1.10460877825550e-01 -4.26073687832196e-01 + 1.65000000000000e+02 -4.29642506378457e-01 7.35899942969158e-02 -4.53796054972627e-01 + 1.68000000000000e+02 -3.43714004909182e-01 4.48122817484830e-02 -4.81518422113059e-01 + 1.71000000000000e+02 -2.57785503439907e-01 3.45790250029335e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.71857001970632e-01 2.95822545099189e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -8.59285016296224e-02 2.64887963195338e-02 -1.50000000451309e-01 + 1.80000000000000e+02 0.00000000000000e+00 2.53290148278653e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_22.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_22.dat new file mode 100644 index 0000000..462efd3 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_22.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF22_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF22_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-2.742390 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.276918 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-12.259467 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.933694 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.092399 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.011709 Cd0 ! 2D drag coefficient value at 0-lift. +-0.085588 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 0.00000000000000e+00 2.37292686734004e-02 0.00000000000000e+00 +-1.77000000000000e+02 8.49936298136054e-02 2.48987295678470e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.69987258352618e-01 2.80183350118432e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.54981355205371e-01 3.30584331138338e-02 3.60000658682385e-01 +-1.68000000000000e+02 3.39978835552862e-01 4.38108098032693e-02 4.00904092109033e-01 +-1.65000000000000e+02 4.24968147317625e-01 7.36252475033420e-02 4.02260058062793e-01 +-1.62000000000000e+02 5.09966417640695e-01 1.10828350852066e-01 4.03616166946290e-01 +-1.59000000000000e+02 5.94950722334026e-01 1.54058024542576e-01 4.11817807589674e-01 +-1.56000000000000e+02 6.79951255457569e-01 2.02658772588130e-01 4.33718662971506e-01 +-1.53000000000000e+02 7.64943574995930e-01 2.55774218527145e-01 4.55620946448392e-01 +-1.50000000000000e+02 8.49936295592636e-01 3.13187230369266e-01 4.74826376716512e-01 +-1.47000000000000e+02 8.90389347795744e-01 3.74651139694067e-01 4.67044138024366e-01 +-1.44000000000000e+02 8.41793088493149e-01 4.38269704373915e-01 4.56621592959844e-01 +-1.41000000000000e+02 7.98480601899488e-01 5.04779689504453e-01 4.46565472994524e-01 +-1.38000000000000e+02 7.56775424298498e-01 5.72378027076139e-01 4.39033857928533e-01 +-1.35000000000000e+02 7.16161578729814e-01 6.40728906574764e-01 4.33640354158611e-01 +-1.32000000000000e+02 6.75458234013295e-01 7.09269398321126e-01 4.28253989857852e-01 +-1.29000000000000e+02 6.33534333069746e-01 7.76848101892183e-01 4.25977762352862e-01 +-1.26000000000000e+02 5.90661330208311e-01 8.43092577589914e-01 4.25299540746088e-01 +-1.23000000000000e+02 5.46720831878273e-01 9.07672830458602e-01 4.25806583316805e-01 +-1.20000000000000e+02 5.00851274263000e-01 9.68512554865792e-01 4.26592216269180e-01 +-1.17000000000000e+02 4.53630815338125e-01 1.02589380096384e+00 4.27750668312150e-01 +-1.14000000000000e+02 4.05227505326638e-01 1.07973463345736e+00 4.29097228904520e-01 +-1.11000000000000e+02 3.55555847101131e-01 1.12904754060181e+00 4.30443408725323e-01 +-1.08000000000000e+02 3.04688070270675e-01 1.17170338240508e+00 4.30081622304902e-01 +-1.05000000000000e+02 2.53325343633819e-01 1.20935136873227e+00 4.29334025997205e-01 +-1.02000000000000e+02 2.01633389613402e-01 1.24181014783305e+00 4.28174105716991e-01 +-9.90000000000000e+01 1.49979062831838e-01 1.26662700662187e+00 4.25664346696222e-01 +-9.60000000000000e+01 9.90061223844910e-02 1.28426503855553e+00 4.21454612384495e-01 +-9.30000000000000e+01 4.89396027434380e-02 1.29595224566127e+00 4.16713232906302e-01 +-9.00000000000000e+01 -1.91705780092593e-10 1.30161486433545e+00 4.11971323207300e-01 +-8.70000000000000e+01 -4.89396024500137e-02 1.29595224569522e+00 4.02220917997600e-01 +-8.40000000000000e+01 -9.90061222472981e-02 1.28426503859714e+00 3.92470043656973e-01 +-8.10000000000000e+01 -1.49979063236517e-01 1.26662700642745e+00 3.82316966679742e-01 +-7.80000000000000e+01 -2.01633390018082e-01 1.24181014763863e+00 3.70893315745055e-01 +-7.50000000000000e+01 -2.53325343425996e-01 1.20935136886787e+00 3.58480759302814e-01 +-7.20000000000000e+01 -3.04688070032101e-01 1.17170338260137e+00 3.45790206249120e-01 +-6.90000000000000e+01 -3.55555847424852e-01 1.12904754028042e+00 3.32875672149633e-01 +-6.60000000000000e+01 -4.05227504963400e-01 1.07973463381797e+00 3.18969529669383e-01 +-6.30000000000000e+01 -4.53630815271758e-01 1.02589380104095e+00 3.05063387316932e-01 +-6.00000000000000e+01 -5.00851274410900e-01 9.68512554669621e-01 2.91189071394453e-01 +-5.70000000000000e+01 -5.46720831391795e-01 9.07672831103847e-01 2.77378407877631e-01 +-5.40000000000000e+01 -5.90661330291933e-01 8.43092577466389e-01 2.63596676979653e-01 +-5.10000000000000e+01 -6.33534333399977e-01 7.76848101364520e-01 2.49892616563385e-01 +-4.80000000000000e+01 -6.75458234227013e-01 7.09269397964710e-01 2.36293999185848e-01 +-4.50000000000000e+01 -7.16161578380787e-01 6.40728907166265e-01 2.22900551368498e-01 +-4.20000000000000e+01 -7.55138125855737e-01 5.72378027080817e-01 2.09507105112705e-01 +-3.90000000000000e+01 -7.95524344365342e-01 5.04779689377328e-01 1.81565822094215e-01 +-3.60000000000000e+01 -8.37837859960484e-01 4.38269705048624e-01 1.34110142591067e-01 +-3.30000000000000e+01 -8.85761818482980e-01 3.74651139488934e-01 8.45397869048649e-02 +-3.00000000000000e+01 -9.99486260628020e-01 2.85852839688919e-01 5.52440548688402e-02 +-2.93939393939394e+01 -1.02921483424397e+00 2.65243549704256e-01 5.13845941401581e-02 +-2.87878787878788e+01 -1.05902373240969e+00 2.44543325159268e-01 4.75247949735901e-02 +-2.81818181818182e+01 -1.08892830537720e+00 2.23721631750814e-01 4.36647056261985e-02 +-2.75757575757576e+01 -1.09804210302469e+00 2.11012746064098e-01 4.01642656685579e-02 +-2.69696969696970e+01 -1.09821456400531e+00 2.01827628793661e-01 3.68190627744209e-02 +-2.63636363636364e+01 -1.09841769992788e+00 1.92638438034125e-01 3.34769605358478e-02 +-2.57575757575758e+01 -1.09871722890152e+00 1.83437478149823e-01 3.01279031695998e-02 +-2.51515151515151e+01 -1.09906613465890e+00 1.74232328855853e-01 2.67777268930061e-02 +-2.45454545454545e+01 -1.09956676135802e+00 1.65022496734545e-01 2.34271455637570e-02 +-2.39393939393939e+01 -1.10025315891919e+00 1.55925107854627e-01 2.01635401109176e-02 +-2.33333333333333e+01 -1.10207485847230e+00 1.47878446091285e-01 1.76869884925564e-02 +-2.27272727272727e+01 -1.10413610924475e+00 1.39816642880450e-01 1.52101939254934e-02 +-2.21212121212121e+01 -1.10653900903532e+00 1.31729599735330e-01 1.27329217536691e-02 +-2.15151515151515e+01 -1.10945328267355e+00 1.23595670883599e-01 1.02544916344582e-02 +-2.09090909090909e+01 -1.11136062608624e+00 1.15477630371947e-01 7.77176271481967e-03 +-2.03030303030303e+01 -1.11310327795010e+00 1.07458628343906e-01 5.29842142846333e-03 +-1.96969696969697e+01 -1.11478210221560e+00 1.00188202340772e-01 3.47729211749329e-03 +-1.90909090909091e+01 -1.11639709887313e+00 9.36663524754547e-02 2.29488333586445e-03 +-1.84848484848485e+01 -1.11801209553065e+00 8.71445026101376e-02 1.11292860049967e-03 +-1.78787878787879e+01 -1.11903638824424e+00 8.08060875006495e-02 5.45837620215551e-05 +-1.72727272727273e+01 -1.11769786468091e+00 7.52014115701092e-02 -5.08565899292937e-04 +-1.66666666666667e+01 -1.11635934111757e+00 6.95967356395689e-02 -1.07246104673623e-03 +-1.60606060606061e+01 -1.11502081755424e+00 6.39920597090287e-02 -1.63701073908562e-03 +-1.54545454545455e+01 -1.11473485306635e+00 5.90011007465272e-02 -1.56342737378395e-03 +-1.48484848484848e+01 -1.11456583962605e+00 5.40783325811085e-02 -1.41902663330937e-03 +-1.42424242424242e+01 -1.11456384351411e+00 4.91555644156898e-02 -1.27473014915042e-03 +-1.36363636363636e+01 -1.11111613046078e+00 4.45292091498665e-02 -1.84053495459895e-03 +-1.30303030303030e+01 -1.10533717193151e+00 4.00681991131952e-02 -2.87970001596785e-03 +-1.24242424242424e+01 -1.09950321609697e+00 3.56200567063696e-02 -3.99674116662233e-03 +-1.18181818181818e+01 -1.07921948187246e+00 3.16496771688113e-02 -6.63757785069153e-03 +-1.12121212121212e+01 -1.02579932818538e+00 2.87815418815804e-02 -1.29572613932597e-02 +-1.06060606060606e+01 -9.72329564686078e-01 2.59226956814290e-02 -1.92665507069260e-02 +-1.00000000000000e+01 -9.18566689532394e-01 2.30734067471230e-02 -2.55756962683636e-02 +-9.39393939393939e+00 -8.50442659555601e-01 2.14036779406535e-02 -3.10650919780876e-02 +-8.78787878787879e+00 -7.82242104693202e-01 1.97370231390731e-02 -3.65275750917598e-02 +-8.18181818181818e+00 -7.14025461868233e-01 1.80685134388396e-02 -4.19814983401018e-02 +-7.57575757575758e+00 -6.42282160960236e-01 1.68177846673514e-02 -4.69294368601041e-02 +-6.96969696969697e+00 -5.69765060276401e-01 1.57462721861675e-02 -5.16471561014623e-02 +-6.36363636363636e+00 -4.97228589732966e-01 1.46747868396717e-02 -5.63479635788382e-02 +-5.75757575757576e+00 -4.20230608785823e-01 1.38112378764161e-02 -6.12296308434241e-02 +-5.15151515151515e+00 -3.36552171874881e-01 1.32595571878655e-02 -6.64086154457161e-02 +-4.54545454545454e+00 -2.52873087415031e-01 1.27078865156160e-02 -7.15876493237063e-02 +-3.93939393939394e+00 -1.69004314481532e-01 1.21871910706135e-02 -7.66986889703548e-02 +-3.33333333333333e+00 -8.34355346601854e-02 1.19451677661122e-02 -8.11932781400969e-02 +-2.72727272727273e+00 2.13440423059909e-03 1.17031511366115e-02 -8.57006362550257e-02 +-2.12121212121212e+00 8.77075447620897e-02 1.14611421030105e-02 -9.02222642179451e-02 +-1.51515151515152e+00 1.72078722912625e-01 1.13362979650590e-02 -9.41531997861554e-02 +-9.09090909090912e-01 2.55582683217718e-01 1.12509959555129e-02 -9.78911377615757e-02 +-3.03030303030302e-01 3.38283128234412e-01 1.12237761960563e-02 -1.01308438619503e-01 + 3.03030303030302e-01 4.20523461310270e-01 1.12265727810052e-02 -1.04556185155306e-01 + 9.09090909090912e-01 5.02270279832675e-01 1.12593848103256e-02 -1.07634313547563e-01 + 1.51515151515152e+00 5.83196658481640e-01 1.13337729038605e-02 -1.10477115528942e-01 + 2.12121212121212e+00 6.63794247538829e-01 1.14238904845556e-02 -1.13228367157422e-01 + 2.72727272727273e+00 7.43639834906605e-01 1.15475694333528e-02 -1.15779476422154e-01 + 3.33333333333333e+00 8.22961018578142e-01 1.16949833628892e-02 -1.18209798161472e-01 + 3.93939393939394e+00 9.01853030103435e-01 1.18618211597191e-02 -1.20541299620756e-01 + 4.54545454545455e+00 9.79790185357115e-01 1.20696161556042e-02 -1.22685013890924e-01 + 5.15151515151515e+00 1.05728745200372e+00 1.22970439190387e-02 -1.24749547367856e-01 + 5.75757575757576e+00 1.13378063969017e+00 1.25698286564437e-02 -1.26639076013684e-01 + 6.36363636363637e+00 1.20943052843520e+00 1.28772203516923e-02 -1.28382561447261e-01 + 6.96969696969697e+00 1.28451783186443e+00 1.32075934298245e-02 -1.30028687646237e-01 + 7.57575757575757e+00 1.35775131317421e+00 1.36147078607055e-02 -1.31404037591767e-01 + 8.18181818181818e+00 1.43017564569396e+00 1.40519537179133e-02 -1.32663192853318e-01 + 8.78787878787879e+00 1.50093840919134e+00 1.45500699824626e-02 -1.33684444292797e-01 + 9.39393939393939e+00 1.56945322574800e+00 1.51321247729658e-02 -1.34414301567559e-01 + 1.00000000000000e+01 1.63675966319096e+00 1.57595332825673e-02 -1.34987353789377e-01 + 1.06060606060606e+01 1.69950193678743e+00 1.65674389470293e-02 -1.35017177021887e-01 + 1.12121212121212e+01 1.76005845164542e+00 1.74768883480205e-02 -1.34837508250731e-01 + 1.18181818181818e+01 1.81655905811627e+00 1.85747969390458e-02 -1.34268688744240e-01 + 1.24242424242424e+01 1.86703312922173e+00 2.00039636093582e-02 -1.33257729289385e-01 + 1.30303030303030e+01 1.91436406791487e+00 2.16178273273192e-02 -1.32023372037947e-01 + 1.36363636363636e+01 1.94956375825254e+00 2.40114971350290e-02 -1.30142715984264e-01 + 1.42424242424242e+01 1.97709773889101e+00 2.70887231973026e-02 -1.28012381051418e-01 + 1.48484848484848e+01 1.99222322852533e+00 3.12083270110828e-02 -1.25503255769416e-01 + 1.54545454545455e+01 1.99301566602994e+00 3.64825712843715e-02 -1.23116024786788e-01 + 1.60606060606061e+01 1.98665811508681e+00 4.23795687903762e-02 -1.20833950168101e-01 + 1.66666666666667e+01 1.96068556826310e+00 5.02409019835959e-02 -1.19100928825616e-01 + 1.72727272727273e+01 1.93490012145819e+00 5.81022351768156e-02 -1.17372335276478e-01 + 1.78787878787879e+01 1.90920539088187e+00 6.59635683700353e-02 -1.15648461229852e-01 + 1.84848484848485e+01 1.85945508083111e+00 7.67624907418554e-02 -1.15396008887035e-01 + 1.90909090909091e+01 1.80374255542165e+00 8.82958102525543e-02 -1.15519473966247e-01 + 1.96969696969697e+01 1.74809214765747e+00 9.98291297632532e-02 -1.15656405816792e-01 + 2.03030303030303e+01 1.70035171495016e+00 1.12181364518280e-01 -1.17377564194684e-01 + 2.09090909090909e+01 1.66050432645962e+00 1.25352514394116e-01 -1.20669210754193e-01 + 2.15151515151515e+01 1.62069668966438e+00 1.38523664269953e-01 -1.23960806473463e-01 + 2.21212121212121e+01 1.58093473557624e+00 1.51694814145789e-01 -1.27252344393510e-01 + 2.27272727272727e+01 1.54122563684614e+00 1.64865964021626e-01 -1.30543816291313e-01 + 2.33333333333333e+01 1.50157815062501e+00 1.78037113897462e-01 -1.33835212417228e-01 + 2.39393939393939e+01 1.46200308167726e+00 1.91373284401457e-01 -1.37126521194605e-01 + 2.45454545454545e+01 1.44295998322734e+00 2.03918713535414e-01 -1.40782033049843e-01 + 2.51515151515151e+01 1.42632760857601e+00 2.16376513729184e-01 -1.44477736352303e-01 + 2.57575757575758e+01 1.40994386794540e+00 2.28832045097843e-01 -1.48173071058991e-01 + 2.63636363636364e+01 1.39375105872556e+00 2.41284971119151e-01 -1.51867944757723e-01 + 2.69696969696970e+01 1.37784517992979e+00 2.53708747237986e-01 -1.55562240364756e-01 + 2.75757575757576e+01 1.36200937066260e+00 2.66139421060860e-01 -1.59255806285732e-01 + 2.81818181818182e+01 1.34815971386595e+00 2.78426340631654e-01 -1.62869089777625e-01 + 2.87878787878788e+01 1.33873947893882e+00 2.90353035740961e-01 -1.66299519347188e-01 + 2.93939393939394e+01 1.32938098548013e+00 3.02267247818840e-01 -1.69734578372117e-01 + 3.00000000000000e+01 1.32008191157246e+00 3.14174459360906e-01 -1.73175065270248e-01 + 3.30000000000000e+01 1.26681972589800e+00 3.74651139488934e-01 -1.90501096546496e-01 + 3.60000000000000e+01 1.19818180685312e+00 4.38269705048624e-01 -2.08117546308212e-01 + 3.90000000000000e+01 1.13743460379733e+00 5.04779689377328e-01 -2.25403860092870e-01 + 4.20000000000000e+01 1.07931647981375e+00 5.72378027080818e-01 -2.40000144547381e-01 + 4.50000000000000e+01 1.02308796911541e+00 6.40728907166265e-01 -2.52591294916865e-01 + 4.80000000000000e+01 9.64940334610018e-01 7.09269397964710e-01 -2.65182450668650e-01 + 5.10000000000000e+01 9.05049047714253e-01 7.76848101364520e-01 -2.77094784275721e-01 + 5.40000000000000e+01 8.43801900417047e-01 8.43092577466389e-01 -2.88658249268164e-01 + 5.70000000000000e+01 7.81029759131135e-01 9.07672831103847e-01 -2.99966020031340e-01 + 6.00000000000000e+01 7.15501820586999e-01 9.68512554669622e-01 -3.11203793923077e-01 + 6.30000000000000e+01 6.48044021816797e-01 1.02589380104095e+00 -3.22287574776847e-01 + 6.60000000000000e+01 5.78896435661999e-01 1.07973463381797e+00 -3.33294359176937e-01 + 6.90000000000000e+01 5.07936924892646e-01 1.12904754028042e+00 -3.44301143586634e-01 + 7.20000000000000e+01 4.35268671474430e-01 1.17170338260137e+00 -3.54783466462093e-01 + 7.50000000000000e+01 3.61893347751423e-01 1.20935136886787e+00 -3.65147326029743e-01 + 7.80000000000000e+01 2.88047700025830e-01 1.24181014763863e+00 -3.75367952269025e-01 + 8.10000000000000e+01 2.14255804623596e-01 1.26662700642745e+00 -3.85095221786311e-01 + 8.40000000000000e+01 1.41437317496140e-01 1.28426503859714e+00 -3.94191518163844e-01 + 8.70000000000000e+01 6.99137177857337e-02 1.29595224569522e+00 -4.03081683694991e-01 + 9.00000000000000e+01 2.73865267365972e-10 1.30161486433545e+00 -4.11971323210672e-01 + 9.30000000000000e+01 -4.89396027434378e-02 1.29595224566127e+00 -4.16713232906302e-01 + 9.60000000000000e+01 -9.90061223844913e-02 1.28426503855553e+00 -4.21454612384495e-01 + 9.90000000000000e+01 -1.49979062831838e-01 1.26662700662187e+00 -4.25664346696222e-01 + 1.02000000000000e+02 -2.01633389613402e-01 1.24181014783305e+00 -4.28174105716991e-01 + 1.05000000000000e+02 -2.53325343633819e-01 1.20935136873227e+00 -4.29334025997205e-01 + 1.08000000000000e+02 -3.04688070270675e-01 1.17170338240508e+00 -4.30081622304902e-01 + 1.11000000000000e+02 -3.55555847101131e-01 1.12904754060181e+00 -4.30443408725323e-01 + 1.14000000000000e+02 -4.05227505326638e-01 1.07973463345736e+00 -4.29097228904520e-01 + 1.17000000000000e+02 -4.53630815338125e-01 1.02589380096384e+00 -4.27750668312150e-01 + 1.20000000000000e+02 -5.00851274263000e-01 9.68512554865791e-01 -4.26592216269180e-01 + 1.23000000000000e+02 -5.46720831878273e-01 9.07672830458602e-01 -4.25806583316805e-01 + 1.26000000000000e+02 -5.90661330208310e-01 8.43092577589915e-01 -4.25299540746088e-01 + 1.29000000000000e+02 -6.33534333069747e-01 7.76848101892183e-01 -4.25977762352862e-01 + 1.32000000000000e+02 -6.75458234013296e-01 7.09269398321125e-01 -4.28253989857852e-01 + 1.35000000000000e+02 -7.16161578729814e-01 6.40728906574764e-01 -4.33640354158611e-01 + 1.38000000000000e+02 -7.56775424298498e-01 5.72378027076139e-01 -4.39033857928533e-01 + 1.41000000000000e+02 -7.98480601899489e-01 5.04779689504453e-01 -4.46565472994524e-01 + 1.44000000000000e+02 -8.41793088493149e-01 4.38269704373915e-01 -4.56621592959844e-01 + 1.47000000000000e+02 -8.90389347795744e-01 3.74651139694067e-01 -4.67044138024366e-01 + 1.50000000000000e+02 -8.49936295592636e-01 3.13187230369265e-01 -4.74826376716512e-01 + 1.53000000000000e+02 -7.64942665937633e-01 2.55773636196689e-01 -4.55620712167781e-01 + 1.56000000000000e+02 -6.79949036282631e-01 2.02657442175556e-01 -4.33718091142434e-01 + 1.59000000000000e+02 -5.94955406627629e-01 1.54060623364808e-01 -4.11819014425376e-01 + 1.62000000000000e+02 -5.09961776972627e-01 1.10826236616640e-01 -4.23616093038780e-01 + 1.65000000000000e+02 -4.24968147317625e-01 7.36252475033421e-02 -4.52260058229319e-01 + 1.68000000000000e+02 -3.39974517662622e-01 4.38094533565637e-02 -4.80904023419858e-01 + 1.71000000000000e+02 -2.54980888007620e-01 3.30584029888216e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.69987258352618e-01 2.80183350118432e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -8.49936298136054e-02 2.48987295678470e-02 -1.50000000451309e-01 + 1.80000000000000e+02 0.00000000000000e+00 2.37292686734004e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_23.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_23.dat new file mode 100644 index 0000000..8798949 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_23.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF23_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF23_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-2.748252 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.266378 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-12.323019 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.914723 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.083708 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.011299 Cd0 ! 2D drag coefficient value at 0-lift. +-0.085673 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 0.00000000000000e+00 2.17374823223351e-02 0.00000000000000e+00 +-1.77000000000000e+02 8.41747344001992e-02 2.29238945183467e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.68349467538086e-01 2.60887478369178e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.52524664477610e-01 3.12019975702988e-02 3.60000658682385e-01 +-1.68000000000000e+02 3.36703212312626e-01 4.26579497376834e-02 4.00324043887906e-01 +-1.65000000000000e+02 4.20873670267459e-01 7.34900656639557e-02 4.00810047996484e-01 +-1.62000000000000e+02 5.05053000466808e-01 1.11219395546152e-01 4.01296103333812e-01 +-1.59000000000000e+02 5.89218499592269e-01 1.54958667347762e-01 4.08943297147208e-01 +-1.56000000000000e+02 6.73400070790493e-01 2.04087144053953e-01 4.30922791470545e-01 +-1.53000000000000e+02 7.57573507539670e-01 2.57765877416810e-01 4.52906806353953e-01 +-1.50000000000000e+02 8.41747341483080e-01 3.15782318594389e-01 4.72265382542585e-01 +-1.47000000000000e+02 8.82389962897012e-01 3.77889846455304e-01 4.65332910226478e-01 +-1.44000000000000e+02 8.36028151242537e-01 4.42173333076003e-01 4.55871409955839e-01 +-1.41000000000000e+02 7.94565209742694e-01 5.09378442919534e-01 4.46793335362831e-01 +-1.38000000000000e+02 7.54535846440025e-01 5.77683420858199e-01 4.39935895142098e-01 +-1.35000000000000e+02 7.15450543657043e-01 6.46749236308985e-01 4.34903683948856e-01 +-1.32000000000000e+02 6.75902756772911e-01 7.16007675542096e-01 4.29928039081901e-01 +-1.29000000000000e+02 6.34654654178195e-01 7.84295671783056e-01 4.27980016801946e-01 +-1.26000000000000e+02 5.92158783707781e-01 8.51236710829680e-01 4.27584876340051e-01 +-1.23000000000000e+02 5.48544085047219e-01 9.16497470489910e-01 4.28359152768957e-01 +-1.20000000000000e+02 5.02875201052636e-01 9.77981048042839e-01 4.29465532573822e-01 +-1.17000000000000e+02 4.55772721532554e-01 1.03597188647757e+00 4.30840244393938e-01 +-1.14000000000000e+02 4.07412592034292e-01 1.09038713828330e+00 4.32352369926417e-01 +-1.11000000000000e+02 3.57701543511310e-01 1.14022936816186e+00 4.33863859838403e-01 +-1.08000000000000e+02 3.06699588422698e-01 1.18334797466168e+00 4.33567669408048e-01 +-1.05000000000000e+02 2.55143583939434e-01 1.22140851194287e+00 4.32863147080755e-01 +-1.02000000000000e+02 2.03201800219027e-01 1.25422776095442e+00 4.31730256778700e-01 +-9.90000000000000e+01 1.51226491328113e-01 1.27932826791147e+00 4.29217176523803e-01 +-9.60000000000000e+01 9.98775604018197e-02 1.29717762947833e+00 4.24965721478662e-01 +-9.30000000000000e+01 4.93943919230776e-02 1.30901614475637e+00 4.20170258453173e-01 +-9.00000000000000e+01 -1.93487277153472e-10 1.31476926475817e+00 4.15373790781742e-01 +-8.70000000000000e+01 -4.93943916269266e-02 1.30901614479086e+00 4.05486879915762e-01 +-8.40000000000000e+01 -9.98775602635641e-02 1.29717762952045e+00 3.95599074198731e-01 +-8.10000000000000e+01 -1.51226491735307e-01 1.27932826771482e+00 3.85300097207813e-01 +-7.80000000000000e+01 -2.03201800626221e-01 1.25422776075777e+00 3.73717017673326e-01 +-7.50000000000000e+01 -2.55143583730654e-01 1.22140851207997e+00 3.61152801214846e-01 +-7.20000000000000e+01 -3.06699588183450e-01 1.18334797486010e+00 3.48304294051421e-01 +-6.90000000000000e+01 -3.57701543835287e-01 1.14022936783702e+00 3.35224620927386e-01 +-6.60000000000000e+01 -4.07412591670765e-01 1.09038713864779e+00 3.21121506304482e-01 +-6.30000000000000e+01 -4.55772721466293e-01 1.03597188655550e+00 3.07018393643207e-01 +-6.00000000000000e+01 -5.02875201199884e-01 9.77981047844593e-01 2.92941144385646e-01 +-5.70000000000000e+01 -5.48544084562848e-01 9.16497471141984e-01 2.78915617587947e-01 +-5.40000000000000e+01 -5.92158783790785e-01 8.51236710704852e-01 2.64913600334460e-01 +-5.10000000000000e+01 -6.34654654505576e-01 7.84295671249852e-01 2.50991642998395e-01 +-4.80000000000000e+01 -6.75902756981343e-01 7.16007675181948e-01 2.37178809990731e-01 +-4.50000000000000e+01 -7.15450543319032e-01 6.46749236906683e-01 2.23578312516846e-01 +-4.20000000000000e+01 -7.47212635581480e-01 5.77683420862925e-01 2.09977828450924e-01 +-3.90000000000000e+01 -7.81339084463047e-01 5.09378442791081e-01 1.81914783656029e-01 +-3.60000000000000e+01 -8.18326029572499e-01 4.42173333757758e-01 1.34468735712643e-01 +-3.30000000000000e+01 -8.61666730686327e-01 3.77889846248025e-01 8.51899048793404e-02 +-3.00000000000000e+01 -9.77407521152394e-01 2.87914590838491e-01 5.57859323521460e-02 +-2.93939393939394e+01 -1.00833410460803e+00 2.66900014337564e-01 5.18750253229907e-02 +-2.87878787878788e+01 -1.03944585629858e+00 2.45712427750349e-01 4.79646131853606e-02 +-2.81818181818182e+01 -1.07075983951806e+00 2.24297296610500e-01 4.40560937024066e-02 +-2.75757575757576e+01 -1.07977248176135e+00 2.11454069401785e-01 4.05458911189005e-02 +-2.69696969696970e+01 -1.07893714083999e+00 2.02411192469744e-01 3.72146035915721e-02 +-2.63636363636364e+01 -1.07807768904072e+00 1.93356399828069e-01 3.39091900068658e-02 +-2.57575757575758e+01 -1.07771870176597e+00 1.84230942280158e-01 3.05502565021514e-02 +-2.51515151515151e+01 -1.07748500137268e+00 1.75097432934217e-01 2.71844060836673e-02 +-2.45454545454545e+01 -1.07783441570723e+00 1.65954923470620e-01 2.38177771778947e-02 +-2.39393939393939e+01 -1.07852305933399e+00 1.56913596568514e-01 2.05340252077774e-02 +-2.33333333333333e+01 -1.08041322073537e+00 1.48857364241138e-01 1.80043737847340e-02 +-2.27272727272727e+01 -1.08276745332554e+00 1.40772030945667e-01 1.54742554286299e-02 +-2.21212121212121e+01 -1.08578354631627e+00 1.32638187986721e-01 1.29432191443736e-02 +-2.15151515151515e+01 -1.08979029955101e+00 1.24414233467909e-01 1.04099573536080e-02 +-2.09090909090909e+01 -1.09184637472999e+00 1.16220815400643e-01 7.86843352223120e-03 +-2.03030303030303e+01 -1.09358340080095e+00 1.08217743451423e-01 5.34495216775592e-03 +-1.96969696969697e+01 -1.09501527477011e+00 1.00983885638365e-01 3.48679820177673e-03 +-1.90909090909091e+01 -1.09614199659143e+00 9.45192420774911e-02 2.28208291510966e-03 +-1.84848484848485e+01 -1.09726871841275e+00 8.80545985166175e-02 1.08096502999919e-03 +-1.78787878787879e+01 -1.09785715259451e+00 8.17623562171409e-02 -2.02416817873374e-06 +-1.72727272727273e+01 -1.09629243576131e+00 7.61597191095228e-02 -6.06512824423597e-04 +-1.66666666666667e+01 -1.09472771892811e+00 7.05570820019048e-02 -1.21690795578454e-03 +-1.60606060606061e+01 -1.09316300209491e+00 6.49544448942867e-02 -1.83248903635476e-03 +-1.54545454545455e+01 -1.09613374489892e+00 5.97088835266201e-02 -1.75797095851090e-03 +-1.48484848484848e+01 -1.09960842783154e+00 5.45029972544688e-02 -1.60745909592056e-03 +-1.42424242424242e+01 -1.10441692860740e+00 4.92971109823175e-02 -1.45777325451322e-03 +-1.36363636363636e+01 -1.10435506998046e+00 4.44638442227785e-02 -2.00737777442865e-03 +-1.30303030303030e+01 -1.10077397380585e+00 3.97937043169987e-02 -3.02285380389433e-03 +-1.24242424242424e+01 -1.09675366340232e+00 3.51570244283776e-02 -4.18800750620713e-03 +-1.18181818181818e+01 -1.07768544701530e+00 3.10174492290005e-02 -6.93153298195293e-03 +-1.12121212121212e+01 -1.02548576509049e+00 2.80136918402233e-02 -1.36474411178956e-02 +-1.06060606060606e+01 -9.73197953819101e-01 2.50277875283641e-02 -2.02846283874192e-02 +-1.00000000000000e+01 -9.19871497017031e-01 2.20602517171776e-02 -2.69215393736470e-02 +-9.39393939393939e+00 -8.51948034333580e-01 2.04638176587585e-02 -3.24442958437105e-02 +-8.78787878787879e+00 -7.83463094843020e-01 1.88850948575064e-02 -3.77850487070902e-02 +-8.18181818181818e+00 -7.14918196286913e-01 1.72836412694766e-02 -4.30972945318580e-02 +-7.57575757575758e+00 -6.41938143272311e-01 1.60892927584378e-02 -4.80462615837937e-02 +-6.96969696969697e+00 -5.68849639934256e-01 1.50731845776213e-02 -5.27890340238474e-02 +-6.36363636363636e+00 -4.95606446872630e-01 1.40570504984526e-02 -5.75004720859420e-02 +-5.75757575757576e+00 -4.18175638343572e-01 1.32424463596794e-02 -6.23143503352012e-02 +-5.15151515151515e+00 -3.34557721870050e-01 1.27301767253877e-02 -6.73311759382631e-02 +-4.54545454545454e+00 -2.50934634003256e-01 1.22179258029979e-02 -7.23497641378391e-02 +-3.93939393939394e+00 -1.67163196087245e-01 1.17347370223171e-02 -7.72955710687187e-02 +-3.33333333333333e+00 -8.21140238590517e-02 1.15129096428989e-02 -8.15460695778501e-02 +-2.72727272727273e+00 2.94440481882872e-03 1.12910912484760e-02 -8.58208614979761e-02 +-2.12121212121212e+00 8.80284021340677e-02 1.10692830695728e-02 -9.01031663114491e-02 +-1.51515151515152e+00 1.71837087080499e-01 1.09565425847383e-02 -9.38175069230607e-02 +-9.09090909090912e-01 2.54159509620519e-01 1.08808683063141e-02 -9.73501629109806e-02 +-3.03030303030302e-01 3.35814192276218e-01 1.08607098789239e-02 -1.00585821949666e-01 + 3.03030303030302e-01 4.17257272770955e-01 1.08692236701319e-02 -1.03667153907187e-01 + 9.09090909090912e-01 4.98306799612079e-01 1.09064084584037e-02 -1.06594228716144e-01 + 1.51515151515152e+00 5.78569740443125e-01 1.09847601805516e-02 -1.09304585948093e-01 + 2.12121212121212e+00 6.58523972825206e-01 1.10785933920551e-02 -1.11930657572403e-01 + 2.72727272727273e+00 7.37777889192087e-01 1.12052820470056e-02 -1.14372503341276e-01 + 3.33333333333333e+00 8.16537189579830e-01 1.13545599102188e-02 -1.16702533940529e-01 + 3.93939393939394e+00 8.94891640979103e-01 1.15223250189201e-02 -1.18941091948091e-01 + 4.54545454545455e+00 9.72326335266859e-01 1.17303555711818e-02 -1.21001628443248e-01 + 5.15151515151515e+00 1.04929528111209e+00 1.19621597462993e-02 -1.22984164838735e-01 + 5.75757575757576e+00 1.12517153473230e+00 1.22520049332423e-02 -1.24791930327236e-01 + 6.36363636363637e+00 1.20030485398258e+00 1.25668477175964e-02 -1.26465070704497e-01 + 6.96969696969697e+00 1.27494075675984e+00 1.28982067564619e-02 -1.28048458099034e-01 + 7.57575757575757e+00 1.34780321826962e+00 1.33033042040786e-02 -1.29374113946798e-01 + 8.18181818181818e+00 1.41987667115941e+00 1.37381098898506e-02 -1.30588105116977e-01 + 8.78787878787879e+00 1.49032467656013e+00 1.42329122261789e-02 -1.31573107315432e-01 + 9.39393939393939e+00 1.55855460503253e+00 1.48121494880681e-02 -1.32274151573409e-01 + 1.00000000000000e+01 1.62559386142883e+00 1.54370974192526e-02 -1.32822471614532e-01 + 1.06060606060606e+01 1.68810293481442e+00 1.62414351444013e-02 -1.32828428677163e-01 + 1.12121212121212e+01 1.74842177498541e+00 1.71457652515713e-02 -1.32616395554703e-01 + 1.18181818181818e+01 1.80468145357437e+00 1.82359353294943e-02 -1.31999323670151e-01 + 1.24242424242424e+01 1.85483034725291e+00 1.96591314533621e-02 -1.30897273257466e-01 + 1.30303030303030e+01 1.90192286643216e+00 2.12644138143197e-02 -1.29552794349175e-01 + 1.36363636363636e+01 1.93791171055420e+00 2.35669242691620e-02 -1.27561205361536e-01 + 1.42424242424242e+01 1.96399277805599e+00 2.67445700485666e-02 -1.25110374634167e-01 + 1.48484848484848e+01 1.97260659727113e+00 3.11711168059341e-02 -1.21926192953706e-01 + 1.54545454545455e+01 1.96993707646395e+00 3.65832289377197e-02 -1.19279411294282e-01 + 1.60606060606061e+01 1.95993082890044e+00 4.26178543878324e-02 -1.16925479434429e-01 + 1.66666666666667e+01 1.92629165586910e+00 5.09556815109061e-02 -1.15436602431698e-01 + 1.72727272727273e+01 1.89301494280933e+00 5.92935086339800e-02 -1.13952524249452e-01 + 1.78787878787879e+01 1.85991396998648e+00 6.76313357570538e-02 -1.12473512876535e-01 + 1.84848484848485e+01 1.80747077851874e+00 7.87288258488874e-02 -1.12698543694746e-01 + 1.90909090909091e+01 1.75029214720194e+00 9.05162315365745e-02 -1.13349928239477e-01 + 1.96969696969697e+01 1.69323385344622e+00 1.02303637224262e-01 -1.14005376128086e-01 + 2.03030303030303e+01 1.64558948120989e+00 1.14722057041261e-01 -1.16030797716261e-01 + 2.09090909090909e+01 1.60732623207263e+00 1.27771490892394e-01 -1.19419657964518e-01 + 2.15151515151515e+01 1.56913999200487e+00 1.40820924743527e-01 -1.22808092414555e-01 + 2.21212121212121e+01 1.53104225087380e+00 1.53870358594661e-01 -1.26196040294270e-01 + 2.27272727272727e+01 1.49304690391506e+00 1.66919792445794e-01 -1.29583428810528e-01 + 2.33333333333333e+01 1.45517091594085e+00 1.79969226296927e-01 -1.32970170088901e-01 + 2.39393939393939e+01 1.41743521850760e+00 1.93335820052193e-01 -1.36356157177718e-01 + 2.45454545454545e+01 1.40010847052569e+00 2.05790666886378e-01 -1.39981805765396e-01 + 2.51515151515151e+01 1.38541103497444e+00 2.18144652849035e-01 -1.43631504964390e-01 + 2.57575757575758e+01 1.37154955577862e+00 2.30494278263784e-01 -1.47277895265856e-01 + 2.63636363636364e+01 1.35839046020086e+00 2.42838896354751e-01 -1.50920274731784e-01 + 2.69696969696970e+01 1.34656944420628e+00 2.54970634663723e-01 -1.54557742892402e-01 + 2.75757575757576e+01 1.33419462056143e+00 2.67178072887505e-01 -1.58189123168826e-01 + 2.81818181818182e+01 1.32218661471809e+00 2.79450203847558e-01 -1.61796882673802e-01 + 2.87878787878788e+01 1.31172633192914e+00 2.91709841252515e-01 -1.65369471778570e-01 + 2.93939393939394e+01 1.30141322226534e+00 3.03946150609218e-01 -1.68950952141423e-01 + 3.00000000000000e+01 1.29124453612096e+00 3.16169332161231e-01 -1.72542853460426e-01 + 3.30000000000000e+01 1.23741036513722e+00 3.77889846248025e-01 -1.90504903971589e-01 + 3.60000000000000e+01 1.17471440374457e+00 4.42173333757758e-01 -2.08256506356818e-01 + 3.90000000000000e+01 1.12053937058065e+00 5.09378442791082e-01 -2.25683692470012e-01 + 4.20000000000000e+01 1.06989489453617e+00 5.77683420862926e-01 -2.40471458547195e-01 + 4.50000000000000e+01 1.02207220474147e+00 6.46749236906683e-01 -2.53291887563755e-01 + 4.80000000000000e+01 9.65575367116204e-01 7.16007675181948e-01 -2.66112360197556e-01 + 5.10000000000000e+01 9.06649506436537e-01 7.84295671249852e-01 -2.78254052268372e-01 + 5.40000000000000e+01 8.45941119701121e-01 8.51236710704852e-01 -2.90046894756985e-01 + 5.70000000000000e+01 7.83634406518354e-01 9.16497471141985e-01 -3.01583606256017e-01 + 6.00000000000000e+01 7.18393144571262e-01 9.77981047844593e-01 -3.13041343864963e-01 + 6.30000000000000e+01 6.51103887808990e-01 1.03597188655550e+00 -3.24325336574272e-01 + 6.60000000000000e+01 5.82017988101093e-01 1.09038713864779e+00 -3.35522457664241e-01 + 6.90000000000000e+01 5.11002205478981e-01 1.14022936783703e+00 -3.46719579581186e-01 + 7.20000000000000e+01 4.38142268833500e-01 1.18334797486010e+00 -3.57355547912326e-01 + 7.50000000000000e+01 3.64490833900934e-01 1.22140851207997e+00 -3.67864769781012e-01 + 7.80000000000000e+01 2.90288286608887e-01 1.25422776075777e+00 -3.78224289560480e-01 + 8.10000000000000e+01 2.16037845336153e-01 1.27932826771482e+00 -3.88095119866251e-01 + 8.40000000000000e+01 1.42682228947948e-01 1.29717762952045e+00 -3.97331903982810e-01 + 8.70000000000000e+01 7.05634166098949e-02 1.30901614479086e+00 -4.06353349450853e-01 + 9.00000000000000e+01 2.76410259497282e-10 1.31476926475817e+00 -4.15373790785137e-01 + 9.30000000000000e+01 -4.93943919230774e-02 1.30901614475637e+00 -4.20170258453173e-01 + 9.60000000000000e+01 -9.98775604018200e-02 1.29717762947833e+00 -4.24965721478662e-01 + 9.90000000000000e+01 -1.51226491328113e-01 1.27932826791147e+00 -4.29217176523803e-01 + 1.02000000000000e+02 -2.03201800219026e-01 1.25422776095442e+00 -4.31730256778700e-01 + 1.05000000000000e+02 -2.55143583939434e-01 1.22140851194287e+00 -4.32863147080755e-01 + 1.08000000000000e+02 -3.06699588422698e-01 1.18334797466168e+00 -4.33567669408048e-01 + 1.11000000000000e+02 -3.57701543511311e-01 1.14022936816186e+00 -4.33863859838403e-01 + 1.14000000000000e+02 -4.07412592034293e-01 1.09038713828330e+00 -4.32352369926417e-01 + 1.17000000000000e+02 -4.55772721532554e-01 1.03597188647757e+00 -4.30840244393938e-01 + 1.20000000000000e+02 -5.02875201052636e-01 9.77981048042839e-01 -4.29465532573822e-01 + 1.23000000000000e+02 -5.48544085047219e-01 9.16497470489911e-01 -4.28359152768957e-01 + 1.26000000000000e+02 -5.92158783707781e-01 8.51236710829680e-01 -4.27584876340051e-01 + 1.29000000000000e+02 -6.34654654178196e-01 7.84295671783056e-01 -4.27980016801946e-01 + 1.32000000000000e+02 -6.75902756772912e-01 7.16007675542096e-01 -4.29928039081901e-01 + 1.35000000000000e+02 -7.15450543657043e-01 6.46749236308985e-01 -4.34903683948856e-01 + 1.38000000000000e+02 -7.54535846440026e-01 5.77683420858198e-01 -4.39935895142098e-01 + 1.41000000000000e+02 -7.94565209742694e-01 5.09378442919534e-01 -4.46793335362832e-01 + 1.44000000000000e+02 -8.36028151242537e-01 4.42173333076003e-01 -4.55871409955839e-01 + 1.47000000000000e+02 -8.82389962897012e-01 3.77889846455304e-01 -4.65332910226478e-01 + 1.50000000000000e+02 -8.41747341483079e-01 3.15782318594388e-01 -4.72265382542585e-01 + 1.53000000000000e+02 -7.57572607239955e-01 2.57765288946874e-01 -4.52906571182753e-01 + 1.56000000000000e+02 -6.73397872996831e-01 2.04085799419455e-01 -4.30922217547708e-01 + 1.59000000000000e+02 -5.89223138753706e-01 1.54961295068555e-01 -4.08944508230340e-01 + 1.62000000000000e+02 -5.05048404510583e-01 1.11217253802650e-01 -4.21296076928795e-01 + 1.65000000000000e+02 -4.20873670267459e-01 7.34900656639558e-02 -4.50810048163011e-01 + 1.68000000000000e+02 -3.36698936024334e-01 4.26565148972725e-02 -4.80324019397226e-01 + 1.71000000000000e+02 -2.52524201781210e-01 3.12019670082145e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.68349467538086e-01 2.60887478369178e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -8.41747344001992e-02 2.29238945183467e-02 -1.50000000451309e-01 + 1.80000000000000e+02 0.00000000000000e+00 2.17374823223351e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_24.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_24.dat new file mode 100644 index 0000000..6d8c7b1 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_24.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF24_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF24_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-2.759322 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.205973 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-12.389308 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.893044 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.075639 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.010886 Cd0 ! 2D drag coefficient value at 0-lift. +-0.085802 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 0.00000000000000e+00 1.95526618668160e-02 0.00000000000000e+00 +-1.77000000000000e+02 8.34202287583727e-02 2.07619796786829e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.66840456265748e-01 2.39877342602867e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.50261143417445e-01 2.91986663441868e-02 3.60000658682385e-01 +-1.68000000000000e+02 3.33685151428666e-01 4.14325283032430e-02 3.99743635075898e-01 +-1.65000000000000e+02 4.17101142073865e-01 7.32413862627541e-02 3.99359136521660e-01 +-1.62000000000000e+02 5.00525925436647e-01 1.11627526615246e-01 3.98974597438176e-01 +-1.59000000000000e+02 5.83937001701260e-01 1.56146855781060e-01 4.06085502140405e-01 +-1.56000000000000e+02 6.67364005975579e-01 2.06174153896314e-01 4.28196213239901e-01 +-1.53000000000000e+02 7.50782948714508e-01 2.60841689712847e-01 4.50310076935450e-01 +-1.50000000000000e+02 8.34202285087393e-01 3.19930416883033e-01 4.69867792353141e-01 +-1.47000000000000e+02 8.75099940069844e-01 3.83188743761014e-01 4.63832226277259e-01 +-1.44000000000000e+02 8.31000205902903e-01 4.48665202355299e-01 4.55301255227529e-01 +-1.41000000000000e+02 7.91333633761781e-01 5.17120617689233e-01 4.47159931248660e-01 +-1.38000000000000e+02 7.52829736800921e-01 5.86698801471564e-01 4.41410930203654e-01 +-1.35000000000000e+02 7.14980618552918e-01 6.57054532560924e-01 4.37067951595485e-01 +-1.32000000000000e+02 6.76617926267737e-01 7.27610176288623e-01 4.32841257379458e-01 +-1.29000000000000e+02 6.36510020466442e-01 7.97181660277416e-01 4.31487188327612e-01 +-1.26000000000000e+02 5.94734379500562e-01 8.65384777799569e-01 4.31603059788718e-01 +-1.23000000000000e+02 5.51721331528379e-01 9.31880170427009e-01 4.32818405981051e-01 +-1.20000000000000e+02 5.06423828584873e-01 9.94534561275003e-01 4.34290488227459e-01 +-1.17000000000000e+02 4.59542623947041e-01 1.05363617134045e+00 4.35939207014553e-01 +-1.14000000000000e+02 4.11268801306274e-01 1.10910040363282e+00 4.37678932761354e-01 +-1.11000000000000e+02 3.61495551358292e-01 1.15991218460764e+00 4.39418281583165e-01 +-1.08000000000000e+02 3.10261159064317e-01 1.20388275842685e+00 4.39240195894324e-01 +-1.05000000000000e+02 2.58366581509799e-01 1.24270643604662e+00 4.38629020733930e-01 +-1.02000000000000e+02 2.05984690074173e-01 1.27619662826639e+00 4.37570813350906e-01 +-9.90000000000000e+01 1.53441512536115e-01 1.30183189915821e+00 4.35092357890125e-01 +-9.60000000000000e+01 1.01425859546441e-01 1.32008768392162e+00 4.30825118302771e-01 +-9.30000000000000e+01 5.02028521364513e-02 1.33222604674926e+00 4.25998256525452e-01 +-9.00000000000000e+01 -1.96654171748003e-10 1.33817100053280e+00 4.21170577316279e-01 +-8.70000000000000e+01 -5.02028518354531e-02 1.33222604678491e+00 4.11104959934319e-01 +-8.40000000000000e+01 -1.01425859406300e-01 1.32008768396473e+00 4.01038604681777e-01 +-8.10000000000000e+01 -1.53441512947757e-01 1.30183189895738e+00 3.90550035571139e-01 +-7.80000000000000e+01 -2.05984690485816e-01 1.27619662806556e+00 3.78736830135484e-01 +-7.50000000000000e+01 -2.58366581299335e-01 1.24270643618651e+00 3.65903993830983e-01 +-7.20000000000000e+01 -3.10261158823898e-01 1.20388275862920e+00 3.52775590251676e-01 +-6.90000000000000e+01 -3.61495551682673e-01 1.15991218427649e+00 3.39403123131017e-01 +-6.60000000000000e+01 -4.11268800942290e-01 1.10910040400440e+00 3.24950085338026e-01 +-6.30000000000000e+01 -4.59542623880982e-01 1.05363617141988e+00 3.10497051721211e-01 +-6.00000000000000e+01 -5.06423828730917e-01 9.94534561072981e-01 2.96059091041452e-01 +-5.70000000000000e+01 -5.51721331047924e-01 9.31880171091500e-01 2.81651267185401e-01 +-5.40000000000000e+01 -5.94734379582414e-01 8.65384777672382e-01 2.67257140769164e-01 +-5.10000000000000e+01 -6.36510020787997e-01 7.97181659734181e-01 2.52947255059035e-01 +-4.80000000000000e+01 -6.76617926467663e-01 7.27610175921729e-01 2.38752956747303e-01 +-4.50000000000000e+01 -7.14980618222955e-01 6.57054533169817e-01 2.24783573303687e-01 +-4.20000000000000e+01 -7.40322831061028e-01 5.86698801476379e-01 2.10814217579666e-01 +-3.90000000000000e+01 -7.68743550250921e-01 5.17120617558389e-01 1.82547015200994e-01 +-3.60000000000000e+01 -8.00759956528308e-01 4.48665203049708e-01 1.35138311729573e-01 +-3.30000000000000e+01 -8.39686645510617e-01 3.83188743549889e-01 8.58500210206458e-02 +-3.00000000000000e+01 -9.57802176215886e-01 2.90355152381776e-01 5.62803999161049e-02 +-2.93939393939394e+01 -9.89895621800148e-01 2.68636379109098e-01 5.23178716162345e-02 +-2.87878787878788e+01 -1.02219048144211e+00 2.46775693611549e-01 4.83576008158326e-02 +-2.81818181818182e+01 -1.05468055999971e+00 2.24734151022492e-01 4.44028573739143e-02 +-2.75757575757576e+01 -1.06359177336017e+00 2.11782563227238e-01 4.08896872990507e-02 +-2.69696969696970e+01 -1.06177842203526e+00 2.02891612489261e-01 3.75824327251557e-02 +-2.63636363636364e+01 -1.05980611588569e+00 1.93984115047651e-01 3.43288781288582e-02 +-2.57575757575758e+01 -1.05876067286832e+00 1.84940167227477e-01 3.09659207662162e-02 +-2.51515151515151e+01 -1.05786563983126e+00 1.75889482995180e-01 2.75895048296746e-02 +-2.45454545454545e+01 -1.05790125690222e+00 1.66831268953831e-01 2.42124375837997e-02 +-2.39393939393939e+01 -1.05834919084821e+00 1.57870455571328e-01 2.09143044907597e-02 +-2.33333333333333e+01 -1.05971397196436e+00 1.49848536888395e-01 1.83334460183055e-02 +-2.27272727272727e+01 -1.06146988583755e+00 1.41802271331194e-01 1.57521968935374e-02 +-2.21212121212121e+01 -1.06378363499443e+00 1.33715420915317e-01 1.31701797983967e-02 +-2.15151515151515e+01 -1.06693234154986e+00 1.25553180058438e-01 1.05863007677015e-02 +-2.09090909090909e+01 -1.06843695964539e+00 1.17416487050827e-01 7.99550942868354e-03 +-2.03030303030303e+01 -1.06967267383079e+00 1.09439044174982e-01 5.41981304854070e-03 +-1.96969696969697e+01 -1.07021067144904e+00 1.02264019016625e-01 3.50209204522500e-03 +-1.90909090909091e+01 -1.07005095239489e+00 9.58914116967863e-02 2.25499935239024e-03 +-1.84848484848485e+01 -1.06989123334075e+00 8.95188043769480e-02 1.01530189695250e-03 +-1.78787878787879e+01 -1.06928182248280e+00 8.33008471044948e-02 -1.15006937890661e-04 +-1.72727272727273e+01 -1.06687364402810e+00 7.77014901527917e-02 -7.95456308236171e-04 +-1.66666666666667e+01 -1.06446546557339e+00 7.21021332010886e-02 -1.48804771637640e-03 +-1.60606060606061e+01 -1.06205728711869e+00 6.65027762493855e-02 -2.19129996538418e-03 +-1.54545454545455e+01 -1.06984950643902e+00 6.08475983445578e-02 -2.11760384465786e-03 +-1.48484848484848e+01 -1.07877510366980e+00 5.51862181095262e-02 -1.95898605465945e-03 +-1.42424242424242e+01 -1.09046295439131e+00 4.95248378744946e-02 -1.80206632995823e-03 +-1.36363636363636e+01 -1.09526416654006e+00 4.44170945462461e-02 -2.32206119936066e-03 +-1.30303030303030e+01 -1.09491030546259e+00 3.95696231332499e-02 -3.29267033544680e-03 +-1.24242424242424e+01 -1.09364685913466e+00 3.47641952874823e-02 -4.38851210413164e-03 +-1.18181818181818e+01 -1.07648578526447e+00 3.04620986463004e-02 -7.18488201467075e-03 +-1.12121212121212e+01 -1.02528925096658e+00 2.73142843595709e-02 -1.42758595689516e-02 +-1.06060606060606e+01 -9.74031373465609e-01 2.41814065731537e-02 -2.12064275734282e-02 +-1.00000000000000e+01 -9.21134701907540e-01 2.10638965083506e-02 -2.81367644297641e-02 +-9.39393939393939e+00 -8.53495083005357e-01 1.95385433458662e-02 -3.37143808946777e-02 +-8.78787878787879e+00 -7.84712212261045e-01 1.80470054921577e-02 -3.89300405932204e-02 +-8.18181818181818e+00 -7.15832120991001e-01 1.65056026741939e-02 -4.41024468443499e-02 +-7.57575757575758e+00 -6.41670491351778e-01 1.53632078284918e-02 -4.90953201280567e-02 +-6.96969696969697e+00 -5.67345143450005e-01 1.44005128047222e-02 -5.39290656533660e-02 +-6.36363636363636e+00 -4.92699442787116e-01 1.34376704914974e-02 -5.87384773337151e-02 +-5.75757575757576e+00 -4.14431650686661e-01 1.26704051975197e-02 -6.35448309970005e-02 +-5.15151515151515e+00 -3.30926042795942e-01 1.21967146000242e-02 -6.83866474399513e-02 +-4.54545454545454e+00 -2.47409725272580e-01 1.17230387902849e-02 -7.32326230276675e-02 +-3.93939393939394e+00 -1.63820593771546e-01 1.12767061207295e-02 -7.80020748920406e-02 +-3.33333333333333e+00 -7.96950418709322e-02 1.10763022339290e-02 -8.19982172817726e-02 +-2.72727272727273e+00 4.44967955915686e-03 1.08758996773736e-02 -8.60142856239769e-02 +-2.12121212121212e+00 8.86473520411112e-02 1.06754986124071e-02 -9.00045893904893e-02 +-1.51515151515152e+00 1.71649421338772e-01 1.05756167997378e-02 -9.35025501111019e-02 +-9.09090909090912e-01 2.52992430413700e-01 1.05102025057222e-02 -9.68257900641276e-02 +-3.03030303030302e-01 3.33720975337250e-01 1.04976882174925e-02 -9.98774991793156e-02 + 3.03030303030302e-01 4.14481738000177e-01 1.05124160660171e-02 -1.02790622715614e-01 + 9.09090909090912e-01 4.94931264126173e-01 1.05543858473995e-02 -1.05565529163254e-01 + 1.51515151515152e+00 5.74603502008985e-01 1.06374181751525e-02 -1.08141553805353e-01 + 2.12121212121212e+00 6.53974019481800e-01 1.07358079962699e-02 -1.10640364976277e-01 + 2.72727272727273e+00 7.32685458558475e-01 1.08666414407707e-02 -1.12970727596481e-01 + 3.33333333333333e+00 8.10924739193352e-01 1.10188991043969e-02 -1.15198019094770e-01 + 3.93939393939394e+00 8.88777666014884e-01 1.11886848989429e-02 -1.17340992158989e-01 + 4.54545454545455e+00 9.65738798139410e-01 1.13982942716850e-02 -1.19314055478382e-01 + 5.15151515151515e+00 1.04219964654155e+00 1.16367651901645e-02 -1.21209465625245e-01 + 5.75757575757576e+00 1.11746037595214e+00 1.19485498998795e-02 -1.22928460948912e-01 + 6.36363636363637e+00 1.19208394565610e+00 1.22736203072552e-02 -1.24525177591861e-01 + 6.96969696969697e+00 1.26627871358918e+00 1.26074619971107e-02 -1.26040359015054e-01 + 7.57575757575757e+00 1.33877792150034e+00 1.30116353888271e-02 -1.27310492912803e-01 + 8.18181818181818e+00 1.41050362544413e+00 1.34452100544493e-02 -1.28472892903114e-01 + 8.78787878787879e+00 1.48063107166512e+00 1.39381341216990e-02 -1.29413900682935e-01 + 9.39393939393939e+00 1.54855248315569e+00 1.45166622456553e-02 -1.30076751722553e-01 + 1.00000000000000e+01 1.61528863914906e+00 1.51414031912844e-02 -1.30589949262514e-01 + 1.06060606060606e+01 1.67749412643627e+00 1.59462211960211e-02 -1.30561347954824e-01 + 1.12121212121212e+01 1.73746654186461e+00 1.68501353228114e-02 -1.30304527213343e-01 + 1.18181818181818e+01 1.79330201089540e+00 1.79388046949482e-02 -1.29623672715698e-01 + 1.24242424242424e+01 1.84270714580487e+00 1.93666432560831e-02 -1.28407966889332e-01 + 1.30303030303030e+01 1.88891833207242e+00 2.09739381048131e-02 -1.26929052001916e-01 + 1.36363636363636e+01 1.92459043040037e+00 2.32044014176999e-02 -1.24834906984392e-01 + 1.42424242424242e+01 1.94635091667309e+00 2.64901143681100e-02 -1.22021041285589e-01 + 1.48484848484848e+01 1.94368134020562e+00 3.11499105584684e-02 -1.18031984570330e-01 + 1.54545454545455e+01 1.93585337089804e+00 3.67451717888745e-02 -1.15128958060241e-01 + 1.60606060606061e+01 1.92149216398124e+00 4.30012196636715e-02 -1.12755941080767e-01 + 1.66666666666667e+01 1.87941833647519e+00 5.21056530306990e-02 -1.11605436511770e-01 + 1.72727272727273e+01 1.83765000082346e+00 6.12100863977265e-02 -1.10452973672772e-01 + 1.78787878787879e+01 1.79602978417815e+00 7.03145197647540e-02 -1.09298305733649e-01 + 1.84848484848485e+01 1.74176223952521e+00 8.18923598968819e-02 -1.10090543316403e-01 + 1.90909090909091e+01 1.68441724236538e+00 9.40885515891278e-02 -1.11345407708753e-01 + 1.96969696969697e+01 1.62717366921803e+00 1.06284743281374e-01 -1.12568553644062e-01 + 2.03030303030303e+01 1.58102215846647e+00 1.18809644794330e-01 -1.14903497064265e-01 + 2.09090909090909e+01 1.54593506616749e+00 1.31663256078416e-01 -1.18376749975157e-01 + 2.15151515151515e+01 1.51091287936231e+00 1.44516867362501e-01 -1.21849118588917e-01 + 2.21212121212121e+01 1.47596528204672e+00 1.57370478646587e-01 -1.25320475774792e-01 + 2.27272727272727e+01 1.44110398553129e+00 1.70224089930673e-01 -1.28790668906944e-01 + 2.33333333333333e+01 1.40634328825543e+00 1.83077701214759e-01 -1.32259513190899e-01 + 2.39393939393939e+01 1.37170083194648e+00 1.96196659420770e-01 -1.35726782818043e-01 + 2.45454545454545e+01 1.35717829083362e+00 2.08445598826203e-01 -1.39321773407697e-01 + 2.51515151515151e+01 1.34536637237358e+00 2.20598241233796e-01 -1.42925500338938e-01 + 2.57575757575758e+01 1.33480097047710e+00 2.32747235456513e-01 -1.46522273424782e-01 + 2.63636363636364e+01 1.32536094347959e+00 2.44892040379336e-01 -1.50110661487321e-01 + 2.69696969696970e+01 1.31831031385263e+00 2.56606281696038e-01 -1.53688824029175e-01 + 2.75757575757576e+01 1.30967030345357e+00 2.68484358986412e-01 -1.57254351903772e-01 + 2.81818181818182e+01 1.29948144189237e+00 2.80743448615340e-01 -1.60855149404066e-01 + 2.87878787878788e+01 1.28803308911012e+00 2.93568469863241e-01 -1.64573197554415e-01 + 2.93939393939394e+01 1.27675129284426e+00 3.06375042136520e-01 -1.68298674327502e-01 + 3.00000000000000e+01 1.26563662260031e+00 3.19171157243686e-01 -1.72032851773522e-01 + 3.30000000000000e+01 1.21055975532482e+00 3.83188743549889e-01 -1.90511029539339e-01 + 3.60000000000000e+01 1.15362468375208e+00 4.48665203049708e-01 -2.08501906304484e-01 + 3.90000000000000e+01 1.10561055443820e+00 5.17120617558390e-01 -2.26178925557410e-01 + 4.20000000000000e+01 1.06178223078686e+00 5.86698801476380e-01 -2.41307403904956e-01 + 4.50000000000000e+01 1.02140088317565e+00 6.57054533169817e-01 -2.54536374485493e-01 + 4.80000000000000e+01 9.66597037810948e-01 7.27610175921729e-01 -2.67765434877668e-01 + 5.10000000000000e+01 9.09300029697139e-01 7.97181659734182e-01 -2.80315666041369e-01 + 5.40000000000000e+01 8.49620542260592e-01 8.65384777672382e-01 -2.92517019788406e-01 + 5.70000000000000e+01 7.88173330068462e-01 9.31880171091501e-01 -3.04461413065423e-01 + 6.00000000000000e+01 7.23462612472738e-01 9.94534561072982e-01 -3.16310685560552e-01 + 6.30000000000000e+01 6.56489462687117e-01 1.05363617141988e+00 -3.27950687074285e-01 + 6.60000000000000e+01 5.87526858488986e-01 1.10910040400440e+00 -3.39486054851726e-01 + 6.90000000000000e+01 5.16422216689533e-01 1.15991218427649e+00 -3.51021424442629e-01 + 7.20000000000000e+01 4.43230226891282e-01 1.20388275862920e+00 -3.61929815198622e-01 + 7.50000000000000e+01 3.69095116141907e-01 1.24270643618651e+00 -3.72696596799325e-01 + 7.80000000000000e+01 2.94263843551166e-01 1.27619662806556e+00 -3.83302080802914e-01 + 8.10000000000000e+01 2.19202161353939e-01 1.30183189895738e+00 -3.93385981499589e-01 + 8.40000000000000e+01 1.44894084866143e-01 1.32008768396473e+00 -4.02797464079490e-01 + 8.70000000000000e+01 7.17183597649327e-02 1.33222604678491e+00 -4.11984435306619e-01 + 9.00000000000000e+01 2.80934388717842e-10 1.33817100053280e+00 -4.21170577319725e-01 + 9.30000000000000e+01 -5.02028521364511e-02 1.33222604674926e+00 -4.25998256525451e-01 + 9.60000000000000e+01 -1.01425859546442e-01 1.32008768392162e+00 -4.30825118302771e-01 + 9.90000000000000e+01 -1.53441512536115e-01 1.30183189915821e+00 -4.35092357890125e-01 + 1.02000000000000e+02 -2.05984690074173e-01 1.27619662826639e+00 -4.37570813350906e-01 + 1.05000000000000e+02 -2.58366581509799e-01 1.24270643604662e+00 -4.38629020733930e-01 + 1.08000000000000e+02 -3.10261159064317e-01 1.20388275842685e+00 -4.39240195894324e-01 + 1.11000000000000e+02 -3.61495551358293e-01 1.15991218460764e+00 -4.39418281583165e-01 + 1.14000000000000e+02 -4.11268801306274e-01 1.10910040363282e+00 -4.37678932761354e-01 + 1.17000000000000e+02 -4.59542623947041e-01 1.05363617134045e+00 -4.35939207014553e-01 + 1.20000000000000e+02 -5.06423828584873e-01 9.94534561275002e-01 -4.34290488227460e-01 + 1.23000000000000e+02 -5.51721331528379e-01 9.31880170427010e-01 -4.32818405981051e-01 + 1.26000000000000e+02 -5.94734379500562e-01 8.65384777799570e-01 -4.31603059788718e-01 + 1.29000000000000e+02 -6.36510020466442e-01 7.97181660277415e-01 -4.31487188327612e-01 + 1.32000000000000e+02 -6.76617926267737e-01 7.27610176288623e-01 -4.32841257379458e-01 + 1.35000000000000e+02 -7.14980618552918e-01 6.57054532560924e-01 -4.37067951595485e-01 + 1.38000000000000e+02 -7.52829736800921e-01 5.86698801471564e-01 -4.41410930203654e-01 + 1.41000000000000e+02 -7.91333633761781e-01 5.17120617689232e-01 -4.47159931248660e-01 + 1.44000000000000e+02 -8.31000205902903e-01 4.48665202355299e-01 -4.55301255227529e-01 + 1.47000000000000e+02 -8.75099940069844e-01 3.83188743761014e-01 -4.63832226277259e-01 + 1.50000000000000e+02 -8.34202285087392e-01 3.19930416883032e-01 -4.69867792353141e-01 + 1.53000000000000e+02 -7.50782056484687e-01 2.60841090384395e-01 -4.50309840382696e-01 + 1.56000000000000e+02 -6.67361827881982e-01 2.06172784553455e-01 -4.28195635908944e-01 + 1.59000000000000e+02 -5.83941599279276e-01 1.56149531263759e-01 -4.06086720491966e-01 + 1.62000000000000e+02 -5.00521370676571e-01 1.11625348246638e-01 -4.18974618565182e-01 + 1.65000000000000e+02 -4.17101142073865e-01 7.32413862627543e-02 -4.49359136688186e-01 + 1.68000000000000e+02 -3.33680913471159e-01 4.14310284628954e-02 -4.79743654811191e-01 + 1.71000000000000e+02 -2.50260684868453e-01 2.91986352014165e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.66840456265748e-01 2.39877342602867e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -8.34202287583727e-02 2.07619796786829e-02 -1.50000000451309e-01 + 1.80000000000000e+02 0.00000000000000e+00 1.95526618668160e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_25.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_25.dat new file mode 100644 index 0000000..bcd2fa2 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_25.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF25_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF25_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-2.773822 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.131196 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-12.444318 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.875327 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.072181 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.010481 Cd0 ! 2D drag coefficient value at 0-lift. +-0.085918 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 0.00000000000000e+00 1.74928404489485e-02 0.00000000000000e+00 +-1.77000000000000e+02 8.26679131497706e-02 1.87283338579794e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.65335825059825e-01 2.20237474095995e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.48004192468954e-01 2.73466594061081e-02 3.60000658682385e-01 +-1.68000000000000e+02 3.30675850788822e-01 4.02409419027543e-02 3.99136127702450e-01 +-1.65000000000000e+02 4.13339564046348e-01 7.29275435095761e-02 3.97840483804920e-01 +-1.62000000000000e+02 4.96011990725359e-01 1.12019986098578e-01 3.96544703336083e-01 +-1.59000000000000e+02 5.78670833922068e-01 1.57444177967859e-01 4.03099966167635e-01 +-1.56000000000000e+02 6.61345461483585e-01 2.08538426529486e-01 4.25363874954788e-01 +-1.53000000000000e+02 7.44012100211727e-01 2.64387253019196e-01 4.47627717643576e-01 +-1.50000000000000e+02 8.26679129023885e-01 3.24760286489456e-01 4.67405764279515e-01 +-1.47000000000000e+02 8.67857571950158e-01 3.89398746278347e-01 4.62309844625777e-01 +-1.44000000000000e+02 8.26076100032000e-01 4.56306943264516e-01 4.54732584087796e-01 +-1.41000000000000e+02 7.88220991712121e-01 5.26263719824305e-01 4.47522895710658e-01 +-1.38000000000000e+02 7.51216743679547e-01 5.97371332668509e-01 4.42922941394459e-01 +-1.35000000000000e+02 7.14535414120100e-01 6.69277031322018e-01 4.39496447771953e-01 +-1.32000000000000e+02 6.77326011439887e-01 7.41391904921127e-01 4.36202432791059e-01 +-1.29000000000000e+02 6.38461784682118e-01 8.12506661140700e-01 4.35579353443038e-01 +-1.26000000000000e+02 5.97645271190550e-01 8.82227757486916e-01 4.36321669601847e-01 +-1.23000000000000e+02 5.55395913364226e-01 9.50208576872715e-01 4.38066497833424e-01 +-1.20000000000000e+02 5.10571323279848e-01 1.01427236584359e+00 4.39932566000412e-01 +-1.17000000000000e+02 4.63977417142197e-01 1.07471173224724e+00 4.41887781433465e-01 +-1.14000000000000e+02 4.15825547703988e-01 1.13143994880835e+00 4.43888756271936e-01 +-1.11000000000000e+02 3.65993252512925e-01 1.18342082642060e+00 4.45889739408054e-01 +-1.08000000000000e+02 3.14492812138660e-01 1.22841992896025e+00 4.45858032400964e-01 +-1.05000000000000e+02 2.62203137175972e-01 1.26816591050842e+00 4.45367229165360e-01 +-1.02000000000000e+02 2.09302743669623e-01 1.30246813271679e+00 4.44409388157034e-01 +-9.90000000000000e+01 1.56085760646156e-01 1.32875250220542e+00 4.41986651548435e-01 +-9.60000000000000e+01 1.03275981443953e-01 1.34750379075139e+00 4.37719056887112e-01 +-9.30000000000000e+01 5.11697530943739e-02 1.36001009331408e+00 4.32874675536419e-01 +-9.00000000000000e+01 -2.00441708871089e-10 1.36619368894773e+00 4.28029950361729e-01 +-8.70000000000000e+01 -5.11697527875784e-02 1.36001009335116e+00 4.17769480400592e-01 +-8.40000000000000e+01 -1.03275981301564e-01 1.34750379079570e+00 4.07508688443805e-01 +-8.10000000000000e+01 -1.56085761063078e-01 1.32875250199950e+00 3.96813629785862e-01 +-7.80000000000000e+01 -2.09302744086545e-01 1.30246813251087e+00 3.84740873605786e-01 +-7.50000000000000e+01 -2.62203136963528e-01 1.26816591065169e+00 3.71588696674308e-01 +-7.20000000000000e+01 -3.14492811896895e-01 1.22841992916734e+00 3.58127293624146e-01 +-6.90000000000000e+01 -3.65993252837690e-01 1.18342082608183e+00 3.44406156042796e-01 +-6.60000000000000e+01 -4.15825547339572e-01 1.13143994918847e+00 3.29535061518199e-01 +-6.30000000000000e+01 -4.63977417076407e-01 1.07471173232847e+00 3.14663971767122e-01 +-6.00000000000000e+01 -5.10571323424365e-01 1.01427236563702e+00 2.99794676509891e-01 +-5.70000000000000e+01 -5.55395912888779e-01 9.50208577552153e-01 2.84928959917699e-01 +-5.40000000000000e+01 -5.97645271270924e-01 8.82227757356888e-01 2.70064868746353e-01 +-5.10000000000000e+01 -6.38461784995218e-01 8.12506660585404e-01 2.55289887313976e-01 +-4.80000000000000e+01 -6.77326011631394e-01 7.41391904546124e-01 2.40638064019260e-01 +-4.50000000000000e+01 -7.14535413797586e-01 6.69277031944366e-01 2.26225887582041e-01 +-4.20000000000000e+01 -7.33991858446414e-01 5.97371332673430e-01 2.11813742741581e-01 +-3.90000000000000e+01 -7.57109145842131e-01 5.26263719690591e-01 1.83326493956991e-01 +-3.60000000000000e+01 -7.84424719295330e-01 4.56306943974116e-01 1.36002134275088e-01 +-3.30000000000000e+01 -8.19069379252075e-01 3.89398746062608e-01 8.65937487774509e-02 +-3.00000000000000e+01 -9.39792144368865e-01 2.92981110362885e-01 5.68046404188732e-02 +-2.93939393939394e+01 -9.73063885863049e-01 2.70432980273178e-01 5.27785061520053e-02 +-2.87878787878788e+01 -1.00652351039092e+00 2.47823804934181e-01 4.87555276203925e-02 +-2.81818181818182e+01 -1.04014420520318e+00 2.25143660076258e-01 4.47396167036831e-02 +-2.75757575757576e+01 -1.04902799190979e+00 2.12072911594630e-01 4.12085778696573e-02 +-2.69696969696970e+01 -1.04660436194831e+00 2.03263441778320e-01 3.79042369669882e-02 +-2.63636363636364e+01 -1.04397592930207e+00 1.94438863029889e-01 3.46613148503549e-02 +-2.57575757575758e+01 -1.04238773324236e+00 1.85462982057940e-01 3.12940455223814e-02 +-2.51515151515151e+01 -1.04094958953748e+00 1.76484047718816e-01 2.79118014269700e-02 +-2.45454545454545e+01 -1.04073171258023e+00 1.67501700394951e-01 2.45292621170582e-02 +-2.39393939393939e+01 -1.04096013031466e+00 1.58617541766610e-01 2.12225916936378e-02 +-2.33333333333333e+01 -1.04169611808143e+00 1.50645314844712e-01 1.86018540989733e-02 +-2.27272727272727e+01 -1.04261062355741e+00 1.42662052382629e-01 1.59809394360224e-02 +-2.21212121212121e+01 -1.04377973178699e+00 1.34660394300890e-01 1.33596766804245e-02 +-2.15151515151515e+01 -1.04532992464678e+00 1.26624564512669e-01 1.07375699781086e-02 +-2.09090909090909e+01 -1.04612973569803e+00 1.18600314622308e-01 8.11233018135813e-03 +-2.03030303030303e+01 -1.04680681576045e+00 1.10648246943481e-01 5.49393237275883e-03 +-1.96969696969697e+01 -1.04639220858548e+00 1.03531471655587e-01 3.51723439098958e-03 +-1.90909090909091e+01 -1.04488591400846e+00 9.72499888846128e-02 2.21411421145974e-03 +-1.84848484848485e+01 -1.04337961943145e+00 9.09685061136390e-02 9.19419159849074e-04 +-1.78787878787879e+01 -1.04151281012789e+00 8.48240980159320e-02 -2.74370857283062e-04 +-1.72727272727273e+01 -1.03820394161232e+00 7.92279887275906e-02 -1.05052213317286e-03 +-1.66666666666667e+01 -1.03489507309674e+00 7.36318794392492e-02 -1.84050639590642e-03 +-1.60606060606061e+01 -1.03158620458116e+00 6.80357701509078e-02 -2.64263617111143e-03 +-1.54545454545455e+01 -1.04416290700817e+00 6.19750332865183e-02 -2.57479625020989e-03 +-1.48484848484848e+01 -1.05850467346487e+00 5.58626711185973e-02 -2.41189475277433e-03 +-1.42424242424242e+01 -1.07601523859046e+00 4.97503089506764e-02 -2.25092780004312e-03 +-1.36363636363636e+01 -1.08523774750539e+00 4.43818058369215e-02 -2.73391872636867e-03 +-1.30303030303030e+01 -1.08828789871159e+00 3.94165446137970e-02 -3.64546055588196e-03 +-1.24242424242424e+01 -1.09029459299372e+00 3.44865928314956e-02 -4.61377396205131e-03 +-1.18181818181818e+01 -1.07565438876882e+00 3.00582667236313e-02 -7.41657243844855e-03 +-1.12121212121212e+01 -1.02518662283605e+00 2.67912641111212e-02 -1.47456587975848e-02 +-1.06060606060606e+01 -9.74705925923142e-01 2.35310316633397e-02 -2.18926640149566e-02 +-1.00000000000000e+01 -9.22588041912238e-01 2.02777648369995e-02 -2.90395644614012e-02 +-9.39393939393939e+00 -8.54845096105848e-01 1.87692307729110e-02 -3.46718729945179e-02 +-8.78787878787879e+00 -7.85799895059128e-01 1.72980000467254e-02 -3.98975566189220e-02 +-8.18181818181818e+00 -7.16655941085315e-01 1.57684831322185e-02 -4.50811892798962e-02 +-7.57575757575758e+00 -6.41507246955886e-01 1.46622109671797e-02 -5.01555188575048e-02 +-6.96969696969697e+00 -5.65429747494949e-01 1.37476856194423e-02 -5.50995599075837e-02 +-6.36363636363636e+00 -4.88984746135142e-01 1.28329481923916e-02 -6.00347479151616e-02 +-5.75757575757576e+00 -4.09694620959577e-01 1.21093751920181e-02 -6.48482636899046e-02 +-5.15151515151515e+00 -3.26360878685068e-01 1.16728472885168e-02 -6.94960528827506e-02 +-4.54545454545454e+00 -2.43014850546943e-01 1.12363250845134e-02 -7.41488326637578e-02 +-3.93939393939394e+00 -1.59687591953376e-01 1.08255297687520e-02 -7.87199218951495e-02 +-3.33333333333333e+00 -7.66656650925059e-02 1.06462111897278e-02 -8.24585726003146e-02 +-2.72727272727273e+00 6.37825264635058e-03 1.04668860566886e-02 -8.62057937301648e-02 +-2.12121212121212e+00 8.94829147098068e-02 1.02875534384912e-02 -8.99042614266196e-02 +-1.51515151515152e+00 1.71527490209944e-01 1.02004078517294e-02 -9.31861253200045e-02 +-9.09090909090912e-01 2.52199520800356e-01 1.01451843913224e-02 -9.63023061659229e-02 +-3.03030303030302e-01 3.32256031806762e-01 1.01402456725897e-02 -9.91734720231963e-02 + 3.03030303030302e-01 4.12413072206971e-01 1.01611559062306e-02 -1.01921492837990e-01 + 9.09090909090912e-01 4.92292451271168e-01 1.02079159461753e-02 -1.04546894218047e-01 + 1.51515151515152e+00 5.71413942435646e-01 1.02956331302099e-02 -1.06990425152931e-01 + 2.12121212121212e+00 6.50240687442541e-01 1.03986618537060e-02 -1.09363464913077e-01 + 2.72727272727273e+00 7.28442357087662e-01 1.05340352899924e-02 -1.11583006987015e-01 + 3.33333333333333e+00 8.06188959631710e-01 1.06899576041787e-02 -1.13707415615442e-01 + 3.93939393939394e+00 8.83563326055565e-01 1.08626863892030e-02 -1.15753995739782e-01 + 4.54545454545455e+00 9.60065683462029e-01 1.10753599288337e-02 -1.17637593381144e-01 + 5.15151515151515e+00 1.03603986602380e+00 1.13214179158801e-02 -1.19443996838139e-01 + 5.75757575757576e+00 1.11072781042672e+00 1.16541828691673e-02 -1.21073104814202e-01 + 6.36363636363637e+00 1.18485316701693e+00 1.19906208307731e-02 -1.22590558943891e-01 + 6.96969696969697e+00 1.25859902177196e+00 1.23295132628005e-02 -1.24033554071642e-01 + 7.57575757575757e+00 1.33071665910635e+00 1.27355183425635e-02 -1.25243105529812e-01 + 8.18181818181818e+00 1.40206355995385e+00 1.31716933222384e-02 -1.26347623969723e-01 + 8.78787878787879e+00 1.47181154845901e+00 1.36692888633136e-02 -1.27235648616501e-01 + 9.39393939393939e+00 1.53936959979648e+00 1.42530738504953e-02 -1.27851248847437e-01 + 1.00000000000000e+01 1.60574907456798e+00 1.48832212595163e-02 -1.28320186826275e-01 + 1.06060606060606e+01 1.66759165655819e+00 1.56935490357434e-02 -1.28249650411642e-01 + 1.12121212121212e+01 1.72715580096373e+00 1.66015029412401e-02 -1.27942313409973e-01 + 1.18181818181818e+01 1.78249681593459e+00 1.76917857704372e-02 -1.27195079035132e-01 + 1.24242424242424e+01 1.83104413154826e+00 1.91248794055617e-02 -1.25869407000057e-01 + 1.30303030303030e+01 1.87618353218882e+00 2.07342096597609e-02 -1.24263822198377e-01 + 1.36363636363636e+01 1.91104190453703e+00 2.29098138798480e-02 -1.22089574071567e-01 + 1.42424242424242e+01 1.92812816683769e+00 2.62687090803057e-02 -1.18972676427641e-01 + 1.48484848484848e+01 1.91533839709965e+00 3.11281237972474e-02 -1.14330923583660e-01 + 1.54545454545455e+01 1.90238752087312e+00 3.69055104672832e-02 -1.11255933848285e-01 + 1.60606060606061e+01 1.88405331528132e+00 4.33807874015342e-02 -1.08905228062022e-01 + 1.66666666666667e+01 1.83467058555703e+00 5.32442331679295e-02 -1.08060000123074e-01 + 1.72727272727273e+01 1.78542728600073e+00 6.31076789343248e-02 -1.07206974909146e-01 + 1.78787878787879e+01 1.73625158974597e+00 7.29711247007201e-02 -1.06345495647616e-01 + 1.84848484848485e+01 1.68080415032076e+00 8.50245566239347e-02 -1.07641734366306e-01 + 1.90909090909091e+01 1.62382728694897e+00 9.76254849702260e-02 -1.09438268791726e-01 + 1.96969696969697e+01 1.56689671472011e+00 1.10226413316517e-01 -1.11179802224539e-01 + 2.03030303030303e+01 1.52250737902339e+00 1.22856741739539e-01 -1.13801468408383e-01 + 2.09090909090909e+01 1.49064666170158e+00 1.35516470234856e-01 -1.17352277738819e-01 + 2.15151515151515e+01 1.45881556803021e+00 1.48176198730174e-01 -1.20902075395179e-01 + 2.21212121212121e+01 1.42701851790178e+00 1.60835927225491e-01 -1.24450715505974e-01 + 2.27272727272727e+01 1.39526085649975e+00 1.73495655720809e-01 -1.27998022785337e-01 + 2.33333333333333e+01 1.36354910980435e+00 1.86155384216126e-01 -1.31543784749992e-01 + 2.39393939393939e+01 1.33189132971279e+00 1.98935384685073e-01 -1.35087741344843e-01 + 2.45454545454545e+01 1.32006217996105e+00 2.10961430038476e-01 -1.38659608738691e-01 + 2.51515151515151e+01 1.31096238391641e+00 2.22903871125442e-01 -1.42228290129395e-01 + 2.57575757575758e+01 1.30341547213821e+00 2.34844658624751e-01 -1.45788977839794e-01 + 2.63636363636364e+01 1.29703476974217e+00 2.46783547268920e-01 -1.49340046939278e-01 + 2.69696969696970e+01 1.29324473894560e+00 2.58235232585435e-01 -1.52879405611939e-01 + 2.75757575757576e+01 1.28745377562543e+00 2.69877439484332e-01 -1.56404313707316e-01 + 2.81818181818182e+01 1.27873909116200e+00 2.82182410633465e-01 -1.60017947407299e-01 + 2.87878787878788e+01 1.26629853303837e+00 2.95671810009093e-01 -1.63875584001021e-01 + 2.93939393939394e+01 1.25401901638841e+00 3.09154082685556e-01 -1.67736576019559e-01 + 3.00000000000000e+01 1.24190419939715e+00 3.22632223996184e-01 -1.71601491073536e-01 + 3.30000000000000e+01 1.18522024413148e+00 3.89398746062608e-01 -1.90517094428469e-01 + 3.60000000000000e+01 1.13391629621574e+00 4.56306943974116e-01 -2.08792213420667e-01 + 3.90000000000000e+01 1.09177000109010e+00 5.26263719690592e-01 -2.26766870300275e-01 + 4.20000000000000e+01 1.05430878668874e+00 5.97371332673431e-01 -2.42303467306592e-01 + 4.50000000000000e+01 1.02076487685369e+00 6.69277031944366e-01 -2.56022932862912e-01 + 4.80000000000000e+01 9.67608588044849e-01 7.41391904546124e-01 -2.69742500753534e-01 + 5.10000000000000e+01 9.12088264278883e-01 8.12506660585404e-01 -2.82782940683142e-01 + 5.40000000000000e+01 8.53778958958463e-01 8.82227757356888e-01 -2.95474348904427e-01 + 5.70000000000000e+01 7.93422732698256e-01 9.50208577552153e-01 -3.07907700483921e-01 + 6.00000000000000e+01 7.29387604891950e-01 1.01427236563703e+00 -3.20226249468423e-01 + 6.30000000000000e+01 6.62824881537724e-01 1.07471173232847e+00 -3.32292226704970e-01 + 6.60000000000000e+01 5.94036496199388e-01 1.13143994918847e+00 -3.44231920070848e-01 + 6.90000000000000e+01 5.22847504053843e-01 1.18342082608183e+00 -3.56171615514613e-01 + 7.20000000000000e+01 4.49275445566993e-01 1.22841992916734e+00 -3.67404430654045e-01 + 7.50000000000000e+01 3.74575909947897e-01 1.26816591065169e+00 -3.78477590269862e-01 + 7.80000000000000e+01 2.99003920123635e-01 1.30246813251087e+00 -3.89375395442972e-01 + 8.10000000000000e+01 2.22979658661539e-01 1.32875250199950e+00 -3.99701367406662e-01 + 8.40000000000000e+01 1.47537116145091e-01 1.34750379079570e+00 -4.09300179811636e-01 + 8.70000000000000e+01 7.30996468393975e-02 1.36001009335116e+00 -4.18665246736320e-01 + 9.00000000000000e+01 2.86345150158736e-10 1.36619368894773e+00 -4.28029950365238e-01 + 9.30000000000000e+01 -5.11697530943737e-02 1.36001009331408e+00 -4.32874675536419e-01 + 9.60000000000000e+01 -1.03275981443953e-01 1.34750379075139e+00 -4.37719056887112e-01 + 9.90000000000000e+01 -1.56085760646156e-01 1.32875250220542e+00 -4.41986651548435e-01 + 1.02000000000000e+02 -2.09302743669622e-01 1.30246813271679e+00 -4.44409388157034e-01 + 1.05000000000000e+02 -2.62203137175972e-01 1.26816591050842e+00 -4.45367229165360e-01 + 1.08000000000000e+02 -3.14492812138660e-01 1.22841992896025e+00 -4.45858032400964e-01 + 1.11000000000000e+02 -3.65993252512925e-01 1.18342082642060e+00 -4.45889739408054e-01 + 1.14000000000000e+02 -4.15825547703988e-01 1.13143994880835e+00 -4.43888756271936e-01 + 1.17000000000000e+02 -4.63977417142197e-01 1.07471173224724e+00 -4.41887781433465e-01 + 1.20000000000000e+02 -5.10571323279848e-01 1.01427236584359e+00 -4.39932566000412e-01 + 1.23000000000000e+02 -5.55395913364226e-01 9.50208576872715e-01 -4.38066497833424e-01 + 1.26000000000000e+02 -5.97645271190550e-01 8.82227757486916e-01 -4.36321669601847e-01 + 1.29000000000000e+02 -6.38461784682119e-01 8.12506661140699e-01 -4.35579353443038e-01 + 1.32000000000000e+02 -6.77326011439888e-01 7.41391904921127e-01 -4.36202432791059e-01 + 1.35000000000000e+02 -7.14535414120100e-01 6.69277031322018e-01 -4.39496447771953e-01 + 1.38000000000000e+02 -7.51216743679547e-01 5.97371332668509e-01 -4.42922941394459e-01 + 1.41000000000000e+02 -7.88220991712122e-01 5.26263719824305e-01 -4.47522895710658e-01 + 1.44000000000000e+02 -8.26076100032000e-01 4.56306943264516e-01 -4.54732584087796e-01 + 1.47000000000000e+02 -8.67857571950158e-01 3.89398746278347e-01 -4.62309844625777e-01 + 1.50000000000000e+02 -8.26679129023884e-01 3.24760286489455e-01 -4.67405764279515e-01 + 1.53000000000000e+02 -7.44011216028377e-01 2.64386640698051e-01 -4.47627479503727e-01 + 1.56000000000000e+02 -6.61343303032870e-01 2.08537027732661e-01 -4.25363293666115e-01 + 1.59000000000000e+02 -5.78675390037362e-01 1.57446909778632e-01 -4.03101193050512e-01 + 1.62000000000000e+02 -4.96007477041855e-01 1.12017766533725e-01 -4.16544774214323e-01 + 1.65000000000000e+02 -4.13339564046348e-01 7.29275435095763e-02 -4.47840483971446e-01 + 1.68000000000000e+02 -3.30671651050840e-01 4.02393920012852e-02 -4.79136193728571e-01 + 1.71000000000000e+02 -2.48003738055333e-01 2.73466275964835e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.65335825059825e-01 2.20237474095995e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -8.26679131497706e-02 1.87283338579794e-02 -1.50000000451309e-01 + 1.80000000000000e+02 0.00000000000000e+00 1.74928404489485e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_26.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_26.dat new file mode 100644 index 0000000..4590fcd --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_26.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF26_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF26_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-2.789307 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.085602 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-12.482875 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.861101 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.068737 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.010088 Cd0 ! 2D drag coefficient value at 0-lift. +-0.085961 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 0.00000000000000e+00 1.58679141491202e-02 0.00000000000000e+00 +-1.77000000000000e+02 8.18508667710166e-02 1.71296710376709e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.63701732314570e-01 2.04952840092740e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.45553048855282e-01 2.59321226204675e-02 3.60000658682385e-01 +-1.68000000000000e+02 3.27407623781096e-01 3.91867747505460e-02 3.98475896368053e-01 +-1.65000000000000e+02 4.09254332169404e-01 7.26070549592011e-02 3.96190031228569e-01 +-1.62000000000000e+02 4.91109667860301e-01 1.12365654698594e-01 3.93903925140480e-01 +-1.59000000000000e+02 5.72951554320924e-01 1.58652790103762e-01 3.99846403403343e-01 +-1.56000000000000e+02 6.54809069141956e-01 2.10750125236679e-01 4.22250956475221e-01 +-1.53000000000000e+02 7.36658674087060e-01 2.67706346602214e-01 4.44653339281460e-01 +-1.50000000000000e+02 8.18508665260794e-01 3.29282081934137e-01 4.64644682760683e-01 +-1.47000000000000e+02 8.59949398190465e-01 3.95212346684763e-01 4.60522955067187e-01 +-1.44000000000000e+02 8.20569940919633e-01 4.63460299564237e-01 4.53977666668708e-01 +-1.41000000000000e+02 7.84614769912946e-01 5.34821761077758e-01 4.47735099662654e-01 +-1.38000000000000e+02 7.49221229426802e-01 6.07360174622304e-01 4.43911435113118e-01 +-1.35000000000000e+02 7.13884867804572e-01 6.80715787405259e-01 4.41494972333349e-01 +-1.32000000000000e+02 6.77739987152697e-01 7.54289162034501e-01 4.39133480694298e-01 +-1.29000000000000e+02 6.39835389587287e-01 8.26847429610856e-01 4.39227305923381e-01 +-1.26000000000000e+02 6.00078051982228e-01 8.97988329305014e-01 4.40579974529818e-01 +-1.23000000000000e+02 5.58615524102948e-01 9.67358462219951e-01 4.42842848035308e-01 +-1.20000000000000e+02 5.14280561744404e-01 1.03274040494222e+00 4.45110880105781e-01 +-1.17000000000000e+02 4.67992818134247e-01 1.09443087901121e+00 4.47375047685588e-01 +-1.14000000000000e+02 4.19986194531229e-01 1.15234116880041e+00 4.49637360284405e-01 +-1.11000000000000e+02 3.70124524836453e-01 1.20541533401725e+00 4.51899773046088e-01 +-1.08000000000000e+02 3.18395785912767e-01 1.25137620716895e+00 4.52013949280662e-01 +-1.05000000000000e+02 2.65753815161194e-01 1.29198457496075e+00 4.51642910829819e-01 +-1.02000000000000e+02 2.12382634950998e-01 1.32704601277033e+00 4.50784956857608e-01 +-9.90000000000000e+01 1.58545706986050e-01 1.35393716807282e+00 4.48418725910489e-01 +-9.60000000000000e+01 1.05000164564273e-01 1.37315154969266e+00 4.44153153554852e-01 +-9.30000000000000e+01 5.20722481330318e-02 1.38600160548366e+00 4.39294024086006e-01 +-9.00000000000000e+01 -2.03976954895508e-10 1.39240799336012e+00 4.34434881696917e-01 +-8.70000000000000e+01 -5.20722478208254e-02 1.38600160552207e+00 4.23992321370291e-01 +-8.40000000000000e+01 -1.05000164419798e-01 1.37315154973811e+00 4.13549741961831e-01 +-8.10000000000000e+01 -1.58545707407829e-01 1.35393716786214e+00 4.02661051011495e-01 +-7.80000000000000e+01 -2.12382635372777e-01 1.32704601255965e+00 3.90345748762977e-01 +-7.50000000000000e+01 -2.65753814946958e-01 1.29198457510717e+00 3.76898727655418e-01 +-7.20000000000000e+01 -3.18395785669835e-01 1.25137620738048e+00 3.63129442424873e-01 +-6.90000000000000e+01 -3.70124525161412e-01 1.20541533367136e+00 3.49085383355173e-01 +-6.60000000000000e+01 -4.19986194166600e-01 1.15234116918853e+00 3.33824823485506e-01 +-6.30000000000000e+01 -4.67992818068755e-01 1.09443087909414e+00 3.18564265506784e-01 +-6.00000000000000e+01 -5.14280561887351e-01 1.03274040473140e+00 3.03292482030605e-01 +-5.70000000000000e+01 -5.58615523632725e-01 9.67358462913368e-01 2.87998243348612e-01 +-5.40000000000000e+01 -6.00078052061049e-01 8.97988329172330e-01 2.72693797079742e-01 +-5.10000000000000e+01 -6.39835389889997e-01 8.26847429044278e-01 2.57482785381839e-01 +-4.80000000000000e+01 -6.77739987339281e-01 7.54289161651913e-01 2.42401731684965e-01 +-4.50000000000000e+01 -7.13884867491476e-01 6.80715788040192e-01 2.27573551219639e-01 +-4.20000000000000e+01 -7.27696155089907e-01 6.07360174627325e-01 2.12745383766124e-01 +-3.90000000000000e+01 -7.45734134430066e-01 5.34821760941358e-01 1.84093201049880e-01 +-3.60000000000000e+01 -7.68511214219116e-01 4.63460300288051e-01 1.36914116306565e-01 +-3.30000000000000e+01 -7.98952087976704e-01 3.95212346464706e-01 8.74882474411680e-02 +-3.00000000000000e+01 -9.22350691693433e-01 2.95571728132748e-01 5.74363298116547e-02 +-2.93939393939394e+01 -9.56855676657766e-01 2.72265331195459e-01 5.33237667368088e-02 +-2.87878787878788e+01 -9.91571428870871e-01 2.48955836487878e-01 4.92126421050544e-02 +-2.81818181818182e+01 -1.02648236366236e+00 2.25646735868850e-01 4.51046203619376e-02 +-2.75757575757576e+01 -1.03547758357087e+00 2.12408855893297e-01 4.15201653681693e-02 +-2.69696969696970e+01 -1.03311519759645e+00 2.03536605367446e-01 3.81679155722176e-02 +-2.63636363636364e+01 -1.03075913087093e+00 1.94658912249475e-01 3.48412042002316e-02 +-2.57575757575758e+01 -1.02892913753524e+00 1.85719354302481e-01 3.14629601459165e-02 +-2.51515151515151e+01 -1.02725364998820e+00 1.76779550353656e-01 2.80785815256483e-02 +-2.45454545454545e+01 -1.02706290403909e+00 1.67839471429550e-01 2.46941791207178e-02 +-2.39393939393939e+01 -1.02736186007941e+00 1.58999287239444e-01 2.13840838924647e-02 +-2.33333333333333e+01 -1.02789309758561e+00 1.51060430766745e-01 1.87430043571216e-02 +-2.27272727272727e+01 -1.02843881139228e+00 1.43120685189350e-01 1.61019105558485e-02 +-2.21212121212121e+01 -1.02900517136330e+00 1.35179457524850e-01 1.34607887096585e-02 +-2.15151515151515e+01 -1.02960243412619e+00 1.27235476735066e-01 1.08195988688821e-02 +-2.09090909090909e+01 -1.03013884716958e+00 1.19292428907457e-01 8.17815660285729e-03 +-2.03030303030303e+01 -1.03066530775122e+00 1.11355196612403e-01 5.53726557797612e-03 +-1.96969696969697e+01 -1.02986399905391e+00 1.04272476594403e-01 3.52608722907748e-03 +-1.90909090909091e+01 -1.02773492087738e+00 9.80442689823423e-02 2.16170731697163e-03 +-1.84848484848485e+01 -1.02560584270085e+00 9.18160613702820e-02 8.00823356972474e-04 +-1.78787878787879e+01 -1.02316821802491e+00 8.57146531449627e-02 -4.63771220105768e-04 +-1.72727272727273e+01 -1.01949640708958e+00 8.01204425741881e-02 -1.33739129093260e-03 +-1.66666666666667e+01 -1.01582459615425e+00 7.45262320034134e-02 -2.21675126980145e-03 +-1.60606060606061e+01 -1.01215278521892e+00 6.89320214326388e-02 -3.10115095018210e-03 +-1.54545454545455e+01 -1.02777363422401e+00 6.26341781212088e-02 -3.04695003772233e-03 +-1.48484848484848e+01 -1.04553811282987e+00 5.62581533679453e-02 -2.88912477355991e-03 +-1.42424242424242e+01 -1.06462602027456e+00 4.98821286146819e-02 -2.73210223615719e-03 +-1.36363636363636e+01 -1.07584097022793e+00 4.43488792085956e-02 -3.17788503199880e-03 +-1.30303030303030e+01 -1.08153707151904e+00 3.93459470666596e-02 -4.02522506217750e-03 +-1.24242424242424e+01 -1.08679737958703e+00 3.43548849575983e-02 -4.87714360761513e-03 +-1.18181818181818e+01 -1.07512482731996e+00 2.98622889785943e-02 -7.64984462913969e-03 +-1.12121212121212e+01 -1.02509168863535e+00 2.65320446546754e-02 -1.49784516951656e-02 +-1.06060606060606e+01 -9.75065922534456e-01 2.32023457852745e-02 -2.22316528884049e-02 +-1.00000000000000e+01 -9.24410387790393e-01 1.98732081178290e-02 -2.94848456405237e-02 +-9.39393939393939e+00 -8.55728730272334e-01 1.82803550377773e-02 -3.51492325778905e-02 +-8.78787878787879e+00 -7.86505252761646e-01 1.67027109453363e-02 -4.06461611591981e-02 +-8.18181818181818e+00 -7.17243372811184e-01 1.51005550972302e-02 -4.61272374589209e-02 +-7.57575757575758e+00 -6.41422235821983e-01 1.40049140783856e-02 -5.13101114056789e-02 +-6.96969696969697e+00 -5.63306934822525e-01 1.31307472307912e-02 -5.63328100992976e-02 +-6.36363636363636e+00 -4.85038148965837e-01 1.22564825998425e-02 -6.13560042081148e-02 +-5.75757575757576e+00 -4.04800649647557e-01 1.15714241904340e-02 -6.61418602228370e-02 +-5.15151515151515e+00 -3.21703660933879e-01 1.11703122556116e-02 -7.05722996347093e-02 +-4.54545454545454e+00 -2.38601541106514e-01 1.07692002228708e-02 -7.50048655834085e-02 +-3.93939393939394e+00 -1.55604488989033e-01 1.03921886063881e-02 -7.93467562061979e-02 +-3.33333333333333e+00 -7.36100153717181e-02 1.02320793926058e-02 -8.28320395523411e-02 +-2.72727272727273e+00 8.39364259751036e-03 1.00719656764539e-02 -8.63177572451288e-02 +-2.12121212121212e+00 9.04226700519508e-02 9.91184682522971e-03 -8.97789587415947e-02 +-1.51515151515152e+00 1.71471429231027e-01 9.83644628586984e-03 -9.28445367578063e-02 +-9.09090909090912e-01 2.51843453181780e-01 9.79064620988203e-03 -9.57619813516261e-02 +-3.03030303030302e-01 3.31582680133840e-01 9.79256217925452e-03 -9.84610865073983e-02 + 3.03030303030302e-01 4.11157319607670e-01 9.81909067469369e-03 -1.01051412908560e-01 + 9.09090909090912e-01 4.90412938915420e-01 9.87023229051491e-03 -1.03533202027378e-01 + 1.51515151515152e+00 5.68976158888325e-01 9.96190565659767e-03 -1.05849405708383e-01 + 2.12121212121212e+00 6.47265720347493e-01 1.00688640210675e-02 -1.08101389873773e-01 + 2.72727272727273e+00 7.24961737680752e-01 1.02083580109048e-02 -1.10213431144725e-01 + 3.33333333333333e+00 8.02217454375048e-01 1.03680959402490e-02 -1.12236995397157e-01 + 3.93939393939394e+00 8.79112994427612e-01 1.05443933171803e-02 -1.14188171268153e-01 + 4.54545454545455e+00 9.55148442629053e-01 1.07615701160210e-02 -1.15982773874862e-01 + 5.15151515151515e+00 1.03064992135324e+00 1.10145995596881e-02 -1.17701725593931e-01 + 5.75757575757576e+00 1.10484017905584e+00 1.13614759588795e-02 -1.19245913138637e-01 + 6.36363636363637e+00 1.17847685024459e+00 1.17085864650226e-02 -1.20684844978672e-01 + 6.96969696969697e+00 1.25174264769696e+00 1.20558783377462e-02 -1.22053595711656e-01 + 7.57575757575757e+00 1.32343053491149e+00 1.24678352479633e-02 -1.23198849825526e-01 + 8.18181818181818e+00 1.39433099606547e+00 1.29126625988510e-02 -1.24240057463220e-01 + 8.78787878787879e+00 1.46358801758117e+00 1.34259347392746e-02 -1.25065909586282e-01 + 9.39393939393939e+00 1.53069863850312e+00 1.40241682126800e-02 -1.25626656778924e-01 + 1.00000000000000e+01 1.59665323651444e+00 1.46680902540002e-02 -1.26044641822653e-01 + 1.06060606060606e+01 1.65809142880729e+00 1.54893109309071e-02 -1.25929154405477e-01 + 1.12121212121212e+01 1.71724230906957e+00 1.64049069241556e-02 -1.25573213693749e-01 + 1.18181818181818e+01 1.77214800821743e+00 1.74962409167581e-02 -1.24770687192149e-01 + 1.24242424242424e+01 1.82006407530118e+00 1.89247022320592e-02 -1.23365360095037e-01 + 1.30303030303030e+01 1.86445115235159e+00 2.05250682480652e-02 -1.21672977662747e-01 + 1.36363636363636e+01 1.89872361945110e+00 2.26585339743618e-02 -1.19452524685733e-01 + 1.42424242424242e+01 1.91351545946226e+00 2.60162756602199e-02 -1.16190686357690e-01 + 1.48484848484848e+01 1.89793570661345e+00 3.10884888255190e-02 -1.11320328663941e-01 + 1.54545454545455e+01 1.88173925104404e+00 3.69992510528734e-02 -1.08230265488213e-01 + 1.60606060606061e+01 1.86092184843564e+00 4.36026983114376e-02 -1.05925837601790e-01 + 1.66666666666667e+01 1.80721144245952e+00 5.39098939421393e-02 -1.05225211455239e-01 + 1.72727272727273e+01 1.75351234310960e+00 6.42170895728410e-02 -1.04520120102290e-01 + 1.78787878787879e+01 1.69981872582479e+00 7.45242852035427e-02 -1.03810208043994e-01 + 1.84848484848485e+01 1.64351805711343e+00 8.68557676473230e-02 -1.05397510360199e-01 + 1.90909090909091e+01 1.58656874864691e+00 9.96933216870313e-02 -1.07540297822912e-01 + 1.96969696969697e+01 1.52962319400681e+00 1.12530875726740e-01 -1.09656095011284e-01 + 2.03030303030303e+01 1.48604389484724e+00 1.25222841057241e-01 -1.12516187808770e-01 + 2.09090909090909e+01 1.45582982607801e+00 1.37769217700495e-01 -1.16145067608811e-01 + 2.15151515151515e+01 1.42561815954028e+00 1.50315594343749e-01 -1.19773526687565e-01 + 2.21212121212121e+01 1.39540925365055e+00 1.62861970987004e-01 -1.23401504287719e-01 + 2.27272727272727e+01 1.36520354185871e+00 1.75408347630258e-01 -1.27028927365188e-01 + 2.33333333333333e+01 1.33500155336745e+00 1.87954724273512e-01 -1.30655707319805e-01 + 2.39393939393939e+01 1.30480394111861e+00 2.00510790916052e-01 -1.34281735624903e-01 + 2.45454545454545e+01 1.29431247870327e+00 2.12401295671914e-01 -1.37845624742491e-01 + 2.51515151515151e+01 1.28659288299637e+00 2.24217862718375e-01 -1.41399984621840e-01 + 2.57575757575758e+01 1.28071563474891e+00 2.36034296539591e-01 -1.44951011797655e-01 + 2.63636363636364e+01 1.27540368954095e+00 2.47850577374999e-01 -1.48498033243677e-01 + 2.69696969696970e+01 1.27124605334923e+00 2.59465430360199e-01 -1.52040182078385e-01 + 2.75757575757576e+01 1.26631948684511e+00 2.71160193862491e-01 -1.55576322289127e-01 + 2.81818181818182e+01 1.25844780133917e+00 2.83621707034455e-01 -1.59242080273327e-01 + 2.87878787878788e+01 1.24495004618608e+00 2.97723425774472e-01 -1.63224994070200e-01 + 2.93939393939394e+01 1.23162980234140e+00 3.11825256442109e-01 -1.67208171710058e-01 + 3.00000000000000e+01 1.21848927570426e+00 3.25927092152027e-01 -1.71191653946673e-01 + 3.30000000000000e+01 1.16020074405625e+00 3.95212346464706e-01 -1.90520640212082e-01 + 3.60000000000000e+01 1.11446911343142e+00 4.63460300288051e-01 -2.09057839795370e-01 + 3.90000000000000e+01 1.07804210225128e+00 5.34821760941358e-01 -2.27308367332657e-01 + 4.20000000000000e+01 1.04674157691635e+00 6.07360174627325e-01 -2.43226961474010e-01 + 4.50000000000000e+01 1.01983552498782e+00 6.80715788040193e-01 -2.57407416366057e-01 + 4.80000000000000e+01 9.68199981913258e-01 7.54289161651913e-01 -2.71587913626032e-01 + 5.10000000000000e+01 9.14050556985709e-01 8.26847429044279e-01 -2.85088600692871e-01 + 5.40000000000000e+01 8.57254360087213e-01 8.97988329172330e-01 -2.98239909101287e-01 + 5.70000000000000e+01 7.98022176618178e-01 9.67358462913369e-01 -3.11131963072025e-01 + 6.00000000000000e+01 7.34686516981930e-01 1.03274040473140e+00 -3.23890222313456e-01 + 6.30000000000000e+01 6.68561168669650e-01 1.09443087909414e+00 -3.36354130937695e-01 + 6.60000000000000e+01 5.99980277380857e-01 1.15234116918853e+00 -3.48670865053197e-01 + 6.90000000000000e+01 5.28749321659160e-01 1.20541533367136e+00 -3.60987599958173e-01 + 7.20000000000000e+01 4.54851122385478e-01 1.25137620738048e+00 -3.72520903260155e-01 + 7.50000000000000e+01 3.79648307067082e-01 1.29198457510717e+00 -3.83877252403191e-01 + 7.80000000000000e+01 3.03403764818252e-01 1.32704601255965e+00 -3.95044809837635e-01 + 8.10000000000000e+01 2.26493867725470e-01 1.35393716786214e+00 -4.05596237627641e-01 + 8.40000000000000e+01 1.50000234885425e-01 1.37315154973811e+00 -4.15371229712901e-01 + 8.70000000000000e+01 7.43889254583217e-02 1.38600160552207e+00 -4.24903066880465e-01 + 9.00000000000000e+01 2.91395498141419e-10 1.39240799336012e+00 -4.34434881700485e-01 + 9.30000000000000e+01 -5.20722481330316e-02 1.38600160548366e+00 -4.39294024086006e-01 + 9.60000000000000e+01 -1.05000164564273e-01 1.37315154969266e+00 -4.44153153554852e-01 + 9.90000000000000e+01 -1.58545706986050e-01 1.35393716807282e+00 -4.48418725910489e-01 + 1.02000000000000e+02 -2.12382634950998e-01 1.32704601277033e+00 -4.50784956857608e-01 + 1.05000000000000e+02 -2.65753815161194e-01 1.29198457496075e+00 -4.51642910829819e-01 + 1.08000000000000e+02 -3.18395785912767e-01 1.25137620716895e+00 -4.52013949280662e-01 + 1.11000000000000e+02 -3.70124524836454e-01 1.20541533401725e+00 -4.51899773046088e-01 + 1.14000000000000e+02 -4.19986194531229e-01 1.15234116880041e+00 -4.49637360284405e-01 + 1.17000000000000e+02 -4.67992818134247e-01 1.09443087901121e+00 -4.47375047685588e-01 + 1.20000000000000e+02 -5.14280561744405e-01 1.03274040494222e+00 -4.45110880105781e-01 + 1.23000000000000e+02 -5.58615524102948e-01 9.67358462219951e-01 -4.42842848035308e-01 + 1.26000000000000e+02 -6.00078051982228e-01 8.97988329305014e-01 -4.40579974529818e-01 + 1.29000000000000e+02 -6.39835389587287e-01 8.26847429610855e-01 -4.39227305923381e-01 + 1.32000000000000e+02 -6.77739987152697e-01 7.54289162034501e-01 -4.39133480694298e-01 + 1.35000000000000e+02 -7.13884867804572e-01 6.80715787405259e-01 -4.41494972333349e-01 + 1.38000000000000e+02 -7.49221229426803e-01 6.07360174622304e-01 -4.43911435113118e-01 + 1.41000000000000e+02 -7.84614769912947e-01 5.34821761077757e-01 -4.47735099662654e-01 + 1.44000000000000e+02 -8.20569940919633e-01 4.63460299564237e-01 -4.53977666668708e-01 + 1.47000000000000e+02 -8.59949398190466e-01 3.95212346684763e-01 -4.60522955067187e-01 + 1.50000000000000e+02 -8.18508665260794e-01 3.29282081934136e-01 -4.64644682760683e-01 + 1.53000000000000e+02 -7.36657798642515e-01 2.67705722109200e-01 -4.44653099670827e-01 + 1.56000000000000e+02 -6.54806932024238e-01 2.10748698802552e-01 -4.22250371542137e-01 + 1.59000000000000e+02 -5.72956065405960e-01 1.58655575039037e-01 -3.99847638095451e-01 + 1.62000000000000e+02 -4.91105198787682e-01 1.12363394631347e-01 -4.13904050087731e-01 + 1.65000000000000e+02 -4.09254332169404e-01 7.26070549592012e-02 -4.46190031395095e-01 + 1.68000000000000e+02 -3.27403465551126e-01 3.91851891937459e-02 -4.78476012702460e-01 + 1.71000000000000e+02 -2.45552598932848e-01 2.59320901278668e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.63701732314570e-01 2.04952840092740e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -8.18508667710166e-02 1.71296710376709e-02 -1.50000000451309e-01 + 1.80000000000000e+02 0.00000000000000e+00 1.58679141491202e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_27.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_27.dat new file mode 100644 index 0000000..a84e7d2 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_27.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF27_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF27_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-2.804940 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.084105 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-12.497773 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.852284 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.062830 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.009710 Cd0 ! 2D drag coefficient value at 0-lift. +-0.085908 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 0.00000000000000e+00 1.47317105498312e-02 0.00000000000000e+00 +-1.77000000000000e+02 8.09180665743446e-02 1.60188931220918e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.61836131935214e-01 1.94527589253626e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.42754643153527e-01 2.50013728042670e-02 3.60000658682385e-01 +-1.68000000000000e+02 3.23676375623281e-01 3.82597775582641e-02 3.97737710960954e-01 +-1.65000000000000e+02 4.04590331205255e-01 7.22700377878073e-02 3.94344708319010e-01 +-1.62000000000000e+02 4.85512815770155e-01 1.12633465781867e-01 3.90951348027248e-01 +-1.59000000000000e+02 5.66422004376764e-01 1.59619064431977e-01 3.96193182795140e-01 +-1.56000000000000e+02 6.47346643237695e-01 2.12521224619153e-01 4.18710077781193e-01 +-1.53000000000000e+02 7.28263462366323e-01 2.70378767237302e-01 4.41224886038521e-01 +-1.50000000000000e+02 8.09180663321988e-01 3.32948215579077e-01 4.61410241229793e-01 +-1.47000000000000e+02 8.50853084451677e-01 3.99959836460929e-01 4.58301203756468e-01 +-1.44000000000000e+02 8.14032667222441e-01 4.69341353344579e-01 4.52879438343937e-01 +-1.41000000000000e+02 7.80139382985578e-01 5.41901905446576e-01 4.47652547708318e-01 +-1.38000000000000e+02 7.46549547236489e-01 6.15670625682180e-01 4.44184672863103e-01 +-1.35000000000000e+02 7.12824603614682e-01 6.90280530879792e-01 4.42798597585936e-01 +-1.32000000000000e+02 6.77680926606375e-01 7.65122320233180e-01 4.41324379539075e-01 +-1.29000000000000e+02 6.40384326019858e-01 8.38941954478114e-01 4.42090164632263e-01 +-1.26000000000000e+02 6.01725929720167e-01 9.11328662167121e-01 4.44012004663611e-01 +-1.23000000000000e+02 5.61047813105141e-01 9.81922537139687e-01 4.46768494591227e-01 +-1.20000000000000e+02 5.17212090114846e-01 1.04847073253379e+00 4.49471341452696e-01 +-1.17000000000000e+02 4.71252179222342e-01 1.11127269165168e+00 4.52057976302729e-01 +-1.14000000000000e+02 4.23424940044572e-01 1.17023752924282e+00 4.54586541528103e-01 +-1.11000000000000e+02 3.73582727057335e-01 1.22429191991016e+00 4.57114908847750e-01 +-1.08000000000000e+02 3.21691737220273e-01 1.27112138615755e+00 4.57372074672070e-01 +-1.05000000000000e+02 2.68774135010473e-01 1.31251410319153e+00 4.57116189010615e-01 +-1.02000000000000e+02 2.15018968789456e-01 1.34827217319206e+00 4.56352788450650e-01 +-9.90000000000000e+01 1.60661397164090e-01 1.37572934506418e+00 4.54038709621948e-01 +-9.60000000000000e+01 1.06488568272814e-01 1.39538644057924e+00 4.49771955755010e-01 +-9.30000000000000e+01 5.28539175932486e-02 1.40857691616706e+00 4.44894973535935e-01 +-9.00000000000000e+01 -2.07038902654598e-10 1.41521996201550e+00 4.40017961725924e-01 +-8.70000000000000e+01 -5.28539172763555e-02 1.40857691620689e+00 4.29409376337091e-01 +-8.40000000000000e+01 -1.06488568126553e-01 1.39538644062578e+00 4.18800777042695e-01 +-8.10000000000000e+01 -1.60661397589948e-01 1.37572934484907e+00 4.07734107835993e-01 +-7.80000000000000e+01 -2.15018969215313e-01 1.34827217297696e+00 3.95201650633702e-01 +-7.50000000000000e+01 -2.68774134794786e-01 1.31251410334084e+00 3.81505186250411e-01 +-7.20000000000000e+01 -3.21691736976492e-01 1.27112138637309e+00 3.67474644639335e-01 +-6.90000000000000e+01 -3.73582727382171e-01 1.22429191955787e+00 3.53155554545937e-01 +-6.60000000000000e+01 -4.23424939680089e-01 1.17023752963810e+00 3.37559050795839e-01 +-6.30000000000000e+01 -4.71252179157188e-01 1.11127269173610e+00 3.21962543617937e-01 +-6.00000000000000e+01 -5.17212090256198e-01 1.04847073231921e+00 3.06342379133370e-01 +-5.70000000000000e+01 -5.61047812640271e-01 9.81922537845458e-01 2.90674907106044e-01 +-5.40000000000000e+01 -6.01725929797421e-01 9.11328662032100e-01 2.74985932034727e-01 +-5.10000000000000e+01 -6.40384326311123e-01 8.38941953901659e-01 2.59393730433217e-01 +-4.80000000000000e+01 -6.77680926791649e-01 7.65122319843982e-01 2.43936884568106e-01 +-4.50000000000000e+01 -7.12824603313627e-01 6.90280531525647e-01 2.28743406110447e-01 +-4.20000000000000e+01 -7.21090289240369e-01 6.15670625687286e-01 2.13549906352888e-01 +-3.90000000000000e+01 -7.34144289872979e-01 5.41901905307875e-01 1.84806440790946e-01 +-3.60000000000000e+01 -7.52430308974586e-01 4.69341354080473e-01 1.37831970180438e-01 +-3.30000000000000e+01 -7.78636524515124e-01 3.99959836237236e-01 8.86282609797525e-02 +-3.00000000000000e+01 -9.04963281736064e-01 2.97915605812202e-01 5.82214883231722e-02 +-2.93939393939394e+01 -9.40754063988514e-01 2.74031250645825e-01 5.39797805110077e-02 +-2.87878787878788e+01 -9.76809945386572e-01 2.50154184169270e-01 4.97382417928822e-02 +-2.81818181818182e+01 -1.01316393234268e+00 2.26274164984200e-01 4.54946576503113e-02 +-2.75757575757576e+01 -1.02258218626165e+00 2.12805544683082e-01 4.18143339503957e-02 +-2.69696969696970e+01 -1.02104139094173e+00 2.03723035729501e-01 3.83624202128854e-02 +-2.63636363636364e+01 -1.02008948922029e+00 1.94613084933084e-01 3.48707329881311e-02 +-2.57575757575758e+01 -1.01885467564268e+00 1.85581116685778e-01 3.14416715492156e-02 +-2.51515151515151e+01 -1.01780127561392e+00 1.76549148438473e-01 2.80207801931566e-02 +-2.45454545454545e+01 -1.01808867950696e+00 1.67558556642559e-01 2.45998888370977e-02 +-2.39393939393939e+01 -1.01888229310068e+00 1.58753460129120e-01 2.12987637896911e-02 +-2.33333333333333e+01 -1.01999442154420e+00 1.50804785350947e-01 1.86519017813233e-02 +-2.27272727272727e+01 -1.02110660959119e+00 1.42856078003469e-01 1.60050092383256e-02 +-2.21212121212121e+01 -1.02221884345109e+00 1.34907340635800e-01 1.33580916880011e-02 +-2.15151515151515e+01 -1.02333111328302e+00 1.26958575537802e-01 1.07111533995164e-02 +-2.09090909090909e+01 -1.02444341187631e+00 1.19009784772224e-01 8.06419772260188e-03 +-2.03030303030303e+01 -1.02555573382677e+00 1.11060970202180e-01 5.41722732242601e-03 +-1.96969696969697e+01 -1.02521072474556e+00 1.03979729389494e-01 3.40359167606340e-03 +-1.90909090909091e+01 -1.02340873302639e+00 9.77660790065527e-02 1.99440506474987e-03 +-1.84848484848485e+01 -1.02160721581592e+00 9.15524282730062e-02 5.79598860140863e-04 +-1.78787878787879e+01 -1.01946476552670e+00 8.54684309577539e-02 -7.38453343790763e-04 +-1.72727272727273e+01 -1.01596102667710e+00 7.99027687044865e-02 -1.67876441947068e-03 +-1.66666666666667e+01 -1.01246416052304e+00 7.43366046750909e-02 -2.60988620375797e-03 +-1.60606060606061e+01 -1.00897419222862e+00 6.87698858236526e-02 -3.53294353843518e-03 +-1.54545454545455e+01 -1.02445273085028e+00 6.25246762726447e-02 -3.50599026606324e-03 +-1.48484848484848e+01 -1.04222005597275e+00 5.61970709128807e-02 -3.37241871121571e-03 +-1.42424242424242e+01 -1.05761875747252e+00 4.98589953469678e-02 -3.23756392546059e-03 +-1.36363636363636e+01 -1.06721695108843e+00 4.43156577806036e-02 -3.63806176440808e-03 +-1.30303030303030e+01 -1.07362281437561e+00 3.93785337935499e-02 -4.40658734812581e-03 +-1.24242424242424e+01 -1.08073165287187e+00 3.44282329672136e-02 -5.18228231214569e-03 +-1.18181818181818e+01 -1.07166995877754e+00 2.99541719791605e-02 -7.88090632949848e-03 +-1.12121212121212e+01 -1.02306558560314e+00 2.65913374001551e-02 -1.49122200029281e-02 +-1.06060606060606e+01 -9.74685053224347e-01 2.32285028211497e-02 -2.20283678750144e-02 +-1.00000000000000e+01 -9.26818015201384e-01 1.98656682421443e-02 -2.91445157471007e-02 +-9.39393939393939e+00 -8.56101802813905e-01 1.80869194444994e-02 -3.50455456343589e-02 +-8.78787878787879e+00 -7.86537620936257e-01 1.62854310168413e-02 -4.11641959778989e-02 +-8.18181818181818e+00 -7.16947214545168e-01 1.45026541270299e-02 -4.73347986443104e-02 +-7.57575757575758e+00 -6.40591651894163e-01 1.33759282804432e-02 -5.27377993092782e-02 +-6.96969696969697e+00 -5.60577227921891e-01 1.25313364751980e-02 -5.77838724629382e-02 +-6.36363636363636e+00 -4.80794513074933e-01 1.16866343668045e-02 -6.28126448011445e-02 +-5.75757575757576e+00 -3.99892734293588e-01 1.10365059682885e-02 -6.74930999166966e-02 +-5.15151515151515e+00 -3.17181926926253e-01 1.06772268407671e-02 -7.16525944098421e-02 +-4.54545454545454e+00 -2.34478821101980e-01 1.03164374073190e-02 -7.58086576081238e-02 +-3.93939393939394e+00 -1.51936957259184e-01 9.97636155130740e-03 -7.98651195568990e-02 +-3.33333333333333e+00 -7.07609942197520e-02 9.83387580610846e-03 -8.30902285368260e-02 +-2.72727272727273e+00 1.04009571629418e-02 9.69135013772720e-03 -8.63223629213948e-02 +-2.12121212121212e+00 9.15234402570531e-02 9.54878397599501e-03 -8.96170066406371e-02 +-1.51515151515152e+00 1.71665615894467e-01 9.48400088812509e-03 -9.24761200798651e-02 +-9.09090909090912e-01 2.51932697265986e-01 9.44664838174304e-03 -9.52101264778513e-02 +-3.03030303030302e-01 3.31579897445616e-01 9.45450637848015e-03 -9.77498195398726e-02 + 3.03030303030302e-01 4.10543708327797e-01 9.48596861570956e-03 -1.00192506004997e-01 + 9.09090909090912e-01 4.89077342483709e-01 9.54103362583840e-03 -1.02538004439030e-01 + 1.51515151515152e+00 5.67060827166922e-01 9.63565286930595e-03 -1.04733252517612e-01 + 2.12121212121212e+00 6.44818911239887e-01 9.74554542290448e-03 -1.06869844841554e-01 + 2.72727272727273e+00 7.22005511550374e-01 9.88859811379282e-03 -1.08878168868916e-01 + 3.33333333333333e+00 7.98761805478500e-01 1.00523683070675e-02 -1.10802870362094e-01 + 3.93939393939394e+00 8.75166545999226e-01 1.02330923724882e-02 -1.12659140030071e-01 + 4.54545454545455e+00 9.50714772335558e-01 1.04565991189804e-02 -1.14364891445327e-01 + 5.15151515151515e+00 1.02575412977285e+00 1.07151036922014e-02 -1.15998345249727e-01 + 5.75757575757576e+00 1.09954487670945e+00 1.10644076448812e-02 -1.17465241490587e-01 + 6.36363636363637e+00 1.17270813815293e+00 1.14196373614302e-02 -1.18827078587909e-01 + 6.96969696969697e+00 1.24545646642832e+00 1.17788193528327e-02 -1.20118870700351e-01 + 7.57575757575757e+00 1.31666817809075e+00 1.21995852580728e-02 -1.21195724665892e-01 + 8.18181818181818e+00 1.38704377460983e+00 1.26586798626030e-02 -1.22166695968469e-01 + 8.78787878787879e+00 1.45565939931661e+00 1.32013612087469e-02 -1.22916982717774e-01 + 9.39393939393939e+00 1.52221033679458e+00 1.38242065353946e-02 -1.23411899921179e-01 + 1.00000000000000e+01 1.58765020947526e+00 1.44903100979764e-02 -1.23769301530167e-01 + 1.06060606060606e+01 1.64863547627220e+00 1.53265071197620e-02 -1.23603691591360e-01 + 1.12121212121212e+01 1.70738442204301e+00 1.62513062422819e-02 -1.23201061221906e-01 + 1.18181818181818e+01 1.76197625342102e+00 1.73398470896589e-02 -1.22358382266401e-01 + 1.24242424242424e+01 1.80968510173421e+00 1.87462923011200e-02 -1.20916472695943e-01 + 1.30303030303030e+01 1.85393168522984e+00 2.03207210691302e-02 -1.19192544243814e-01 + 1.36363636363636e+01 1.88827269537445e+00 2.24188382415823e-02 -1.16963138133615e-01 + 1.42424242424242e+01 1.90450773265701e+00 2.56653570363354e-02 -1.13769207046828e-01 + 1.48484848484848e+01 1.89512024454457e+00 3.08331243560817e-02 -1.09200681819856e-01 + 1.54545454545455e+01 1.87923020201715e+00 3.67251682051792e-02 -1.06260186167490e-01 + 1.60606060606061e+01 1.85848703358182e+00 4.32710327747071e-02 -1.04006297350148e-01 + 1.66666666666667e+01 1.80434893121934e+00 5.35355668371297e-02 -1.03236395786137e-01 + 1.72727272727273e+01 1.75021082885686e+00 6.38001008995524e-02 -1.02468754384938e-01 + 1.78787878787879e+01 1.69607272649438e+00 7.40646349619750e-02 -1.01702504021816e-01 + 1.84848484848485e+01 1.63915657299721e+00 8.63619957479021e-02 -1.03290046203241e-01 + 1.90909090909091e+01 1.58154590686368e+00 9.91675631069106e-02 -1.05497335262256e-01 + 1.96969696969697e+01 1.52393524073016e+00 1.11973130465919e-01 -1.07748372173143e-01 + 2.03030303030303e+01 1.47970461033795e+00 1.24661157275376e-01 -1.10762661480847e-01 + 2.09090909090909e+01 1.44885401366892e+00 1.37231643553008e-01 -1.14496701347737e-01 + 2.15151515151515e+01 1.41800341699989e+00 1.49802129830641e-01 -1.18227497854051e-01 + 2.21212121212121e+01 1.38715282033086e+00 1.62386275231125e-01 -1.21955779338029e-01 + 2.27272727272727e+01 1.35630222366184e+00 1.75014025912356e-01 -1.25682165353626e-01 + 2.33333333333333e+01 1.32545162699281e+00 1.87624747511895e-01 -1.29407203069787e-01 + 2.39393939393939e+01 1.29460103032378e+00 2.00223022823693e-01 -1.33131396808452e-01 + 2.45454545454545e+01 1.28289476283923e+00 2.12218048883576e-01 -1.36735324725839e-01 + 2.51515151515151e+01 1.27398920403342e+00 2.24137772784775e-01 -1.40329405307568e-01 + 2.57575757575758e+01 1.26724992662485e+00 2.36043148348590e-01 -1.43927863041192e-01 + 2.63636363636364e+01 1.26012470465094e+00 2.47924488210293e-01 -1.47531631848674e-01 + 2.69696969696970e+01 1.25159028893147e+00 2.60174777406889e-01 -1.51141926311833e-01 + 2.75757575757576e+01 1.24478216094690e+00 2.72310021247376e-01 -1.54760354044741e-01 + 2.81818181818182e+01 1.23644499040421e+00 2.85118575004455e-01 -1.58525298585884e-01 + 2.87878787878788e+01 1.22209196493859e+00 2.99736382646477e-01 -1.62612213213468e-01 + 2.93939393939394e+01 1.20788230137787e+00 3.14306754666616e-01 -1.66699138856437e-01 + 3.00000000000000e+01 1.19385745625481e+00 3.28820442457091e-01 -1.70786084100599e-01 + 3.30000000000000e+01 1.13454328419639e+00 3.99959836237236e-01 -1.90520243560126e-01 + 3.60000000000000e+01 1.09447533519778e+00 4.69341354080473e-01 -2.09278361551302e-01 + 3.90000000000000e+01 1.06377471935279e+00 5.41901905307876e-01 -2.27764245108275e-01 + 4.20000000000000e+01 1.03860118241865e+00 6.15670625687287e-01 -2.44015507995377e-01 + 4.50000000000000e+01 1.01832086187661e+00 6.90280531525647e-01 -2.58600957286482e-01 + 4.80000000000000e+01 9.68115609702355e-01 7.65122319843982e-01 -2.73186338225465e-01 + 5.10000000000000e+01 9.14834751873033e-01 8.38941953901660e-01 -2.87090603812128e-01 + 5.40000000000000e+01 8.59608471139173e-01 9.11328662032100e-01 -3.00644826752653e-01 + 5.70000000000000e+01 8.01496875200387e-01 9.81922537845458e-01 -3.13938440315200e-01 + 6.00000000000000e+01 7.38874414651710e-01 1.04847073231921e+00 -3.27080663511132e-01 + 6.30000000000000e+01 6.73217398795983e-01 1.11127269173610e+00 -3.39889832736238e-01 + 6.60000000000000e+01 6.04892770971555e-01 1.17023752963810e+00 -3.52532473555608e-01 + 6.90000000000000e+01 5.33689610545958e-01 1.22429191955787e+00 -3.65175112789120e-01 + 7.20000000000000e+01 4.59559624252132e-01 1.27112138637309e+00 -3.76964384191041e-01 + 7.50000000000000e+01 3.83963049706837e-01 1.31251410334084e+00 -3.88560890695024e-01 + 7.80000000000000e+01 3.07169956021875e-01 1.34827217297696e+00 -3.99956394276237e-01 + 8.10000000000000e+01 2.29516282271354e-01 1.37572934484907e+00 -4.10707353477979e-01 + 8.40000000000000e+01 1.52126525895075e-01 1.39538644062578e+00 -4.20646662254268e-01 + 8.70000000000000e+01 7.55055961090790e-02 1.40857691620689e+00 -4.30332318995008e-01 + 9.00000000000000e+01 2.95769709892321e-10 1.41521996201550e+00 -4.40017961729539e-01 + 9.30000000000000e+01 -5.28539175932484e-02 1.40857691616706e+00 -4.44894973535935e-01 + 9.60000000000000e+01 -1.06488568272814e-01 1.39538644057924e+00 -4.49771955755010e-01 + 9.90000000000000e+01 -1.60661397164090e-01 1.37572934506418e+00 -4.54038709621948e-01 + 1.02000000000000e+02 -2.15018968789455e-01 1.34827217319206e+00 -4.56352788450650e-01 + 1.05000000000000e+02 -2.68774135010474e-01 1.31251410319153e+00 -4.57116189010615e-01 + 1.08000000000000e+02 -3.21691737220273e-01 1.27112138615755e+00 -4.57372074672070e-01 + 1.11000000000000e+02 -3.73582727057336e-01 1.22429191991016e+00 -4.57114908847750e-01 + 1.14000000000000e+02 -4.23424940044572e-01 1.17023752924282e+00 -4.54586541528103e-01 + 1.17000000000000e+02 -4.71252179222342e-01 1.11127269165168e+00 -4.52057976302729e-01 + 1.20000000000000e+02 -5.17212090114846e-01 1.04847073253379e+00 -4.49471341452696e-01 + 1.23000000000000e+02 -5.61047813105142e-01 9.81922537139687e-01 -4.46768494591227e-01 + 1.26000000000000e+02 -6.01725929720167e-01 9.11328662167121e-01 -4.44012004663611e-01 + 1.29000000000000e+02 -6.40384326019858e-01 8.38941954478114e-01 -4.42090164632263e-01 + 1.32000000000000e+02 -6.77680926606376e-01 7.65122320233180e-01 -4.41324379539075e-01 + 1.35000000000000e+02 -7.12824603614682e-01 6.90280530879792e-01 -4.42798597585936e-01 + 1.38000000000000e+02 -7.46549547236489e-01 6.15670625682180e-01 -4.44184672863103e-01 + 1.41000000000000e+02 -7.80139382985579e-01 5.41901905446575e-01 -4.47652547708318e-01 + 1.44000000000000e+02 -8.14032667222441e-01 4.69341353344579e-01 -4.52879438343937e-01 + 1.47000000000000e+02 -8.50853084451678e-01 3.99959836460929e-01 -4.58301203756468e-01 + 1.50000000000000e+02 -8.09180663321988e-01 3.32948215579076e-01 -4.61410241229793e-01 + 1.53000000000000e+02 -7.28262596898641e-01 2.70378132761369e-01 -4.41224645224728e-01 + 1.56000000000000e+02 -6.47344530475294e-01 2.12519775868774e-01 -4.18709489914091e-01 + 1.59000000000000e+02 -5.66426464051948e-01 1.59621891806140e-01 -3.96194423676568e-01 + 1.62000000000000e+02 -4.85508397628602e-01 1.12631171371122e-01 -4.10951533427485e-01 + 1.65000000000000e+02 -4.04590331205255e-01 7.22700377878075e-02 -4.44344708485537e-01 + 1.68000000000000e+02 -3.23672264781908e-01 3.82581682214939e-02 -4.77737883543589e-01 + 1.71000000000000e+02 -2.42754198358561e-01 2.50013396374498e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.61836131935214e-01 1.94527589253626e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -8.09180665743446e-02 1.60188931220918e-02 -1.50000000451309e-01 + 1.80000000000000e+02 0.00000000000000e+00 1.47317105498312e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_28.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_28.dat new file mode 100644 index 0000000..06a7ba4 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_28.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF28_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF28_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-2.824543 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.115951 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-12.458884 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.845663 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.048830 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.009329 Cd0 ! 2D drag coefficient value at 0-lift. +-0.085825 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 0.00000000000000e+00 1.36543508227385e-02 0.00000000000000e+00 +-1.77000000000000e+02 7.98609855405092e-02 1.49692551473288e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.59721969883396e-01 1.84771984800638e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.39583394259224e-01 2.41459362728649e-02 3.60000658682385e-01 +-1.68000000000000e+02 3.19447997805360e-01 3.72677562324499e-02 3.96892311739968e-01 +-1.65000000000000e+02 3.99304926057848e-01 7.17885676942386e-02 3.92231371296624e-01 +-1.62000000000000e+02 4.79170271874063e-01 1.12819357713570e-01 3.87569939552598e-01 +-1.59000000000000e+02 5.59022495425032e-01 1.60399187807013e-01 3.92003480385307e-01 +-1.56000000000000e+02 6.38889967394422e-01 2.14057717530898e-01 4.14630759043824e-01 +-1.53000000000000e+02 7.18749721785344e-01 2.72822441523332e-01 4.37255115191510e-01 +-1.50000000000000e+02 7.98609853015267e-01 3.36443289763391e-01 4.57638615688168e-01 +-1.47000000000000e+02 8.40532518645362e-01 4.04642697230333e-01 4.55613075602449e-01 +-1.44000000000000e+02 8.06561312087627e-01 4.75304936801860e-01 4.51341667189282e-01 +-1.41000000000000e+02 7.74938509927120e-01 5.49250670462719e-01 4.47154954362196e-01 +-1.38000000000000e+02 7.43292336551017e-01 6.24465712728365e-01 4.44364887015029e-01 +-1.35000000000000e+02 7.11202021806831e-01 7.00571097596953e-01 4.44082065127714e-01 +-1.32000000000000e+02 6.77214283479130e-01 7.76943757156489e-01 4.43672766494289e-01 +-1.29000000000000e+02 6.40812604283677e-01 8.52302349687188e-01 4.45265504633628e-01 +-1.26000000000000e+02 6.03384617743468e-01 9.26223230637692e-01 4.47894106746961e-01 +-1.23000000000000e+02 5.63673958713912e-01 9.98337017130522e-01 4.51267939925834e-01 +-1.20000000000000e+02 5.20480304697618e-01 1.06634832214642e+00 4.54523278956677e-01 +-1.17000000000000e+02 4.74958787139858e-01 1.13055738650595e+00 4.57520517643715e-01 +-1.14000000000000e+02 4.27389976287925e-01 1.19086950341895e+00 4.60388758359819e-01 +-1.11000000000000e+02 3.77610052586628e-01 1.24618994258161e+00 4.63256715091906e-01 +-1.08000000000000e+02 3.25556939534075e-01 1.29415907510863e+00 4.63699984469470e-01 +-1.05000000000000e+02 2.72336762563422e-01 1.33659633697368e+00 4.63595516497173e-01 +-1.02000000000000e+02 2.18144442528832e-01 1.37329916595462e+00 4.62958000055275e-01 +-9.90000000000000e+01 1.63179321438924e-01 1.40154968950288e+00 4.60717668218490e-01 +-9.60000000000000e+01 1.08265322055747e-01 1.42185667738418e+00 4.56459020650291e-01 +-9.30000000000000e+01 5.37895641458873e-02 1.43557829844901e+00 4.51569624454849e-01 +-9.00000000000000e+01 -2.10704006635754e-10 1.44263181062163e+00 4.46680185826248e-01 +-8.70000000000000e+01 -5.37895638233844e-02 1.43557829849128e+00 4.35878770630728e-01 +-8.40000000000000e+01 -1.08265321907370e-01 1.42185667743235e+00 4.25077335519856e-01 +-8.10000000000000e+01 -1.63179321869542e-01 1.40154968928153e+00 4.13803007748054e-01 +-7.80000000000000e+01 -2.18144442959449e-01 1.37329916573332e+00 4.01015474624089e-01 +-7.50000000000000e+01 -2.72336762346092e-01 1.33659633712688e+00 3.87026279806174e-01 +-7.20000000000000e+01 -3.25556939289425e-01 1.29415907532945e+00 3.72688377080292e-01 +-6.90000000000000e+01 -3.77610052911058e-01 1.24618994222104e+00 3.58044718219433e-01 +-6.60000000000000e+01 -4.27389975923899e-01 1.19086950382346e+00 3.42047483018041e-01 +-6.30000000000000e+01 -4.74958787075171e-01 1.13055738659229e+00 3.26050242961113e-01 +-6.00000000000000e+01 -5.20480304836904e-01 1.06634832192710e+00 3.10013315655845e-01 +-5.70000000000000e+01 -5.63673958255867e-01 9.98337017851749e-01 2.93897023949359e-01 +-5.40000000000000e+01 -6.03384617818835e-01 9.26223230499778e-01 2.77744658177305e-01 +-5.10000000000000e+01 -6.40812604563567e-01 8.52302349098629e-01 2.61692654698897e-01 +-4.80000000000000e+01 -6.77214283659862e-01 7.76943756759276e-01 2.45781978695849e-01 +-4.50000000000000e+01 -7.11202021517173e-01 7.00571098255923e-01 2.30146287489080e-01 +-4.20000000000000e+01 -7.14223203516280e-01 6.24465712733573e-01 2.14510565787943e-01 +-3.90000000000000e+01 -7.22409025795224e-01 5.49250670321335e-01 1.85675269459732e-01 +-3.60000000000000e+01 -7.36179800413162e-01 4.75304937551559e-01 1.38979850845084e-01 +-3.30000000000000e+01 -7.57968795181359e-01 4.04642697002585e-01 9.01847666655068e-02 +-3.00000000000000e+01 -8.88104330433915e-01 3.00031426221957e-01 5.91782386692090e-02 +-2.93939393939394e+01 -9.25156677727338e-01 2.75620425268986e-01 5.47276855828139e-02 +-2.87878787878788e+01 -9.62429377194438e-01 2.51256730622074e-01 5.02859035866367e-02 +-2.81818181818182e+01 -9.99990901550684e-01 2.26919897688249e-01 4.58513031137015e-02 +-2.75757575757576e+01 -1.01057864444636e+00 2.13164916768186e-01 4.20456977646449e-02 +-2.69696969696970e+01 -1.01039892788278e+00 2.03834211134763e-01 3.84894812999605e-02 +-2.63636363636364e+01 -1.01159176554783e+00 1.94343062498797e-01 3.48802334175386e-02 +-2.57575757575758e+01 -1.01278551920720e+00 1.84893367247251e-01 3.12933777625190e-02 +-2.51515151515151e+01 -1.01419258464512e+00 1.75443671995705e-01 2.77127213880711e-02 +-2.45454545454545e+01 -1.01562653956742e+00 1.66193080435010e-01 2.41320650136232e-02 +-2.39393939393939e+01 -1.01738945606930e+00 1.57458080080909e-01 2.08465751949433e-02 +-2.33333333333333e+01 -1.01974610235193e+00 1.49451066514291e-01 1.81790554378819e-02 +-2.27272727272727e+01 -1.02210303705925e+00 1.41443896224012e-01 1.55113887480286e-02 +-2.21212121212121e+01 -1.02446019345787e+00 1.33436581476424e-01 1.28436017227940e-02 +-2.15151515151515e+01 -1.02681752392732e+00 1.25429133290351e-01 1.01757149054285e-02 +-2.09090909090909e+01 -1.02917499357465e+00 1.17421561591757e-01 7.50774441485226e-03 +-2.03030303030303e+01 -1.03153257624865e+00 1.09413875345953e-01 4.83970307586866e-03 +-1.96969696969697e+01 -1.03194590847973e+00 1.02327438930825e-01 2.82730388963501e-03 +-1.90909090909091e+01 -1.03041667693576e+00 9.61623320832436e-02 1.42910027982897e-03 +-1.84848484848485e+01 -1.02888974156717e+00 8.99972235485471e-02 2.27855970232441e-05 +-1.78787878787879e+01 -1.02686263921748e+00 8.39780633383970e-02 -1.28548267894105e-03 +-1.72727272727273e+01 -1.02284669539027e+00 7.85413553424832e-02 -2.21469814403271e-03 +-1.66666666666667e+01 -1.01886400893920e+00 7.31022327973328e-02 -3.13077606087737e-03 +-1.60606060606061e+01 -1.01491470163482e+00 6.76604404457411e-02 -4.03533758396153e-03 +-1.54545454545455e+01 -1.02674271599713e+00 6.17436995547838e-02 -4.06044278936582e-03 +-1.48484848484848e+01 -1.04120047786920e+00 5.57404644017538e-02 -3.98632157535356e-03 +-1.42424242424242e+01 -1.05144633914145e+00 4.96868465644168e-02 -3.91037218045338e-03 +-1.36363636363636e+01 -1.05697283679467e+00 4.42923016547006e-02 -4.23102193808435e-03 +-1.30303030303030e+01 -1.06113762214322e+00 3.95429943041411e-02 -4.86791425867614e-03 +-1.24242424242424e+01 -1.06631678327636e+00 3.47909267291825e-02 -5.53933643158541e-03 +-1.18181818181818e+01 -1.05781395567694e+00 3.04189693354955e-02 -8.06670078741402e-03 +-1.12121212121212e+01 -1.01477263239289e+00 2.69339357936634e-02 -1.45475572050489e-02 +-1.06060606060606e+01 -9.72871736373348e-01 2.34489022518313e-02 -2.10285089517864e-02 +-1.00000000000000e+01 -9.30076938867818e-01 1.99638687099991e-02 -2.75094606985239e-02 +-9.39393939393939e+00 -8.56540896639794e-01 1.79845444324846e-02 -3.44382577540264e-02 +-8.78787878787879e+00 -7.85614120334243e-01 1.59778006694114e-02 -4.15091200751881e-02 +-8.18181818181818e+00 -7.14353815976791e-01 1.39279410566759e-02 -4.87462207606552e-02 +-7.57575757575758e+00 -6.36912638804858e-01 1.27139373323524e-02 -5.46654754233927e-02 +-6.96969696969697e+00 -5.55754839718666e-01 1.18867573233854e-02 -5.97130493847846e-02 +-6.36363636363636e+00 -4.74877473919880e-01 1.10585042788663e-02 -6.46854936963728e-02 +-5.75757575757576e+00 -3.93607097029334e-01 1.04449911365705e-02 -6.91798405708893e-02 +-5.15151515151515e+00 -3.11628687539039e-01 1.01494813351800e-02 -7.29592154805400e-02 +-4.54545454545454e+00 -2.29659436999832e-01 9.84670019050561e-03 -7.67336667977469e-02 +-3.93939393939394e+00 -1.47858422214072e-01 9.55648392740990e-03 -8.04140315924711e-02 +-3.33333333333333e+00 -6.74709559548268e-02 9.43311777945583e-03 -8.33409703632743e-02 +-2.72727272727273e+00 1.28990207932302e-02 9.30953281470486e-03 -8.62999941681748e-02 +-2.12121212121212e+00 9.32169872944815e-02 9.18572254204942e-03 -8.94214665864417e-02 +-1.51515151515152e+00 1.72642707169243e-01 9.13163890320627e-03 -9.21062312199545e-02 +-9.09090909090912e-01 2.52444138532166e-01 9.10255466395226e-03 -9.46754904911537e-02 +-3.03030303030302e-01 3.31700362253280e-01 9.11616693354722e-03 -9.70674615690558e-02 + 3.03030303030302e-01 4.10043430043363e-01 9.15253877357462e-03 -9.93697413890095e-02 + 9.09090909090912e-01 4.87857280595579e-01 9.21166665327511e-03 -1.01582794948876e-01 + 1.51515151515152e+00 5.65318889726456e-01 9.30888112730011e-03 -1.03659420490220e-01 + 2.12121212121212e+00 6.42624737635314e-01 9.42146400620185e-03 -1.05681918241275e-01 + 2.72727272727273e+00 7.19347876248603e-01 9.56861302369473e-03 -1.07585926529258e-01 + 3.33333333333333e+00 7.95634328886608e-01 9.73772300270061e-03 -1.09409069396802e-01 + 3.93939393939394e+00 8.71566408808796e-01 9.92479436686666e-03 -1.11165993848719e-01 + 4.54545454545455e+00 9.46634493373269e-01 1.01575024544714e-02 -1.12777249376932e-01 + 5.15151515151515e+00 1.02123838405903e+00 1.04209695895760e-02 -1.14321259005845e-01 + 5.75757575757576e+00 1.09472428686644e+00 1.07613261548261e-02 -1.15712874090478e-01 + 6.36363636363637e+00 1.16745197363599e+00 1.11218682875738e-02 -1.16993383627994e-01 + 6.96969696969697e+00 1.23968069326400e+00 1.14960427989103e-02 -1.18199737062547e-01 + 7.57575757575757e+00 1.31042870228468e+00 1.19245250789228e-02 -1.19199567276037e-01 + 8.18181818181818e+00 1.38024523037595e+00 1.23996713617510e-02 -1.20087296578269e-01 + 8.78787878787879e+00 1.44808207028799e+00 1.29835922842993e-02 -1.20738580912410e-01 + 9.39393939393939e+00 1.51395240384107e+00 1.36375359112787e-02 -1.21145655684780e-01 + 1.00000000000000e+01 1.57876502107448e+00 1.43292550463093e-02 -1.21421085682981e-01 + 1.06060606060606e+01 1.63919808073409e+00 1.51810377787130e-02 -1.21187489583026e-01 + 1.12121212121212e+01 1.69748542906344e+00 1.61138535795960e-02 -1.20726870021121e-01 + 1.18181818181818e+01 1.75178248750316e+00 1.71958866204821e-02 -1.19845140403535e-01 + 1.24242424242424e+01 1.79951235163196e+00 1.85675361493950e-02 -1.18393239191405e-01 + 1.30303030303030e+01 1.84392342190507e+00 2.01070844091207e-02 -1.16672906622536e-01 + 1.36363636363636e+01 1.87854132672718e+00 2.21728079920697e-02 -1.14463294017121e-01 + 1.42424242424242e+01 1.89779720687402e+00 2.51915778933972e-02 -1.11498022694599e-01 + 1.48484848484848e+01 1.89539651740972e+00 2.99249562524618e-02 -1.07494614600272e-01 + 1.54545454545455e+01 1.88374706385959e+00 3.54893907186346e-02 -1.04748783879484e-01 + 1.60606060606061e+01 1.86601981158244e+00 4.17380159007761e-02 -1.02539208428596e-01 + 1.66666666666667e+01 1.81391052239722e+00 5.16613957478006e-02 -1.01613264986842e-01 + 1.72727272727273e+01 1.76180123321201e+00 6.15847755948252e-02 -1.00672414026563e-01 + 1.78787878787879e+01 1.70969194402679e+00 7.15081554418497e-02 -9.97104400427064e-02 + 1.84848484848485e+01 1.65281968430900e+00 8.35593069668634e-02 -1.01115480477301e-01 + 1.90909090909091e+01 1.59475668221062e+00 9.61424012985452e-02 -1.03157617955346e-01 + 1.96969696969697e+01 1.53669368011225e+00 1.08725495630227e-01 -1.05258681023262e-01 + 2.03030303030303e+01 1.49154113949666e+00 1.21374860150779e-01 -1.08294560131748e-01 + 2.09090909090909e+01 1.45929905841654e+00 1.34090494850204e-01 -1.12193966150013e-01 + 2.15151515151515e+01 1.42705697733642e+00 1.46806129549630e-01 -1.16075485694155e-01 + 2.21212121212121e+01 1.39481489625630e+00 1.59587492016469e-01 -1.19942294234425e-01 + 2.27272727272727e+01 1.36257281517618e+00 1.72578683312153e-01 -1.23796977131865e-01 + 2.33333333333333e+01 1.33033073409605e+00 1.85487930581640e-01 -1.27641687036771e-01 + 2.39393939393939e+01 1.29808865301593e+00 1.98337286252329e-01 -1.31478262274388e-01 + 2.45454545454545e+01 1.28218583339303e+00 2.10844193628680e-01 -1.35236416024476e-01 + 2.51515151515151e+01 1.26883937555173e+00 2.23273234289272e-01 -1.38988538406987e-01 + 2.57575757575758e+01 1.25796515524610e+00 2.35633230678678e-01 -1.42743656626910e-01 + 2.63636363636364e+01 1.24663419815622e+00 2.47877567149417e-01 -1.46502621914054e-01 + 2.69696969696970e+01 1.23311293307006e+00 2.60807523749561e-01 -1.50266586154429e-01 + 2.75757575757576e+01 1.22203262990368e+00 2.73617709021746e-01 -1.54037135031009e-01 + 2.81818181818182e+01 1.21080273627322e+00 2.87045243575757e-01 -1.57932968188436e-01 + 2.87878787878788e+01 1.19640365991459e+00 3.02255050998465e-01 -1.62104217050273e-01 + 2.93939393939394e+01 1.18184509136327e+00 3.17241208395830e-01 -1.66275475274898e-01 + 3.00000000000000e+01 1.16734054892987e+00 3.31956871549156e-01 -1.70446750732485e-01 + 3.30000000000000e+01 1.10803931291407e+00 4.04642697002585e-01 -1.90516649147822e-01 + 3.60000000000000e+01 1.07394545293686e+00 4.75304937551559e-01 -2.09533518470525e-01 + 3.90000000000000e+01 1.04907955150881e+00 5.49250670321335e-01 -2.28297555662535e-01 + 4.20000000000000e+01 1.02996551175668e+00 6.24465712733573e-01 -2.44948495124543e-01 + 4.50000000000000e+01 1.01600288788167e+00 7.00571098255923e-01 -2.60024147487639e-01 + 4.80000000000000e+01 9.67448976656946e-01 7.76943756759276e-01 -2.75099701837258e-01 + 5.10000000000000e+01 9.15446577947953e-01 8.52302349098629e-01 -2.89491933631683e-01 + 5.40000000000000e+01 8.61978025455478e-01 9.26223230499778e-01 -3.03532990245060e-01 + 5.70000000000000e+01 8.05248511794096e-01 9.98337017851749e-01 -3.17311509976030e-01 + 6.00000000000000e+01 7.43543292624148e-01 1.06634832192710e+00 -3.30916437335118e-01 + 6.30000000000000e+01 6.78512552964530e-01 1.13055738659229e+00 -3.44139468213712e-01 + 6.60000000000000e+01 6.10557108462713e-01 1.19086950382346e+00 -3.57171548835386e-01 + 6.90000000000000e+01 5.39442932730083e-01 1.24618994222104e+00 -3.70203627231969e-01 + 7.20000000000000e+01 4.65081341842035e-01 1.29415907532945e+00 -3.82295019681110e-01 + 7.50000000000000e+01 3.89052517637273e-01 1.33659633712688e+00 -3.94173920378729e-01 + 7.80000000000000e+01 3.11634918513499e-01 1.37329916573332e+00 -4.05836656551437e-01 + 8.10000000000000e+01 2.33113316956489e-01 1.40154968928153e+00 -4.16821345052783e-01 + 8.40000000000000e+01 1.54664745581957e-01 1.42185667743235e+00 -4.26952192906053e-01 + 8.70000000000000e+01 7.68422340334060e-02 1.43557829849128e+00 -4.36816199399528e-01 + 9.00000000000000e+01 3.01005577142688e-10 1.44263181062163e+00 -4.46680185829920e-01 + 9.30000000000000e+01 -5.37895641458870e-02 1.43557829844901e+00 -4.51569624454849e-01 + 9.60000000000000e+01 -1.08265322055747e-01 1.42185667738418e+00 -4.56459020650291e-01 + 9.90000000000000e+01 -1.63179321438925e-01 1.40154968950288e+00 -4.60717668218490e-01 + 1.02000000000000e+02 -2.18144442528832e-01 1.37329916595462e+00 -4.62958000055275e-01 + 1.05000000000000e+02 -2.72336762563422e-01 1.33659633697368e+00 -4.63595516497173e-01 + 1.08000000000000e+02 -3.25556939534075e-01 1.29415907510863e+00 -4.63699984469470e-01 + 1.11000000000000e+02 -3.77610052586628e-01 1.24618994258161e+00 -4.63256715091906e-01 + 1.14000000000000e+02 -4.27389976287925e-01 1.19086950341895e+00 -4.60388758359819e-01 + 1.17000000000000e+02 -4.74958787139857e-01 1.13055738650596e+00 -4.57520517643715e-01 + 1.20000000000000e+02 -5.20480304697619e-01 1.06634832214642e+00 -4.54523278956677e-01 + 1.23000000000000e+02 -5.63673958713913e-01 9.98337017130522e-01 -4.51267939925834e-01 + 1.26000000000000e+02 -6.03384617743468e-01 9.26223230637692e-01 -4.47894106746961e-01 + 1.29000000000000e+02 -6.40812604283677e-01 8.52302349687188e-01 -4.45265504633628e-01 + 1.32000000000000e+02 -6.77214283479131e-01 7.76943757156488e-01 -4.43672766494289e-01 + 1.35000000000000e+02 -7.11202021806831e-01 7.00571097596953e-01 -4.44082065127714e-01 + 1.38000000000000e+02 -7.43292336551017e-01 6.24465712728365e-01 -4.44364887015029e-01 + 1.41000000000000e+02 -7.74938509927120e-01 5.49250670462718e-01 -4.47154954362196e-01 + 1.44000000000000e+02 -8.06561312087627e-01 4.75304936801860e-01 -4.51341667189282e-01 + 1.47000000000000e+02 -8.40532518645362e-01 4.04642697230333e-01 -4.55613075602449e-01 + 1.50000000000000e+02 -7.98609853015267e-01 3.36443289763390e-01 -4.57638615688168e-01 + 1.53000000000000e+02 -7.18748867623783e-01 2.72821796725310e-01 -4.37254873210369e-01 + 1.56000000000000e+02 -6.38887882232299e-01 2.14056247012236e-01 -4.14630168305695e-01 + 1.59000000000000e+02 -5.59026896840815e-01 1.60402053338931e-01 -3.92004727372908e-01 + 1.62000000000000e+02 -4.79165911449332e-01 1.12817036258897e-01 -4.07570194185994e-01 + 1.65000000000000e+02 -3.99304926057848e-01 7.17885676942388e-02 -4.42231371463150e-01 + 1.68000000000000e+02 -3.19443940666364e-01 3.72661312158536e-02 -4.76892548740306e-01 + 1.71000000000000e+02 -2.39582955274880e-01 2.41459023863656e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.59721969883396e-01 1.84771984800638e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -7.98609855405092e-02 1.49692551473288e-02 -1.50000000451309e-01 + 1.80000000000000e+02 0.00000000000000e+00 1.36543508227385e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_29.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_29.dat new file mode 100644 index 0000000..57abe49 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_29.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF29_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF29_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-2.846815 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.168755 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-12.390199 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.840677 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.031777 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.008960 Cd0 ! 2D drag coefficient value at 0-lift. +-0.085728 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 0.00000000000000e+00 1.27312001091097e-02 0.00000000000000e+00 +-1.77000000000000e+02 7.87460671134957e-02 1.40716057787611e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.57492133046089e-01 1.76474890437778e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.36238632868437e-01 2.34256788175926e-02 3.60000658682385e-01 +-1.68000000000000e+02 3.14988267477526e-01 3.63615403246094e-02 3.95983355816655e-01 +-1.65000000000000e+02 3.93730333945742e-01 7.12836009562448e-02 3.89959154624583e-01 +-1.62000000000000e+02 4.72480700462270e-01 1.12988074310126e-01 3.83934318433161e-01 +-1.59000000000000e+02 5.51218127910080e-01 1.61166778170894e-01 3.87491754358524e-01 +-1.56000000000000e+02 6.29970590897112e-01 2.15583459581977e-01 4.10216500495697e-01 +-1.53000000000000e+02 7.08715444048779e-01 2.75251017778132e-01 4.32937292023403e-01 +-1.50000000000000e+02 7.87460668778496e-01 3.39912756302951e-01 4.53507775772638e-01 +-1.47000000000000e+02 8.29612821751493e-01 4.09283577442060e-01 4.52573142744422e-01 +-1.44000000000000e+02 7.98543324644881e-01 4.81205323125451e-01 4.49443506251084e-01 +-1.41000000000000e+02 7.69232917174077e-01 5.56510350339047e-01 4.46328534448274e-01 +-1.38000000000000e+02 7.39560951715994e-01 6.33142306708571e-01 4.44502210282375e-01 +-1.35000000000000e+02 7.09098681860006e-01 7.10710818445515e-01 4.45220848139104e-01 +-1.32000000000000e+02 6.76422852552619e-01 7.88579557511760e-01 4.45846665580974e-01 +-1.29000000000000e+02 6.41154336845504e-01 8.65440676407777e-01 4.48254059443226e-01 +-1.26000000000000e+02 6.04872792847417e-01 9.40858179279210e-01 4.51582165316624e-01 +-1.23000000000000e+02 5.66113638445963e-01 1.01445357611233e+00 4.55568472045263e-01 +-1.20000000000000e+02 5.23563828944601e-01 1.08388994001560e+00 4.59372973484259e-01 +-1.17000000000000e+02 4.78489038845849e-01 1.14946849345849e+00 4.62779401654769e-01 +-1.14000000000000e+02 4.31190869281499e-01 1.21109090293448e+00 4.65986831506465e-01 +-1.11000000000000e+02 3.81488488620894e-01 1.26764157810033e+00 4.69194052955110e-01 +-1.08000000000000e+02 3.29291191703915e-01 1.31671681520579e+00 4.69825273319445e-01 +-1.05000000000000e+02 2.75787860014942e-01 1.36016672223348e+00 4.69874592864246e-01 +-1.02000000000000e+02 2.21179053819308e-01 1.39778422355528e+00 4.69365749214074e-01 +-9.90000000000000e+01 1.65628323963394e-01 1.42680102864992e+00 4.67202874140125e-01 +-9.60000000000000e+01 1.09995809432996e-01 1.44773373922143e+00 4.62957177256066e-01 +-9.30000000000000e+01 5.47019651823432e-02 1.46196470762352e+00 4.58060580231405e-01 +-9.00000000000000e+01 -2.14278052976946e-10 1.46940931757822e+00 4.53163952047279e-01 +-8.70000000000000e+01 -5.47019648543699e-02 1.46196470766812e+00 4.42178068534867e-01 +-8.40000000000000e+01 -1.09995809282565e-01 1.44773373927118e+00 4.31192170380526e-01 +-8.10000000000000e+01 -1.65628324398600e-01 1.42680102842255e+00 4.19718782467029e-01 +-7.80000000000000e+01 -2.21179054254513e-01 1.39778422332800e+00 4.06685464941366e-01 +-7.50000000000000e+01 -2.75787859796050e-01 1.36016672239044e+00 3.92413380766625e-01 +-7.20000000000000e+01 -3.29291191458481e-01 1.31671681543173e+00 3.77778107502456e-01 +-6.90000000000000e+01 -3.81488488944818e-01 1.26764157773172e+00 3.62819983168718e-01 +-6.60000000000000e+01 -4.31190868918039e-01 1.21109090334796e+00 3.46432583612984e-01 +-6.30000000000000e+01 -4.78489038781644e-01 1.14946849354669e+00 3.30045180447897e-01 +-6.00000000000000e+01 -5.23563829081807e-01 1.08388993979167e+00 3.13601953147766e-01 +-5.70000000000000e+01 -5.66113637994732e-01 1.01445357684861e+00 2.97047085024564e-01 +-5.40000000000000e+01 -6.04872792920950e-01 9.40858179138476e-01 2.80441471476512e-01 +-5.10000000000000e+01 -6.41154337115609e-01 8.65440675807405e-01 2.63939540452787e-01 +-4.80000000000000e+01 -6.76422852725991e-01 7.88579557106718e-01 2.47584545207584e-01 +-4.50000000000000e+01 -7.09098681581331e-01 7.10710819117308e-01 2.31515449327609e-01 +-4.20000000000000e+01 -7.07164317522046e-01 6.33142306713877e-01 2.15446331016590e-01 +-3.90000000000000e+01 -7.10674307027366e-01 5.56510350195033e-01 1.86570178944674e-01 +-3.60000000000000e+01 -7.20049418380131e-01 4.81205323888712e-01 1.40293499073080e-01 +-3.30000000000000e+01 -7.37464712958857e-01 4.09283577210318e-01 9.20629891274470e-02 +-3.00000000000000e+01 -8.71231560316346e-01 3.02205880060524e-01 6.03263329240803e-02 +-2.93939393939394e+01 -9.09501016787266e-01 2.77287885264862e-01 5.56116172597357e-02 +-2.87878787878788e+01 -9.47931693657341e-01 2.52456585285244e-01 5.09153688009954e-02 +-2.81818181818182e+01 -9.86603574783701e-01 2.27688866305320e-01 4.62386610830767e-02 +-2.75757575757576e+01 -9.99027945726932e-01 2.13565291645531e-01 4.22735302630617e-02 +-2.69696969696970e+01 -1.00078645311552e+00 2.03919535287589e-01 3.85963715865223e-02 +-2.63636363636364e+01 -1.00445619519790e+00 1.93985255622479e-01 3.48859921265557e-02 +-2.57575757575758e+01 -1.00886429345778e+00 1.83982030087659e-01 3.10968735841327e-02 +-2.51515151515151e+01 -1.01351928587509e+00 1.73978804552838e-01 2.73045124958683e-02 +-2.45454545454545e+01 -1.01698212223901e+00 1.64318804959092e-01 2.35121514076040e-02 +-2.39393939393939e+01 -1.02055822161081e+00 1.55490000418696e-01 2.01804508773004e-02 +-2.33333333333333e+01 -1.02453801965653e+00 1.47397653501471e-01 1.74805663520320e-02 +-2.27272727272727e+01 -1.02851831752626e+00 1.39305036415340e-01 1.47804285359002e-02 +-2.21212121212121e+01 -1.03249899957474e+00 1.31212170305720e-01 1.20800832789906e-02 +-2.15151515151515e+01 -1.03647998327832e+00 1.23119074167469e-01 9.37956599489304e-03 +-2.09090909090909e+01 -1.04046120816945e+00 1.15025765111511e-01 6.67890447029250e-03 +-2.03030303030303e+01 -1.04444262892956e+00 1.06932258592745e-01 3.97812081329366e-03 +-1.96969696969697e+01 -1.04577089305661e+00 9.98392587083635e-02 1.96754727429583e-03 +-1.90909090909091e+01 -1.04444892356063e+00 9.37469028245594e-02 6.16769078096050e-04 +-1.84848484848485e+01 -1.04313093320941e+00 8.76545440324138e-02 -7.40028745381487e-04 +-1.78787878787879e+01 -1.04109107232939e+00 8.17302749212036e-02 -1.99772547857366e-03 +-1.72727272727273e+01 -1.03618422403453e+00 7.64760526282926e-02 -2.86840791695632e-03 +-1.66666666666667e+01 -1.03133500893039e+00 7.12176680020240e-02 -3.72951684403635e-03 +-1.60606060606061e+01 -1.02654363803861e+00 6.59546810159280e-02 -4.58225204340812e-03 +-1.54545454545455e+01 -1.03268852863647e+00 6.05143760579389e-02 -4.67537088280656e-03 +-1.48484848484848e+01 -1.04156785172344e+00 5.49962369320417e-02 -4.68300038557300e-03 +-1.42424242424242e+01 -1.04621382625124e+00 4.93912453517210e-02 -4.68930673030212e-03 +-1.36363636363636e+01 -1.04691726641927e+00 4.42710611649695e-02 -4.93346061369017e-03 +-1.30303030303030e+01 -1.04745891812952e+00 3.97609210172596e-02 -5.42483654868847e-03 +-1.24242424242424e+01 -1.04874893856664e+00 3.52715324328276e-02 -5.97574988849630e-03 +-1.18181818181818e+01 -1.03952508511340e+00 3.10348725682424e-02 -8.25358355239632e-03 +-1.12121212121212e+01 -1.00384045391237e+00 2.73879131134990e-02 -1.40643423308351e-02 +-1.06060606060606e+01 -9.70156327352443e-01 2.37409536587556e-02 -1.97035953422025e-02 +-1.00000000000000e+01 -9.33494433881460e-01 2.00939942040121e-02 -2.53428483535698e-02 +-9.39393939393939e+00 -8.57074213340426e-01 1.79136105254730e-02 -3.36335402494906e-02 +-8.78787878787879e+00 -7.83921763495398e-01 1.57204527841630e-02 -4.17884102009720e-02 +-8.18181818181818e+00 -7.10103956847400e-01 1.33969603614041e-02 -5.01946206389667e-02 +-7.57575757575758e+00 -6.31286195812802e-01 1.20887840601313e-02 -5.66491260130347e-02 +-6.96969696969697e+00 -5.49578000804961e-01 1.12751130471719e-02 -6.16656498630578e-02 +-6.36363636363636e+00 -4.68000242875777e-01 1.04593641876268e-02 -6.65560774034486e-02 +-5.75757575757576e+00 -3.86620209814834e-01 9.87830261154415e-03 -7.08440974053954e-02 +-5.15151515151515e+00 -3.05548157030159e-01 9.64251254955198e-03 -7.42301017057154e-02 +-4.54545454545454e+00 -2.24480090289686e-01 9.39418616965357e-03 -7.76124926149706e-02 +-3.93939393939394e+00 -1.43559332096429e-01 9.15085153966975e-03 -8.09143531901379e-02 +-3.33333333333333e+00 -6.39220281148808e-02 9.04513877510316e-03 -8.35599516467107e-02 +-2.72727272727273e+00 1.57062425014503e-02 8.93903756863751e-03 -8.62601360508536e-02 +-2.12121212121212e+00 9.53031491002535e-02 8.83253515425595e-03 -8.91821657696416e-02 +-1.51515151515152e+00 1.74147123075290e-01 8.78844731891615e-03 -9.17076560787992e-02 +-9.09090909090912e-01 2.53240508928630e-01 8.76711750828650e-03 -9.41222754215380e-02 +-3.03030303030302e-01 3.31882170603372e-01 8.78600180837558e-03 -9.63743151777884e-02 + 3.03030303030302e-01 4.09647698678382e-01 8.82689420443985e-03 -9.85423722372210e-02 + 9.09090909090912e-01 4.86846666367031e-01 8.88979009533007e-03 -1.00627811015528e-01 + 1.51515151515152e+00 5.63846752428755e-01 8.98914126857320e-03 -1.02589889632846e-01 + 2.12121212121212e+00 6.40743824826362e-01 9.10397098071506e-03 -1.04501980433720e-01 + 2.72727272727273e+00 7.17039299703843e-01 9.25495798427393e-03 -1.06304286940205e-01 + 3.33333333333333e+00 7.92885856051015e-01 9.42952807082310e-03 -1.08027554190771e-01 + 3.93939393939394e+00 8.68370346536797e-01 9.62337264329312e-03 -1.09686060387563e-01 + 4.54545454545455e+00 9.42977292697981e-01 9.86624362764141e-03 -1.11203184967994e-01 + 5.15151515151515e+00 1.01716641529312e+00 1.01345342351737e-02 -1.12658768779958e-01 + 5.75757575757576e+00 1.09038104780009e+00 1.04622301030989e-02 -1.13978215889056e-01 + 6.36363636363637e+00 1.16268874362706e+00 1.08282047412813e-02 -1.15177595469860e-01 + 6.96969696969697e+00 1.23439891212667e+00 1.12200709858016e-02 -1.16296757415958e-01 + 7.57575757575757e+00 1.30466927371249e+00 1.16596489738690e-02 -1.17216197028992e-01 + 8.18181818181818e+00 1.37390194524851e+00 1.21546319322815e-02 -1.18016004738153e-01 + 8.78787878787879e+00 1.44091125125329e+00 1.27836311051199e-02 -1.18560729178121e-01 + 9.39393939393939e+00 1.50605352579279e+00 1.34705860367534e-02 -1.18873198763912e-01 + 1.00000000000000e+01 1.57019158988612e+00 1.41887118577853e-02 -1.19060310144343e-01 + 1.06060606060606e+01 1.63003379917482e+00 1.50561944589556e-02 -1.18755661378279e-01 + 1.12121212121212e+01 1.68783859245125e+00 1.59970997707975e-02 -1.18238186339937e-01 + 1.18181818181818e+01 1.74185605280116e+00 1.70732616254431e-02 -1.17326277702799e-01 + 1.24242424242424e+01 1.78970874625948e+00 1.84115167492934e-02 -1.15887774985643e-01 + 1.30303030303030e+01 1.83440962036876e+00 1.99162647755827e-02 -1.14199301992287e-01 + 1.36363636363636e+01 1.86931533652268e+00 2.19554555129195e-02 -1.12034718592838e-01 + 1.42424242424242e+01 1.89212721390835e+00 2.47113571990634e-02 -1.09374415328919e-01 + 1.48484848484848e+01 1.89664344993115e+00 2.87515134777788e-02 -1.06028887550748e-01 + 1.54545454545455e+01 1.89087491884982e+00 3.38518612909287e-02 -1.03488547096240e-01 + 1.60606060606061e+01 1.87740151706059e+00 3.97066143972164e-02 -1.01323618830828e-01 + 1.66666666666667e+01 1.82829998357247e+00 4.91779306056142e-02 -1.00233443282260e-01 + 1.72727272727273e+01 1.77919845008435e+00 5.86492468140121e-02 -9.91067240737895e-02 + 1.78787878787879e+01 1.73009691659623e+00 6.81205630224098e-02 -9.79318913213783e-02 + 1.84848484848485e+01 1.67358401790418e+00 7.98454625202510e-02 -9.90977665016595e-02 + 1.90909090909091e+01 1.61521827830414e+00 9.21337577209524e-02 -1.00882706055450e-01 + 1.96969696969697e+01 1.55685253870411e+00 1.04422052921654e-01 -1.02705461966230e-01 + 2.03030303030303e+01 1.51073961486676e+00 1.17020186021894e-01 -1.05671708325642e-01 + 2.09090909090909e+01 1.47687950494398e+00 1.29928156974941e-01 -1.09716617307139e-01 + 2.15151515151515e+01 1.44301939502121e+00 1.42836127927987e-01 -1.13729733812188e-01 + 2.21212121212121e+01 1.40915928509843e+00 1.55857404037402e-01 -1.17716393380007e-01 + 2.27272727272727e+01 1.37529917517565e+00 1.69240394673239e-01 -1.21680886256809e-01 + 2.33333333333333e+01 1.34143906525287e+00 1.82482125670005e-01 -1.25626721259682e-01 + 2.39393939393939e+01 1.30757895533010e+00 1.95620612220262e-01 -1.29556819865902e-01 + 2.45454545454545e+01 1.28627461797643e+00 2.08819822699788e-01 -1.33522212467456e-01 + 2.51515151515151e+01 1.26716618925388e+00 2.21957141665335e-01 -1.37490162734525e-01 + 2.57575757575758e+01 1.25081031101392e+00 2.34975438302101e-01 -1.41455677873574e-01 + 2.63636363636364e+01 1.23443513517049e+00 2.47794353981842e-01 -1.45418693011694e-01 + 2.69696969696970e+01 1.21639644687057e+00 2.61336792529225e-01 -1.49379219953747e-01 + 2.75757575757576e+01 1.20026395774161e+00 2.74855243008982e-01 -1.53337405251222e-01 + 2.81818181818182e+01 1.18502650125796e+00 2.88975417535068e-01 -1.57381610475142e-01 + 2.87878787878788e+01 1.17057763323891e+00 3.04750453154042e-01 -1.61630540447682e-01 + 2.93939393939394e+01 1.15567990062071e+00 3.20141887782003e-01 -1.65879468202683e-01 + 3.00000000000000e+01 1.14070867861587e+00 3.35067984549411e-01 -1.70128393239343e-01 + 3.30000000000000e+01 1.08146500061068e+00 4.09283577210318e-01 -1.90510194908043e-01 + 3.60000000000000e+01 1.05332741246437e+00 4.81205323888711e-01 -2.09778507646108e-01 + 3.90000000000000e+01 1.03419086726614e+00 5.56510350195034e-01 -2.28812221230849e-01 + 4.20000000000000e+01 1.02094813447523e+00 6.33142306713878e-01 -2.45853537145327e-01 + 4.50000000000000e+01 1.01299811654476e+00 7.10710819117307e-01 -2.61409585290216e-01 + 4.80000000000000e+01 9.66318361037130e-01 7.88579557106718e-01 -2.76965561453386e-01 + 5.10000000000000e+01 9.15934767308012e-01 8.65440675807405e-01 -2.91835783154605e-01 + 5.40000000000000e+01 8.64103989887071e-01 9.40858179138476e-01 -3.06353578250403e-01 + 5.70000000000000e+01 8.08733768563903e-01 1.01445357684861e+00 -3.20606823102315e-01 + 6.00000000000000e+01 7.47948327259724e-01 1.08388993979167e+00 -3.34664323926160e-01 + 6.30000000000000e+01 6.83555769688062e-01 1.14946849354669e+00 -3.48291192989368e-01 + 6.60000000000000e+01 6.15986955597199e-01 1.21109090334796e+00 -3.61702744675200e-01 + 6.90000000000000e+01 5.44983555635454e-01 1.26764157773172e+00 -3.75114294690046e-01 + 7.20000000000000e+01 4.70415987797829e-01 1.31671681543173e+00 -3.87498425681486e-01 + 7.50000000000000e+01 3.93982656851500e-01 1.36016672239044e+00 -3.99650477125401e-01 + 7.80000000000000e+01 3.15970077506447e-01 1.39778422332800e+00 -4.11571341080104e-01 + 8.10000000000000e+01 2.36611891998000e-01 1.42680102842255e+00 -4.22781063108185e-01 + 8.40000000000000e+01 1.57136870403664e-01 1.44773373927118e+00 -4.33095271028156e-01 + 8.70000000000000e+01 7.81456640776710e-02 1.46196470766812e+00 -4.43129618913627e-01 + 9.00000000000000e+01 3.06111363530323e-10 1.46940931757822e+00 -4.53163952051006e-01 + 9.30000000000000e+01 -5.47019651823430e-02 1.46196470762352e+00 -4.58060580231405e-01 + 9.60000000000000e+01 -1.09995809432996e-01 1.44773373922143e+00 -4.62957177256066e-01 + 9.90000000000000e+01 -1.65628323963394e-01 1.42680102864992e+00 -4.67202874140125e-01 + 1.02000000000000e+02 -2.21179053819308e-01 1.39778422355528e+00 -4.69365749214074e-01 + 1.05000000000000e+02 -2.75787860014942e-01 1.36016672223348e+00 -4.69874592864246e-01 + 1.08000000000000e+02 -3.29291191703914e-01 1.31671681520579e+00 -4.69825273319445e-01 + 1.11000000000000e+02 -3.81488488620894e-01 1.26764157810033e+00 -4.69194052955110e-01 + 1.14000000000000e+02 -4.31190869281499e-01 1.21109090293448e+00 -4.65986831506465e-01 + 1.17000000000000e+02 -4.78489038845848e-01 1.14946849345849e+00 -4.62779401654770e-01 + 1.20000000000000e+02 -5.23563828944601e-01 1.08388994001560e+00 -4.59372973484259e-01 + 1.23000000000000e+02 -5.66113638445963e-01 1.01445357611233e+00 -4.55568472045263e-01 + 1.26000000000000e+02 -6.04872792847417e-01 9.40858179279210e-01 -4.51582165316624e-01 + 1.29000000000000e+02 -6.41154336845504e-01 8.65440676407776e-01 -4.48254059443226e-01 + 1.32000000000000e+02 -6.76422852552619e-01 7.88579557511760e-01 -4.45846665580974e-01 + 1.35000000000000e+02 -7.09098681860006e-01 7.10710818445515e-01 -4.45220848139104e-01 + 1.38000000000000e+02 -7.39560951715994e-01 6.33142306708570e-01 -4.44502210282375e-01 + 1.41000000000000e+02 -7.69232917174077e-01 5.56510350339046e-01 -4.46328534448274e-01 + 1.44000000000000e+02 -7.98543324644881e-01 4.81205323125451e-01 -4.49443506251084e-01 + 1.47000000000000e+02 -8.29612821751493e-01 4.09283577442060e-01 -4.52573142744422e-01 + 1.50000000000000e+02 -7.87460668778496e-01 3.39912756302951e-01 -4.53507775772638e-01 + 1.53000000000000e+02 -7.08714601811945e-01 2.75250362736608e-01 -4.32937049016304e-01 + 1.56000000000000e+02 -6.29968534845394e-01 2.15581967326897e-01 -4.10215907226233e-01 + 1.59000000000000e+02 -5.51222467878843e-01 1.61169682116680e-01 -3.87493006745529e-01 + 1.62000000000000e+02 -4.72476400912293e-01 1.12985725910785e-01 -4.03934647504630e-01 + 1.65000000000000e+02 -3.93730333945742e-01 7.12836009562450e-02 -4.39959154791109e-01 + 1.68000000000000e+02 -3.14984266979191e-01 3.63599061181616e-02 -4.75983662077588e-01 + 1.71000000000000e+02 -2.36238200012640e-01 2.34256442783311e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.57492133046089e-01 1.76474890437778e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -7.87460671134957e-02 1.40716057787611e-02 -1.50000000451309e-01 + 1.80000000000000e+02 0.00000000000000e+00 1.27312001091097e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_30.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_30.dat new file mode 100644 index 0000000..cc68f63 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_30.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF30_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF30_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-2.869854 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.226121 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-12.335409 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.841524 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.022323 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.008615 Cd0 ! 2D drag coefficient value at 0-lift. +-0.085620 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 0.00000000000000e+00 1.20832240887503e-02 0.00000000000000e+00 +-1.77000000000000e+02 7.76440273301240e-02 1.34423697090514e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.55288053495872e-01 1.70680879314841e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.32932507479151e-01 2.29262393502586e-02 3.60000658682385e-01 +-1.68000000000000e+02 3.10580052378285e-01 3.56984399854584e-02 3.95061834678435e-01 +-1.65000000000000e+02 3.88220135051579e-01 7.08847309852341e-02 3.87655527308671e-01 +-1.62000000000000e+02 4.65868401615214e-01 1.13201847385862e-01 3.80248439254430e-01 +-1.59000000000000e+02 5.43503910190520e-01 1.62078009171456e-01 3.82908552812170e-01 +-1.56000000000000e+02 6.21154243884858e-01 2.17284289010582e-01 4.05705334648466e-01 +-1.53000000000000e+02 6.98797074242373e-01 2.77816907136193e-01 4.28497929632305e-01 +-1.50000000000000e+02 7.76440270977758e-01 3.43415565775625e-01 4.49227483416642e-01 +-1.47000000000000e+02 8.18759771507455e-01 4.13791568950429e-01 4.49323775681293e-01 +-1.44000000000000e+02 7.90394434501658e-01 4.86755284315597e-01 4.47296026780662e-01 +-1.41000000000000e+02 7.63266177911206e-01 5.63152550549599e-01 4.45287798862008e-01 +-1.38000000000000e+02 7.35492106556637e-01 6.40896963538097e-01 4.44590381622497e-01 +-1.35000000000000e+02 7.06640493743449e-01 7.19592777232886e-01 4.46038941007820e-01 +-1.32000000000000e+02 6.75401072644372e-01 7.98595523556838e-01 4.47450273657303e-01 +-1.29000000000000e+02 6.41382069845392e-01 8.76579047585089e-01 4.50480479019539e-01 +-1.26000000000000e+02 6.05949532457003e-01 9.53100579042933e-01 4.54344721333922e-01 +-1.23000000000000e+02 5.67917156856908e-01 1.02777635936629e+00 4.58801071900977e-01 +-1.20000000000000e+02 5.25864306906561e-01 1.09823785845767e+00 4.63027455912574e-01 +-1.17000000000000e+02 4.81137254549071e-01 1.16478948507404e+00 4.66748674764630e-01 +-1.14000000000000e+02 4.34052706155230e-01 1.22733135619976e+00 4.70217326414286e-01 +-1.11000000000000e+02 3.84416373230428e-01 1.28473252826032e+00 4.73685894502939e-01 +-1.08000000000000e+02 3.32115339431661e-01 1.33455608181005e+00 4.74462734701922e-01 +-1.05000000000000e+02 2.78401772226719e-01 1.37867709189828e+00 4.74631558563755e-01 +-1.02000000000000e+02 2.23480482316269e-01 1.41688553755935e+00 4.74223035168945e-01 +-9.90000000000000e+01 1.67487445818576e-01 1.44637483879575e+00 4.72121386200915e-01 +-9.60000000000000e+01 1.11310484518334e-01 1.46766838349175e+00 4.67887666227475e-01 +-9.30000000000000e+01 5.53956018902028e-02 1.48216745076249e+00 4.62987666701635e-01 +-9.00000000000000e+01 -2.16995158086683e-10 1.48978616359396e+00 4.58087654638962e-01 +-8.70000000000000e+01 -5.53956015580707e-02 1.48216745080814e+00 4.46963040681259e-01 +-8.40000000000000e+01 -1.11310484366345e-01 1.46766838354239e+00 4.35838420793713e-01 +-8.10000000000000e+01 -1.67487446257247e-01 1.44637483856467e+00 4.24215153721820e-01 +-7.80000000000000e+01 -2.23480482754939e-01 1.41688553732836e+00 4.10996230897919e-01 +-7.50000000000000e+01 -2.78401772006658e-01 1.37867709205769e+00 3.96510170014844e-01 +-7.20000000000000e+01 -3.32115339185659e-01 1.33455608203944e+00 3.81649820589329e-01 +-6.90000000000000e+01 -3.84416373553921e-01 1.28473252788617e+00 3.66453491001334e-01 +-6.60000000000000e+01 -4.34052705792252e-01 1.22733135661946e+00 3.49769734086550e-01 +-6.30000000000000e+01 -4.81137254485244e-01 1.16478948516355e+00 3.33085975624306e-01 +-6.00000000000000e+01 -5.25864307042160e-01 1.09823785823043e+00 3.16333911844833e-01 +-5.70000000000000e+01 -5.67917156410925e-01 1.02777636011345e+00 2.99445240499769e-01 +-5.40000000000000e+01 -6.05949532529145e-01 9.53100578900133e-01 2.82494474790487e-01 +-5.10000000000000e+01 -6.41382070108610e-01 8.76579046975944e-01 2.65649839958689e-01 +-4.80000000000000e+01 -6.75401072808757e-01 7.98595523145899e-01 2.48956313670151e-01 +-4.50000000000000e+01 -7.06640493475851e-01 7.19592777914464e-01 2.32556809395289e-01 +-4.20000000000000e+01 -7.00006437897143e-01 6.40896963543480e-01 2.16157296012734e-01 +-3.90000000000000e+01 -6.99105370383268e-01 5.63152550403497e-01 1.87343892562784e-01 +-3.60000000000000e+01 -7.04353255917311e-01 4.86755285089910e-01 1.41675813774143e-01 +-3.30000000000000e+01 -7.17678500306362e-01 4.13791568715327e-01 9.41318280257804e-02 +-3.00000000000000e+01 -8.53823368888750e-01 3.04695667562552e-01 6.16673518551415e-02 +-2.93939393939394e+01 -8.93251233134839e-01 2.79273795840984e-01 5.66637995323032e-02 +-2.87878787878788e+01 -9.32861433748398e-01 2.53941234781582e-01 5.16802772209425e-02 +-2.81818181818182e+01 -9.72717220187661e-01 2.28680204654348e-01 4.67195660698900e-02 +-2.75757575757576e+01 -9.87482963594903e-01 2.14086139767289e-01 4.25576641716334e-02 +-2.69696969696970e+01 -9.91768474074665e-01 2.04027189214057e-01 3.87290087139011e-02 +-2.63636363636364e+01 -9.97856725776382e-01 1.93673324621108e-01 3.48930093415005e-02 +-2.57575757575758e+01 -1.00510543430496e+00 1.83187539172048e-01 3.09255640057138e-02 +-2.51515151515151e+01 -1.01263350783476e+00 1.72701753722988e-01 2.69486417260741e-02 +-2.45454545454545e+01 -1.01913393028141e+00 1.62560449926438e-01 2.29717194464345e-02 +-2.39393939393939e+01 -1.02566225049257e+00 1.53291960593646e-01 1.94714211101514e-02 +-2.33333333333333e+01 -1.03135315646634e+00 1.45109829358746e-01 1.67337526731631e-02 +-2.27272727272727e+01 -1.03704456657974e+00 1.36927426966513e-01 1.39958300186323e-02 +-2.21212121212121e+01 -1.04273636418898e+00 1.28744774639724e-01 1.12576991643900e-02 +-2.15151515151515e+01 -1.04842846605788e+00 1.20561891442732e-01 8.51939565358862e-03 +-2.09090909090909e+01 -1.05412081119682e+00 1.12378794549061e-01 5.78094737457223e-03 +-2.03030303030303e+01 -1.05981335389591e+00 1.04195499470153e-01 3.04237651632928e-03 +-1.96969696969697e+01 -1.06211006174370e+00 9.70973934804777e-02 1.03375346424772e-03 +-1.90909090909091e+01 -1.06101388287967e+00 9.10846144610096e-02 -2.57117246191742e-04 +-1.84848484848485e+01 -1.05992171751736e+00 8.50718325225597e-02 -1.55047246965622e-03 +-1.78787878787879e+01 -1.05789386227960e+00 7.92474952330402e-02 -2.74453155028668e-03 +-1.72727272727273e+01 -1.05214391902083e+00 7.41746161923115e-02 -3.54491178144442e-03 +-1.66666666666667e+01 -1.04645210657262e+00 6.90975595900943e-02 -4.34152384256603e-03 +-1.60606060606061e+01 -1.04081863777863e+00 6.40158837900570e-02 -5.13485944534954e-03 +-1.54545454545455e+01 -1.04083793839508e+00 5.90698803599993e-02 -5.30134637582316e-03 +-1.48484848484848e+01 -1.04301773458709e+00 5.40806067985451e-02 -5.39776823160360e-03 +-1.42424242424242e+01 -1.04230392073772e+00 4.90041630280716e-02 -5.49367886438397e-03 +-1.36363636363636e+01 -1.03903400874218e+00 4.42435185583641e-02 -5.70304682594291e-03 +-1.30303030303030e+01 -1.03626689348318e+00 3.99509064600993e-02 -6.07671586942945e-03 +-1.24242424242424e+01 -1.03380140851872e+00 3.56905177244040e-02 -6.51014591836784e-03 +-1.18181818181818e+01 -1.02354757127371e+00 3.15718083424084e-02 -8.48878783375785e-03 +-1.12121212121212e+01 -9.94343666657777e-01 2.77836841546618e-02 -1.36430824010611e-02 +-1.06060606060606e+01 -9.67168407217248e-01 2.39955599669151e-02 -1.85485542954257e-02 +-1.00000000000000e+01 -9.36348275645290e-01 2.02074357791684e-02 -2.34540261897904e-02 +-9.39393939393939e+00 -8.57663326543026e-01 1.78325177208501e-02 -3.29319988493004e-02 +-8.78787878787879e+00 -7.81711417212130e-01 1.54601878543782e-02 -4.21035744240836e-02 +-8.18181818181818e+00 -7.05049181775190e-01 1.29320257226431e-02 -5.15116717091803e-02 +-7.57575757575758e+00 -6.24897110524211e-01 1.15715993468610e-02 -5.82385548170254e-02 +-6.96969696969697e+00 -5.42990358079095e-01 1.07757157925836e-02 -6.31802197525911e-02 +-6.36363636363636e+00 -4.61055553462062e-01 9.97764489675560e-03 -6.79968532108500e-02 +-5.75757575757576e+00 -3.79775582306752e-01 9.41904998333750e-03 -7.21175232306053e-02 +-5.15151515151515e+00 -2.99586671544349e-01 9.21302769060023e-03 -7.51948879975607e-02 +-4.54545454545454e+00 -2.19396445177754e-01 8.99442251168446e-03 -7.82708035703727e-02 +-3.93939393939394e+00 -1.39328484412293e-01 8.77911685582114e-03 -8.12799493196793e-02 +-3.33333333333333e+00 -6.03774704354972e-02 8.68654707738971e-03 -8.37156437508959e-02 +-2.72727272727273e+00 1.85739833806668e-02 8.59358241766690e-03 -8.62058004030913e-02 +-2.12121212121212e+00 9.75201851887226e-02 8.50020935976278e-03 -8.88926178841219e-02 +-1.51515151515152e+00 1.75849045591588e-01 8.46457277183013e-03 -9.12554411201614e-02 +-9.09090909090912e-01 2.54169120968804e-01 8.45010168139152e-03 -9.35169964753433e-02 +-3.03030303030302e-01 3.32104710072157e-01 8.47344453430621e-03 -9.56332584983215e-02 + 3.03030303030302e-01 4.09382922583042e-01 8.51807290243812e-03 -9.76725805521126e-02 + 9.09090909090912e-01 4.86156284568663e-01 8.58398283135680e-03 -9.96365834733366e-02 + 1.51515151515152e+00 5.62746950277229e-01 8.68487145040572e-03 -1.01490317369619e-01 + 2.12121212121212e+00 6.39234926434950e-01 8.80126669024626e-03 -1.03298470473145e-01 + 2.72727272727273e+00 7.15122268344910e-01 8.95498073970579e-03 -1.05005293694525e-01 + 3.33333333333333e+00 7.90554276342659e-01 9.13387827586553e-03 -1.06635160574184e-01 + 3.93939393939394e+00 8.65619094670625e-01 9.33335550834455e-03 -1.08201971876599e-01 + 4.54545454545455e+00 9.39792330995132e-01 9.58534404806456e-03 -1.09631843780442e-01 + 5.15151515151515e+00 1.01357929170630e+00 9.85856657860457e-03 -1.11005496003616e-01 + 5.75757575757576e+00 1.08649532115277e+00 1.01773806147111e-02 -1.12257499896739e-01 + 6.36363636363637e+00 1.15837466725619e+00 1.05516607180490e-02 -1.13380931541257e-01 + 6.96969696969697e+00 1.22956817085542e+00 1.09633233373799e-02 -1.14418464021509e-01 + 7.57575757575757e+00 1.29931797870087e+00 1.14216892949277e-02 -1.15260044558449e-01 + 8.18181818181818e+00 1.36795006524456e+00 1.19421934107533e-02 -1.15976307971752e-01 + 8.78787878787879e+00 1.43417289786058e+00 1.26122683725093e-02 -1.16423731947135e-01 + 9.39393939393939e+00 1.49861645779530e+00 1.33298582923211e-02 -1.16651056818045e-01 + 1.00000000000000e+01 1.56210266018582e+00 1.40729262371461e-02 -1.16759548158251e-01 + 1.06060606060606e+01 1.62138290300123e+00 1.49559476443822e-02 -1.16396406464436e-01 + 1.12121212121212e+01 1.67873111176381e+00 1.59063692028145e-02 -1.15836331788703e-01 + 1.18181818181818e+01 1.73249026683011e+00 1.69813472974015e-02 -1.14911317907698e-01 + 1.24242424242424e+01 1.78045837741538e+00 1.83006340221486e-02 -1.13506570942693e-01 + 1.30303030303030e+01 1.82542300116102e+00 1.97785936445490e-02 -1.11871636520864e-01 + 1.36363636363636e+01 1.86048233528040e+00 2.17997489332796e-02 -1.09772855701554e-01 + 1.42424242424242e+01 1.88653943748507e+00 2.43385849039595e-02 -1.07412378697715e-01 + 1.48484848484848e+01 1.89778878247523e+00 2.77378393023045e-02 -1.04670565895267e-01 + 1.54545454545455e+01 1.89717913699089e+00 3.24242861715975e-02 -1.02322480472904e-01 + 1.60606060606061e+01 1.88742900894466e+00 3.79356671429028e-02 -1.00209034355541e-01 + 1.66666666666667e+01 1.84094123317604e+00 4.70128806304952e-02 -9.90108576220681e-02 + 1.72727272727273e+01 1.79445345740742e+00 5.60900941180876e-02 -9.77711586773182e-02 + 1.78787878787879e+01 1.74796568163880e+00 6.51673076056800e-02 -9.64779432446707e-02 + 1.84848484848485e+01 1.69173152125408e+00 7.66077851757422e-02 -9.74624932181577e-02 + 1.90909090909091e+01 1.63306076523215e+00 8.86390786411052e-02 -9.90307156953573e-02 + 1.96969696969697e+01 1.57439000921022e+00 1.00670372106468e-01 -1.00608408389275e-01 + 2.03030303030303e+01 1.52739700522227e+00 1.13223842375174e-01 -1.03463137213908e-01 + 2.09090909090909e+01 1.49208175150694e+00 1.26299489368460e-01 -1.07555775936084e-01 + 2.15151515151515e+01 1.45676649779160e+00 1.39375136361747e-01 -1.11616077553687e-01 + 2.21212121212121e+01 1.42145124407627e+00 1.52564503044697e-01 -1.15649335249522e-01 + 2.27272727272727e+01 1.38613599036093e+00 1.66116907607035e-01 -1.19659780567333e-01 + 2.33333333333333e+01 1.35082073664560e+00 1.79527535723958e-01 -1.23650844904774e-01 + 2.39393939393939e+01 1.31550548293026e+00 1.92834541668750e-01 -1.27625349849800e-01 + 2.45454545454545e+01 1.28943792478963e+00 2.06664149207467e-01 -1.31783332802610e-01 + 2.51515151515151e+01 1.26527393971715e+00 2.20482933828688e-01 -1.35957658549476e-01 + 2.57575757575758e+01 1.24411610786846e+00 2.34182260671234e-01 -1.40126145359404e-01 + 2.63636363636364e+01 1.22338429376931e+00 2.47681477110297e-01 -1.44288043617846e-01 + 2.69696969696970e+01 1.20203015529141e+00 2.61702090228317e-01 -1.48442483390023e-01 + 2.75757575757576e+01 1.18165464333398e+00 2.75780146181552e-01 -1.52588456112662e-01 + 2.81818181818182e+01 1.16274015020476e+00 2.90464498126394e-01 -1.56784681447705e-01 + 2.87878787878788e+01 1.14739937058249e+00 3.06664142625710e-01 -1.61117006758950e-01 + 2.93939393939394e+01 1.13162608207894e+00 3.22479649033214e-01 -1.65449321643720e-01 + 3.00000000000000e+01 1.11580124140275e+00 3.37828541765148e-01 -1.69781619314912e-01 + 3.30000000000000e+01 1.05566289172429e+00 4.13791568715328e-01 -1.90501325773988e-01 + 3.60000000000000e+01 1.03311254889891e+00 4.86755285089910e-01 -2.09963139113171e-01 + 3.90000000000000e+01 1.01937616121264e+00 5.63152550403498e-01 -2.29201207605069e-01 + 4.20000000000000e+01 1.01320300936386e+00 6.40896963543481e-01 -2.46539566233348e-01 + 4.50000000000000e+01 1.00948641925121e+00 7.19592777914464e-01 -2.62461828486006e-01 + 4.80000000000000e+01 9.64858675441081e-01 7.98595523145899e-01 -2.78384061761114e-01 + 5.10000000000000e+01 9.16260100155158e-01 8.76579046975944e-01 -2.93618573679955e-01 + 5.40000000000000e+01 8.65642189327350e-01 9.53100578900133e-01 -3.08499645514870e-01 + 5.70000000000000e+01 8.11310223444179e-01 1.02777636011345e+00 -3.23114579988624e-01 + 6.00000000000000e+01 7.51234724345942e-01 1.09823785823044e+00 -3.37516718300206e-01 + 6.30000000000000e+01 6.87338934978920e-01 1.16478948516355e+00 -3.51450707437245e-01 + 6.60000000000000e+01 6.20075293988931e-01 1.22733135661947e+00 -3.65150621350119e-01 + 6.90000000000000e+01 5.49166247934172e-01 1.28473252788617e+00 -3.78850534510624e-01 + 7.20000000000000e+01 4.74450484550941e-01 1.33455608203944e+00 -3.91456422133723e-01 + 7.50000000000000e+01 3.97716817152368e-01 1.37867709205769e+00 -4.03815190651079e-01 + 7.80000000000000e+01 3.19257832507056e-01 1.41688553732836e+00 -4.15931250185938e-01 + 8.10000000000000e+01 2.39267780367496e-01 1.44637483856467e+00 -4.27310829654988e-01 + 8.40000000000000e+01 1.59014977666207e-01 1.46766838354239e+00 -4.37762989028138e-01 + 8.70000000000000e+01 7.91365736543864e-02 1.48216745080814e+00 -4.47925324819160e-01 + 9.00000000000000e+01 3.09992947415638e-10 1.48978616359396e+00 -4.58087654642731e-01 + 9.30000000000000e+01 -5.53956018902025e-02 1.48216745076249e+00 -4.62987666701635e-01 + 9.60000000000000e+01 -1.11310484518335e-01 1.46766838349175e+00 -4.67887666227475e-01 + 9.90000000000000e+01 -1.67487445818577e-01 1.44637483879575e+00 -4.72121386200915e-01 + 1.02000000000000e+02 -2.23480482316269e-01 1.41688553755935e+00 -4.74223035168945e-01 + 1.05000000000000e+02 -2.78401772226719e-01 1.37867709189828e+00 -4.74631558563755e-01 + 1.08000000000000e+02 -3.32115339431661e-01 1.33455608181005e+00 -4.74462734701922e-01 + 1.11000000000000e+02 -3.84416373230429e-01 1.28473252826031e+00 -4.73685894502939e-01 + 1.14000000000000e+02 -4.34052706155230e-01 1.22733135619976e+00 -4.70217326414286e-01 + 1.17000000000000e+02 -4.81137254549071e-01 1.16478948507404e+00 -4.66748674764630e-01 + 1.20000000000000e+02 -5.25864306906562e-01 1.09823785845767e+00 -4.63027455912574e-01 + 1.23000000000000e+02 -5.67917156856908e-01 1.02777635936629e+00 -4.58801071900977e-01 + 1.26000000000000e+02 -6.05949532457003e-01 9.53100579042933e-01 -4.54344721333922e-01 + 1.29000000000000e+02 -6.41382069845392e-01 8.76579047585088e-01 -4.50480479019539e-01 + 1.32000000000000e+02 -6.75401072644373e-01 7.98595523556837e-01 -4.47450273657303e-01 + 1.35000000000000e+02 -7.06640493743449e-01 7.19592777232886e-01 -4.46038941007820e-01 + 1.38000000000000e+02 -7.35492106556637e-01 6.40896963538096e-01 -4.44590381622497e-01 + 1.41000000000000e+02 -7.63266177911206e-01 5.63152550549598e-01 -4.45287798862008e-01 + 1.44000000000000e+02 -7.90394434501658e-01 4.86755284315597e-01 -4.47296026780662e-01 + 1.47000000000000e+02 -8.18759771507456e-01 4.13791568950429e-01 -4.49323775681293e-01 + 1.50000000000000e+02 -7.76440270977757e-01 3.43415565775624e-01 -4.49227483416642e-01 + 1.53000000000000e+02 -6.98796243792521e-01 2.77816242603301e-01 -4.28497685858483e-01 + 1.56000000000000e+02 -6.21152216607286e-01 2.17282775111400e-01 -4.05704739501174e-01 + 1.59000000000000e+02 -5.43508189422050e-01 1.62080955269347e-01 -3.82909809174884e-01 + 1.62000000000000e+02 -4.65864162236815e-01 1.13199465364677e-01 -4.00248843792988e-01 + 1.65000000000000e+02 -3.88220135051579e-01 7.08847309852342e-02 -4.37655527475197e-01 + 1.68000000000000e+02 -3.10576107866343e-01 3.56968013694605e-02 -4.75062211157406e-01 + 1.71000000000000e+02 -2.32932080681107e-01 2.29262043354612e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.55288053495872e-01 1.70680879314841e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -7.76440273301240e-02 1.34423697090514e-02 -1.50000000451309e-01 + 1.80000000000000e+02 0.00000000000000e+00 1.20832240887503e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_31.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_31.dat new file mode 100644 index 0000000..834f5fa --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_31.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF31_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF31_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-2.891869 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.261583 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-12.346612 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.841558 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.046097 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.008308 Cd0 ! 2D drag coefficient value at 0-lift. +-0.085502 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 0.00000000000000e+00 1.17895309867403e-02 0.00000000000000e+00 +-1.77000000000000e+02 7.66179283466238e-02 1.31574346947907e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.53235855544259e-01 1.68064157273532e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.29854204905634e-01 2.27017957710690e-02 3.60000658682385e-01 +-1.68000000000000e+02 3.06475604335091e-01 3.53893951374526e-02 3.94175838702623e-01 +-1.65000000000000e+02 3.83089640155210e-01 7.06899700569865e-02 3.85440706132014e-01 +-1.62000000000000e+02 4.59711751712063e-01 1.13505495956874e-01 3.76704652808044e-01 +-1.59000000000000e+02 5.36321273882852e-01 1.63240368425941e-01 3.78491327199042e-01 +-1.56000000000000e+02 6.12945425252394e-01 2.19283631600079e-01 4.01326249033883e-01 +-1.53000000000000e+02 6.89562172444912e-01 2.80613974057415e-01 4.24158287267771e-01 +-1.50000000000000e+02 7.66179281173461e-01 3.46972753623552e-01 4.45006753683762e-01 +-1.47000000000000e+02 8.08574706167545e-01 4.18074231451697e-01 4.46017876319669e-01 +-1.44000000000000e+02 7.82513290039372e-01 4.91715551067621e-01 4.45022854637548e-01 +-1.41000000000000e+02 7.57294771474842e-01 5.68758879022078e-01 4.44148867024124e-01 +-1.38000000000000e+02 7.31250017366247e-01 6.47107888028276e-01 4.44627759831621e-01 +-1.35000000000000e+02 7.03973594297821e-01 7.26371421825714e-01 4.46415640441877e-01 +-1.32000000000000e+02 6.74250137997157e-01 8.05905332063065e-01 4.48201548441718e-01 +-1.29000000000000e+02 6.41481471834970e-01 8.84378749827798e-01 4.51530080720248e-01 +-1.26000000000000e+02 6.06447678536051e-01 9.61351355265447e-01 4.55651525243270e-01 +-1.23000000000000e+02 5.68763241084457e-01 1.03644046646086e+00 4.60333547514005e-01 +-1.20000000000000e+02 5.26949802356907e-01 1.10726246123031e+00 4.64762603472072e-01 +-1.17000000000000e+02 4.82391110184888e-01 1.17412855971172e+00 4.68635173723559e-01 +-1.14000000000000e+02 4.35410825325854e-01 1.23694075841412e+00 4.72229501952956e-01 +-1.11000000000000e+02 3.85808083195273e-01 1.29456190392304e+00 4.75823825788181e-01 +-1.08000000000000e+02 3.33459234619427e-01 1.34453990953216e+00 4.76670975235014e-01 +-1.05000000000000e+02 2.79646766344284e-01 1.38876530357656e+00 4.76897599799256e-01 +-1.02000000000000e+02 2.24577507429185e-01 1.42702771708863e+00 4.76537692662092e-01 +-9.90000000000000e+01 1.68374164441219e-01 1.45650244581269e+00 4.74465951446090e-01 +-9.60000000000000e+01 1.11937817841706e-01 1.47771791154129e+00 4.70238567983630e-01 +-9.30000000000000e+01 5.57267271872248e-02 1.49208557031928e+00 4.65337545907203e-01 +-9.00000000000000e+01 -2.18292237923765e-10 1.49951930207697e+00 4.60436523103374e-01 +-8.70000000000000e+01 -5.57267268531074e-02 1.49208557036384e+00 4.49246120671795e-01 +-8.40000000000000e+01 -1.11937817688975e-01 1.47771791159165e+00 4.38055717835237e-01 +-8.10000000000000e+01 -1.68374164881538e-01 1.45650244558175e+00 4.26361324035110e-01 +-7.80000000000000e+01 -2.24577507869503e-01 1.42702771685773e+00 4.13054160197324e-01 +-7.50000000000000e+01 -2.79646766123670e-01 1.38876530373626e+00 3.98466267130883e-01 +-7.20000000000000e+01 -3.33459234373160e-01 1.34453990976223e+00 3.83498760660284e-01 +-6.90000000000000e+01 -3.85808083518546e-01 1.29456190354749e+00 3.68188967897967e-01 +-6.60000000000000e+01 -4.35410824963120e-01 1.23694075883547e+00 3.51363812168474e-01 +-6.30000000000000e+01 -4.82391110121243e-01 1.17412855980163e+00 3.34538656199506e-01 +-6.00000000000000e+01 -5.26949802491729e-01 1.10726246100194e+00 3.17639174721852e-01 +-5.70000000000000e+01 -5.68763240640999e-01 1.03644046721193e+00 3.00591042518866e-01 +-5.40000000000000e+01 -6.06447678607529e-01 9.61351355121836e-01 2.83475341522700e-01 +-5.10000000000000e+01 -6.41481472095062e-01 8.84378749214940e-01 2.66466918175345e-01 +-4.80000000000000e+01 -6.74250138152070e-01 8.05905331649444e-01 2.49611568962274e-01 +-4.50000000000000e+01 -7.03973594041714e-01 7.26371422512018e-01 2.33054068503746e-01 +-4.20000000000000e+01 -6.93750017364419e-01 6.47107888033700e-01 2.16496567386961e-01 +-3.90000000000000e+01 -6.87895745245217e-01 5.68758878874792e-01 1.87882921432852e-01 +-3.60000000000000e+01 -6.89409687050120e-01 4.91715551848791e-01 1.43034106572928e-01 +-3.30000000000000e+01 -6.99126399856909e-01 4.18074231214302e-01 9.62568698903876e-02 +-3.00000000000000e+01 -8.35606949449805e-01 3.07664397575697e-01 6.31779655228738e-02 +-2.93939393939394e+01 -8.76120152028696e-01 2.81731642292208e-01 5.78894054887636e-02 +-2.87878787878788e+01 -9.16987630003386e-01 2.55828015426259e-01 5.26075532994962e-02 +-2.81818181818182e+01 -9.58226672187010e-01 2.29948768492798e-01 4.73336077412942e-02 +-2.75757575757576e+01 -9.75650751015670e-01 2.14777945169096e-01 4.29396137179779e-02 +-2.69696969696970e+01 -9.82998418531704e-01 2.04193275606533e-01 3.89212367210293e-02 +-2.63636363636364e+01 -9.91117479813220e-01 1.93512823786211e-01 3.49051452677807e-02 +-2.57575757575758e+01 -9.99897585015420e-01 1.82778742179400e-01 3.08374184535198e-02 +-2.51515151515151e+01 -1.00898500835556e+00 1.72044660572589e-01 2.67655321428113e-02 +-2.45454545454545e+01 -1.01953497178231e+00 1.61421345923173e-01 2.26936458321028e-02 +-2.39393939393939e+01 -1.03028621304764e+00 1.51252283874209e-01 1.88648433529952e-02 +-2.33333333333333e+01 -1.03752076943337e+00 1.42994955011636e-01 1.60897049943632e-02 +-2.27272727272727e+01 -1.04475548867952e+00 1.34737538959302e-01 1.33144848929054e-02 +-2.21212121212121e+01 -1.05199033310475e+00 1.26480042541323e-01 1.05391978455061e-02 +-2.15151515151515e+01 -1.05922527581991e+00 1.18222471887780e-01 7.76385528095061e-03 +-2.09090909090909e+01 -1.06646029712255e+00 1.09964832520763e-01 4.98846616664538e-03 +-2.03030303030303e+01 -1.07369538224625e+00 1.01707129427926e-01 2.21303763738765e-03 +-1.96969696969697e+01 -1.07691939730139e+00 9.46075564461023e-02 2.06094420336308e-04 +-1.90909090909091e+01 -1.07613329423381e+00 8.86661580325238e-02 -1.03300840828377e-03 +-1.84848484848485e+01 -1.07534848771288e+00 8.27247586803560e-02 -2.27227432126165e-03 +-1.78787878787879e+01 -1.07348027805884e+00 7.69842603356442e-02 -3.41333915551277e-03 +-1.72727272727273e+01 -1.06728513305380e+00 7.20466200397715e-02 -4.16166896390560e-03 +-1.66666666666667e+01 -1.06110876698862e+00 6.71076364625599e-02 -4.90983103656612e-03 +-1.60606060606061e+01 -1.05495124862164e+00 6.21671675972802e-02 -5.65785613644865e-03 +-1.54545454545455e+01 -1.04977614269167e+00 5.76242549795040e-02 -5.89364072280919e-03 +-1.48484848484848e+01 -1.04520523298601e+00 5.31067546976131e-02 -6.07249704819221e-03 +-1.42424242424242e+01 -1.03994669874652e+00 4.85612251179113e-02 -6.25133498200128e-03 +-1.36363636363636e+01 -1.03481845637144e+00 4.42036189582108e-02 -6.49524492362789e-03 +-1.30303030303030e+01 -1.03043953319077e+00 4.00486614830377e-02 -6.81098853107594e-03 +-1.24242424242424e+01 -1.02607666781222e+00 3.59061022248623e-02 -7.14594912894313e-03 +-1.18181818181818e+01 -1.01530943884548e+00 3.18480830302770e-02 -8.80469942158637e-03 +-1.12121212121212e+01 -9.89557315353020e-01 2.79873240053208e-02 -1.34263275093041e-02 +-1.06060606060606e+01 -9.64462489603623e-01 2.41265649803646e-02 -1.79542400030521e-02 +-1.00000000000000e+01 -9.38075024153964e-01 2.02658059554084e-02 -2.24821524968000e-02 +-9.39393939393939e+00 -8.58267850665237e-01 1.77092780065664e-02 -3.25710280578395e-02 +-8.78787878787879e+00 -7.79242484566499e-01 1.51563365013871e-02 -4.25309829186810e-02 +-8.18181818181818e+00 -6.99980606617861e-01 1.25488154286931e-02 -5.25641775006258e-02 +-7.57575757575758e+00 -6.18813703267919e-01 1.12141656815457e-02 -5.90939788433566e-02 +-6.96969696969697e+00 -5.36835570829163e-01 1.04464423572005e-02 -6.39119922565322e-02 +-6.36363636363636e+00 -4.54819713527022e-01 9.67799748791535e-03 -6.86900749902889e-02 +-5.75757575757576e+00 -3.73791599401264e-01 9.12787281525973e-03 -7.27278084937014e-02 +-5.15151515151515e+00 -2.94297726705927e-01 8.90311846390946e-03 -7.56550520101636e-02 +-4.54545454545454e+00 -2.14802470793590e-01 8.67431800061043e-03 -7.85822187344183e-02 +-3.93939393939394e+00 -1.35420285440061e-01 8.45679563601549e-03 -8.14501879172096e-02 +-3.33333333333333e+00 -5.70717223976775e-02 8.37069381176170e-03 -8.37868351848486e-02 +-2.72727272727273e+00 2.12786978760307e-02 8.28446411774716e-03 -8.61409367925940e-02 +-2.12121212121212e+00 9.96321591633585e-02 8.19810208179682e-03 -8.85536275052085e-02 +-1.51515151515152e+00 1.77454644786818e-01 8.16876597341872e-03 -9.07369515192195e-02 +-9.09090909090912e-01 2.55091119053216e-01 8.15997800591950e-03 -9.28410798358193e-02 +-3.03030303030302e-01 3.32348944425181e-01 8.18673612563527e-03 -9.48233783295887e-02 + 3.03030303030302e-01 4.09264290653926e-01 8.23403703878381e-03 -9.67393165982553e-02 + 9.09090909090912e-01 4.85857749213511e-01 8.30187959243419e-03 -9.85894607570181e-02 + 1.51515151515152e+00 5.62082703268561e-01 8.40363166253461e-03 -1.00342984048058e-01 + 2.12121212121212e+00 6.38128023132504e-01 8.52076497875353e-03 -1.02056074625026e-01 + 2.72727272727273e+00 7.13614431028705e-01 8.67548297815436e-03 -1.03676662213073e-01 + 3.33333333333333e+00 7.88654026037110e-01 8.85663313878439e-03 -1.05223550646210e-01 + 3.93939393939394e+00 8.63329791503706e-01 9.05940084606154e-03 -1.06710110695777e-01 + 4.54545454545455e+00 9.37104138541998e-01 9.31787572462661e-03 -1.08064860926766e-01 + 5.15151515151515e+00 1.01049642622429e+00 9.59629519917606e-03 -1.09367491990858e-01 + 5.75757575757576e+00 1.08304078630212e+00 9.91576764355175e-03 -1.10558140968621e-01 + 6.36363636363637e+00 1.15446718735348e+00 1.03031454213241e-02 -1.11614894680038e-01 + 6.96969696969697e+00 1.22514965064509e+00 1.07359292939839e-02 -1.12582323630866e-01 + 7.57575757575757e+00 1.29431899982739e+00 1.12234857408732e-02 -1.13353624364197e-01 + 8.18181818181818e+00 1.36234543773866e+00 1.17760877013245e-02 -1.13998190005608e-01 + 8.78787878787879e+00 1.42789787297788e+00 1.24769965830877e-02 -1.14370961910498e-01 + 9.39393939393939e+00 1.49173685164919e+00 1.32193922771381e-02 -1.14535417588906e-01 + 1.00000000000000e+01 1.55465335596590e+00 1.39840799893276e-02 -1.14587597011602e-01 + 1.06060606060606e+01 1.61345693626899e+00 1.48821670830085e-02 -1.14190429061185e-01 + 1.12121212121212e+01 1.67041369759413e+00 1.58444379324166e-02 -1.13611665969631e-01 + 1.18181818181818e+01 1.72394079901562e+00 1.69257967507088e-02 -1.12695905457212e-01 + 1.24242424242424e+01 1.77192755958040e+00 1.82499458493311e-02 -1.11340968295126e-01 + 1.30303030303030e+01 1.81700665070879e+00 1.97150208734941e-02 -1.09773860784236e-01 + 1.36363636363636e+01 1.85197670632572e+00 2.17281867498743e-02 -1.07755957681053e-01 + 1.42424242424242e+01 1.88028174477616e+00 2.41583981613284e-02 -1.05623261751453e-01 + 1.48484848484848e+01 1.89796168933575e+00 2.72186235004304e-02 -1.03313515463890e-01 + 1.54545454545455e+01 1.89988313785701e+00 3.16897423220753e-02 -1.01124936338139e-01 + 1.60606060606061e+01 1.89189910043347e+00 3.70244447519621e-02 -9.90741216265627e-02 + 1.66666666666667e+01 1.84652384875907e+00 4.58988768056898e-02 -9.78720081850370e-02 + 1.72727272727273e+01 1.80114859708468e+00 5.47733088594175e-02 -9.66556774419610e-02 + 1.78787878787879e+01 1.75577334541028e+00 6.36477409131452e-02 -9.54212043865808e-02 + 1.84848484848485e+01 1.69941818915184e+00 7.49418721544642e-02 -9.63706200007766e-02 + 1.90909090909091e+01 1.64031805732961e+00 8.68409280643718e-02 -9.78670481694970e-02 + 1.96969696969697e+01 1.58121792550738e+00 9.87399839742794e-02 -9.93614301372630e-02 + 2.03030303030303e+01 1.53352132933322e+00 1.11270473450057e-01 -1.02106447491407e-01 + 2.09090909090909e+01 1.49722826708711e+00 1.24432396396463e-01 -1.06094155491130e-01 + 2.15151515151515e+01 1.46093520484100e+00 1.37594319342870e-01 -1.10071389043057e-01 + 2.21212121212121e+01 1.42464214259490e+00 1.50792808486426e-01 -1.14039839093084e-01 + 2.27272727272727e+01 1.38834908034879e+00 1.64108031281907e-01 -1.18000852982368e-01 + 2.33333333333333e+01 1.35205601810268e+00 1.77377666321482e-01 -1.21955517933217e-01 + 2.39393939393939e+01 1.31576295585657e+00 1.90613981987900e-01 -1.25904721453420e-01 + 2.45454545454545e+01 1.28705613119175e+00 2.04818555207619e-01 -1.30186286737678e-01 + 2.51515151515151e+01 1.26017599223873e+00 2.19108561276060e-01 -1.34503002781374e-01 + 2.57575757575758e+01 1.23652851010399e+00 2.33360156083452e-01 -1.38817234529442e-01 + 2.63636363636364e+01 1.21334621969315e+00 2.47547406040036e-01 -1.43128618597457e-01 + 2.69696969696970e+01 1.19039990550298e+00 2.61865708237871e-01 -1.47436717650852e-01 + 2.75757575757576e+01 1.16784787776118e+00 2.76217051639130e-01 -1.51741000828329e-01 + 2.81818181818182e+01 1.14676070274879e+00 2.91181651418707e-01 -1.56080485336078e-01 + 2.87878787878788e+01 1.12907408130172e+00 3.07582513871360e-01 -1.60510813982491e-01 + 2.93939393939394e+01 1.11149122783827e+00 3.23860012814197e-01 -1.64941137810488e-01 + 3.00000000000000e+01 1.09413561382551e+00 3.39987549903363e-01 -1.69371453514415e-01 + 3.30000000000000e+01 1.03141952432994e+00 4.18074231214302e-01 -1.90490653178903e-01 + 3.60000000000000e+01 1.01379605565484e+00 4.91715551848791e-01 -2.10050807993984e-01 + 3.90000000000000e+01 1.00684967360412e+00 5.68758878874792e-01 -2.29386238343731e-01 + 4.20000000000000e+01 1.00714288194917e+00 6.47107888033700e-01 -2.46866475177819e-01 + 4.50000000000000e+01 1.00567656291673e+00 7.26371422512018e-01 -2.62963850077348e-01 + 4.80000000000000e+01 9.63214483074386e-01 8.05905331649444e-01 -2.79061223270593e-01 + 5.10000000000000e+01 9.16402102992945e-01 8.84378749214940e-01 -2.94469901865559e-01 + 5.40000000000000e+01 8.66353826582185e-01 9.61351355121836e-01 -3.09524638529138e-01 + 5.70000000000000e+01 8.12518915201427e-01 1.03644046721193e+00 -3.24312463772344e-01 + 6.00000000000000e+01 7.52785432131041e-01 1.10726246100194e+00 -3.38879291085621e-01 + 6.30000000000000e+01 6.89130157316062e-01 1.17412855980163e+00 -3.52959923609056e-01 + 6.60000000000000e+01 6.22015464233028e-01 1.23694075883547e+00 -3.66797458646393e-01 + 6.90000000000000e+01 5.51154405026494e-01 1.29456190354749e+00 -3.80634993514338e-01 + 7.20000000000000e+01 4.76370334818800e-01 1.34453990976223e+00 -3.93346512147599e-01 + 7.50000000000000e+01 3.99495380176670e-01 1.38876530373626e+00 -4.05803689089187e-01 + 7.80000000000000e+01 3.20825011242147e-01 1.42702771685773e+00 -4.18012627764143e-01 + 8.10000000000000e+01 2.40534521259339e-01 1.45650244558175e+00 -4.29472938626896e-01 + 8.40000000000000e+01 1.59911168127106e-01 1.47771791159165e+00 -4.39990533054859e-01 + 8.70000000000000e+01 7.96096097901531e-02 1.49208557036384e+00 -4.50213528280574e-01 + 9.00000000000000e+01 3.11845921268402e-10 1.49951930207697e+00 -4.60436523107163e-01 + 9.30000000000000e+01 -5.57267271872246e-02 1.49208557031928e+00 -4.65337545907203e-01 + 9.60000000000000e+01 -1.11937817841707e-01 1.47771791154129e+00 -4.70238567983630e-01 + 9.90000000000000e+01 -1.68374164441219e-01 1.45650244581269e+00 -4.74465951446090e-01 + 1.02000000000000e+02 -2.24577507429185e-01 1.42702771708863e+00 -4.76537692662092e-01 + 1.05000000000000e+02 -2.79646766344284e-01 1.38876530357656e+00 -4.76897599799256e-01 + 1.08000000000000e+02 -3.33459234619426e-01 1.34453990953216e+00 -4.76670975235014e-01 + 1.11000000000000e+02 -3.85808083195274e-01 1.29456190392304e+00 -4.75823825788181e-01 + 1.14000000000000e+02 -4.35410825325854e-01 1.23694075841412e+00 -4.72229501952956e-01 + 1.17000000000000e+02 -4.82391110184887e-01 1.17412855971172e+00 -4.68635173723559e-01 + 1.20000000000000e+02 -5.26949802356907e-01 1.10726246123031e+00 -4.64762603472072e-01 + 1.23000000000000e+02 -5.68763241084457e-01 1.03644046646086e+00 -4.60333547514005e-01 + 1.26000000000000e+02 -6.06447678536051e-01 9.61351355265447e-01 -4.55651525243270e-01 + 1.29000000000000e+02 -6.41481471834971e-01 8.84378749827798e-01 -4.51530080720248e-01 + 1.32000000000000e+02 -6.74250137997157e-01 8.05905332063064e-01 -4.48201548441718e-01 + 1.35000000000000e+02 -7.03973594297821e-01 7.26371421825714e-01 -4.46415640441877e-01 + 1.38000000000000e+02 -7.31250017366247e-01 6.47107888028276e-01 -4.44627759831621e-01 + 1.41000000000000e+02 -7.57294771474842e-01 5.68758879022077e-01 -4.44148867024124e-01 + 1.44000000000000e+02 -7.82513290039372e-01 4.91715551067621e-01 -4.45022854637548e-01 + 1.47000000000000e+02 -8.08574706167546e-01 4.18074231451697e-01 -4.46017876319669e-01 + 1.50000000000000e+02 -7.66179281173460e-01 3.46972753623551e-01 -4.45006753683762e-01 + 1.53000000000000e+02 -6.89561352969810e-01 2.80613301328324e-01 -4.24158043065150e-01 + 1.56000000000000e+02 -6.12943424766160e-01 2.19282096335551e-01 -4.01325652873699e-01 + 1.59000000000000e+02 -5.36325496562510e-01 1.63243362620789e-01 -3.78492585627270e-01 + 1.62000000000000e+02 -4.59707568358860e-01 1.13503068968899e-01 -3.96705129904392e-01 + 1.65000000000000e+02 -3.83089640155210e-01 7.06899700569867e-02 -4.35440706298540e-01 + 1.68000000000000e+02 -3.06471711951560e-01 3.53877551648527e-02 -4.74176282692688e-01 + 1.71000000000000e+02 -2.29853783747909e-01 2.27017605352786e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.53235855544259e-01 1.68064157273532e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -7.66179283466238e-02 1.31574346947907e-02 -1.50000000451309e-01 + 1.80000000000000e+02 0.00000000000000e+00 1.17895309867403e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_32.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_32.dat new file mode 100644 index 0000000..646ab33 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_32.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF32_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF32_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-2.913358 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.272235 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-12.444819 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.839036 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.058412 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.008023 Cd0 ! 2D drag coefficient value at 0-lift. +-0.085243 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 1.23858350061769e-19 1.20735708463146e-02 0.00000000000000e+00 +-1.77000000000000e+02 7.56347432528885e-02 1.34421951848622e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.51269485371533e-01 1.70930895824957e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.26904644236580e-01 2.29915310510803e-02 3.60000658682385e-01 +-1.68000000000000e+02 3.02542814030287e-01 3.60338186694643e-02 3.93294468676647e-01 +-1.65000000000000e+02 3.78173714706782e-01 7.13653731955248e-02 3.83237448948804e-01 +-1.62000000000000e+02 4.53812587489644e-01 1.14530550452072e-01 3.73179369130042e-01 +-1.59000000000000e+02 5.29439032437362e-01 1.65125982751935e-01 3.74084466751722e-01 +-1.56000000000000e+02 6.05079918857402e-01 2.21929408786895e-01 3.96919872302005e-01 +-1.53000000000000e+02 6.80713496113122e-01 2.83904236585268e-01 4.19754668297594e-01 +-1.50000000000000e+02 7.56347430265530e-01 3.50796896204128e-01 4.40678136778103e-01 +-1.47000000000000e+02 7.98724019760779e-01 4.22328624196830e-01 4.42489410990942e-01 +-1.44000000000000e+02 7.74612054552552e-01 4.96298211849459e-01 4.42442968879025e-01 +-1.41000000000000e+02 7.51050980551493e-01 5.73583343826139e-01 4.42665114499571e-01 +-1.38000000000000e+02 7.26561710355828e-01 6.52093580585485e-01 4.44223409356573e-01 +-1.35000000000000e+02 7.00789566401400e-01 7.31448731329482e-01 4.46111384776213e-01 +-1.32000000000000e+02 6.72547448018323e-01 8.11010441882242e-01 4.47999360216989e-01 +-1.29000000000000e+02 6.40938295276996e-01 8.89424383228075e-01 4.51404708475081e-01 +-1.26000000000000e+02 6.06050511992060e-01 9.66245066018035e-01 4.55589882995432e-01 +-1.23000000000000e+02 5.68494017155460e-01 1.04113806635511e+00 4.60325818132700e-01 +-1.20000000000000e+02 5.26781628035269e-01 1.11171823835120e+00 4.64802368702707e-01 +-1.17000000000000e+02 4.82306934685139e-01 1.17830625217659e+00 4.68708273056895e-01 +-1.14000000000000e+02 4.35395426227843e-01 1.24080841368714e+00 4.72312595891725e-01 +-1.11000000000000e+02 3.85844760180662e-01 1.29808887968460e+00 4.75914074776046e-01 +-1.08000000000000e+02 3.33515047986850e-01 1.34769577588754e+00 4.76765130551003e-01 +-1.05000000000000e+02 2.79700917969486e-01 1.39152649943541e+00 4.76994928501718e-01 +-1.02000000000000e+02 2.24627046875167e-01 1.42937236714109e+00 4.76637672784714e-01 +-9.90000000000000e+01 1.68415305211488e-01 1.45840793683537e+00 4.74567584042434e-01 +-9.60000000000000e+01 1.11967523870050e-01 1.47916500819970e+00 4.70340594428307e-01 +-9.30000000000000e+01 5.57426872683011e-02 1.49305752715779e+00 4.65439573268735e-01 +-9.00000000000000e+01 -2.18354756548283e-10 1.49999999997282e+00 4.60538552042560e-01 +-8.70000000000000e+01 -5.57426869340880e-02 1.49305752719944e+00 4.49346606161135e-01 +-8.40000000000000e+01 -1.11967523717285e-01 1.47916500824881e+00 4.38154660183892e-01 +-8.10000000000000e+01 -1.68415305651872e-01 1.45840793660793e+00 4.26458390711257e-01 +-7.80000000000000e+01 -2.24627047315551e-01 1.42937236691357e+00 4.13148286304988e-01 +-7.50000000000000e+01 -2.79700917748855e-01 1.39152649959346e+00 3.98556606994274e-01 +-7.20000000000000e+01 -3.33515047740588e-01 1.34769577611583e+00 3.83584962899940e-01 +-6.90000000000000e+01 -3.85844760503596e-01 1.29808887931133e+00 3.68270598840940e-01 +-6.60000000000000e+01 -4.35395425865489e-01 1.24080841410606e+00 3.51438950899742e-01 +-6.30000000000000e+01 -4.82306934621599e-01 1.17830625226609e+00 3.34607302792272e-01 +-6.00000000000000e+01 -5.26781628169765e-01 1.11171823812365e+00 3.17700849352553e-01 +-5.70000000000000e+01 -5.68494016713074e-01 1.04113806710376e+00 3.00644785385002e-01 +-5.40000000000000e+01 -6.06050512063292e-01 9.66245065874767e-01 2.83520716335570e-01 +-5.10000000000000e+01 -6.40938295535861e-01 8.89424382616203e-01 2.66503913016216e-01 +-4.80000000000000e+01 -6.72547448164497e-01 8.11010441468603e-01 2.49640197552439e-01 +-4.50000000000000e+01 -7.00789566156841e-01 7.31448732016252e-01 2.33074357660890e-01 +-4.20000000000000e+01 -6.89061710354101e-01 6.52093580590917e-01 2.16490688988956e-01 +-3.90000000000000e+01 -6.76722057430930e-01 5.73583343678472e-01 1.88218833707237e-01 +-3.60000000000000e+01 -6.74857889105243e-01 4.96298212633590e-01 1.44414950003809e-01 +-3.30000000000000e+01 -6.81391859071802e-01 4.22328623958202e-01 9.85534939586472e-02 +-3.00000000000000e+01 -8.14497437045737e-01 3.11747718177618e-01 6.50984696268386e-02 +-2.93939393939394e+01 -8.55274411555279e-01 2.85508751859750e-01 5.95687748839208e-02 +-2.87878787878788e+01 -8.96668676978686e-01 2.59201664441125e-01 5.40233134122096e-02 +-2.81818181818182e+01 -9.38641257286467e-01 2.32837084452053e-01 4.84591493269431e-02 +-2.75757575757576e+01 -9.59102693001635e-01 2.16937777136178e-01 4.37817884968046e-02 +-2.69696969696970e+01 -9.70561518206669e-01 2.05527044695461e-01 3.94873420105567e-02 +-2.63636363636364e+01 -9.81281083715335e-01 1.94340130310232e-01 3.51854269215755e-02 +-2.57575757575758e+01 -9.91474647447510e-01 1.83283447910319e-01 3.10082450114093e-02 +-2.51515151515151e+01 -1.00200243988557e+00 1.72226765510406e-01 2.68412754995576e-02 +-2.45454545454545e+01 -1.01784942989412e+00 1.60928637744979e-01 2.26804552985069e-02 +-2.39393939393939e+01 -1.03414772745971e+00 1.49389236107782e-01 1.83783542146207e-02 +-2.33333333333333e+01 -1.04272990307537e+00 1.41075136856392e-01 1.55664406015960e-02 +-2.27272727272727e+01 -1.05131169719489e+00 1.32761240945193e-01 1.27547176256564e-02 +-2.21212121212121e+01 -1.05989319808581e+00 1.24447532459278e-01 9.94315077814818e-03 +-2.15151515151515e+01 -1.06847446873518e+00 1.16133997102338e-01 7.13171340535219e-03 +-2.09090909090909e+01 -1.07705555529551e+00 1.07820621995992e-01 4.32038459387054e-03 +-2.03030303030303e+01 -1.08563649235673e+00 9.95073955082479e-02 1.50914770423749e-03 +-1.96969696969697e+01 -1.08974835015769e+00 9.24109998702180e-02 -4.96435788848931e-04 +-1.90909090909091e+01 -1.08938889669962e+00 8.65313319915929e-02 -1.69636911143015e-03 +-1.84848484848485e+01 -1.08902640611595e+00 8.06516663019048e-02 -2.89621466854413e-03 +-1.78787878787879e+01 -1.08752065506004e+00 7.49753383545084e-02 -4.00046750718217e-03 +-1.72727272727273e+01 -1.08142621787431e+00 7.01141016909235e-02 -4.72267441367334e-03 +-1.66666666666667e+01 -1.07528779152762e+00 6.52559977700184e-02 -5.44479213888203e-03 +-1.60606060606061e+01 -1.06910521495538e+00 6.04013577737490e-02 -6.16680753837762e-03 +-1.54545454545455e+01 -1.06053293701959e+00 5.61198102399131e-02 -6.46827895233778e-03 +-1.48484848484848e+01 -1.05053552050695e+00 5.19456923172099e-02 -6.72299707170162e-03 +-1.42424242424242e+01 -1.04203461577744e+00 4.78369431113897e-02 -6.97769090367945e-03 +-1.36363636363636e+01 -1.03670993112232e+00 4.38441265134679e-02 -7.35425352095544e-03 +-1.30303030303030e+01 -1.03197425968933e+00 3.97506672580415e-02 -7.74573292458557e-03 +-1.24242424242424e+01 -1.02723858825635e+00 3.56273561113301e-02 -8.09239481837236e-03 +-1.18181818181818e+01 -1.01605834589528e+00 3.15926537955208e-02 -9.54183205967542e-03 +-1.12121212121212e+01 -9.89840769748584e-01 2.77647054407580e-02 -1.38525459410887e-02 +-1.06060606060606e+01 -9.62082589336811e-01 2.39367570859952e-02 -1.83881269496043e-02 +-1.00000000000000e+01 -9.37405617455198e-01 2.01088087312323e-02 -2.29237079581200e-02 +-9.39393939393939e+00 -8.57504939111201e-01 1.74428573908924e-02 -3.29271763455622e-02 +-8.78787878787879e+00 -7.75819618300042e-01 1.47672745989380e-02 -4.32452972200672e-02 +-8.18181818181818e+00 -6.94691575702526e-01 1.22210378596163e-02 -5.33939060516897e-02 +-7.57575757575758e+00 -6.13026062842306e-01 1.09838537054293e-02 -5.92892316725703e-02 +-6.96969696969697e+00 -5.31076914812103e-01 1.02566555952857e-02 -6.39452905544108e-02 +-6.36363636363636e+00 -4.49229384119849e-01 9.53114862171824e-03 -6.87029440529103e-02 +-5.75757575757576e+00 -3.68574453296945e-01 8.97763958455506e-03 -7.27025263370339e-02 +-5.15151515151515e+00 -2.89577068652071e-01 8.68784621123859e-03 -7.56082652738061e-02 +-4.54545454545454e+00 -2.10583367041693e-01 8.41500558295060e-03 -7.85140042105783e-02 +-3.93939393939394e+00 -1.31713018651602e-01 8.16786792208130e-03 -8.13601880013074e-02 +-3.33333333333333e+00 -5.39104825459402e-02 8.08228394752667e-03 -8.36703754327349e-02 +-2.72727272727273e+00 2.38869103090398e-02 7.99699859805043e-03 -8.59398832087249e-02 +-2.12121212121212e+00 1.01674989934827e-01 7.91202236138341e-03 -8.80748901748472e-02 +-1.51515151515152e+00 1.78961514623962e-01 7.88718221404758e-03 -9.00702314136694e-02 +-9.09090909090912e-01 2.56043007551418e-01 7.88320964724388e-03 -9.20157749792674e-02 +-3.03030303030302e-01 3.32708031415170e-01 7.91254274215221e-03 -9.38668770147034e-02 + 3.03030303030302e-01 4.09323582773186e-01 7.96160001710276e-03 -9.56646818941530e-02 + 9.09090909090912e-01 4.85866606427805e-01 8.03038410633434e-03 -9.74078486682932e-02 + 1.51515151515152e+00 5.61746678709793e-01 8.13241478339725e-03 -9.90681209913785e-02 + 2.12121212121212e+00 6.37288691099318e-01 8.24952708755720e-03 -1.00693553999699e-01 + 2.72727272727273e+00 7.12368962072247e-01 8.40350684531075e-03 -1.02235748740403e-01 + 3.33333333333333e+00 7.87022897500275e-01 8.58476063180341e-03 -1.03708868092587e-01 + 3.93939393939394e+00 8.61323919326513e-01 8.78835033127637e-03 -1.05125538859511e-01 + 4.54545454545455e+00 9.34718004171440e-01 9.05056056093853e-03 -1.06416392797886e-01 + 5.15151515151515e+00 1.00770767566130e+00 9.33475543376136e-03 -1.07657551908887e-01 + 5.75757575757576e+00 1.07979126327284e+00 9.66586563147137e-03 -1.08790541952498e-01 + 6.36363636363637e+00 1.15072094253450e+00 1.00718318363192e-02 -1.09788233396241e-01 + 6.96969696969697e+00 1.22087830050227e+00 1.05273825838433e-02 -1.10695869543068e-01 + 7.57575757575757e+00 1.28938374272294e+00 1.10543418513610e-02 -1.11402654050670e-01 + 8.18181818181818e+00 1.35677759583106e+00 1.16448380626259e-02 -1.11986394124469e-01 + 8.78787878787879e+00 1.42176426769998e+00 1.23672398133192e-02 -1.12308082271469e-01 + 9.39393939393939e+00 1.48508275406012e+00 1.31293022093975e-02 -1.12432918551757e-01 + 1.00000000000000e+01 1.54750265449854e+00 1.39128358679570e-02 -1.12452006373523e-01 + 1.06060606060606e+01 1.60590933338116e+00 1.48256799141751e-02 -1.12046610668528e-01 + 1.12121212121212e+01 1.66253396908699e+00 1.58025385666724e-02 -1.11473924304774e-01 + 1.18181818181818e+01 1.71584853506364e+00 1.68975371761275e-02 -1.10589972524965e-01 + 1.24242424242424e+01 1.76374001982844e+00 1.82475303231805e-02 -1.09299419794616e-01 + 1.30303030303030e+01 1.80876274835354e+00 1.97122815351213e-02 -1.07812248683029e-01 + 1.36363636363636e+01 1.84337619355101e+00 2.17310514499607e-02 -1.05888736125320e-01 + 1.42424242424242e+01 1.87261301902714e+00 2.41679736938543e-02 -1.03905540792300e-01 + 1.48484848484848e+01 1.89535027787839e+00 2.72279861141744e-02 -1.01848053598911e-01 + 1.54545454545455e+01 1.89662033723540e+00 3.17304288024749e-02 -9.97877338511452e-02 + 1.60606060606061e+01 1.88784317140570e+00 3.71044346013994e-02 -9.78157730168438e-02 + 1.66666666666667e+01 1.84195583042164e+00 4.59952159750152e-02 -9.67225577165038e-02 + 1.72727272727273e+01 1.79606848943757e+00 5.48859973486311e-02 -9.56628978792608e-02 + 1.78787878787879e+01 1.75018114845350e+00 6.37767787222469e-02 -9.46459786700880e-02 + 1.84848484848485e+01 1.69374726804043e+00 7.50344553597066e-02 -9.57111639432137e-02 + 1.90909090909091e+01 1.63467675332935e+00 8.68838556876182e-02 -9.72896413858676e-02 + 1.96969696969697e+01 1.57560623861827e+00 9.87332560155297e-02 -9.88752337257058e-02 + 2.03030303030303e+01 1.52780407874087e+00 1.11215035030033e-01 -1.01528939890539e-01 + 2.09090909090909e+01 1.49127027199751e+00 1.24346329883538e-01 -1.05267154207635e-01 + 2.15151515151515e+01 1.45473646525416e+00 1.37507302350219e-01 -1.09042741293677e-01 + 2.21212121212121e+01 1.41820265851080e+00 1.50562681238740e-01 -1.12852720453807e-01 + 2.27272727272727e+01 1.38161937781405e+00 1.63261663780393e-01 -1.16680088343784e-01 + 2.33333333333333e+01 1.34485655710607e+00 1.76091824183701e-01 -1.20522316814297e-01 + 2.39393939393939e+01 1.30809373639809e+00 1.89032486303174e-01 -1.24377345153001e-01 + 2.45454545454545e+01 1.27890712998503e+00 2.03336521545155e-01 -1.28703945445789e-01 + 2.51515151515151e+01 1.25168213143825e+00 2.17843702847432e-01 -1.33087309884492e-01 + 2.57575757575758e+01 1.22789541321506e+00 2.32440465232529e-01 -1.37476747318948e-01 + 2.63636363636364e+01 1.20415045332913e+00 2.47187289897594e-01 -1.41873161518753e-01 + 2.69696969696970e+01 1.18103130671534e+00 2.61645322689253e-01 -1.46277644942893e-01 + 2.75757575757576e+01 1.15830644906952e+00 2.76019593343817e-01 -1.50691530694867e-01 + 2.81818181818182e+01 1.13662034329403e+00 2.91050024693555e-01 -1.55155125306735e-01 + 2.87878787878788e+01 1.11519201453337e+00 3.07611497969728e-01 -1.59713180851556e-01 + 2.93939393939394e+01 1.09487955440903e+00 3.24405715459721e-01 -1.64271248308189e-01 + 3.00000000000000e+01 1.07533978073244e+00 3.41659407565496e-01 -1.68829335902837e-01 + 3.30000000000000e+01 1.00816545907382e+00 4.22328623958203e-01 -1.90443877838832e-01 + 3.60000000000000e+01 9.94885114635325e-01 4.96298212633590e-01 -2.10015884370404e-01 + 3.90000000000000e+01 9.97929972280457e-01 5.73583343678472e-01 -2.29355231962019e-01 + 4.20000000000000e+01 1.00044530050586e+00 6.52093580590917e-01 -2.46853291673839e-01 + 4.50000000000000e+01 1.00112795165263e+00 7.31448732016252e-01 -2.62978857605289e-01 + 4.80000000000000e+01 9.60782068806424e-01 8.11010441468603e-01 -2.79090241804218e-01 + 5.10000000000000e+01 9.15626136479801e-01 8.89424382616203e-01 -2.94507910417274e-01 + 5.40000000000000e+01 8.65786445804703e-01 9.66245065874767e-01 -3.09571571099242e-01 + 5.70000000000000e+01 8.12134309590105e-01 1.04113806710376e+00 -3.24368244001605e-01 + 6.00000000000000e+01 7.52545183099664e-01 1.11171823812365e+00 -3.38943347333182e-01 + 6.30000000000000e+01 6.89009906602285e-01 1.17830625226609e+00 -3.53030998168408e-01 + 6.60000000000000e+01 6.21993465522128e-01 1.24080841410606e+00 -3.66874922694818e-01 + 6.90000000000000e+01 5.51206800719422e-01 1.29808887931133e+00 -3.80718847084470e-01 + 7.20000000000000e+01 4.76450068200840e-01 1.34769577611583e+00 -3.93434602948846e-01 + 7.50000000000000e+01 3.99572739641222e-01 1.39152649959346e+00 -4.05895531157499e-01 + 7.80000000000000e+01 3.20895781879358e-01 1.42937236691357e+00 -4.18107854198072e-01 + 8.10000000000000e+01 2.40593293788389e-01 1.45840793660793e+00 -4.29570762960200e-01 + 8.40000000000000e+01 1.59953605310407e-01 1.47916500824881e+00 -4.40089964968682e-01 + 8.70000000000000e+01 7.96324099058397e-02 1.49305752719944e+00 -4.50314258551284e-01 + 9.00000000000000e+01 3.11935233705318e-10 1.49999999997282e+00 -4.60538552046351e-01 + 9.30000000000000e+01 -5.57426872683009e-02 1.49305752715779e+00 -4.65439573268735e-01 + 9.60000000000000e+01 -1.11967523870051e-01 1.47916500819970e+00 -4.70340594428307e-01 + 9.90000000000000e+01 -1.68415305211488e-01 1.45840793683537e+00 -4.74567584042434e-01 + 1.02000000000000e+02 -2.24627046875167e-01 1.42937236714109e+00 -4.76637672784714e-01 + 1.05000000000000e+02 -2.79700917969486e-01 1.39152649943541e+00 -4.76994928501718e-01 + 1.08000000000000e+02 -3.33515047986850e-01 1.34769577588754e+00 -4.76765130551003e-01 + 1.11000000000000e+02 -3.85844760180663e-01 1.29808887968460e+00 -4.75914074776046e-01 + 1.14000000000000e+02 -4.35395426227843e-01 1.24080841368714e+00 -4.72312595891725e-01 + 1.17000000000000e+02 -4.82306934685139e-01 1.17830625217659e+00 -4.68708273056895e-01 + 1.20000000000000e+02 -5.26781628035269e-01 1.11171823835120e+00 -4.64802368702707e-01 + 1.23000000000000e+02 -5.68494017155460e-01 1.04113806635511e+00 -4.60325818132700e-01 + 1.26000000000000e+02 -6.06050511992060e-01 9.66245066018036e-01 -4.55589882995432e-01 + 1.29000000000000e+02 -6.40938295276997e-01 8.89424383228075e-01 -4.51404708475081e-01 + 1.32000000000000e+02 -6.72547448018323e-01 8.11010441882241e-01 -4.47999360216989e-01 + 1.35000000000000e+02 -7.00789566401400e-01 7.31448731329482e-01 -4.46111384776213e-01 + 1.38000000000000e+02 -7.26561710355829e-01 6.52093580585484e-01 -4.44223409356573e-01 + 1.41000000000000e+02 -7.51050980551493e-01 5.73583343826138e-01 -4.42665114499571e-01 + 1.44000000000000e+02 -7.74612054552552e-01 4.96298211849459e-01 -4.42442968879025e-01 + 1.47000000000000e+02 -7.98724019760779e-01 4.22328624196830e-01 -4.42489410990942e-01 + 1.50000000000000e+02 -7.56347430265529e-01 3.50796896204128e-01 -4.40678136778103e-01 + 1.53000000000000e+02 -6.80712687153780e-01 2.83903557662881e-01 -4.19754424053356e-01 + 1.56000000000000e+02 -6.05077944042030e-01 2.21927855176555e-01 -3.96919276099453e-01 + 1.59000000000000e+02 -5.29443200930280e-01 1.65129022920178e-01 -3.74085725143729e-01 + 1.62000000000000e+02 -4.53808457818531e-01 1.14528076241229e-01 -3.93179918405344e-01 + 1.65000000000000e+02 -3.78173714706782e-01 7.13653731955250e-02 -4.33237449115331e-01 + 1.68000000000000e+02 -3.02538971595032e-01 3.60321768408439e-02 -4.73294979825318e-01 + 1.71000000000000e+02 -2.26904228483282e-01 2.29914957970898e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.51269485371533e-01 1.70930895824957e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -7.56347432528885e-02 1.34421951848622e-02 -1.50000000451309e-01 + 1.80000000000000e+02 1.23858350061769e-19 1.20735708463146e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_33.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_33.dat new file mode 100644 index 0000000..0906af0 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_33.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF33_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF33_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-2.937891 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.262491 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-12.625187 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.829977 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.073708 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.007721 Cd0 ! 2D drag coefficient value at 0-lift. +-0.084493 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 7.19648795062417e-19 1.35379551213142e-02 0.00000000000000e+00 +-1.77000000000000e+02 7.45472476040841e-02 1.49071811168927e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.49094494090233e-01 1.85596639983459e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.23642151330698e-01 2.44606231303123e-02 3.60000658682385e-01 +-1.68000000000000e+02 2.98192776207922e-01 3.92349375894677e-02 3.92286287179751e-01 +-1.65000000000000e+02 3.72736236485156e-01 7.46761022541736e-02 3.80717187243107e-01 +-1.62000000000000e+02 4.47287554243778e-01 1.17988660980679e-01 3.69146867830107e-01 +-1.59000000000000e+02 5.21826622857842e-01 1.68906080407199e-01 3.69029086947480e-01 +-1.56000000000000e+02 5.96379925301052e-01 2.26001171486096e-01 3.91820421333738e-01 +-1.53000000000000e+02 6.70926023672973e-01 2.88231197399572e-01 4.14611910959749e-01 +-1.50000000000000e+02 7.45472473810029e-01 3.55343451032432e-01 4.35561695053544e-01 +-1.47000000000000e+02 7.87748337075902e-01 4.27060228859712e-01 4.38096417846460e-01 +-1.44000000000000e+02 7.65522400643864e-01 5.01180276608908e-01 4.38868628532872e-01 +-1.41000000000000e+02 7.43529434371912e-01 5.78584124129956e-01 4.39947365413519e-01 +-1.38000000000000e+02 7.20461898974359e-01 6.57182993757021e-01 4.42265310025385e-01 +-1.35000000000000e+02 6.95991576311854e-01 7.36599793206550e-01 4.44523377602758e-01 +-1.32000000000000e+02 6.68926975901779e-01 8.16195623477948e-01 4.46781445205412e-01 +-1.29000000000000e+02 6.38291413966226e-01 8.94506816287153e-01 4.50460314328340e-01 +-1.26000000000000e+02 6.03975979829322e-01 9.71038228471221e-01 4.54869378646969e-01 +-1.23000000000000e+02 5.66922935520237e-01 1.04561960457285e+00 4.59792152774814e-01 +-1.20000000000000e+02 5.25619886685303e-01 1.11586242243041e+00 4.64432083765679e-01 +-1.17000000000000e+02 4.81495466549524e-01 1.18209462197348e+00 4.68449759681384e-01 +-1.14000000000000e+02 4.34881661233296e-01 1.24422482856799e+00 4.72078304477610e-01 +-1.11000000000000e+02 3.85571106980233e-01 1.30111736701889e+00 4.75693204623778e-01 +-1.08000000000000e+02 3.33362941580988e-01 1.35032028008982e+00 4.76550299942297e-01 +-1.05000000000000e+02 2.79595250278329e-01 1.39373593223451e+00 4.76784470074872e-01 +-1.02000000000000e+02 2.24560215051685e-01 1.43115657205471e+00 4.76430597052486e-01 +-9.90000000000000e+01 1.68377107592503e-01 1.45975643643618e+00 4.74362810474786e-01 +-9.60000000000000e+01 1.11949140154632e-01 1.48006996500465e+00 4.70136762357825e-01 +-9.30000000000000e+01 5.57370214149256e-02 1.49351279148963e+00 4.65236257486856e-01 +-9.00000000000000e+01 -2.18332562311008e-10 1.49999999997461e+00 4.60335752549383e-01 +-8.70000000000000e+01 -5.57370210807465e-02 1.49351279152856e+00 4.49168512090307e-01 +-8.40000000000000e+01 -1.11949140001913e-01 1.48006996505254e+00 4.38001271535622e-01 +-8.10000000000000e+01 -1.68377108032662e-01 1.45975643621217e+00 4.26328711791160e-01 +-7.80000000000000e+01 -2.24560215491845e-01 1.43115657183059e+00 4.13039130890733e-01 +-7.50000000000000e+01 -2.79595250057861e-01 1.39373593239086e+00 3.98465444850667e-01 +-7.20000000000000e+01 -3.33362941334973e-01 1.35032028031620e+00 3.83510513067992e-01 +-6.90000000000000e+01 -3.85571107301601e-01 1.30111736664817e+00 3.68211091259037e-01 +-6.60000000000000e+01 -4.34881660872698e-01 1.24422482898410e+00 3.51386549178162e-01 +-6.30000000000000e+01 -4.81495466486429e-01 1.18209462206248e+00 3.34562006931085e-01 +-6.00000000000000e+01 -5.25619886818479e-01 1.11586242220397e+00 3.17660018895082e-01 +-5.70000000000000e+01 -5.66922935082191e-01 1.04561960531796e+00 3.00603139417962e-01 +-5.40000000000000e+01 -6.03975979899585e-01 9.71038228328536e-01 2.83475854443805e-01 +-5.10000000000000e+01 -6.38291414220229e-01 8.94506815677437e-01 2.66454843610715e-01 +-4.80000000000000e+01 -6.68926976041501e-01 8.16195623064173e-01 2.49585714963807e-01 +-4.50000000000000e+01 -6.95991576077061e-01 7.36599793893689e-01 2.33012115917894e-01 +-4.20000000000000e+01 -6.82961898972722e-01 6.57182993762458e-01 2.16352979849064e-01 +-3.90000000000000e+01 -6.68529434413751e-01 5.78584123982089e-01 1.88555742824798e-01 +-3.60000000000000e+01 -6.59466636031012e-01 5.01180277394461e-01 1.46060203500055e-01 +-3.30000000000000e+01 -6.62932125449488e-01 4.27060228620542e-01 1.01528548792999e-01 +-3.00000000000000e+01 -7.85003425597610e-01 3.18483059595822e-01 6.81443848372454e-02 +-2.93939393939394e+01 -8.23069449463748e-01 2.92770632234095e-01 6.24902774969225e-02 +-2.87878787878788e+01 -8.61849862439273e-01 2.66957643138284e-01 5.68128949955894e-02 +-2.81818181818182e+01 -9.01287008599410e-01 2.41059782357827e-01 5.11079033213254e-02 +-2.75757575757576e+01 -9.25677117492852e-01 2.24148399293321e-01 4.60450857317290e-02 +-2.69696969696970e+01 -9.43896041385797e-01 2.11093469163321e-01 4.12617014618281e-02 +-2.63636363636364e+01 -9.60902829039575e-01 1.98368943732149e-01 3.64672918909013e-02 +-2.57575757575758e+01 -9.77013002791389e-01 1.85836669367551e-01 3.18570159381952e-02 +-2.51515151515151e+01 -9.93501343393655e-01 1.73304395002953e-01 2.72618157325373e-02 +-2.45454545454545e+01 -1.01672783767879e+00 1.60471763099416e-01 2.26961182779534e-02 +-2.39393939393939e+01 -1.04005830067900e+00 1.47182331184741e-01 1.78549215098366e-02 +-2.33333333333333e+01 -1.05008640517291e+00 1.38813825176456e-01 1.49992057338448e-02 +-2.27272727272727e+01 -1.06011394410265e+00 1.30445619343036e-01 1.21437713801384e-02 +-2.21212121212121e+01 -1.07014104832392e+00 1.22077690190578e-01 9.28856750635118e-03 +-2.15151515151515e+01 -1.08016781121443e+00 1.13710016614581e-01 6.43355476572884e-03 +-2.09090909090909e+01 -1.09019430119480e+00 1.05342579603722e-01 3.57870228549430e-03 +-2.03030303030303e+01 -1.10022056954422e+00 9.69753619866218e-02 7.23985502134777e-04 +-1.96969696969697e+01 -1.10532976675170e+00 8.98868745545707e-02 -1.28013386393981e-03 +-1.90909090909091e+01 -1.10551858415920e+00 8.40769650455207e-02 -2.43366062616693e-03 +-1.84848484848485e+01 -1.10570289905856e+00 7.82670587678233e-02 -3.58705782725249e-03 +-1.78787878787879e+01 -1.10475332938151e+00 7.26550146153259e-02 -4.64919310798121e-03 +-1.72727272727273e+01 -1.09924502944520e+00 6.78369879641801e-02 -5.34676043511354e-03 +-1.66666666666667e+01 -1.09367151602062e+00 6.30235859305586e-02 -6.04419611104949e-03 +-1.60606060606061e+01 -1.08803255033115e+00 5.82152974119014e-02 -6.74148073171716e-03 +-1.54545454545455e+01 -1.07831802502756e+00 5.40639863774262e-02 -7.11945912124341e-03 +-1.48484848484848e+01 -1.06643154040004e+00 5.00502614036842e-02 -7.46192039691366e-03 +-1.42424242424242e+01 -1.05676361942524e+00 4.61330350397947e-02 -7.80434581905796e-03 +-1.36363636363636e+01 -1.05005268401778e+00 4.23100541358103e-02 -8.46297429653125e-03 +-1.30303030303030e+01 -1.04304713550923e+00 3.82872381321904e-02 -9.23448851776018e-03 +-1.24242424242424e+01 -1.03604158700068e+00 3.42203541684233e-02 -9.93984223281516e-03 +-1.18181818181818e+01 -1.02206390524975e+00 3.02791865616864e-02 -1.16129008338891e-02 +-1.12121212121212e+01 -9.91817910847237e-01 2.66313571529563e-02 -1.59692867613665e-02 +-1.06060606060606e+01 -9.59287986131415e-01 2.29835277442263e-02 -2.06576260482112e-02 +-1.00000000000000e+01 -9.31325922042219e-01 1.93356983354963e-02 -2.53459653350559e-02 +-9.39393939393939e+00 -8.51479940001369e-01 1.67977045186256e-02 -3.47511208029539e-02 +-8.78787878787879e+00 -7.68988244034748e-01 1.42454925484506e-02 -4.46207725146372e-02 +-8.18181818181818e+00 -6.87322707409585e-01 1.18842238132678e-02 -5.42401871515948e-02 +-7.57575757575758e+00 -6.05867007506956e-01 1.07538968909884e-02 -5.94372109404324e-02 +-6.96969696969697e+00 -5.24422234626728e-01 1.00733343891561e-02 -6.39005795987129e-02 +-6.36363636363636e+00 -4.43128108427002e-01 9.39526837702802e-03 -6.85424744569742e-02 +-5.75757575757576e+00 -3.63025523243264e-01 8.83668687930310e-03 -7.23846269477992e-02 +-5.15151515151515e+00 -2.84515519114581e-01 8.46846360663393e-03 -7.52347326840007e-02 +-4.54545454545454e+00 -2.06010975047461e-01 8.15023253336878e-03 -7.80848384202023e-02 +-3.93939393939394e+00 -1.27638792545098e-01 7.86539070111318e-03 -8.08714433893309e-02 +-3.33333333333333e+00 -5.03950558839582e-02 7.77805170346374e-03 -8.30865414069143e-02 +-2.72727272727273e+00 2.68410559598237e-02 7.69115354213946e-03 -8.52415873019202e-02 +-2.12121212121212e+00 1.04063361035087e-01 7.60471169933877e-03 -8.71980804060021e-02 +-1.51515151515152e+00 1.80798991561726e-01 7.58375966335799e-03 -8.90453383716924e-02 +-9.09090909090912e-01 2.57332760575419e-01 7.58455502208068e-03 -9.08547217759082e-02 +-3.03030303030302e-01 3.33463755270603e-01 7.61617572909472e-03 -9.25893011972036e-02 + 3.03030303030302e-01 4.09654307524920e-01 7.66657555844768e-03 -9.42799537432123e-02 + 9.09090909090912e-01 4.85910009616255e-01 7.73575839885570e-03 -9.59246998776710e-02 + 1.51515151515152e+00 5.61425350259065e-01 7.83763703581763e-03 -9.74977667410274e-02 + 2.12121212121212e+00 6.36416128333260e-01 7.95415036096740e-03 -9.90404067153047e-02 + 2.72727272727273e+00 7.11085694366815e-01 8.10613652791699e-03 -1.00508401090655e-01 + 3.33333333333333e+00 7.85340485335916e-01 8.28611515615357e-03 -1.01912462331777e-01 + 3.93939393939394e+00 8.59249846182166e-01 8.48902740882065e-03 -1.03264314504175e-01 + 4.54545454545455e+00 9.32244351072427e-01 8.75369605154345e-03 -1.04496786984301e-01 + 5.15151515151515e+00 1.00480185384565e+00 9.04475022603732e-03 -1.05680014008415e-01 + 5.75757575757576e+00 1.07636048330800e+00 9.39511596063009e-03 -1.06753786954520e-01 + 6.36363636363637e+00 1.14672965451945e+00 9.82469778852181e-03 -1.07693147334475e-01 + 6.96969696969697e+00 1.21630133334560e+00 1.03066187499347e-02 -1.08543111570601e-01 + 7.57575757575757e+00 1.28402203913340e+00 1.08799444932377e-02 -1.09181727274569e-01 + 8.18181818181818e+00 1.35068905662527e+00 1.15112143401151e-02 -1.09705483414818e-01 + 8.78787878787879e+00 1.41510055630784e+00 1.22552753621312e-02 -1.09987758439897e-01 + 9.39393939393939e+00 1.47788165827032e+00 1.30373547684901e-02 -1.10084986539763e-01 + 1.00000000000000e+01 1.53978436140456e+00 1.38400761580753e-02 -1.10082941136158e-01 + 1.06060606060606e+01 1.59779239143976e+00 1.47677317474632e-02 -1.09686160347272e-01 + 1.12121212121212e+01 1.65408357329541e+00 1.57609117014012e-02 -1.09137320580604e-01 + 1.18181818181818e+01 1.70718549138220e+00 1.68714866621208e-02 -1.08305225302029e-01 + 1.24242424242424e+01 1.75494191193029e+00 1.82479285290602e-02 -1.07100156609769e-01 + 1.30303030303030e+01 1.79984050985123e+00 1.97172749200556e-02 -1.05713926134175e-01 + 1.36363636363636e+01 1.83387576039888e+00 2.17685052140928e-02 -1.03905735949803e-01 + 1.42424242424242e+01 1.86267021672690e+00 2.42716576771711e-02 -1.02065707747960e-01 + 1.48484848484848e+01 1.88592411610017e+00 2.74328391096346e-02 -1.00200408740977e-01 + 1.54545454545455e+01 1.88433538398272e+00 3.21515683908801e-02 -9.82607852090284e-02 + 1.60606060606061e+01 1.87240734136311e+00 3.77688550828191e-02 -9.63916876574119e-02 + 1.66666666666667e+01 1.82551739910306e+00 4.68005133070227e-02 -9.54910401929594e-02 + 1.72727272727273e+01 1.77862745684302e+00 5.58321715312264e-02 -9.46399279755823e-02 + 1.78787878787879e+01 1.73173751458297e+00 6.48638297554299e-02 -9.38519103298849e-02 + 1.84848484848485e+01 1.67695209469150e+00 7.59910632200103e-02 -9.50677383537778e-02 + 1.90909090909091e+01 1.62019280581084e+00 8.76421903835630e-02 -9.67524778750900e-02 + 1.96969696969697e+01 1.56343351693018e+00 9.92933175471157e-02 -9.84477205502083e-02 + 2.03030303030303e+01 1.51719549396245e+00 1.11547839414012e-01 -1.01008066167772e-01 + 2.09090909090909e+01 1.48147873532069e+00 1.24487975831722e-01 -1.04457716469576e-01 + 2.15151515151515e+01 1.44576197667893e+00 1.37570497512161e-01 -1.08005416226111e-01 + 2.21212121212121e+01 1.41004521803717e+00 1.50429661728447e-01 -1.11649946510471e-01 + 2.27272727272727e+01 1.37409008843685e+00 1.62483184033823e-01 -1.15320146386301e-01 + 2.33333333333333e+01 1.33726991528055e+00 1.74812926763309e-01 -1.19012283748925e-01 + 2.39393939393939e+01 1.30044974212425e+00 1.87414725728902e-01 -1.22723316533483e-01 + 2.45454545454545e+01 1.27095689813099e+00 2.01740833989186e-01 -1.27061280834649e-01 + 2.51515151515151e+01 1.24351916624634e+00 2.16334793947414e-01 -1.31475351236955e-01 + 2.57575757575758e+01 1.21972121984797e+00 2.31060995295307e-01 -1.35898386717296e-01 + 2.63636363636364e+01 1.19561326054968e+00 2.46008721588138e-01 -1.40331721438458e-01 + 2.69696969696970e+01 1.17238696499868e+00 2.60530127530056e-01 -1.44776968110292e-01 + 2.75757575757576e+01 1.14961072585908e+00 2.74927882126601e-01 -1.49236094686895e-01 + 2.81818181818182e+01 1.12737448259591e+00 2.90186964112693e-01 -1.53789983952608e-01 + 2.87878787878788e+01 1.10201504553045e+00 3.07455810407260e-01 -1.58533208456382e-01 + 2.93939393939394e+01 1.07871563975821e+00 3.24885928578679e-01 -1.63276450544612e-01 + 3.00000000000000e+01 1.05678801773448e+00 3.43358951977363e-01 -1.68019722360983e-01 + 3.30000000000000e+01 9.83674101002560e-01 4.27060228620542e-01 -1.90263355487276e-01 + 3.60000000000000e+01 9.81103429155109e-01 5.01180277394461e-01 -2.09819520762996e-01 + 3.90000000000000e+01 9.87184906305358e-01 5.78584123982090e-01 -2.29146273413230e-01 + 4.20000000000000e+01 9.91731284246746e-01 6.57182993762459e-01 -2.46684330716982e-01 + 4.50000000000000e+01 9.94273680110087e-01 7.36599793893689e-01 -2.62889096650572e-01 + 4.80000000000000e+01 9.55609965773573e-01 8.16195623064174e-01 -2.79025823103447e-01 + 5.10000000000000e+01 9.11844877457470e-01 8.94506815677438e-01 -2.94449095778817e-01 + 5.40000000000000e+01 8.62822828427979e-01 9.71038228328536e-01 -3.09517765985554e-01 + 5.70000000000000e+01 8.09889907260273e-01 1.04561960531796e+00 -3.24318898189373e-01 + 6.00000000000000e+01 7.50885552597827e-01 1.11586242220397e+00 -3.38896052079683e-01 + 6.30000000000000e+01 6.87850666409185e-01 1.18209462206248e+00 -3.52980454239756e-01 + 6.60000000000000e+01 6.21259515532426e-01 1.24422482898410e+00 -3.66818480474029e-01 + 6.90000000000000e+01 5.50815867573715e-01 1.30111736664817e+00 -3.80656506571602e-01 + 7.20000000000000e+01 4.76232773335676e-01 1.35032028031620e+00 -3.93358080347862e-01 + 7.50000000000000e+01 3.99421785796945e-01 1.39373593239086e+00 -4.05802955347891e-01 + 7.80000000000000e+01 3.20800307845492e-01 1.43115657183059e+00 -4.17997866140387e-01 + 8.10000000000000e+01 2.40538725760946e-01 1.45975643621217e+00 -4.29440658282746e-01 + 8.40000000000000e+01 1.59927342859875e-01 1.48006996505254e+00 -4.39936338166134e-01 + 8.70000000000000e+01 7.96243158296376e-02 1.49351279152856e+00 -4.50136045403316e-01 + 9.00000000000000e+01 3.11903527357346e-10 1.49999999997461e+00 -4.60335752553173e-01 + 9.30000000000000e+01 -5.57370214149254e-02 1.49351279148963e+00 -4.65236257486856e-01 + 9.60000000000000e+01 -1.11949140154632e-01 1.48006996500465e+00 -4.70136762357825e-01 + 9.90000000000000e+01 -1.68377107592503e-01 1.45975643643618e+00 -4.74362810474786e-01 + 1.02000000000000e+02 -2.24560215051685e-01 1.43115657205471e+00 -4.76430597052486e-01 + 1.05000000000000e+02 -2.79595250278329e-01 1.39373593223451e+00 -4.76784470074872e-01 + 1.08000000000000e+02 -3.33362941580988e-01 1.35032028008982e+00 -4.76550299942297e-01 + 1.11000000000000e+02 -3.85571106980233e-01 1.30111736701889e+00 -4.75693204623778e-01 + 1.14000000000000e+02 -4.34881661233296e-01 1.24422482856799e+00 -4.72078304477610e-01 + 1.17000000000000e+02 -4.81495466549524e-01 1.18209462197348e+00 -4.68449759681385e-01 + 1.20000000000000e+02 -5.25619886685303e-01 1.11586242243041e+00 -4.64432083765679e-01 + 1.23000000000000e+02 -5.66922935520237e-01 1.04561960457285e+00 -4.59792152774814e-01 + 1.26000000000000e+02 -6.03975979829322e-01 9.71038228471221e-01 -4.54869378646969e-01 + 1.29000000000000e+02 -6.38291413966227e-01 8.94506816287152e-01 -4.50460314328340e-01 + 1.32000000000000e+02 -6.68926975901779e-01 8.16195623477947e-01 -4.46781445205412e-01 + 1.35000000000000e+02 -6.95991576311854e-01 7.36599793206550e-01 -4.44523377602758e-01 + 1.38000000000000e+02 -7.20461898974359e-01 6.57182993757021e-01 -4.42265310025385e-01 + 1.41000000000000e+02 -7.43529434371912e-01 5.78584124129955e-01 -4.39947365413519e-01 + 1.44000000000000e+02 -7.65522400643864e-01 5.01180276608908e-01 -4.38868628532872e-01 + 1.47000000000000e+02 -7.87748337075902e-01 4.27060228859712e-01 -4.38096417846460e-01 + 1.50000000000000e+02 -7.45472473810029e-01 3.55343451032432e-01 -4.35561695053544e-01 + 1.53000000000000e+02 -6.70925226345054e-01 2.88230515975192e-01 -4.14611667174653e-01 + 1.56000000000000e+02 -5.96377978880080e-01 2.25999610729306e-01 -3.91819826271841e-01 + 1.59000000000000e+02 -5.21830731415105e-01 1.68909137968121e-01 -3.69030342889744e-01 + 1.62000000000000e+02 -4.47283483950131e-01 1.17986169271630e-01 -3.89147499669465e-01 + 1.65000000000000e+02 -3.72736236485157e-01 7.46761022541738e-02 -4.30717187409634e-01 + 1.68000000000000e+02 -2.98188989020182e-01 3.92332874317893e-02 -4.72286875149803e-01 + 1.71000000000000e+02 -2.23641741555207e-01 2.44605878613367e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.49094494090233e-01 1.85596639983459e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -7.45472476040841e-02 1.49071811168927e-02 -1.50000000451309e-01 + 1.80000000000000e+02 7.19648795062417e-19 1.35379551213142e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_34.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_34.dat new file mode 100644 index 0000000..a0a0c68 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_34.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF34_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF34_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-2.963580 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.230237 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-12.912500 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.815093 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.091026 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.007431 Cd0 ! 2D drag coefficient value at 0-lift. +-0.083329 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 1.71825147130708e-18 1.60687387137002e-02 0.00000000000000e+00 +-1.77000000000000e+02 7.34435885891144e-02 1.74369376267424e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.46887176076844e-01 2.10866520316328e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.20331168237745e-01 2.69830536051343e-02 3.60000658682385e-01 +-1.68000000000000e+02 2.93778084100058e-01 4.46729055723850e-02 3.91229489774557e-01 +-1.65000000000000e+02 3.67217941433037e-01 8.02630932303137e-02 3.78075395026936e-01 +-1.62000000000000e+02 4.40665539918761e-01 1.23507548158276e-01 3.64919913731733e-01 +-1.59000000000000e+02 5.14101070606377e-01 1.74239505668812e-01 3.63716194577159e-01 +-1.56000000000000e+02 5.87550624393779e-01 2.31171478430575e-01 3.86419232374179e-01 +-1.53000000000000e+02 6.60993080764912e-01 2.93263288827657e-01 4.09121909225039e-01 +-1.50000000000000e+02 7.34435883693359e-01 3.60259770958488e-01 4.30044279886215e-01 +-1.47000000000000e+02 7.76527403494182e-01 4.31879534721945e-01 4.33164956996610e-01 +-1.44000000000000e+02 7.55946636420931e-01 5.05922193176882e-01 4.34566871895635e-01 +-1.41000000000000e+02 7.35295020192324e-01 5.83259386759780e-01 4.36222909472407e-01 +-1.38000000000000e+02 7.13403980665433e-01 6.61802669620561e-01 4.38971274927823e-01 +-1.35000000000000e+02 6.89949327075013e-01 7.41171795841158e-01 4.41769192989046e-01 +-1.32000000000000e+02 6.63715021720927e-01 8.20722555626731e-01 4.44567111081593e-01 +-1.29000000000000e+02 6.33825670234055e-01 8.98878166259559e-01 4.48641504388375e-01 +-1.26000000000000e+02 6.00378608273065e-01 9.75089840419271e-01 4.53371919003534e-01 +-1.23000000000000e+02 5.64095845494001e-01 1.04934925774705e+00 4.58560703361123e-01 +-1.20000000000000e+02 5.23429572869563e-01 1.11926318651798e+00 4.63432236791527e-01 +-1.17000000000000e+02 4.79858280438475e-01 1.18516391242889e+00 4.67605817999893e-01 +-1.14000000000000e+02 4.33723134806768e-01 1.24696042779494e+00 4.71290356324923e-01 +-1.11000000000000e+02 3.84809630816704e-01 1.30351606219254e+00 4.74950393671354e-01 +-1.08000000000000e+02 3.32851390775919e-01 1.35237797865411e+00 4.75827800648368e-01 +-1.05000000000000e+02 2.79239878049430e-01 1.39545160577238e+00 4.76076674916107e-01 +-1.02000000000000e+02 2.24335452176562e-01 1.43252933245758e+00 4.75734178272940e-01 +-9.90000000000000e+01 1.68248644740245e-01 1.46078476778548e+00 4.73674134131451e-01 +-9.60000000000000e+01 1.11887313669619e-01 1.48075406994453e+00 4.69451252374449e-01 +-9.30000000000000e+01 5.57179665181960e-02 1.49385398183090e+00 4.64552483839626e-01 +-9.00000000000000e+01 -2.18257920616060e-10 1.49999999997594e+00 4.59653715238633e-01 +-8.70000000000000e+01 -5.57179661841311e-02 1.49385398186778e+00 4.48569561869939e-01 +-8.40000000000000e+01 -1.11887313517055e-01 1.48075406999150e+00 4.37485408406349e-01 +-8.10000000000000e+01 -1.68248645179650e-01 1.46078476756415e+00 4.25892587121723e-01 +-7.80000000000000e+01 -2.24335452615967e-01 1.43252933223617e+00 4.12672029060122e-01 +-7.50000000000000e+01 -2.79239877829511e-01 1.39545160592736e+00 3.98158856395764e-01 +-7.20000000000000e+01 -3.32851390530737e-01 1.35237797887889e+00 3.83260129980874e-01 +-6.90000000000000e+01 -3.84809631135485e-01 1.30351606182400e+00 3.68010960625103e-01 +-6.60000000000000e+01 -4.33723134449074e-01 1.24696042820858e+00 3.51210316344907e-01 +-6.30000000000000e+01 -4.79858280376088e-01 1.18516391251743e+00 3.34409671898745e-01 +-6.00000000000000e+01 -5.23429573000686e-01 1.11926318629258e+00 3.17522701513396e-01 +-5.70000000000000e+01 -5.64095845062709e-01 1.04934925848864e+00 3.00463079386655e-01 +-5.40000000000000e+01 -6.00378608341846e-01 9.75089840277206e-01 2.83324978899023e-01 +-5.10000000000000e+01 -6.33825670480718e-01 8.98878165652328e-01 2.66289817728037e-01 +-4.80000000000000e+01 -6.63715021856558e-01 8.20722555213162e-01 2.49402483942605e-01 +-4.50000000000000e+01 -6.89949326847659e-01 7.41171796527856e-01 2.32802789995307e-01 +-4.20000000000000e+01 -6.75903980663870e-01 6.61802669625995e-01 2.16049502049165e-01 +-3.90000000000000e+01 -6.60295020231653e-01 5.83259386612024e-01 1.88845339902906e-01 +-3.60000000000000e+01 -6.43886026140079e-01 5.05922193961734e-01 1.47847362558428e-01 +-3.30000000000000e+01 -6.44572711694659e-01 4.31879534483064e-01 1.04963453797818e-01 +-3.00000000000000e+01 -7.48779763903332e-01 3.27314424047861e-01 7.20728100294881e-02 +-2.93939393939394e+01 -7.81482728222179e-01 3.02876086249827e-01 6.64097923253621e-02 +-2.87878787878788e+01 -8.14852544314492e-01 2.78359568547379e-01 6.07286797675669e-02 +-2.81818181818182e+01 -8.48844300147067e-01 2.53777068886153e-01 5.50261029567899e-02 +-2.75757575757576e+01 -8.77819439854549e-01 2.35637562778059e-01 4.95016183162444e-02 +-2.69696969696970e+01 -9.04953624223794e-01 2.20263308723522e-01 4.40567364590959e-02 +-2.63636363636364e+01 -9.31286539571536e-01 2.05145921836277e-01 3.86032831807385e-02 +-2.57575757575758e+01 -9.57064009683414e-01 1.90177997069439e-01 3.32929812591360e-02 +-2.51515151515151e+01 -9.83280734762892e-01 1.75210072302601e-01 2.79943997048673e-02 +-2.45454545454545e+01 -1.01557324583415e+00 1.60091103400385e-01 2.27487946244902e-02 +-2.39393939393939e+01 -1.04711534154716e+00 1.44783496957893e-01 1.73331733144551e-02 +-2.33333333333333e+01 -1.05861152370834e+00 1.36366822221504e-01 1.44293822210491e-02 +-2.27272727272727e+01 -1.07010726439941e+00 1.27950380850643e-01 1.15258099143176e-02 +-2.21212121212121e+01 -1.08160266576420e+00 1.19534154580400e-01 8.62241679003778e-03 +-2.15151515151515e+01 -1.09309780069180e+00 1.11118127003463e-01 5.71917225878580e-03 +-2.09090909090909e+01 -1.10459272259023e+00 1.02702283339820e-01 2.81605231907867e-03 +-2.03030303030303e+01 -1.11608747148718e+00 9.42866102398936e-02 -8.69621255431533e-05 +-1.96969696969697e+01 -1.12226073815790e+00 8.72103338863659e-02 -2.08961953173219e-03 +-1.90909090909091e+01 -1.12310993969454e+00 8.14733359579344e-02 -3.19192360554828e-03 +-1.84848484848485e+01 -1.12395562664730e+00 7.57363405416598e-02 -4.29412695439424e-03 +-1.78787878787879e+01 -1.12374706595439e+00 7.01839806426556e-02 -5.31090705903499e-03 +-1.72727272727273e+01 -1.11930341127728e+00 6.53721600619670e-02 -5.98636713031556e-03 +-1.66666666666667e+01 -1.11480885202259e+00 6.05639348066702e-02 -6.66172485175059e-03 +-1.60606060606061e+01 -1.11026320180524e+00 5.57596849612524e-02 -7.33696513799477e-03 +-1.54545454545455e+01 -1.10166626487725e+00 5.16033544836096e-02 -7.79679007171300e-03 +-1.48484848484848e+01 -1.09127726861433e+00 4.75692282636314e-02 -8.23264992461459e-03 +-1.42424242424242e+01 -1.08262004669041e+00 4.36101231454967e-02 -8.66848190383982e-03 +-1.36363636363636e+01 -1.07375753693628e+00 3.97754741166042e-02 -9.73969243819742e-03 +-1.30303030303030e+01 -1.06298941539503e+00 3.58195913402525e-02 -1.11583654504289e-02 +-1.24242424242424e+01 -1.05222129385377e+00 3.18294487239789e-02 -1.25256031717347e-02 +-1.18181818181818e+01 -1.03338061405406e+00 2.80358675776944e-02 -1.48065028780338e-02 +-1.12121212121212e+01 -9.95703962955267e-01 2.47009299107974e-02 -1.95499606911661e-02 +-1.06060606060606e+01 -9.56244513376118e-01 2.13659922439004e-02 -2.45514896497631e-02 +-1.00000000000000e+01 -9.20350660757683e-01 1.80310545770034e-02 -2.95530186083602e-02 +-9.39393939393939e+00 -8.40853460767791e-01 1.58372575148915e-02 -3.78628698404819e-02 +-8.78787878787879e+00 -7.59291059894809e-01 1.36324068114648e-02 -4.65338352835919e-02 +-8.18181818181818e+00 -6.78373545430970e-01 1.15760014783969e-02 -5.50102584312564e-02 +-7.57575757575758e+00 -5.97815756258787e-01 1.05575775921328e-02 -5.95512448201450e-02 +-6.96969696969697e+00 -5.17350466629694e-01 9.91994259669521e-03 -6.37502116687560e-02 +-6.36363636363636e+00 -4.37002769324458e-01 9.28424845210139e-03 -6.81299606835978e-02 +-5.75757575757576e+00 -3.57622963206501e-01 8.72063477432754e-03 -7.17233454065980e-02 +-5.15151515151515e+00 -2.79542990467275e-01 8.27775105446860e-03 -7.45099000634314e-02 +-4.54545454545454e+00 -2.01467279762403e-01 7.91045193367383e-03 -7.72964547202649e-02 +-3.93939393939394e+00 -1.23531495906349e-01 7.57868064275372e-03 -8.00121439783199e-02 +-3.33333333333333e+00 -4.68060266357325e-02 7.48658407766352e-03 -8.20900445939255e-02 +-2.72727272727273e+00 2.99134908277211e-02 7.39483023281454e-03 -8.41212587711389e-02 +-2.12121212121212e+00 1.06622230954497e-01 7.30343114456240e-03 -8.59981116661330e-02 +-1.51515151515152e+00 1.82840521655113e-01 7.28519287576584e-03 -8.77438368000061e-02 +-9.09090909090912e-01 2.58867620322475e-01 7.29019051543202e-03 -8.94476847689945e-02 +-3.03030303030302e-01 3.34546419522721e-01 7.32349938680449e-03 -9.10883851066076e-02 + 3.03030303030302e-01 4.10240972176249e-01 7.37459218977064e-03 -9.26907726792305e-02 + 9.09090909090912e-01 4.86014374405681e-01 7.44347194754262e-03 -9.42533085321381e-02 + 1.51515151515152e+00 5.61146503794188e-01 7.54468456240267e-03 -9.57522640305877e-02 + 2.12121212121212e+00 6.35637309566240e-01 7.65995776054228e-03 -9.72238613429371e-02 + 2.72727272727273e+00 7.09922091404345e-01 7.80866057246610e-03 -9.86281578051916e-02 + 3.33333333333333e+00 7.83795859615412e-01 7.98588525046934e-03 -9.99738919497857e-02 + 3.93939393939394e+00 8.57328606805231e-01 8.18646987002220e-03 -1.01271789103416e-01 + 4.54545454545455e+00 9.29936737519233e-01 8.45193374198665e-03 -1.02456770717109e-01 + 5.15151515151515e+00 1.00206399842707e+00 8.75041750929098e-03 -1.03590944534391e-01 + 5.75757575757576e+00 1.07306246074549e+00 9.12691018453974e-03 -1.04609158815379e-01 + 6.36363636363637e+00 1.14284405728802e+00 9.58384692169856e-03 -1.05496179746514e-01 + 6.96969696969697e+00 1.21181088158108e+00 1.00940463995858e-02 -1.06295903442437e-01 + 7.57575757575757e+00 1.27867371827536e+00 1.07186769493133e-02 -1.06868446742246e-01 + 8.18181818181818e+00 1.34456857801412e+00 1.13917175498414e-02 -1.07338463698194e-01 + 8.78787878787879e+00 1.40844430031286e+00 1.21549651847510e-02 -1.07597594581655e-01 + 9.39393939393939e+00 1.47071399456118e+00 1.29553434152190e-02 -1.07682984670814e-01 + 1.00000000000000e+01 1.53211852010616e+00 1.37758476318094e-02 -1.07675107454423e-01 + 1.06060606060606e+01 1.58975605010984e+00 1.47172812659553e-02 -1.07305270666495e-01 + 1.12121212121212e+01 1.64573537357039e+00 1.57256773619432e-02 -1.06798613878077e-01 + 1.18181818181818e+01 1.69863452152001e+00 1.68503966739831e-02 -1.06037193999606e-01 + 1.24242424242424e+01 1.74620890871862e+00 1.82492677398396e-02 -1.04935162384329e-01 + 1.30303030303030e+01 1.79090211057675e+00 1.97340682304272e-02 -1.03666335837994e-01 + 1.36363636363636e+01 1.82413947534457e+00 2.18489801535404e-02 -1.01988776834086e-01 + 1.42424242424242e+01 1.85108744517766e+00 2.44820430693354e-02 -1.00271230820940e-01 + 1.48484848484848e+01 1.87041277203902e+00 2.78566812721035e-02 -9.85111858030091e-02 + 1.54545454545455e+01 1.86377394697157e+00 3.29686286968125e-02 -9.66730670839109e-02 + 1.60606060606061e+01 1.84644490848554e+00 3.90204220035389e-02 -9.49237968329187e-02 + 1.66666666666667e+01 1.79796673705000e+00 4.83188989665609e-02 -9.42944786857159e-02 + 1.72727272727273e+01 1.74948856561446e+00 5.76173759295831e-02 -9.37036708219396e-02 + 1.78787878787879e+01 1.70101039417892e+00 6.69158528926051e-02 -9.31619146936754e-02 + 1.84848484848485e+01 1.64932371000381e+00 7.78466036740236e-02 -9.45267341819110e-02 + 1.90909090909091e+01 1.59683489781393e+00 8.91854228234867e-02 -9.63118494165877e-02 + 1.96969696969697e+01 1.54434608562406e+00 1.00524241972950e-01 -9.81051301385452e-02 + 2.03030303030303e+01 1.50113376676723e+00 1.12401337429432e-01 -1.00585172653737e-01 + 2.09090909090909e+01 1.46719793984426e+00 1.24964346951123e-01 -1.03770792167192e-01 + 2.15151515151515e+01 1.43326211292129e+00 1.37783029888983e-01 -1.07095702787156e-01 + 2.21212121212121e+01 1.39932628599831e+00 1.50328824166663e-01 -1.10563635681924e-01 + 2.27272727272727e+01 1.36496069421620e+00 1.61837178975733e-01 -1.14051524937087e-01 + 2.33333333333333e+01 1.32903549414854e+00 1.73681720665182e-01 -1.17556469095254e-01 + 2.39393939393939e+01 1.29311029408089e+00 1.85897978410996e-01 -1.21076103158026e-01 + 2.45454545454545e+01 1.26342482399999e+00 2.00149116940177e-01 -1.25387096928611e-01 + 2.51515151515151e+01 1.23575893537093e+00 2.14685641636393e-01 -1.29791031676386e-01 + 2.57575757575758e+01 1.21193170093125e+00 2.29324975013243e-01 -1.34201936162205e-01 + 2.63636363636364e+01 1.18766537806087e+00 2.44136528958664e-01 -1.38620847606836e-01 + 2.69696969696970e+01 1.16437131700896e+00 2.58616647844941e-01 -1.43049019782434e-01 + 2.75757575757576e+01 1.14158208065334e+00 2.73000636225415e-01 -1.47487982639378e-01 + 2.81818181818182e+01 1.11869822573036e+00 2.88592476047931e-01 -1.52094005989100e-01 + 2.87878787878788e+01 1.08996853599471e+00 3.07002636462145e-01 -1.57065132197053e-01 + 2.93939393939394e+01 1.06379177196237e+00 3.25270042638532e-01 -1.62036272075724e-01 + 3.00000000000000e+01 1.03936552074744e+00 3.44884500946175e-01 -1.67007435066001e-01 + 3.30000000000000e+01 9.59324862229463e-01 4.31879534483064e-01 -1.89969063105774e-01 + 3.60000000000000e+01 9.67423766004277e-01 5.05922193961734e-01 -2.09471241525564e-01 + 3.90000000000000e+01 9.75421457473789e-01 5.83259386612024e-01 -2.28755896236600e-01 + 4.20000000000000e+01 9.81648543805528e-01 6.61802669625996e-01 -2.46330718845186e-01 + 4.50000000000000e+01 9.85641895496655e-01 7.41171796527856e-01 -2.62631034649603e-01 + 4.80000000000000e+01 9.48164316937940e-01 8.20722555213162e-01 -2.78809175829101e-01 + 5.10000000000000e+01 9.05465243543882e-01 8.98878165652328e-01 -2.94251295590967e-01 + 5.40000000000000e+01 8.57683726202637e-01 9.75089840277206e-01 -3.09336813388142e-01 + 5.70000000000000e+01 8.05851207232441e-01 1.04934925848865e+00 -3.24152942720038e-01 + 6.00000000000000e+01 7.47756532858123e-01 1.11926318629258e+00 -3.38736992868033e-01 + 6.30000000000000e+01 6.85511829108697e-01 1.18516391251743e+00 -3.52810469371290e-01 + 6.60000000000000e+01 6.19604477784391e-01 1.24696042820858e+00 -3.66628658991358e-01 + 6.90000000000000e+01 5.49728044479263e-01 1.30351606182400e+00 -3.80446848474922e-01 + 7.20000000000000e+01 4.75501986472481e-01 1.35237797887890e+00 -3.93100726307329e-01 + 7.50000000000000e+01 3.98914111185015e-01 1.39545160592736e+00 -4.05491612576584e-01 + 7.80000000000000e+01 3.20479218022810e-01 1.43252933223617e+00 -4.17627964037070e-01 + 8.10000000000000e+01 2.40355207399500e-01 1.46078476756415e+00 -4.29003101743840e-01 + 8.40000000000000e+01 1.59839019310078e-01 1.48075406999150e+00 -4.39419674097466e-01 + 8.70000000000000e+01 7.95970945487585e-02 1.49385398186778e+00 -4.49536694713251e-01 + 9.00000000000000e+01 3.11796895373379e-10 1.49999999997594e+00 -4.59653715242421e-01 + 9.30000000000000e+01 -5.57179665181958e-02 1.49385398183090e+00 -4.64552483839626e-01 + 9.60000000000000e+01 -1.11887313669619e-01 1.48075406994453e+00 -4.69451252374449e-01 + 9.90000000000000e+01 -1.68248644740245e-01 1.46078476778547e+00 -4.73674134131451e-01 + 1.02000000000000e+02 -2.24335452176562e-01 1.43252933245758e+00 -4.75734178272940e-01 + 1.05000000000000e+02 -2.79239878049430e-01 1.39545160577238e+00 -4.76076674916107e-01 + 1.08000000000000e+02 -3.32851390775919e-01 1.35237797865411e+00 -4.75827800648368e-01 + 1.11000000000000e+02 -3.84809630816704e-01 1.30351606219254e+00 -4.74950393671354e-01 + 1.14000000000000e+02 -4.33723134806768e-01 1.24696042779494e+00 -4.71290356324923e-01 + 1.17000000000000e+02 -4.79858280438475e-01 1.18516391242889e+00 -4.67605817999893e-01 + 1.20000000000000e+02 -5.23429572869563e-01 1.11926318651798e+00 -4.63432236791527e-01 + 1.23000000000000e+02 -5.64095845494001e-01 1.04934925774705e+00 -4.58560703361123e-01 + 1.26000000000000e+02 -6.00378608273065e-01 9.75089840419272e-01 -4.53371919003534e-01 + 1.29000000000000e+02 -6.33825670234055e-01 8.98878166259559e-01 -4.48641504388375e-01 + 1.32000000000000e+02 -6.63715021720928e-01 8.20722555626730e-01 -4.44567111081593e-01 + 1.35000000000000e+02 -6.89949327075013e-01 7.41171795841158e-01 -4.41769192989046e-01 + 1.38000000000000e+02 -7.13403980665434e-01 6.61802669620561e-01 -4.38971274927823e-01 + 1.41000000000000e+02 -7.35295020192324e-01 5.83259386759780e-01 -4.36222909472407e-01 + 1.44000000000000e+02 -7.55946636420931e-01 5.05922193176882e-01 -4.34566871895635e-01 + 1.47000000000000e+02 -7.76527403494182e-01 4.31879534721945e-01 -4.33164956996610e-01 + 1.50000000000000e+02 -7.34435883693359e-01 3.60259770958488e-01 -4.30044279886215e-01 + 1.53000000000000e+02 -6.60992295241294e-01 2.93262608727547e-01 -4.09121666392660e-01 + 1.56000000000000e+02 -5.87548706789230e-01 2.31169921604307e-01 -3.86418639624371e-01 + 1.59000000000000e+02 -5.14105118337166e-01 1.74242553323644e-01 -3.63717445667992e-01 + 1.62000000000000e+02 -4.40661529885102e-01 1.23505066634816e-01 -3.84920632116501e-01 + 1.65000000000000e+02 -3.67217941433038e-01 8.02630932303138e-02 -4.28075395193463e-01 + 1.68000000000000e+02 -2.93774352980973e-01 4.46712423919508e-02 -4.71230158270425e-01 + 1.71000000000000e+02 -2.20330764528908e-01 2.69830183635072e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.46887176076844e-01 2.10866520316328e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -7.34435885891144e-02 1.74369376267424e-02 -1.50000000451309e-01 + 1.80000000000000e+02 1.71825147130708e-18 1.60687387137002e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_35.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_35.dat new file mode 100644 index 0000000..9c13bcd --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_35.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF35_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF35_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-2.987939 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.182221 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-13.294942 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.797456 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.107962 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.007178 Cd0 ! 2D drag coefficient value at 0-lift. +-0.081997 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 2.88598621586899e-18 1.91400298203920e-02 0.00000000000000e+00 +-1.77000000000000e+02 7.24254691769622e-02 2.05040444962375e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.44850937267808e-01 2.41425621111182e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.17276804422000e-01 3.00207702940989e-02 3.60000658682385e-01 +-1.68000000000000e+02 2.89705554747489e-01 5.11382689229415e-02 3.90226160814986e-01 +-1.65000000000000e+02 3.62127344393244e-01 8.68518724795049e-02 3.75567263740250e-01 +-1.62000000000000e+02 4.34556767879205e-01 1.29878995792210e-01 3.60906821499640e-01 +-1.59000000000000e+02 5.06974290858170e-01 1.80166495345654e-01 3.58661347170543e-01 +-1.56000000000000e+02 5.79405642540235e-01 2.36682280825680e-01 3.81247965545247e-01 +-1.53000000000000e+02 6.51829995194706e-01 2.98393437292763e-01 4.03833283207810e-01 +-1.50000000000000e+02 7.24254689602304e-01 3.65041624337508e-01 4.24688577917394e-01 +-1.47000000000000e+02 7.66104425645568e-01 4.36340573575824e-01 4.28243875860133e-01 +-1.44000000000000e+02 7.46818019881822e-01 5.10095180825648e-01 4.30098706206403e-01 +-1.41000000000000e+02 7.27214700608570e-01 5.87162369521260e-01 4.32127348269314e-01 +-1.38000000000000e+02 7.06229582433480e-01 6.65457528609002e-01 4.35101643302647e-01 +-1.35000000000000e+02 6.83533274146257e-01 7.44595853254203e-01 4.38412925793158e-01 +-1.32000000000000e+02 6.57882942934658e-01 8.23927156980379e-01 4.41724208320740e-01 +-1.29000000000000e+02 6.28560608144408e-01 9.01851593157489e-01 4.46168896505611e-01 +-1.26000000000000e+02 5.95995713418679e-01 9.77810028046647e-01 4.51196077994870e-01 +-1.23000000000000e+02 5.60505900242775e-01 1.05182326565744e+00 4.56626824558226e-01 +-1.20000000000000e+02 5.20511974888399e-01 1.12149396079047e+00 4.61707282302056e-01 +-1.17000000000000e+02 4.77537715655587e-01 1.18715639416631e+00 4.66017104453115e-01 +-1.14000000000000e+02 4.31932519693629e-01 1.24871898722697e+00 4.69789682591084e-01 +-1.11000000000000e+02 3.83475399138704e-01 1.30504381820383e+00 4.73535685252141e-01 +-1.08000000000000e+02 3.31877125078267e-01 1.35367704433242e+00 4.74451776465284e-01 +-1.05000000000000e+02 2.78563059698089e-01 1.39652556956688e+00 4.74728655252538e-01 +-1.02000000000000e+02 2.23907383728290e-01 1.43338154507787e+00 4.74407825305867e-01 +-9.90000000000000e+01 1.68003982921444e-01 1.46141797562078e+00 4.72362526894308e-01 +-9.60000000000000e+01 1.11769563051385e-01 1.48117191016154e+00 4.68145675576246e-01 +-9.30000000000000e+01 5.56816758270819e-02 1.49406067345296e+00 4.63250213951957e-01 +-9.00000000000000e+01 -2.18115762999883e-10 1.49999999997674e+00 4.58354752262135e-01 +-8.70000000000000e+01 -5.56816754932346e-02 1.49406067348859e+00 4.47428841049011e-01 +-8.40000000000000e+01 -1.11769562899116e-01 1.48117191020793e+00 4.36502929742346e-01 +-8.10000000000000e+01 -1.68003983359413e-01 1.46141797540115e+00 4.25061973033891e-01 +-7.80000000000000e+01 -2.23907384166258e-01 1.43338154485821e+00 4.11972871288176e-01 +-7.50000000000000e+01 -2.78563059479213e-01 1.39652556972096e+00 3.97574948381258e-01 +-7.20000000000000e+01 -3.31877124834672e-01 1.35367704455615e+00 3.82783266977956e-01 +-6.90000000000000e+01 -3.83475399454511e-01 1.30504381783677e+00 3.67629805107884e-01 +-6.60000000000000e+01 -4.31932519339273e-01 1.24871898763889e+00 3.50874674992106e-01 +-6.30000000000000e+01 -4.77537715593975e-01 1.18715639425452e+00 3.34119544710811e-01 +-6.00000000000000e+01 -5.20511975017354e-01 1.12149396056584e+00 3.17261175945766e-01 +-5.70000000000000e+01 -5.60505899818614e-01 1.05182326639640e+00 3.00196330350661e-01 +-5.40000000000000e+01 -5.95995713485936e-01 9.77810027905063e-01 2.83037631354189e-01 +-5.10000000000000e+01 -6.28560608383671e-01 9.01851592552265e-01 2.65975520389191e-01 +-4.80000000000000e+01 -6.57882943067662e-01 8.23927156567898e-01 2.49053514305703e-01 +-4.50000000000000e+01 -6.83533273924437e-01 7.44595853938913e-01 2.32404121741861e-01 +-4.20000000000000e+01 -6.68729582431973e-01 6.65457528614419e-01 2.15588130401477e-01 +-3.90000000000000e+01 -6.52214700645957e-01 5.87162369373987e-01 1.89042237889959e-01 +-3.60000000000000e+01 -6.34318019677438e-01 5.10095181607662e-01 1.49591379708271e-01 +-3.30000000000000e+01 -6.27399184104191e-01 4.36340573337944e-01 1.08450637355751e-01 +-3.00000000000000e+01 -7.10395926898374e-01 3.36858443421798e-01 7.62887340112968e-02 +-2.93939393939394e+01 -7.36485062837226e-01 3.14051165207740e-01 7.06849271769332e-02 +-2.87878787878788e+01 -7.63139973435506e-01 2.91206272628607e-01 6.50724144425432e-02 +-2.81818181818182e+01 -7.90339010309505e-01 2.68329634430130e-01 5.94495747033586e-02 +-2.75757575757576e+01 -8.24068793795664e-01 2.48895749259538e-01 5.34423283434414e-02 +-2.69696969696970e+01 -8.60931437842326e-01 2.30939239280392e-01 4.72719132511339e-02 +-2.63636363636364e+01 -8.97704500697009e-01 2.13106314709526e-01 4.10973742273765e-02 +-2.57575757575758e+01 -9.34506492894962e-01 1.95345300213302e-01 3.49917090073714e-02 +-2.51515151515151e+01 -9.71817640177380e-01 1.77584285717078e-01 2.88916827578794e-02 +-2.45454545454545e+01 -1.01383749677194e+00 1.59838371217910e-01 2.28491184965274e-02 +-2.39393939393939e+01 -1.05406166759910e+00 1.42441461423893e-01 1.68604421466838e-02 +-2.33333333333333e+01 -1.06693889649302e+00 1.33985480017240e-01 1.39089559776289e-02 +-2.27272727272727e+01 -1.07981591217748e+00 1.25529610888752e-01 1.09575750724766e-02 +-2.21212121212121e+01 -1.09269276398319e+00 1.17073845250709e-01 8.00628037661563e-03 +-2.15151515151515e+01 -1.10556948711217e+00 1.08618175209132e-01 5.05505717268648e-03 +-2.09090909090909e+01 -1.11844610735801e+00 1.00162593652976e-01 2.10389391295768e-03 +-2.03030303030303e+01 -1.13132264405221e+00 9.17070941594168e-02 -8.47218590369179e-04 +-1.96969696969697e+01 -1.13854399982512e+00 8.46454089837695e-02 -2.84854697356541e-03 +-1.90909090909091e+01 -1.14010892678746e+00 7.89774813116424e-02 -3.90009294179214e-03 +-1.84848484848485e+01 -1.14167215636986e+00 7.33095548481785e-02 -4.95159044864216e-03 +-1.78787878787879e+01 -1.14230874916186e+00 6.78080106074879e-02 -5.92426666595394e-03 +-1.72727272727273e+01 -1.13923005134025e+00 6.29729562517196e-02 -6.58183712581013e-03 +-1.66666666666667e+01 -1.13612676898391e+00 5.81396316995735e-02 -7.23935834252023e-03 +-1.60606060606061e+01 -1.13299881207756e+00 5.33082198194835e-02 -7.89682305813616e-03 +-1.54545454545455e+01 -1.12693429535566e+00 4.90548617124184e-02 -8.43568797674787e-03 +-1.48484848484848e+01 -1.11989541120934e+00 4.48898906838223e-02 -8.96136068576988e-03 +-1.42424242424242e+01 -1.11369289322866e+00 4.07610142390483e-02 -9.48701998404847e-03 +-1.36363636363636e+01 -1.10280643192600e+00 3.68223761870735e-02 -1.10338312030897e-02 +-1.30303030303030e+01 -1.08794311616031e+00 3.29123157095177e-02 -1.32247855778491e-02 +-1.24242424242424e+01 -1.07307980039461e+00 2.89857719408155e-02 -1.53909931097320e-02 +-1.18181818181818e+01 -1.04851580703270e+00 2.53513098667696e-02 -1.84578163721581e-02 +-1.12121212121212e+01 -1.00131689684103e+00 2.23983718203467e-02 -2.37851751860384e-02 +-1.06060606060606e+01 -9.53256978205271e-01 1.94454337739239e-02 -2.92366986730995e-02 +-1.00000000000000e+01 -9.06919076457685e-01 1.64924957275010e-02 -3.46882221601607e-02 +-9.39393939393939e+00 -8.28175478503451e-01 1.47507769691187e-02 -4.15817320551454e-02 +-8.78787878787879e+00 -7.48434484713354e-01 1.30037400317635e-02 -4.86489832925767e-02 +-8.18181818181818e+00 -6.69004940955253e-01 1.13281239844215e-02 -5.56226352223815e-02 +-7.57575757575758e+00 -5.89756764498785e-01 1.04247775870267e-02 -5.96221382547254e-02 +-6.96969696969697e+00 -5.10556533908763e-01 9.81776173336387e-03 -6.34638308934116e-02 +-6.36363636363636e+00 -4.31413094921895e-01 9.21167967301715e-03 -6.74371954084349e-02 +-5.75757575757576e+00 -3.52857430637709e-01 8.64430570837351e-03 -7.07618088221452e-02 +-5.15151515151515e+00 -2.75110017868390e-01 8.14527042393092e-03 -7.35175698383947e-02 +-4.54545454545454e+00 -1.97364663462711e-01 7.72168334869496e-03 -7.62733308546444e-02 +-3.93939393939394e+00 -1.19767145742670e-01 7.33432582454499e-03 -7.89485132894289e-02 +-3.33333333333333e+00 -4.34764804754649e-02 7.23450777274542e-03 -8.08984884302583e-02 +-2.72727272727273e+00 3.28113103467144e-02 7.13485461247864e-03 -8.28260015234439e-02 +-2.12121212121212e+00 1.09093896218370e-01 7.03537213474526e-03 -8.46792474290908e-02 +-1.51515151515152e+00 1.84863160343303e-01 7.01843525868060e-03 -8.63565773686042e-02 +-9.09090909090912e-01 2.60450337452598e-01 7.02669788291897e-03 -8.79810265125623e-02 +-3.03030303030302e-01 3.35752366049105e-01 7.06095546611129e-03 -8.95494471934312e-02 + 3.03030303030302e-01 4.10972581454611e-01 7.11204731259380e-03 -9.10831267984864e-02 + 9.09090909090912e-01 4.86204204734360e-01 7.17997487691171e-03 -9.25813248969830e-02 + 1.51515151515152e+00 5.60941820404473e-01 7.28008984638398e-03 -9.40216201673754e-02 + 2.12121212121212e+00 6.35069163900248e-01 7.39362568550665e-03 -9.54367159594769e-02 + 2.72727272727273e+00 7.09015795660354e-01 7.53812951668118e-03 -9.67905641257105e-02 + 3.33333333333333e+00 7.82552887507816e-01 7.71147861217471e-03 -9.80911498186453e-02 + 3.93939393939394e+00 8.55752613396202e-01 7.90843986469121e-03 -9.93481944719163e-02 + 4.54545454545455e+00 9.28017879619748e-01 8.17313217832544e-03 -1.00498431696890e-01 + 5.15151515151515e+00 9.99748696337379e-01 8.47888202353545e-03 -1.01594977992051e-01 + 5.75757575757576e+00 1.07019035804461e+00 8.88550441183907e-03 -1.02565488798875e-01 + 6.36363636363637e+00 1.13940414008500e+00 9.37103339235932e-03 -1.03409696885795e-01 + 6.96969696969697e+00 1.20779763164899e+00 9.90899036942801e-03 -1.04169782546229e-01 + 7.57575757575757e+00 1.27380393536396e+00 1.05864782843371e-02 -1.04683878434291e-01 + 8.18181818181818e+00 1.33894989897289e+00 1.13003833809793e-02 -1.05110194936683e-01 + 8.78787878787879e+00 1.40237243377152e+00 1.20779422541665e-02 -1.05362115162292e-01 + 9.39393939393939e+00 1.46419798704966e+00 1.28930870081963e-02 -1.05450419977271e-01 + 1.00000000000000e+01 1.52516344147604e+00 1.37285341077395e-02 -1.05450761505511e-01 + 1.06060606060606e+01 1.58248584447592e+00 1.46819940008505e-02 -1.05121950615542e-01 + 1.12121212121212e+01 1.63819640610673e+00 1.57019971953975e-02 -1.04670554935114e-01 + 1.18181818181818e+01 1.69091323440421e+00 1.68367142140819e-02 -1.03991179995851e-01 + 1.24242424242424e+01 1.73826610708692e+00 1.82518183117697e-02 -1.02999896680877e-01 + 1.30303030303030e+01 1.78268408857883e+00 1.97660516543275e-02 -1.01854366349198e-01 + 1.36363636363636e+01 1.81498224401742e+00 2.19690238894159e-02 -1.00311625869086e-01 + 1.42424242424242e+01 1.83915219588396e+00 2.47817025226965e-02 -9.86841602048832e-02 + 1.48484848484848e+01 1.85200468874775e+00 2.84702709586263e-02 -9.69380175794952e-02 + 1.54545454545455e+01 1.83883898161843e+00 3.40870296230431e-02 -9.51758840635245e-02 + 1.60606060606061e+01 1.81474268167714e+00 4.06861169357523e-02 -9.35501182033233e-02 + 1.66666666666667e+01 1.76412952361439e+00 5.03415897873847e-02 -9.32410560685643e-02 + 1.72727272727273e+01 1.71351636555164e+00 5.99970626390172e-02 -9.29505222227667e-02 + 1.78787878787879e+01 1.66290320748890e+00 6.96525354906496e-02 -9.26835884299616e-02 + 1.84848484848485e+01 1.61487648014156e+00 8.03859920209914e-02 -9.41649879054926e-02 + 1.90909090909091e+01 1.56749636033592e+00 9.13889444138482e-02 -9.60229054878819e-02 + 1.96969696969697e+01 1.52011624053028e+00 1.02391896806705e-01 -9.78847516964558e-02 + 2.03030303030303e+01 1.48061078583220e+00 1.13832739834316e-01 -1.00310169073087e-01 + 2.09090909090909e+01 1.44897999505394e+00 1.25871611755293e-01 -1.03308210062224e-01 + 2.15151515151515e+01 1.41734920427567e+00 1.38187804942266e-01 -1.06440391093248e-01 + 2.21212121212121e+01 1.38571841349740e+00 1.50267073068880e-01 -1.09713487282315e-01 + 2.27272727272727e+01 1.35361969900411e+00 1.61409633432923e-01 -1.12996184990227e-01 + 2.33333333333333e+01 1.31982289848211e+00 1.72843203100305e-01 -1.16287088251121e-01 + 2.39393939393939e+01 1.28602609796010e+00 1.84626137854770e-01 -1.19585059203373e-01 + 2.45454545454545e+01 1.25629415037740e+00 1.98705834469644e-01 -1.23836439394541e-01 + 2.51515151515151e+01 1.22838035502243e+00 2.13069251901988e-01 -1.28196165373956e-01 + 2.57575757575758e+01 1.20449611295270e+00 2.27482133237817e-01 -1.32559244673808e-01 + 2.63636363636364e+01 1.18031438922020e+00 2.41977874323707e-01 -1.36926176327716e-01 + 2.69696969696970e+01 1.15703085147424e+00 2.56314153468492e-01 -1.41297563557748e-01 + 2.75757575757576e+01 1.13428027223700e+00 2.70604181751661e-01 -1.45674142462426e-01 + 2.81818181818182e+01 1.11061641122218e+00 2.86511151922496e-01 -1.50304471869414e-01 + 2.87878787878788e+01 1.07958919610771e+00 3.06190987247907e-01 -1.55514999670668e-01 + 2.93939393939394e+01 1.05093672740819e+00 3.25516749190972e-01 -1.60725534049257e-01 + 3.00000000000000e+01 1.02398806996471e+00 3.46061393885224e-01 -1.65936079547434e-01 + 3.30000000000000e+01 9.44434893868278e-01 4.36340573337945e-01 -1.89627365676647e-01 + 3.60000000000000e+01 9.54382885253484e-01 5.10095181607662e-01 -2.09035902002838e-01 + 3.90000000000000e+01 9.63878143779938e-01 5.87162369373987e-01 -2.28240569864934e-01 + 4.20000000000000e+01 9.71399403474246e-01 6.65457528614420e-01 -2.45814015136908e-01 + 4.50000000000000e+01 9.76476105606339e-01 7.44595853938913e-01 -2.62171549039484e-01 + 4.80000000000000e+01 9.39832775810946e-01 8.23927156567898e-01 -2.78396563815215e-01 + 5.10000000000000e+01 8.97943726262387e-01 9.01851592552265e-01 -2.93874578486623e-01 + 5.40000000000000e+01 8.51422447837052e-01 9.77810027905063e-01 -3.08992183085906e-01 + 5.70000000000000e+01 8.00722714026591e-01 1.05182326639640e+00 -3.23836874952166e-01 + 6.00000000000000e+01 7.43588535739077e-01 1.12149396056584e+00 -3.38434059254655e-01 + 6.30000000000000e+01 6.82196736562822e-01 1.18715639425452e+00 -3.52486727477377e-01 + 6.60000000000000e+01 6.17046456198961e-01 1.24871898763889e+00 -3.66267137599131e-01 + 6.90000000000000e+01 5.47821999220729e-01 1.30504381783677e+00 -3.80047547584754e-01 + 7.20000000000000e+01 4.74110178335245e-01 1.35367704455615e+00 -3.92610586889390e-01 + 7.50000000000000e+01 3.97947227827447e-01 1.39652556972096e+00 -4.04898649806727e-01 + 7.80000000000000e+01 3.19867691666083e-01 1.43338154485821e+00 -4.16923473051660e-01 + 8.10000000000000e+01 2.40005690513447e-01 1.46141797540115e+00 -4.28169760612490e-01 + 8.40000000000000e+01 1.59670804141595e-01 1.48117191020793e+00 -4.38435670017471e-01 + 8.70000000000000e+01 7.95452507046206e-02 1.49406067348859e+00 -4.48395211184329e-01 + 9.00000000000000e+01 3.11593811176811e-10 1.49999999997674e+00 -4.58354752265920e-01 + 9.30000000000000e+01 -5.56816758270817e-02 1.49406067345296e+00 -4.63250213951957e-01 + 9.60000000000000e+01 -1.11769563051385e-01 1.48117191016154e+00 -4.68145675576246e-01 + 9.90000000000000e+01 -1.68003982921445e-01 1.46141797562078e+00 -4.72362526894308e-01 + 1.02000000000000e+02 -2.23907383728290e-01 1.43338154507787e+00 -4.74407825305867e-01 + 1.05000000000000e+02 -2.78563059698089e-01 1.39652556956688e+00 -4.74728655252538e-01 + 1.08000000000000e+02 -3.31877125078267e-01 1.35367704433242e+00 -4.74451776465284e-01 + 1.11000000000000e+02 -3.83475399138705e-01 1.30504381820383e+00 -4.73535685252141e-01 + 1.14000000000000e+02 -4.31932519693629e-01 1.24871898722697e+00 -4.69789682591084e-01 + 1.17000000000000e+02 -4.77537715655587e-01 1.18715639416631e+00 -4.66017104453115e-01 + 1.20000000000000e+02 -5.20511974888399e-01 1.12149396079047e+00 -4.61707282302056e-01 + 1.23000000000000e+02 -5.60505900242775e-01 1.05182326565744e+00 -4.56626824558226e-01 + 1.26000000000000e+02 -5.95995713418679e-01 9.77810028046648e-01 -4.51196077994870e-01 + 1.29000000000000e+02 -6.28560608144409e-01 9.01851593157489e-01 -4.46168896505611e-01 + 1.32000000000000e+02 -6.57882942934659e-01 8.23927156980378e-01 -4.41724208320740e-01 + 1.35000000000000e+02 -6.83533274146257e-01 7.44595853254203e-01 -4.38412925793158e-01 + 1.38000000000000e+02 -7.06229582433481e-01 6.65457528609002e-01 -4.35101643302647e-01 + 1.41000000000000e+02 -7.27214700608570e-01 5.87162369521259e-01 -4.32127348269314e-01 + 1.44000000000000e+02 -7.46818019881822e-01 5.10095180825648e-01 -4.30098706206403e-01 + 1.47000000000000e+02 -7.66104425645568e-01 4.36340573575824e-01 -4.28243875860133e-01 + 1.50000000000000e+02 -7.24254689602304e-01 3.65041624337508e-01 -4.24688577917394e-01 + 1.53000000000000e+02 -6.51829220560492e-01 2.98392761014152e-01 -4.03833041635748e-01 + 1.56000000000000e+02 -5.79403751518680e-01 2.36680734405093e-01 -3.81247375847327e-01 + 1.59000000000000e+02 -5.06978282476867e-01 1.80169518578121e-01 -3.58662591871910e-01 + 1.62000000000000e+02 -4.34552813435056e-01 1.29876538060061e-01 -3.80907622051070e-01 + 1.65000000000000e+02 -3.62127344393244e-01 8.68518724795050e-02 -4.25567263906776e-01 + 1.68000000000000e+02 -2.89701875351432e-01 5.11365918881584e-02 -4.70226905762482e-01 + 1.71000000000000e+02 -2.17276406309620e-01 3.00207351613436e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.44850937267808e-01 2.41425621111182e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -7.24254691769622e-02 2.05040444962375e-02 -1.50000000451309e-01 + 1.80000000000000e+02 2.88598621586899e-18 1.91400298203920e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_36.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_36.dat new file mode 100644 index 0000000..dae26ec --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_36.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF36_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF36_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-3.008228 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.135000 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-13.697518 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.781001 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.122153 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.006983 Cd0 ! 2D drag coefficient value at 0-lift. +-0.080790 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 3.94500701911350e-18 2.20397515249612e-02 0.00000000000000e+00 +-1.77000000000000e+02 7.15957637362154e-02 2.33969219051223e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.43191526398757e-01 2.70171485383867e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.14787683552979e-01 3.28657068343814e-02 3.60000658682385e-01 +-1.68000000000000e+02 2.86386690848917e-01 5.71104603666480e-02 3.89389353861480e-01 +-1.65000000000000e+02 3.57978817206597e-01 9.28840112782122e-02 3.73475405749923e-01 +-1.62000000000000e+02 4.29578489951288e-01 1.35649980098422e-01 3.57559780180000e-01 +-1.59000000000000e+02 5.01166398521070e-01 1.85499369632504e-01 3.54438737273798e-01 +-1.56000000000000e+02 5.72767977372469e-01 2.41580007996037e-01 3.76908201329724e-01 +-1.53000000000000e+02 6.44362637377064e-01 3.02866483034790e-01 3.99375712765724e-01 +-1.50000000000000e+02 7.15957635219665e-01 3.69098552816134e-01 4.20150893369474e-01 +-1.47000000000000e+02 7.57560472342350e-01 4.39986705195654e-01 4.24002207782099e-01 +-1.44000000000000e+02 7.39181255467893e-01 5.13345673252741e-01 4.26168438355958e-01 +-1.41000000000000e+02 7.20320023427597e-01 5.90018329178623e-01 4.28451912337480e-01 +-1.38000000000000e+02 6.99983409151346e-01 6.67928729699026e-01 4.31574183461903e-01 +-1.35000000000000e+02 6.77838812654514e-01 7.46689733474439e-01 4.35230492433108e-01 +-1.32000000000000e+02 6.52627465723032e-01 8.25647552880297e-01 4.38886801445249e-01 +-1.29000000000000e+02 6.23741796287294e-01 9.03294578562939e-01 4.43573039272249e-01 +-1.26000000000000e+02 5.91840693893388e-01 9.79117979971721e-01 4.48788590357112e-01 +-1.23000000000000e+02 5.56959815229790e-01 1.05300251976302e+00 4.54368132888463e-01 +-1.20000000000000e+02 5.17501755055448e-01 1.12254854753618e+00 4.59574782188229e-01 +-1.17000000000000e+02 4.75018061285040e-01 1.18809098590783e+00 4.63961066184151e-01 +-1.14000000000000e+02 4.29863034777195e-01 1.24953770071356e+00 4.67836552755684e-01 +-1.11000000000000e+02 3.81811718300871e-01 1.30574996790214e+00 4.71694439443907e-01 +-1.08000000000000e+02 3.30609116344069e-01 1.35427331828401e+00 4.72660878266953e-01 +-1.05000000000000e+02 2.77682179273954e-01 1.39701516506833e+00 4.72974204991795e-01 +-1.02000000000000e+02 2.23350251795438e-01 1.43376743093243e+00 4.72681574293506e-01 +-9.90000000000000e+01 1.67685555079931e-01 1.46170276716953e+00 4.70655467478642e-01 +-9.60000000000000e+01 1.11616310388649e-01 1.48135856057980e+00 4.66446464788799e-01 +-9.30000000000000e+01 5.56344434207540e-02 1.49415235968430e+00 4.61555307115118e-01 +-9.00000000000000e+01 -2.17930744581006e-10 1.49999999997710e+00 4.56664149376729e-01 +-8.70000000000000e+01 -5.56344430871899e-02 1.49415235971936e+00 4.45944190642344e-01 +-8.40000000000000e+01 -1.11616310236765e-01 1.48135856062593e+00 4.35224231816181e-01 +-8.10000000000000e+01 -1.67685555516029e-01 1.46170276695068e+00 4.23980927154251e-01 +-7.80000000000000e+01 -2.23350252231536e-01 1.43376743071357e+00 4.11062916063900e-01 +-7.50000000000000e+01 -2.77682179056437e-01 1.39701516522198e+00 3.96814990944443e-01 +-7.20000000000000e+01 -3.30609116102538e-01 1.35427331850724e+00 3.82162628835635e-01 +-6.90000000000000e+01 -3.81811718614033e-01 1.30574996753580e+00 3.67133730447668e-01 +-6.60000000000000e+01 -4.29863034425807e-01 1.24953770112463e+00 3.50437837106982e-01 +-6.30000000000000e+01 -4.75018061224077e-01 1.18809098599588e+00 3.33741943601366e-01 +-6.00000000000000e+01 -5.17501755182676e-01 1.12254854731194e+00 3.16920799901765e-01 +-5.70000000000000e+01 -5.56959814811312e-01 1.05300252050061e+00 2.99849155952245e-01 +-5.40000000000000e+01 -5.91840693959477e-01 9.79117979830391e-01 2.82663647955738e-01 +-5.10000000000000e+01 -6.23741796521056e-01 9.03294577958796e-01 2.65566461780484e-01 +-4.80000000000000e+01 -6.52627465854039e-01 8.25647552469722e-01 2.48599329632437e-01 +-4.50000000000000e+01 -6.77838812436828e-01 7.46689734155861e-01 2.31885254220777e-01 +-4.20000000000000e+01 -6.62483409149879e-01 6.67928729704416e-01 2.15060846904451e-01 +-3.90000000000000e+01 -6.45320023463608e-01 5.90018329032081e-01 1.89137761287635e-01 +-3.60000000000000e+01 -6.26681255273010e-01 5.13345674030710e-01 1.51074211837542e-01 +-3.30000000000000e+01 -6.12495238879955e-01 4.39986704959100e-01 1.11484678499498e-01 +-3.00000000000000e+01 -6.75609059378635e-01 3.45380410314031e-01 8.00446000813635e-02 +-2.93939393939394e+01 -6.95554160640265e-01 3.24094282481255e-01 7.45129230510480e-02 +-2.87878787878788e+01 -7.15990881245602e-01 3.02798830269378e-01 6.89790878794987e-02 +-2.81818181818182e+01 -7.36913845465731e-01 2.81495508505831e-01 6.34426927044115e-02 +-2.75757575757576e+01 -7.74894067594838e-01 2.60903823030862e-01 5.70055611114955e-02 +-2.69696969696970e+01 -8.20552035176893e-01 2.40617597929362e-01 5.01827906134707e-02 +-2.63636363636364e+01 -8.66637359280865e-01 2.20362008921167e-01 4.33589978171792e-02 +-2.57575757575758e+01 -9.13179472864184e-01 2.00124245996058e-01 3.65522784303406e-02 +-2.51515151515151e+01 -9.60297800987419e-01 1.79886483070949e-01 2.97469569110106e-02 +-2.45454545454545e+01 -1.01121228733433e+00 1.59717825375592e-01 2.29796902145901e-02 +-2.39393939393939e+01 -1.05942238811321e+00 1.40449557238426e-01 1.64813629116131e-02 +-2.33333333333333e+01 -1.07347890435797e+00 1.31964435480002e-01 1.34885629535030e-02 +-2.27272727272727e+01 -1.08753536756356e+00 1.23479341554671e-01 1.04957890896931e-02 +-2.21212121212121e+01 -1.10159179000177e+00 1.14994273284012e-01 7.50303659665767e-03 +-2.15151515151515e+01 -1.11564818042964e+00 1.06509228711152e-01 4.51030182605020e-03 +-2.09090909090909e+01 -1.12970454526374e+00 9.80242060733056e-02 1.51758191525621e-03 +-2.03030303030303e+01 -1.14376088931307e+00 8.95392037782925e-02 -1.47512541332531e-03 +-1.96969696969697e+01 -1.15191308232464e+00 8.24915060392246e-02 -3.47538353191175e-03 +-1.90909090909091e+01 -1.15416081318830e+00 7.68810989368257e-02 -4.48319274902216e-03 +-1.84848484848485e+01 -1.15640812180234e+00 7.12706921340472e-02 -5.49098995284331e-03 +-1.78787878787879e+01 -1.15786562152098e+00 6.58080098433012e-02 -6.42616167188250e-03 +-1.72727272727273e+01 -1.15616171011405e+00 6.09364639157238e-02 -7.07087587912803e-03 +-1.66666666666667e+01 -1.15445168292252e+00 5.60653467962549e-02 -7.71557787928829e-03 +-1.60606060606061e+01 -1.15273551755367e+00 5.11947038169000e-02 -8.36026587316077e-03 +-1.54545454545455e+01 -1.14946879214014e+00 4.68160348501574e-02 -8.96591459794832e-03 +-1.48484848484848e+01 -1.14586856154089e+00 4.24980185197079e-02 -9.56722204265963e-03 +-1.42424242424242e+01 -1.14247639000724e+00 3.81889498235555e-02 -1.01685261629268e-02 +-1.36363636363636e+01 -1.13033071549651e+00 3.41450343826062e-02 -1.21588972175818e-02 +-1.30303030303030e+01 -1.11213686990546e+00 3.02535326899568e-02 -1.50662339088090e-02 +-1.24242424242424e+01 -1.09394302431441e+00 2.63579448867175e-02 -1.79674360037446e-02 +-1.18181818181818e+01 -1.06421286767688e+00 2.28540245755043e-02 -2.17607863530896e-02 +-1.12121212121212e+01 -1.00756464903086e+00 2.02639951774787e-02 -2.76752557959977e-02 +-1.06060606060606e+01 -9.50702241169972e-01 1.76739657794531e-02 -3.36205049285601e-02 +-1.00000000000000e+01 -8.94268211738804e-01 1.50839363814275e-02 -3.95657540611225e-02 +-9.39393939393939e+00 -8.16555643269649e-01 1.37696423489359e-02 -4.50362378151194e-02 +-8.78787878787879e+00 -7.38594956855757e-01 1.24540299896568e-02 -5.05497910067864e-02 +-8.18181818181818e+00 -6.60711748471587e-01 1.11561224474817e-02 -5.60401414825214e-02 +-7.57575757575758e+00 -5.82787535443972e-01 1.03605811208593e-02 -5.96542766892439e-02 +-6.96969696969697e+00 -5.04838340017244e-01 9.76890649293385e-03 -6.30911057473670e-02 +-6.36363636363636e+00 -4.26903272383309e-01 9.17746334686016e-03 -6.65938576949848e-02 +-5.75757575757576e+00 -3.49138935112199e-01 8.60814999976258e-03 -6.96973444493319e-02 +-5.15151515151515e+00 -2.71612431375985e-01 8.07771389824604e-03 -7.24696684118745e-02 +-4.54545454545454e+00 -1.94086439689675e-01 7.59508517609129e-03 -7.52419923744171e-02 +-3.93939393939394e+00 -1.16716950183330e-01 7.15078359663800e-03 -7.79238031271333e-02 +-3.33333333333333e+00 -4.07500901871173e-02 7.04187583478263e-03 -7.97909949231498e-02 +-2.72727272727273e+00 3.52160547462791e-02 6.93300894856505e-03 -8.16526185101278e-02 +-2.12121212121212e+00 1.11180904867443e-01 6.82418437354011e-03 -8.34958316996442e-02 +-1.51515151515152e+00 1.86598268959980e-01 6.80738997106197e-03 -8.51236353934751e-02 +-9.09090909090912e-01 2.61835600756847e-01 6.81785174127246e-03 -8.66889374225573e-02 +-3.03030303030302e-01 3.36833198813677e-01 6.85242312916384e-03 -8.82038423568753e-02 + 3.03030303030302e-01 4.11681436466997e-01 6.90303282609923e-03 -8.96869767898399e-02 + 9.09090909090912e-01 4.86450396180772e-01 6.96968119265180e-03 -9.11381571730395e-02 + 1.51515151515152e+00 5.60818068172088e-01 7.06854194405556e-03 -9.25355188613691e-02 + 2.12121212121212e+00 6.34747341514224e-01 7.18022253098152e-03 -9.39093394759310e-02 + 2.72727272727273e+00 7.08422315042024e-01 7.32044554748438e-03 -9.52266576835952e-02 + 3.33333333333333e+00 7.81690793385177e-01 7.48966890221760e-03 -9.64954117770310e-02 + 3.93939393939394e+00 8.54626115579289e-01 7.68262265678303e-03 -9.77244408485695e-02 + 4.54545454545455e+00 9.26618630665003e-01 7.94562646726792e-03 -9.88518753824203e-02 + 5.15151515151515e+00 9.98021317880648e-01 8.25758646574065e-03 -9.99224776598629e-02 + 5.75757575757576e+00 1.06796946366996e+00 8.69313368983653e-03 -1.00856307887034e-01 + 6.36363636363637e+00 1.13669488553885e+00 9.20455845185848e-03 -1.01669087063032e-01 + 6.96969696969697e+00 1.20460473425190e+00 9.76652450930660e-03 -1.02401185220583e-01 + 7.57575757575757e+00 1.26985779704676e+00 1.04921230578954e-02 -1.02869251580135e-01 + 8.18181818181818e+00 1.33436137103189e+00 1.12422553325926e-02 -1.03263802027642e-01 + 8.78787878787879e+00 1.39744013827997e+00 1.20285004815405e-02 -1.03519293135736e-01 + 9.39393939393939e+00 1.45891885049906e+00 1.28539777811558e-02 -1.03619395306067e-01 + 1.00000000000000e+01 1.51953594828768e+00 1.37005959029939e-02 -1.03635860538113e-01 + 1.06060606060606e+01 1.57661452003309e+00 1.46636506171948e-02 -1.03351902247228e-01 + 1.12121212121212e+01 1.63211262455993e+00 1.56906026344257e-02 -1.02957325033709e-01 + 1.18181818181818e+01 1.68467549740062e+00 1.68302993418090e-02 -1.02357232890729e-01 + 1.24242424242424e+01 1.73179578502631e+00 1.82551378861859e-02 -1.01468081513201e-01 + 1.30303030303030e+01 1.77591309591079e+00 1.98076781438499e-02 -1.00434711698380e-01 + 1.36363636363636e+01 1.80728337289057e+00 2.21044080173757e-02 -9.90133871152239e-02 + 1.42424242424242e+01 1.82852794331501e+00 2.51082996148135e-02 -9.74414510220874e-02 + 1.48484848484848e+01 1.83480158685340e+00 2.91473242584829e-02 -9.56456826767467e-02 + 1.54545454545455e+01 1.81500203341103e+00 3.52678929544241e-02 -9.39336458932698e-02 + 1.60606060606061e+01 1.78421878562996e+00 4.24033902418735e-02 -9.24172011168166e-02 + 1.66666666666667e+01 1.73126050919975e+00 5.24286110951095e-02 -9.24201575984169e-02 + 1.72727272727273e+01 1.67830223276954e+00 6.24538319483455e-02 -9.24277071334956e-02 + 1.78787878787879e+01 1.62534395633934e+00 7.24790528015815e-02 -9.24411069824222e-02 + 1.84848484848485e+01 1.58054109263794e+00 8.30667719488137e-02 -9.39915563676771e-02 + 1.90909090909091e+01 1.53777708168629e+00 9.37951156397174e-02 -9.58863411239190e-02 + 1.96969696969697e+01 1.49501307073464e+00 1.04523459330621e-01 -9.77820997634052e-02 + 2.03030303030303e+01 1.45891959210286e+00 1.15573875919278e-01 -1.00181007111542e-01 + 2.09090909090909e+01 1.42949664478481e+00 1.27052418693987e-01 -1.03085307161062e-01 + 2.15151515151515e+01 1.40007369746676e+00 1.38714620475426e-01 -1.06072845692607e-01 + 2.21212121212121e+01 1.37065075014872e+00 1.50239427745695e-01 -1.09149010722023e-01 + 2.27272727272727e+01 1.34091682594151e+00 1.61206179086062e-01 -1.12227555911292e-01 + 2.33333333333333e+01 1.31005437267327e+00 1.72341328921131e-01 -1.15308135208716e-01 + 2.39393939393939e+01 1.27919191940504e+00 1.83690070391477e-01 -1.18390466545113e-01 + 2.45454545454545e+01 1.24951212785117e+00 1.97547652217981e-01 -1.22568398273273e-01 + 2.51515151515151e+01 1.22133583079412e+00 2.11691065168540e-01 -1.26868661109154e-01 + 2.57575757575758e+01 1.19736861369302e+00 2.25846739928834e-01 -1.31169755213379e-01 + 2.63636363636364e+01 1.17344262060302e+00 2.40022955132125e-01 -1.35471804293439e-01 + 2.69696969696970e+01 1.15023943144509e+00 2.54159640661369e-01 -1.39774957884523e-01 + 2.75757575757576e+01 1.12756395291472e+00 2.68284860874995e-01 -1.44079398461109e-01 + 2.81818181818182e+01 1.10306585934979e+00 2.84401990191968e-01 -1.48720027517466e-01 + 2.87878787878788e+01 1.07090671302182e+00 3.05166908340707e-01 -1.54142149989922e-01 + 2.93939393939394e+01 1.04038840387688e+00 3.25631527270788e-01 -1.59564274092860e-01 + 3.00000000000000e+01 1.01113219694125e+00 3.46823353074841e-01 -1.64986400952279e-01 + 3.30000000000000e+01 9.32229246288031e-01 4.39986704959100e-01 -1.89317678278139e-01 + 3.60000000000000e+01 9.43473221818586e-01 5.13345674030710e-01 -2.08612394229525e-01 + 3.90000000000000e+01 9.54028604948011e-01 5.90018329032081e-01 -2.27713078361671e-01 + 4.20000000000000e+01 9.62476298785541e-01 6.67928729704417e-01 -2.45239917350749e-01 + 4.50000000000000e+01 9.68341160624041e-01 7.46689734155861e-01 -2.61593614049693e-01 + 4.80000000000000e+01 9.32324951220055e-01 8.25647552469721e-01 -2.77859548462314e-01 + 5.10000000000000e+01 8.91059709315794e-01 9.03294577958797e-01 -2.93384280429550e-01 + 5.40000000000000e+01 8.45486705656396e-01 9.79117979830391e-01 -3.08543646065299e-01 + 5.70000000000000e+01 7.95656878301874e-01 1.05300252050061e+00 -3.23425512126578e-01 + 6.00000000000000e+01 7.39288221689536e-01 1.12254854731194e+00 -3.38039790557141e-01 + 6.30000000000000e+01 6.78597230320110e-01 1.18809098599588e+00 -3.52065376761553e-01 + 6.60000000000000e+01 6.14090049179724e-01 1.24953770112463e+00 -3.65796616791461e-01 + 6.90000000000000e+01 5.45445312305761e-01 1.30574996753580e+00 -3.79527856685724e-01 + 7.20000000000000e+01 4.72298737289339e-01 1.35427331850724e+00 -3.91972669466638e-01 + 7.50000000000000e+01 3.96688827223482e-01 1.39701516522198e+00 -4.04126907587899e-01 + 7.80000000000000e+01 3.19071788902194e-01 1.43376743071357e+00 -4.16006576639502e-01 + 8.10000000000000e+01 2.39550793594327e-01 1.46170276695068e+00 -4.27085165480315e-01 + 8.40000000000000e+01 1.59451871766807e-01 1.48135856062593e+00 -4.37154986759373e-01 + 8.70000000000000e+01 7.94777758388424e-02 1.49415235971936e+00 -4.46909568111699e-01 + 9.00000000000000e+01 3.11329496692941e-10 1.49999999997710e+00 -4.56664149380511e-01 + 9.30000000000000e+01 -5.56344434207538e-02 1.49415235968430e+00 -4.61555307115118e-01 + 9.60000000000000e+01 -1.11616310388649e-01 1.48135856057980e+00 -4.66446464788799e-01 + 9.90000000000000e+01 -1.67685555079931e-01 1.46170276716953e+00 -4.70655467478642e-01 + 1.02000000000000e+02 -2.23350251795438e-01 1.43376743093243e+00 -4.72681574293506e-01 + 1.05000000000000e+02 -2.77682179273955e-01 1.39701516506833e+00 -4.72974204991795e-01 + 1.08000000000000e+02 -3.30609116344068e-01 1.35427331828401e+00 -4.72660878266953e-01 + 1.11000000000000e+02 -3.81811718300871e-01 1.30574996790214e+00 -4.71694439443907e-01 + 1.14000000000000e+02 -4.29863034777196e-01 1.24953770071356e+00 -4.67836552755684e-01 + 1.17000000000000e+02 -4.75018061285040e-01 1.18809098590783e+00 -4.63961066184151e-01 + 1.20000000000000e+02 -5.17501755055448e-01 1.12254854753617e+00 -4.59574782188229e-01 + 1.23000000000000e+02 -5.56959815229790e-01 1.05300251976302e+00 -4.54368132888463e-01 + 1.26000000000000e+02 -5.91840693893388e-01 9.79117979971722e-01 -4.48788590357112e-01 + 1.29000000000000e+02 -6.23741796287295e-01 9.03294578562938e-01 -4.43573039272249e-01 + 1.32000000000000e+02 -6.52627465723032e-01 8.25647552880296e-01 -4.38886801445249e-01 + 1.35000000000000e+02 -6.77838812654514e-01 7.46689733474439e-01 -4.35230492433108e-01 + 1.38000000000000e+02 -6.99983409151346e-01 6.67928729699025e-01 -4.31574183461902e-01 + 1.41000000000000e+02 -7.20320023427597e-01 5.90018329178622e-01 -4.28451912337480e-01 + 1.44000000000000e+02 -7.39181255467893e-01 5.13345673252741e-01 -4.26168438355958e-01 + 1.47000000000000e+02 -7.57560472342351e-01 4.39986705195654e-01 -4.24002207782099e-01 + 1.50000000000000e+02 -7.15957635219665e-01 3.69098552816133e-01 -4.20150893369474e-01 + 1.53000000000000e+02 -6.44361871617051e-01 3.02865811169735e-01 -3.99375472457225e-01 + 1.56000000000000e+02 -5.72766108014438e-01 2.41578472808846e-01 -3.76907614699115e-01 + 1.59000000000000e+02 -5.01170344411824e-01 1.85502368098990e-01 -3.54439975537244e-01 + 1.62000000000000e+02 -4.29574580809211e-01 1.35647545195813e-01 -3.77560649260933e-01 + 1.65000000000000e+02 -3.57978817206598e-01 9.28840112782123e-02 -4.23475405916449e-01 + 1.68000000000000e+02 -2.86383053603984e-01 5.71087721719704e-02 -4.69390162571966e-01 + 1.71000000000000e+02 -2.14787290001370e-01 3.28656718789650e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.43191526398757e-01 2.70171485383867e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -7.15957637362154e-02 2.33969219051223e-02 -1.50000000451309e-01 + 1.80000000000000e+02 3.94500701911350e-18 2.20397515249612e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_37.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_37.dat new file mode 100644 index 0000000..788005f --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_37.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF37_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF37_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-3.021573 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.099438 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-13.965277 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.771269 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.135274 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.006864 Cd0 ! 2D drag coefficient value at 0-lift. +-0.079972 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 4.65696793097373e-18 2.40609865278164e-02 0.00000000000000e+00 +-1.77000000000000e+02 7.10581037516900e-02 2.54116408824495e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.42116206437769e-01 2.90144621643757e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.13174700653030e-01 3.48348308271552e-02 3.60000658682385e-01 +-1.68000000000000e+02 2.84236023606405e-01 6.11937333094366e-02 3.88838299854566e-01 +-1.65000000000000e+02 3.55290517295043e-01 9.69749503346446e-02 3.72097875696386e-01 +-1.62000000000000e+02 4.26352500699876e-01 1.39541164299973e-01 3.55355686962605e-01 +-1.59000000000000e+02 4.97402808274777e-01 1.89115334484931e-01 3.51655186171582e-01 +-1.56000000000000e+02 5.68466683472102e-01 2.44903310359984e-01 3.74039017648308e-01 +-1.53000000000000e+02 6.39523691780822e-01 3.05884578133731e-01 3.96420697754988e-01 +-1.50000000000000e+02 7.10581035390500e-01 3.71798499477035e-01 4.17133364526293e-01 +-1.47000000000000e+02 7.52000370211128e-01 4.42354490582822e-01 4.21155095071887e-01 +-1.44000000000000e+02 7.34142368830413e-01 5.15377209052426e-01 4.23508096016997e-01 +-1.41000000000000e+02 7.15716605918585e-01 5.91700414731922e-01 4.25957990010159e-01 +-1.38000000000000e+02 6.95771517711627e-01 6.69257598482258e-01 4.29191380663692e-01 +-1.35000000000000e+02 6.73975726224847e-01 7.47661739039369e-01 4.33003959525501e-01 +-1.32000000000000e+02 6.49066342800221e-01 8.26258100275543e-01 4.36816538429996e-01 +-1.29000000000000e+02 6.20474620547741e-01 9.03672443866208e-01 4.41605976422176e-01 +-1.26000000000000e+02 5.88934229941146e-01 9.79458478064119e-01 4.46897453448339e-01 +-1.23000000000000e+02 5.54393541300029e-01 1.05330779080334e+00 4.52532676768378e-01 +-1.20000000000000e+02 5.15249342516749e-01 1.12282007695300e+00 4.57784429932697e-01 +-1.17000000000000e+02 4.73063498471789e-01 1.18833037327355e+00 4.62192548558480e-01 +-1.14000000000000e+02 4.28191999008849e-01 1.24974635405049e+00 4.66151700236578e-01 +-1.11000000000000e+02 3.80408417457444e-01 1.30592905290131e+00 4.70106102825385e-01 +-1.08000000000000e+02 3.29515278304558e-01 1.35442381372950e+00 4.71115973629161e-01 +-1.05000000000000e+02 2.76922294511184e-01 1.39713814891980e+00 4.71460741888686e-01 +-1.02000000000000e+02 2.22869646193329e-01 1.43386390261262e+00 4.71192437056406e-01 +-9.90000000000000e+01 1.67410865737111e-01 1.46177362359085e+00 4.69182885725694e-01 +-9.60000000000000e+01 1.11484108150892e-01 1.48140477150436e+00 4.64980653594974e-01 +-9.30000000000000e+01 5.55936987465687e-02 1.49417494378174e+00 4.60093208691378e-01 +-9.00000000000000e+01 -2.17771139856592e-10 1.49999999997718e+00 4.55205763723787e-01 +-8.70000000000000e+01 -5.55936984132489e-02 1.49417494381667e+00 4.44663468320497e-01 +-8.40000000000000e+01 -1.11484107999339e-01 1.48140477155043e+00 4.34121172826950e-01 +-8.10000000000000e+01 -1.67410866171596e-01 1.46177362337220e+00 4.23048371191730e-01 +-7.80000000000000e+01 -2.22869646627814e-01 1.43386390239396e+00 4.10277950147090e-01 +-7.50000000000000e+01 -2.76922294294839e-01 1.39713814907334e+00 3.96159419472121e-01 +-7.20000000000000e+01 -3.29515278064808e-01 1.35442381395260e+00 3.81627240087489e-01 +-6.90000000000000e+01 -3.80408417768861e-01 1.30592905253515e+00 3.66705795434961e-01 +-6.60000000000000e+01 -4.28191998659418e-01 1.24974635446134e+00 3.50061002245392e-01 +-6.30000000000000e+01 -4.73063498411227e-01 1.18833037336155e+00 3.33416208891396e-01 +-6.00000000000000e+01 -5.15249342642964e-01 1.12282007672887e+00 3.16627177109883e-01 +-5.70000000000000e+01 -5.54393540884879e-01 1.05330779154056e+00 2.99549668611906e-01 +-5.40000000000000e+01 -5.88934230006584e-01 9.79458477922859e-01 2.82341034036499e-01 +-5.10000000000000e+01 -6.20474620778564e-01 9.03672443262366e-01 2.65213590499297e-01 +-4.80000000000000e+01 -6.49066342929747e-01 8.26258099866835e-01 2.48207530696687e-01 +-4.50000000000000e+01 -6.73975726009875e-01 7.47661739717652e-01 2.31437657120914e-01 +-4.20000000000000e+01 -6.58271517710185e-01 6.69257598487624e-01 2.14638011662629e-01 +-3.90000000000000e+01 -6.40716605953781e-01 5.91700414586041e-01 1.89162770431785e-01 +-3.60000000000000e+01 -6.21642368641020e-01 5.15377209826877e-01 1.52062289719517e-01 +-3.30000000000000e+01 -6.02000370268709e-01 4.42354490347368e-01 1.13530018668255e-01 +-3.00000000000000e+01 -6.50117603767702e-01 3.51165169221704e-01 8.25937998121926e-02 +-2.93939393939394e+01 -6.65877573871001e-01 3.30906615077077e-01 7.71111606310691e-02 +-2.87878787878788e+01 -6.82107420141995e-01 3.10647567188947e-01 7.16284071722869e-02 +-2.81818181818182e+01 -6.98806857474958e-01 2.90388102593178e-01 6.61455181564772e-02 +-2.75757575757576e+01 -7.39744704179888e-01 2.69001211710652e-01 5.94138201096723e-02 +-2.69696969696970e+01 -7.91475636527888e-01 2.47131163300103e-01 5.21469389983399e-02 +-2.63636363636364e+01 -8.43828443393288e-01 2.25262737128617e-01 4.48800037543813e-02 +-2.57575757575758e+01 -8.96804685989662e-01 2.03395254881935e-01 3.76139725797336e-02 +-2.51515151515151e+01 -9.50410706667838e-01 1.81527772635252e-01 3.03480154248134e-02 +-2.45454545454545e+01 -1.00763151534343e+00 1.59686606596546e-01 2.30923269088408e-02 +-2.39393939393939e+01 -1.06158552920455e+00 1.39122028802956e-01 1.62387024979876e-02 +-2.33333333333333e+01 -1.07650108150504e+00 1.30619125157071e-01 1.32179312376543e-02 +-2.27272727272727e+01 -1.09141663098793e+00 1.22116222985002e-01 1.01971613590634e-02 +-2.21212121212121e+01 -1.10633217830513e+00 1.13613322171395e-01 7.17639261209547e-03 +-2.15151515151515e+01 -1.12124772392184e+00 1.05110422612632e-01 4.15562480356360e-03 +-2.09090909090909e+01 -1.13616326817892e+00 9.66075242153693e-02 1.13485778188695e-03 +-2.03030303030303e+01 -1.15107881133186e+00 8.81046268952981e-02 -1.88590857353776e-03 +-1.96969696969697e+01 -1.15993414775452e+00 8.10668975853911e-02 -3.88547886037654e-03 +-1.90909090909091e+01 -1.16272926005300e+00 7.54943357581109e-02 -4.86385294886355e-03 +-1.84848484848485e+01 -1.16552434992028e+00 6.99217739466961e-02 -5.84222640122418e-03 +-1.78787878787879e+01 -1.16763156189933e+00 6.44832282073768e-02 -6.75236238217740e-03 +-1.72727272727273e+01 -1.16698714620587e+00 5.95807594827378e-02 -7.38955077538031e-03 +-1.66666666666667e+01 -1.16634240562303e+00 5.46783134642989e-02 -8.02673852219499e-03 +-1.60606060606061e+01 -1.16569733896127e+00 4.97758925524755e-02 -8.66392552735024e-03 +-1.54545454545455e+01 -1.16451445722327e+00 4.53012284916403e-02 -9.31393480635776e-03 +-1.48484848484848e+01 -1.16326325369417e+00 4.08744101060714e-02 -9.96536859326080e-03 +-1.42424242424242e+01 -1.16202310290524e+00 3.64480655146557e-02 -1.06168022041282e-02 +-1.36363636363636e+01 -1.14944788614508e+00 3.23434986790180e-02 -1.29170772729288e-02 +-1.30303030303030e+01 -1.12930466915508e+00 2.84521607218122e-02 -1.63160993463604e-02 +-1.24242424242424e+01 -1.10916145216508e+00 2.45606063973251e-02 -1.97147965813198e-02 +-1.18181818181818e+01 -1.07601055623541e+00 2.11358053599573e-02 -2.39920488819649e-02 +-1.12121212121212e+01 -1.01250840617657e+00 1.88000954432032e-02 -3.03213516252641e-02 +-1.06060606060606e+01 -9.48994877725101e-01 1.64643855264491e-02 -3.66522842113250e-02 +-1.00000000000000e+01 -8.85504106058886e-01 1.41286756096949e-02 -4.29832167973860e-02 +-9.39393939393939e+00 -8.08702357284574e-01 1.31057265427922e-02 -4.74100392092891e-02 +-8.78787878787879e+00 -7.31887427489061e-01 1.20827076914706e-02 -5.18391421939212e-02 +-8.18181818181818e+00 -6.55076613565781e-01 1.10606263436889e-02 -5.62670165508759e-02 +-7.57575757575758e+00 -5.78100641522001e-01 1.03438118291456e-02 -5.96623179708545e-02 +-6.96969696969697e+00 -5.01053493833634e-01 9.75623419293084e-03 -6.27695772499444e-02 +-6.36363636363636e+00 -4.24007096657255e-01 9.16866881411783e-03 -6.58918641448795e-02 +-5.75757575757576e+00 -3.46815554763520e-01 8.59882867597234e-03 -6.88608951757866e-02 +-5.15151515151515e+00 -2.69405325648510e-01 8.05696402989484e-03 -7.16722874954128e-02 +-4.54545454545454e+00 -1.91995123735171e-01 7.52771949785807e-03 -7.44836798150390e-02 +-3.93939393939394e+00 -1.14748812921970e-01 7.03981957617573e-03 -7.71971732515140e-02 +-3.33333333333333e+00 -3.89772092265289e-02 6.92351546206368e-03 -7.90295766657961e-02 +-2.72727272727273e+00 3.67943564825676e-02 6.80721351239393e-03 -8.08616852328819e-02 +-2.12121212121212e+00 1.12565853407239e-01 6.69091380318183e-03 -8.26928189346140e-02 +-1.51515151515152e+00 1.87759217861532e-01 6.67374670362025e-03 -8.42870338805291e-02 +-9.09090909090912e-01 2.62769321807381e-01 6.68540168373637e-03 -8.58139302517602e-02 +-3.03030303030302e-01 3.37560227961757e-01 6.71994571053814e-03 -8.72949163177047e-02 + 3.03030303030302e-01 4.12183933196869e-01 6.77000184646877e-03 -8.87465437699243e-02 + 9.09090909090912e-01 4.86660467701779e-01 6.83557011062127e-03 -9.01688028891834e-02 + 1.51515151515152e+00 5.60756616136582e-01 6.93343924465758e-03 -9.15399083775953e-02 + 2.12121212121212e+00 6.34614682647455e-01 7.04369992010329e-03 -9.28886427097799e-02 + 2.72727272727273e+00 7.08111035779321e-01 7.18072620460835e-03 -9.41839835191773e-02 + 3.33333333333333e+00 7.81204771575212e-01 7.34680458833476e-03 -9.54340379281244e-02 + 3.93939393939394e+00 8.53969062898123e-01 7.53665302614186e-03 -9.66470403117200e-02 + 4.54545454545455e+00 9.25784505358359e-01 7.79805776399293e-03 -9.77619894147488e-02 + 5.15151515151515e+00 9.96967260198044e-01 8.11417899186139e-03 -9.88177793774971e-02 + 5.75757575757576e+00 1.06656827056124e+00 8.57060125540952e-03 -9.97287688959221e-02 + 6.36363636363637e+00 1.13495750071834e+00 9.10013196215123e-03 -1.00522680515793e-01 + 6.96969696969697e+00 1.20253885492316e+00 9.67839931327229e-03 -1.01238541248990e-01 + 7.57575757575757e+00 1.26726685106203e+00 1.04380125882377e-02 -1.01677480813927e-01 + 8.18181818181818e+00 1.33132906891608e+00 1.12135080777509e-02 -1.02053168482151e-01 + 8.78787878787879e+00 1.39418809615207e+00 1.20037365743666e-02 -1.02315279082438e-01 + 9.39393939393939e+00 1.45543873174836e+00 1.28350170546926e-02 -1.02427392460632e-01 + 1.00000000000000e+01 1.51582330767512e+00 1.36884032917820e-02 -1.02458739890548e-01 + 1.06060606060606e+01 1.57273640918939e+00 1.46576835558564e-02 -1.02209300266381e-01 + 1.12121212121212e+01 1.62808500982830e+00 1.56876348971933e-02 -1.01857262078807e-01 + 1.18181818181818e+01 1.68052810436238e+00 1.68286567442633e-02 -1.01314679456202e-01 + 1.24242424242424e+01 1.72744980014635e+00 1.82580014916751e-02 -1.00497688615026e-01 + 1.30303030303030e+01 1.77131024541057e+00 1.98435869167650e-02 -9.95429992367373e-02 + 1.36363636363636e+01 1.80196642089593e+00 2.22120728799774e-02 -9.82064209079832e-02 + 1.42424242424242e+01 1.82100089555971e+00 2.53622940447389e-02 -9.66612760297172e-02 + 1.48484848484848e+01 1.82261438215393e+00 2.96782074862771e-02 -9.48033917656432e-02 + 1.54545454545455e+01 1.79782416004457e+00 3.61663576924568e-02 -9.31184151992654e-02 + 1.60606060606061e+01 1.76211010926188e+00 4.36876310471940e-02 -9.16767687160309e-02 + 1.66666666666667e+01 1.70721085780275e+00 5.39903008528055e-02 -9.19069130071090e-02 + 1.72727272727273e+01 1.65231160634361e+00 6.42929706584172e-02 -9.21373005090528e-02 + 1.78787878787879e+01 1.59741235488448e+00 7.45956404640287e-02 -9.23679977961760e-02 + 1.84848484848485e+01 1.55461792691893e+00 8.51062211174525e-02 -9.39464917543310e-02 + 1.90909090909091e+01 1.51484970418489e+00 9.56687794718044e-02 -9.58511847446560e-02 + 1.96969696969697e+01 1.47508148145086e+00 1.06231337826156e-01 -9.77559293039401e-02 + 2.03030303030303e+01 1.44122245223487e+00 1.17022549862532e-01 -1.00147894510596e-01 + 2.09090909090909e+01 1.41327261564562e+00 1.28071032771340e-01 -1.03027199118811e-01 + 2.15151515151515e+01 1.38532277905638e+00 1.39169073867136e-01 -1.05928238388335e-01 + 2.21212121212121e+01 1.35737294246713e+00 1.50232572370003e-01 -1.08852583132945e-01 + 2.27272727272727e+01 1.32933892118365e+00 1.61153568246893e-01 -1.11777053911519e-01 + 2.33333333333333e+01 1.30099939528793e+00 1.72116848160268e-01 -1.14701632399966e-01 + 2.39393939393939e+01 1.27265986939220e+00 1.83135456344401e-01 -1.17626303662189e-01 + 2.45454545454545e+01 1.24299219239985e+00 1.96805850305394e-01 -1.21744633485991e-01 + 2.51515151515151e+01 1.21455020435046e+00 2.10771261417057e-01 -1.25995623626395e-01 + 2.57575757575758e+01 1.19048654469755e+00 2.24737321814729e-01 -1.30246657784029e-01 + 2.63636363636364e+01 1.16680960928981e+00 2.38704469867693e-01 -1.34497742509440e-01 + 2.69696969696970e+01 1.14368918704468e+00 2.52669524749678e-01 -1.38748885720797e-01 + 2.75757575757576e+01 1.12107866417998e+00 2.66633972521525e-01 -1.43000097080471e-01 + 2.81818181818182e+01 1.09591222746664e+00 2.82844901002529e-01 -1.47645655476952e-01 + 2.87878787878788e+01 1.06343265871161e+00 3.04297618846940e-01 -1.53211201118116e-01 + 2.93939393939394e+01 1.03178594301375e+00 3.25660765538577e-01 -1.58776746845618e-01 + 3.00000000000000e+01 1.00087828811840e+00 3.47209758691859e-01 -1.64342292719080e-01 + 3.30000000000000e+01 9.24286243241014e-01 4.42354490347369e-01 -1.89109126019419e-01 + 3.60000000000000e+01 9.36274812344315e-01 5.15377209826877e-01 -2.08309659387191e-01 + 3.90000000000000e+01 9.47452294219687e-01 5.91700414586042e-01 -2.27320694948977e-01 + 4.20000000000000e+01 9.56459311014549e-01 6.69257598487624e-01 -2.44787723360595e-01 + 4.50000000000000e+01 9.62822465728393e-01 7.47661739717652e-01 -2.61103850685779e-01 + 4.80000000000000e+01 9.27237632756781e-01 8.26258099866835e-01 -2.77396296274091e-01 + 5.10000000000000e+01 8.86392315397948e-01 9.03672443262367e-01 -2.92961328559378e-01 + 5.40000000000000e+01 8.41334614295120e-01 9.79458477922859e-01 -3.08156719033934e-01 + 5.70000000000000e+01 7.91990772692685e-01 1.05330779154056e+00 -3.23070653130316e-01 + 6.00000000000000e+01 7.36070489489949e-01 1.12282007672887e+00 -3.37699677679763e-01 + 6.30000000000000e+01 6.75804997730324e-01 1.18833037336155e+00 -3.51701901788146e-01 + 6.60000000000000e+01 6.11702855227740e-01 1.24974635446134e+00 -3.65390725614272e-01 + 6.90000000000000e+01 5.43440596812658e-01 1.30592905253515e+00 -3.79079549305171e-01 + 7.20000000000000e+01 4.70736111521154e-01 1.35442381395260e+00 -3.91422374879342e-01 + 7.50000000000000e+01 3.95603277564055e-01 1.39713814907334e+00 -4.03461170063478e-01 + 7.80000000000000e+01 3.18385209468305e-01 1.43386390239396e+00 -4.15215622960037e-01 + 8.10000000000000e+01 2.39158380245137e-01 1.46177362337220e+00 -4.26149547782231e-01 + 8.40000000000000e+01 1.59263011427627e-01 1.48140477155043e+00 -4.36050215138729e-01 + 8.70000000000000e+01 7.94195691617838e-02 1.49417494381667e+00 -4.45627989474147e-01 + 9.00000000000000e+01 3.11101487824349e-10 1.49999999997718e+00 -4.55205763727565e-01 + 9.30000000000000e+01 -5.55936987465685e-02 1.49417494378174e+00 -4.60093208691378e-01 + 9.60000000000000e+01 -1.11484108150892e-01 1.48140477150436e+00 -4.64980653594974e-01 + 9.90000000000000e+01 -1.67410865737111e-01 1.46177362359085e+00 -4.69182885725694e-01 + 1.02000000000000e+02 -2.22869646193328e-01 1.43386390261262e+00 -4.71192437056406e-01 + 1.05000000000000e+02 -2.76922294511184e-01 1.39713814891980e+00 -4.71460741888686e-01 + 1.08000000000000e+02 -3.29515278304558e-01 1.35442381372950e+00 -4.71115973629161e-01 + 1.11000000000000e+02 -3.80408417457444e-01 1.30592905290131e+00 -4.70106102825385e-01 + 1.14000000000000e+02 -4.28191999008849e-01 1.24974635405048e+00 -4.66151700236578e-01 + 1.17000000000000e+02 -4.73063498471789e-01 1.18833037327355e+00 -4.62192548558480e-01 + 1.20000000000000e+02 -5.15249342516749e-01 1.12282007695300e+00 -4.57784429932696e-01 + 1.23000000000000e+02 -5.54393541300029e-01 1.05330779080334e+00 -4.52532676768378e-01 + 1.26000000000000e+02 -5.88934229941146e-01 9.79458478064120e-01 -4.46897453448339e-01 + 1.29000000000000e+02 -6.20474620547741e-01 9.03672443866207e-01 -4.41605976422175e-01 + 1.32000000000000e+02 -6.49066342800221e-01 8.26258100275542e-01 -4.36816538429996e-01 + 1.35000000000000e+02 -6.73975726224847e-01 7.47661739039369e-01 -4.33003959525501e-01 + 1.38000000000000e+02 -6.95771517711627e-01 6.69257598482257e-01 -4.29191380663692e-01 + 1.41000000000000e+02 -7.15716605918585e-01 5.91700414731921e-01 -4.25957990010159e-01 + 1.44000000000000e+02 -7.34142368830413e-01 5.15377209052426e-01 -4.23508096016997e-01 + 1.47000000000000e+02 -7.52000370211128e-01 4.42354490582822e-01 -4.21155095071887e-01 + 1.50000000000000e+02 -7.10581035390500e-01 3.71798499477034e-01 -4.17133364526293e-01 + 1.53000000000000e+02 -6.39522931771408e-01 3.05883909543376e-01 -3.96420458365624e-01 + 1.56000000000000e+02 -5.68464828152317e-01 2.44901782986875e-01 -3.74038433256083e-01 + 1.59000000000000e+02 -4.97406724533226e-01 1.89118316854655e-01 -3.51656419721626e-01 + 1.62000000000000e+02 -4.26348620914135e-01 1.39538743255340e-01 -3.75356601171577e-01 + 1.65000000000000e+02 -3.55290517295043e-01 9.69749503346448e-02 -4.22097875862912e-01 + 1.68000000000000e+02 -2.84232413675952e-01 6.11920384940785e-02 -4.68839150554248e-01 + 1.71000000000000e+02 -2.13174310056860e-01 3.48347960403124e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.42116206437769e-01 2.90144621643757e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -7.10581037516900e-02 2.54116408824495e-02 -1.50000000451309e-01 + 1.80000000000000e+02 4.65696793097373e-18 2.40609865278164e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_38.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_38.dat new file mode 100644 index 0000000..c4e8775 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_38.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF38_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF38_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-3.025329 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.082209 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-14.038094 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.768540 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.140093 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.006831 Cd0 ! 2D drag coefficient value at 0-lift. +-0.079741 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 4.85722573273506e-18 2.46414625588597e-02 0.00000000000000e+00 +-1.77000000000000e+02 7.09078783383423e-02 2.59899654394449e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.41815755613326e-01 2.95870407694700e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.12724023589752e-01 3.53981062097947e-02 3.60000658682385e-01 +-1.68000000000000e+02 2.83635114323999e-01 6.23536246130750e-02 3.88683131002858e-01 +-1.65000000000000e+02 3.54539390231399e-01 9.81315663888160e-02 3.71709983123391e-01 +-1.62000000000000e+02 4.25451140020828e-01 1.40638541882525e-01 3.54735046137367e-01 +-1.59000000000000e+02 4.96351238664441e-01 1.90141020854771e-01 3.50871003624422e-01 +-1.56000000000000e+02 5.67264876246885e-01 2.45848849126870e-01 3.73229628946347e-01 +-1.53000000000000e+02 6.38171661458157e-01 3.06742822712792e-01 3.95586093758603e-01 +-1.50000000000000e+02 7.09078781261519e-01 3.72562354853516e-01 4.16279946005650e-01 +-1.47000000000000e+02 7.50443575482131e-01 4.43016767221693e-01 4.20346856774768e-01 +-1.44000000000000e+02 7.32722201977660e-01 5.15934068684593e-01 4.22751049476045e-01 +-1.41000000000000e+02 7.14412470826591e-01 5.92145558711669e-01 4.25249806728838e-01 +-1.38000000000000e+02 6.94574008880946e-01 6.69588003211173e-01 4.28519264801468e-01 +-1.35000000000000e+02 6.72876491919531e-01 7.47874730212582e-01 4.32363202318299e-01 +-1.32000000000000e+02 6.48057050875902e-01 8.26351001911627e-01 4.36207139878165e-01 +-1.29000000000000e+02 6.19551051959611e-01 9.03691990090244e-01 4.41015754695827e-01 +-1.26000000000000e+02 5.88097883889968e-01 9.79476039224861e-01 4.46320147916898e-01 +-1.23000000000000e+02 5.53641368004556e-01 1.05332349010379e+00 4.51963651365242e-01 +-1.20000000000000e+02 5.14577730079261e-01 1.12283400240132e+00 4.57221478466790e-01 +-1.17000000000000e+02 4.72470346873147e-01 1.18834261738102e+00 4.61630817409231e-01 +-1.14000000000000e+02 4.27675415731853e-01 1.24975699822349e+00 4.65615912292485e-01 +-1.11000000000000e+02 3.79966296232926e-01 1.30593816517334e+00 4.69601007215107e-01 +-1.08000000000000e+02 3.29167434663816e-01 1.35443145187167e+00 4.70624689513598e-01 +-1.05000000000000e+02 2.76680648972375e-01 1.39714437494550e+00 4.70979456271530e-01 +-1.02000000000000e+02 2.22716812230383e-01 1.43386877398686e+00 4.70718887134564e-01 +-9.90000000000000e+01 1.67323513736515e-01 1.46177719221746e+00 4.68714600495400e-01 +-9.60000000000000e+01 1.11442067459277e-01 1.48140709264988e+00 4.64514521421943e-01 +-9.30000000000000e+01 5.55807418230594e-02 1.49417607499090e+00 4.59628257189905e-01 +-9.00000000000000e+01 -2.17720385095452e-10 1.49999999997719e+00 4.54741992894100e-01 +-8.70000000000000e+01 -5.55807414898173e-02 1.49417607502582e+00 4.44256194940782e-01 +-8.40000000000000e+01 -1.11442067307830e-01 1.48140709269595e+00 4.33770396897690e-01 +-8.10000000000000e+01 -1.67323514170487e-01 1.46177719199882e+00 4.22751815715067e-01 +-7.80000000000000e+01 -2.22716812664355e-01 1.43386877376821e+00 4.10028328729202e-01 +-7.50000000000000e+01 -2.76680648756403e-01 1.39714437509904e+00 3.95950945859518e-01 +-7.20000000000000e+01 -3.29167434424632e-01 1.35443145209476e+00 3.81456984926632e-01 +-6.90000000000000e+01 -3.79966296543858e-01 1.30593816480719e+00 3.66569710870844e-01 +-6.60000000000000e+01 -4.27675415382966e-01 1.24975699863433e+00 3.49941167676215e-01 +-6.30000000000000e+01 -4.72470346812693e-01 1.18834261746902e+00 3.33312624317319e-01 +-6.00000000000000e+01 -5.14577730205217e-01 1.12283400217720e+00 3.16533804218062e-01 +-5.70000000000000e+01 -5.53641367590261e-01 1.05332349084099e+00 2.99454430776818e-01 +-5.40000000000000e+01 -5.88097883955245e-01 9.79476039083604e-01 2.82238441882844e-01 +-5.10000000000000e+01 -6.19551052189733e-01 9.03691989486419e-01 2.65101376417570e-01 +-4.80000000000000e+01 -6.48057051004965e-01 8.26351001503544e-01 2.48082937508914e-01 +-4.50000000000000e+01 -6.72876491705341e-01 7.47874730889827e-01 2.31295319956564e-01 +-4.20000000000000e+01 -6.57074008879510e-01 6.69588003216531e-01 2.14507702216265e-01 +-3.90000000000000e+01 -6.39412470861568e-01 5.92145558566002e-01 1.89164063976627e-01 +-3.60000000000000e+01 -6.20222201789713e-01 5.15934069457928e-01 1.52341978697799e-01 +-3.30000000000000e+01 -6.00443575539271e-01 4.43016766986580e-01 1.14111494476316e-01 +-3.00000000000000e+01 -6.38630283478012e-01 3.52809999241618e-01 8.33188997922929e-02 +-2.93939393939394e+01 -6.53191610169930e-01 3.32839999218799e-01 7.78494755436190e-02 +-2.87878787878788e+01 -6.68233338634272e-01 3.12869999195980e-01 7.23800512949450e-02 +-2.81818181818182e+01 -6.83755468871037e-01 2.92899999173161e-01 6.69106270462710e-02 +-2.75757575757576e+01 -7.25612110813497e-01 2.71284999274155e-01 6.00945088504803e-02 +-2.69696969696970e+01 -7.79183731485200e-01 2.48964999568361e-01 5.27012362206603e-02 +-2.63636363636364e+01 -8.33417220196613e-01 2.26644999862567e-01 4.53079635908404e-02 +-2.57575757575758e+01 -8.88312576947736e-01 2.04325000156773e-01 3.79146909610205e-02 +-2.51515151515151e+01 -9.43869801738570e-01 1.82005000450979e-01 3.05214183312005e-02 +-2.45454545454545e+01 -1.00316223222885e+00 1.59685000745185e-01 2.31281457013806e-02 +-2.39393939393939e+01 -1.05905610576226e+00 1.38746226141576e-01 1.61713243791283e-02 +-2.33333333333333e+01 -1.07439833177171e+00 1.30238483707612e-01 1.31425667999098e-02 +-2.27272727272727e+01 -1.08974055778116e+00 1.21730741273648e-01 1.01138092206914e-02 +-2.21212121212121e+01 -1.10508278379061e+00 1.13222998839684e-01 7.08505164147293e-03 +-2.15151515151515e+01 -1.12042500980006e+00 1.04715256405720e-01 4.05629406225448e-03 +-2.09090909090909e+01 -1.13576723580951e+00 9.62075139717558e-02 1.02753648303605e-03 +-2.03030303030303e+01 -1.15110946181896e+00 8.76997715377919e-02 -2.00122109618240e-03 +-1.96969696969697e+01 -1.16033685164893e+00 8.06649456610962e-02 -4.00059996397744e-03 +-1.90909090909091e+01 -1.16344940437712e+00 7.51030365638317e-02 -4.97059996508582e-03 +-1.84848484848485e+01 -1.16656195710530e+00 6.95411274665672e-02 -5.94059996619421e-03 +-1.78787878787879e+01 -1.16901558358316e+00 6.41091941049719e-02 -6.84363937252776e-03 +-1.72727272727273e+01 -1.16883350450067e+00 5.91971637963288e-02 -7.47883634295054e-03 +-1.66666666666667e+01 -1.16865142541817e+00 5.42851334876857e-02 -8.11403331337333e-03 +-1.60606060606061e+01 -1.16846934633567e+00 4.93731031790426e-02 -8.74923028379612e-03 +-1.54545454545455e+01 -1.16803819309663e+00 4.48701910389722e-02 -9.41178179878783e-03 +-1.48484848484848e+01 -1.16757936494204e+00 4.04127364884243e-02 -1.00773727086393e-02 +-1.42424242424242e+01 -1.16712053678744e+00 3.59552819378763e-02 -1.07429636184907e-02 +-1.36363636363636e+01 -1.15461324063122e+00 3.18363728273672e-02 -1.31325999090123e-02 +-1.30303030303030e+01 -1.13407363159050e+00 2.79431607017064e-02 -1.66715999130562e-02 +-1.24242424242424e+01 -1.11353402254978e+00 2.40499485760457e-02 -2.02105999171001e-02 +-1.18181818181818e+01 -1.07950734501439e+00 2.06459636867756e-02 -2.46224089472267e-02 +-1.12121212121212e+01 -1.01401083760097e+00 1.83835091387359e-02 -3.10707725909586e-02 +-1.06060606060606e+01 -9.48514330187548e-01 1.61210545906961e-02 -3.75191362346906e-02 +-1.00000000000000e+01 -8.83017822774128e-01 1.38586000426563e-02 -4.39674998784226e-02 +-9.39393939393939e+00 -8.06507361425247e-01 1.29178424409045e-02 -4.80862878058387e-02 +-8.78787878787879e+00 -7.29996899868707e-01 1.19770848640719e-02 -5.22050756893329e-02 +-8.18181818181818e+00 -6.53486438312168e-01 1.10363272872394e-02 -5.63238635728272e-02 +-7.57575757575758e+00 -5.76783636154666e-01 1.03429454629350e-02 -5.96627241995084e-02 +-6.96969696969697e+00 -4.99998402305116e-01 9.75558182590017e-03 -6.26673302635478e-02 +-6.36363636363636e+00 -4.23213168455565e-01 9.16821818886537e-03 -6.56719363275871e-02 +-5.75757575757576e+00 -3.46188085416980e-01 8.59835030893152e-03 -6.86055120905238e-02 +-5.15151515151515e+00 -2.68803228577886e-01 8.05472606588610e-03 -7.14325423967844e-02 +-4.54545454545454e+00 -1.91418371738791e-01 7.51110182284068e-03 -7.42595727030451e-02 +-3.93939393939394e+00 -1.14200091471482e-01 7.00998030391116e-03 -7.69865090773461e-02 +-3.33333333333333e+00 -3.84810004758693e-02 6.89138333407868e-03 -7.88125999885236e-02 +-2.72727272727273e+00 3.72380905197434e-02 6.77278636424619e-03 -8.06386908997012e-02 +-2.12121212121212e+00 1.12957181515356e-01 6.65418939441370e-03 -8.24647818108787e-02 +-1.51515151515152e+00 1.88087194215845e-01 6.63685060622061e-03 -8.40490060911751e-02 +-9.09090909090912e-01 2.63031883630051e-01 6.64880545596898e-03 -8.55649182425272e-02 +-3.03030303030302e-01 3.37760935436509e-01 6.68330848532299e-03 -8.70363727475091e-02 + 3.03030303030302e-01 4.12322949414949e-01 6.73317515061806e-03 -8.84792514957012e-02 + 9.09090909090912e-01 4.86717925565373e-01 6.79840545185419e-03 -8.98935544871035e-02 + 1.51515151515152e+00 5.60729805883136e-01 6.89597181611000e-03 -9.12574757303916e-02 + 2.12121212121212e+00 6.34573527944993e-01 7.00580454521911e-03 -9.25993787856478e-02 + 2.72727272727273e+00 7.08015037676720e-01 7.14187726874912e-03 -9.38887726895767e-02 + 3.33333333333333e+00 7.81054637815231e-01 7.30700999523420e-03 -9.51338333028380e-02 + 3.93939393939394e+00 8.53765402776732e-01 7.49591909177100e-03 -9.63426212176364e-02 + 4.54545454545455e+00 9.25523751503700e-01 7.75680635900802e-03 -9.74543727083216e-02 + 5.15151515151515e+00 9.96635134125934e-01 8.07410937988024e-03 -9.85062817906832e-02 + 5.75757575757576e+00 1.06612309015790e+00 8.53666696941767e-03 -9.94110090903628e-02 + 6.36363636363637e+00 1.13440125478495e+00 9.07144999697415e-03 -1.00199845450852e-01 + 6.96969696969697e+00 1.20187289184674e+00 9.65438331427377e-03 -1.00911421188856e-01 + 7.57575757575757e+00 1.26642746595645e+00 1.04239369651998e-02 -1.01342315149114e-01 + 8.18181818181818e+00 1.33034024466158e+00 1.12068272781317e-02 -1.01712963638171e-01 + 8.78787878787879e+00 1.39311373689593e+00 1.19979181654635e-02 -1.01977509085440e-01 + 9.39393939393939e+00 1.45427253269268e+00 1.28306878694348e-02 -1.02093578787484e-01 + 1.00000000000000e+01 1.51456187638046e+00 1.36859000183078e-02 -1.02129699995493e-01 + 1.06060606060606e+01 1.57139185299860e+00 1.46569302946297e-02 -1.01890669699038e-01 + 1.12121212121212e+01 1.62665819870521e+00 1.56874817998069e-02 -1.01551327281192e-01 + 1.18181818181818e+01 1.67902065809462e+00 1.68285727428916e-02 -1.01025690901896e-01 + 1.24242424242424e+01 1.72582507123399e+00 1.82589121264519e-02 -1.00229727269653e-01 + 1.30303030303030e+01 1.76954406136317e+00 1.98550060097699e-02 -9.92979000279053e-02 + 1.36363636363636e+01 1.79989837962672e+00 2.22451272930941e-02 -9.79858999888201e-02 + 1.42424242424242e+01 1.81816535140483e+00 2.54394667344084e-02 -9.64468939104616e-02 + 1.48484848484848e+01 1.81830130544887e+00 2.98401332800337e-02 -9.45673788106429e-02 + 1.54545454545455e+01 1.79182487124313e+00 3.64364818427673e-02 -9.28892272673224e-02 + 1.60606060606061e+01 1.75443694457900e+00 4.40704518296318e-02 -9.14690181908170e-02 + 1.66666666666667e+01 1.69868276477969e+00 5.44559669930141e-02 -9.17662000093384e-02 + 1.72727272727273e+01 1.64292858498038e+00 6.48414821563965e-02 -9.20633818278598e-02 + 1.78787878787879e+01 1.58717440518107e+00 7.52269973197788e-02 -9.23605636463812e-02 + 1.84848484848485e+01 1.54469627428929e+00 8.57193488514518e-02 -9.39441697633689e-02 + 1.90909090909091e+01 1.50553715492040e+00 9.62384094695321e-02 -9.58493818867580e-02 + 1.96969696969697e+01 1.46637803555151e+00 1.06757470087612e-01 -9.77545940101472e-02 + 2.03030303030303e+01 1.43293263183120e+00 1.17476318599776e-01 -1.00146200110168e-01 + 2.09090909090909e+01 1.40520094289767e+00 1.28394954975889e-01 -1.03024200113457e-01 + 2.15151515151515e+01 1.37746925396415e+00 1.39313591352002e-01 -1.05902200116745e-01 + 2.21212121212121e+01 1.34973756503062e+00 1.50232227728114e-01 -1.08780200120034e-01 + 2.27272727272727e+01 1.32200587609709e+00 1.61150864104227e-01 -1.11658200123322e-01 + 2.33333333333333e+01 1.29427418716356e+00 1.72069500480340e-01 -1.14536200126611e-01 + 2.39393939393939e+01 1.26654249823003e+00 1.82988136856453e-01 -1.17414200129899e-01 + 2.45454545454545e+01 1.23667588807878e+00 1.96599818646254e-01 -1.21514181959599e-01 + 2.51515151515151e+01 1.20797836780462e+00 2.10510727553799e-01 -1.25749939479524e-01 + 2.57575757575758e+01 1.18382135521829e+00 2.24421636461345e-01 -1.29985696999448e-01 + 2.63636363636364e+01 1.16017889944540e+00 2.38332545368891e-01 -1.34221454519373e-01 + 2.69696969696970e+01 1.13705100048596e+00 2.52243454276436e-01 -1.38457212039298e-01 + 2.75757575757576e+01 1.11443765833997e+00 2.66154363183982e-01 -1.42692969559223e-01 + 2.81818181818182e+01 1.08904714906619e+00 2.82383771831320e-01 -1.47339908858783e-01 + 2.87878787878788e+01 1.05652563345500e+00 3.04023014280290e-01 -1.52946272501553e-01 + 2.93939393939394e+01 1.02457271707783e+00 3.25662256729258e-01 -1.58552636144323e-01 + 3.00000000000000e+01 9.98060501209013e-01 3.47301499178227e-01 -1.64158999787093e-01 + 3.30000000000000e+01 9.22062250770388e-01 4.43016766986580e-01 -1.89050377014450e-01 + 3.60000000000000e+01 9.34246002556734e-01 5.15934069457928e-01 -2.08221508455227e-01 + 3.90000000000000e+01 9.45589244087954e-01 5.92145558566002e-01 -2.27204042284425e-01 + 4.20000000000000e+01 9.54748584113586e-01 6.69588003216532e-01 -2.44649507771081e-01 + 4.50000000000000e+01 9.61252131007629e-01 7.47874730889827e-01 -2.60949244350105e-01 + 4.80000000000000e+01 9.25795787149951e-01 8.26351001503544e-01 -2.77248980746643e-01 + 5.10000000000000e+01 8.85072931699619e-01 9.03691989486419e-01 -2.92826828648911e-01 + 5.40000000000000e+01 8.40139834221778e-01 9.79476039083604e-01 -3.08033675125759e-01 + 5.70000000000000e+01 7.90916239414658e-01 1.05332349084099e+00 -3.22957806949482e-01 + 6.00000000000000e+01 7.35111043150310e-01 1.12283400217720e+00 -3.37591520807121e-01 + 6.30000000000000e+01 6.74957638303847e-01 1.18834261746902e+00 -3.51586315701813e-01 + 6.60000000000000e+01 6.10964879118523e-01 1.24975699863433e+00 -3.65261651053213e-01 + 6.90000000000000e+01 5.42808995062654e-01 1.30593816480719e+00 -3.78936986269520e-01 + 7.20000000000000e+01 4.70239192035188e-01 1.35443145209476e+00 -3.91247379618790e-01 + 7.50000000000000e+01 3.95258069652003e-01 1.39714437509904e+00 -4.03249463617085e-01 + 7.80000000000000e+01 3.18166875234793e-01 1.43386877376821e+00 -4.14964097416413e-01 + 8.10000000000000e+01 2.39033591672124e-01 1.46177719199882e+00 -4.25852018664857e-01 + 8.40000000000000e+01 1.59202953296899e-01 1.48140709269595e+00 -4.35698894587758e-01 + 8.70000000000000e+01 7.94010592711672e-02 1.49417607502582e+00 -4.45220443783577e-01 + 9.00000000000000e+01 3.11028980348738e-10 1.49999999997719e+00 -4.54741992897877e-01 + 9.30000000000000e+01 -5.55807418230592e-02 1.49417607499090e+00 -4.59628257189905e-01 + 9.60000000000000e+01 -1.11442067459277e-01 1.48140709264988e+00 -4.64514521421943e-01 + 9.90000000000000e+01 -1.67323513736515e-01 1.46177719221746e+00 -4.68714600495400e-01 + 1.02000000000000e+02 -2.22716812230383e-01 1.43386877398686e+00 -4.70718887134564e-01 + 1.05000000000000e+02 -2.76680648972375e-01 1.39714437494550e+00 -4.70979456271530e-01 + 1.08000000000000e+02 -3.29167434663816e-01 1.35443145187167e+00 -4.70624689513598e-01 + 1.11000000000000e+02 -3.79966296232927e-01 1.30593816517334e+00 -4.69601007215107e-01 + 1.14000000000000e+02 -4.27675415731853e-01 1.24975699822349e+00 -4.65615912292485e-01 + 1.17000000000000e+02 -4.72470346873147e-01 1.18834261738102e+00 -4.61630817409231e-01 + 1.20000000000000e+02 -5.14577730079261e-01 1.12283400240132e+00 -4.57221478466790e-01 + 1.23000000000000e+02 -5.53641368004556e-01 1.05332349010379e+00 -4.51963651365242e-01 + 1.26000000000000e+02 -5.88097883889968e-01 9.79476039224861e-01 -4.46320147916898e-01 + 1.29000000000000e+02 -6.19551051959611e-01 9.03691990090244e-01 -4.41015754695827e-01 + 1.32000000000000e+02 -6.48057050875903e-01 8.26351001911627e-01 -4.36207139878165e-01 + 1.35000000000000e+02 -6.72876491919531e-01 7.47874730212582e-01 -4.32363202318299e-01 + 1.38000000000000e+02 -6.94574008880946e-01 6.69588003211172e-01 -4.28519264801468e-01 + 1.41000000000000e+02 -7.14412470826591e-01 5.92145558711669e-01 -4.25249806728838e-01 + 1.44000000000000e+02 -7.32722201977660e-01 5.15934068684593e-01 -4.22751049476045e-01 + 1.47000000000000e+02 -7.50443575482131e-01 4.43016767221693e-01 -4.20346856774768e-01 + 1.50000000000000e+02 -7.09078781261518e-01 3.72562354853516e-01 -4.16279946005650e-01 + 1.53000000000000e+02 -6.38170903055494e-01 3.06742155077266e-01 -3.95585854638999e-01 + 1.56000000000000e+02 -5.67263024849471e-01 2.45847323942745e-01 -3.73229045212350e-01 + 1.59000000000000e+02 -4.96355146643446e-01 1.90143998922178e-01 -3.50872235785700e-01 + 1.62000000000000e+02 -4.25447268437423e-01 1.40636124349672e-01 -3.74735973053744e-01 + 1.65000000000000e+02 -3.54539390231399e-01 9.81315663888162e-02 -4.21709983289917e-01 + 1.68000000000000e+02 -2.83631512025374e-01 6.23519280822543e-02 -4.68683993526091e-01 + 1.71000000000000e+02 -2.12723633819350e-01 3.53980714785814e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.41815755613326e-01 2.95870407694700e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -7.09078783383423e-02 2.59899654394449e-02 -1.50000000451309e-01 + 1.80000000000000e+02 4.85722573273506e-18 2.46414625588597e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_39.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_39.dat new file mode 100644 index 0000000..5be8021 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_39.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF39_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF39_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-3.025329 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.072443 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-14.032107 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.767633 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.139467 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.006831 Cd0 ! 2D drag coefficient value at 0-lift. +-0.079741 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 4.85722573273506e-18 2.46414625588597e-02 0.00000000000000e+00 +-1.77000000000000e+02 7.09078783383423e-02 2.59899654394449e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.41815755613326e-01 2.95870407694700e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.12724023589752e-01 3.53981062097947e-02 3.60000658682385e-01 +-1.68000000000000e+02 2.83635114323999e-01 6.23536246130750e-02 3.88683131002858e-01 +-1.65000000000000e+02 3.54539390231399e-01 9.81315663888160e-02 3.71709983123391e-01 +-1.62000000000000e+02 4.25451140020828e-01 1.40638541882525e-01 3.54735046137367e-01 +-1.59000000000000e+02 4.96351238664441e-01 1.90141020854771e-01 3.50871003624422e-01 +-1.56000000000000e+02 5.67264876246885e-01 2.45848849126870e-01 3.73229628946347e-01 +-1.53000000000000e+02 6.38171661458157e-01 3.06742822712792e-01 3.95586093758603e-01 +-1.50000000000000e+02 7.09078781261519e-01 3.72562354853516e-01 4.16279946005650e-01 +-1.47000000000000e+02 7.50443575482131e-01 4.43016767221693e-01 4.20346856774768e-01 +-1.44000000000000e+02 7.32722201977660e-01 5.15934068684593e-01 4.22751049476045e-01 +-1.41000000000000e+02 7.14412470826591e-01 5.92145558711669e-01 4.25249806728838e-01 +-1.38000000000000e+02 6.94574008880946e-01 6.69588003211173e-01 4.28519264801468e-01 +-1.35000000000000e+02 6.72876491919531e-01 7.47874730212582e-01 4.32363202318299e-01 +-1.32000000000000e+02 6.48057050875902e-01 8.26351001911627e-01 4.36207139878165e-01 +-1.29000000000000e+02 6.19551051959611e-01 9.03691990090244e-01 4.41015754695827e-01 +-1.26000000000000e+02 5.88097883889968e-01 9.79476039224861e-01 4.46320147916898e-01 +-1.23000000000000e+02 5.53641368004556e-01 1.05332349010379e+00 4.51963651365242e-01 +-1.20000000000000e+02 5.14577730079261e-01 1.12283400240132e+00 4.57221478466790e-01 +-1.17000000000000e+02 4.72470346873147e-01 1.18834261738102e+00 4.61630817409231e-01 +-1.14000000000000e+02 4.27675415731853e-01 1.24975699822349e+00 4.65615912292485e-01 +-1.11000000000000e+02 3.79966296232926e-01 1.30593816517334e+00 4.69601007215107e-01 +-1.08000000000000e+02 3.29167434663816e-01 1.35443145187167e+00 4.70624689513598e-01 +-1.05000000000000e+02 2.76680648972375e-01 1.39714437494550e+00 4.70979456271530e-01 +-1.02000000000000e+02 2.22716812230383e-01 1.43386877398686e+00 4.70718887134564e-01 +-9.90000000000000e+01 1.67323513736515e-01 1.46177719221746e+00 4.68714600495400e-01 +-9.60000000000000e+01 1.11442067459277e-01 1.48140709264988e+00 4.64514521421943e-01 +-9.30000000000000e+01 5.55807418230594e-02 1.49417607499090e+00 4.59628257189905e-01 +-9.00000000000000e+01 -2.17720385095452e-10 1.49999999997719e+00 4.54741992894100e-01 +-8.70000000000000e+01 -5.55807414898173e-02 1.49417607502582e+00 4.44256194940782e-01 +-8.40000000000000e+01 -1.11442067307830e-01 1.48140709269595e+00 4.33770396897690e-01 +-8.10000000000000e+01 -1.67323514170487e-01 1.46177719199882e+00 4.22751815715067e-01 +-7.80000000000000e+01 -2.22716812664355e-01 1.43386877376821e+00 4.10028328729202e-01 +-7.50000000000000e+01 -2.76680648756403e-01 1.39714437509904e+00 3.95950945859518e-01 +-7.20000000000000e+01 -3.29167434424632e-01 1.35443145209476e+00 3.81456984926632e-01 +-6.90000000000000e+01 -3.79966296543858e-01 1.30593816480719e+00 3.66569710870844e-01 +-6.60000000000000e+01 -4.27675415382966e-01 1.24975699863433e+00 3.49941167676215e-01 +-6.30000000000000e+01 -4.72470346812693e-01 1.18834261746902e+00 3.33312624317319e-01 +-6.00000000000000e+01 -5.14577730205217e-01 1.12283400217720e+00 3.16533804218062e-01 +-5.70000000000000e+01 -5.53641367590261e-01 1.05332349084099e+00 2.99454430776818e-01 +-5.40000000000000e+01 -5.88097883955245e-01 9.79476039083604e-01 2.82238441882844e-01 +-5.10000000000000e+01 -6.19551052189733e-01 9.03691989486419e-01 2.65101376417570e-01 +-4.80000000000000e+01 -6.48057051004965e-01 8.26351001503544e-01 2.48082937508914e-01 +-4.50000000000000e+01 -6.72876491705341e-01 7.47874730889827e-01 2.31295319956564e-01 +-4.20000000000000e+01 -6.57074008879510e-01 6.69588003216531e-01 2.14507702216265e-01 +-3.90000000000000e+01 -6.39412470861568e-01 5.92145558566002e-01 1.89164063976627e-01 +-3.60000000000000e+01 -6.20222201789713e-01 5.15934069457928e-01 1.52341978697799e-01 +-3.30000000000000e+01 -6.00443575539271e-01 4.43016766986580e-01 1.14111494476316e-01 +-3.00000000000000e+01 -6.32864917506046e-01 3.52809999241618e-01 8.33188997922929e-02 +-2.93939393939394e+01 -6.47405908677784e-01 3.32839999218799e-01 7.78494755436190e-02 +-2.87878787878788e+01 -6.62443814908121e-01 3.12869999195980e-01 7.23800512949450e-02 +-2.81818181818182e+01 -6.77978636197055e-01 2.92899999173161e-01 6.69106270462710e-02 +-2.75757575757576e+01 -7.19927249385334e-01 2.71284999274155e-01 6.00945088504803e-02 +-2.69696969696970e+01 -7.73639556736027e-01 2.48964999568361e-01 5.27012362206603e-02 +-2.63636363636364e+01 -8.28036483117323e-01 2.26644999862567e-01 4.53079635908404e-02 +-2.57575757575758e+01 -8.83118028529223e-01 2.04325000156773e-01 3.79146909610205e-02 +-2.51515151515151e+01 -9.38884192971727e-01 1.82005000450979e-01 3.05214183312005e-02 +-2.45454545454545e+01 -9.98513956729553e-01 1.59685000745185e-01 2.31281457013806e-02 +-2.39393939393939e+01 -1.05477079558719e+00 1.38746226141576e-01 1.61713243791283e-02 +-2.33333333333333e+01 -1.07036415263506e+00 1.30238483707612e-01 1.31425667999098e-02 +-2.27272727272727e+01 -1.08595750968292e+00 1.21730741273648e-01 1.01138092206914e-02 +-2.21212121212121e+01 -1.10155086673079e+00 1.13222998839684e-01 7.08505164147293e-03 +-2.15151515151515e+01 -1.11714422377866e+00 1.04715256405720e-01 4.05629406225448e-03 +-2.09090909090909e+01 -1.13273758082652e+00 9.62075139717558e-02 1.02753648303605e-03 +-2.03030303030303e+01 -1.14833093787439e+00 8.76997715377919e-02 -2.00122109618240e-03 +-1.96969696969697e+01 -1.15779259510397e+00 8.06649456610962e-02 -4.00059996397744e-03 +-1.90909090909091e+01 -1.16112255159041e+00 7.51030365638317e-02 -4.97059996508582e-03 +-1.84848484848485e+01 -1.16445250807685e+00 6.95411274665672e-02 -5.94059996619421e-03 +-1.78787878787879e+01 -1.16712172111068e+00 6.41091941049719e-02 -6.84363937252776e-03 +-1.72727272727273e+01 -1.16714795977346e+00 5.91971637963288e-02 -7.47883634295054e-03 +-1.66666666666667e+01 -1.16717419843624e+00 5.42851334876857e-02 -8.11403331337333e-03 +-1.60606060606061e+01 -1.16720043709902e+00 4.93731031790426e-02 -8.74923028379612e-03 +-1.54545454545455e+01 -1.16697691470271e+00 4.48701910389722e-02 -9.41178179878783e-03 +-1.48484848484848e+01 -1.16672564106830e+00 4.04127364884243e-02 -1.00773727086393e-02 +-1.42424242424242e+01 -1.16647436743389e+00 3.59552819378763e-02 -1.07429636184907e-02 +-1.36363636363636e+01 -1.15414139824987e+00 3.18363728273672e-02 -1.31325999090123e-02 +-1.30303030303030e+01 -1.13375396448026e+00 2.79431607017064e-02 -1.66715999130562e-02 +-1.24242424242424e+01 -1.11336653071064e+00 2.40499485760457e-02 -2.02105999171001e-02 +-1.18181818181818e+01 -1.07945483349215e+00 2.06459636867756e-02 -2.46224089472267e-02 +-1.12121212121212e+01 -1.01398651815979e+00 1.83835091387359e-02 -3.10707725909586e-02 +-1.06060606060606e+01 -9.48518202827430e-01 1.61210545906961e-02 -3.75191362346906e-02 +-1.00000000000000e+01 -8.83049887495069e-01 1.38586000426563e-02 -4.39674998784226e-02 +-9.39393939393939e+00 -8.06537243686443e-01 1.29178424409045e-02 -4.80862878058387e-02 +-8.78787878787879e+00 -7.30024599669587e-01 1.19770848640719e-02 -5.22050756893329e-02 +-8.18181818181818e+00 -6.53511955652732e-01 1.10363272872394e-02 -5.63238635728272e-02 +-7.57575757575758e+00 -5.76806440593487e-01 1.03429454629350e-02 -5.96627241995084e-02 +-6.96969696969697e+00 -5.00018266510138e-01 9.75558182590017e-03 -6.26673302635478e-02 +-6.36363636363636e+00 -4.23230092426789e-01 9.16821818886537e-03 -6.56719363275871e-02 +-5.75757575757576e+00 -3.46201407692679e-01 8.59835030893152e-03 -6.86055120905238e-02 +-5.15151515151515e+00 -2.68811956965425e-01 8.05472606588610e-03 -7.14325423967844e-02 +-4.54545454545454e+00 -1.91422506238170e-01 7.51110182284068e-03 -7.42595727030451e-02 +-3.93939393939394e+00 -1.14200091471482e-01 7.00998030391116e-03 -7.69865090773461e-02 +-3.33333333333333e+00 -3.84810004758693e-02 6.89138333407868e-03 -7.88125999885236e-02 +-2.72727272727273e+00 3.72380905197434e-02 6.77278636424619e-03 -8.06386908997012e-02 +-2.12121212121212e+00 1.12957181515356e-01 6.65418939441370e-03 -8.24647818108787e-02 +-1.51515151515152e+00 1.88085569641889e-01 6.63685060622061e-03 -8.40490060911751e-02 +-9.09090909090912e-01 2.63028123393229e-01 6.64880545596898e-03 -8.55649182425272e-02 +-3.03030303030302e-01 3.37754444846362e-01 6.68330848532299e-03 -8.70363727475091e-02 + 3.03030303030302e-01 4.12313267810632e-01 6.73317515061806e-03 -8.84792514957012e-02 + 9.09090909090912e-01 4.86704592286043e-01 6.79840545185419e-03 -8.98935544871035e-02 + 1.51515151515152e+00 5.60711764418109e-01 6.89597181611000e-03 -9.12574757303916e-02 + 2.12121212121212e+00 6.34550314543481e-01 7.00580454521911e-03 -9.25993787856478e-02 + 2.72727272727273e+00 7.07985543108114e-01 7.14187726874912e-03 -9.38887726895767e-02 + 3.33333333333333e+00 7.81017753683817e-01 7.30700999523420e-03 -9.51338333028380e-02 + 3.93939393939394e+00 8.53720222213138e-01 7.49591909177100e-03 -9.63426212176364e-02 + 4.54545454545455e+00 9.25467647912067e-01 7.75680635900802e-03 -9.74543727083216e-02 + 5.15151515151515e+00 9.96566323287946e-01 8.07410937988024e-03 -9.85062817906832e-02 + 5.75757575757576e+00 1.06603709494958e+00 8.53666696941767e-03 -9.94110090903628e-02 + 6.36363636363637e+00 1.13429473881516e+00 9.07144999697415e-03 -1.00199845450852e-01 + 6.96969696969697e+00 1.20174363085482e+00 9.65438331427377e-03 -1.00911421188856e-01 + 7.57575757575757e+00 1.26626741519769e+00 1.04239369651998e-02 -1.01342315149114e-01 + 8.18181818181818e+00 1.33014763417754e+00 1.12068272781317e-02 -1.01712963638171e-01 + 8.78787878787879e+00 1.39288542473562e+00 1.19979181654635e-02 -1.01977509085440e-01 + 9.39393939393939e+00 1.45400406580835e+00 1.28306878694348e-02 -1.02093578787484e-01 + 1.00000000000000e+01 1.51425085697668e+00 1.36859000183078e-02 -1.02129699995493e-01 + 1.06060606060606e+01 1.57102874075162e+00 1.46569302946297e-02 -1.01890669699038e-01 + 1.12121212121212e+01 1.62623868139698e+00 1.56874817998069e-02 -1.01551327281192e-01 + 1.18181818181818e+01 1.67853672731927e+00 1.68285727428916e-02 -1.01025690901896e-01 + 1.24242424242424e+01 1.72526139888104e+00 1.82589121264519e-02 -1.00229727269653e-01 + 1.30303030303030e+01 1.76889213838059e+00 1.98550060097699e-02 -9.92979000279053e-02 + 1.36363636363636e+01 1.79912134860861e+00 2.22451272930941e-02 -9.79858999888201e-02 + 1.42424242424242e+01 1.81722987758321e+00 2.54394667344084e-02 -9.64468939104616e-02 + 1.48484848484848e+01 1.81715738667725e+00 2.98401332800337e-02 -9.45673788106429e-02 + 1.54545454545455e+01 1.79039911525227e+00 3.64364818427673e-02 -9.28892272673224e-02 + 1.60606060606061e+01 1.75269925939876e+00 4.40704518296318e-02 -9.14690181908170e-02 + 1.66666666666667e+01 1.69658249952588e+00 5.44559669930141e-02 -9.17662000093384e-02 + 1.72727272727273e+01 1.64046573965301e+00 6.48414821563965e-02 -9.20633818278598e-02 + 1.78787878787879e+01 1.58434897978013e+00 7.52269973197788e-02 -9.23605636463812e-02 + 1.84848484848485e+01 1.54154488181422e+00 8.57193488514518e-02 -9.39441697633689e-02 + 1.90909090909091e+01 1.50206894861911e+00 9.62384094695321e-02 -9.58493818867580e-02 + 1.96969696969697e+01 1.46259301542401e+00 1.06757470087612e-01 -9.77545940101472e-02 + 2.03030303030303e+01 1.42884655529669e+00 1.17476318599776e-01 -1.00146200110168e-01 + 2.09090909090909e+01 1.40082956737295e+00 1.28394954975889e-01 -1.03024200113457e-01 + 2.15151515151515e+01 1.37281257944921e+00 1.39313591352002e-01 -1.05902200116745e-01 + 2.21212121212121e+01 1.34479559152547e+00 1.50232227728114e-01 -1.08780200120034e-01 + 2.27272727272727e+01 1.31677860360173e+00 1.61150864104227e-01 -1.11658200123322e-01 + 2.33333333333333e+01 1.28876161567800e+00 1.72069500480340e-01 -1.14536200126611e-01 + 2.39393939393939e+01 1.26074462775426e+00 1.82988136856453e-01 -1.17414200129899e-01 + 2.45454545454545e+01 1.23058683087693e+00 1.96599818646254e-01 -1.21514181959599e-01 + 2.51515151515151e+01 1.20164580982143e+00 2.10510727553799e-01 -1.25749939479524e-01 + 2.57575757575758e+01 1.17740137144583e+00 2.24421636461345e-01 -1.29985696999448e-01 + 2.63636363636364e+01 1.15368917721208e+00 2.38332545368891e-01 -1.34221454519373e-01 + 2.69696969696970e+01 1.13050922712017e+00 2.52243454276436e-01 -1.38457212039298e-01 + 2.75757575757576e+01 1.10786152117012e+00 2.66154363183982e-01 -1.42692969559223e-01 + 2.81818181818182e+01 1.08244660295706e+00 2.82383771831320e-01 -1.47339908858783e-01 + 2.87878787878788e+01 1.04990153078822e+00 3.04023014280290e-01 -1.52946272501553e-01 + 2.93939393939394e+01 1.02232095579085e+00 3.25662256729258e-01 -1.58552636144323e-01 + 3.00000000000000e+01 9.98060501209013e-01 3.47301499178227e-01 -1.64158999787093e-01 + 3.30000000000000e+01 9.22062250770388e-01 4.43016766986580e-01 -1.89050377014450e-01 + 3.60000000000000e+01 9.34246002556734e-01 5.15934069457928e-01 -2.08221508455227e-01 + 3.90000000000000e+01 9.45589244087954e-01 5.92145558566002e-01 -2.27204042284425e-01 + 4.20000000000000e+01 9.54748584113586e-01 6.69588003216532e-01 -2.44649507771081e-01 + 4.50000000000000e+01 9.61252131007629e-01 7.47874730889827e-01 -2.60949244350105e-01 + 4.80000000000000e+01 9.25795787149951e-01 8.26351001503544e-01 -2.77248980746643e-01 + 5.10000000000000e+01 8.85072931699619e-01 9.03691989486419e-01 -2.92826828648911e-01 + 5.40000000000000e+01 8.40139834221778e-01 9.79476039083604e-01 -3.08033675125759e-01 + 5.70000000000000e+01 7.90916239414658e-01 1.05332349084099e+00 -3.22957806949482e-01 + 6.00000000000000e+01 7.35111043150310e-01 1.12283400217720e+00 -3.37591520807121e-01 + 6.30000000000000e+01 6.74957638303847e-01 1.18834261746902e+00 -3.51586315701813e-01 + 6.60000000000000e+01 6.10964879118523e-01 1.24975699863433e+00 -3.65261651053213e-01 + 6.90000000000000e+01 5.42808995062654e-01 1.30593816480719e+00 -3.78936986269520e-01 + 7.20000000000000e+01 4.70239192035188e-01 1.35443145209476e+00 -3.91247379618790e-01 + 7.50000000000000e+01 3.95258069652003e-01 1.39714437509904e+00 -4.03249463617085e-01 + 7.80000000000000e+01 3.18166875234793e-01 1.43386877376821e+00 -4.14964097416413e-01 + 8.10000000000000e+01 2.39033591672124e-01 1.46177719199882e+00 -4.25852018664857e-01 + 8.40000000000000e+01 1.59202953296899e-01 1.48140709269595e+00 -4.35698894587758e-01 + 8.70000000000000e+01 7.94010592711672e-02 1.49417607502582e+00 -4.45220443783577e-01 + 9.00000000000000e+01 3.11028980348738e-10 1.49999999997719e+00 -4.54741992897877e-01 + 9.30000000000000e+01 -5.55807418230592e-02 1.49417607499090e+00 -4.59628257189905e-01 + 9.60000000000000e+01 -1.11442067459277e-01 1.48140709264988e+00 -4.64514521421943e-01 + 9.90000000000000e+01 -1.67323513736515e-01 1.46177719221746e+00 -4.68714600495400e-01 + 1.02000000000000e+02 -2.22716812230383e-01 1.43386877398686e+00 -4.70718887134564e-01 + 1.05000000000000e+02 -2.76680648972375e-01 1.39714437494550e+00 -4.70979456271530e-01 + 1.08000000000000e+02 -3.29167434663816e-01 1.35443145187167e+00 -4.70624689513598e-01 + 1.11000000000000e+02 -3.79966296232927e-01 1.30593816517334e+00 -4.69601007215107e-01 + 1.14000000000000e+02 -4.27675415731853e-01 1.24975699822349e+00 -4.65615912292485e-01 + 1.17000000000000e+02 -4.72470346873147e-01 1.18834261738102e+00 -4.61630817409231e-01 + 1.20000000000000e+02 -5.14577730079261e-01 1.12283400240132e+00 -4.57221478466790e-01 + 1.23000000000000e+02 -5.53641368004556e-01 1.05332349010379e+00 -4.51963651365242e-01 + 1.26000000000000e+02 -5.88097883889968e-01 9.79476039224861e-01 -4.46320147916898e-01 + 1.29000000000000e+02 -6.19551051959611e-01 9.03691990090244e-01 -4.41015754695827e-01 + 1.32000000000000e+02 -6.48057050875903e-01 8.26351001911627e-01 -4.36207139878165e-01 + 1.35000000000000e+02 -6.72876491919531e-01 7.47874730212582e-01 -4.32363202318299e-01 + 1.38000000000000e+02 -6.94574008880946e-01 6.69588003211172e-01 -4.28519264801468e-01 + 1.41000000000000e+02 -7.14412470826591e-01 5.92145558711669e-01 -4.25249806728838e-01 + 1.44000000000000e+02 -7.32722201977660e-01 5.15934068684593e-01 -4.22751049476045e-01 + 1.47000000000000e+02 -7.50443575482131e-01 4.43016767221693e-01 -4.20346856774768e-01 + 1.50000000000000e+02 -7.09078781261518e-01 3.72562354853516e-01 -4.16279946005650e-01 + 1.53000000000000e+02 -6.38170903055494e-01 3.06742155077266e-01 -3.95585854638999e-01 + 1.56000000000000e+02 -5.67263024849471e-01 2.45847323942745e-01 -3.73229045212350e-01 + 1.59000000000000e+02 -4.96355146643446e-01 1.90143998922178e-01 -3.50872235785700e-01 + 1.62000000000000e+02 -4.25447268437423e-01 1.40636124349672e-01 -3.74735973053744e-01 + 1.65000000000000e+02 -3.54539390231399e-01 9.81315663888162e-02 -4.21709983289917e-01 + 1.68000000000000e+02 -2.83631512025374e-01 6.23519280822543e-02 -4.68683993526091e-01 + 1.71000000000000e+02 -2.12723633819350e-01 3.53980714785814e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.41815755613326e-01 2.95870407694700e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -7.09078783383423e-02 2.59899654394449e-02 -1.50000000451309e-01 + 1.80000000000000e+02 4.85722573273506e-18 2.46414625588597e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_40.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_40.dat new file mode 100644 index 0000000..6cba313 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_40.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF40_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF40_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-3.025329 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.063095 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-14.026377 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.766760 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.138864 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.006831 Cd0 ! 2D drag coefficient value at 0-lift. +-0.079741 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 4.85722573273506e-18 2.46414625588597e-02 0.00000000000000e+00 +-1.77000000000000e+02 7.09078783383423e-02 2.59899654394449e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.41815755613326e-01 2.95870407694700e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.12724023589752e-01 3.53981062097947e-02 3.60000658682385e-01 +-1.68000000000000e+02 2.83635114323999e-01 6.23536246130750e-02 3.88683131002858e-01 +-1.65000000000000e+02 3.54539390231399e-01 9.81315663888160e-02 3.71709983123391e-01 +-1.62000000000000e+02 4.25451140020828e-01 1.40638541882525e-01 3.54735046137367e-01 +-1.59000000000000e+02 4.96351238664441e-01 1.90141020854771e-01 3.50871003624422e-01 +-1.56000000000000e+02 5.67264876246885e-01 2.45848849126870e-01 3.73229628946347e-01 +-1.53000000000000e+02 6.38171661458157e-01 3.06742822712792e-01 3.95586093758603e-01 +-1.50000000000000e+02 7.09078781261519e-01 3.72562354853516e-01 4.16279946005650e-01 +-1.47000000000000e+02 7.50443575482131e-01 4.43016767221693e-01 4.20346856774768e-01 +-1.44000000000000e+02 7.32722201977660e-01 5.15934068684593e-01 4.22751049476045e-01 +-1.41000000000000e+02 7.14412470826591e-01 5.92145558711669e-01 4.25249806728838e-01 +-1.38000000000000e+02 6.94574008880946e-01 6.69588003211173e-01 4.28519264801468e-01 +-1.35000000000000e+02 6.72876491919531e-01 7.47874730212582e-01 4.32363202318299e-01 +-1.32000000000000e+02 6.48057050875902e-01 8.26351001911627e-01 4.36207139878165e-01 +-1.29000000000000e+02 6.19551051959611e-01 9.03691990090244e-01 4.41015754695827e-01 +-1.26000000000000e+02 5.88097883889968e-01 9.79476039224861e-01 4.46320147916898e-01 +-1.23000000000000e+02 5.53641368004556e-01 1.05332349010379e+00 4.51963651365242e-01 +-1.20000000000000e+02 5.14577730079261e-01 1.12283400240132e+00 4.57221478466790e-01 +-1.17000000000000e+02 4.72470346873147e-01 1.18834261738102e+00 4.61630817409231e-01 +-1.14000000000000e+02 4.27675415731853e-01 1.24975699822349e+00 4.65615912292485e-01 +-1.11000000000000e+02 3.79966296232926e-01 1.30593816517334e+00 4.69601007215107e-01 +-1.08000000000000e+02 3.29167434663816e-01 1.35443145187167e+00 4.70624689513598e-01 +-1.05000000000000e+02 2.76680648972375e-01 1.39714437494550e+00 4.70979456271530e-01 +-1.02000000000000e+02 2.22716812230383e-01 1.43386877398686e+00 4.70718887134564e-01 +-9.90000000000000e+01 1.67323513736515e-01 1.46177719221746e+00 4.68714600495400e-01 +-9.60000000000000e+01 1.11442067459277e-01 1.48140709264988e+00 4.64514521421943e-01 +-9.30000000000000e+01 5.55807418230594e-02 1.49417607499090e+00 4.59628257189905e-01 +-9.00000000000000e+01 -2.17720385095452e-10 1.49999999997719e+00 4.54741992894100e-01 +-8.70000000000000e+01 -5.55807414898173e-02 1.49417607502582e+00 4.44256194940782e-01 +-8.40000000000000e+01 -1.11442067307830e-01 1.48140709269595e+00 4.33770396897690e-01 +-8.10000000000000e+01 -1.67323514170487e-01 1.46177719199882e+00 4.22751815715067e-01 +-7.80000000000000e+01 -2.22716812664355e-01 1.43386877376821e+00 4.10028328729202e-01 +-7.50000000000000e+01 -2.76680648756403e-01 1.39714437509904e+00 3.95950945859518e-01 +-7.20000000000000e+01 -3.29167434424632e-01 1.35443145209476e+00 3.81456984926632e-01 +-6.90000000000000e+01 -3.79966296543858e-01 1.30593816480719e+00 3.66569710870844e-01 +-6.60000000000000e+01 -4.27675415382966e-01 1.24975699863433e+00 3.49941167676215e-01 +-6.30000000000000e+01 -4.72470346812693e-01 1.18834261746902e+00 3.33312624317319e-01 +-6.00000000000000e+01 -5.14577730205217e-01 1.12283400217720e+00 3.16533804218062e-01 +-5.70000000000000e+01 -5.53641367590261e-01 1.05332349084099e+00 2.99454430776818e-01 +-5.40000000000000e+01 -5.88097883955245e-01 9.79476039083604e-01 2.82238441882844e-01 +-5.10000000000000e+01 -6.19551052189733e-01 9.03691989486419e-01 2.65101376417570e-01 +-4.80000000000000e+01 -6.48057051004965e-01 8.26351001503544e-01 2.48082937508914e-01 +-4.50000000000000e+01 -6.72876491705341e-01 7.47874730889827e-01 2.31295319956564e-01 +-4.20000000000000e+01 -6.57074008879510e-01 6.69588003216531e-01 2.14507702216265e-01 +-3.90000000000000e+01 -6.39412470861568e-01 5.92145558566002e-01 1.89164063976627e-01 +-3.60000000000000e+01 -6.20222201789713e-01 5.15934069457928e-01 1.52341978697799e-01 +-3.30000000000000e+01 -6.00443575539271e-01 4.43016766986580e-01 1.14111494476316e-01 +-3.00000000000000e+01 -6.27312978526084e-01 3.52809999241618e-01 8.33188997922929e-02 +-2.93939393939394e+01 -6.41834386974416e-01 3.32839999218799e-01 7.78494755436190e-02 +-2.87878787878788e+01 -6.56868612465305e-01 3.12869999195980e-01 7.23800512949450e-02 +-2.81818181818182e+01 -6.72415654998749e-01 2.92899999173161e-01 6.69106270462710e-02 +-2.75757575757576e+01 -7.14452834766701e-01 2.71284999274155e-01 6.00945088504803e-02 +-2.69696969696970e+01 -7.68300620742834e-01 2.48964999568361e-01 5.27012362206603e-02 +-2.63636363636364e+01 -8.22854934525838e-01 2.26644999862567e-01 4.53079635908404e-02 +-2.57575757575758e+01 -8.78115776115711e-01 2.04325000156773e-01 3.79146909610205e-02 +-2.51515151515151e+01 -9.34083145512455e-01 1.82005000450979e-01 3.05214183312005e-02 +-2.45454545454545e+01 -9.94037754861426e-01 1.59685000745185e-01 2.31281457013806e-02 +-2.39393939393939e+01 -1.05064412249864e+00 1.38746226141576e-01 1.61713243791283e-02 +-2.33333333333333e+01 -1.06647931401253e+00 1.30238483707612e-01 1.31425667999098e-02 +-2.27272727272727e+01 -1.08231450552642e+00 1.21730741273648e-01 1.01138092206914e-02 +-2.21212121212121e+01 -1.09814969704031e+00 1.13222998839684e-01 7.08505164147293e-03 +-2.15151515151515e+01 -1.11398488855419e+00 1.04715256405720e-01 4.05629406225448e-03 +-2.09090909090909e+01 -1.12982008006808e+00 9.62075139717558e-02 1.02753648303605e-03 +-2.03030303030303e+01 -1.14565527158197e+00 8.76997715377919e-02 -2.00122109618240e-03 +-1.96969696969697e+01 -1.15534252391062e+00 8.06649456610962e-02 -4.00059996397744e-03 +-1.90909090909091e+01 -1.15888183612673e+00 7.51030365638317e-02 -4.97059996508582e-03 +-1.84848484848485e+01 -1.16242114834283e+00 6.95411274665672e-02 -5.94059996619421e-03 +-1.78787878787879e+01 -1.16529796717471e+00 6.41091941049719e-02 -6.84363937252776e-03 +-1.72727272727273e+01 -1.16552481190757e+00 5.91971637963288e-02 -7.47883634295054e-03 +-1.66666666666667e+01 -1.16575165664044e+00 5.42851334876857e-02 -8.11403331337333e-03 +-1.60606060606061e+01 -1.16597850137330e+00 4.93731031790426e-02 -8.74923028379612e-03 +-1.54545454545455e+01 -1.16595492357283e+00 4.48701910389722e-02 -9.41178179878783e-03 +-1.48484848484848e+01 -1.16590352103710e+00 4.04127364884243e-02 -1.00773727086393e-02 +-1.42424242424242e+01 -1.16585211850138e+00 3.59552819378763e-02 -1.07429636184907e-02 +-1.36363636363636e+01 -1.15368702291235e+00 3.18363728273672e-02 -1.31325999090123e-02 +-1.30303030303030e+01 -1.13344613106628e+00 2.79431607017064e-02 -1.66715999130562e-02 +-1.24242424242424e+01 -1.11320523922021e+00 2.40499485760457e-02 -2.02105999171001e-02 +-1.18181818181818e+01 -1.07940426588402e+00 2.06459636867756e-02 -2.46224089472267e-02 +-1.12121212121212e+01 -1.01396309899541e+00 1.83835091387359e-02 -3.10707725909586e-02 +-1.06060606060606e+01 -9.48521932106789e-01 1.61210545906961e-02 -3.75191362346906e-02 +-1.00000000000000e+01 -8.83080765218172e-01 1.38586000426563e-02 -4.39674998784226e-02 +-9.39393939393939e+00 -8.06566019741867e-01 1.29178424409045e-02 -4.80862878058387e-02 +-8.78787878787879e+00 -7.30051274056780e-01 1.19770848640719e-02 -5.22050756893329e-02 +-8.18181818181818e+00 -6.53536528371693e-01 1.10363272872394e-02 -5.63238635728272e-02 +-7.57575757575758e+00 -5.76828400839102e-01 1.03429454629350e-02 -5.96627241995084e-02 +-6.96969696969697e+00 -5.00037395365913e-01 9.75558182590017e-03 -6.26673302635478e-02 +-6.36363636363636e+00 -4.23246389892724e-01 9.16821818886537e-03 -6.56719363275871e-02 +-5.75757575757576e+00 -3.46214236793575e-01 8.59835030893152e-03 -6.86055120905238e-02 +-5.15151515151515e+00 -2.68820362238437e-01 8.05472606588610e-03 -7.14325423967844e-02 +-4.54545454545454e+00 -1.91426487683298e-01 7.51110182284068e-03 -7.42595727030451e-02 +-3.93939393939394e+00 -1.14200091471482e-01 7.00998030391116e-03 -7.69865090773461e-02 +-3.33333333333333e+00 -3.84810004758693e-02 6.89138333407868e-03 -7.88125999885236e-02 +-2.72727272727273e+00 3.72380905197434e-02 6.77278636424619e-03 -8.06386908997012e-02 +-2.12121212121212e+00 1.12957181515356e-01 6.65418939441370e-03 -8.24647818108787e-02 +-1.51515151515152e+00 1.88084005207730e-01 6.63685060622061e-03 -8.40490060911751e-02 +-9.09090909090912e-01 2.63024502355903e-01 6.64880545596898e-03 -8.55649182425272e-02 +-3.03030303030302e-01 3.37748194530144e-01 6.68330848532299e-03 -8.70363727475091e-02 + 3.03030303030302e-01 4.12303944607795e-01 6.73317515061806e-03 -8.84792514957012e-02 + 9.09090909090912e-01 4.86691752588857e-01 6.79840545185419e-03 -8.98935544871035e-02 + 1.51515151515152e+00 5.60694390826661e-01 6.89597181611000e-03 -9.12574757303916e-02 + 2.12121212121212e+00 6.34527960474487e-01 7.00580454521911e-03 -9.25993787856478e-02 + 2.72727272727273e+00 7.07957140393362e-01 7.14187726874912e-03 -9.38887726895767e-02 + 3.33333333333333e+00 7.80982234959085e-01 7.30700999523420e-03 -9.51338333028380e-02 + 3.93939393939394e+00 8.53676714180278e-01 7.49591909177100e-03 -9.63426212176364e-02 + 4.54545454545455e+00 9.25413621208677e-01 7.75680635900802e-03 -9.74543727083216e-02 + 5.15151515151515e+00 9.96500059745351e-01 8.07410937988024e-03 -9.85062817906832e-02 + 5.75757575757576e+00 1.06595428318161e+00 8.53666696941767e-03 -9.94110090903628e-02 + 6.36363636363637e+00 1.13419216593990e+00 9.07144999697415e-03 -1.00199845450852e-01 + 6.96969696969697e+00 1.20161915495110e+00 9.65438331427377e-03 -1.00911421188856e-01 + 7.57575757575757e+00 1.26611328932768e+00 1.04239369651998e-02 -1.01342315149114e-01 + 8.18181818181818e+00 1.32996215390456e+00 1.12068272781317e-02 -1.01712963638171e-01 + 8.78787878787879e+00 1.39266556441998e+00 1.19979181654635e-02 -1.01977509085440e-01 + 9.39393939393939e+00 1.45374553724882e+00 1.28306878694348e-02 -1.02093578787484e-01 + 1.00000000000000e+01 1.51395135114135e+00 1.36859000183078e-02 -1.02129699995493e-01 + 1.06060606060606e+01 1.57067907048820e+00 1.46569302946297e-02 -1.01890669699038e-01 + 1.12121212121212e+01 1.62583469412060e+00 1.56874817998069e-02 -1.01551327281192e-01 + 1.18181818181818e+01 1.67807071108572e+00 1.68285727428916e-02 -1.01025690901896e-01 + 1.24242424242424e+01 1.72471859300827e+00 1.82589121264519e-02 -1.00229727269653e-01 + 1.30303030303030e+01 1.76826434881156e+00 1.98550060097699e-02 -9.92979000279053e-02 + 1.36363636363636e+01 1.79837308235474e+00 2.22451272930941e-02 -9.79858999888201e-02 + 1.42424242424242e+01 1.81632903388998e+00 2.54394667344084e-02 -9.64468939104616e-02 + 1.48484848484848e+01 1.81605581441819e+00 2.98401332800337e-02 -9.45673788106429e-02 + 1.54545454545455e+01 1.78902613905266e+00 3.64364818427673e-02 -9.28892272673224e-02 + 1.60606060606061e+01 1.75102590125740e+00 4.40704518296318e-02 -9.14690181908170e-02 + 1.66666666666667e+01 1.69455998359410e+00 5.44559669930141e-02 -9.17662000093384e-02 + 1.72727272727273e+01 1.63809406593079e+00 6.48414821563965e-02 -9.20633818278598e-02 + 1.78787878787879e+01 1.58162814826749e+00 7.52269973197788e-02 -9.23605636463812e-02 + 1.84848484848485e+01 1.53851015014088e+00 8.57193488514518e-02 -9.39441697633689e-02 + 1.90909090909091e+01 1.49872913119065e+00 9.62384094695321e-02 -9.58493818867580e-02 + 1.96969696969697e+01 1.45894811224042e+00 1.06757470087612e-01 -9.77545940101472e-02 + 2.03030303030303e+01 1.42491174045624e+00 1.17476318599776e-01 -1.00146200110168e-01 + 2.09090909090909e+01 1.39662001497163e+00 1.28394954975889e-01 -1.03024200113457e-01 + 2.15151515151515e+01 1.36832828948702e+00 1.39313591352002e-01 -1.05902200116745e-01 + 2.21212121212121e+01 1.34003656400240e+00 1.50232227728114e-01 -1.08780200120034e-01 + 2.27272727272727e+01 1.31174483851779e+00 1.61150864104227e-01 -1.11658200123322e-01 + 2.33333333333333e+01 1.28345311303318e+00 1.72069500480340e-01 -1.14536200126611e-01 + 2.39393939393939e+01 1.25516138754857e+00 1.82988136856453e-01 -1.17414200129899e-01 + 2.45454545454545e+01 1.22472318333148e+00 1.96599818646254e-01 -1.21514181959599e-01 + 2.51515151515151e+01 1.19554767560398e+00 2.10510727553799e-01 -1.25749939479524e-01 + 2.57575757575758e+01 1.17121904783786e+00 2.24421636461345e-01 -1.29985696999448e-01 + 2.63636363636364e+01 1.14743969677813e+00 2.38332545368891e-01 -1.34221454519373e-01 + 2.69696969696970e+01 1.12420962242479e+00 2.52243454276436e-01 -1.38457212039298e-01 + 2.75757575757576e+01 1.10152882477783e+00 2.66154363183982e-01 -1.42692969559223e-01 + 2.81818181818182e+01 1.07609040121540e+00 2.82383771831320e-01 -1.47339908858783e-01 + 2.87878787878788e+01 1.04658141037268e+00 3.04023014280290e-01 -1.52946272501553e-01 + 2.93939393939394e+01 1.02232095579085e+00 3.25662256729258e-01 -1.58552636144323e-01 + 3.00000000000000e+01 9.98060501209013e-01 3.47301499178227e-01 -1.64158999787093e-01 + 3.30000000000000e+01 9.22062250770388e-01 4.43016766986580e-01 -1.89050377014450e-01 + 3.60000000000000e+01 9.34246002556734e-01 5.15934069457928e-01 -2.08221508455227e-01 + 3.90000000000000e+01 9.45589244087954e-01 5.92145558566002e-01 -2.27204042284425e-01 + 4.20000000000000e+01 9.54748584113586e-01 6.69588003216532e-01 -2.44649507771081e-01 + 4.50000000000000e+01 9.61252131007629e-01 7.47874730889827e-01 -2.60949244350105e-01 + 4.80000000000000e+01 9.25795787149951e-01 8.26351001503544e-01 -2.77248980746643e-01 + 5.10000000000000e+01 8.85072931699619e-01 9.03691989486419e-01 -2.92826828648911e-01 + 5.40000000000000e+01 8.40139834221778e-01 9.79476039083604e-01 -3.08033675125759e-01 + 5.70000000000000e+01 7.90916239414658e-01 1.05332349084099e+00 -3.22957806949482e-01 + 6.00000000000000e+01 7.35111043150310e-01 1.12283400217720e+00 -3.37591520807121e-01 + 6.30000000000000e+01 6.74957638303847e-01 1.18834261746902e+00 -3.51586315701813e-01 + 6.60000000000000e+01 6.10964879118523e-01 1.24975699863433e+00 -3.65261651053213e-01 + 6.90000000000000e+01 5.42808995062654e-01 1.30593816480719e+00 -3.78936986269520e-01 + 7.20000000000000e+01 4.70239192035188e-01 1.35443145209476e+00 -3.91247379618790e-01 + 7.50000000000000e+01 3.95258069652003e-01 1.39714437509904e+00 -4.03249463617085e-01 + 7.80000000000000e+01 3.18166875234793e-01 1.43386877376821e+00 -4.14964097416413e-01 + 8.10000000000000e+01 2.39033591672124e-01 1.46177719199882e+00 -4.25852018664857e-01 + 8.40000000000000e+01 1.59202953296899e-01 1.48140709269595e+00 -4.35698894587758e-01 + 8.70000000000000e+01 7.94010592711672e-02 1.49417607502582e+00 -4.45220443783577e-01 + 9.00000000000000e+01 3.11028980348738e-10 1.49999999997719e+00 -4.54741992897877e-01 + 9.30000000000000e+01 -5.55807418230592e-02 1.49417607499090e+00 -4.59628257189905e-01 + 9.60000000000000e+01 -1.11442067459277e-01 1.48140709264988e+00 -4.64514521421943e-01 + 9.90000000000000e+01 -1.67323513736515e-01 1.46177719221746e+00 -4.68714600495400e-01 + 1.02000000000000e+02 -2.22716812230383e-01 1.43386877398686e+00 -4.70718887134564e-01 + 1.05000000000000e+02 -2.76680648972375e-01 1.39714437494550e+00 -4.70979456271530e-01 + 1.08000000000000e+02 -3.29167434663816e-01 1.35443145187167e+00 -4.70624689513598e-01 + 1.11000000000000e+02 -3.79966296232927e-01 1.30593816517334e+00 -4.69601007215107e-01 + 1.14000000000000e+02 -4.27675415731853e-01 1.24975699822349e+00 -4.65615912292485e-01 + 1.17000000000000e+02 -4.72470346873147e-01 1.18834261738102e+00 -4.61630817409231e-01 + 1.20000000000000e+02 -5.14577730079261e-01 1.12283400240132e+00 -4.57221478466790e-01 + 1.23000000000000e+02 -5.53641368004556e-01 1.05332349010379e+00 -4.51963651365242e-01 + 1.26000000000000e+02 -5.88097883889968e-01 9.79476039224861e-01 -4.46320147916898e-01 + 1.29000000000000e+02 -6.19551051959611e-01 9.03691990090244e-01 -4.41015754695827e-01 + 1.32000000000000e+02 -6.48057050875903e-01 8.26351001911627e-01 -4.36207139878165e-01 + 1.35000000000000e+02 -6.72876491919531e-01 7.47874730212582e-01 -4.32363202318299e-01 + 1.38000000000000e+02 -6.94574008880946e-01 6.69588003211172e-01 -4.28519264801468e-01 + 1.41000000000000e+02 -7.14412470826591e-01 5.92145558711669e-01 -4.25249806728838e-01 + 1.44000000000000e+02 -7.32722201977660e-01 5.15934068684593e-01 -4.22751049476045e-01 + 1.47000000000000e+02 -7.50443575482131e-01 4.43016767221693e-01 -4.20346856774768e-01 + 1.50000000000000e+02 -7.09078781261518e-01 3.72562354853516e-01 -4.16279946005650e-01 + 1.53000000000000e+02 -6.38170903055494e-01 3.06742155077266e-01 -3.95585854638999e-01 + 1.56000000000000e+02 -5.67263024849471e-01 2.45847323942745e-01 -3.73229045212350e-01 + 1.59000000000000e+02 -4.96355146643446e-01 1.90143998922178e-01 -3.50872235785700e-01 + 1.62000000000000e+02 -4.25447268437423e-01 1.40636124349672e-01 -3.74735973053744e-01 + 1.65000000000000e+02 -3.54539390231399e-01 9.81315663888162e-02 -4.21709983289917e-01 + 1.68000000000000e+02 -2.83631512025374e-01 6.23519280822543e-02 -4.68683993526091e-01 + 1.71000000000000e+02 -2.12723633819350e-01 3.53980714785814e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.41815755613326e-01 2.95870407694700e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -7.09078783383423e-02 2.59899654394449e-02 -1.50000000451309e-01 + 1.80000000000000e+02 4.85722573273506e-18 2.46414625588597e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_41.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_41.dat new file mode 100644 index 0000000..980716d --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_41.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF41_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF41_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-3.025329 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.054085 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-14.020856 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.765914 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.138279 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.006831 Cd0 ! 2D drag coefficient value at 0-lift. +-0.079741 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 4.85722573273506e-18 2.46414625588597e-02 0.00000000000000e+00 +-1.77000000000000e+02 7.09078783383423e-02 2.59899654394449e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.41815755613326e-01 2.95870407694700e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.12724023589752e-01 3.53981062097947e-02 3.60000658682385e-01 +-1.68000000000000e+02 2.83635114323999e-01 6.23536246130750e-02 3.88683131002858e-01 +-1.65000000000000e+02 3.54539390231399e-01 9.81315663888160e-02 3.71709983123391e-01 +-1.62000000000000e+02 4.25451140020828e-01 1.40638541882525e-01 3.54735046137367e-01 +-1.59000000000000e+02 4.96351238664441e-01 1.90141020854771e-01 3.50871003624422e-01 +-1.56000000000000e+02 5.67264876246885e-01 2.45848849126870e-01 3.73229628946347e-01 +-1.53000000000000e+02 6.38171661458157e-01 3.06742822712792e-01 3.95586093758603e-01 +-1.50000000000000e+02 7.09078781261519e-01 3.72562354853516e-01 4.16279946005650e-01 +-1.47000000000000e+02 7.50443575482131e-01 4.43016767221693e-01 4.20346856774768e-01 +-1.44000000000000e+02 7.32722201977660e-01 5.15934068684593e-01 4.22751049476045e-01 +-1.41000000000000e+02 7.14412470826591e-01 5.92145558711669e-01 4.25249806728838e-01 +-1.38000000000000e+02 6.94574008880946e-01 6.69588003211173e-01 4.28519264801468e-01 +-1.35000000000000e+02 6.72876491919531e-01 7.47874730212582e-01 4.32363202318299e-01 +-1.32000000000000e+02 6.48057050875902e-01 8.26351001911627e-01 4.36207139878165e-01 +-1.29000000000000e+02 6.19551051959611e-01 9.03691990090244e-01 4.41015754695827e-01 +-1.26000000000000e+02 5.88097883889968e-01 9.79476039224861e-01 4.46320147916898e-01 +-1.23000000000000e+02 5.53641368004556e-01 1.05332349010379e+00 4.51963651365242e-01 +-1.20000000000000e+02 5.14577730079261e-01 1.12283400240132e+00 4.57221478466790e-01 +-1.17000000000000e+02 4.72470346873147e-01 1.18834261738102e+00 4.61630817409231e-01 +-1.14000000000000e+02 4.27675415731853e-01 1.24975699822349e+00 4.65615912292485e-01 +-1.11000000000000e+02 3.79966296232926e-01 1.30593816517334e+00 4.69601007215107e-01 +-1.08000000000000e+02 3.29167434663816e-01 1.35443145187167e+00 4.70624689513598e-01 +-1.05000000000000e+02 2.76680648972375e-01 1.39714437494550e+00 4.70979456271530e-01 +-1.02000000000000e+02 2.22716812230383e-01 1.43386877398686e+00 4.70718887134564e-01 +-9.90000000000000e+01 1.67323513736515e-01 1.46177719221746e+00 4.68714600495400e-01 +-9.60000000000000e+01 1.11442067459277e-01 1.48140709264988e+00 4.64514521421943e-01 +-9.30000000000000e+01 5.55807418230594e-02 1.49417607499090e+00 4.59628257189905e-01 +-9.00000000000000e+01 -2.17720385095452e-10 1.49999999997719e+00 4.54741992894100e-01 +-8.70000000000000e+01 -5.55807414898173e-02 1.49417607502582e+00 4.44256194940782e-01 +-8.40000000000000e+01 -1.11442067307830e-01 1.48140709269595e+00 4.33770396897690e-01 +-8.10000000000000e+01 -1.67323514170487e-01 1.46177719199882e+00 4.22751815715067e-01 +-7.80000000000000e+01 -2.22716812664355e-01 1.43386877376821e+00 4.10028328729202e-01 +-7.50000000000000e+01 -2.76680648756403e-01 1.39714437509904e+00 3.95950945859518e-01 +-7.20000000000000e+01 -3.29167434424632e-01 1.35443145209476e+00 3.81456984926632e-01 +-6.90000000000000e+01 -3.79966296543858e-01 1.30593816480719e+00 3.66569710870844e-01 +-6.60000000000000e+01 -4.27675415382966e-01 1.24975699863433e+00 3.49941167676215e-01 +-6.30000000000000e+01 -4.72470346812693e-01 1.18834261746902e+00 3.33312624317319e-01 +-6.00000000000000e+01 -5.14577730205217e-01 1.12283400217720e+00 3.16533804218062e-01 +-5.70000000000000e+01 -5.53641367590261e-01 1.05332349084099e+00 2.99454430776818e-01 +-5.40000000000000e+01 -5.88097883955245e-01 9.79476039083604e-01 2.82238441882844e-01 +-5.10000000000000e+01 -6.19551052189733e-01 9.03691989486419e-01 2.65101376417570e-01 +-4.80000000000000e+01 -6.48057051004965e-01 8.26351001503544e-01 2.48082937508914e-01 +-4.50000000000000e+01 -6.72876491705341e-01 7.47874730889827e-01 2.31295319956564e-01 +-4.20000000000000e+01 -6.57074008879510e-01 6.69588003216531e-01 2.14507702216265e-01 +-3.90000000000000e+01 -6.39412470861568e-01 5.92145558566002e-01 1.89164063976627e-01 +-3.60000000000000e+01 -6.20222201789713e-01 5.15934069457928e-01 1.52341978697799e-01 +-3.30000000000000e+01 -6.00443575539271e-01 4.43016766986580e-01 1.14111494476316e-01 +-3.00000000000000e+01 -6.21930637047673e-01 3.52809999241618e-01 8.33188997922929e-02 +-2.93939393939394e+01 -6.36433060974592e-01 3.32839999218799e-01 7.78494755436190e-02 +-2.87878787878788e+01 -6.51463718163186e-01 3.12869999195980e-01 7.23800512949450e-02 +-2.81818181818182e+01 -6.67022608613454e-01 2.92899999173161e-01 6.69106270462710e-02 +-2.75757575757576e+01 -7.09145649479139e-01 2.71284999274155e-01 6.00945088504803e-02 +-2.69696969696970e+01 -7.63124775556052e-01 2.48964999568361e-01 5.27012362206603e-02 +-2.63636363636364e+01 -8.17831668959157e-01 2.26644999862567e-01 4.53079635908404e-02 +-2.57575757575758e+01 -8.73266329688454e-01 2.04325000156773e-01 3.79146909610205e-02 +-2.51515151515151e+01 -9.29428757743942e-01 1.82005000450979e-01 3.05214183312005e-02 +-2.45454545454545e+01 -9.89698289484101e-01 1.59685000745185e-01 2.31281457013806e-02 +-2.39393939393939e+01 -1.04664350869280e+00 1.38746226141576e-01 1.61713243791283e-02 +-2.33333333333333e+01 -1.06271314724980e+00 1.30238483707612e-01 1.31425667999098e-02 +-2.27272727272727e+01 -1.07878278580680e+00 1.21730741273648e-01 1.01138092206914e-02 +-2.21212121212121e+01 -1.09485242436381e+00 1.13222998839684e-01 7.08505164147293e-03 +-2.15151515151515e+01 -1.11092206292081e+00 1.04715256405720e-01 4.05629406225448e-03 +-2.09090909090909e+01 -1.12699170147781e+00 9.62075139717558e-02 1.02753648303605e-03 +-2.03030303030303e+01 -1.14306134003481e+00 8.76997715377919e-02 -2.00122109618240e-03 +-1.96969696969697e+01 -1.15296729611065e+00 8.06649456610962e-02 -4.00059996397744e-03 +-1.90909090909091e+01 -1.15670956877563e+00 7.51030365638317e-02 -4.97059996508582e-03 +-1.84848484848485e+01 -1.16045184144061e+00 6.95411274665672e-02 -5.94059996619421e-03 +-1.78787878787879e+01 -1.16352992424567e+00 6.41091941049719e-02 -6.84363937252776e-03 +-1.72727272727273e+01 -1.16395124704750e+00 5.91971637963288e-02 -7.47883634295054e-03 +-1.66666666666667e+01 -1.16437256984933e+00 5.42851334876857e-02 -8.11403331337333e-03 +-1.60606060606061e+01 -1.16479389265116e+00 4.93731031790426e-02 -8.74923028379612e-03 +-1.54545454545455e+01 -1.16496415165175e+00 4.48701910389722e-02 -9.41178179878783e-03 +-1.48484848484848e+01 -1.16510651466507e+00 4.04127364884243e-02 -1.00773727086393e-02 +-1.42424242424242e+01 -1.16524887767840e+00 3.59552819378763e-02 -1.07429636184907e-02 +-1.36363636363636e+01 -1.15324652757646e+00 3.18363728273672e-02 -1.31325999090123e-02 +-1.30303030303030e+01 -1.13314770117387e+00 2.79431607017064e-02 -1.66715999130562e-02 +-1.24242424242424e+01 -1.11304887477129e+00 2.40499485760457e-02 -2.02105999171001e-02 +-1.18181818181818e+01 -1.07935524298667e+00 2.06459636867756e-02 -2.46224089472267e-02 +-1.12121212121212e+01 -1.01394039522645e+00 1.83835091387359e-02 -3.10707725909586e-02 +-1.06060606060606e+01 -9.48525547466225e-01 1.61210545906961e-02 -3.75191362346906e-02 +-1.00000000000000e+01 -8.83110699706000e-01 1.38586000426563e-02 -4.39674998784226e-02 +-9.39393939393939e+00 -8.06593916762574e-01 1.29178424409045e-02 -4.80862878058387e-02 +-8.78787878787879e+00 -7.30077133609833e-01 1.19770848640719e-02 -5.22050756893329e-02 +-8.18181818181818e+00 -6.53560350457091e-01 1.10363272872394e-02 -5.63238635728272e-02 +-7.57575757575758e+00 -5.76849690255516e-01 1.03429454629350e-02 -5.96627241995084e-02 +-6.96969696969697e+00 -5.00055939884188e-01 9.75558182590017e-03 -6.26673302635478e-02 +-6.36363636363636e+00 -4.23262189512859e-01 9.16821818886537e-03 -6.56719363275871e-02 +-5.75757575757576e+00 -3.46226673998330e-01 8.59835030893152e-03 -6.86055120905238e-02 +-5.15151515151515e+00 -2.68828510751908e-01 8.05472606588610e-03 -7.14325423967844e-02 +-4.54545454545454e+00 -1.91430347505486e-01 7.51110182284068e-03 -7.42595727030451e-02 +-3.93939393939394e+00 -1.14200091471482e-01 7.00998030391116e-03 -7.69865090773461e-02 +-3.33333333333333e+00 -3.84810004758693e-02 6.89138333407868e-03 -7.88125999885236e-02 +-2.72727272727273e+00 3.72380905197434e-02 6.77278636424619e-03 -8.06386908997012e-02 +-2.12121212121212e+00 1.12957181515356e-01 6.65418939441370e-03 -8.24647818108787e-02 +-1.51515151515152e+00 1.88082488563023e-01 6.63685060622061e-03 -8.40490060911751e-02 +-9.09090909090912e-01 2.63020991931983e-01 6.64880545596898e-03 -8.55649182425272e-02 +-3.03030303030302e-01 3.37742135145061e-01 6.68330848532299e-03 -8.70363727475091e-02 + 3.03030303030302e-01 4.12294906204900e-01 6.73317515061806e-03 -8.84792514957012e-02 + 9.09090909090912e-01 4.86679305111502e-01 6.79840545185419e-03 -8.98935544871035e-02 + 1.51515151515152e+00 5.60677547953889e-01 6.89597181611000e-03 -9.12574757303916e-02 + 2.12121212121212e+00 6.34506289264988e-01 7.00580454521911e-03 -9.25993787856478e-02 + 2.72727272727273e+00 7.07929605308726e-01 7.14187726874912e-03 -9.38887726895767e-02 + 3.33333333333333e+00 7.80947801240329e-01 7.30700999523420e-03 -9.51338333028380e-02 + 3.93939393939394e+00 8.53634535206274e-01 7.49591909177100e-03 -9.63426212176364e-02 + 4.54545454545455e+00 9.25361244882560e-01 7.75680635900802e-03 -9.74543727083216e-02 + 5.15151515151515e+00 9.96435820384092e-01 8.07410937988024e-03 -9.85062817906832e-02 + 5.75757575757576e+00 1.06587400110084e+00 8.53666696941767e-03 -9.94110090903628e-02 + 6.36363636363637e+00 1.13409272640300e+00 9.07144999697415e-03 -1.00199845450852e-01 + 6.96969696969697e+00 1.20149848146710e+00 9.65438331427377e-03 -1.00911421188856e-01 + 7.57575757575757e+00 1.26596387160785e+00 1.04239369651998e-02 -1.01342315149114e-01 + 8.18181818181818e+00 1.32978233957838e+00 1.12068272781317e-02 -1.01712963638171e-01 + 8.78787878787879e+00 1.39245242027329e+00 1.19979181654635e-02 -1.01977509085440e-01 + 9.39393939393939e+00 1.45349490607396e+00 1.28306878694348e-02 -1.02093578787484e-01 + 1.00000000000000e+01 1.51366099444141e+00 1.36859000183078e-02 -1.02129699995493e-01 + 1.06060606060606e+01 1.57034008175482e+00 1.46569302946297e-02 -1.01890669699038e-01 + 1.12121212121212e+01 1.62544304761975e+00 1.56874817998069e-02 -1.01551327281192e-01 + 1.18181818181818e+01 1.67761893045331e+00 1.68285727428916e-02 -1.01025690901896e-01 + 1.24242424242424e+01 1.72419236846325e+00 1.82589121264519e-02 -1.00229727269653e-01 + 1.30303030303030e+01 1.76765573660431e+00 1.98550060097699e-02 -9.92979000279053e-02 + 1.36363636363636e+01 1.79764767371648e+00 2.22451272930941e-02 -9.79858999888201e-02 + 1.42424242424242e+01 1.81545570866196e+00 2.54394667344084e-02 -9.64468939104616e-02 + 1.48484848484848e+01 1.81498789236739e+00 2.98401332800337e-02 -9.45673788106429e-02 + 1.54545454545455e+01 1.78769510375585e+00 3.64364818427673e-02 -9.28892272673224e-02 + 1.60606060606061e+01 1.74940365991704e+00 4.40704518296318e-02 -9.14690181908170e-02 + 1.66666666666667e+01 1.69259925033862e+00 5.44559669930141e-02 -9.17662000093384e-02 + 1.72727272727273e+01 1.63579484076020e+00 6.48414821563965e-02 -9.20633818278598e-02 + 1.78787878787879e+01 1.57899043118177e+00 7.52269973197788e-02 -9.23605636463812e-02 + 1.84848484848485e+01 1.53556812173960e+00 8.57193488514518e-02 -9.39441697633689e-02 + 1.90909090909091e+01 1.49549133662187e+00 9.62384094695321e-02 -9.58493818867580e-02 + 1.96969696969697e+01 1.45541455150414e+00 1.06757470087612e-01 -9.77545940101472e-02 + 2.03030303030303e+01 1.42109712412093e+00 1.17476318599776e-01 -1.00146200110168e-01 + 2.09090909090909e+01 1.39253905360355e+00 1.28394954975889e-01 -1.03024200113457e-01 + 2.15151515151515e+01 1.36398098308616e+00 1.39313591352002e-01 -1.05902200116745e-01 + 2.21212121212121e+01 1.33542291256878e+00 1.50232227728114e-01 -1.08780200120034e-01 + 2.27272727272727e+01 1.30686484205139e+00 1.61150864104227e-01 -1.11658200123322e-01 + 2.33333333333333e+01 1.27830677153401e+00 1.72069500480340e-01 -1.14536200126611e-01 + 2.39393939393939e+01 1.24974870101662e+00 1.82988136856453e-01 -1.17414200129899e-01 + 2.45454545454545e+01 1.21903865518508e+00 1.96599818646254e-01 -1.21514181959599e-01 + 2.51515151515151e+01 1.18963582375223e+00 2.10510727553799e-01 -1.25749939479524e-01 + 2.57575757575758e+01 1.16522557836563e+00 2.24421636461345e-01 -1.29985696999448e-01 + 2.63636363636364e+01 1.14138112194877e+00 2.38332545368891e-01 -1.34221454519373e-01 + 2.69696969696970e+01 1.11810245450167e+00 2.52243454276436e-01 -1.38457212039298e-01 + 2.75757575757576e+01 1.09538957602431e+00 2.66154363183982e-01 -1.42692969559223e-01 + 2.81818181818182e+01 1.07084186495451e+00 2.82383771831320e-01 -1.47339908858783e-01 + 2.87878787878788e+01 1.04658141037268e+00 3.04023014280290e-01 -1.52946272501553e-01 + 2.93939393939394e+01 1.02232095579085e+00 3.25662256729258e-01 -1.58552636144323e-01 + 3.00000000000000e+01 9.98060501209013e-01 3.47301499178227e-01 -1.64158999787093e-01 + 3.30000000000000e+01 9.22062250770388e-01 4.43016766986580e-01 -1.89050377014450e-01 + 3.60000000000000e+01 9.34246002556734e-01 5.15934069457928e-01 -2.08221508455227e-01 + 3.90000000000000e+01 9.45589244087954e-01 5.92145558566002e-01 -2.27204042284425e-01 + 4.20000000000000e+01 9.54748584113586e-01 6.69588003216532e-01 -2.44649507771081e-01 + 4.50000000000000e+01 9.61252131007629e-01 7.47874730889827e-01 -2.60949244350105e-01 + 4.80000000000000e+01 9.25795787149951e-01 8.26351001503544e-01 -2.77248980746643e-01 + 5.10000000000000e+01 8.85072931699619e-01 9.03691989486419e-01 -2.92826828648911e-01 + 5.40000000000000e+01 8.40139834221778e-01 9.79476039083604e-01 -3.08033675125759e-01 + 5.70000000000000e+01 7.90916239414658e-01 1.05332349084099e+00 -3.22957806949482e-01 + 6.00000000000000e+01 7.35111043150310e-01 1.12283400217720e+00 -3.37591520807121e-01 + 6.30000000000000e+01 6.74957638303847e-01 1.18834261746902e+00 -3.51586315701813e-01 + 6.60000000000000e+01 6.10964879118523e-01 1.24975699863433e+00 -3.65261651053213e-01 + 6.90000000000000e+01 5.42808995062654e-01 1.30593816480719e+00 -3.78936986269520e-01 + 7.20000000000000e+01 4.70239192035188e-01 1.35443145209476e+00 -3.91247379618790e-01 + 7.50000000000000e+01 3.95258069652003e-01 1.39714437509904e+00 -4.03249463617085e-01 + 7.80000000000000e+01 3.18166875234793e-01 1.43386877376821e+00 -4.14964097416413e-01 + 8.10000000000000e+01 2.39033591672124e-01 1.46177719199882e+00 -4.25852018664857e-01 + 8.40000000000000e+01 1.59202953296899e-01 1.48140709269595e+00 -4.35698894587758e-01 + 8.70000000000000e+01 7.94010592711672e-02 1.49417607502582e+00 -4.45220443783577e-01 + 9.00000000000000e+01 3.11028980348738e-10 1.49999999997719e+00 -4.54741992897877e-01 + 9.30000000000000e+01 -5.55807418230592e-02 1.49417607499090e+00 -4.59628257189905e-01 + 9.60000000000000e+01 -1.11442067459277e-01 1.48140709264988e+00 -4.64514521421943e-01 + 9.90000000000000e+01 -1.67323513736515e-01 1.46177719221746e+00 -4.68714600495400e-01 + 1.02000000000000e+02 -2.22716812230383e-01 1.43386877398686e+00 -4.70718887134564e-01 + 1.05000000000000e+02 -2.76680648972375e-01 1.39714437494550e+00 -4.70979456271530e-01 + 1.08000000000000e+02 -3.29167434663816e-01 1.35443145187167e+00 -4.70624689513598e-01 + 1.11000000000000e+02 -3.79966296232927e-01 1.30593816517334e+00 -4.69601007215107e-01 + 1.14000000000000e+02 -4.27675415731853e-01 1.24975699822349e+00 -4.65615912292485e-01 + 1.17000000000000e+02 -4.72470346873147e-01 1.18834261738102e+00 -4.61630817409231e-01 + 1.20000000000000e+02 -5.14577730079261e-01 1.12283400240132e+00 -4.57221478466790e-01 + 1.23000000000000e+02 -5.53641368004556e-01 1.05332349010379e+00 -4.51963651365242e-01 + 1.26000000000000e+02 -5.88097883889968e-01 9.79476039224861e-01 -4.46320147916898e-01 + 1.29000000000000e+02 -6.19551051959611e-01 9.03691990090244e-01 -4.41015754695827e-01 + 1.32000000000000e+02 -6.48057050875903e-01 8.26351001911627e-01 -4.36207139878165e-01 + 1.35000000000000e+02 -6.72876491919531e-01 7.47874730212582e-01 -4.32363202318299e-01 + 1.38000000000000e+02 -6.94574008880946e-01 6.69588003211172e-01 -4.28519264801468e-01 + 1.41000000000000e+02 -7.14412470826591e-01 5.92145558711669e-01 -4.25249806728838e-01 + 1.44000000000000e+02 -7.32722201977660e-01 5.15934068684593e-01 -4.22751049476045e-01 + 1.47000000000000e+02 -7.50443575482131e-01 4.43016767221693e-01 -4.20346856774768e-01 + 1.50000000000000e+02 -7.09078781261518e-01 3.72562354853516e-01 -4.16279946005650e-01 + 1.53000000000000e+02 -6.38170903055494e-01 3.06742155077266e-01 -3.95585854638999e-01 + 1.56000000000000e+02 -5.67263024849471e-01 2.45847323942745e-01 -3.73229045212350e-01 + 1.59000000000000e+02 -4.96355146643446e-01 1.90143998922178e-01 -3.50872235785700e-01 + 1.62000000000000e+02 -4.25447268437423e-01 1.40636124349672e-01 -3.74735973053744e-01 + 1.65000000000000e+02 -3.54539390231399e-01 9.81315663888162e-02 -4.21709983289917e-01 + 1.68000000000000e+02 -2.83631512025374e-01 6.23519280822543e-02 -4.68683993526091e-01 + 1.71000000000000e+02 -2.12723633819350e-01 3.53980714785814e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.41815755613326e-01 2.95870407694700e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -7.09078783383423e-02 2.59899654394449e-02 -1.50000000451309e-01 + 1.80000000000000e+02 4.85722573273506e-18 2.46414625588597e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_42.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_42.dat new file mode 100644 index 0000000..3e3a23a --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_42.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF42_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF42_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-3.025329 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.045366 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-14.015514 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.765090 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.137710 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.006831 Cd0 ! 2D drag coefficient value at 0-lift. +-0.079741 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 4.85722573273506e-18 2.46414625588597e-02 0.00000000000000e+00 +-1.77000000000000e+02 7.09078783383423e-02 2.59899654394449e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.41815755613326e-01 2.95870407694700e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.12724023589752e-01 3.53981062097947e-02 3.60000658682385e-01 +-1.68000000000000e+02 2.83635114323999e-01 6.23536246130750e-02 3.88683131002858e-01 +-1.65000000000000e+02 3.54539390231399e-01 9.81315663888160e-02 3.71709983123391e-01 +-1.62000000000000e+02 4.25451140020828e-01 1.40638541882525e-01 3.54735046137367e-01 +-1.59000000000000e+02 4.96351238664441e-01 1.90141020854771e-01 3.50871003624422e-01 +-1.56000000000000e+02 5.67264876246885e-01 2.45848849126870e-01 3.73229628946347e-01 +-1.53000000000000e+02 6.38171661458157e-01 3.06742822712792e-01 3.95586093758603e-01 +-1.50000000000000e+02 7.09078781261519e-01 3.72562354853516e-01 4.16279946005650e-01 +-1.47000000000000e+02 7.50443575482131e-01 4.43016767221693e-01 4.20346856774768e-01 +-1.44000000000000e+02 7.32722201977660e-01 5.15934068684593e-01 4.22751049476045e-01 +-1.41000000000000e+02 7.14412470826591e-01 5.92145558711669e-01 4.25249806728838e-01 +-1.38000000000000e+02 6.94574008880946e-01 6.69588003211173e-01 4.28519264801468e-01 +-1.35000000000000e+02 6.72876491919531e-01 7.47874730212582e-01 4.32363202318299e-01 +-1.32000000000000e+02 6.48057050875902e-01 8.26351001911627e-01 4.36207139878165e-01 +-1.29000000000000e+02 6.19551051959611e-01 9.03691990090244e-01 4.41015754695827e-01 +-1.26000000000000e+02 5.88097883889968e-01 9.79476039224861e-01 4.46320147916898e-01 +-1.23000000000000e+02 5.53641368004556e-01 1.05332349010379e+00 4.51963651365242e-01 +-1.20000000000000e+02 5.14577730079261e-01 1.12283400240132e+00 4.57221478466790e-01 +-1.17000000000000e+02 4.72470346873147e-01 1.18834261738102e+00 4.61630817409231e-01 +-1.14000000000000e+02 4.27675415731853e-01 1.24975699822349e+00 4.65615912292485e-01 +-1.11000000000000e+02 3.79966296232926e-01 1.30593816517334e+00 4.69601007215107e-01 +-1.08000000000000e+02 3.29167434663816e-01 1.35443145187167e+00 4.70624689513598e-01 +-1.05000000000000e+02 2.76680648972375e-01 1.39714437494550e+00 4.70979456271530e-01 +-1.02000000000000e+02 2.22716812230383e-01 1.43386877398686e+00 4.70718887134564e-01 +-9.90000000000000e+01 1.67323513736515e-01 1.46177719221746e+00 4.68714600495400e-01 +-9.60000000000000e+01 1.11442067459277e-01 1.48140709264988e+00 4.64514521421943e-01 +-9.30000000000000e+01 5.55807418230594e-02 1.49417607499090e+00 4.59628257189905e-01 +-9.00000000000000e+01 -2.17720385095452e-10 1.49999999997719e+00 4.54741992894100e-01 +-8.70000000000000e+01 -5.55807414898173e-02 1.49417607502582e+00 4.44256194940782e-01 +-8.40000000000000e+01 -1.11442067307830e-01 1.48140709269595e+00 4.33770396897690e-01 +-8.10000000000000e+01 -1.67323514170487e-01 1.46177719199882e+00 4.22751815715067e-01 +-7.80000000000000e+01 -2.22716812664355e-01 1.43386877376821e+00 4.10028328729202e-01 +-7.50000000000000e+01 -2.76680648756403e-01 1.39714437509904e+00 3.95950945859518e-01 +-7.20000000000000e+01 -3.29167434424632e-01 1.35443145209476e+00 3.81456984926632e-01 +-6.90000000000000e+01 -3.79966296543858e-01 1.30593816480719e+00 3.66569710870844e-01 +-6.60000000000000e+01 -4.27675415382966e-01 1.24975699863433e+00 3.49941167676215e-01 +-6.30000000000000e+01 -4.72470346812693e-01 1.18834261746902e+00 3.33312624317319e-01 +-6.00000000000000e+01 -5.14577730205217e-01 1.12283400217720e+00 3.16533804218062e-01 +-5.70000000000000e+01 -5.53641367590261e-01 1.05332349084099e+00 2.99454430776818e-01 +-5.40000000000000e+01 -5.88097883955245e-01 9.79476039083604e-01 2.82238441882844e-01 +-5.10000000000000e+01 -6.19551052189733e-01 9.03691989486419e-01 2.65101376417570e-01 +-4.80000000000000e+01 -6.48057051004965e-01 8.26351001503544e-01 2.48082937508914e-01 +-4.50000000000000e+01 -6.72876491705341e-01 7.47874730889827e-01 2.31295319956564e-01 +-4.20000000000000e+01 -6.57074008879510e-01 6.69588003216531e-01 2.14507702216265e-01 +-3.90000000000000e+01 -6.39412470861568e-01 5.92145558566002e-01 1.89164063976627e-01 +-3.60000000000000e+01 -6.20222201789713e-01 5.15934069457928e-01 1.52341978697799e-01 +-3.30000000000000e+01 -6.00443575539271e-01 4.43016766986580e-01 1.14111494476316e-01 +-3.00000000000000e+01 -6.18855350575448e-01 3.52809999241618e-01 8.33188997922929e-02 +-2.93939393939394e+01 -6.31176632677378e-01 3.32839999218799e-01 7.78494755436190e-02 +-2.87878787878788e+01 -6.46203817288098e-01 3.12869999195980e-01 7.23800512949450e-02 +-2.81818181818182e+01 -6.61774237819176e-01 2.92899999173161e-01 6.69106270462710e-02 +-2.75757575757576e+01 -7.03980836445265e-01 2.71284999274155e-01 6.00945088504803e-02 +-2.69696969696970e+01 -7.58087779251315e-01 2.48964999568361e-01 5.27012362206603e-02 +-2.63636363636364e+01 -8.12943159124724e-01 2.26644999862567e-01 4.53079635908404e-02 +-2.57575757575758e+01 -8.68546976065494e-01 2.04325000156773e-01 3.79146909610205e-02 +-2.51515151515151e+01 -9.24899230073624e-01 1.82005000450979e-01 3.05214183312005e-02 +-2.45454545454545e+01 -9.85475235995960e-01 1.59685000745185e-01 2.31281457013806e-02 +-2.39393939393939e+01 -1.04275021663528e+00 1.38746226141576e-01 1.61713243791283e-02 +-2.33333333333333e+01 -1.05904801288386e+00 1.30238483707612e-01 1.31425667999098e-02 +-2.27272727272727e+01 -1.07534580913245e+00 1.21730741273648e-01 1.01138092206914e-02 +-2.21212121212121e+01 -1.09164360538103e+00 1.13222998839684e-01 7.08505164147293e-03 +-2.15151515151515e+01 -1.10794140162962e+00 1.04715256405720e-01 4.05629406225448e-03 +-2.09090909090909e+01 -1.12423919787821e+00 9.62075139717558e-02 1.02753648303605e-03 +-2.03030303030303e+01 -1.14053699412679e+00 8.76997715377919e-02 -2.00122109618240e-03 +-1.96969696969697e+01 -1.15065578693298e+00 8.06649456610962e-02 -4.00059996397744e-03 +-1.90909090909091e+01 -1.15459557536478e+00 7.51030365638317e-02 -4.97059996508582e-03 +-1.84848484848485e+01 -1.15853536379659e+00 6.95411274665672e-02 -5.94059996619421e-03 +-1.78787878787879e+01 -1.16180931140297e+00 6.41091941049719e-02 -6.84363937252776e-03 +-1.72727272727273e+01 -1.16241989514275e+00 5.91971637963288e-02 -7.47883634295054e-03 +-1.66666666666667e+01 -1.16303047888253e+00 5.42851334876857e-02 -8.11403331337333e-03 +-1.60606060606061e+01 -1.16364106262231e+00 4.93731031790426e-02 -8.74923028379612e-03 +-1.54545454545455e+01 -1.16399995849580e+00 4.48701910389722e-02 -9.41178179878783e-03 +-1.48484848484848e+01 -1.16433088904145e+00 4.04127364884243e-02 -1.00773727086393e-02 +-1.42424242424242e+01 -1.16466181958710e+00 3.59552819378763e-02 -1.07429636184907e-02 +-1.36363636363636e+01 -1.15281784910964e+00 3.18363728273672e-02 -1.31325999090123e-02 +-1.30303030303030e+01 -1.13285727705741e+00 2.79431607017064e-02 -1.66715999130562e-02 +-1.24242424242424e+01 -1.11289670500519e+00 2.40499485760457e-02 -2.02105999171001e-02 +-1.18181818181818e+01 -1.07930753519328e+00 2.06459636867756e-02 -2.46224089472267e-02 +-1.12121212121212e+01 -1.01391830051608e+00 1.83835091387359e-02 -3.10707725909586e-02 +-1.06060606060606e+01 -9.48529065838870e-01 1.61210545906961e-02 -3.75191362346906e-02 +-1.00000000000000e+01 -8.83139831161662e-01 1.38586000426563e-02 -4.39674998784226e-02 +-9.39393939393939e+00 -8.06621065408862e-01 1.29178424409045e-02 -4.80862878058387e-02 +-8.78787878787879e+00 -7.30102299446226e-01 1.19770848640719e-02 -5.22050756893329e-02 +-8.18181818181818e+00 -6.53583533483590e-01 1.10363272872394e-02 -5.63238635728272e-02 +-7.57575757575758e+00 -5.76870408555222e-01 1.03429454629350e-02 -5.96627241995084e-02 +-6.96969696969697e+00 -5.00073986921271e-01 9.75558182590017e-03 -6.26673302635478e-02 +-6.36363636363636e+00 -4.23277565287320e-01 9.16821818886537e-03 -6.56719363275871e-02 +-5.75757575757576e+00 -3.46238777558644e-01 8.59835030893152e-03 -6.86055120905238e-02 +-5.15151515151515e+00 -2.68836440670745e-01 8.05472606588610e-03 -7.14325423967844e-02 +-4.54545454545454e+00 -1.91434103782846e-01 7.51110182284068e-03 -7.42595727030451e-02 +-3.93939393939394e+00 -1.14200091471482e-01 7.00998030391116e-03 -7.69865090773461e-02 +-3.33333333333333e+00 -3.84810004758693e-02 6.89138333407868e-03 -7.88125999885236e-02 +-2.72727272727273e+00 3.72380905197434e-02 6.77278636424619e-03 -8.06386908997012e-02 +-2.12121212121212e+00 1.12957181515356e-01 6.65418939441370e-03 -8.24647818108787e-02 +-1.51515151515152e+00 1.88081012604313e-01 6.63685060622061e-03 -8.40490060911751e-02 +-9.09090909090912e-01 2.63017575679820e-01 6.64880545596898e-03 -8.55649182425272e-02 +-3.03030303030302e-01 3.37736238310985e-01 6.68330848532299e-03 -8.70363727475091e-02 + 3.03030303030302e-01 4.12286110269099e-01 6.73317515061806e-03 -8.84792514957012e-02 + 9.09090909090912e-01 4.86667191554164e-01 6.79840545185419e-03 -8.98935544871035e-02 + 1.51515151515152e+00 5.60661156913421e-01 6.89597181611000e-03 -9.12574757303916e-02 + 2.12121212121212e+00 6.34485199414302e-01 7.00580454521911e-03 -9.25993787856478e-02 + 2.72727272727273e+00 7.07902808889097e-01 7.14187726874912e-03 -9.38887726895767e-02 + 3.33333333333333e+00 7.80914291251550e-01 7.30700999523420e-03 -9.51338333028380e-02 + 3.93939393939394e+00 8.53593487738947e-01 7.49591909177100e-03 -9.63426212176364e-02 + 4.54545454545455e+00 9.25310273620556e-01 7.75680635900802e-03 -9.74543727083216e-02 + 5.15151515151515e+00 9.96373304328529e-01 8.07410937988024e-03 -9.85062817906832e-02 + 5.75757575757576e+00 1.06579587269289e+00 8.53666696941767e-03 -9.94110090903628e-02 + 6.36363636363637e+00 1.13399595446299e+00 9.07144999697415e-03 -1.00199845450852e-01 + 6.96969696969697e+00 1.20138104520866e+00 9.65438331427377e-03 -1.00911421188856e-01 + 7.57575757575757e+00 1.26581846221566e+00 1.04239369651998e-02 -1.01342315149114e-01 + 8.18181818181818e+00 1.32960734900895e+00 1.12068272781317e-02 -1.01712963638171e-01 + 8.78787878787879e+00 1.39224499399980e+00 1.19979181654635e-02 -1.01977509085440e-01 + 9.39393939393939e+00 1.45325099841133e+00 1.28306878694348e-02 -1.02093578787484e-01 + 1.00000000000000e+01 1.51337842694337e+00 1.36859000183078e-02 -1.02129699995493e-01 + 1.06060606060606e+01 1.57001018684187e+00 1.46569302946297e-02 -1.01890669699038e-01 + 1.12121212121212e+01 1.62506190755348e+00 1.56874817998069e-02 -1.01551327281192e-01 + 1.18181818181818e+01 1.67717926943296e+00 1.68285727428916e-02 -1.01025690901896e-01 + 1.24242424242424e+01 1.72368026058654e+00 1.82589121264519e-02 -1.00229727269653e-01 + 1.30303030303030e+01 1.76706345122321e+00 1.98550060097699e-02 -9.92979000279053e-02 + 1.36363636363636e+01 1.79694172512288e+00 2.22451272930941e-02 -9.79858999888201e-02 + 1.42424242424242e+01 1.81460581153644e+00 2.54394667344084e-02 -9.64468939104616e-02 + 1.48484848484848e+01 1.81394861873583e+00 2.98401332800337e-02 -9.45673788106429e-02 + 1.54545454545455e+01 1.78639977523856e+00 3.64364818427673e-02 -9.28892272673224e-02 + 1.60606060606061e+01 1.74782493734287e+00 4.40704518296318e-02 -9.14690181908170e-02 + 1.66666666666667e+01 1.69069111634195e+00 5.44559669930141e-02 -9.17662000093384e-02 + 1.72727272727273e+01 1.63355729534102e+00 6.48414821563965e-02 -9.20633818278598e-02 + 1.78787878787879e+01 1.57642347434010e+00 7.52269973197788e-02 -9.23605636463812e-02 + 1.84848484848485e+01 1.53270501713524e+00 8.57193488514518e-02 -9.39441697633689e-02 + 1.90909090909091e+01 1.49234040016803e+00 9.62384094695321e-02 -9.58493818867580e-02 + 1.96969696969697e+01 1.45197578320082e+00 1.06757470087612e-01 -9.77545940101472e-02 + 2.03030303030303e+01 1.41738483990617e+00 1.17476318599776e-01 -1.00146200110168e-01 + 2.09090909090909e+01 1.38856756941324e+00 1.28394954975889e-01 -1.03024200113457e-01 + 2.15151515151515e+01 1.35975029892030e+00 1.39313591352002e-01 -1.05902200116745e-01 + 2.21212121212121e+01 1.33093302842737e+00 1.50232227728114e-01 -1.08780200120034e-01 + 2.27272727272727e+01 1.30211575793443e+00 1.61150864104227e-01 -1.11658200123322e-01 + 2.33333333333333e+01 1.27329848744150e+00 1.72069500480340e-01 -1.14536200126611e-01 + 2.39393939393939e+01 1.24448121694856e+00 1.82988136856453e-01 -1.17414200129899e-01 + 2.45454545454545e+01 1.21350662201285e+00 1.96599818646254e-01 -1.21514181959599e-01 + 2.51515151515151e+01 1.18388256513324e+00 2.10510727553799e-01 -1.25749939479524e-01 + 2.57575757575758e+01 1.15939289162660e+00 2.24421636461345e-01 -1.29985696999448e-01 + 2.63636363636364e+01 1.13548507638980e+00 2.38332545368891e-01 -1.34221454519373e-01 + 2.69696969696970e+01 1.11215911942284e+00 2.52243454276436e-01 -1.38457212039298e-01 + 2.75757575757576e+01 1.08941502072572e+00 2.66154363183982e-01 -1.42692969559223e-01 + 2.81818181818182e+01 1.07084186495451e+00 2.82383771831320e-01 -1.47339908858783e-01 + 2.87878787878788e+01 1.04658141037268e+00 3.04023014280290e-01 -1.52946272501553e-01 + 2.93939393939394e+01 1.02232095579085e+00 3.25662256729258e-01 -1.58552636144323e-01 + 3.00000000000000e+01 9.98060501209013e-01 3.47301499178227e-01 -1.64158999787093e-01 + 3.30000000000000e+01 9.22062250770388e-01 4.43016766986580e-01 -1.89050377014450e-01 + 3.60000000000000e+01 9.34246002556734e-01 5.15934069457928e-01 -2.08221508455227e-01 + 3.90000000000000e+01 9.45589244087954e-01 5.92145558566002e-01 -2.27204042284425e-01 + 4.20000000000000e+01 9.54748584113586e-01 6.69588003216532e-01 -2.44649507771081e-01 + 4.50000000000000e+01 9.61252131007629e-01 7.47874730889827e-01 -2.60949244350105e-01 + 4.80000000000000e+01 9.25795787149951e-01 8.26351001503544e-01 -2.77248980746643e-01 + 5.10000000000000e+01 8.85072931699619e-01 9.03691989486419e-01 -2.92826828648911e-01 + 5.40000000000000e+01 8.40139834221778e-01 9.79476039083604e-01 -3.08033675125759e-01 + 5.70000000000000e+01 7.90916239414658e-01 1.05332349084099e+00 -3.22957806949482e-01 + 6.00000000000000e+01 7.35111043150310e-01 1.12283400217720e+00 -3.37591520807121e-01 + 6.30000000000000e+01 6.74957638303847e-01 1.18834261746902e+00 -3.51586315701813e-01 + 6.60000000000000e+01 6.10964879118523e-01 1.24975699863433e+00 -3.65261651053213e-01 + 6.90000000000000e+01 5.42808995062654e-01 1.30593816480719e+00 -3.78936986269520e-01 + 7.20000000000000e+01 4.70239192035188e-01 1.35443145209476e+00 -3.91247379618790e-01 + 7.50000000000000e+01 3.95258069652003e-01 1.39714437509904e+00 -4.03249463617085e-01 + 7.80000000000000e+01 3.18166875234793e-01 1.43386877376821e+00 -4.14964097416413e-01 + 8.10000000000000e+01 2.39033591672124e-01 1.46177719199882e+00 -4.25852018664857e-01 + 8.40000000000000e+01 1.59202953296899e-01 1.48140709269595e+00 -4.35698894587758e-01 + 8.70000000000000e+01 7.94010592711672e-02 1.49417607502582e+00 -4.45220443783577e-01 + 9.00000000000000e+01 3.11028980348738e-10 1.49999999997719e+00 -4.54741992897877e-01 + 9.30000000000000e+01 -5.55807418230592e-02 1.49417607499090e+00 -4.59628257189905e-01 + 9.60000000000000e+01 -1.11442067459277e-01 1.48140709264988e+00 -4.64514521421943e-01 + 9.90000000000000e+01 -1.67323513736515e-01 1.46177719221746e+00 -4.68714600495400e-01 + 1.02000000000000e+02 -2.22716812230383e-01 1.43386877398686e+00 -4.70718887134564e-01 + 1.05000000000000e+02 -2.76680648972375e-01 1.39714437494550e+00 -4.70979456271530e-01 + 1.08000000000000e+02 -3.29167434663816e-01 1.35443145187167e+00 -4.70624689513598e-01 + 1.11000000000000e+02 -3.79966296232927e-01 1.30593816517334e+00 -4.69601007215107e-01 + 1.14000000000000e+02 -4.27675415731853e-01 1.24975699822349e+00 -4.65615912292485e-01 + 1.17000000000000e+02 -4.72470346873147e-01 1.18834261738102e+00 -4.61630817409231e-01 + 1.20000000000000e+02 -5.14577730079261e-01 1.12283400240132e+00 -4.57221478466790e-01 + 1.23000000000000e+02 -5.53641368004556e-01 1.05332349010379e+00 -4.51963651365242e-01 + 1.26000000000000e+02 -5.88097883889968e-01 9.79476039224861e-01 -4.46320147916898e-01 + 1.29000000000000e+02 -6.19551051959611e-01 9.03691990090244e-01 -4.41015754695827e-01 + 1.32000000000000e+02 -6.48057050875903e-01 8.26351001911627e-01 -4.36207139878165e-01 + 1.35000000000000e+02 -6.72876491919531e-01 7.47874730212582e-01 -4.32363202318299e-01 + 1.38000000000000e+02 -6.94574008880946e-01 6.69588003211172e-01 -4.28519264801468e-01 + 1.41000000000000e+02 -7.14412470826591e-01 5.92145558711669e-01 -4.25249806728838e-01 + 1.44000000000000e+02 -7.32722201977660e-01 5.15934068684593e-01 -4.22751049476045e-01 + 1.47000000000000e+02 -7.50443575482131e-01 4.43016767221693e-01 -4.20346856774768e-01 + 1.50000000000000e+02 -7.09078781261518e-01 3.72562354853516e-01 -4.16279946005650e-01 + 1.53000000000000e+02 -6.38170903055494e-01 3.06742155077266e-01 -3.95585854638999e-01 + 1.56000000000000e+02 -5.67263024849471e-01 2.45847323942745e-01 -3.73229045212350e-01 + 1.59000000000000e+02 -4.96355146643446e-01 1.90143998922178e-01 -3.50872235785700e-01 + 1.62000000000000e+02 -4.25447268437423e-01 1.40636124349672e-01 -3.74735973053744e-01 + 1.65000000000000e+02 -3.54539390231399e-01 9.81315663888162e-02 -4.21709983289917e-01 + 1.68000000000000e+02 -2.83631512025374e-01 6.23519280822543e-02 -4.68683993526091e-01 + 1.71000000000000e+02 -2.12723633819350e-01 3.53980714785814e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.41815755613326e-01 2.95870407694700e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -7.09078783383423e-02 2.59899654394449e-02 -1.50000000451309e-01 + 1.80000000000000e+02 4.85722573273506e-18 2.46414625588597e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_43.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_43.dat new file mode 100644 index 0000000..5c4c32f --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_43.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF43_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF43_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-3.025329 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.036958 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-14.010363 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.764291 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.137158 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.006831 Cd0 ! 2D drag coefficient value at 0-lift. +-0.079741 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 4.85722573273506e-18 2.46414625588597e-02 0.00000000000000e+00 +-1.77000000000000e+02 7.09078783383423e-02 2.59899654394449e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.41815755613326e-01 2.95870407694700e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.12724023589752e-01 3.53981062097947e-02 3.60000658682385e-01 +-1.68000000000000e+02 2.83635114323999e-01 6.23536246130750e-02 3.88683131002858e-01 +-1.65000000000000e+02 3.54539390231399e-01 9.81315663888160e-02 3.71709983123391e-01 +-1.62000000000000e+02 4.25451140020828e-01 1.40638541882525e-01 3.54735046137367e-01 +-1.59000000000000e+02 4.96351238664441e-01 1.90141020854771e-01 3.50871003624422e-01 +-1.56000000000000e+02 5.67264876246885e-01 2.45848849126870e-01 3.73229628946347e-01 +-1.53000000000000e+02 6.38171661458157e-01 3.06742822712792e-01 3.95586093758603e-01 +-1.50000000000000e+02 7.09078781261519e-01 3.72562354853516e-01 4.16279946005650e-01 +-1.47000000000000e+02 7.50443575482131e-01 4.43016767221693e-01 4.20346856774768e-01 +-1.44000000000000e+02 7.32722201977660e-01 5.15934068684593e-01 4.22751049476045e-01 +-1.41000000000000e+02 7.14412470826591e-01 5.92145558711669e-01 4.25249806728838e-01 +-1.38000000000000e+02 6.94574008880946e-01 6.69588003211173e-01 4.28519264801468e-01 +-1.35000000000000e+02 6.72876491919531e-01 7.47874730212582e-01 4.32363202318299e-01 +-1.32000000000000e+02 6.48057050875902e-01 8.26351001911627e-01 4.36207139878165e-01 +-1.29000000000000e+02 6.19551051959611e-01 9.03691990090244e-01 4.41015754695827e-01 +-1.26000000000000e+02 5.88097883889968e-01 9.79476039224861e-01 4.46320147916898e-01 +-1.23000000000000e+02 5.53641368004556e-01 1.05332349010379e+00 4.51963651365242e-01 +-1.20000000000000e+02 5.14577730079261e-01 1.12283400240132e+00 4.57221478466790e-01 +-1.17000000000000e+02 4.72470346873147e-01 1.18834261738102e+00 4.61630817409231e-01 +-1.14000000000000e+02 4.27675415731853e-01 1.24975699822349e+00 4.65615912292485e-01 +-1.11000000000000e+02 3.79966296232926e-01 1.30593816517334e+00 4.69601007215107e-01 +-1.08000000000000e+02 3.29167434663816e-01 1.35443145187167e+00 4.70624689513598e-01 +-1.05000000000000e+02 2.76680648972375e-01 1.39714437494550e+00 4.70979456271530e-01 +-1.02000000000000e+02 2.22716812230383e-01 1.43386877398686e+00 4.70718887134564e-01 +-9.90000000000000e+01 1.67323513736515e-01 1.46177719221746e+00 4.68714600495400e-01 +-9.60000000000000e+01 1.11442067459277e-01 1.48140709264988e+00 4.64514521421943e-01 +-9.30000000000000e+01 5.55807418230594e-02 1.49417607499090e+00 4.59628257189905e-01 +-9.00000000000000e+01 -2.17720385095452e-10 1.49999999997719e+00 4.54741992894100e-01 +-8.70000000000000e+01 -5.55807414898173e-02 1.49417607502582e+00 4.44256194940782e-01 +-8.40000000000000e+01 -1.11442067307830e-01 1.48140709269595e+00 4.33770396897690e-01 +-8.10000000000000e+01 -1.67323514170487e-01 1.46177719199882e+00 4.22751815715067e-01 +-7.80000000000000e+01 -2.22716812664355e-01 1.43386877376821e+00 4.10028328729202e-01 +-7.50000000000000e+01 -2.76680648756403e-01 1.39714437509904e+00 3.95950945859518e-01 +-7.20000000000000e+01 -3.29167434424632e-01 1.35443145209476e+00 3.81456984926632e-01 +-6.90000000000000e+01 -3.79966296543858e-01 1.30593816480719e+00 3.66569710870844e-01 +-6.60000000000000e+01 -4.27675415382966e-01 1.24975699863433e+00 3.49941167676215e-01 +-6.30000000000000e+01 -4.72470346812693e-01 1.18834261746902e+00 3.33312624317319e-01 +-6.00000000000000e+01 -5.14577730205217e-01 1.12283400217720e+00 3.16533804218062e-01 +-5.70000000000000e+01 -5.53641367590261e-01 1.05332349084099e+00 2.99454430776818e-01 +-5.40000000000000e+01 -5.88097883955245e-01 9.79476039083604e-01 2.82238441882844e-01 +-5.10000000000000e+01 -6.19551052189733e-01 9.03691989486419e-01 2.65101376417570e-01 +-4.80000000000000e+01 -6.48057051004965e-01 8.26351001503544e-01 2.48082937508914e-01 +-4.50000000000000e+01 -6.72876491705341e-01 7.47874730889827e-01 2.31295319956564e-01 +-4.20000000000000e+01 -6.57074008879510e-01 6.69588003216531e-01 2.14507702216265e-01 +-3.90000000000000e+01 -6.39412470861568e-01 5.92145558566002e-01 1.89164063976627e-01 +-3.60000000000000e+01 -6.20222201789713e-01 5.15934069457928e-01 1.52341978697799e-01 +-3.30000000000000e+01 -6.00443575539271e-01 4.43016766986580e-01 1.14111494476316e-01 +-3.00000000000000e+01 -6.18855350575448e-01 3.52809999241618e-01 8.33188997922929e-02 +-2.93939393939394e+01 -6.26432517259429e-01 3.32839999218799e-01 7.78494755436190e-02 +-2.87878787878788e+01 -6.41103857077755e-01 3.12869999195980e-01 7.23800512949450e-02 +-2.81818181818182e+01 -6.56685457088207e-01 2.92899999173161e-01 6.69106270462710e-02 +-2.75757575757576e+01 -6.98973072688466e-01 2.71284999274155e-01 6.00945088504803e-02 +-2.69696969696970e+01 -7.53203945630898e-01 2.48964999568361e-01 5.27012362206603e-02 +-2.63636363636364e+01 -8.08203296865806e-01 2.26644999862567e-01 4.53079635908404e-02 +-2.57575757575758e+01 -8.63971126393187e-01 2.04325000156773e-01 3.79146909610205e-02 +-2.51515151515151e+01 -9.20507434213043e-01 1.82005000450979e-01 3.05214183312005e-02 +-2.45454545454545e+01 -9.81380595190525e-01 1.59685000745185e-01 2.31281457013806e-02 +-2.39393939393939e+01 -1.03897531002541e+00 1.38746226141576e-01 1.61713243791283e-02 +-2.33333333333333e+01 -1.05549432625064e+00 1.30238483707612e-01 1.31425667999098e-02 +-2.27272727272727e+01 -1.07201334247588e+00 1.21730741273648e-01 1.01138092206914e-02 +-2.21212121212121e+01 -1.08853235870111e+00 1.13222998839684e-01 7.08505164147293e-03 +-2.15151515151515e+01 -1.10505137492635e+00 1.04715256405720e-01 4.05629406225448e-03 +-2.09090909090909e+01 -1.12157039115158e+00 9.62075139717558e-02 1.02753648303605e-03 +-2.03030303030303e+01 -1.13808940737682e+00 8.76997715377919e-02 -2.00122109618240e-03 +-1.96969696969697e+01 -1.14841456507123e+00 8.06649456610962e-02 -4.00059996397744e-03 +-1.90909090909091e+01 -1.15254586330057e+00 7.51030365638317e-02 -4.97059996508582e-03 +-1.84848484848485e+01 -1.15667716152992e+00 6.95411274665672e-02 -5.94059996619421e-03 +-1.78787878787879e+01 -1.16014101817015e+00 6.41091941049719e-02 -6.84363937252776e-03 +-1.72727272727273e+01 -1.16093510788768e+00 5.91971637963288e-02 -7.47883634295054e-03 +-1.66666666666667e+01 -1.16172919760520e+00 5.42851334876857e-02 -8.11403331337333e-03 +-1.60606060606061e+01 -1.16252328732272e+00 4.93731031790426e-02 -8.74923028379612e-03 +-1.54545454545455e+01 -1.16306508408521e+00 4.48701910389722e-02 -9.41178179878783e-03 +-1.48484848484848e+01 -1.16357884828773e+00 4.04127364884243e-02 -1.00773727086393e-02 +-1.42424242424242e+01 -1.16409261249026e+00 3.59552819378763e-02 -1.07429636184907e-02 +-1.36363636363636e+01 -1.15240220570195e+00 3.18363728273672e-02 -1.31325999090123e-02 +-1.30303030303030e+01 -1.13257568402491e+00 2.79431607017064e-02 -1.66715999130562e-02 +-1.24242424242424e+01 -1.11274916234788e+00 2.40499485760457e-02 -2.02105999171001e-02 +-1.18181818181818e+01 -1.07926127807670e+00 2.06459636867756e-02 -2.46224089472267e-02 +-1.12121212121212e+01 -1.01389687765157e+00 1.83835091387359e-02 -3.10707725909586e-02 +-1.06060606060606e+01 -9.48532477226445e-01 1.61210545906961e-02 -3.75191362346906e-02 +-1.00000000000000e+01 -8.83168076801319e-01 1.38586000426563e-02 -4.39674998784226e-02 +-9.39393939393939e+00 -8.06647388531507e-01 1.29178424409045e-02 -4.80862878058387e-02 +-8.78787878787879e+00 -7.30126700051354e-01 1.19770848640719e-02 -5.22050756893329e-02 +-8.18181818181818e+00 -6.53606011571202e-01 1.10363272872394e-02 -5.63238635728272e-02 +-7.57575757575758e+00 -5.76890496862327e-01 1.03429454629350e-02 -5.96627241995084e-02 +-6.96969696969697e+00 -5.00091485192288e-01 9.75558182590017e-03 -6.26673302635478e-02 +-6.36363636363636e+00 -4.23292473522249e-01 9.16821818886537e-03 -6.56719363275871e-02 +-5.75757575757576e+00 -3.46250513079421e-01 8.59835030893152e-03 -6.86055120905238e-02 +-5.15151515151515e+00 -2.68844129460230e-01 8.05472606588610e-03 -7.14325423967844e-02 +-4.54545454545454e+00 -1.91437745841039e-01 7.51110182284068e-03 -7.42595727030451e-02 +-3.93939393939394e+00 -1.14200091471482e-01 7.00998030391116e-03 -7.69865090773461e-02 +-3.33333333333333e+00 -3.84810004758693e-02 6.89138333407868e-03 -7.88125999885236e-02 +-2.72727272727273e+00 3.72380905197434e-02 6.77278636424619e-03 -8.06386908997012e-02 +-2.12121212121212e+00 1.12957181515356e-01 6.65418939441370e-03 -8.24647818108787e-02 +-1.51515151515152e+00 1.88079581525881e-01 6.63685060622061e-03 -8.40490060911751e-02 +-9.09090909090912e-01 2.63014263307494e-01 6.64880545596898e-03 -8.55649182425272e-02 +-3.03030303030302e-01 3.37730520785148e-01 6.68330848532299e-03 -8.70363727475091e-02 + 3.03030303030302e-01 4.12277581796098e-01 6.73317515061806e-03 -8.84792514957012e-02 + 9.09090909090912e-01 4.86655446340348e-01 6.79840545185419e-03 -8.98935544871035e-02 + 1.51515151515152e+00 5.60645264284229e-01 6.89597181611000e-03 -9.12574757303916e-02 + 2.12121212121212e+00 6.34464750854168e-01 7.00580454521911e-03 -9.25993787856478e-02 + 2.72727272727273e+00 7.07876827282763e-01 7.14187726874912e-03 -9.38887726895767e-02 + 3.33333333333333e+00 7.80881800219213e-01 7.30700999523420e-03 -9.51338333028380e-02 + 3.93939393939394e+00 8.53553688424268e-01 7.49591909177100e-03 -9.63426212176364e-02 + 4.54545454545455e+00 9.25260852269419e-01 7.75680635900802e-03 -9.74543727083216e-02 + 5.15151515151515e+00 9.96312689232647e-01 8.07410937988024e-03 -9.85062817906832e-02 + 5.75757575757576e+00 1.06572011997792e+00 8.53666696941767e-03 -9.94110090903628e-02 + 6.36363636363637e+00 1.13390212511996e+00 9.07144999697415e-03 -1.00199845450852e-01 + 6.96969696969697e+00 1.20126717989837e+00 9.65438331427377e-03 -1.00911421188856e-01 + 7.57575757575757e+00 1.26567747436589e+00 1.04239369651998e-02 -1.01342315149114e-01 + 8.18181818181818e+00 1.32943767947287e+00 1.12068272781317e-02 -1.01712963638171e-01 + 8.78787878787879e+00 1.39204387504974e+00 1.19979181654635e-02 -1.01977509085440e-01 + 9.39393939393939e+00 1.45301450738156e+00 1.28306878694348e-02 -1.02093578787484e-01 + 1.00000000000000e+01 1.51310445162883e+00 1.36859000183078e-02 -1.02129699995493e-01 + 1.06060606060606e+01 1.56969032322284e+00 1.46569302946297e-02 -1.01890669699038e-01 + 1.12121212121212e+01 1.62469235702036e+00 1.56874817998069e-02 -1.01551327281192e-01 + 1.18181818181818e+01 1.67675297742422e+00 1.68285727428916e-02 -1.01025690901896e-01 + 1.24242424242424e+01 1.72318372465238e+00 1.82589121264519e-02 -1.00229727269653e-01 + 1.30303030303030e+01 1.76648917578561e+00 1.98550060097699e-02 -9.92979000279053e-02 + 1.36363636363636e+01 1.79625724269186e+00 2.22451272930941e-02 -9.79858999888201e-02 + 1.42424242424242e+01 1.81378175769474e+00 2.54394667344084e-02 -9.64468939104616e-02 + 1.48484848484848e+01 1.81294094686245e+00 2.98401332800337e-02 -9.45673788106429e-02 + 1.54545454545455e+01 1.78514383447953e+00 3.64364818427673e-02 -9.28892272673224e-02 + 1.60606060606061e+01 1.74629421984408e+00 4.40704518296318e-02 -9.14690181908170e-02 + 1.66666666666667e+01 1.68884100401281e+00 5.44559669930141e-02 -9.17662000093384e-02 + 1.72727272727273e+01 1.63138778818155e+00 6.48414821563965e-02 -9.20633818278598e-02 + 1.78787878787879e+01 1.57393457235028e+00 7.52269973197788e-02 -9.23605636463812e-02 + 1.84848484848485e+01 1.52992897250873e+00 8.57193488514518e-02 -9.39441697633689e-02 + 1.90909090909091e+01 1.48928527595152e+00 9.62384094695321e-02 -9.58493818867580e-02 + 1.96969696969697e+01 1.44864157939431e+00 1.06757470087612e-01 -9.77545940101472e-02 + 2.03030303030303e+01 1.41378543713521e+00 1.17476318599776e-01 -1.00146200110168e-01 + 2.09090909090909e+01 1.38471684830126e+00 1.28394954975889e-01 -1.03024200113457e-01 + 2.15151515151515e+01 1.35564825946731e+00 1.39313591352002e-01 -1.05902200116745e-01 + 2.21212121212121e+01 1.32657967063336e+00 1.50232227728114e-01 -1.08780200120034e-01 + 2.27272727272727e+01 1.29751108179942e+00 1.61150864104227e-01 -1.11658200123322e-01 + 2.33333333333333e+01 1.26844249296547e+00 1.72069500480340e-01 -1.14536200126611e-01 + 2.39393939393939e+01 1.23937390413152e+00 1.82988136856453e-01 -1.17414200129899e-01 + 2.45454545454545e+01 1.20814280438004e+00 1.96599818646254e-01 -1.21514181959599e-01 + 2.51515151515151e+01 1.17830424897605e+00 2.10510727553799e-01 -1.25749939479524e-01 + 2.57575757575758e+01 1.15373756256340e+00 2.24421636461345e-01 -1.29985696999448e-01 + 2.63636363636364e+01 1.12976831509273e+00 2.38332545368891e-01 -1.34221454519373e-01 + 2.69696969696970e+01 1.10639650656405e+00 2.52243454276436e-01 -1.38457212039298e-01 + 2.75757575757576e+01 1.08794651585439e+00 2.66154363183982e-01 -1.42692969559223e-01 + 2.81818181818182e+01 1.07084186495451e+00 2.82383771831320e-01 -1.47339908858783e-01 + 2.87878787878788e+01 1.04658141037268e+00 3.04023014280290e-01 -1.52946272501553e-01 + 2.93939393939394e+01 1.02232095579085e+00 3.25662256729258e-01 -1.58552636144323e-01 + 3.00000000000000e+01 9.98060501209013e-01 3.47301499178227e-01 -1.64158999787093e-01 + 3.30000000000000e+01 9.22062250770388e-01 4.43016766986580e-01 -1.89050377014450e-01 + 3.60000000000000e+01 9.34246002556734e-01 5.15934069457928e-01 -2.08221508455227e-01 + 3.90000000000000e+01 9.45589244087954e-01 5.92145558566002e-01 -2.27204042284425e-01 + 4.20000000000000e+01 9.54748584113586e-01 6.69588003216532e-01 -2.44649507771081e-01 + 4.50000000000000e+01 9.61252131007629e-01 7.47874730889827e-01 -2.60949244350105e-01 + 4.80000000000000e+01 9.25795787149951e-01 8.26351001503544e-01 -2.77248980746643e-01 + 5.10000000000000e+01 8.85072931699619e-01 9.03691989486419e-01 -2.92826828648911e-01 + 5.40000000000000e+01 8.40139834221778e-01 9.79476039083604e-01 -3.08033675125759e-01 + 5.70000000000000e+01 7.90916239414658e-01 1.05332349084099e+00 -3.22957806949482e-01 + 6.00000000000000e+01 7.35111043150310e-01 1.12283400217720e+00 -3.37591520807121e-01 + 6.30000000000000e+01 6.74957638303847e-01 1.18834261746902e+00 -3.51586315701813e-01 + 6.60000000000000e+01 6.10964879118523e-01 1.24975699863433e+00 -3.65261651053213e-01 + 6.90000000000000e+01 5.42808995062654e-01 1.30593816480719e+00 -3.78936986269520e-01 + 7.20000000000000e+01 4.70239192035188e-01 1.35443145209476e+00 -3.91247379618790e-01 + 7.50000000000000e+01 3.95258069652003e-01 1.39714437509904e+00 -4.03249463617085e-01 + 7.80000000000000e+01 3.18166875234793e-01 1.43386877376821e+00 -4.14964097416413e-01 + 8.10000000000000e+01 2.39033591672124e-01 1.46177719199882e+00 -4.25852018664857e-01 + 8.40000000000000e+01 1.59202953296899e-01 1.48140709269595e+00 -4.35698894587758e-01 + 8.70000000000000e+01 7.94010592711672e-02 1.49417607502582e+00 -4.45220443783577e-01 + 9.00000000000000e+01 3.11028980348738e-10 1.49999999997719e+00 -4.54741992897877e-01 + 9.30000000000000e+01 -5.55807418230592e-02 1.49417607499090e+00 -4.59628257189905e-01 + 9.60000000000000e+01 -1.11442067459277e-01 1.48140709264988e+00 -4.64514521421943e-01 + 9.90000000000000e+01 -1.67323513736515e-01 1.46177719221746e+00 -4.68714600495400e-01 + 1.02000000000000e+02 -2.22716812230383e-01 1.43386877398686e+00 -4.70718887134564e-01 + 1.05000000000000e+02 -2.76680648972375e-01 1.39714437494550e+00 -4.70979456271530e-01 + 1.08000000000000e+02 -3.29167434663816e-01 1.35443145187167e+00 -4.70624689513598e-01 + 1.11000000000000e+02 -3.79966296232927e-01 1.30593816517334e+00 -4.69601007215107e-01 + 1.14000000000000e+02 -4.27675415731853e-01 1.24975699822349e+00 -4.65615912292485e-01 + 1.17000000000000e+02 -4.72470346873147e-01 1.18834261738102e+00 -4.61630817409231e-01 + 1.20000000000000e+02 -5.14577730079261e-01 1.12283400240132e+00 -4.57221478466790e-01 + 1.23000000000000e+02 -5.53641368004556e-01 1.05332349010379e+00 -4.51963651365242e-01 + 1.26000000000000e+02 -5.88097883889968e-01 9.79476039224861e-01 -4.46320147916898e-01 + 1.29000000000000e+02 -6.19551051959611e-01 9.03691990090244e-01 -4.41015754695827e-01 + 1.32000000000000e+02 -6.48057050875903e-01 8.26351001911627e-01 -4.36207139878165e-01 + 1.35000000000000e+02 -6.72876491919531e-01 7.47874730212582e-01 -4.32363202318299e-01 + 1.38000000000000e+02 -6.94574008880946e-01 6.69588003211172e-01 -4.28519264801468e-01 + 1.41000000000000e+02 -7.14412470826591e-01 5.92145558711669e-01 -4.25249806728838e-01 + 1.44000000000000e+02 -7.32722201977660e-01 5.15934068684593e-01 -4.22751049476045e-01 + 1.47000000000000e+02 -7.50443575482131e-01 4.43016767221693e-01 -4.20346856774768e-01 + 1.50000000000000e+02 -7.09078781261518e-01 3.72562354853516e-01 -4.16279946005650e-01 + 1.53000000000000e+02 -6.38170903055494e-01 3.06742155077266e-01 -3.95585854638999e-01 + 1.56000000000000e+02 -5.67263024849471e-01 2.45847323942745e-01 -3.73229045212350e-01 + 1.59000000000000e+02 -4.96355146643446e-01 1.90143998922178e-01 -3.50872235785700e-01 + 1.62000000000000e+02 -4.25447268437423e-01 1.40636124349672e-01 -3.74735973053744e-01 + 1.65000000000000e+02 -3.54539390231399e-01 9.81315663888162e-02 -4.21709983289917e-01 + 1.68000000000000e+02 -2.83631512025374e-01 6.23519280822543e-02 -4.68683993526091e-01 + 1.71000000000000e+02 -2.12723633819350e-01 3.53980714785814e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.41815755613326e-01 2.95870407694700e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -7.09078783383423e-02 2.59899654394449e-02 -1.50000000451309e-01 + 1.80000000000000e+02 4.85722573273506e-18 2.46414625588597e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_44.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_44.dat new file mode 100644 index 0000000..801fe7d --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_44.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF44_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF44_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-3.025329 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.028847 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-14.005395 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.763517 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.136623 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.006831 Cd0 ! 2D drag coefficient value at 0-lift. +-0.079741 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 4.85722573273506e-18 2.46414625588597e-02 0.00000000000000e+00 +-1.77000000000000e+02 7.09078783383423e-02 2.59899654394449e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.41815755613326e-01 2.95870407694700e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.12724023589752e-01 3.53981062097947e-02 3.60000658682385e-01 +-1.68000000000000e+02 2.83635114323999e-01 6.23536246130750e-02 3.88683131002858e-01 +-1.65000000000000e+02 3.54539390231399e-01 9.81315663888160e-02 3.71709983123391e-01 +-1.62000000000000e+02 4.25451140020828e-01 1.40638541882525e-01 3.54735046137367e-01 +-1.59000000000000e+02 4.96351238664441e-01 1.90141020854771e-01 3.50871003624422e-01 +-1.56000000000000e+02 5.67264876246885e-01 2.45848849126870e-01 3.73229628946347e-01 +-1.53000000000000e+02 6.38171661458157e-01 3.06742822712792e-01 3.95586093758603e-01 +-1.50000000000000e+02 7.09078781261519e-01 3.72562354853516e-01 4.16279946005650e-01 +-1.47000000000000e+02 7.50443575482131e-01 4.43016767221693e-01 4.20346856774768e-01 +-1.44000000000000e+02 7.32722201977660e-01 5.15934068684593e-01 4.22751049476045e-01 +-1.41000000000000e+02 7.14412470826591e-01 5.92145558711669e-01 4.25249806728838e-01 +-1.38000000000000e+02 6.94574008880946e-01 6.69588003211173e-01 4.28519264801468e-01 +-1.35000000000000e+02 6.72876491919531e-01 7.47874730212582e-01 4.32363202318299e-01 +-1.32000000000000e+02 6.48057050875902e-01 8.26351001911627e-01 4.36207139878165e-01 +-1.29000000000000e+02 6.19551051959611e-01 9.03691990090244e-01 4.41015754695827e-01 +-1.26000000000000e+02 5.88097883889968e-01 9.79476039224861e-01 4.46320147916898e-01 +-1.23000000000000e+02 5.53641368004556e-01 1.05332349010379e+00 4.51963651365242e-01 +-1.20000000000000e+02 5.14577730079261e-01 1.12283400240132e+00 4.57221478466790e-01 +-1.17000000000000e+02 4.72470346873147e-01 1.18834261738102e+00 4.61630817409231e-01 +-1.14000000000000e+02 4.27675415731853e-01 1.24975699822349e+00 4.65615912292485e-01 +-1.11000000000000e+02 3.79966296232926e-01 1.30593816517334e+00 4.69601007215107e-01 +-1.08000000000000e+02 3.29167434663816e-01 1.35443145187167e+00 4.70624689513598e-01 +-1.05000000000000e+02 2.76680648972375e-01 1.39714437494550e+00 4.70979456271530e-01 +-1.02000000000000e+02 2.22716812230383e-01 1.43386877398686e+00 4.70718887134564e-01 +-9.90000000000000e+01 1.67323513736515e-01 1.46177719221746e+00 4.68714600495400e-01 +-9.60000000000000e+01 1.11442067459277e-01 1.48140709264988e+00 4.64514521421943e-01 +-9.30000000000000e+01 5.55807418230594e-02 1.49417607499090e+00 4.59628257189905e-01 +-9.00000000000000e+01 -2.17720385095452e-10 1.49999999997719e+00 4.54741992894100e-01 +-8.70000000000000e+01 -5.55807414898173e-02 1.49417607502582e+00 4.44256194940782e-01 +-8.40000000000000e+01 -1.11442067307830e-01 1.48140709269595e+00 4.33770396897690e-01 +-8.10000000000000e+01 -1.67323514170487e-01 1.46177719199882e+00 4.22751815715067e-01 +-7.80000000000000e+01 -2.22716812664355e-01 1.43386877376821e+00 4.10028328729202e-01 +-7.50000000000000e+01 -2.76680648756403e-01 1.39714437509904e+00 3.95950945859518e-01 +-7.20000000000000e+01 -3.29167434424632e-01 1.35443145209476e+00 3.81456984926632e-01 +-6.90000000000000e+01 -3.79966296543858e-01 1.30593816480719e+00 3.66569710870844e-01 +-6.60000000000000e+01 -4.27675415382966e-01 1.24975699863433e+00 3.49941167676215e-01 +-6.30000000000000e+01 -4.72470346812693e-01 1.18834261746902e+00 3.33312624317319e-01 +-6.00000000000000e+01 -5.14577730205217e-01 1.12283400217720e+00 3.16533804218062e-01 +-5.70000000000000e+01 -5.53641367590261e-01 1.05332349084099e+00 2.99454430776818e-01 +-5.40000000000000e+01 -5.88097883955245e-01 9.79476039083604e-01 2.82238441882844e-01 +-5.10000000000000e+01 -6.19551052189733e-01 9.03691989486419e-01 2.65101376417570e-01 +-4.80000000000000e+01 -6.48057051004965e-01 8.26351001503544e-01 2.48082937508914e-01 +-4.50000000000000e+01 -6.72876491705341e-01 7.47874730889827e-01 2.31295319956564e-01 +-4.20000000000000e+01 -6.57074008879510e-01 6.69588003216531e-01 2.14507702216265e-01 +-3.90000000000000e+01 -6.39412470861568e-01 5.92145558566002e-01 1.89164063976627e-01 +-3.60000000000000e+01 -6.20222201789713e-01 5.15934069457928e-01 1.52341978697799e-01 +-3.30000000000000e+01 -6.00443575539271e-01 4.43016766986580e-01 1.14111494476316e-01 +-3.00000000000000e+01 -6.18855350575448e-01 3.52809999241618e-01 8.33188997922929e-02 +-2.93939393939394e+01 -6.26432517259429e-01 3.32839999218799e-01 7.78494755436190e-02 +-2.87878787878788e+01 -6.36158564954944e-01 3.12869999195980e-01 7.23800512949450e-02 +-2.81818181818182e+01 -6.51751005401206e-01 2.92899999173161e-01 6.69106270462710e-02 +-2.75757575757576e+01 -6.94117180948532e-01 2.71284999274155e-01 6.00945088504803e-02 +-2.69696969696970e+01 -7.48468225559362e-01 2.48964999568361e-01 5.27012362206603e-02 +-2.63636363636364e+01 -8.03607181891281e-01 2.26644999862567e-01 4.53079635908404e-02 +-2.57575757575758e+01 -8.59534049944290e-01 2.04325000156773e-01 3.79146909610205e-02 +-2.51515151515151e+01 -9.16248829718390e-01 1.82005000450979e-01 3.05214183312005e-02 +-2.45454545454545e+01 -9.77410133836770e-01 1.59685000745185e-01 2.31281457013806e-02 +-2.39393939393939e+01 -1.03531488618832e+00 1.38746226141576e-01 1.61713243791283e-02 +-2.33333333333333e+01 -1.05204841338282e+00 1.30238483707612e-01 1.31425667999098e-02 +-2.27272727272727e+01 -1.06878194057732e+00 1.21730741273648e-01 1.01138092206914e-02 +-2.21212121212121e+01 -1.08551546777182e+00 1.13222998839684e-01 7.08505164147293e-03 +-2.15151515151515e+01 -1.10224899496632e+00 1.04715256405720e-01 4.05629406225448e-03 +-2.09090909090909e+01 -1.11898252216082e+00 9.62075139717558e-02 1.02753648303605e-03 +-2.03030303030303e+01 -1.13571604935532e+00 8.76997715377919e-02 -2.00122109618240e-03 +-1.96969696969697e+01 -1.14624131344547e+00 8.06649456610962e-02 -4.00059996397744e-03 +-1.90909090909091e+01 -1.15055831349486e+00 7.51030365638317e-02 -4.97059996508582e-03 +-1.84848484848485e+01 -1.15487531354426e+00 6.95411274665672e-02 -5.94059996619421e-03 +-1.78787878787879e+01 -1.15852331978772e+00 6.41091941049719e-02 -6.84363937252776e-03 +-1.72727272727273e+01 -1.15949535023983e+00 5.91971637963288e-02 -7.47883634295054e-03 +-1.66666666666667e+01 -1.16046738069195e+00 5.42851334876857e-02 -8.11403331337333e-03 +-1.60606060606061e+01 -1.16143941114406e+00 4.93731031790426e-02 -8.74923028379612e-03 +-1.54545454545455e+01 -1.16215856190310e+00 4.48701910389722e-02 -9.41178179878783e-03 +-1.48484848484848e+01 -1.16284961490904e+00 4.04127364884243e-02 -1.00773727086393e-02 +-1.42424242424242e+01 -1.16354066791498e+00 3.59552819378763e-02 -1.07429636184907e-02 +-1.36363636363636e+01 -1.15199916764181e+00 3.18363728273672e-02 -1.31325999090123e-02 +-1.30303030303030e+01 -1.13230263095233e+00 2.79431607017064e-02 -1.66715999130562e-02 +-1.24242424242424e+01 -1.11260609426285e+00 2.40499485760457e-02 -2.02105999171001e-02 +-1.18181818181818e+01 -1.07921642381414e+00 2.06459636867756e-02 -2.46224089472267e-02 +-1.12121212121212e+01 -1.01387610448497e+00 1.83835091387359e-02 -3.10707725909586e-02 +-1.06060606060606e+01 -9.48535785155803e-01 1.61210545906961e-02 -3.75191362346906e-02 +-1.00000000000000e+01 -8.83195465826632e-01 1.38586000426563e-02 -4.39674998784226e-02 +-9.39393939393939e+00 -8.06672913344583e-01 1.29178424409045e-02 -4.80862878058387e-02 +-8.78787878787879e+00 -7.30150360651703e-01 1.19770848640719e-02 -5.22050756893329e-02 +-8.18181818181818e+00 -6.53627807958824e-01 1.10363272872394e-02 -5.63238635728272e-02 +-7.57575757575758e+00 -5.76909975945063e-01 1.03429454629350e-02 -5.96627241995084e-02 +-6.96969696969697e+00 -5.00108452787771e-01 9.75558182590017e-03 -6.26673302635478e-02 +-6.36363636363636e+00 -4.23306929630478e-01 9.16821818886537e-03 -6.56719363275871e-02 +-5.75757575757576e+00 -3.46261892693390e-01 8.59835030893152e-03 -6.86055120905238e-02 +-5.15151515151515e+00 -2.68851585069393e-01 8.05472606588610e-03 -7.14325423967844e-02 +-4.54545454545454e+00 -1.91441277445395e-01 7.51110182284068e-03 -7.42595727030451e-02 +-3.93939393939394e+00 -1.14200091471482e-01 7.00998030391116e-03 -7.69865090773461e-02 +-3.33333333333333e+00 -3.84810004758693e-02 6.89138333407868e-03 -7.88125999885236e-02 +-2.72727272727273e+00 3.72380905197434e-02 6.77278636424619e-03 -8.06386908997012e-02 +-2.12121212121212e+00 1.12957181515356e-01 6.65418939441370e-03 -8.24647818108787e-02 +-1.51515151515152e+00 1.88078193848213e-01 6.63685060622061e-03 -8.40490060911751e-02 +-9.09090909090912e-01 2.63011051390519e-01 6.64880545596898e-03 -8.55649182425272e-02 +-3.03030303030302e-01 3.37724976656504e-01 6.68330848532299e-03 -8.70363727475091e-02 + 3.03030303030302e-01 4.12269311968764e-01 6.73317515061806e-03 -8.84792514957012e-02 + 9.09090909090912e-01 4.86644057327302e-01 6.79840545185419e-03 -8.98935544871035e-02 + 1.51515151515152e+00 5.60629853635770e-01 6.89597181611000e-03 -9.12574757303916e-02 + 2.12121212121212e+00 6.34444922443910e-01 7.00580454521911e-03 -9.25993787856478e-02 + 2.72727272727273e+00 7.07851633628727e-01 7.14187726874912e-03 -9.38887726895767e-02 + 3.33333333333333e+00 7.80850294552570e-01 7.30700999523420e-03 -9.51338333028380e-02 + 3.93939393939394e+00 8.53515096115848e-01 7.49591909177100e-03 -9.63426212176364e-02 + 4.54545454545455e+00 9.25212929735047e-01 7.75680635900802e-03 -9.74543727083216e-02 + 5.15151515151515e+00 9.96253912429725e-01 8.07410937988024e-03 -9.85062817906832e-02 + 5.75757575757576e+00 1.06564666463921e+00 8.53666696941767e-03 -9.94110090903628e-02 + 6.36363636363637e+00 1.13381114136875e+00 9.07144999697415e-03 -1.00199845450852e-01 + 6.96969696969697e+00 1.20115676781693e+00 9.65438331427377e-03 -1.00911421188856e-01 + 7.57575757575757e+00 1.26554076229872e+00 1.04239369651998e-02 -1.01342315149114e-01 + 8.18181818181818e+00 1.32927315555785e+00 1.12068272781317e-02 -1.01712963638171e-01 + 8.78787878787879e+00 1.39184885549696e+00 1.19979181654635e-02 -1.01977509085440e-01 + 9.39393939393939e+00 1.45278518848918e+00 1.28306878694348e-02 -1.02093578787484e-01 + 1.00000000000000e+01 1.51283878524929e+00 1.36859000183078e-02 -1.02129699995493e-01 + 1.06060606060606e+01 1.56938016020777e+00 1.46569302946297e-02 -1.01890669699038e-01 + 1.12121212121212e+01 1.62433401396177e+00 1.56874817998069e-02 -1.01551327281192e-01 + 1.18181818181818e+01 1.67633961370648e+00 1.68285727428916e-02 -1.01025690901896e-01 + 1.24242424242424e+01 1.72270224731871e+00 1.82589121264519e-02 -1.00229727269653e-01 + 1.30303030303030e+01 1.76593231657873e+00 1.98550060097699e-02 -9.92979000279053e-02 + 1.36363636363636e+01 1.79559351877348e+00 2.22451272930941e-02 -9.79858999888201e-02 + 1.42424242424242e+01 1.81298269519151e+00 2.54394667344084e-02 -9.64468939104616e-02 + 1.48484848484848e+01 1.81196383496897e+00 2.98401332800337e-02 -9.45673788106429e-02 + 1.54545454545455e+01 1.78392598302850e+00 3.64364818427673e-02 -9.28892272673224e-02 + 1.60606060606061e+01 1.74480992489336e+00 4.40704518296318e-02 -9.14690181908170e-02 + 1.66666666666667e+01 1.68704700061862e+00 5.44559669930141e-02 -9.17662000093384e-02 + 1.72727272727273e+01 1.62928407634388e+00 6.48414821563965e-02 -9.20633818278598e-02 + 1.78787878787879e+01 1.57152115206914e+00 7.52269973197788e-02 -9.23605636463812e-02 + 1.84848484848485e+01 1.52723711785539e+00 8.57193488514518e-02 -9.39441697633689e-02 + 1.90909090909091e+01 1.48632280544215e+00 9.62384094695321e-02 -9.58493818867580e-02 + 1.96969696969697e+01 1.44540849302891e+00 1.06757470087612e-01 -9.77545940101472e-02 + 2.03030303030303e+01 1.41029519457725e+00 1.17476318599776e-01 -1.00146200110168e-01 + 2.09090909090909e+01 1.38098290921217e+00 1.28394954975889e-01 -1.03024200113457e-01 + 2.15151515151515e+01 1.35167062384710e+00 1.39313591352002e-01 -1.05902200116745e-01 + 2.21212121212121e+01 1.32235833848203e+00 1.50232227728114e-01 -1.08780200120034e-01 + 2.27272727272727e+01 1.29304605311696e+00 1.61150864104227e-01 -1.11658200123322e-01 + 2.33333333333333e+01 1.26373376775188e+00 1.72069500480340e-01 -1.14536200126611e-01 + 2.39393939393939e+01 1.23442148238681e+00 1.82988136856453e-01 -1.17414200129899e-01 + 2.45454545454545e+01 1.20294165692129e+00 1.96599818646254e-01 -1.21514181959599e-01 + 2.51515151515151e+01 1.17289510815674e+00 2.10510727553799e-01 -1.25749939479524e-01 + 2.57575757575758e+01 1.14825374443254e+00 2.24421636461345e-01 -1.29985696999448e-01 + 2.63636363636364e+01 1.12422492780256e+00 2.38332545368891e-01 -1.34221454519373e-01 + 2.69696969696970e+01 1.10198439435737e+00 2.52243454276436e-01 -1.38457212039298e-01 + 2.75757575757576e+01 1.08794651585439e+00 2.66154363183982e-01 -1.42692969559223e-01 + 2.81818181818182e+01 1.07084186495451e+00 2.82383771831320e-01 -1.47339908858783e-01 + 2.87878787878788e+01 1.04658141037268e+00 3.04023014280290e-01 -1.52946272501553e-01 + 2.93939393939394e+01 1.02232095579085e+00 3.25662256729258e-01 -1.58552636144323e-01 + 3.00000000000000e+01 9.98060501209013e-01 3.47301499178227e-01 -1.64158999787093e-01 + 3.30000000000000e+01 9.22062250770388e-01 4.43016766986580e-01 -1.89050377014450e-01 + 3.60000000000000e+01 9.34246002556734e-01 5.15934069457928e-01 -2.08221508455227e-01 + 3.90000000000000e+01 9.45589244087954e-01 5.92145558566002e-01 -2.27204042284425e-01 + 4.20000000000000e+01 9.54748584113586e-01 6.69588003216532e-01 -2.44649507771081e-01 + 4.50000000000000e+01 9.61252131007629e-01 7.47874730889827e-01 -2.60949244350105e-01 + 4.80000000000000e+01 9.25795787149951e-01 8.26351001503544e-01 -2.77248980746643e-01 + 5.10000000000000e+01 8.85072931699619e-01 9.03691989486419e-01 -2.92826828648911e-01 + 5.40000000000000e+01 8.40139834221778e-01 9.79476039083604e-01 -3.08033675125759e-01 + 5.70000000000000e+01 7.90916239414658e-01 1.05332349084099e+00 -3.22957806949482e-01 + 6.00000000000000e+01 7.35111043150310e-01 1.12283400217720e+00 -3.37591520807121e-01 + 6.30000000000000e+01 6.74957638303847e-01 1.18834261746902e+00 -3.51586315701813e-01 + 6.60000000000000e+01 6.10964879118523e-01 1.24975699863433e+00 -3.65261651053213e-01 + 6.90000000000000e+01 5.42808995062654e-01 1.30593816480719e+00 -3.78936986269520e-01 + 7.20000000000000e+01 4.70239192035188e-01 1.35443145209476e+00 -3.91247379618790e-01 + 7.50000000000000e+01 3.95258069652003e-01 1.39714437509904e+00 -4.03249463617085e-01 + 7.80000000000000e+01 3.18166875234793e-01 1.43386877376821e+00 -4.14964097416413e-01 + 8.10000000000000e+01 2.39033591672124e-01 1.46177719199882e+00 -4.25852018664857e-01 + 8.40000000000000e+01 1.59202953296899e-01 1.48140709269595e+00 -4.35698894587758e-01 + 8.70000000000000e+01 7.94010592711672e-02 1.49417607502582e+00 -4.45220443783577e-01 + 9.00000000000000e+01 3.11028980348738e-10 1.49999999997719e+00 -4.54741992897877e-01 + 9.30000000000000e+01 -5.55807418230592e-02 1.49417607499090e+00 -4.59628257189905e-01 + 9.60000000000000e+01 -1.11442067459277e-01 1.48140709264988e+00 -4.64514521421943e-01 + 9.90000000000000e+01 -1.67323513736515e-01 1.46177719221746e+00 -4.68714600495400e-01 + 1.02000000000000e+02 -2.22716812230383e-01 1.43386877398686e+00 -4.70718887134564e-01 + 1.05000000000000e+02 -2.76680648972375e-01 1.39714437494550e+00 -4.70979456271530e-01 + 1.08000000000000e+02 -3.29167434663816e-01 1.35443145187167e+00 -4.70624689513598e-01 + 1.11000000000000e+02 -3.79966296232927e-01 1.30593816517334e+00 -4.69601007215107e-01 + 1.14000000000000e+02 -4.27675415731853e-01 1.24975699822349e+00 -4.65615912292485e-01 + 1.17000000000000e+02 -4.72470346873147e-01 1.18834261738102e+00 -4.61630817409231e-01 + 1.20000000000000e+02 -5.14577730079261e-01 1.12283400240132e+00 -4.57221478466790e-01 + 1.23000000000000e+02 -5.53641368004556e-01 1.05332349010379e+00 -4.51963651365242e-01 + 1.26000000000000e+02 -5.88097883889968e-01 9.79476039224861e-01 -4.46320147916898e-01 + 1.29000000000000e+02 -6.19551051959611e-01 9.03691990090244e-01 -4.41015754695827e-01 + 1.32000000000000e+02 -6.48057050875903e-01 8.26351001911627e-01 -4.36207139878165e-01 + 1.35000000000000e+02 -6.72876491919531e-01 7.47874730212582e-01 -4.32363202318299e-01 + 1.38000000000000e+02 -6.94574008880946e-01 6.69588003211172e-01 -4.28519264801468e-01 + 1.41000000000000e+02 -7.14412470826591e-01 5.92145558711669e-01 -4.25249806728838e-01 + 1.44000000000000e+02 -7.32722201977660e-01 5.15934068684593e-01 -4.22751049476045e-01 + 1.47000000000000e+02 -7.50443575482131e-01 4.43016767221693e-01 -4.20346856774768e-01 + 1.50000000000000e+02 -7.09078781261518e-01 3.72562354853516e-01 -4.16279946005650e-01 + 1.53000000000000e+02 -6.38170903055494e-01 3.06742155077266e-01 -3.95585854638999e-01 + 1.56000000000000e+02 -5.67263024849471e-01 2.45847323942745e-01 -3.73229045212350e-01 + 1.59000000000000e+02 -4.96355146643446e-01 1.90143998922178e-01 -3.50872235785700e-01 + 1.62000000000000e+02 -4.25447268437423e-01 1.40636124349672e-01 -3.74735973053744e-01 + 1.65000000000000e+02 -3.54539390231399e-01 9.81315663888162e-02 -4.21709983289917e-01 + 1.68000000000000e+02 -2.83631512025374e-01 6.23519280822543e-02 -4.68683993526091e-01 + 1.71000000000000e+02 -2.12723633819350e-01 3.53980714785814e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.41815755613326e-01 2.95870407694700e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -7.09078783383423e-02 2.59899654394449e-02 -1.50000000451309e-01 + 1.80000000000000e+02 4.85722573273506e-18 2.46414625588597e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_45.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_45.dat new file mode 100644 index 0000000..04c4d89 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_45.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF45_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF45_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-3.025329 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.021019 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-14.000601 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.762765 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.136104 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.006831 Cd0 ! 2D drag coefficient value at 0-lift. +-0.079741 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 4.85722573273506e-18 2.46414625588597e-02 0.00000000000000e+00 +-1.77000000000000e+02 7.09078783383423e-02 2.59899654394449e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.41815755613326e-01 2.95870407694700e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.12724023589752e-01 3.53981062097947e-02 3.60000658682385e-01 +-1.68000000000000e+02 2.83635114323999e-01 6.23536246130750e-02 3.88683131002858e-01 +-1.65000000000000e+02 3.54539390231399e-01 9.81315663888160e-02 3.71709983123391e-01 +-1.62000000000000e+02 4.25451140020828e-01 1.40638541882525e-01 3.54735046137367e-01 +-1.59000000000000e+02 4.96351238664441e-01 1.90141020854771e-01 3.50871003624422e-01 +-1.56000000000000e+02 5.67264876246885e-01 2.45848849126870e-01 3.73229628946347e-01 +-1.53000000000000e+02 6.38171661458157e-01 3.06742822712792e-01 3.95586093758603e-01 +-1.50000000000000e+02 7.09078781261519e-01 3.72562354853516e-01 4.16279946005650e-01 +-1.47000000000000e+02 7.50443575482131e-01 4.43016767221693e-01 4.20346856774768e-01 +-1.44000000000000e+02 7.32722201977660e-01 5.15934068684593e-01 4.22751049476045e-01 +-1.41000000000000e+02 7.14412470826591e-01 5.92145558711669e-01 4.25249806728838e-01 +-1.38000000000000e+02 6.94574008880946e-01 6.69588003211173e-01 4.28519264801468e-01 +-1.35000000000000e+02 6.72876491919531e-01 7.47874730212582e-01 4.32363202318299e-01 +-1.32000000000000e+02 6.48057050875902e-01 8.26351001911627e-01 4.36207139878165e-01 +-1.29000000000000e+02 6.19551051959611e-01 9.03691990090244e-01 4.41015754695827e-01 +-1.26000000000000e+02 5.88097883889968e-01 9.79476039224861e-01 4.46320147916898e-01 +-1.23000000000000e+02 5.53641368004556e-01 1.05332349010379e+00 4.51963651365242e-01 +-1.20000000000000e+02 5.14577730079261e-01 1.12283400240132e+00 4.57221478466790e-01 +-1.17000000000000e+02 4.72470346873147e-01 1.18834261738102e+00 4.61630817409231e-01 +-1.14000000000000e+02 4.27675415731853e-01 1.24975699822349e+00 4.65615912292485e-01 +-1.11000000000000e+02 3.79966296232926e-01 1.30593816517334e+00 4.69601007215107e-01 +-1.08000000000000e+02 3.29167434663816e-01 1.35443145187167e+00 4.70624689513598e-01 +-1.05000000000000e+02 2.76680648972375e-01 1.39714437494550e+00 4.70979456271530e-01 +-1.02000000000000e+02 2.22716812230383e-01 1.43386877398686e+00 4.70718887134564e-01 +-9.90000000000000e+01 1.67323513736515e-01 1.46177719221746e+00 4.68714600495400e-01 +-9.60000000000000e+01 1.11442067459277e-01 1.48140709264988e+00 4.64514521421943e-01 +-9.30000000000000e+01 5.55807418230594e-02 1.49417607499090e+00 4.59628257189905e-01 +-9.00000000000000e+01 -2.17720385095452e-10 1.49999999997719e+00 4.54741992894100e-01 +-8.70000000000000e+01 -5.55807414898173e-02 1.49417607502582e+00 4.44256194940782e-01 +-8.40000000000000e+01 -1.11442067307830e-01 1.48140709269595e+00 4.33770396897690e-01 +-8.10000000000000e+01 -1.67323514170487e-01 1.46177719199882e+00 4.22751815715067e-01 +-7.80000000000000e+01 -2.22716812664355e-01 1.43386877376821e+00 4.10028328729202e-01 +-7.50000000000000e+01 -2.76680648756403e-01 1.39714437509904e+00 3.95950945859518e-01 +-7.20000000000000e+01 -3.29167434424632e-01 1.35443145209476e+00 3.81456984926632e-01 +-6.90000000000000e+01 -3.79966296543858e-01 1.30593816480719e+00 3.66569710870844e-01 +-6.60000000000000e+01 -4.27675415382966e-01 1.24975699863433e+00 3.49941167676215e-01 +-6.30000000000000e+01 -4.72470346812693e-01 1.18834261746902e+00 3.33312624317319e-01 +-6.00000000000000e+01 -5.14577730205217e-01 1.12283400217720e+00 3.16533804218062e-01 +-5.70000000000000e+01 -5.53641367590261e-01 1.05332349084099e+00 2.99454430776818e-01 +-5.40000000000000e+01 -5.88097883955245e-01 9.79476039083604e-01 2.82238441882844e-01 +-5.10000000000000e+01 -6.19551052189733e-01 9.03691989486419e-01 2.65101376417570e-01 +-4.80000000000000e+01 -6.48057051004965e-01 8.26351001503544e-01 2.48082937508914e-01 +-4.50000000000000e+01 -6.72876491705341e-01 7.47874730889827e-01 2.31295319956564e-01 +-4.20000000000000e+01 -6.57074008879510e-01 6.69588003216531e-01 2.14507702216265e-01 +-3.90000000000000e+01 -6.39412470861568e-01 5.92145558566002e-01 1.89164063976627e-01 +-3.60000000000000e+01 -6.20222201789713e-01 5.15934069457928e-01 1.52341978697799e-01 +-3.30000000000000e+01 -6.00443575539271e-01 4.43016766986580e-01 1.14111494476316e-01 +-3.00000000000000e+01 -6.18855350575448e-01 3.52809999241618e-01 8.33188997922929e-02 +-2.93939393939394e+01 -6.26432517259429e-01 3.32839999218799e-01 7.78494755436190e-02 +-2.87878787878788e+01 -6.34009683943411e-01 3.12869999195980e-01 7.23800512949450e-02 +-2.81818181818182e+01 -6.46964383633228e-01 2.92899999173161e-01 6.69106270462710e-02 +-2.75757575757576e+01 -6.89406765571168e-01 2.71284999274155e-01 6.00945088504803e-02 +-2.69696969696970e+01 -7.43874381659505e-01 2.48964999568361e-01 5.27012362206603e-02 +-2.63636363636364e+01 -7.99148760696654e-01 2.26644999862567e-01 4.53079635908404e-02 +-2.57575757575758e+01 -8.55229902682616e-01 2.04325000156773e-01 3.79146909610205e-02 +-2.51515151515151e+01 -9.12117807617390e-01 1.82005000450979e-01 3.05214183312005e-02 +-2.45454545454545e+01 -9.73558622473337e-01 1.59685000745185e-01 2.31281457013806e-02 +-2.39393939393939e+01 -1.03176412401047e+00 1.38746226141576e-01 1.61713243791283e-02 +-2.33333333333333e+01 -1.04870573569745e+00 1.30238483707612e-01 1.31425667999098e-02 +-2.27272727272727e+01 -1.06564734738443e+00 1.21730741273648e-01 1.01138092206914e-02 +-2.21212121212121e+01 -1.08258895907141e+00 1.13222998839684e-01 7.08505164147293e-03 +-2.15151515151515e+01 -1.09953057075839e+00 1.04715256405720e-01 4.05629406225448e-03 +-2.09090909090909e+01 -1.11647218244537e+00 9.62075139717558e-02 1.02753648303605e-03 +-2.03030303030303e+01 -1.13341379413235e+00 8.76997715377919e-02 -2.00122109618240e-03 +-1.96969696969697e+01 -1.14413316968422e+00 8.06649456610962e-02 -4.00059996397744e-03 +-1.90909090909091e+01 -1.14863030816248e+00 7.51030365638317e-02 -4.97059996508582e-03 +-1.84848484848485e+01 -1.15312744664074e+00 6.95411274665672e-02 -5.94059996619421e-03 +-1.78787878787879e+01 -1.15695408559868e+00 6.41091941049719e-02 -6.84363937252776e-03 +-1.72727272727273e+01 -1.15809872590649e+00 5.91971637963288e-02 -7.47883634295054e-03 +-1.66666666666667e+01 -1.15924336621429e+00 5.42851334876857e-02 -8.11403331337333e-03 +-1.60606060606061e+01 -1.16038800652210e+00 4.93731031790426e-02 -8.74923028379612e-03 +-1.54545454545455e+01 -1.16127919797671e+00 4.48701910389722e-02 -9.41178179878783e-03 +-1.48484848484848e+01 -1.16214222843820e+00 4.04127364884243e-02 -1.00773727086393e-02 +-1.42424242424242e+01 -1.16300525889969e+00 3.59552819378763e-02 -1.07429636184907e-02 +-1.36363636363636e+01 -1.15160820409118e+00 3.18363728273672e-02 -1.31325999090123e-02 +-1.30303030303030e+01 -1.13203775820376e+00 2.79431607017064e-02 -1.66715999130562e-02 +-1.24242424242424e+01 -1.11246731231634e+00 2.40499485760457e-02 -2.02105999171001e-02 +-1.18181818181818e+01 -1.07917291332845e+00 2.06459636867756e-02 -2.46224089472267e-02 +-1.12121212121212e+01 -1.01385595365612e+00 1.83835091387359e-02 -3.10707725909586e-02 +-1.06060606060606e+01 -9.48538993983790e-01 1.61210545906961e-02 -3.75191362346906e-02 +-1.00000000000000e+01 -8.83222034311458e-01 1.38586000426563e-02 -4.39674998784226e-02 +-9.39393939393939e+00 -8.06697673466607e-01 1.29178424409045e-02 -4.80862878058387e-02 +-8.78787878787879e+00 -7.30173312410451e-01 1.19770848640719e-02 -5.22050756893329e-02 +-8.18181818181818e+00 -6.53648951354296e-01 1.10363272872394e-02 -5.63238635728272e-02 +-7.57575757575758e+00 -5.76928871459167e-01 1.03429454629350e-02 -5.96627241995084e-02 +-6.96969696969697e+00 -5.00124912055596e-01 9.75558182590017e-03 -6.26673302635478e-02 +-6.36363636363636e+00 -4.23320952652025e-01 9.16821818886537e-03 -6.56719363275871e-02 +-5.75757575757576e+00 -3.46272931388547e-01 8.59835030893152e-03 -6.86055120905238e-02 +-5.15151515151515e+00 -2.68858817317954e-01 8.05472606588610e-03 -7.14325423967844e-02 +-4.54545454545454e+00 -1.91444703247360e-01 7.51110182284068e-03 -7.42595727030451e-02 +-3.93939393939394e+00 -1.14200091471482e-01 7.00998030391116e-03 -7.69865090773461e-02 +-3.33333333333333e+00 -3.84810004758693e-02 6.89138333407868e-03 -7.88125999885236e-02 +-2.72727272727273e+00 3.72380905197434e-02 6.77278636424619e-03 -8.06386908997012e-02 +-2.12121212121212e+00 1.12957181515356e-01 6.65418939441370e-03 -8.24647818108787e-02 +-1.51515151515152e+00 1.88076847743609e-01 6.63685060622061e-03 -8.40490060911751e-02 +-9.09090909090912e-01 2.63007935698505e-01 6.64880545596898e-03 -8.55649182425272e-02 +-3.03030303030302e-01 3.37719598622928e-01 6.68330848532299e-03 -8.70363727475091e-02 + 3.03030303030302e-01 4.12261289894977e-01 6.73317515061806e-03 -8.84792514957012e-02 + 9.09090909090912e-01 4.86633009514654e-01 6.79840545185419e-03 -8.98935544871035e-02 + 1.51515151515152e+00 5.60614904670809e-01 6.89597181611000e-03 -9.12574757303916e-02 + 2.12121212121212e+00 6.34425688067694e-01 7.00580454521911e-03 -9.25993787856478e-02 + 2.72727272727273e+00 7.07827194744637e-01 7.14187726874912e-03 -9.38887726895767e-02 + 3.33333333333333e+00 7.80819732755772e-01 7.30700999523420e-03 -9.51338333028380e-02 + 3.93939393939394e+00 8.53477659984078e-01 7.49591909177100e-03 -9.63426212176364e-02 + 4.54545454545455e+00 9.25166442899072e-01 7.75680635900802e-03 -9.74543727083216e-02 + 5.15151515151515e+00 9.96196896505330e-01 8.07410937988024e-03 -9.85062817906832e-02 + 5.75757575757576e+00 1.06557540992935e+00 8.53666696941767e-03 -9.94110090903628e-02 + 6.36363636363637e+00 1.13372288337542e+00 9.07144999697415e-03 -1.00199845450852e-01 + 6.96969696969697e+00 1.20104966354153e+00 9.65438331427377e-03 -1.00911421188856e-01 + 7.57575757575757e+00 1.26540814595181e+00 1.04239369651998e-02 -1.01342315149114e-01 + 8.18181818181818e+00 1.32911356057082e+00 1.12068272781317e-02 -1.01712963638171e-01 + 8.78787878787879e+00 1.39165967848282e+00 1.19979181654635e-02 -1.01977509085440e-01 + 9.39393939393939e+00 1.45256273970020e+00 1.28306878694348e-02 -1.02093578787484e-01 + 1.00000000000000e+01 1.51258107789780e+00 1.36859000183078e-02 -1.02129699995493e-01 + 1.06060606060606e+01 1.56907928928356e+00 1.46569302946297e-02 -1.01890669699038e-01 + 1.12121212121212e+01 1.62398640640708e+00 1.56874817998069e-02 -1.01551327281192e-01 + 1.18181818181818e+01 1.67593863384187e+00 1.68285727428916e-02 -1.01025690901896e-01 + 1.24242424242424e+01 1.72223519443578e+00 1.82589121264519e-02 -1.00229727269653e-01 + 1.30303030303030e+01 1.76539214016796e+00 1.98550060097699e-02 -9.92979000279053e-02 + 1.36363636363636e+01 1.79494967918256e+00 2.22451272930941e-02 -9.79858999888201e-02 + 1.42424242424242e+01 1.81220757158820e+00 2.54394667344084e-02 -9.64468939104616e-02 + 1.48484848484848e+01 1.81101599610951e+00 2.98401332800337e-02 -9.45673788106429e-02 + 1.54545454545455e+01 1.78274461686354e+00 3.64364818427673e-02 -9.28892272673224e-02 + 1.60606060606061e+01 1.74337009753830e+00 4.40704518296318e-02 -9.14690181908170e-02 + 1.66666666666667e+01 1.68530674329255e+00 5.44559669930141e-02 -9.17662000093384e-02 + 1.72727272727273e+01 1.62724338904680e+00 6.48414821563965e-02 -9.20633818278598e-02 + 1.78787878787879e+01 1.56918003480105e+00 7.52269973197788e-02 -9.23605636463812e-02 + 1.84848484848485e+01 1.52462590775603e+00 8.57193488514518e-02 -9.39441697633689e-02 + 1.90909090909091e+01 1.48344908679485e+00 9.62384094695321e-02 -9.58493818867580e-02 + 1.96969696969697e+01 1.44227226583367e+00 1.06757470087612e-01 -9.77545940101472e-02 + 2.03030303030303e+01 1.40690951526307e+00 1.17476318599776e-01 -1.00146200110168e-01 + 2.09090909090909e+01 1.37736083420611e+00 1.28394954975889e-01 -1.03024200113457e-01 + 2.15151515151515e+01 1.34781215314914e+00 1.39313591352002e-01 -1.05902200116745e-01 + 2.21212121212121e+01 1.31826347209218e+00 1.50232227728114e-01 -1.08780200120034e-01 + 2.27272727272727e+01 1.28871479103521e+00 1.61150864104227e-01 -1.11658200123322e-01 + 2.33333333333333e+01 1.25916610997824e+00 1.72069500480340e-01 -1.14536200126611e-01 + 2.39393939393939e+01 1.22961742892128e+00 1.82988136856453e-01 -1.17414200129899e-01 + 2.45454545454545e+01 1.19789632924889e+00 1.96599818646254e-01 -1.21514181959599e-01 + 2.51515151515151e+01 1.16764801834126e+00 2.10510727553799e-01 -1.25749939479524e-01 + 2.57575757575758e+01 1.14293421454313e+00 2.24421636461345e-01 -1.29985696999448e-01 + 2.63636363636364e+01 1.11884761337036e+00 2.38332545368891e-01 -1.34221454519373e-01 + 2.69696969696970e+01 1.10198439435737e+00 2.52243454276436e-01 -1.38457212039298e-01 + 2.75757575757576e+01 1.08794651585439e+00 2.66154363183982e-01 -1.42692969559223e-01 + 2.81818181818182e+01 1.07084186495451e+00 2.82383771831320e-01 -1.47339908858783e-01 + 2.87878787878788e+01 1.04658141037268e+00 3.04023014280290e-01 -1.52946272501553e-01 + 2.93939393939394e+01 1.02232095579085e+00 3.25662256729258e-01 -1.58552636144323e-01 + 3.00000000000000e+01 9.98060501209013e-01 3.47301499178227e-01 -1.64158999787093e-01 + 3.30000000000000e+01 9.22062250770388e-01 4.43016766986580e-01 -1.89050377014450e-01 + 3.60000000000000e+01 9.34246002556734e-01 5.15934069457928e-01 -2.08221508455227e-01 + 3.90000000000000e+01 9.45589244087954e-01 5.92145558566002e-01 -2.27204042284425e-01 + 4.20000000000000e+01 9.54748584113586e-01 6.69588003216532e-01 -2.44649507771081e-01 + 4.50000000000000e+01 9.61252131007629e-01 7.47874730889827e-01 -2.60949244350105e-01 + 4.80000000000000e+01 9.25795787149951e-01 8.26351001503544e-01 -2.77248980746643e-01 + 5.10000000000000e+01 8.85072931699619e-01 9.03691989486419e-01 -2.92826828648911e-01 + 5.40000000000000e+01 8.40139834221778e-01 9.79476039083604e-01 -3.08033675125759e-01 + 5.70000000000000e+01 7.90916239414658e-01 1.05332349084099e+00 -3.22957806949482e-01 + 6.00000000000000e+01 7.35111043150310e-01 1.12283400217720e+00 -3.37591520807121e-01 + 6.30000000000000e+01 6.74957638303847e-01 1.18834261746902e+00 -3.51586315701813e-01 + 6.60000000000000e+01 6.10964879118523e-01 1.24975699863433e+00 -3.65261651053213e-01 + 6.90000000000000e+01 5.42808995062654e-01 1.30593816480719e+00 -3.78936986269520e-01 + 7.20000000000000e+01 4.70239192035188e-01 1.35443145209476e+00 -3.91247379618790e-01 + 7.50000000000000e+01 3.95258069652003e-01 1.39714437509904e+00 -4.03249463617085e-01 + 7.80000000000000e+01 3.18166875234793e-01 1.43386877376821e+00 -4.14964097416413e-01 + 8.10000000000000e+01 2.39033591672124e-01 1.46177719199882e+00 -4.25852018664857e-01 + 8.40000000000000e+01 1.59202953296899e-01 1.48140709269595e+00 -4.35698894587758e-01 + 8.70000000000000e+01 7.94010592711672e-02 1.49417607502582e+00 -4.45220443783577e-01 + 9.00000000000000e+01 3.11028980348738e-10 1.49999999997719e+00 -4.54741992897877e-01 + 9.30000000000000e+01 -5.55807418230592e-02 1.49417607499090e+00 -4.59628257189905e-01 + 9.60000000000000e+01 -1.11442067459277e-01 1.48140709264988e+00 -4.64514521421943e-01 + 9.90000000000000e+01 -1.67323513736515e-01 1.46177719221746e+00 -4.68714600495400e-01 + 1.02000000000000e+02 -2.22716812230383e-01 1.43386877398686e+00 -4.70718887134564e-01 + 1.05000000000000e+02 -2.76680648972375e-01 1.39714437494550e+00 -4.70979456271530e-01 + 1.08000000000000e+02 -3.29167434663816e-01 1.35443145187167e+00 -4.70624689513598e-01 + 1.11000000000000e+02 -3.79966296232927e-01 1.30593816517334e+00 -4.69601007215107e-01 + 1.14000000000000e+02 -4.27675415731853e-01 1.24975699822349e+00 -4.65615912292485e-01 + 1.17000000000000e+02 -4.72470346873147e-01 1.18834261738102e+00 -4.61630817409231e-01 + 1.20000000000000e+02 -5.14577730079261e-01 1.12283400240132e+00 -4.57221478466790e-01 + 1.23000000000000e+02 -5.53641368004556e-01 1.05332349010379e+00 -4.51963651365242e-01 + 1.26000000000000e+02 -5.88097883889968e-01 9.79476039224861e-01 -4.46320147916898e-01 + 1.29000000000000e+02 -6.19551051959611e-01 9.03691990090244e-01 -4.41015754695827e-01 + 1.32000000000000e+02 -6.48057050875903e-01 8.26351001911627e-01 -4.36207139878165e-01 + 1.35000000000000e+02 -6.72876491919531e-01 7.47874730212582e-01 -4.32363202318299e-01 + 1.38000000000000e+02 -6.94574008880946e-01 6.69588003211172e-01 -4.28519264801468e-01 + 1.41000000000000e+02 -7.14412470826591e-01 5.92145558711669e-01 -4.25249806728838e-01 + 1.44000000000000e+02 -7.32722201977660e-01 5.15934068684593e-01 -4.22751049476045e-01 + 1.47000000000000e+02 -7.50443575482131e-01 4.43016767221693e-01 -4.20346856774768e-01 + 1.50000000000000e+02 -7.09078781261518e-01 3.72562354853516e-01 -4.16279946005650e-01 + 1.53000000000000e+02 -6.38170903055494e-01 3.06742155077266e-01 -3.95585854638999e-01 + 1.56000000000000e+02 -5.67263024849471e-01 2.45847323942745e-01 -3.73229045212350e-01 + 1.59000000000000e+02 -4.96355146643446e-01 1.90143998922178e-01 -3.50872235785700e-01 + 1.62000000000000e+02 -4.25447268437423e-01 1.40636124349672e-01 -3.74735973053744e-01 + 1.65000000000000e+02 -3.54539390231399e-01 9.81315663888162e-02 -4.21709983289917e-01 + 1.68000000000000e+02 -2.83631512025374e-01 6.23519280822543e-02 -4.68683993526091e-01 + 1.71000000000000e+02 -2.12723633819350e-01 3.53980714785814e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.41815755613326e-01 2.95870407694700e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -7.09078783383423e-02 2.59899654394449e-02 -1.50000000451309e-01 + 1.80000000000000e+02 4.85722573273506e-18 2.46414625588597e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_46.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_46.dat new file mode 100644 index 0000000..b4770b9 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_46.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF46_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF46_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-3.025329 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.013459 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-13.995972 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.762036 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.135601 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.006831 Cd0 ! 2D drag coefficient value at 0-lift. +-0.079741 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 4.85722573273506e-18 2.46414625588597e-02 0.00000000000000e+00 +-1.77000000000000e+02 7.09078783383423e-02 2.59899654394449e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.41815755613326e-01 2.95870407694700e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.12724023589752e-01 3.53981062097947e-02 3.60000658682385e-01 +-1.68000000000000e+02 2.83635114323999e-01 6.23536246130750e-02 3.88683131002858e-01 +-1.65000000000000e+02 3.54539390231399e-01 9.81315663888160e-02 3.71709983123391e-01 +-1.62000000000000e+02 4.25451140020828e-01 1.40638541882525e-01 3.54735046137367e-01 +-1.59000000000000e+02 4.96351238664441e-01 1.90141020854771e-01 3.50871003624422e-01 +-1.56000000000000e+02 5.67264876246885e-01 2.45848849126870e-01 3.73229628946347e-01 +-1.53000000000000e+02 6.38171661458157e-01 3.06742822712792e-01 3.95586093758603e-01 +-1.50000000000000e+02 7.09078781261519e-01 3.72562354853516e-01 4.16279946005650e-01 +-1.47000000000000e+02 7.50443575482131e-01 4.43016767221693e-01 4.20346856774768e-01 +-1.44000000000000e+02 7.32722201977660e-01 5.15934068684593e-01 4.22751049476045e-01 +-1.41000000000000e+02 7.14412470826591e-01 5.92145558711669e-01 4.25249806728838e-01 +-1.38000000000000e+02 6.94574008880946e-01 6.69588003211173e-01 4.28519264801468e-01 +-1.35000000000000e+02 6.72876491919531e-01 7.47874730212582e-01 4.32363202318299e-01 +-1.32000000000000e+02 6.48057050875902e-01 8.26351001911627e-01 4.36207139878165e-01 +-1.29000000000000e+02 6.19551051959611e-01 9.03691990090244e-01 4.41015754695827e-01 +-1.26000000000000e+02 5.88097883889968e-01 9.79476039224861e-01 4.46320147916898e-01 +-1.23000000000000e+02 5.53641368004556e-01 1.05332349010379e+00 4.51963651365242e-01 +-1.20000000000000e+02 5.14577730079261e-01 1.12283400240132e+00 4.57221478466790e-01 +-1.17000000000000e+02 4.72470346873147e-01 1.18834261738102e+00 4.61630817409231e-01 +-1.14000000000000e+02 4.27675415731853e-01 1.24975699822349e+00 4.65615912292485e-01 +-1.11000000000000e+02 3.79966296232926e-01 1.30593816517334e+00 4.69601007215107e-01 +-1.08000000000000e+02 3.29167434663816e-01 1.35443145187167e+00 4.70624689513598e-01 +-1.05000000000000e+02 2.76680648972375e-01 1.39714437494550e+00 4.70979456271530e-01 +-1.02000000000000e+02 2.22716812230383e-01 1.43386877398686e+00 4.70718887134564e-01 +-9.90000000000000e+01 1.67323513736515e-01 1.46177719221746e+00 4.68714600495400e-01 +-9.60000000000000e+01 1.11442067459277e-01 1.48140709264988e+00 4.64514521421943e-01 +-9.30000000000000e+01 5.55807418230594e-02 1.49417607499090e+00 4.59628257189905e-01 +-9.00000000000000e+01 -2.17720385095452e-10 1.49999999997719e+00 4.54741992894100e-01 +-8.70000000000000e+01 -5.55807414898173e-02 1.49417607502582e+00 4.44256194940782e-01 +-8.40000000000000e+01 -1.11442067307830e-01 1.48140709269595e+00 4.33770396897690e-01 +-8.10000000000000e+01 -1.67323514170487e-01 1.46177719199882e+00 4.22751815715067e-01 +-7.80000000000000e+01 -2.22716812664355e-01 1.43386877376821e+00 4.10028328729202e-01 +-7.50000000000000e+01 -2.76680648756403e-01 1.39714437509904e+00 3.95950945859518e-01 +-7.20000000000000e+01 -3.29167434424632e-01 1.35443145209476e+00 3.81456984926632e-01 +-6.90000000000000e+01 -3.79966296543858e-01 1.30593816480719e+00 3.66569710870844e-01 +-6.60000000000000e+01 -4.27675415382966e-01 1.24975699863433e+00 3.49941167676215e-01 +-6.30000000000000e+01 -4.72470346812693e-01 1.18834261746902e+00 3.33312624317319e-01 +-6.00000000000000e+01 -5.14577730205217e-01 1.12283400217720e+00 3.16533804218062e-01 +-5.70000000000000e+01 -5.53641367590261e-01 1.05332349084099e+00 2.99454430776818e-01 +-5.40000000000000e+01 -5.88097883955245e-01 9.79476039083604e-01 2.82238441882844e-01 +-5.10000000000000e+01 -6.19551052189733e-01 9.03691989486419e-01 2.65101376417570e-01 +-4.80000000000000e+01 -6.48057051004965e-01 8.26351001503544e-01 2.48082937508914e-01 +-4.50000000000000e+01 -6.72876491705341e-01 7.47874730889827e-01 2.31295319956564e-01 +-4.20000000000000e+01 -6.57074008879510e-01 6.69588003216531e-01 2.14507702216265e-01 +-3.90000000000000e+01 -6.39412470861568e-01 5.92145558566002e-01 1.89164063976627e-01 +-3.60000000000000e+01 -6.20222201789713e-01 5.15934069457928e-01 1.52341978697799e-01 +-3.30000000000000e+01 -6.00443575539271e-01 4.43016766986580e-01 1.14111494476316e-01 +-3.00000000000000e+01 -6.18855350575448e-01 3.52809999241618e-01 8.33188997922929e-02 +-2.93939393939394e+01 -6.26432517259429e-01 3.32839999218799e-01 7.78494755436190e-02 +-2.87878787878788e+01 -6.34009683943411e-01 3.12869999195980e-01 7.23800512949450e-02 +-2.81818181818182e+01 -6.42318266000014e-01 2.92899999173161e-01 6.69106270462710e-02 +-2.75757575757576e+01 -6.84834617403760e-01 2.71284999274155e-01 6.00945088504803e-02 +-2.69696969696970e+01 -7.39415383187943e-01 2.48964999568361e-01 5.27012362206603e-02 +-2.63636363636364e+01 -7.94821209799019e-01 2.26644999862567e-01 4.53079635908404e-02 +-2.57575757575758e+01 -8.51052097236989e-01 2.04325000156773e-01 3.79146909610205e-02 +-2.51515151515151e+01 -9.08108045501852e-01 1.82005000450979e-01 3.05214183312005e-02 +-2.45454545454545e+01 -9.69820166475020e-01 1.59685000745185e-01 2.31281457013806e-02 +-2.39393939393939e+01 -1.02831758915447e+00 1.38746226141576e-01 1.61713243791283e-02 +-2.33333333333333e+01 -1.04546117732436e+00 1.30238483707612e-01 1.31425667999098e-02 +-2.27272727272727e+01 -1.06260476549424e+00 1.21730741273648e-01 1.01138092206914e-02 +-2.21212121212121e+01 -1.07974835366413e+00 1.13222998839684e-01 7.08505164147293e-03 +-2.15151515151515e+01 -1.09689194183401e+00 1.04715256405720e-01 4.05629406225448e-03 +-2.09090909090909e+01 -1.11403553000390e+00 9.62075139717558e-02 1.02753648303605e-03 +-2.03030303030303e+01 -1.13117911817379e+00 8.76997715377919e-02 -2.00122109618240e-03 +-1.96969696969697e+01 -1.14208690733527e+00 8.06649456610962e-02 -4.00059996397744e-03 +-1.90909090909091e+01 -1.14675889654779e+00 7.51030365638317e-02 -4.97059996508582e-03 +-1.84848484848485e+01 -1.15143088576031e+00 6.95411274665672e-02 -5.94059996619421e-03 +-1.78787878787879e+01 -1.15543091393613e+00 6.41091941049719e-02 -6.84363937252776e-03 +-1.72727272727273e+01 -1.15674309739505e+00 5.91971637963288e-02 -7.47883634295054e-03 +-1.66666666666667e+01 -1.15805528085397e+00 5.42851334876857e-02 -8.11403331337333e-03 +-1.60606060606061e+01 -1.15936746431289e+00 4.93731031790426e-02 -8.74923028379612e-03 +-1.54545454545455e+01 -1.16042564646535e+00 4.48701910389722e-02 -9.41178179878783e-03 +-1.48484848484848e+01 -1.16145560624096e+00 4.04127364884243e-02 -1.00773727086393e-02 +-1.42424242424242e+01 -1.16248556601658e+00 3.59552819378763e-02 -1.07429636184907e-02 +-1.36363636363636e+01 -1.15122871669181e+00 3.18363728273672e-02 -1.31325999090123e-02 +-1.30303030303030e+01 -1.13178066039923e+00 2.79431607017064e-02 -1.66715999130562e-02 +-1.24242424242424e+01 -1.11233260410665e+00 2.40499485760457e-02 -2.02105999171001e-02 +-1.18181818181818e+01 -1.07913068002810e+00 2.06459636867756e-02 -2.46224089472267e-02 +-1.12121212121212e+01 -1.01383639432476e+00 1.83835091387359e-02 -3.10707725909586e-02 +-1.06060606060606e+01 -9.48542108621422e-01 1.61210545906961e-02 -3.75191362346906e-02 +-1.00000000000000e+01 -8.83247822918082e-01 1.38586000426563e-02 -4.39674998784226e-02 +-9.39393939393939e+00 -8.06721706792220e-01 1.29178424409045e-02 -4.80862878058387e-02 +-8.78787878787879e+00 -7.30195590454592e-01 1.19770848640719e-02 -5.22050756893329e-02 +-8.18181818181818e+00 -6.53669474116965e-01 1.10363272872394e-02 -5.63238635728272e-02 +-7.57575757575758e+00 -5.76947212323669e-01 1.03429454629350e-02 -5.96627241995084e-02 +-6.96969696969697e+00 -5.00140888186191e-01 9.75558182590017e-03 -6.26673302635478e-02 +-6.36363636363636e+00 -4.23334564048713e-01 9.16821818886537e-03 -6.56719363275871e-02 +-5.75757575757576e+00 -3.46283646059290e-01 8.59835030893152e-03 -6.86055120905238e-02 +-5.15151515151515e+00 -2.68865837274657e-01 8.05472606588610e-03 -7.14325423967844e-02 +-4.54545454545454e+00 -1.91448028490024e-01 7.51110182284068e-03 -7.42595727030451e-02 +-3.93939393939394e+00 -1.14200091471482e-01 7.00998030391116e-03 -7.69865090773461e-02 +-3.33333333333333e+00 -3.84810004758693e-02 6.89138333407868e-03 -7.88125999885236e-02 +-2.72727272727273e+00 3.72380905197434e-02 6.77278636424619e-03 -8.06386908997012e-02 +-2.12121212121212e+00 1.12957181515356e-01 6.65418939441370e-03 -8.24647818108787e-02 +-1.51515151515152e+00 1.88075541151895e-01 6.63685060622061e-03 -8.40490060911751e-02 +-9.09090909090912e-01 2.63004911462979e-01 6.64880545596898e-03 -8.55649182425272e-02 +-3.03030303030302e-01 3.37714378453497e-01 6.68330848532299e-03 -8.70363727475091e-02 + 3.03030303030302e-01 4.12253503297187e-01 6.73317515061806e-03 -8.84792514957012e-02 + 9.09090909090912e-01 4.86622285994050e-01 6.79840545185419e-03 -8.98935544871035e-02 + 1.51515151515152e+00 5.60600394510393e-01 6.89597181611000e-03 -9.12574757303916e-02 + 2.12121212121212e+00 6.34407018287872e-01 7.00580454521911e-03 -9.25993787856478e-02 + 2.72727272727273e+00 7.07803473227498e-01 7.14187726874912e-03 -9.38887726895767e-02 + 3.33333333333333e+00 7.80790068054885e-01 7.30700999523420e-03 -9.51338333028380e-02 + 3.93939393939394e+00 8.53441322734058e-01 7.49591909177100e-03 -9.63426212176364e-02 + 4.54545454545455e+00 9.25121320614754e-01 7.75680635900802e-03 -9.74543727083216e-02 + 5.15151515151515e+00 9.96141554198262e-01 8.07410937988024e-03 -9.85062817906832e-02 + 5.75757575757576e+00 1.06550624679511e+00 8.53666696941767e-03 -9.94110090903628e-02 + 6.36363636363637e+00 1.13363721606369e+00 9.07144999697415e-03 -1.00199845450852e-01 + 6.96969696969697e+00 1.20094570315220e+00 9.65438331427377e-03 -1.00911421188856e-01 + 7.57575757575757e+00 1.26527942235976e+00 1.04239369651998e-02 -1.01342315149114e-01 + 8.18181818181818e+00 1.32895865025634e+00 1.12068272781317e-02 -1.01712963638171e-01 + 8.78787878787879e+00 1.39147605447747e+00 1.19979181654635e-02 -1.01977509085440e-01 + 9.39393939393939e+00 1.45234682056326e+00 1.28306878694348e-02 -1.02093578787484e-01 + 1.00000000000000e+01 1.51233093516081e+00 1.36859000183078e-02 -1.02129699995493e-01 + 1.06060606060606e+01 1.56878724997608e+00 1.46569302946297e-02 -1.01890669699038e-01 + 1.12121212121212e+01 1.62364900235313e+00 1.56874817998069e-02 -1.01551327281192e-01 + 1.18181818181818e+01 1.67554942414245e+00 1.68285727428916e-02 -1.01025690901896e-01 + 1.24242424242424e+01 1.72178185119283e+00 1.82589121264519e-02 -1.00229727269653e-01 + 1.30303030303030e+01 1.76486781982916e+00 1.98550060097699e-02 -9.92979000279053e-02 + 1.36363636363636e+01 1.79432473854146e+00 2.22451272930941e-02 -9.79858999888201e-02 + 1.42424242424242e+01 1.81145520058088e+00 2.54394667344084e-02 -9.64468939104616e-02 + 1.48484848484848e+01 1.81009597964448e+00 2.98401332800337e-02 -9.45673788106429e-02 + 1.54545454545455e+01 1.78159792793838e+00 3.64364818427673e-02 -9.28892272673224e-02 + 1.60606060606061e+01 1.74197253416534e+00 4.40704518296318e-02 -9.14690181908170e-02 + 1.66666666666667e+01 1.68361756862178e+00 5.44559669930141e-02 -9.17662000093384e-02 + 1.72727272727273e+01 1.62526260307823e+00 6.48414821563965e-02 -9.20633818278598e-02 + 1.78787878787879e+01 1.56690763753468e+00 7.52269973197788e-02 -9.23605636463812e-02 + 1.84848484848485e+01 1.52209134583016e+00 8.57193488514518e-02 -9.39441697633689e-02 + 1.90909090909091e+01 1.48065972186750e+00 9.62384094695321e-02 -9.58493818867580e-02 + 1.96969696969697e+01 1.43922809790483e+00 1.06757470087612e-01 -9.77545940101472e-02 + 2.03030303030303e+01 1.40362321750978e+00 1.17476318599776e-01 -1.00146200110168e-01 + 2.09090909090909e+01 1.37384507980347e+00 1.28394954975889e-01 -1.03024200113457e-01 + 2.15151515151515e+01 1.34406694209717e+00 1.39313591352002e-01 -1.05902200116745e-01 + 2.21212121212121e+01 1.31428880439087e+00 1.50232227728114e-01 -1.08780200120034e-01 + 2.27272727272727e+01 1.28451066668457e+00 1.61150864104227e-01 -1.11658200123322e-01 + 2.33333333333333e+01 1.25473252897827e+00 1.72069500480340e-01 -1.14536200126611e-01 + 2.39393939393939e+01 1.22495439127196e+00 1.82988136856453e-01 -1.17414200129899e-01 + 2.45454545454545e+01 1.19299909963680e+00 1.96599818646254e-01 -1.21514181959599e-01 + 2.51515151515151e+01 1.16255494901253e+00 2.10510727553799e-01 -1.25749939479524e-01 + 2.57575757575758e+01 1.13777083151068e+00 2.24421636461345e-01 -1.29985696999448e-01 + 2.63636363636364e+01 1.11602227286036e+00 2.38332545368891e-01 -1.34221454519373e-01 + 2.69696969696970e+01 1.10198439435737e+00 2.52243454276436e-01 -1.38457212039298e-01 + 2.75757575757576e+01 1.08794651585439e+00 2.66154363183982e-01 -1.42692969559223e-01 + 2.81818181818182e+01 1.07084186495451e+00 2.82383771831320e-01 -1.47339908858783e-01 + 2.87878787878788e+01 1.04658141037268e+00 3.04023014280290e-01 -1.52946272501553e-01 + 2.93939393939394e+01 1.02232095579085e+00 3.25662256729258e-01 -1.58552636144323e-01 + 3.00000000000000e+01 9.98060501209013e-01 3.47301499178227e-01 -1.64158999787093e-01 + 3.30000000000000e+01 9.22062250770388e-01 4.43016766986580e-01 -1.89050377014450e-01 + 3.60000000000000e+01 9.34246002556734e-01 5.15934069457928e-01 -2.08221508455227e-01 + 3.90000000000000e+01 9.45589244087954e-01 5.92145558566002e-01 -2.27204042284425e-01 + 4.20000000000000e+01 9.54748584113586e-01 6.69588003216532e-01 -2.44649507771081e-01 + 4.50000000000000e+01 9.61252131007629e-01 7.47874730889827e-01 -2.60949244350105e-01 + 4.80000000000000e+01 9.25795787149951e-01 8.26351001503544e-01 -2.77248980746643e-01 + 5.10000000000000e+01 8.85072931699619e-01 9.03691989486419e-01 -2.92826828648911e-01 + 5.40000000000000e+01 8.40139834221778e-01 9.79476039083604e-01 -3.08033675125759e-01 + 5.70000000000000e+01 7.90916239414658e-01 1.05332349084099e+00 -3.22957806949482e-01 + 6.00000000000000e+01 7.35111043150310e-01 1.12283400217720e+00 -3.37591520807121e-01 + 6.30000000000000e+01 6.74957638303847e-01 1.18834261746902e+00 -3.51586315701813e-01 + 6.60000000000000e+01 6.10964879118523e-01 1.24975699863433e+00 -3.65261651053213e-01 + 6.90000000000000e+01 5.42808995062654e-01 1.30593816480719e+00 -3.78936986269520e-01 + 7.20000000000000e+01 4.70239192035188e-01 1.35443145209476e+00 -3.91247379618790e-01 + 7.50000000000000e+01 3.95258069652003e-01 1.39714437509904e+00 -4.03249463617085e-01 + 7.80000000000000e+01 3.18166875234793e-01 1.43386877376821e+00 -4.14964097416413e-01 + 8.10000000000000e+01 2.39033591672124e-01 1.46177719199882e+00 -4.25852018664857e-01 + 8.40000000000000e+01 1.59202953296899e-01 1.48140709269595e+00 -4.35698894587758e-01 + 8.70000000000000e+01 7.94010592711672e-02 1.49417607502582e+00 -4.45220443783577e-01 + 9.00000000000000e+01 3.11028980348738e-10 1.49999999997719e+00 -4.54741992897877e-01 + 9.30000000000000e+01 -5.55807418230592e-02 1.49417607499090e+00 -4.59628257189905e-01 + 9.60000000000000e+01 -1.11442067459277e-01 1.48140709264988e+00 -4.64514521421943e-01 + 9.90000000000000e+01 -1.67323513736515e-01 1.46177719221746e+00 -4.68714600495400e-01 + 1.02000000000000e+02 -2.22716812230383e-01 1.43386877398686e+00 -4.70718887134564e-01 + 1.05000000000000e+02 -2.76680648972375e-01 1.39714437494550e+00 -4.70979456271530e-01 + 1.08000000000000e+02 -3.29167434663816e-01 1.35443145187167e+00 -4.70624689513598e-01 + 1.11000000000000e+02 -3.79966296232927e-01 1.30593816517334e+00 -4.69601007215107e-01 + 1.14000000000000e+02 -4.27675415731853e-01 1.24975699822349e+00 -4.65615912292485e-01 + 1.17000000000000e+02 -4.72470346873147e-01 1.18834261738102e+00 -4.61630817409231e-01 + 1.20000000000000e+02 -5.14577730079261e-01 1.12283400240132e+00 -4.57221478466790e-01 + 1.23000000000000e+02 -5.53641368004556e-01 1.05332349010379e+00 -4.51963651365242e-01 + 1.26000000000000e+02 -5.88097883889968e-01 9.79476039224861e-01 -4.46320147916898e-01 + 1.29000000000000e+02 -6.19551051959611e-01 9.03691990090244e-01 -4.41015754695827e-01 + 1.32000000000000e+02 -6.48057050875903e-01 8.26351001911627e-01 -4.36207139878165e-01 + 1.35000000000000e+02 -6.72876491919531e-01 7.47874730212582e-01 -4.32363202318299e-01 + 1.38000000000000e+02 -6.94574008880946e-01 6.69588003211172e-01 -4.28519264801468e-01 + 1.41000000000000e+02 -7.14412470826591e-01 5.92145558711669e-01 -4.25249806728838e-01 + 1.44000000000000e+02 -7.32722201977660e-01 5.15934068684593e-01 -4.22751049476045e-01 + 1.47000000000000e+02 -7.50443575482131e-01 4.43016767221693e-01 -4.20346856774768e-01 + 1.50000000000000e+02 -7.09078781261518e-01 3.72562354853516e-01 -4.16279946005650e-01 + 1.53000000000000e+02 -6.38170903055494e-01 3.06742155077266e-01 -3.95585854638999e-01 + 1.56000000000000e+02 -5.67263024849471e-01 2.45847323942745e-01 -3.73229045212350e-01 + 1.59000000000000e+02 -4.96355146643446e-01 1.90143998922178e-01 -3.50872235785700e-01 + 1.62000000000000e+02 -4.25447268437423e-01 1.40636124349672e-01 -3.74735973053744e-01 + 1.65000000000000e+02 -3.54539390231399e-01 9.81315663888162e-02 -4.21709983289917e-01 + 1.68000000000000e+02 -2.83631512025374e-01 6.23519280822543e-02 -4.68683993526091e-01 + 1.71000000000000e+02 -2.12723633819350e-01 3.53980714785814e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.41815755613326e-01 2.95870407694700e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -7.09078783383423e-02 2.59899654394449e-02 -1.50000000451309e-01 + 1.80000000000000e+02 4.85722573273506e-18 2.46414625588597e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_47.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_47.dat new file mode 100644 index 0000000..f3a57ee --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_47.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF47_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF47_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-3.025329 alpha0 ! 0-lift angle of attack, depends on airfoil. +14.006163 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-13.991505 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.761329 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.135112 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.006831 Cd0 ! 2D drag coefficient value at 0-lift. +-0.079741 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 4.85722573273506e-18 2.46414625588597e-02 0.00000000000000e+00 +-1.77000000000000e+02 7.09078783383423e-02 2.59899654394449e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.41815755613326e-01 2.95870407694700e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.12724023589752e-01 3.53981062097947e-02 3.60000658682385e-01 +-1.68000000000000e+02 2.83635114323999e-01 6.23536246130750e-02 3.88683131002858e-01 +-1.65000000000000e+02 3.54539390231399e-01 9.81315663888160e-02 3.71709983123391e-01 +-1.62000000000000e+02 4.25451140020828e-01 1.40638541882525e-01 3.54735046137367e-01 +-1.59000000000000e+02 4.96351238664441e-01 1.90141020854771e-01 3.50871003624422e-01 +-1.56000000000000e+02 5.67264876246885e-01 2.45848849126870e-01 3.73229628946347e-01 +-1.53000000000000e+02 6.38171661458157e-01 3.06742822712792e-01 3.95586093758603e-01 +-1.50000000000000e+02 7.09078781261519e-01 3.72562354853516e-01 4.16279946005650e-01 +-1.47000000000000e+02 7.50443575482131e-01 4.43016767221693e-01 4.20346856774768e-01 +-1.44000000000000e+02 7.32722201977660e-01 5.15934068684593e-01 4.22751049476045e-01 +-1.41000000000000e+02 7.14412470826591e-01 5.92145558711669e-01 4.25249806728838e-01 +-1.38000000000000e+02 6.94574008880946e-01 6.69588003211173e-01 4.28519264801468e-01 +-1.35000000000000e+02 6.72876491919531e-01 7.47874730212582e-01 4.32363202318299e-01 +-1.32000000000000e+02 6.48057050875902e-01 8.26351001911627e-01 4.36207139878165e-01 +-1.29000000000000e+02 6.19551051959611e-01 9.03691990090244e-01 4.41015754695827e-01 +-1.26000000000000e+02 5.88097883889968e-01 9.79476039224861e-01 4.46320147916898e-01 +-1.23000000000000e+02 5.53641368004556e-01 1.05332349010379e+00 4.51963651365242e-01 +-1.20000000000000e+02 5.14577730079261e-01 1.12283400240132e+00 4.57221478466790e-01 +-1.17000000000000e+02 4.72470346873147e-01 1.18834261738102e+00 4.61630817409231e-01 +-1.14000000000000e+02 4.27675415731853e-01 1.24975699822349e+00 4.65615912292485e-01 +-1.11000000000000e+02 3.79966296232926e-01 1.30593816517334e+00 4.69601007215107e-01 +-1.08000000000000e+02 3.29167434663816e-01 1.35443145187167e+00 4.70624689513598e-01 +-1.05000000000000e+02 2.76680648972375e-01 1.39714437494550e+00 4.70979456271530e-01 +-1.02000000000000e+02 2.22716812230383e-01 1.43386877398686e+00 4.70718887134564e-01 +-9.90000000000000e+01 1.67323513736515e-01 1.46177719221746e+00 4.68714600495400e-01 +-9.60000000000000e+01 1.11442067459277e-01 1.48140709264988e+00 4.64514521421943e-01 +-9.30000000000000e+01 5.55807418230594e-02 1.49417607499090e+00 4.59628257189905e-01 +-9.00000000000000e+01 -2.17720385095452e-10 1.49999999997719e+00 4.54741992894100e-01 +-8.70000000000000e+01 -5.55807414898173e-02 1.49417607502582e+00 4.44256194940782e-01 +-8.40000000000000e+01 -1.11442067307830e-01 1.48140709269595e+00 4.33770396897690e-01 +-8.10000000000000e+01 -1.67323514170487e-01 1.46177719199882e+00 4.22751815715067e-01 +-7.80000000000000e+01 -2.22716812664355e-01 1.43386877376821e+00 4.10028328729202e-01 +-7.50000000000000e+01 -2.76680648756403e-01 1.39714437509904e+00 3.95950945859518e-01 +-7.20000000000000e+01 -3.29167434424632e-01 1.35443145209476e+00 3.81456984926632e-01 +-6.90000000000000e+01 -3.79966296543858e-01 1.30593816480719e+00 3.66569710870844e-01 +-6.60000000000000e+01 -4.27675415382966e-01 1.24975699863433e+00 3.49941167676215e-01 +-6.30000000000000e+01 -4.72470346812693e-01 1.18834261746902e+00 3.33312624317319e-01 +-6.00000000000000e+01 -5.14577730205217e-01 1.12283400217720e+00 3.16533804218062e-01 +-5.70000000000000e+01 -5.53641367590261e-01 1.05332349084099e+00 2.99454430776818e-01 +-5.40000000000000e+01 -5.88097883955245e-01 9.79476039083604e-01 2.82238441882844e-01 +-5.10000000000000e+01 -6.19551052189733e-01 9.03691989486419e-01 2.65101376417570e-01 +-4.80000000000000e+01 -6.48057051004965e-01 8.26351001503544e-01 2.48082937508914e-01 +-4.50000000000000e+01 -6.72876491705341e-01 7.47874730889827e-01 2.31295319956564e-01 +-4.20000000000000e+01 -6.57074008879510e-01 6.69588003216531e-01 2.14507702216265e-01 +-3.90000000000000e+01 -6.39412470861568e-01 5.92145558566002e-01 1.89164063976627e-01 +-3.60000000000000e+01 -6.20222201789713e-01 5.15934069457928e-01 1.52341978697799e-01 +-3.30000000000000e+01 -6.00443575539271e-01 4.43016766986580e-01 1.14111494476316e-01 +-3.00000000000000e+01 -6.18855350575448e-01 3.52809999241618e-01 8.33188997922929e-02 +-2.93939393939394e+01 -6.26432517259429e-01 3.32839999218799e-01 7.78494755436190e-02 +-2.87878787878788e+01 -6.34009683943411e-01 3.12869999195980e-01 7.23800512949450e-02 +-2.81818181818182e+01 -6.41586850627392e-01 2.92899999173161e-01 6.69106270462710e-02 +-2.75757575757576e+01 -6.80401485978738e-01 2.71284999274155e-01 6.00945088504803e-02 +-2.69696969696970e+01 -7.35091961127977e-01 2.48964999568361e-01 5.27012362206603e-02 +-2.63636363636364e+01 -7.90625238632896e-01 2.26644999862567e-01 4.53079635908404e-02 +-2.57575757575758e+01 -8.47001318493495e-01 2.04325000156773e-01 3.79146909610205e-02 +-2.51515151515151e+01 -9.04220200709775e-01 1.82005000450979e-01 3.05214183312005e-02 +-2.45454545454545e+01 -9.66195378703412e-01 1.59685000745185e-01 2.31281457013806e-02 +-2.39393939393939e+01 -1.02497584662598e+00 1.38746226141576e-01 1.61713243791283e-02 +-2.33333333333333e+01 -1.04231527015831e+00 1.30238483707612e-01 1.31425667999098e-02 +-2.27272727272727e+01 -1.05965469369063e+00 1.21730741273648e-01 1.01138092206914e-02 +-2.21212121212121e+01 -1.07699411722296e+00 1.13222998839684e-01 7.08505164147293e-03 +-2.15151515151515e+01 -1.09433354075528e+00 1.04715256405720e-01 4.05629406225448e-03 +-2.09090909090909e+01 -1.11167296428761e+00 9.62075139717558e-02 1.02753648303605e-03 +-2.03030303030303e+01 -1.12901238781993e+00 8.76997715377919e-02 -2.00122109618240e-03 +-1.96969696969697e+01 -1.14010286185143e+00 8.06649456610962e-02 -4.00059996397744e-03 +-1.90909090909091e+01 -1.14494438543956e+00 7.51030365638317e-02 -4.97059996508582e-03 +-1.84848484848485e+01 -1.14978590902768e+00 6.95411274665672e-02 -5.94059996619421e-03 +-1.78787878787879e+01 -1.15395405450032e+00 6.41091941049719e-02 -6.84363937252776e-03 +-1.72727272727273e+01 -1.15542868693969e+00 5.91971637963288e-02 -7.47883634295054e-03 +-1.66666666666667e+01 -1.15690331937905e+00 5.42851334876857e-02 -8.11403331337333e-03 +-1.60606060606061e+01 -1.15837795181842e+00 4.93731031790426e-02 -8.74923028379612e-03 +-1.54545454545455e+01 -1.15959804729547e+00 4.48701910389722e-02 -9.41178179878783e-03 +-1.48484848484848e+01 -1.16078986087834e+00 4.04127364884243e-02 -1.00773727086393e-02 +-1.42424242424242e+01 -1.16198167446121e+00 3.59552819378763e-02 -1.07429636184907e-02 +-1.36363636363636e+01 -1.15086076765473e+00 3.18363728273672e-02 -1.31325999090123e-02 +-1.30303030303030e+01 -1.13153137968591e+00 2.79431607017064e-02 -1.66715999130562e-02 +-1.24242424242424e+01 -1.11220199171708e+00 2.40499485760457e-02 -2.02105999171001e-02 +-1.18181818181818e+01 -1.07908973083658e+00 2.06459636867756e-02 -2.46224089472267e-02 +-1.12121212121212e+01 -1.01381742969734e+00 1.83835091387359e-02 -3.10707725909586e-02 +-1.06060606060606e+01 -9.48545128558104e-01 1.61210545906961e-02 -3.75191362346906e-02 +-1.00000000000000e+01 -8.83272827418866e-01 1.38586000426563e-02 -4.39674998784226e-02 +-9.39393939393939e+00 -8.06745009381533e-01 1.29178424409045e-02 -4.80862878058387e-02 +-8.78787878787879e+00 -7.30217191131988e-01 1.19770848640719e-02 -5.22050756893329e-02 +-8.18181818181818e+00 -6.53689372882443e-01 1.10363272872394e-02 -5.63238635728272e-02 +-7.57575757575758e+00 -5.76964995531869e-01 1.03429454629350e-02 -5.96627241995084e-02 +-6.96969696969697e+00 -5.00156378560517e-01 9.75558182590017e-03 -6.26673302635478e-02 +-6.36363636363636e+00 -4.23347761589166e-01 9.16821818886537e-03 -6.56719363275871e-02 +-5.75757575757576e+00 -3.46294034949116e-01 8.59835030893152e-03 -6.86055120905238e-02 +-5.15151515151515e+00 -2.68872643788690e-01 8.05472606588610e-03 -7.14325423967844e-02 +-4.54545454545454e+00 -1.91451252628264e-01 7.51110182284068e-03 -7.42595727030451e-02 +-3.93939393939394e+00 -1.14200091471482e-01 7.00998030391116e-03 -7.69865090773461e-02 +-3.33333333333333e+00 -3.84810004758693e-02 6.89138333407868e-03 -7.88125999885236e-02 +-2.72727272727273e+00 3.72380905197434e-02 6.77278636424619e-03 -8.06386908997012e-02 +-2.12121212121212e+00 1.12957181515356e-01 6.65418939441370e-03 -8.24647818108787e-02 +-1.51515151515152e+00 1.88074274287268e-01 6.63685060622061e-03 -8.40490060911751e-02 +-9.09090909090912e-01 2.63001979179715e-01 6.64880545596898e-03 -8.55649182425272e-02 +-3.03030303030302e-01 3.37709317003977e-01 6.68330848532299e-03 -8.70363727475091e-02 + 3.03030303030302e-01 4.12245953451887e-01 6.73317515061806e-03 -8.84792514957012e-02 + 9.09090909090912e-01 4.86611888523445e-01 6.79840545185419e-03 -8.98935544871035e-02 + 1.51515151515152e+00 5.60586325533237e-01 6.89597181611000e-03 -9.12574757303916e-02 + 2.12121212121212e+00 6.34388916165063e-01 7.00580454521911e-03 -9.25993787856478e-02 + 2.72727272727273e+00 7.07780472966083e-01 7.14187726874912e-03 -9.38887726895767e-02 + 3.33333333333333e+00 7.80761305312974e-01 7.30700999523420e-03 -9.51338333028380e-02 + 3.93939393939394e+00 8.53406090322714e-01 7.49591909177100e-03 -9.63426212176364e-02 + 4.54545454545455e+00 9.25077570279189e-01 7.75680635900802e-03 -9.74543727083216e-02 + 5.15151515151515e+00 9.96087894581028e-01 8.07410937988024e-03 -9.85062817906832e-02 + 5.75757575757576e+00 1.06543918657470e+00 8.53666696941767e-03 -9.94110090903628e-02 + 6.36363636363637e+00 1.13355415347740e+00 9.07144999697415e-03 -1.00199845450852e-01 + 6.96969696969697e+00 1.20084490369164e+00 9.65438331427377e-03 -1.00911421188856e-01 + 7.57575757575757e+00 1.26515461262477e+00 1.04239369651998e-02 -1.01342315149114e-01 + 8.18181818181818e+00 1.32880845000953e+00 1.12068272781317e-02 -1.01712963638171e-01 + 8.78787878787879e+00 1.39129801358318e+00 1.19979181654635e-02 -1.01977509085440e-01 + 9.39393939393939e+00 1.45213746647495e+00 1.28306878694348e-02 -1.02093578787484e-01 + 1.00000000000000e+01 1.51208839804532e+00 1.36859000183078e-02 -1.02129699995493e-01 + 1.06060606060606e+01 1.56850409016062e+00 1.46569302946297e-02 -1.01890669699038e-01 + 1.12121212121212e+01 1.62332185711204e+00 1.56874817998069e-02 -1.01551327281192e-01 + 1.18181818181818e+01 1.67517204841309e+00 1.68285727428916e-02 -1.01025690901896e-01 + 1.24242424242424e+01 1.72134229190843e+00 1.82589121264519e-02 -1.00229727269653e-01 + 1.30303030303030e+01 1.76435944151647e+00 1.98550060097699e-02 -9.92979000279053e-02 + 1.36363636363636e+01 1.79371879929948e+00 2.22451272930941e-02 -9.79858999888201e-02 + 1.42424242424242e+01 1.81072570550904e+00 2.54394667344084e-02 -9.64468939104616e-02 + 1.48484848484848e+01 1.80920393639624e+00 2.98401332800337e-02 -9.45673788106429e-02 + 1.54545454545455e+01 1.78048610423478e+00 3.64364818427673e-02 -9.28892272673224e-02 + 1.60606060606061e+01 1.74061746388321e+00 4.40704518296318e-02 -9.14690181908170e-02 + 1.66666666666667e+01 1.68197975352019e+00 5.44559669930141e-02 -9.17662000093384e-02 + 1.72727272727273e+01 1.62334204315716e+00 6.48414821563965e-02 -9.20633818278598e-02 + 1.78787878787879e+01 1.56470433279414e+00 7.52269973197788e-02 -9.23605636463812e-02 + 1.84848484848485e+01 1.51963384757970e+00 8.57193488514518e-02 -9.39441697633689e-02 + 1.90909090909091e+01 1.47795516793299e+00 9.62384094695321e-02 -9.58493818867580e-02 + 1.96969696969697e+01 1.43627648828627e+00 1.06757470087612e-01 -9.77545940101472e-02 + 2.03030303030303e+01 1.40043684005465e+00 1.17476318599776e-01 -1.00146200110168e-01 + 2.09090909090909e+01 1.37043622235741e+00 1.28394954975889e-01 -1.03024200113457e-01 + 2.15151515151515e+01 1.34043560466017e+00 1.39313591352002e-01 -1.05902200116745e-01 + 2.21212121212121e+01 1.31043498696293e+00 1.50232227728114e-01 -1.08780200120034e-01 + 2.27272727272727e+01 1.28043436926569e+00 1.61150864104227e-01 -1.11658200123322e-01 + 2.33333333333333e+01 1.25043375156845e+00 1.72069500480340e-01 -1.14536200126611e-01 + 2.39393939393939e+01 1.22043313387121e+00 1.82988136856453e-01 -1.17414200129899e-01 + 2.45454545454545e+01 1.18825077090946e+00 1.96599818646254e-01 -1.21514181959599e-01 + 2.51515151515151e+01 1.15761673509988e+00 2.10510727553799e-01 -1.25749939479524e-01 + 2.57575757575758e+01 1.13276444179134e+00 2.24421636461345e-01 -1.29985696999448e-01 + 2.63636363636364e+01 1.11602227286036e+00 2.38332545368891e-01 -1.34221454519373e-01 + 2.69696969696970e+01 1.10198439435737e+00 2.52243454276436e-01 -1.38457212039298e-01 + 2.75757575757576e+01 1.08794651585439e+00 2.66154363183982e-01 -1.42692969559223e-01 + 2.81818181818182e+01 1.07084186495451e+00 2.82383771831320e-01 -1.47339908858783e-01 + 2.87878787878788e+01 1.04658141037268e+00 3.04023014280290e-01 -1.52946272501553e-01 + 2.93939393939394e+01 1.02232095579085e+00 3.25662256729258e-01 -1.58552636144323e-01 + 3.00000000000000e+01 9.98060501209013e-01 3.47301499178227e-01 -1.64158999787093e-01 + 3.30000000000000e+01 9.22062250770388e-01 4.43016766986580e-01 -1.89050377014450e-01 + 3.60000000000000e+01 9.34246002556734e-01 5.15934069457928e-01 -2.08221508455227e-01 + 3.90000000000000e+01 9.45589244087954e-01 5.92145558566002e-01 -2.27204042284425e-01 + 4.20000000000000e+01 9.54748584113586e-01 6.69588003216532e-01 -2.44649507771081e-01 + 4.50000000000000e+01 9.61252131007629e-01 7.47874730889827e-01 -2.60949244350105e-01 + 4.80000000000000e+01 9.25795787149951e-01 8.26351001503544e-01 -2.77248980746643e-01 + 5.10000000000000e+01 8.85072931699619e-01 9.03691989486419e-01 -2.92826828648911e-01 + 5.40000000000000e+01 8.40139834221778e-01 9.79476039083604e-01 -3.08033675125759e-01 + 5.70000000000000e+01 7.90916239414658e-01 1.05332349084099e+00 -3.22957806949482e-01 + 6.00000000000000e+01 7.35111043150310e-01 1.12283400217720e+00 -3.37591520807121e-01 + 6.30000000000000e+01 6.74957638303847e-01 1.18834261746902e+00 -3.51586315701813e-01 + 6.60000000000000e+01 6.10964879118523e-01 1.24975699863433e+00 -3.65261651053213e-01 + 6.90000000000000e+01 5.42808995062654e-01 1.30593816480719e+00 -3.78936986269520e-01 + 7.20000000000000e+01 4.70239192035188e-01 1.35443145209476e+00 -3.91247379618790e-01 + 7.50000000000000e+01 3.95258069652003e-01 1.39714437509904e+00 -4.03249463617085e-01 + 7.80000000000000e+01 3.18166875234793e-01 1.43386877376821e+00 -4.14964097416413e-01 + 8.10000000000000e+01 2.39033591672124e-01 1.46177719199882e+00 -4.25852018664857e-01 + 8.40000000000000e+01 1.59202953296899e-01 1.48140709269595e+00 -4.35698894587758e-01 + 8.70000000000000e+01 7.94010592711672e-02 1.49417607502582e+00 -4.45220443783577e-01 + 9.00000000000000e+01 3.11028980348738e-10 1.49999999997719e+00 -4.54741992897877e-01 + 9.30000000000000e+01 -5.55807418230592e-02 1.49417607499090e+00 -4.59628257189905e-01 + 9.60000000000000e+01 -1.11442067459277e-01 1.48140709264988e+00 -4.64514521421943e-01 + 9.90000000000000e+01 -1.67323513736515e-01 1.46177719221746e+00 -4.68714600495400e-01 + 1.02000000000000e+02 -2.22716812230383e-01 1.43386877398686e+00 -4.70718887134564e-01 + 1.05000000000000e+02 -2.76680648972375e-01 1.39714437494550e+00 -4.70979456271530e-01 + 1.08000000000000e+02 -3.29167434663816e-01 1.35443145187167e+00 -4.70624689513598e-01 + 1.11000000000000e+02 -3.79966296232927e-01 1.30593816517334e+00 -4.69601007215107e-01 + 1.14000000000000e+02 -4.27675415731853e-01 1.24975699822349e+00 -4.65615912292485e-01 + 1.17000000000000e+02 -4.72470346873147e-01 1.18834261738102e+00 -4.61630817409231e-01 + 1.20000000000000e+02 -5.14577730079261e-01 1.12283400240132e+00 -4.57221478466790e-01 + 1.23000000000000e+02 -5.53641368004556e-01 1.05332349010379e+00 -4.51963651365242e-01 + 1.26000000000000e+02 -5.88097883889968e-01 9.79476039224861e-01 -4.46320147916898e-01 + 1.29000000000000e+02 -6.19551051959611e-01 9.03691990090244e-01 -4.41015754695827e-01 + 1.32000000000000e+02 -6.48057050875903e-01 8.26351001911627e-01 -4.36207139878165e-01 + 1.35000000000000e+02 -6.72876491919531e-01 7.47874730212582e-01 -4.32363202318299e-01 + 1.38000000000000e+02 -6.94574008880946e-01 6.69588003211172e-01 -4.28519264801468e-01 + 1.41000000000000e+02 -7.14412470826591e-01 5.92145558711669e-01 -4.25249806728838e-01 + 1.44000000000000e+02 -7.32722201977660e-01 5.15934068684593e-01 -4.22751049476045e-01 + 1.47000000000000e+02 -7.50443575482131e-01 4.43016767221693e-01 -4.20346856774768e-01 + 1.50000000000000e+02 -7.09078781261518e-01 3.72562354853516e-01 -4.16279946005650e-01 + 1.53000000000000e+02 -6.38170903055494e-01 3.06742155077266e-01 -3.95585854638999e-01 + 1.56000000000000e+02 -5.67263024849471e-01 2.45847323942745e-01 -3.73229045212350e-01 + 1.59000000000000e+02 -4.96355146643446e-01 1.90143998922178e-01 -3.50872235785700e-01 + 1.62000000000000e+02 -4.25447268437423e-01 1.40636124349672e-01 -3.74735973053744e-01 + 1.65000000000000e+02 -3.54539390231399e-01 9.81315663888162e-02 -4.21709983289917e-01 + 1.68000000000000e+02 -2.83631512025374e-01 6.23519280822543e-02 -4.68683993526091e-01 + 1.71000000000000e+02 -2.12723633819350e-01 3.53980714785814e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.41815755613326e-01 2.95870407694700e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -7.09078783383423e-02 2.59899654394449e-02 -1.50000000451309e-01 + 1.80000000000000e+02 4.85722573273506e-18 2.46414625588597e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_48.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_48.dat new file mode 100644 index 0000000..14743c8 --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_48.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF48_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF48_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-3.025329 alpha0 ! 0-lift angle of attack, depends on airfoil. +13.999062 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-13.987158 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.760638 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.134635 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.006831 Cd0 ! 2D drag coefficient value at 0-lift. +-0.079741 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 4.85722573273506e-18 2.46414625588597e-02 0.00000000000000e+00 +-1.77000000000000e+02 7.09078783383423e-02 2.59899654394449e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.41815755613326e-01 2.95870407694700e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.12724023589752e-01 3.53981062097947e-02 3.60000658682385e-01 +-1.68000000000000e+02 2.83635114323999e-01 6.23536246130750e-02 3.88683131002858e-01 +-1.65000000000000e+02 3.54539390231399e-01 9.81315663888160e-02 3.71709983123391e-01 +-1.62000000000000e+02 4.25451140020828e-01 1.40638541882525e-01 3.54735046137367e-01 +-1.59000000000000e+02 4.96351238664441e-01 1.90141020854771e-01 3.50871003624422e-01 +-1.56000000000000e+02 5.67264876246885e-01 2.45848849126870e-01 3.73229628946347e-01 +-1.53000000000000e+02 6.38171661458157e-01 3.06742822712792e-01 3.95586093758603e-01 +-1.50000000000000e+02 7.09078781261519e-01 3.72562354853516e-01 4.16279946005650e-01 +-1.47000000000000e+02 7.50443575482131e-01 4.43016767221693e-01 4.20346856774768e-01 +-1.44000000000000e+02 7.32722201977660e-01 5.15934068684593e-01 4.22751049476045e-01 +-1.41000000000000e+02 7.14412470826591e-01 5.92145558711669e-01 4.25249806728838e-01 +-1.38000000000000e+02 6.94574008880946e-01 6.69588003211173e-01 4.28519264801468e-01 +-1.35000000000000e+02 6.72876491919531e-01 7.47874730212582e-01 4.32363202318299e-01 +-1.32000000000000e+02 6.48057050875902e-01 8.26351001911627e-01 4.36207139878165e-01 +-1.29000000000000e+02 6.19551051959611e-01 9.03691990090244e-01 4.41015754695827e-01 +-1.26000000000000e+02 5.88097883889968e-01 9.79476039224861e-01 4.46320147916898e-01 +-1.23000000000000e+02 5.53641368004556e-01 1.05332349010379e+00 4.51963651365242e-01 +-1.20000000000000e+02 5.14577730079261e-01 1.12283400240132e+00 4.57221478466790e-01 +-1.17000000000000e+02 4.72470346873147e-01 1.18834261738102e+00 4.61630817409231e-01 +-1.14000000000000e+02 4.27675415731853e-01 1.24975699822349e+00 4.65615912292485e-01 +-1.11000000000000e+02 3.79966296232926e-01 1.30593816517334e+00 4.69601007215107e-01 +-1.08000000000000e+02 3.29167434663816e-01 1.35443145187167e+00 4.70624689513598e-01 +-1.05000000000000e+02 2.76680648972375e-01 1.39714437494550e+00 4.70979456271530e-01 +-1.02000000000000e+02 2.22716812230383e-01 1.43386877398686e+00 4.70718887134564e-01 +-9.90000000000000e+01 1.67323513736515e-01 1.46177719221746e+00 4.68714600495400e-01 +-9.60000000000000e+01 1.11442067459277e-01 1.48140709264988e+00 4.64514521421943e-01 +-9.30000000000000e+01 5.55807418230594e-02 1.49417607499090e+00 4.59628257189905e-01 +-9.00000000000000e+01 -2.17720385095452e-10 1.49999999997719e+00 4.54741992894100e-01 +-8.70000000000000e+01 -5.55807414898173e-02 1.49417607502582e+00 4.44256194940782e-01 +-8.40000000000000e+01 -1.11442067307830e-01 1.48140709269595e+00 4.33770396897690e-01 +-8.10000000000000e+01 -1.67323514170487e-01 1.46177719199882e+00 4.22751815715067e-01 +-7.80000000000000e+01 -2.22716812664355e-01 1.43386877376821e+00 4.10028328729202e-01 +-7.50000000000000e+01 -2.76680648756403e-01 1.39714437509904e+00 3.95950945859518e-01 +-7.20000000000000e+01 -3.29167434424632e-01 1.35443145209476e+00 3.81456984926632e-01 +-6.90000000000000e+01 -3.79966296543858e-01 1.30593816480719e+00 3.66569710870844e-01 +-6.60000000000000e+01 -4.27675415382966e-01 1.24975699863433e+00 3.49941167676215e-01 +-6.30000000000000e+01 -4.72470346812693e-01 1.18834261746902e+00 3.33312624317319e-01 +-6.00000000000000e+01 -5.14577730205217e-01 1.12283400217720e+00 3.16533804218062e-01 +-5.70000000000000e+01 -5.53641367590261e-01 1.05332349084099e+00 2.99454430776818e-01 +-5.40000000000000e+01 -5.88097883955245e-01 9.79476039083604e-01 2.82238441882844e-01 +-5.10000000000000e+01 -6.19551052189733e-01 9.03691989486419e-01 2.65101376417570e-01 +-4.80000000000000e+01 -6.48057051004965e-01 8.26351001503544e-01 2.48082937508914e-01 +-4.50000000000000e+01 -6.72876491705341e-01 7.47874730889827e-01 2.31295319956564e-01 +-4.20000000000000e+01 -6.57074008879510e-01 6.69588003216531e-01 2.14507702216265e-01 +-3.90000000000000e+01 -6.39412470861568e-01 5.92145558566002e-01 1.89164063976627e-01 +-3.60000000000000e+01 -6.20222201789713e-01 5.15934069457928e-01 1.52341978697799e-01 +-3.30000000000000e+01 -6.00443575539271e-01 4.43016766986580e-01 1.14111494476316e-01 +-3.00000000000000e+01 -6.18855350575448e-01 3.52809999241618e-01 8.33188997922929e-02 +-2.93939393939394e+01 -6.26432517259429e-01 3.32839999218799e-01 7.78494755436190e-02 +-2.87878787878788e+01 -6.34009683943411e-01 3.12869999195980e-01 7.23800512949450e-02 +-2.81818181818182e+01 -6.41586850627392e-01 2.92899999173161e-01 6.69106270462710e-02 +-2.75757575757576e+01 -6.76066802776028e-01 2.71284999274155e-01 6.00945088504803e-02 +-2.69696969696970e+01 -7.30864550933056e-01 2.48964999568361e-01 5.27012362206603e-02 +-2.63636363636364e+01 -7.86522448981727e-01 2.26644999862567e-01 4.53079635908404e-02 +-2.57575757575758e+01 -8.43040496922041e-01 2.04325000156773e-01 3.79146909610205e-02 +-2.51515151515151e+01 -9.00418694753999e-01 1.82005000450979e-01 3.05214183312005e-02 +-2.45454545454545e+01 -9.62651087961591e-01 1.59685000745185e-01 2.31281457013806e-02 +-2.39393939393939e+01 -1.02170831543476e+00 1.38746226141576e-01 1.61713243791283e-02 +-2.33333333333333e+01 -1.03923922533974e+00 1.30238483707612e-01 1.31425667999098e-02 +-2.27272727272727e+01 -1.05677013524472e+00 1.21730741273648e-01 1.01138092206914e-02 +-2.21212121212121e+01 -1.07430104514969e+00 1.13222998839684e-01 7.08505164147293e-03 +-2.15151515151515e+01 -1.09183195505467e+00 1.04715256405720e-01 4.05629406225448e-03 +-2.09090909090909e+01 -1.10936286495965e+00 9.62075139717558e-02 1.02753648303605e-03 +-2.03030303030303e+01 -1.12689377486462e+00 8.76997715377919e-02 -2.00122109618240e-03 +-1.96969696969697e+01 -1.13816287681429e+00 8.06649456610962e-02 -4.00059996397744e-03 +-1.90909090909091e+01 -1.14317016986418e+00 7.51030365638317e-02 -4.97059996508582e-03 +-1.84848484848485e+01 -1.14817746291406e+00 6.95411274665672e-02 -5.94059996619421e-03 +-1.78787878787879e+01 -1.15250999223927e+00 6.41091941049719e-02 -6.84363937252776e-03 +-1.72727272727273e+01 -1.15414346609327e+00 5.91971637963288e-02 -7.47883634295054e-03 +-1.66666666666667e+01 -1.15577693994728e+00 5.42851334876857e-02 -8.11403331337333e-03 +-1.60606060606061e+01 -1.15741041380129e+00 4.93731031790426e-02 -8.74923028379612e-03 +-1.54545454545455e+01 -1.15878882693264e+00 4.48701910389722e-02 -9.41178179878783e-03 +-1.48484848484848e+01 -1.16013889997419e+00 4.04127364884243e-02 -1.00773727086393e-02 +-1.42424242424242e+01 -1.16148897301574e+00 3.59552819378763e-02 -1.07429636184907e-02 +-1.36363636363636e+01 -1.15050098980076e+00 3.18363728273672e-02 -1.31325999090123e-02 +-1.30303030303030e+01 -1.13128763484345e+00 2.79431607017064e-02 -1.66715999130562e-02 +-1.24242424242424e+01 -1.11207427988613e+00 2.40499485760457e-02 -2.02105999171001e-02 +-1.18181818181818e+01 -1.07904969101921e+00 2.06459636867756e-02 -2.46224089472267e-02 +-1.12121212121212e+01 -1.01379888622456e+00 1.83835091387359e-02 -3.10707725909586e-02 +-1.06060606060606e+01 -9.48548081429913e-01 1.61210545906961e-02 -3.75191362346906e-02 +-1.00000000000000e+01 -8.83297276635266e-01 1.38586000426563e-02 -4.39674998784226e-02 +-9.39393939393939e+00 -8.06767794481452e-01 1.29178424409045e-02 -4.80862878058387e-02 +-8.78787878787879e+00 -7.30238312114990e-01 1.19770848640719e-02 -5.22050756893329e-02 +-8.18181818181818e+00 -6.53708829748528e-01 1.10363272872394e-02 -5.63238635728272e-02 +-7.57575757575758e+00 -5.76982383821654e-01 1.03429454629350e-02 -5.96627241995084e-02 +-6.96969696969697e+00 -5.00171524934256e-01 9.75558182590017e-03 -6.26673302635478e-02 +-6.36363636363636e+00 -4.23360666046858e-01 9.16821818886537e-03 -6.56719363275871e-02 +-5.75757575757576e+00 -3.46304193128946e-01 8.59835030893152e-03 -6.86055120905238e-02 +-5.15151515151515e+00 -2.68879299147898e-01 8.05472606588610e-03 -7.14325423967844e-02 +-4.54545454545454e+00 -1.91454405166850e-01 7.51110182284068e-03 -7.42595727030451e-02 +-3.93939393939394e+00 -1.14200091471482e-01 7.00998030391116e-03 -7.69865090773461e-02 +-3.33333333333333e+00 -3.84810004758693e-02 6.89138333407868e-03 -7.88125999885236e-02 +-2.72727272727273e+00 3.72380905197434e-02 6.77278636424619e-03 -8.06386908997012e-02 +-2.12121212121212e+00 1.12957181515356e-01 6.65418939441370e-03 -8.24647818108787e-02 +-1.51515151515152e+00 1.88073035556382e-01 6.63685060622061e-03 -8.40490060911751e-02 +-9.09090909090912e-01 2.62999112014773e-01 6.64880545596898e-03 -8.55649182425272e-02 +-3.03030303030302e-01 3.37704367955977e-01 6.68330848532299e-03 -8.70363727475091e-02 + 3.03030303030302e-01 4.12238571268849e-01 6.73317515061806e-03 -8.84792514957012e-02 + 9.09090909090912e-01 4.86601721953392e-01 6.79840545185419e-03 -8.98935544871035e-02 + 1.51515151515152e+00 5.60572568991166e-01 6.89597181611000e-03 -9.12574757303916e-02 + 2.12121212121212e+00 6.34371216042925e-01 7.00580454521911e-03 -9.25993787856478e-02 + 2.72727272727273e+00 7.07757983480152e-01 7.14187726874912e-03 -9.38887726895767e-02 + 3.33333333333333e+00 7.80733181316127e-01 7.30700999523420e-03 -9.51338333028380e-02 + 3.93939393939394e+00 8.53371640330823e-01 7.49591909177100e-03 -9.63426212176364e-02 + 4.54545454545455e+00 9.25034791523834e-01 7.75680635900802e-03 -9.74543727083216e-02 + 5.15151515151515e+00 9.96035426603161e-01 8.07410937988024e-03 -9.85062817906832e-02 + 5.75757575757576e+00 1.06537361558591e+00 8.53666696941767e-03 -9.94110090903628e-02 + 6.36363636363637e+00 1.13347293549331e+00 9.07144999697415e-03 -1.00199845450852e-01 + 6.96969696969697e+00 1.20074634272274e+00 9.65438331427377e-03 -1.00911421188856e-01 + 7.57575757575757e+00 1.26503257458667e+00 1.04239369651998e-02 -1.01342315149114e-01 + 8.18181818181818e+00 1.32866158531627e+00 1.12068272781317e-02 -1.01712963638171e-01 + 8.78787878787879e+00 1.39112392651021e+00 1.19979181654635e-02 -1.01977509085440e-01 + 9.39393939393939e+00 1.45193276159187e+00 1.28306878694348e-02 -1.02093578787484e-01 + 1.00000000000000e+01 1.51185124704308e+00 1.36859000183078e-02 -1.02129699995493e-01 + 1.06060606060606e+01 1.56822721858202e+00 1.46569302946297e-02 -1.01890669699038e-01 + 1.12121212121212e+01 1.62300197690877e+00 1.56874817998069e-02 -1.01551327281192e-01 + 1.18181818181818e+01 1.67480305320894e+00 1.68285727428916e-02 -1.01025690901896e-01 + 1.24242424242424e+01 1.72091249408292e+00 1.82589121264519e-02 -1.00229727269653e-01 + 1.30303030303030e+01 1.76386235295279e+00 1.98550060097699e-02 -9.92979000279053e-02 + 1.36363636363636e+01 1.79312631637888e+00 2.22451272930941e-02 -9.79858999888201e-02 + 1.42424242424242e+01 1.81001241060952e+00 2.54394667344084e-02 -9.64468939104616e-02 + 1.48484848484848e+01 1.80833170308902e+00 2.98401332800337e-02 -9.45673788106429e-02 + 1.54545454545455e+01 1.77939897121969e+00 3.64364818427673e-02 -9.28892272673224e-02 + 1.60606060606061e+01 1.73929248615815e+00 4.40704518296318e-02 -9.14690181908170e-02 + 1.66666666666667e+01 1.68037830999655e+00 5.44559669930141e-02 -9.17662000093384e-02 + 1.72727272727273e+01 1.62146413383495e+00 6.48414821563965e-02 -9.20633818278598e-02 + 1.78787878787879e+01 1.56254995767335e+00 7.52269973197788e-02 -9.23605636463812e-02 + 1.84848484848485e+01 1.51723092392018e+00 8.57193488514518e-02 -9.39441697633689e-02 + 1.90909090909091e+01 1.47531067504821e+00 9.62384094695321e-02 -9.58493818867580e-02 + 1.96969696969697e+01 1.43339042617625e+00 1.06757470087612e-01 -9.77545940101472e-02 + 2.03030303030303e+01 1.39732122368599e+00 1.17476318599776e-01 -1.00146200110168e-01 + 2.09090909090909e+01 1.36710306669492e+00 1.28394954975889e-01 -1.03024200113457e-01 + 2.15151515151515e+01 1.33688490970385e+00 1.39313591352002e-01 -1.05902200116745e-01 + 2.21212121212121e+01 1.30666675271278e+00 1.50232227728114e-01 -1.08780200120034e-01 + 2.27272727272727e+01 1.27644859572171e+00 1.61150864104227e-01 -1.11658200123322e-01 + 2.33333333333333e+01 1.24623043873063e+00 1.72069500480340e-01 -1.14536200126611e-01 + 2.39393939393939e+01 1.21601228173956e+00 1.82988136856453e-01 -1.17414200129899e-01 + 2.45454545454545e+01 1.18360789010987e+00 1.96599818646254e-01 -1.21514181959599e-01 + 2.51515151515151e+01 1.15278818596692e+00 2.10510727553799e-01 -1.25749939479524e-01 + 2.57575757575758e+01 1.13006015136334e+00 2.24421636461345e-01 -1.29985696999448e-01 + 2.63636363636364e+01 1.11602227286036e+00 2.38332545368891e-01 -1.34221454519373e-01 + 2.69696969696970e+01 1.10198439435737e+00 2.52243454276436e-01 -1.38457212039298e-01 + 2.75757575757576e+01 1.08794651585439e+00 2.66154363183982e-01 -1.42692969559223e-01 + 2.81818181818182e+01 1.07084186495451e+00 2.82383771831320e-01 -1.47339908858783e-01 + 2.87878787878788e+01 1.04658141037268e+00 3.04023014280290e-01 -1.52946272501553e-01 + 2.93939393939394e+01 1.02232095579085e+00 3.25662256729258e-01 -1.58552636144323e-01 + 3.00000000000000e+01 9.98060501209013e-01 3.47301499178227e-01 -1.64158999787093e-01 + 3.30000000000000e+01 9.22062250770388e-01 4.43016766986580e-01 -1.89050377014450e-01 + 3.60000000000000e+01 9.34246002556734e-01 5.15934069457928e-01 -2.08221508455227e-01 + 3.90000000000000e+01 9.45589244087954e-01 5.92145558566002e-01 -2.27204042284425e-01 + 4.20000000000000e+01 9.54748584113586e-01 6.69588003216532e-01 -2.44649507771081e-01 + 4.50000000000000e+01 9.61252131007629e-01 7.47874730889827e-01 -2.60949244350105e-01 + 4.80000000000000e+01 9.25795787149951e-01 8.26351001503544e-01 -2.77248980746643e-01 + 5.10000000000000e+01 8.85072931699619e-01 9.03691989486419e-01 -2.92826828648911e-01 + 5.40000000000000e+01 8.40139834221778e-01 9.79476039083604e-01 -3.08033675125759e-01 + 5.70000000000000e+01 7.90916239414658e-01 1.05332349084099e+00 -3.22957806949482e-01 + 6.00000000000000e+01 7.35111043150310e-01 1.12283400217720e+00 -3.37591520807121e-01 + 6.30000000000000e+01 6.74957638303847e-01 1.18834261746902e+00 -3.51586315701813e-01 + 6.60000000000000e+01 6.10964879118523e-01 1.24975699863433e+00 -3.65261651053213e-01 + 6.90000000000000e+01 5.42808995062654e-01 1.30593816480719e+00 -3.78936986269520e-01 + 7.20000000000000e+01 4.70239192035188e-01 1.35443145209476e+00 -3.91247379618790e-01 + 7.50000000000000e+01 3.95258069652003e-01 1.39714437509904e+00 -4.03249463617085e-01 + 7.80000000000000e+01 3.18166875234793e-01 1.43386877376821e+00 -4.14964097416413e-01 + 8.10000000000000e+01 2.39033591672124e-01 1.46177719199882e+00 -4.25852018664857e-01 + 8.40000000000000e+01 1.59202953296899e-01 1.48140709269595e+00 -4.35698894587758e-01 + 8.70000000000000e+01 7.94010592711672e-02 1.49417607502582e+00 -4.45220443783577e-01 + 9.00000000000000e+01 3.11028980348738e-10 1.49999999997719e+00 -4.54741992897877e-01 + 9.30000000000000e+01 -5.55807418230592e-02 1.49417607499090e+00 -4.59628257189905e-01 + 9.60000000000000e+01 -1.11442067459277e-01 1.48140709264988e+00 -4.64514521421943e-01 + 9.90000000000000e+01 -1.67323513736515e-01 1.46177719221746e+00 -4.68714600495400e-01 + 1.02000000000000e+02 -2.22716812230383e-01 1.43386877398686e+00 -4.70718887134564e-01 + 1.05000000000000e+02 -2.76680648972375e-01 1.39714437494550e+00 -4.70979456271530e-01 + 1.08000000000000e+02 -3.29167434663816e-01 1.35443145187167e+00 -4.70624689513598e-01 + 1.11000000000000e+02 -3.79966296232927e-01 1.30593816517334e+00 -4.69601007215107e-01 + 1.14000000000000e+02 -4.27675415731853e-01 1.24975699822349e+00 -4.65615912292485e-01 + 1.17000000000000e+02 -4.72470346873147e-01 1.18834261738102e+00 -4.61630817409231e-01 + 1.20000000000000e+02 -5.14577730079261e-01 1.12283400240132e+00 -4.57221478466790e-01 + 1.23000000000000e+02 -5.53641368004556e-01 1.05332349010379e+00 -4.51963651365242e-01 + 1.26000000000000e+02 -5.88097883889968e-01 9.79476039224861e-01 -4.46320147916898e-01 + 1.29000000000000e+02 -6.19551051959611e-01 9.03691990090244e-01 -4.41015754695827e-01 + 1.32000000000000e+02 -6.48057050875903e-01 8.26351001911627e-01 -4.36207139878165e-01 + 1.35000000000000e+02 -6.72876491919531e-01 7.47874730212582e-01 -4.32363202318299e-01 + 1.38000000000000e+02 -6.94574008880946e-01 6.69588003211172e-01 -4.28519264801468e-01 + 1.41000000000000e+02 -7.14412470826591e-01 5.92145558711669e-01 -4.25249806728838e-01 + 1.44000000000000e+02 -7.32722201977660e-01 5.15934068684593e-01 -4.22751049476045e-01 + 1.47000000000000e+02 -7.50443575482131e-01 4.43016767221693e-01 -4.20346856774768e-01 + 1.50000000000000e+02 -7.09078781261518e-01 3.72562354853516e-01 -4.16279946005650e-01 + 1.53000000000000e+02 -6.38170903055494e-01 3.06742155077266e-01 -3.95585854638999e-01 + 1.56000000000000e+02 -5.67263024849471e-01 2.45847323942745e-01 -3.73229045212350e-01 + 1.59000000000000e+02 -4.96355146643446e-01 1.90143998922178e-01 -3.50872235785700e-01 + 1.62000000000000e+02 -4.25447268437423e-01 1.40636124349672e-01 -3.74735973053744e-01 + 1.65000000000000e+02 -3.54539390231399e-01 9.81315663888162e-02 -4.21709983289917e-01 + 1.68000000000000e+02 -2.83631512025374e-01 6.23519280822543e-02 -4.68683993526091e-01 + 1.71000000000000e+02 -2.12723633819350e-01 3.53980714785814e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.41815755613326e-01 2.95870407694700e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -7.09078783383423e-02 2.59899654394449e-02 -1.50000000451309e-01 + 1.80000000000000e+02 4.85722573273506e-18 2.46414625588597e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_49.dat b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_49.dat new file mode 100644 index 0000000..933d65d --- /dev/null +++ b/data/IEA15MW/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_49.dat @@ -0,0 +1,254 @@ +! ------------ AirfoilInfo v1.01.x Input File ---------------------------------- +! AeroElasticSE FAST driver +! line +! line +! ------------------------------------------------------------------------------ +DEFAULT InterpOrd ! Interpolation order to use for quasi-steady table lookup {1=linear; 3=cubic spline; "default"} [default=3] +1 NonDimArea ! The non-dimensional area of the airfoil (area/chord^2) (set to 1.0 if unsure or unneeded) +@"IEA-15-240-RWT_AF49_Coords.txt" NumCoords ! The number of coordinates in the airfoil shape file. Set to zero if coordinates not included. +AF49_BL.txt BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called. +1 NumTabs ! Number of airfoil tables in this file. Each table must have lines for Re and Ctrl. +! ------------------------------------------------------------------------------ +! data for table 1 +! ------------------------------------------------------------------------------ +3.000000 Re ! Reynolds number in millions +0 Ctrl ! Control setting (must be 0 for current AirfoilInfo) +True InclUAdata ! Is unsteady aerodynamics data included in this table? If TRUE, then include 30 UA coefficients below this line +!........................................ +-3.025329 alpha0 ! 0-lift angle of attack, depends on airfoil. +13.940969 alpha1 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA>alpha0. (deg) +-13.951621 alpha2 ! Angle of attack at f=0.7, (approximately the stall angle) for AOA1] +0.000000 S2 ! Constant in the f curve best-fit for AOA> alpha1; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S3 ! Constant in the f curve best-fit for alpha2<=AOA< alpha0; by definition it depends on the airfoil. [ignored if UAMod<>1] +0.000000 S4 ! Constant in the f curve best-fit for AOA< alpha2; by definition it depends on the airfoil. [ignored if UAMod<>1] +1.754861 Cn1 ! Critical value of C0n at leading edge separation. It should be extracted from airfoil data at a given Mach and Reynolds number. It can be calculated from the static value of Cn at either the break in the pitching moment or the loss of chord force at the onset of stall. It is close to the condition of maximum lift of the airfoil at low Mach numbers. +-1.130644 Cn2 ! As Cn1 for negative AOAs. +Default St_sh ! Strouhal's shedding frequency constant. [default = 0.19] +0.006831 Cd0 ! 2D drag coefficient value at 0-lift. +-0.079741 Cm0 ! 2D pitching moment coefficient about 1/4-chord location, at 0-lift, positive if nose up. [If the aerodynamics coefficients table does not include a column for Cm, this needs to be set to 0.0] +0.000000 k0 ! Constant in the \hat(x)_cp curve best-fit; = (\hat(x)_AC-0.25). [ignored if UAMod<>1] +0.000000 k1 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k2 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k3 ! Constant in the \hat(x)_cp curve best-fit. [ignored if UAMod<>1] +0.000000 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1] +Default x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2] +Default UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees] +Default filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz) [default = 20] +!........................................ +! Table of aerodynamics coefficients +200 NumAlf ! Number of data lines in the following table +! Alpha Cl Cd Cm +! (deg) (-) (-) (-) +-1.80000000000000e+02 4.85722573273506e-18 2.46414625588597e-02 0.00000000000000e+00 +-1.77000000000000e+02 7.09078783383423e-02 2.59899654394449e-02 1.20000000361047e-01 +-1.74000000000000e+02 1.41815755613326e-01 2.95870407694700e-02 2.39999998922534e-01 +-1.71000000000000e+02 2.12724023589752e-01 3.53981062097947e-02 3.60000658682385e-01 +-1.68000000000000e+02 2.83635114323999e-01 6.23536246130750e-02 3.88683131002858e-01 +-1.65000000000000e+02 3.54539390231399e-01 9.81315663888160e-02 3.71709983123391e-01 +-1.62000000000000e+02 4.25451140020828e-01 1.40638541882525e-01 3.54735046137367e-01 +-1.59000000000000e+02 4.96351238664441e-01 1.90141020854771e-01 3.50871003624422e-01 +-1.56000000000000e+02 5.67264876246885e-01 2.45848849126870e-01 3.73229628946347e-01 +-1.53000000000000e+02 6.38171661458157e-01 3.06742822712792e-01 3.95586093758603e-01 +-1.50000000000000e+02 7.09078781261519e-01 3.72562354853516e-01 4.16279946005650e-01 +-1.47000000000000e+02 7.50443575482131e-01 4.43016767221693e-01 4.20346856774768e-01 +-1.44000000000000e+02 7.32722201977660e-01 5.15934068684593e-01 4.22751049476045e-01 +-1.41000000000000e+02 7.14412470826591e-01 5.92145558711669e-01 4.25249806728838e-01 +-1.38000000000000e+02 6.94574008880946e-01 6.69588003211173e-01 4.28519264801468e-01 +-1.35000000000000e+02 6.72876491919531e-01 7.47874730212582e-01 4.32363202318299e-01 +-1.32000000000000e+02 6.48057050875902e-01 8.26351001911627e-01 4.36207139878165e-01 +-1.29000000000000e+02 6.19551051959611e-01 9.03691990090244e-01 4.41015754695827e-01 +-1.26000000000000e+02 5.88097883889968e-01 9.79476039224861e-01 4.46320147916898e-01 +-1.23000000000000e+02 5.53641368004556e-01 1.05332349010379e+00 4.51963651365242e-01 +-1.20000000000000e+02 5.14577730079261e-01 1.12283400240132e+00 4.57221478466790e-01 +-1.17000000000000e+02 4.72470346873147e-01 1.18834261738102e+00 4.61630817409231e-01 +-1.14000000000000e+02 4.27675415731853e-01 1.24975699822349e+00 4.65615912292485e-01 +-1.11000000000000e+02 3.79966296232926e-01 1.30593816517334e+00 4.69601007215107e-01 +-1.08000000000000e+02 3.29167434663816e-01 1.35443145187167e+00 4.70624689513598e-01 +-1.05000000000000e+02 2.76680648972375e-01 1.39714437494550e+00 4.70979456271530e-01 +-1.02000000000000e+02 2.22716812230383e-01 1.43386877398686e+00 4.70718887134564e-01 +-9.90000000000000e+01 1.67323513736515e-01 1.46177719221746e+00 4.68714600495400e-01 +-9.60000000000000e+01 1.11442067459277e-01 1.48140709264988e+00 4.64514521421943e-01 +-9.30000000000000e+01 5.55807418230594e-02 1.49417607499090e+00 4.59628257189905e-01 +-9.00000000000000e+01 -2.17720385095452e-10 1.49999999997719e+00 4.54741992894100e-01 +-8.70000000000000e+01 -5.55807414898173e-02 1.49417607502582e+00 4.44256194940782e-01 +-8.40000000000000e+01 -1.11442067307830e-01 1.48140709269595e+00 4.33770396897690e-01 +-8.10000000000000e+01 -1.67323514170487e-01 1.46177719199882e+00 4.22751815715067e-01 +-7.80000000000000e+01 -2.22716812664355e-01 1.43386877376821e+00 4.10028328729202e-01 +-7.50000000000000e+01 -2.76680648756403e-01 1.39714437509904e+00 3.95950945859518e-01 +-7.20000000000000e+01 -3.29167434424632e-01 1.35443145209476e+00 3.81456984926632e-01 +-6.90000000000000e+01 -3.79966296543858e-01 1.30593816480719e+00 3.66569710870844e-01 +-6.60000000000000e+01 -4.27675415382966e-01 1.24975699863433e+00 3.49941167676215e-01 +-6.30000000000000e+01 -4.72470346812693e-01 1.18834261746902e+00 3.33312624317319e-01 +-6.00000000000000e+01 -5.14577730205217e-01 1.12283400217720e+00 3.16533804218062e-01 +-5.70000000000000e+01 -5.53641367590261e-01 1.05332349084099e+00 2.99454430776818e-01 +-5.40000000000000e+01 -5.88097883955245e-01 9.79476039083604e-01 2.82238441882844e-01 +-5.10000000000000e+01 -6.19551052189733e-01 9.03691989486419e-01 2.65101376417570e-01 +-4.80000000000000e+01 -6.48057051004965e-01 8.26351001503544e-01 2.48082937508914e-01 +-4.50000000000000e+01 -6.72876491705341e-01 7.47874730889827e-01 2.31295319956564e-01 +-4.20000000000000e+01 -6.57074008879510e-01 6.69588003216531e-01 2.14507702216265e-01 +-3.90000000000000e+01 -6.39412470861568e-01 5.92145558566002e-01 1.89164063976627e-01 +-3.60000000000000e+01 -6.20222201789713e-01 5.15934069457928e-01 1.52341978697799e-01 +-3.30000000000000e+01 -6.00443575539271e-01 4.43016766986580e-01 1.14111494476316e-01 +-3.00000000000000e+01 -6.18855350575448e-01 3.52809999241618e-01 8.33188997922929e-02 +-2.93939393939394e+01 -6.26432517259429e-01 3.32839999218799e-01 7.78494755436190e-02 +-2.87878787878788e+01 -6.34009683943411e-01 3.12869999195980e-01 7.23800512949450e-02 +-2.81818181818182e+01 -6.41586850627392e-01 2.92899999173161e-01 6.69106270462710e-02 +-2.75757575757576e+01 -6.73192122821169e-01 2.71284999274155e-01 6.00945088504803e-02 +-2.69696969696970e+01 -7.15095152472005e-01 2.48964999568361e-01 5.27012362206603e-02 +-2.63636363636364e+01 -7.56998182122842e-01 2.26644999862567e-01 4.53079635908404e-02 +-2.57575757575758e+01 -8.09944833521673e-01 2.04325000156773e-01 3.79146909610205e-02 +-2.51515151515151e+01 -8.68654233957885e-01 1.82005000450979e-01 3.05214183312005e-02 +-2.45454545454545e+01 -9.33035855043819e-01 1.59685000745185e-01 2.31281457013806e-02 +-2.39393939393939e+01 -9.94405618127171e-01 1.38746226141576e-01 1.61713243791283e-02 +-2.33333333333333e+01 -1.01353654167091e+00 1.30238483707612e-01 1.31425667999098e-02 +-2.27272727272727e+01 -1.03266746521465e+00 1.21730741273648e-01 1.01138092206914e-02 +-2.21212121212121e+01 -1.05179838875839e+00 1.13222998839684e-01 7.08505164147293e-03 +-2.15151515151515e+01 -1.07092931230213e+00 1.04715256405720e-01 4.05629406225448e-03 +-2.09090909090909e+01 -1.09006023584586e+00 9.62075139717558e-02 1.02753648303605e-03 +-2.03030303030303e+01 -1.10919115938960e+00 8.76997715377919e-02 -2.00122109618240e-03 +-1.96969696969697e+01 -1.12195283285433e+00 8.06649456610962e-02 -4.00059996397744e-03 +-1.90909090909091e+01 -1.12834525527937e+00 7.51030365638317e-02 -4.97059996508582e-03 +-1.84848484848485e+01 -1.13473767770441e+00 6.95411274665672e-02 -5.94059996619421e-03 +-1.78787878787879e+01 -1.14044375859081e+00 6.41091941049719e-02 -6.84363937252776e-03 +-1.72727272727273e+01 -1.14340447274034e+00 5.91971637963288e-02 -7.47883634295054e-03 +-1.66666666666667e+01 -1.14636518688987e+00 5.42851334876857e-02 -8.11403331337333e-03 +-1.60606060606061e+01 -1.14932590103939e+00 4.93731031790426e-02 -8.74923028379612e-03 +-1.54545454545455e+01 -1.15202717805199e+00 4.48701910389722e-02 -9.41178179878783e-03 +-1.48484848484848e+01 -1.15469962870637e+00 4.04127364884243e-02 -1.00773727086393e-02 +-1.42424242424242e+01 -1.15737207936076e+00 3.59552819378763e-02 -1.07429636184907e-02 +-1.36363636363636e+01 -1.14749477340369e+00 3.18363728273672e-02 -1.31325999090123e-02 +-1.30303030303030e+01 -1.12925096211883e+00 2.79431607017064e-02 -1.66715999130562e-02 +-1.24242424242424e+01 -1.11100715083397e+00 2.40499485760457e-02 -2.02105999171001e-02 +-1.18181818181818e+01 -1.07871512802652e+00 2.06459636867756e-02 -2.46224089472267e-02 +-1.12121212121212e+01 -1.01364394146817e+00 1.83835091387359e-02 -3.10707725909586e-02 +-1.06060606060606e+01 -9.48572754909815e-01 1.61210545906961e-02 -3.75191362346906e-02 +-1.00000000000000e+01 -8.83501568351460e-01 1.38586000426563e-02 -4.39674998784226e-02 +-9.39393939393939e+00 -8.06958181244367e-01 1.29178424409045e-02 -4.80862878058387e-02 +-8.78787878787879e+00 -7.30414793920976e-01 1.19770848640719e-02 -5.22050756893329e-02 +-8.18181818181818e+00 -6.53871406597585e-01 1.10363272872394e-02 -5.63238635728272e-02 +-7.57575757575758e+00 -5.77127676149388e-01 1.03429454629350e-02 -5.96627241995084e-02 +-6.96969696969697e+00 -5.00298084355819e-01 9.75558182590017e-03 -6.26673302635478e-02 +-6.36363636363636e+00 -4.23468492562251e-01 9.16821818886537e-03 -6.56719363275871e-02 +-5.75757575757576e+00 -3.46389072413291e-01 8.59835030893152e-03 -6.86055120905238e-02 +-5.15151515151515e+00 -2.68934909713580e-01 8.05472606588610e-03 -7.14325423967844e-02 +-4.54545454545454e+00 -1.91480747013868e-01 7.51110182284068e-03 -7.42595727030451e-02 +-3.93939393939394e+00 -1.14200091471482e-01 7.00998030391116e-03 -7.69865090773461e-02 +-3.33333333333333e+00 -3.84810004758693e-02 6.89138333407868e-03 -7.88125999885236e-02 +-2.72727272727273e+00 3.72380905197434e-02 6.77278636424619e-03 -8.06386908997012e-02 +-2.12121212121212e+00 1.12957181515356e-01 6.65418939441370e-03 -8.24647818108787e-02 +-1.51515151515152e+00 1.88062685021846e-01 6.63685060622061e-03 -8.40490060911751e-02 +-9.09090909090912e-01 2.62975154680634e-01 6.64880545596898e-03 -8.55649182425272e-02 +-3.03030303030302e-01 3.37663014912467e-01 6.68330848532299e-03 -8.70363727475091e-02 + 3.03030303030302e-01 4.12176887539715e-01 6.73317515061806e-03 -8.84792514957012e-02 + 9.09090909090912e-01 4.86516772562380e-01 6.79840545185419e-03 -8.98935544871035e-02 + 1.51515151515152e+00 5.60457622665576e-01 6.89597181611000e-03 -9.12574757303916e-02 + 2.12121212121212e+00 6.34223318119770e-01 7.00580454521911e-03 -9.25993787856478e-02 + 2.72727272727273e+00 7.07570066795952e-01 7.14187726874912e-03 -9.38887726895767e-02 + 3.33333333333333e+00 7.80498184026711e-01 7.30700999523420e-03 -9.51338333028380e-02 + 3.93939393939394e+00 8.53083784562718e-01 7.49591909177100e-03 -9.63426212176364e-02 + 4.54545454545455e+00 9.24677342630372e-01 7.75680635900802e-03 -9.74543727083216e-02 + 5.15151515151515e+00 9.95597016918847e-01 8.07410937988024e-03 -9.85062817906832e-02 + 5.75757575757576e+00 1.06482572032358e+00 8.53666696941767e-03 -9.94110090903628e-02 + 6.36363636363637e+00 1.13279429773717e+00 9.07144999697415e-03 -1.00199845450852e-01 + 6.96969696969697e+00 1.19992279119627e+00 9.65438331427377e-03 -1.00911421188856e-01 + 7.57575757575757e+00 1.26401285436997e+00 1.04239369651998e-02 -1.01342315149114e-01 + 8.18181818181818e+00 1.32743441959680e+00 1.12068272781317e-02 -1.01712963638171e-01 + 8.78787878787879e+00 1.38966929719521e+00 1.19979181654635e-02 -1.01977509085440e-01 + 9.39393939393939e+00 1.45022229728932e+00 1.28306878694348e-02 -1.02093578787484e-01 + 1.00000000000000e+01 1.50986967084640e+00 1.36859000183078e-02 -1.02129699995493e-01 + 1.06060606060606e+01 1.56591374689314e+00 1.46569302946297e-02 -1.01890669699038e-01 + 1.12121212121212e+01 1.62032913559413e+00 1.56874817998069e-02 -1.01551327281192e-01 + 1.18181818181818e+01 1.67171981887173e+00 1.68285727428916e-02 -1.01025690901896e-01 + 1.24242424242424e+01 1.71732120780388e+00 1.82589121264519e-02 -1.00229727269653e-01 + 1.30303030303030e+01 1.75970880160322e+00 1.98550060097699e-02 -9.92979000279053e-02 + 1.36363636363636e+01 1.78817567294369e+00 2.22451272930941e-02 -9.79858999888201e-02 + 1.42424242424242e+01 1.80405229161054e+00 2.54394667344084e-02 -9.64468939104616e-02 + 1.48484848484848e+01 1.80104353334401e+00 2.98401332800337e-02 -9.45673788106429e-02 + 1.54545454545455e+01 1.77031515169143e+00 3.64364818427673e-02 -9.28892272673224e-02 + 1.60606060606061e+01 1.72822129397981e+00 4.40704518296318e-02 -9.14690181908170e-02 + 1.66666666666667e+01 1.66699703672865e+00 5.44559669930141e-02 -9.17662000093384e-02 + 1.72727272727273e+01 1.60577277947748e+00 6.48414821563965e-02 -9.20633818278598e-02 + 1.78787878787879e+01 1.54454852222632e+00 7.52269973197788e-02 -9.23605636463812e-02 + 1.84848484848485e+01 1.49715267722877e+00 8.57193488514518e-02 -9.39441697633689e-02 + 1.90909090909091e+01 1.45321393456136e+00 9.62384094695321e-02 -9.58493818867580e-02 + 1.96969696969697e+01 1.40927519189395e+00 1.06757470087612e-01 -9.77545940101472e-02 + 2.03030303030303e+01 1.37128788975218e+00 1.17476318599776e-01 -1.00146200110168e-01 + 2.09090909090909e+01 1.33925202723838e+00 1.28394954975889e-01 -1.03024200113457e-01 + 2.15151515151515e+01 1.30721616472458e+00 1.39313591352002e-01 -1.05902200116745e-01 + 2.21212121212121e+01 1.27518030221078e+00 1.50232227728114e-01 -1.08780200120034e-01 + 2.27272727272727e+01 1.24314443969698e+00 1.61150864104227e-01 -1.11658200123322e-01 + 2.33333333333333e+01 1.21110857718317e+00 1.72069500480340e-01 -1.14536200126611e-01 + 2.39393939393939e+01 1.18521318094112e+00 1.82988136856453e-01 -1.17414200129899e-01 + 2.45454545454545e+01 1.16381772655112e+00 1.96599818646254e-01 -1.21514181959599e-01 + 2.51515151515151e+01 1.14409802986632e+00 2.10510727553799e-01 -1.25749939479524e-01 + 2.57575757575758e+01 1.13006015136334e+00 2.24421636461345e-01 -1.29985696999448e-01 + 2.63636363636364e+01 1.11602227286036e+00 2.38332545368891e-01 -1.34221454519373e-01 + 2.69696969696970e+01 1.10198439435737e+00 2.52243454276436e-01 -1.38457212039298e-01 + 2.75757575757576e+01 1.08794651585439e+00 2.66154363183982e-01 -1.42692969559223e-01 + 2.81818181818182e+01 1.07084186495451e+00 2.82383771831320e-01 -1.47339908858783e-01 + 2.87878787878788e+01 1.04658141037268e+00 3.04023014280290e-01 -1.52946272501553e-01 + 2.93939393939394e+01 1.02232095579085e+00 3.25662256729258e-01 -1.58552636144323e-01 + 3.00000000000000e+01 9.98060501209013e-01 3.47301499178227e-01 -1.64158999787093e-01 + 3.30000000000000e+01 9.22062250770388e-01 4.43016766986580e-01 -1.89050377014450e-01 + 3.60000000000000e+01 9.34246002556734e-01 5.15934069457928e-01 -2.08221508455227e-01 + 3.90000000000000e+01 9.45589244087954e-01 5.92145558566002e-01 -2.27204042284425e-01 + 4.20000000000000e+01 9.54748584113586e-01 6.69588003216532e-01 -2.44649507771081e-01 + 4.50000000000000e+01 9.61252131007629e-01 7.47874730889827e-01 -2.60949244350105e-01 + 4.80000000000000e+01 9.25795787149951e-01 8.26351001503544e-01 -2.77248980746643e-01 + 5.10000000000000e+01 8.85072931699619e-01 9.03691989486419e-01 -2.92826828648911e-01 + 5.40000000000000e+01 8.40139834221778e-01 9.79476039083604e-01 -3.08033675125759e-01 + 5.70000000000000e+01 7.90916239414658e-01 1.05332349084099e+00 -3.22957806949482e-01 + 6.00000000000000e+01 7.35111043150310e-01 1.12283400217720e+00 -3.37591520807121e-01 + 6.30000000000000e+01 6.74957638303847e-01 1.18834261746902e+00 -3.51586315701813e-01 + 6.60000000000000e+01 6.10964879118523e-01 1.24975699863433e+00 -3.65261651053213e-01 + 6.90000000000000e+01 5.42808995062654e-01 1.30593816480719e+00 -3.78936986269520e-01 + 7.20000000000000e+01 4.70239192035188e-01 1.35443145209476e+00 -3.91247379618790e-01 + 7.50000000000000e+01 3.95258069652003e-01 1.39714437509904e+00 -4.03249463617085e-01 + 7.80000000000000e+01 3.18166875234793e-01 1.43386877376821e+00 -4.14964097416413e-01 + 8.10000000000000e+01 2.39033591672124e-01 1.46177719199882e+00 -4.25852018664857e-01 + 8.40000000000000e+01 1.59202953296899e-01 1.48140709269595e+00 -4.35698894587758e-01 + 8.70000000000000e+01 7.94010592711672e-02 1.49417607502582e+00 -4.45220443783577e-01 + 9.00000000000000e+01 3.11028980348738e-10 1.49999999997719e+00 -4.54741992897877e-01 + 9.30000000000000e+01 -5.55807418230592e-02 1.49417607499090e+00 -4.59628257189905e-01 + 9.60000000000000e+01 -1.11442067459277e-01 1.48140709264988e+00 -4.64514521421943e-01 + 9.90000000000000e+01 -1.67323513736515e-01 1.46177719221746e+00 -4.68714600495400e-01 + 1.02000000000000e+02 -2.22716812230383e-01 1.43386877398686e+00 -4.70718887134564e-01 + 1.05000000000000e+02 -2.76680648972375e-01 1.39714437494550e+00 -4.70979456271530e-01 + 1.08000000000000e+02 -3.29167434663816e-01 1.35443145187167e+00 -4.70624689513598e-01 + 1.11000000000000e+02 -3.79966296232927e-01 1.30593816517334e+00 -4.69601007215107e-01 + 1.14000000000000e+02 -4.27675415731853e-01 1.24975699822349e+00 -4.65615912292485e-01 + 1.17000000000000e+02 -4.72470346873147e-01 1.18834261738102e+00 -4.61630817409231e-01 + 1.20000000000000e+02 -5.14577730079261e-01 1.12283400240132e+00 -4.57221478466790e-01 + 1.23000000000000e+02 -5.53641368004556e-01 1.05332349010379e+00 -4.51963651365242e-01 + 1.26000000000000e+02 -5.88097883889968e-01 9.79476039224861e-01 -4.46320147916898e-01 + 1.29000000000000e+02 -6.19551051959611e-01 9.03691990090244e-01 -4.41015754695827e-01 + 1.32000000000000e+02 -6.48057050875903e-01 8.26351001911627e-01 -4.36207139878165e-01 + 1.35000000000000e+02 -6.72876491919531e-01 7.47874730212582e-01 -4.32363202318299e-01 + 1.38000000000000e+02 -6.94574008880946e-01 6.69588003211172e-01 -4.28519264801468e-01 + 1.41000000000000e+02 -7.14412470826591e-01 5.92145558711669e-01 -4.25249806728838e-01 + 1.44000000000000e+02 -7.32722201977660e-01 5.15934068684593e-01 -4.22751049476045e-01 + 1.47000000000000e+02 -7.50443575482131e-01 4.43016767221693e-01 -4.20346856774768e-01 + 1.50000000000000e+02 -7.09078781261518e-01 3.72562354853516e-01 -4.16279946005650e-01 + 1.53000000000000e+02 -6.38170903055494e-01 3.06742155077266e-01 -3.95585854638999e-01 + 1.56000000000000e+02 -5.67263024849471e-01 2.45847323942745e-01 -3.73229045212350e-01 + 1.59000000000000e+02 -4.96355146643446e-01 1.90143998922178e-01 -3.50872235785700e-01 + 1.62000000000000e+02 -4.25447268437423e-01 1.40636124349672e-01 -3.74735973053744e-01 + 1.65000000000000e+02 -3.54539390231399e-01 9.81315663888162e-02 -4.21709983289917e-01 + 1.68000000000000e+02 -2.83631512025374e-01 6.23519280822543e-02 -4.68683993526091e-01 + 1.71000000000000e+02 -2.12723633819350e-01 3.53980714785814e-02 -4.49999998824567e-01 + 1.74000000000000e+02 -1.41815755613326e-01 2.95870407694700e-02 -2.99999998653168e-01 + 1.77000000000000e+02 -7.09078783383423e-02 2.59899654394449e-02 -1.50000000451309e-01 + 1.80000000000000e+02 4.85722573273506e-18 2.46414625588597e-02 0.00000000000000e+00 diff --git a/data/IEA15MW/Cp_Ct_Cq.IEA15MW.txt b/data/IEA15MW/Cp_Ct_Cq.IEA15MW.txt new file mode 100644 index 0000000..5488662 --- /dev/null +++ b/data/IEA15MW/Cp_Ct_Cq.IEA15MW.txt @@ -0,0 +1,99 @@ +# ----- Rotor performance tables for the IEA-15-240-RWT-UMaineSemi wind turbine ----- +# ------------ Written on Jan-13-22 using the ROSCO toolbox ------------ + +# Pitch angle vector, 36 entries - x axis (matrix columns) (deg) +-5.0 -4.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 21.0 22.0 23.0 24.0 25.0 26.0 27.0 28.0 29.0 30.0 +# TSR vector, 26 entries - y axis (matrix rows) (-) +2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 8.5 9.0 9.5 10.0 10.5 11.0 11.5 12.0 12.5 13.0 13.5 14.0 14.5 +# Wind speed vector - z axis (m/s) +10.74 + +# Power coefficient + +0.007251 0.009366 0.011532 0.013754 0.016030 0.018361 0.020743 0.023171 0.025639 0.028138 0.030661 0.033197 0.035734 0.038256 0.040747 0.043187 0.045550 0.047810 0.049936 0.051897 0.053662 0.055201 0.056484 0.057483 0.058172 0.058531 0.058546 0.058209 0.057521 0.056485 0.055109 0.053405 0.051389 0.049081 0.046504 0.043681 +0.019436 0.023469 0.027566 0.031716 0.035901 0.040106 0.044314 0.048503 0.052654 0.056737 0.060719 0.064557 0.068203 0.071605 0.074711 0.077467 0.079822 0.081726 0.083134 0.084008 0.084324 0.084069 0.083239 0.081840 0.079890 0.077416 0.074455 0.071049 0.067242 0.063073 0.058583 0.053805 0.048771 0.043510 0.038045 0.032401 +0.040873 0.047384 0.053880 0.060337 0.066726 0.073010 0.079139 0.085049 0.090666 0.095911 0.100701 0.104952 0.108582 0.111511 0.113669 0.115001 0.115469 0.115051 0.113747 0.111576 0.108583 0.104831 0.100393 0.095345 0.089759 0.083701 0.077230 0.070398 0.063247 0.055811 0.048117 0.040189 0.032053 0.023739 0.015286 0.006739 +0.071922 0.081223 0.090360 0.099264 0.107843 0.115989 0.123588 0.130519 0.136658 0.141883 0.146076 0.149137 0.150984 0.151558 0.150835 0.148829 0.145596 0.141230 0.135840 0.129545 0.122463 0.114703 0.106360 0.097519 0.088247 0.078597 0.068602 0.058288 0.047675 0.036788 0.025655 0.014316 0.002824 -0.008747 -0.020309 -0.031760 +0.112210 0.124428 0.136127 0.147153 0.157342 0.166524 0.174528 0.181184 0.186337 0.189854 0.191631 0.191617 0.189824 0.186328 0.181256 0.174767 0.167032 0.158221 0.148494 0.137993 0.126842 0.115143 0.102966 0.090358 0.077345 0.063943 0.050165 0.036027 0.021558 0.006806 -0.008152 -0.023215 -0.038258 -0.053140 -0.067708 -0.081808 +0.160744 0.175535 0.189193 0.201491 0.212200 0.221097 0.227976 0.232657 0.235015 0.235013 0.232702 0.228208 0.221720 0.213461 0.203662 0.192545 0.180317 0.167165 0.153244 0.138678 0.123550 0.107909 0.091772 0.075145 0.058026 0.040419 0.022347 0.003863 -0.014946 -0.033958 -0.053018 -0.071946 -0.090543 -0.108599 -0.125905 -0.142264 +0.215508 0.232038 0.246580 0.258847 0.268572 0.275521 0.279539 0.280586 0.278731 0.274129 0.267014 0.257668 0.246378 0.233418 0.219048 0.203506 0.186993 0.169673 0.151662 0.133020 0.113764 0.093892 0.073386 0.052235 0.030445 0.008053 -0.014861 -0.038173 -0.061710 -0.085261 -0.108584 -0.131412 -0.153464 -0.174463 -0.194166 -0.212382 +0.273409 0.290382 0.304333 0.314975 0.322107 0.325649 0.325656 0.322281 0.315769 0.306444 0.294638 0.280671 0.264850 0.247466 0.228784 0.209029 0.188372 0.166917 0.144698 0.121714 0.097940 0.073347 0.047912 0.021640 -0.005422 -0.033172 -0.061446 -0.090018 -0.118617 -0.146928 -0.174607 -0.201292 -0.226633 -0.250324 -0.272140 -0.291950 +0.329940 0.345825 0.357721 0.365512 0.369187 0.368855 0.364705 0.357044 0.346232 0.332617 0.316536 0.298322 0.278299 0.256768 0.233983 0.210130 0.185307 0.159535 0.132794 0.105043 0.076235 0.046337 0.015346 -0.016689 -0.049648 -0.083330 -0.117454 -0.151684 -0.185632 -0.218873 -0.250954 -0.281433 -0.309924 -0.336143 -0.359938 -0.381277 +0.378913 0.392827 0.402281 0.407245 0.407807 0.404144 0.396553 0.385362 0.370919 0.353572 0.333678 0.311600 0.287685 0.262231 0.235460 0.207478 0.178297 0.147882 0.116177 0.083123 0.048675 0.012815 -0.024416 -0.062889 -0.102373 -0.142536 -0.182976 -0.223236 -0.262804 -0.301131 -0.337666 -0.371914 -0.403505 -0.432231 -0.458045 -0.481019 +0.414137 0.426640 0.434735 0.438252 0.437168 0.431569 0.421719 0.407950 0.390623 0.370132 0.346894 0.321325 0.293792 0.264573 0.233806 0.201507 0.167634 0.132125 0.094914 0.055943 0.015178 -0.027358 -0.071544 -0.117134 -0.163753 -0.210939 -0.258162 -0.304829 -0.350292 -0.393882 -0.434965 -0.473039 -0.507800 -0.539156 -0.567171 -0.592043 +0.433494 0.445408 0.453612 0.457766 0.457122 0.451418 0.440746 0.425459 0.406045 0.383025 0.356925 0.328219 0.297279 0.264317 0.229380 0.192438 0.153433 0.112299 0.068972 0.023405 -0.024405 -0.074363 -0.126232 -0.179610 -0.233981 -0.288748 -0.343237 -0.396710 -0.448374 -0.497442 -0.543232 -0.585284 -0.623410 -0.657639 -0.688166 -0.715333 +0.436275 0.449825 0.460056 0.466253 0.467887 0.463986 0.454086 0.438469 0.417833 0.392926 0.364422 0.332858 0.298591 0.261751 0.222351 0.180355 0.135712 0.088363 0.038258 -0.014631 -0.070251 -0.128399 -0.188679 -0.250533 -0.313300 -0.376234 -0.438507 -0.499220 -0.557428 -0.612238 -0.662965 -0.709250 -0.751038 -0.788492 -0.821956 -0.851931 +0.424080 0.440891 0.454815 0.465074 0.470360 0.469685 0.462112 0.447500 0.426558 0.400386 0.369866 0.335620 0.297965 0.257011 0.212785 0.165271 0.114436 0.060240 0.002647 -0.058332 -0.122556 -0.189675 -0.259116 -0.330166 -0.402007 -0.473733 -0.544346 -0.612770 -0.677901 -0.738770 -0.794748 -0.845614 -0.891455 -0.932585 -0.969506 -1.002893 +0.403225 0.422321 0.440019 0.455114 0.465482 0.469256 0.465301 0.452924 0.432637 0.405791 0.373578 0.336709 0.295516 0.250155 0.200697 0.147161 0.089543 0.027824 -0.038007 -0.107881 -0.181531 -0.258423 -0.337808 -0.418810 -0.500446 -0.581631 -0.661181 -0.737821 -0.810291 -0.877597 -0.939224 -0.995103 -1.045473 -1.090812 -1.131786 -1.169271 +0.378667 0.400003 0.419627 0.438155 0.453992 0.463410 0.463981 0.454979 0.436339 0.409399 0.375743 0.336229 0.291301 0.241205 0.186074 0.125979 0.060950 -0.009009 -0.083872 -0.163480 -0.247402 -0.334900 -0.425051 -0.516804 -0.608998 -0.700354 -0.789472 -0.874863 -0.955135 -1.029325 -1.097075 -1.158474 -1.213926 -1.264074 -1.309756 -1.352105 +0.350359 0.374771 0.396930 0.417478 0.437099 0.452466 0.458747 0.453923 0.437825 0.411368 0.376451 0.334231 0.285343 0.230155 0.168885 0.101662 0.028556 -0.050401 -0.135131 -0.225348 -0.320412 -0.419385 -0.521164 -0.624514 -0.728077 -0.830353 -0.929702 -1.024413 -1.112999 -1.194592 -1.269008 -1.336503 -1.397648 -1.453260 -1.504368 -1.552428 +0.318190 0.346332 0.371772 0.394998 0.416885 0.437225 0.449740 0.449954 0.437173 0.411769 0.375746 0.330742 0.277648 0.216989 0.149085 0.074133 -0.007756 -0.096514 -0.191983 -0.293708 -0.400817 -0.512175 -0.626491 -0.742331 -0.858113 -0.972094 -1.082370 -1.187008 -1.284474 -1.374056 -1.455746 -1.529969 -1.597472 -1.659253 -1.716558 -1.771272 +0.282822 0.314588 0.343918 0.370530 0.395163 0.418674 0.437283 0.443350 0.434457 0.410621 0.373648 0.325771 0.268209 0.201678 0.126618 0.043300 -0.048118 -0.147520 -0.254635 -0.368793 -0.488887 -0.613585 -0.741394 -0.870659 -0.999552 -1.126057 -1.247986 -1.363197 -1.470173 -1.568390 -1.658016 -1.739651 -1.814222 -1.882926 -1.947258 -2.009672 +0.244861 0.280050 0.313269 0.343892 0.371942 0.398346 0.421836 0.434161 0.429698 0.407920 0.370170 0.319321 0.257011 0.184184 0.101416 0.009059 -0.092674 -0.203600 -0.323297 -0.450843 -0.584905 -0.723943 -0.866246 -1.009914 -1.152846 -1.292729 -1.427073 -1.553547 -1.670720 -1.778272 -1.876547 -1.966322 -2.048715 -2.125141 -2.197389 -2.268659 +0.204978 0.243295 0.280083 0.314978 0.347072 0.376832 0.404146 0.422494 0.422989 0.403651 0.365310 0.311383 0.244029 0.164458 0.073398 -0.028706 -0.141575 -0.264940 -0.398183 -0.540109 -0.689163 -0.843589 -1.001430 -1.160518 -1.318456 -1.472606 -1.620157 -1.758633 -1.886748 -2.004386 -2.112067 -2.210750 -2.301763 -2.386757 -2.467869 -2.549268 +0.164551 0.204712 0.244978 0.283811 0.320432 0.354104 0.384950 0.408505 0.414375 0.397797 0.359066 0.301946 0.229233 0.142443 0.042477 -0.070114 -0.194981 -0.331731 -0.479509 -0.636848 -0.801965 -0.972868 -1.147334 -1.322900 -1.496848 -1.666187 -1.827775 -1.979040 -2.118894 -2.247415 -2.365297 -2.473697 -2.574170 -2.668622 -2.759615 -2.852537 +0.123406 0.165506 0.208120 0.250782 0.291942 0.330045 0.364619 0.392577 0.403851 0.390360 0.351426 0.290990 0.212584 0.118076 0.008560 -0.115295 -0.253050 -0.404164 -0.567499 -0.741323 -0.923619 -1.112130 -1.304348 -1.497491 -1.688490 -1.873974 -2.050464 -2.215360 -2.367797 -2.508038 -2.636958 -2.755923 -2.866736 -2.971582 -3.073543 -3.179506 +0.081919 0.125711 0.170327 0.216226 0.261618 0.304542 0.343187 0.375127 0.391476 0.381325 0.342377 0.278492 0.194038 0.091286 -0.028452 -0.164378 -0.315948 -0.482428 -0.662379 -0.853805 -1.054435 -1.261731 -1.472870 -1.684728 -1.893856 -2.096473 -2.288771 -2.468189 -2.634096 -2.786934 -2.927765 -3.058183 -3.180258 -3.296479 -3.410571 -3.531209 +0.041584 0.085346 0.132094 0.180334 0.229751 0.277509 0.320600 0.356398 0.377301 0.370718 0.331902 0.264422 0.173544 0.061998 -0.068663 -0.217497 -0.383839 -0.566719 -0.764382 -0.974568 -1.194731 -1.422028 -1.653298 -1.885048 -2.113418 -2.334189 -2.543243 -2.738124 -2.918432 -3.084779 -3.238430 -3.381229 -3.515528 -3.644151 -3.771614 -3.908675 +0.003397 0.045453 0.093229 0.143805 0.196595 0.248906 0.296781 0.336522 0.361457 0.358550 0.319976 0.248745 0.151048 0.030135 -0.112176 -0.274788 -0.456888 -0.657231 -0.873742 -1.103887 -1.344823 -1.593379 -1.846033 -2.098890 -2.347652 -2.587633 -2.814435 -3.025765 -3.221441 -3.402247 -3.569666 -3.725808 -3.873334 -4.015434 -4.157593 -4.312929 + + +# Thrust coefficient + +0.069339 0.069285 0.069265 0.069284 0.069348 0.069462 0.069631 0.069861 0.070156 0.070515 0.070940 0.071427 0.071969 0.072555 0.073167 0.073784 0.074381 0.074929 0.075399 0.075762 0.075989 0.076053 0.075927 0.075585 0.075002 0.074156 0.073033 0.071627 0.069936 0.067961 0.065707 0.063182 0.060399 0.057373 0.054125 0.050677 +0.091816 0.092396 0.093076 0.093861 0.094755 0.095757 0.096861 0.098053 0.099312 0.100607 0.101899 0.103144 0.104293 0.105296 0.106103 0.106664 0.106932 0.106859 0.106400 0.105518 0.104185 0.102388 0.100122 0.097389 0.094199 0.090571 0.086535 0.082128 0.077386 0.072348 0.067046 0.061514 0.055786 0.049889 0.043854 0.037706 +0.123474 0.125175 0.127037 0.129041 0.131158 0.133343 0.135537 0.137673 0.139677 0.141468 0.142968 0.144098 0.144778 0.144928 0.144475 0.143363 0.141549 0.139013 0.135746 0.131760 0.127085 0.121773 0.115886 0.109490 0.102647 0.095413 0.087844 0.079990 0.071896 0.063601 0.055138 0.046541 0.037842 0.029084 0.020313 0.011584 +0.165573 0.168765 0.172067 0.175395 0.178652 0.181729 0.184510 0.186878 0.188712 0.189886 0.190280 0.189783 0.188309 0.185796 0.182213 0.177561 0.171880 0.165246 0.157753 0.149506 0.140602 0.131135 0.121193 0.110856 0.100191 0.089257 0.078096 0.066745 0.055241 0.043622 0.031934 0.020232 0.008586 -0.002925 -0.014205 -0.025150 +0.218578 0.223272 0.227828 0.232089 0.235890 0.239062 0.241423 0.242792 0.242998 0.241890 0.239359 0.235341 0.229830 0.222880 0.214602 0.205136 0.194628 0.183227 0.171072 0.158293 0.145007 0.131310 0.117282 0.102979 0.088445 0.073715 0.058829 0.043826 0.028760 0.013705 -0.001248 -0.015985 -0.030377 -0.044284 -0.057563 -0.070069 +0.282170 0.287984 0.293205 0.297595 0.300902 0.302869 0.303257 0.301860 0.298532 0.293212 0.285926 0.276781 0.265950 0.253634 0.240038 0.225364 0.209800 0.193518 0.176663 0.159356 0.141688 0.123724 0.105508 0.087076 0.068461 0.049704 0.030866 0.012031 -0.006687 -0.025154 -0.043209 -0.060678 -0.077376 -0.093114 -0.107708 -0.120989 +0.355551 0.361717 0.366570 0.369761 0.370962 0.369889 0.366343 0.360246 0.351638 0.340662 0.327543 0.312549 0.295952 0.278014 0.258980 0.239067 0.218462 0.197319 0.175758 0.153858 0.131672 0.109234 0.086576 0.063737 0.040774 0.017772 -0.005152 -0.027850 -0.050141 -0.071820 -0.092665 -0.112437 -0.130896 -0.147809 -0.162979 -0.176255 +0.437424 0.442600 0.445428 0.445527 0.442621 0.436568 0.427391 0.415241 0.400373 0.383119 0.363825 0.342820 0.320406 0.296858 0.272415 0.247283 0.221625 0.195556 0.169146 0.142442 0.115476 0.088285 0.060910 0.033423 0.005927 -0.021432 -0.048470 -0.074961 -0.100651 -0.125266 -0.148509 -0.170083 -0.189704 -0.207135 -0.222205 -0.234819 +0.525460 0.527667 0.526388 0.521407 0.512676 0.500320 0.484572 0.465789 0.444390 0.420775 0.395313 0.368336 0.340148 0.311014 0.281163 0.250768 0.219948 0.188774 0.157288 0.125523 0.093512 0.061304 0.028977 -0.003353 -0.035515 -0.067288 -0.098400 -0.128550 -0.157409 -0.184625 -0.209836 -0.232697 -0.252917 -0.270290 -0.284715 -0.296179 +0.615952 0.613062 0.605901 0.594509 0.579067 0.559868 0.537340 0.511939 0.484103 0.454230 0.422681 0.389789 0.355853 0.321130 0.285821 0.250056 0.213904 0.177405 0.140589 0.103492 0.066167 0.028691 -0.008807 -0.046142 -0.083058 -0.119241 -0.154343 -0.187982 -0.219751 -0.249221 -0.275974 -0.299648 -0.319983 -0.336843 -0.350215 -0.360169 +0.704449 0.694964 0.681074 0.662912 0.640727 0.614890 0.585866 0.554109 0.520036 0.484043 0.446498 0.407746 0.368089 0.327760 0.286907 0.245605 0.203892 0.161803 0.119377 0.076670 0.033761 -0.009223 -0.052085 -0.094547 -0.136257 -0.176821 -0.215808 -0.252755 -0.287172 -0.318563 -0.346472 -0.370554 -0.390616 -0.406617 -0.418630 -0.426816 +0.788050 0.771081 0.750180 0.725566 0.697249 0.665444 0.630464 0.592722 0.552663 0.510720 0.467303 0.422770 0.377405 0.331392 0.284823 0.237745 0.190200 0.142234 0.093911 0.045313 -0.003438 -0.052150 -0.100535 -0.148212 -0.194742 -0.239647 -0.282414 -0.322495 -0.359318 -0.392326 -0.421055 -0.445212 -0.464702 -0.479579 -0.490008 -0.496248 +0.865515 0.840957 0.813170 0.782370 0.748642 0.711681 0.671434 0.628192 0.582472 0.534801 0.485644 0.435368 0.384230 0.332362 0.279836 0.226708 0.173041 0.118910 0.064405 0.009644 -0.045195 -0.099832 -0.153874 -0.206843 -0.258215 -0.307428 -0.353882 -0.396940 -0.435949 -0.470305 -0.499570 -0.523541 -0.542228 -0.555781 -0.564463 -0.568631 +0.936624 0.904628 0.870386 0.834093 0.795408 0.753900 0.709091 0.660970 0.609969 0.556782 0.501963 0.445906 0.388839 0.330884 0.272133 0.212671 0.152595 0.092013 0.031045 -0.030145 -0.091302 -0.152046 -0.211872 -0.270212 -0.326456 -0.379954 -0.430018 -0.475915 -0.516910 -0.552380 -0.581950 -0.605533 -0.623237 -0.635315 -0.642129 -0.644126 +1.003783 0.963890 0.923043 0.881412 0.838282 0.792686 0.743893 0.691437 0.635555 0.577025 0.516565 0.454614 0.391411 0.327117 0.261867 0.195788 0.129019 0.061701 -0.006008 -0.073887 -0.141587 -0.208610 -0.274348 -0.338143 -0.399299 -0.457078 -0.510691 -0.559303 -0.602106 -0.638490 -0.668186 -0.691219 -0.707803 -0.718289 -0.723134 -0.722877 +1.069660 1.021807 0.973433 0.925583 0.877961 0.828685 0.776187 0.719857 0.659500 0.595781 0.529650 0.461644 0.392082 0.321193 0.249169 0.176195 0.102450 0.028111 -0.046621 -0.121447 -0.195907 -0.269379 -0.341162 -0.410508 -0.476633 -0.538701 -0.595814 -0.647027 -0.691478 -0.728616 -0.758297 -0.780656 -0.796011 -0.804806 -0.807593 -0.805005 +1.135151 1.079519 1.023640 0.968618 0.915361 0.862272 0.806463 0.746481 0.681967 0.613212 0.541346 0.467113 0.390965 0.313224 0.234158 0.154010 0.073002 -0.008650 -0.090686 -0.172715 -0.254145 -0.334241 -0.412210 -0.487216 -0.558380 -0.624756 -0.685326 -0.739035 -0.785001 -0.822768 -0.852322 -0.873908 -0.887939 -0.894954 -0.895600 -0.890608 +1.200634 1.137445 1.074091 1.011838 0.951774 0.894037 0.834912 0.771492 0.703048 0.629422 0.551751 0.471121 0.388161 0.303315 0.216936 0.129330 0.040767 -0.048492 -0.138117 -0.227598 -0.316208 -0.403110 -0.487418 -0.568205 -0.644486 -0.715195 -0.779185 -0.835299 -0.882669 -0.920969 -0.950309 -0.971037 -0.983660 -0.988810 -0.987235 -0.979770 +1.265255 1.195691 1.124977 1.055449 0.988373 0.924624 0.861796 0.795127 0.722837 0.644478 0.560948 0.473752 0.383758 0.291553 0.197588 0.102236 0.005819 -0.091347 -0.188842 -0.286020 -0.382025 -0.475922 -0.566734 -0.653432 -0.734914 -0.809987 -0.877364 -0.935804 -0.984492 -1.023251 -1.052305 -1.072100 -1.083234 -1.086438 -1.082566 -1.072555 +1.328343 1.253526 1.176341 1.099544 1.025366 0.954961 0.887436 0.817466 0.741390 0.658428 0.569007 0.475083 0.377831 0.278012 0.176184 0.072792 -0.031782 -0.137156 -0.242799 -0.347918 -0.451540 -0.552633 -0.650122 -0.742865 -0.829637 -0.909108 -0.979846 -1.040544 -1.090488 -1.129647 -1.158354 -1.177145 -1.186712 -1.187891 -1.181646 -1.169016 +1.389243 1.310229 1.227774 1.144163 1.062812 0.985517 0.912297 0.838613 0.758818 0.671306 0.575987 0.475177 0.370448 0.262756 0.152781 0.041050 -0.071988 -0.185871 -0.299938 -0.413247 -0.524713 -0.633211 -0.737554 -0.836483 -0.928639 -1.012543 -1.086618 -1.149524 -1.200679 -1.240192 -1.268496 -1.286214 -1.294139 -1.293215 -1.284523 -1.269193 +1.446495 1.365446 1.278456 1.189187 1.100736 1.016407 0.936851 0.858699 0.775201 0.683140 0.581940 0.474094 0.361664 0.245836 0.127425 0.007052 -0.114760 -0.237453 -0.360218 -0.481968 -0.601517 -0.717631 -0.829012 -0.934270 -1.031906 -1.120281 -1.197677 -1.262753 -1.315088 -1.354917 -1.382763 -1.399343 -1.405550 -1.402447 -1.391234 -1.373118 +1.500721 1.417864 1.328236 1.234040 1.139124 1.047650 0.961392 0.877983 0.790575 0.693978 0.586914 0.471885 0.351528 0.227296 0.100156 -0.029167 -0.160066 -0.291867 -0.423604 -0.554054 -0.681927 -0.805878 -0.924482 -1.036215 -1.139429 -1.232316 -1.313020 -1.380245 -1.433740 -1.473850 -1.501186 -1.516561 -1.520978 -1.515620 -1.501808 -1.480814 +1.551807 1.467724 1.376212 1.278271 1.177831 1.079246 0.986033 0.896750 0.805016 0.703846 0.590948 0.468593 0.340079 0.207169 0.071004 -0.067579 -0.207877 -0.349086 -0.490070 -0.629485 -0.765930 -0.897937 -1.023953 -1.142311 -1.251201 -1.348641 -1.432649 -1.502015 -1.556654 -1.597013 -1.623789 -1.637895 -1.640449 -1.632760 -1.616272 -1.592298 +1.598372 1.515229 1.421950 1.321664 1.216399 1.111177 1.010820 0.915192 0.818588 0.712807 0.594079 0.464255 0.327350 0.185486 0.039995 -0.108161 -0.258171 -0.409083 -0.559596 -0.708245 -0.853511 -0.993800 -1.127420 -1.252552 -1.367219 -1.469253 -1.556568 -1.628077 -1.683852 -1.724429 -1.750594 -1.763367 -1.763986 -1.753891 -1.734646 -1.707584 +1.639737 1.559431 1.465833 1.363446 1.254467 1.143376 1.035772 0.933446 0.831408 0.720912 0.596337 0.458902 0.313369 0.162271 0.007152 -0.150891 -0.310927 -0.471838 -0.632165 -0.790322 -0.944662 -1.093459 -1.234875 -1.366933 -1.487477 -1.594151 -1.684783 -1.758447 -1.815350 -1.856114 -1.881620 -1.892996 -1.891607 -1.879032 -1.856946 -1.826682 + + +# Torque coefficient + +0.003634 0.004694 0.005780 0.006894 0.008035 0.009203 0.010397 0.011614 0.012851 0.014104 0.015368 0.016639 0.017911 0.019175 0.020423 0.021646 0.022831 0.023963 0.025029 0.026012 0.026897 0.027668 0.028311 0.028812 0.029157 0.029337 0.029344 0.029176 0.028831 0.028311 0.027622 0.026768 0.025757 0.024600 0.023309 0.021894 +0.007794 0.009410 0.011053 0.012717 0.014396 0.016082 0.017769 0.019449 0.021113 0.022750 0.024347 0.025886 0.027348 0.028712 0.029957 0.031062 0.032007 0.032770 0.033335 0.033685 0.033812 0.033710 0.033377 0.032816 0.032034 0.031042 0.029855 0.028489 0.026962 0.025291 0.023490 0.021574 0.019556 0.017446 0.015255 0.012992 +0.013658 0.015833 0.018004 0.020161 0.022296 0.024396 0.026444 0.028419 0.030296 0.032048 0.033649 0.035069 0.036282 0.037261 0.037982 0.038427 0.038584 0.038444 0.038008 0.037283 0.036283 0.035029 0.033546 0.031859 0.029993 0.027968 0.025806 0.023523 0.021134 0.018649 0.016078 0.013429 0.010710 0.007932 0.005108 0.002252 +0.020599 0.023263 0.025880 0.028430 0.030887 0.033221 0.035397 0.037382 0.039141 0.040637 0.041838 0.042715 0.043244 0.043408 0.043201 0.042626 0.041701 0.040450 0.038906 0.037103 0.035075 0.032852 0.030463 0.027930 0.025275 0.022511 0.019649 0.016694 0.013655 0.010537 0.007348 0.004100 0.000809 -0.002505 -0.005817 -0.009097 +0.028121 0.031183 0.034115 0.036878 0.039432 0.041733 0.043739 0.045407 0.046698 0.047579 0.048025 0.048021 0.047572 0.046696 0.045425 0.043798 0.041860 0.039652 0.037214 0.034582 0.031788 0.028856 0.025804 0.022645 0.019383 0.016025 0.012572 0.009029 0.005403 0.001706 -0.002043 -0.005818 -0.009588 -0.013317 -0.016968 -0.020502 +0.035808 0.039103 0.042145 0.044885 0.047271 0.049253 0.050785 0.051828 0.052353 0.052353 0.051838 0.050837 0.049391 0.047552 0.045369 0.042892 0.040168 0.037238 0.034137 0.030892 0.027523 0.024038 0.020444 0.016740 0.012926 0.009004 0.004978 0.000861 -0.003329 -0.007565 -0.011811 -0.016027 -0.020170 -0.024192 -0.028047 -0.031691 +0.043207 0.046521 0.049436 0.051896 0.053846 0.055239 0.056044 0.056254 0.055882 0.054960 0.053533 0.051660 0.049396 0.046798 0.043917 0.040801 0.037490 0.034017 0.030406 0.026669 0.022808 0.018824 0.014713 0.010473 0.006104 0.001615 -0.002979 -0.007653 -0.012372 -0.017094 -0.021770 -0.026347 -0.030768 -0.034978 -0.038928 -0.042580 +0.049832 0.052926 0.055468 0.057408 0.058708 0.059353 0.059355 0.058740 0.057553 0.055853 0.053701 0.051156 0.048272 0.045104 0.041699 0.038098 0.034333 0.030423 0.026373 0.022184 0.017851 0.013368 0.008733 0.003944 -0.000988 -0.006046 -0.011199 -0.016407 -0.021619 -0.026779 -0.031824 -0.036688 -0.041307 -0.045625 -0.049601 -0.053212 +0.055124 0.057778 0.059766 0.061067 0.061681 0.061626 0.060933 0.059653 0.057846 0.055571 0.052885 0.049842 0.046496 0.042899 0.039092 0.035107 0.030960 0.026654 0.022186 0.017550 0.012737 0.007742 0.002564 -0.002788 -0.008295 -0.013922 -0.019623 -0.025342 -0.031014 -0.036568 -0.041928 -0.047020 -0.051780 -0.056161 -0.060136 -0.063701 +0.058437 0.060583 0.062040 0.062806 0.062893 0.062328 0.061157 0.059431 0.057204 0.054528 0.051460 0.048055 0.044367 0.040442 0.036313 0.031998 0.027497 0.022807 0.017917 0.012819 0.007507 0.001976 -0.003765 -0.009699 -0.015788 -0.021982 -0.028219 -0.034428 -0.040530 -0.046441 -0.052075 -0.057357 -0.062229 -0.066659 -0.070641 -0.074184 +0.059307 0.061097 0.062257 0.062760 0.062605 0.061803 0.060393 0.058421 0.055939 0.053005 0.049677 0.046016 0.042073 0.037888 0.033482 0.028857 0.024006 0.018921 0.013592 0.008011 0.002174 -0.003918 -0.010246 -0.016774 -0.023450 -0.030208 -0.036970 -0.043653 -0.050164 -0.056406 -0.062290 -0.067742 -0.072720 -0.077210 -0.081222 -0.084784 +0.057940 0.059533 0.060629 0.061184 0.061098 0.060336 0.058910 0.056866 0.054271 0.051195 0.047706 0.043869 0.039734 0.035328 0.030659 0.025721 0.020508 0.015010 0.009219 0.003128 -0.003262 -0.009939 -0.016872 -0.024006 -0.031274 -0.038594 -0.045877 -0.053024 -0.059929 -0.066488 -0.072608 -0.078228 -0.083324 -0.087899 -0.091979 -0.095611 +0.054668 0.056365 0.057647 0.058424 0.058629 0.058140 0.056899 0.054942 0.052357 0.049236 0.045664 0.041709 0.037415 0.032799 0.027862 0.022599 0.017005 0.011072 0.004794 -0.001833 -0.008803 -0.016089 -0.023642 -0.031393 -0.039258 -0.047144 -0.054947 -0.062555 -0.069849 -0.076717 -0.083073 -0.088873 -0.094109 -0.098802 -0.102995 -0.106751 +0.050014 0.051996 0.053638 0.054848 0.055472 0.055392 0.054499 0.052776 0.050306 0.047219 0.043620 0.039581 0.035140 0.030310 0.025095 0.019491 0.013496 0.007104 0.000312 -0.006879 -0.014454 -0.022369 -0.030559 -0.038938 -0.047410 -0.055869 -0.064197 -0.072267 -0.079948 -0.087126 -0.093728 -0.099727 -0.105133 -0.109984 -0.114338 -0.118276 +0.044912 0.047039 0.049010 0.050692 0.051846 0.052267 0.051826 0.050448 0.048188 0.045198 0.041610 0.037504 0.032915 0.027863 0.022354 0.016391 0.009974 0.003099 -0.004233 -0.012016 -0.020219 -0.028784 -0.037626 -0.046648 -0.055741 -0.064784 -0.073644 -0.082180 -0.090252 -0.097749 -0.104613 -0.110837 -0.116447 -0.121497 -0.126061 -0.130236 +0.039957 0.042208 0.044279 0.046234 0.047905 0.048899 0.048959 0.048010 0.046043 0.043200 0.039648 0.035479 0.030738 0.025452 0.019635 0.013293 0.006431 -0.000951 -0.008850 -0.017250 -0.026106 -0.035339 -0.044851 -0.054533 -0.064262 -0.073902 -0.083305 -0.092316 -0.100786 -0.108615 -0.115764 -0.122242 -0.128094 -0.133385 -0.138206 -0.142674 +0.035121 0.037569 0.039790 0.041850 0.043817 0.045357 0.045987 0.045503 0.043889 0.041237 0.037737 0.033505 0.028604 0.023072 0.016930 0.010191 0.002863 -0.005052 -0.013546 -0.022590 -0.032119 -0.042041 -0.052244 -0.062604 -0.072985 -0.083238 -0.093197 -0.102691 -0.111572 -0.119751 -0.127211 -0.133977 -0.140106 -0.145681 -0.150804 -0.155622 +0.030378 0.033065 0.035493 0.037711 0.039800 0.041742 0.042937 0.042957 0.041737 0.039312 0.035873 0.031576 0.026507 0.020716 0.014233 0.007078 -0.000740 -0.009214 -0.018329 -0.028040 -0.038266 -0.048898 -0.059811 -0.070871 -0.081925 -0.092806 -0.103335 -0.113324 -0.122630 -0.131182 -0.138981 -0.146067 -0.152512 -0.158410 -0.163881 -0.169105 +0.025774 0.028669 0.031342 0.033767 0.036012 0.038154 0.039850 0.040403 0.039593 0.037420 0.034051 0.029688 0.024442 0.018379 0.011539 0.003946 -0.004385 -0.013444 -0.023205 -0.033608 -0.044553 -0.055917 -0.067564 -0.079344 -0.091090 -0.102619 -0.113730 -0.124230 -0.133978 -0.142929 -0.151097 -0.158536 -0.165332 -0.171593 -0.177456 -0.183144 +0.021344 0.024412 0.027307 0.029977 0.032422 0.034723 0.036771 0.037845 0.037456 0.035558 0.032267 0.027835 0.022403 0.016055 0.008840 0.000790 -0.008078 -0.017748 -0.028181 -0.039300 -0.050985 -0.063105 -0.075510 -0.088033 -0.100492 -0.112686 -0.124396 -0.135421 -0.145635 -0.155010 -0.163576 -0.171402 -0.178584 -0.185246 -0.191544 -0.197756 +0.017123 0.020324 0.023397 0.026312 0.028993 0.031479 0.033761 0.035294 0.035335 0.033720 0.030517 0.026012 0.020385 0.013738 0.006131 -0.002398 -0.011827 -0.022132 -0.033263 -0.045119 -0.057571 -0.070471 -0.083656 -0.096946 -0.110140 -0.123017 -0.135343 -0.146911 -0.157613 -0.167440 -0.176435 -0.184679 -0.192282 -0.199382 -0.206158 -0.212958 +0.013196 0.016417 0.019646 0.022760 0.025697 0.028398 0.030871 0.032760 0.033231 0.031901 0.028795 0.024215 0.018383 0.011423 0.003406 -0.005623 -0.015637 -0.026603 -0.038454 -0.051072 -0.064314 -0.078019 -0.092011 -0.106090 -0.120040 -0.133620 -0.146579 -0.158710 -0.169925 -0.180232 -0.189686 -0.198379 -0.206436 -0.214011 -0.221308 -0.228760 +0.009516 0.012762 0.016048 0.019338 0.022512 0.025450 0.028116 0.030272 0.031141 0.030101 0.027099 0.022439 0.016393 0.009105 0.000660 -0.008890 -0.019513 -0.031165 -0.043760 -0.057164 -0.071221 -0.085757 -0.100579 -0.115473 -0.130201 -0.144504 -0.158113 -0.170828 -0.182583 -0.193397 -0.203338 -0.212512 -0.221057 -0.229141 -0.237004 -0.245175 +0.006083 0.009335 0.012648 0.016056 0.019426 0.022614 0.025483 0.027855 0.029069 0.028315 0.025423 0.020679 0.014408 0.006778 -0.002113 -0.012206 -0.023461 -0.035823 -0.049185 -0.063399 -0.078297 -0.093690 -0.109368 -0.125099 -0.140628 -0.155673 -0.169953 -0.183275 -0.195595 -0.206944 -0.217401 -0.227085 -0.236150 -0.244780 -0.253252 -0.262210 +0.002978 0.006111 0.009458 0.012912 0.016451 0.019870 0.022956 0.025519 0.027016 0.026545 0.023765 0.018933 0.012426 0.004439 -0.004916 -0.015573 -0.027484 -0.040579 -0.054732 -0.069782 -0.085546 -0.101821 -0.118381 -0.134975 -0.151327 -0.167135 -0.182104 -0.196058 -0.208968 -0.220879 -0.231881 -0.242106 -0.251722 -0.260932 -0.270059 -0.279873 +0.000235 0.003142 0.006445 0.009942 0.013591 0.017208 0.020518 0.023265 0.024989 0.024788 0.022121 0.017197 0.010443 0.002083 -0.007755 -0.018997 -0.031586 -0.045437 -0.060405 -0.076316 -0.092973 -0.110157 -0.127624 -0.145104 -0.162302 -0.178893 -0.194573 -0.209183 -0.222711 -0.235211 -0.246785 -0.257580 -0.267779 -0.277603 -0.287431 -0.298170 + diff --git a/data/IEA15MW/DISCON_ROSCOv2.9.IN b/data/IEA15MW/DISCON_ROSCOv2.9.IN new file mode 100644 index 0000000..929e4aa --- /dev/null +++ b/data/IEA15MW/DISCON_ROSCOv2.9.IN @@ -0,0 +1,198 @@ +! Controller parameter input file for the IEA-15-240-RWT-Monopile wind turbine +! - File written using ROSCO version 2.9.4 controller tuning logic on 12/16/24 + +!------- SIMULATION CONTROL ------------------------------------------------------------ +0 ! LoggingLevel - 0: write no debug files, 1: write standard output .dbg-file, 2: LoggingLevel 1 + ROSCO LocalVars (.dbg2) 3: LoggingLevel 2 + complete avrSWAP-array (.dbg3) +0 ! DT_Out - Time step to output .dbg* files, or 0 to match sampling period of OpenFAST +1 ! Ext_Interface - (0 - use standard bladed interface, 1 - Use the extened DLL interface introduced in OpenFAST 3.5.0.) +0 ! Echo - (0 - no Echo, 1 - Echo input data to .echo) + +!------- CONTROLLER FLAGS ------------------------------------------------- +2 ! F_LPFType - (1: first-order low-pass filter, 2: second-order low-pass filter), [rad/s] (currently filters generator speed and pitch control signals +0 ! IPC_ControlMode - Turn Individual Pitch Control (IPC) for fatigue load reductions (pitch contribution) {0: off, 1: 1P reductions, 2: 1P+2P reductions} +2 ! VS_ControlMode - Generator torque control mode in above rated conditions (0- no torque control, 1- k*omega^2 with PI transitions, 2- WSE TSR Tracking, 3- Power-based TSR Tracking)} +0 ! VS_ConstPower - Do constant power torque control, where above rated torque varies, 0 for constant torque} +1 ! PC_ControlMode - Blade pitch control mode {0: No pitch, fix to fine pitch, 1: active PI blade pitch control} +0 ! Y_ControlMode - Yaw control mode {0: no yaw control, 1: yaw rate control, 2: yaw-by-IPC} +1 ! SS_Mode - Setpoint Smoother mode {0: no setpoint smoothing, 1: introduce setpoint smoothing} +0 ! PRC_Mode - Power reference tracking mode{0: use standard rotor speed set points, 1: use PRC rotor speed setpoints} +2 ! WE_Mode - Wind speed estimator mode {0: One-second low pass filtered hub height wind speed, 1: Immersion and Invariance Estimator, 2: Extended Kalman Filter} +1 ! PS_Mode - Pitch saturation mode {0: no pitch saturation, 1: implement pitch saturation} +0 ! SD_Mode - Shutdown mode {0: no shutdown procedure, 1: pitch to max pitch at shutdown} +0 ! Fl_Mode - Floating specific feedback mode {0: no nacelle velocity feedback, 1: feed back translational velocity, 2: feed back rotational veloicty} +0 ! TD_Mode - Tower damper mode (0- no tower damper, 1- feed back translational nacelle accelleration to pitch angle +0 ! TRA_Mode - Tower resonance avoidance mode (0- no tower resonsnace avoidance, 1- use torque control setpoints to avoid a specific frequency +0 ! Flp_Mode - Flap control mode {0: no flap control, 1: steady state flap angle, 2: Proportional flap control, 2: Cyclic (1P) flap control} +0 ! OL_Mode - Open loop control mode {0: no open loop control, 1: open loop control vs. time, 2: rotor position control} +0 ! PA_Mode - Pitch actuator mode {0 - not used, 1 - first order filter, 2 - second order filter} +0 ! PF_Mode - Pitch fault mode {0 - not used, 1 - constant offset on one or more blades} +0 ! AWC_Mode - Active wake control {0 - not used, 1 - complex number method, 2 - Coleman transform method} +0 ! Ext_Mode - External control mode {0 - not used, 1 - call external dynamic library} +0 ! ZMQ_Mode - Fuse ZeroMQ interface {0: unused, 1: Yaw Control} +0 ! CC_Mode - Cable control mode [0- unused, 1- User defined, 2- Open loop control] +0 ! StC_Mode - Structural control mode [0- unused, 1- User defined, 2- Open loop control] + +!------- FILTERS ---------------------------------------------------------- +1.00810 ! F_LPFCornerFreq - Corner frequency (-3dB point) in the low-pass filters, [rad/s] +0.70000 ! F_LPFDamping - Damping coefficient {used only when F_FilterType = 2} [-] +1 ! F_NumNotchFilts - Number of notch filters placed on sensors +3.3550 ! F_NotchFreqs - Natural frequency of the notch filters. Array with length F_NumNotchFilts +0.0000 ! F_NotchBetaNum - Damping value of numerator (determines the width of notch). Array with length F_NumNotchFilts, [-] +0.2500 ! F_NotchBetaDen - Damping value of denominator (determines the depth of notch). Array with length F_NumNotchFilts, [-] +0 ! F_GenSpdNotch_N - Number of notch filters on generator speed +0 ! F_GenSpdNotch_Ind - Indices of notch filters on generator speed +1 ! F_TwrTopNotch_N - Number of notch filters on tower top acceleration signal +1 ! F_TwrTopNotch_Ind - Indices of notch filters on tower top acceleration signal +0.62830 ! F_SSCornerFreq - Corner frequency (-3dB point) in the first order low pass filter for the setpoint smoother, [rad/s]. +0.20944 ! F_WECornerFreq - Corner frequency (-3dB point) in the first order low pass filter for the wind speed estimate [rad/s]. +0.17952 ! F_YawErr - Low pass filter corner frequency for yaw controller [rad/s]. +0.213000 1.000000 ! F_FlCornerFreq - Natural frequency and damping in the second order low pass filter of the tower-top fore-aft motion for floating feedback control [rad/s, -]. +0.01042 ! F_FlHighPassFreq - Natural frequency of first-order high-pass filter for nacelle fore-aft motion [rad/s]. +10.4616 1.0000 ! F_FlpCornerFreq - Corner frequency and damping in the second order low pass filter of the blade root bending moment for flap control + +!------- BLADE PITCH CONTROL ---------------------------------------------- +30 ! PC_GS_n - Amount of gain-scheduling table entries +0.064332 0.090642 0.111256 0.129082 0.145101 0.159852 0.173626 0.186534 0.198876 0.210764 0.222110 0.233109 0.243846 0.254161 0.264314 0.274173 0.283843 0.293326 0.302599 0.311752 0.320697 0.329562 0.338229 0.346831 0.355259 0.363622 0.371847 0.379995 0.388042 0.395988 ! PC_GS_angles - Gain-schedule table: pitch angles [rad]. +-1.156615 -0.997676 -0.866954 -0.757548 -0.664636 -0.584750 -0.515330 -0.454447 -0.400616 -0.352679 -0.309718 -0.270998 -0.235919 -0.203990 -0.174807 -0.148029 -0.123371 -0.100590 -0.079480 -0.059864 -0.041589 -0.024521 -0.008545 0.006441 0.020525 0.033788 0.046299 0.058119 0.069305 0.079907 ! PC_GS_KP - Gain-schedule table: pitch controller kp gains [s]. +-0.120737 -0.108976 -0.099302 -0.091206 -0.084331 -0.078419 -0.073282 -0.068777 -0.064793 -0.061246 -0.058067 -0.055202 -0.052606 -0.050243 -0.048084 -0.046102 -0.044277 -0.042592 -0.041030 -0.039578 -0.038226 -0.036963 -0.035780 -0.034671 -0.033629 -0.032648 -0.031722 -0.030847 -0.030020 -0.029235 ! PC_GS_KI - Gain-schedule table: pitch controller ki gains [-]. +0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ! PC_GS_KD - Gain-schedule table: pitch controller kd gains +0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ! PC_GS_TF - Gain-schedule table: pitch controller tf gains (derivative filter) +1.570000000000 ! PC_MaxPit - Maximum physical pitch limit, [rad]. +0.000000000000 ! PC_MinPit - Minimum physical pitch limit, [rad]. +0.034900000000 ! PC_MaxRat - Maximum pitch rate (in absolute value) in pitch controller, [rad/s]. +-0.03490000000 ! PC_MinRat - Minimum pitch rate (in absolute value) in pitch controller, [rad/s]. +0.791680000000 ! PC_RefSpd - Desired (reference) HSS speed for pitch controller, [rad/s]. +0.000000000000 ! PC_FinePit - Record 5: Below-rated pitch angle set-point, [rad] +0.017450000000 ! PC_Switch - Angle above lowest minimum pitch angle for switch, [rad] + +!------- INDIVIDUAL PITCH CONTROL ----------------------------------------- +8.472000 10.590000 ! IPC_Vramp - Start and end wind speeds for cut-in ramp function. First entry: IPC inactive, second entry: IPC fully active. [m/s] +2 ! IPC_SatMode - IPC Saturation method (0 - no saturation (except by PC_MinPit), 1 - saturate by PS_BldPitchMin, 2 - saturate sotfly (full IPC cycle) by PC_MinPit, 3 - saturate softly by PS_BldPitchMin) +0.3 ! IPC_IntSat - Integrator saturation (maximum signal amplitude contribution to pitch from IPC), [rad] +0.000e+00 0.000e+00 ! IPC_KP - Proportional gain for the individual pitch controller: first parameter for 1P reductions, second for 2P reductions, [-] +0.000e+00 0.000e+00 ! IPC_KI - Integral gain for the individual pitch controller: first parameter for 1P reductions, second for 2P reductions, [-] +0.000000 0.000000 ! IPC_aziOffset - Phase offset added to the azimuth angle for the individual pitch controller, [rad]. +0.0 ! IPC_CornerFreqAct - Corner frequency of the first-order actuators model, to induce a phase lag in the IPC signal {0: Disable}, [rad/s] + +!------- VS TORQUE CONTROL ------------------------------------------------ +95.75600000000 ! VS_GenEff - Generator efficiency mechanical power -> electrical power, [should match the efficiency defined in the generator properties!], [%] +19786767.46773 ! VS_ArSatTq - Above rated generator torque PI control saturation, [Nm] +4500000.000000 ! VS_MaxRat - Maximum torque rate (in absolute value) in torque controller, [Nm/s]. +21765444.21450 ! VS_MaxTq - Maximum generator torque in Region 3 (HSS side), [Nm]. +0.000000000000 ! VS_MinTq - Minimum generator torque (HSS side), [Nm]. +0.523600000000 ! VS_MinOMSpd - Minimum generator speed [rad/s] +37722980.13131 ! VS_Rgn2K - Generator torque constant in Region 2 (HSS side). Only used in VS_ControlMode = 1,3 +15000000.00000 ! VS_RtPwr - Wind turbine rated power [W] +19786767.46773 ! VS_RtTq - Rated torque, [Nm]. +0.787880000000 ! VS_RefSpd - Rated generator speed [rad/s] +1 ! VS_n - Number of generator PI torque controller gains +-36117936.92780 ! VS_KP - Proportional gain for generator PI torque controller [-]. (Only used in the transitional 2.5 region if VS_ControlMode =/ 2) +-4499370.31680 ! VS_KI - Integral gain for generator PI torque controller [s]. (Only used in the transitional 2.5 region if VS_ControlMode =/ 2) +9.00 ! VS_TSRopt - Power-maximizing region 2 tip-speed-ratio. Only used in VS_ControlMode = 2. +0.314000000000 ! VS_PwrFiltF - Low pass filter on power used to determine generator speed set point. Only used in VS_ControlMode = 3. + +!------- SETPOINT SMOOTHER --------------------------------------------- +1.00000 ! SS_VSGain - Variable speed torque controller setpoint smoother gain, [-]. +0.00100 ! SS_PCGain - Collective pitch controller setpoint smoother gain, [-]. + +!------- POWER REFERENCE TRACKING -------------------------------------- +2 ! PRC_n - Number of elements in PRC_WindSpeeds and PRC_GenSpeeds array +0.07854 ! PRC_LPF_Freq - Frequency of the low pass filter on the wind speed estimate used to set PRC_GenSpeeds [rad/s] +3.0000 25.0000 ! PRC_WindSpeeds - Array of wind speeds used in rotor speed vs. wind speed lookup table [m/s] +0.7917 0.7917 ! PRC_GenSpeeds - Array of generator speeds corresponding to PRC_WindSpeeds [rad/s] + +!------- WIND SPEED ESTIMATOR --------------------------------------------- +120.970 ! WE_BladeRadius - Blade length (distance from hub center to blade tip), [m] +1 ! WE_CP_n - Amount of parameters in the Cp array +0.0 ! WE_CP - Parameters that define the parameterized CP(lambda) function +0.0 ! WE_Gamma - Adaption gain of the wind speed estimator algorithm [m/rad] +1.0 ! WE_GearboxRatio - Gearbox ratio [>=1], [-] +312456272.00000 ! WE_Jtot - Total drivetrain inertia, including blades, hub and casted generator inertia to LSS, [kg m^2] +1.225 ! WE_RhoAir - Air density, [kg m^-3] +"Cp_Ct_Cq.IEA15MW.txt" ! PerfFileName - File containing rotor performance tables (Cp,Ct,Cq) +36 26 ! PerfTableSize - Size of rotor performance tables, first number refers to number of blade pitch angles, second number referse to number of tip-speed ratios +60 ! WE_FOPoles_N - Number of first-order system poles used in EKF +3.0000 3.2617 3.5234 3.7852 4.0469 4.3086 4.5703 4.8321 5.0938 5.3555 5.6172 5.8790 6.1407 6.4024 6.6641 6.9259 7.1876 7.4493 7.7110 7.9728 8.2345 8.4962 8.7579 9.0197 9.2814 9.5431 9.8048 10.0666 10.3283 10.5900 11.0703 11.5507 12.0310 12.5113 12.9917 13.4720 13.9523 14.4327 14.9130 15.3933 15.8737 16.3540 16.8343 17.3147 17.7950 18.2753 18.7557 19.2360 19.7163 20.1967 20.6770 21.1573 21.6377 22.1180 22.5983 23.0787 23.5590 24.0393 24.5197 25.0000 ! WE_FOPoles_v - Wind speeds corresponding to first-order system poles [m/s] +-0.02567895 -0.02791922 -0.03015948 -0.03239975 -0.03464002 -0.03688029 -0.03912055 -0.04136082 -0.04360109 -0.04584135 -0.04808162 -0.05032189 -0.05256215 -0.05480242 -0.05704269 -0.05928296 -0.06152322 -0.06376349 -0.06600376 -0.06824402 -0.07048429 -0.07272456 -0.07496482 -0.07720509 -0.07944536 -0.08168563 -0.08392589 -0.08616616 -0.08840643 -0.09124065 -0.05920431 -0.06221270 -0.06945604 -0.07890407 -0.08978600 -0.10174959 -0.11456175 -0.12794724 -0.14203749 -0.15681943 -0.17194928 -0.18763388 -0.20394447 -0.22042612 -0.23757510 -0.25500489 -0.27290209 -0.29121718 -0.30983868 -0.32895392 -0.34826001 -0.36811445 -0.38812855 -0.40867238 -0.42933293 -0.45043749 -0.47169354 -0.49328117 -0.51507577 -0.53706049 ! WE_FOPoles - First order system poles [1/s] + +!------- YAW CONTROL ------------------------------------------------------ +0.00000 ! Y_uSwitch - Wind speed to switch between Y_ErrThresh. If zero, only the second value of Y_ErrThresh is used [m/s] +4.000000 8.000000 ! Y_ErrThresh - Yaw error threshold/deadbands. Turbine begins to yaw when it passes this. If Y_uSwitch is zero, only the second value is used. [deg]. +0.00870 ! Y_Rate - Yaw rate [rad/s] +0.00000 ! Y_MErrSet - Integrator saturation (maximum signal amplitude contribution to pitch from yaw-by-IPC), [rad] +0.00000 ! Y_IPC_IntSat - Integrator saturation (maximum signal amplitude contribution to pitch from yaw-by-IPC), [rad] +0.00000 ! Y_IPC_KP - Yaw-by-IPC proportional controller gain Kp +0.00000 ! Y_IPC_KI - Yaw-by-IPC integral controller gain Ki + +!------- TOWER CONTROL ------------------------------------------------------ +0.00000 ! TRA_ExclSpeed - Rotor speed for exclusion [LSS, rad/s] +0.00000 ! TRA_ExclBand - Size of the rotor frequency exclusion band [LSS, rad/s]. Torque controller reference will be TRA_ExclSpeed +/- TRA_ExlBand/2 +0.00000e+00 ! TRA_RateLimit - Rate limit of change in rotor speed reference [LSS, rad/s]. Suggested to be VS_RefSpd/400. +0.00000 ! FA_KI - Integral gain for the fore-aft tower damper controller, [rad*s/m] +0.00000 ! FA_HPFCornerFreq - Corner frequency (-3dB point) in the high-pass filter on the fore-aft acceleration signal [rad/s] +0.00000 ! FA_IntSat - Integrator saturation (maximum signal amplitude contribution to pitch from FA damper), [rad] + +!------- MINIMUM PITCH SATURATION ------------------------------------------- +60 ! PS_BldPitchMin_N - Number of values in minimum blade pitch lookup table (should equal number of values in PS_WindSpeeds and PS_BldPitchMin) +3.000 3.262 3.523 3.785 4.047 4.309 4.570 4.832 5.094 5.356 5.617 5.879 6.141 6.402 6.664 6.926 7.188 7.449 7.711 7.973 8.234 8.496 8.758 9.020 9.281 9.543 9.805 10.067 10.328 10.590 11.070 11.551 12.031 12.511 12.992 13.472 13.952 14.433 14.913 15.393 15.874 16.354 16.834 17.315 17.795 18.275 18.756 19.236 19.716 20.197 20.677 21.157 21.638 22.118 22.598 23.079 23.559 24.039 24.520 25.000 ! PS_WindSpeeds - Wind speeds corresponding to minimum blade pitch angles [m/s] +0.060 0.060 0.060 0.060 0.060 0.060 0.057 0.053 0.048 0.042 0.037 0.030 0.024 0.017 0.010 0.003 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.014 0.027 0.038 0.049 0.059 0.069 0.078 0.088 0.097 0.106 0.114 0.123 0.131 0.140 0.148 0.156 0.164 0.172 0.180 0.188 0.196 0.204 0.211 0.219 0.227 0.234 0.242 0.249 0.257 0.264 ! PS_BldPitchMin - Minimum blade pitch angles [rad] + +!------- SHUTDOWN ----------------------------------------------------------- +0.698100000000 ! SD_MaxPit - Maximum blade pitch angle to initiate shutdown, [rad] +0.418880000000 ! SD_CornerFreq - Cutoff Frequency for first order low-pass filter for blade pitch angle, [rad/s] + +!------- Floating ----------------------------------------------------------- +1 ! Fl_n - Number of Fl_Kp gains in gain scheduling, optional with default of 1 +0.0000 ! Fl_Kp - Nacelle velocity proportional feedback gain [s] +0.0000 ! Fl_U - Wind speeds for scheduling Fl_Kp, optional if Fl_Kp is single value [m/s] + +!------- FLAP ACTUATION ----------------------------------------------------- +0.000000000000 ! Flp_Angle - Initial or steady state flap angle [rad] +0.00000000e+00 ! Flp_Kp - Blade root bending moment proportional gain for flap control [s] +0.00000000e+00 ! Flp_Ki - Flap displacement integral gain for flap control [-] +0.174500000000 ! Flp_MaxPit - Maximum (and minimum) flap pitch angle [rad] + +!------- Open Loop Control ----------------------------------------------------- +"unused" ! OL_Filename - Input file with open loop timeseries (absolute path or relative to this file) +0 ! Ind_Breakpoint - The column in OL_Filename that contains the breakpoint (time if OL_Mode = 1) + 0 0 0 ! Ind_BldPitch - The columns in OL_Filename that contains the blade pitch (1,2,3) inputs in rad [array] +0 ! Ind_GenTq - The column in OL_Filename that contains the generator torque in Nm +0 ! Ind_YawRate - The column in OL_Filename that contains the yaw rate in rad/s +0 ! Ind_Azimuth - The column in OL_Filename that contains the desired azimuth position in rad (used if OL_Mode = 2) +0.0000 0.0000 0.0000 0.0000 ! RP_Gains - PID gains and Tf of derivative for rotor position control (used if OL_Mode = 2) +0 ! Ind_CableControl - The column(s) in OL_Filename that contains the cable control inputs in m [Used with CC_Mode = 2, must be the same size as CC_Group_N] +0 ! Ind_StructControl - The column(s) in OL_Filename that contains the structural control inputs [Used with StC_Mode = 2, must be the same size as StC_Group_N] + +!------- Pitch Actuator Model ----------------------------------------------------- +3.140000000000 ! PA_CornerFreq - Pitch actuator bandwidth/cut-off frequency [rad/s] +0.707000000000 ! PA_Damping - Pitch actuator damping ratio [-, unused if PA_Mode = 1] + +!------- Pitch Actuator Faults ----------------------------------------------------- +0.00000000 0.00000000 0.00000000 ! PF_Offsets - Constant blade pitch offsets for blades 1-3 [rad] + +!------- Active Wake Control ----------------------------------------------------- +1 ! AWC_NumModes - Number of user-defined AWC forcing modes +1 ! AWC_n - Azimuthal mode number(s) (i.e., the number and direction of the lobes of the wake structure) +1 ! AWC_harmonic - Harmonic(s) to apply in the AWC Inverse Coleman Transformation (only used when AWC_Mode = 2) +0.0500 ! AWC_freq - Frequency(s) of forcing mode(s) [Hz] +1.0000 ! AWC_amp - Pitch amplitude(s) of individual forcing mode(s) [deg] +0.0000 ! AWC_clockangle - Initial angle(s) of forcing mode(s) [deg] + +!------- External Controller Interface ----------------------------------------------------- +"unused" ! DLL_FileName - Name/location of the dynamic library in the Bladed-DLL format +"unused" ! DLL_InFile - Name of input file sent to the DLL (-) +"DISCON" ! DLL_ProcName - Name of procedure in DLL to be called (-) + +!------- ZeroMQ Interface --------------------------------------------------------- +"tcp://localhost:5555" ! ZMQ_CommAddress - Communication address for ZMQ server, (e.g. "tcp://localhost:5555") +1.000000 ! ZMQ_UpdatePeriod - Update period at zmq interface to send measurements and wait for setpoint [sec.] +0 ! ZMQ_ID - Integer identifier of turbine + +!------- Cable Control --------------------------------------------------------- +1 ! CC_Group_N - Number of cable control groups +0 ! CC_GroupIndex - First index for cable control group, should correspond to deltaL +20.000000 ! CC_ActTau - Time constant for line actuator [s] + +!------- Structural Controllers --------------------------------------------------------- +1 ! StC_Group_N - Number of cable control groups +0 ! StC_GroupIndex - First index for structural control group, options specified in ServoDyn summary output diff --git a/data/IEA15MW/ED.T.dat b/data/IEA15MW/ED.T.dat new file mode 100644 index 0000000..7664546 --- /dev/null +++ b/data/IEA15MW/ED.T.dat @@ -0,0 +1,166 @@ +------- ELASTODYN for OpenFAST INPUT FILE ------------------------------------------- +IEA 15 MW offshore reference model monopile configuration +---------------------- SIMULATION CONTROL -------------------------------------- +False Echo - Echo input data to ".ech" (flag) +3 Method - Integration method: {1: RK4, 2: AB4, or 3: ABM4} (-) +Default DT - Integration time step (s) +---------------------- DEGREES OF FREEDOM -------------------------------------- +False FlapDOF1 - First flapwise blade mode DOF (flag) +False FlapDOF2 - Second flapwise blade mode DOF (flag) +False EdgeDOF - First edgewise blade mode DOF (flag) +False TeetDOF - Rotor-teeter DOF (flag) [unused for 3 blades] +False DrTrDOF - Drivetrain rotational-flexibility DOF (flag) +True GenDOF - Generator DOF (flag) +False YawDOF - Yaw DOF (flag) +False TwFADOF1 - First fore-aft tower bending-mode DOF (flag) +False TwFADOF2 - Second fore-aft tower bending-mode DOF (flag) +False TwSSDOF1 - First side-to-side tower bending-mode DOF (flag) +False TwSSDOF2 - Second side-to-side tower bending-mode DOF (flag) +False PtfmSgDOF - Platform horizontal surge translation DOF (flag) +False PtfmSwDOF - Platform horizontal sway translation DOF (flag) +False PtfmHvDOF - Platform vertical heave translation DOF (flag) +False PtfmRDOF - Platform roll tilt rotation DOF (flag) +False PtfmPDOF - Platform pitch tilt rotation DOF (flag) +False PtfmYDOF - Platform yaw rotation DOF (flag) +---------------------- INITIAL CONDITIONS -------------------------------------- +0.0 OoPDefl - Initial out-of-plane blade-tip displacement (meters) +0.0 IPDefl - Initial in-plane blade-tip deflection (meters) +0.0 BlPitch(1) - Blade 1 initial pitch (degrees) +0.0 BlPitch(2) - Blade 2 initial pitch (degrees) +0.0 BlPitch(3) - Blade 3 initial pitch (degrees) [unused for 2 blades] +0.0 TeetDefl - Initial or fixed teeter angle (degrees) [unused for 3 blades] +0.0 Azimuth - Initial azimuth angle for blade 1 (degrees) +5.5 RotSpeed - Initial or fixed rotor speed (rpm) +0.0 NacYaw - Initial or fixed nacelle-yaw angle (degrees) +0.0 TTDspFA - Initial fore-aft tower-top displacement (meters) +0.0 TTDspSS - Initial side-to-side tower-top displacement (meters) +0.0 PtfmSurge - Initial or fixed horizontal surge translational displacement of platform (meters) +0.0 PtfmSway - Initial or fixed horizontal sway translational displacement of platform (meters) +0.0 PtfmHeave - Initial or fixed vertical heave translational displacement of platform (meters) +0.0 PtfmRoll - Initial or fixed roll tilt rotational displacement of platform (degrees) +0.0 PtfmPitch - Initial or fixed pitch tilt rotational displacement of platform (degrees) +0.0 PtfmYaw - Initial or fixed yaw rotational displacement of platform (degrees) +---------------------- TURBINE CONFIGURATION ----------------------------------- +3 NumBl - Number of blades (-) +120.97 TipRad - The distance from the rotor apex to the blade tip (meters) +3.97 HubRad - The distance from the rotor apex to the blade root (meters) +-4.0 PreCone(1) - Blade 1 cone angle (degrees) +-4.0 PreCone(2) - Blade 2 cone angle (degrees) +-4.0 PreCone(3) - Blade 3 cone angle (degrees) [unused for 2 blades] +0.0 HubCM - Distance from rotor apex to hub mass [positive downwind] (meters) +0.0 UndSling - Undersling length [distance from teeter pin to the rotor apex] (meters) [unused for 3 blades] +0.0 Delta3 - Delta-3 angle for teetering rotors (degrees) [unused for 3 blades] +0.0 AzimB1Up - Azimuth value to use for I/O when blade 1 points up (degrees) +-12.097571763912535 OverHang - Distance from yaw axis to rotor apex [3 blades] or teeter pin [2 blades] (meters) +0.0 ShftGagL - Distance from rotor apex [3 blades] or teeter pin [2 blades] to shaft strain gages [positive for upwind rotors] (meters) +-6.0 ShftTilt - Rotor shaft tilt angle (degrees) +-5.125 NacCMxn - Downwind distance from the tower-top to the nacelle CM (meters) +0.0 NacCMyn - Lateral distance from the tower-top to the nacelle CM (meters) +4.315 NacCMzn - Vertical distance from the tower-top to the nacelle CM (meters) +0.0 NcIMUxn - Downwind distance from the tower-top to the nacelle IMU (meters) +0.0 NcIMUyn - Lateral distance from the tower-top to the nacelle IMU (meters) +0.0 NcIMUzn - Vertical distance from the tower-top to the nacelle IMU (meters) +4.349459414248071 Twr2Shft - Vertical distance from the tower-top to the rotor shaft (meters) +144.386 TowerHt - Height of tower relative to ground level [onshore], MSL [offshore wind or floating MHK], or seabed [fixed MHK] (meters) +15. TowerBsHt - Height of tower base relative to ground level [onshore], MSL [offshore wind or floating MHK], or seabed [fixed MHK] (meters) +0.0 PtfmCMxt - Downwind distance from the ground level [onshore], MSL [offshore wind or floating MHK], or seabed [fixed MHK] to the platform CM (meters) +0.0 PtfmCMyt - Lateral distance from the ground level [onshore], MSL [offshore wind or floating MHK], or seabed [fixed MHK] to the platform CM (meters) +15. PtfmCMzt - Vertical distance from the ground level [onshore], MSL [offshore wind or floating MHK], or seabed [fixed MHK] to the platform CM (meters) +15. PtfmRefzt - Vertical distance from the ground level [onshore], MSL [offshore wind or floating MHK], or seabed [fixed MHK] to the platform reference point (meters) +---------------------- MASS AND INERTIA ---------------------------------------- +0.0 TipMass(1) - Tip-brake mass, blade 1 (kg) +0.0 TipMass(2) - Tip-brake mass, blade 2 (kg) +0.0 TipMass(3) - Tip-brake mass, blade 3 (kg) [unused for 2 blades] +69131 HubMass - Hub mass (kg) +969952 HubIner - Hub inertia about rotor axis [3 blades] or teeter axis [2 blades] (kg m^2) +1836784 GenIner - Generator inertia about HSS (kg m^2) +644857 NacMass - Nacelle mass (kg) +32929058 NacYIner - Nacelle inertia about yaw axis (kg m^2) +28249 YawBrMass - Yaw bearing mass (kg) +0.0 PtfmMass - Platform mass (kg) +0.0 PtfmRIner - Platform inertia for roll tilt rotation about the platform CM (kg m^2) +0.0 PtfmPIner - Platform inertia for pitch tilt rotation about the platform CM (kg m^2) +100000000.0 PtfmYIner - Platform inertia for yaw rotation about the platform CM (kg m^2) +0.0 PtfmXYIner - Platform xy moment of inertia about the platform CM (=-int(xydm)) (kg m^2) +0.0 PtfmYZIner - Platform yz moment of inertia about the platform CM (=-int(yzdm)) (kg m^2) +0.0 PtfmXZIner - Platform xz moment of inertia about the platform CM (=-int(xzdm)) (kg m^2) +---------------------- BLADE --------------------------------------------------- +50 BldNodes - Number of blade nodes (per blade) used for analysis (-) +"IEA-15-240-RWT_ElastoDyn_blade.dat" BldFile1 - Name of file containing properties for blade 1 (quoted string) +"IEA-15-240-RWT_ElastoDyn_blade.dat" BldFile2 - Name of file containing properties for blade 2 (quoted string) +"IEA-15-240-RWT_ElastoDyn_blade.dat" BldFile3 - Name of file containing properties for blade 3 (quoted string) [unused for 2 blades] +---------------------- ROTOR-TEETER -------------------------------------------- +0 TeetMod - Rotor-teeter spring/damper model {0: none, 1: standard, 2: user-defined from routine UserTeet} (switch) [unused for 3 blades] +0.0 TeetDmpP - Rotor-teeter damper position (degrees) [used only for 2 blades and when TeetMod=1] +0.0 TeetDmp - Rotor-teeter damping constant (N-m/(rad/s)) [used only for 2 blades and when TeetMod=1] +0.0 TeetCDmp - Rotor-teeter rate-independent Coulomb-damping moment (N-m) [used only for 2 blades and when TeetMod=1] +0.0 TeetSStP - Rotor-teeter soft-stop position (degrees) [used only for 2 blades and when TeetMod=1] +0.0 TeetHStP - Rotor-teeter hard-stop position (degrees) [used only for 2 blades and when TeetMod=1] +0.0 TeetSSSp - Rotor-teeter soft-stop linear-spring constant (N-m/rad) [used only for 2 blades and when TeetMod=1] +0.0 TeetHSSp - Rotor-teeter hard-stop linear-spring constant (N-m/rad) [used only for 2 blades and when TeetMod=1] +---------------------- YAW-FRICTION -------------------------------------------- + 0 YawFrctMod - Yaw-friction model {0: none, 1: friction independent of yaw-bearing force and bending moment, 2: friction with Coulomb terms depending on yaw-bearing force and bending moment, 3: user defined model} (switch) + 300 M_CSmax - Maximum static Coulomb friction torque (N-m) [M_CSmax when YawFrctMod=1; |Fz|*M_CSmax when YawFrctMod=2 and Fz<0] + 0 M_FCSmax - Maximum static Coulomb friction torque proportional to yaw bearing shear force (N-m) [sqrt(Fx^2+Fy^2)*M_FCSmax; only used when YawFrctMod=2] + 0 M_MCSmax - Maximum static Coulomb friction torque proportional to yaw bearing bending moment (N-m) [sqrt(Mx^2+My^2)*M_MCSmax; only used when YawFrctMod=2] + 40 M_CD - Dynamic Coulomb friction moment (N-m) [M_CD when YawFrctMod=1; |Fz|*M_CD when YawFrctMod=2 and Fz<0] + 0 M_FCD - Dynamic Coulomb friction moment proportional to yaw bearing shear force (N-m) [sqrt(Fx^2+Fy^2)*M_FCD; only used when YawFrctMod=2] + 0 M_MCD - Dynamic Coulomb friction moment proportional to yaw bearing bending moment (N-m) [sqrt(Mx^2+My^2)*M_MCD; only used when YawFrctMod=2] + 0 sig_v - Linear viscous friction coefficient (N-m/(rad/s)) + 0 sig_v2 - Quadratic viscous friction coefficient (N-m/(rad/s)^2) + 0 OmgCut - Yaw angular velocity cutoff below which viscous friction is linearized (rad/s) +---------------------- DRIVETRAIN ---------------------------------------------- +100.0 GBoxEff - Gearbox efficiency (%) +1.0 GBRatio - Gearbox ratio (-) +69737644900.0 DTTorSpr - Drivetrain torsional spring (N-m/rad) +49418406.0 DTTorDmp - Drivetrain torsional damper (N-m/(rad/s)) +---------------------- FURLING ------------------------------------------------- +False Furling - Read in additional model properties for furling turbine (flag) [must currently be FALSE) +"unused" FurlFile - Name of file containing furling properties (quoted string) [unused when Furling=False] +---------------------- TOWER --------------------------------------------------- +20 TwrNodes - Number of tower nodes used for analysis (-) +"IEA-15-240-RWT-Monopile_ElastoDyn_tower.dat" TwrFile - Name of file containing tower properties (quoted string) +---------------------- OUTPUT -------------------------------------------------- +False SumPrint - Print summary data to ".sum" (flag) +1 OutFile - Switch to determine where output will be placed: {1: in module output file only; 2: in glue code output file only; 3: both} (currently unused) +True TabDelim - Use tab delimiters in text tabular output file? (flag) (currently unused) +"ES10.3E2" OutFmt - Format used for text tabular output (except time). Resulting field should be 10 characters. (quoted string) [not checked for validity!] (currently unused) +0 TStart - Time to begin tabular output (s) (currently unused) +1 DecFact - Decimation factor for tabular output {1: output every time step} (-) (currently unused) +0 NTwGages - Number of tower nodes that have strain gages for output [0 to 9] (-) +0, TwrGagNd - List of tower nodes that have strain gages [1 to TwrNodes] (-) [unused if NTwGages=0] +0 NBlGages - Number of blade nodes that have strain gages for output [0 to 9] (-) +0, BldGagNd - List of blade nodes that have strain gages [1 to BldNodes] (-) [unused if NBlGages=0] + OutList - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-) +"OoPDefl1" - Blade 1 out-of-plane and in-plane deflections and tip twist +"IPDefl1" - Blade 1 out-of-plane and in-plane deflections and tip twist +"BldPitch1" - Blade 1 pitch angle +"Azimuth" - Blade 1 azimuth angle +"RotSpeed" - Low-speed shaft and high-speed shaft speeds +"GenSpeed" - Low-speed shaft and high-speed shaft speeds +"TTDspFA" - Tower fore-aft and side-to-side displacements and top twist +"TTDspSS" - Tower fore-aft and side-to-side displacements and top twist +"RootMyc1" - In-plane bending, out-of-plane bending, and pitching moments at the root of blade 1 +"RotThrust" - Rotor thrust at the main bearing +"RotTorq" - Rotor torque at the main bearing +"RotPwr" - Rotor power (this is equivalent to the low-speed shaft power) +"YawBrFxp" - Fore-aft shear, side-to-side shear, and vertical forces at the top of the tower (not rotating with nacelle yaw) +"YawBrFyp" - Fore-aft shear, side-to-side shear, and vertical forces at the top of the tower (not rotating with nacelle yaw) +"YawBrFzp" - Fore-aft shear, side-to-side shear, and vertical forces at the top of the tower (not rotating with nacelle yaw) +"YawBrMxp" - Side-to-side bending, fore-aft bending, and yaw moments at the top of the tower (not rotating with nacelle yaw) +"YawBrMyp" - Side-to-side bending, fore-aft bending, and yaw moments at the top of the tower (not rotating with nacelle yaw) +"YawBrMzp" - Side-to-side bending, fore-aft bending, and yaw moments at the top of the tower (not rotating with nacelle yaw) +"TwrBsFxt" - Fore-aft shear, side-to-side shear, and vertical forces at the base of the tower (mudline) +"TwrBsFyt" - Fore-aft shear, side-to-side shear, and vertical forces at the base of the tower (mudline) +"TwrBsFzt" - Fore-aft shear, side-to-side shear, and vertical forces at the base of the tower (mudline) +"TwrBsMxt" - Side-to-side bending, fore-aft bending, and yaw moments at the base of the tower (mudline) +"TwrBsMyt" - Side-to-side bending, fore-aft bending, and yaw moments at the base of the tower (mudline) +"TwrBsMzt" - Side-to-side bending, fore-aft bending, and yaw moments at the base of the tower (mudline) +"PtfmSurge, PtfmSway, PtfmHeave, PtfmRoll, PtfmPitch, PtfmYaw" - Platform displacement +END of OutList section (the word "END" must appear in the first 3 columns of the last OutList line) +====== Outputs for all blade stations (same ending as above for Spn1.... =========================== [optional section] + 1 BldNd_BladesOut - Number of blades to output all node information at. Up to number of blades on turbine. (-) +"All" BldNd_BlOutNd - Future feature will allow selecting a portion of the nodes to output. Not implemented yet. (-) + OutListED - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-) +END (the word "END" must appear in the first 3 columns of this last OutList line in the optional nodal output section) +--------------------------------------------------------------------------------------- diff --git a/data/IEA15MW/FF.fstf b/data/IEA15MW/FF.fstf new file mode 100644 index 0000000..ec44632 --- /dev/null +++ b/data/IEA15MW/FF.fstf @@ -0,0 +1,115 @@ +------- FAST.Farm for OpenFAST INPUT FILE ------------------------------------------------- +Simulation with one turbine using precursor VTK +--- SIMULATION CONTROL --- +False Echo - Echo input data to .ech? (flag) +FATAL AbortLevel - Error level when simulation should abort (string) {"WARNING", "SEVERE", "FATAL"} +100.0 TMax - Total run time (s) [>=0.0] +2 Mod_AmbWind - Ambient wind model (-) (switch) {1: high-fidelity precursor in VTK format, 2: one InflowWind module, 3: multiple instances of InflowWind module} +2 Mod_WaveField - Wave field handling (-) (switch) {1: use individual HydroDyn inputs without adjustment, 2: adjust wave phases based on turbine offsets from farm origin} +0 Mod_SharedMooring - Shared mooring system model (switch) {0: None, 3=MoorDyn}} +--- SHARED MOORING SYSTEM --- [used only for Mod_SharedMoor>0] +"" SharedMoorFile - Name of file containing shared mooring system input parameters (quoted string) [used only when Mod_SharedMooring > 0] +0.04 DT_Mooring - Time step for farm-level mooring coupling with each turbine (s) [used only when Mod_SharedMooring > 0] +True WrMooringVis - Write shared mooring visualization, at the global FAST.Farm time step (-) [only used for Mod_SharedMooring=3] +--- AMBIENT WIND: PRECURSOR IN VTK FORMAT --- [used only for Mod_AmbWind=1] +3.0 DT_Low-VTK - Time step for low -resolution wind data input files; will be used as the global FAST.Farm time step (s) [>0.0] +0.1 DT_High-VTK - Time step for high-resolution wind data input files (s) [>0.0] +"unused" WindFilePath - Path name to VTK wind data files from precursor (string) +False ChkWndFiles - Check all the ambient wind files for data consistency? (flag) +--- AMBIENT WIND: INFLOWWIND MODULE --- [used only for Mod_AmbWind=2 or 3] +3.0 DT_Low - Time step for low -resolution wind data interpolation; will be used as the global FAST.Farm time step (s) [>0.0] +0.1 DT_High - Time step for high-resolution wind data interpolation (s) [>0.0] +153 NX_Low - Number of low -resolution spatial nodes in X direction for wind data interpolation (-) [>=2] +31 NY_Low - Number of low -resolution spatial nodes in Y direction for wind data interpolation (-) [>=2] +40 NZ_Low - Number of low -resolution spatial nodes in Z direction for wind data interpolation (-) [>=2] +-400.0 X0_Low - Origin of low -resolution spatial nodes in X direction for wind data interpolation (m) +-600.0 Y0_Low - Origin of low -resolution spatial nodes in Y direction for wind data interpolation (m) +5.0 Z0_Low - Origin of low -resolution spatial nodes in Z direction for wind data interpolation (m) +9.71 dX_Low - Spacing of low -resolution spatial nodes in X direction for wind data interpolation (m) [>0.0] +20.0 dY_Low - Spacing of low -resolution spatial nodes in Y direction for wind data interpolation (m) [>0.0] +20.0 dZ_Low - Spacing of low -resolution spatial nodes in Z direction for wind data interpolation (m) [>0.0] +20 NX_High - Number of high-resolution spatial nodes in X direction for wind data interpolation (-) [>=2] +20 NY_High - Number of high-resolution spatial nodes in Y direction for wind data interpolation (-) [>=2] +15 NZ_High - Number of high-resolution spatial nodes in Z direction for wind data interpolation (-) [>=2] +"../Inflow/150m_08mps_IW.dat" InflowFile - Name of file containing InflowWind module input parameters (quoted string) +--- WIND TURBINES --- +1 NumTurbines - Number of wind turbines (-) [>=1] [last 6 columns below used only for Mod_AmbWind=2 or 3] +WT_X WT_Y WT_Z WT_FASTInFile X0_High Y0_High Z0_High dX_High dY_High dZ_High +(m) (m) (m) (string) (m) (m) (m) (m) (m) (m) +0.0 0.0 0.0 "WT.T.fst" -200.0 -200.0 5.0 20.0 20.0 10.0 +--- WAKE DYNAMICS --- +1 Mod_Wake - Switch between wake formulations {1:Polar, 2:Curl, 3:Cartesian} (-) (switch) +240 RotorDiamRef - Reference turbine rotor diameter for wake calculations (m) [>0.0] +5.5 dr - Radial increment of radial finite-difference grid (m) [>0.0] +65 NumRadii - Number of radii in the radial finite-difference grid (-) [>=2] +140 NumPlanes - Number of wake planes (-) [>=2] +0.14 f_c - Cutoff (corner) frequency of the low-pass time-filter for the wake advection, deflection, and meandering model [recommended=1.28*U0/R] (Hz) [>0.0] or DEFAULT [DEFAULT=12.5/R, R estimated from dr and NumRadii, not recommended] +DEFAULT C_HWkDfl_O - Calibrated parameter in the correction for wake deflection defining the horizontal offset at the rotor (m ) or DEFAULT [DEFAULT= 0.0 ] +DEFAULT C_HWkDfl_OY - Calibrated parameter in the correction for wake deflection defining the horizontal offset at the rotor scaled with yaw error (m/deg) or DEFAULT [DEFAULT= 0.0 if Mod_Wake is 2, 0.3 otherwise] +DEFAULT C_HWkDfl_x - Calibrated parameter in the correction for wake deflection defining the horizontal offset scaled with downstream distance (- ) or DEFAULT [DEFAULT= 0.0 ] +DEFAULT C_HWkDfl_xY - Calibrated parameter in the correction for wake deflection defining the horizontal offset scaled with downstream distance and yaw error (1/deg) or DEFAULT [DEFAULT= 0.0 if Mod_Wake is 2, -0.004 otherwise] +DEFAULT C_NearWake - Calibrated parameter for the near-wake correction (-) [>1.0 and <2.5] or DEFAULT [DEFAULT=1.8] +DEFAULT k_vAmb - Calibrated parameters for the influence of the ambient turbulence in the eddy viscosity (set of 5 parameters: k, FMin, DMin, DMax, Exp) (-) [>=0.0, >=0.0 and <=1.0, >=0.0, >DMin, >=0.0] or DEFAULT [DEFAULT=0.05, 1.0, 0.0, 1.0, 0.01] +DEFAULT k_vShr - Calibrated parameters for the influence of the shear layer in the eddy viscosity (set of 5 parameters: k, FMin, DMin, DMax, Exp) (-) [>=0.0, >=0.0 and <=1.0, >=0.0, >DMin, >=0.0] or DEFAULT [DEFAULT=0.016, 0.2, 3.0, 25.0, 0.1] +DEFAULT Mod_WakeDiam - Wake diameter calculation model (-) (switch) {1: rotor diameter, 2: velocity based, 3: mass-flux based, 4: momentum-flux based} or DEFAULT [DEFAULT=1] +DEFAULT C_WakeDiam - Calibrated parameter for wake diameter calculation (-) [>0.0 and <0.99] or DEFAULT [DEFAULT=0.95] [unused for Mod_WakeDiam=1] +DEFAULT Mod_Meander - Spatial filter model for wake meandering (-) (switch) {1: uniform, 2: truncated jinc, 3: windowed jinc} or DEFAULT [DEFAULT=3] +DEFAULT C_Meander - Calibrated parameter for wake meandering (-) [>=1.0] or DEFAULT [DEFAULT=1.9] +--- CURLED-WAKE PARAMETERS [only used if Mod_Wake=2 or 3] --- +DEFAULT Swirl - Switch to include swirl velocities in wake (-) (switch) [DEFAULT=TRUE] +DEFAULT k_VortexDecay - Vortex decay constant for curl (-) [DEFAULT=0.0001] +DEFAULT NumVortices - The number of vortices in the curled wake model (-) [DEFAULT=100] +DEFAULT sigma_D - The width of the vortices in the curled wake model non-dimesionalized by rotor diameter (-) [DEFAULT=0.2] +DEFAULT FilterInit - Switch to filter the initial wake plane deficit and select the number of grid points for the filter {0: no filter, 1: filter of size 1} or DEFAULT [DEFAULT=1] [unused for Mod_Wake=1] (switch) +DEFAULT k_vCurl - Calibrated parameter for scaling the eddy viscosity in the curled-wake model (-) [>=0] or DEFAULT [DEFAULT=2.0 ] +DEFAULT Mod_Projection - Switch to select how the wake plane velocity is projected in AWAE {1: keep all components, 2: project against plane normal} or DEFAULT [DEFAULT=1: if Mod_Wake is 1 or 3, or DEFAULT=2: if Mod_Wake is 2] (switch) +--- WAKE-ADDED TURBULENCE --- +0 WAT - Switch between wake-added turbulence box options {0: no wake added turbulence, 1: predefined turbulence box, 2: user defined turbulence box} (switch) +"../WAT_MannBoxDB/FFDB_D100_512x512x64.u" WAT_BoxFile - Filepath to the file containing the u-component of the turbulence box (either predefined or user-defined) (quoted string) +512, 512, 64 WAT_NxNyNz - Number of points in the x, y, and z directions of the WAT_BoxFile [used only if WAT=2, derived value if WAT=1] (-) +5.0, 5.0, 5.0 WAT_DxDyDz - Distance (in meters) between points in the x, y, and z directions of the WAT_BoxFile [used only if WAT=2, derived value if WAT=1] (m) +default WAT_ScaleBox - Flag to scale the input turbulence box to zero mean and unit standard deviation at every node [DEFAULT=False] (flag) +default WAT_k_Def - Calibrated parameters for the influence of the maximum wake deficit on wake-added turbulence (set of 5 parameters: k_Def, FMin, DMin, DMax, Exp) (-) [>=0.0, >=0.0 and <=1.0, >=0.0, >DMin, >=0.0] or DEFAULT [DEFAULT=[0.6, 0.0, 0.0, 2.0, 1.0 ]] +default WAT_k_Grad - Calibrated parameters for the influence of the radial velocity gradient of the wake deficit on wake-added turbulence (set of 5 parameters: k_Grad, FMin, DMin, DMax, Exp) (-) [>=0.0, >=0.0 and <=1.0, >=0.0, >DMin, >=0.0] or DEFAULT [DEFAULT=[3.0, 0.0, 0.0, 12.0, 0.65] +--- VISUALIZATION --- +False WrDisWind - Write low- and high-resolution disturbed wind data to .Low.Dis.t.vtk etc.? (flag) +0 NOutDisWindXY - Number of XY planes for output of disturbed wind data across the low-resolution domain to .Low.DisXY.t.vtk (-) [0 to 999] +90.0 OutDisWindZ - Z coordinates of XY planes for output of disturbed wind data across the low-resolution domain (m) [1 to NOutDisWindXY] [unused for NOutDisWindXY=0] +0 NOutDisWindYZ - Number of YZ planes for output of disturbed wind data across the low-resolution domain to /Low.DisYZ.t.vtk (-) [0 to 999] +0, OutDisWindX - X coordinates of YZ planes for output of disturbed wind data across the low-resolution domain (m) [1 to NOutDisWindYZ] [unused for NOutDisWindYZ=0] +0 NOutDisWindXZ - Number of XZ planes for output of disturbed wind data across the low-resolution domain to /Low.DisXZ.t.vtk (-) [0 to 999] +0.0, OutDisWindY - Y coordinates of XZ planes for output of disturbed wind data across the low-resolution domain (m) [1 to NOutDisWindXZ] [unused for NOutDisWindXZ=0] +3.0 WrDisDT - Time step for disturbed wind visualization output (s) [>0.0] or DEFAULT [DEFAULT=DT_Low or DT_Low-VTK] [unused for WrDisWind=False and NOutDisWindXY=NOutDisWindYZ=NOutDisWindXZ=0] +--- OUTPUT --- +False SumPrint - Print summary data to .sum? (flag) +99999.9 ChkptTime - Amount of time between creating checkpoint files for potential restart (s) [>0.0] +0.0 TStart - Time to begin tabular output (s) [>=0.0] +1 OutFileFmt - Format for tabular (time-marching) output file (switch) {1: text file [.out], 2: binary file [.outb], 3: both} +True TabDelim - Use tab delimiters in text tabular output file? (flag) {uses spaces if False} +"ES10.3E2" OutFmt - Format used for text tabular output, excluding the time channel. Resulting field should be 10 characters. (quoted string) +DEFAULT OutAllPlanes - Output all wake planes at all time steps. [DEFAULT=False] +0 NOutRadii - Number of radial nodes for wake output for an individual rotor (-) [0 to 20] +0, 2, 5, 11, 17, 21, 39 OutRadii - List of radial nodes for wake output for an individual rotor (-) [1 to NOutRadii] [unused for NOutRadii=0] +2 NOutDist - Number of downstream distances for wake output for an individual rotor (-) [0 to 9 ] +126.0, 189.0 OutDist - List of downstream distances for wake output for an individual rotor (m) [1 to NOutDist ] [unused for NOutDist =0] +1 NWindVel - Number of points for wind output (-) [0 to 9] +1000.0 WindVelX - List of coordinates in the X direction for wind output (m) [1 to NWindVel] [unused for NWindVel=0] +1000.0 WindVelY - List of coordinates in the Y direction for wind output (m) [1 to NWindVel] [unused for NWindVel=0] +90.0 WindVelZ - List of coordinates in the Z direction for wind output (m) [1 to NWindVel] [unused for NWindVel=0] + OutList - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels (quoted string) +"W1VAmbx" +"RtVRelT1" +"YawErrT1" +"TIAmbT1" +"CtT1N02 , CtT1N03 , CtT1N04 , CtT1N05 , CtT1N06" +"WkAxsXT1D1 , WkAxsXT1D2" +"WkAxsYT1D1 , WkAxsYT1D2" +"WkAxsZT1D1 , WkAxsZT1D2" +"WkPosXT1D1 , WkPosXT1D2" +"WkPosYT1D1 , WkPosYT1D2" +"WkPosZT1D1 , WkPosZT1D2" +"WkDfVxT1N01D1, WkDfVxT1N02D1, WkDfVxT1N03D1, WkDfVxT1N04D1, WkDfVxT1N05D1, WkDfVxT1N06D1, WkDfVxT1N07D1" +"WkDfVxT1N01D2, WkDfVxT1N02D2, WkDfVxT1N03D2, WkDfVxT1N04D2, WkDfVxT1N05D2, WkDfVxT1N06D2, WkDfVxT1N07D2" +"WkDfVrT1N01D1, WkDfVrT1N02D1, WkDfVrT1N03D1, WkDfVrT1N04D1, WkDfVrT1N05D1, WkDfVrT1N06D1, WkDfVrT1N07D1" +"WkDfVrT1N01D2, WkDfVrT1N02D2, WkDfVrT1N03D2, WkDfVrT1N04D2, WkDfVrT1N05D2, WkDfVrT1N06D2, WkDfVrT1N07D2" +END of input file (the word "END" must appear in the first 3 columns of this last OutList line) diff --git a/data/IEA15MW/IEA-15-240-RWT-Monopile_ElastoDyn_tower.dat b/data/IEA15MW/IEA-15-240-RWT-Monopile_ElastoDyn_tower.dat new file mode 100644 index 0000000..c6e4ab4 --- /dev/null +++ b/data/IEA15MW/IEA-15-240-RWT-Monopile_ElastoDyn_tower.dat @@ -0,0 +1,61 @@ +------- ELASTODYN V1.00.* TOWER INPUT FILE ------------------------------------- +IEA 15 MW offshore reference model monopile configuration +---------------------- TOWER PARAMETERS ---------------------------------------- +20 NTwInpSt - Number of input stations to specify tower geometry +1.0 TwrFADmp(1) - Tower 1st fore-aft mode structural damping ratio (%) +1.0 TwrFADmp(2) - Tower 2nd fore-aft mode structural damping ratio (%) +1.0 TwrSSDmp(1) - Tower 1st side-to-side mode structural damping ratio (%) +1.0 TwrSSDmp(2) - Tower 2nd side-to-side mode structural damping ratio (%) +---------------------- TOWER ADJUSTMUNT FACTORS -------------------------------- +1.0 FAStTunr(1) - Tower fore-aft modal stiffness tuner, 1st mode (-) +1.0 FAStTunr(2) - Tower fore-aft modal stiffness tuner, 2nd mode (-) +1.0 SSStTunr(1) - Tower side-to-side stiffness tuner, 1st mode (-) +1.0 SSStTunr(2) - Tower side-to-side stiffness tuner, 2nd mode (-) +1.0 AdjTwMa - Factor to adjust tower mass density (-) +1.0 AdjFASt - Factor to adjust tower fore-aft stiffness (-) +1.0 AdjSSSt - Factor to adjust tower side-to-side stiffness (-) +---------------------- DISTRIBUTED TOWER PROPERTIES ---------------------------- + HtFract TMassDen TwFAStif TwSSStif + (-) (kg/m) (Nm^2) (Nm^2) + 0.000000000000000E+00 1.031484441173360E+04 3.065446681730710E+12 3.065446681730710E+12 + 1.004745490238510E-01 1.031484441173360E+04 3.065446681730710E+12 3.065446681730710E+12 + 1.004822778353140E-01 9.523818531177400E+03 2.832084716093430E+12 2.832084716093430E+12 + 2.009490980477020E-01 9.453084405718950E+03 2.769450452002750E+12 2.769450452002750E+12 + 2.009568268591660E-01 8.761306059261840E+03 2.568166429175230E+12 2.568166429175230E+12 + 3.014236470715530E-01 8.333524388530640E+03 2.210055981076240E+12 2.210055981076240E+12 + 3.014313758830170E-01 7.943339505959190E+03 2.107286870484590E+12 2.107286870484590E+12 + 4.018981960954040E-01 7.428459476674180E+03 1.723500010954970E+12 1.723500010954970E+12 + 4.019059249068680E-01 7.087214160266680E+03 1.644879215976750E+12 1.644879215976750E+12 + 5.023727451192560E-01 6.538098082624470E+03 1.291405296742770E+12 1.291405296742770E+12 + 5.023804739307190E-01 6.197174861548130E+03 1.224548874057190E+12 1.224548874057190E+12 + 6.028472941431070E-01 5.616516314866140E+03 9.115849751112290E+11 9.115849751112290E+11 + 6.028550229545700E-01 5.253477923437150E+03 8.530980440238870E+11 8.530980440238870E+11 + 7.033218431669580E-01 4.910275969995680E+03 6.965892589608760E+11 6.965892589608760E+11 + 7.033295719784210E-01 4.334167603205980E+03 6.154309947959970E+11 6.154309947959970E+11 + 8.037963921908090E-01 4.232816565257490E+03 5.732589718113060E+11 5.732589718113060E+11 + 8.038041210022720E-01 3.673387789838780E+03 4.979639354642210E+11 4.979639354642210E+11 + 9.042709412146600E-01 3.577282612388080E+03 4.598937820986930E+11 4.598937820986930E+11 + 9.042786700261230E-01 4.120141253172980E+03 5.291723868157960E+11 5.291723868157960E+11 + 1.000000000000000E+00 4.074837331422720E+03 5.119078821628500E+11 5.119078821628500E+11 +---------------------- TOWER FORE-AFT MODE SHAPES ------------------------------ +1.0377660838683098 TwFAM1Sh(2) - Mode 1, coefficient of x^2 term +0.14367497067740218 TwFAM1Sh(3) - , coefficient of x^3 term +-0.6087342932947762 TwFAM1Sh(4) - , coefficient of x^4 term +0.6050321437920416 TwFAM1Sh(5) - , coefficient of x^5 term +-0.17773890504297743 TwFAM1Sh(6) - , coefficient of x^6 term +3.6619703942585584 TwFAM2Sh(2) - Mode 2, coefficient of x^2 term +-0.6362329125709312 TwFAM2Sh(3) - , coefficient of x^3 term +-3.352338066111203 TwFAM2Sh(4) - , coefficient of x^4 term +1.862441256493459 TwFAM2Sh(5) - , coefficient of x^5 term +-0.5358406720698833 TwFAM2Sh(6) - , coefficient of x^6 term +---------------------- TOWER SIDE-TO-SIDE MODE SHAPES -------------------------- +1.0355977303127373 TwSSM1Sh(2) - Mode 1, coefficient of x^2 term +0.144262544887795 TwSSM1Sh(3) - , coefficient of x^3 term +-0.6068380268777367 TwSSM1Sh(4) - , coefficient of x^4 term +0.6037336433475208 TwSSM1Sh(5) - , coefficient of x^5 term +-0.1767558916703165 TwSSM1Sh(6) - , coefficient of x^6 term +3.1034243537167785 TwSSM2Sh(2) - Mode 2, coefficient of x^2 term +-0.453171119027356 TwSSM2Sh(3) - , coefficient of x^3 term +-2.7211379356509307 TwSSM2Sh(4) - , coefficient of x^4 term +1.5961868269627295 TwSSM2Sh(5) - , coefficient of x^5 term +-0.5253021260012212 TwSSM2Sh(6) - , coefficient of x^6 term diff --git a/data/IEA15MW/IEA-15-240-RWT_AeroDyn15_blade.dat b/data/IEA15MW/IEA-15-240-RWT_AeroDyn15_blade.dat new file mode 100644 index 0000000..1857ef2 --- /dev/null +++ b/data/IEA15MW/IEA-15-240-RWT_AeroDyn15_blade.dat @@ -0,0 +1,56 @@ +------- AERODYN v15.00.* BLADE DEFINITION INPUT FILE ------------------------------------- +IEA 15 MW Offshore Reference Turbine +====== Blade Properties ================================================================= +50 NumBlNds - Number of blade nodes used in the analysis (-) + BlSpn BlCrvAC BlSwpAC BlCrvAng BlTwist BlChord BlAFID BlCb BlCenBn BlCenBt + (m) (m) (m) (deg) (deg) (m) (-) (-) (m) (m) + 0.000000000000000e+00 -6.354122360450852e-03 -2.276626484469566e-02 9.291281525327398e-01 1.559455301971172e+01 5.200000000000000e+00 1 0.0 0.0 0.0 + 2.387753704536792e+00 3.236481948738088e-02 5.005748522338992e-02 8.707285997270117e-01 1.558773861176889e+01 5.208839941579524e+00 2 0.0 0.0 0.0 + 4.775507409073585e+00 6.621685687511680e-02 8.694386659281718e-02 6.376768648563605e-01 1.541083467878359e+01 5.237887092263203e+00 3 0.0 0.0 0.0 + 7.163261113610377e+00 8.551302257769909e-02 5.307191353698237e-02 3.623009655957606e-01 1.494855563474368e+01 5.293325313383697e+00 4 0.0 0.0 0.0 + 9.551014818147170e+00 9.641383525966472e-02 -2.834268227993915e-02 2.309264254802593e-01 1.425845480678574e+01 5.367339854814920e+00 5 0.0 0.0 0.0 + 1.193876852268396e+01 1.047603018628692e-01 -1.352768396731961e-01 2.332510218907787e-01 1.339714163725627e+01 5.452092684226667e+00 6 0.0 0.0 0.0 + 1.432652222722075e+01 1.158548641787537e-01 -2.434441389056812e-01 3.537684475592492e-01 1.242201947682708e+01 5.540031728503847e+00 7 0.0 0.0 0.0 + 1.671427593175755e+01 1.342461230233627e-01 -3.188598483871042e-01 5.253284774395157e-01 1.139457131628079e+01 5.621824261194381e+00 8 0.0 0.0 0.0 + 1.910202963629434e+01 1.596395008211909e-01 -3.469958526716618e-01 5.163676654488634e-01 1.037097608496841e+01 5.692531175149338e+00 9 0.0 0.0 0.0 + 2.148978334083113e+01 1.772839218313782e-01 -3.819068650570526e-01 3.195122177856614e-01 9.403999874823057e+00 5.742610890726970e+00 10 0.0 0.0 0.0 + 2.387753704536793e+01 1.862701718402896e-01 -4.162773967965841e-01 1.573444757446643e-01 8.551522201182079e+00 5.764836827022541e+00 11 0.0 0.0 0.0 + 2.626529074990471e+01 1.903983042803929e-01 -4.350341475278324e-01 1.228376274409489e-01 7.833153039627247e+00 5.756119529852528e+00 12 0.0 0.0 0.0 + 2.865304445444151e+01 1.965084748280304e-01 -4.192878615908359e-01 1.576642896749325e-01 7.191354972096501e+00 5.703098512750650e+00 13 0.0 0.0 0.0 + 3.104079815897830e+01 2.035393425849667e-01 -3.833468507053414e-01 1.405642801253589e-01 6.551629060916145e+00 5.604676021602162e+00 14 0.0 0.0 0.0 + 3.342855186351510e+01 2.082242607643353e-01 -3.520562387211776e-01 8.721579968330176e-02 5.933995702189942e+00 5.471559126660524e+00 15 0.0 0.0 0.0 + 3.581630556805188e+01 2.108086308339459e-01 -3.258680587010861e-01 4.014233748419024e-02 5.346089613189348e+00 5.322778014171772e+00 16 0.0 0.0 0.0 + 3.820405927258868e+01 2.115700571915651e-01 -3.029463320739354e-01 3.930870169461698e-03 4.796333947019595e+00 5.166482288167050e+00 17 0.0 0.0 0.0 + 4.059181297712547e+01 2.111362622888833e-01 -2.833278558945826e-01 -4.892583209487279e-02 4.296593562725417e+00 5.019421327310202e+00 18 0.0 0.0 0.0 + 4.297956668166226e+01 2.074921713986668e-01 -2.650005898111198e-01 -1.798131144321642e-01 3.846955194686785e+00 4.885807888739599e+00 19 0.0 0.0 0.0 + 4.536732038619906e+01 1.961491644965832e-01 -2.468940178014830e-01 -4.025738645322033e-01 3.445342056797746e+00 4.767959675121795e+00 20 0.0 0.0 0.0 + 4.775507409073585e+01 1.739385890780780e-01 -2.286827195540772e-01 -6.993213833205466e-01 3.076913909773020e+00 4.654566079625438e+00 21 0.0 0.0 0.0 + 5.014282779527264e+01 1.378633438394944e-01 -2.108533280970962e-01 -1.003820922690407e+00 2.733562457425842e+00 4.541031051711910e+00 22 0.0 0.0 0.0 + 5.253058149980943e+01 9.027607400369848e-02 -1.945396261857828e-01 -1.240747486362836e+00 2.412234674442038e+00 4.428175577624730e+00 23 0.0 0.0 0.0 + 5.491833520434623e+01 3.445719810261592e-02 -1.805730451752768e-01 -1.415897080086006e+00 2.111690772172129e+00 4.316958876583997e+00 24 0.0 0.0 0.0 + 5.730608890888303e+01 -2.772456879271226e-02 -1.686917049154445e-01 -1.531449532522348e+00 1.828396455235506e+00 4.207880735790049e+00 25 0.0 0.0 0.0 + 5.969384261341982e+01 -9.317136122682015e-02 -1.591120396576385e-01 -1.615739264090502e+00 1.558783420877334e+00 4.101646187027423e+00 26 0.0 0.0 0.0 + 6.208159631795661e+01 -1.623758862177225e-01 -1.520171259813259e-01 -1.803740515356404e+00 1.302436869719713e+00 3.998712335312356e+00 27 0.0 0.0 0.0 + 6.446935002249339e+01 -2.434852854714629e-01 -1.475340510338809e-01 -2.116796821704133e+00 1.064427371073839e+00 3.899408676051565e+00 28 0.0 0.0 0.0 + 6.685710372703018e+01 -3.387672278625571e-01 -1.442863764849721e-01 -2.460770245763826e+00 8.434461662411673e-01 3.803172543681295e+00 29 0.0 0.0 0.0 + 6.924485743156698e+01 -4.485233220920201e-01 -1.428866903746157e-01 -2.765261934448337e+00 6.365641868417889e-01 3.709389453654426e+00 30 0.0 0.0 0.0 + 7.163261113610376e+01 -5.691577197429315e-01 -1.431497271870684e-01 -2.996072070835783e+00 4.370289000217617e-01 3.617111741572532e+00 31 0.0 0.0 0.0 + 7.402036484064057e+01 -6.981271306483475e-01 -1.449404201922671e-01 -3.157880132952910e+00 2.396567933387980e-01 3.525634918177657e+00 32 0.0 0.0 0.0 + 7.640811854517736e+01 -8.322285121101992e-01 -1.477133050470215e-01 -3.257754925092921e+00 3.967768814723920e-02 3.434082670567315e+00 33 0.0 0.0 0.0 + 7.879587224971415e+01 -9.695092756948377e-01 -1.511924136895065e-01 -3.310385437884317e+00 -1.728281243479747e-01 3.341933111457596e+00 34 0.0 0.0 0.0 + 8.118362595425094e+01 -1.107990118373343e+00 -1.552313867559904e-01 -3.406275737267048e+00 -4.070838313820219e-01 3.248678447761413e+00 35 0.0 0.0 0.0 + 8.357137965878775e+01 -1.253249451921619e+00 -1.595783390433831e-01 -3.595872363726422e+00 -6.803776144613040e-01 3.156109679927359e+00 36 0.0 0.0 0.0 + 8.595913336332453e+01 -1.407503356114155e+00 -1.641610599715335e-01 -3.796088457251112e+00 -9.992936104276490e-01 3.064580004833834e+00 37 0.0 0.0 0.0 + 8.834688706786133e+01 -1.569415649792242e+00 -1.685371839122368e-01 -3.975750664517341e+00 -1.320525255517711e+00 2.972992647082487e+00 38 0.0 0.0 0.0 + 9.073464077239812e+01 -1.738609665373033e+00 -1.724347024248264e-01 -4.134012556120940e+00 -1.623298762065715e+00 2.880705106690617e+00 39 0.0 0.0 0.0 + 9.312239447693490e+01 -1.913679799182830e+00 -1.755139986377293e-01 -4.262892683845840e+00 -1.884368146311783e+00 2.786969376686517e+00 40 0.0 0.0 0.0 + 9.551014818147171e+01 -2.093586929140116e+00 -1.785402748061612e-01 -4.382890604985165e+00 -2.086230093232373e+00 2.691030938627057e+00 41 0.0 0.0 0.0 + 9.789790188600848e+01 -2.278630233534075e+00 -1.818549476382104e-01 -4.504426990591778e+00 -2.163998201705838e+00 2.591965555977676e+00 42 0.0 0.0 0.0 + 1.002856555905453e+02 -2.468636765792445e+00 -1.856271589973350e-01 -4.656240428293554e+00 -2.175841166085000e+00 2.489323647505217e+00 43 0.0 0.0 0.0 + 1.026734092950821e+02 -2.666293052105629e+00 -1.892782116779622e-01 -4.835653360509453e+00 -2.155303774975188e+00 2.383917231097341e+00 44 0.0 0.0 0.0 + 1.050611629996189e+02 -2.871202075032245e+00 -1.924886839011192e-01 -5.008509113472641e+00 -2.102909521958467e+00 2.275923816206998e+00 45 0.0 0.0 0.0 + 1.074489167041557e+02 -3.083212464328674e+00 -1.950287058969190e-01 -5.174877006858174e+00 -2.018403421317624e+00 2.165466732053696e+00 46 0.0 0.0 0.0 + 1.098366704086924e+02 -3.301933250165787e+00 -1.970581013607374e-01 -5.340902805961378e+00 -1.896743213972770e+00 2.052625082558482e+00 47 0.0 0.0 0.0 + 1.122244241132292e+02 -3.527723381568596e+00 -1.989581851179342e-01 -5.490470005410412e+00 -1.724325762660474e+00 1.937753326819164e+00 48 0.0 0.0 0.0 + 1.146121778177661e+02 -3.758854692855718e+00 -2.002555383444301e-01 -5.660129840633894e+00 -1.508125114401624e+00 1.819662967336163e+00 49 0.0 0.0 0.0 + 1.169999315223028e+02 -3.998718787548573e+00 -5.907701779748526e-02 -5.765427375220712e+00 -1.242387706272970e+00 4.999999999999998e-01 50 0.0 0.0 0.0 diff --git a/data/IEA15MW/IEA-15-240-RWT_ElastoDyn_blade.dat b/data/IEA15MW/IEA-15-240-RWT_ElastoDyn_blade.dat new file mode 100644 index 0000000..94c7584 --- /dev/null +++ b/data/IEA15MW/IEA-15-240-RWT_ElastoDyn_blade.dat @@ -0,0 +1,82 @@ +------- ELASTODYN V1.00.* INDIVIDUAL BLADE INPUT FILE -------------------------- +IEA 15 MW Offshore Reference Turbine +---------------------- BLADE PARAMETERS ---------------------------------------- +50 NBlInpSt - Number of blade input stations (-) +0.48 BldFlDmp1 - Blade flap mode #1 structural damping in percent of critical (%) +0.48 BldFlDmp2 - Blade flap mode #2 structural damping in percent of critical (%) +0.48 BldEdDmp1 - Blade edge mode #1 structural damping in percent of critical (%) +---------------------- BLADE ADJUSTMENT FACTORS -------------------------------- +1.0 FlStTunr1 - Blade flapwise modal stiffness tuner, 1st mode (-) +1.0 FlStTunr2 - Blade flapwise modal stiffness tuner, 2nd mode (-) +1.0 AdjBlMs - Factor to adjust blade mass density (-) +1.0 AdjFlSt - Factor to adjust blade flap stiffness (-) +1.0 AdjEdSt - Factor to adjust blade edge stiffness (-) +---------------------- DISTRIBUTED BLADE PROPERTIES ---------------------------- + BlFract StrcTwst BMassDen FlpStff EdgStff + (-) (deg) (kg/m) (Nm^2) (Nm^2) + 0.000000000000000e+00 1.559455301971172e+01 3.189145281139312e+03 1.525338961805330e+11 1.524792338826398e+11 + 2.040816326530612e-02 1.558773861176889e+01 2.848491671981893e+03 1.388018747118786e+11 1.376398889340311e+11 + 4.081632653061224e-02 1.541083467878359e+01 2.506316641079376e+03 1.222825651460343e+11 1.231043838261023e+11 + 6.122448979591835e-02 1.494855563474368e+01 2.126327323268820e+03 9.721429241691763e+10 1.030038838221780e+11 + 8.163265306122448e-02 1.425845480678574e+01 1.774273076643545e+03 7.473181210448022e+10 8.415417285570142e+10 + 1.020408163265306e-01 1.339714163725627e+01 1.675415347578921e+03 5.670713863723486e+10 7.500334758775418e+10 + 1.224489795918367e-01 1.242201947682708e+01 1.375372123508623e+03 4.333119910067368e+10 6.386874980164800e+10 + 1.428571428571428e-01 1.139457131628079e+01 1.126877435288510e+03 3.488129485677473e+10 5.587550052530811e+10 + 1.632653061224490e-01 1.037097608496841e+01 9.166967416567660e+02 3.074062953585106e+10 4.850443135202483e+10 + 1.836734693877551e-01 9.403999874823057e+00 7.581128920505105e+02 2.769326286737285e+10 4.229417836732529e+10 + 2.040816326530612e-01 8.551522201182079e+00 6.498201551435592e+02 2.461968089847847e+10 3.778979262471266e+10 + 2.244897959183673e-01 7.833153039627247e+00 5.816598121783463e+02 2.139033204354521e+10 3.460539129185500e+10 + 2.448979591836735e-01 7.191354972096501e+00 5.388110041072538e+02 1.869243518353476e+10 3.222839700500914e+10 + 2.653061224489796e-01 6.551629060916145e+00 5.093885171950960e+02 1.631285343544707e+10 3.032117609748821e+10 + 2.857142857142857e-01 5.933995702189942e+00 4.927842041149214e+02 1.479141128967237e+10 2.866882577015823e+10 + 3.061224489795917e-01 5.346089613189348e+00 4.867795863196560e+02 1.408157287855375e+10 2.719211554338738e+10 + 3.265306122448979e-01 4.796333947019595e+00 4.822296506379602e+02 1.340519691354671e+10 2.562551820076299e+10 + 3.469387755102040e-01 4.296593562725417e+00 4.761842241246758e+02 1.213013620583955e+10 2.406788400839622e+10 + 3.673469387755101e-01 3.846955194686785e+00 4.677912755581858e+02 1.057564915543031e+10 2.263018568852713e+10 + 3.877551020408163e-01 3.445342056797746e+00 4.591296592557296e+02 9.428937598688459e+09 2.140687114823070e+10 + 4.081632653061223e-01 3.076913909773020e+00 4.508379097619292e+02 8.679373622305126e+09 2.030554785264042e+10 + 4.285714285714285e-01 2.733562457425842e+00 4.421998847689325e+02 8.090790463396826e+09 1.925965509911081e+10 + 4.489795918367346e-01 2.412234674442038e+00 4.326008561862743e+02 7.430721516569722e+09 1.820271939373449e+10 + 4.693877551020408e-01 2.111690772172129e+00 4.219773745307401e+02 6.532916397780468e+09 1.716666216090269e+10 + 4.897959183673469e-01 1.828396455235506e+00 4.112534584982077e+02 5.635458983738827e+09 1.616806219912397e+10 + 5.102040816326531e-01 1.558783420877334e+00 4.012473583789823e+02 4.924729531561621e+09 1.522285575052025e+10 + 5.306122448979592e-01 1.302436869719713e+00 3.920469572984427e+02 4.401845320349272e+09 1.433708564071317e+10 + 5.510204081632651e-01 1.064427371073839e+00 3.826675398780939e+02 3.941076638277167e+09 1.344497171773862e+10 + 5.714285714285713e-01 8.434461662411673e-01 3.612661153435752e+02 3.426333092367449e+09 1.138100415398959e+10 + 5.918367346938775e-01 6.365641868417889e-01 3.398659172619289e+02 2.966680532868500e+09 9.471654091893534e+09 + 6.122448979591835e-01 4.370289000217617e-01 3.173247964654917e+02 2.598972931031398e+09 7.598070333791522e+09 + 6.326530612244897e-01 2.396567933387980e-01 2.941148966103120e+02 2.299604180699598e+09 5.805653973761759e+09 + 6.530612244897959e-01 3.967768814723920e-02 2.719321532357653e+02 2.026456858897451e+09 4.285716699307380e+09 + 6.734693877551020e-01 -1.728281243479747e-01 2.563144169585100e+02 1.750494448194900e+09 3.539638690389050e+09 + 6.938775510204080e-01 -4.070838313820219e-01 2.393766504954643e+02 1.480634479348676e+09 2.858341744436661e+09 + 7.142857142857143e-01 -6.803776144613040e-01 2.221564960620647e+02 1.225755456624930e+09 2.411448232374817e+09 + 7.346938775510203e-01 -9.992936104276490e-01 2.021377424119976e+02 9.915617242298139e+08 2.059272895765558e+09 + 7.551020408163265e-01 -1.320525255517711e+00 1.805543988230305e+02 7.965115478517663e+08 1.711553935321545e+09 + 7.755102040816326e-01 -1.623298762065715e+00 1.576606284996616e+02 6.379451447840538e+08 1.344077335734445e+09 + 7.959183673469387e-01 -1.884368146311783e+00 1.354839722001807e+02 5.016030937142348e+08 1.013798041821079e+09 + 8.163265306122449e-01 -2.086230093232373e+00 1.120816430883252e+02 3.837872963500269e+08 7.818269647609487e+08 + 8.367346938775508e-01 -2.163998201705838e+00 9.428716335486106e+01 2.922152544706123e+08 6.257356863909814e+08 + 8.571428571428570e-01 -2.175841166085000e+00 7.800953847011847e+01 2.234419323778142e+08 4.853089503492516e+08 + 8.775510204081634e-01 -2.155303774975188e+00 6.432912305900471e+01 1.655441909972637e+08 3.752666314364563e+08 + 8.979591836734692e-01 -2.102909521958467e+00 5.344190109844552e+01 1.178503801821035e+08 2.918966298394187e+08 + 9.183673469387755e-01 -2.018403421317624e+00 4.450335078883321e+01 7.916644695614292e+07 2.239967950809962e+08 + 9.387755102040815e-01 -1.896743213972770e+00 3.669679320964971e+01 4.921992371612750e+07 1.631692262693548e+08 + 9.591836734693876e-01 -1.724325762660474e+00 2.687365619764821e+01 2.743282717773140e+07 1.064318616320310e+08 + 9.795918367346939e-01 -1.508125114401624e+00 2.157201084316552e+01 1.296677095760643e+07 6.715371720843673e+07 + 1.000000000000000e+00 -1.242387706272970e+00 5.767382468564499e+00 1.862011072702549e+05 1.663313892259768e+06 +---------------------- BLADE MODE SHAPES --------------------------------------- +-0.01520658920198625 BldFl1Sh(2) - Flap mode 1, coeff of x^2 +2.420976935410554 BldFl1Sh(3) - , coeff of x^3 +-2.620664545616402 BldFl1Sh(4) - , coeff of x^4 +1.870759058733083 BldFl1Sh(5) - , coeff of x^5 +-0.6558648593252485 BldFl1Sh(6) - , coeff of x^6 +-0.497369434907339 BldFl2Sh(2) - Flap mode 2, coeff of x^2 +0.4581607963285442 BldFl2Sh(3) - , coeff of x^3 +-6.977722016292546 BldFl2Sh(4) - , coeff of x^4 +14.7914425072341 BldFl2Sh(5) - , coeff of x^5 +-6.774511852362759 BldFl2Sh(6) - , coeff of x^6 +0.002007370120810502 BldEdgSh(2) - Edge mode 1, coeff of x^2 +4.765619129587991 BldEdgSh(3) - , coeff of x^3 +-9.510156169792296 BldEdgSh(4) - , coeff of x^4 +8.719308207111032 BldEdgSh(5) - , coeff of x^5 +-2.9767785370275366 BldEdgSh(6) - , coeff of x^6 diff --git a/data/IEA15MW/IW_WT.dat b/data/IEA15MW/IW_WT.dat new file mode 100644 index 0000000..e4a52b7 --- /dev/null +++ b/data/IEA15MW/IW_WT.dat @@ -0,0 +1,71 @@ +------- InflowWind INPUT FILE --------------------------------------------------------------------------------- +12 m/s turbulent winds on 31x31 FF grid and tower for FAST CertTests #18, #19, #21, #22, #23, and #24 +--------------------------------------------------------------------------------------------------------------- +False Echo - Echo input data to .ech (flag) +1 WindType - switch for wind file type (1=steady; 2=uniform; 3=binary TurbSim FF; 4=binary Bladed-style FF; 5=HAWC format; 6=User defined; 7=native Bladed FF) +0.0 PropagationDir - Direction of wind propagation (meteorological rotation from aligned with X (positive rotates towards -Y) -- degrees) +0.0 VFlowAng - Upflow angle (degrees) (not used for native Bladed format WindType=7) +False VelInterpCubic - Use cubic interpolation for velocity in time (false=linear, true=cubic) [Used with WindType=2,3,4,5,7] +1 NWindVel - Number of points to output the wind velocity (0 to 9) +0.0 WindVxiList - List of coordinates in the inertial X direction (m) +0.0 WindVyiList - List of coordinates in the inertial Y direction (m) +150.0 WindVziList - List of coordinates in the inertial Z direction (m) +================== Parameters for Steady Wind Conditions [used only for WindType = 1] ========================= +8.0 HWindSpeed - Horizontal windspeed (m/s) +150.0 RefHt - Reference height for horizontal wind speed (m) +0.0 PLExp - Power law exponent (-) +================== Parameters for Uniform wind file [used only for WindType = 2] ============================ +"unused" FileName_Uni - Filename of time series data for uniform wind field. (-) +150.0 RefHt_Uni - Reference height for horizontal wind speed (m) +1.0 RefLength - Reference length for linear horizontal and vertical sheer (-) +================== Parameters for Binary TurbSim Full-Field files [used only for WindType = 3] ============== +"unused" FileName_BTS - Name of the Full field wind file to use (.bts) +================== Parameters for Binary Bladed-style Full-Field files [used only for WindType = 4 or WindType = 7] ========= +"unused" FileNameRoot - WindType=4: Rootname of the full-field wind file to use (.wnd, .sum); WindType=7: name of the intermediate file with wind scaling values +False TowerFile - Have tower file (.twr) (flag) ignored when WindType = 7 +================== Parameters for HAWC-format binary files [Only used with WindType = 5] ===================== +"unused" FileName_u - name of the file containing the u-component fluctuating wind (.bin) +"unused" FileName_v - name of the file containing the v-component fluctuating wind (.bin) +"unused" FileName_w - name of the file containing the w-component fluctuating wind (.bin) +2 nx - number of grids in the x direction (in the 3 files above) (-) +2 ny - number of grids in the y direction (in the 3 files above) (-) +2 nz - number of grids in the z direction (in the 3 files above) (-) +10 dx - distance (in meters) between points in the x direction (m) +10 dy - distance (in meters) between points in the y direction (m) +10 dz - distance (in meters) between points in the z direction (m) +150.0 RefHt_Hawc - reference height; the height (in meters) of the vertical center of the grid (m) +------------- Scaling parameters for turbulence --------------------------------------------------------- +0 ScaleMethod - Turbulence scaling method [0 = none, 1 = direct scaling, 2 = calculate scaling factor based on a desired standard deviation] +1.0 SFx - Turbulence scaling factor for the x direction (-) [ScaleMethod=1] +1.0 SFy - Turbulence scaling factor for the y direction (-) [ScaleMethod=1] +1.0 SFz - Turbulence scaling factor for the z direction (-) [ScaleMethod=1] +1.0 SigmaFx - Turbulence standard deviation to calculate scaling from in x direction (m/s) [ScaleMethod=2] +1.0 SigmaFy - Turbulence standard deviation to calculate scaling from in y direction (m/s) [ScaleMethod=2] +1.0 SigmaFz - Turbulence standard deviation to calculate scaling from in z direction (m/s) [ScaleMethod=2] +------------- Mean wind profile parameters (added to HAWC-format files) --------------------------------- +0.0 URef - Mean u-component wind speed at the reference height (m/s) +0 WindProfile - Wind profile type (0=constant;1=logarithmic,2=power law) +0.0 PLExp_Hawc - Power law exponent (-) (used for PL wind profile type only) +0.0 Z0 - Surface roughness length (m) (used for LG wind profile type only) +0 XOffset - Initial offset in +x direction (shift of wind box) (-) +================== LIDAR Parameters =========================================================================== + 0 SensorType - Switch for lidar configuration (0 = None, 1 = Single Point Beam(s), 2 = Continuous, 3 = Pulsed) + 0 NumPulseGate - Number of lidar measurement gates (used when SensorType = 3) + 30 PulseSpacing - Distance between range gates (m) (used when SensorType = 3) + 0 NumBeam - Number of lidar measurement beams (0-5)(used when SensorType = 1) + -200 FocalDistanceX - Focal distance co-ordinates of the lidar beam in the x direction (relative to hub height) (only first coordinate used for SensorType 2 and 3) (m) + 0 FocalDistanceY - Focal distance co-ordinates of the lidar beam in the y direction (relative to hub height) (only first coordinate used for SensorType 2 and 3) (m) + 0 FocalDistanceZ - Focal distance co-ordinates of the lidar beam in the z direction (relative to hub height) (only first coordinate used for SensorType 2 and 3) (m) +0.0 0.0 0.0 RotorApexOffsetPos - Offset of the lidar from hub height (m) + 17 URefLid - Reference average wind speed for the lidar[m/s] + 0.25 MeasurementInterval - Time between each measurement [s] +False LidRadialVel - TRUE => return radial component, FALSE => return 'x' direction estimate + 1 ConsiderHubMotion - Flag whether to consider the hub motion's impact on Lidar measurements +====================== OUTPUT ================================================== +False SumPrint - Print summary data to .IfW.sum (flag) + OutList - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-) +"Wind1VelX" X-direction wind velocity at point WindList(1) +"Wind1VelY" Y-direction wind velocity at point WindList(1) +"Wind1VelZ" Z-direction wind velocity at point WindList(1) +END of input file (the word "END" must appear in the first 3 columns of this last OutList line) +--------------------------------------------------------------------------------------- diff --git a/data/IEA15MW/README.md b/data/IEA15MW/README.md new file mode 100644 index 0000000..00793f0 --- /dev/null +++ b/data/IEA15MW/README.md @@ -0,0 +1,18 @@ + +- Turbine files from IEA 15MW repository, v1.1.15 + - FAST.Farm input from reg test + - ROSCO v2.9 + +LOG: + + - rthedin 2025 08 14 + + - Initial setup + + +- ebranlard 2025 09 28 + + - Simplifications of file names + - ROSCO v2.9 + - Update of ED, turning off DrTTors, & suitable IC for 8mps + - AD: BEM v1 (to limit warnings for users) diff --git a/data/IEA15MW/SvD.T.dat b/data/IEA15MW/SvD.T.dat new file mode 100644 index 0000000..80837e7 --- /dev/null +++ b/data/IEA15MW/SvD.T.dat @@ -0,0 +1,110 @@ +------- SERVODYN v1.05.* INPUT FILE -------------------------------------------- +IEA 15 MW offshore reference model monopile configuration +---------------------- SIMULATION CONTROL -------------------------------------- +False Echo - Echo input data to .ech (flag) +"default" DT - Communication interval for controllers (s) (or "default") +---------------------- PITCH CONTROL ------------------------------------------- +5 PCMode - Pitch control mode {0: none, 3: user-defined from routine PitchCntrl, 4: user-defined from Simulink/Labview, 5: user-defined from Bladed-style DLL} (switch) +0.0 TPCOn - Time to enable active pitch control (s) [unused when PCMode=0] +9999.9 TPitManS(1) - Time to start override pitch maneuver for blade 1 and end standard pitch control (s) +9999.9 TPitManS(2) - Time to start override pitch maneuver for blade 2 and end standard pitch control (s) +9999.9 TPitManS(3) - Time to start override pitch maneuver for blade 3 and end standard pitch control (s) [unused for 2 blades] +2.0 PitManRat(1) - Pitch rate at which override pitch maneuver heads toward final pitch angle for blade 1 (deg/s) +2.0 PitManRat(2) - Pitch rate at which override pitch maneuver heads toward final pitch angle for blade 2 (deg/s) +2.0 PitManRat(3) - Pitch rate at which override pitch maneuver heads toward final pitch angle for blade 3 (deg/s) [unused for 2 blades] +0.0 BlPitchF(1) - Blade 1 final pitch for pitch maneuvers (degrees) +0.0 BlPitchF(2) - Blade 2 final pitch for pitch maneuvers (degrees) +0.0 BlPitchF(3) - Blade 3 final pitch for pitch maneuvers (degrees) [unused for 2 blades] +---------------------- GENERATOR AND TORQUE CONTROL ---------------------------- +5 VSContrl - Variable-speed control mode {0: none, 1: simple VS, 3: user-defined from routine UserVSCont, 4: user-defined from Simulink/Labview, 5: user-defined from Bladed-style DLL} (switch) +1 GenModel - Generator model {1: simple, 2: Thevenin, 3: user-defined from routine UserGen} (switch) [used only when VSContrl=0] +95.756 GenEff - Generator efficiency [ignored by the Thevenin and user-defined generator models] (%) +True GenTiStr - Method to start the generator {T: timed using TimGenOn, F: generator speed using SpdGenOn} (flag) +True GenTiStp - Method to stop the generator {T: timed using TimGenOf, F: when generator power = 0} (flag) +9999.9 SpdGenOn - Generator speed to turn on the generator for a startup (HSS speed) (rpm) [used only when GenTiStr=False] +0.0 TimGenOn - Time to turn on the generator for a startup (s) [used only when GenTiStr=True] +9999.9 TimGenOf - Time to turn off the generator (s) [used only when GenTiStp=True] +---------------------- SIMPLE VARIABLE-SPEED TORQUE CONTROL -------------------- +7.559987120819503 VS_RtGnSp - Rated generator speed for simple variable-speed generator control (HSS side) (rpm) [used only when VSContrl=1] +19624046.66639 VS_RtTq - Rated generator torque/constant generator torque in Region 3 for simple variable-speed generator control (HSS side) (N-m) [used only when VSContrl=1] +343357.4355671095 VS_Rgn2K - Generator torque constant in Region 2 for simple variable-speed generator control (HSS side) (N-m/rpm^2) [used only when VSContrl=1] +2. VS_SlPc - Rated generator slip percentage in Region 2 1/2 for simple variable-speed generator control (%) [used only when VSContrl=1] +---------------------- SIMPLE INDUCTION GENERATOR ------------------------------ +9999.9 SIG_SlPc - Rated generator slip percentage (%) [used only when VSContrl=0 and GenModel=1] +9999.9 SIG_SySp - Synchronous (zero-torque) generator speed (rpm) [used only when VSContrl=0 and GenModel=1] +9999.9 SIG_RtTq - Rated torque (N-m) [used only when VSContrl=0 and GenModel=1] +9999.9 SIG_PORt - Pull-out ratio (Tpullout/Trated) (-) [used only when VSContrl=0 and GenModel=1] +---------------------- THEVENIN-EQUIVALENT INDUCTION GENERATOR ----------------- +9999.9 TEC_Freq - Line frequency [50 or 60] (Hz) [used only when VSContrl=0 and GenModel=2] +100 TEC_NPol - Number of poles [even integer > 0] (-) [used only when VSContrl=0 and GenModel=2] +9999.9 TEC_SRes - Stator resistance (ohms) [used only when VSContrl=0 and GenModel=2] +9999.9 TEC_RRes - Rotor resistance (ohms) [used only when VSContrl=0 and GenModel=2] +9999.9 TEC_VLL - Line-to-line RMS voltage (volts) [used only when VSContrl=0 and GenModel=2] +9999.9 TEC_SLR - Stator leakage reactance (ohms) [used only when VSContrl=0 and GenModel=2] +9999.9 TEC_RLR - Rotor leakage reactance (ohms) [used only when VSContrl=0 and GenModel=2] +9999.9 TEC_MR - Magnetizing reactance (ohms) [used only when VSContrl=0 and GenModel=2] +---------------------- HIGH-SPEED SHAFT BRAKE ---------------------------------- +0 HSSBrMode - HSS brake model {0: none, 1: simple, 3: user-defined from routine UserHSSBr, 4: user-defined from Simulink/Labview, 5: user-defined from Bladed-style DLL} (switch) +9999.9 THSSBrDp - Time to initiate deployment of the HSS brake (s) +9999.9 HSSBrDT - Time for HSS-brake to reach full deployment once initiated (sec) [used only when HSSBrMode=1] +9999.9 HSSBrTqF - Fully deployed HSS-brake torque (N-m) +---------------------- NACELLE-YAW CONTROL ------------------------------------- +0 YCMode - Yaw control mode {0: none, 3: user-defined from routine UserYawCont, 4: user-defined from Simulink/Labview, 5: user-defined from Bladed-style DLL} (switch) +9999.9 TYCOn - Time to enable active yaw control (s) [unused when YCMode=0] +0.0 YawNeut - Neutral yaw position--yaw spring force is zero at this yaw (degrees) +6009291301.0 YawSpr - Nacelle-yaw spring constant (N-m/rad) +4811254.0 YawDamp - Nacelle-yaw damping constant (N-m/(rad/s)) +9999.9 TYawManS - Time to start override yaw maneuver and end standard yaw control (s) +0.25 YawManRat - Yaw maneuver rate (in absolute value) (deg/s) +0.0 NacYawF - Final yaw angle for override yaw maneuvers (degrees) +---------------------- Aerodynamic Flow Control ------------------------------------- +0 AfCmode - Airfoil control mode {0- none, 1- cosine wave cycle, 4- user-defined from Simulink/Labview, 5- user-defined from Bladed-style DLL} +0.0 AfC_Mean - Mean level for sinusoidal cycling or steady value (-) [used only with AfCmode==1] +0.0 AfC_Amp - Amplitude for for cosine cycling of flap signal (AfC = AfC_Amp*cos(Azimuth+phase)+AfC_mean) (-) [used only with AfCmode==1] +0.0 AfC_phase - Phase relative to the blade azimuth (0 is vertical) for for cosine cycling of flap signal (deg) [used only with AfCmode==1] +---------------------- STRUCTURAL CONTROL --------------------------------------- +0 NumBStC - Number of blade structural controllers (integer) +"unused" BStCfiles - Name of the file for blade tuned mass damper (quoted string) [unused when CompNTMD is false] +0 NumNStC - Number of nacelle structural controllers (integer) +"unused" NStCfiles - Name of the file for nacelle tuned mass damper (quoted string) [unused when CompNTMD is false] +0 NumTStC - Number of tower structural controllers (integer) +"unused" TStCfiles - Name of the file for tower tuned mass damper (quoted string) [unused when CompNTMD is false] +0 NumSStC - Number of sbustructure structural controllers (integer) +"unused" SStCfiles - Name of the file for sbustructure tuned mass damper (quoted string) [unused when CompNTMD is false] +---------------------- CABLE CONTROL ---------------------------------------- +0 CCmode - Cable control mode {0- none, 4- user-defined from Simulink/Labview, 5- user-defineAfC_phased from Bladed-style DLL} +---------------------- BLADED INTERFACE ---------------------------------------- [used only with Bladed Interface] +"libdiscon_rosco_v2.9.0.dll" DLL_FileName - Name/location of the dynamic library {.dll [Windows] or .so [Linux]} in the Bladed-DLL format (-) [used only with Bladed Interface] +"DISCON_ROSCOv2.9.IN" DLL_InFile - Name of input file sent to the DLL (-) [used only with Bladed Interface] +"DISCON" DLL_ProcName - Name of procedure in DLL to be called (-) [case sensitive; used only with DLL Interface] +"default" DLL_DT - Communication interval for dynamic library (s) (or "default") [used only with Bladed Interface] +False DLL_Ramp - Whether a linear ramp should be used between DLL_DT time steps [introduces time shift when true] (flag) [used only with Bladed Interface] +9999.9 BPCutoff - Cuttoff frequency for low-pass filter on blade pitch from DLL (Hz) [used only with Bladed Interface] +0.0 NacYaw_North - Reference yaw angle of the nacelle when the upwind end points due North (deg) [used only with Bladed Interface] +0 Ptch_Cntrl - Record 28: Use individual pitch control {0: collective pitch; 1: individual pitch control} (switch) [used only with Bladed Interface] +0.0 Ptch_SetPnt - Record 5: Below-rated pitch angle set-point (deg) [used only with Bladed Interface] +0.0 Ptch_Min - Record 6: Minimum pitch angle (deg) [used only with Bladed Interface] +0.0 Ptch_Max - Record 7: Maximum pitch angle (deg) [used only with Bladed Interface] +0.0 PtchRate_Min - Record 8: Minimum pitch rate (most negative value allowed) (deg/s) [used only with Bladed Interface] +0.0 PtchRate_Max - Record 9: Maximum pitch rate (deg/s) [used only with Bladed Interface] +0.0 Gain_OM - Record 16: Optimal mode gain (Nm/(rad/s)^2) [used only with Bladed Interface] +0.0 GenSpd_MinOM - Record 17: Minimum generator speed (rpm) [used only with Bladed Interface] +0.0 GenSpd_MaxOM - Record 18: Optimal mode maximum speed (rpm) [used only with Bladed Interface] +0.0 GenSpd_Dem - Record 19: Demanded generator speed above rated (rpm) [used only with Bladed Interface] +0.0 GenTrq_Dem - Record 22: Demanded generator torque above rated (Nm) [used only with Bladed Interface] +0.0 GenPwr_Dem - Record 13: Demanded power (W) [used only with Bladed Interface] +---------------------- BLADED INTERFACE TORQUE-SPEED LOOK-UP TABLE ------------- +0 DLL_NumTrq - Record 26: No. of points in torque-speed look-up table {0 = none and use the optimal mode parameters; nonzero = ignore the optimal mode PARAMETERs by setting Record 16 to 0.0} (-) [used only with Bladed Interface] +GenSpd_TLU GenTrq_TLU +(rpm) (Nm) +---------------------- OUTPUT -------------------------------------------------- +False SumPrint - Print summary data to .sum (flag) (currently unused) +1 OutFile - Switch to determine where output will be placed: {1: in module output file only; 2: in glue code output file only; 3: both} (currently unused) +True TabDelim - Use tab delimiters in text tabular output file? (flag) (currently unused) +"ES10.3E2" OutFmt - Format used for text tabular output (except time). Resulting field should be 10 characters. (quoted string) (currently unused) +0.0 TStart - Time to begin tabular output (s) (currently unused) + OutList - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-) +"GenPwr" - Electrical generator power and torque +"GenTq" - Electrical generator power and torque +END of input file (the word "END" must appear in the first 3 columns of this last OutList line) +--------------------------------------------------------------------------------------- diff --git a/data/IEA15MW/WT.T.fst b/data/IEA15MW/WT.T.fst new file mode 100644 index 0000000..539c14f --- /dev/null +++ b/data/IEA15MW/WT.T.fst @@ -0,0 +1,73 @@ +------- OpenFAST INPUT FILE ------------------------------------------- +IEA 15 MW offshore reference model monopile configuration +---------------------- SIMULATION CONTROL -------------------------------------- +False Echo - Echo input data to .ech (flag) +"FATAL" AbortLevel - Error level when simulation should abort (string) {"WARNING", "SEVERE", "FATAL"} +30. 0 TMax - Total run time (s) +0.010 DT - Recommended module time step (s) +2 InterpOrder - Interpolation order for input/output time history (-) {1=linear, 2=quadratic} +0 NumCrctn - Number of correction iterations (-) {0=explicit calculation, i.e., no corrections} +99999.0 DT_UJac - Time between calls to get Jacobians (s) +1000000.0 UJacSclFact - Scaling factor used in Jacobians (-) +---------------------- FEATURE SWITCHES AND FLAGS ------------------------------ +1 CompElast - Compute structural dynamics (switch) {1=ElastoDyn; 2=ElastoDyn + BeamDyn for blades; 3=Simplified ElastoDyn} +1 CompInflow - Compute inflow wind velocities (switch) {0=still air; 1=InflowWind; 2=external from ExtInflow} +2 CompAero - Compute aerodynamic loads (switch) {0=None; 1=AeroDisk; 2=AeroDyn; 3=ExtLoads} +1 CompServo - Compute control and electrical-drive dynamics (switch) {0=None; 1=ServoDyn} +0 CompSeaSt - Compute sea state information (switch) {0=None; 1=SeaState} +0 CompHydro - Compute hydrodynamic loads (switch) {0=None; 1=HydroDyn} +0 CompSub - Compute sub-structural dynamics (switch) {0=None; 1=SubDyn; 2=External Platform MCKF} +0 CompMooring - Compute mooring system (switch) {0=None; 1=MAP++; 2=FEAMooring; 3=MoorDyn; 4=OrcaFlex} +0 CompIce - Compute ice loads (switch) {0=None; 1=IceFloe; 2=IceDyn} +0 MHK - MHK turbine type (switch) {0=Not an MHK turbine; 1=Fixed MHK turbine; 2=Floating MHK turbine} +---------------------- ENVIRONMENTAL CONDITIONS -------------------------------- +9.81 Gravity - Gravitational acceleration (m/s^2) +1.225 AirDens - Air density (kg/m^3) +1025 WtrDens - Water density (kg/m^3) +1.464e-05 KinVisc - Kinematic viscosity of working fluid (m^2/s) +335 SpdSound - Speed of sound in working fluid (m/s) +103500 Patm - Atmospheric pressure (Pa) [used only for an MHK turbine cavitation check] +1700 Pvap - Vapour pressure of working fluid (Pa) [used only for an MHK turbine cavitation check] +30 WtrDpth - Water depth (m) +0 MSL2SWL - Offset between still-water level and mean sea level (m) [positive upward] +---------------------- INPUT FILES --------------------------------------------- +"ED.T.dat" EDFile - Name of file containing ElastoDyn input parameters (quoted string) +"unused" BDBldFile(1) - Name of file containing BeamDyn input parameters for blade 1 (quoted string) +"unused" BDBldFile(2) - Name of file containing BeamDyn input parameters for blade 2 (quoted string) +"unused" BDBldFile(3) - Name of file containing BeamDyn input parameters for blade 3 (quoted string) +"IW_WT.dat" InflowFile - Name of file containing inflow wind input parameters (quoted string) +"AD.dat" AeroFile - Name of file containing aerodynamic input parameters (quoted string) +"SvD.T.dat" ServoFile - Name of file containing control and electrical-drive input parameters (quoted string) +"unused" SeaStFile - Name of file containing sea state input parameters (quoted string) +"unused" HydroFile - Name of file containing hydrodynamic input parameters (quoted string) +"unused" SubFile - Name of file containing sub-structural input parameters (quoted string) +"unused" MooringFile - Name of file containing mooring system input parameters (quoted string) +"unused" IceFile - Name of file containing ice input parameters (quoted string) +---------------------- OUTPUT -------------------------------------------------- +False SumPrint - Print summary data to ".sum" (flag) +10.0 SttsTime - Amount of time between screen status messages (s) +99999.0 ChkptTime - Amount of time between creating checkpoint files for potential restart (s) +"default" DT_Out - Time step for tabular output (s) (or "default") +0.0 TStart - Time to begin tabular output (s) +2 OutFileFmt - Format for tabular (time-marching) output file (switch) {1: text file [.out], 2: binary file [.outb], 3: both 1 and 2, 4: uncompressed binary [.outb, 5: both 1 and 4} +True TabDelim - Use tab delimiters in text tabular output file? (flag) {uses spaces if false} +"ES10.3E2" OutFmt - Format used for text tabular output, excluding the time channel. Resulting field should be 10 characters. (quoted string) +---------------------- LINEARIZATION ------------------------------------------- +False Linearize - Linearization analysis (flag) +False CalcSteady - Calculate a steady-state periodic operating point before linearization? [unused if Linearize=False] (flag) +3 TrimCase - Controller parameter to be trimmed {1:yaw; 2:torque; 3:pitch} [used only if CalcSteady=True] (-) +0.001 TrimTol - Tolerance for the rotational speed convergence [used only if CalcSteady=True] (-) +0.01 TrimGain - Proportional gain for the rotational speed error (>0) [used only if CalcSteady=True] (rad/(rad/s) for yaw or pitch; Nm/(rad/s) for torque) +0.0 Twr_Kdmp - Damping factor for the tower [used only if CalcSteady=True] (N/(m/s)) +0.0 Bld_Kdmp - Damping factor for the blades [used only if CalcSteady=True] (N/(m/s)) +2 NLinTimes - Number of times to linearize (-) [>=1] [unused if Linearize=False] +30.000000, 60.000000 LinTimes - List of times at which to linearize (s) [1 to NLinTimes] [used only when Linearize=True and CalcSteady=False] +1 LinInputs - Inputs included in linearization (switch) {0=none; 1=standard; 2=all module inputs (debug)} [unused if Linearize=False] +1 LinOutputs - Outputs included in linearization (switch) {0=none; 1=from OutList(s); 2=all module outputs (debug)} [unused if Linearize=False] +False LinOutJac - Include full Jacobians in linearization output (for debug) (flag) [unused if Linearize=False; used only if LinInputs=LinOutputs=2] +False LinOutMod - Write module-level linearization output files in addition to output for full system? (flag) [unused if Linearize=False] +---------------------- VISUALIZATION ------------------------------------------ +0 WrVTK - VTK visualization data output: (switch) {0=none; 1=initialization data only; 2=animation} +3 VTK_type - Type of VTK visualization data: (switch) {1=surfaces; 2=basic meshes (lines/points); 3=all meshes (debug)} [unused if WrVTK=0] +False VTK_fields - Write mesh fields to VTK data files? (flag) {true/false} [unused if WrVTK=0] +15 VTK_fps - Frame rate for VTK output (frames per second){will use closest integer multiple of DT} [used only if WrVTK=2] diff --git a/openfast_toolbox/converters/beamDynToHawc2.py b/openfast_toolbox/converters/beamDynToHawc2.py index 51248ff..0aea157 100644 --- a/openfast_toolbox/converters/beamDynToHawc2.py +++ b/openfast_toolbox/converters/beamDynToHawc2.py @@ -380,10 +380,10 @@ def beamDyn2Hawc2FPM_raw(r_bar, kp_x, kp_y, kp_z, twist, x_g = x_g_h2 y_g = y_g_h2 m = m_h2 - if np.mean(pitch)>0: - print('Pitch (delta) is mostly positive') - else: - print('Pitch (delta) is mostly negative') + #if np.mean(pitch)>0: + # print('Pitch (delta) is mostly positive') + #else: + # print('Pitch (delta) is mostly negative') K11 = KH2[0,0] diff --git a/openfast_toolbox/converters/examples/Main_BeamDynToHawc2.py b/openfast_toolbox/converters/examples/Main_BeamDynToHawc2.py index 7ed117c..af936d4 100644 --- a/openfast_toolbox/converters/examples/Main_BeamDynToHawc2.py +++ b/openfast_toolbox/converters/examples/Main_BeamDynToHawc2.py @@ -16,6 +16,7 @@ # Get current directory so this script can be called from any location MyDir=os.path.dirname(__file__) +verbose = __name__ != '__test__' # --- Parameters FPM = True # Use fully populated matrix or regular st file @@ -37,7 +38,7 @@ H2_htcfile_new = '_NREL5MW{}.htc'.format(suffix) # will be created H2_stfile = '_blade_st{}.st'.format(suffix) # will be created copyfile(htc_template, H2_htcfile_new) # Backup template -df_c2, df_st = bd.beamDynToHawc2(BD_mainfile, BD_bladefile, H2_htcfile_new, H2_stfile, 'blade1', A=A, E=E, G=G, theta_p_in = theta_p, FPM=FPM, verbose=True) +df_c2, df_st = bd.beamDynToHawc2(BD_mainfile, BD_bladefile, H2_htcfile_new, H2_stfile, 'blade1', A=A, E=E, G=G, theta_p_in = theta_p, FPM=FPM, verbose=verbose) if ConvertBackAndForth: # NOTE: beamdyn uses stiffness proportional damping @@ -56,7 +57,7 @@ H2_htcfile_new2 = '_NREL5MW_2.htc' H2_stfile2 = '_blade_st_2.st' copyfile(H2_htcfile_new, H2_htcfile_new2) - bd.beamDynToHawc2(BD_mainfile, BD_bladefile, H2_htcfile_new2, H2_stfile2, 'blade1', A=A, E=E, G=G, FPM=False, verbose=True) + bd.beamDynToHawc2(BD_mainfile, BD_bladefile, H2_htcfile_new2, H2_stfile2, 'blade1', A=A, E=E, G=G, FPM=False, verbose=verbose) if __name__ == '__test__': diff --git a/openfast_toolbox/converters/examples/Main_Hawc2ToBeamDyn.py b/openfast_toolbox/converters/examples/Main_Hawc2ToBeamDyn.py index a4ec34a..cca8877 100644 --- a/openfast_toolbox/converters/examples/Main_Hawc2ToBeamDyn.py +++ b/openfast_toolbox/converters/examples/Main_Hawc2ToBeamDyn.py @@ -10,6 +10,7 @@ # Get current directory so this script can be called from any location MyDir=os.path.dirname(__file__) +verbose = __name__!='__test__' def main(): np.set_printoptions(linewidth=300) @@ -31,7 +32,7 @@ def main(): BDMainTemplate = os.path.join(MyDir,'../../../data/templates/BeamDyn.dat') # readonly, template file to write main BD file BD_mainfile = '_NREL5MW_BeamDyn_Created.dat' # Name of BeamDyn file to be writen BD_bladefile = '_NREL5MW_BeamDyn_Blade_Created.dat' # Name of BeamDyn blade file to be written - fig = bd.htcToBeamDyn(H2_htcfile, 'blade1', BD_bladefile, BD_mainfile, BDMainTemplate, Mu=Mu, poly_exp=[2,3,4,5,6], ref_axis='c2def', bPlot=True, interpCurvilinear=False) + fig = bd.htcToBeamDyn(H2_htcfile, 'blade1', BD_bladefile, BD_mainfile, BDMainTemplate, Mu=Mu, poly_exp=[2,3,4,5,6], ref_axis='c2def', bPlot=True, interpCurvilinear=False, verbose=verbose) return BD_mainfile, BD_bladefile diff --git a/openfast_toolbox/converters/hawc2ToBeamDyn.py b/openfast_toolbox/converters/hawc2ToBeamDyn.py index 4d7bf7a..13fc0da 100644 --- a/openfast_toolbox/converters/hawc2ToBeamDyn.py +++ b/openfast_toolbox/converters/hawc2ToBeamDyn.py @@ -80,7 +80,7 @@ def mypolyfit(x,y,exponents=[0,1,2,3]): def htcToBeamDyn(HTCFile, bodyname, BDBldFileOut, BDMainFileOut=None, BDMainTemplate=None, Mu = 1.0e-03, ref_axis='c2def-polyfit', poly_exp=[2,3,4,5], zref=None, Label='', bPlot=False, - bNoOffset=False, bNoPreSweep=False, nRootZeros=0, bCGOnMeanLine=False, interpCurvilinear=True): # Experimental options + bNoOffset=False, bNoPreSweep=False, nRootZeros=0, bCGOnMeanLine=False, interpCurvilinear=True, verbose=False): # Experimental options """ Writes BeamDyn inputs files from a HAWC2 htc file and the blade body name INPUTS: @@ -100,11 +100,11 @@ def htcToBeamDyn(HTCFile, bodyname, BDBldFileOut, BDMainFileOut=None, BDMainTemp return hawc2ToBeamDyn(H2MeanLine, H2Structure, BDBldFileOut, BDMainFileOut=BDMainFileOut, BDMainTemplate=BDMainTemplate, Mu=Mu, ref_axis=ref_axis, poly_exp=poly_exp, zref=zref, Label=Label, bPlot=bPlot, - bNoOffset=bNoOffset, bNoPreSweep=bNoPreSweep, nRootZeros=nRootZeros, bCGOnMeanLine=bCGOnMeanLine, interpCurvilinear=interpCurvilinear) + bNoOffset=bNoOffset, bNoPreSweep=bNoPreSweep, nRootZeros=nRootZeros, bCGOnMeanLine=bCGOnMeanLine, interpCurvilinear=interpCurvilinear, verbose=verbose) def hawc2ToBeamDyn(H2MeanLine, H2Structure, BDBldFileOut, BDMainFileOut=None, BDMainTemplate=None, Mu = 1.0e-03, ref_axis='c2def-polyfit', poly_exp=[2,3,4,5], zref=None, Label='', bPlot=False, - bNoOffset=False, bNoPreSweep=False, nRootZeros=0, bCGOnMeanLine=False, interpCurvilinear=True): # Experimental options + bNoOffset=False, bNoPreSweep=False, nRootZeros=0, bCGOnMeanLine=False, interpCurvilinear=True, verbose=False): # Experimental options """ Writes BeamDyn inputs files from two csv files derived from "Hawc2" inputs @@ -292,7 +292,8 @@ def hawc2ToBeamDyn(H2MeanLine, H2Structure, BDBldFileOut, BDMainFileOut=None, BD # --- Writing BeamDyn blade file span=hwc['r_[m]'].values s_bar=span/span[-1] - print('Writing BeamDyn blade file:',BDBldFileOut) + if verbose: + print('Writing BeamDyn blade file:',BDBldFileOut) write_beamdyn_sections(BDBldFileOut,s_bar,lK,lM,Mu,Label=Label) # --- db @@ -311,7 +312,8 @@ def hawc2ToBeamDyn(H2MeanLine, H2Structure, BDBldFileOut, BDMainFileOut=None, BD BD['BldFile'] = '"'+os.path.basename(BDBldFileOut)+'"' BD.data[BD.getID('kp_total')+1]['value']= '1 {}'.format(len(x_O)) - print('Writing BeamDyn file: ',BDMainFileOut) + if verbose: + print('Writing BeamDyn file: ',BDMainFileOut) BD.write(BDMainFileOut) diff --git a/openfast_toolbox/converters/tests/test_hawc2ToBeamDyn.py b/openfast_toolbox/converters/tests/test_hawc2ToBeamDyn.py index 9f58152..025c20c 100644 --- a/openfast_toolbox/converters/tests/test_hawc2ToBeamDyn.py +++ b/openfast_toolbox/converters/tests/test_hawc2ToBeamDyn.py @@ -17,7 +17,7 @@ def test_BAR0(self): H2_htcfile_new = '_BAR0.htc' # will be created H2_stfile = '_BAR0_st.st' # will be created copyfile(htc_template, H2_htcfile_new) # Backup template - df_c2, df_st = bd.beamDynToHawc2(BD_mainfile, BD_bladefile, H2_htcfile_new, H2_stfile, 'blade1', FPM=True, verbose=True) + df_c2, df_st = bd.beamDynToHawc2(BD_mainfile, BD_bladefile, H2_htcfile_new, H2_stfile, 'blade1', FPM=True, verbose=False) # NOTE: NREL5MW is too simple of a tests since straight np.testing.assert_almost_equal(df_c2['x_[m]'].values[10] , 0.0 ,3) diff --git a/openfast_toolbox/fastfarm/FASTFarmCaseCreation.py b/openfast_toolbox/fastfarm/FASTFarmCaseCreation.py index 762aad1..829f643 100644 --- a/openfast_toolbox/fastfarm/FASTFarmCaseCreation.py +++ b/openfast_toolbox/fastfarm/FASTFarmCaseCreation.py @@ -356,8 +356,6 @@ def __init__(self, self._create_dir_structure() if self.verbose>0: print(f'Creating directory structure and copying files... Done.') - self._checkBinaries() - def __repr__(self): s='<{} object> with the following content:\n'.format(type(self).__name__) @@ -419,9 +417,9 @@ def __repr__(self): return s - def _checkBinaries(self): + def _checkFFBinary(self): # Check the FAST.Farm binary if self.ffbin is None: self.ffbin = shutil.which('FAST.Farm') @@ -432,6 +430,7 @@ def _checkBinaries(self): elif not os.path.isfile(self.ffbin): raise ValueError (f'The FAST.Farm binary given does not exist: {self.ffbin}.') + def _checkTSBinary(self): # Check the TurbSim binary if self.inflowType == 'TS': if self.tsbin is None: @@ -1674,7 +1673,7 @@ def checkIfExists(f): # --- TODO TODO TODO not clean convention elif key == 'libdisconfilepath': ext = os.path.splitext(value)[1].lower() - if ext not in ['.so', '.dll', '.dylib']: + if ext not in ['.so', '.dll', '.dylib', '.dummy']: raise ValueError(f'The libdiscon file should have extension ".so", ".dll", or ".dylib"') self.DLLext = ext[1:] # No dot if os.path.isabs(value): @@ -2132,11 +2131,15 @@ def sed_inplace(self, sed_command, inplace): - def TS_low_batch_prepare(self, run=False, **kwargs): + def TS_low_batch_prepare(self, tsbin=None, run=False, **kwargs): """ Writes a flat batch file for TurbSim low""" from openfast_toolbox.case_generation.runner import writeBatch + if tsbin is not None: + self.tsbin = tsbin + self._checkTSBinary() + ext = ".bat" if os.name == "nt" else ".sh" batchfile = os.path.join(self.path, f'runAllLowBox{ext}') @@ -2164,7 +2167,11 @@ def TS_low_batch_run(self, showOutputs=True, showCommand=True, verbose=True, ** - def TS_low_slurm_prepare(self, slurmfilepath, inplace=True, useSed=False): + def TS_low_slurm_prepare(self, slurmfilepath, inplace=True, useSed=False, tsbin=None): + + if tsbin is not None: + self.tsbin = tsbin + self._checkTSBinary() # -------------------------------------------------- # ----- Prepare SLURM script for Low-res boxes ----- @@ -3134,10 +3141,14 @@ def _getBoxesParamsForFF(self, lowbts, highbts, dt_low_desired, D, HubHt, xWT, y return d - def FF_batch_prepare(self, run=False, **kwargs): + def FF_batch_prepare(self, ffbin=None, run=False, **kwargs): """ Writes a flat batch file for FASTFarm cases""" from openfast_toolbox.case_generation.runner import writeBatch + if ffbin is not None: + self.ffbin = ffbin + self._checkFFBinary() + ext = ".bat" if os.name == "nt" else ".sh" batchfile = os.path.join(self.path, f'runAllFASTFarm{ext}') @@ -3157,12 +3168,15 @@ def FF_batch_run(self, showOutputs=True, showCommand=True, verbose=True, **kwarg if stat!=0: raise FFException(f'Batch file failed: {self.batchfile_ff}') - def FF_slurm_prepare(self, slurmfilepath, inplace=True, useSed=True): + def FF_slurm_prepare(self, slurmfilepath, inplace=True, useSed=True, ffbin=None): # ---------------------------------------------- # ----- Prepare SLURM script for FAST.Farm ----- # ------------- ONE SCRIPT PER CASE ------------ # ---------------------------------------------- - + if ffbin is not None: + self.ffbin = ffbin + self._checkFFBinary() + if not os.path.isfile(slurmfilepath): raise ValueError (f'SLURM script for FAST.Farm {slurmfilepath} does not exist.') self.slurmfilename_ff = os.path.basename(slurmfilepath) diff --git a/openfast_toolbox/fastfarm/examples/.gitignore b/openfast_toolbox/fastfarm/examples/.gitignore new file mode 100644 index 0000000..4ed060c --- /dev/null +++ b/openfast_toolbox/fastfarm/examples/.gitignore @@ -0,0 +1 @@ +*.dummy diff --git a/openfast_toolbox/fastfarm/examples/Ex0_FASTFarm_PlotSetup_ModifyInputs.py b/openfast_toolbox/fastfarm/examples/Ex0_FASTFarm_PlotSetup_ModifyInputs.py new file mode 100644 index 0000000..4e87535 --- /dev/null +++ b/openfast_toolbox/fastfarm/examples/Ex0_FASTFarm_PlotSetup_ModifyInputs.py @@ -0,0 +1,84 @@ +""" +Example 0: Modify and Plot Existing FASTFarm setup +""" + +import os +import numpy as np +import matplotlib.pyplot as plt +from openfast_toolbox.fastfarm.FASTFarmCaseCreation import FFCaseCreation # Main case creation class +from openfast_toolbox.fastfarm.fastfarm import plotFastFarmSetup # Low level FAST.Farm functions +from openfast_toolbox.fastfarm.fastfarm import printWT +from openfast_toolbox.io.fast_input_file import FASTInputFile + +# Get current directory so this script can be called from any location +scriptDir = os.path.dirname(__file__) + +def main(test=False): + + FFfilepath = os.path.join(scriptDir, '../../../data/IEA15MW/FF.fstf') + + # Plot Initial Setup + if not test: + plotFastFarmSetup(fstf, figsize=(10,3)) + + # --- 0.2 Read and Modify an existing FAST.Farm file + # In this section, we look at the keys available in a FAST.Farm file, we modify some keys (to fix the issue with the low-res domain), and write to a new file. + fstf = FASTInputFile(FFfilepath) + if not test: + print('Keys available in the input file: ', fstf.keys()) + # Let's look at the low resolution inputs: + print('X0_Low:', fstf['X0_Low']) + print('Y0_Low:', fstf['Y0_Low']) + print('Z0_Low:', fstf['Z0_Low']) + print('dX_Low:', fstf['dX_Low']) + print('dY_Low:', fstf['dY_Low']) + print('dZ_Low:', fstf['dZ_Low']) + print('NX_Low:', fstf['NX_Low']) + print('NY_Low:', fstf['NY_Low']) + print('NZ_Low:', fstf['NZ_Low']) + # We can estimate the y-extent: + print('Y_low start : ', fstf['Y0_Low']) + print('Y_low end : ', fstf['Y0_Low']+fstf['dY_Low']*fstf['NY_Low']) + print('Y_low extent: ', fstf['dY_Low']*fstf['NY_Low']) + + + # --- Modify the low resolution inputs below so that it's centered about the y=0 line + fstf['NY_Low'] = 41 # Can you find the value such that the low-res box is centered about the y=0 line? + + # --- + # Let's fix the bounding box of the high-res domain, which is defined using the `N*_High` keys and for each turbine within the key `WindTurbines`. + if not test: + print('WindTurbine Array from input file:\n',fstf['WindTurbines'],'\n') + # Pretty print + printWT(fstf) + print('') + print('NX_High:', fstf['NX_High']) + print('NY_High:', fstf['NY_High']) + print('NZ_High:', fstf['NZ_High']) + + # --- Which parameter should we change to make sure the turbine fits in the domain? + #fstf['NZ_High'] = ? + fstf['WindTurbines'][0, 9] = 50 # Fix this parameter + + plotFastFarmSetup(fstf, figsize=(10,3)) + + # Once we have fixed it, we can write to a new input file: + fstf.write('./_FF_new.fstf') + + return fstf + + + +if __name__ == "__main__": + fstf = main() + plt.show() + +if __name__=='__test__': + fstf = main(test=True) + np.testing.assert_equal(fstf['NY_Low'], 41) + np.testing.assert_equal(fstf['WindTurbines'][0, 9], 50) + try: + os.remove(fstf.filename) + except: + pass + diff --git a/openfast_toolbox/fastfarm/examples/Ex1_FASTFarm_discretization.py b/openfast_toolbox/fastfarm/examples/Ex1_FASTFarm_discretization.py index 411ca13..68df741 100644 --- a/openfast_toolbox/fastfarm/examples/Ex1_FASTFarm_discretization.py +++ b/openfast_toolbox/fastfarm/examples/Ex1_FASTFarm_discretization.py @@ -1,5 +1,21 @@ """ -Setup a FAST.Farm suite of cases based on input parameters. Uses TurbSim inflow. +1. Example 1: + This example calculates the desired temporal and spatial resolution given a wind farm layout. + Assumes that we use TurbSim inflow. + + The FAST.Farm guidelines requires several parameters to be set to find the resolutsion: + - Spatial parameters: max chord (`cmax`), rotor diameter (`D`), meandering constant (`Cmeander`) + - Temporal parameters: maximum excitation frequency (`fmax`), mean wind speed (`vhub`) + - Model parameters: wake models (`mod_wake`), and background inflow type (`inflowType`) + + Based on these parameters, the FFCaseCreation class can compute some default resolution, but it is often required to adjust some of them manually and not fully rely on the defaults. + + In this example, we do the following: + - First, we obtain the default parameters and plot the layout + - Then, we manually adjust some of the resolution parameters + + + This is a non-exaustive example. Additional details are available on the docstrings of the FFCaseCreation constructor. @@ -10,10 +26,14 @@ build the final FAST.Farm case and are not provided as part of this repository. """ - +import os +import numpy as np from openfast_toolbox.fastfarm.FASTFarmCaseCreation import FFCaseCreation -def main(): +# Get current directory so this script can be called from any location +scriptDir = os.path.dirname(__file__) + +def main(test=False): # ----------------------------------------------------------------------------- # USER INPUT: Modify these @@ -24,27 +44,20 @@ def main(): # ----------------------------------------------------------------------------- # ----------- Case absolute path - path = '/complete/path/of/your/case' + path = os.path.join(scriptDir, '_ex1') # folder (preferably new) where all the simulation files will be written # ----------- Execution parameters - # If you are sure the correct binaries are first on your $PATH and associated - # libraries on $LD_LIBRARY_PATH, you can set the variables below to None or - # remove them from the `FFCaseCreation` call - ffbin = '/full/path/to/your/binary/.../bin/FAST.Farm' - tsbin = '/full/path/to/your/binary/.../bin/turbsim' # ----------------------------------------------------------------------------- # --------------------------- Farm parameters --------------------------------- # ----------------------------------------------------------------------------- - # ----------- General turbine parameters - cmax = 5 # Maximum blade chord (m) - fmax = 10/6 # Maximum excitation frequency (Hz) + cmax = 5 # Maximum blade chord (m), affects dr + fmax = 10/6 # Maximum excitation frequency (Hz), affects dt_high Cmeander = 1.9 # Meandering constant (-) D = 240 # Rotor diameter (m) zhub = 150 # Hub height (m) - # ----------- Wind farm # The wts dictionary holds information of each wind turbine. The allowed entries # are: x, y, z, D, zhub, cmax, fmax, Cmeander, and phi_deg. The phi_deg is the @@ -68,53 +81,20 @@ def main(): # ----------------------------------------------------------------------------- # ------------------- Inflow conditions and input files ----------------------- # ----------------------------------------------------------------------------- - # ----------- Additional variables tmax = 120 # Total simulation time - nSeeds = 6 # Number of seeds zbot = 1 # Bottom of your domain mod_wake = 2 # Wake model. 1: Polar, 2: Curled, 3: Cartesian - # ----------- Inflow parameters inflowType = 'TS' - - # ----------- Desired sweeps - vhub = [8] - shear = [0.1] - TIvalue = [10] - inflow_deg = [0] + # ----------- Desired sweeps, fill array with multiple values if necessary + nSeeds = 6 # Number of seeds + vhub = [8] # Hub velocity [m/s] + shear = [0.1] # Power law exponent [-] + TIvalue = [10] # Turbulence intensity [%] + inflow_deg = [0] # Wind direction [deg] # ----------- Template files - templatePath = '/full/path/where/template/files/are' - # Files should be in templatePath. Put None on any input that is not applicable. - templateFiles = { - "EDfilename" : 'ElastoDyn.T', - 'SEDfilename' : None, # 'SimplifiedElastoDyn.T', - 'HDfilename' : None, # 'HydroDyn.dat', # ending with .T for per-turbine HD, .dat for holisitc - 'MDfilename' : None, # 'MoorDyn.T', # ending with .T for per-turbine MD, .dat for holistic - 'SSfilename' : None, # 'SeaState.dat', - 'SrvDfilename' : 'ServoDyn.T', - 'ADfilename' : 'AeroDyn.dat', - 'ADskfilename' : None, - 'SubDfilename' : 'SubDyn.dat', - 'IWfilename' : 'InflowWind.dat', - 'BDfilename' : None, - 'EDbladefilename' : 'ElastoDyn_Blade.dat', - 'EDtowerfilename' : 'ElastoDyn_Tower.dat', - 'ADbladefilename' : 'AeroDyn_Blade.dat', - 'turbfilename' : 'Model.T', - 'libdisconfilepath' : '/full/path/to/controller/libdiscon.so', - 'controllerInputfilename' : 'DISCON.IN', - 'coeffTablefilename' : None, - 'hydroDatapath' : None, # '/full/path/to/hydroData', - 'FFfilename' : 'Model_FFarm.fstf', - 'turbsimLowfilepath' : './SampleFiles/template_Low_InflowXX_SeedY.inp', - 'turbsimHighfilepath' : './SampleFiles/template_HighT1_InflowXX_SeedY.inp' - } - # SLURM scripts - slurm_TS_high = './SampleFiles/runAllHighBox.sh' - slurm_TS_low = './SampleFiles/runAllLowBox.sh' - slurm_FF_single = './SampleFiles/runFASTFarm_cond0_case0_seed0.sh' # ----------------------------------------------------------------------------- @@ -124,12 +104,12 @@ def main(): # ----------- Low- and high-res boxes parameters # High-res boxes settings - dt_high = None # sampling frequency of high-res files - ds_high = None # dx, dy, dz of high-res files + dt_high = None # sampling time of high-res files [s] + ds_high = None # dx, dy, dz of high-res files [m] extent_high = None # extent in y and x for each turbine, in D # Low-res boxes settings - dt_low = None # sampling frequency of low-res files - ds_low = None # dx, dy, dz of low-res files + dt_low = None # sampling time of low-res files [s] + ds_low = None # dx, dy, dz of low-res files [m] extent_low = None # extent in [xmin,xmax,ymin,ymax,zmax], in D @@ -145,15 +125,96 @@ def main(): # ----------- Initial setup # The initial setup with the temporal and spatial resolutions of both high and # low resolution boxes given as None will trigger their automatic computation. - amr = FFCaseCreation(path, wts, tmax, zbot, vhub, shear, TIvalue, inflow_deg, - dt_high=dt_high, ds_high=ds_high, extent_high=extent_high, - dt_low=dt_low, ds_low=ds_low, extent_low=extent_low, - ffbin=ffbin, mod_wake=mod_wake, yaw_init=yaw_init, - nSeeds=nSeeds, tsbin=tsbin, inflowType=inflowType, - refTurb_rot=refTurb_rot, verbose=0) - + # --- Generic call + #ffcase = FFCaseCreation(path, wts, tmax, zbot, vhub, shear, TIvalue, inflow_deg, + # dt_high=dt_high, ds_high=ds_high, extent_high=extent_high, + # dt_low=dt_low, ds_low=ds_low, extent_low=extent_low, + # ffbin=ffbin, mod_wake=mod_wake, yaw_init=yaw_init, + # nSeeds=nSeeds, tsbin=tsbin, inflowType=inflowType, + # refTurb_rot=refTurb_rot, verbose=0) + # -------------------------------------------------------------------------------- + # --- 1.2 Getting the default resolution and plotting the layout + # -------------------------------------------------------------------------------- + # Below we provide the minimal set of arguments needed to compute the resolution automatically. + ffcase = FFCaseCreation(wts=wts, vhub=vhub, + mod_wake=mod_wake, + inflowType=inflowType) + + # Plot the FARM Layout + ffcase.plot() # Note: the grids are not plotted by this function + + # -------------------------------------------------------------------------------- + # --- 1.3 Adjusting the resolution + # -------------------------------------------------------------------------------- + # The output message above is saying that the low-res should be 24.32, but since it needs to be a multiple of the high res, then it automatically selects 20 m. However, since 24.32 is close to 25, we might want to just run at 25. Then, an option is to re-run the same command, but now passing a value for `ds_low`: + # --- Case 2 Prescribing some of the values + dt_high = 0.50 # [s] + dt_low = 2.00 # [s] + ds_low = 25 # [m] + ffcase2 = FFCaseCreation(wts=wts, vhub=vhub, + dt_high=dt_high, + dt_low=dt_low, ds_low=ds_low, + mod_wake=mod_wake, + inflowType=inflowType, verbose=0) + + """ + This ends the illustration of the first example. Now we can move forward with the FAST.Farm setup using two options: + + 1. Use directly the `ffcase` object: + ``` + # ----------- Low- and high-res boxes parameters + # High-res boxes settings + dt_high = ffcase.dt_high + ds_high = ffcase.ds_high + extent_high = ffcase.extent_high + # Low-res boxes settings + dt_low = ffcase.dt_low + ds_low = ffcase.ds_low + extent_low = ffcase.extent_low + ``` + + 2. Manually add those values to their corresponding variables: + ``` + # ----------- Low- and high-res boxes parameters + # High-res boxes settings + dt_high = 0.5 + ds_high = 5 + extent_high = 1.2 + # Low-res boxes settings + dt_low = 1.0 + ds_low = 25 + extent_low = [1.5,2.5,1.5,1.5,2] + + """ + + + + return ffcase, ffcase2 if __name__ == '__main__': - # This example cannot be fully run. - pass + ffcase, ffcase2 = main(test=False) + # Note you can always print the object and get some information about the farm and the set of cases that will be setup: + print(ffcase) + plt.show() + +if __name__=='__test__': + ffcase, ffcase2 = main(test=True) + np.testing.assert_equal(ffcase.ds_low, 0.9) + np.testing.assert_equal(ffcase.dt_low, 0.9) + np.testing.assert_equal(ffcase.ds_high, 0.3) + np.testing.assert_equal(ffcase.dt_high, 0.3) + np.testing.assert_array_equal(ffcase.extent_low, [3, 6, 3, 3, 2] ) + np.testing.assert_equal(ffcase.vhub , [8]) + np.testing.assert_equal(ffcase.inflowType, 'TS') + # NOTE: these shouldn't matter: + np.testing.assert_equal(ffcase.shear , [0]) + np.testing.assert_equal(ffcase.TIvalue, [10]) + + np.testing.assert_equal(ffcase2.ds_low, 2.0) + np.testing.assert_equal(ffcase2.dt_low, 2.0) + np.testing.assert_equal(ffcase2.ds_high, 0.5) + np.testing.assert_equal(ffcase2.dt_high, 0.5) + np.testing.assert_array_equal(ffcase2.extent_low, [3, 6, 3, 3, 2] ) + + diff --git a/openfast_toolbox/fastfarm/examples/Ex2a_FASTFarm_TurbSim_driven.py b/openfast_toolbox/fastfarm/examples/Ex2a_FASTFarm_TurbSim_driven.py index bcff3bf..b100394 100644 --- a/openfast_toolbox/fastfarm/examples/Ex2a_FASTFarm_TurbSim_driven.py +++ b/openfast_toolbox/fastfarm/examples/Ex2a_FASTFarm_TurbSim_driven.py @@ -1,5 +1,33 @@ """ -Setup a FAST.Farm suite of cases based on input parameters. Uses TurbSim inflow. + +Example 2: + +The example 2 for TurbSim has the same inputs as example 1 (the ones for the discretization), +but additional inputs are now added to define the simulation setup. The new inputs are listed below: + +- **General parameters** + - `path` : folder (preferably new) where all the simulation files will be written + - `ffbin` and `tsbin`: location of the FAST.Farm and TurbSim executables + - `templatePath`: existing folder, where the template FAST.Farm and OpenFAST files can be found. + - `templateFiles`: location of files within templatePath to be used, or absolute location of required files. + Note: some template files provided (like ED, SD, turbine fst) need to end with `.T` while the actual filename inside `templatePath` is `*.T.` where `` is either `dat` or `fst`. + +- **Farm parameters** (same as above) + +- Inflow conditions and input files (same as above, but with more details): + - `shear`, `TIvalue`, `inflow_deg`, together with `vhub` define the inflow values. + - `tmax`: defines the maximum simulation time + +- **Discretization parameters** (`dt_high`, `dt_low`, etc): these are the parameters we determined in Example 1. + + +### Pre-requisites to run all of the the cells below: + - A FAST.Farm Executable with version v4.* (to be compatible with the input files provided) + - A TurbSim Executable (any version>2 should do) + - ROSCO libdiscon DLL or shared object with version 4.9 + + + This is a non-exaustive example. Additional details are available on the docstrings of the FFCaseCreation constructor. @@ -10,10 +38,21 @@ build the final FAST.Farm case and are not provided as part of this repository. """ +import sys +import os +import numpy as np +import pandas as pd +import matplotlib.pyplot as plt from openfast_toolbox.fastfarm.FASTFarmCaseCreation import FFCaseCreation -def main(): +from openfast_toolbox.fastfarm.FASTFarmCaseCreation import check_files_exist, check_discon_library # Helper functions +from openfast_toolbox.fastfarm.fastfarm import plotFastFarmSetup # Low level FAST.Farm functions + +scriptDir = os.path.dirname(__file__) + + +def main(test=False): # ----------------------------------------------------------------------------- # USER INPUT: Modify these @@ -23,28 +62,25 @@ def main(): # ------------------------ General parameters --------------------------------- # ----------------------------------------------------------------------------- - # ----------- Case absolute path - path = '/complete/path/of/your/case' + path = os.path.join(scriptDir, '_ex2') # folder (preferably new) where all the simulation files will be written # ----------- Execution parameters # If you are sure the correct binaries are first on your $PATH and associated # libraries on $LD_LIBRARY_PATH, you can set the variables below to None or # remove them from the `FFCaseCreation` call - ffbin = '/full/path/to/your/binary/.../bin/FAST.Farm' - tsbin = '/full/path/to/your/binary/.../bin/turbsim' - + ffbin = os.path.join(scriptDir, './SampleFiles/dummy_fastfarm.exe.txt') # relative or absolute path of FAST.Farm executable + tsbin = os.path.join(scriptDir, './SampleFiles/dummy_turbsim.exe.txt') # relative or absolute path of TurbSim executable + libdiscon = os.path.join(scriptDir, './SampleFiles/dummy_discon.dll.dummy') # relative or absolute path to discon shared library # ----------------------------------------------------------------------------- # --------------------------- Farm parameters --------------------------------- # ----------------------------------------------------------------------------- - # ----------- General turbine parameters - cmax = 5 # Maximum blade chord (m) - fmax = 10/6 # Maximum excitation frequency (Hz) + cmax = 5 # Maximum blade chord (m), affects dr + fmax = 10/6 # Maximum excitation frequency (Hz), affects dt_high Cmeander = 1.9 # Meandering constant (-) D = 240 # Rotor diameter (m) zhub = 150 # Hub height (m) - # ----------- Wind farm # The wts dictionary holds information of each wind turbine. The allowed entries # are: x, y, z, D, zhub, cmax, fmax, Cmeander, and phi_deg. The phi_deg is the @@ -68,52 +104,53 @@ def main(): # ----------------------------------------------------------------------------- # ------------------- Inflow conditions and input files ----------------------- # ----------------------------------------------------------------------------- - # ----------- Additional variables tmax = 120 # Total simulation time - nSeeds = 6 # Number of seeds zbot = 1 # Bottom of your domain mod_wake = 2 # Wake model. 1: Polar, 2: Curled, 3: Cartesian - # ----------- Inflow parameters inflowType = 'TS' - - # ----------- Desired sweeps - vhub = [8] - shear = [0.1] - TIvalue = [10] - inflow_deg = [0] + # ----------- Desired sweeps, fill array with multiple values if necessary + nSeeds = 6 # Number of seeds + vhub = [8] # Hub velocity [m/s] + shear = [0.1] # Power law exponent [-] + TIvalue = [10] # Turbulence intensity [%] + inflow_deg = [0] # Wind direction [deg] # ----------- Template files - templatePath = '/full/path/where/template/files/are' - # Files should be in templatePath. Put None on any input that is not applicable. - templateFiles = { - "EDfilename" : 'ElastoDyn.T', - 'SEDfilename' : None, # 'SimplifiedElastoDyn.T', - 'HDfilename' : None, # 'HydroDyn.dat', # ending with .T for per-turbine HD, .dat for holisitc - 'MDfilename' : None, # 'MoorDyn.T', # ending with .T for per-turbine MD, .dat for holistic - 'SSfilename' : None, # 'SeaState.dat', - 'SrvDfilename' : 'ServoDyn.T', - 'ADfilename' : 'AeroDyn.dat', - 'ADskfilename' : None, - 'SubDfilename' : 'SubDyn.dat', - 'IWfilename' : 'InflowWind.dat', - 'BDfilename' : None, - 'EDbladefilename' : 'ElastoDyn_Blade.dat', - 'EDtowerfilename' : 'ElastoDyn_Tower.dat', - 'ADbladefilename' : 'AeroDyn_Blade.dat', - 'turbfilename' : 'Model.T', - 'libdisconfilepath' : '/full/path/to/controller/libdiscon.so', - 'controllerInputfilename' : 'DISCON.IN', - 'coeffTablefilename' : None, - 'hydroDatapath' : None, # '/full/path/to/hydroData', - 'FFfilename' : 'Model_FFarm.fstf', - 'turbsimLowfilepath' : './SampleFiles/template_Low_InflowXX_SeedY.inp', - 'turbsimHighfilepath' : './SampleFiles/template_HighT1_InflowXX_SeedY.inp' - } + # --- Option 1 + templateFSTF = os.path.join(scriptDir, '../../../data/IEA15MW/FF.fstf') + templateFiles = {'libdisconfilepath' : libdiscon} + # --- Option 2 + #templatePath = '/full/path/where/template/files/are' + ## Files should be in templatePath. Put None on any input that is not applicable. + #templateFiles = { + # "EDfilename" : 'ElastoDyn.T', + # 'SEDfilename' : None, # 'SimplifiedElastoDyn.T', + # 'HDfilename' : None, # 'HydroDyn.dat', # ending with .T for per-turbine HD, .dat for holisitc + # 'MDfilename' : None, # 'MoorDyn.T', # ending with .T for per-turbine MD, .dat for holistic + # 'SSfilename' : None, # 'SeaState.dat', + # 'SrvDfilename' : 'ServoDyn.T', + # 'ADfilename' : 'AeroDyn.dat', + # 'ADskfilename' : None, + # 'SubDfilename' : 'SubDyn.dat', + # 'IWfilename' : 'InflowWind.dat', + # 'BDfilename' : None, + # 'EDbladefilename' : 'ElastoDyn_Blade.dat', + # 'EDtowerfilename' : 'ElastoDyn_Tower.dat', + # 'ADbladefilename' : 'AeroDyn_Blade.dat', + # 'turbfilename' : 'Model.T', + # 'libdisconfilepath' : '/full/path/to/controller/libdiscon.so', + # 'controllerInputfilename' : 'DISCON.IN', + # 'coeffTablefilename' : None, + # 'hydroDatapath' : None, # '/full/path/to/hydroData', + # 'FFfilename' : 'Model_FFarm.fstf', + # 'turbsimLowfilepath' : './SampleFiles/template_Low_InflowXX_SeedY.inp', + # 'turbsimHighfilepath' : './SampleFiles/template_HighT1_InflowXX_SeedY.inp' + #} # SLURM scripts - slurm_TS_high = './SampleFiles/runAllHighBox.sh' - slurm_TS_low = './SampleFiles/runAllLowBox.sh' + slurm_TS_high = os.path.join(scriptDir, './SampleFiles/runAllHighBox.sh') + slurm_TS_low = os.path.join(scriptDir, './SampleFiles/runAllLowBox.sh') slurm_FF_single = './SampleFiles/runFASTFarm_cond0_case0_seed0.sh' @@ -127,12 +164,12 @@ def main(): # ----------- Low- and high-res boxes parameters # High-res boxes settings - dt_high = 0.5 # sampling frequency of high-res files - ds_high = 5 # dx, dy, dz of high-res files + dt_high = 0.5 # sampling time of high-res files [s] + ds_high = 5 # dx, dy, dz of high-res files [m] extent_high = 1.2 # extent in y and x for each turbine, in D # Low-res boxes settings - dt_low = 4 # sampling frequency of low-res files - ds_low = 10 # dx, dy, dz of low-res files + dt_low = 4 # sampling time of low-res files [s] + ds_low = 10 # dx, dy, dz of low-res files [m] extent_low = [1.5,2.5,1.5,1.5,2] # extent in [xmin,xmax,ymin,ymax,zmax], in D @@ -140,7 +177,11 @@ def main(): # END OF USER INPUT # ----------------------------------------------------------------------------- - + # Plot turbines locations + fig = plotFastFarmSetup(wts) + if not test: + check_files_exist(ffbin, tsbin, templateFSTF, templateFiles) + check_discon_library(libdisconfilepath); # ----------------------------------------------------------------------------- # -------------------- FAST.Farm initial setup -------------------------------- @@ -154,49 +195,101 @@ def main(): refTurb_rot=refTurb_rot, verbose=0) # ----------- Perform auxiliary steps in preparing the case - ffcase.setTemplateFilename(templatePath, templateFiles) + ffcase.setTemplateFilename(templateFiles=templateFiles, templateFSTF=templateFSTF) # Option 1 + #ffcase.setTemplateFilename(templatePath, templateFiles) # Option 2 ffcase.getDomainParameters() ffcase.copyTurbineFilesForEachCase() + ffcase.plot() # add showTurbNumber=True to help with potential debugging # ----------------------------------------------------------------------------- # ---------------------- TurbSim setup and execution -------------------------- # ----------------------------------------------------------------------------- # ----------- TurbSim low-res setup - ffcase.TS_low_setup() + ffcase.TS_low_setup() # Create TurbSim input files for low res # ----------- Prepare script for submission - ffcase.TS_low_slurm_prepare(slurm_TS_low) + ffcase.TS_low_batch_prepare() + #ffcase.TS_low_slurm_prepare(slurm_TS_low) # ----------- Submit the low-res script (can be done from the command line) - ffcase.TS_low_slurm_submit() + #ffcase.TS_low_batch_run() # Write a batch file to disk + #ffcase.TS_low_slurm_submit() # Alternative, write a slurm batch file, see below # The low-resolution boxes need to be executed before we can proceed setting up # the high-resolution and the overall FAST.Farm case. The lines below will need # to be executed one at a time, pending the successful completion of Turbsim. + if test: + # We have to stop here + return ffcase + # ----------- TurbSim high-res setup - ffcase.TS_high_setup() + ffcase.TS_high_setup() # Create TurbSim input files # ----------- Prepare script for submission - ffcase.TS_high_slurm_prepare(slurm_TS_high) + ffcase.TS_high_batch_prepare() # Write a batch file to disk + #ffcase.TS_high_slurm_prepare(slurm_TS_high) # Alternative, write a slurm batch file # ----------- Submit the high-res script (can be done from the command line) - ffcase.TS_high_slurm_submit() + ffcase.TS_high_batch_run(showOutputs=True, showCommand=True, nBuffer=8, shell_cmd='bash') + #ffcase.TS_high_slurm_submit() # Alternative, submit a slurm batch file # ----------------------------------------------------------------------------- # ------------------ Finish FAST.Farm setup and execution --------------------- # ----------------------------------------------------------------------------- # ----------- FAST.Farm setup - ffcase.FF_setup() + ffcase.FF_setup() # Write FAST.Farm input files # Update wake model constants (adjust as needed for your turbine model) ffcase.set_wake_model_params(k_VortexDecay=0, k_vCurl=2.8) # ----------- Prepare script for submission - ffcase.FF_slurm_prepare(slurm_FF_single) + ffcase.FF_batch_prepare() # Write batch files with all commands to be run + #ffcase.FF_slurm_prepare(slurm_FF_single) # Alternative, prepare a slurm batch file + + # We can do simple modifications: + modifyProperty(ffcase.FFFiles[0], 'NX_Low', 100) # Making the domain longer for visualization purposes + # We can visualize the setup: + plotFastFarmSetup(ffcase.FFFiles[0], grid=True, figsize=(10,3)); - # ----------- Submit the FAST.Farm script (can be done from the command line) - ffcase.FF_slurm_submit(p='debug', t='1:00:00') + # ----------- Submit the FAST.Farm script (can be done from the command line) + ffcase.FF_batch_run(showOutputs=True, showCommand=True, nBuffer=10, shell_cmd='bash') + #ffcase.FF_slurm_submit(p='debug', t='1:00:00') # Alternative, submit a slurm batch file + return ffcase if __name__ == '__main__': # This example cannot be fully run. - pass + ffcase = main(test=True) + + + +if __name__=='__test__': + # This example cannot be fully run. + ffcase = main(test=True) + from openfast_toolbox.io import FASTInputFile + import shutil + + np.testing.assert_(os.path.exists(ffcase.path), f"path does not exist {ffcase.path}") + np.testing.assert_equal(ffcase.nConditions, 1) + np.testing.assert_equal(ffcase.nCases, 1) + np.testing.assert_equal(ffcase.nSeeds, 6) + np.testing.assert_equal(ffcase.condDirList, ['Cond00_v08.0_PL0.1_TI10']) + for cond, _ in enumerate(ffcase.condDirList): + np.testing.assert_(os.path.exists(ffcase.getCondPath(cond)), f"cond path {cond} does not exist ") + for seed in range(ffcase.nSeeds): + seedPath = ffcase.getCondSeedPath(cond, seed) + np.testing.assert_(os.path.exists(ffcase.getCondSeedPath(cond, seed)), f"cond seed path {cond} {seed} does not exist ") + # Try to read TS input file + tsinp = os.path.join(seedPath, 'Low.inp') + ts = FASTInputFile(tsinp) + + for case in range(ffcase.nCases): + np.testing.assert_(os.path.exists(ffcase.getCasePath(cond, case)), f"case path {cond} {case} does not exist ") + for seed in range(ffcase.nSeeds): + np.testing.assert_(os.path.exists(ffcase.getCaseSeedPath(cond, case, seed)), f"case seed path {cond} {case} {seed} does not exist ") + # TODO add more tests + if os.path.exists(ffcase.path): + try: + shutil.rmtree(ffcase.path) + except OSError as e: + print('Fail to remove FAST.Farm ex2 folder' ) + pass diff --git a/openfast_toolbox/fastfarm/examples/Ex2b_FASTFarm_LES_driven.py b/openfast_toolbox/fastfarm/examples/Ex2b_FASTFarm_LES_driven.py index 04498a0..46e9948 100644 --- a/openfast_toolbox/fastfarm/examples/Ex2b_FASTFarm_LES_driven.py +++ b/openfast_toolbox/fastfarm/examples/Ex2b_FASTFarm_LES_driven.py @@ -7,11 +7,14 @@ https://openfast.readthedocs.io/en/dev/source/user/fast.farm/ModelGuidance.html """ - +import os from openfast_toolbox.fastfarm.FASTFarmCaseCreation import FFCaseCreation from openfast_toolbox.fastfarm.AMRWindSimulation import AMRWindSimulation -def main(): + +scriptDir = os.path.dirname(__file__) + +def main(test=False): # ----------------------------------------------------------------------------- # USER INPUT: Modify these @@ -22,26 +25,25 @@ def main(): # ----------------------------------------------------------------------------- # ----------- Case absolute path - path = '/complete/path/of/your/case' + path = os.path.join(scriptDir, '_ex3') # folder (preferably new) where all the simulation files will be written # ----------- Execution parameters # If you are sure the correct binary is first on your $PATH and associated # libraries on $LD_LIBRARY_PATH, you can set the variable below to None or # remove it from the `FFCaseCreation` call - ffbin = '/full/path/to/your/binary/.../bin/FAST.Farm' + ffbin = os.path.join(scriptDir, './SampleFiles/dummy_fastfarm.exe.txt') # relative or absolute path of FAST.Farm executable + libdiscon = os.path.join(scriptDir, './SampleFiles/dummy_discon.dll.dummy') # relative or absolute path to discon shared library # ----------------------------------------------------------------------------- # --------------------------- Farm parameters --------------------------------- # ----------------------------------------------------------------------------- - # ----------- General turbine parameters - cmax = 5 # Maximum blade chord (m) - fmax = 10/6 # Maximum excitation frequency (Hz) + cmax = 5 # Maximum blade chord (m), affects dr + fmax = 10/6 # Maximum excitation frequency (Hz), affects dt_high Cmeander = 1.9 # Meandering constant (-) D = 240 # Rotor diameter (m) zhub = 150 # Hub height (m) - # ----------- Wind farm # The wts dictionary holds information of each wind turbine. The allowed entries # are: x, y, z, D, zhub, cmax, fmax, Cmeander, and phi_deg. The phi_deg is the @@ -65,12 +67,10 @@ def main(): # ----------------------------------------------------------------------------- # ------------------- Inflow conditions and input files ----------------------- # ----------------------------------------------------------------------------- - # ----------- Additional variables tmax = 60 # Total simulation time zbot = 1 # Bottom of your domain mod_wake = 2 # Wake model. 1: Polar, 2: Curled, 3: Cartesian - # ----------- Inflow parameters inflowType = 'LES' inflowPath = '/full/path/to/LES/case/.../LESboxes' @@ -81,36 +81,40 @@ def main(): # executions with multiple different LES solutions, you can give inflowPath # as a n-sized array (related to the different LES), and give the variables # below as n-sized arrays as well. - vhub = [8] - shear = [1] - TIvalue = [1] - inflow_deg = [0] + vhub = [8] # Hub velocity [m/s] + shear = [0.1] # Power law exponent [-] + TIvalue = [10] # Turbulence intensity [%] + inflow_deg = [0] # Wind direction [deg] # ----------- Template files - templatePath = '/full/path/where/template/files/are' - # Files should be in templatePath. Put None on any input that is not applicable. - templateFiles = { - "EDfilename" : 'ElastoDyn.T', - 'SEDfilename' : None, # 'SimplifiedElastoDyn.T', - 'HDfilename' : None, # 'HydroDyn.dat', # ending with .T for per-turbine HD, .dat for holisitc - 'MDfilename' : None, # 'MoorDyn.T', # ending with .T for per-turbine MD, .dat for holistic - 'SSfilename' : None, # 'SeaState.dat', - 'SrvDfilename' : 'ServoDyn.T', - 'ADfilename' : 'AeroDyn.dat', - 'ADskfilename' : None, - 'SubDfilename' : 'SubDyn.dat', - 'IWfilename' : 'InflowWind.dat', - 'BDfilename' : None, - 'EDbladefilename' : 'ElastoDyn_Blade.dat', - 'EDtowerfilename' : 'ElastoDyn_Tower.dat', - 'ADbladefilename' : 'AeroDyn_Blade.dat', - 'turbfilename' : 'Model.T', - 'libdisconfilepath' : '/full/path/to/controller/libdiscon.so', - 'controllerInputfilename' : 'DISCON.IN', - 'coeffTablefilename' : None, - 'hydroDatapath' : None, # '/full/path/to/hydroData', - 'FFfilename' : 'Model_FFarm.fstf', - } + # --- Option 1 + templateFSTF = os.path.join(scriptDir, '../../../data/IEA15MW/FF.fstf') + templateFiles = {'libdisconfilepath' : libdiscon} + # --- Option 2 + #templatePath = '/full/path/where/template/files/are' + ## Files should be in templatePath. Put None on any input that is not applicable. + #templateFiles = { + # "EDfilename" : 'ElastoDyn.T', + # 'SEDfilename' : None, # 'SimplifiedElastoDyn.T', + # 'HDfilename' : None, # 'HydroDyn.dat', # ending with .T for per-turbine HD, .dat for holisitc + # 'MDfilename' : None, # 'MoorDyn.T', # ending with .T for per-turbine MD, .dat for holistic + # 'SSfilename' : None, # 'SeaState.dat', + # 'SrvDfilename' : 'ServoDyn.T', + # 'ADfilename' : 'AeroDyn.dat', + # 'ADskfilename' : None, + # 'SubDfilename' : 'SubDyn.dat', + # 'IWfilename' : 'InflowWind.dat', + # 'BDfilename' : None, + # 'EDbladefilename' : 'ElastoDyn_Blade.dat', + # 'EDtowerfilename' : 'ElastoDyn_Tower.dat', + # 'ADbladefilename' : 'AeroDyn_Blade.dat', + # 'turbfilename' : 'Model.T', + # 'libdisconfilepath' : '/full/path/to/controller/libdiscon.so', + # 'controllerInputfilename' : 'DISCON.IN', + # 'coeffTablefilename' : None, + # 'hydroDatapath' : None, # '/full/path/to/hydroData', + # 'FFfilename' : 'Model_FFarm.fstf', + #} # SLURM scripts slurm_FF_single = './SampleFiles/runFASTFarm_cond0_case0_seed0.sh' @@ -152,7 +156,7 @@ def main(): level_lr=level_lr, level_hr=level_hr, verbose=0) # -----------Save AMR-Wind sampling input - amr.write_sampling_params(os.path.join(path,'FF_boxes.i'), overwrite=True) + amr.write_sampling_params(os.path.join(path,'FF_boxes.i'), overwrite=True, terrain=False) # ----------------------------------------------------------------------------- @@ -166,12 +170,12 @@ def main(): # ----------- Low- and high-res boxes parameters # High-res boxes settings - dt_high = amr.dt_high_les # sampling frequency of high-res files - ds_high = amr.ds_high_les # dx, dy, dz of high-res files - extent_high = amr.extent_high # extent in y and x for each turbine, in D. + dt_high = amr.dt_high_les # sampling time of high-res files [s] + ds_high = amr.ds_high_les # dx, dy, dz of high-res files [m] + extent_high = amr.extent_high # extent in y and x for each turbine, in D # Low-res boxes settings - dt_low = amr.dt_low_les # sampling frequency of low-res files - ds_low = amr.ds_low_les # dx, dy, dz of low-res files + dt_low = amr.dt_low_les # sampling time of low-res files [s] + ds_low = amr.ds_low_les # dx, dy, dz of low-res files [m] extent_low = amr.extent_low # extent in [xmin,xmax,ymin,ymax,zmax], in D @@ -193,7 +197,8 @@ def main(): refTurb_rot=refTurb_rot, verbose=0) # ----------- Perform auxiliary steps in preparing the case - ffcase.setTemplateFilename(templatePath, templateFiles) + ffcase.setTemplateFilename(templateFiles=templateFiles, templateFSTF=templateFSTF) # Option 1 + #ffcase.setTemplateFilename(templatePath, templateFiles) # Option 2 ffcase.getDomainParameters() ffcase.copyTurbineFilesForEachCase() @@ -201,19 +206,51 @@ def main(): # ----------------------------------------------------------------------------- # ------------------ Finish FAST.Farm setup and execution --------------------- # ----------------------------------------------------------------------------- + if test: + return amr, ffcase # ----------- FAST.Farm setup - ffcase.FF_setup() + ffcase.FF_setup() # Write FAST.Farm input files # Update wake model constants (adjust as needed for your turbine model) ffcase.set_wake_model_params(k_VortexDecay=0, k_vCurl=2.8) # ----------- Prepare script for submission - ffcase.FF_slurm_prepare(slurm_FF_single) + ffcase.FF_batch_prepare() # Write batch files with all commands to be run + #ffcase.FF_slurm_prepare(slurm_FF_single) # Alternative, prepare a slurm batch file # ----------- Submit the FAST.Farm script (can be done from the command line) - ffcase.FF_slurm_submit(p='debug', t='1:00:00') - + ffcase.FF_batch_run(showOutputs=True, showCommand=True, nBuffer=10, shell_cmd='bash') + #ffcase.FF_slurm_submit(p='debug', t='1:00:00') # Alternative, submit a slurm batch file + return amr, ffcase if __name__ == '__main__': + amr, ffcase = main(test=True) # This example cannot be fully run. + #print(amr) + #print(ffcase) pass +if __name__ == '__test__': + amr, ffcase = main(test=True) + # This example cannot be fully run. + import numpy as np + import shutil + np.testing.assert_equal(amr.ds_low_les, 20.0) + np.testing.assert_equal(amr.dt_low_les, 0.9) + np.testing.assert_array_equal(amr.extent_low, [1.5, 2.5, 1.5, 1.5, 2] ) + np.testing.assert_equal(amr.ds_high_les, 5.0) + np.testing.assert_equal(amr.dt_high_les, 0.3) + np.testing.assert_equal(ffcase.ds_low, 20.0) + np.testing.assert_equal(ffcase.dt_low, 0.9) + np.testing.assert_equal(ffcase.ds_high, 5.0) + np.testing.assert_equal(ffcase.dt_high, 0.3) + np.testing.assert_(os.path.exists(ffcase.path), f"path does not exist {ffcase.path}") + for cond, _ in enumerate(ffcase.condDirList): + np.testing.assert_(os.path.exists(ffcase.getCondPath(cond)), f"cond path {cond} does not exist ") + for case in range(ffcase.nCases): + np.testing.assert_(os.path.exists(ffcase.getCasePath(cond, case)), f"case path {cond} {case} does not exist ") + if os.path.exists(ffcase.path): + try: + shutil.rmtree(ffcase.path) + except OSError as e: + print('Fail to remove FAST.Farm ex2 folder' ) + pass diff --git a/openfast_toolbox/fastfarm/examples/SampleFiles/dummy_discon.dll.dummy b/openfast_toolbox/fastfarm/examples/SampleFiles/dummy_discon.dll.dummy new file mode 100644 index 0000000..2260a5a --- /dev/null +++ b/openfast_toolbox/fastfarm/examples/SampleFiles/dummy_discon.dll.dummy @@ -0,0 +1,2 @@ +This file is for testing purposes. +You should be using the path to a real DISCON DLL or Shared object. diff --git a/openfast_toolbox/fastfarm/examples/SampleFiles/dummy_fastfarm.exe.txt b/openfast_toolbox/fastfarm/examples/SampleFiles/dummy_fastfarm.exe.txt new file mode 100644 index 0000000..79d5d57 --- /dev/null +++ b/openfast_toolbox/fastfarm/examples/SampleFiles/dummy_fastfarm.exe.txt @@ -0,0 +1,3 @@ +This file is for testing purposes. + +You should be using the path to a real FAST.Farm executable. diff --git a/openfast_toolbox/fastfarm/examples/SampleFiles/dummy_turbsim.exe.txt b/openfast_toolbox/fastfarm/examples/SampleFiles/dummy_turbsim.exe.txt new file mode 100644 index 0000000..5672279 --- /dev/null +++ b/openfast_toolbox/fastfarm/examples/SampleFiles/dummy_turbsim.exe.txt @@ -0,0 +1,3 @@ +This file is for testing purposes. + +You should be using the path to a real Turbsim executable. diff --git a/openfast_toolbox/fastfarm/examples/SampleFiles/template_HighT1_InflowXX_SeedY.inp b/openfast_toolbox/fastfarm/examples/SampleFiles/template_High.inp similarity index 73% rename from openfast_toolbox/fastfarm/examples/SampleFiles/template_HighT1_InflowXX_SeedY.inp rename to openfast_toolbox/fastfarm/examples/SampleFiles/template_High.inp index 66c01ca..ece9b70 100644 --- a/openfast_toolbox/fastfarm/examples/SampleFiles/template_HighT1_InflowXX_SeedY.inp +++ b/openfast_toolbox/fastfarm/examples/SampleFiles/template_High.inp @@ -1,19 +1,19 @@ ---------TurbSim v2.00.* Input File------------------------ +---------TurbSim v2.00.* Input File------------------------ for Certification Test #1 (Kaimal Spectrum, formatted FF files). ---------Runtime Options----------------------------------- False Echo - Echo input data to .ech (flag) -1432403720 RandSeed1 - First random seed (-2147483648 to 2147483647) -RanLux RandSeed2 - Second random seed (-2147483648 to 2147483647) for intrinsic pRNG, or an alternative pRNG: "RanLux" or "RNSNLW" +15101986 RandSeed1 - First random seed (-2147483648 to 2147483647) +15101986 RandSeed2 - Second random seed (-2147483648 to 2147483647) for intrinsic pRNG, or an alternative pRNG: "RanLux" or "RNSNLW" False WrBHHTP - Output hub-height turbulence parameters in binary form? (Generates RootName.bin) False WrFHHTP - Output hub-height turbulence parameters in formatted form? (Generates RootName.dat) False WrADHH - Output hub-height time-series data in AeroDyn form? (Generates RootName.hh) True WrADFF - Output full-field time-series data in TurbSim/AeroDyn form? (Generates RootName.bts) False WrBLFF - Output full-field time-series data in BLADED/AeroDyn form? (Generates RootName.wnd) False WrADTWR - Output tower time-series data? (Generates RootName.twr) +False WrHAWCFF - Output full-field time-series data in HAWC form? (Generates RootName-u.bin, RootName-v.bin, RootName-w.bin, RootName.hawc) False WrFMTFF - Output full-field time-series data in formatted (readable) form? (Generates RootName.u, RootName.v, RootName.w) -False WrACT - Output coherent turbulence time steps in AeroDyn form? (Generates RootName.cts) -True Clockwise - Clockwise rotation looking downwind? (used only for full-field binary files - not necessary for AeroDyn) -0 ScaleIEC - Scale IEC turbulence models to exact target standard deviation? [0=no additional scaling; 1=use hub scale uniformly; 2=use individual scales] +False WrACT - Output coherent turbulence time steps in AeroDyn form? (Generates RootName.cts) +0 ScaleIEC - Scale IEC turbulence models to exact target standard deviation? [0=no additional scaling; 1=use hub scale uniformly; 2=use individual scales] --------Turbine/Model Specifications----------------------- 59 NumGrid_Z - Vertical grid-point matrix dimension @@ -31,15 +31,15 @@ True Clockwise - Clockwise rotation looking downwind? (used only for full-field "TIMESR" TurbModel - Turbulence model ("IECKAI","IECVKM","GP_LLJ","NWTCUP","SMOOTH","WF_UPW","WF_07D","WF_14D","TIDAL","API","IECKAI","TIMESR", or "NONE") "USRTimeSeries_T1.txt" UserFile - Name of the file that contains inputs for user-defined spectra or time series inputs (used only for "IECKAI" and "TIMESR" models) 1 IECstandard - Number of IEC 61400-x standard (x=1,2, or 3 with optional 61400-1 edition number (i.e. "1-Ed2") ) -"D" IECturbc - IEC turbulence characteristic ("A", "B", "C" or the turbulence intensity in percent) ("KHTEST" option with NWTCUP model, not used for other models) +"A" IECturbc - IEC turbulence characteristic ("A", "B", "C" or the turbulence intensity in percent) ("KHTEST" option with NWTCUP model, not used for other models) "NTM" IEC_WindType - IEC turbulence type ("NTM"=normal, "xETM"=extreme turbulence, "xEWM1"=extreme 1-year wind, "xEWM50"=extreme 50-year wind, where x=wind turbine class 1, 2, or 3) "default" ETMc - IEC Extreme Turbulence Model "c" parameter [m/s] -"PL" WindProfileType - Velocity profile type ("LOG";"PL"=power law;"JET";"H2L"=Log law for TIDAL model;"API";"PL";"TS";"IEC"=PL on rotor disk, LOG elsewhere; or "default") -"PowerLaw_6ms02.dat" ProfileFile - Name of the file that contains input profiles for WindProfileType="USR" and/or TurbModel="USRVKM" [-] -148.840 RefHt - Height of the reference velocity (URef) [m] -6.600 URef - Mean (total) velocity at the reference height [m/s] (or "default" for JET velocity profile) [must be 1-hr mean for API model; otherwise is the mean over AnalysisTime seconds] +"PL" WindProfileType - Velocity profile type ("LOG";"PL"=power law;"JET";"H2L"=Log law for TIDAL model;"API";"USR";"TS";"IEC"=PL on rotor disk, LOG elsewhere; or "default") +"unused" ProfileFile - Name of the file that contains input profiles for WindProfileType="USR" and/or TurbModel="USRVKM" [-] +150 RefHt - Height of the reference velocity (URef) [m] +8.0 URef - Mean (total) velocity at the reference height [m/s] (or "default" for JET velocity profile) [must be 1-hr mean for API model; otherwise is the mean over AnalysisTime seconds] 350 ZJetMax - Jet height [m] (used only for JET velocity profile, valid 70-490 m) -"0.100" PLExp - Power law exponent [-] (or "default") +0.100 PLExp - Power law exponent [-] (or "default") "default" Z0 - Surface roughness length [m] (or "default") --------Non-IEC Meteorological Boundary Conditions------------ @@ -58,10 +58,10 @@ True Clockwise - Clockwise rotation looking downwind? (used only for full-field "12.0 0.0003527" InCDec1 - u-component coherence parameters for general or IEC models [-, m^-1] (e.g. "10.0 0.3e-3" in quotes) (or "default") "12.0 0.001058" InCDec2 - v-component coherence parameters for general or IEC models [-, m^-1] (e.g. "10.0 0.3e-3" in quotes) (or "default") "12.0 0.004329" InCDec3 - w-component coherence parameters for general or IEC models [-, m^-1] (e.g. "10.0 0.3e-3" in quotes) (or "default") -"0.0" CohExp - Coherence exponent for general model [-] (or "default") +0.0 CohExp - Coherence exponent for general model [-] (or "default") --------Coherent Turbulence Scaling Parameters------------------- -".\EventData" CTEventPath - Name of the path where event data files are located +"unused" CTEventPath - Name of the path where event data files are located "random" CTEventFile - Type of event files ("LES", "DNS", or "RANDOM") true Randomize - Randomize the disturbance scale and locations? (true/false) 1 DistScl - Disturbance scale [-] (ratio of event dataset height to rotor disk). (Ignored when Randomize = true.) diff --git a/openfast_toolbox/fastfarm/examples/SampleFiles/template_Low_InflowXX_SeedY.inp b/openfast_toolbox/fastfarm/examples/SampleFiles/template_Low.inp similarity index 78% rename from openfast_toolbox/fastfarm/examples/SampleFiles/template_Low_InflowXX_SeedY.inp rename to openfast_toolbox/fastfarm/examples/SampleFiles/template_Low.inp index 3945ea8..c9dc6d6 100644 --- a/openfast_toolbox/fastfarm/examples/SampleFiles/template_Low_InflowXX_SeedY.inp +++ b/openfast_toolbox/fastfarm/examples/SampleFiles/template_Low.inp @@ -1,29 +1,29 @@ ---------TurbSim v2.00.* Input File------------------------ +---------TurbSim v2.00.* Input File------------------------ for Certification Test #1 (Kaimal Spectrum, formatted FF files). ---------Runtime Options----------------------------------- False Echo - Echo input data to .ech (flag) -1432403720 RandSeed1 - First random seed (-2147483648 to 2147483647) -RanLux RandSeed2 - Second random seed (-2147483648 to 2147483647) for intrinsic pRNG, or an alternative pRNG: "RanLux" or "RNSNLW" +15101986 RandSeed1 - First random seed (-2147483648 to 2147483647) +15101986 RandSeed2 - Second random seed (-2147483648 to 2147483647) for intrinsic pRNG, or an alternative pRNG: "RanLux" or "RNSNLW" False WrBHHTP - Output hub-height turbulence parameters in binary form? (Generates RootName.bin) False WrFHHTP - Output hub-height turbulence parameters in formatted form? (Generates RootName.dat) False WrADHH - Output hub-height time-series data in AeroDyn form? (Generates RootName.hh) True WrADFF - Output full-field time-series data in TurbSim/AeroDyn form? (Generates RootName.bts) False WrBLFF - Output full-field time-series data in BLADED/AeroDyn form? (Generates RootName.wnd) False WrADTWR - Output tower time-series data? (Generates RootName.twr) +False WrHAWCFF - Output full-field time-series data in HAWC form? (Generates RootName-u.bin, RootName-v.bin, RootName-w.bin, RootName.hawc) False WrFMTFF - Output full-field time-series data in formatted (readable) form? (Generates RootName.u, RootName.v, RootName.w) False WrACT - Output coherent turbulence time steps in AeroDyn form? (Generates RootName.cts) -True Clockwise - Clockwise rotation looking downwind? (used only for full-field binary files - not necessary for AeroDyn) 0 ScaleIEC - Scale IEC turbulence models to exact target standard deviation? [0=no additional scaling; 1=use hub scale uniformly; 2=use individual scales] --------Turbine/Model Specifications----------------------- 40 NumGrid_Z - Vertical grid-point matrix dimension -481 NumGrid_Y - Horizontal grid-point matrix dimension +61 NumGrid_Y - Horizontal grid-point matrix dimension 0.5000 TimeStep - Time step [seconds] -1750.00 AnalysisTime - Length of analysis time series [seconds] (program will add time if necessary: AnalysisTime = MAX(AnalysisTime, UsableTime+GridWidth/MeanHHWS) ) + 200.0 AnalysisTime - Length of analysis time series [seconds] (program will add time if necessary: AnalysisTime = MAX(AnalysisTime, UsableTime+GridWidth/MeanHHWS) ) "ALL" UsableTime - Usable length of output time series [seconds] (program will add GridWidth/MeanHHWS seconds unless UsableTime is "ALL") -395.000 HubHt - Hub height [m] (should be > 0.5*GridHeight) -780.000 GridHeight - Grid height [m] -9600.000 GridWidth - Grid width [m] (should be >= 2*(RotorRadius+ShaftLength)) +395.0 HubHt - Hub height [m] (should be > 0.5*GridHeight) +780.0 GridHeight - Grid height [m] +1200.0 GridWidth - Grid width [m] (should be >= 2*(RotorRadius+ShaftLength)) 0 VFlowAng - Vertical mean flow (uptilt) angle [degrees] 0 HFlowAng - Horizontal mean flow (skew) angle [degrees] @@ -31,15 +31,15 @@ True Clockwise - Clockwise rotation looking downwind? (used only for full "IECKAI" TurbModel - Turbulence model ("IECKAI","IECVKM","GP_LLJ","NWTCUP","SMOOTH","WF_UPW","WF_07D","WF_14D","TIDAL","API","USRINP","USRVKM","TIMESR", or "NONE") "unused" UserFile - Name of the file that contains inputs for user-defined spectra or time series inputs (used only for "USRINP" and "TIMESR" models) 1 IECstandard - Number of IEC 61400-x standard (x=1,2, or 3 with optional 61400-1 edition number (i.e. "1-Ed2") ) -"D" IECturbc - IEC turbulence characteristic ("A", "B", "C" or the turbulence intensity in percent) ("KHTEST" option with NWTCUP model, not used for other models) +"A" IECturbc - IEC turbulence characteristic ("A", "B", "C" or the turbulence intensity in percent) ("KHTEST" option with NWTCUP model, not used for other models) "NTM" IEC_WindType - IEC turbulence type ("NTM"=normal, "xETM"=extreme turbulence, "xEWM1"=extreme 1-year wind, "xEWM50"=extreme 50-year wind, where x=wind turbine class 1, 2, or 3) "default" ETMc - IEC Extreme Turbulence Model "c" parameter [m/s] "PL" WindProfileType - Velocity profile type ("LOG";"PL"=power law;"JET";"H2L"=Log law for TIDAL model;"API";"USR";"TS";"IEC"=PL on rotor disk, LOG elsewhere; or "default") -"PowerLaw_6ms02.dat" ProfileFile - Name of the file that contains input profiles for WindProfileType="USR" and/or TurbModel="USRVKM" [-] -148.840 RefHt - Height of the reference velocity (URef) [m] -6.600 URef - Mean (total) velocity at the reference height [m/s] (or "default" for JET velocity profile) [must be 1-hr mean for API model; otherwise is the mean over AnalysisTime seconds] +"unused" ProfileFile - Name of the file that contains input profiles for WindProfileType="USR" and/or TurbModel="USRVKM" [-] +150 RefHt - Height of the reference velocity (URef) [m] +8.0 URef - Mean (total) velocity at the reference height [m/s] (or "default" for JET velocity profile) [must be 1-hr mean for API model; otherwise is the mean over AnalysisTime seconds] 350 ZJetMax - Jet height [m] (used only for JET velocity profile, valid 70-490 m) -"0.100" PLExp - Power law exponent [-] (or "default") +0.100 PLExp - Power law exponent [-] (or "default") "default" Z0 - Surface roughness length [m] (or "default") --------Non-IEC Meteorological Boundary Conditions------------ @@ -58,10 +58,10 @@ True Clockwise - Clockwise rotation looking downwind? (used only for full "12.0 0.0003527" InCDec1 - u-component coherence parameters for general or IEC models [-, m^-1] (e.g. "10.0 0.3e-3" in quotes) (or "default") "12.0 0.001058" InCDec2 - v-component coherence parameters for general or IEC models [-, m^-1] (e.g. "10.0 0.3e-3" in quotes) (or "default") "12.0 0.004329" InCDec3 - w-component coherence parameters for general or IEC models [-, m^-1] (e.g. "10.0 0.3e-3" in quotes) (or "default") -"0.0" CohExp - Coherence exponent for general model [-] (or "default") +0.0 CohExp - Coherence exponent for general model [-] (or "default") --------Coherent Turbulence Scaling Parameters------------------- -".\EventData" CTEventPath - Name of the path where event data files are located +"unused" CTEventPath - Name of the path where event data files are located "random" CTEventFile - Type of event files ("LES", "DNS", or "RANDOM") true Randomize - Randomize the disturbance scale and locations? (true/false) 1 DistScl - Disturbance scale [-] (ratio of event dataset height to rotor disk). (Ignored when Randomize = true.) diff --git a/openfast_toolbox/fastfarm/tests/test_run_Examples.py b/openfast_toolbox/fastfarm/tests/test_run_Examples.py index 1c5f9b4..4d67021 100644 --- a/openfast_toolbox/fastfarm/tests/test_run_Examples.py +++ b/openfast_toolbox/fastfarm/tests/test_run_Examples.py @@ -18,7 +18,8 @@ def test_run_examples(self): exclude_list=[] # Add tests to class MyDir=os.path.dirname(__file__) - files = glob.glob(os.path.join(MyDir,'../examples/[A-Za-z][_-a-zA-Z0-9]*.py')) + #files = glob.glob(os.path.join(MyDir,'../examples/[A-Za-z][_-a-zA-Z0-9]*.py')) + files = glob.glob(os.path.join(MyDir,'../examples/[a-zA-Z]*.py')) import matplotlib.pyplot as plt print('\n--------------------------------------------------------------') for f in files: diff --git a/openfast_toolbox/io/airfoil_file.py b/openfast_toolbox/io/airfoil_file.py new file mode 100644 index 0000000..1921342 --- /dev/null +++ b/openfast_toolbox/io/airfoil_file.py @@ -0,0 +1,577 @@ +import os +import pandas as pd +import numpy as np +from .csv_file import CSVFile, find_non_numeric_header_lines +from .plot3d_file import read_plot3d, write_plot3d +try: + from .file import File, WrongFormatError, BrokenFormatError, EmptyFileError +except: + File = dict + EmptyFileError = type('EmptyFileError', (Exception,),{}) + WrongFormatError = type('WrongFormatError', (Exception,),{}) + BrokenFormatError = type('BrokenFormatError', (Exception,),{}) + +FORMAT_TO_EXT = { + 'csv': 'csv', + 'plot3d': 'fmt', + 'fmt': 'fmt', + 'xyz': 'xyz', + 'xy': 'xy', + 'g': 'g', + 'pointwise': 'pwise', + 'geo': 'geo', +} +EXT_TO_FORMAT = { + 'csv': 'csv', + 'txt': 'csv', + 'dat': 'csv', + 'fmt': 'plot3d', + 'xyz': 'plot3d', + 'xy': 'plot3d', + 'g': 'plot3d', + 'pwise': 'pointwise', + 'pw': 'pointwise', + 'geo': 'geo', +} +# --------------------------------------------------------------------------------{ +# --- WEIO class +# --------------------------------------------------------------------------------} +class AirfoilShapeFile(File): + """ + Read/write an airfoil shape (formatted, ASCII). The object behaves as a dictionary. + + Note: the class does not make any manipulation of the data + + Main methods + ------------ + - read, write, toDataFrame, keys + + Examplesy + -------- + f = AirfoilShapeFile('file.fmt') + print(f.keys()) + print(f.toDataFrame().columns) + """ + + @staticmethod + def defaultExtensions(): + """ List of file extensions expected for this fileformat""" + return ['.csv', '.dat', '.fmt', '.txt'] + + @staticmethod + def formatName(): + return 'Airfoil shape file' + + @staticmethod + def priority(): return 60 # Priority in weio.read fileformat list between 0=high and 100:low + + def __init__(self, filename=None, **kwargs): + """ Class constructor. If a `filename` is given, the file is read. """ + self.filename = filename + self.data = None + self.format = None + if filename: + self.read(**kwargs) + + def read(self, filename=None, verbose=False, format=None): + """ Reads the file self.filename, or `filename` if provided """ + if filename: + self.filename = filename + if not self.filename: + raise Exception('No filename provided') + if not os.path.isfile(self.filename): + raise OSError(2, 'File not found:', self.filename) + if os.stat(self.filename).st_size == 0: + raise EmptyFileError('File is empty:', self.filename) + + x, y, d = read_airfoil(self.filename, format=format, verbose=verbose) + if 'format' in d: + self.format = d['format'] + + # Store + self.data = pd.DataFrame({'x': x, 'y': y}) + for k,v in d.items(): + self[k] = v + + def write(self, filename=None, format=None, **kwargs): + """ Rewrite object to file, or write object to `filename` if provided """ + if filename: + self.filename = filename + if not self.filename: + raise Exception('No filename provided') + if format is None: + format = self.format # NOTE: not inferring from extension, change of behavior + for k,v in self.items(): + if k not in kwargs and k not in ['x', 'y', 'format']: + kwargs[k] = v + + + write_airfoil(self.data['x'].values, self.data['y'].values, filename, format=format, **kwargs) + + def toDataFrame(self): + """ Returns one DataFrame (single block) or a dict of DataFrames (multi-block) """ + return self.data + + def __repr__(self): + s = '<{} object>:\n'.format(type(self).__name__) + s += '|Main attributes:\n' + s += '| - filename: {}\n'.format(self.filename) + s += '| - format : {}\n'.format(self.format) + if self.data is not None: + x = self.data['x'].values + y = self.data['y'].values + s += '| - data: shape:{}\n'.format(self.data.shape) + s += '| x: len:{} type:{} values:[{}, {}, ...,{}]\n'.format(len(x), x.dtype, x[0], x[1], x[-1] ) + s += '| y: len:{} type:{} values:[{}, {}, ...,{}]\n'.format(len(y), y.dtype, y[0], y[1], y[-1] ) + s += '|Main keys from original input file:\n' + for k,v in self.items(): + s += '| - {}: {}\n'.format(k, v) + s += '|Main methods:\n' + s += '| - read, write, toDataFrame, keys' + return s + + def toString(self): + """ """ + s = '' + return s + + + + +# --------------------------------------------------------------------------------{ +# --- Main wrappers +# --------------------------------------------------------------------------------} +def read_airfoil(filename, format=None, verbose=False, **kwargs): + """ Read airfoil coordinates from a filename""" + if not os.path.exists(filename): + raise FileNotFoundError(f"File {filename} does not exist.") + if format is None: + ext = os.path.splitext(filename)[1].lower().strip('.') + format = EXT_TO_FORMAT[ext] + format = format.lower() + if verbose: + print(f"Reading airfoil from {filename} with format {format}") + + if format in ['csv','tab']: + x, y, d = read_airfoil_csv_like(filename) + elif format in ['plot3d','fmt','g','xyz','xy','x']: + x, y, d = read_airfoil_plot3d(filename) + elif format in ['pointwise', 'pw','pwise']: + x, y, d = read_airfoil_pointwise(filename, plot=False) + else: + raise NotImplementedError(f"File type {ext} is not supported.") + + + if not np.issubdtype(x.dtype, np.floating) or not np.issubdtype(y.dtype, np.floating): + print('First values of x:',x[0:5], x.dtype) + print('First values of y:',y[0:5], y.dtype) + raise ValueError("Ffile must contain floating point numbers in both columns. Maybe the header was not detected correctly?") + + return x, y, d + +def write_airfoil(x, y, filename, format=None, **kwargs): + """ Write airfoil coordinates to a file""" + if format is None: + ext = os.path.splitext(filename)[1].lower().strip('.') + format = EXT_TO_FORMAT[ext] + format = format.lower() + if format in ['csv','tab']: + write_airfoil_csv(x, y, filename) + elif format in ['plot3d','fmt','g','xyz','xy','x']: + write_airfoil_plot3d(x, y, filename, **kwargs) + elif format in ['pointwise', 'pw','pwise']: + write_airfoil_pointwise(x, y, filename) + elif format == 'geo': + write_airfoil_geo(x, y, filename, **kwargs) + elif format == 'openfast': + write_airfoil_openfast(x, y, filename, **kwargs) + else: + raise NotImplementedError(f"Format {format} is not supported.") + +# --------------------------------------------------------------------------------} +# --- OpenFAST airfoil shape +# --------------------------------------------------------------------------------{ +def read_airfoil_openfast(filename): + """ + Reads a FAST-format airfoil file (with NumCoords and comments). + Returns a dict with keys: 'x', 'y', 'AirfoilRefPoint', 'NumCoords'. + """ + d = {} + d['format'] = 'openfast' + + with open(filename, 'r', encoding='utf-8', errors='surrogateescape') as f: + lines = f.readlines() + + # Find the line with NumCoords (first non-comment, with an int at start) + numcoords = None + for i, line in enumerate(lines): + s = line.strip() + if not s or s.startswith('!') or s.startswith('#'): continue + try: + numcoords = int(s.split()[0]) + idx_numcoords = i + break + except Exception: + continue + if numcoords is None: + raise BrokenFormatError("Could not find NumCoords in file.") + + d['NumCoords'] = numcoords + + # Find the reference point (first non-comment, non-empty line after NumCoords) + idx_ref = None + comments1 =[] + for j in range(idx_numcoords+1, len(lines)): + s = lines[j].strip() + if s.startswith('!') or s.startswith('#'): + comments1.append(s) + continue + try: + vals = [float(x) for x in s.replace(',', ' ').split()] + if len(vals) == 2: + d['AirfoilRefPoint'] = np.array(vals) + idx_ref = j + break + except Exception(): + continue + if idx_ref is None: + raise BrokenFormatError("Could not find airfoil reference point.") + + # Find the start of the coordinates (first non-comment, non-empty line after ref) + coords = [] + d['comments'] =[] + for k in range(idx_ref+1, len(lines)): + s = lines[k].strip() + if s.startswith('!') or s.startswith('#'): + d['comments'].append(s) + continue + #try: + vals = [float(x) for x in s.replace(',', ' ').split()] + if len(vals) == 2: + coords.append(vals) + if len(coords) >= numcoords: + break + else: + raise BrokenFormatError('More than two values in line, expected only x and y coordinates.') + # except Exception: + # continue + + coords = np.array(coords) + if coords.shape[0] != numcoords-1: # Note: +1 for the reference point.. + raise BrokenFormatError(f"Expected {numcoords} coordinates, got {coords.shape[0]}.") + + x = coords[:,0] + y = coords[:,1] + return x, y, d + +def write_airfoil_openfast(x, y, filename, AirfoilRefPoint=None, comments=None, NumCoords=None): + """ + Writes airfoil coordinates to a FAST/OpenFAST airfoil shape file. + - x, y: arrays of coordinates + - filename: output file path + - AirfoilRefPoint: (optional) 2-element array for the reference point, defaults to [0.25, 0.0] + - comments: (optional) list of comment lines to write at the top of the file + - NumCoords : neglected + """ + if AirfoilRefPoint is None: + AirfoilRefPoint = [0.25, 0.0] + print('[WARN] No AirfoilRefPoint provided, using default [0.25, 0.0].') + + NumCoords = len(x) + 1 + + if comments is None: + comments = [ + "! coordinates of the airfoil shape", + "! x/c y/c", + ] + with open(filename, 'w', encoding='utf-8') as f: + f.write(f"{NumCoords:<6d} NumCoords ! The number of coordinates in the airfoil shape file (including an extra coordinate for airfoil reference). Set to zero if coordinates not included.\n") + f.write("! ......... x-y coordinates are next if NumCoords > 0 .............\n") + f.write("! x-y coordinate of airfoil reference\n") + f.write("! x/c y/c\n") + f.write(f"{AirfoilRefPoint[0]:.8f}\t{AirfoilRefPoint[1]:.8f}\n") + for c in comments: + f.write(f"{c}\n") + for xi, yi in zip(x, y): + f.write(f"{xi:.6f}\t{yi:.6f}\n") + +# --------------------------------------------------------------------------------} +# --- CSV +# --------------------------------------------------------------------------------{ +def has_two_ints_on_second_line_and_third_empty(filename): + """ + See for instance e850.dat + + Returns True if the second line of the file contains exactly two floats that can be coerced to integers, + and the third line is empty (only whitespace or newline). + """ + with open(filename, 'r', encoding='utf-8', errors='surrogateescape') as f: + lines = [] + for _ in range(3): + line = f.readline() + if not line: break + lines.append(line.rstrip('\n\r')) + + if len(lines) < 3: return False + + # Check second line + parts = lines[1].strip().replace(',', ' ').split() + if len(parts) != 2: return False + try: + floats = [float(p) for p in parts] + ints = [int(f) for f in floats] + if not all(abs(f-i)<1e-8 for f,i in zip(floats,ints)): + return False + except Exception: + return False + + # Check third line is empty + if lines[2].strip() != '': + return False + + return True + +def is_OpenFAST_airfoil_shape(filename): + """ Detect if the file is in OpenFAST airfoil shape format """ + with open(filename, 'r', encoding='utf-8', errors='surrogateescape') as f: + lines = [] + for _ in range(2): + line = f.readline() + # check if line contains "NumCoords" + if "numcoords" in line.lower(): + return True + if not line: break + return False + + +def read_airfoil_csv_like(filename): + + # --- Detect OpenFAST airfoil shape format + if is_OpenFAST_airfoil_shape(filename): + return read_airfoil_openfast(filename) + + # --- Find non-numeric header lines + header_indices, header_lines = find_non_numeric_header_lines(filename) + + # We expect mostly 0 or one line of header. If more than one header line is found, it's best if lines start with a '#' + if len(header_indices)> 1: + print("[INFO] Found more than one header line in file ", filename) + # # count lines that do not start with "#" + # not_comment_lines = [line for line in header_lines if not line.startswith('#')] + # nNotComment = len(not_comment_lines) + # print("[INFO] Found non-comment header lines:", not_comment_lines) + # #if nNotComment > 0: + # # raise Exception("Error: More than one header line found in the file. Please ensure the file has a single header line, no header lines at all, or that all header lines start with `#`.") + + + if has_two_ints_on_second_line_and_third_empty(filename): + raise BrokenFormatError('File format with separate Upper and Lower surfaces not yet supported, file {}.'.format(filename)) + + #print('>>>> commentLines:', header_indices, 'header_lines:', header_lines) + #csv = CSVFile(filename=filename, commentLines=header_indices, detectColumnNames=False, colNames=['x', 'y'], doRead=False) + csv = CSVFile(filename=filename, commentLines=header_indices, doRead=False) #, detectColumnNames=False, colNames=['x', 'y'], doRead=False) + try: + csv._read() + except WrongFormatError as e: + print("[FAIL] {}".format(str(e).strip())) + print(" > Trying to read the file with a slower method...") + #print(csv) + csv.read_slow_stop_at_first_empty_lines(numeric_only=True) + + df = csv.toDataFrame() + #import pandas as pd + #df = pd.read_csv(filename) + #print(df) + if df.shape[1] == 2: + x = df.iloc[:, 0].values + y = df.iloc[:, 1].values + else: + raise ValueError("CSV file must have exactly two columns for x and y coordinates.") + # Check if numpy array are all floats, otherwise( e.g. if they are objects) raise an exception + if not np.issubdtype(x.dtype, np.floating) or not np.issubdtype(y.dtype, np.floating): + if x[-1] == 'ZZ': + print('[WARN] File {} Last value of x is "ZZ", removing it and converting to float.'.format(filename)) + x=x[:-1].astype(float) + y=y[:-1] + else: + print(csv) + print('First values of x:',x[0:5], x.dtype) + print('First values of y:',y[0:5], y.dtype) + raise ValueError("CSV file must contain floating point numbers in both columns. Maybe the header was not detected correctly?") + d={} + d['format'] = 'csv' + return x, y, d + +def write_airfoil_csv(x, y, filename): + df = pd.DataFrame({'x': x, 'y': y}) + df.to_csv(filename, index=False) + +# --------------------------------------------------------------------------------} +# --- Plot3D +# --------------------------------------------------------------------------------{ +def read_airfoil_plot3d(filename): + coords, dims = read_plot3d(filename, singleblock=True) + x = coords[:, 0] + y = coords[:, 1] + # Make sure we keep only the first slice in z-direction + nx = dims[0] + x = x[:nx] + y = y[:nx] + d = {} + d['format'] = 'plot3d' + return x, y, d + +# --------------------------------------------------------------------------------} +# --- Pointwise +# --------------------------------------------------------------------------------{ +def read_airfoil_pointwise(filename, plot=False, verbose=False): + # TODO this is horrible code, needs to be refactored + lower = [] + upper = [] + TE = [] + d= {} + d['format'] = 'pointwise' + + with open(filename, 'r') as file: + # Read the entire content of the file + lines = file.readlines() + + current_section = 'lower' # Starting with the lower section + idx = 0 # Line index + + while idx < len(lines): + line = lines[idx].strip() + + if line.isdigit(): # When the line is a number (point count) + num_points = int(line) # Get the number of points in the section + idx += 1 # Move to the next line containing the coordinates + + # Read the next `num_points` lines and store x, y, z coordinates + for _ in range(num_points): + if idx < len(lines): + x, y, z = map(float, lines[idx].strip().split()) # Parse x, y, z values + if current_section == 'lower': + lower.append((x, y, z)) # Append to the lower section + elif current_section == 'upper': + upper.append((x, y, z)) # Append to the upper section + elif current_section == 'TE': + TE.append((x, y, z)) # Append to the TE section + idx += 1 # Move to the next line containing coordinates + + # Switch sections after processing each part + if current_section == 'lower': + current_section = 'upper' + elif current_section == 'upper': + current_section = 'TE' + + else: + idx += 1 # Skip lines that are not point counts or coordinates + TE = np.asarray(TE)[:,:2]# Keep only x and y coordinates + lower = np.asarray(lower)[:,:2] + upper = np.asarray(upper)[:,:2] + + from nalulib.curves import contour_is_clockwise + coords1 = np.vstack((lower[:-1], upper[:-1], TE)) + assert contour_is_clockwise(coords1), "Pointwise format is expected to be clockwise." + assert np.allclose(coords1[0, :], coords1[-1, :], rtol=1e-10, atol=1e-12), "First and last points must be the same in Pointwise format." + + # NOTE: Pointwise is assumed to be clockwise + TE = TE[::-1] # Reverse the order of TE points to match the convention + lower = lower[::-1] # Reverse the order of lower surface points + upper = upper[::-1] # Reverse the order of upper surface points + + # NOTE: coords are anticlockwise with first and last point being the same + coords = np.vstack((upper[:-1], lower[:-1], TE)) + assert np.allclose(coords[0, :], coords[-1, :], rtol=1e-10, atol=1e-12), "First and last points must be the same in Pointwise format." + + if plot: + import matplotlib.pyplot as plt + plt.figure(figsize=(10, 5)) + plt.plot(coords[:,0], coords[:,1], '.-', label='Airfoil Shape', color='black') + plt.plot(lower[:,0], lower[:,1], label='Lower Surface', color='blue') + plt.plot(upper[:,0], upper[:,1], label='Upper Surface', color='red') + plt.plot(TE[:,0], TE[:,1], label='Trailing Edge', color='green') + plt.title('Airfoil Shape with Upper and Lower Surfaces') + plt.xlabel('x') + plt.ylabel('y') + plt.axis('equal') + plt.legend() + plt.grid(True) + plt.show() + + return coords[:,0], coords[:,1], d + +def write_airfoil_pointwise(x, y, output_file): + # === Load airfoil data === + x_orig, y_orig = x, y + + # === Find leading edge index (minimum x) + le_index = np.argmin(x_orig) + + # === convert to .txt file format for Pointwise + + # === 1. Split into upper and lower surfaces + x_orig_upper, y_orig_upper = x_orig[:le_index+1], y_orig[:le_index+1] + x_orig_lower, y_orig_lower = x_orig[le_index:], y_orig[le_index:] + + # === 2. Sort both surfaces to save as .dat file without interpolation + x_orig_lower_sorted, y_orig_lower_sorted = x_orig_lower[::-1], y_orig_lower[::-1] + x_orig_upper_sorted, y_orig_upper_sorted = x_orig_upper[::-1], y_orig_upper[::-1] + + + # === 3. Save original data in .dat format === + with open(output_file, 'w') as f: + # Write lower surface + f.write(f"{len(x_orig_lower_sorted)}\n") + for x, y in zip(x_orig_lower_sorted, y_orig_lower_sorted): + f.write(f"{x:.6f} {y:.6f} 0.000000\n") + + # Write upper surface + f.write(f"{len(x_orig_upper_sorted)}\n") + for x, y in zip(x_orig_upper_sorted, y_orig_upper_sorted): + f.write(f"{x:.6f} {y:.6f} 0.000000\n") + + # Write TE surface + f.write(f"{3}\n") + f.write(f"{x_orig_upper_sorted[-1]:.6f} {y_orig_upper_sorted[-1]:.6f} 0.000000\n") + f.write(f"{((x_orig_upper_sorted[-1]+x_orig_lower_sorted[0])/2):.6f} {((y_orig_lower_sorted[0]+y_orig_upper_sorted[-1])/2):.6f} 0.000000\n") + f.write(f"{x_orig_lower_sorted[0]:.6f} {y_orig_lower_sorted[0]:.6f} 0.000000\n") + + +# --------------------------------------------------------------------------------} +# --- gmesh +# --------------------------------------------------------------------------------{ +def write_airfoil_geo(x, y, output_file, lc=1.0): + with open(output_file, 'w') as f_out: + f_out.write("// Gmsh .geo file generated from 2D airfoil .txt\n\n") + zz=0 + point_ids = np.arange(len(x), dtype=int) + 1 # Point IDs start from 1 in Gmsh + for i, (xx, yy)in enumerate(zip(x, y)): + f_out.write(f"Point({point_ids[i]}) = {{{xx}, {yy}, {zz}, {lc}}};\n") + + # Connect all points in a closed loop + f_out.write("\n// Single Line connecting all points in a loop\n") + line_str = ", ".join(str(pid) for pid in point_ids + [point_ids[0]]) + f_out.write(f"Line(1) = {{{line_str}}};\n") + + +def write_airfoil_plot3d(x, y, filename, thick=False): + """ Write airfoil coordinates to a Plot3D file""" + if thick: + # We duplicate the x y coordiantes and have z=0 and z=1 + coords = np.column_stack((x, y, np.zeros_like(x))) + coords = np.concatenate((coords, coords + np.array([0, 0, 1]))) + dims = (len(x), 2, 1) # Two slices in the z-direction + else: + coords = np.column_stack((x, y, np.zeros_like(x))) # Assuming z=0 for 2D airfoil + dims = (len(x), 1, 1) # Assuming a single slice in the z-direction + write_plot3d(filename, coords, dims) + + +if __name__ == '__main__': + shp = AirfoilShapeFile(os.path.join(os.path.dirname(__file__), '../../data/airfoils/tests/FAST_naca64618.txt')) + print(shp) + shp.write('test_openfast.txt') + shp = AirfoilShapeFile('test_openfast.txt') + print(shp) + diff --git a/openfast_toolbox/io/csv_file.py b/openfast_toolbox/io/csv_file.py index 5bb398e..a8edf1d 100644 --- a/openfast_toolbox/io/csv_file.py +++ b/openfast_toolbox/io/csv_file.py @@ -1,4 +1,5 @@ import os +import re import pandas as pd try: @@ -6,6 +7,7 @@ except: File=dict WrongFormatError = type('WrongFormatError', (Exception,),{}) + EmptyFileError = type('EmptyFileError', (Exception,),{}) class CSVFile(File): """ @@ -33,10 +35,11 @@ def formatName(): return 'CSV file' def __init__(self, filename=None, sep=None, colNames=None, commentChar=None, commentLines=None,\ - colNamesLine=None, detectColumnNames=True, header=None, **kwargs): + colNamesLine=None, detectColumnNames=True, header=None, doRead=True, **kwargs): colNames = [] if colNames is None else colNames commentLines = [] if commentLines is None else commentLines self.sep = sep + self.skipRows = [] self.colNames = colNames self.commentChar = commentChar self.commentLines = commentLines @@ -56,11 +59,11 @@ def __init__(self, filename=None, sep=None, colNames=None, commentChar=None, com if (len(self.colNames)>0) and (self.colNamesLine is not None): raise Exception('Provide either `colNames` or `colNamesLine` for CSV file types') if filename: - self.read(filename, **kwargs) + self.read(filename, doRead=doRead, **kwargs) else: self.filename = None - def read(self, filename=None, **kwargs): + def read(self, filename=None, doRead=True, **kwargs): if filename: self.filename = filename if not self.filename: @@ -70,10 +73,11 @@ def read(self, filename=None, **kwargs): if os.stat(self.filename).st_size == 0: raise EmptyFileError('File is empty:',self.filename) # Calling children function - self._read(**kwargs) + self.detect() + if doRead: + self._read(**kwargs) - - def _read(self): + def detect(self): COMMENT_CHAR=['#','!',';'] # --- Detecting encoding # NOTE: done by parent class method @@ -248,15 +252,16 @@ def strIsFloat(s): skiprows.append(self.colNamesLine) if (self.commentLines is not None) and len(self.commentLines)>0: skiprows = skiprows + self.commentLines - skiprows =list(sorted(set(skiprows))) + self.skiprows =list(sorted(set(skiprows))) if self.sep is not None: if self.sep=='\t': self.sep=r'\s+' #print(skiprows) + + def _read(self): try: -# self.data = pd.read_csv(self.filename,sep=self.sep,skiprows=skiprows,header=None,comment=self.commentChar,encoding=self.encoding) with open(self.filename,'r',encoding=self.encoding) as f: - self.data = pd.read_csv(f,sep=self.sep,skiprows=skiprows,header=None,comment=self.commentChar) + self.data = pd.read_csv(f,sep=self.sep,skiprows=self.skiprows,header=None,comment=self.commentChar) except pd.errors.ParserError as e: raise WrongFormatError('CSV File {}: '.format(self.filename)+e.args[0]) @@ -265,6 +270,49 @@ def strIsFloat(s): self.data.columns = self.colNames; self.data.rename(columns=lambda x: x.strip(),inplace=True) + + def read_slow_stop_at_first_empty_lines(self, skiprows=None, sep=None, numeric_only=True, colNames=None): + """ + HACKY function + Reads a CSV file line by line, stopping at the first empty line. + This is a slower method but can be useful for large files or when you want to avoid loading the entire file into memory. + """ + if skiprows is None: + skiprows = self.skipRows + self.commentLines + if sep is None: + sep = self.sep if self.sep is not None else ',' + if colNames is None: + colNames = self.colNames + + def smart_split(line, sep): + """Splits a line using a separator, which can be a regex (e.g. '\\s+') or a normal string.""" + if sep == r'\s+': + return re.split(r'\s+', line.strip()) + else: + return [c.strip() for c in line.strip().split(sep)] + data = [] + with open(self.filename, 'r', encoding=self.encoding) as f: + for i, line in enumerate(f): + if i in skiprows: + continue + line = line.strip() + if not line: + break + cols = smart_split(line, sep) + if len(colNames)>0 and len(cols) != len(self.colNames): + raise Exception("Error: Wrong number of columns on line {}.".format(i)) + data.append(cols) + if len(colNames)>0: + self.data= pd.DataFrame(data, columns=self.colNames) + else: + self.data= pd.DataFrame(data) + self.colNames=['C{}'.format(i) for i in range(len(self.data.columns))] + self.data.columns = self.colNames; + + if numeric_only: + self.data = self.data.apply(pd.to_numeric, errors='coerce') + #self.data.dropna(inplace=True) + def _write(self): # --- Safety if self.sep==r'\s+' or self.sep=='': @@ -288,19 +336,21 @@ def _write(self): self.data.to_csv(self.filename,sep=self.sep,index=False) def __repr__(self): - s = 'CSVFile: {}\n'.format(self.filename) - s += 'sep=`{}` commentChar=`{}`\ncolNamesLine={}'.format(self.sep,self.commentChar,self.colNamesLine) - s += ', encoding={}'.format(self.encoding)+'\n' - s += 'commentLines={}'.format(self.commentLines)+'\n' - s += 'colNames={}'.format(self.colNames) - s += '\n' + s = '\n'.format(self.filename) + s += '| - sep =`{}`\n'.format(self.sep) + s += '| - commentChar =`{}`\n'.format(self.commentChar) + s += '| - colNamesLine= {}\n'.format(self.colNamesLine) + s += '| - encoding = {}\n'.format(self.encoding) + s += '| - commentLines= {}\n'.format(self.commentLines) + s += '| - skipRows = {}\n'.format(self.skipRows) + s += '| - colNames = {}\n'.format(self.colNames) if len(self.header)>0: - s += 'header:\n'+ '\n'.join(self.header)+'\n' + s += '| - header:\n'+ '\n'.join(self.header)+'\n' if len(self.data)>0: - s += 'size: {}x{}'.format(len(self.data),len(self.data.columns)) + s += '| - size: {}x{}'.format(len(self.data),len(self.data.columns)) return s - def _toDataFrame(self): + def toDataFrame(self): return self.data def to2DFields(self, **kwargs): @@ -341,6 +391,26 @@ def encoding(self): result = chardet.detect(raw) return result['encoding'] + +def find_non_numeric_header_lines(filename): + """ + Reads a file line by line and returns a list of indices for lines that are headers, + i.e., lines that contain anything other than numbers, commas, tabs, spaces, or scientific notation. + Stops at the first line that is purely numeric (with allowed delimiters). + """ + header_indices = [] + header_lines = [] + numeric_line_pattern = re.compile(r'^[\s,]*([+-]?(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?[\s,]*)+$') + with open(filename, 'r', errors="surrogateescape") as f: + for idx, line in enumerate(f): + s = line.strip() + if not s: continue + if numeric_line_pattern.fullmatch(s): + break + header_lines.append(s) + header_indices.append(idx) + return header_indices, header_lines + if __name__ == '__main__': f = CSVFile('C:/Work/Courses/440/project_solution/data/CFD_u.dat') print(f) diff --git a/openfast_toolbox/io/fast_input_file.py b/openfast_toolbox/io/fast_input_file.py index 31e8b71..ecb4807 100644 --- a/openfast_toolbox/io/fast_input_file.py +++ b/openfast_toolbox/io/fast_input_file.py @@ -669,11 +669,7 @@ def _read(self, IComment=None): else: nTabLines = self[d['tabDimVar']] #print('Reading table {} Dimension {} (based on {})'.format(d['label'],nTabLines,d['tabDimVar'])); - try: - d['value'], d['tabColumnNames'], d['tabUnits'] = parseFASTNumTable(self.filename,lines[i:i+nTabLines+nHeaders], nTabLines, i, nHeaders, tableType=tab_type, varNumLines=d['tabDimVar']) - except: - import pdb; pdb.set_trace() - + d['value'], d['tabColumnNames'], d['tabUnits'] = parseFASTNumTable(self.filename,lines[i:i+nTabLines+nHeaders], nTabLines, i, nHeaders, tableType=tab_type, varNumLines=d['tabDimVar']) _, d['descr'] = splitAfterChar(lines[i], '!') i += nTabLines+nHeaders-1 @@ -850,7 +846,7 @@ def mat_tostring(M,fmt='24.16e'): s+='{}'.format(d['value']) elif d['tabType']==TABTYPE_NOT_A_TAB: if isinstance(d['value'], list) or isinstance(d['value'],np.ndarray): - sList=', '.join([str(x) for x in d['value']]) + sList=', '.join([str(x) for x in np.asarray(d['value']).flatten()]) s+=toStringVLD(sList, d['label'], d['descr']) else: s+=toStringVLD(d['value'],d['label'],d['descr']) diff --git a/openfast_toolbox/io/fast_summary_file.py b/openfast_toolbox/io/fast_summary_file.py index dce3f0a..1e32ad7 100644 --- a/openfast_toolbox/io/fast_summary_file.py +++ b/openfast_toolbox/io/fast_summary_file.py @@ -85,7 +85,7 @@ def update_from_child(self, child, attrList=None): if attrList is None: attrList = [c for c in child.__dir__() if not c.startswith('_')] for attr in attrList: - print('FASTSummaryFile from child {}, setting `{}`'.format(type(child).__name__, attr)) + #print('FASTSummaryFile from child {}, setting `{}`'.format(type(child).__name__, attr)) setattr(self, attr, getattr(child, attr)) def toDataFrame(self): diff --git a/openfast_toolbox/io/plot3d_file.py b/openfast_toolbox/io/plot3d_file.py new file mode 100644 index 0000000..bd576f2 --- /dev/null +++ b/openfast_toolbox/io/plot3d_file.py @@ -0,0 +1,237 @@ +""" +Input/output class for the Plot3D file format (formatted, ASCII) +""" +import numpy as np +import pandas as pd +import os + +try: + from .file import File, WrongFormatError, BrokenFormatError, EmptyFileError +except: + File = dict + EmptyFileError = type('EmptyFileError', (Exception,),{}) + WrongFormatError = type('WrongFormatError', (Exception,),{}) + BrokenFormatError = type('BrokenFormatError', (Exception,),{}) + +class Plot3DFile(File): + """ + Read/write a Plot3D file (formatted, ASCII). The object behaves as a dictionary. + + Main methods + ------------ + - read, write, toDataFrame, keys + + Examples + -------- + f = Plot3DFile('file.fmt') + print(f.keys()) + print(f.toDataFrame().columns) + """ + + @staticmethod + def defaultExtensions(): + """ List of file extensions expected for this fileformat""" + return ['.g', '.x', '.y', '.xy', '.xyz', '.fmt'] + + @staticmethod + def formatName(): + return 'Plot3D formatted ASCII file' + + @staticmethod + def priority(): return 60 # Priority in weio.read fileformat list between 0=high and 100:low + + def __init__(self, filename=None, **kwargs): + """ Class constructor. If a `filename` is given, the file is read. """ + self.filename = filename + if filename: + self.read(**kwargs) + + def read(self, filename=None, verbose=False, method='numpy'): + """ Reads the file self.filename, or `filename` if provided """ + if filename: + self.filename = filename + if not self.filename: + raise Exception('No filename provided') + if not os.path.isfile(self.filename): + raise OSError(2, 'File not found:', self.filename) + if os.stat(self.filename).st_size == 0: + raise EmptyFileError('File is empty:', self.filename) + + coords_list, dims = read_plot3d(self.filename, verbose=verbose, method=method, singleblock=False) + self['coords'] = coords_list + self['dims'] = dims + + def write(self, filename=None): + """ Rewrite object to file, or write object to `filename` if provided """ + if filename: + self.filename = filename + if not self.filename: + raise Exception('No filename provided') + + write_plot3d(self.filename, self['coords'], self['dims'], singleblock=False) + + def toDataFrame(self): + """ Returns one DataFrame (single block) or a dict of DataFrames (multi-block) """ + coords_list = self.get('coords', None) + if coords_list is None: + raise Exception("No coordinates loaded.") + if len(coords_list) == 1: + coords = coords_list[0] + df = pd.DataFrame(coords, columns=['x', 'y', 'z']) + return df + else: + dfs={} + for i, coords in enumerate(coords_list): + df = pd.DataFrame(coords, columns=['x', 'y', 'z']) + dfs[f'block_{i}'] = df + return dfs + + def __repr__(self): + s = '<{} object>:\n'.format(type(self).__name__) + s += '|Main attributes:\n' + s += '| - filename: {}\n'.format(self.filename) + if 'dims' in self: + for i, dims in enumerate(self['dims']): + s += '| - dims[{}]: shape {}\n'.format(i, dims) + if 'coords' in self: + for i, coords in enumerate(self['coords']): + s += '| - coords[{}]: shape {}\n'.format(i, coords.shape) + s += '|Main methods:\n' + s += '| - read, write, toDataFrame, keys' + return s + + def toString(self): + """ """ + s = '' + return s + + def plot(self, ax=None, **kwargs): + """ + Plots the x, y coordinates as a scatter plot. + + Parameters + ---------- + ax : matplotlib.axes.Axes, optional + Existing matplotlib axes to plot on. If None, a new figure and axes are created. + **kwargs : dict + Additional keyword arguments passed to plt.scatter. + """ + import matplotlib.pyplot as plt + dfs = self.toDataFrame() + if isinstance(dfs, dict): + for key, df in dfs.items(): + if ax is None: + fig, ax = plt.subplots() + ax.scatter(df['x'], df['y'], label=key, **kwargs) + ax.legend() + else: + df = dfs + if ax is None: + fig, ax = plt.subplots() + ax.scatter(df['x'], df['y'], **kwargs) + ax.set_xlabel('x') + ax.set_ylabel('y') + ax.set_title('Plot3D x-y Scatter') + ax.axis('equal') + ax.grid(True) + return ax + + + + +# --------------------------------------------------------------------------------} +# --- Low level functions +# --------------------------------------------------------------------------------{ +def read_plot3d(filename, verbose=False, method='numpy', singleblock=False): + """ + Reads a simple multi-block Plot3D file (formatted, ASCII). + Returns: + coords_list: list of (n_points, 3) arrays, one per block + dims: (n_blocks, 3) list of (ni, nj, nk) + """ + coords_list = [] + if method == 'numpy': + dims = np.loadtxt(filename, skiprows=1, max_rows=1, dtype=int) + coords = np.loadtxt(filename, skiprows=2) + coords = coords.reshape((3, dims[0]*dims[1]*dims[2])).transpose() + dims = [dims] + coords_list = [coords] + else: + with open(filename, "r") as f: + nblocks = int(f.readline()) + dims = [] + for _ in range(nblocks): + dims.append(tuple(int(x) for x in f.readline().split())) + for block in range(nblocks): + ni, nj, nk = dims[block] + npts = ni * nj * nk + block_coords = np.zeros((npts, 3)) + for idim in range(3): + for k in range(nk): + for j in range(nj): + for i in range(ni): + idx = i + j * ni + k * ni * nj + val = float(f.readline()) + block_coords[idx, idim] = val + coords_list.append(block_coords) + if singleblock and len(coords_list) == 1: + return coords_list[0], dims[0] + if verbose: + for i, arr in enumerate(coords_list): + print(f"Block {i}: shape {arr.shape}, dims {dims[i]}") + x_min, x_max = arr[:, 0].min(), arr[:, 0].max() + y_min, y_max = arr[:, 1].min(), arr[:, 1].max() + z_min, z_max = arr[:, 2].min(), arr[:, 2].max() + print(f" x range: [{x_min:.6f}, {x_max:.6f}]") + print(f" y range: [{y_min:.6f}, {y_max:.6f}]") + print(f" z range: [{z_min:.6f}, {z_max:.6f}]") + return coords_list, dims + +def write_plot3d(filename, coords_list, dims, singleblock=False): + """ + Writes a simple multi-block Plot3D file (formatted, ASCII). + Args: + filename: Output file name + coords_list: list of (n_points, 3) arrays, one per block + dims: (n_blocks, 3) list of (ni, nj, nk) or a single (ni, nj, nk) + singleblock: If True, write as single block (no nblocks header) + """ + if singleblock: + coords_list = [coords_list] # Ensure coords_list is a list with one block + dims = [dims] # Ensure dims is a list with one block + # Ensure coords_list is a list + if not isinstance(coords_list, list): + coords_list = [coords_list] + with open(filename, "w") as f: + nblocks = len(coords_list) + f.write(f"{nblocks}\n") + + if nblocks == 1: + ni, nj, nk = dims if isinstance(dims, (list, tuple)) and len(dims) == 3 else dims[0] + f.write(f"{ni} {nj} {nk}\n") + coords = coords_list[0] + for idim in range(3): + for idx in range(coords.shape[0]): + f.write(f"{coords[idx, idim]}\n") + else: + for block, (coords, (ni, nj, nk)) in enumerate(zip(coords_list, dims)): + f.write(f"{ni} {nj} {nk}\n") + for idim in range(3): + for idx in range(coords.shape[0]): + f.write(f"{coords[idx, idim]}\n") + #for k in range(nk): + # for j in range(nj): + # for i in range(ni): + # idx = i + j * ni + k * ni * nj + # f.write(f"{coords[idx, idim]}\n") + + +if __name__ == '__main__': + import matplotlib.pyplot as plt + p3d = Plot3DFile('C:/Work/cfd/nalulib/examples/airfoils/naca0012_blunt.fmt') + print(p3d) + p3d.plot() + p3d.write('C:/Work/cfd/nalulib/examples/airfoils/_naca0012_blunt_out.fmt') + plt.show() + + diff --git a/openfast_toolbox/io/tests/example_files/CSVComma_UTF16.csv b/openfast_toolbox/io/tests/example_files/CSVComma_UTF16.csv new file mode 100644 index 0000000000000000000000000000000000000000..03e989f227af00eea1b24a0b68e7410b5caec954 GIT binary patch literal 326 zcmbu4-3ovp4292i&^!155&le<@Bd!anUW9)UBsBWv+Z-cPKSz&9m-SSXd7Mme$+=3 zB-SO?n`^rTfprN5p7Dx>y`5+J@#0DQr4DV*i|mUuB{BaXDkrlYeB*fX3ZwEtv<)k5 OwsR*+%iD}$On3uDl^;?7 literal 0 HcmV?d00001 diff --git a/openfast_toolbox/io/tests/example_files/input_decks/Elliptic_AD15_blade_40_dummy.dat b/openfast_toolbox/io/tests/example_files/input_decks/Elliptic_AD15_blade_40_dummy.dat new file mode 100644 index 0000000..b38b9d0 --- /dev/null +++ b/openfast_toolbox/io/tests/example_files/input_decks/Elliptic_AD15_blade_40_dummy.dat @@ -0,0 +1,46 @@ +AERODYN v15.00.* - BLADE DEFINITION INPUT FILE +Turbine EllipticWing, Generated by script Main_CreateModel.py V112-3.075MW - +--- Blade Properties --- +40 NumBlNds - Number of blade nodes used in the analysis (-) +BlSpn BlCrvAC BlSwpAC BlCrvAng BlTwist BlChord BlAFID +(m) (m) (m) (deg) (deg) (m) (-) + 0 0 0 0 0 1.00000000e-05 1 + 8.10672966e-03 0 0 0 0 8.05000000e-02 1 + 3.23743434e-02 0 0 0 0 1.60400000e-01 1 + 7.26454564e-02 0 0 0 0 2.39300000e-01 1 + 1.28658895e-01 0 0 0 0 3.16700000e-01 1 + 2.00051391e-01 0 0 0 0 3.92000000e-01 1 + 2.86359936e-01 0 0 0 0 4.64700000e-01 1 + 3.87024786e-01 0 0 0 0 5.34500000e-01 1 + 5.01393091e-01 0 0 0 0 6.00700000e-01 1 + 6.28723130e-01 0 0 0 0 6.63100000e-01 1 + 7.68189116e-01 0 0 0 0 7.21200000e-01 1 + 9.18886561e-01 0 0 0 0 7.74600000e-01 1 + 1.07983813e+00 0 0 0 0 8.23000000e-01 1 + 1.25000000e+00 0 0 0 0 8.66000000e-01 1 + 1.42826860e+00 0 0 0 0 9.03500000e-01 1 + 1.61348778e+00 0 0 0 0 9.35000000e-01 1 + 1.80445634e+00 0 0 0 0 9.60500000e-01 1 + 1.99993577e+00 0 0 0 0 9.79800000e-01 1 + 2.19865830e+00 0 0 0 0 9.92700000e-01 1 + 2.39933515e+00 0 0 0 0 9.99200000e-01 1 + 2.60066485e+00 0 0 0 0 9.99200000e-01 1 + 2.80134170e+00 0 0 0 0 9.92700000e-01 1 + 3.00006423e+00 0 0 0 0 9.79800000e-01 1 + 3.19554366e+00 0 0 0 0 9.60500000e-01 1 + 3.38651222e+00 0 0 0 0 9.35000000e-01 1 + 3.57173140e+00 0 0 0 0 9.03500000e-01 1 + 3.75000000e+00 0 0 0 0 8.66000000e-01 1 + 3.92016187e+00 0 0 0 0 8.23000000e-01 1 + 4.08111344e+00 0 0 0 0 7.74600000e-01 1 + 4.23181088e+00 0 0 0 0 7.21200000e-01 1 + 4.37127687e+00 0 0 0 0 6.63100000e-01 1 + 4.49860691e+00 0 0 0 0 6.00700000e-01 1 + 4.61297521e+00 0 0 0 0 5.34500000e-01 1 + 4.71364006e+00 0 0 0 0 4.64700000e-01 1 + 4.79994861e+00 0 0 0 0 3.92000000e-01 1 + 4.87134110e+00 0 0 0 0 3.16700000e-01 1 + 4.92735454e+00 0 0 0 0 2.39300000e-01 1 + 4.96762566e+00 0 0 0 0 1.60400000e-01 1 + 4.99189327e+00 0 0 0 0 8.05000000e-02 1 + 5 0 0 0 0 1.00000000e-05 1 diff --git a/openfast_toolbox/io/tests/test_all.py b/openfast_toolbox/io/tests/test_all.py new file mode 100644 index 0000000..989e0d9 --- /dev/null +++ b/openfast_toolbox/io/tests/test_all.py @@ -0,0 +1,69 @@ +import unittest +import glob +import openfast_toolbox.io as weio +import os +import numpy as np +from openfast_toolbox.io.tests.helpers_for_test import MyDir, reading_test + +class Test(unittest.TestCase): + def test_000_debug(self): + #fileformat,F = weio.detectFormat('_tests/FASTIn_ED_bld.dat') + #F = weio.CSVFile('_tests/CSVComma_Fail.csv') + #F = weio.FASTInFile('../_tests/FASTIn_ExtPtfm_SubSef.dat') + #F = weio.FASTLinFile('../_tests/FASTOutLin_New.lin') + #F = weio.TecplotFile('example_files/TecplotASCII_1.dat') + #dfs=F.toDataFrame() + #print(F.toDataFrame()) + #print(F) + #return + #print(fileformat) + pass + + def test_001_read_all(self): + DEBUG=True + nError=0 + for f in glob.glob(os.path.join(MyDir,'*.*')): + if os.path.splitext(f)[-1] in ['.py','.pyc'] or f.find('_TMP')>0: + continue + try: + fileformat=None + F=None + fileformat,F = weio.detectFormat(f) + #fr=weio.read(f,fileformat) + dfs = F.toDataFrame() + ## + if not isinstance(dfs,dict): + if dfs is None: + n = 0 + elif len(dfs)==0: + n = 0 + else: + n = 1 + else: + n=len(dfs) + ##print(fr.toDataFrame()) + s=fileformat.name + s=s.replace('file','')[:20] + if DEBUG: + print('[ OK ] {:30s}\t{:20s}\t{}'.format(os.path.basename(f)[:30],s,n)) + except weio.FormatNotDetectedError: + nError += 1 + if DEBUG: + print('[FAIL] {:30s}\tFormat not detected'.format(os.path.basename(f)[:30])) + except weio.OptionalImportError: + nError += 0 # Optional.. + if DEBUG: + print('[FAIL] {:30s}\tOptional package missing'.format(os.path.basename(f)[:30])) + except: + nError += 1 + if DEBUG: + print('[FAIL] {:30s}\tException occurred'.format(os.path.basename(f)[:30])) + #raise + + if nError>0: + raise Exception('Some tests failed') + + +if __name__ == '__main__': + #Test().test_000_debug() + unittest.main() diff --git a/openfast_toolbox/io/turbsim_file.py b/openfast_toolbox/io/turbsim_file.py index e3e7d55..3432aa2 100644 --- a/openfast_toolbox/io/turbsim_file.py +++ b/openfast_toolbox/io/turbsim_file.py @@ -442,10 +442,7 @@ def csd_lat(ts, ix0=None, iz0=None): """ Compute lateral cross spectral density If no index is provided, computed at mid box """ - try: - import scipy.signal as sig - except: - import pydatview.tools.spectral as sig + import scipy.signal as sig u, v, w = ts._latline(ix0=ix0, iz0=iz0, removeMean=True) t = ts['t'] dt = t[1]-t[0] @@ -459,10 +456,7 @@ def csd_vert(ts, ix0=None, iy0=None): """ Compute vertical cross spectral density If no index is provided, computed at mid box """ - try: - import scipy.signal as sig - except: - import pydatview.tools.spectral as sig + import scipy.signal as sig t = ts['t'] dt = t[1]-t[0] fs = 1/dt @@ -480,10 +474,7 @@ def coherence_longi(ts, iy0=None, iz0=None): """ Coherence on a longitudinal line for different delta y and delta z compared to a given point with index iy0,iz0 """ - try: - import scipy.signal as sig - except: - import pydatview.tools.spectral as sig + import scipy.signal as sig if iy0 is None: iy0,iz0 = ts.iMid u, v, w = ts._longiline(iy0=iy0, iz0=iz0, removeMean=True) @@ -544,7 +535,7 @@ def scale(self, new_mean=None, new_std=None, component=0, reference='mid', y_ref print('New std : {:7.3f} (target: {:7.3f}, old: {:7.3f})'.format(new_std2 , new_std , old_std)) def makePeriodic(self): - """ Make the box periodic in the streamwise direction by mirroring it """ + """ Make the box periodic in the streamwise direction by mirroring it - Periodic is ID=8""" nDim, nt0, ny, nz = self['u'].shape u = self['u'].copy() del self['u'] @@ -850,7 +841,7 @@ def fromAMRWind(self, filename, timestep, output_frequency, sampling_identifier, height to be written to turbsim as the reference height. if none is given, it is taken as the vertical centerpoint of the slice """ try: - from welib.wio.amrwind_file import AMRWindFile + from openfast_toolbox.io.amrwind_file import AMRWindFile except: try: from .amrwind_file import AMRWindFile diff --git a/openfast_toolbox/io/yaml_file.py b/openfast_toolbox/io/yaml_file.py new file mode 100644 index 0000000..bd24b0c --- /dev/null +++ b/openfast_toolbox/io/yaml_file.py @@ -0,0 +1,211 @@ +""" +Input/output class for YAML files, with special logic for wind turbine and polar data. +""" +import numpy as np +import pandas as pd +import os +import yaml + +try: + from .file import File, WrongFormatError, BrokenFormatError, EmptyFileError +except: + File = dict + EmptyFileError = type('EmptyFileError', (Exception,),{}) + WrongFormatError = type('WrongFormatError', (Exception,),{}) + BrokenFormatError = type('BrokenFormatError', (Exception,),{}) + +class YAMLFile(File): + """ + Read/write a YAML file. The object behaves as a dictionary. + + Main methods + ------------ + - read, write, toDataFrame, keys + + Examples + -------- + f = YAMLFile('file.yaml') + print(f.keys()) + dfs = f.toDataFrame() + print(dfs) + """ + + @staticmethod + def defaultExtensions(): + return ['.yaml', '.yml'] + + @staticmethod + def formatName(): + return 'YAML file' + + @staticmethod + def priority(): return 60 + + def __init__(self, filename=None, **kwargs): + self.filename = filename + if filename: + self.read(**kwargs) + + def read(self, filename=None, **kwargs): + if filename: + self.filename = filename + if not self.filename: + raise Exception('No filename provided') + if not os.path.isfile(self.filename): + raise OSError(2, 'File not found:', self.filename) + if os.stat(self.filename).st_size == 0: + raise EmptyFileError('File is empty:', self.filename) + + with open(self.filename, 'r', encoding='utf-8') as f: + data = yaml.safe_load(f) + self.clear() + self.update(data) # We are a dictionary-like object + + def write(self, filename=None): + if filename: + self.filename = filename + if not self.filename: + raise Exception('No filename provided') + + with open(self.filename, 'w', encoding='utf-8') as f: + yaml.dump(dict(self), f, default_flow_style=False) + + + + def toDataFrame(self): + """ + Loops through all keys in the YAML file, detects 1D and 2D arrays, + and combines all 1D arrays with the same length into a DataFrame. + Column names are made unique using the minimal chain of keys necessary. + The DataFrame key is based on the common parent of the arrays being combined. + Returns a dictionary of DataFrames. + """ + import collections + + def is_1d_array(val): + return isinstance(val, (list, np.ndarray)) and all(isinstance(x, (int, float)) for x in val) + + def is_2d_array(val): + return ( + isinstance(val, (list, np.ndarray)) + and len(val) > 0 + and isinstance(val[0], (list, np.ndarray)) + and all(isinstance(row, (list, np.ndarray)) for row in val) + ) + + # Recursively walk the dict, collecting arrays and their key chains + arrays_1d = [] + arrays_2d = [] + + def walk(d, chain=None): + if chain is None: + chain = [] + if isinstance(d, dict): + for k, v in d.items(): + walk(v, chain + [k]) + elif is_1d_array(d): + arrays_1d.append((tuple(chain), d)) + elif is_2d_array(d): + arrays_2d.append((tuple(chain), d)) + + walk(self) + + # Group 1D arrays by their length + length_map = collections.defaultdict(list) + for chain, arr in arrays_1d: + length_map[len(arr)].append((chain, arr)) + + dfs = {} + parent_counter = collections.defaultdict(int) + for arrlen, arrlist in length_map.items(): + if arrlen == 0 or len(arrlist) < 2: + continue # skip empty or single columns + + # Find minimal unique suffix for each chain (for column names) + all_chains = [chain for chain, arr in arrlist] + min_suffixes = {} + for i, chain in enumerate(all_chains): + for n in range(1, len(chain)+1): + suffix = chain[-n:] + if sum([other[-n:] == suffix for other in all_chains]) == 1: + min_suffixes[chain] = suffix + break + else: + min_suffixes[chain] = chain # fallback + + # Find common parent for all chains + def common_prefix(chains): + if not chains: + return () + min_len = min(len(c) for c in chains) + prefix = [] + for i in range(min_len): + vals = set(c[i] for c in chains) + if len(vals) == 1: + prefix.append(chains[0][i]) + else: + break + return tuple(prefix) + parent = common_prefix(all_chains) + parent_str = "_".join(str(k) for k in parent) if parent else "root" + parent_counter[parent_str] += 1 + key = parent_str + if parent_counter[parent_str] > 1: + key = f"{parent_str}_{parent_counter[parent_str]}" + + # Build DataFrame dict + df_dict = {} + for chain, arr in arrlist: + colname = "_".join(str(k) for k in min_suffixes[chain]) + df_dict[colname] = arr + if df_dict: + # --- Special logic for "_grid" columns --- + grid_cols = [c for c in df_dict if c.endswith("_grid")] + if grid_cols and len(grid_cols) > 1: + # Check if all grid columns have the same content + first_grid = df_dict[grid_cols[0]] + if all(np.array_equal(df_dict[c], first_grid) for c in grid_cols[1:]): + # Remove all grid columns + for c in grid_cols: + df_dict.pop(c) + # Insert 'grid' as first column + df_dict = {'grid': first_grid, **df_dict} + # --- Remove "_values" suffix from columns --- + new_df_dict = {} + for c in df_dict: + if c.endswith("_values"): + new_c = c[:-7] + else: + new_c = c + new_df_dict[new_c] = df_dict[c] + df_dict = new_df_dict + dfs[key] = pd.DataFrame(df_dict) + + # Add 2D arrays as their own DataFrames + for chain, arr in arrays_2d: + ncols = len(arr[0]) + colnames = [] + for i in range(ncols): + colname = "_".join(str(k) for k in chain + (f"col{i+1}",)) + colnames.append(colname) + df = pd.DataFrame(arr, columns=colnames) + key = "_".join(str(k) for k in chain) + "_2d" + dfs[key] = df + + if not dfs: + return None + return dfs + + def __repr__(self): + s = '<{} object>:\n'.format(type(self).__name__) + s += '|Main attributes:\n' + s += '| - filename: {}\n'.format(self.filename) + s += '|Main keys:\n' + for k in self.keys(): + s += '| - {}\n'.format(k) + s += '|Main methods:\n' + s += '| - read, write, toDataFrame, keys' + return s + + def toString(self): + return yaml.dump(dict(self), default_flow_style=False) \ No newline at end of file diff --git a/openfast_toolbox/linearization/__init__.py b/openfast_toolbox/linearization/__init__.py index 71ed960..d02cd4b 100644 --- a/openfast_toolbox/linearization/__init__.py +++ b/openfast_toolbox/linearization/__init__.py @@ -11,6 +11,7 @@ from openfast_toolbox.linearization.campbell_data import IdentifyModes from openfast_toolbox.linearization.campbell_data import IdentifiedModesDict from openfast_toolbox.linearization.campbell_data import printCampbellDataOP +from openfast_toolbox.linearization.campbell_data import freqDampCampbellDataOP from openfast_toolbox.linearization.campbell_data import campbellData2TXT from openfast_toolbox.linearization.campbell_data import extractShortModeDescription from openfast_toolbox.linearization.campbell_data import campbell_diagram_data_oneOP diff --git a/openfast_toolbox/linearization/campbell_data.py b/openfast_toolbox/linearization/campbell_data.py index ea6bd59..13f6c46 100644 --- a/openfast_toolbox/linearization/campbell_data.py +++ b/openfast_toolbox/linearization/campbell_data.py @@ -171,6 +171,11 @@ def getScaleFactors(DescStates, TowerLen, BladeLen): return ScalingFactor +def freqDampCampbellDataOP(CDDOP, nModesMax=15, nCharMaxDesc=50) : + nModesMax = np.min([len(CDDOP['Modes']),nModesMax]) + Freq = np.array([CDDOP['Modes'][i]['NaturalFreq_Hz'] for i in np.arange(nModesMax)]) + Damp = np.array([CDDOP['Modes'][i]['DampingRatio'] for i in np.arange(nModesMax)]) + return Freq, Damp def printCampbellDataOP(CDDOP, nModesMax=15, nCharMaxDesc=50) : """ diff --git a/openfast_toolbox/linearization/examples/ex1a_OneLinFile_SimpleEigenAnalysis.py b/openfast_toolbox/linearization/examples/ex1a_OneLinFile_SimpleEigenAnalysis.py index bc1aaa1..3865b9a 100644 --- a/openfast_toolbox/linearization/examples/ex1a_OneLinFile_SimpleEigenAnalysis.py +++ b/openfast_toolbox/linearization/examples/ex1a_OneLinFile_SimpleEigenAnalysis.py @@ -14,19 +14,14 @@ # --- Open lin File linFile = os.path.join(scriptDir, '../../../data/NREL5MW/5MW_Land_Lin_BladeOnly/Main.1.lin') lin = FASTLinearizationFile(linFile) -print('Keys available:',lin.keys()) # --- Perform eigenvalue analysis #fd, zeta, Q, f0 = eigA(lin['A']) fd, zeta, Q, f0 = lin.eva() -print('Nat. freq. [Hz], Damping ratio [%]') -print(np.column_stack((np.around(f0,4),np.around(zeta*100,4)))) # --- Using dataframes instead of numpy arrays for convenient indexing of variables dfs = lin.toDataFrame() -print('Dataframe available:',dfs.keys()) A = dfs['A'] -print(A.columns) # --- Extract sub matrix for tower degrees of freedom #EDdof = ['qt1FA_[m]' ,'qt1SS_[m]' ,'qt2FA_[m]' ,'qt2SS_[m]'] @@ -36,8 +31,11 @@ if __name__=='__main__': - np.testing.assert_almost_equal(fd[:3], [0.672, 1.079,1.981],3) - np.testing.assert_almost_equal(zeta[:3]*100, [0.474, 0.471,0.489],3) + print('Keys available:',lin.keys()) + print('Nat. freq. [Hz], Damping ratio [%]') + print(np.column_stack((np.around(f0,4),np.around(zeta*100,4)))) + print('Dataframe available:',dfs.keys()) + print(A.columns) if __name__=='__test__': np.testing.assert_almost_equal(fd[:3], [0.672, 1.079,1.981],3) diff --git a/openfast_toolbox/linearization/examples/ex1b_OneLinFile_NoRotation.py b/openfast_toolbox/linearization/examples/ex1b_OneLinFile_NoRotation.py index 911b708..6cb9b8b 100644 --- a/openfast_toolbox/linearization/examples/ex1b_OneLinFile_NoRotation.py +++ b/openfast_toolbox/linearization/examples/ex1b_OneLinFile_NoRotation.py @@ -22,12 +22,12 @@ # Performing MBC (NOTE: not stricly necessary without rotation) CDDOP, MBC = lin.getCampbellDataOP([lin_file], BladeLen=BladeLen, TowerLen=TowerLen) -# Outputs to screen -Freq,Damp = lin.printCampbellDataOP(CDDOP, nModesMax=10, nCharMaxDesc=50) if __name__=='__main__': - pass + # Outputs to screen + Freq,Damp = lin.printCampbellDataOP(CDDOP, nModesMax=10, nCharMaxDesc=50) if __name__=='__test__': + Freq,Damp = lin.freqDampCampbellDataOP(CDDOP, nModesMax=10) np.testing.assert_almost_equal(Freq[:3] ,[0.427, 0.450, 0.669], 3) np.testing.assert_almost_equal(Damp[:3]*np.pi*2*100,[1.9505,2.1309,5.0649], 4) diff --git a/openfast_toolbox/linearization/examples/ex2a_MultiLinFiles_OneOP.py b/openfast_toolbox/linearization/examples/ex2a_MultiLinFiles_OneOP.py index ef450ff..4fdf1c0 100644 --- a/openfast_toolbox/linearization/examples/ex2a_MultiLinFiles_OneOP.py +++ b/openfast_toolbox/linearization/examples/ex2a_MultiLinFiles_OneOP.py @@ -27,12 +27,12 @@ # --- Write Viz file vizfile = lin.writeVizFile(fstFile, verbose=True, **vizDict) -# --- Outputs to screen -Freq,Damp = lin.printCampbellDataOP(CDDOP, nModesMax=10, nCharMaxDesc=50) if __name__=='__main__': - pass + # --- Outputs to screen + Freq,Damp = lin.printCampbellDataOP(CDDOP, nModesMax=10, nCharMaxDesc=50) if __name__=='__test__': + Freq,Damp = lin.freqDampCampbellDataOP(CDDOP, nModesMax=10) np.testing.assert_almost_equal(Freq[:4], [0.588, 0.722 , 0.842, 0.937],3) np.testing.assert_almost_equal(Damp[:4]*100, [63.106, 52.529, 44.01, 1.634],3) diff --git a/openfast_toolbox/linearization/examples/ex3a_MultiLinFile_Campbell.py b/openfast_toolbox/linearization/examples/ex3a_MultiLinFile_Campbell.py index 2985408..03f0f35 100644 --- a/openfast_toolbox/linearization/examples/ex3a_MultiLinFile_Campbell.py +++ b/openfast_toolbox/linearization/examples/ex3a_MultiLinFile_Campbell.py @@ -21,6 +21,7 @@ # Get current directory so this script can be called from any location scriptDir = os.path.dirname(__file__) +verbose = __name__!='__test__' # --- Script Parameters fstFiles = glob.glob(os.path.join(scriptDir,'../../../data/linearization_outputs/*.fst')) # list of fst files where linearization were run, lin file will be looked for @@ -29,7 +30,7 @@ # --- Step 3: Run MBC, identify Modes, generate CSV files, and binary modes # Find lin files, perform MBC, and try to identify modes. A csv file is written with the mode IDs. -OP, Freq, Damp, UnMapped, ModeData, modeID_file = lin.postproCampbell(fstFiles, writeModes=True, verbose=True) +OP, Freq, Damp, UnMapped, ModeData, modeID_file = lin.postproCampbell(fstFiles, writeModes=True, verbose=verbose) # Edit the mode ID file manually to better identify/distribute the modes print('[TODO] Edit this file manually: ',modeID_file) @@ -44,7 +45,7 @@ # --- Step 5a: Write viz files (Only useful if OpenFAST was run with WrVTK=3) vizDict = {'VTKLinModes':2, 'VTKLinScale':10} # Options for .viz file. Default values are: VTKLinModes=15, VTKLinScale=10, VTKLinTim=1, VTKLinTimes1=True, VTKLinPhase=0, VTKModes=None -vizFiles = lin.writeVizFiles(fstFiles, verbose=True, **vizDict) +vizFiles = lin.writeVizFiles(fstFiles, verbose=verbose, **vizDict) # --- Step 5b: Run FAST with VIZ files to generate VTKs import openfast_toolbox.case_generation.runner as runner diff --git a/openfast_toolbox/postpro/postpro.py b/openfast_toolbox/postpro/postpro.py index c03485d..66ed21e 100644 --- a/openfast_toolbox/postpro/postpro.py +++ b/openfast_toolbox/postpro/postpro.py @@ -5,8 +5,10 @@ import re try: from scipy.integrate import cumulative_trapezoid + from numpy import trapezoid except: from scipy.integrate import cumtrapz as cumulative_trapezoid + from numpy import trapz as trapezoid import openfast_toolbox.io as weio from openfast_toolbox.common import PYFASTException as WELIBException @@ -15,6 +17,7 @@ from openfast_toolbox.io.fast_input_file import FASTInputFile from openfast_toolbox.io.fast_output_file import FASTOutputFile from openfast_toolbox.io.fast_input_deck import FASTInputDeck +from openfast_toolbox.tools.stats import bin_DF import openfast_toolbox.fastfarm.fastfarm as fastfarm # --------------------------------------------------------------------------------} @@ -741,8 +744,9 @@ def spanwiseColAD(Cols): ADSpanMap['^[A]*'+sB+r'N(\d*)TnInd_\[-\]' ] =sB+'TnInd_[-]' ADSpanMap['^[A]*'+sB+r'N(\d*)AxInd_qs_\[-\]' ]=sB+'AxInd_qs_[-]' ADSpanMap['^[A]*'+sB+r'N(\d*)TnInd_qs_\[-\]' ]=sB+'TnInd_qs_[-]' - ADSpanMap['^[A]*'+sB+r'N(\d*)BEM_kp_qs\[-\]' ]=sB+'BEM_kp_qs_[-]' - ADSpanMap['^[A]*'+sB+r'N(\d*)BEM_F_qs\[-\]' ]=sB+'BEM_F_qs_[-]' + ADSpanMap['^[A]*'+sB+r'N(\d*)BEM_k_qs_\[-\]' ]=sB+'BEM_k_qs_[-]' + ADSpanMap['^[A]*'+sB+r'N(\d*)BEM_kp_qs_\[-\]' ]=sB+'BEM_kp_qs_[-]' + ADSpanMap['^[A]*'+sB+r'N(\d*)BEM_F_qs_\[-\]' ]=sB+'BEM_F_qs_[-]' ADSpanMap['^[A]*'+sB+r'N(\d*)BEM_CT_qs_\[-\]' ]=sB+'BEM_CT_qs_[-]' ADSpanMap['^[A]*'+sB+r'N(\d*)Chi_\[deg\]' ]=sB+'Chi_[deg]' ADSpanMap['^[A]*'+sB+r'N(\d*)Cl_\[-\]' ] =sB+'Cl_[-]' @@ -771,6 +775,9 @@ def spanwiseColAD(Cols): ADSpanMap['^[A]*'+sB+r'N(\d*)Vindxa_\[m/s\]'] =sB+'Vindxa_[m/s]' ADSpanMap['^[A]*'+sB+r'N(\d*)Vindya_\[m/s\]'] =sB+'Vindya_[m/s]' ADSpanMap['^[A]*'+sB+r'N(\d*)Vindza_\[m/s\]'] =sB+'Vindza_[m/s]' + ADSpanMap['^[A]*'+sB+r'N(\d*)Vindxl_\[m/s\]'] =sB+'Vindxl_[m/s]' + ADSpanMap['^[A]*'+sB+r'N(\d*)Vindyl_\[m/s\]'] =sB+'Vindyl_[m/s]' + ADSpanMap['^[A]*'+sB+r'N(\d*)Vindzl_\[m/s\]'] =sB+'Vindzl_[m/s]' ADSpanMap['^[A]*'+sB+r'N(\d*)Fx_\[N/m\]' ] =sB+'Fx_[N/m]' ADSpanMap['^[A]*'+sB+r'N(\d*)Fy_\[N/m\]' ] =sB+'Fy_[N/m]' ADSpanMap['^[A]*'+sB+r'N(\d*)Fxi_\[N/m\]' ] =sB+'Fxi_[N/m]' @@ -785,6 +792,12 @@ def spanwiseColAD(Cols): ADSpanMap['^[A]*'+sB+r'N(\d*)Mxp_\[N-m/m\]' ] =sB+'Mxp_[N-m/m]' ADSpanMap['^[A]*'+sB+r'N(\d*)Myp_\[N-m/m\]' ] =sB+'Myp_[N-m/m]' ADSpanMap['^[A]*'+sB+r'N(\d*)Mzp_\[N-m/m\]' ] =sB+'Mzp_[N-m/m]' + ADSpanMap['^[A]*'+sB+r'N(\d*)Fxl_\[N/m\]' ] =sB+'Fxl_[N/m]' + ADSpanMap['^[A]*'+sB+r'N(\d*)Fyl_\[N/m\]' ] =sB+'Fyl_[N/m]' + ADSpanMap['^[A]*'+sB+r'N(\d*)Fzl_\[N/m\]' ] =sB+'Fzl_[N/m]' + ADSpanMap['^[A]*'+sB+r'N(\d*)Mxl_\[N-m/m\]' ] =sB+'Mxl_[N-m/m]' + ADSpanMap['^[A]*'+sB+r'N(\d*)Myl_\[N-m/m\]' ] =sB+'Myl_[N-m/m]' + ADSpanMap['^[A]*'+sB+r'N(\d*)Mzl_\[N-m/m\]' ] =sB+'Mzl_[N-m/m]' ADSpanMap['^[A]*'+sB+r'N(\d*)Fl_\[N/m\]' ] =sB+'Fl_[N/m]' ADSpanMap['^[A]*'+sB+r'N(\d*)Fd_\[N/m\]' ] =sB+'Fd_[N/m]' ADSpanMap['^[A]*'+sB+r'N(\d*)Fn_\[N/m\]' ] =sB+'Fn_[N/m]' @@ -830,7 +843,6 @@ def spanwiseColAD(Cols): ADSpanMap['^[A]*'+sB+r'N(\d*)BEM_k_\[-\]' ] =sB+'BEM_k_qs_[-]' ADSpanMap['^[A]*'+sB+r'N(\d*)BEM_kp_\[-\]' ] =sB+'BEM_kp_qs_[-]' ADSpanMap['^[A]*'+sB+r'N(\d*)BEM_F_\[-\]' ] =sB+'BEM_F_qs_[-]' - ADSpanMap['^[A]*'+sB+r'N(\d*)BEM_k_qs\[-\]'] =sB+'BEM_k_qs_[-]' ADSpanMap['^[A]*'+sB+r'N(\d*)AOA_\[deg\]' ] =sB+'Alpha_[deg]' # DBGOuts ADSpanMap['^[A]*'+sB+r'N(\d*)AIn_\[deg\]' ] =sB+'AxInd_[-]' # DBGOuts NOTE BUG Unit ADSpanMap['^[A]*'+sB+r'N(\d*)ApI_\[deg\]' ] =sB+'TnInd_[-]' # DBGOuts NOTE BUG Unit @@ -895,10 +907,7 @@ def insert_extra_columns_AD(dfRad, tsAvg, vr=None, rho=None, R=None, nB=None, ch Ct=nB*Fx/(0.5 * rho * 2 * U0**2 * np.pi * vr) Ct[vr<0.01*R] = 0 dfRad[sB+'Ctloc_[-]'] = Ct - try: - CT=2*np.trapezoid(vr_bar*Ct,vr_bar) - except: - CT=2*np.trapz(vr_bar*Ct,vr_bar) + CT=2*trapezoid(vr_bar*Ct,vr_bar) dfRad[sB+'CtAvg_[-]']= CT*np.ones(vr.shape) except: pass @@ -916,7 +925,7 @@ def insert_extra_columns_AD(dfRad, tsAvg, vr=None, rho=None, R=None, nB=None, ch -def spanwisePostPro(FST_In=None,avgMethod='constantwindow',avgParam=5,out_ext='.outb',df=None): +def spanwisePostPro(FST_In=None, avgMethod='constantwindow', avgParam=5, out_ext='.outb', df=None): """ Postprocess FAST radial data. if avgMethod is not None: Average the time series, return a dataframe nr x nColumns @@ -938,7 +947,7 @@ def spanwisePostPro(FST_In=None,avgMethod='constantwindow',avgParam=5,out_ext='. # NOTE: spanwise script doest not support duplicate columns df = df.loc[:,~df.columns.duplicated()] if avgMethod is not None: - dfAvg = averageDF(df,avgMethod=avgMethod ,avgParam=avgParam, filename=filename) # NOTE: average 5 last seconds + dfAvg = averageDF(df,avgMethod=avgMethod ,avgParam=avgParam, filename=filename) else: dfAvg=df # --- The script assume '_' between units and colnames @@ -986,6 +995,7 @@ def spanwisePostPro(FST_In=None,avgMethod='constantwindow',avgParam=5,out_ext='. out['df'] = df out['dfAvg'] = dfAvg # --- Extract radial data and export to csv if needed + # TODO for loop on stats here. # --- AD ColsInfoAD, nrMaxAD = spanwiseColAD(Cols) dfRad_AD = extract_spanwise_data(ColsInfoAD, nrMaxAD, df=None, ts=dfAvg.iloc[0]) @@ -1297,6 +1307,9 @@ def remap_df(df, ColMap, bColKeepNewOnly=False, inPlace=False, dataDict=None, ve 'WS_[m/s]' : '{Wind1VelX_[m/s]}' , # create a new column from existing one 'RtTSR_[-]' : '{RtTSR_[-]} * 2 + {RtAeroCt_[-]}' , # change value of column 'RotSpeed_[rad/s]' : '{RotSpeed_[rpm]} * 2*np.pi/60 ', # new column [rpm] -> [rad/s] + 'R_[m]' : '{ones} * 15' , # Create a constant columns + 'R_[m]' : '{ones} * R' , # use dataDict['R'] + 'U_[m/s]' : 'U' , # use dataDict['U'] 'q_p' : ['Q_P_[rad]', '{PtfmSurge_[deg]}*np.pi/180'] # List of possible matches } # Read @@ -1324,7 +1337,10 @@ def remap_df(df, ColMap, bColKeepNewOnly=False, inPlace=False, dataDict=None, ve else: values = v Found = False + ColMapMissLoc=[] for v in values: + if v=='': + v=k # <<< If Value is empty, we reproduce it v=v.strip() if Found: break # We avoid replacing twice @@ -1338,10 +1354,13 @@ def remap_df(df, ColMap, bColKeepNewOnly=False, inPlace=False, dataDict=None, ve bFail=False for item in search_results: col=item.group(0)[1:-1] - if col not in df.columns: - ColMapMiss.append(col) + if col=='ones': + expr=expr.replace(item.group(0),'np.ones({:d})'.format(df.shape[0])) + elif col not in df.columns: + ColMapMissLoc.append(col) bFail=True - expr=expr.replace(item.group(0),'df[\''+col+'\']') + else: + expr=expr.replace(item.group(0),'df[\''+col+'\']') #print(k0, '=', expr) if not bFail: df[k]=eval(expr) @@ -1351,7 +1370,7 @@ def remap_df(df, ColMap, bColKeepNewOnly=False, inPlace=False, dataDict=None, ve else: #print(k0,'=',v) if v not in df.columns: - ColMapMiss.append(v) + ColMapMissLoc.append(v) if verbose: print('[WARN] Column not present in dataframe: ',v) else: @@ -1360,6 +1379,14 @@ def remap_df(df, ColMap, bColKeepNewOnly=False, inPlace=False, dataDict=None, ve else: RenameMap[k]=v Found=True + if len(values)>0: + if Found: + pass + else: + ColMapMiss+=ColMapMissLoc + else: + ColMapMiss+=ColMapMissLoc + # Applying renaming only now so that expressions may be applied in any order for k,v in RenameMap.items(): @@ -1612,29 +1639,17 @@ def radialInterpTS(df, r, varName, r_ref, blade=1, bldFmt='AB{:d}', ndFmt='N{:03 raise NotImplementedError() - -def bin_mean_DF(df, xbins, colBin ): - """ - Perform bin averaging of a dataframe - """ - if colBin not in df.columns.values: - raise Exception('The column `{}` does not appear to be in the dataframe'.format(colBin)) - xmid = (xbins[:-1]+xbins[1:])/2 - df['Bin'] = pd.cut(df[colBin], bins=xbins, labels=xmid ) # Adding a column that has bin attribute - df2 = df.groupby('Bin', observed=False).mean() # Average by bin - # also counting - df['Counts'] = 1 - dfCount=df[['Counts','Bin']].groupby('Bin', observed=False).sum() - df2['Counts'] = dfCount['Counts'] - # Just in case some bins are missing (will be nan) - df2 = df2.reindex(xmid) - return df2 - -def azimuthal_average_DF(df, psiBin=None, colPsi='Azimuth_[deg]', tStart=None, colTime='Time_[s]', periodic=False, nPeriods=None): +def azimuthal_average_DF(df, psiBin=None, colPsi='Azimuth_[deg]', tStart=None, colTime='Time_[s]', periodic=False, nPeriods=None, stats=None): """ Average a dataframe based on azimuthal value Returns a dataframe with same amount of columns as input, and azimuthal values as index + A list of dataframes is returned if multiple statistics are requested, e.g. avg, min, max, std + INPUTS: + - stats: list of statistics to be computed, in: ['avg', 'max', 'min', 'std] """ + if stats is None: + stats=['avg'] + if psiBin is None: psiBin = np.arange(0,360+1,10) @@ -1647,18 +1662,21 @@ def azimuthal_average_DF(df, psiBin=None, colPsi='Azimuth_[deg]', tStart=None, c raise Exception('The column `{}` does not appear to be in the dataframe'.format(colTime)) df=df[ df[colTime]>tStart].copy() - dfPsi= bin_mean_DF(df, psiBin, colPsi) - if np.any(dfPsi['Counts']<1): + dfsPsi= bin_DF(df, psiBin, colPsi, stats=stats) # Returns a list of df for each statistics, e.g. , min, max, avg, std + if np.any(dfsPsi[0]['Counts']<1): print('[WARN] some bins have no data! Increase the bin size.') if periodic: # TODO, I should probably figure out a better way to do that - I = dfPsi.index.values - DI = I[1]-I[0] - dfEnd = pd.DataFrame(data=dfPsi.loc[I[0:1]].values, columns=dfPsi.columns, index=[I[-1]+DI]) - dfPsi = pd.concat([dfPsi, dfEnd], axis=0) - - return dfPsi + for i, dfPsi in enumerate(dfsPsi): + I = dfPsi.index.values + DI = I[1]-I[0] + dfEnd = pd.DataFrame(data=dfPsi.loc[I[0:1]].values, columns=dfPsi.columns, index=[I[-1]+DI]) + dfsPsi[i] = pd.concat([dfPsi, dfEnd], axis=0) + if len(stats)==1: + return dfsPsi[0] # for backward compatibility + else: + return dfsPsi def findPeriodTimeRange(df, nPeriods=3, filename='', colPsi=None, colTime=None): @@ -1707,10 +1725,12 @@ def findPeriodTimeRange(df, nPeriods=3, filename='', colPsi=None, colTime=None): tStart=time[iBef[-1-nPeriods]] return tStart, tEnd -def averageDF(df,avgMethod='periods',avgParam=None,ColMap=None,ColKeep=None,ColSort=None,stats=['mean'], filename=''): +def averageDF(df, avgMethod='periods', avgParam=None, ColMap=None, ColKeep=None, ColSort=None, stats=None, filename=''): """ - See average PostPro for documentation, same interface, just does it for one dataframe + See spanwisePostPro for documentation, same interface, just does it for one dataframe """ + if stats is None: + stats=['avg'] def renameCol(x): for k,v in ColMap.items(): if x==v: @@ -1770,10 +1790,10 @@ def renameCol(x): IWindow = np.where((time>=tStart) & (time<=tEnd) & (~np.isnan(time)))[0] iEnd = IWindow[-1] iStart = IWindow[0] - ## Absolute and relative differences at window extremities - DeltaValuesAbs=(df.iloc[iEnd]-df.iloc[iStart]).abs() -# DeltaValuesRel=(df.iloc[iEnd]-df.iloc[iStart]).abs()/df.iloc[iEnd] - DeltaValuesRel=(df.iloc[IWindow].max()-df.iloc[IWindow].min())/df.iloc[IWindow].mean() + ## Absolute and relative differences at window extremities to check for periodicity.. + #DeltaValuesAbs=(df.iloc[iEnd]-df.iloc[iStart]).abs() + # DeltaValuesRel=(df.iloc[iEnd]-df.iloc[iStart]).abs()/df.iloc[iEnd] + #DeltaValuesRel=(df.iloc[IWindow].max()-df.iloc[IWindow].min())/df.iloc[IWindow].mean() #EndValues=df.iloc[iEnd] #if avgMethod.lower()=='periods_omega': # if DeltaValuesRel['RotSpeed_[rpm]']*100>5: @@ -1781,11 +1801,22 @@ def renameCol(x): ## Stats values during window # MeanValues = df[IWindow].mean() # StdValues = df[IWindow].std() - if 'mean' in stats: - MeanValues = pd.DataFrame(df.iloc[IWindow].mean()).transpose() + dfs = [] + for stat in stats: + if stat=='avg' or stat=='mean': + dfs.append (pd.DataFrame(df.iloc[IWindow].mean()).transpose() ) + elif stat=='min': + dfs.append (pd.DataFrame(df.iloc[IWindow].min()).transpose() ) + elif stat=='max': + dfs.append (pd.DataFrame(df.iloc[IWindow].max()).transpose() ) + elif stat=='std': + dfs.append (pd.DataFrame(df.iloc[IWindow].std()).transpose() ) + else: + raise NotImplementedError(f'Stat {stat}') + if len(stats)==1: + return dfs[0] # backward compatibility else: - raise NotImplementedError() - return MeanValues + return dfs def FAIL(msg): HEADER = '\033[95m' @@ -1903,7 +1934,7 @@ def averagePostPro(outFiles_or_DFs,avgMethod='periods',avgParam=None, try: result.iloc[i] = MeanValues.iloc[0] except: - import pdb; pdb.set_trace() + raise if len(invalidFiles)==len(outFiles_or_DFs): @@ -1930,10 +1961,7 @@ def integrateMoment(r, F): """ M = np.zeros(len(r)-1) for ir,_ in enumerate(r[:-1]): - try: - M[ir] = np.trapezoid(F[ir:]*(r[ir:]-r[ir]), r[ir:]-r[ir]) - except: - M[ir] = np.trapz(F[ir:]*(r[ir:]-r[ir]), r[ir:]-r[ir]) + M[ir] = trapezoid(F[ir:]*(r[ir:]-r[ir]), r[ir:]-r[ir]) return M def integrateMomentTS(r, F): diff --git a/openfast_toolbox/tools/curve_fitting.py b/openfast_toolbox/tools/curve_fitting.py index 27c89b0..b85aa79 100644 --- a/openfast_toolbox/tools/curve_fitting.py +++ b/openfast_toolbox/tools/curve_fitting.py @@ -186,17 +186,19 @@ def fit_polynomial_discrete(x, y, exponents): return y_fit,pfit,{'coeffs':coeffs_dict,'formula':formula} -def fit_powerlaw_u_alpha(x, y, z_ref=100, p0=(10,0.1)): +def fit_powerlaw_u_alpha(x, u, z_ref=100, p0=(10,0.1)): """ + x is z + y is u p[0] : u_ref p[1] : alpha """ - pfit, _ = so.curve_fit(lambda x, *p : p[0] * (x / z_ref) ** p[1], x, y, p0=p0) - y_fit = pfit[0] * (x / z_ref) ** pfit[1] + pfit, _ = so.curve_fit(lambda x, *p : p[0] * (x / z_ref) ** p[1], x, u, p0=p0) + u_fit = pfit[0] * (x / z_ref) ** pfit[1] coeffs_dict=OrderedDict([('u_ref',pfit[0]),('alpha',pfit[1])]) formula = '{u_ref} * (z / {z_ref}) ** {alpha}' fitted_fun = lambda xx: pfit[0] * (xx / z_ref) ** pfit[1] - return y_fit, pfit, {'coeffs':coeffs_dict,'formula':formula,'fitted_function':fitted_fun} + return u_fit, pfit, {'coeffs':coeffs_dict,'formula':formula,'fitted_function':fitted_fun} def polyfit2d(x, y, z, kx=3, ky=3, order=None): @@ -980,7 +982,7 @@ def func(x, p): self.model['consts'], missing = set_common_keys(self.model['consts'], fun_kwargs ) if len(missing)>0: - raise Exception('Curve fitting with function `{}` requires the following arguments {}. Missing: {}'.format(func.__name__,consts.keys(),missing)) + raise Exception('Curve fitting with function `{}` requires the following arguments {}. Missing: {}'.format(func,self.model['consts'].keys(),missing)) # --------------------------------------------------------------------------------} # --- Wrapper for predefined fitters @@ -1557,6 +1559,15 @@ def pretty_num_short(x,digits=3): if __name__ == '__main__': + + + # --- Some usual examples + # ufit, pfit, fitter = model_fit('predef: powerlaw_alpha', yi, ui, p0=(1/7), u_ref=u_ref,z_ref=zref); dfit=fitter.model + # ufit, pfit, fitter = model_fit('predef: powerlaw_u_alpha', yi, ui, p0=(u_ref, 1/7), z_ref=zref); dfit=fitter.model + # ufit, pfit, dfit = fit_powerlaw_u_alpha(yi, ui, zref, p0=(u_ref, 1/7)) + + + # --- Writing example models to file for pyDatView tests a,b,c = 2.0, 3.0, 4.0 u_ref,z_ref,alpha=10,12,0.12 diff --git a/openfast_toolbox/tools/pandalib.py b/openfast_toolbox/tools/pandalib.py index e12f649..de3dfdd 100644 --- a/openfast_toolbox/tools/pandalib.py +++ b/openfast_toolbox/tools/pandalib.py @@ -7,7 +7,7 @@ def pd_interp1(x_new, xLabel, df): """ Interpolate a panda dataframe based on a set of new value This function assumes that the dataframe is a simple 2d-table """ - from openfast_toolbox.tools.signal_analysis import multiInterp + from .signal_analysis import multiInterp x_old = df[xLabel].values data_new=multiInterp(x_new, x_old, df.values.T) return pd.DataFrame(data=data_new.T, columns=df.columns.values) diff --git a/openfast_toolbox/tools/signal_analysis.py b/openfast_toolbox/tools/signal_analysis.py index 7e065bc..d14df7b 100644 --- a/openfast_toolbox/tools/signal_analysis.py +++ b/openfast_toolbox/tools/signal_analysis.py @@ -426,31 +426,44 @@ def zero_crossings(y, x=None, direction=None, bouncingZero=False): # --------------------------------------------------------------------------------} # --- Correlation # --------------------------------------------------------------------------------{ -def correlation(x, nMax=80, dt=1, method='numpy'): +def autoCorrCoeff(x, nMax=None, dt=1, method='corrcoef'): """ Compute auto correlation of a signal + - nMax: number of values to return """ - - def acf(x, nMax=20): - return np.array([1]+[np.corrcoef(x[:-i], x[i:])[0,1] for i in range(1, nMax)]) - - - nvec = np.arange(0,nMax) + x = x.copy() - np.mean(x) + var = np.var(x) + n = len(x) + if nMax is None: + nMax = n + rvec = np.arange(0,nMax) if method=='manual': - sigma2 = np.var(x) - R = np.zeros(nMax) - R[0] =1 - for i,nDelay in enumerate(nvec[1:]): - R[i+1] = np.mean( x[0:-nDelay] * x[nDelay:] ) / sigma2 - #R[i+1] = np.corrcoef(x[:-nDelay], x[nDelay:])[0,1] - - elif method=='numpy': - R= acf(x, nMax=nMax) + rho = np.zeros(nMax) + rho[0] =1 + for i,nDelay in enumerate(rvec[1:]): + rho[i+1] = np.mean( x[0:-nDelay] * x[nDelay:] ) / var + + elif method=='manual-roll': + rho = np.zeros(len(rvec)) + for i,r in enumerate(rvec): + shifted_x = np.roll(x, int(r)) #Shift x by tau + rho[i] = np.mean(x * shifted_x) / var + + elif method=='corrcoef': + rho = np.array([1]+[np.corrcoef(x[:-i], x[i:])[0,1] for i in range(1, nMax)]) + + elif method=='correlate': + rho = np.correlate(x, x, mode='full')[-n:] / (var * n) + rho = rho[:nMax] else: - raise NotImplementedError() + raise NotImplementedError(method) - tau = nvec*dt - return R, tau + tau = rvec*dt + return rho, tau + +def correlation(*args, **kwargs): + print('[WARN] welib.tools.signal_analysis.correlation will be deprecated use autoCorrCoeff') + return autoCorrCoeff(*args, **kwargs) # Auto-correlation comes in two versions: statistical and convolution. They both do the same, except for a little detail: The statistical version is normalized to be on the interval [-1,1]. Here is an example of how you do the statistical one: # # @@ -458,6 +471,58 @@ def acf(x, nMax=20): # result = numpy.correlate(x, x, mode='full') # return result[result.size/2:] + +def xCorrCoeff(x1, x2, t=None, nMax=None, method='manual'): + """ + Compute cross-correlation coefficient between two signals. + """ + x1 = x1.copy()-np.mean(x1) + x2 = x2.copy()-np.mean(x2) + sigma1 = np.std(x1) + sigma2 = np.std(x2) + # Only if x1 and x2 have the same length for now + N1 = min(len(x1), len(x2)) + if nMax is None: + nMax = len(x1) + if t is None: + t = np.array(range(N1)) + if method=='subset-tauPos': + # Only if x1 and x2 have the same length + rho = np.zeros(nMax) + rvec = np.arange(0,nMax) + for i,r in enumerate(rvec): + rho[i] = np.mean( x1[:N1-r] * x2[r:] ) / (sigma1*sigma2) + elif method=='manual': + rvec = np.array(range(-nMax+1,nMax)) + rho = np.zeros(len(rvec)) + # TODO two for loops for pos and neg.. + for i,r in enumerate(rvec): + if r>=0: + t11, x11 = t [0:N1-r], x1[0:N1-r] + t22, x22 = t [r:] , x2[r:] + else: + r=abs(r) + t22, x22 = t [0:N1-r], x2[0:N1-r] + t11, x11 = t [r:] , x1[r:] + rho[i] = np.mean(x11*x22) / (sigma1*sigma2) + else: + raise NotImplementedError(method) + cross_corr = correlate(x, y, mode=mode)/ min(len(x), len(y)) / (sigma1*sigma2) + if mode=='same': + cross_corr =np.concatenate( [ cross_corr[N:], cross_corr[:N] ] ) + cross_corr[N3:2*N3]=0 + if mode=='full': + lags = np.arange(-len(x) + 1, len(x)) * dt + elif mode=='same': + lags = (np.arange(len(x)) - N) * dt + lags = np.concatenate( [ lags[N:], lags[:N] ] ) + else: + raise NotImplementedError(mode) + + + tau = rvec * (t[1]-t[0]) + return rho, tau + diff --git a/openfast_toolbox/tools/spectral.py b/openfast_toolbox/tools/spectral.py index c54dc14..f695d19 100644 --- a/openfast_toolbox/tools/spectral.py +++ b/openfast_toolbox/tools/spectral.py @@ -51,9 +51,14 @@ def fft_wrap(t,y,dt=None, output_type='amplitude',averaging='None',averaging_win t = np.asarray(t) y = np.asarray(y) n0 = len(y) - nt = len(t) if len(t)!=len(y): raise Exception('t and y should have the same length') + # Removing times that are NaN + t_NaN = np.isnan(t) + t = t[~t_NaN] + y = y[~t_NaN] + nt = len(t) + # Removing signal that is NaN y = y[~np.isnan(y)] n = len(y) @@ -61,9 +66,9 @@ def fft_wrap(t,y,dt=None, output_type='amplitude',averaging='None',averaging_win dtDelta0 = t[1]-t[0] # Hack to use a constant dt #dt = (np.max(t)-np.min(t))/(n0-1) - dt = (t[-1]-t[0])/(n0-1) + # TODO do something different if nans were found... + dt = (t[-1]-t[0])/(nt-1) relDiff = abs(dtDelta0-dt)/dt*100 - #if dtDelta0 !=dt: if relDiff>0.01: if verbose: print('[WARN] dt from tmax-tmin different from dt from t2-t1 {} {}'.format(dt, dtDelta0) ) @@ -131,6 +136,8 @@ def psd_binned(y, fs=1.0, nPerDecade=10, detrend ='constant', return_onesided=Tr """ Return PSD binned with nPoints per decade """ + if np.isnan(fs): + raise Exception('Sampling frequecny is NaN') # --- First return regular PSD frq, PSD, Info = psd(y, fs=fs, detrend=detrend, return_onesided=return_onesided) @@ -204,14 +211,9 @@ def psd(y, fs=1.0, detrend ='constant', return_onesided=True): m=0; n = len(y) - if n%2==0: - nhalf = int(n/2+1) - else: - nhalf = int((n+1)/2) - - frq = np.arange(nhalf)*fs/n; + frq = np.fft.rfftfreq(len(y), 1/fs) # [Hz] # <<< TODO Y = np.fft.rfft(y-m) #Y = np.fft.fft(y) - PSD = abs(Y[range(nhalf)])**2 /(n*fs) # PSD + PSD = abs(Y)**2 /(n*fs) # PSD PSD[1:-1] = PSD[1:-1]*2; class InfoClass(): pass @@ -224,6 +226,13 @@ class InfoClass(): Info.LOvlp = 0 Info.nFFT = len(Y) Info.nseg = 1 + #Info ={'df': frq[1]-frq[0], 'fmax': frq[-1]} + #Info['LFreq'] = len(frq) + #Info['LSeg'] = len(Y) + #Info['LWin'] = len(Y) + #Info['LOvlp'] = 0 + #Info['nFFT'] = len(Y) + #Info['nseg'] = 1 return frq, PSD, Info @@ -1088,6 +1097,73 @@ def DFT(x, method='vectorized'): return X +def rDFT(x, method='vectorized'): + """ + Calculate the real to complex Discrete Fourier Transform (DFT) of real signal x + """ + N = len(x) + + if method=='naive': + Np = nhalf_rfft(N) + X = np.zeros(Np, dtype=complex) + for k in range(Np): + for n in np.arange(N): + X[k] += x[n] * np.exp(-1j * 2*np.pi * k * n / N) + elif method=='vectorized': + Np = nhalf_rfft(N) + n = np.arange(N) + k = np.arange(Np) + k = k.reshape((Np, 1)) # k*n will be of shape (Np x N) + e = np.exp(-2j * np.pi * k * n / N) + X = np.dot(e, x) + elif method=='fft': + X = np.fft.rfft(x) + else: + raise NotImplementedError() + + return X + +def IrDFT(X, N=None, method='vectorized'): + """ + Calculate the real to complex Discrete Fourier Transform (DFT) of real signal x + """ + if N is None: + N = (len(X)-1)*2 + Np = len(X) - (1 if N % 2 == 0 else 0) + if method=='naive': + x = np.zeros(N, dtype=float) + # Compute each time-domain point n + for n in range(N): + value = X[0].real # DC component + # Sum over the positive frequency components + for k in range(1, Np): + angle = 2 * np.pi * k * n / N + value += 2 * (X[k].real * np.cos(angle) - X[k].imag * np.sin(angle)) + # Handle the Nyquist frequency only if N is even + if N % 2 == 0: + value += X[-1].real * np.cos(np.pi * n) + x[n] = value + x /= N # Normalize by N + elif method=='vectorized': + n = np.arange(N).reshape((N, 1)) # shape: N x 1 + k = np.arange(1,Np) # shape: 1 x Np + angles = 2 * np.pi * k * n / N # shape N x Np + e_real = 2*np.cos(angles) + e_imag =-2*np.sin(angles) + x = np.dot(e_real, X[1:Np].real) + np.dot(e_imag, X[1:Np].imag) + X[0].real + if N % 2 == 0: + x += X[-1].real * np.cos(np.pi * n.flatten()) + x = x/N + + elif method=='ifft': + x = np.fft.irfft(X, N) + + else: + raise NotImplementedError(method) + + return x + + def IDFT(X, method='vectorized'): """ Calculate the Inverse Discrete Fourier Transform (IDFT) of complex coefficients X @@ -1185,8 +1261,31 @@ def DFT_freq(time=None, N=None, T=None, doublesided=True): else: # single sided fMax = nhalf_pos * df - #freq = np.arange(0, fMax+df/2, df) freq = np.arange(nhalf_pos+1)*df + #freq = np.arange(0, fMax+df/2, df) + # NOTE: this is different behavior that rDFT_freq.. + return freq + +def rDFT_freq(time=None, N=None, T=None): + """ + Return frequencies for "real DFT" + NOTE: for real FFT, the max frequency is always 1/2*dt! + INPUTS: + - time: 1d array of time + OR + - N: number of time values + - T: time length of signal + """ + if time is not None: + N = len(time) + T = time[-1]-time[0] + dt = T/(N-1) + df = 1/(dt*N) + # single sided + fMax = 1/(2*dt) + freq = np.arange(0, fMax+df/2, df) + if np.mod(N,2)==1: + freq=freq[:-1] return freq def IDFT_time(freq=None, doublesided=True): @@ -1256,6 +1355,9 @@ def nhalf_fft(N): nhalf_neg = -nhalf_pos return nhalf_pos, nhalf_neg +def nhalf_rfft(N): + return N//2 +1 + def check_DFT_real(X): """ Check that signal X is the DFT of a real signal @@ -1390,6 +1492,49 @@ def compare_with_npfft(self, time, x): np.testing.assert_almost_equal(x_back0, x, 10) + def compare_with_npfftr(self, time, x): + # Compare lowlevels functions with npfft + # Useful to make sure the basic math is correct + N = len(time) + dt = (time[-1]-time[0])/(N-1) + tMax = time[-1] + + # --- Test frequency, dt/df/N-relationships + fhalf0 = np.fft.rfftfreq(N, dt) + fhalf1 = rDFT_freq(time) + df = 1/(N*dt) + np.testing.assert_almost_equal(fhalf0[1]-fhalf0[0], df, 10) # Delta f + if N%2 == 0: + np.testing.assert_almost_equal(fhalf0[-1], 1/(2*dt), 10) # fmax + else: + np.testing.assert_almost_equal(fhalf0[-1], 1/(2*dt)-df/2, 10) # fmax + np.testing.assert_almost_equal(fhalf0 , fhalf1, 10) + # --- Test DFT methods + X0 = rDFT(x, method='fft') + X1 = rDFT(x, method='naive') + X2 = rDFT(x, method='vectorized') + np.testing.assert_almost_equal(X1, X0, 10) + np.testing.assert_almost_equal(X2, X0, 10) + # --- Test IDFT methods + x_back0 = IrDFT(X0, method='ifft' , N=N) + x_back1 = IrDFT(X0, method='naive', N=N) + x_back2 = IrDFT(X0, method='vectorized', N=N) + np.testing.assert_almost_equal(x_back1, x_back0, 10) + np.testing.assert_almost_equal(x_back2, x_back0, 10) + np.testing.assert_almost_equal(x_back0, x, 10) + + def test_lowlevel_fftr_even(self): + # Test lowlevel functions + time = np.linspace(0,10,16) # NOTE: need a power of two for fft_py + x = self.default_signal(time, mean=0) + self.compare_with_npfftr(time, x) + + def test_lowlevel_fftr_odd(self): + # Test lowlevel functions + time = np.linspace(0,10,17) + x = self.default_signal(time, mean=0) + self.compare_with_npfftr(time, x) + def test_lowlevel_fft_even(self): # Test lowlevel functions time = np.linspace(0,10,16) # NOTE: need a power of two for fft_py @@ -1440,5 +1585,7 @@ def test_fft_binning(self): #TestSpectral().test_ifft() #TestSpectral().test_lowlevel_fft_even() #TestSpectral().test_lowlevel_fft_odd() + #TestSpectral().test_lowlevel_fftr_even() + #TestSpectral().test_lowlevel_fftr_odd() unittest.main() diff --git a/openfast_toolbox/tools/stats.py b/openfast_toolbox/tools/stats.py index 8aa035b..a583b24 100644 --- a/openfast_toolbox/tools/stats.py +++ b/openfast_toolbox/tools/stats.py @@ -7,6 +7,10 @@ """ import numpy as np import pandas as pd +try: + from numpy import trapezoid +except: + from numpy import trapz as trapezoid # --------------------------------------------------------------------------------} # --- Stats measures @@ -212,7 +216,7 @@ def pdf_histogram(y,nBins=50, norm=True, count=False): yh = yh / (nBins*dx) if norm: try: - yh=yh/np.trapezoid(yh,xh) + yh=yh/trapezoid(yh,xh) except: yh=yh/np.trapz(yh,xh) return xh,yh @@ -266,7 +270,7 @@ def pdf_sns(y,nBins=50): # --------------------------------------------------------------------------------} # --- Binning # --------------------------------------------------------------------------------{ -def bin_DF(df, xbins, colBin, stats='mean'): +def bin_DF(df, xbins, colBin, stats=None): """ Perform bin averaging of a dataframe INPUTS: @@ -277,23 +281,38 @@ def bin_DF(df, xbins, colBin, stats='mean'): binned dataframe, with additional columns 'Counts' for the number """ + if stats is None: + stats=['avg'] + if not isinstance(stats, list): + stats=[stats] if colBin not in df.columns.values: raise Exception('The column `{}` does not appear to be in the dataframe'.format(colBin)) xmid = (xbins[:-1]+xbins[1:])/2 df['Bin'] = pd.cut(df[colBin], bins=xbins, labels=xmid ) # Adding a column that has bin attribute - if stats=='mean': - df2 = df.groupby('Bin', observed=False).mean() # Average by bin - elif stats=='std': - df2 = df.groupby('Bin', observed=False).std() # std by bin - # also counting + dfs=[] + df3 = df.groupby('Bin', observed=False) + for stat in stats: + if stat=='avg' or stat=='mean': + df2 = df3.mean() # mean by bin + elif stat=='std': + df2 = df3.std() # std by bin + elif stat=='min': + df2 = df3.min() # min by bin + elif stat=='max': + df2 = df3.max() # min by bin + else: + raise NotImplementedError(f'Stat {stat}') + df2 = df2.reindex(xmid) # Just in case some bins are missing (will be nan) + dfs.append(df2) + # Adding counts to first df df['Counts'] = 1 dfCount=df[['Counts','Bin']].groupby('Bin', observed=False).sum() - df2['Counts'] = dfCount['Counts'] - # Just in case some bins are missing (will be nan) - df2 = df2.reindex(xmid) - return df2 + dfs[0]['Counts'] = dfCount['Counts'] + return dfs + -def bin_signal(x, y, xbins=None, stats='mean', nBins=None): + +def bin_signal(x, y, xbins=None, stats=None, nBins=None): """ Perform bin averaging of a signal INPUTS: @@ -304,13 +323,20 @@ def bin_signal(x, y, xbins=None, stats='mean', nBins=None): - xBinned, yBinned """ + if stats is None: + stats=['avg'] + if not isinstance(stats, list): + stats=[stats] if xbins is None: xmin, xmax = np.min(x), np.max(x) dx = (xmax-xmin)/nBins xbins=np.arange(xmin, xmax+dx/2, dx) df = pd.DataFrame(data=np.column_stack((x,y)), columns=['x','y']) - df2 = bin_DF(df, xbins, colBin='x', stats=stats) - return df2['x'].values, df2['y'].values + dfs = bin_DF(df, xbins, colBin='x', stats=stats) + if len(stats)>1: + raise NotImplementedError('bin_signal for multiple stats') + else: + return dfs[0]['x'].values, dfs[0]['y'].values @@ -373,7 +399,7 @@ def azimuthal_average_DF(df, psiBin=np.arange(0,360+1,10), colPsi='Azimuth_[deg] raise Exception('The column `{}` does not appear to be in the dataframe'.format(colTime)) df=df[ df[colTime]>tStart].copy() - dfPsi= bin_DF(df, psiBin, colPsi, stats='mean') + dfPsi= bin_DF(df, psiBin, colPsi, stats=['avg'])[0] if np.any(dfPsi['Counts']<1): print('[WARN] some bins have no data! Increase the bin size.') @@ -390,7 +416,7 @@ def azimuthal_std_DF(df, psiBin=np.arange(0,360+1,10), colPsi='Azimuth_[deg]', t raise Exception('The column `{}` does not appear to be in the dataframe'.format(colTime)) df=df[ df[colTime]>tStart].copy() - dfPsi= bin_DF(df, psiBin, colPsi, stats='std') + dfPsi= bin_DF(df, psiBin, colPsi, stats=['std'])[0] if np.any(dfPsi['Counts']<1): print('[WARN] some bins have no data! Increase the bin size.')