From b99f5c4154320fe81ea3de077dbfda74a1cb269c Mon Sep 17 00:00:00 2001 From: dzalkind Date: Wed, 10 Feb 2021 13:05:10 -0700 Subject: [PATCH 1/8] Update pitch control sweep for testing ROSCO/Toolbox subtrees --- examples/01_aeroelasticse/run_PC_sweep.py | 24 +++++++++++------------ 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/examples/01_aeroelasticse/run_PC_sweep.py b/examples/01_aeroelasticse/run_PC_sweep.py index 701b3fa46..abd76ecb6 100644 --- a/examples/01_aeroelasticse/run_PC_sweep.py +++ b/examples/01_aeroelasticse/run_PC_sweep.py @@ -17,8 +17,12 @@ from ROSCO_toolbox import utilities as ROSCO_Utilities def run_PC_sweep(omega,zeta=1.0): - # Process inputs, single (omega, zeta) or multiple? - + # Set up OpenFAST model + fastBatch = runFAST_pywrapper_batch(FAST_ver='OpenFAST',dev_branch = True) + fastBatch.FAST_InputFile = 'IEA-15-240-RWT-UMaineSemi.fst' # FAST input file (ext=.fst) + run_dir2 = os.path.dirname( os.path.realpath(__file__) ) + os.sep + fastBatch.FAST_directory = os.path.join(run_dir2, 'OpenFAST_models','IEA-15-240-RWT','IEA-15-240-RWT-UMaineSemi') # Path to fst directory files + # Turbine inputs iec = CaseGen_IEC() @@ -87,7 +91,7 @@ def run_PC_sweep(omega,zeta=1.0): iec.parallel_windfile_gen = True iec.cores = 4 - iec.run_dir = 'outputs/iea15mw/PC_sweep_play' + iec.run_dir = 'outputs/iea15mw/PC_sweep' # Run case generator / wind file writing case_inputs = {} @@ -146,7 +150,6 @@ def run_PC_sweep(omega,zeta=1.0): # load default params print('here') rt_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(os.path.realpath(__file__)))),'ROSCO_toolbox') - rt_dir = '/Users/dzalkind/Tools/ROSCO_toolbox' weis_dir = os.path.join(rt_dir,'Tune_Cases') control_param_yaml = os.path.join(rt_dir,'Tune_Cases','IEA15MW.yaml') inps = yaml.safe_load(open(control_param_yaml)) @@ -156,8 +159,7 @@ def run_PC_sweep(omega,zeta=1.0): # make default controller, turbine objects for ROSCO_toolbox turbine = ROSCO_turbine.Turbine(turbine_params) - turbine.load_from_fast( path_params['FAST_InputFile'], - os.path.join(rt_dir, path_params['FAST_directory']), dev_branch=True) + turbine.load_from_fast( fastBatch.FAST_InputFile, fastBatch.FAST_directory, dev_branch=True) controller = ROSCO_controller.Controller(controller_params) @@ -187,15 +189,14 @@ def run_PC_sweep(omega,zeta=1.0): case_inputs[('DISCON_in', 'PC_GS_KP')] = {'vals': pc_kp, 'group': 3} case_inputs[('DISCON_in', 'PC_GS_KI')] = {'vals': pc_ki, 'group': 3} - iec.case_name_base = 'pc_play' + iec.case_name_base = 'pc_omega' # generate cases case_list, case_name_list, dlc_list = iec.execute(case_inputs=case_inputs) #for var in var_out+[var_x]: - # Run FAST cases - fastBatch = runFAST_pywrapper_batch(FAST_ver='OpenFAST',dev_branch = True) + # Monopile # fastBatch.FAST_InputFile = 'IEA-15-240-RWT-Monopile.fst' # FAST input file (ext=.fst) @@ -212,10 +213,7 @@ def run_PC_sweep(omega,zeta=1.0): # else: # fastBatch.run_serial() - # U-Maine semi-sub - fastBatch.FAST_InputFile = 'IEA-15-240-RWT-UMaineSemi.fst' # FAST input file (ext=.fst) - run_dir2 = os.path.dirname( os.path.realpath(__file__) ) + os.sep - fastBatch.FAST_directory = os.path.join(run_dir2, 'OpenFAST_models','IEA-15-240-RWT','IEA-15-240-RWT-UMaineSemi') # Path to fst directory files + fastBatch.FAST_runDirectory = iec.run_dir if True: fastBatch.run_multi(cores=4) From b37665ed8133c551e312988165a8e52b3bcb9222 Mon Sep 17 00:00:00 2001 From: dzalkind Date: Wed, 10 Feb 2021 14:53:29 -0700 Subject: [PATCH 2/8] Remove ROSCO_toolbox subtree - conflicted --- ROSCO_toolbox/.gitignore | 54 - ROSCO_toolbox/.gitmodules | 3 - ROSCO_toolbox/Examples/.gitignore | 2 - ROSCO_toolbox/Examples/Cp_Ct_Cq.Ex03.txt | 93 - ROSCO_toolbox/Examples/Cp_Ct_Cq.NREL5MW.txt | 93 - ROSCO_toolbox/Examples/DISCON.IN | 119 - ROSCO_toolbox/Examples/NREL5MW_example.yaml | 62 - ROSCO_toolbox/Examples/NREL5MW_saved.p | Bin 714970 -> 0 bytes ROSCO_toolbox/Examples/README.md | 15 - .../Examples/ROSCO_walkthrough.ipynb | 651 - ROSCO_toolbox/Examples/example_01.py | 40 - ROSCO_toolbox/Examples/example_02.py | 27 - ROSCO_toolbox/Examples/example_03.py | 39 - ROSCO_toolbox/Examples/example_04.py | 59 - ROSCO_toolbox/Examples/example_05.py | 55 - ROSCO_toolbox/Examples/example_06.py | 51 - ROSCO_toolbox/Examples/example_07.py | 50 - ROSCO_toolbox/Examples/example_08.py | 46 - ROSCO_toolbox/Examples/example_09.py | 24 - ROSCO_toolbox/Examples/example_10.py | 45 - ROSCO_toolbox/Examples/example_11.py | 70 - ROSCO_toolbox/HISTORY.md | 54 - ROSCO_toolbox/LICENSE | 201 - ROSCO_toolbox/Matlab_Toolbox/Pl_FastPlots.m | 94 - ROSCO_toolbox/Matlab_Toolbox/README.md | 17 - ROSCO_toolbox/Matlab_Toolbox/ReadWrite_FAST.m | 64 - .../Matlab_Toolbox/Simulink/ROSCO.mdl | 22646 ---------------- .../Matlab_Toolbox/load_ROSCO_params.m | 201 - ROSCO_toolbox/Matlab_Toolbox/runFAST.m | 77 - ROSCO_toolbox/README.md | 120 - ROSCO_toolbox/ROSCO | 1 - ROSCO_toolbox/ROSCO_testing/ROSCO_testing.py | 519 - ROSCO_toolbox/ROSCO_testing/__init__.py | 5 - ROSCO_toolbox/ROSCO_testing/run_Testing.py | 111 - ROSCO_toolbox/ROSCO_toolbox/__init__.py | 6 - .../ROSCO_toolbox/control_interface.py | 154 - ROSCO_toolbox/ROSCO_toolbox/controller.py | 562 - ROSCO_toolbox/ROSCO_toolbox/ofTools/README.md | 12 - .../ROSCO_toolbox/ofTools/__init__.py | 0 .../ofTools/case_gen/CaseGen_General.py | 202 - .../ofTools/case_gen/CaseGen_IEC.py | 405 - .../ofTools/case_gen/__init__.py | 0 .../ofTools/case_gen/runFAST_pywrapper.py | 531 - .../ofTools/fast_io/FAST_post.py | 14 - .../ofTools/fast_io/FAST_reader.py | 2492 -- .../ofTools/fast_io/FAST_vars.py | 1332 - .../ofTools/fast_io/FAST_vars_out.py | 10616 -------- .../ofTools/fast_io/FAST_wrapper.py | 84 - .../ofTools/fast_io/FAST_writer.py | 2260 -- .../ROSCO_toolbox/ofTools/fast_io/__init__.py | 0 .../ROSCO_toolbox/ofTools/fast_io/file.py | 205 - .../ofTools/fast_io/output_processing.py | 571 - .../ofTools/fast_io/pyIECWind.py | 558 - .../ofTools/fast_io/read_fast_input.py | 1202 - .../ofTools/fast_io/turbsim_io/__init__.py | 0 .../fast_io/turbsim_io/turbsim_reader.py | 94 - .../fast_io/turbsim_io/turbsim_vartrees.py | 104 - .../fast_io/turbsim_io/turbsim_wrapper.py | 36 - .../fast_io/turbsim_io/turbsim_writer.py | 166 - .../fast_io/turbsim_io/turbulence_spectrum.py | 37 - .../fast_io/turbsim_io/wind_profile_writer.py | 48 - .../ROSCO_toolbox/ofTools/util/FileTools.py | 263 - .../ROSCO_toolbox/ofTools/util/__init__.py | 0 .../ROSCO_toolbox/ofTools/util/spectral.py | 945 - ROSCO_toolbox/ROSCO_toolbox/sim.py | 140 - ROSCO_toolbox/ROSCO_toolbox/turbine.py | 662 - ROSCO_toolbox/ROSCO_toolbox/utilities.py | 499 - .../5MW_Land_Simulink/5MW_Land_Simulink.fst | 54 - .../Test_Cases/5MW_Land_Simulink/DISCON.IN | 119 - .../NRELOffshrBsline5MW_Onshore_AeroDyn15.dat | 82 - .../NRELOffshrBsline5MW_Onshore_ElastoDyn.dat | 159 - ...ffshrBsline5MW_Onshore_ElastoDyn_Tower.dat | 54 - .../NRELOffshrBsline5MW_Onshore_ServoDyn.dat | 99 - .../BAR_10/Airfoils/AF00_Coords.txt | 208 - .../BAR_10/Airfoils/AF01_Coords.txt | 208 - .../BAR_10/Airfoils/AF02_Coords.txt | 208 - .../BAR_10/Airfoils/AF03_Coords.txt | 208 - .../BAR_10/Airfoils/AF04_Coords.txt | 208 - .../BAR_10/Airfoils/AF05_Coords.txt | 208 - .../BAR_10/Airfoils/AF06_Coords.txt | 208 - .../BAR_10/Airfoils/AF07_Coords.txt | 208 - .../BAR_10/Airfoils/AF08_Coords.txt | 208 - .../BAR_10/Airfoils/AF09_Coords.txt | 208 - .../BAR_10/Airfoils/AF10_Coords.txt | 208 - .../BAR_10/Airfoils/AF11_Coords.txt | 208 - .../BAR_10/Airfoils/AF12_Coords.txt | 208 - .../BAR_10/Airfoils/AF13_Coords.txt | 208 - .../BAR_10/Airfoils/AF14_Coords.txt | 208 - .../BAR_10/Airfoils/AF15_Coords.txt | 208 - .../BAR_10/Airfoils/AF16_Coords.txt | 208 - .../BAR_10/Airfoils/AF17_Coords.txt | 208 - .../BAR_10/Airfoils/AF18_Coords.txt | 208 - .../BAR_10/Airfoils/AF19_Coords.txt | 208 - .../BAR_10/Airfoils/AF20_Coords.txt | 208 - .../BAR_10/Airfoils/AF21_Coords.txt | 208 - .../BAR_10/Airfoils/AF22_Coords.txt | 208 - .../BAR_10/Airfoils/AF23_Coords.txt | 208 - .../BAR_10/Airfoils/AF24_Coords.txt | 208 - .../BAR_10/Airfoils/AF25_Coords.txt | 208 - .../BAR_10/Airfoils/AF26_Coords.txt | 208 - .../BAR_10/Airfoils/AF27_Coords.txt | 208 - .../BAR_10/Airfoils/AF28_Coords.txt | 208 - .../BAR_10/Airfoils/AF29_Coords.txt | 208 - .../Airfoils/BAR_10_AeroDyn15_Polar_00.dat | 254 - .../Airfoils/BAR_10_AeroDyn15_Polar_01.dat | 254 - .../Airfoils/BAR_10_AeroDyn15_Polar_02.dat | 254 - .../Airfoils/BAR_10_AeroDyn15_Polar_03.dat | 254 - .../Airfoils/BAR_10_AeroDyn15_Polar_04.dat | 254 - .../Airfoils/BAR_10_AeroDyn15_Polar_05.dat | 254 - .../Airfoils/BAR_10_AeroDyn15_Polar_06.dat | 254 - .../Airfoils/BAR_10_AeroDyn15_Polar_07.dat | 254 - .../Airfoils/BAR_10_AeroDyn15_Polar_08.dat | 254 - .../Airfoils/BAR_10_AeroDyn15_Polar_09.dat | 254 - .../Airfoils/BAR_10_AeroDyn15_Polar_10.dat | 254 - .../Airfoils/BAR_10_AeroDyn15_Polar_11.dat | 254 - .../Airfoils/BAR_10_AeroDyn15_Polar_12.dat | 254 - .../Airfoils/BAR_10_AeroDyn15_Polar_13.dat | 254 - .../Airfoils/BAR_10_AeroDyn15_Polar_14.dat | 254 - .../Airfoils/BAR_10_AeroDyn15_Polar_15.dat | 254 - .../Airfoils/BAR_10_AeroDyn15_Polar_16.dat | 254 - .../Airfoils/BAR_10_AeroDyn15_Polar_17.dat | 254 - .../Airfoils/BAR_10_AeroDyn15_Polar_18.dat | 254 - .../Airfoils/BAR_10_AeroDyn15_Polar_19.dat | 254 - .../Airfoils/BAR_10_AeroDyn15_Polar_20.dat | 742 - .../Airfoils/BAR_10_AeroDyn15_Polar_21.dat | 742 - .../Airfoils/BAR_10_AeroDyn15_Polar_22.dat | 742 - .../Airfoils/BAR_10_AeroDyn15_Polar_23.dat | 742 - .../Airfoils/BAR_10_AeroDyn15_Polar_24.dat | 254 - .../Airfoils/BAR_10_AeroDyn15_Polar_25.dat | 254 - .../Airfoils/BAR_10_AeroDyn15_Polar_26.dat | 254 - .../Airfoils/BAR_10_AeroDyn15_Polar_27.dat | 254 - .../Airfoils/BAR_10_AeroDyn15_Polar_28.dat | 254 - .../Airfoils/BAR_10_AeroDyn15_Polar_29.dat | 254 - ROSCO_toolbox/Test_Cases/BAR_10/BAR_10.fst | 60 - .../Test_Cases/BAR_10/BAR_10_AeroDyn15.dat | 121 - .../BAR_10/BAR_10_AeroDyn15_blade.dat | 36 - .../Test_Cases/BAR_10/BAR_10_BeamDyn.dat | 210 - .../BAR_10/BAR_10_BeamDyn_Blade.dat | 461 - .../Test_Cases/BAR_10/BAR_10_Cp_Ct_Cq.txt | 81 - .../Test_Cases/BAR_10/BAR_10_DISCON.IN | 119 - .../Test_Cases/BAR_10/BAR_10_ElastoDyn.dat | 269 - .../BAR_10/BAR_10_ElastoDyn_blade.dat | 62 - .../BAR_10/BAR_10_ElastoDyn_tower.dat | 101 - .../Test_Cases/BAR_10/BAR_10_InflowFile.dat | 55 - .../Test_Cases/BAR_10/BAR_10_ServoDyn.dat | 102 - .../IEA-15-240-RWT_AeroDyn15_Polar_00.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_00_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_01.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_01_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_02.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_02_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_03.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_03_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_04.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_04_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_05.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_05_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_06.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_06_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_07.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_07_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_08.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_08_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_09.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_09_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_10.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_10_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_11.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_11_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_12.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_12_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_13.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_13_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_14.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_14_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_15.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_15_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_16.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_16_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_17.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_17_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_18.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_18_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_19.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_19_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_20.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_20_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_21.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_21_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_22.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_22_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_23.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_23_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_24.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_24_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_25.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_25_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_26.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_26_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_27.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_27_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_28.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_28_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_29.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_29_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_30.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_30_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_31.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_31_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_32.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_32_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_33.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_33_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_34.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_34_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_35.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_35_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_36.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_36_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_37.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_37_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_38.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_38_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_39.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_39_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_40.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_40_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_41.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_41_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_42.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_42_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_43.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_43_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_44.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_44_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_45.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_45_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_46.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_46_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_47.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_47_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_48.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_48_Coords.txt | 208 - .../IEA-15-240-RWT_AeroDyn15_Polar_49.dat | 174 - ...A-15-240-RWT_AeroDyn15_Polar_49_Coords.txt | 208 - .../Cp_Ct_Cq.IEA15MW.txt | 237 - .../HydroData/IEA-15-240-RWT-UMaineSemi.1 | 3672 --- .../HydroData/IEA-15-240-RWT-UMaineSemi.12d | 9576 ------- .../HydroData/IEA-15-240-RWT-UMaineSemi.12s | 9576 ------- .../HydroData/IEA-15-240-RWT-UMaineSemi.3 | 600 - .../HydroData/IEA-15-240-RWT-UMaineSemi.hst | 36 - .../HydroData/IEA-15-240-RWT-UMaineSemi.ss | 98 - .../IEA-15-240-RWT-UMaineSemi.ssexctn | 83 - .../IEA-15-240-RWT-UMaineSemi.fst | 60 - .../IEA-15-240-RWT-UMaineSemi_ElastoDyn.dat | 189 - ...-15-240-RWT-UMaineSemi_ElastoDyn_tower.dat | 61 - .../IEA-15-240-RWT-UMaineSemi_HydroDyn.dat | 157 - .../IEA-15-240-RWT-UMaineSemi_MoorDyn.dat | 64 - .../IEA-15-240-RWT-UMaineSemi_ServoDyn.dat | 99 - .../IEA-15-240-RWT_AeroDyn15.dat | 135 - .../IEA-15-240-RWT_AeroDyn15_blade.dat | 56 - .../IEA-15-240-RWT_BeamDyn.dat | 94 - .../IEA-15-240-RWT_BeamDyn_blade.dat | 325 - .../IEA-15-240-RWT_ElastoDyn_blade.dat | 82 - .../IEA-15-240-RWT_InflowFile.dat | 55 - .../ServoData/DISCON-UMaineSemi.IN | 119 - .../ServoData/IEA15MW-UMaineSemi.yaml | 57 - .../IEA-15-240-RWT-UMaineSemi/ss_ops.yaml | 13 - .../NREL-5MW/AeroData/Cylinder1.dat | 19 - .../NREL-5MW/AeroData/Cylinder2.dat | 19 - .../Test_Cases/NREL-5MW/AeroData/DU21_A17.dat | 158 - .../Test_Cases/NREL-5MW/AeroData/DU25_A17.dat | 157 - .../Test_Cases/NREL-5MW/AeroData/DU30_A17.dat | 159 - .../Test_Cases/NREL-5MW/AeroData/DU35_A17.dat | 151 - .../Test_Cases/NREL-5MW/AeroData/DU40_A17.dat | 152 - .../NREL-5MW/AeroData/NACA64_A17.dat | 143 - .../NREL-5MW/Airfoils/Cylinder1.dat | 59 - .../NREL-5MW/Airfoils/Cylinder1_coords.txt | 407 - .../NREL-5MW/Airfoils/Cylinder2.dat | 60 - .../NREL-5MW/Airfoils/Cylinder2_coords.txt | 407 - .../Test_Cases/NREL-5MW/Airfoils/DU21_A17.dat | 196 - .../NREL-5MW/Airfoils/DU21_A17_coords.txt | 407 - .../Test_Cases/NREL-5MW/Airfoils/DU25_A17.dat | 194 - .../NREL-5MW/Airfoils/DU25_A17_coords.txt | 407 - .../Test_Cases/NREL-5MW/Airfoils/DU30_A17.dat | 198 - .../NREL-5MW/Airfoils/DU30_A17_coords.txt | 407 - .../Test_Cases/NREL-5MW/Airfoils/DU35_A17.dat | 189 - .../NREL-5MW/Airfoils/DU35_A17_coords.txt | 407 - .../Test_Cases/NREL-5MW/Airfoils/DU40_A17.dat | 190 - .../NREL-5MW/Airfoils/DU40_A17_coords.txt | 407 - .../NREL-5MW/Airfoils/NACA64_A17.dat | 181 - .../NREL-5MW/Airfoils/NACA64_A17_coords.txt | 407 - .../Test_Cases/NREL-5MW/Cp_Ct_Cq.NREL5MW.txt | 165 - ROSCO_toolbox/Test_Cases/NREL-5MW/DISCON.IN | 119 - .../Test_Cases/NREL-5MW/IceDyn_Input.dat | 74 - .../NREL-5MW/IceFloe_IEC_Crushing.dat | 51 - .../Test_Cases/NREL-5MW/NREL-5MW.fst | 60 - .../NRELOffshrBsline5MW_AeroDyn_blade.dat | 28 - .../NREL-5MW/NRELOffshrBsline5MW_BeamDyn.dat | 94 - .../NRELOffshrBsline5MW_BeamDyn_Blade.dat | 756 - .../NREL-5MW/NRELOffshrBsline5MW_Blade.dat | 83 - .../NRELOffshrBsline5MW_InflowWind.dat | 57 - ...LOffshrBsline5MW_Monopile_IEC_Crushing.inp | 26 - .../NRELOffshrBsline5MW_Onshore_AeroDyn15.dat | 85 - .../NRELOffshrBsline5MW_Onshore_ElastoDyn.dat | 157 - ...ffshrBsline5MW_Onshore_ElastoDyn_Tower.dat | 54 - .../NRELOffshrBsline5MW_Onshore_ServoDyn.dat | 99 - ROSCO_toolbox/Test_Cases/NREL-5MW/README.md | 1 - .../Test_Cases/Wind/90m_12mps_twr.inp | 74 - ROSCO_toolbox/Tune_Cases/BAR.yaml | 62 - ROSCO_toolbox/Tune_Cases/Cp_Ct_Cq.DTU10MW.txt | 165 - ROSCO_toolbox/Tune_Cases/Cp_Ct_Cq.IEA15MW.txt | 165 - ROSCO_toolbox/Tune_Cases/Cp_Ct_Cq.NREL5MW.txt | 165 - ROSCO_toolbox/Tune_Cases/DISCON.IN | 119 - ROSCO_toolbox/Tune_Cases/DTU10MW.yaml | 62 - ROSCO_toolbox/Tune_Cases/IEA15MW.yaml | 57 - ROSCO_toolbox/Tune_Cases/NREL5MW.yaml | 62 - ROSCO_toolbox/Tune_Cases/README.md | 73 - ROSCO_toolbox/Tune_Cases/tune_ROSCO.py | 67 - ROSCO_toolbox/architecture.png | Bin 54457 -> 0 bytes ROSCO_toolbox/architecture.svg | 459 - ROSCO_toolbox/docs/Makefile | 20 - ROSCO_toolbox/docs/conf.py | 179 - ROSCO_toolbox/docs/index.rst | 40 - ROSCO_toolbox/docs/make.bat | 35 - ROSCO_toolbox/docs/requirements.txt | 5 - ROSCO_toolbox/docs/source/compiling.rst | 52 - ROSCO_toolbox/docs/source/generating.rst | 5 - ROSCO_toolbox/setup.py | 136 - 329 files changed, 121900 deletions(-) delete mode 100644 ROSCO_toolbox/.gitignore delete mode 100644 ROSCO_toolbox/.gitmodules delete mode 100644 ROSCO_toolbox/Examples/.gitignore delete mode 100644 ROSCO_toolbox/Examples/Cp_Ct_Cq.Ex03.txt delete mode 100644 ROSCO_toolbox/Examples/Cp_Ct_Cq.NREL5MW.txt delete mode 100644 ROSCO_toolbox/Examples/DISCON.IN delete mode 100644 ROSCO_toolbox/Examples/NREL5MW_example.yaml delete mode 100644 ROSCO_toolbox/Examples/NREL5MW_saved.p delete mode 100644 ROSCO_toolbox/Examples/README.md delete mode 100644 ROSCO_toolbox/Examples/ROSCO_walkthrough.ipynb delete mode 100644 ROSCO_toolbox/Examples/example_01.py delete mode 100644 ROSCO_toolbox/Examples/example_02.py delete mode 100644 ROSCO_toolbox/Examples/example_03.py delete mode 100644 ROSCO_toolbox/Examples/example_04.py delete mode 100644 ROSCO_toolbox/Examples/example_05.py delete mode 100644 ROSCO_toolbox/Examples/example_06.py delete mode 100644 ROSCO_toolbox/Examples/example_07.py delete mode 100644 ROSCO_toolbox/Examples/example_08.py delete mode 100644 ROSCO_toolbox/Examples/example_09.py delete mode 100644 ROSCO_toolbox/Examples/example_10.py delete mode 100644 ROSCO_toolbox/Examples/example_11.py delete mode 100644 ROSCO_toolbox/HISTORY.md delete mode 100644 ROSCO_toolbox/LICENSE delete mode 100644 ROSCO_toolbox/Matlab_Toolbox/Pl_FastPlots.m delete mode 100644 ROSCO_toolbox/Matlab_Toolbox/README.md delete mode 100644 ROSCO_toolbox/Matlab_Toolbox/ReadWrite_FAST.m delete mode 100644 ROSCO_toolbox/Matlab_Toolbox/Simulink/ROSCO.mdl delete mode 100644 ROSCO_toolbox/Matlab_Toolbox/load_ROSCO_params.m delete mode 100644 ROSCO_toolbox/Matlab_Toolbox/runFAST.m delete mode 100644 ROSCO_toolbox/README.md delete mode 160000 ROSCO_toolbox/ROSCO delete mode 100644 ROSCO_toolbox/ROSCO_testing/ROSCO_testing.py delete mode 100644 ROSCO_toolbox/ROSCO_testing/__init__.py delete mode 100644 ROSCO_toolbox/ROSCO_testing/run_Testing.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/__init__.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/control_interface.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/controller.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/README.md delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/__init__.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/case_gen/CaseGen_General.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/case_gen/CaseGen_IEC.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/case_gen/__init__.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/case_gen/runFAST_pywrapper.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/fast_io/FAST_post.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/fast_io/FAST_reader.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/fast_io/FAST_vars.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/fast_io/FAST_vars_out.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/fast_io/FAST_wrapper.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/fast_io/FAST_writer.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/fast_io/__init__.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/fast_io/file.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/fast_io/output_processing.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/fast_io/pyIECWind.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/fast_io/read_fast_input.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/fast_io/turbsim_io/__init__.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/fast_io/turbsim_io/turbsim_reader.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/fast_io/turbsim_io/turbsim_vartrees.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/fast_io/turbsim_io/turbsim_wrapper.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/fast_io/turbsim_io/turbsim_writer.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/fast_io/turbsim_io/turbulence_spectrum.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/fast_io/turbsim_io/wind_profile_writer.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/util/FileTools.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/util/__init__.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/ofTools/util/spectral.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/sim.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/turbine.py delete mode 100644 ROSCO_toolbox/ROSCO_toolbox/utilities.py delete mode 100644 ROSCO_toolbox/Test_Cases/5MW_Land_Simulink/5MW_Land_Simulink.fst delete mode 100644 ROSCO_toolbox/Test_Cases/5MW_Land_Simulink/DISCON.IN delete mode 100644 ROSCO_toolbox/Test_Cases/5MW_Land_Simulink/NRELOffshrBsline5MW_Onshore_AeroDyn15.dat delete mode 100644 ROSCO_toolbox/Test_Cases/5MW_Land_Simulink/NRELOffshrBsline5MW_Onshore_ElastoDyn.dat delete mode 100644 ROSCO_toolbox/Test_Cases/5MW_Land_Simulink/NRELOffshrBsline5MW_Onshore_ElastoDyn_Tower.dat delete mode 100644 ROSCO_toolbox/Test_Cases/5MW_Land_Simulink/NRELOffshrBsline5MW_Onshore_ServoDyn.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF00_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF01_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF02_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF03_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF04_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF05_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF06_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF07_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF08_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF09_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF10_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF11_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF12_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF13_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF14_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF15_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF16_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF17_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF18_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF19_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF20_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF21_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF22_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF23_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF24_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF25_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF26_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF27_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF28_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/AF29_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_00.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_01.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_02.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_03.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_04.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_05.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_06.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_07.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_08.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_09.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_10.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_11.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_12.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_13.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_14.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_15.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_16.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_17.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_18.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_19.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_20.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_21.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_22.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_23.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_24.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_25.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_26.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_27.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_28.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/Airfoils/BAR_10_AeroDyn15_Polar_29.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/BAR_10.fst delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/BAR_10_AeroDyn15.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/BAR_10_AeroDyn15_blade.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/BAR_10_BeamDyn.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/BAR_10_BeamDyn_Blade.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/BAR_10_Cp_Ct_Cq.txt delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/BAR_10_DISCON.IN delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/BAR_10_ElastoDyn.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/BAR_10_ElastoDyn_blade.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/BAR_10_ElastoDyn_tower.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/BAR_10_InflowFile.dat delete mode 100644 ROSCO_toolbox/Test_Cases/BAR_10/BAR_10_ServoDyn.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_00.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_00_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_01.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_01_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_02.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_02_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_03.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_03_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_04.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_04_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_05.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_05_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_06.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_06_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_07.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_07_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_08.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_08_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_09.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_09_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_10.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_10_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_11.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_11_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_12.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_12_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_13.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_13_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_14.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_14_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_15.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_15_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_16.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_16_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_17.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_17_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_18.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_18_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_19.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_19_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_20.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_20_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_21.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_21_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_22.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_22_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_23.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_23_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_24.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_24_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_25.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_25_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_26.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_26_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_27.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_27_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_28.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_28_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_29.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_29_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_30.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_30_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_31.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_31_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_32.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_32_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_33.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_33_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_34.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_34_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_35.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_35_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_36.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_36_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_37.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_37_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_38.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_38_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_39.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_39_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_40.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_40_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_41.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_41_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_42.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_42_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_43.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_43_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_44.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_44_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_45.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_45_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_46.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_46_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_47.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_47_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_48.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_48_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_49.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Airfoils/IEA-15-240-RWT_AeroDyn15_Polar_49_Coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/Cp_Ct_Cq.IEA15MW.txt delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/HydroData/IEA-15-240-RWT-UMaineSemi.1 delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/HydroData/IEA-15-240-RWT-UMaineSemi.12d delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/HydroData/IEA-15-240-RWT-UMaineSemi.12s delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/HydroData/IEA-15-240-RWT-UMaineSemi.3 delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/HydroData/IEA-15-240-RWT-UMaineSemi.hst delete mode 100755 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/HydroData/IEA-15-240-RWT-UMaineSemi.ss delete mode 100755 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/HydroData/IEA-15-240-RWT-UMaineSemi.ssexctn delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/IEA-15-240-RWT-UMaineSemi.fst delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/IEA-15-240-RWT-UMaineSemi_ElastoDyn.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/IEA-15-240-RWT-UMaineSemi_ElastoDyn_tower.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/IEA-15-240-RWT-UMaineSemi_HydroDyn.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/IEA-15-240-RWT-UMaineSemi_MoorDyn.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/IEA-15-240-RWT-UMaineSemi_ServoDyn.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/IEA-15-240-RWT_AeroDyn15.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/IEA-15-240-RWT_AeroDyn15_blade.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/IEA-15-240-RWT_BeamDyn.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/IEA-15-240-RWT_BeamDyn_blade.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/IEA-15-240-RWT_ElastoDyn_blade.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/IEA-15-240-RWT_InflowFile.dat delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/ServoData/DISCON-UMaineSemi.IN delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/ServoData/IEA15MW-UMaineSemi.yaml delete mode 100644 ROSCO_toolbox/Test_Cases/IEA-15-240-RWT-UMaineSemi/ss_ops.yaml delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/AeroData/Cylinder1.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/AeroData/Cylinder2.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/AeroData/DU21_A17.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/AeroData/DU25_A17.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/AeroData/DU30_A17.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/AeroData/DU35_A17.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/AeroData/DU40_A17.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/AeroData/NACA64_A17.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/Airfoils/Cylinder1.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/Airfoils/Cylinder1_coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/Airfoils/Cylinder2.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/Airfoils/Cylinder2_coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/Airfoils/DU21_A17.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/Airfoils/DU21_A17_coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/Airfoils/DU25_A17.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/Airfoils/DU25_A17_coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/Airfoils/DU30_A17.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/Airfoils/DU30_A17_coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/Airfoils/DU35_A17.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/Airfoils/DU35_A17_coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/Airfoils/DU40_A17.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/Airfoils/DU40_A17_coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/Airfoils/NACA64_A17.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/Airfoils/NACA64_A17_coords.txt delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/Cp_Ct_Cq.NREL5MW.txt delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/DISCON.IN delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/IceDyn_Input.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/IceFloe_IEC_Crushing.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/NREL-5MW.fst delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/NRELOffshrBsline5MW_AeroDyn_blade.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/NRELOffshrBsline5MW_BeamDyn.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/NRELOffshrBsline5MW_BeamDyn_Blade.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/NRELOffshrBsline5MW_Blade.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/NRELOffshrBsline5MW_InflowWind.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/NRELOffshrBsline5MW_Monopile_IEC_Crushing.inp delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/NRELOffshrBsline5MW_Onshore_AeroDyn15.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/NRELOffshrBsline5MW_Onshore_ElastoDyn.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/NRELOffshrBsline5MW_Onshore_ElastoDyn_Tower.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/NRELOffshrBsline5MW_Onshore_ServoDyn.dat delete mode 100644 ROSCO_toolbox/Test_Cases/NREL-5MW/README.md delete mode 100644 ROSCO_toolbox/Test_Cases/Wind/90m_12mps_twr.inp delete mode 100644 ROSCO_toolbox/Tune_Cases/BAR.yaml delete mode 100644 ROSCO_toolbox/Tune_Cases/Cp_Ct_Cq.DTU10MW.txt delete mode 100644 ROSCO_toolbox/Tune_Cases/Cp_Ct_Cq.IEA15MW.txt delete mode 100644 ROSCO_toolbox/Tune_Cases/Cp_Ct_Cq.NREL5MW.txt delete mode 100644 ROSCO_toolbox/Tune_Cases/DISCON.IN delete mode 100644 ROSCO_toolbox/Tune_Cases/DTU10MW.yaml delete mode 100644 ROSCO_toolbox/Tune_Cases/IEA15MW.yaml delete mode 100644 ROSCO_toolbox/Tune_Cases/NREL5MW.yaml delete mode 100644 ROSCO_toolbox/Tune_Cases/README.md delete mode 100644 ROSCO_toolbox/Tune_Cases/tune_ROSCO.py delete mode 100644 ROSCO_toolbox/architecture.png delete mode 100644 ROSCO_toolbox/architecture.svg delete mode 100644 ROSCO_toolbox/docs/Makefile delete mode 100644 ROSCO_toolbox/docs/conf.py delete mode 100644 ROSCO_toolbox/docs/index.rst delete mode 100644 ROSCO_toolbox/docs/make.bat delete mode 100644 ROSCO_toolbox/docs/requirements.txt delete mode 100644 ROSCO_toolbox/docs/source/compiling.rst delete mode 100644 ROSCO_toolbox/docs/source/generating.rst delete mode 100644 ROSCO_toolbox/setup.py diff --git a/ROSCO_toolbox/.gitignore b/ROSCO_toolbox/.gitignore deleted file mode 100644 index aaac7c06a..000000000 --- a/ROSCO_toolbox/.gitignore +++ /dev/null @@ -1,54 +0,0 @@ - -# python compiled files -__pycache__/ -.cache -*.pyc -*.egg-info -dist -build -_build -*.ipynb_checkpoints* -*.html - -# macOS files -.DS_Store - -# MATLAB files -*.m~ -*slprj* - -# ide settings and files -.idea -.vscode - -# OpenFAST generated files -*.sum -*.ech -*.dbg -*.out -*.outb -*.dbg - -# Fortran files -*.85 - -# Binaries -*.dylib -*.so -*.dll -*.bts - -# Other -.pytest_cache -examples/cp_ct_cq_lut.p - -# Files Generated in Examples -Examples/DISCON.IN -Examples/*.p - -# Matlab Stuff -Matlab_Toolbox/*.slxc -*.mat - -# Exclude testing results -ROSCO_testing/results/ diff --git a/ROSCO_toolbox/.gitmodules b/ROSCO_toolbox/.gitmodules deleted file mode 100644 index 49ebf7787..000000000 --- a/ROSCO_toolbox/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "ROSCO"] - path = ROSCO - url = https://github.com/NREL/ROSCO diff --git a/ROSCO_toolbox/Examples/.gitignore b/ROSCO_toolbox/Examples/.gitignore deleted file mode 100644 index 07f8d9678..000000000 --- a/ROSCO_toolbox/Examples/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -Cp_Ct_Cq.*.txt -*.p diff --git a/ROSCO_toolbox/Examples/Cp_Ct_Cq.Ex03.txt b/ROSCO_toolbox/Examples/Cp_Ct_Cq.Ex03.txt deleted file mode 100644 index 71fdc76a8..000000000 --- a/ROSCO_toolbox/Examples/Cp_Ct_Cq.Ex03.txt +++ /dev/null @@ -1,93 +0,0 @@ -# ----- Rotor performance tables for the NREL-5MW wind turbine ----- -# ------------ Written on Dec-17-20 using the ROSCO toolbox ------------ - -# Pitch angle vector, 52 entries - x axis (matrix columns) (deg) --1.0 -0.5 0.0 0.5 1.0 1.5 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 15.0 15.5 16.0 16.5 17.0 17.5 18.0 18.5 19.0 19.5 20.0 20.5 21.0 21.5 22.0 22.5 23.0 23.5 24.0 24.5 -# TSR vector, 24 entries - y axis (matrix rows) (-) -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) -11.4 - -# Power coefficient - -0.091686 0.096575 0.101314 0.105894 0.110305 0.114538 0.118583 0.122431 0.126073 0.129497 0.132692 0.135647 0.138350 0.140792 0.142964 0.144862 0.146489 0.147849 0.148944 0.149780 0.150362 0.150689 0.150761 0.150584 0.150158 0.149481 0.148560 0.147399 0.145993 0.144332 0.142397 0.140162 0.137607 0.134728 0.131540 0.128046 0.124241 0.120135 0.115747 0.111088 0.106162 0.100977 0.095542 0.089878 0.084011 0.077963 0.071754 0.065400 0.058916 0.052316 0.045611 0.038813 -0.143960 0.149596 0.154953 0.160020 0.164780 0.169215 0.173312 0.177055 0.180438 0.183463 0.186134 0.188453 0.190421 0.192038 0.193294 0.194177 0.194678 0.194796 0.194534 0.193895 0.192872 0.191448 0.189595 0.187279 0.184490 0.181249 0.177562 0.173422 0.168848 0.163866 0.158486 0.152708 0.146540 0.140009 0.133154 0.126003 0.118581 0.110911 0.103012 0.094905 0.086606 0.078132 0.069499 0.060720 0.051807 0.042773 0.033628 0.024379 0.015033 0.005593 -0.003935 -0.013542 -0.200999 0.207057 0.212709 0.217944 0.222753 0.227130 0.231064 0.234540 0.237530 0.240009 0.241950 0.243324 0.244105 0.244277 0.243810 0.242667 0.240834 0.238334 0.235185 0.231387 0.226970 0.221974 0.216406 0.210270 0.203596 0.196433 0.188826 0.180813 0.172423 0.163680 0.154596 0.145188 0.135473 0.125468 0.115192 0.104662 0.093900 0.082925 0.071756 0.060409 0.048901 0.037244 0.025448 0.013520 0.001458 -0.010738 -0.023067 -0.035520 -0.048079 -0.060714 -0.073394 -0.086081 -0.262109 0.268883 0.275108 0.280728 0.285675 0.289866 0.293225 0.295673 0.297120 0.297523 0.296898 0.295282 0.292698 0.289211 0.284905 0.279806 0.273940 0.267362 0.260137 0.252325 0.243968 0.235104 0.225765 0.215975 0.205747 0.195099 0.184044 0.172594 0.160751 0.148531 0.135955 0.123045 0.109826 0.096324 0.082563 0.068565 0.054349 0.039931 0.025323 0.010531 -0.004446 -0.019615 -0.034984 -0.050555 -0.066317 -0.082239 -0.098275 -0.114365 -0.130442 -0.146438 -0.162296 -0.177964 -0.329812 0.336766 0.342452 0.346750 0.349588 0.350936 0.350796 0.349261 0.346468 0.342512 0.337517 0.331617 0.324917 0.317486 0.309376 0.300628 0.291272 0.281333 0.270832 0.259781 0.248190 0.236072 0.223439 0.210294 0.196656 0.182542 0.167952 0.152901 0.137415 0.121524 0.105259 0.088650 0.071726 0.054509 0.037018 0.019268 0.001262 -0.017001 -0.035533 -0.054348 -0.073456 -0.092852 -0.112507 -0.132362 -0.152329 -0.172296 -0.192145 -0.211771 -0.231094 -0.250061 -0.268667 -0.286970 -0.394666 0.398340 0.400011 0.399772 0.397807 0.394382 0.389766 0.384156 0.377676 0.370393 0.362345 0.353560 0.344063 0.333874 0.323009 0.311479 0.299287 0.286434 0.272921 0.258750 0.243930 0.228475 0.212388 0.195693 0.178407 0.160534 0.142107 0.123163 0.103741 0.083878 0.063607 0.042956 0.021945 0.000587 -0.021117 -0.043176 -0.065611 -0.088442 -0.111678 -0.135309 -0.159287 -0.183520 -0.207873 -0.232173 -0.256248 -0.279945 -0.303158 -0.325827 -0.347971 -0.369705 -0.391262 -0.412935 -0.438041 0.437071 0.434596 0.430880 0.426094 0.420359 0.413722 0.406207 0.397833 0.388615 0.378568 0.367703 0.356023 0.343527 0.330207 0.316055 0.301063 0.285225 0.268542 0.251030 0.232706 0.213585 0.193700 0.173080 0.151740 0.129725 0.107083 0.083863 0.060108 0.035853 0.011125 -0.014063 -0.039710 -0.065831 -0.092454 -0.119604 -0.147289 -0.175499 -0.204180 -0.233212 -0.262421 -0.291590 -0.320480 -0.348856 -0.376558 -0.403501 -0.429701 -0.455310 -0.480649 -0.506137 -0.532192 -0.559071 -0.457967 0.455979 0.452866 0.448704 0.443478 0.437192 0.429833 0.421406 0.411921 0.401383 0.389793 0.377143 0.363427 0.348637 0.332762 0.315796 0.297737 0.278593 0.258384 0.237143 0.214897 0.191699 0.167596 0.142611 0.116800 0.090223 0.062939 0.034999 0.006435 -0.022730 -0.052490 -0.082859 -0.113873 -0.145563 -0.177938 -0.210991 -0.244676 -0.278878 -0.313397 -0.347990 -0.382360 -0.416171 -0.449143 -0.481129 -0.512100 -0.542199 -0.571792 -0.601400 -0.631581 -0.662858 -0.695509 -0.729432 -0.464498 0.464022 0.462253 0.459125 0.454597 0.448659 0.441298 0.432496 0.422256 0.410593 0.397517 0.383032 0.367139 0.349836 0.331124 0.311013 0.289519 0.266671 0.242518 0.217117 0.190536 0.162847 0.134077 0.104292 0.073568 0.041975 0.009566 -0.023623 -0.057573 -0.092287 -0.127803 -0.164159 -0.201376 -0.239448 -0.278345 -0.317981 -0.358171 -0.398656 -0.439117 -0.479156 -0.518328 -0.556326 -0.593032 -0.628509 -0.663068 -0.697272 -0.731776 -0.767305 -0.804602 -0.844026 -0.885395 -0.928069 -0.463490 0.465456 0.465861 0.464541 0.461379 0.456308 0.449315 0.440385 0.429515 0.416742 0.402103 0.385624 0.367325 0.347224 0.325347 0.301724 0.276400 0.249437 0.220931 0.190965 0.159637 0.126994 0.093102 0.058054 0.021935 -0.015195 -0.053297 -0.092353 -0.132381 -0.173430 -0.215535 -0.258703 -0.302917 -0.348116 -0.394172 -0.440851 -0.487834 -0.534719 -0.580989 -0.626097 -0.669719 -0.711769 -0.752399 -0.792065 -0.831452 -0.871377 -0.912845 -0.956832 -1.003839 -1.053712 -1.105589 -1.157942 -0.457445 0.462118 0.465005 0.465848 0.464411 0.460553 0.454181 0.445286 0.433864 0.419956 0.403639 0.384976 0.364016 0.340815 0.315425 0.287912 0.258360 0.226890 0.193623 0.158676 0.122136 0.084062 0.044567 0.003751 -0.038313 -0.081577 -0.126023 -0.171682 -0.218606 -0.266826 -0.316340 -0.367115 -0.419059 -0.472010 -0.525699 -0.579747 -0.633667 -0.686835 -0.738622 -0.788647 -0.836834 -0.883378 -0.928785 -0.973867 -1.019688 -1.067499 -1.118620 -1.173918 -1.233318 -1.295643 -1.358741 -1.420196 -0.447852 0.455065 0.460425 0.463528 0.463989 0.461544 0.456010 0.447287 0.435373 0.420293 0.402165 0.381108 0.357222 0.330602 0.301344 0.269564 0.235402 0.199023 0.160566 0.120178 0.077923 0.033922 -0.011703 -0.058857 -0.107479 -0.157552 -0.209107 -0.262202 -0.316861 -0.373081 -0.430808 -0.489920 -0.550233 -0.611454 -0.673151 -0.734763 -0.795604 -0.854950 -0.912315 -0.967576 -1.020857 -1.072658 -1.123956 -1.176043 -1.230487 -1.289087 -1.353172 -1.422769 -1.496497 -1.571675 -1.645302 -1.715018 -0.436246 0.445302 0.452807 0.458044 0.460431 0.459481 0.454894 0.446450 0.434075 0.417776 0.397696 0.374029 0.346937 0.316572 0.283092 0.246669 0.207494 0.165768 0.121668 0.075329 0.026850 -0.023617 -0.075950 -0.130068 -0.185943 -0.243605 -0.303110 -0.364486 -0.427726 -0.492758 -0.559435 -0.627554 -0.696810 -0.766737 -0.836734 -0.906076 -0.973950 -1.039720 -1.103096 -1.164038 -1.222996 -1.281053 -1.339770 -1.401135 -1.467400 -1.540381 -1.620400 -1.706144 -1.794614 -1.882156 -1.965735 -2.043742 -0.423215 0.433838 0.442899 0.449901 0.454053 0.454561 0.450936 0.442819 0.429986 0.412415 0.390235 0.363729 0.333142 0.298704 0.260640 0.219175 0.174562 0.127028 0.076794 0.023972 -0.031277 -0.088793 -0.148468 -0.210254 -0.274167 -0.340263 -0.408575 -0.479093 -0.551737 -0.626339 -0.702675 -0.780434 -0.859149 -0.938209 -1.016871 -1.094266 -1.169580 -1.242227 -1.311915 -1.378939 -1.444423 -1.510230 -1.578792 -1.652747 -1.734397 -1.824636 -1.922541 -2.025159 -2.128205 -2.227776 -2.321411 -2.408660 -0.408674 0.420901 0.431280 0.439602 0.445167 0.446986 0.444233 0.436413 0.423112 0.404196 0.379761 0.350179 0.315806 0.276958 0.233927 0.187001 0.136491 0.082669 0.025768 -0.034083 -0.096686 -0.161889 -0.229613 -0.299849 -0.372646 -0.448043 -0.526034 -0.606537 -0.689370 -0.774290 -0.860978 -0.948986 -1.037730 -1.126473 -1.214335 -1.300336 -1.383513 -1.463216 -1.539437 -1.613237 -1.686737 -1.762787 -1.844401 -1.934314 -2.034203 -2.143851 -2.260837 -2.380548 -2.498120 -2.609888 -2.714447 -2.812213 -0.392491 0.406405 0.418111 0.427478 0.434088 0.436949 0.434927 0.427276 0.413446 0.393090 0.366239 0.333342 0.294883 0.251269 0.202866 0.150036 0.093151 0.032543 -0.031589 -0.099055 -0.169648 -0.243241 -0.319787 -0.399315 -0.481868 -0.567451 -0.655988 -0.747293 -0.841105 -0.937092 -1.034831 -1.133787 -1.233270 -1.332426 -1.430180 -1.525198 -1.616348 -1.703164 -1.786462 -1.868477 -1.952417 -2.041710 -2.139500 -2.248231 -2.368690 -2.499440 -2.636225 -2.773342 -2.905702 -3.030419 -3.147086 -3.256787 -0.374551 0.390255 0.403289 0.413633 0.421002 0.424581 0.423063 0.415431 0.400961 0.379056 0.349628 0.313171 0.270309 0.221553 0.167352 0.108158 0.044405 -0.023539 -0.095487 -0.171196 -0.250473 -0.333217 -0.419415 -0.509110 -0.602317 -0.698977 -0.798913 -0.901850 -1.007440 -1.115268 -1.224860 -1.335606 -1.446724 -1.557133 -1.665242 -1.769373 -1.868434 -1.962750 -2.054428 -2.146905 -2.244050 -2.349485 -2.466255 -2.596280 -2.739406 -2.892593 -3.049892 -3.204882 -3.352672 -3.491425 -3.621561 -3.744691 -0.354752 0.372334 0.386719 0.398034 0.405978 0.410020 0.408744 0.400923 0.385629 0.362055 0.329881 0.289605 0.242007 0.187713 0.127271 0.061233 -0.009910 -0.085775 -0.166158 -0.250791 -0.339498 -0.432205 -0.528928 -0.629697 -0.734472 -0.843099 -0.955298 -1.070713 -1.188911 -1.309458 -1.431845 -1.555409 -1.679152 -1.801410 -1.920015 -2.033135 -2.140330 -2.243249 -2.345296 -2.450757 -2.563821 -2.688095 -2.826409 -2.980057 -3.147779 -3.324589 -3.503220 -3.676702 -3.840906 -3.994974 -4.140058 -4.278165 -0.333003 0.352535 0.368316 0.380579 0.389001 0.393289 0.392004 0.383778 0.367452 0.342047 0.306944 0.262575 0.209888 0.149643 0.082498 0.009108 -0.069969 -0.154379 -0.243863 -0.338148 -0.437077 -0.540610 -0.648769 -0.761543 -0.878808 -1.000297 -1.125646 -1.254409 -1.386141 -1.520417 -1.656724 -1.794237 -1.931386 -2.065753 -2.194733 -2.316934 -2.433122 -2.546326 -2.661010 -2.782001 -2.913585 -3.059222 -3.221522 -3.401112 -3.595200 -3.796876 -3.997663 -4.190496 -4.372318 -4.543140 -4.704715 -4.859431 -0.309270 0.330763 0.347981 0.361170 0.370019 0.374392 0.372880 0.363997 0.346417 0.318994 0.280755 0.232004 0.173858 0.107229 0.032901 -0.048376 -0.135979 -0.229588 -0.328881 -0.433590 -0.543585 -0.658850 -0.779386 -0.905111 -1.035790 -1.171061 -1.310469 -1.453531 -1.599847 -1.749032 -1.900506 -2.052951 -2.203972 -2.350395 -2.489774 -2.621652 -2.748220 -2.873670 -3.003362 -3.142397 -3.294941 -3.464396 -3.653136 -3.860958 -4.083147 -4.310923 -4.534716 -4.748034 -4.948847 -5.137970 -5.317645 -5.490751 -0.283675 0.306945 0.325613 0.339718 0.348964 0.353279 0.351362 0.341596 0.322521 0.292845 0.251245 0.197806 0.133815 0.060349 -0.021672 -0.111393 -0.208162 -0.311656 -0.421508 -0.537461 -0.659413 -0.787350 -0.921225 -1.060853 -1.205892 -1.355887 -1.510319 -1.668744 -1.830843 -1.996256 -2.164074 -2.332161 -2.497172 -2.655653 -2.805822 -2.948494 -3.087060 -3.226908 -3.374013 -3.533490 -3.709339 -3.905075 -4.122787 -4.361112 -4.613131 -4.868160 -5.115993 -5.351129 -5.572447 -5.781483 -5.980987 -6.174479 -0.256313 0.281113 0.301131 0.316140 0.325760 0.329900 0.327415 0.316551 0.295744 0.263542 0.218342 0.159893 0.089649 0.008870 -0.081378 -0.180142 -0.286748 -0.400854 -0.522056 -0.650120 -0.784958 -0.926532 -1.074719 -1.229217 -1.389587 -1.555287 -1.725804 -1.900784 -2.080005 -2.262980 -2.448103 -2.632228 -2.811255 -2.982086 -3.143907 -3.298695 -3.451088 -3.607597 -3.774480 -3.956652 -4.158169 -4.382714 -4.632027 -4.903130 -5.186626 -5.470040 -5.743189 -6.001619 -6.245055 -6.475706 -6.696930 -6.913061 -0.227413 0.253359 0.274487 0.290363 0.300332 0.304212 0.301010 0.288835 0.266040 0.231032 0.181968 0.118169 0.041242 -0.047355 -0.146395 -0.254826 -0.371984 -0.497465 -0.630855 -0.771933 -0.920613 -1.076810 -1.240294 -1.410655 -1.587356 -1.769814 -1.957580 -2.150441 -2.348192 -2.549934 -2.753074 -2.953396 -3.146694 -3.330549 -3.505110 -3.673491 -3.841738 -4.017198 -4.206100 -4.413187 -4.642786 -4.898798 -5.182427 -5.488527 -5.805056 -6.118101 -6.418029 -6.701347 -6.968601 -7.222692 -7.467747 -7.708985 -0.197326 0.223779 0.245733 0.262323 0.272607 0.276159 0.272110 0.258429 0.233378 0.195259 0.142039 0.072526 -0.011538 -0.108485 -0.216915 -0.335674 -0.464126 -0.601784 -0.748233 -0.903263 -1.066769 -1.238589 -1.418378 -1.605623 -1.799699 -2.000051 -2.206350 -2.418500 -2.636179 -2.857697 -3.079288 -3.296071 -3.504186 -3.702011 -3.890511 -4.074130 -4.260392 -4.457052 -4.670103 -4.904358 -5.164549 -5.454851 -5.775547 -6.118766 -6.469853 -6.813950 -7.142266 -7.452152 -7.745026 -8.024547 -8.295764 -8.564753 - - -# Thrust coefficient - -0.234756 0.235098 0.235255 0.235221 0.234993 0.234569 0.233948 0.233132 0.232126 0.230935 0.229565 0.228026 0.226326 0.224475 0.222484 0.220367 0.218143 0.215830 0.213440 0.210985 0.208473 0.205897 0.203249 0.200520 0.197693 0.194748 0.191672 0.188451 0.185067 0.181496 0.177711 0.173674 0.169360 0.164764 0.159907 0.154797 0.149434 0.143835 0.138024 0.132018 0.125825 0.119455 0.112914 0.106220 0.099398 0.092467 0.085443 0.078340 0.071172 0.063949 0.056685 0.049388 -0.301210 0.300178 0.298869 0.297294 0.295464 0.293395 0.291107 0.288627 0.285985 0.283218 0.280362 0.277443 0.274473 0.271460 0.268391 0.265247 0.262007 0.258643 0.255130 0.251439 0.247532 0.243356 0.238852 0.233954 0.228637 0.222926 0.216830 0.210353 0.203516 0.196365 0.188917 0.181179 0.173159 0.164881 0.156385 0.147701 0.138854 0.129865 0.120751 0.111530 0.102214 0.092819 0.083356 0.073836 0.064271 0.054670 0.045044 0.035403 0.025754 0.016104 0.006460 -0.003173 -0.368432 0.365580 0.362520 0.359307 0.355993 0.352622 0.349221 0.345797 0.342334 0.338808 0.335182 0.331415 0.327457 0.323254 0.318711 0.313719 0.308189 0.302102 0.295450 0.288217 0.280436 0.272167 0.263431 0.254243 0.244639 0.234678 0.224405 0.213869 0.203103 0.192134 0.180973 0.169639 0.158152 0.146528 0.134784 0.122931 0.110984 0.098957 0.086862 0.074712 0.062520 0.050300 0.038061 0.025814 0.013566 0.001323 -0.010909 -0.023120 -0.035298 -0.047426 -0.059484 -0.071448 -0.437544 0.433904 0.430278 0.426640 0.422940 0.419113 0.415089 0.410773 0.406018 0.400690 0.394702 0.387999 0.380509 0.372237 0.363246 0.353556 0.343190 0.332211 0.320701 0.308737 0.296376 0.283672 0.270674 0.257422 0.243937 0.230244 0.216365 0.202316 0.188092 0.173710 0.159188 0.144540 0.129783 0.114933 0.100004 0.085011 0.069970 0.054894 0.039795 0.024683 0.009565 -0.005552 -0.020663 -0.035756 -0.050818 -0.065828 -0.080761 -0.095585 -0.110260 -0.124736 -0.138960 -0.152872 -0.516328 0.512429 0.508094 0.503177 0.497562 0.491132 0.483752 0.475370 0.466005 0.455647 0.444344 0.432201 0.419336 0.405845 0.391808 0.377291 0.362349 0.347030 0.331374 0.315414 0.299182 0.282710 0.266026 0.249137 0.232071 0.214846 0.197454 0.179904 0.162213 0.144399 0.126478 0.108467 0.090382 0.072240 0.054055 0.035842 0.017608 -0.000638 -0.018892 -0.037145 -0.055386 -0.073597 -0.091750 -0.109810 -0.127731 -0.145456 -0.162918 -0.180051 -0.196784 -0.213050 -0.228774 -0.243872 -0.601387 0.594193 0.585824 0.576185 0.565236 0.553073 0.539859 0.525730 0.510799 0.495162 0.478901 0.462084 0.444769 0.427006 0.408839 0.390303 0.371429 0.352242 0.332767 0.313031 0.293070 0.272910 0.252557 0.232040 0.211368 0.190524 0.169524 0.148386 0.127130 0.105773 0.084335 0.062833 0.041284 0.019697 -0.001917 -0.023554 -0.045208 -0.066868 -0.088516 -0.110121 -0.131639 -0.153015 -0.174175 -0.195039 -0.215526 -0.235556 -0.255049 -0.273925 -0.292101 -0.309478 -0.325924 -0.341278 -0.676693 0.663493 0.649128 0.633734 0.617406 0.600231 0.582286 0.563646 0.544379 0.524544 0.504195 0.483376 0.462125 0.440472 0.418443 0.396064 0.373358 0.350349 0.327062 0.303536 0.279804 0.255874 0.231775 0.207513 0.183064 0.158448 0.133686 0.108799 0.083811 0.058741 0.033605 0.008415 -0.016820 -0.042096 -0.067406 -0.092739 -0.118066 -0.143344 -0.168514 -0.193496 -0.218193 -0.242505 -0.266339 -0.289603 -0.312201 -0.334045 -0.355042 -0.375084 -0.394026 -0.411691 -0.427876 -0.442359 -0.735696 0.717971 0.699319 0.679810 0.659490 0.638420 0.616641 0.594205 0.571164 0.547566 0.523450 0.498848 0.473790 0.448305 0.422421 0.396163 0.369559 0.342637 0.315437 0.288007 0.260360 0.232526 0.204512 0.176287 0.147873 0.119295 0.090579 0.061750 0.032826 0.003821 -0.025256 -0.054398 -0.083602 -0.112854 -0.142121 -0.171350 -0.200467 -0.229372 -0.257947 -0.286074 -0.313640 -0.340537 -0.366661 -0.391907 -0.416171 -0.439342 -0.461284 -0.481820 -0.500752 -0.517862 -0.532889 -0.545514 -0.784285 0.763334 0.741493 0.718779 0.695217 0.670850 0.645715 0.619836 0.593258 0.566032 0.538206 0.509821 0.480917 0.451528 0.421690 0.391435 0.360798 0.329819 0.298558 0.267054 0.235326 0.203399 0.171229 0.138837 0.106253 0.073508 0.040624 0.007621 -0.025491 -0.058700 -0.092007 -0.125399 -0.158843 -0.192280 -0.225631 -0.258782 -0.291594 -0.323928 -0.355648 -0.386628 -0.416743 -0.445877 -0.473917 -0.500747 -0.526240 -0.550247 -0.572594 -0.593073 -0.611418 -0.627302 -0.640346 -0.650149 -0.826266 0.802658 0.778188 0.752782 0.726411 0.699073 0.670805 0.641636 0.611601 0.580767 0.549205 0.516976 0.484132 0.450723 0.416794 0.382388 0.347553 0.312353 0.276858 0.241089 0.205091 0.168820 0.132281 0.095509 0.058537 0.021390 -0.015913 -0.053359 -0.090942 -0.128658 -0.166478 -0.204347 -0.242184 -0.279875 -0.317269 -0.354198 -0.390504 -0.426033 -0.460636 -0.494179 -0.526540 -0.557600 -0.587232 -0.615312 -0.641708 -0.666239 -0.688659 -0.708659 -0.725848 -0.739762 -0.749926 -0.755987 -0.863809 0.837677 0.810735 0.782840 0.753864 0.723759 0.692505 0.660143 0.626704 0.592259 0.556910 0.520749 0.483849 0.446280 0.408103 0.369376 0.330166 0.290566 0.250636 0.210419 0.169909 0.129068 0.087938 0.046556 0.004949 -0.036860 -0.078857 -0.121038 -0.163388 -0.205862 -0.248386 -0.290853 -0.333115 -0.374988 -0.416283 -0.456817 -0.496411 -0.534898 -0.572141 -0.608017 -0.642397 -0.675163 -0.706208 -0.735403 -0.762552 -0.787386 -0.809541 -0.828540 -0.843850 -0.854935 -0.861381 -0.863009 -0.898284 0.869454 0.839959 0.809582 0.778078 0.745308 0.711195 0.675718 0.638918 0.600851 0.561654 0.521459 0.480375 0.438494 0.395899 0.352671 0.308904 0.264717 0.220154 0.175268 0.129994 0.084356 0.038399 -0.007845 -0.054349 -0.101097 -0.148080 -0.195274 -0.242618 -0.290022 -0.337354 -0.384434 -0.431053 -0.476994 -0.522046 -0.566004 -0.608688 -0.649962 -0.689695 -0.727766 -0.764072 -0.798514 -0.830961 -0.861212 -0.888968 -0.913802 -0.935169 -0.952485 -0.965155 -0.972683 -0.974811 -0.971542 -0.931027 0.898924 0.866582 0.833560 0.799502 0.764091 0.727171 0.688643 0.648509 0.606810 0.563696 0.519359 0.473951 0.427596 0.380407 0.332488 0.283976 0.234992 0.185599 0.135791 0.085524 0.034851 -0.016186 -0.067553 -0.119230 -0.171200 -0.223433 -0.275854 -0.328360 -0.380798 -0.432958 -0.484607 -0.535499 -0.585388 -0.634048 -0.681289 -0.726965 -0.770950 -0.813132 -0.853422 -0.891721 -0.927900 -0.961752 -0.992944 -1.021004 -1.045347 -1.065338 -1.080327 -1.089724 -1.093146 -1.090502 -1.082097 -0.962814 0.927055 0.891330 0.855331 0.818549 0.780439 0.740704 0.699156 0.655695 0.610347 0.563246 0.514652 0.464772 0.413774 0.361803 0.309002 0.255555 0.201569 0.147124 0.092140 0.036641 -0.019316 -0.075690 -0.132453 -0.189578 -0.247028 -0.304724 -0.362549 -0.420330 -0.477836 -0.534810 -0.590971 -0.646043 -0.699775 -0.751962 -0.802449 -0.851114 -0.897856 -0.942592 -0.985226 -1.025625 -1.063577 -1.098723 -1.130576 -1.158523 -1.181885 -1.199963 -1.212073 -1.217675 -1.216529 -1.208810 -1.195215 -0.993908 0.954307 0.914846 0.875441 0.835616 0.794668 0.752042 0.707449 0.660663 0.611639 0.560476 0.507502 0.452996 0.397179 0.340238 0.282362 0.223775 0.164585 0.104835 0.044439 -0.016537 -0.078034 -0.140014 -0.202441 -0.265270 -0.328420 -0.391766 -0.455121 -0.518236 -0.580827 -0.642586 -0.703201 -0.762395 -0.819940 -0.875671 -0.929464 -0.981224 -1.030875 -1.078327 -1.123440 -1.165991 -1.205616 -1.241827 -1.274006 -1.301438 -1.323379 -1.339064 -1.347795 -1.349133 -1.343056 -1.330112 -1.311369 -1.024461 0.980866 0.937489 0.894329 0.851104 0.807089 0.761450 0.713718 0.663572 0.610828 0.555529 0.498048 0.438759 0.377943 0.315838 0.252695 0.188759 0.124161 0.058841 -0.007210 -0.073915 -0.141218 -0.209068 -0.277414 -0.346176 -0.415225 -0.484368 -0.553339 -0.621832 -0.689513 -0.756036 -0.821091 -0.884420 -0.945840 -1.005217 -1.062459 -1.117496 -1.170247 -1.220568 -1.268222 -1.312850 -1.353975 -1.390993 -1.423175 -1.449734 -1.469842 -1.482671 -1.487557 -1.484225 -1.472977 -1.454750 -1.430950 -1.054590 1.006869 0.959390 0.912273 0.865327 0.817945 0.769108 0.718128 0.664559 0.608041 0.548527 0.486411 0.422175 0.356176 0.288713 0.220109 0.150621 0.080364 0.009228 -0.062727 -0.135421 -0.208788 -0.282763 -0.357268 -0.432177 -0.507295 -0.582348 -0.657008 -0.730921 -0.803708 -0.875019 -0.944558 -1.012114 -1.077537 -1.140727 -1.201620 -1.260146 -1.316165 -1.369430 -1.419584 -1.466168 -1.508604 -1.546178 -1.578077 -1.603417 -1.621283 -1.630806 -1.631424 -1.623105 -1.606538 -1.583019 -1.554263 -1.084384 1.032402 0.980656 0.929428 0.878503 0.827493 0.775237 0.720856 0.663743 0.603390 0.539578 0.472693 0.403344 0.331975 0.258956 0.184692 0.109434 0.033260 -0.043935 -0.122047 -0.200986 -0.280670 -0.361019 -0.441912 -0.523161 -0.604491 -0.685556 -0.765983 -0.845366 -0.923312 -0.999480 -1.073615 -1.145544 -1.215149 -1.282366 -1.347138 -1.409337 -1.468718 -1.524920 -1.577499 -1.625906 -1.669470 -1.707377 -1.738711 -1.762486 -1.777700 -1.783498 -1.779477 -1.765941 -1.743955 -1.715150 -1.681534 -1.113896 1.057533 1.001379 0.945871 0.890777 0.835898 0.780002 0.722055 0.661259 0.596974 0.528773 0.456982 0.382346 0.305415 0.226642 0.146505 0.065268 -0.017088 -0.100589 -0.185110 -0.270547 -0.356805 -0.443771 -0.531267 -0.619028 -0.706698 -0.793883 -0.880160 -0.965092 -1.048286 -1.129434 -1.208322 -1.284809 -1.358817 -1.430301 -1.499152 -1.565142 -1.627912 -1.687017 -1.741935 -1.792041 -1.836566 -1.874588 -1.905074 -1.926934 -1.939097 -1.940785 -1.931820 -1.912886 -1.885403 -1.851321 -1.812957 -1.143093 1.082307 1.021619 0.961668 0.902254 0.843302 0.783557 0.721843 0.657210 0.588882 0.516187 0.439348 0.359250 0.276561 0.191837 0.105614 0.018160 -0.070628 -0.160683 -0.251867 -0.344060 -0.437146 -0.530963 -0.625261 -0.719689 -0.813833 -0.907253 -0.999480 -1.090067 -1.178640 -1.264932 -1.348761 -1.430027 -1.508684 -1.584649 -1.657726 -1.727568 -1.793728 -1.855690 -1.912870 -1.964564 -2.009891 -2.047808 -2.077158 -2.096752 -2.105488 -2.102712 -2.088554 -2.064071 -2.031023 -1.991678 -1.948723 -1.171736 1.106731 1.041419 0.976878 0.913010 0.849786 0.786007 0.720337 0.651695 0.579184 0.501886 0.419852 0.334113 0.245468 0.154593 0.062077 -0.031851 -0.127315 -0.224178 -0.322282 -0.421492 -0.521657 -0.622547 -0.723829 -0.825079 -0.925839 -1.025616 -1.123916 -1.220296 -1.314414 -1.406037 -1.495024 -1.581314 -1.664852 -1.745475 -1.822871 -1.896602 -1.966142 -2.030921 -2.090297 -2.143474 -2.189445 -2.227031 -2.254956 -2.271933 -2.276886 -2.269336 -2.249773 -2.219606 -2.180927 -2.136371 -2.089055 -1.199665 1.130687 1.060803 0.991545 0.923092 0.855416 0.787425 0.717615 0.644798 0.567939 0.485924 0.398547 0.306984 0.212187 0.114961 0.015928 -0.084730 -0.187120 -0.291046 -0.396334 -0.502823 -0.610306 -0.718477 -0.826919 -0.935156 -1.042676 -1.148950 -1.253467 -1.355807 -1.455655 -1.552820 -1.647205 -1.738766 -1.827384 -1.912794 -1.994581 -2.072223 -2.145133 -2.212699 -2.274218 -2.328774 -2.375226 -2.412252 -2.438456 -2.452480 -2.453312 -2.440720 -2.415560 -2.379579 -2.335224 -2.285564 -2.234206 -1.226569 1.154008 1.079755 1.005702 0.932536 0.860255 0.787882 0.713750 0.636575 0.555208 0.468351 0.375479 0.277909 0.176760 0.072976 -0.032793 -0.140450 -0.250021 -0.361273 -0.474009 -0.588030 -0.703061 -0.818712 -0.934497 -1.049886 -1.164323 -1.277246 -1.388150 -1.496631 -1.602414 -1.705352 -1.805389 -1.902443 -1.996305 -2.086605 -2.172841 -2.254411 -2.330690 -2.401028 -2.464635 -2.520465 -2.567230 -2.603459 -2.627645 -2.638392 -2.634795 -2.616924 -2.585987 -2.544069 -2.494031 -2.439454 -2.384425 -1.252024 1.176555 1.098156 1.019368 0.941373 0.864347 0.787439 0.708813 0.627098 0.541045 0.449210 0.350690 0.246925 0.139220 0.028662 -0.084077 -0.198996 -0.316005 -0.434846 -0.555293 -0.677094 -0.799895 -0.923225 -1.046538 -1.169251 -1.290769 -1.410513 -1.527985 -1.642804 -1.754744 -1.863707 -1.969636 -2.072377 -2.171618 -2.266900 -2.357633 -2.443154 -2.522812 -2.595911 -2.661551 -2.718548 -2.765449 -2.800637 -2.822515 -2.829676 -2.821369 -2.798002 -2.761109 -2.713156 -2.657489 -2.598249 -2.539943 - - -# Torque coefficient - -0.030591 0.032222 0.033804 0.035332 0.036803 0.038216 0.039565 0.040849 0.042064 0.043207 0.044273 0.045259 0.046161 0.046975 0.047700 0.048333 0.048876 0.049330 0.049695 0.049974 0.050168 0.050278 0.050302 0.050243 0.050100 0.049874 0.049567 0.049180 0.048711 0.048156 0.047511 0.046765 0.045913 0.044952 0.043888 0.042723 0.041453 0.040083 0.038619 0.037065 0.035421 0.033691 0.031878 0.029988 0.028030 0.026013 0.023941 0.021821 0.019658 0.017455 0.015218 0.012950 -0.041171 0.042782 0.044314 0.045764 0.047125 0.048393 0.049565 0.050635 0.051603 0.052468 0.053232 0.053895 0.054458 0.054920 0.055280 0.055532 0.055675 0.055709 0.055634 0.055451 0.055159 0.054751 0.054221 0.053559 0.052762 0.051835 0.050780 0.049596 0.048288 0.046864 0.045325 0.043672 0.041909 0.040041 0.038080 0.036035 0.033913 0.031719 0.029460 0.027141 0.024768 0.022345 0.019876 0.017365 0.014816 0.012233 0.009617 0.006972 0.004299 0.001599 -0.001125 -0.003873 -0.050298 0.051814 0.053228 0.054538 0.055741 0.056837 0.057821 0.058691 0.059439 0.060059 0.060545 0.060889 0.061084 0.061127 0.061010 0.060725 0.060266 0.059640 0.058852 0.057902 0.056797 0.055546 0.054153 0.052618 0.050947 0.049155 0.047252 0.045246 0.043147 0.040959 0.038686 0.036331 0.033900 0.031397 0.028825 0.026190 0.023497 0.020751 0.017956 0.015117 0.012237 0.009320 0.006368 0.003383 0.000365 -0.002687 -0.005772 -0.008888 -0.012031 -0.015193 -0.018366 -0.021541 -0.058302 0.059809 0.061193 0.062443 0.063544 0.064476 0.065223 0.065768 0.066090 0.066179 0.066040 0.065681 0.065106 0.064330 0.063373 0.062238 0.060934 0.059470 0.057863 0.056126 0.054267 0.052295 0.050218 0.048040 0.045765 0.043397 0.040938 0.038391 0.035756 0.033038 0.030241 0.027369 0.024429 0.021426 0.018365 0.015251 0.012089 0.008882 0.005633 0.002343 -0.000989 -0.004363 -0.007782 -0.011245 -0.014751 -0.018293 -0.021860 -0.025439 -0.029015 -0.032573 -0.036100 -0.039585 -0.066025 0.067417 0.068556 0.069416 0.069984 0.070254 0.070226 0.069919 0.069360 0.068568 0.067568 0.066387 0.065045 0.063558 0.061934 0.060183 0.058310 0.056320 0.054218 0.052006 0.049685 0.047259 0.044730 0.042099 0.039369 0.036543 0.033622 0.030609 0.027509 0.024328 0.021072 0.017747 0.014359 0.010912 0.007411 0.003857 0.000253 -0.003403 -0.007113 -0.010880 -0.014705 -0.018588 -0.022523 -0.026498 -0.030495 -0.034492 -0.038466 -0.042395 -0.046263 -0.050060 -0.053785 -0.057449 -0.071826 0.072494 0.072799 0.072755 0.072397 0.071774 0.070934 0.069913 0.068734 0.067408 0.065944 0.064345 0.062616 0.060762 0.058785 0.056686 0.054468 0.052129 0.049669 0.047090 0.044393 0.041580 0.038653 0.035614 0.032469 0.029216 0.025862 0.022415 0.018880 0.015265 0.011576 0.007818 0.003994 0.000107 -0.003843 -0.007858 -0.011941 -0.016096 -0.020324 -0.024625 -0.028989 -0.033399 -0.037831 -0.042254 -0.046635 -0.050948 -0.055172 -0.059298 -0.063328 -0.067283 -0.071206 -0.075151 -0.073076 0.072915 0.072502 0.071882 0.071083 0.070127 0.069019 0.067766 0.066369 0.064831 0.063155 0.061342 0.059394 0.057309 0.055087 0.052726 0.050225 0.047583 0.044800 0.041878 0.038821 0.035631 0.032314 0.028874 0.025314 0.021641 0.017864 0.013990 0.010027 0.005981 0.001856 -0.002346 -0.006625 -0.010982 -0.015424 -0.019953 -0.024572 -0.029278 -0.034062 -0.038906 -0.043778 -0.048645 -0.053464 -0.058198 -0.062820 -0.067314 -0.071685 -0.075957 -0.080185 -0.084436 -0.088783 -0.093267 -0.070524 0.070217 0.069738 0.069097 0.068292 0.067324 0.066191 0.064893 0.063433 0.061810 0.060025 0.058077 0.055965 0.053688 0.051243 0.048630 0.045849 0.042901 0.039789 0.036518 0.033093 0.029520 0.025809 0.021961 0.017986 0.013894 0.009692 0.005390 0.000991 -0.003500 -0.008083 -0.012760 -0.017536 -0.022416 -0.027401 -0.032491 -0.037678 -0.042945 -0.048261 -0.053588 -0.058881 -0.064087 -0.069165 -0.074090 -0.078860 -0.083495 -0.088052 -0.092611 -0.097259 -0.102075 -0.107103 -0.112327 -0.066420 0.066352 0.066099 0.065652 0.065004 0.064155 0.063103 0.061844 0.060380 0.058712 0.056842 0.054771 0.052498 0.050024 0.047348 0.044473 0.041399 0.038132 0.034678 0.031046 0.027245 0.023286 0.019172 0.014913 0.010520 0.006002 0.001368 -0.003378 -0.008233 -0.013196 -0.018275 -0.023474 -0.028795 -0.034239 -0.039801 -0.045469 -0.051216 -0.057005 -0.062791 -0.068516 -0.074117 -0.079551 -0.084800 -0.089872 -0.094814 -0.099705 -0.104639 -0.109719 -0.115053 -0.120690 -0.126605 -0.132708 -0.061858 0.062120 0.062174 0.061998 0.061576 0.060899 0.059966 0.058774 0.057323 0.055618 0.053665 0.051466 0.049023 0.046341 0.043421 0.040268 0.036888 0.033290 0.029486 0.025486 0.021305 0.016949 0.012425 0.007748 0.002927 -0.002028 -0.007113 -0.012325 -0.017668 -0.023146 -0.028765 -0.034527 -0.040427 -0.046460 -0.052606 -0.058836 -0.065106 -0.071364 -0.077539 -0.083559 -0.089381 -0.094993 -0.100415 -0.105709 -0.110966 -0.116294 -0.121829 -0.127699 -0.133973 -0.140629 -0.147552 -0.154539 -0.057235 0.057820 0.058181 0.058287 0.058107 0.057624 0.056827 0.055714 0.054285 0.052544 0.050503 0.048168 0.045545 0.042642 0.039466 0.036023 0.032326 0.028388 0.024226 0.019853 0.015282 0.010518 0.005576 0.000469 -0.004794 -0.010207 -0.015768 -0.021481 -0.027352 -0.033385 -0.039580 -0.045933 -0.052432 -0.059057 -0.065775 -0.072537 -0.079284 -0.085936 -0.092416 -0.098675 -0.104704 -0.110527 -0.116209 -0.121849 -0.127582 -0.133565 -0.139961 -0.146880 -0.154312 -0.162110 -0.170004 -0.177694 -0.052739 0.053588 0.054219 0.054585 0.054639 0.054351 0.053699 0.052672 0.051269 0.049493 0.047359 0.044879 0.042066 0.038931 0.035486 0.031744 0.027721 0.023437 0.018908 0.014152 0.009176 0.003995 -0.001378 -0.006931 -0.012657 -0.018553 -0.024624 -0.030877 -0.037313 -0.043934 -0.050732 -0.057693 -0.064795 -0.072004 -0.079270 -0.086525 -0.093690 -0.100678 -0.107433 -0.113941 -0.120215 -0.126315 -0.132356 -0.138490 -0.144901 -0.151802 -0.159348 -0.167544 -0.176226 -0.185079 -0.193749 -0.201959 -0.048518 0.049525 0.050360 0.050942 0.051208 0.051102 0.050592 0.049653 0.048277 0.046464 0.044231 0.041598 0.038585 0.035208 0.031485 0.027434 0.023077 0.018436 0.013532 0.008378 0.002986 -0.002627 -0.008447 -0.014466 -0.020680 -0.027093 -0.033711 -0.040537 -0.047570 -0.054803 -0.062219 -0.069795 -0.077497 -0.085274 -0.093059 -0.100771 -0.108320 -0.115635 -0.122683 -0.129461 -0.136018 -0.142475 -0.149005 -0.155830 -0.163200 -0.171317 -0.180216 -0.189752 -0.199592 -0.209328 -0.218623 -0.227299 -0.044591 0.045711 0.046665 0.047403 0.047841 0.047894 0.047512 0.046657 0.045305 0.043453 0.041116 0.038324 0.035101 0.031472 0.027462 0.023093 0.018392 0.013384 0.008091 0.002526 -0.003295 -0.009356 -0.015643 -0.022153 -0.028887 -0.035851 -0.043049 -0.050479 -0.058133 -0.065993 -0.074036 -0.082229 -0.090523 -0.098853 -0.107141 -0.115296 -0.123231 -0.130885 -0.138228 -0.145290 -0.152189 -0.159123 -0.166347 -0.174139 -0.182742 -0.192250 -0.202566 -0.213378 -0.224235 -0.234726 -0.244592 -0.253785 -0.040906 0.042130 0.043169 0.044002 0.044559 0.044741 0.044466 0.043683 0.042352 0.040458 0.038012 0.035051 0.031611 0.027722 0.023415 0.018718 0.013662 0.008275 0.002579 -0.003412 -0.009678 -0.016204 -0.022983 -0.030014 -0.037300 -0.044847 -0.052654 -0.060712 -0.069003 -0.077503 -0.086180 -0.094989 -0.103872 -0.112755 -0.121549 -0.130157 -0.138483 -0.146461 -0.154090 -0.161477 -0.168834 -0.176447 -0.184616 -0.193616 -0.203614 -0.214589 -0.226299 -0.238282 -0.250050 -0.261237 -0.271703 -0.281489 -0.037416 0.038742 0.039858 0.040751 0.041381 0.041654 0.041461 0.040732 0.039413 0.037473 0.034913 0.031777 0.028111 0.023953 0.019339 0.014303 0.008880 0.003102 -0.003011 -0.009443 -0.016172 -0.023188 -0.030485 -0.038066 -0.045936 -0.054094 -0.062535 -0.071239 -0.080182 -0.089332 -0.098649 -0.108083 -0.117566 -0.127019 -0.136337 -0.145395 -0.154085 -0.162361 -0.170301 -0.178120 -0.186122 -0.194634 -0.203956 -0.214321 -0.225804 -0.238269 -0.251308 -0.264379 -0.276997 -0.288886 -0.300008 -0.310466 -0.034082 0.035512 0.036698 0.037639 0.038309 0.038635 0.038497 0.037802 0.036486 0.034492 0.031815 0.028497 0.024597 0.020160 0.015228 0.009842 0.004041 -0.002142 -0.008689 -0.015578 -0.022792 -0.030321 -0.038165 -0.046327 -0.054808 -0.063604 -0.072698 -0.082064 -0.091673 -0.101485 -0.111457 -0.121534 -0.131646 -0.141692 -0.151530 -0.161005 -0.170019 -0.178602 -0.186944 -0.195359 -0.204199 -0.213793 -0.224419 -0.236250 -0.249274 -0.263214 -0.277527 -0.291630 -0.305079 -0.317705 -0.329546 -0.340751 -0.030877 0.032408 0.033660 0.034645 0.035336 0.035688 0.035577 0.034896 0.033565 0.031513 0.028713 0.025207 0.021064 0.016338 0.011078 0.005330 -0.000863 -0.007466 -0.014462 -0.021829 -0.029550 -0.037619 -0.046038 -0.054808 -0.063928 -0.073383 -0.083149 -0.093194 -0.103482 -0.113974 -0.124627 -0.135382 -0.146152 -0.156794 -0.167117 -0.176963 -0.186293 -0.195251 -0.204133 -0.213312 -0.223153 -0.233970 -0.246009 -0.259382 -0.273981 -0.289370 -0.304918 -0.320018 -0.334310 -0.347720 -0.360348 -0.372369 -0.027777 0.029406 0.030722 0.031745 0.032448 0.032805 0.032698 0.032012 0.030650 0.028531 0.025603 0.021902 0.017507 0.012482 0.006881 0.000760 -0.005836 -0.012877 -0.020341 -0.028206 -0.036458 -0.045094 -0.054116 -0.063522 -0.073304 -0.083437 -0.093893 -0.104634 -0.115622 -0.126822 -0.138192 -0.149662 -0.161102 -0.172310 -0.183069 -0.193262 -0.202953 -0.212396 -0.221962 -0.232054 -0.243030 -0.255178 -0.268716 -0.283696 -0.299885 -0.316708 -0.333456 -0.349541 -0.364707 -0.378956 -0.392433 -0.405338 -0.024765 0.026486 0.027865 0.028921 0.029630 0.029980 0.029859 0.029148 0.027740 0.025544 0.022482 0.018578 0.013922 0.008586 0.002635 -0.003874 -0.010889 -0.018385 -0.026336 -0.034720 -0.043528 -0.052758 -0.062410 -0.072478 -0.082942 -0.093774 -0.104937 -0.116393 -0.128110 -0.140056 -0.152185 -0.164393 -0.176486 -0.188211 -0.199372 -0.209932 -0.220067 -0.230113 -0.240498 -0.251631 -0.263846 -0.277416 -0.292529 -0.309171 -0.326963 -0.345202 -0.363123 -0.380205 -0.396285 -0.411429 -0.425817 -0.439679 -0.021842 0.023634 0.025071 0.026157 0.026869 0.027201 0.027054 0.026302 0.024833 0.022548 0.019345 0.015230 0.010303 0.004647 -0.001669 -0.008577 -0.016028 -0.023996 -0.032455 -0.041383 -0.050772 -0.060623 -0.070931 -0.081682 -0.092849 -0.104398 -0.116289 -0.128487 -0.140968 -0.153704 -0.166626 -0.179568 -0.192273 -0.204476 -0.216038 -0.227023 -0.237692 -0.248460 -0.259787 -0.272066 -0.285606 -0.300677 -0.317440 -0.335790 -0.355194 -0.374831 -0.393913 -0.412017 -0.429058 -0.445153 -0.460514 -0.475412 -0.019004 0.020843 0.022327 0.023440 0.024153 0.024460 0.024276 0.023471 0.021928 0.019540 0.016189 0.011855 0.006647 0.000658 -0.006034 -0.013357 -0.021261 -0.029721 -0.038708 -0.048203 -0.058200 -0.068697 -0.079685 -0.091140 -0.103030 -0.115316 -0.127959 -0.140933 -0.154221 -0.167788 -0.181514 -0.195166 -0.208440 -0.221106 -0.233104 -0.244581 -0.255880 -0.267484 -0.279857 -0.293365 -0.308306 -0.324955 -0.343440 -0.363541 -0.384561 -0.405574 -0.425827 -0.444988 -0.463037 -0.480139 -0.496541 -0.512566 -0.016259 0.018114 0.019625 0.020760 0.021473 0.021750 0.021521 0.020651 0.019021 0.016518 0.013010 0.008449 0.002949 -0.003386 -0.010467 -0.018219 -0.026596 -0.035567 -0.045104 -0.055191 -0.065821 -0.076988 -0.088677 -0.100857 -0.113491 -0.126536 -0.139960 -0.153749 -0.167888 -0.182312 -0.196836 -0.211158 -0.224978 -0.238123 -0.250604 -0.262642 -0.274671 -0.287216 -0.300722 -0.315528 -0.331943 -0.350247 -0.370526 -0.392411 -0.415042 -0.437424 -0.458867 -0.479124 -0.498231 -0.516398 -0.533919 -0.551166 -0.013622 0.015448 0.016963 0.018108 0.018818 0.019064 0.018784 0.017840 0.016110 0.013479 0.009805 0.005007 -0.000797 -0.007489 -0.014974 -0.023172 -0.032039 -0.041542 -0.051651 -0.062353 -0.073640 -0.085501 -0.097912 -0.110838 -0.124235 -0.138066 -0.152307 -0.166952 -0.181979 -0.197270 -0.212567 -0.227532 -0.241898 -0.255554 -0.268567 -0.281242 -0.294100 -0.307676 -0.322383 -0.338554 -0.356515 -0.376555 -0.398693 -0.422386 -0.446622 -0.470375 -0.493039 -0.514431 -0.534649 -0.553944 -0.572667 -0.591235 - diff --git a/ROSCO_toolbox/Examples/Cp_Ct_Cq.NREL5MW.txt b/ROSCO_toolbox/Examples/Cp_Ct_Cq.NREL5MW.txt deleted file mode 100644 index 65b4326ce..000000000 --- a/ROSCO_toolbox/Examples/Cp_Ct_Cq.NREL5MW.txt +++ /dev/null @@ -1,93 +0,0 @@ -# ----- Rotor performance tables for the OpenFAST_5MW wind turbine ----- -# ------------ Written on Oct-30-19 using the ROSCO toolbox ------------ - -# Pitch angle vector - x axis (matrix columns) (deg) --1.0 -0.5 0.0 0.5 1.0 1.5 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 15.0 15.5 16.0 16.5 17.0 17.5 18.0 18.5 19.0 19.5 20.0 20.5 21.0 21.5 22.0 22.5 23.0 23.5 24.0 24.5 -# TSR vector - y axis (matrix rows) (-) -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) -11.4 - -# Power coefficient - -0.089542 0.094392 0.099145 0.103788 0.108307 0.112687 0.116914 0.120973 0.124849 0.128528 0.131993 0.135232 0.138228 0.140970 0.143444 0.145640 0.147549 0.149163 0.150476 0.151487 0.152194 0.152598 0.152699 0.152501 0.152006 0.151216 0.150134 0.148764 0.147107 0.145164 0.142938 0.140429 0.137641 0.134574 0.131231 0.127615 0.123732 0.119585 0.115183 0.110531 0.105640 0.100516 0.095171 0.089613 0.083855 0.077908 0.071786 0.065501 0.059069 0.052505 0.045826 0.039049 -0.141508 0.147502 0.153253 0.158739 0.163935 0.168819 0.173367 0.177556 0.181366 0.184778 0.187775 0.190347 0.192486 0.194187 0.195448 0.196272 0.196661 0.196620 0.196153 0.195261 0.193945 0.192207 0.190044 0.187459 0.184452 0.181026 0.177184 0.172932 0.168276 0.163230 0.157805 0.152016 0.145879 0.139411 0.132631 0.125555 0.118202 0.110588 0.102731 0.094646 0.086349 0.077855 0.069180 0.060344 0.051364 0.042264 0.033067 0.023797 0.014484 0.005153 -0.004168 -0.013456 -0.201243 0.207940 0.214159 0.219868 0.225035 0.229637 0.233653 0.237070 0.239881 0.242085 0.243684 0.244683 0.245083 0.244887 0.244090 0.242691 0.240688 0.238079 0.234865 0.231051 0.226641 0.221647 0.216085 0.209975 0.203342 0.196213 0.188617 0.180584 0.172143 0.163323 0.154149 0.144645 0.134834 0.124736 0.114368 0.103747 0.092885 0.081799 0.070506 0.059025 0.047380 0.035595 0.023700 0.011729 -0.000282 -0.012293 -0.024265 -0.036166 -0.047970 -0.059659 -0.071224 -0.082665 -0.265760 0.272384 0.278228 0.283273 0.287506 0.290924 0.293526 0.295314 0.296282 0.296428 0.295747 0.294234 0.291890 0.288718 0.284726 0.279927 0.274343 0.268002 0.260940 0.253195 0.244808 0.235823 0.226282 0.216225 0.205692 0.194717 0.183330 0.171561 0.159435 0.146973 0.134195 0.121115 0.107744 0.094093 0.080174 0.066005 0.051607 0.037005 0.022230 0.007321 -0.007678 -0.022714 -0.037731 -0.052673 -0.067495 -0.082166 -0.096665 -0.110984 -0.125132 -0.139140 -0.153057 -0.166950 -0.330815 0.336457 0.341015 0.344487 0.346868 0.348156 0.348348 0.347445 0.345453 0.342386 0.338265 0.333121 0.326993 0.319925 0.311969 0.303180 0.293608 0.283307 0.272327 0.260718 0.248524 0.235787 0.222544 0.208829 0.194673 0.180102 0.165139 0.149800 0.134094 0.118028 0.101606 0.084836 0.067731 0.050312 0.032606 0.014647 -0.003518 -0.021836 -0.040238 -0.058646 -0.076985 -0.095183 -0.113188 -0.130967 -0.148505 -0.165809 -0.182913 -0.199884 -0.216818 -0.233824 -0.251003 -0.268425 -0.390409 0.394045 0.396296 0.397170 0.396680 0.394854 0.391729 0.387349 0.381766 0.375036 0.367218 0.358374 0.348565 0.337847 0.326276 0.313904 0.300782 0.286955 0.272471 0.257371 0.241693 0.225472 0.208734 0.191506 0.173803 0.155638 0.137012 0.117926 0.098379 0.078378 0.057934 0.037075 0.015833 -0.005745 -0.027599 -0.049652 -0.071812 -0.093979 -0.116050 -0.137931 -0.159554 -0.180879 -0.201893 -0.222612 -0.243094 -0.263449 -0.283817 -0.304352 -0.325193 -0.346445 -0.368156 -0.390331 -0.436626 0.437770 0.437374 0.435482 0.432138 0.427390 0.421299 0.413928 0.405342 0.395600 0.384761 0.372880 0.360010 0.346202 0.331504 0.315963 0.299627 0.282543 0.264751 0.246288 0.227184 0.207465 0.187149 0.166241 0.144739 0.122641 0.099943 0.076648 0.052767 0.028325 0.003364 -0.022062 -0.047880 -0.073994 -0.100287 -0.126634 -0.152904 -0.178971 -0.204730 -0.230122 -0.255123 -0.279750 -0.304072 -0.328233 -0.352418 -0.376824 -0.401649 -0.427058 -0.453144 -0.479933 -0.507386 -0.535379 -0.465313 0.465083 0.463208 0.459716 0.454670 0.448116 0.440105 0.430695 0.419947 0.407918 0.394666 0.380243 0.364700 0.348093 0.330475 0.311902 0.292427 0.272093 0.250937 0.228993 0.206282 0.182812 0.158579 0.133579 0.107808 0.081262 0.053947 0.025883 -0.002888 -0.032308 -0.062296 -0.092743 -0.123509 -0.154441 -0.185382 -0.216167 -0.246641 -0.276694 -0.306276 -0.335380 -0.364067 -0.392490 -0.420877 -0.449473 -0.478531 -0.508301 -0.538975 -0.570636 -0.603289 -0.636835 -0.671032 -0.705510 -0.478834 0.478849 0.477083 0.473468 0.467980 0.460684 0.451635 0.440897 0.428546 0.414655 0.399295 0.382537 0.364452 0.345112 0.324588 0.302942 0.280226 0.256488 0.231761 0.206062 0.179391 0.151742 0.123110 0.093491 0.062884 0.031296 -0.001240 -0.034667 -0.068904 -0.103839 -0.139317 -0.175158 -0.211174 -0.247171 -0.282944 -0.318305 -0.353134 -0.387382 -0.421069 -0.454315 -0.487365 -0.520514 -0.554071 -0.588356 -0.623684 -0.660282 -0.698237 -0.737528 -0.777984 -0.819233 -0.860798 -0.902228 -0.481400 0.482811 0.482247 0.479557 0.474610 0.467357 0.457885 0.446283 0.432655 0.417118 0.399785 0.380762 0.360152 0.338048 0.314533 0.289673 0.263527 0.236132 0.207501 0.177633 0.146524 0.114172 0.080574 0.045729 0.009651 -0.027616 -0.066001 -0.105397 -0.145655 -0.186573 -0.227935 -0.269513 -0.311070 -0.352357 -0.393144 -0.433289 -0.472740 -0.511542 -0.549880 -0.588084 -0.626515 -0.665554 -0.705596 -0.747035 -0.790159 -0.835075 -0.881748 -0.929935 -0.979139 -1.028791 -1.078346 -1.127364 -0.476095 0.479491 0.480789 0.479638 0.475850 0.469260 0.459829 0.447704 0.433036 0.416005 0.396781 0.375517 0.352347 0.327384 0.300720 0.272429 0.242560 0.211128 0.178139 0.143596 0.107500 0.069853 0.030657 -0.010073 -0.052283 -0.095885 -0.140748 -0.186682 -0.233446 -0.280781 -0.328416 -0.376069 -0.423444 -0.470257 -0.516321 -0.561574 -0.606074 -0.650065 -0.693952 -0.738171 -0.783182 -0.829461 -0.877497 -0.927672 -0.980144 -1.034884 -1.091595 -1.149679 -1.208463 -1.267289 -1.325606 -1.383003 -0.465306 0.470609 0.473977 0.474778 0.472519 0.467007 0.458054 0.445718 0.430225 0.411821 0.390749 0.367215 0.341383 0.313390 0.283340 0.251301 0.217305 0.181370 0.143509 0.103732 0.062047 0.018462 -0.027008 -0.074302 -0.123319 -0.173905 -0.225837 -0.278831 -0.332583 -0.386779 -0.441087 -0.495159 -0.548648 -0.601298 -0.653014 -0.703849 -0.754088 -0.804205 -0.854717 -0.906168 -0.959122 -1.014165 -1.071817 -1.132333 -1.195727 -1.261688 -1.329537 -1.398490 -1.467754 -1.536630 -1.604597 -1.671311 -0.451492 0.457916 0.462947 0.465744 0.465327 0.461150 0.453005 0.440745 0.424605 0.404907 0.381979 0.356083 0.327427 0.296167 0.262412 0.226221 0.187636 0.146686 0.103395 0.057782 0.009861 -0.040346 -0.092783 -0.147337 -0.203838 -0.262036 -0.321604 -0.382195 -0.443441 -0.504961 -0.566355 -0.627207 -0.687168 -0.746076 -0.803953 -0.861088 -0.918014 -0.975335 -1.033681 -1.093711 -1.156114 -1.221562 -1.290480 -1.362976 -1.438785 -1.517183 -1.597269 -1.678107 -1.758815 -1.838712 -1.917334 -1.994532 -0.435622 0.442948 0.449017 0.453333 0.454788 0.452161 0.445010 0.433068 0.416428 0.395478 0.370637 0.342240 0.310538 0.275707 0.237857 0.197065 0.153389 0.106874 0.057556 0.005462 -0.049381 -0.106920 -0.167040 -0.229563 -0.294218 -0.360643 -0.428439 -0.497190 -0.566461 -0.635793 -0.704711 -0.772755 -0.839650 -0.905349 -0.970098 -1.034465 -1.099139 -1.164844 -1.232338 -1.302412 -1.375887 -1.453425 -1.535298 -1.621368 -1.710933 -1.802982 -1.896438 -1.990221 -2.083429 -2.175426 -2.265919 -2.354971 -0.417782 0.426162 0.433094 0.438469 0.441402 0.440393 0.434358 0.422899 0.405865 0.383667 0.356814 0.325727 0.290701 0.251931 0.209556 0.163678 0.114374 0.061707 0.005724 -0.053534 -0.116018 -0.181622 -0.250164 -0.321366 -0.394840 -0.470138 -0.546790 -0.624304 -0.702164 -0.779830 -0.856745 -0.932472 -1.006846 -1.080016 -1.152532 -1.225161 -1.298722 -1.374076 -1.452124 -1.533813 -1.620057 -1.711404 -1.807922 -1.909046 -2.013698 -2.120659 -2.228663 -2.336539 -2.443409 -2.548762 -2.652548 -2.754938 -0.397984 0.407603 0.415507 0.421744 0.425760 0.426156 0.421305 0.410388 0.393031 0.369547 0.340540 0.306522 0.267838 0.224727 0.177364 0.125881 0.070379 0.010936 -0.052384 -0.119527 -0.190401 -0.264832 -0.342549 -0.423151 -0.506146 -0.591008 -0.677186 -0.764100 -0.851144 -0.937682 -1.023109 -1.107073 -1.189571 -1.271049 -1.352319 -1.434297 -1.517951 -1.604294 -1.694397 -1.789370 -1.890130 -1.997053 -2.109849 -2.227485 -2.348609 -2.471793 -2.595595 -2.718814 -2.840646 -2.960812 -3.079431 -3.196734 -0.376229 0.387272 0.396305 0.403410 0.408340 0.409769 0.406030 0.395649 0.377980 0.353136 0.321788 0.284551 0.241841 0.193957 0.141115 0.083481 0.021177 -0.045698 -0.117071 -0.192857 -0.272905 -0.356960 -0.444629 -0.535387 -0.628649 -0.723803 -0.820203 -0.917173 -1.014006 -1.109970 -1.204471 -1.297286 -1.388669 -1.479387 -1.570447 -1.662922 -1.757945 -1.856709 -1.960473 -2.070489 -2.187577 -2.311848 -2.442518 -2.578169 -2.717210 -2.857988 -2.998928 -3.138849 -3.277116 -3.413688 -3.548775 -3.682658 -0.352513 0.365171 0.375499 0.383579 0.389315 0.391565 0.388657 0.378754 0.360731 0.334409 0.300493 0.259716 0.212590 0.159476 0.100639 0.036274 -0.033472 -0.108485 -0.188673 -0.273909 -0.363962 -0.458465 -0.556885 -0.658585 -0.762886 -0.869077 -0.976410 -1.084103 -1.191332 -1.297294 -1.401467 -1.503828 -1.604964 -1.705913 -1.807858 -1.912048 -2.019805 -2.132523 -2.251667 -2.378555 -2.513833 -2.657202 -2.807365 -2.962598 -3.121063 -3.280876 -3.440391 -3.598507 -3.754836 -3.909501 -4.062781 -4.215006 -0.326826 0.341284 0.353068 0.362236 0.368746 0.371705 0.369303 0.359751 0.341265 0.313314 0.276573 0.231915 0.179958 0.121130 0.055743 -0.015975 -0.093854 -0.177765 -0.267584 -0.363116 -0.464029 -0.569814 -0.679802 -0.793250 -0.909376 -1.027361 -1.146343 -1.265422 -1.383658 -1.500222 -1.614724 -1.727428 -1.839263 -1.951493 -2.065488 -2.182695 -2.304643 -2.432948 -2.569280 -2.714938 -2.870294 -3.034506 -3.205841 -3.382289 -3.561744 -3.742116 -3.921744 -4.099692 -4.275819 -4.450358 -4.623649 -4.796068 -0.299151 0.315583 0.328973 0.339335 0.346637 0.350221 0.348095 0.338651 0.319544 0.289783 0.249938 0.201032 0.143795 0.078729 0.006193 -0.073552 -0.160309 -0.253922 -0.354218 -0.460913 -0.573545 -0.691453 -0.813840 -0.939852 -1.068597 -1.199137 -1.330491 -1.461630 -1.591508 -1.719325 -1.844896 -1.968833 -2.092377 -2.217003 -2.344285 -2.475887 -2.613570 -2.759194 -2.914607 -3.080995 -3.258317 -3.445157 -3.639407 -3.838767 -4.040844 -4.243386 -4.444775 -4.644323 -4.842078 -5.038361 -5.233573 -5.428110 -0.269484 0.288035 0.303168 0.314832 0.322972 0.327107 0.325101 0.315444 0.295519 0.263733 0.220474 0.166915 0.103908 0.032033 -0.048298 -0.136782 -0.233193 -0.337338 -0.448974 -0.567703 -0.692912 -0.823788 -0.959411 -1.098815 -1.240987 -1.384864 -1.529333 -1.673228 -1.815422 -1.955204 -2.092670 -2.228805 -2.365125 -2.503324 -2.645199 -2.792653 -2.947702 -3.112473 -3.288933 -3.478055 -3.679244 -3.890555 -4.109531 -4.333561 -4.559961 -4.786371 -5.011298 -5.234313 -5.455617 -5.675607 -5.894731 -6.113362 -0.237889 0.258618 0.275620 0.288682 0.297707 0.302319 0.300293 0.290104 0.269113 0.235044 0.188023 0.129366 0.060059 -0.019228 -0.108024 -0.205984 -0.312845 -0.428362 -0.552202 -0.683831 -0.822478 -0.967181 -1.116902 -1.270552 -1.426987 -1.585009 -1.743361 -1.900738 -2.055966 -2.208492 -2.358758 -2.508112 -2.658331 -2.811340 -2.969183 -3.134023 -3.308156 -3.493992 -3.693536 -3.907419 -4.134415 -4.372104 -4.617682 -4.868201 -5.120701 -5.372774 -5.623125 -5.871572 -6.118434 -6.364179 -6.609269 -6.854024 -0.204630 0.227339 0.246294 0.260834 0.270773 0.275794 0.273598 0.262572 0.240204 0.203550 0.152386 0.088160 0.012006 -0.075313 -0.173260 -0.281442 -0.399554 -0.527289 -0.664202 -0.809609 -0.962571 -1.121992 -1.286703 -1.455484 -1.627049 -1.800053 -1.973084 -2.144700 -2.313726 -2.479843 -2.643878 -2.807526 -2.972820 -3.141938 -3.317191 -3.501029 -3.696055 -3.904954 -4.129679 -4.370370 -4.625166 -4.891205 -5.165322 -5.444213 -5.724668 -6.004300 -6.282068 -6.558000 -6.832520 -7.106141 -7.379314 -7.652283 -0.170014 0.194261 0.215147 0.231216 0.242075 0.247424 0.244887 0.232742 0.208639 0.169066 0.113364 0.043087 -0.040470 -0.136444 -0.244231 -0.363392 -0.493571 -0.634384 -0.785257 -0.945341 -1.113532 -1.288593 -1.469221 -1.654049 -1.841640 -2.030491 -2.219022 -2.405666 -2.589308 -2.769925 -2.948755 -3.127822 -3.309422 -3.496007 -3.690179 -3.894700 -4.112517 -4.346554 -4.598597 -4.868178 -5.152826 -5.449253 -5.753910 -6.063120 -6.373468 -6.682659 -6.989934 -7.295496 -7.599855 -7.903549 -8.206988 -8.510317 - - -# Thrust coefficient - -0.230643 0.231358 0.231931 0.232351 0.232612 0.232705 0.232628 0.232377 0.231951 0.231351 0.230577 0.229632 0.228519 0.227241 0.225800 0.224201 0.222444 0.220532 0.218464 0.216241 0.213859 0.211318 0.208613 0.205741 0.202697 0.199477 0.196078 0.192496 0.188726 0.184765 0.180610 0.176259 0.171707 0.166954 0.161997 0.156838 0.151476 0.145914 0.140157 0.134208 0.128076 0.121770 0.115297 0.108671 0.101904 0.095011 0.088004 0.080900 0.073712 0.066457 0.059148 0.051800 -0.296203 0.296020 0.295605 0.294960 0.294088 0.292995 0.291684 0.290160 0.288427 0.286486 0.284340 0.281988 0.279428 0.276656 0.273666 0.270453 0.267010 0.263329 0.259404 0.255226 0.250787 0.246079 0.241095 0.235826 0.230268 0.224416 0.218268 0.211822 0.205081 0.198048 0.190729 0.183133 0.175270 0.167155 0.158803 0.150230 0.141455 0.132496 0.123372 0.114104 0.104710 0.095210 0.085625 0.075973 0.066273 0.056545 0.046806 0.037075 0.027369 0.017705 0.008101 -0.001426 -0.365790 0.364336 0.362614 0.360628 0.358382 0.355875 0.353102 0.350059 0.346738 0.343129 0.339221 0.335002 0.330459 0.325576 0.320338 0.314728 0.308734 0.302342 0.295543 0.288332 0.280705 0.272664 0.264214 0.255364 0.246128 0.236523 0.226568 0.216285 0.205698 0.194829 0.183702 0.172342 0.160772 0.149017 0.137101 0.125048 0.112882 0.100625 0.088300 0.075930 0.063535 0.051137 0.038756 0.026414 0.014131 0.001928 -0.010174 -0.022153 -0.033986 -0.045651 -0.057122 -0.068373 -0.439133 0.436226 0.432985 0.429399 0.425455 0.421133 0.416414 0.411271 0.405680 0.399616 0.393053 0.385971 0.378353 0.370186 0.361466 0.352191 0.342369 0.332015 0.321149 0.309796 0.297982 0.285737 0.273090 0.260072 0.246710 0.233036 0.219077 0.204863 0.190422 0.175779 0.160963 0.145997 0.130909 0.115722 0.100463 0.085156 0.069825 0.054496 0.039194 0.023943 0.008770 -0.006301 -0.021244 -0.036035 -0.050647 -0.065052 -0.079223 -0.093129 -0.106738 -0.120013 -0.132916 -0.145406 -0.515949 0.511128 0.505787 0.499888 0.493396 0.486276 0.478500 0.470044 0.460890 0.451032 0.440469 0.429215 0.417290 0.404722 0.391546 0.377796 0.363510 0.348724 0.333475 0.317797 0.301725 0.285291 0.268528 0.251465 0.234132 0.216556 0.198765 0.180787 0.162649 0.144378 0.126005 0.107555 0.089060 0.070548 0.052049 0.033592 0.015208 -0.003074 -0.021225 -0.039216 -0.057016 -0.074596 -0.091924 -0.108964 -0.125683 -0.142040 -0.157993 -0.173496 -0.188499 -0.202945 -0.216777 -0.229933 -0.593260 0.585351 0.576632 0.567079 0.556674 0.545416 0.533315 0.520390 0.506672 0.492198 0.477009 0.461149 0.444661 0.427588 0.409969 0.391842 0.373245 0.354211 0.334772 0.314961 0.294807 0.274340 0.253589 0.232585 0.211355 0.189932 0.168346 0.146628 0.124813 0.102934 0.081024 0.059118 0.037249 0.015452 -0.006239 -0.027789 -0.049165 -0.070332 -0.091255 -0.111896 -0.132217 -0.152177 -0.171732 -0.190834 -0.209431 -0.227464 -0.244872 -0.261584 -0.277528 -0.292629 -0.306810 -0.319994 -0.664357 0.652221 0.639129 0.625100 0.610157 0.594331 0.577662 0.560201 0.541995 0.523087 0.503521 0.483335 0.462569 0.441256 0.419431 0.397128 0.374378 0.351214 0.327666 0.303767 0.279547 0.255041 0.230281 0.205302 0.180140 0.154832 0.129415 0.103927 0.078407 0.052893 0.027426 0.002044 -0.023213 -0.048304 -0.073190 -0.097830 -0.122182 -0.146202 -0.169844 -0.193061 -0.215800 -0.238004 -0.259612 -0.280555 -0.300758 -0.320141 -0.338617 -0.356096 -0.372485 -0.387691 -0.401625 -0.414204 -0.724510 0.708263 0.691047 0.672882 0.653818 0.633889 0.613133 0.591589 0.569300 0.546307 0.522648 0.498359 0.473477 0.448037 0.422074 0.395623 0.368718 0.341397 0.313695 0.285649 0.257298 0.228679 0.199835 0.170806 0.141634 0.112364 0.083039 0.053705 0.024406 -0.004813 -0.033903 -0.062820 -0.091516 -0.119944 -0.148053 -0.175794 -0.203114 -0.229957 -0.256263 -0.281969 -0.307004 -0.331291 -0.354745 -0.377275 -0.398780 -0.419156 -0.438294 -0.456084 -0.472416 -0.487190 -0.500316 -0.511721 -0.774241 0.754635 0.734084 0.712547 0.690012 0.666521 0.642111 0.616821 0.590699 0.563796 0.536159 0.507833 0.478861 0.449286 0.419151 0.388497 0.357367 0.325805 0.293854 0.261559 0.228967 0.196126 0.163082 0.129887 0.096591 0.063244 0.029900 -0.003389 -0.036569 -0.069587 -0.102388 -0.134916 -0.167115 -0.198926 -0.230290 -0.261143 -0.291419 -0.321049 -0.349954 -0.378051 -0.405246 -0.431437 -0.456514 -0.480360 -0.502851 -0.523855 -0.543242 -0.560890 -0.576686 -0.590541 -0.602385 -0.612175 -0.816056 0.793664 0.770348 0.745994 0.720509 0.693856 0.666088 0.637264 0.607448 0.576715 0.545132 0.512762 0.479663 0.445890 0.411499 0.376542 0.341074 0.305147 0.268816 0.232137 0.195165 0.157959 0.120575 0.083073 0.045513 0.007955 -0.029539 -0.066906 -0.104082 -0.141005 -0.177610 -0.213830 -0.249597 -0.284841 -0.319490 -0.353467 -0.386690 -0.419068 -0.450503 -0.480883 -0.510090 -0.537996 -0.564464 -0.589350 -0.612500 -0.633767 -0.653012 -0.670114 -0.684983 -0.697553 -0.707781 -0.715659 -0.852088 0.827135 0.801355 0.774479 0.746361 0.716878 0.685992 0.653794 0.620373 0.585840 0.550296 0.513832 0.476527 0.438457 0.399692 0.360302 0.320353 0.279913 0.239049 0.197828 0.156318 0.114587 0.072702 0.030736 -0.011241 -0.053156 -0.094938 -0.136512 -0.177805 -0.218743 -0.259249 -0.299245 -0.338651 -0.377384 -0.415356 -0.452473 -0.488631 -0.523715 -0.557599 -0.590146 -0.621213 -0.650646 -0.678277 -0.703934 -0.727444 -0.748652 -0.767426 -0.783672 -0.797324 -0.808338 -0.816704 -0.822461 -0.884072 0.856408 0.828173 0.798952 0.768360 0.736245 0.702456 0.667011 0.630048 0.591715 0.552167 0.511530 0.469915 0.427423 0.384145 0.340170 0.295582 0.250464 0.204896 0.158960 0.112736 0.066306 0.019752 -0.026842 -0.073394 -0.119818 -0.166031 -0.211949 -0.257485 -0.302554 -0.347065 -0.390929 -0.434052 -0.476335 -0.517670 -0.557941 -0.597018 -0.634760 -0.671019 -0.705633 -0.738429 -0.769219 -0.797803 -0.823985 -0.847586 -0.868462 -0.886510 -0.901662 -0.913869 -0.923113 -0.929432 -0.932922 -0.913800 0.882803 0.851760 0.820103 0.787150 0.752481 0.715931 0.677355 0.636893 0.594745 0.551127 0.506220 0.460173 0.413117 0.365170 0.316444 0.267042 0.217065 0.166610 0.115774 0.064654 0.013347 -0.038052 -0.089444 -0.140733 -0.191823 -0.242618 -0.293021 -0.342933 -0.392255 -0.440883 -0.488714 -0.535637 -0.581533 -0.626274 -0.669719 -0.711714 -0.752094 -0.790679 -0.827279 -0.861682 -0.893661 -0.922992 -0.949471 -0.972933 -0.993264 -1.010387 -1.024243 -1.034798 -1.042082 -1.046191 -1.047313 -0.942211 0.907520 0.873105 0.838603 0.803211 0.766042 0.726771 0.685159 0.641230 0.595237 0.547472 0.498181 0.447563 0.395787 0.343003 0.289346 0.234945 0.179919 0.124386 0.068461 0.012259 -0.044109 -0.100531 -0.156894 -0.213091 -0.269010 -0.324544 -0.379580 -0.434008 -0.487712 -0.540578 -0.592484 -0.643303 -0.692896 -0.741108 -0.787771 -0.832703 -0.875710 -0.916578 -0.955077 -0.990955 -1.023954 -1.053840 -1.080417 -1.103552 -1.123153 -1.139152 -1.151497 -1.160200 -1.165351 -1.167139 -1.165852 -0.969633 0.931110 0.892990 0.855185 0.816995 0.777281 0.735286 0.690685 0.643308 0.593431 0.541427 0.487627 0.432289 0.375626 0.317824 0.259050 0.199456 0.139187 0.078383 0.017177 -0.044299 -0.105915 -0.167544 -0.229060 -0.290339 -0.351258 -0.411694 -0.471522 -0.530617 -0.588852 -0.646096 -0.702211 -0.757045 -0.810432 -0.862190 -0.912120 -0.960011 -1.005630 -1.048727 -1.089028 -1.126239 -1.160087 -1.190340 -1.216833 -1.239461 -1.258143 -1.272814 -1.283455 -1.290138 -1.293041 -1.292457 -1.288754 -0.996282 0.953806 0.911825 0.870377 0.828987 0.786502 0.741748 0.694137 0.643325 0.589515 0.533172 0.474727 0.414509 0.352783 0.289779 0.225694 0.160713 0.095004 0.028730 -0.037954 -0.104898 -0.171955 -0.238982 -0.305838 -0.372385 -0.438487 -0.504005 -0.568804 -0.632743 -0.695679 -0.757462 -0.817929 -0.876901 -0.934182 -0.989559 -1.042801 -1.093660 -1.141862 -1.187112 -1.229089 -1.267475 -1.301996 -1.332446 -1.358697 -1.380652 -1.398234 -1.411393 -1.420168 -1.424708 -1.425299 -1.422324 -1.416224 -1.022317 0.975755 0.929786 0.884483 0.839603 0.793999 0.746368 0.695695 0.641436 0.583640 0.522849 0.459616 0.394352 0.327385 0.258988 0.189399 0.118831 0.047481 -0.024464 -0.096829 -0.169444 -0.242144 -0.314771 -0.387169 -0.459189 -0.530677 -0.601483 -0.671452 -0.740427 -0.808243 -0.874728 -0.939688 -1.002915 -1.064180 -1.123235 -1.179812 -1.233621 -1.284349 -1.331652 -1.375172 -1.414582 -1.449626 -1.480138 -1.506004 -1.527128 -1.543440 -1.554931 -1.561710 -1.564032 -1.562284 -1.556929 -1.548481 -1.047848 0.997069 0.946993 0.897698 0.849069 0.800083 0.749326 0.695514 0.637775 0.575928 0.510578 0.442409 0.371931 0.299539 0.225557 0.150264 0.073905 -0.003292 -0.081119 -0.159376 -0.237876 -0.316437 -0.394887 -0.473055 -0.550772 -0.627870 -0.704178 -0.779522 -0.853724 -0.926595 -0.997933 -1.067513 -1.135092 -1.200407 -1.263175 -1.323089 -1.379821 -1.433010 -1.482266 -1.527206 -1.567511 -1.602961 -1.633414 -1.658759 -1.678902 -1.693796 -1.703493 -1.708195 -1.708264 -1.704175 -1.696470 -1.685738 -1.072955 1.017836 0.963530 0.910118 0.857540 0.804971 0.750801 0.693739 0.632453 0.566491 0.496464 0.423208 0.347343 0.269338 0.189573 0.108369 0.026009 -0.057253 -0.141183 -0.225563 -0.310185 -0.394849 -0.479364 -0.563539 -0.647188 -0.730119 -0.812140 -0.893056 -0.972664 -1.050745 -1.127066 -1.201370 -1.273381 -1.342802 -1.409312 -1.472568 -1.532194 -1.587781 -1.638894 -1.685145 -1.726242 -1.762000 -1.792282 -1.816981 -1.836014 -1.849372 -1.857185 -1.859760 -1.857558 -1.851139 -1.841125 -1.828172 -1.097693 1.038120 0.979466 0.921814 0.865132 0.808796 0.750983 0.690490 0.625571 0.555422 0.480599 0.402099 0.320668 0.236856 0.151102 0.063773 -0.024815 -0.114380 -0.204660 -0.295413 -0.386408 -0.477426 -0.568252 -0.658674 -0.748480 -0.837456 -0.925387 -1.012054 -1.097225 -1.180655 -1.262077 -1.341204 -1.417727 -1.491311 -1.561598 -1.628200 -1.690692 -1.748610 -1.801494 -1.848968 -1.890779 -1.926758 -1.956775 -1.980720 -1.998533 -2.010259 -2.016123 -2.016536 -2.012053 -2.003323 -1.991049 -1.975932 -1.122089 1.057978 0.994859 0.932850 0.871937 0.811663 0.750032 0.685875 0.617222 0.542808 0.463062 0.379155 0.291970 0.202145 0.110181 0.016488 -0.078577 -0.174699 -0.271587 -0.368971 -0.466596 -0.564216 -0.661590 -0.758481 -0.854653 -0.949870 -1.043891 -1.136473 -1.227359 -1.316274 -1.402919 -1.486973 -1.568089 -1.645897 -1.719994 -1.789946 -1.855272 -1.915461 -1.970047 -2.018684 -2.061150 -2.097281 -2.126945 -2.150039 -2.166534 -2.176550 -2.180412 -2.178636 -2.171876 -2.160866 -2.146380 -2.129121 -1.146094 1.077452 1.009762 0.943282 0.878024 0.813651 0.748047 0.680001 0.607492 0.528718 0.443916 0.354427 0.261283 0.165217 0.066797 -0.033512 -0.135314 -0.238254 -0.342009 -0.446278 -0.550775 -0.655228 -0.759370 -0.862939 -0.965674 -1.067317 -1.167606 -1.266272 -1.363029 -1.457569 -1.549559 -1.638643 -1.724436 -1.806528 -1.884469 -1.957774 -2.025905 -2.088322 -2.144567 -2.194331 -2.237403 -2.273620 -2.302848 -2.324998 -2.340089 -2.348329 -2.350149 -2.346169 -2.337139 -2.323878 -2.307207 -2.287798 -1.169468 1.096556 1.024222 0.953163 0.883446 0.814834 0.745110 0.672968 0.596452 0.513206 0.423194 0.327924 0.228594 0.126045 0.020916 -0.086270 -0.195067 -0.305079 -0.415947 -0.527337 -0.638934 -0.750438 -0.861558 -0.972006 -1.081502 -1.189762 -1.296501 -1.401421 -1.504204 -1.604510 -1.701969 -1.796187 -1.886744 -1.973181 -2.055004 -2.131670 -2.202592 -2.267211 -2.325092 -2.375953 -2.419586 -2.455825 -2.484536 -2.505656 -2.519268 -2.525677 -2.525418 -2.519220 -2.507928 -2.492434 -2.473580 -2.451985 -1.191954 1.115241 1.038276 0.962537 0.888253 0.815267 0.741278 0.664861 0.584147 0.496284 0.400888 0.299623 0.193872 0.084590 -0.027500 -0.141813 -0.257849 -0.375172 -0.493384 -0.612119 -0.731036 -0.849807 -0.968116 -1.085652 -1.202109 -1.317180 -1.430551 -1.541896 -1.650862 -1.757074 -1.860127 -1.959590 -2.054999 -2.145850 -2.231598 -2.311642 -2.385350 -2.452158 -2.511664 -2.563595 -2.607743 -2.643939 -2.672056 -2.692067 -2.704131 -2.708652 -2.706279 -2.697851 -2.684301 -2.666586 -2.645534 -2.621695 - - -# Torque coefficient - -0.029876 0.031494 0.033080 0.034629 0.036137 0.037598 0.039008 0.040363 0.041656 0.042883 0.044040 0.045120 0.046120 0.047035 0.047860 0.048593 0.049230 0.049768 0.050207 0.050544 0.050780 0.050914 0.050948 0.050882 0.050717 0.050453 0.050092 0.049635 0.049082 0.048434 0.047691 0.046854 0.045924 0.044901 0.043785 0.042579 0.041283 0.039900 0.038431 0.036879 0.035247 0.033537 0.031754 0.029899 0.027978 0.025994 0.023951 0.021854 0.019708 0.017518 0.015290 0.013029 -0.040469 0.042184 0.043828 0.045397 0.046883 0.048280 0.049581 0.050779 0.051868 0.052844 0.053701 0.054437 0.055048 0.055535 0.055895 0.056131 0.056242 0.056231 0.056097 0.055842 0.055466 0.054968 0.054350 0.053611 0.052751 0.051771 0.050672 0.049456 0.048125 0.046682 0.045130 0.043474 0.041719 0.039870 0.037931 0.035907 0.033804 0.031627 0.029380 0.027068 0.024695 0.022265 0.019785 0.017257 0.014690 0.012087 0.009457 0.006806 0.004142 0.001474 -0.001192 -0.003848 -0.050359 0.052034 0.053591 0.055019 0.056312 0.057464 0.058469 0.059324 0.060027 0.060579 0.060979 0.061229 0.061329 0.061280 0.061081 0.060731 0.060229 0.059576 0.058772 0.057818 0.056714 0.055465 0.054073 0.052544 0.050884 0.049100 0.047199 0.045189 0.043077 0.040870 0.038574 0.036196 0.033741 0.031214 0.028619 0.025961 0.023243 0.020469 0.017643 0.014770 0.011856 0.008907 0.005931 0.002935 -0.000071 -0.003076 -0.006072 -0.009050 -0.012004 -0.014929 -0.017823 -0.020686 -0.059114 0.060587 0.061887 0.063009 0.063951 0.064711 0.065290 0.065688 0.065903 0.065936 0.065784 0.065448 0.064926 0.064221 0.063333 0.062265 0.061023 0.059613 0.058042 0.056319 0.054454 0.052455 0.050333 0.048096 0.045753 0.043312 0.040779 0.038161 0.035464 0.032692 0.029850 0.026940 0.023966 0.020929 0.017833 0.014682 0.011479 0.008231 0.004945 0.001628 -0.001708 -0.005052 -0.008393 -0.011716 -0.015013 -0.018277 -0.021501 -0.024686 -0.027834 -0.030949 -0.034045 -0.037135 -0.066226 0.067355 0.068268 0.068963 0.069440 0.069698 0.069736 0.069555 0.069156 0.068542 0.067717 0.066688 0.065461 0.064046 0.062453 0.060694 0.058778 0.056715 0.054517 0.052193 0.049752 0.047202 0.044551 0.041806 0.038972 0.036055 0.033059 0.029988 0.026844 0.023628 0.020341 0.016983 0.013559 0.010072 0.006527 0.002932 -0.000704 -0.004371 -0.008055 -0.011740 -0.015412 -0.019055 -0.022659 -0.026218 -0.029729 -0.033193 -0.036617 -0.040015 -0.043405 -0.046809 -0.050248 -0.053736 -0.071051 0.071713 0.072122 0.072282 0.072192 0.071860 0.071291 0.070494 0.069478 0.068253 0.066830 0.065221 0.063436 0.061485 0.059379 0.057128 0.054740 0.052223 0.049587 0.046839 0.043986 0.041034 0.037988 0.034852 0.031631 0.028325 0.024935 0.021461 0.017904 0.014264 0.010544 0.006747 0.002881 -0.001046 -0.005023 -0.009036 -0.013069 -0.017103 -0.021120 -0.025102 -0.029037 -0.032918 -0.036743 -0.040513 -0.044241 -0.047945 -0.051652 -0.055389 -0.059182 -0.063050 -0.067001 -0.071037 -0.072840 0.073031 0.072965 0.072649 0.072092 0.071300 0.070283 0.069054 0.067621 0.065996 0.064188 0.062206 0.060059 0.057755 0.055303 0.052711 0.049985 0.047135 0.044167 0.041087 0.037900 0.034611 0.031221 0.027733 0.024146 0.020460 0.016673 0.012787 0.008803 0.004725 0.000561 -0.003680 -0.007988 -0.012344 -0.016730 -0.021126 -0.025508 -0.029857 -0.034154 -0.038390 -0.042561 -0.046669 -0.050727 -0.054758 -0.058792 -0.062864 -0.067005 -0.071244 -0.075596 -0.080065 -0.084645 -0.089315 -0.071655 0.071619 0.071331 0.070793 0.070016 0.069007 0.067773 0.066324 0.064669 0.062816 0.060776 0.058555 0.056161 0.053604 0.050891 0.048031 0.045032 0.041900 0.038643 0.035263 0.031766 0.028152 0.024420 0.020570 0.016602 0.012514 0.008307 0.003986 -0.000445 -0.004975 -0.009593 -0.014282 -0.019019 -0.023783 -0.028547 -0.033288 -0.037981 -0.042609 -0.047164 -0.051646 -0.056064 -0.060441 -0.064812 -0.069216 -0.073690 -0.078275 -0.082998 -0.087874 -0.092902 -0.098068 -0.103334 -0.108643 -0.068470 0.068472 0.068220 0.067703 0.066918 0.065875 0.064581 0.063045 0.061279 0.059293 0.057096 0.054700 0.052114 0.049349 0.046414 0.043319 0.040070 0.036676 0.033140 0.029465 0.025652 0.021698 0.017604 0.013369 0.008992 0.004475 -0.000177 -0.004957 -0.009853 -0.014848 -0.019921 -0.025046 -0.030196 -0.035344 -0.040459 -0.045516 -0.050496 -0.055393 -0.060210 -0.064964 -0.069690 -0.074430 -0.079228 -0.084131 -0.089183 -0.094416 -0.099843 -0.105461 -0.111246 -0.117145 -0.123088 -0.129012 -0.064248 0.064436 0.064361 0.064002 0.063342 0.062374 0.061110 0.059561 0.057742 0.055669 0.053355 0.050817 0.048066 0.045116 0.041978 0.038660 0.035170 0.031514 0.027693 0.023707 0.019555 0.015237 0.010753 0.006103 0.001288 -0.003686 -0.008809 -0.014066 -0.019439 -0.024900 -0.030420 -0.035969 -0.041515 -0.047026 -0.052469 -0.057827 -0.063092 -0.068271 -0.073387 -0.078486 -0.083615 -0.088825 -0.094169 -0.099700 -0.105455 -0.111449 -0.117678 -0.124109 -0.130676 -0.137303 -0.143916 -0.150458 -0.059569 0.059994 0.060156 0.060012 0.059538 0.058713 0.057533 0.056016 0.054181 0.052050 0.049645 0.046984 0.044085 0.040962 0.037626 0.034086 0.030349 0.026416 0.022289 0.017967 0.013450 0.008740 0.003836 -0.001260 -0.006542 -0.011997 -0.017610 -0.023358 -0.029209 -0.035131 -0.041091 -0.047053 -0.052981 -0.058838 -0.064602 -0.070264 -0.075831 -0.081336 -0.086827 -0.092359 -0.097991 -0.103781 -0.109792 -0.116070 -0.122635 -0.129484 -0.136579 -0.143847 -0.151202 -0.158562 -0.165859 -0.173040 -0.054794 0.055419 0.055815 0.055909 0.055643 0.054994 0.053940 0.052487 0.050663 0.048496 0.046014 0.043243 0.040201 0.036905 0.033366 0.029593 0.025590 0.021358 0.016900 0.012215 0.007307 0.002174 -0.003180 -0.008750 -0.014522 -0.020479 -0.026594 -0.032835 -0.039165 -0.045547 -0.051942 -0.058310 -0.064608 -0.070808 -0.076898 -0.082885 -0.088801 -0.094702 -0.100651 -0.106710 -0.112945 -0.119427 -0.126216 -0.133343 -0.140808 -0.148575 -0.156565 -0.164685 -0.172841 -0.180952 -0.188956 -0.196812 -0.050214 0.050928 0.051488 0.051799 0.051752 0.051288 0.050382 0.049018 0.047223 0.045033 0.042483 0.039603 0.036415 0.032939 0.029185 0.025160 0.020868 0.016314 0.011499 0.006426 0.001097 -0.004487 -0.010319 -0.016386 -0.022670 -0.029143 -0.035768 -0.042507 -0.049318 -0.056160 -0.062988 -0.069756 -0.076425 -0.082976 -0.089413 -0.095768 -0.102099 -0.108474 -0.114963 -0.121639 -0.128579 -0.135858 -0.143523 -0.151586 -0.160017 -0.168737 -0.177643 -0.186634 -0.195610 -0.204496 -0.213240 -0.221826 -0.045899 0.046671 0.047310 0.047765 0.047918 0.047641 0.046888 0.045630 0.043876 0.041669 0.039052 0.036060 0.032719 0.029049 0.025061 0.020763 0.016162 0.011261 0.006064 0.000575 -0.005203 -0.011265 -0.017600 -0.024188 -0.031000 -0.037999 -0.045142 -0.052386 -0.059684 -0.066989 -0.074251 -0.081420 -0.088468 -0.095391 -0.102213 -0.108995 -0.115809 -0.122732 -0.129843 -0.137227 -0.144968 -0.153138 -0.161764 -0.170833 -0.180270 -0.189968 -0.199815 -0.209696 -0.219517 -0.229210 -0.238745 -0.248128 -0.041818 0.042657 0.043351 0.043889 0.044182 0.044081 0.043477 0.042330 0.040625 0.038403 0.035715 0.032604 0.029098 0.025217 0.020976 0.016383 0.011448 0.006177 0.000573 -0.005358 -0.011613 -0.018179 -0.025040 -0.032167 -0.039522 -0.047059 -0.054731 -0.062490 -0.070283 -0.078057 -0.085756 -0.093336 -0.100781 -0.108104 -0.115363 -0.122633 -0.129996 -0.137539 -0.145351 -0.153527 -0.162160 -0.171303 -0.180964 -0.191086 -0.201562 -0.212268 -0.223079 -0.233876 -0.244574 -0.255119 -0.265508 -0.275756 -0.037939 0.038856 0.039610 0.040204 0.040587 0.040625 0.040163 0.039122 0.037467 0.035228 0.032463 0.029220 0.025533 0.021423 0.016908 0.012000 0.006709 0.001043 -0.004994 -0.011394 -0.018151 -0.025246 -0.032655 -0.040338 -0.048250 -0.056340 -0.064555 -0.072841 -0.081139 -0.089388 -0.097532 -0.105536 -0.113400 -0.121168 -0.128915 -0.136730 -0.144704 -0.152936 -0.161525 -0.170579 -0.180184 -0.190377 -0.201129 -0.212344 -0.223890 -0.235633 -0.247435 -0.259181 -0.270795 -0.282251 -0.293559 -0.304741 -0.034235 0.035240 0.036062 0.036709 0.037157 0.037287 0.036947 0.036002 0.034395 0.032134 0.029281 0.025893 0.022007 0.017649 0.012841 0.007596 0.001927 -0.004158 -0.010653 -0.017549 -0.024833 -0.032482 -0.040459 -0.048718 -0.057204 -0.065863 -0.074635 -0.083459 -0.092270 -0.101003 -0.109602 -0.118047 -0.126363 -0.134618 -0.142904 -0.151319 -0.159965 -0.168953 -0.178395 -0.188406 -0.199060 -0.210368 -0.222259 -0.234602 -0.247254 -0.260065 -0.272890 -0.285622 -0.298203 -0.310631 -0.322923 -0.335106 -0.030683 0.031784 0.032683 0.033386 0.033886 0.034082 0.033828 0.032966 0.031398 0.029107 0.026155 0.022606 0.018504 0.013881 0.008760 0.003157 -0.002913 -0.009442 -0.016422 -0.023841 -0.031679 -0.039905 -0.048471 -0.057323 -0.066401 -0.075644 -0.084986 -0.094360 -0.103693 -0.112916 -0.121983 -0.130892 -0.139695 -0.148482 -0.157355 -0.166423 -0.175803 -0.185613 -0.195984 -0.207028 -0.218802 -0.231281 -0.244351 -0.257863 -0.271655 -0.285565 -0.299449 -0.313212 -0.326819 -0.340280 -0.353622 -0.366871 -0.027261 0.028467 0.029450 0.030215 0.030758 0.031005 0.030805 0.030008 0.028466 0.026134 0.023070 0.019345 0.015011 0.010104 0.004650 -0.001332 -0.007829 -0.014828 -0.022320 -0.030288 -0.038706 -0.047530 -0.056704 -0.066167 -0.075854 -0.085695 -0.095620 -0.105552 -0.115415 -0.125138 -0.134689 -0.144089 -0.153418 -0.162779 -0.172288 -0.182064 -0.192237 -0.202939 -0.214311 -0.226460 -0.239419 -0.253116 -0.267408 -0.282126 -0.297095 -0.312140 -0.327123 -0.341966 -0.356658 -0.371216 -0.385671 -0.400053 -0.023955 0.025271 0.026343 0.027173 0.027757 0.028044 0.027874 0.027118 0.025588 0.023205 0.020014 0.016098 0.011515 0.006304 0.000496 -0.005890 -0.012837 -0.020333 -0.028364 -0.036908 -0.045927 -0.055369 -0.065169 -0.075260 -0.085569 -0.096022 -0.106541 -0.117042 -0.127442 -0.137677 -0.147732 -0.157657 -0.167550 -0.177529 -0.187721 -0.198260 -0.209285 -0.220946 -0.233391 -0.246714 -0.260914 -0.275875 -0.291430 -0.307394 -0.323575 -0.339794 -0.355921 -0.371900 -0.387735 -0.403453 -0.419085 -0.434662 -0.020749 0.022178 0.023343 0.024241 0.024868 0.025186 0.025032 0.024288 0.022754 0.020306 0.016976 0.012852 0.008001 0.002466 -0.003719 -0.010532 -0.017955 -0.025974 -0.034569 -0.043711 -0.053352 -0.063429 -0.073871 -0.084605 -0.095551 -0.106630 -0.117753 -0.128832 -0.139781 -0.150544 -0.161128 -0.171610 -0.182106 -0.192747 -0.203671 -0.215024 -0.226962 -0.239649 -0.253236 -0.267798 -0.283288 -0.299559 -0.316419 -0.333668 -0.351100 -0.368533 -0.385852 -0.403023 -0.420063 -0.437001 -0.453873 -0.470707 -0.017638 0.019175 0.020436 0.021404 0.022073 0.022415 0.022265 0.021510 0.019953 0.017427 0.013941 0.009592 0.004453 -0.001426 -0.008009 -0.015273 -0.023196 -0.031761 -0.040943 -0.050702 -0.060982 -0.071711 -0.082812 -0.094205 -0.105803 -0.117520 -0.129261 -0.140930 -0.152439 -0.163748 -0.174889 -0.185963 -0.197101 -0.208446 -0.220149 -0.232371 -0.245282 -0.259061 -0.273856 -0.289714 -0.306545 -0.324168 -0.342376 -0.360951 -0.379673 -0.398362 -0.416925 -0.435346 -0.453649 -0.471870 -0.490042 -0.508189 -0.014630 0.016254 0.017609 0.018649 0.019359 0.019718 0.019561 0.018773 0.017174 0.014553 0.010895 0.006303 0.000858 -0.005385 -0.012387 -0.020122 -0.028567 -0.037699 -0.047488 -0.057884 -0.068821 -0.080219 -0.091995 -0.104062 -0.116328 -0.128698 -0.141069 -0.153339 -0.165424 -0.177300 -0.189028 -0.200729 -0.212547 -0.224638 -0.237168 -0.250312 -0.264255 -0.279191 -0.295258 -0.312467 -0.330684 -0.349705 -0.369303 -0.389243 -0.409294 -0.429287 -0.449147 -0.468875 -0.488502 -0.508065 -0.527596 -0.547112 -0.011736 0.013410 0.014852 0.015961 0.016711 0.017080 0.016905 0.016066 0.014403 0.011671 0.007826 0.002974 -0.002794 -0.009419 -0.016860 -0.025085 -0.034072 -0.043792 -0.054207 -0.065258 -0.076868 -0.088953 -0.101422 -0.114181 -0.127131 -0.140167 -0.153182 -0.166066 -0.178743 -0.191211 -0.203556 -0.215917 -0.228453 -0.241334 -0.254738 -0.268856 -0.283892 -0.300048 -0.317447 -0.336056 -0.355706 -0.376169 -0.397199 -0.418545 -0.439968 -0.461312 -0.482524 -0.503617 -0.524627 -0.545592 -0.566538 -0.587478 - diff --git a/ROSCO_toolbox/Examples/DISCON.IN b/ROSCO_toolbox/Examples/DISCON.IN deleted file mode 100644 index 523448349..000000000 --- a/ROSCO_toolbox/Examples/DISCON.IN +++ /dev/null @@ -1,119 +0,0 @@ -! Controller parameter input file for the NREL-5MW wind turbine -! - File written using ROSCO Controller tuning logic on 12/17/20 - -!------- DEBUG ------------------------------------------------------------ -1 ! LoggingLevel - {0: write no debug files, 1: write standard output .dbg-file, 2: write standard output .dbg-file and complete avrSWAP-array .dbg2-file} - -!------- CONTROLLER FLAGS ------------------------------------------------- -1 ! 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 ! F_NotchType - Notch on the measured generator speed and/or tower fore-aft motion (for floating) {0: disable, 1: generator speed, 2: tower-top fore-aft motion, 3: generator speed and tower-top fore-aft motion} -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: constant torque, 1: constant power, 2: TSR tracking PI control} -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 ! 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} -0 ! 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: nacelle velocity feedback} -0 ! Flp_Mode - Flap control mode {0: no flap control, 1: steady state flap angle, 2: Proportional flap control} - -!------- FILTERS ---------------------------------------------------------- -1.57080 ! F_LPFCornerFreq - Corner frequency (-3dB point) in the low-pass filters, [rad/s] -0.00000 ! F_LPFDamping - Damping coefficient [used only when F_FilterType = 2] -0.44990 ! F_NotchCornerFreq - Natural frequency of the notch filter, [rad/s] -0.00000 0.25000 ! F_NotchBetaNumDen - Two notch damping values (numerator and denominator, resp) - determines the width and depth of the notch, [-] -0.628320000000 ! F_SSCornerFreq - Corner frequency (-3dB point) in the first order low pass filter for the setpoint smoother, [rad/s]. -0.23250 1.00000 ! 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.00000 1.00000 ! F_FlpCornerFreq - Corner frequency and damping in the second order low pass filter of the blade root bending moment for flap control [rad/s, -]. - -!------- BLADE PITCH CONTROL ---------------------------------------------- -28 ! PC_GS_n - Amount of gain-scheduling table entries -0.000000 0.055534 0.083631 0.106008 0.125390 0.142939 0.159177 0.174442 0.188870 0.202686 0.215959 0.228773 0.241173 0.253254 0.264982 0.276438 0.287644 0.298587 0.309327 0.319883 0.330260 0.340461 0.350473 0.360332 0.370046 0.379623 0.389066 0.398385 ! PC_GS_angles - Gain-schedule table: pitch angles --0.019261 -0.016189 -0.013852 -0.012014 -0.010531 -0.009308 -0.008284 -0.007413 -0.006663 -0.006010 -0.005437 -0.004931 -0.004479 -0.004074 -0.003709 -0.003378 -0.003077 -0.002801 -0.002549 -0.002316 -0.002100 -0.001901 -0.001715 -0.001542 -0.001381 -0.001230 -0.001088 -0.000954 ! PC_GS_KP - Gain-schedule table: pitch controller kp gains --0.006968 -0.006022 -0.005302 -0.004736 -0.004279 -0.003903 -0.003587 -0.003319 -0.003088 -0.002887 -0.002710 -0.002554 -0.002415 -0.002290 -0.002178 -0.002076 -0.001983 -0.001898 -0.001820 -0.001749 -0.001682 -0.001621 -0.001564 -0.001510 -0.001461 -0.001414 -0.001370 -0.001329 ! PC_GS_KI - Gain-schedule table: pitch controller ki gains -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ! PC_GS_KD - Gain-schedule table: pitch controller kd gains -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ! PC_GS_TF - Gain-schedule table: pitch controller tf gains (derivative filter) -1.570800000000 ! PC_MaxPit - Maximum physical pitch limit, [rad]. --0.00873000000 ! PC_MinPit - Minimum physical pitch limit, [rad]. -0.174500000000 ! PC_MaxRat - Maximum pitch rate (in absolute value) in pitch controller, [rad/s]. --0.17450000000 ! PC_MinRat - Minimum pitch rate (in absolute value) in pitch controller, [rad/s]. -122.9096700000 ! PC_RefSpd - Desired (reference) HSS speed for pitch controller, [rad/s]. --0.00873000000 ! 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 ----------------------------------------- -0.1 ! IPC_IntSat - Integrator saturation (maximum signal amplitude contribution to pitch from IPC), [rad] -0.0e+00 0.0 ! IPC_KI - Integral gain for the individual pitch controller: first parameter for 1P reductions, second for 2P reductions, [-] -0.0e+00 0.0 ! 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 ------------------------------------------------ -94.40000000000 ! VS_GenEff - Generator efficiency mechanical power -> electrical power, [should match the efficiency defined in the generator properties!], [%] -43093.51876000 ! VS_ArSatTq - Above rated generator torque PI control saturation, [Nm] -1500000.000000 ! VS_MaxRat - Maximum torque rate (in absolute value) in torque controller, [Nm/s]. -47402.87063000 ! VS_MaxTq - Maximum generator torque in Region 3 (HSS side), [Nm]. -0.000000000000 ! VS_MinTq - Minimum generator (HSS side), [Nm]. -34.68909000000 ! VS_MinOMSpd - Optimal mode minimum speed, cut-in speed towards optimal mode gain path, [rad/s] -2.526550000000 ! VS_Rgn2K - Generator torque constant in Region 2 (HSS side), [N-m/(rad/s)^2] -5000000.000000 ! VS_RtPwr - Wind turbine rated power [W] -43093.51876000 ! VS_RtTq - Rated torque, [Nm]. -122.9096700000 ! VS_RefSpd - Rated generator speed [rad/s] -1 ! VS_n - Number of generator PI torque controller gains --998.986000000 ! VS_KP - Proportional gain for generator PI torque controller [1/(rad/s) Nm]. (Only used in the transitional 2.5 region if VS_ControlMode =/ 2) --185.790360000 ! VS_KI - Integral gain for generator PI torque controller [1/rad Nm]. (Only used in the transitional 2.5 region if VS_ControlMode =/ 2) -7.51 ! VS_TSRopt - Power-maximizing region 2 tip-speed-ratio [rad]. - -!------- SETPOINT SMOOTHER --------------------------------------------- -1.00000 ! SS_VSGain - Variable speed torque controller setpoint smoother gain, [-]. -0.00100 ! SS_PCGain - Collective pitch controller setpoint smoother gain, [-]. - -!------- WIND SPEED ESTIMATOR --------------------------------------------- -63.000 ! 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 0.0 0.0 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] -97.0 ! WE_GearboxRatio - Gearbox ratio [>=1], [-] -43702538.05700 ! 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.NREL5MW.txt" ! PerfFileName - File containing rotor performance tables (Cp,Ct,Cq) -52 24 ! PerfTableSize - Size of rotor performance tables, first number refers to number of blade pitch angles, second number referse to number of tip-speed ratios -45 ! WE_FOPoles_N - Number of first-order system poles used in EKF -3.00 3.50 4.00 4.50 5.00 5.50 6.00 6.50 7.00 7.50 8.00 8.50 9.00 9.50 10.00 10.50 11.00 11.40 11.90 12.40 12.90 13.40 13.90 14.40 14.90 15.40 15.90 16.40 16.90 17.40 17.90 18.40 18.90 19.40 19.90 20.40 20.90 21.40 21.90 22.40 22.90 23.40 23.90 24.40 24.90 ! WE_FOPoles_v - Wind speeds corresponding to first-order system poles [m/s] --0.01770597 -0.02065697 -0.02360796 -0.02655896 -0.02950995 -0.03246095 -0.03541194 -0.03836294 -0.04131393 -0.04426493 -0.04721592 -0.05016692 -0.05311791 -0.05606891 -0.05901990 -0.06197090 -0.06492189 -0.05552595 -0.05550495 -0.06612150 -0.07823391 -0.09181547 -0.10541082 -0.12063288 -0.13526687 -0.15098364 -0.16805193 -0.18381181 -0.20083198 -0.21911394 -0.23737327 -0.25461250 -0.27320900 -0.29297106 -0.31361831 -0.33167820 -0.35038172 -0.37015848 -0.39096899 -0.41270837 -0.43763254 -0.47283160 -0.50939485 -0.54727356 -0.58644343 ! WE_FOPoles - First order system poles - -!------- YAW CONTROL ------------------------------------------------------ -0.0 ! Y_ErrThresh - Yaw error threshold. Turbine begins to yaw when it passes this. [rad^2 s] -0.0 ! Y_IPC_IntSat - Integrator saturation (maximum signal amplitude contribution to pitch from yaw-by-IPC), [rad] -1 ! Y_IPC_n - Number of controller gains (yaw-by-IPC) -0.0 ! Y_IPC_KP - Yaw-by-IPC proportional controller gain Kp -0.0 ! Y_IPC_KI - Yaw-by-IPC integral controller gain Ki -0.0 ! Y_IPC_omegaLP - Low-pass filter corner frequency for the Yaw-by-IPC controller to filtering the yaw alignment error, [rad/s]. -0.0 ! Y_IPC_zetaLP - Low-pass filter damping factor for the Yaw-by-IPC controller to filtering the yaw alignment error, [-]. -0.0 ! Y_MErrSet - Yaw alignment error, set point [rad] -0.0 ! Y_omegaLPFast - Corner frequency fast low pass filter, 1.0 [Hz] -0.0 ! Y_omegaLPSlow - Corner frequency slow low pass filter, 1/60 [Hz] -0.0 ! Y_Rate - Yaw rate [rad/s] - -!------- TOWER FORE-AFT DAMPING ------------------------------------------- --1 ! FA_KI - Integral gain for the fore-aft tower damper controller, -1 = off / >0 = on [rad s/m] - !NJA - Make this a flag -0.0 ! FA_HPF_CornerFreq - Corner frequency (-3dB point) in the high-pass filter on the fore-aft acceleration signal [rad/s] -0.0 ! FA_IntSat - Integrator saturation (maximum signal amplitude contribution to pitch from FA damper), [rad] - -!------- MINIMUM PITCH SATURATION ------------------------------------------- -45 ! PS_BldPitchMin_N - Number of values in minimum blade pitch lookup table (should equal number of values in PS_WindSpeeds and PS_BldPitchMin) -3.00 3.50 4.00 4.50 5.00 5.50 6.00 6.50 7.00 7.50 8.00 8.50 9.00 9.50 10.00 10.50 11.00 11.40 11.90 12.40 12.90 13.40 13.90 14.40 14.90 15.40 15.90 16.40 16.90 17.40 17.90 18.40 18.90 19.40 19.90 20.40 20.90 21.40 21.90 22.40 22.90 23.40 23.90 24.40 24.90 ! PS_WindSpeeds - Wind speeds corresponding to minimum blade pitch angles [m/s] --0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 -0.00872665 ! PS_BldPitchMin - Minimum blade pitch angles [rad] - -!------- SHUTDOWN ----------------------------------------------------------- -0.436300000000 ! 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 ----------------------------------------------------------- -0.000000000000 ! Fl_Kp - Nacelle velocity proportional feedback gain [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 [s] -0.000000000000 ! Flp_MaxPit - Maximum (and minimum) flap pitch angle [rad] \ No newline at end of file diff --git a/ROSCO_toolbox/Examples/NREL5MW_example.yaml b/ROSCO_toolbox/Examples/NREL5MW_example.yaml deleted file mode 100644 index 51b368591..000000000 --- a/ROSCO_toolbox/Examples/NREL5MW_example.yaml +++ /dev/null @@ -1,62 +0,0 @@ ---- # ---------------------NREL Generic controller tuning input file ------------------- - # Written for use with ROSCO_Toolbox tuning procedures - # Turbine: NREL 5MW Reference Wind Turbine -# ------------------------------ OpenFAST PATH DEFINITIONS ------------------------------ -path_params: - FAST_InputFile: 'NREL-5MW.fst' # Name of *.fst file - FAST_directory: '../Test_Cases/NREL-5MW' # Main OpenFAST model directory, where the *.fst lives - # Optional - rotor_performance_filename: 'Cp_Ct_Cq.NREL5MW.txt' # Filename for rotor performance text file (if it has been generated by ccblade already) - -# -------------------------------- TURBINE PARAMETERS ----------------------------------- -turbine_params: - rotor_inertia: 38677040.613 # Rotor inertia [kg m^2], {Available in Elastodyn .sum file} - rated_rotor_speed: 1.26711 # Rated rotor speed [rad/s] - v_min: 3.0 # Cut-in wind speed [m/s] - v_rated: 11.4 # Rated wind speed [m/s] - v_max: 25.0 # Cut-out wind speed [m/s], -- Does not need to be exact (JUST ASSUME FOR NOW) - max_pitch_rate: 0.1745 # Maximum blade pitch rate [rad/s] - max_torque_rate: 1500000. # Maximum torque rate [Nm/s], {~1/4 VS_RtTq/s} - rated_power: 5000000. # Rated Power [W] - bld_edgewise_freq: 6.2831853 # Blade edgewise first natural frequency [rad/s] - bld_flapwise_freq: 0.0 # Blade flapwise first natural frequency [rad/s] - # Optional - TSR_operational: # None # Desired below-rated operational tip speed ratio (Cp-maximizing TSR is used if not defined) - # - should be defined if Fl_Mode = 1 - twr_freq: 0.4499 # Tower natural frequency [rad/s] - ptfm_freq: 0.2325 # Platform natural frequency [rad/s] -#------------------------------- CONTROLLER PARAMETERS ---------------------------------- -controller_params: - # Controller flags - LoggingLevel: 1 # {0: write no debug files, 1: write standard output .dbg-file, 2: write standard output .dbg-file and complete avrSWAP-array .dbg2-file - F_LPFType: 1 # {1: first-order low-pass filter, 2: second-order low-pass filter}, [rad/s] (currently filters generator speed and pitch control signals) - F_NotchType: 0 # Notch filter on generator speed and/or tower fore-aft motion (for floating) {0: disable, 1: generator speed, 2: tower-top fore-aft motion, 3: generator speed and tower-top fore-aft motion} - IPC_ControlMode: 0 # Turn Individual Pitch Control (IPC) for fatigue load reductions (pitch contribution) {0: off, 1: 1P reductions, 2: 1P+2P reductions} - VS_ControlMode: 2 # Generator torque control mode in above rated conditions {0: constant torque, 1: constant power, 2: TSR tracking PI control} - PC_ControlMode: 1 # Blade pitch control mode {0: No pitch, fix to fine pitch, 1: active PI blade pitch control} - Y_ControlMode: 0 # Yaw control mode {0: no yaw control, 1: yaw rate control, 2: yaw-by-IPC} - SS_Mode: 1 # Setpoint Smoother mode {0: no setpoint smoothing, 1: introduce setpoint smoothing} - WE_Mode: 0 # Wind speed estimator mode {0: One-second low pass filtered hub height wind speed, 1: Immersion and Invariance Estimator (Ortega et al.)} - PS_Mode: 0 # Pitch saturation mode {0: no pitch saturation, 1: peak shaving, 2: Cp-maximizing pitch saturation, 3: peak shaving and Cp-maximizing pitch saturation} - SD_Mode: 0 # Shutdown mode {0: no shutdown procedure, 1: pitch to max pitch at shutdown} - Fl_Mode: 0 # Floating specific feedback mode {0: no nacelle velocity feedback, 1: nacelle velocity feedback} - Flp_Mode: 0 # Flap control mode {0: no flap control, 1: steady state flap angle, 2: Proportional flap control} - # Controller parameters - zeta_pc: 0.7 # Pitch controller desired damping ratio [-] - omega_pc: 0.5 # Pitch controller desired natural frequency [rad/s] - zeta_vs: 0.7 # Torque controller desired damping ratio [-] - omega_vs: 0.2 # Torque controller desired natural frequency [rad/s] - # Only needed if Flp_Mode > 0 - zeta_flp: # None # Flap controller desired damping ratio [-] - omega_flp: # None # Flap controller desired natural frequency [rad/s] - # Optional - these can be defined, but do not need to be - max_pitch: # None # Maximum pitch angle [rad], {default = 90 degrees} - min_pitch: # None # Minimum pitch angle [rad], {default = 0 degrees} - vs_minspd: # None # Minimum rotor speed [rad/s], {default = 0 rad/s} - ss_cornerfreq: # None # First order low-pass filter cornering frequency for setpoint smoother [rad/s] - ss_vsgain: # None # Torque controller setpoint smoother gain bias percentage [%, <= 1 ], {default = 100%} - ss_pcgain: # None # Pitch controller setpoint smoother gain bias percentage [%, <= 1 ], {default = 0.1%} - ps_percent: 0.80 # Percent peak shaving [%, <= 1 ], {default = 80%} - sd_maxpit: 0.4363 # Maximum blade pitch angle to initiate shutdown [rad], {default = bld pitch at v_max} - sd_cornerfreq: # None # Cutoff Frequency for first order low-pass filter for blade pitch angle [rad/s], {default = 0.41888 ~ time constant of 15s} - flp_maxpit: # None # Maximum (and minimum) flap pitch angle [rad] \ No newline at end of file diff --git a/ROSCO_toolbox/Examples/NREL5MW_saved.p b/ROSCO_toolbox/Examples/NREL5MW_saved.p deleted file mode 100644 index b8852402d6c0f80e4c6f54c9a388c72d183e669d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 714970 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%0A@dQ=%Eu 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 z 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ν)4`%&qUMor{h{;Alm zLQBYgtI4O^O+eJHI^j$)l1=BZp1nbt03T$I`LB6@0@ZHmBtPvKOzh^eb!jE=UE^JQ zoGeG?`EMdI91UngrO!Ja-G-sx*CmWv$@8i3y3Qw;0n8BB2vjl|L6>);)NB7k*?a$U z{eS=CLQ;sNPBa({5_x^f+ z|ANmiE)Tyw+??CFUC%k!>-BgnV1LwV%o>3sdwP5%zo!4dAJUiIpX^w}#NjPZ^QXTt z;l8X@3DpKZlsY0Uk+X@*3HcX>pKPPLCRcC&(H-PJNeb6g6Di5McM6^7j#HDpp5EFK zhC9iN9VcwVLu%k8WmOJEeJL>4DuqpuGa=v^civ3(GkkLKbd=0sA=2(_h~EyaM~j~a zE}QP@LW^|P60Np=?EEFJ1D>PUXOoyRIyi}4A${;YY8um;_n$HMokI!yU8i2Kh(-Ht zPnb}zU{wm|KMAE(RFmLHn9N*5+srTN(avw;1x==j72b z8O|Ja9#0kwMLS;y-Z{robaTCNN{?7F{J`Z<)H}K!RI&BT)_FdNl_!ozr>lR1{WyF8mudKK-bZ)3k&O2e{X@LsoG1SJfxC@m1ss;H`3&|Ah{F zmpzVF|G_8j7cQ9I{)-EI`@~eX{^5hamMU|46y)2RX9w202@dtShj6WBvZR<)JnT63l%pJwe3GTph8?0H}{`b`K88U2oI9kDKlkkf{9 zyKPC3k~H-rx5XROs6J=3QD@=JD9RGY2V~^2$Tq)6Xfl@ON+k~e{ebR9Hw%3T&gJpT z`;V>-OyFPr!}^~*zMxIbsBqt-SsZkby7kz40S|nd45Pifj65>&dAB@&;GQoF6a~FM zk-?3*ibMQ2=6qr0jYuaru-jiA@=I)DbkM_=vc4_6*D#iIw26ZJo`v$_{3%NE_44yV^=G2qn{y_h`{iPiL1x$k)3bq<`6P)Ot7lj$AdEvt3 zzGPQXj@uXtwOSq_-I>A;o4kluyT4-dzLuuC8Di(*5&nxaM8AMczw8xHw}Od*i{11R zs~ECn)YoaghX2@>mZ-~rquyMTZVT%Mst^3gIqkWLyDOOLY#Fxk7tKE#^-Ibj^6yaa{B7+aAMQ&HBjTs=em6UbnjFV6 zDNa5}Lyj(>w7V%?2qbFCl~X!V@W9nr!;3iyZ~y+)^80KR=9rvtkP>ah9P?h!)`DL2 z($kzSlN!QNo|BJ{6Zf|Fvx;0*z-Nqeo{r`}H-lMD51D%?=J77*>-Z9N?Ag=4;%_Wg zuu?cWC&FPBM@RPWq7PfcX>RpIeI&T|3#1paf7Y=&X5iR$`AwYXkxvvR-mS(R`;4Vr zD9A&@Q@P~Y9pp=YI!bkSQ;{E*{7aHkrzTfwY$*MJsRm6T$t_@Eg!u~= z=|)uWE`D zo`(kfcXockwgo>fI-(xmRNmR!7(0(0^L%GN9sEvcm>%p_P+7s$8aD1I?p53uX2GWY z_a}-TxYKcR`WL=T2^zaN{s;Xs=tTl%Hjtk-@ca0Vf7ry!p7Td&8!wi8DbO#WAYZ+? zaU=cH4zgzdxZBPBRAk{F4@Np}Q~&>*IiLSG&Rp~wb+qDt@nFI5`|~Z9R8Y&BxfV}g z4xPJuhpUHjL8_QthIWPoO52}Qg$;;-Qqwx+k>Wylbld4nKLf!Jw(|cpLs0-4S@dSD z+4*oaWyWLSW-k2KZV?eckqz86Wrp_$Goa+|j8|S?8h996xo5AWz%}}0-J^oZK#xP8 zFWMx+iD=Q?Dsk};!nl6)l~oMTY;Sq*(Ts%I8kb+yT47M(;jKGNEK68xa~Qpx766}8 z6Z!L|y}_-we$nD}0%Qyjy5pHt(2sXax$!m&=te7rF2?6Usc?Sk<% z*9G@Z8XBd;^~u1)Y(c4@8{jKTIgktr6W-qfgp)wKB6O@eJOPwyb_axU#6h5yQo1B} zGz4*9nKF@x0Lz<&JI3#Yg5|D*tbRU0@X+NMCsVRNRGraoDN;^^xD}>k15z3kfAYPM zBbN<6#%9gss`+r)$@sr9p90wP?3v|4QXzQ1+wb(;zYwBm!ft2`7r+Y_7K%^vB=Em= z^~#n0eDL)?WA(K)7sQ^Fyicghh9@J8Ds?TH;BWEvu=|&Em~r?pcY%1cj%vdn5CZlaG|jPM)p3m z+n+$>X7+cL1CI(Ja$mfII;jAJm;N&Oc9I~jGMRj;CLf;By3JM$=0aod_G`Bv*)TnC z`1kOEEO^W4#C}#G0}AzqzF53XgVF1cDwW4lK!#;z#!w*{)MGsvSE>?W`}z&1uW|{n zbSK>CO>8Xu(P2uTYl(u1*xt@uiU@ejzC-rV#ZV|QYAvMo4g!l(s`Tl>B-pZE*-^=p z0TZ&>6}(baH zX^~VAR&?mP7Ml$F%0!BSSd&0P_D$G&OahbzsKV;tIWZD4R2&RnE>Kk3AP?>6r(eoJo*FRpWVbvjC2S zF_g6G6oNqJa9P)C0SqQN|2ZXF0OH%mf9%Xjki1*^i=c2mNQ@Oaes; zx$g>z{zMk6vPWMDcFTYxl}={2X48NqlC&rNzf{mx`R)6sIT`vB4bActlAvHiM{dDj{VRTHK|TeFTxFdD zbTeV;Qi*OkasO`kd(GGtlE7YeSE%Yn0T>E!XjBOnLanN1zI=881S%Y)nq47*e)+!G z*T+Z@Ihf-%P?QJf9z<2^v*m)g#&oO0t8CC0Gocro$%N@cb3?BG5qW6wUWG(M8c>}J z;xssy3X$@MPJSv*hLqaZBD_*bz;(}UPgivUnk_0iD*609$V6o`K< z03mx@|K8~W(A&=0Vtr5mZ4Vx4j>M1%y)QmoSr(+xOF6bZ$pfSmfLi@roz_W!dA0JpPfOMv}pW_dE%{ z-u$S`_AL+EVy;ZvKgfl`j58O-+pqrItK;5Gg6ZaIr9U;r}%|EYAKEqq187m*Dft2&e)PUXX=?Dlb+ZW3tw zx$G?6B7xX1ahSCu{vT_O8|RJlLCo(o^{pymgQVLPj@3Omu;;gCKIuUgoE|Z)vChnZ zu(MI~S{rF#s8e%C??x)*Eoq)S5uXeOJox3x zzxF&m2eJ*m$nKlWf@0Y@{xJ4TpypzWDZiZ#KLa=<3W*#zKaR1x zfnL#=!?&{zaKX2g_Tw>Qc*s%imddV#zU06u0fr3dlew1ihARjDn8$Ol-^d4py8@nT z&xvza;`*whK!P4tFF$FHd>B=&x*c;b7q~Z;S{EI&!F+2(r9LJT$~u*={3=g})7tr^ zXZus(&x>%Y?xkeldi*A@lO_oUe*U#N&Y1wlm#5bx4PxNq=EDe)w-I0}!Wc525&~Pd zC3jI*2EaBs%k4~nCs6;R;cp9d2C5`sJ7ZcK=xVxpO2}6MtXj2}q zkec@G+8bE{7wqm@W4w?7j%PJ$F3O|z+z zt%tvCcHVg$@(RzyHFm4%c;PwoRFj7vg7AKCBdu#t1Xcuz|993R4%3fy>U=z%gwLKP zvTR&VMZ1wl7O7U5AoEwg?0{nqd{O6=o#M@d6Au`I6%ukGlDRV3hQRUuI3f>EGNC&o zUi9zxG|)A03%N+l6bwo)d1}=rLea_rg{NY1z}aC`mfslx3miTE>6*bHQ1g_@y2KkG zcU$9VkQ3A$cPl-~`w#}Ntb5+bHb!})!#7^EIb%%l1$-3eixu%zA@}=2@XmA2xp%*# z@PSj=!end$+8L8mUiBm+uipEmG1hdf^|W7Mu+GAU4)w@0VVN+nXr97lm;)=ZMXk3| zbK#W71CuvZIfU;`RK7z(7R&;>pCm^HT+QS#ptnjTe1`(O+zOMR#C;ed-^W8l`!D9b z>`@TECcOMaH3X_XmJ_P}`oKQ%lp{|BonejBc6Nwl2sP=D74pLjn@*nfEW7K1!c2@x zhBN-yypWrDSv?F(*G_6~O~xQ!k5J-pQzGU)Of_N^O~nfT965%(4AgZpIIt|AgAG&i z+l>qPSY2Z&m7SjnB)gwZwdZqyQrai_2}>^cOg#HJ+Ct1KTeDd;Ei>WQZQtGRD$+nq z{m!VtL^5puU6_5dLev=+rPh*Pqe1WVs3BcXD4g=!l%Koq4?BarGFRWfA^g>|r}ds0 zL+qSKEIiH+(^C{3AW)TbrtmRAyO z!In7?c`i-EyeSLX_F4}sF z4o2Q^#ubUPrZv<7c;8wXM>Pt~;*ht0W<=7}r4X%OV5zAT=|D4PToBAwg9fw4fZd6nw7V;C%Jy^yc+ z@`I-myL7Hqy@s;0R8rgI3oshswIjs95l?UzrJqUgMLQR&S2y#+aHBo!*=S`PK4+hP zY4S1|OP3#H@Rz0IsS^iFKQiVZZDsa(ic2KCsAXy}=Ua$(g`I2J=iXu1R!RG^YAJr3 zP2g|rDMw$^v#C=$RY(AmFEweIkgIK;5ki#>7Q*LSnuvNkqL1dC2T{-WoSJ*eCzt|H z`|oI$#wP%CgSF)M`ABeFK6RSHEC_rLtzCKG?FLOFZ32~i=jcrU!ad7CX6sWZ=gpL0#eyA|q(`iSpskt($rszt&RUv8(+ zHWZ?q*4~OjnPLo*i#hkFp%i_)n6f2wD{vrTgsqIB8b`dYOMdA6fI5lB(@jZKZtQeWI`D&KW6h_V==`T2iABc=HKi@xHO)(TV>;d;K>R*fku9x<1#$;kLz zPn~s79rAwhW8a%sk31EbwRzf&_)Y%uc+7GJbTC8&N|$E<^SA9bHP$o&msz=GDJOxh z{NGdhCu88h5Q)CaYQYeYn0Mg1rz@P0JmdwkDjiT1O4QVR+<(0pKO{Ho z`jwsmyizIbPFv}anDt0E>`w|Pv-c*Nd`p1DvmHOo=OSQ?kT57*@&{$Q-$h-o?I2UN z#U>`l9J{IJnQLjhQMY$>CZZ@D>6=Z5`&koFJ2TwLj^NPGb2^j>5ce}8cqV@73khHT zV|yk&ScI`vx2bK%OEC0>a@_PrIkuIgiai#p#+$_luNKP?abm^0`CzdYw?!ZB3d^a- zU&Hbq%r6K|8y)xdrdl(>)wp^4m|QEWy*y~4LG)$5`E4KjAejz4hbwL;b|!<2K}@#m z?>G<|725GJI1~gX>~C-vzXk3l!ji&R8-!f=e~$S&;rxr;0vRPi82xH}E5kMxGoS2~ z9l4Z(Cz?t_Uan_iU}Q`l??^t@W^6X>{#l5j4UDrBj3p?pA2Go!UyfD=hrO&ls<6YJ zxy*Y8@xr~SLkgr?Y!jxg=zLL+Vp+?>TmLoU$(AJXL78UMK9x8=Bi4$`Mtl|zPqz_% zs+o_YSJI&)Pvwk^W*ULxs!Mi9B|#h2u|wrFG4SQLt;mH_L6CLX#wwfA3HCp}^qpVY z03CS6pqbYT6@U1YIqZ(WnyAjxcDad|yMMpAH<1^o0}sAW4rJ6d*)imt4m9m{TDza7f+lDByrD)SC=dH* z%u_`YK9=2W{Kme(rcYAu*RX`uBWlgh`5f>N&N5B>B(xzO0zK}Iu^8YbvunCA1*a0s z#vgsmLXzOp{YPOWoUa+N85$@e@BqV_^QlstQz>h^A6|inhf)Q5*lO^<)B9rT2`ZU3u>Af6aQHqQ7rh(`zbune*&evV`A*fzg6+fbxAIQ@ z=a=qyaknsX{S3prqqQx)ZxhiehF3PIH62x}_}p4#^Kj^yOwIU{Li|hP_|?6y81Le{ zf9A^Nn5KYBj$>8$TH-I=(Tila;_WOdm_BEh~+nq1+dz&ycp}GDVYYT4i zt3}A4dXJm^GNYn5+fm;~D7E`VC#vaZ*imS7qsCzPke6K=sF*7Klzp8HN9~du^<85j z@o$sGna&_6-eEXisQwDr173LgIanYrnJPaI^GD-hYDGrI7?ju>R63%Yg8Qy;+ElphOIvcGRe(Lop!ISNnW#@73op~o3#Yf#&)9uF0)ZzLwAwAe; z_-)anw-@h;M9;LjrNGUdS#*x)6M)S1+oc&oLE-MmT#e`(;4iN^6Fg~#aiR1_bQ}Wk z-IH0_^^I86luFT?-%Lf7)IClOBDqNVGWKKoav@s2D)sobU5qF9MeL?;D#wQP<9E(R zRbwu{wE7U4j2d!>5@e9z;&c3UmT76g9z~an=A%t0UQI!)L z$RG&bD_nDY#QYrgJHKoAO5hsC!l9=NT_N~9;%0fgWg^P3i)^PAXQ04u6E?>EB=i{8 zvWgrk!XvG6y1p5u_@B8|MXggM?&#)TIA)A^G_*L|rl1xt*3v4<5a+)3XU};`P3zt5Y{-h|!4M;6?7wBju$C(WLlZOHa%KJI5x2QKdQ zTrNMUedqN4&Gv@FKWn`)3$_n?*5q!w!{Mkbeu_f&=LoU2w$Bc}NXdG_}< zBYIodi5_{6F2QRmN&)RCDxkU%eYgu1??o<;Om*WN|DGnztG#$qpl?mF@&hjaNS*e- z(2s?a`I-DZ11PFXt@8&G;h*FSF2Bhz$m`7wR6Xbd4|H;G%#2&%SMTR}WZGcNzwP*s z#GZ&VhwHEWoXNo1kCiPujY()GY20k7^$yR4+lW0S-c{)Uy|eDut1!yq<`nx$GCE%W zM;j|!hdHPBJ>l1GK*de{M;)O}s2~;1R6o~(d+t7!3DRmqI=e5wD}HpKtl4Fy0o87F zkqZ1KL};4AwGww+yYK;ff@s+o+xw9B-5WhyQ^J?BdR6!Z`$wFeVw=8thq$-;j~}V1 zhk)_uK%4u47r?c6ST*g_YxKOUX?UI~9M`R7dcw7nQU9d!r!1XpbT~e7rTJX}9y)5i z*SxqGkKc*p?|WB{wwi2X!&r^dDeuJS2!FS_H*#Z<%=PGCwIwy8)QHLP57u5LHscW? zvoGfkzsI0*jVD;%j?!=Ho=CmyLNzkCT8elN!AS~UYA@@>+NCM+C6zwxP>9T$-{?n^ zslQ`|C4)rYN^(-fbqHCwy@WZ6<6xb|;sQ@gASf&eM^BWPLG?A~_`+Rpk#nD(rWju| z>RxCSmrF`TK|bziexi>dM@uan_PY>sYRy=uc9bIjTD)EzVL+lG!(4noU z#VtJ!Vc8$`*z11ou$WR4+8R3~J#1;g{FdhKi6?D1`rGfD_4!V;I2G}?G_o5Tp3$D% zFW8H3FBB))wthec?*oz{FZ+?>rg5*_+!6bLsRdep))xAZ?OV#CQ{@15IR;H6 z$9zPx``aqIfMI-FyOw1WI*R#fua{_&qacRNtY*yM34S-Z-NmRLVFE8b^?#K?=vn`{ zWhEmKf0xuUb{)vV*b(dN&N2na&eM@Tqf?B5u1xn7-HCp{wAGR4M4iXK!IG51R*R;4 z3QW#FA#lNLr)tq6f!k}|+79_s0IX zL;!Q(xq;J#E>Q5tKOi#YIli#%P%_mI!xvJ#$Lk7`k=6gYkO$;oveDx7>VrZ&6v{Q` z?^S}zzUl>WM7?+McC3n^D58n!Ep8d2J_Y~zU2h)}c+7u%*X@1HxOl6FFMF{S(+m8U zw0^habtZdSiv!(gKC-b!QQw0Hf4=zCZV&JSY#wS`0Dr-xAT z@k!Sjxe*L0gGUFn$IzbJZ2qV3C;WIvN$}kLFu2(4_q5;75f)_ox_BkuAf3)h*BJUJ zypzrJsODWNvbY7AT-40N3uYFS--*2kFAL9J(kU**CNY|zz=KsdEFZ69eV>dwQ*_pT zwAWz@6VvMh){Pk1^-#Y3S_|&4+B>&)s}0K?NA^)Ub>dm&)Y$O(Zj@qfDPYd(#c1lh ziIWa}$dgLD@=1FDBinVz3Thv*%Sz7imG&@37Fa#Zdoha6UrASgWsW1m5|h02vk83c ze=V1tHw4Z^=gcogTY(QNn}2t*2U=aa_m-+87H7_}YS!ncfYx90|@c0zU>ytZ=;S#h8HTUkYk{ zsOr1!L?=IhMm*=WyW~FNm(ab3MpTC}snWyS;N>V@pi2&js2Il=4jre|+$S(D<&4H$ z`6OCj+~%k};Sa}E^g3NF@8G%RL3`)UAavo>FspD#!s~9QI#N8dv1BmXDEM36Ux56lQepO(4JkB&mX+pjO6D{wDT2V`GXrDk=e|K~?UFssv@(RRGCx`s92q4vqDEYTkBNO2^CGzNXadcyo=iBFJc*kf zeD@yBPvQUh%zgXcD%u6&$8qQXZCN+{{=eUS{E z4_#hzeHKXTr7!&an++jM2FqI)^56~o-0*it5_}AP`#kM838;B%=w{w!!{*BiH=j!q zh~VpVp&hF?kf%~rPvJv;wiFUo%2MMOT5jC zGCn9;^PExYnLplNBV`2G1tMEd@2K0IU|epps;y86MWzyY1I=sUsPf5K(Oy0h$wy98 zAK{EfT1gg3)6N+D`Ikq)S0WDWu7&;D*A<69RpKjrjuMk%vm_U9#T@wfd^{k9n6Rm> z9?`uMMS@f9eXe_g2&U1E55m5=#DoegHR|8Q0>#&Roa~X_psQ8Vx?pSr6q^~eUqo&p z#Y>h~2Na)T!i^Q48`93mWZcN8Rpo|qm)2FBH$6~yIZWdbs}GVNpU7;|^T*kZeG{El zfoQi%v$%OH7^l^Rj`F~8P3paHBt5UxuQZD!oYt#TVl1MueN9?@P(2nStWGNm zDa9duv{$L$vup@rEmObingel5If6EI1Vbb~N8B=+1S)rIcBif9!?I6cRC!oB%=W5T zOfW`+)0s)UddCOIF5xs1u`j?WgYtN!*Ikga6EaY}{0PZ<&yN`VwL_I7BH!-+aK`S- zWS7l7?kIPEUFn# zXb?P7xEYQ-=W>~@2}R-kS(hK&S}{m2&R$Bfip4K~j!bBjWW!XgYPM2-4jj5v=TY%B z59W2gcN7uvb3aYJhZ85BgH6`64oH%0Du|nUgXDm<8KGb9$aKjdD>U2-Nv}=3 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 U2|mUpMIsk!g8z9kF!=ob0>)pB0ssI2 diff --git a/ROSCO_toolbox/Examples/README.md b/ROSCO_toolbox/Examples/README.md deleted file mode 100644 index 057bcc374..000000000 --- a/ROSCO_toolbox/Examples/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# Examples -We offer some example scripts to showcase the functionalities of the ROSCO toolbox. This offers a non-inclusive overview of some of the primary functionalities of the ROSCO toolbox. Enjoy! - -Examples: -1. Load and save a turbine model. Prints some basic turbine data, and saves the turbine. -2. Load a turbine model from saved pickle, make a Cp surface plot. -3. Run CCblade, save a rotor performance text file. -4. Load a turbine model and tune the controller. -5. Run and plot a simple simple step wind simulation. -6. Load a turbine, tune a controller, run an OpenFAST simulation. -7. Load saved turbine, tune controller, plot minimum pitch schedule. -8. Plot some OpenFAST output data. -9. Run turbsim to compile binary. -10. Tune a controller for distributed aerodynamic control. -11. Generate simplified linear models, save the parameters to a file. \ No newline at end of file diff --git a/ROSCO_toolbox/Examples/ROSCO_walkthrough.ipynb b/ROSCO_toolbox/Examples/ROSCO_walkthrough.ipynb deleted file mode 100644 index d6b13ab47..000000000 --- a/ROSCO_toolbox/Examples/ROSCO_walkthrough.ipynb +++ /dev/null @@ -1,651 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "# Having fun with the ROSCO toolbox \n", - "#### By: Nikhar J. Abbas, December 12, 2019\n", - "Here is a little jupyter notebook describing some of the functionalities of the ROSCO toolbox. The goal here is to walk through the process of writing a turbine controller for a new wind turbine model. \n", - "\n", - "If you somehow managed to get your hands on this notebook without knowing of it's git repository of origin, here is a link: \n", - "\n", - "

https://github.com/NREL/ROSCO_toolbox
\n", - "\n", - "\n", - "Hopefully you'll learn some hot tips along the way...\n" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "outputs": [], - "source": [ - "# Load necessary modules\n", - "# Python Modules\n", - "import yaml\n", - "import matplotlib.pyplot as plt \n", - "import pprint\n", - "import numpy as np\n", - "\n", - "# ROSCO Modules\n", - "from ROSCO_toolbox import turbine as ROSCO_turbine\n", - "from ROSCO_toolbox import utilities as ROSCO_utilities\n", - "from ROSCO_toolbox import sim as ROSCO_sim\n", - "from ROSCO_toolbox import utilities as ROSCO_utilities\n", - "from ROSCO_toolbox import controller as ROSCO_controller\n", - "from ROSCO_toolbox import control_interface as ROSCO_ci\n", - "from ofTools.fast_io.output_processing import output_processing\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "## .yaml files \n", - "We use yaml files as the top level input file to the ROSCO generic tuning process.\n", - "\n", - "### Three main parts:\n", - "* Path Parameters\n", - " - Contains the path details of the OpenFAST input fails\n", - "* Turbine Parameters\n", - " - Contains some high level turbine parameters. Rated power, important wind speeds, etc...\n", - "* Controller Parameters\n", - " - Contains the controller parameters. Some are necessary, the rest are optional\n", - " \n", - "#### Lets load and look at our controller paremeters..." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "outputs": [], - "source": [ - "# Load yaml file \n", - "parameter_filename = 'NREL5MW_example.yaml'\n", - "inps = yaml.safe_load(open(parameter_filename))\n", - "path_params = inps['path_params']\n", - "turbine_params = inps['turbine_params']\n", - "controller_params = inps['controller_params']" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'TSR_operational': None,\n", - " 'bld_edgewise_freq': 6.2831853,\n", - " 'bld_flapwise_freq': 0.0,\n", - " 'max_pitch_rate': 0.1745,\n", - " 'max_torque_rate': 1500000.0,\n", - " 'ptfm_freq': 0.2325,\n", - " 'rated_power': 5000000.0,\n", - " 'rated_rotor_speed': 1.26711,\n", - " 'rotor_inertia': 38677040.613,\n", - " 'twr_freq': 0.4499,\n", - " 'v_max': 25.0,\n", - " 'v_min': 3.0,\n", - " 'v_rated': 11.4}\n" - ] - } - ], - "source": [ - "pprint.pprint(turbine_params)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "### So, what do we care about here?\n", - "Note that items with a star need at least a 0 or a 1. They're fairly standard, though...\n", - "1. Filter types\n", - " * A few are available. Generally, first and second order low pass filters, high pass, and notch. They are used for a few different purposes\n", - "2. Control Modes\n", - " * Which control modes you would like. There are a few different options, example .yaml files are provided in the toolbox.\n", - "3. omega_* and zeta_*\n", - " * These are the __four__ controller tuning parameters that you need to define. Again, some example files for different turbines are provided to help build some intuition on these.\n", - "4. The rest..\n", - " * The rest of these are optional. If you would like to define these, go for it. Otherwise you don't need to" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "## Loading a Turbine model\n", - "We will load a turbine model and look at it a bit. Note that `path_params['rotor_performance_filename']` is defined, so we will not run CC-blade in this tutorial. You could though, if you have a couple minutes!" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-----------------------------------------------------------------------------\n", - "Loading wind turbine data for NREL's ROSCO tuning and simulation processeses\n", - "-----------------------------------------------------------------------------\n", - "Loading FAST model: NREL-5MW.fst \n", - "Loading rotor performace data from text file: /Users/dzalkind/Tools/ROSCO_toolbox/Test_Cases/NREL-5MW/Cp_Ct_Cq.NREL5MW.txt\n", - "Loading rotor performace data from text file: Cp_Ct_Cq.NREL5MW.txt\n" - ] - } - ], - "source": [ - "# Load turbine data from openfast model\n", - "turbine = ROSCO_turbine.Turbine(turbine_params)\n", - "turbine.load_from_fast(path_params['FAST_InputFile'],path_params['FAST_directory'],dev_branch=True,rot_source='txt',txt_filename=path_params['rotor_performance_filename'])\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "### Look at some basic turbine information and plot a Cp-surface" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-------------- Turbine Info --------------\n", - "Turbine Name: NREL-5MW\n", - "Rated Power: 5000000.0 [W]\n", - "Total Inertia: 43702538.1 [kg m^2]\n", - "Rotor Radius: 63.0 [m]\n", - "Rated Rotor Speed: 1.3 [rad/s]\n", - "Max Cp: 0.48\n", - "------------------------------------------\n", - " \n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "print(turbine)\n", - "# Plot rotor performance information\n", - "turbine.Cp.plot_performance()\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "## Tune a controller\n", - "We now have loaded our wind turbine model. Lets tune the controller " - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-----------------------------------------------------------------------------\n", - " Tuning a reference wind turbine controller using NREL's ROSCO toolbox \n", - "-----------------------------------------------------------------------------\n" - ] - } - ], - "source": [ - "# Tune controller \n", - "controller = ROSCO_controller.Controller(controller_params)\n", - "controller.tune_controller(turbine)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "**WOW! That was easy...**\n", - "\n", - "Lets plot our PI gains and write the ROSCO input file" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "# Plot gain schedule\n", - "fig, axs = plt.subplots(1, 2, sharey=True)\n", - "axs[0].plot(controller.v[len(controller.vs_gain_schedule.Kp):], controller.pc_gain_schedule.Kp)\n", - "axs[0].set_xlabel('Wind Speed')\n", - "axs[0].set_ylabel('Proportional Gain')\n", - "axs[0].grid('True')\n", - "\n", - "axs[1].plot(controller.v[len(controller.vs_gain_schedule.Ki):], controller.pc_gain_schedule.Ki)\n", - "axs[1].set_xlabel('Wind Speed')\n", - "axs[1].set_ylabel('Integral Gain')\n", - "axs[1].grid('True')\n" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Writing new controller parameter file parameter file: DISCON.IN.\n" - ] - } - ], - "source": [ - "# Write parameter input file\n", - "param_file = 'DISCON.IN' # This must be named DISCON.IN to be seen by the compiled controller binary. \n", - "ROSCO_utilities.write_DISCON(turbine,controller,param_file=param_file, txt_filename=path_params['rotor_performance_filename'])" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "### What else can the controller do and see?\n", - "Lets look at our minimum pitch schedule. We will need to:\n", - "1. Change `PS_Mode = 1` for peak chaving\n", - "2. Retune the controller. Let's call it `controller_ps`\n", - "3. Plot the results" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-----------------------------------------------------------------------------\n", - " Tuning a reference wind turbine controller using NREL's ROSCO toolbox \n", - "-----------------------------------------------------------------------------\n" - ] - }, - { - "data": { - "image/png": "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NpZWrVqxbdu2S/ZTVV588UWaNGlCly5dOHToEEeOHLlkvwULFrBgwQKaN29OixYt2L59O7t27brkWJ6u7nFf37p1a2rVqkVgYCD9+vXj999/T/e1AejTp0/K31u2bOHaa68lJCSEqVOnsnXr1ksez92OHTuoWbMm9erVA6B///4sX748Zfudd94JQMuWLdm3b1+6xzLGF2LizvPo1LUMm7KOSiULMWd4B0bedA2FgwJ9/th5/k5qdy/3aOSXxw0MDKRTp0506tSJkJAQJk2adMmHtqrStWtXvvnmm4vWnzt3jkcffZSwsDCqVavG6NGjOXfuXJoftgBFixala9euzJ49m+nTp6dZ4bZ48eLceeed3HnnnQQEBDB//nzuuuuui/aZOnUq0dHRrF27lqCgIIKDgz1e36+qvPDCCzz88MNpvg6NGjVi/fr1JCcnExDgfDdJTk5m48aNNGjQgMjIyEuek4ik+dpcUKxYsZS/BwwYwKxZs2jatCkTJ05k6dKlacZzIe70FCpUCHD+DRMTs34Q0Ji0qCpzNkYxes5WTp9P4h83XcPQ62oRFJh9FZKsFpOP7dix46Jv0hs2bKBGjRoAlChRglOnTgHQtm1bVqxYQUREBOBcZbRz586UD+Py5csTFxfH9987J1mlS5emVKlS/P7774DzQe5u8ODBPP7447Rq1YqyZcteEteKFSv4+++/AYiPjyc8PJwaNWpcFBM4Vx1VrFiRoKAglixZkvLNPfV+N910ExMmTCAuLg6AQ4cOcfSo+60tUKdOHZo3b87rr7+esu7111+nRYsW1KlTB4DVq1ezd+9ekpOTmTZtGh07dkzztfHk1KlTVK5cmYSEhItek9TxXlC/fn327duXcuyvvvoq5azMGH85evIcQ79ayxPfbqBGuWLMe7wjj3Wuk63JAfLZGYQ/xMXFMWLECI4fP06BAgWoU6cO48aNA2Do0KF0796dypUrs2TJEiZOnEi/fv04f/484Hx41qtXjyFDhhASEkJwcDCtWrVKOfaXX37JQw89RNGiRbnpppsuetyWLVtSsmRJBg4c6DGu3bt388gjj6CqJCcnc+utt3LXXXchInTo0IHGjRvTvXt3nnvuOXr06EFoaCjNmjWjfv36AJQrV+6i/d599122bdtGu3btAOfsZMqUKVSsWPGixx0/fjwjRoygTp06qCrt2rVj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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "# Change pitch saturation parameter to peak shave\n", - "controller_params['PS_Mode'] = 1\n", - "\n", - "# Retune the controller\n", - "controller2 = ROSCO_controller.Controller(controller_params)\n", - "controller2.tune_controller(turbine)\n", - "\n", - "# Plot minimum pitch schedule\n", - "plt.plot(controller2.v, controller2.pitch_op,label='Steady State Operation')\n", - "plt.plot(controller2.v, controller2.ps_min_bld_pitch, label='Minimum Pitch Schedule')\n", - "plt.legend()\n", - "plt.xlabel('Wind speed (m/s)')\n", - "plt.ylabel('Blade pitch (rad)')\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "### Quick Simulate..\n", - "We can also run a small one degree of freedom simulation to see if our tuning makes sense" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Running simulation for NREL-5MW wind turbine.\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "# Specify controller dynamic library path and name\n", - "lib_name = ('../ROSCO/build/libdiscon.dylib')\n", - "\n", - "# Load the simulator and controller interface\n", - "controller_int = ROSCO_ci.ControllerInterface(lib_name)\n", - "sim = ROSCO_sim.Sim(turbine,controller_int)\n", - "\n", - "# Define a wind speed history\n", - "dt = 0.1\n", - "tlen = 1000 # length of time to simulate (s)\n", - "ws0 = 7 # initial wind speed (m/s)\n", - "t= np.arange(0,tlen,dt) \n", - "ws = np.ones_like(t) * ws0\n", - "# add steps at every 100s\n", - "for i in range(len(t)):\n", - " ws[i] = ws[i] + t[i]//100\n", - "\n", - "# Run simulator and plot results\n", - "sim.sim_ws_series(t,ws,rotor_rpm_init=4)\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "Note that his doesn't look _exactly_ how we would like our final controller to behave. This tool (currently) is to help build some intuition on if the controller is working reasonably. It does not have any significant dynamics, though." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "## OpenFAST Runs\n", - "We could run an OpenFAST simulation, but that will take some time. You will have to trust me that it works. See example 6 if you don't. We look at some post-processing stuff though...\n", - "\n", - "### Post processing OpenFAST\n", - "Currently, we have some basic plotting functionalities available. This is nice, as it gives us the chance to quickly and alogithmically look at some relevant control signals. \n", - "\n", - "#### Step wind case" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "outputs": [ - { - "ename": "AssertionError", - "evalue": "File, ../Test_Cases/5MW_Step/5MW_Step.outb, does not exists", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mAssertionError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0;31m# Load output info and data\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 7\u001b[0;31m \u001b[0mallinfo\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0malldata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload_fast_out\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilenames\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 8\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0;31m# Define Plot cases\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/Users/dzalkind/Tools/ROSCO_toolbox/ofTools/fast_io/output_processing.py\u001b[0m in \u001b[0;36mload_fast_out\u001b[0;34m(self, filenames, tmin, tmax, verbose)\u001b[0m\n\u001b[1;32m 69\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfastout\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 70\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfilename\u001b[0m \u001b[0;32min\u001b[0m \u001b[0menumerate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilenames\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 71\u001b[0;31m \u001b[0;32massert\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0misfile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilename\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"File, %s, does not exists\"\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0mfilename\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 72\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilename\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'r'\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 73\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mverbose\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mAssertionError\u001b[0m: File, ../Test_Cases/5MW_Step/5MW_Step.outb, does not exists" - ] - } - ], - "source": [ - "op = output_processing()\n", - "\n", - "# Define openfast output filenames\n", - "filenames = [\"../Test_Cases/5MW_Step/5MW_Step.outb\"]\n", - "\n", - "# Load output info and data\n", - "allinfo, alldata = op.load_fast_out(filenames)\n", - "\n", - "# Define Plot cases \n", - "cases = {}\n", - "cases['Baseline'] = ['Wind1VelX', 'BldPitch1', 'GenTq', 'RotSpeed']\n", - "cases['Rotor Performance'] = ['RtVAvgxh', 'RtTSR', 'RtAeroCp']\n", - "\n", - "# Plot, woohoo!\n", - "fast_io.plot_fast_out(cases, allinfo, alldata)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "#### Turbulent wind case\n", - "Lets look at the near turbulent cases with and without peak shaving (80%)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "# Define openfast output filenames\n", - "filenames = [\"../Test_Cases/5MW_Turb_NR/5MW_Turb_NR.out\", # Note that we can load txt or binary outputs\n", - " \"../Test_Cases/5MW_Turb_NR_ps/5MW_Turb_NR_ps.outb\"]\n", - "\n", - "# Load output info and data\n", - "allinfo, alldata = fast_io.load_output(filenames)\n", - "\n", - "# Define Plot cases \n", - "cases = {}\n", - "cases['Baseline'] = ['Wind1VelX', 'BldPitch1', 'GenTq', 'RotSpeed']\n", - "cases['Peak Shaving'] = ['Wind1VelX', 'BldPitch1', 'TwrBsMyt']\n", - "\n", - "# Plot, woohoo!\n", - "fast_io.plot_fast_out(cases, allinfo, alldata)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "## In conclusion\n", - "Hopefully this jupyter notebook showed some good working examples of what the overall functions of the ROSCO toolbox and associated ROSCO controller have to offer. Of course, I encourage you all to dig into the code a bit more. There are a number of examples offered in Examples folder (shockingly). These go over a number of the same functionalities that this notebook did, but in a little bit more detail and perhaps a more functional way. \n", - "\n", - "Of course, please offer your feedback on where you can see advancements in any of this work. You can reach me personally at nikhar.abbas@nrel.gov, or submit any issue/pull requests to the associated git repository itself. This project is meant to be ongoing and continue to evolve - and I would REALLY love the help in doing so!\n", - "\n", - "I would finally like to note that there has been a lot of work from a lot of very smart (and really great) people that has gone into all of this, some of which are acknowledged on the [ROSCO toolbox](www.github.com/nrel/ROSCO_toolbox) and [ROSCO](www.github.com/nrel/ROSCO_toolbox) github pages. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "celltoolbar": "Slideshow", - "kernelspec": { - "display_name": "test-env", - "language": "python", - "name": "test-env" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.8" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/ROSCO_toolbox/Examples/example_01.py b/ROSCO_toolbox/Examples/example_01.py deleted file mode 100644 index 2433be296..000000000 --- a/ROSCO_toolbox/Examples/example_01.py +++ /dev/null @@ -1,40 +0,0 @@ -''' ------------ Example_01 -------------- -Load and save a turbine model -------------------------------------- -In this example: -- Read .yaml input file -- Load an openfast turbine model -- Read text file with rotor performance properties -- Print some basic turbine properties -- Save the turbine as a picklle - -Note: Uses the NREL 5MW included in the Test Cases and is a part of the OpenFAST distribution -''' - -# Python Modules -import yaml, os -# ROSCO Modules -from ROSCO_toolbox import turbine as ROSCO_turbine - -# Load yaml file -parameter_filename = os.path.join(os.path.dirname(__file__),'NREL5MW_example.yaml') -inps = yaml.safe_load(open(parameter_filename)) -path_params = inps['path_params'] -turbine_params = inps['turbine_params'] - -# Load turbine data from openfast model -turbine = ROSCO_turbine.Turbine(turbine_params) - -turbine.load_from_fast( - path_params['FAST_InputFile'], - os.path.join(os.path.dirname(__file__),path_params['FAST_directory']), - dev_branch=True, - rot_source='txt',txt_filename=os.path.join(os.path.dirname(__file__),path_params['rotor_performance_filename']) - ) - -# Print some basic turbine info -print(turbine) - -# Save the turbine model -turbine.save(os.path.join(os.path.dirname(__file__),'NREL5MW_saved.p')) \ No newline at end of file diff --git a/ROSCO_toolbox/Examples/example_02.py b/ROSCO_toolbox/Examples/example_02.py deleted file mode 100644 index 12c1db70a..000000000 --- a/ROSCO_toolbox/Examples/example_02.py +++ /dev/null @@ -1,27 +0,0 @@ -''' ------------ Example_02 -------------- -Load a turbine model from saved pickle, make a quick cp plot -------------------------------------- - -In this example: - - Load a turbine from a saved pickle - - Plot Cp Surface -''' - -# Python modules -import os -import matplotlib.pyplot as plt -# ROSCO toolbox modules -from ROSCO_toolbox import turbine as ROSCO_turbine - - -# Initialize a turbine class -- Don't need to instantiate! -turbine = ROSCO_turbine.Turbine - -# Load quick from python pickle -turbine = turbine.load(os.path.join(os.path.dirname(__file__),'NREL5MW_saved.p')) - -# plot rotor performance -print('Plotting Cp data') -turbine.Cp.plot_performance() -plt.show() \ No newline at end of file diff --git a/ROSCO_toolbox/Examples/example_03.py b/ROSCO_toolbox/Examples/example_03.py deleted file mode 100644 index 8a352da34..000000000 --- a/ROSCO_toolbox/Examples/example_03.py +++ /dev/null @@ -1,39 +0,0 @@ -''' ------------ Example_03 -------------- -Run CCblade, save a rotor performance text file -------------------------------------- - -In this example: -- Read .yaml input file -- Load an openfast turbine model -- Run ccblade to get rotor performance properties -- Write a text file with rotor performance properties -''' -# Python modules -import yaml, os -# ROSCO toolbox modules -from ROSCO_toolbox import turbine as ROSCO_turbine -from ROSCO_toolbox.utilities import write_rotor_performance -# Initialize parameter dictionaries -turbine_params = {} -control_params = {} - -# Load yaml file -parameter_filename = os.path.join(os.path.dirname(__file__),'NREL5MW_example.yaml') -inps = yaml.safe_load(open(parameter_filename)) -path_params = inps['path_params'] -turbine_params = inps['turbine_params'] -controller_params = inps['controller_params'] - -# Load turbine data from openfast model -turbine = ROSCO_turbine.Turbine(turbine_params) -turbine.load_from_fast( - path_params['FAST_InputFile'], - os.path.join(os.path.dirname(__file__),path_params['FAST_directory']), - dev_branch=True, - rot_source='cc-blade', - txt_filename=None) - -# Write rotor performance text file -txt_filename = os.path.join(os.path.dirname(__file__),'Cp_Ct_Cq.Ex03.txt') -write_rotor_performance(turbine,txt_filename=txt_filename) diff --git a/ROSCO_toolbox/Examples/example_04.py b/ROSCO_toolbox/Examples/example_04.py deleted file mode 100644 index 431749eb1..000000000 --- a/ROSCO_toolbox/Examples/example_04.py +++ /dev/null @@ -1,59 +0,0 @@ -''' ------------ Example_04 -------------- -Load a turbine model and tune the controller -------------------------------------- - -In this example: - - Read a .yaml file - - Load a turbine model from OpenFAST - - Tune a controller - - Write a controller input file - - Plot gain schedule -''' -# Python modules -import matplotlib.pyplot as plt -import yaml, os -# ROSCO toolbox modules -from ROSCO_toolbox import controller as ROSCO_controller -from ROSCO_toolbox import turbine as ROSCO_turbine -from ROSCO_toolbox import sim as ROSCO_sim -from ROSCO_toolbox.utilities import write_DISCON - -# Load yaml file -parameter_filename = os.path.join(os.path.dirname(__file__),'NREL5MW_example.yaml') -inps = yaml.safe_load(open(parameter_filename)) -path_params = inps['path_params'] -turbine_params = inps['turbine_params'] -controller_params = inps['controller_params'] - -# Instantiate turbine, controller, and file processing classes -turbine = ROSCO_turbine.Turbine(turbine_params) -controller = ROSCO_controller.Controller(controller_params) - -# Load turbine data from OpenFAST and rotor performance text file -turbine.load_from_fast( - path_params['FAST_InputFile'], - os.path.join(os.path.dirname(__file__),path_params['FAST_directory']), - dev_branch=True, - rot_source='txt',txt_filename=os.path.join(os.path.dirname(__file__),path_params['rotor_performance_filename']) - ) - -# Tune controller -controller.tune_controller(turbine) - -# Write parameter input file -param_file = 'DISCON.IN' -write_DISCON(turbine,controller,param_file=param_file, txt_filename=path_params['rotor_performance_filename']) - -# Plot gain schedule -fig, ax = plt.subplots(1,2,constrained_layout=True) -ax[0].plot(controller.v[len(controller.vs_gain_schedule.Kp):], controller.pc_gain_schedule.Kp) -ax[0].set_xlabel('Wind Speed') -ax[0].set_ylabel('Proportional Gain') - -ax[1].plot(controller.v[len(controller.vs_gain_schedule.Ki):], controller.pc_gain_schedule.Ki) -ax[1].set_xlabel('Wind Speed') -ax[1].set_ylabel('Integral Gain') - -plt.suptitle('Pitch Controller Gains') -plt.show() \ No newline at end of file diff --git a/ROSCO_toolbox/Examples/example_05.py b/ROSCO_toolbox/Examples/example_05.py deleted file mode 100644 index c97dc472f..000000000 --- a/ROSCO_toolbox/Examples/example_05.py +++ /dev/null @@ -1,55 +0,0 @@ -''' ------------ Example_05 -------------- -Run and plot a simple simple step wind simulation -------------------------------------- - -In this example: - - Load turbine from saved pickle - - Tune a controller - - Run and plot a simple step wind simulation - -Notes - You will need to have a compiled controller in ROSCO, and - properly point to it in the `lib_name` variable. - - The complex nature of the wind speed estimators implemented in ROSCO - make using them for simulations is known to cause problems for - the simple simulator. We suggesting using WE_Mode = 0 in DISCON.IN. -''' -# Python modules -import matplotlib.pyplot as plt -import numpy as np -import yaml, os -# ROSCO toolbox modules -from ROSCO_toolbox import controller as ROSCO_controller -from ROSCO_toolbox import turbine as ROSCO_turbine -from ROSCO_toolbox import sim as ROSCO_sim -from ROSCO_toolbox import control_interface as ROSCO_ci - -# Specify controller dynamic library path and name -this_dir = os.path.dirname(__file__) -lib_name = os.path.join(this_dir,'../ROSCO/build/libdiscon.dylib') -param_filename = os.path.join(this_dir,'DISCON.IN') - -# Load turbine model from saved pickle -turbine = ROSCO_turbine.Turbine -turbine = turbine.load(os.path.join(this_dir,'NREL5MW_saved.p')) - -# Load controller library -controller_int = ROSCO_ci.ControllerInterface(lib_name,param_filename=param_filename) - -# Load the simulator -sim = ROSCO_sim.Sim(turbine,controller_int) - -# Define a wind speed history -dt = 0.1 -tlen = 1000 # length of time to simulate (s) -ws0 = 7 # initial wind speed (m/s) -t= np.arange(0,tlen,dt) -ws = np.ones_like(t) * ws0 -# add steps at every 100s -for i in range(len(t)): - ws[i] = ws[i] + t[i]//100 - -# Run simulator and plot results -sim.sim_ws_series(t,ws,rotor_rpm_init=4) -plt.show() - diff --git a/ROSCO_toolbox/Examples/example_06.py b/ROSCO_toolbox/Examples/example_06.py deleted file mode 100644 index 9731c2353..000000000 --- a/ROSCO_toolbox/Examples/example_06.py +++ /dev/null @@ -1,51 +0,0 @@ -''' ------------ Example_06 -------------- -Load a turbine, tune a controller, run OpenFAST simulation -------------------------------------- - -In this example: - - Load a turbine from OpenFAST - - Tune a controller - - Run an OpenFAST simulation - -Note - you will need to have a compiled controller in ROSCO/build/ -''' -# Python Modules -import yaml -import os -# ROSCO toolbox modules -from ROSCO_toolbox import controller as ROSCO_controller -from ROSCO_toolbox import turbine as ROSCO_turbine -from ROSCO_toolbox.utilities import write_DISCON, run_openfast -from ROSCO_toolbox import sim as ROSCO_sim - -this_dir = os.path.dirname(__file__) - -# Load yaml file -parameter_filename = os.path.join(this_dir,'NREL5MW_example.yaml') -inps = yaml.safe_load(open(parameter_filename)) -path_params = inps['path_params'] -turbine_params = inps['turbine_params'] -controller_params = inps['controller_params'] - -# Instantiate turbine, controller, and file processing classes -turbine = ROSCO_turbine.Turbine(turbine_params) -controller = ROSCO_controller.Controller(controller_params) - -# Load turbine data from OpenFAST and rotor performance text file -turbine.load_from_fast(path_params['FAST_InputFile'],path_params['FAST_directory'],dev_branch=True,rot_source='txt',txt_filename=path_params['rotor_performance_filename']) - -# Tune controller -controller.tune_controller(turbine) - -# Write parameter input file -param_file = os.path.join(this_dir,'DISCON.IN') # This must be named DISCON.IN to be seen by the compiled controller binary. -write_DISCON(turbine,controller,param_file=param_file, txt_filename=path_params['rotor_performance_filename']) - -# Run OpenFAST -# --- May need to change fastcall if you use a non-standard command to call openfast -run_openfast(path_params['FAST_directory'], fastcall='openfast_sdev', fastfile=path_params['FAST_InputFile'], chdir=True) - - - - diff --git a/ROSCO_toolbox/Examples/example_07.py b/ROSCO_toolbox/Examples/example_07.py deleted file mode 100644 index 8046f5928..000000000 --- a/ROSCO_toolbox/Examples/example_07.py +++ /dev/null @@ -1,50 +0,0 @@ -''' ------------ Example_07 -------------- -Load saved turbine, tune controller, plot minimum pitch schedule -------------------------------------- - -In this example: - - Load a yaml file - - Load a turbine from openfast - - Tune a controller - - Plot minimum pitch schedule -''' - -# Python modules -import matplotlib.pyplot as plt -import yaml, os -# ROSCO toolbox modules -from ROSCO_toolbox import controller as ROSCO_controller -from ROSCO_toolbox import turbine as ROSCO_turbine -from ROSCO_toolbox import sim as ROSCO_sim - -this_dir = os.path.dirname(__file__) - -# Load yaml file -parameter_filename = os.path.join(this_dir,'NREL5MW_example.yaml') -inps = yaml.safe_load(open(parameter_filename)) -path_params = inps['path_params'] -turbine_params = inps['turbine_params'] -controller_params = inps['controller_params'] - -# Ensure minimum generator speed at 50 rpm (for example's sake), turn on peak shaving and cp-maximizing min pitch -controller_params['vs_minspd'] = 50 -controller_params['PS_Mode'] = 3 - -# Instantiate turbine, controller, and file processing classes -turbine = ROSCO_turbine.Turbine(turbine_params) -controller = ROSCO_controller.Controller(controller_params) - -# Load turbine data from OpenFAST and rotor performance text file -turbine.load_from_fast(path_params['FAST_InputFile'],path_params['FAST_directory'],dev_branch=True,rot_source='txt',txt_filename=path_params['rotor_performance_filename']) - -# Tune controller -controller.tune_controller(turbine) - -# Plot minimum pitch schedule -plt.plot(controller.v, controller.pitch_op,label='Steady State Operation') -plt.plot(controller.v, controller.ps_min_bld_pitch, label='Minimum Pitch Schedule') -plt.legend() -plt.xlabel('Wind speed (m/s)') -plt.ylabel('Blade pitch (rad)') -plt.show() diff --git a/ROSCO_toolbox/Examples/example_08.py b/ROSCO_toolbox/Examples/example_08.py deleted file mode 100644 index 22841a9e2..000000000 --- a/ROSCO_toolbox/Examples/example_08.py +++ /dev/null @@ -1,46 +0,0 @@ -''' ------------ Example_08 -------------- -Plot some OpenFAST output data -------------------------------------- - -In this example: - - Load openfast output data - - Trim the time series - - Plot some available channels - -Note: need to run openfast model in '../Test_Cases/5MW_Land_DLL_WTurb/' to plot -''' - -# Python Modules -import numpy as np -import matplotlib.pyplot as plt -# ROSCO toolbox modules -from ROSCO_toolbox import utilities as ROSCO_utilities -from ROSCO_toolbox.ofTools.fast_io import output_processing -import os - -this_dir = os.path.dirname(__file__) - -# Define openfast output filenames -filenames = ["../Test_Cases/NREL-5MW/NREL-5MW.outb"] -# ---- Note: Could load and plot multiple cases, textfiles, and binaries... -# filenames = ["../Test_Cases/NREL-5MW/NREL-5MW.outb", -# "../Test_Cases/NREL-5MW/NREL-5MW_ex8.outb"] - -filenames = [os.path.join(this_dir,file) for file in filenames] - -# Define Plot cases -# --- Comment,uncomment, create, and change these as desired... -cases = {} -cases['Baseline'] = ['Wind1VelX', 'BldPitch1', 'GenTq', 'RotSpeed'] -cases['Rotor'] = ['BldPitch1', 'GenTq', 'GenPwr'] - -# Instantiate fast_IO -fast_out = output_processing.output_processing() -# Can also do: -# fast_out = output_processing.output_processing(filenames=filenames, cases=cases) -# fast_out.plot_fast_out() - -# Load and plot -fastout = fast_out.load_fast_out(filenames, tmin=10) -fast_out.plot_fast_out(cases=cases) diff --git a/ROSCO_toolbox/Examples/example_09.py b/ROSCO_toolbox/Examples/example_09.py deleted file mode 100644 index 3065450f8..000000000 --- a/ROSCO_toolbox/Examples/example_09.py +++ /dev/null @@ -1,24 +0,0 @@ -''' ------------ Example_09 -------------- -Run TurbSim to create wind field binary -------------------------------------- - -In this example: - - Leverage the run_openfast functionality to compile a turbsim binary -''' - -# Python Modules -import numpy as np -import matplotlib.pyplot as plt -# ROSCO toolbox modules -from ROSCO_toolbox.utilities import run_openfast -import os - -this_dir = os.path.dirname(__file__) - -# Define openfast output filenames -wind_directory = os.path.join(this_dir,'../Test_Cases/Wind/') -turbsim_infile = '90m_12mps_twr.inp' - -run_openfast(wind_directory, fastcall='turbsim_sdev', fastfile=turbsim_infile, chdir=False) - diff --git a/ROSCO_toolbox/Examples/example_10.py b/ROSCO_toolbox/Examples/example_10.py deleted file mode 100644 index ed98aa481..000000000 --- a/ROSCO_toolbox/Examples/example_10.py +++ /dev/null @@ -1,45 +0,0 @@ -''' ------------ Example_10 -------------- -Tune a controller for distributed aerodynamic control -------------------------------------- - -In this example: -- Read .yaml input file -- Load an openfast turbine model -- Read text file with rotor performance properties -- Load blade information -- Tune controller with flap actuator - -Note: You will need a turbine model with DAC capabilites in order to run this. - The curious user can contact Nikhar Abbas (nikhar.abbas@nrel.gov) for available - models, if they do not have any themselves. -''' - -# Python Modules -import yaml, os -# ROSCO Modules -from ROSCO_toolbox import turbine as ROSCO_turbine -from ROSCO_toolbox import controller as ROSCO_controller - -rt_dir = os.path.dirname(os.path.dirname(__file__)) - -# Load yaml file -parameter_filename = os.path.join(rt_dir,'Tune_Cases/BAR.yaml') -inps = yaml.safe_load(open(parameter_filename)) -path_params = inps['path_params'] -turbine_params = inps['turbine_params'] -controller_params = inps['controller_params'] - -# Load turbine data from openfast model -turbine = ROSCO_turbine.Turbine(turbine_params) -# turbine.load_from_fast(path_params['FAST_InputFile'],path_params['FAST_directory'],dev_branch=True,rot_source='txt',txt_filename=path_params['rotor_performance_filename']) -turbine.load_from_fast(path_params['FAST_InputFile'], \ - os.path.join(rt_dir,path_params['FAST_directory']),dev_branch=True) - -# Tune controller -controller = ROSCO_controller.Controller(controller_params) -controller.tune_controller(turbine) - -print('Flap PI gains:') -print('Kp_flap = {}'.format(controller.Kp_flap[-1])) -print('Ki_flap = {}'.format(controller.Ki_flap[-1])) diff --git a/ROSCO_toolbox/Examples/example_11.py b/ROSCO_toolbox/Examples/example_11.py deleted file mode 100644 index 6a6db53d5..000000000 --- a/ROSCO_toolbox/Examples/example_11.py +++ /dev/null @@ -1,70 +0,0 @@ -''' ------------ Example_11 -------------- -Load a turbine, tune a controller, export linear model -------------------------------------- - -In this example: - - Load a turbine from OpenFAST - - Tune a controller - - Use tuning parameters to export linear model - -''' -# Python Modules -import yaml -import os -# ROSCO toolbox modules -from ROSCO_toolbox import controller as ROSCO_controller -from ROSCO_toolbox import turbine as ROSCO_turbine -from ROSCO_toolbox import sim as ROSCO_sim - -import numpy as np - -# Load yaml file -parameter_filename = os.path.join( os.path.dirname( os.path.dirname( os.path.realpath(__file__) )), - 'Tune_Cases', 'IEA15MW.yaml') -inps = yaml.safe_load(open(parameter_filename)) -path_params = inps['path_params'] -turbine_params = inps['turbine_params'] -controller_params = inps['controller_params'] - -# Linear file output -linmod_filename = 'IEA15MW_LinMod.dat' - -# Instantiate turbine, controller, and file processing classes -turbine = ROSCO_turbine.Turbine(turbine_params) -controller = ROSCO_controller.Controller(controller_params) - -# Load turbine data from OpenFAST and rotor performance text file -turbine.load_from_fast(path_params['FAST_InputFile'],path_params['FAST_directory'],dev_branch=True,rot_source=None,txt_filename=path_params['rotor_performance_filename']) - -# Tune controller -controller.tune_controller(turbine) - -# Write Linear model parameters to text file for matlab processing -# Add to ROSCO_utilities.FileProcessing() when finished - -print('Writing linear models to text file: ' + linmod_filename) - -# extend gain schedule - -pc_br = np.zeros(len(controller.v_below_rated)) -pc_Kp = np.concatenate((pc_br,controller.pc_gain_schedule.Kp)) -pc_Ki = np.concatenate((pc_br,controller.pc_gain_schedule.Ki)) - -vs_ar = np.zeros(len(controller.pc_gain_schedule.Kp)) -vs_Kp = np.concatenate((controller.vs_gain_schedule.Kp,vs_ar)) -vs_Ki = np.concatenate((controller.vs_gain_schedule.Ki,vs_ar)) - -with open(linmod_filename,'w') as f: - f.write('{:12}\t{:12}\t{:12}\t{:12}\t{:12}\t{:12}\t{:12}\t{:12}\t{:12}\t{:12}\t{:12}\t{:12}\n'.\ - format('WindSpeed','A_om','b_theta','b_tau','b_wind','pc_Kp','pc_Ki','vs_Kp','vs_Ki','Pi_omega','Pi_theta','Pi_wind')) - - for v,A,B_beta,B_tau,B_wind,pc_Kp,pc_Ki,vs_Kp,vs_Ki,Pi_omega,Pi_beta,Pi_wind in zip(controller.v,controller.A,controller.B_beta,controller.B_tau, controller.B_wind, \ - pc_Kp, pc_Ki, vs_Kp, vs_Ki, \ - controller.Pi_omega, controller.Pi_beta, controller.Pi_wind): - f.write('{:12.4e}\t{:12.4e}\t{:12.4e}\t{:12.4e}\t{:12.4e}\t{:12.4e}\t{:12.4e}\t{:12.4e}\t{:12.4e}\t{:12.4e}\t{:12.4e}\t{:12.4e}\n'\ - .format(v,A,B_beta,B_tau,B_wind,pc_Kp,pc_Ki,vs_Kp,vs_Ki,Pi_omega,Pi_beta,Pi_wind)) - -print('Tower Height = {} m'.format(turbine.hubHt)) -print('Platform Freq. = {} rad/s'.format(turbine.ptfm_freq)) - diff --git a/ROSCO_toolbox/HISTORY.md b/ROSCO_toolbox/HISTORY.md deleted file mode 100644 index fa024e3c1..000000000 --- a/ROSCO_toolbox/HISTORY.md +++ /dev/null @@ -1,54 +0,0 @@ -# History ---------------------- -## 2.1.1 - (2020-06-15) -Mostly some minor bug fixes and a function for generating rotor performance files using AeroDyn. - -Major Updates -- generate_rotperf_FAST is included in the functionalities in turbine.py now. This makes it possible to call OpenFAST and use aerodyn or beamdyn (pending) to generate the - Cp, Ct, Cq tables. Slow, but useful for verification. -- Include GBEff and GenEff appropriately in turbine.rated_torque and controller.VS_Rgn2K calculations - -Minor Updates -- min_pitch was not appropriately accounted for if user-defined -- print size of arrays in Cp_Ct_Cq.txt files -- minor typos and commenting cleanup ---------------------- -## 2.1.0 - (2020-04-21) -Mostly major updates to the post processing scripts. Some of these may be considered API changes, but we'll treat them as feature adds for now. - -A brief overview of major changes: -- `load_output` is renamed to `load_fast_out` -- `load_fast_out` now writes out a list of dictionaries containing openfast data, where each list item corresponds to an OpenFAST output case. -- All plotting functions were moved to a class `FAST_plots` -- `plot_fast_out` only receives the output from `load_fast_out` for the OpenFAST data to plot -- `plot_spectral` is included for a number of frequency-domain based plotting capabilities -- `trim_fast_out` is modified to only modify data passed in the new dictionary-based structure -- some verbosity flags have been included ---------------------- -## 2.0.0 - (2020-03-04) -Admittedly poor versioning since the last release. Lots of updates... - -### API Changes -* Re-org of some functionalities - - turbine.load_from_text is now turbine.utilities - - utilities.write_param_file is now utilities.write_DISCON -* Include flap controller tuning methods and related inputs to DISCON.IN -* Remove unnecessary control inputs in DISCON.IN (`z_pitch_*`) - -### Other changes -* Updates to floating filtering methods -* Updates to floating controller tuning methods to be more mathematically sound -* Generic flap tuning - employ reading of AeroDyn15 files with multiple distributed aerodynamic control inputs -* Test case updates and bug fixes -* Example updates to showcase all functionalities -* Updates to OpenFAST output processing and plotting scripts -* All related improvements and updates ROSCO controller itself ---------------------- -## 1.0.1 - (2020-01-29) -* Major bug fixes in second order low-pass filters -* Minor bug fixes for pitch saturation and filter mode settings -* Minor updates in tuning scripts ---------------------- -## 1.0.0 - (2020-01-22) -* Version 1.0 release - initial transition from DRC-Fortran with major updates and API changes - - diff --git a/ROSCO_toolbox/LICENSE b/ROSCO_toolbox/LICENSE deleted file mode 100644 index 1b64b39c7..000000000 --- a/ROSCO_toolbox/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} NREL - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/ROSCO_toolbox/Matlab_Toolbox/Pl_FastPlots.m b/ROSCO_toolbox/Matlab_Toolbox/Pl_FastPlots.m deleted file mode 100644 index 1f551a4cb..000000000 --- a/ROSCO_toolbox/Matlab_Toolbox/Pl_FastPlots.m +++ /dev/null @@ -1,94 +0,0 @@ -function Pl_FastPlots(varargin) -% This function plots outputs from openfast simulations. There is an -% attempt to organize the created plots into some sort of -% categories. -% -% Inputs: varargin - Some number of structures, should be created from -% Post_LoadFastOut.m, or output from a simulink run. -% Each structure will be plotted on top of the previous -% one. -% -% Nikhar Abbas - February 2019 - - - - -%% Cases to plot -% Switches to turn on/off some categories of plots. Cases are defined in -% the next section -plsw.MI = 0; % MI, Main Inputs -plsw.DTO = 0; % DTO, Drivetrain Outputs -plsw.B1 = 1; % B1, Baseline1 -plsw.PD = 1; % PD, Primary Dynamics -plsw.RO = 0; % RO, Rotor Performance Outputs -plsw.Fl1 = 0; % Fl1, Basic Floating Parameters -plsw.AF = 0; % All Floating Parameters -plsw.Twr = 0; % Twr, Turbine params with Twr Motions -plsw.Rand = 0; % Some random metrics I care about now -cases = fieldnames(plsw); - -%% Plot Cases -% Everything defined here should have a switch above -pc.MI = {'Wind1VelX', 'BldPitch1', 'GenTq'}; -pc.DTO = {'GenPwr', 'RotSpeed', 'GenSpeed'}; -pc.B1 = {'Wind1VelX', 'BldPitch1', 'GenTq', 'RotSpeed', 'GenPwr'}; -pc.PD = {'BldPitch1', 'GenTq', 'GenSpeed'}; -pc.RO = {'RtTSR','RtAeroCp'}; -pc.Fl1 = {'PtfmPitch', 'BldPitch1'}; -pc.AF = {'PtfmPitch', 'PtfmRoll', 'PtfmSurge', 'PtfmYaw', 'PtfmHeave', 'PtfmSway'}; -pc.Twr = {'GenTq','BldPitch1','RotSpeed', 'TwrBsFxt'}; -pc.Rand = {'RtAeroCt', 'TwrBsFxt', 'LSShftFxs','GenPwr'}; - -%% load outdata to be plotted -for args = 1:length(varargin) - outdata(args) = varargin(args); % load data -end - - -% Plot! -for dind = 1:length(outdata) - fo = outdata{dind}; - - time = fo.Time; - - fignum = 100; - for cind = 1:length(cases) - if plsw.(cases{cind}) - pcats = pc.(cases{cind}); % Categories to plot - subsize = length(pcats); - - for plind = 1:length(pcats) - fig = figure(fignum); hold on % Create figure - subplot(subsize,1,plind) - try - % plot data - pdata = fo.(pcats{plind}); % data to plot - pl = plot(time,pdata); - ylabel(pcats{plind}) - -% if strcmp(pcats{plind},'BldPitch1') -% ylim([-5, 45]); -% elseif strcmp(pcats{plind},'RtAeroCp') -% ylim([0 0.6]); -% end - - grid on - pl.LineWidth = 1.5; - - if plind == subsize - xlabel('Time') - end - catch - disp([pcats{plind} ' was not available in the OutList']) - end - - end - fignum = fignum+1; - end - end -end - - - - -end \ No newline at end of file diff --git a/ROSCO_toolbox/Matlab_Toolbox/README.md b/ROSCO_toolbox/Matlab_Toolbox/README.md deleted file mode 100644 index 6f4739c9f..000000000 --- a/ROSCO_toolbox/Matlab_Toolbox/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# Simulink Implementation of ROSCO -A simulink version of ROSCO has been created for rapid prototyping of new control ideas. The results do not exactly match results from the .DLL version of ROSCO due to the way that Simulink handles initial conditions. These differences change the wind speed estimate slightly and propogate to differences in the torque control and pitch saturation. The following modules in ROSCO have been implemented in Simulink: - - TSR tracking torque control - - PI gain-scheduled pitch control - - Setpoint smoothing control - - Extended Kalman Filter wind speed estimator - - Pitch Saturation - - Floating feedback control - -The modules not currently implemented include: - - k\omega^2 torque control - - Individual pitch control - - Shutdown control - - Flap control - -`runFAST.m` can be used to load the ROSCO parameters from a .IN file, using `load_ROSCO_params.m` and a more detailed version can be found in the `matlab-toolbox` [repository](https://github.com/dzalkind/matlab-toolbox/tree/master/Simulations). - diff --git a/ROSCO_toolbox/Matlab_Toolbox/ReadWrite_FAST.m b/ROSCO_toolbox/Matlab_Toolbox/ReadWrite_FAST.m deleted file mode 100644 index 02c160f36..000000000 --- a/ROSCO_toolbox/Matlab_Toolbox/ReadWrite_FAST.m +++ /dev/null @@ -1,64 +0,0 @@ -function [P,Cx] = ReadWrite_FAST(fast) -% fast should have the following fields: -% .FAST_directory - where files come from -% .FAST_InputFile - main input file (.fst) -% .FAST_runDirectory - where new files will be run from -% -% Outputs: -% P - parameter structure -% F - filename structure -% -% This is a simplified version of a similar file at https://github.com/dzalkind/matlab-toolbox/tree/master/Simulations - -%% Read -FP = FAST2Matlab(fullfile(fast.FAST_directory,fast.FAST_InputFile),2); %FP are Fast Parameters, specify 2 lines of header (FAST 8) - -% Get filenames for optional files -HydroFile = FP.Val{contains(FP.Label,'HydroFile')}; -SubFile = FP.Val{contains(FP.Label,'SubFile')}; -MoorFile = FP.Val{contains(FP.Label,'MooringFile')}; -IceFile = FP.Val{contains(FP.Label,'IceFile')}; - -% Read input files -[EDP, EDFile] = GetFASTPar_Subfile(FP, 'EDFile', fast.FAST_directory, fast.FAST_directory); -[IWP, IWFile] = GetFASTPar_Subfile(FP, 'InflowFile', fast.FAST_directory, fast.FAST_directory); -[ADP, ADFile] = GetFASTPar_Subfile(FP, 'AeroFile', fast.FAST_directory, fast.FAST_directory); -[SvDP, SvDFile] = GetFASTPar_Subfile(FP, 'ServoFile', fast.FAST_directory, fast.FAST_directory); - -if contains(HydroFile,'.') % File will have '.' if it is not 'unused' or empty - [HDP, HDFile] = GetFASTPar_Subfile(FP, 'HydroFile', fast.FAST_directory, fast.FAST_directory,true); -end -if contains(SubFile,'.') - [SbDP, SbDFile] = GetFASTPar_Subfile(FP, 'SubFile', fast.FAST_directory, fast.FAST_directory); -end -if contains(MoorFile,'.') - [MDP, MDFile] = GetFASTPar_Subfile(FP, 'MooringFile', fast.FAST_directory, fast.FAST_directory); -end -if contains(IceFile,'.') - [IDP, IDFile] = GetFASTPar_Subfile(FP, 'IceFile', fast.FAST_directory, fast.FAST_directory); -end - -% Control Parameters -[~,SD_dllFile] = GetFASTPar_Subfile(SvDP,'DLL_InFile',fast.FAST_directory, fast.FAST_directory); -SD_dllP = ROSCO2Matlab(SD_dllFile,2); -PerfFileName = GetFASTPar(SD_dllP,'PerfFileName'); - -% Cp Surface -Cx = Pre_LoadRotPerf(fullfile(fast.FAST_directory,PerfFileName(2:end-1))); - - -%% Write Outputs - -% parameters -P.FP = FP; -P.EDP = EDP; -P.IWP = IWP; -P.ADP = ADP; -P.SvDP = SvDP; -P.SD_dllP = SD_dllP; -if exist('HDP') - P.HDP = HDP; -end - - - diff --git a/ROSCO_toolbox/Matlab_Toolbox/Simulink/ROSCO.mdl b/ROSCO_toolbox/Matlab_Toolbox/Simulink/ROSCO.mdl deleted file mode 100644 index 0eaa7c1a0..000000000 --- a/ROSCO_toolbox/Matlab_Toolbox/Simulink/ROSCO.mdl +++ /dev/null @@ -1,22646 +0,0 @@ -Model { - Name "ROSCO" - Version 9.2 - SavedCharacterEncoding "ISO-8859-1" - GraphicalInterface { - NumRootInports 0 - NumRootOutports 0 - ParameterArgumentNames "" - ComputedModelVersion "1.1850" - NumModelReferences 0 - NumTestPointedSignals 19 - TestPointedSignal { - SignalName "" - FullBlockPath "ROSCO/Extract Signals" - LogSignal 1 - MaxPoints 5000 - Decimation 2 - } - TestPointedSignal { - SignalName "" - FullBlockPath "ROSCO/Extract Signals" - PortIndex 2 - LogSignal 1 - MaxPoints 5000 - Decimation 2 - } - TestPointedSignal { - SignalName "" - FullBlockPath "ROSCO/Extract Signals" - PortIndex 3 - LogSignal 1 - MaxPoints 5000 - Decimation 2 - } - TestPointedSignal { - SignalName "" - FullBlockPath "ROSCO/Extract Signals" - PortIndex 4 - LogSignal 1 - MaxPoints 5000 - Decimation 2 - } - TestPointedSignal { - SignalName "WE_Vw" - FullBlockPath "ROSCO/Wind Speed Estimator" - LogSignal 1 - MaxPoints 5000 - Decimation 2 - } - TestPointedSignal { - SignalName "FA_AccR" - FullBlockPath "ROSCO/Fl_PD/NacIMU" - LogSignal 1 - MaxPoints 5000 - Decimation 2 - } - TestPointedSignal { - SignalName "FA_AccF" - FullBlockPath "ROSCO/Fl_PD/Fl_LPF" - LogSignal 1 - MaxPoints 5000 - Decimation 2 - } - TestPointedSignal { - SignalName "Fl_Pitcom" - FullBlockPath "ROSCO/Fl_PD/Gain1" - LogSignal 1 - MaxPoints 5000 - Decimation 2 - } - TestPointedSignal { - SignalName "Fl_Pitcom" - FullBlockPath "ROSCO/Fl_PD1/Fl_LPF" - LogSignal 1 - MaxPoints 5000 - Decimation 2 - } - TestPointedSignal { - SignalName "Vhatf" - FullBlockPath "ROSCO/PitchSaturation/Discrete Filter" - LogSignal 1 - MaxPoints 5000 - Decimation 2 - } - TestPointedSignal { - SignalName "PC_MinPit" - FullBlockPath "ROSCO/PitchSaturation/Switch" - LogSignal 1 - MaxPoints 5000 - Decimation 2 - } - TestPointedSignal { - SignalName "SS_DelOmegaF" - FullBlockPath "ROSCO/SetpointSmoother/Gain2" - LogSignal 1 - MaxPoints 5000 - Decimation 2 - } - TestPointedSignal { - SignalName "om_t" - FullBlockPath "ROSCO/Torque Controller/Sum3" - LogSignal 1 - MaxPoints 5000 - Decimation 2 - } - TestPointedSignal { - SignalName "om_t0" - FullBlockPath "ROSCO/Torque Controller/VS_OmegaRef" - LogSignal 1 - MaxPoints 5000 - Decimation 2 - } - TestPointedSignal { - SignalName "WE_Cp" - FullBlockPath "ROSCO/Wind Speed Estimator/Demux1" - LogSignal 1 - MaxPoints 5000 - Decimation 2 - } - TestPointedSignal { - SignalName "WE_D" - FullBlockPath "ROSCO/Wind Speed Estimator/Demux1" - PortIndex 2 - LogSignal 1 - MaxPoints 5000 - Decimation 2 - } - TestPointedSignal { - SignalName "WE_b" - FullBlockPath "ROSCO/Wind Speed Estimator/Discrete Filter" - LogSignal 1 - MaxPoints 5000 - Decimation 2 - } - TestPointedSignal { - SignalName "WE_w" - FullBlockPath "ROSCO/Wind Speed Estimator/Discrete Filter1" - LogSignal 1 - MaxPoints 5000 - Decimation 2 - } - TestPointedSignal { - SignalName "WE_t" - FullBlockPath "ROSCO/Wind Speed Estimator/Discrete Filter2" - LogSignal 1 - MaxPoints 5000 - Decimation 2 - } - NumProvidedFunctions 0 - NumRequiredFunctions 0 - NumResetEvents 0 - HasInitializeEvent 0 - HasTerminateEvent 0 - PreCompExecutionDomainType "Unset" - IsExportFunctionModel 0 - NumParameterArguments 0 - NumExternalFileReferences 6 - ExternalFileReference { - Reference "simulink/Logic and Bit\nOperations/Compare\nTo Zero" - Path "ROSCO/BldPitch Controller/Compare To Zero1" - SID "654" - Type "LIBRARY_BLOCK" - } - ExternalFileReference { - Reference "simulink/Discontinuities/Saturation\nDynamic" - Path "ROSCO/BldPitch Controller/Integral/Saturate Integral Term" - SID "392" - Type "LIBRARY_BLOCK" - } - ExternalFileReference { - Reference "simulink/Discontinuities/Saturation\nDynamic" - Path "ROSCO/Fl_PD/Integral/Saturate Integral Term" - SID "738" - Type "LIBRARY_BLOCK" - } - ExternalFileReference { - Reference "simulink/Discontinuities/Saturation\nDynamic" - Path "ROSCO/PitchSaturation/Integral/Saturate Integral Term" - SID "835" - Type "LIBRARY_BLOCK" - } - ExternalFileReference { - Reference "simulink/Logic and Bit\nOperations/Compare\nTo Zero" - Path "ROSCO/Torque Controller/Compare To Zero1" - SID "649" - Type "LIBRARY_BLOCK" - } - ExternalFileReference { - Reference "simulink/Discontinuities/Saturation\nDynamic" - Path "ROSCO/Torque Controller/Integral/Saturate Integral Term" - SID "225" - Type "LIBRARY_BLOCK" - } - OrderedModelArguments 1 - } - WebScopes_FoundationPlugin "on" - DiagnosticSuppressor "on" - SLCCPlugin "on" - NotesPlugin "on" - LogicAnalyzerPlugin "on" - ScopeRefreshTime 0.035000 - OverrideScopeRefreshTime on - DisableAllScopes off - DataTypeOverride "UseLocalSettings" - DataTypeOverrideAppliesTo "AllNumericTypes" - MinMaxOverflowLogging "UseLocalSettings" - MinMaxOverflowArchiveMode "Overwrite" - FPTRunName "Run 1" - MaxMDLFileLineLength 120 - LastSavedArchitecture "maci64" - Object { - $PropName "BdWindowsInfo" - $ObjectID 1 - $ClassName "Simulink.BDWindowsInfo" - Object { - $PropName "WindowsInfo" - $ObjectID 2 - $ClassName "Simulink.WindowInfo" - IsActive [1] - Location [0.0, 23.0, 1920.0, 977.0] - Object { - $PropName "ModelBrowserInfo" - $ObjectID 3 - $ClassName "Simulink.ModelBrowserInfo" - Visible [0] - DockPosition "Left" - Width [50] - Height [50] - Filter [9] - } - Object { - $PropName "ExplorerBarInfo" - $ObjectID 4 - $ClassName "Simulink.ExplorerBarInfo" - Visible [1] - } - Array { - Type "Simulink.EditorInfo" - Dimension 15 - Object { - $ObjectID 5 - IsActive [0] - ViewObjType "SimulinkSubsys" - LoadSaveID "376" - Extents [1882.0, 801.0] - ZoomFactor [0.6] - Offset [-850.24873563634617, -79.747742854384114] - } - Object { - $ObjectID 6 - IsActive [0] - ViewObjType "SimulinkTopLevel" - LoadSaveID "0" - Extents [1882.0, 801.0] - ZoomFactor [1.0] - Offset [-948.93363095238146, 249.50952380952435] - } - Object { - $ObjectID 7 - IsActive [0] - ViewObjType "SimulinkSubsys" - LoadSaveID "20" - Extents [1882.0, 801.0] - ZoomFactor [1.0] - Offset [-419.21718750000014, 14.173611111110858] - } - Object { - $ObjectID 8 - IsActive [0] - ViewObjType "SimulinkSubsys" - LoadSaveID "766" - Extents [1882.0, 801.0] - ZoomFactor [1.0] - Offset [-474.25281148867293, 377.65392394821993] - } - Object { - $ObjectID 9 - IsActive [1] - ViewObjType "SimulinkSubsys" - LoadSaveID "3" - Extents [1882.0, 801.0] - ZoomFactor [1.25] - Offset [-480.24140624999995, -154.2] - } - Object { - $ObjectID 10 - IsActive [0] - ViewObjType "SimulinkSubsys" - LoadSaveID "385" - Extents [1882.0, 679.0] - ZoomFactor [1.42] - Offset [-196.42996258802737, -123.02816901408451] - } - Object { - $ObjectID 11 - IsActive [0] - ViewObjType "SimulinkSubsys" - LoadSaveID "304" - Extents [1882.0, 801.0] - ZoomFactor [1.0] - Offset [-652.92578125, -286.0] - } - Object { - $ObjectID 12 - IsActive [0] - ViewObjType "SimulinkSubsys" - LoadSaveID "659" - Extents [1882.0, 801.0] - ZoomFactor [1.25] - Offset [-569.26368859027275, -675.11747846405319] - } - Object { - $ObjectID 13 - IsActive [0] - ViewObjType "SimulinkSubsys" - LoadSaveID "674" - Extents [1754.0, 921.0] - ZoomFactor [1.0] - Offset [-401.8984375, -238.0] - } - Object { - $ObjectID 14 - IsActive [0] - ViewObjType "SimulinkSubsys" - LoadSaveID "215" - Extents [1882.0, 801.0] - ZoomFactor [0.95381759309228276] - Offset [-318.93746801371117, -79.0957414481943] - } - Object { - $ObjectID 15 - IsActive [0] - ViewObjType "SimulinkSubsys" - LoadSaveID "469" - Extents [1882.0, 801.0] - ZoomFactor [1.2212847403924041] - Offset [-152.0, -188.99285957456817] - } - Object { - $ObjectID 16 - IsActive [0] - ViewObjType "SimulinkSubsys" - LoadSaveID "219" - Extents [1882.0, 801.0] - ZoomFactor [1.140460339769928] - Offset [-181.39453081924967, -153.78282236176466] - } - Object { - $ObjectID 17 - IsActive [0] - ViewObjType "SimulinkSubsys" - LoadSaveID "727" - Extents [1754.0, 921.0] - ZoomFactor [1.0] - Offset [-451.0, -274.0] - } - Object { - $ObjectID 18 - IsActive [0] - ViewObjType "SimulinkSubsys" - LoadSaveID "627" - Extents [1754.0, 921.0] - ZoomFactor [1.2299401530967293] - Offset [-366.52329265643107, -163.57983596465817] - } - Object { - $ObjectID 19 - IsActive [0] - ViewObjType "SimulinkSubsys" - LoadSaveID "132" - Extents [1882.0, 801.0] - ZoomFactor [1.0] - Offset [-522.65872130102036, 54.90816326530603] - } - PropName "EditorsInfo" - } - Object { - $PropName "DockComponentsInfo" - $ObjectID 20 - $ClassName "Simulink.DockComponentInfo" - Type "GLUE2:PropertyInspector" - ID "Property Inspector" - Visible [0] - CreateCallback "" - UserData "" - Floating [0] - DockPosition "Right" - Width [640] - Height [480] - } - WindowState "AAAA/wAAAAD9AAAAAgAAAAAAAADMAAAC+PwCAAAAA/sAAAAWAEQAbwBjAGsAVwBpAGQAZwBlAHQAMwEAAAAxAAAB+AAAA" - "AAAAAAA+wAAABYARABvAGMAawBXAGkAZABnAGUAdAA0AAAAAAD/////AAAAAAAAAAD7AAAAUgBHAEwAVQBFADIAIAB0AHIAZQBlACAAYwBvAG0Ac" - "ABvAG4AZQBuAHQALwBHAEwAVQBFADIAIAB0AHIAZQBlACAAYwBvAG0AcABvAG4AZQBuAHQAAAAARgAAAvgAAABqAP///wAAAAEAAAGQAAAC+PwCA" - "AAAAfwAAABGAAAC+AAAAAAA////+gAAAAECAAAAAvsAAABUAEcATABVAEUAMgA6AFAAcgBvAHAAZQByAHQAeQBJAG4AcwBwAGUAYwB0AG8AcgAvA" - "FAAcgBvAHAAZQByAHQAeQAgAEkAbgBzAHAAZQBjAHQAbwByAAAAAAD/////AAAAOQD////7AAAAXgBHAEwAVQBFADIAOgBOAG8AdABlAHMAIABCA" - "HIAbwB3AHMAZQByACAAQwBvAG0AcABvAG4AZQBuAHQALwBTAHkAcwBEAG8AYwBNAGkAeABlAGQARQBkAGkAdABvAHIAAAAAAP////8AAAAAAAAAA" - "AAAB4AAAANcAAAAAQAAAAIAAAABAAAAAvwAAAABAAAAAgAAAA//////AAAAAAD/////AAAAAAAAAAD/////AQAAAAD/////AAAAAAAAAAD/////A" - "AAAAAD/////AAAAAAAAAAD/////AAAAAAD/////AAAAAAAAAAD/////AAAAAAD/////AAAAAAAAAAD/////AQAAAIT/////AAAAAAAAAAD/////A" - "QAAAPb/////AAAAAAAAAAD/////AAAAAAD/////AAAAAAAAAAD/////AQAAAXr/////AAAAAAAAAAD/////AAAAAAD/////AAAAAAAAAAD/////A" - "AAAAAD/////AAAAAAAAAAD/////AAAAAAD/////AAAAAAAAAAD/////AQAAA6D/////AAAAAAAAAAD/////AAAAAAD/////AAAAAAAAAAD/////A" - "AAAAAD/////AAAAAAAAAAA=" - } - } - HideAutomaticNames on - Created "Tue Dec 06 12:34:55 2016" - Creator "nabbas" - UpdateHistory "UpdateHistoryNever" - ModifiedByFormat "%" - LastModifiedBy "dzalkind" - ModifiedDateFormat "%" - LastModifiedDate "Fri Jul 17 17:08:03 2020" - RTWModifiedTimeStamp 516906481 - ModelVersionFormat "1.%" - SampleTimeColors on - SampleTimeAnnotations on - LibraryLinkDisplay "disabled" - WideLines off - ShowLineDimensions off - ShowPortDataTypes off - ShowAllPropagatedSignalLabels off - PortDataTypeDisplayFormat "AliasTypeOnly" - ShowEditTimeErrors on - ShowEditTimeWarnings on - ShowEditTimeAdvisorChecks off - ShowPortUnits off - ShowDesignRanges off - ShowLoopsOnError on - IgnoreBidirectionalLines off - ShowStorageClass off - ShowTestPointIcons on - ShowSignalResolutionIcons on - ShowViewerIcons on - SortedOrder off - VariantCondition off - ShowSubsystemDomainSpec off - ExecutionContextIcon off - ShowLinearizationAnnotations on - ShowVisualizeInsertedRTB on - ShowMarkup on - BlockNameDataTip off - BlockParametersDataTip off - BlockDescriptionStringDataTip off - BlockVariantConditionDataTip off - ToolBar on - StatusBar on - BrowserShowLibraryLinks off - FunctionConnectors off - BrowserLookUnderMasks off - MultiThreadCoSim on - SimulationMode "normal" - VisualizeLoggedSignalsWhenLoggingToFile off - PauseTimes "5" - NumberOfSteps 1 - SnapshotBufferSize 10 - SnapshotInterval 10 - NumberOfLastSnapshots 0 - EnablePacing off - PacingRate 1 - LinearizationMsg "none" - Profile off - ParamWorkspaceSource "MATLABWorkspace" - AccelSystemTargetFile "accel.tlc" - AccelTemplateMakefile "accel_default_tmf" - AccelMakeCommand "make_rtw" - TryForcingSFcnDF off - Object { - $PropName "DataLoggingOverride" - $ObjectID 21 - $ClassName "Simulink.SimulationData.ModelLoggingInfo" - model_ "ROSCO" - overrideMode_ [0.0] - Array { - Type "Cell" - Dimension 1 - Cell "ROSCO" - PropName "logAsSpecifiedByModels_" - } - Array { - Type "Cell" - Dimension 1 - Cell [] - PropName "logAsSpecifiedByModelsSSIDs_" - } - } - Object { - $PropName "InstrumentedSignals" - $ObjectID 22 - $ClassName "Simulink.HMI.InstrumentedSignals" - Array { - Type "Struct" - Dimension 19 - MATStruct { - UUID "99768b01-3e28-48ea-bf57-afab4791ffe6" - BlockPath_ "Extract Signals" - SID_ "20" - SubPath_ "" - OutputPortIndex_ [1.0] - LogicalPortIndex_ [0.0] - SignalName_ "" - SubSysPath_ "" - Decimation_ [1.0] - MaxPoints_ [1024.0] - TargetBufferedStreaming_ [0.0] - IsFrameBased_ [0.0] - DomainType_ "" - Array { - Type "Struct" - Dimension 1 - MATStruct { - } - PropName "DomainParams_" - } - VisualType_ "" - } - MATStruct { - UUID "f2ea36af-0906-46df-8262-c367adbe0c95" - BlockPath_ "Extract Signals" - SID_ "20" - SubPath_ "" - OutputPortIndex_ [3.0] - LogicalPortIndex_ [0.0] - SignalName_ "" - SubSysPath_ "" - Decimation_ [1.0] - MaxPoints_ [1024.0] - TargetBufferedStreaming_ [0.0] - IsFrameBased_ [0.0] - DomainType_ "" - Array { - Type "Struct" - Dimension 1 - MATStruct { - } - PropName "DomainParams_" - } - VisualType_ "" - } - MATStruct { - UUID "d4511a98-24d3-4d87-bb94-e9a705603039" - BlockPath_ "Extract Signals" - SID_ "20" - SubPath_ "" - OutputPortIndex_ [2.0] - LogicalPortIndex_ [0.0] - SignalName_ "" - SubSysPath_ "" - Decimation_ [1.0] - MaxPoints_ [1024.0] - TargetBufferedStreaming_ [0.0] - IsFrameBased_ [0.0] - DomainType_ "" - Array { - Type "Struct" - Dimension 1 - MATStruct { - } - PropName "DomainParams_" - } - VisualType_ "" - } - MATStruct { - UUID "dc98d8dd-781a-41dc-8437-00553e037bc6" - BlockPath_ "Wind Speed Estimator" - SID_ "659" - SubPath_ "" - OutputPortIndex_ [1.0] - LogicalPortIndex_ [0.0] - SignalName_ "" - SubSysPath_ "" - Decimation_ [1.0] - MaxPoints_ [1024.0] - TargetBufferedStreaming_ [0.0] - IsFrameBased_ [0.0] - DomainType_ "" - Array { - Type "Struct" - Dimension 1 - MATStruct { - } - PropName "DomainParams_" - } - VisualType_ "" - } - MATStruct { - UUID "4c23f5ef-dd1f-4cc4-b492-3ac34ce84ef2" - BlockPath_ "Extract Signals" - SID_ "20" - SubPath_ "" - OutputPortIndex_ [4.0] - LogicalPortIndex_ [0.0] - SignalName_ "" - SubSysPath_ "" - Decimation_ [1.0] - MaxPoints_ [1024.0] - TargetBufferedStreaming_ [0.0] - IsFrameBased_ [0.0] - DomainType_ "" - Array { - Type "Struct" - Dimension 1 - MATStruct { - } - PropName "DomainParams_" - } - VisualType_ "" - } - MATStruct { - UUID "64585892-fafc-407a-9a63-895a3c0dfee9" - BlockPath_ "Torque Controller/VS_OmegaRef" - SID_ "469" - SubPath_ "" - OutputPortIndex_ [1.0] - LogicalPortIndex_ [0.0] - SignalName_ "om_t0" - SubSysPath_ "" - Decimation_ [1.0] - MaxPoints_ [1024.0] - TargetBufferedStreaming_ [0.0] - IsFrameBased_ [0.0] - DomainType_ "" - Array { - Type "Struct" - Dimension 1 - MATStruct { - } - PropName "DomainParams_" - } - VisualType_ "" - } - MATStruct { - UUID "96d077f1-1873-4624-84e4-4a89b3a07bb8" - BlockPath_ "Fl_PD/Gain1" - SID_ "743" - SubPath_ "" - OutputPortIndex_ [1.0] - LogicalPortIndex_ [0.0] - SignalName_ "Fl_PitCom" - SubSysPath_ "" - Decimation_ [1.0] - MaxPoints_ [1024.0] - TargetBufferedStreaming_ [0.0] - IsFrameBased_ [0.0] - DomainType_ "" - Array { - Type "Struct" - Dimension 1 - MATStruct { - } - PropName "DomainParams_" - } - VisualType_ "" - } - MATStruct { - UUID "46a9fcc9-cce0-4a9f-8fd6-ea8c52adf7a6" - BlockPath_ "Fl_PD/Fl_LPF" - SID_ "748" - SubPath_ "" - OutputPortIndex_ [1.0] - LogicalPortIndex_ [0.0] - SignalName_ "NacIMU_FA_AccF" - SubSysPath_ "" - Decimation_ [1.0] - MaxPoints_ [1024.0] - TargetBufferedStreaming_ [0.0] - IsFrameBased_ [0.0] - DomainType_ "" - Array { - Type "Struct" - Dimension 1 - MATStruct { - } - PropName "DomainParams_" - } - VisualType_ "" - } - MATStruct { - UUID "ac7dab8c-48f9-4581-aece-2320fddd39fd" - BlockPath_ "SetpointSmoother/Gain2" - SID_ "755" - SubPath_ "" - OutputPortIndex_ [1.0] - LogicalPortIndex_ [0.0] - SignalName_ "" - SubSysPath_ "" - Decimation_ [1.0] - MaxPoints_ [1024.0] - TargetBufferedStreaming_ [0.0] - IsFrameBased_ [0.0] - DomainType_ "" - Array { - Type "Struct" - Dimension 1 - MATStruct { - } - PropName "DomainParams_" - } - VisualType_ "" - } - MATStruct { - UUID "f4617994-14d7-48c4-a0cc-bbced433348b" - BlockPath_ "PitchSaturation/Discrete Filter" - SID_ "765" - SubPath_ "" - OutputPortIndex_ [1.0] - LogicalPortIndex_ [0.0] - SignalName_ "" - SubSysPath_ "" - Decimation_ [1.0] - MaxPoints_ [1024.0] - TargetBufferedStreaming_ [0.0] - IsFrameBased_ [0.0] - DomainType_ "" - Array { - Type "Struct" - Dimension 1 - MATStruct { - } - PropName "DomainParams_" - } - VisualType_ "" - } - MATStruct { - UUID "32140da4-e939-46f5-bdf5-32c308d73248" - BlockPath_ "Torque Controller/Sum3" - SID_ "653" - SubPath_ "" - OutputPortIndex_ [1.0] - LogicalPortIndex_ [0.0] - SignalName_ "" - SubSysPath_ "" - Decimation_ [1.0] - MaxPoints_ [1024.0] - TargetBufferedStreaming_ [0.0] - IsFrameBased_ [0.0] - DomainType_ "" - Array { - Type "Struct" - Dimension 1 - MATStruct { - } - PropName "DomainParams_" - } - VisualType_ "" - } - MATStruct { - UUID "72f5a278-92a0-45ac-ab2a-b43a347660cf" - BlockPath_ "PitchSaturation/Switch" - SID_ "760" - SubPath_ "" - OutputPortIndex_ [1.0] - LogicalPortIndex_ [0.0] - SignalName_ "PC_MinPitch" - SubSysPath_ "" - Decimation_ [1.0] - MaxPoints_ [1024.0] - TargetBufferedStreaming_ [0.0] - IsFrameBased_ [0.0] - DomainType_ "" - Array { - Type "Struct" - Dimension 1 - MATStruct { - } - PropName "DomainParams_" - } - VisualType_ "" - } - MATStruct { - UUID "bd252ac8-af6a-408f-9750-a761e175928b" - BlockPath_ "Fl_PD1/Fl_LPF" - SID_ "795" - SubPath_ "" - OutputPortIndex_ [1.0] - LogicalPortIndex_ [0.0] - SignalName_ "" - SubSysPath_ "" - Decimation_ [1.0] - MaxPoints_ [0.0] - TargetBufferedStreaming_ [0.0] - IsFrameBased_ [0.0] - DomainType_ "" - Array { - Type "Struct" - Dimension 1 - MATStruct { - } - PropName "DomainParams_" - } - VisualType_ "" - } - MATStruct { - UUID "3ae5e64e-60d8-4a7f-a12c-572dba338c3d" - BlockPath_ "Wind Speed Estimator/Discrete Filter" - SID_ "817" - SubPath_ "" - OutputPortIndex_ [1.0] - LogicalPortIndex_ [0.0] - SignalName_ "WE_b" - SubSysPath_ "" - Decimation_ [1.0] - MaxPoints_ [1024.0] - TargetBufferedStreaming_ [0.0] - IsFrameBased_ [0.0] - DomainType_ "" - Array { - Type "Struct" - Dimension 1 - MATStruct { - } - PropName "DomainParams_" - } - VisualType_ "" - } - MATStruct { - UUID "bf25241b-afe7-4052-941c-da706f3f8de8" - BlockPath_ "Wind Speed Estimator/Discrete Filter2" - SID_ "823" - SubPath_ "" - OutputPortIndex_ [1.0] - LogicalPortIndex_ [0.0] - SignalName_ "WE_t" - SubSysPath_ "" - Decimation_ [1.0] - MaxPoints_ [1024.0] - TargetBufferedStreaming_ [0.0] - IsFrameBased_ [0.0] - DomainType_ "" - Array { - Type "Struct" - Dimension 1 - MATStruct { - } - PropName "DomainParams_" - } - VisualType_ "" - } - MATStruct { - UUID "3dc0f627-87c1-4fc0-af67-118e8aeba571" - BlockPath_ "Wind Speed Estimator/Discrete Filter1" - SID_ "821" - SubPath_ "" - OutputPortIndex_ [1.0] - LogicalPortIndex_ [0.0] - SignalName_ "WE_w" - SubSysPath_ "" - Decimation_ [1.0] - MaxPoints_ [1024.0] - TargetBufferedStreaming_ [0.0] - IsFrameBased_ [0.0] - DomainType_ "" - Array { - Type "Struct" - Dimension 1 - MATStruct { - } - PropName "DomainParams_" - } - VisualType_ "" - } - MATStruct { - UUID "8ec9e595-5ac2-4dc9-b26e-5be06f0165a5" - BlockPath_ "Fl_PD/NacIMU" - SID_ "746" - SubPath_ "" - OutputPortIndex_ [1.0] - LogicalPortIndex_ [0.0] - SignalName_ "IMU_FA_Acc" - SubSysPath_ "" - Decimation_ [1.0] - MaxPoints_ [1024.0] - TargetBufferedStreaming_ [0.0] - IsFrameBased_ [0.0] - DomainType_ "" - Array { - Type "Struct" - Dimension 1 - MATStruct { - } - PropName "DomainParams_" - } - VisualType_ "" - } - MATStruct { - UUID "6176818e-e2fb-4e46-9cf1-011072696279" - BlockPath_ "Wind Speed Estimator/Demux1" - SID_ "846" - SubPath_ "" - OutputPortIndex_ [1.0] - LogicalPortIndex_ [0.0] - SignalName_ "" - SubSysPath_ "" - Decimation_ [1.0] - MaxPoints_ [1024.0] - TargetBufferedStreaming_ [0.0] - IsFrameBased_ [0.0] - DomainType_ "" - Array { - Type "Struct" - Dimension 1 - MATStruct { - } - PropName "DomainParams_" - } - VisualType_ "" - } - MATStruct { - UUID "ea597a21-b2c4-4cc0-92b6-bf2bd22f130a" - BlockPath_ "Wind Speed Estimator/Demux1" - SID_ "846" - SubPath_ "" - OutputPortIndex_ [2.0] - LogicalPortIndex_ [0.0] - SignalName_ "y_til" - SubSysPath_ "" - Decimation_ [1.0] - MaxPoints_ [1024.0] - TargetBufferedStreaming_ [0.0] - IsFrameBased_ [0.0] - DomainType_ "" - Array { - Type "Struct" - Dimension 1 - MATStruct { - } - PropName "DomainParams_" - } - VisualType_ "" - } - PropName "Persistence" - } - } - ExtModeBatchMode off - ExtModeEnableFloating on - ExtModeTrigType "manual" - ExtModeTrigMode "normal" - ExtModeTrigPort "1" - ExtModeTrigElement "any" - ExtModeTrigDuration 1000 - ExtModeTrigDurationFloating "auto" - ExtModeTrigHoldOff 0 - ExtModeTrigDelay 0 - ExtModeTrigDirection "rising" - ExtModeTrigLevel 0 - ExtModeArchiveMode "off" - ExtModeAutoIncOneShot off - ExtModeIncDirWhenArm off - ExtModeAddSuffixToVar off - ExtModeWriteAllDataToWs off - ExtModeArmWhenConnect on - ExtModeSkipDownloadWhenConnect off - ExtModeLogAll on - ExtModeAutoUpdateStatusClock on - ShowModelReferenceBlockVersion off - ShowModelReferenceBlockIO off - OrderedModelArguments on - Array { - Type "Handle" - Dimension 18 - Simulink.ConfigSet { - $ObjectID 23 - Version "1.18.1" - DisabledProps [] - Description "" - Array { - Type "Handle" - Dimension 9 - Simulink.SolverCC { - $ObjectID 24 - Version "1.18.1" - DisabledProps [] - Description "" - StartTime "0.0" - StopTime "TMax" - AbsTol "auto" - AutoScaleAbsTol on - FixedStep "auto" - InitialStep "auto" - MaxOrder 5 - ZcThreshold "auto" - ConsecutiveZCsStepRelTol "10*128*eps" - MaxConsecutiveZCs "1000" - ExtrapolationOrder 4 - NumberNewtonIterations 1 - MaxStep "auto" - MinStep "auto" - MaxConsecutiveMinStep "1" - RelTol "1e-3" - EnableMultiTasking off - ConcurrentTasks off - Solver "VariableStepAuto" - SolverName "VariableStepAuto" - SolverJacobianMethodControl "auto" - ShapePreserveControl "DisableAll" - ZeroCrossControl "UseLocalSettings" - ZeroCrossAlgorithm "Nonadaptive" - AlgebraicLoopSolver "TrustRegion" - SolverInfoToggleStatus off - IsAutoAppliedInSIP off - SolverResetMethod "Fast" - PositivePriorityOrder off - AutoInsertRateTranBlk off - SampleTimeConstraint "Unconstrained" - InsertRTBMode "Whenever possible" - SampleTimeProperty [] - DecoupledContinuousIntegration off - MinimalZcImpactIntegration off - } - Simulink.DataIOCC { - $ObjectID 25 - Version "1.18.1" - DisabledProps [] - Description "" - Decimation "1" - ExternalInput "[t, u]" - FinalStateName "xFinal" - InitialState "xInitial" - LimitDataPoints off - MaxDataPoints "1000" - LoadExternalInput off - LoadInitialState off - SaveFinalState off - SaveCompleteFinalSimState off - SaveFormat "Dataset" - SignalLoggingSaveFormat "Dataset" - SaveOutput on - SaveState off - SignalLogging on - DSMLogging on - InspectSignalLogs off - VisualizeSimOutput on - StreamToWorkspace off - StreamVariableName "streamout" - SaveTime on - ReturnWorkspaceOutputs off - StateSaveName "xout" - TimeSaveName "tout" - OutputSaveName "yout" - SignalLoggingName "logsout" - DSMLoggingName "dsmout" - OutputOption "RefineOutputTimes" - OutputTimes "[]" - ReturnWorkspaceOutputsName "out" - Refine "1" - LoggingToFile off - DatasetSignalFormat "timeseries" - LoggingFileName "out.mat" - LoggingIntervals "[-inf, inf]" - } - Simulink.OptimizationCC { - $ObjectID 26 - Version "1.18.1" - Array { - Type "Cell" - Dimension 9 - Cell "BooleansAsBitfields" - Cell "PassReuseOutputArgsAs" - Cell "PassReuseOutputArgsThreshold" - Cell "ZeroExternalMemoryAtStartup" - Cell "ZeroInternalMemoryAtStartup" - Cell "OptimizeModelRefInitCode" - Cell "NoFixptDivByZeroProtection" - Cell "UseSpecifiedMinMax" - Cell "EfficientTunableParamExpr" - PropName "DisabledProps" - } - Description "" - BlockReduction on - BooleanDataType on - ConditionallyExecuteInputs on - DefaultParameterBehavior "Tunable" - UseDivisionForNetSlopeComputation "off" - UseFloatMulNetSlope off - DefaultUnderspecifiedDataType "double" - UseSpecifiedMinMax off - InlineInvariantSignals off - OptimizeBlockIOStorage on - BufferReuse on - EnhancedBackFolding off - CachingGlobalReferences off - GlobalBufferReuse on - StrengthReduction off - AdvancedOptControl "" - ExpressionFolding on - BooleansAsBitfields off - BitfieldContainerType "uint_T" - EnableMemcpy on - MemcpyThreshold 64 - PassReuseOutputArgsAs "Structure reference" - PassReuseOutputArgsThreshold 12 - ExpressionDepthLimit 128 - LocalBlockOutputs on - RollThreshold 5 - StateBitsets off - DataBitsets off - ActiveStateOutputEnumStorageType "Native Integer" - ZeroExternalMemoryAtStartup on - ZeroInternalMemoryAtStartup on - InitFltsAndDblsToZero off - NoFixptDivByZeroProtection off - EfficientFloat2IntCast off - EfficientMapNaN2IntZero on - LifeSpan "auto" - MaxStackSize "Inherit from target" - BufferReusableBoundary on - SimCompilerOptimization "off" - AccelVerboseBuild off - OptimizeBlockOrder "off" - OptimizeDataStoreBuffers on - BusAssignmentInplaceUpdate on - DifferentSizesBufferReuse off - OptimizationLevel "level2" - OptimizationPriority "Balanced" - OptimizationCustomize on - UseRowMajorAlgorithm off - LabelGuidedReuse off - } - Simulink.DebuggingCC { - $ObjectID 27 - Version "1.18.1" - Array { - Type "Cell" - Dimension 1 - Cell "UseOnlyExistingSharedCode" - PropName "DisabledProps" - } - Description "" - RTPrefix "error" - ConsistencyChecking "none" - ArrayBoundsChecking "none" - SignalInfNanChecking "none" - StringTruncationChecking "error" - SignalRangeChecking "none" - ReadBeforeWriteMsg "UseLocalSettings" - WriteAfterWriteMsg "UseLocalSettings" - WriteAfterReadMsg "UseLocalSettings" - AlgebraicLoopMsg "warning" - ArtificialAlgebraicLoopMsg "warning" - SaveWithDisabledLinksMsg "warning" - SaveWithParameterizedLinksMsg "warning" - CheckSSInitialOutputMsg on - UnderspecifiedInitializationDetection "Simplified" - MergeDetectMultiDrivingBlocksExec "error" - CheckExecutionContextPreStartOutputMsg off - CheckExecutionContextRuntimeOutputMsg off - SignalResolutionControl "UseLocalSettings" - BlockPriorityViolationMsg "warning" - MinStepSizeMsg "warning" - TimeAdjustmentMsg "none" - MaxConsecutiveZCsMsg "error" - MaskedZcDiagnostic "warning" - IgnoredZcDiagnostic "warning" - SolverPrmCheckMsg "none" - InheritedTsInSrcMsg "warning" - MultiTaskDSMMsg "error" - MultiTaskCondExecSysMsg "error" - MultiTaskRateTransMsg "error" - SingleTaskRateTransMsg "none" - TasksWithSamePriorityMsg "warning" - ExportedTasksRateTransMsg "none" - SigSpecEnsureSampleTimeMsg "warning" - CheckMatrixSingularityMsg "none" - IntegerOverflowMsg "warning" - Int32ToFloatConvMsg "warning" - ParameterDowncastMsg "error" - ParameterOverflowMsg "error" - ParameterUnderflowMsg "none" - ParameterPrecisionLossMsg "warning" - ParameterTunabilityLossMsg "warning" - FixptConstUnderflowMsg "none" - FixptConstOverflowMsg "none" - FixptConstPrecisionLossMsg "none" - UnderSpecifiedDataTypeMsg "none" - UnnecessaryDatatypeConvMsg "none" - VectorMatrixConversionMsg "none" - InvalidFcnCallConnMsg "error" - FcnCallInpInsideContextMsg "error" - SignalLabelMismatchMsg "none" - UnconnectedInputMsg "warning" - UnconnectedOutputMsg "warning" - UnconnectedLineMsg "warning" - UseOnlyExistingSharedCode "error" - SFcnCompatibilityMsg "none" - FrameProcessingCompatibilityMsg "error" - UniqueDataStoreMsg "none" - BusObjectLabelMismatch "warning" - RootOutportRequireBusObject "warning" - AssertControl "UseLocalSettings" - AllowSymbolicDim on - RowMajorDimensionSupport off - ModelReferenceIOMsg "none" - ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" - ModelReferenceVersionMismatchMessage "none" - ModelReferenceIOMismatchMessage "none" - UnknownTsInhSupMsg "warning" - ModelReferenceDataLoggingMessage "warning" - ModelReferenceSymbolNameMessage "warning" - ModelReferenceExtraNoncontSigs "error" - StateNameClashWarn "none" - SimStateInterfaceChecksumMismatchMsg "warning" - SimStateOlderReleaseMsg "error" - ChecksumConsistencyForSSReuse "none" - LibraryContextMissingDiagnostic "warning" - MatchCodeGenerationContextForUpdateDiagram "none" - InitInArrayFormatMsg "warning" - StrictBusMsg "ErrorLevel1" - BusNameAdapt "WarnAndRepair" - NonBusSignalsTreatedAsBus "none" - SymbolicDimMinMaxWarning "warning" - LossOfSymbolicDimsSimulationWarning "warning" - LossOfSymbolicDimsCodeGenerationWarning "error" - SymbolicDimsDataTypeCodeGenerationDiagnostic "error" - BlockIODiagnostic "none" - SFUnusedDataAndEventsDiag "warning" - SFUnexpectedBacktrackingDiag "error" - SFInvalidInputDataAccessInChartInitDiag "warning" - SFNoUnconditionalDefaultTransitionDiag "error" - SFTransitionOutsideNaturalParentDiag "warning" - SFUnreachableExecutionPathDiag "warning" - SFUndirectedBroadcastEventsDiag "warning" - SFTransitionActionBeforeConditionDiag "warning" - SFOutputUsedAsStateInMooreChartDiag "error" - SFTemporalDelaySmallerThanSampleTimeDiag "warning" - SFSelfTransitionDiag "warning" - SFExecutionAtInitializationDiag "warning" - SFMachineParentedDataDiag "warning" - IntegerSaturationMsg "warning" - AllowedUnitSystems "all" - UnitsInconsistencyMsg "warning" - AllowAutomaticUnitConversions on - RCSCRenamedMsg "warning" - RCSCObservableMsg "warning" - ForceCombineOutputUpdateInSim off - UnitDatabase "" - UnderSpecifiedDimensionMsg "none" - } - Simulink.HardwareCC { - $ObjectID 28 - Version "1.18.1" - DisabledProps [] - Description "" - ProdBitPerChar 8 - ProdBitPerShort 16 - ProdBitPerInt 32 - ProdBitPerLong 32 - ProdBitPerLongLong 64 - ProdBitPerFloat 32 - ProdBitPerDouble 64 - ProdBitPerPointer 64 - ProdBitPerSizeT 64 - ProdBitPerPtrDiffT 64 - ProdLargestAtomicInteger "Char" - ProdLargestAtomicFloat "Float" - ProdIntDivRoundTo "Zero" - ProdEndianess "LittleEndian" - ProdWordSize 64 - ProdShiftRightIntArith on - ProdLongLongMode off - ProdHWDeviceType "Intel->x86-64 (Windows64)" - TargetBitPerChar 8 - TargetBitPerShort 16 - TargetBitPerInt 32 - TargetBitPerLong 32 - TargetBitPerLongLong 64 - TargetBitPerFloat 32 - TargetBitPerDouble 64 - TargetBitPerPointer 32 - TargetBitPerSizeT 32 - TargetBitPerPtrDiffT 32 - TargetLargestAtomicInteger "Char" - TargetLargestAtomicFloat "None" - TargetShiftRightIntArith on - TargetLongLongMode off - TargetIntDivRoundTo "Undefined" - TargetEndianess "Unspecified" - TargetWordSize 32 - TargetPreprocMaxBitsSint 32 - TargetPreprocMaxBitsUint 32 - TargetHWDeviceType "Specified" - TargetUnknown off - ProdEqTarget on - UseEmbeddedCoderFeatures on - UseSimulinkCoderFeatures on - } - Simulink.ModelReferenceCC { - $ObjectID 29 - Version "1.18.1" - DisabledProps [] - Description "" - UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" - EnableRefExpFcnMdlSchedulingChecks on - CheckModelReferenceTargetMessage "error" - EnableParallelModelReferenceBuilds off - ParallelModelReferenceErrorOnInvalidPool on - ParallelModelReferenceMATLABWorkerInit "None" - ModelReferenceNumInstancesAllowed "Multi" - PropagateVarSize "Infer from blocks in model" - ModelDependencies "" - ModelReferencePassRootInputsByReference on - ModelReferenceMinAlgLoopOccurrences off - PropagateSignalLabelsOutOfModel on - SupportModelReferenceSimTargetCustomCode off - } - Simulink.SFSimCC { - $ObjectID 30 - Version "1.18.1" - DisabledProps [] - Description "" - SimCustomSourceCode "" - SimCustomHeaderCode "" - SimCustomInitializer "" - SimCustomTerminator "" - SimReservedNameArray [] - SimUserSources "" - SimUserIncludeDirs "" - SimUserLibraries "" - SimUserDefines "" - SimCustomCompilerFlags "" - SimCustomLinkerFlags "" - SFSimEcho on - SimCtrlC on - SimIntegrity on - SimUseLocalCustomCode off - SimParseCustomCode on - SimAnalyzeCustomCode off - SimBuildMode "sf_incremental_build" - SimGenImportedTypeDefs off - ModelFunctionsGlobalVisibility "on" - CompileTimeRecursionLimit 50 - EnableRuntimeRecursion on - MATLABDynamicMemAlloc on - MATLABDynamicMemAllocThreshold 65536 - CustomCodeFunctionArrayLayout [] - DefaultCustomCodeFunctionArrayLayout "NotSpecified" - } - Simulink.RTWCC { - $BackupClass "Simulink.RTWCC" - $ObjectID 31 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeHyperlinkInReport" - Cell "GenerateTraceInfo" - Cell "GenerateTraceReport" - Cell "GenerateTraceReportSl" - Cell "GenerateTraceReportSf" - Cell "GenerateTraceReportEml" - Cell "PortableWordSizes" - Cell "GenerateWebview" - Cell "GenerateCodeMetricsReport" - Cell "GenerateCodeReplacementReport" - Cell "GenerateMissedCodeReplacementReport" - Cell "GenerateErtSFunction" - Cell "CreateSILPILBlock" - Cell "CodeExecutionProfiling" - Cell "CodeProfilingSaveOptions" - Cell "CodeProfilingInstrumentation" - PropName "DisabledProps" - } - SystemTargetFile "grt.tlc" - HardwareBoard "None" - TLCOptions "" - GenCodeOnly off - MakeCommand "make_rtw" - GenerateMakefile on - PackageGeneratedCodeAndArtifacts off - PackageName "" - TemplateMakefile "grt_default_tmf" - PostCodeGenCommand "" - Description "" - GenerateReport off - RTWVerbose on - RetainRTWFile off - RTWBuildHooks [] - ProfileTLC off - TLCDebug off - TLCCoverage off - TLCAssert off - RTWUseLocalCustomCode off - RTWUseSimCustomCode off - CustomSourceCode "" - CustomHeaderCode "" - CustomInclude "" - CustomSource "" - CustomLibrary "" - CustomDefine "" - CustomBLASCallback "" - CustomLAPACKCallback "" - CustomFFTCallback "" - CustomInitializer "" - CustomTerminator "" - Toolchain "Automatically locate an installed toolchain" - BuildConfiguration "Faster Builds" - CustomToolchainOptions [] - IncludeHyperlinkInReport off - LaunchReport off - PortableWordSizes off - CreateSILPILBlock "None" - CodeExecutionProfiling off - CodeExecutionProfileVariable "executionProfile" - CodeProfilingSaveOptions "SummaryOnly" - CodeProfilingInstrumentation "off" - SILDebugging off - TargetLang "C" - IncludeBusHierarchyInRTWFileBlockHierarchyMap off - GenerateTraceInfo off - GenerateTraceReport off - GenerateTraceReportSl off - GenerateTraceReportSf off - GenerateTraceReportEml off - GenerateWebview off - GenerateCodeMetricsReport off - GenerateCodeReplacementReport off - GenerateMissedCodeReplacementReport off - RTWCompilerOptimization "off" - ObjectivePriorities [] - RTWCustomCompilerOptimizations "" - CheckMdlBeforeBuild "Off" - SharedConstantsCachingThreshold 1024 - Array { - Type "Handle" - Dimension 2 - Simulink.CodeAppCC { - $ObjectID 32 - Version "1.18.1" - Array { - Type "Cell" - Dimension 28 - Cell "IgnoreCustomStorageClasses" - Cell "IgnoreTestpoints" - Cell "InsertBlockDesc" - Cell "InsertPolySpaceComments" - Cell "SFDataObjDesc" - Cell "MATLABFcnDesc" - Cell "SimulinkDataObjDesc" - Cell "DefineNamingRule" - Cell "SignalNamingRule" - Cell "ParamNamingRule" - Cell "InternalIdentifier" - Cell "InlinedPrmAccess" - Cell "CustomSymbolStr" - Cell "CustomSymbolStrGlobalVar" - Cell "CustomSymbolStrType" - Cell "CustomSymbolStrField" - Cell "CustomSymbolStrFcn" - Cell "CustomSymbolStrModelFcn" - Cell "CustomSymbolStrFcnArg" - Cell "CustomSymbolStrBlkIO" - Cell "CustomSymbolStrTmpVar" - Cell "CustomSymbolStrMacro" - Cell "CustomSymbolStrUtil" - Cell "CustomUserTokenString" - Cell "ReqsInCode" - Cell "BlockCommentType" - Cell "CustomSymbolStrEmxType" - Cell "CustomSymbolStrEmxFcn" - PropName "DisabledProps" - } - Description "" - Comment "" - ForceParamTrailComments off - GenerateComments on - CommentStyle "Auto" - IgnoreCustomStorageClasses on - IgnoreTestpoints off - MaxIdLength 31 - PreserveName off - PreserveNameWithParent off - ShowEliminatedStatement off - OperatorAnnotations off - SimulinkDataObjDesc off - SFDataObjDesc off - MATLABFcnDesc off - MangleLength 1 - SharedChecksumLength 8 - CustomSymbolStrGlobalVar "$R$N$M" - CustomSymbolStrType "$N$R$M_T" - CustomSymbolStrField "$N$M" - CustomSymbolStrFcn "$R$N$M$F" - CustomSymbolStrModelFcn "$R$N" - CustomSymbolStrFcnArg "rt$I$N$M" - CustomSymbolStrBlkIO "rtb_$N$M" - CustomSymbolStrTmpVar "$N$M" - CustomSymbolStrMacro "$R$N$M" - CustomSymbolStrUtil "$N$C" - CustomSymbolStrEmxType "emxArray_$M$N" - CustomSymbolStrEmxFcn "emx$M$N" - CustomUserTokenString "" - CustomCommentsFcn "" - DefineNamingRule "None" - DefineNamingFcn "" - ParamNamingRule "None" - ParamNamingFcn "" - SignalNamingRule "None" - SignalNamingFcn "" - InsertBlockDesc off - InsertPolySpaceComments off - SimulinkBlockComments on - BlockCommentType "BlockPathComment" - StateflowObjectComments on - MATLABSourceComments off - EnableCustomComments off - InternalIdentifierFile "" - InternalIdentifier "Shortened" - InlinedPrmAccess "Literals" - ReqsInCode off - UseSimReservedNames off - ReservedNameArray [] - } - Simulink.GRTTargetCC { - $BackupClass "Simulink.TargetCC" - $ObjectID 33 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeMdlTerminateFcn" - Cell "SuppressErrorStatus" - Cell "ERTCustomFileBanners" - Cell "GenerateSampleERTMain" - Cell "ExistingSharedCode" - Cell "GenerateTestInterfaces" - Cell "ModelStepFunctionPrototypeControlCompliant" - Cell "GenerateAllocFcn" - Cell "PurelyIntegerCode" - Cell "SupportComplex" - Cell "SupportAbsoluteTime" - Cell "SupportContinuousTime" - Cell "SupportNonInlinedSFcns" - Cell "RemoveDisableFunc" - Cell "RemoveResetFunc" - Cell "PreserveStateflowLocalDataDimensions" - PropName "DisabledProps" - } - Description "" - TargetFcnLib "ansi_tfl_table_tmw.mat" - TargetLibSuffix "" - TargetPreCompLibLocation "" - GenFloatMathFcnCalls "NOT IN USE" - TargetLangStandard "C99 (ISO)" - CodeReplacementLibrary "None" - UtilityFuncGeneration "Auto" - MultiwordTypeDef "System defined" - MultiwordLength 2048 - DynamicStringBufferSize 256 - GenerateFullHeader on - InferredTypesCompatibility off - ExistingSharedCode "" - GenerateSampleERTMain off - GenerateTestInterfaces off - ModelReferenceCompliant on - ParMdlRefBuildCompliant on - CompOptLevelCompliant on - ConcurrentExecutionCompliant on - IncludeMdlTerminateFcn on - GeneratePreprocessorConditionals "Use local settings" - CombineOutputUpdateFcns on - CombineSignalStateStructs off - GroupInternalDataByFunction off - SuppressErrorStatus off - IncludeFileDelimiter "Auto" - ERTCustomFileBanners off - SupportAbsoluteTime on - LogVarNameModifier "rt_" - MatFileLogging on - MultiInstanceERTCode off - CodeInterfacePackaging "Nonreusable function" - PurelyIntegerCode off - SupportNonFinite on - SupportComplex on - SupportContinuousTime on - SupportNonInlinedSFcns on - RemoveDisableFunc off - RemoveResetFunc off - SupportVariableSizeSignals off - ParenthesesLevel "Nominal" - CastingMode "Nominal" - PreserveStateflowLocalDataDimensions off - MATLABClassNameForMDSCustomization "Simulink.SoftwareTarget.GRTCustomization" - ModelStepFunctionPrototypeControlCompliant off - CPPClassGenCompliant on - AutosarCompliant off - MDXCompliant off - GRTInterface off - GenerateAllocFcn off - UseToolchainInfoCompliant on - GenerateSharedConstants on - CoderGroups [] - AccessMethods [] - LookupTableObjectStructAxisOrder "1,2,3,4,..." - LUTObjectStructOrderExplicitValues "Size,Breakpoints,Table" - LUTObjectStructOrderEvenSpacing "Size,Breakpoints,Table" - ArrayLayout "Column-major" - UnsupportedSFcnMsg "error" - ERTHeaderFileRootName "$R$E" - ERTSourceFileRootName "$R$E" - ERTDataFileRootName "$R_data" - UseMalloc off - ExtMode off - ExtModeStaticAlloc off - ExtModeTesting off - ExtModeStaticAllocSize 1000000 - ExtModeTransport 0 - ExtModeMexFile "ext_comm" - ExtModeMexArgs "" - ExtModeIntrfLevel "Level1" - RTWCAPISignals off - RTWCAPIParams off - RTWCAPIStates off - RTWCAPIRootIO off - GenerateASAP2 off - MultiInstanceErrorCode "Error" - } - PropName "Components" - } - } - SlCovCC.ConfigComp { - $ObjectID 34 - Version "1.18.1" - DisabledProps [] - Description "Simulink Coverage Configuration Component" - Name "Simulink Coverage" - CovEnable off - CovScope "EntireSystem" - CovIncludeTopModel on - RecordCoverage off - CovPath "/" - CovSaveName "covdata" - CovCompData "" - CovMetricSettings "dwe" - CovFilter "" - CovHTMLOptions "" - CovNameIncrementing off - CovHtmlReporting off - CovForceBlockReductionOff on - CovEnableCumulative on - CovSaveCumulativeToWorkspaceVar off - CovSaveSingleToWorkspaceVar off - CovCumulativeVarName "covCumulativeData" - CovCumulativeReport off - CovSaveOutputData on - CovOutputDir "slcov_output/$ModelName$" - CovDataFileName "$ModelName$_cvdata" - CovShowResultsExplorer on - CovReportOnPause on - CovModelRefEnable "off" - CovModelRefExcluded "" - CovExternalEMLEnable on - CovSFcnEnable on - CovBoundaryAbsTol 1e-05 - CovBoundaryRelTol 0.01 - CovUseTimeInterval off - CovStartTime 0 - CovStopTime 0 - CovMcdcMode "Masking" - } - PropName "Components" - } - Name "Configuration" - ExtraOptions "" - CurrentDlgPage "Solver" - ConfigPrmDlgPosition [ 195, 142, 1085, 882 ] - } - Simulink.ConfigSet { - $ObjectID 35 - Version "1.18.1" - DisabledProps [] - Description "" - Array { - Type "Handle" - Dimension 9 - Simulink.SolverCC { - $ObjectID 36 - Version "1.18.1" - DisabledProps [] - Description "" - StartTime "0.0" - StopTime "TMax" - AbsTol "auto" - AutoScaleAbsTol on - FixedStep "dt" - InitialStep "auto" - MaxOrder 5 - ZcThreshold "auto" - ConsecutiveZCsStepRelTol "10*128*eps" - MaxConsecutiveZCs "1000" - ExtrapolationOrder 4 - NumberNewtonIterations 1 - MaxStep "auto" - MinStep "auto" - MaxConsecutiveMinStep "1" - RelTol "1e-3" - EnableMultiTasking on - ConcurrentTasks off - Solver "ode4" - SolverName "ode4" - SolverJacobianMethodControl "auto" - ShapePreserveControl "DisableAll" - ZeroCrossControl "UseLocalSettings" - ZeroCrossAlgorithm "Nonadaptive" - AlgebraicLoopSolver "TrustRegion" - SolverInfoToggleStatus on - IsAutoAppliedInSIP off - SolverResetMethod "Fast" - PositivePriorityOrder off - AutoInsertRateTranBlk off - SampleTimeConstraint "Unconstrained" - InsertRTBMode "Whenever possible" - SampleTimeProperty [] - DecoupledContinuousIntegration off - MinimalZcImpactIntegration off - } - Simulink.DataIOCC { - $ObjectID 37 - Version "1.18.1" - DisabledProps [] - Description "" - Decimation "1" - ExternalInput "[t, u]" - FinalStateName "xFinal" - InitialState "xInitial" - LimitDataPoints off - MaxDataPoints "1000" - LoadExternalInput off - LoadInitialState off - SaveFinalState off - SaveCompleteFinalSimState off - SaveFormat "Dataset" - SignalLoggingSaveFormat "Dataset" - SaveOutput off - SaveState off - SignalLogging on - DSMLogging on - InspectSignalLogs off - VisualizeSimOutput on - StreamToWorkspace off - StreamVariableName "streamout" - SaveTime off - ReturnWorkspaceOutputs off - StateSaveName "xout" - TimeSaveName "tout" - OutputSaveName "yout" - SignalLoggingName "logsout" - DSMLoggingName "dsmout" - OutputOption "RefineOutputTimes" - OutputTimes "[]" - ReturnWorkspaceOutputsName "out" - Refine "1" - LoggingToFile off - DatasetSignalFormat "timeseries" - LoggingFileName "out.mat" - LoggingIntervals "[-inf, inf]" - } - Simulink.OptimizationCC { - $ObjectID 38 - Version "1.18.1" - Array { - Type "Cell" - Dimension 9 - Cell "BooleansAsBitfields" - Cell "PassReuseOutputArgsAs" - Cell "PassReuseOutputArgsThreshold" - Cell "ZeroExternalMemoryAtStartup" - Cell "ZeroInternalMemoryAtStartup" - Cell "OptimizeModelRefInitCode" - Cell "NoFixptDivByZeroProtection" - Cell "UseSpecifiedMinMax" - Cell "EfficientTunableParamExpr" - PropName "DisabledProps" - } - Description "" - BlockReduction on - BooleanDataType on - ConditionallyExecuteInputs on - DefaultParameterBehavior "Tunable" - UseDivisionForNetSlopeComputation "off" - UseFloatMulNetSlope off - DefaultUnderspecifiedDataType "double" - UseSpecifiedMinMax off - InlineInvariantSignals off - OptimizeBlockIOStorage on - BufferReuse on - EnhancedBackFolding off - CachingGlobalReferences off - GlobalBufferReuse on - StrengthReduction off - AdvancedOptControl "" - ExpressionFolding on - BooleansAsBitfields off - BitfieldContainerType "uint_T" - EnableMemcpy on - MemcpyThreshold 64 - PassReuseOutputArgsAs "Structure reference" - PassReuseOutputArgsThreshold 12 - ExpressionDepthLimit 128 - LocalBlockOutputs on - RollThreshold 5 - StateBitsets off - DataBitsets off - ActiveStateOutputEnumStorageType "Native Integer" - ZeroExternalMemoryAtStartup on - ZeroInternalMemoryAtStartup on - InitFltsAndDblsToZero off - NoFixptDivByZeroProtection off - EfficientFloat2IntCast off - EfficientMapNaN2IntZero on - LifeSpan "auto" - MaxStackSize "Inherit from target" - BufferReusableBoundary on - SimCompilerOptimization "off" - AccelVerboseBuild off - OptimizeBlockOrder "off" - OptimizeDataStoreBuffers on - BusAssignmentInplaceUpdate on - DifferentSizesBufferReuse off - OptimizationLevel "level2" - OptimizationPriority "Balanced" - OptimizationCustomize on - UseRowMajorAlgorithm off - LabelGuidedReuse off - } - Simulink.DebuggingCC { - $ObjectID 39 - Version "1.18.1" - Array { - Type "Cell" - Dimension 1 - Cell "UseOnlyExistingSharedCode" - PropName "DisabledProps" - } - Description "" - RTPrefix "error" - ConsistencyChecking "none" - ArrayBoundsChecking "none" - SignalInfNanChecking "none" - StringTruncationChecking "error" - SignalRangeChecking "none" - ReadBeforeWriteMsg "UseLocalSettings" - WriteAfterWriteMsg "UseLocalSettings" - WriteAfterReadMsg "UseLocalSettings" - AlgebraicLoopMsg "warning" - ArtificialAlgebraicLoopMsg "warning" - SaveWithDisabledLinksMsg "warning" - SaveWithParameterizedLinksMsg "warning" - CheckSSInitialOutputMsg on - UnderspecifiedInitializationDetection "Simplified" - MergeDetectMultiDrivingBlocksExec "error" - CheckExecutionContextPreStartOutputMsg off - CheckExecutionContextRuntimeOutputMsg off - SignalResolutionControl "UseLocalSettings" - BlockPriorityViolationMsg "warning" - MinStepSizeMsg "warning" - TimeAdjustmentMsg "none" - MaxConsecutiveZCsMsg "error" - MaskedZcDiagnostic "warning" - IgnoredZcDiagnostic "warning" - SolverPrmCheckMsg "none" - InheritedTsInSrcMsg "warning" - MultiTaskDSMMsg "error" - MultiTaskCondExecSysMsg "error" - MultiTaskRateTransMsg "error" - SingleTaskRateTransMsg "none" - TasksWithSamePriorityMsg "warning" - ExportedTasksRateTransMsg "none" - SigSpecEnsureSampleTimeMsg "warning" - CheckMatrixSingularityMsg "none" - IntegerOverflowMsg "warning" - Int32ToFloatConvMsg "warning" - ParameterDowncastMsg "error" - ParameterOverflowMsg "error" - ParameterUnderflowMsg "none" - ParameterPrecisionLossMsg "warning" - ParameterTunabilityLossMsg "warning" - FixptConstUnderflowMsg "none" - FixptConstOverflowMsg "none" - FixptConstPrecisionLossMsg "none" - UnderSpecifiedDataTypeMsg "none" - UnnecessaryDatatypeConvMsg "none" - VectorMatrixConversionMsg "none" - InvalidFcnCallConnMsg "error" - FcnCallInpInsideContextMsg "error" - SignalLabelMismatchMsg "none" - UnconnectedInputMsg "warning" - UnconnectedOutputMsg "warning" - UnconnectedLineMsg "warning" - UseOnlyExistingSharedCode "error" - SFcnCompatibilityMsg "none" - FrameProcessingCompatibilityMsg "error" - UniqueDataStoreMsg "none" - BusObjectLabelMismatch "warning" - RootOutportRequireBusObject "warning" - AssertControl "UseLocalSettings" - AllowSymbolicDim on - RowMajorDimensionSupport off - ModelReferenceIOMsg "none" - ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" - ModelReferenceVersionMismatchMessage "none" - ModelReferenceIOMismatchMessage "none" - UnknownTsInhSupMsg "warning" - ModelReferenceDataLoggingMessage "warning" - ModelReferenceSymbolNameMessage "warning" - ModelReferenceExtraNoncontSigs "error" - StateNameClashWarn "none" - SimStateInterfaceChecksumMismatchMsg "warning" - SimStateOlderReleaseMsg "error" - ChecksumConsistencyForSSReuse "none" - LibraryContextMissingDiagnostic "warning" - MatchCodeGenerationContextForUpdateDiagram "none" - InitInArrayFormatMsg "warning" - StrictBusMsg "ErrorLevel1" - BusNameAdapt "WarnAndRepair" - NonBusSignalsTreatedAsBus "none" - SymbolicDimMinMaxWarning "warning" - LossOfSymbolicDimsSimulationWarning "warning" - LossOfSymbolicDimsCodeGenerationWarning "error" - SymbolicDimsDataTypeCodeGenerationDiagnostic "error" - BlockIODiagnostic "none" - SFUnusedDataAndEventsDiag "warning" - SFUnexpectedBacktrackingDiag "error" - SFInvalidInputDataAccessInChartInitDiag "warning" - SFNoUnconditionalDefaultTransitionDiag "error" - SFTransitionOutsideNaturalParentDiag "warning" - SFUnreachableExecutionPathDiag "warning" - SFUndirectedBroadcastEventsDiag "warning" - SFTransitionActionBeforeConditionDiag "warning" - SFOutputUsedAsStateInMooreChartDiag "error" - SFTemporalDelaySmallerThanSampleTimeDiag "warning" - SFSelfTransitionDiag "warning" - SFExecutionAtInitializationDiag "warning" - SFMachineParentedDataDiag "warning" - IntegerSaturationMsg "warning" - AllowedUnitSystems "all" - UnitsInconsistencyMsg "warning" - AllowAutomaticUnitConversions on - RCSCRenamedMsg "warning" - RCSCObservableMsg "warning" - ForceCombineOutputUpdateInSim off - UnitDatabase "" - UnderSpecifiedDimensionMsg "none" - } - Simulink.HardwareCC { - $ObjectID 40 - Version "1.18.1" - DisabledProps [] - Description "" - ProdBitPerChar 8 - ProdBitPerShort 16 - ProdBitPerInt 32 - ProdBitPerLong 32 - ProdBitPerLongLong 64 - ProdBitPerFloat 32 - ProdBitPerDouble 64 - ProdBitPerPointer 64 - ProdBitPerSizeT 64 - ProdBitPerPtrDiffT 64 - ProdLargestAtomicInteger "Char" - ProdLargestAtomicFloat "Float" - ProdIntDivRoundTo "Zero" - ProdEndianess "LittleEndian" - ProdWordSize 64 - ProdShiftRightIntArith on - ProdLongLongMode off - ProdHWDeviceType "Intel->x86-64 (Windows64)" - TargetBitPerChar 8 - TargetBitPerShort 16 - TargetBitPerInt 32 - TargetBitPerLong 32 - TargetBitPerLongLong 64 - TargetBitPerFloat 32 - TargetBitPerDouble 64 - TargetBitPerPointer 32 - TargetBitPerSizeT 32 - TargetBitPerPtrDiffT 32 - TargetLargestAtomicInteger "Char" - TargetLargestAtomicFloat "None" - TargetShiftRightIntArith on - TargetLongLongMode off - TargetIntDivRoundTo "Undefined" - TargetEndianess "Unspecified" - TargetWordSize 32 - TargetPreprocMaxBitsSint 32 - TargetPreprocMaxBitsUint 32 - TargetHWDeviceType "Specified" - TargetUnknown off - ProdEqTarget on - UseEmbeddedCoderFeatures on - UseSimulinkCoderFeatures on - } - Simulink.ModelReferenceCC { - $ObjectID 41 - Version "1.18.1" - DisabledProps [] - Description "" - UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" - EnableRefExpFcnMdlSchedulingChecks on - CheckModelReferenceTargetMessage "error" - EnableParallelModelReferenceBuilds off - ParallelModelReferenceErrorOnInvalidPool on - ParallelModelReferenceMATLABWorkerInit "None" - ModelReferenceNumInstancesAllowed "Multi" - PropagateVarSize "Infer from blocks in model" - ModelDependencies "" - ModelReferencePassRootInputsByReference on - ModelReferenceMinAlgLoopOccurrences off - PropagateSignalLabelsOutOfModel on - SupportModelReferenceSimTargetCustomCode off - } - Simulink.SFSimCC { - $ObjectID 42 - Version "1.18.1" - DisabledProps [] - Description "" - SimCustomSourceCode "" - SimCustomHeaderCode "" - SimCustomInitializer "" - SimCustomTerminator "" - SimReservedNameArray [] - SimUserSources "" - SimUserIncludeDirs "" - SimUserLibraries "" - SimUserDefines "" - SimCustomCompilerFlags "" - SimCustomLinkerFlags "" - SFSimEcho on - SimCtrlC on - SimIntegrity on - SimUseLocalCustomCode off - SimParseCustomCode on - SimAnalyzeCustomCode off - SimBuildMode "sf_incremental_build" - SimGenImportedTypeDefs off - ModelFunctionsGlobalVisibility "on" - CompileTimeRecursionLimit 50 - EnableRuntimeRecursion on - MATLABDynamicMemAlloc on - MATLABDynamicMemAllocThreshold 65536 - CustomCodeFunctionArrayLayout [] - DefaultCustomCodeFunctionArrayLayout "NotSpecified" - } - Simulink.RTWCC { - $BackupClass "Simulink.RTWCC" - $ObjectID 43 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeHyperlinkInReport" - Cell "GenerateTraceInfo" - Cell "GenerateTraceReport" - Cell "GenerateTraceReportSl" - Cell "GenerateTraceReportSf" - Cell "GenerateTraceReportEml" - Cell "PortableWordSizes" - Cell "GenerateWebview" - Cell "GenerateCodeMetricsReport" - Cell "GenerateCodeReplacementReport" - Cell "GenerateMissedCodeReplacementReport" - Cell "GenerateErtSFunction" - Cell "CreateSILPILBlock" - Cell "CodeExecutionProfiling" - Cell "CodeProfilingSaveOptions" - Cell "CodeProfilingInstrumentation" - PropName "DisabledProps" - } - SystemTargetFile "grt.tlc" - HardwareBoard "None" - TLCOptions "" - GenCodeOnly off - MakeCommand "make_rtw" - GenerateMakefile on - PackageGeneratedCodeAndArtifacts off - PackageName "" - TemplateMakefile "grt_default_tmf" - PostCodeGenCommand "" - Description "" - GenerateReport off - RTWVerbose on - RetainRTWFile off - RTWBuildHooks [] - ProfileTLC off - TLCDebug off - TLCCoverage off - TLCAssert off - RTWUseLocalCustomCode off - RTWUseSimCustomCode off - CustomSourceCode "" - CustomHeaderCode "" - CustomInclude "" - CustomSource "" - CustomLibrary "" - CustomDefine "" - CustomBLASCallback "" - CustomLAPACKCallback "" - CustomFFTCallback "" - CustomInitializer "" - CustomTerminator "" - Toolchain "Automatically locate an installed toolchain" - BuildConfiguration "Faster Builds" - CustomToolchainOptions [] - IncludeHyperlinkInReport off - LaunchReport off - PortableWordSizes off - CreateSILPILBlock "None" - CodeExecutionProfiling off - CodeExecutionProfileVariable "executionProfile" - CodeProfilingSaveOptions "SummaryOnly" - CodeProfilingInstrumentation "off" - SILDebugging off - TargetLang "C" - IncludeBusHierarchyInRTWFileBlockHierarchyMap off - GenerateTraceInfo off - GenerateTraceReport off - GenerateTraceReportSl off - GenerateTraceReportSf off - GenerateTraceReportEml off - GenerateWebview off - GenerateCodeMetricsReport off - GenerateCodeReplacementReport off - GenerateMissedCodeReplacementReport off - RTWCompilerOptimization "off" - ObjectivePriorities [] - RTWCustomCompilerOptimizations "" - CheckMdlBeforeBuild "Off" - SharedConstantsCachingThreshold 1024 - Array { - Type "Handle" - Dimension 2 - Simulink.CodeAppCC { - $ObjectID 44 - Version "1.18.1" - Array { - Type "Cell" - Dimension 28 - Cell "IgnoreCustomStorageClasses" - Cell "IgnoreTestpoints" - Cell "InsertBlockDesc" - Cell "InsertPolySpaceComments" - Cell "SFDataObjDesc" - Cell "MATLABFcnDesc" - Cell "SimulinkDataObjDesc" - Cell "DefineNamingRule" - Cell "SignalNamingRule" - Cell "ParamNamingRule" - Cell "InternalIdentifier" - Cell "InlinedPrmAccess" - Cell "CustomSymbolStr" - Cell "CustomSymbolStrGlobalVar" - Cell "CustomSymbolStrType" - Cell "CustomSymbolStrField" - Cell "CustomSymbolStrFcn" - Cell "CustomSymbolStrModelFcn" - Cell "CustomSymbolStrFcnArg" - Cell "CustomSymbolStrBlkIO" - Cell "CustomSymbolStrTmpVar" - Cell "CustomSymbolStrMacro" - Cell "CustomSymbolStrUtil" - Cell "CustomUserTokenString" - Cell "ReqsInCode" - Cell "BlockCommentType" - Cell "CustomSymbolStrEmxType" - Cell "CustomSymbolStrEmxFcn" - PropName "DisabledProps" - } - Description "" - Comment "" - ForceParamTrailComments off - GenerateComments on - CommentStyle "Auto" - IgnoreCustomStorageClasses on - IgnoreTestpoints off - MaxIdLength 31 - PreserveName off - PreserveNameWithParent off - ShowEliminatedStatement off - OperatorAnnotations off - SimulinkDataObjDesc off - SFDataObjDesc off - MATLABFcnDesc off - MangleLength 1 - SharedChecksumLength 8 - CustomSymbolStrGlobalVar "$R$N$M" - CustomSymbolStrType "$N$R$M_T" - CustomSymbolStrField "$N$M" - CustomSymbolStrFcn "$R$N$M$F" - CustomSymbolStrModelFcn "$R$N" - CustomSymbolStrFcnArg "rt$I$N$M" - CustomSymbolStrBlkIO "rtb_$N$M" - CustomSymbolStrTmpVar "$N$M" - CustomSymbolStrMacro "$R$N$M" - CustomSymbolStrUtil "$N$C" - CustomSymbolStrEmxType "emxArray_$M$N" - CustomSymbolStrEmxFcn "emx$M$N" - CustomUserTokenString "" - CustomCommentsFcn "" - DefineNamingRule "None" - DefineNamingFcn "" - ParamNamingRule "None" - ParamNamingFcn "" - SignalNamingRule "None" - SignalNamingFcn "" - InsertBlockDesc off - InsertPolySpaceComments off - SimulinkBlockComments on - BlockCommentType "BlockPathComment" - StateflowObjectComments on - MATLABSourceComments off - EnableCustomComments off - InternalIdentifierFile "" - InternalIdentifier "Shortened" - InlinedPrmAccess "Literals" - ReqsInCode off - UseSimReservedNames off - ReservedNameArray [] - } - Simulink.GRTTargetCC { - $BackupClass "Simulink.TargetCC" - $ObjectID 45 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeMdlTerminateFcn" - Cell "SuppressErrorStatus" - Cell "ERTCustomFileBanners" - Cell "GenerateSampleERTMain" - Cell "ExistingSharedCode" - Cell "GenerateTestInterfaces" - Cell "ModelStepFunctionPrototypeControlCompliant" - Cell "GenerateAllocFcn" - Cell "PurelyIntegerCode" - Cell "SupportComplex" - Cell "SupportAbsoluteTime" - Cell "SupportContinuousTime" - Cell "SupportNonInlinedSFcns" - Cell "RemoveDisableFunc" - Cell "RemoveResetFunc" - Cell "PreserveStateflowLocalDataDimensions" - PropName "DisabledProps" - } - Description "" - TargetFcnLib "ansi_tfl_table_tmw.mat" - TargetLibSuffix "" - TargetPreCompLibLocation "" - GenFloatMathFcnCalls "NOT IN USE" - TargetLangStandard "C99 (ISO)" - CodeReplacementLibrary "None" - UtilityFuncGeneration "Auto" - MultiwordTypeDef "System defined" - MultiwordLength 2048 - DynamicStringBufferSize 256 - GenerateFullHeader on - InferredTypesCompatibility off - ExistingSharedCode "" - GenerateSampleERTMain off - GenerateTestInterfaces off - ModelReferenceCompliant on - ParMdlRefBuildCompliant on - CompOptLevelCompliant on - ConcurrentExecutionCompliant on - IncludeMdlTerminateFcn on - GeneratePreprocessorConditionals "Use local settings" - CombineOutputUpdateFcns on - CombineSignalStateStructs off - GroupInternalDataByFunction off - SuppressErrorStatus off - IncludeFileDelimiter "Auto" - ERTCustomFileBanners off - SupportAbsoluteTime on - LogVarNameModifier "rt_" - MatFileLogging on - MultiInstanceERTCode off - CodeInterfacePackaging "Nonreusable function" - PurelyIntegerCode off - SupportNonFinite on - SupportComplex on - SupportContinuousTime on - SupportNonInlinedSFcns on - RemoveDisableFunc off - RemoveResetFunc off - SupportVariableSizeSignals off - ParenthesesLevel "Nominal" - CastingMode "Nominal" - PreserveStateflowLocalDataDimensions off - MATLABClassNameForMDSCustomization "Simulink.SoftwareTarget.GRTCustomization" - ModelStepFunctionPrototypeControlCompliant off - CPPClassGenCompliant on - AutosarCompliant off - MDXCompliant off - GRTInterface off - GenerateAllocFcn off - UseToolchainInfoCompliant on - GenerateSharedConstants on - CoderGroups [] - AccessMethods [] - LookupTableObjectStructAxisOrder "1,2,3,4,..." - LUTObjectStructOrderExplicitValues "Size,Breakpoints,Table" - LUTObjectStructOrderEvenSpacing "Size,Breakpoints,Table" - ArrayLayout "Column-major" - UnsupportedSFcnMsg "error" - ERTHeaderFileRootName "$R$E" - ERTSourceFileRootName "$R$E" - ERTDataFileRootName "$R_data" - UseMalloc off - ExtMode off - ExtModeStaticAlloc off - ExtModeTesting off - ExtModeStaticAllocSize 1000000 - ExtModeTransport 0 - ExtModeMexFile "ext_comm" - ExtModeMexArgs "" - ExtModeIntrfLevel "Level1" - RTWCAPISignals off - RTWCAPIParams off - RTWCAPIStates off - RTWCAPIRootIO off - GenerateASAP2 off - MultiInstanceErrorCode "Error" - } - PropName "Components" - } - } - SlCovCC.ConfigComp { - $ObjectID 46 - Version "1.18.1" - DisabledProps [] - Description "Simulink Coverage Configuration Component" - Name "Simulink Coverage" - CovEnable off - CovScope "EntireSystem" - CovIncludeTopModel on - RecordCoverage off - CovPath "/" - CovSaveName "covdata" - CovCompData "" - CovMetricSettings "dwe" - CovFilter "" - CovHTMLOptions "" - CovNameIncrementing off - CovHtmlReporting off - CovForceBlockReductionOff on - CovEnableCumulative on - CovSaveCumulativeToWorkspaceVar off - CovSaveSingleToWorkspaceVar off - CovCumulativeVarName "covCumulativeData" - CovCumulativeReport off - CovSaveOutputData on - CovOutputDir "slcov_output/$ModelName$" - CovDataFileName "$ModelName$_cvdata" - CovShowResultsExplorer on - CovReportOnPause on - CovModelRefEnable "off" - CovModelRefExcluded "" - CovExternalEMLEnable on - CovSFcnEnable on - CovBoundaryAbsTol 1e-05 - CovBoundaryRelTol 0.01 - CovUseTimeInterval off - CovStartTime 0 - CovStopTime 0 - CovMcdcMode "Masking" - } - PropName "Components" - } - Name "Configuration1" - ExtraOptions "" - CurrentDlgPage "Solver" - ConfigPrmDlgPosition [ 321, 58, 1211, 798 ] - } - Simulink.ConfigSet { - $ObjectID 47 - Version "1.18.1" - DisabledProps [] - Description "" - Array { - Type "Handle" - Dimension 9 - Simulink.SolverCC { - $ObjectID 48 - Version "1.18.1" - DisabledProps [] - Description "" - StartTime "0.0" - StopTime "TMax" - AbsTol "auto" - AutoScaleAbsTol on - FixedStep "dt" - InitialStep "auto" - MaxOrder 5 - ZcThreshold "auto" - ConsecutiveZCsStepRelTol "10*128*eps" - MaxConsecutiveZCs "1000" - ExtrapolationOrder 4 - NumberNewtonIterations 1 - MaxStep "auto" - MinStep "auto" - MaxConsecutiveMinStep "1" - RelTol "1e-3" - EnableMultiTasking on - ConcurrentTasks off - Solver "FixedStepDiscrete" - SolverName "FixedStepDiscrete" - SolverJacobianMethodControl "auto" - ShapePreserveControl "DisableAll" - ZeroCrossControl "UseLocalSettings" - ZeroCrossAlgorithm "Nonadaptive" - AlgebraicLoopSolver "TrustRegion" - SolverInfoToggleStatus on - IsAutoAppliedInSIP off - SolverResetMethod "Fast" - PositivePriorityOrder off - AutoInsertRateTranBlk off - SampleTimeConstraint "Unconstrained" - InsertRTBMode "Whenever possible" - SampleTimeProperty [] - DecoupledContinuousIntegration off - MinimalZcImpactIntegration off - } - Simulink.DataIOCC { - $ObjectID 49 - Version "1.18.1" - DisabledProps [] - Description "" - Decimation "1" - ExternalInput "[t, u]" - FinalStateName "xFinal" - InitialState "xInitial" - LimitDataPoints off - MaxDataPoints "1000" - LoadExternalInput off - LoadInitialState off - SaveFinalState off - SaveCompleteFinalSimState off - SaveFormat "Dataset" - SignalLoggingSaveFormat "Dataset" - SaveOutput off - SaveState off - SignalLogging on - DSMLogging on - InspectSignalLogs off - VisualizeSimOutput on - StreamToWorkspace off - StreamVariableName "streamout" - SaveTime off - ReturnWorkspaceOutputs off - StateSaveName "xout" - TimeSaveName "tout" - OutputSaveName "yout" - SignalLoggingName "logsout" - DSMLoggingName "dsmout" - OutputOption "RefineOutputTimes" - OutputTimes "[]" - ReturnWorkspaceOutputsName "out" - Refine "1" - LoggingToFile off - DatasetSignalFormat "timeseries" - LoggingFileName "out.mat" - LoggingIntervals "[-inf, inf]" - } - Simulink.OptimizationCC { - $ObjectID 50 - Version "1.18.1" - Array { - Type "Cell" - Dimension 9 - Cell "BooleansAsBitfields" - Cell "PassReuseOutputArgsAs" - Cell "PassReuseOutputArgsThreshold" - Cell "ZeroExternalMemoryAtStartup" - Cell "ZeroInternalMemoryAtStartup" - Cell "OptimizeModelRefInitCode" - Cell "NoFixptDivByZeroProtection" - Cell "UseSpecifiedMinMax" - Cell "EfficientTunableParamExpr" - PropName "DisabledProps" - } - Description "" - BlockReduction on - BooleanDataType on - ConditionallyExecuteInputs on - DefaultParameterBehavior "Tunable" - UseDivisionForNetSlopeComputation "off" - UseFloatMulNetSlope off - DefaultUnderspecifiedDataType "double" - UseSpecifiedMinMax off - InlineInvariantSignals off - OptimizeBlockIOStorage on - BufferReuse on - EnhancedBackFolding off - CachingGlobalReferences off - GlobalBufferReuse on - StrengthReduction off - AdvancedOptControl "" - ExpressionFolding on - BooleansAsBitfields off - BitfieldContainerType "uint_T" - EnableMemcpy on - MemcpyThreshold 64 - PassReuseOutputArgsAs "Structure reference" - PassReuseOutputArgsThreshold 12 - ExpressionDepthLimit 128 - LocalBlockOutputs on - RollThreshold 5 - StateBitsets off - DataBitsets off - ActiveStateOutputEnumStorageType "Native Integer" - ZeroExternalMemoryAtStartup on - ZeroInternalMemoryAtStartup on - InitFltsAndDblsToZero off - NoFixptDivByZeroProtection off - EfficientFloat2IntCast off - EfficientMapNaN2IntZero on - LifeSpan "auto" - MaxStackSize "Inherit from target" - BufferReusableBoundary on - SimCompilerOptimization "off" - AccelVerboseBuild off - OptimizeBlockOrder "off" - OptimizeDataStoreBuffers on - BusAssignmentInplaceUpdate on - DifferentSizesBufferReuse off - OptimizationLevel "level2" - OptimizationPriority "Balanced" - OptimizationCustomize on - UseRowMajorAlgorithm off - LabelGuidedReuse off - } - Simulink.DebuggingCC { - $ObjectID 51 - Version "1.18.1" - Array { - Type "Cell" - Dimension 1 - Cell "UseOnlyExistingSharedCode" - PropName "DisabledProps" - } - Description "" - RTPrefix "error" - ConsistencyChecking "none" - ArrayBoundsChecking "none" - SignalInfNanChecking "none" - StringTruncationChecking "error" - SignalRangeChecking "none" - ReadBeforeWriteMsg "UseLocalSettings" - WriteAfterWriteMsg "UseLocalSettings" - WriteAfterReadMsg "UseLocalSettings" - AlgebraicLoopMsg "warning" - ArtificialAlgebraicLoopMsg "warning" - SaveWithDisabledLinksMsg "warning" - SaveWithParameterizedLinksMsg "warning" - CheckSSInitialOutputMsg on - UnderspecifiedInitializationDetection "Simplified" - MergeDetectMultiDrivingBlocksExec "error" - CheckExecutionContextPreStartOutputMsg off - CheckExecutionContextRuntimeOutputMsg off - SignalResolutionControl "UseLocalSettings" - BlockPriorityViolationMsg "warning" - MinStepSizeMsg "warning" - TimeAdjustmentMsg "none" - MaxConsecutiveZCsMsg "error" - MaskedZcDiagnostic "warning" - IgnoredZcDiagnostic "warning" - SolverPrmCheckMsg "none" - InheritedTsInSrcMsg "warning" - MultiTaskDSMMsg "error" - MultiTaskCondExecSysMsg "error" - MultiTaskRateTransMsg "error" - SingleTaskRateTransMsg "none" - TasksWithSamePriorityMsg "warning" - ExportedTasksRateTransMsg "none" - SigSpecEnsureSampleTimeMsg "warning" - CheckMatrixSingularityMsg "none" - IntegerOverflowMsg "warning" - Int32ToFloatConvMsg "warning" - ParameterDowncastMsg "error" - ParameterOverflowMsg "error" - ParameterUnderflowMsg "none" - ParameterPrecisionLossMsg "warning" - ParameterTunabilityLossMsg "warning" - FixptConstUnderflowMsg "none" - FixptConstOverflowMsg "none" - FixptConstPrecisionLossMsg "none" - UnderSpecifiedDataTypeMsg "none" - UnnecessaryDatatypeConvMsg "none" - VectorMatrixConversionMsg "none" - InvalidFcnCallConnMsg "error" - FcnCallInpInsideContextMsg "error" - SignalLabelMismatchMsg "none" - UnconnectedInputMsg "warning" - UnconnectedOutputMsg "warning" - UnconnectedLineMsg "warning" - UseOnlyExistingSharedCode "error" - SFcnCompatibilityMsg "none" - FrameProcessingCompatibilityMsg "error" - UniqueDataStoreMsg "none" - BusObjectLabelMismatch "warning" - RootOutportRequireBusObject "warning" - AssertControl "UseLocalSettings" - AllowSymbolicDim on - RowMajorDimensionSupport off - ModelReferenceIOMsg "none" - ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" - ModelReferenceVersionMismatchMessage "none" - ModelReferenceIOMismatchMessage "none" - UnknownTsInhSupMsg "warning" - ModelReferenceDataLoggingMessage "warning" - ModelReferenceSymbolNameMessage "warning" - ModelReferenceExtraNoncontSigs "error" - StateNameClashWarn "none" - SimStateInterfaceChecksumMismatchMsg "warning" - SimStateOlderReleaseMsg "error" - ChecksumConsistencyForSSReuse "none" - LibraryContextMissingDiagnostic "warning" - MatchCodeGenerationContextForUpdateDiagram "none" - InitInArrayFormatMsg "warning" - StrictBusMsg "ErrorLevel1" - BusNameAdapt "WarnAndRepair" - NonBusSignalsTreatedAsBus "none" - SymbolicDimMinMaxWarning "warning" - LossOfSymbolicDimsSimulationWarning "warning" - LossOfSymbolicDimsCodeGenerationWarning "error" - SymbolicDimsDataTypeCodeGenerationDiagnostic "error" - BlockIODiagnostic "none" - SFUnusedDataAndEventsDiag "warning" - SFUnexpectedBacktrackingDiag "error" - SFInvalidInputDataAccessInChartInitDiag "warning" - SFNoUnconditionalDefaultTransitionDiag "error" - SFTransitionOutsideNaturalParentDiag "warning" - SFUnreachableExecutionPathDiag "warning" - SFUndirectedBroadcastEventsDiag "warning" - SFTransitionActionBeforeConditionDiag "warning" - SFOutputUsedAsStateInMooreChartDiag "error" - SFTemporalDelaySmallerThanSampleTimeDiag "warning" - SFSelfTransitionDiag "warning" - SFExecutionAtInitializationDiag "warning" - SFMachineParentedDataDiag "warning" - IntegerSaturationMsg "warning" - AllowedUnitSystems "all" - UnitsInconsistencyMsg "warning" - AllowAutomaticUnitConversions on - RCSCRenamedMsg "warning" - RCSCObservableMsg "warning" - ForceCombineOutputUpdateInSim off - UnitDatabase "" - UnderSpecifiedDimensionMsg "none" - } - Simulink.HardwareCC { - $ObjectID 52 - Version "1.18.1" - DisabledProps [] - Description "" - ProdBitPerChar 8 - ProdBitPerShort 16 - ProdBitPerInt 32 - ProdBitPerLong 32 - ProdBitPerLongLong 64 - ProdBitPerFloat 32 - ProdBitPerDouble 64 - ProdBitPerPointer 64 - ProdBitPerSizeT 64 - ProdBitPerPtrDiffT 64 - ProdLargestAtomicInteger "Char" - ProdLargestAtomicFloat "Float" - ProdIntDivRoundTo "Zero" - ProdEndianess "LittleEndian" - ProdWordSize 64 - ProdShiftRightIntArith on - ProdLongLongMode off - ProdHWDeviceType "Intel->x86-64 (Windows64)" - TargetBitPerChar 8 - TargetBitPerShort 16 - TargetBitPerInt 32 - TargetBitPerLong 32 - TargetBitPerLongLong 64 - TargetBitPerFloat 32 - TargetBitPerDouble 64 - TargetBitPerPointer 32 - TargetBitPerSizeT 32 - TargetBitPerPtrDiffT 32 - TargetLargestAtomicInteger "Char" - TargetLargestAtomicFloat "None" - TargetShiftRightIntArith on - TargetLongLongMode off - TargetIntDivRoundTo "Undefined" - TargetEndianess "Unspecified" - TargetWordSize 32 - TargetPreprocMaxBitsSint 32 - TargetPreprocMaxBitsUint 32 - TargetHWDeviceType "Specified" - TargetUnknown off - ProdEqTarget on - UseEmbeddedCoderFeatures on - UseSimulinkCoderFeatures on - } - Simulink.ModelReferenceCC { - $ObjectID 53 - Version "1.18.1" - DisabledProps [] - Description "" - UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" - EnableRefExpFcnMdlSchedulingChecks on - CheckModelReferenceTargetMessage "error" - EnableParallelModelReferenceBuilds off - ParallelModelReferenceErrorOnInvalidPool on - ParallelModelReferenceMATLABWorkerInit "None" - ModelReferenceNumInstancesAllowed "Multi" - PropagateVarSize "Infer from blocks in model" - ModelDependencies "" - ModelReferencePassRootInputsByReference on - ModelReferenceMinAlgLoopOccurrences off - PropagateSignalLabelsOutOfModel on - SupportModelReferenceSimTargetCustomCode off - } - Simulink.SFSimCC { - $ObjectID 54 - Version "1.18.1" - DisabledProps [] - Description "" - SimCustomSourceCode "" - SimCustomHeaderCode "" - SimCustomInitializer "" - SimCustomTerminator "" - SimReservedNameArray [] - SimUserSources "" - SimUserIncludeDirs "" - SimUserLibraries "" - SimUserDefines "" - SimCustomCompilerFlags "" - SimCustomLinkerFlags "" - SFSimEcho on - SimCtrlC on - SimIntegrity on - SimUseLocalCustomCode off - SimParseCustomCode on - SimAnalyzeCustomCode off - SimBuildMode "sf_incremental_build" - SimGenImportedTypeDefs off - ModelFunctionsGlobalVisibility "on" - CompileTimeRecursionLimit 50 - EnableRuntimeRecursion on - MATLABDynamicMemAlloc on - MATLABDynamicMemAllocThreshold 65536 - CustomCodeFunctionArrayLayout [] - DefaultCustomCodeFunctionArrayLayout "NotSpecified" - } - Simulink.RTWCC { - $BackupClass "Simulink.RTWCC" - $ObjectID 55 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeHyperlinkInReport" - Cell "GenerateTraceInfo" - Cell "GenerateTraceReport" - Cell "GenerateTraceReportSl" - Cell "GenerateTraceReportSf" - Cell "GenerateTraceReportEml" - Cell "PortableWordSizes" - Cell "GenerateWebview" - Cell "GenerateCodeMetricsReport" - Cell "GenerateCodeReplacementReport" - Cell "GenerateMissedCodeReplacementReport" - Cell "GenerateErtSFunction" - Cell "CreateSILPILBlock" - Cell "CodeExecutionProfiling" - Cell "CodeProfilingSaveOptions" - Cell "CodeProfilingInstrumentation" - PropName "DisabledProps" - } - SystemTargetFile "grt.tlc" - HardwareBoard "None" - TLCOptions "" - GenCodeOnly off - MakeCommand "make_rtw" - GenerateMakefile on - PackageGeneratedCodeAndArtifacts off - PackageName "" - TemplateMakefile "grt_default_tmf" - PostCodeGenCommand "" - Description "" - GenerateReport off - RTWVerbose on - RetainRTWFile off - RTWBuildHooks [] - ProfileTLC off - TLCDebug off - TLCCoverage off - TLCAssert off - RTWUseLocalCustomCode off - RTWUseSimCustomCode off - CustomSourceCode "" - CustomHeaderCode "" - CustomInclude "" - CustomSource "" - CustomLibrary "" - CustomDefine "" - CustomBLASCallback "" - CustomLAPACKCallback "" - CustomFFTCallback "" - CustomInitializer "" - CustomTerminator "" - Toolchain "Automatically locate an installed toolchain" - BuildConfiguration "Faster Builds" - CustomToolchainOptions [] - IncludeHyperlinkInReport off - LaunchReport off - PortableWordSizes off - CreateSILPILBlock "None" - CodeExecutionProfiling off - CodeExecutionProfileVariable "executionProfile" - CodeProfilingSaveOptions "SummaryOnly" - CodeProfilingInstrumentation "off" - SILDebugging off - TargetLang "C" - IncludeBusHierarchyInRTWFileBlockHierarchyMap off - GenerateTraceInfo off - GenerateTraceReport off - GenerateTraceReportSl off - GenerateTraceReportSf off - GenerateTraceReportEml off - GenerateWebview off - GenerateCodeMetricsReport off - GenerateCodeReplacementReport off - GenerateMissedCodeReplacementReport off - RTWCompilerOptimization "off" - ObjectivePriorities [] - RTWCustomCompilerOptimizations "" - CheckMdlBeforeBuild "Off" - SharedConstantsCachingThreshold 1024 - Array { - Type "Handle" - Dimension 2 - Simulink.CodeAppCC { - $ObjectID 56 - Version "1.18.1" - Array { - Type "Cell" - Dimension 28 - Cell "IgnoreCustomStorageClasses" - Cell "IgnoreTestpoints" - Cell "InsertBlockDesc" - Cell "InsertPolySpaceComments" - Cell "SFDataObjDesc" - Cell "MATLABFcnDesc" - Cell "SimulinkDataObjDesc" - Cell "DefineNamingRule" - Cell "SignalNamingRule" - Cell "ParamNamingRule" - Cell "InternalIdentifier" - Cell "InlinedPrmAccess" - Cell "CustomSymbolStr" - Cell "CustomSymbolStrGlobalVar" - Cell "CustomSymbolStrType" - Cell "CustomSymbolStrField" - Cell "CustomSymbolStrFcn" - Cell "CustomSymbolStrModelFcn" - Cell "CustomSymbolStrFcnArg" - Cell "CustomSymbolStrBlkIO" - Cell "CustomSymbolStrTmpVar" - Cell "CustomSymbolStrMacro" - Cell "CustomSymbolStrUtil" - Cell "CustomUserTokenString" - Cell "ReqsInCode" - Cell "BlockCommentType" - Cell "CustomSymbolStrEmxType" - Cell "CustomSymbolStrEmxFcn" - PropName "DisabledProps" - } - Description "" - Comment "" - ForceParamTrailComments off - GenerateComments on - CommentStyle "Auto" - IgnoreCustomStorageClasses on - IgnoreTestpoints off - MaxIdLength 31 - PreserveName off - PreserveNameWithParent off - ShowEliminatedStatement off - OperatorAnnotations off - SimulinkDataObjDesc off - SFDataObjDesc off - MATLABFcnDesc off - MangleLength 1 - SharedChecksumLength 8 - CustomSymbolStrGlobalVar "$R$N$M" - CustomSymbolStrType "$N$R$M_T" - CustomSymbolStrField "$N$M" - CustomSymbolStrFcn "$R$N$M$F" - CustomSymbolStrModelFcn "$R$N" - CustomSymbolStrFcnArg "rt$I$N$M" - CustomSymbolStrBlkIO "rtb_$N$M" - CustomSymbolStrTmpVar "$N$M" - CustomSymbolStrMacro "$R$N$M" - CustomSymbolStrUtil "$N$C" - CustomSymbolStrEmxType "emxArray_$M$N" - CustomSymbolStrEmxFcn "emx$M$N" - CustomUserTokenString "" - CustomCommentsFcn "" - DefineNamingRule "None" - DefineNamingFcn "" - ParamNamingRule "None" - ParamNamingFcn "" - SignalNamingRule "None" - SignalNamingFcn "" - InsertBlockDesc off - InsertPolySpaceComments off - SimulinkBlockComments on - BlockCommentType "BlockPathComment" - StateflowObjectComments on - MATLABSourceComments off - EnableCustomComments off - InternalIdentifierFile "" - InternalIdentifier "Shortened" - InlinedPrmAccess "Literals" - ReqsInCode off - UseSimReservedNames off - ReservedNameArray [] - } - Simulink.GRTTargetCC { - $BackupClass "Simulink.TargetCC" - $ObjectID 57 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeMdlTerminateFcn" - Cell "SuppressErrorStatus" - Cell "ERTCustomFileBanners" - Cell "GenerateSampleERTMain" - Cell "ExistingSharedCode" - Cell "GenerateTestInterfaces" - Cell "ModelStepFunctionPrototypeControlCompliant" - Cell "GenerateAllocFcn" - Cell "PurelyIntegerCode" - Cell "SupportComplex" - Cell "SupportAbsoluteTime" - Cell "SupportContinuousTime" - Cell "SupportNonInlinedSFcns" - Cell "RemoveDisableFunc" - Cell "RemoveResetFunc" - Cell "PreserveStateflowLocalDataDimensions" - PropName "DisabledProps" - } - Description "" - TargetFcnLib "ansi_tfl_table_tmw.mat" - TargetLibSuffix "" - TargetPreCompLibLocation "" - GenFloatMathFcnCalls "NOT IN USE" - TargetLangStandard "C99 (ISO)" - CodeReplacementLibrary "None" - UtilityFuncGeneration "Auto" - MultiwordTypeDef "System defined" - MultiwordLength 2048 - DynamicStringBufferSize 256 - GenerateFullHeader on - InferredTypesCompatibility off - ExistingSharedCode "" - GenerateSampleERTMain off - GenerateTestInterfaces off - ModelReferenceCompliant on - ParMdlRefBuildCompliant on - CompOptLevelCompliant on - ConcurrentExecutionCompliant on - IncludeMdlTerminateFcn on - GeneratePreprocessorConditionals "Use local settings" - CombineOutputUpdateFcns on - CombineSignalStateStructs off - GroupInternalDataByFunction off - SuppressErrorStatus off - IncludeFileDelimiter "Auto" - ERTCustomFileBanners off - SupportAbsoluteTime on - LogVarNameModifier "rt_" - MatFileLogging on - MultiInstanceERTCode off - CodeInterfacePackaging "Nonreusable function" - PurelyIntegerCode off - SupportNonFinite on - SupportComplex on - SupportContinuousTime on - SupportNonInlinedSFcns on - RemoveDisableFunc off - RemoveResetFunc off - SupportVariableSizeSignals off - ParenthesesLevel "Nominal" - CastingMode "Nominal" - PreserveStateflowLocalDataDimensions off - MATLABClassNameForMDSCustomization "Simulink.SoftwareTarget.GRTCustomization" - ModelStepFunctionPrototypeControlCompliant off - CPPClassGenCompliant on - AutosarCompliant off - MDXCompliant off - GRTInterface off - GenerateAllocFcn off - UseToolchainInfoCompliant on - GenerateSharedConstants on - CoderGroups [] - AccessMethods [] - LookupTableObjectStructAxisOrder "1,2,3,4,..." - LUTObjectStructOrderExplicitValues "Size,Breakpoints,Table" - LUTObjectStructOrderEvenSpacing "Size,Breakpoints,Table" - ArrayLayout "Column-major" - UnsupportedSFcnMsg "error" - ERTHeaderFileRootName "$R$E" - ERTSourceFileRootName "$R$E" - ERTDataFileRootName "$R_data" - UseMalloc off - ExtMode off - ExtModeStaticAlloc off - ExtModeTesting off - ExtModeStaticAllocSize 1000000 - ExtModeTransport 0 - ExtModeMexFile "ext_comm" - ExtModeMexArgs "" - ExtModeIntrfLevel "Level1" - RTWCAPISignals off - RTWCAPIParams off - RTWCAPIStates off - RTWCAPIRootIO off - GenerateASAP2 off - MultiInstanceErrorCode "Error" - } - PropName "Components" - } - } - SlCovCC.ConfigComp { - $ObjectID 58 - Version "1.18.1" - DisabledProps [] - Description "Simulink Coverage Configuration Component" - Name "Simulink Coverage" - CovEnable off - CovScope "EntireSystem" - CovIncludeTopModel on - RecordCoverage off - CovPath "/" - CovSaveName "covdata" - CovCompData "" - CovMetricSettings "dwe" - CovFilter "" - CovHTMLOptions "" - CovNameIncrementing off - CovHtmlReporting off - CovForceBlockReductionOff on - CovEnableCumulative on - CovSaveCumulativeToWorkspaceVar off - CovSaveSingleToWorkspaceVar off - CovCumulativeVarName "covCumulativeData" - CovCumulativeReport off - CovSaveOutputData on - CovOutputDir "slcov_output/$ModelName$" - CovDataFileName "$ModelName$_cvdata" - CovShowResultsExplorer on - CovReportOnPause on - CovModelRefEnable "off" - CovModelRefExcluded "" - CovExternalEMLEnable on - CovSFcnEnable on - CovBoundaryAbsTol 1e-05 - CovBoundaryRelTol 0.01 - CovUseTimeInterval off - CovStartTime 0 - CovStopTime 0 - CovMcdcMode "Masking" - } - PropName "Components" - } - Name "Configuration2" - ExtraOptions "" - CurrentDlgPage "Solver" - ConfigPrmDlgPosition [ 321, 71, 1211, 811 ] - } - Simulink.ConfigSet { - $ObjectID 59 - Version "1.18.1" - DisabledProps [] - Description "" - Array { - Type "Handle" - Dimension 9 - Simulink.SolverCC { - $ObjectID 60 - Version "1.18.1" - DisabledProps [] - Description "" - StartTime "0.0" - StopTime "TMax" - AbsTol "auto" - AutoScaleAbsTol on - FixedStep "dt" - InitialStep "auto" - MaxOrder 5 - ZcThreshold "auto" - ConsecutiveZCsStepRelTol "10*128*eps" - MaxConsecutiveZCs "1000" - ExtrapolationOrder 4 - NumberNewtonIterations 1 - MaxStep "auto" - MinStep "auto" - MaxConsecutiveMinStep "1" - RelTol "1e-3" - EnableMultiTasking on - ConcurrentTasks off - Solver "FixedStepDiscrete" - SolverName "FixedStepDiscrete" - SolverJacobianMethodControl "auto" - ShapePreserveControl "DisableAll" - ZeroCrossControl "UseLocalSettings" - ZeroCrossAlgorithm "Nonadaptive" - AlgebraicLoopSolver "TrustRegion" - SolverInfoToggleStatus on - IsAutoAppliedInSIP off - SolverResetMethod "Fast" - PositivePriorityOrder off - AutoInsertRateTranBlk off - SampleTimeConstraint "Unconstrained" - InsertRTBMode "Whenever possible" - SampleTimeProperty [] - DecoupledContinuousIntegration off - MinimalZcImpactIntegration off - } - Simulink.DataIOCC { - $ObjectID 61 - Version "1.18.1" - DisabledProps [] - Description "" - Decimation "1" - ExternalInput "[t, u]" - FinalStateName "xFinal" - InitialState "xInitial" - LimitDataPoints off - MaxDataPoints "1000" - LoadExternalInput off - LoadInitialState off - SaveFinalState off - SaveCompleteFinalSimState off - SaveFormat "Dataset" - SignalLoggingSaveFormat "Dataset" - SaveOutput off - SaveState off - SignalLogging on - DSMLogging on - InspectSignalLogs off - VisualizeSimOutput on - StreamToWorkspace off - StreamVariableName "streamout" - SaveTime off - ReturnWorkspaceOutputs off - StateSaveName "xout" - TimeSaveName "tout" - OutputSaveName "yout" - SignalLoggingName "logsout" - DSMLoggingName "dsmout" - OutputOption "RefineOutputTimes" - OutputTimes "[]" - ReturnWorkspaceOutputsName "out" - Refine "1" - LoggingToFile off - DatasetSignalFormat "timeseries" - LoggingFileName "out.mat" - LoggingIntervals "[-inf, inf]" - } - Simulink.OptimizationCC { - $ObjectID 62 - Version "1.18.1" - Array { - Type "Cell" - Dimension 9 - Cell "BooleansAsBitfields" - Cell "PassReuseOutputArgsAs" - Cell "PassReuseOutputArgsThreshold" - Cell "ZeroExternalMemoryAtStartup" - Cell "ZeroInternalMemoryAtStartup" - Cell "OptimizeModelRefInitCode" - Cell "NoFixptDivByZeroProtection" - Cell "UseSpecifiedMinMax" - Cell "EfficientTunableParamExpr" - PropName "DisabledProps" - } - Description "" - BlockReduction on - BooleanDataType on - ConditionallyExecuteInputs on - DefaultParameterBehavior "Tunable" - UseDivisionForNetSlopeComputation "off" - UseFloatMulNetSlope off - DefaultUnderspecifiedDataType "double" - UseSpecifiedMinMax off - InlineInvariantSignals off - OptimizeBlockIOStorage on - BufferReuse on - EnhancedBackFolding off - CachingGlobalReferences off - GlobalBufferReuse on - StrengthReduction off - AdvancedOptControl "" - ExpressionFolding on - BooleansAsBitfields off - BitfieldContainerType "uint_T" - EnableMemcpy on - MemcpyThreshold 64 - PassReuseOutputArgsAs "Structure reference" - PassReuseOutputArgsThreshold 12 - ExpressionDepthLimit 128 - LocalBlockOutputs on - RollThreshold 5 - StateBitsets off - DataBitsets off - ActiveStateOutputEnumStorageType "Native Integer" - ZeroExternalMemoryAtStartup on - ZeroInternalMemoryAtStartup on - InitFltsAndDblsToZero off - NoFixptDivByZeroProtection off - EfficientFloat2IntCast off - EfficientMapNaN2IntZero on - LifeSpan "auto" - MaxStackSize "Inherit from target" - BufferReusableBoundary on - SimCompilerOptimization "off" - AccelVerboseBuild off - OptimizeBlockOrder "off" - OptimizeDataStoreBuffers on - BusAssignmentInplaceUpdate on - DifferentSizesBufferReuse off - OptimizationLevel "level2" - OptimizationPriority "Balanced" - OptimizationCustomize on - UseRowMajorAlgorithm off - LabelGuidedReuse off - } - Simulink.DebuggingCC { - $ObjectID 63 - Version "1.18.1" - Array { - Type "Cell" - Dimension 1 - Cell "UseOnlyExistingSharedCode" - PropName "DisabledProps" - } - Description "" - RTPrefix "error" - ConsistencyChecking "none" - ArrayBoundsChecking "none" - SignalInfNanChecking "none" - StringTruncationChecking "error" - SignalRangeChecking "none" - ReadBeforeWriteMsg "UseLocalSettings" - WriteAfterWriteMsg "UseLocalSettings" - WriteAfterReadMsg "UseLocalSettings" - AlgebraicLoopMsg "warning" - ArtificialAlgebraicLoopMsg "warning" - SaveWithDisabledLinksMsg "warning" - SaveWithParameterizedLinksMsg "warning" - CheckSSInitialOutputMsg on - UnderspecifiedInitializationDetection "Simplified" - MergeDetectMultiDrivingBlocksExec "error" - CheckExecutionContextPreStartOutputMsg off - CheckExecutionContextRuntimeOutputMsg off - SignalResolutionControl "UseLocalSettings" - BlockPriorityViolationMsg "warning" - MinStepSizeMsg "warning" - TimeAdjustmentMsg "none" - MaxConsecutiveZCsMsg "error" - MaskedZcDiagnostic "warning" - IgnoredZcDiagnostic "warning" - SolverPrmCheckMsg "none" - InheritedTsInSrcMsg "warning" - MultiTaskDSMMsg "error" - MultiTaskCondExecSysMsg "error" - MultiTaskRateTransMsg "error" - SingleTaskRateTransMsg "none" - TasksWithSamePriorityMsg "warning" - ExportedTasksRateTransMsg "none" - SigSpecEnsureSampleTimeMsg "warning" - CheckMatrixSingularityMsg "none" - IntegerOverflowMsg "warning" - Int32ToFloatConvMsg "warning" - ParameterDowncastMsg "error" - ParameterOverflowMsg "error" - ParameterUnderflowMsg "none" - ParameterPrecisionLossMsg "warning" - ParameterTunabilityLossMsg "warning" - FixptConstUnderflowMsg "none" - FixptConstOverflowMsg "none" - FixptConstPrecisionLossMsg "none" - UnderSpecifiedDataTypeMsg "none" - UnnecessaryDatatypeConvMsg "none" - VectorMatrixConversionMsg "none" - InvalidFcnCallConnMsg "error" - FcnCallInpInsideContextMsg "error" - SignalLabelMismatchMsg "none" - UnconnectedInputMsg "warning" - UnconnectedOutputMsg "warning" - UnconnectedLineMsg "warning" - UseOnlyExistingSharedCode "error" - SFcnCompatibilityMsg "none" - FrameProcessingCompatibilityMsg "error" - UniqueDataStoreMsg "none" - BusObjectLabelMismatch "warning" - RootOutportRequireBusObject "warning" - AssertControl "UseLocalSettings" - AllowSymbolicDim on - RowMajorDimensionSupport off - ModelReferenceIOMsg "none" - ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" - ModelReferenceVersionMismatchMessage "none" - ModelReferenceIOMismatchMessage "none" - UnknownTsInhSupMsg "warning" - ModelReferenceDataLoggingMessage "warning" - ModelReferenceSymbolNameMessage "warning" - ModelReferenceExtraNoncontSigs "error" - StateNameClashWarn "none" - SimStateInterfaceChecksumMismatchMsg "warning" - SimStateOlderReleaseMsg "error" - ChecksumConsistencyForSSReuse "none" - LibraryContextMissingDiagnostic "warning" - MatchCodeGenerationContextForUpdateDiagram "none" - InitInArrayFormatMsg "warning" - StrictBusMsg "ErrorLevel1" - BusNameAdapt "WarnAndRepair" - NonBusSignalsTreatedAsBus "none" - SymbolicDimMinMaxWarning "warning" - LossOfSymbolicDimsSimulationWarning "warning" - LossOfSymbolicDimsCodeGenerationWarning "error" - SymbolicDimsDataTypeCodeGenerationDiagnostic "error" - BlockIODiagnostic "none" - SFUnusedDataAndEventsDiag "warning" - SFUnexpectedBacktrackingDiag "error" - SFInvalidInputDataAccessInChartInitDiag "warning" - SFNoUnconditionalDefaultTransitionDiag "error" - SFTransitionOutsideNaturalParentDiag "warning" - SFUnreachableExecutionPathDiag "warning" - SFUndirectedBroadcastEventsDiag "warning" - SFTransitionActionBeforeConditionDiag "warning" - SFOutputUsedAsStateInMooreChartDiag "error" - SFTemporalDelaySmallerThanSampleTimeDiag "warning" - SFSelfTransitionDiag "warning" - SFExecutionAtInitializationDiag "warning" - SFMachineParentedDataDiag "warning" - IntegerSaturationMsg "warning" - AllowedUnitSystems "all" - UnitsInconsistencyMsg "warning" - AllowAutomaticUnitConversions on - RCSCRenamedMsg "warning" - RCSCObservableMsg "warning" - ForceCombineOutputUpdateInSim off - UnitDatabase "" - UnderSpecifiedDimensionMsg "none" - } - Simulink.HardwareCC { - $ObjectID 64 - Version "1.18.1" - DisabledProps [] - Description "" - ProdBitPerChar 8 - ProdBitPerShort 16 - ProdBitPerInt 32 - ProdBitPerLong 32 - ProdBitPerLongLong 64 - ProdBitPerFloat 32 - ProdBitPerDouble 64 - ProdBitPerPointer 64 - ProdBitPerSizeT 64 - ProdBitPerPtrDiffT 64 - ProdLargestAtomicInteger "Char" - ProdLargestAtomicFloat "Float" - ProdIntDivRoundTo "Zero" - ProdEndianess "LittleEndian" - ProdWordSize 64 - ProdShiftRightIntArith on - ProdLongLongMode off - ProdHWDeviceType "Intel->x86-64 (Windows64)" - TargetBitPerChar 8 - TargetBitPerShort 16 - TargetBitPerInt 32 - TargetBitPerLong 32 - TargetBitPerLongLong 64 - TargetBitPerFloat 32 - TargetBitPerDouble 64 - TargetBitPerPointer 32 - TargetBitPerSizeT 32 - TargetBitPerPtrDiffT 32 - TargetLargestAtomicInteger "Char" - TargetLargestAtomicFloat "None" - TargetShiftRightIntArith on - TargetLongLongMode off - TargetIntDivRoundTo "Undefined" - TargetEndianess "Unspecified" - TargetWordSize 32 - TargetPreprocMaxBitsSint 32 - TargetPreprocMaxBitsUint 32 - TargetHWDeviceType "Specified" - TargetUnknown off - ProdEqTarget on - UseEmbeddedCoderFeatures on - UseSimulinkCoderFeatures on - } - Simulink.ModelReferenceCC { - $ObjectID 65 - Version "1.18.1" - DisabledProps [] - Description "" - UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" - EnableRefExpFcnMdlSchedulingChecks on - CheckModelReferenceTargetMessage "error" - EnableParallelModelReferenceBuilds off - ParallelModelReferenceErrorOnInvalidPool on - ParallelModelReferenceMATLABWorkerInit "None" - ModelReferenceNumInstancesAllowed "Multi" - PropagateVarSize "Infer from blocks in model" - ModelDependencies "" - ModelReferencePassRootInputsByReference on - ModelReferenceMinAlgLoopOccurrences off - PropagateSignalLabelsOutOfModel on - SupportModelReferenceSimTargetCustomCode off - } - Simulink.SFSimCC { - $ObjectID 66 - Version "1.18.1" - DisabledProps [] - Description "" - SimCustomSourceCode "" - SimCustomHeaderCode "" - SimCustomInitializer "" - SimCustomTerminator "" - SimReservedNameArray [] - SimUserSources "" - SimUserIncludeDirs "" - SimUserLibraries "" - SimUserDefines "" - SimCustomCompilerFlags "" - SimCustomLinkerFlags "" - SFSimEcho on - SimCtrlC on - SimIntegrity on - SimUseLocalCustomCode off - SimParseCustomCode on - SimAnalyzeCustomCode off - SimBuildMode "sf_incremental_build" - SimGenImportedTypeDefs off - ModelFunctionsGlobalVisibility "on" - CompileTimeRecursionLimit 50 - EnableRuntimeRecursion on - MATLABDynamicMemAlloc on - MATLABDynamicMemAllocThreshold 65536 - CustomCodeFunctionArrayLayout [] - DefaultCustomCodeFunctionArrayLayout "NotSpecified" - } - Simulink.RTWCC { - $BackupClass "Simulink.RTWCC" - $ObjectID 67 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeHyperlinkInReport" - Cell "GenerateTraceInfo" - Cell "GenerateTraceReport" - Cell "GenerateTraceReportSl" - Cell "GenerateTraceReportSf" - Cell "GenerateTraceReportEml" - Cell "PortableWordSizes" - Cell "GenerateWebview" - Cell "GenerateCodeMetricsReport" - Cell "GenerateCodeReplacementReport" - Cell "GenerateMissedCodeReplacementReport" - Cell "GenerateErtSFunction" - Cell "CreateSILPILBlock" - Cell "CodeExecutionProfiling" - Cell "CodeProfilingSaveOptions" - Cell "CodeProfilingInstrumentation" - PropName "DisabledProps" - } - SystemTargetFile "grt.tlc" - HardwareBoard "None" - TLCOptions "" - GenCodeOnly off - MakeCommand "make_rtw" - GenerateMakefile on - PackageGeneratedCodeAndArtifacts off - PackageName "" - TemplateMakefile "grt_default_tmf" - PostCodeGenCommand "" - Description "" - GenerateReport off - RTWVerbose on - RetainRTWFile off - RTWBuildHooks [] - ProfileTLC off - TLCDebug off - TLCCoverage off - TLCAssert off - RTWUseLocalCustomCode off - RTWUseSimCustomCode off - CustomSourceCode "" - CustomHeaderCode "" - CustomInclude "" - CustomSource "" - CustomLibrary "" - CustomDefine "" - CustomBLASCallback "" - CustomLAPACKCallback "" - CustomFFTCallback "" - CustomInitializer "" - CustomTerminator "" - Toolchain "Automatically locate an installed toolchain" - BuildConfiguration "Faster Builds" - CustomToolchainOptions [] - IncludeHyperlinkInReport off - LaunchReport off - PortableWordSizes off - CreateSILPILBlock "None" - CodeExecutionProfiling off - CodeExecutionProfileVariable "executionProfile" - CodeProfilingSaveOptions "SummaryOnly" - CodeProfilingInstrumentation "off" - SILDebugging off - TargetLang "C" - IncludeBusHierarchyInRTWFileBlockHierarchyMap off - GenerateTraceInfo off - GenerateTraceReport off - GenerateTraceReportSl off - GenerateTraceReportSf off - GenerateTraceReportEml off - GenerateWebview off - GenerateCodeMetricsReport off - GenerateCodeReplacementReport off - GenerateMissedCodeReplacementReport off - RTWCompilerOptimization "off" - ObjectivePriorities [] - RTWCustomCompilerOptimizations "" - CheckMdlBeforeBuild "Off" - SharedConstantsCachingThreshold 1024 - Array { - Type "Handle" - Dimension 2 - Simulink.CodeAppCC { - $ObjectID 68 - Version "1.18.1" - Array { - Type "Cell" - Dimension 28 - Cell "IgnoreCustomStorageClasses" - Cell "IgnoreTestpoints" - Cell "InsertBlockDesc" - Cell "InsertPolySpaceComments" - Cell "SFDataObjDesc" - Cell "MATLABFcnDesc" - Cell "SimulinkDataObjDesc" - Cell "DefineNamingRule" - Cell "SignalNamingRule" - Cell "ParamNamingRule" - Cell "InternalIdentifier" - Cell "InlinedPrmAccess" - Cell "CustomSymbolStr" - Cell "CustomSymbolStrGlobalVar" - Cell "CustomSymbolStrType" - Cell "CustomSymbolStrField" - Cell "CustomSymbolStrFcn" - Cell "CustomSymbolStrModelFcn" - Cell "CustomSymbolStrFcnArg" - Cell "CustomSymbolStrBlkIO" - Cell "CustomSymbolStrTmpVar" - Cell "CustomSymbolStrMacro" - Cell "CustomSymbolStrUtil" - Cell "CustomUserTokenString" - Cell "ReqsInCode" - Cell "BlockCommentType" - Cell "CustomSymbolStrEmxType" - Cell "CustomSymbolStrEmxFcn" - PropName "DisabledProps" - } - Description "" - Comment "" - ForceParamTrailComments off - GenerateComments on - CommentStyle "Auto" - IgnoreCustomStorageClasses on - IgnoreTestpoints off - MaxIdLength 31 - PreserveName off - PreserveNameWithParent off - ShowEliminatedStatement off - OperatorAnnotations off - SimulinkDataObjDesc off - SFDataObjDesc off - MATLABFcnDesc off - MangleLength 1 - SharedChecksumLength 8 - CustomSymbolStrGlobalVar "$R$N$M" - CustomSymbolStrType "$N$R$M_T" - CustomSymbolStrField "$N$M" - CustomSymbolStrFcn "$R$N$M$F" - CustomSymbolStrModelFcn "$R$N" - CustomSymbolStrFcnArg "rt$I$N$M" - CustomSymbolStrBlkIO "rtb_$N$M" - CustomSymbolStrTmpVar "$N$M" - CustomSymbolStrMacro "$R$N$M" - CustomSymbolStrUtil "$N$C" - CustomSymbolStrEmxType "emxArray_$M$N" - CustomSymbolStrEmxFcn "emx$M$N" - CustomUserTokenString "" - CustomCommentsFcn "" - DefineNamingRule "None" - DefineNamingFcn "" - ParamNamingRule "None" - ParamNamingFcn "" - SignalNamingRule "None" - SignalNamingFcn "" - InsertBlockDesc off - InsertPolySpaceComments off - SimulinkBlockComments on - BlockCommentType "BlockPathComment" - StateflowObjectComments on - MATLABSourceComments off - EnableCustomComments off - InternalIdentifierFile "" - InternalIdentifier "Shortened" - InlinedPrmAccess "Literals" - ReqsInCode off - UseSimReservedNames off - ReservedNameArray [] - } - Simulink.GRTTargetCC { - $BackupClass "Simulink.TargetCC" - $ObjectID 69 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeMdlTerminateFcn" - Cell "SuppressErrorStatus" - Cell "ERTCustomFileBanners" - Cell "GenerateSampleERTMain" - Cell "ExistingSharedCode" - Cell "GenerateTestInterfaces" - Cell "ModelStepFunctionPrototypeControlCompliant" - Cell "GenerateAllocFcn" - Cell "PurelyIntegerCode" - Cell "SupportComplex" - Cell "SupportAbsoluteTime" - Cell "SupportContinuousTime" - Cell "SupportNonInlinedSFcns" - Cell "RemoveDisableFunc" - Cell "RemoveResetFunc" - Cell "PreserveStateflowLocalDataDimensions" - PropName "DisabledProps" - } - Description "" - TargetFcnLib "ansi_tfl_table_tmw.mat" - TargetLibSuffix "" - TargetPreCompLibLocation "" - GenFloatMathFcnCalls "NOT IN USE" - TargetLangStandard "C99 (ISO)" - CodeReplacementLibrary "None" - UtilityFuncGeneration "Auto" - MultiwordTypeDef "System defined" - MultiwordLength 2048 - DynamicStringBufferSize 256 - GenerateFullHeader on - InferredTypesCompatibility off - ExistingSharedCode "" - GenerateSampleERTMain off - GenerateTestInterfaces off - ModelReferenceCompliant on - ParMdlRefBuildCompliant on - CompOptLevelCompliant on - ConcurrentExecutionCompliant on - IncludeMdlTerminateFcn on - GeneratePreprocessorConditionals "Use local settings" - CombineOutputUpdateFcns on - CombineSignalStateStructs off - GroupInternalDataByFunction off - SuppressErrorStatus off - IncludeFileDelimiter "Auto" - ERTCustomFileBanners off - SupportAbsoluteTime on - LogVarNameModifier "rt_" - MatFileLogging on - MultiInstanceERTCode off - CodeInterfacePackaging "Nonreusable function" - PurelyIntegerCode off - SupportNonFinite on - SupportComplex on - SupportContinuousTime on - SupportNonInlinedSFcns on - RemoveDisableFunc off - RemoveResetFunc off - SupportVariableSizeSignals off - ParenthesesLevel "Nominal" - CastingMode "Nominal" - PreserveStateflowLocalDataDimensions off - MATLABClassNameForMDSCustomization "Simulink.SoftwareTarget.GRTCustomization" - ModelStepFunctionPrototypeControlCompliant off - CPPClassGenCompliant on - AutosarCompliant off - MDXCompliant off - GRTInterface off - GenerateAllocFcn off - UseToolchainInfoCompliant on - GenerateSharedConstants on - CoderGroups [] - AccessMethods [] - LookupTableObjectStructAxisOrder "1,2,3,4,..." - LUTObjectStructOrderExplicitValues "Size,Breakpoints,Table" - LUTObjectStructOrderEvenSpacing "Size,Breakpoints,Table" - ArrayLayout "Column-major" - UnsupportedSFcnMsg "error" - ERTHeaderFileRootName "$R$E" - ERTSourceFileRootName "$R$E" - ERTDataFileRootName "$R_data" - UseMalloc off - ExtMode off - ExtModeStaticAlloc off - ExtModeTesting off - ExtModeStaticAllocSize 1000000 - ExtModeTransport 0 - ExtModeMexFile "ext_comm" - ExtModeMexArgs "" - ExtModeIntrfLevel "Level1" - RTWCAPISignals off - RTWCAPIParams off - RTWCAPIStates off - RTWCAPIRootIO off - GenerateASAP2 off - MultiInstanceErrorCode "Error" - } - PropName "Components" - } - } - SlCovCC.ConfigComp { - $ObjectID 70 - Version "1.18.1" - DisabledProps [] - Description "Simulink Coverage Configuration Component" - Name "Simulink Coverage" - CovEnable off - CovScope "EntireSystem" - CovIncludeTopModel on - RecordCoverage off - CovPath "/" - CovSaveName "covdata" - CovCompData "" - CovMetricSettings "dwe" - CovFilter "" - CovHTMLOptions "" - CovNameIncrementing off - CovHtmlReporting off - CovForceBlockReductionOff on - CovEnableCumulative on - CovSaveCumulativeToWorkspaceVar off - CovSaveSingleToWorkspaceVar off - CovCumulativeVarName "covCumulativeData" - CovCumulativeReport off - CovSaveOutputData on - CovOutputDir "slcov_output/$ModelName$" - CovDataFileName "$ModelName$_cvdata" - CovShowResultsExplorer on - CovReportOnPause on - CovModelRefEnable "off" - CovModelRefExcluded "" - CovExternalEMLEnable on - CovSFcnEnable on - CovBoundaryAbsTol 1e-05 - CovBoundaryRelTol 0.01 - CovUseTimeInterval off - CovStartTime 0 - CovStopTime 0 - CovMcdcMode "Masking" - } - PropName "Components" - } - Name "Configuration3" - ExtraOptions "" - CurrentDlgPage "Solver" - ConfigPrmDlgPosition [ 321, 71, 1211, 811 ] - } - Simulink.ConfigSet { - $ObjectID 71 - Version "1.18.1" - DisabledProps [] - Description "" - Array { - Type "Handle" - Dimension 9 - Simulink.SolverCC { - $ObjectID 72 - Version "1.18.1" - DisabledProps [] - Description "" - StartTime "0.0" - StopTime "TMax" - AbsTol "auto" - AutoScaleAbsTol on - FixedStep "dt" - InitialStep "auto" - MaxOrder 5 - ZcThreshold "auto" - ConsecutiveZCsStepRelTol "10*128*eps" - MaxConsecutiveZCs "1000" - ExtrapolationOrder 4 - NumberNewtonIterations 1 - MaxStep "auto" - MinStep "auto" - MaxConsecutiveMinStep "1" - RelTol "1e-3" - EnableMultiTasking on - ConcurrentTasks off - Solver "FixedStepDiscrete" - SolverName "FixedStepDiscrete" - SolverJacobianMethodControl "auto" - ShapePreserveControl "DisableAll" - ZeroCrossControl "UseLocalSettings" - ZeroCrossAlgorithm "Nonadaptive" - AlgebraicLoopSolver "TrustRegion" - SolverInfoToggleStatus on - IsAutoAppliedInSIP off - SolverResetMethod "Fast" - PositivePriorityOrder off - AutoInsertRateTranBlk off - SampleTimeConstraint "Unconstrained" - InsertRTBMode "Whenever possible" - SampleTimeProperty [] - DecoupledContinuousIntegration off - MinimalZcImpactIntegration off - } - Simulink.DataIOCC { - $ObjectID 73 - Version "1.18.1" - DisabledProps [] - Description "" - Decimation "1" - ExternalInput "[t, u]" - FinalStateName "xFinal" - InitialState "xInitial" - LimitDataPoints off - MaxDataPoints "1000" - LoadExternalInput off - LoadInitialState off - SaveFinalState off - SaveCompleteFinalSimState off - SaveFormat "Dataset" - SignalLoggingSaveFormat "Dataset" - SaveOutput off - SaveState off - SignalLogging on - DSMLogging on - InspectSignalLogs off - VisualizeSimOutput on - StreamToWorkspace off - StreamVariableName "streamout" - SaveTime off - ReturnWorkspaceOutputs off - StateSaveName "xout" - TimeSaveName "tout" - OutputSaveName "yout" - SignalLoggingName "logsout" - DSMLoggingName "dsmout" - OutputOption "RefineOutputTimes" - OutputTimes "[]" - ReturnWorkspaceOutputsName "out" - Refine "1" - LoggingToFile off - DatasetSignalFormat "timeseries" - LoggingFileName "out.mat" - LoggingIntervals "[-inf, inf]" - } - Simulink.OptimizationCC { - $ObjectID 74 - Version "1.18.1" - Array { - Type "Cell" - Dimension 9 - Cell "BooleansAsBitfields" - Cell "PassReuseOutputArgsAs" - Cell "PassReuseOutputArgsThreshold" - Cell "ZeroExternalMemoryAtStartup" - Cell "ZeroInternalMemoryAtStartup" - Cell "OptimizeModelRefInitCode" - Cell "NoFixptDivByZeroProtection" - Cell "UseSpecifiedMinMax" - Cell "EfficientTunableParamExpr" - PropName "DisabledProps" - } - Description "" - BlockReduction on - BooleanDataType on - ConditionallyExecuteInputs on - DefaultParameterBehavior "Tunable" - UseDivisionForNetSlopeComputation "off" - UseFloatMulNetSlope off - DefaultUnderspecifiedDataType "double" - UseSpecifiedMinMax off - InlineInvariantSignals off - OptimizeBlockIOStorage on - BufferReuse on - EnhancedBackFolding off - CachingGlobalReferences off - GlobalBufferReuse on - StrengthReduction off - AdvancedOptControl "" - ExpressionFolding on - BooleansAsBitfields off - BitfieldContainerType "uint_T" - EnableMemcpy on - MemcpyThreshold 64 - PassReuseOutputArgsAs "Structure reference" - PassReuseOutputArgsThreshold 12 - ExpressionDepthLimit 128 - LocalBlockOutputs on - RollThreshold 5 - StateBitsets off - DataBitsets off - ActiveStateOutputEnumStorageType "Native Integer" - ZeroExternalMemoryAtStartup on - ZeroInternalMemoryAtStartup on - InitFltsAndDblsToZero off - NoFixptDivByZeroProtection off - EfficientFloat2IntCast off - EfficientMapNaN2IntZero on - LifeSpan "auto" - MaxStackSize "Inherit from target" - BufferReusableBoundary on - SimCompilerOptimization "off" - AccelVerboseBuild off - OptimizeBlockOrder "off" - OptimizeDataStoreBuffers on - BusAssignmentInplaceUpdate on - DifferentSizesBufferReuse off - OptimizationLevel "level2" - OptimizationPriority "Balanced" - OptimizationCustomize on - UseRowMajorAlgorithm off - LabelGuidedReuse off - } - Simulink.DebuggingCC { - $ObjectID 75 - Version "1.18.1" - Array { - Type "Cell" - Dimension 1 - Cell "UseOnlyExistingSharedCode" - PropName "DisabledProps" - } - Description "" - RTPrefix "error" - ConsistencyChecking "none" - ArrayBoundsChecking "none" - SignalInfNanChecking "none" - StringTruncationChecking "error" - SignalRangeChecking "none" - ReadBeforeWriteMsg "UseLocalSettings" - WriteAfterWriteMsg "UseLocalSettings" - WriteAfterReadMsg "UseLocalSettings" - AlgebraicLoopMsg "warning" - ArtificialAlgebraicLoopMsg "warning" - SaveWithDisabledLinksMsg "warning" - SaveWithParameterizedLinksMsg "warning" - CheckSSInitialOutputMsg on - UnderspecifiedInitializationDetection "Simplified" - MergeDetectMultiDrivingBlocksExec "error" - CheckExecutionContextPreStartOutputMsg off - CheckExecutionContextRuntimeOutputMsg off - SignalResolutionControl "UseLocalSettings" - BlockPriorityViolationMsg "warning" - MinStepSizeMsg "warning" - TimeAdjustmentMsg "none" - MaxConsecutiveZCsMsg "error" - MaskedZcDiagnostic "warning" - IgnoredZcDiagnostic "warning" - SolverPrmCheckMsg "none" - InheritedTsInSrcMsg "warning" - MultiTaskDSMMsg "error" - MultiTaskCondExecSysMsg "error" - MultiTaskRateTransMsg "error" - SingleTaskRateTransMsg "none" - TasksWithSamePriorityMsg "warning" - ExportedTasksRateTransMsg "none" - SigSpecEnsureSampleTimeMsg "warning" - CheckMatrixSingularityMsg "none" - IntegerOverflowMsg "warning" - Int32ToFloatConvMsg "warning" - ParameterDowncastMsg "error" - ParameterOverflowMsg "error" - ParameterUnderflowMsg "none" - ParameterPrecisionLossMsg "warning" - ParameterTunabilityLossMsg "warning" - FixptConstUnderflowMsg "none" - FixptConstOverflowMsg "none" - FixptConstPrecisionLossMsg "none" - UnderSpecifiedDataTypeMsg "none" - UnnecessaryDatatypeConvMsg "none" - VectorMatrixConversionMsg "none" - InvalidFcnCallConnMsg "error" - FcnCallInpInsideContextMsg "error" - SignalLabelMismatchMsg "none" - UnconnectedInputMsg "warning" - UnconnectedOutputMsg "warning" - UnconnectedLineMsg "warning" - UseOnlyExistingSharedCode "error" - SFcnCompatibilityMsg "none" - FrameProcessingCompatibilityMsg "error" - UniqueDataStoreMsg "none" - BusObjectLabelMismatch "warning" - RootOutportRequireBusObject "warning" - AssertControl "UseLocalSettings" - AllowSymbolicDim on - RowMajorDimensionSupport off - ModelReferenceIOMsg "none" - ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" - ModelReferenceVersionMismatchMessage "none" - ModelReferenceIOMismatchMessage "none" - UnknownTsInhSupMsg "warning" - ModelReferenceDataLoggingMessage "warning" - ModelReferenceSymbolNameMessage "warning" - ModelReferenceExtraNoncontSigs "error" - StateNameClashWarn "none" - SimStateInterfaceChecksumMismatchMsg "warning" - SimStateOlderReleaseMsg "error" - ChecksumConsistencyForSSReuse "none" - LibraryContextMissingDiagnostic "warning" - MatchCodeGenerationContextForUpdateDiagram "none" - InitInArrayFormatMsg "warning" - StrictBusMsg "ErrorLevel1" - BusNameAdapt "WarnAndRepair" - NonBusSignalsTreatedAsBus "none" - SymbolicDimMinMaxWarning "warning" - LossOfSymbolicDimsSimulationWarning "warning" - LossOfSymbolicDimsCodeGenerationWarning "error" - SymbolicDimsDataTypeCodeGenerationDiagnostic "error" - BlockIODiagnostic "none" - SFUnusedDataAndEventsDiag "warning" - SFUnexpectedBacktrackingDiag "error" - SFInvalidInputDataAccessInChartInitDiag "warning" - SFNoUnconditionalDefaultTransitionDiag "error" - SFTransitionOutsideNaturalParentDiag "warning" - SFUnreachableExecutionPathDiag "warning" - SFUndirectedBroadcastEventsDiag "warning" - SFTransitionActionBeforeConditionDiag "warning" - SFOutputUsedAsStateInMooreChartDiag "error" - SFTemporalDelaySmallerThanSampleTimeDiag "warning" - SFSelfTransitionDiag "warning" - SFExecutionAtInitializationDiag "warning" - SFMachineParentedDataDiag "warning" - IntegerSaturationMsg "warning" - AllowedUnitSystems "all" - UnitsInconsistencyMsg "warning" - AllowAutomaticUnitConversions on - RCSCRenamedMsg "warning" - RCSCObservableMsg "warning" - ForceCombineOutputUpdateInSim off - UnitDatabase "" - UnderSpecifiedDimensionMsg "none" - } - Simulink.HardwareCC { - $ObjectID 76 - Version "1.18.1" - DisabledProps [] - Description "" - ProdBitPerChar 8 - ProdBitPerShort 16 - ProdBitPerInt 32 - ProdBitPerLong 32 - ProdBitPerLongLong 64 - ProdBitPerFloat 32 - ProdBitPerDouble 64 - ProdBitPerPointer 64 - ProdBitPerSizeT 64 - ProdBitPerPtrDiffT 64 - ProdLargestAtomicInteger "Char" - ProdLargestAtomicFloat "Float" - ProdIntDivRoundTo "Zero" - ProdEndianess "LittleEndian" - ProdWordSize 64 - ProdShiftRightIntArith on - ProdLongLongMode off - ProdHWDeviceType "Intel->x86-64 (Windows64)" - TargetBitPerChar 8 - TargetBitPerShort 16 - TargetBitPerInt 32 - TargetBitPerLong 32 - TargetBitPerLongLong 64 - TargetBitPerFloat 32 - TargetBitPerDouble 64 - TargetBitPerPointer 32 - TargetBitPerSizeT 32 - TargetBitPerPtrDiffT 32 - TargetLargestAtomicInteger "Char" - TargetLargestAtomicFloat "None" - TargetShiftRightIntArith on - TargetLongLongMode off - TargetIntDivRoundTo "Undefined" - TargetEndianess "Unspecified" - TargetWordSize 32 - TargetPreprocMaxBitsSint 32 - TargetPreprocMaxBitsUint 32 - TargetHWDeviceType "Specified" - TargetUnknown off - ProdEqTarget on - UseEmbeddedCoderFeatures on - UseSimulinkCoderFeatures on - } - Simulink.ModelReferenceCC { - $ObjectID 77 - Version "1.18.1" - DisabledProps [] - Description "" - UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" - EnableRefExpFcnMdlSchedulingChecks on - CheckModelReferenceTargetMessage "error" - EnableParallelModelReferenceBuilds off - ParallelModelReferenceErrorOnInvalidPool on - ParallelModelReferenceMATLABWorkerInit "None" - ModelReferenceNumInstancesAllowed "Multi" - PropagateVarSize "Infer from blocks in model" - ModelDependencies "" - ModelReferencePassRootInputsByReference on - ModelReferenceMinAlgLoopOccurrences off - PropagateSignalLabelsOutOfModel on - SupportModelReferenceSimTargetCustomCode off - } - Simulink.SFSimCC { - $ObjectID 78 - Version "1.18.1" - DisabledProps [] - Description "" - SimCustomSourceCode "" - SimCustomHeaderCode "" - SimCustomInitializer "" - SimCustomTerminator "" - SimReservedNameArray [] - SimUserSources "" - SimUserIncludeDirs "" - SimUserLibraries "" - SimUserDefines "" - SimCustomCompilerFlags "" - SimCustomLinkerFlags "" - SFSimEcho on - SimCtrlC on - SimIntegrity on - SimUseLocalCustomCode off - SimParseCustomCode on - SimAnalyzeCustomCode off - SimBuildMode "sf_incremental_build" - SimGenImportedTypeDefs off - ModelFunctionsGlobalVisibility "on" - CompileTimeRecursionLimit 50 - EnableRuntimeRecursion on - MATLABDynamicMemAlloc on - MATLABDynamicMemAllocThreshold 65536 - CustomCodeFunctionArrayLayout [] - DefaultCustomCodeFunctionArrayLayout "NotSpecified" - } - Simulink.RTWCC { - $BackupClass "Simulink.RTWCC" - $ObjectID 79 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeHyperlinkInReport" - Cell "GenerateTraceInfo" - Cell "GenerateTraceReport" - Cell "GenerateTraceReportSl" - Cell "GenerateTraceReportSf" - Cell "GenerateTraceReportEml" - Cell "PortableWordSizes" - Cell "GenerateWebview" - Cell "GenerateCodeMetricsReport" - Cell "GenerateCodeReplacementReport" - Cell "GenerateMissedCodeReplacementReport" - Cell "GenerateErtSFunction" - Cell "CreateSILPILBlock" - Cell "CodeExecutionProfiling" - Cell "CodeProfilingSaveOptions" - Cell "CodeProfilingInstrumentation" - PropName "DisabledProps" - } - SystemTargetFile "grt.tlc" - HardwareBoard "None" - TLCOptions "" - GenCodeOnly off - MakeCommand "make_rtw" - GenerateMakefile on - PackageGeneratedCodeAndArtifacts off - PackageName "" - TemplateMakefile "grt_default_tmf" - PostCodeGenCommand "" - Description "" - GenerateReport off - RTWVerbose on - RetainRTWFile off - RTWBuildHooks [] - ProfileTLC off - TLCDebug off - TLCCoverage off - TLCAssert off - RTWUseLocalCustomCode off - RTWUseSimCustomCode off - CustomSourceCode "" - CustomHeaderCode "" - CustomInclude "" - CustomSource "" - CustomLibrary "" - CustomDefine "" - CustomBLASCallback "" - CustomLAPACKCallback "" - CustomFFTCallback "" - CustomInitializer "" - CustomTerminator "" - Toolchain "Automatically locate an installed toolchain" - BuildConfiguration "Faster Builds" - CustomToolchainOptions [] - IncludeHyperlinkInReport off - LaunchReport off - PortableWordSizes off - CreateSILPILBlock "None" - CodeExecutionProfiling off - CodeExecutionProfileVariable "executionProfile" - CodeProfilingSaveOptions "SummaryOnly" - CodeProfilingInstrumentation "off" - SILDebugging off - TargetLang "C" - IncludeBusHierarchyInRTWFileBlockHierarchyMap off - GenerateTraceInfo off - GenerateTraceReport off - GenerateTraceReportSl off - GenerateTraceReportSf off - GenerateTraceReportEml off - GenerateWebview off - GenerateCodeMetricsReport off - GenerateCodeReplacementReport off - GenerateMissedCodeReplacementReport off - RTWCompilerOptimization "off" - ObjectivePriorities [] - RTWCustomCompilerOptimizations "" - CheckMdlBeforeBuild "Off" - SharedConstantsCachingThreshold 1024 - Array { - Type "Handle" - Dimension 2 - Simulink.CodeAppCC { - $ObjectID 80 - Version "1.18.1" - Array { - Type "Cell" - Dimension 28 - Cell "IgnoreCustomStorageClasses" - Cell "IgnoreTestpoints" - Cell "InsertBlockDesc" - Cell "InsertPolySpaceComments" - Cell "SFDataObjDesc" - Cell "MATLABFcnDesc" - Cell "SimulinkDataObjDesc" - Cell "DefineNamingRule" - Cell "SignalNamingRule" - Cell "ParamNamingRule" - Cell "InternalIdentifier" - Cell "InlinedPrmAccess" - Cell "CustomSymbolStr" - Cell "CustomSymbolStrGlobalVar" - Cell "CustomSymbolStrType" - Cell "CustomSymbolStrField" - Cell "CustomSymbolStrFcn" - Cell "CustomSymbolStrModelFcn" - Cell "CustomSymbolStrFcnArg" - Cell "CustomSymbolStrBlkIO" - Cell "CustomSymbolStrTmpVar" - Cell "CustomSymbolStrMacro" - Cell "CustomSymbolStrUtil" - Cell "CustomUserTokenString" - Cell "ReqsInCode" - Cell "BlockCommentType" - Cell "CustomSymbolStrEmxType" - Cell "CustomSymbolStrEmxFcn" - PropName "DisabledProps" - } - Description "" - Comment "" - ForceParamTrailComments off - GenerateComments on - CommentStyle "Auto" - IgnoreCustomStorageClasses on - IgnoreTestpoints off - MaxIdLength 31 - PreserveName off - PreserveNameWithParent off - ShowEliminatedStatement off - OperatorAnnotations off - SimulinkDataObjDesc off - SFDataObjDesc off - MATLABFcnDesc off - MangleLength 1 - SharedChecksumLength 8 - CustomSymbolStrGlobalVar "$R$N$M" - CustomSymbolStrType "$N$R$M_T" - CustomSymbolStrField "$N$M" - CustomSymbolStrFcn "$R$N$M$F" - CustomSymbolStrModelFcn "$R$N" - CustomSymbolStrFcnArg "rt$I$N$M" - CustomSymbolStrBlkIO "rtb_$N$M" - CustomSymbolStrTmpVar "$N$M" - CustomSymbolStrMacro "$R$N$M" - CustomSymbolStrUtil "$N$C" - CustomSymbolStrEmxType "emxArray_$M$N" - CustomSymbolStrEmxFcn "emx$M$N" - CustomUserTokenString "" - CustomCommentsFcn "" - DefineNamingRule "None" - DefineNamingFcn "" - ParamNamingRule "None" - ParamNamingFcn "" - SignalNamingRule "None" - SignalNamingFcn "" - InsertBlockDesc off - InsertPolySpaceComments off - SimulinkBlockComments on - BlockCommentType "BlockPathComment" - StateflowObjectComments on - MATLABSourceComments off - EnableCustomComments off - InternalIdentifierFile "" - InternalIdentifier "Shortened" - InlinedPrmAccess "Literals" - ReqsInCode off - UseSimReservedNames off - ReservedNameArray [] - } - Simulink.GRTTargetCC { - $BackupClass "Simulink.TargetCC" - $ObjectID 81 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeMdlTerminateFcn" - Cell "SuppressErrorStatus" - Cell "ERTCustomFileBanners" - Cell "GenerateSampleERTMain" - Cell "ExistingSharedCode" - Cell "GenerateTestInterfaces" - Cell "ModelStepFunctionPrototypeControlCompliant" - Cell "GenerateAllocFcn" - Cell "PurelyIntegerCode" - Cell "SupportComplex" - Cell "SupportAbsoluteTime" - Cell "SupportContinuousTime" - Cell "SupportNonInlinedSFcns" - Cell "RemoveDisableFunc" - Cell "RemoveResetFunc" - Cell "PreserveStateflowLocalDataDimensions" - PropName "DisabledProps" - } - Description "" - TargetFcnLib "ansi_tfl_table_tmw.mat" - TargetLibSuffix "" - TargetPreCompLibLocation "" - GenFloatMathFcnCalls "NOT IN USE" - TargetLangStandard "C99 (ISO)" - CodeReplacementLibrary "None" - UtilityFuncGeneration "Auto" - MultiwordTypeDef "System defined" - MultiwordLength 2048 - DynamicStringBufferSize 256 - GenerateFullHeader on - InferredTypesCompatibility off - ExistingSharedCode "" - GenerateSampleERTMain off - GenerateTestInterfaces off - ModelReferenceCompliant on - ParMdlRefBuildCompliant on - CompOptLevelCompliant on - ConcurrentExecutionCompliant on - IncludeMdlTerminateFcn on - GeneratePreprocessorConditionals "Use local settings" - CombineOutputUpdateFcns on - CombineSignalStateStructs off - GroupInternalDataByFunction off - SuppressErrorStatus off - IncludeFileDelimiter "Auto" - ERTCustomFileBanners off - SupportAbsoluteTime on - LogVarNameModifier "rt_" - MatFileLogging on - MultiInstanceERTCode off - CodeInterfacePackaging "Nonreusable function" - PurelyIntegerCode off - SupportNonFinite on - SupportComplex on - SupportContinuousTime on - SupportNonInlinedSFcns on - RemoveDisableFunc off - RemoveResetFunc off - SupportVariableSizeSignals off - ParenthesesLevel "Nominal" - CastingMode "Nominal" - PreserveStateflowLocalDataDimensions off - MATLABClassNameForMDSCustomization "Simulink.SoftwareTarget.GRTCustomization" - ModelStepFunctionPrototypeControlCompliant off - CPPClassGenCompliant on - AutosarCompliant off - MDXCompliant off - GRTInterface off - GenerateAllocFcn off - UseToolchainInfoCompliant on - GenerateSharedConstants on - CoderGroups [] - AccessMethods [] - LookupTableObjectStructAxisOrder "1,2,3,4,..." - LUTObjectStructOrderExplicitValues "Size,Breakpoints,Table" - LUTObjectStructOrderEvenSpacing "Size,Breakpoints,Table" - ArrayLayout "Column-major" - UnsupportedSFcnMsg "error" - ERTHeaderFileRootName "$R$E" - ERTSourceFileRootName "$R$E" - ERTDataFileRootName "$R_data" - UseMalloc off - ExtMode off - ExtModeStaticAlloc off - ExtModeTesting off - ExtModeStaticAllocSize 1000000 - ExtModeTransport 0 - ExtModeMexFile "ext_comm" - ExtModeMexArgs "" - ExtModeIntrfLevel "Level1" - RTWCAPISignals off - RTWCAPIParams off - RTWCAPIStates off - RTWCAPIRootIO off - GenerateASAP2 off - MultiInstanceErrorCode "Error" - } - PropName "Components" - } - } - SlCovCC.ConfigComp { - $ObjectID 82 - Version "1.18.1" - DisabledProps [] - Description "Simulink Coverage Configuration Component" - Name "Simulink Coverage" - CovEnable off - CovScope "EntireSystem" - CovIncludeTopModel on - RecordCoverage off - CovPath "/" - CovSaveName "covdata" - CovCompData "" - CovMetricSettings "dwe" - CovFilter "" - CovHTMLOptions "" - CovNameIncrementing off - CovHtmlReporting off - CovForceBlockReductionOff on - CovEnableCumulative on - CovSaveCumulativeToWorkspaceVar off - CovSaveSingleToWorkspaceVar off - CovCumulativeVarName "covCumulativeData" - CovCumulativeReport off - CovSaveOutputData on - CovOutputDir "slcov_output/$ModelName$" - CovDataFileName "$ModelName$_cvdata" - CovShowResultsExplorer on - CovReportOnPause on - CovModelRefEnable "off" - CovModelRefExcluded "" - CovExternalEMLEnable on - CovSFcnEnable on - CovBoundaryAbsTol 1e-05 - CovBoundaryRelTol 0.01 - CovUseTimeInterval off - CovStartTime 0 - CovStopTime 0 - CovMcdcMode "Masking" - } - PropName "Components" - } - Name "Configuration4" - ExtraOptions "" - CurrentDlgPage "Solver" - ConfigPrmDlgPosition [ 321, 71, 1211, 811 ] - } - Simulink.ConfigSet { - $ObjectID 83 - Version "1.18.1" - DisabledProps [] - Description "" - Array { - Type "Handle" - Dimension 9 - Simulink.SolverCC { - $ObjectID 84 - Version "1.18.1" - DisabledProps [] - Description "" - StartTime "0.0" - StopTime "TMax" - AbsTol "auto" - AutoScaleAbsTol on - FixedStep "dt" - InitialStep "auto" - MaxOrder 5 - ZcThreshold "auto" - ConsecutiveZCsStepRelTol "10*128*eps" - MaxConsecutiveZCs "1000" - ExtrapolationOrder 4 - NumberNewtonIterations 1 - MaxStep "auto" - MinStep "auto" - MaxConsecutiveMinStep "1" - RelTol "1e-3" - EnableMultiTasking on - ConcurrentTasks off - Solver "FixedStepDiscrete" - SolverName "FixedStepDiscrete" - SolverJacobianMethodControl "auto" - ShapePreserveControl "DisableAll" - ZeroCrossControl "UseLocalSettings" - ZeroCrossAlgorithm "Nonadaptive" - AlgebraicLoopSolver "TrustRegion" - SolverInfoToggleStatus on - IsAutoAppliedInSIP off - SolverResetMethod "Fast" - PositivePriorityOrder off - AutoInsertRateTranBlk off - SampleTimeConstraint "Unconstrained" - InsertRTBMode "Whenever possible" - SampleTimeProperty [] - DecoupledContinuousIntegration off - MinimalZcImpactIntegration off - } - Simulink.DataIOCC { - $ObjectID 85 - Version "1.18.1" - DisabledProps [] - Description "" - Decimation "1" - ExternalInput "[t, u]" - FinalStateName "xFinal" - InitialState "xInitial" - LimitDataPoints off - MaxDataPoints "1000" - LoadExternalInput off - LoadInitialState off - SaveFinalState off - SaveCompleteFinalSimState off - SaveFormat "Dataset" - SignalLoggingSaveFormat "Dataset" - SaveOutput off - SaveState off - SignalLogging on - DSMLogging on - InspectSignalLogs off - VisualizeSimOutput on - StreamToWorkspace off - StreamVariableName "streamout" - SaveTime off - ReturnWorkspaceOutputs off - StateSaveName "xout" - TimeSaveName "tout" - OutputSaveName "yout" - SignalLoggingName "logsout" - DSMLoggingName "dsmout" - OutputOption "RefineOutputTimes" - OutputTimes "[]" - ReturnWorkspaceOutputsName "out" - Refine "1" - LoggingToFile off - DatasetSignalFormat "timeseries" - LoggingFileName "out.mat" - LoggingIntervals "[-inf, inf]" - } - Simulink.OptimizationCC { - $ObjectID 86 - Version "1.18.1" - Array { - Type "Cell" - Dimension 9 - Cell "BooleansAsBitfields" - Cell "PassReuseOutputArgsAs" - Cell "PassReuseOutputArgsThreshold" - Cell "ZeroExternalMemoryAtStartup" - Cell "ZeroInternalMemoryAtStartup" - Cell "OptimizeModelRefInitCode" - Cell "NoFixptDivByZeroProtection" - Cell "UseSpecifiedMinMax" - Cell "EfficientTunableParamExpr" - PropName "DisabledProps" - } - Description "" - BlockReduction on - BooleanDataType on - ConditionallyExecuteInputs on - DefaultParameterBehavior "Tunable" - UseDivisionForNetSlopeComputation "off" - UseFloatMulNetSlope off - DefaultUnderspecifiedDataType "double" - UseSpecifiedMinMax off - InlineInvariantSignals off - OptimizeBlockIOStorage on - BufferReuse on - EnhancedBackFolding off - CachingGlobalReferences off - GlobalBufferReuse on - StrengthReduction off - AdvancedOptControl "" - ExpressionFolding on - BooleansAsBitfields off - BitfieldContainerType "uint_T" - EnableMemcpy on - MemcpyThreshold 64 - PassReuseOutputArgsAs "Structure reference" - PassReuseOutputArgsThreshold 12 - ExpressionDepthLimit 128 - LocalBlockOutputs on - RollThreshold 5 - StateBitsets off - DataBitsets off - ActiveStateOutputEnumStorageType "Native Integer" - ZeroExternalMemoryAtStartup on - ZeroInternalMemoryAtStartup on - InitFltsAndDblsToZero off - NoFixptDivByZeroProtection off - EfficientFloat2IntCast off - EfficientMapNaN2IntZero on - LifeSpan "auto" - MaxStackSize "Inherit from target" - BufferReusableBoundary on - SimCompilerOptimization "off" - AccelVerboseBuild off - OptimizeBlockOrder "off" - OptimizeDataStoreBuffers on - BusAssignmentInplaceUpdate on - DifferentSizesBufferReuse off - OptimizationLevel "level2" - OptimizationPriority "Balanced" - OptimizationCustomize on - UseRowMajorAlgorithm off - LabelGuidedReuse off - } - Simulink.DebuggingCC { - $ObjectID 87 - Version "1.18.1" - Array { - Type "Cell" - Dimension 1 - Cell "UseOnlyExistingSharedCode" - PropName "DisabledProps" - } - Description "" - RTPrefix "error" - ConsistencyChecking "none" - ArrayBoundsChecking "none" - SignalInfNanChecking "none" - StringTruncationChecking "error" - SignalRangeChecking "none" - ReadBeforeWriteMsg "UseLocalSettings" - WriteAfterWriteMsg "UseLocalSettings" - WriteAfterReadMsg "UseLocalSettings" - AlgebraicLoopMsg "warning" - ArtificialAlgebraicLoopMsg "warning" - SaveWithDisabledLinksMsg "warning" - SaveWithParameterizedLinksMsg "warning" - CheckSSInitialOutputMsg on - UnderspecifiedInitializationDetection "Simplified" - MergeDetectMultiDrivingBlocksExec "error" - CheckExecutionContextPreStartOutputMsg off - CheckExecutionContextRuntimeOutputMsg off - SignalResolutionControl "UseLocalSettings" - BlockPriorityViolationMsg "warning" - MinStepSizeMsg "warning" - TimeAdjustmentMsg "none" - MaxConsecutiveZCsMsg "error" - MaskedZcDiagnostic "warning" - IgnoredZcDiagnostic "warning" - SolverPrmCheckMsg "none" - InheritedTsInSrcMsg "warning" - MultiTaskDSMMsg "error" - MultiTaskCondExecSysMsg "error" - MultiTaskRateTransMsg "error" - SingleTaskRateTransMsg "none" - TasksWithSamePriorityMsg "warning" - ExportedTasksRateTransMsg "none" - SigSpecEnsureSampleTimeMsg "warning" - CheckMatrixSingularityMsg "none" - IntegerOverflowMsg "warning" - Int32ToFloatConvMsg "warning" - ParameterDowncastMsg "error" - ParameterOverflowMsg "error" - ParameterUnderflowMsg "none" - ParameterPrecisionLossMsg "warning" - ParameterTunabilityLossMsg "warning" - FixptConstUnderflowMsg "none" - FixptConstOverflowMsg "none" - FixptConstPrecisionLossMsg "none" - UnderSpecifiedDataTypeMsg "none" - UnnecessaryDatatypeConvMsg "none" - VectorMatrixConversionMsg "none" - InvalidFcnCallConnMsg "error" - FcnCallInpInsideContextMsg "error" - SignalLabelMismatchMsg "none" - UnconnectedInputMsg "warning" - UnconnectedOutputMsg "warning" - UnconnectedLineMsg "warning" - UseOnlyExistingSharedCode "error" - SFcnCompatibilityMsg "none" - FrameProcessingCompatibilityMsg "error" - UniqueDataStoreMsg "none" - BusObjectLabelMismatch "warning" - RootOutportRequireBusObject "warning" - AssertControl "UseLocalSettings" - AllowSymbolicDim on - RowMajorDimensionSupport off - ModelReferenceIOMsg "none" - ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" - ModelReferenceVersionMismatchMessage "none" - ModelReferenceIOMismatchMessage "none" - UnknownTsInhSupMsg "warning" - ModelReferenceDataLoggingMessage "warning" - ModelReferenceSymbolNameMessage "warning" - ModelReferenceExtraNoncontSigs "error" - StateNameClashWarn "none" - SimStateInterfaceChecksumMismatchMsg "warning" - SimStateOlderReleaseMsg "error" - ChecksumConsistencyForSSReuse "none" - LibraryContextMissingDiagnostic "warning" - MatchCodeGenerationContextForUpdateDiagram "none" - InitInArrayFormatMsg "warning" - StrictBusMsg "ErrorLevel1" - BusNameAdapt "WarnAndRepair" - NonBusSignalsTreatedAsBus "none" - SymbolicDimMinMaxWarning "warning" - LossOfSymbolicDimsSimulationWarning "warning" - LossOfSymbolicDimsCodeGenerationWarning "error" - SymbolicDimsDataTypeCodeGenerationDiagnostic "error" - BlockIODiagnostic "none" - SFUnusedDataAndEventsDiag "warning" - SFUnexpectedBacktrackingDiag "error" - SFInvalidInputDataAccessInChartInitDiag "warning" - SFNoUnconditionalDefaultTransitionDiag "error" - SFTransitionOutsideNaturalParentDiag "warning" - SFUnreachableExecutionPathDiag "warning" - SFUndirectedBroadcastEventsDiag "warning" - SFTransitionActionBeforeConditionDiag "warning" - SFOutputUsedAsStateInMooreChartDiag "error" - SFTemporalDelaySmallerThanSampleTimeDiag "warning" - SFSelfTransitionDiag "warning" - SFExecutionAtInitializationDiag "warning" - SFMachineParentedDataDiag "warning" - IntegerSaturationMsg "warning" - AllowedUnitSystems "all" - UnitsInconsistencyMsg "warning" - AllowAutomaticUnitConversions on - RCSCRenamedMsg "warning" - RCSCObservableMsg "warning" - ForceCombineOutputUpdateInSim off - UnitDatabase "" - UnderSpecifiedDimensionMsg "none" - } - Simulink.HardwareCC { - $ObjectID 88 - Version "1.18.1" - DisabledProps [] - Description "" - ProdBitPerChar 8 - ProdBitPerShort 16 - ProdBitPerInt 32 - ProdBitPerLong 32 - ProdBitPerLongLong 64 - ProdBitPerFloat 32 - ProdBitPerDouble 64 - ProdBitPerPointer 64 - ProdBitPerSizeT 64 - ProdBitPerPtrDiffT 64 - ProdLargestAtomicInteger "Char" - ProdLargestAtomicFloat "Float" - ProdIntDivRoundTo "Zero" - ProdEndianess "LittleEndian" - ProdWordSize 64 - ProdShiftRightIntArith on - ProdLongLongMode off - ProdHWDeviceType "Intel->x86-64 (Windows64)" - TargetBitPerChar 8 - TargetBitPerShort 16 - TargetBitPerInt 32 - TargetBitPerLong 32 - TargetBitPerLongLong 64 - TargetBitPerFloat 32 - TargetBitPerDouble 64 - TargetBitPerPointer 32 - TargetBitPerSizeT 32 - TargetBitPerPtrDiffT 32 - TargetLargestAtomicInteger "Char" - TargetLargestAtomicFloat "None" - TargetShiftRightIntArith on - TargetLongLongMode off - TargetIntDivRoundTo "Undefined" - TargetEndianess "Unspecified" - TargetWordSize 32 - TargetPreprocMaxBitsSint 32 - TargetPreprocMaxBitsUint 32 - TargetHWDeviceType "Specified" - TargetUnknown off - ProdEqTarget on - UseEmbeddedCoderFeatures on - UseSimulinkCoderFeatures on - } - Simulink.ModelReferenceCC { - $ObjectID 89 - Version "1.18.1" - DisabledProps [] - Description "" - UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" - EnableRefExpFcnMdlSchedulingChecks on - CheckModelReferenceTargetMessage "error" - EnableParallelModelReferenceBuilds off - ParallelModelReferenceErrorOnInvalidPool on - ParallelModelReferenceMATLABWorkerInit "None" - ModelReferenceNumInstancesAllowed "Multi" - PropagateVarSize "Infer from blocks in model" - ModelDependencies "" - ModelReferencePassRootInputsByReference on - ModelReferenceMinAlgLoopOccurrences off - PropagateSignalLabelsOutOfModel on - SupportModelReferenceSimTargetCustomCode off - } - Simulink.SFSimCC { - $ObjectID 90 - Version "1.18.1" - DisabledProps [] - Description "" - SimCustomSourceCode "" - SimCustomHeaderCode "" - SimCustomInitializer "" - SimCustomTerminator "" - SimReservedNameArray [] - SimUserSources "" - SimUserIncludeDirs "" - SimUserLibraries "" - SimUserDefines "" - SimCustomCompilerFlags "" - SimCustomLinkerFlags "" - SFSimEcho on - SimCtrlC on - SimIntegrity on - SimUseLocalCustomCode off - SimParseCustomCode on - SimAnalyzeCustomCode off - SimBuildMode "sf_incremental_build" - SimGenImportedTypeDefs off - ModelFunctionsGlobalVisibility "on" - CompileTimeRecursionLimit 50 - EnableRuntimeRecursion on - MATLABDynamicMemAlloc on - MATLABDynamicMemAllocThreshold 65536 - CustomCodeFunctionArrayLayout [] - DefaultCustomCodeFunctionArrayLayout "NotSpecified" - } - Simulink.RTWCC { - $BackupClass "Simulink.RTWCC" - $ObjectID 91 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeHyperlinkInReport" - Cell "GenerateTraceInfo" - Cell "GenerateTraceReport" - Cell "GenerateTraceReportSl" - Cell "GenerateTraceReportSf" - Cell "GenerateTraceReportEml" - Cell "PortableWordSizes" - Cell "GenerateWebview" - Cell "GenerateCodeMetricsReport" - Cell "GenerateCodeReplacementReport" - Cell "GenerateMissedCodeReplacementReport" - Cell "GenerateErtSFunction" - Cell "CreateSILPILBlock" - Cell "CodeExecutionProfiling" - Cell "CodeProfilingSaveOptions" - Cell "CodeProfilingInstrumentation" - PropName "DisabledProps" - } - SystemTargetFile "grt.tlc" - HardwareBoard "None" - TLCOptions "" - GenCodeOnly off - MakeCommand "make_rtw" - GenerateMakefile on - PackageGeneratedCodeAndArtifacts off - PackageName "" - TemplateMakefile "grt_default_tmf" - PostCodeGenCommand "" - Description "" - GenerateReport off - RTWVerbose on - RetainRTWFile off - RTWBuildHooks [] - ProfileTLC off - TLCDebug off - TLCCoverage off - TLCAssert off - RTWUseLocalCustomCode off - RTWUseSimCustomCode off - CustomSourceCode "" - CustomHeaderCode "" - CustomInclude "" - CustomSource "" - CustomLibrary "" - CustomDefine "" - CustomBLASCallback "" - CustomLAPACKCallback "" - CustomFFTCallback "" - CustomInitializer "" - CustomTerminator "" - Toolchain "Automatically locate an installed toolchain" - BuildConfiguration "Faster Builds" - CustomToolchainOptions [] - IncludeHyperlinkInReport off - LaunchReport off - PortableWordSizes off - CreateSILPILBlock "None" - CodeExecutionProfiling off - CodeExecutionProfileVariable "executionProfile" - CodeProfilingSaveOptions "SummaryOnly" - CodeProfilingInstrumentation "off" - SILDebugging off - TargetLang "C" - IncludeBusHierarchyInRTWFileBlockHierarchyMap off - GenerateTraceInfo off - GenerateTraceReport off - GenerateTraceReportSl off - GenerateTraceReportSf off - GenerateTraceReportEml off - GenerateWebview off - GenerateCodeMetricsReport off - GenerateCodeReplacementReport off - GenerateMissedCodeReplacementReport off - RTWCompilerOptimization "off" - ObjectivePriorities [] - RTWCustomCompilerOptimizations "" - CheckMdlBeforeBuild "Off" - SharedConstantsCachingThreshold 1024 - Array { - Type "Handle" - Dimension 2 - Simulink.CodeAppCC { - $ObjectID 92 - Version "1.18.1" - Array { - Type "Cell" - Dimension 28 - Cell "IgnoreCustomStorageClasses" - Cell "IgnoreTestpoints" - Cell "InsertBlockDesc" - Cell "InsertPolySpaceComments" - Cell "SFDataObjDesc" - Cell "MATLABFcnDesc" - Cell "SimulinkDataObjDesc" - Cell "DefineNamingRule" - Cell "SignalNamingRule" - Cell "ParamNamingRule" - Cell "InternalIdentifier" - Cell "InlinedPrmAccess" - Cell "CustomSymbolStr" - Cell "CustomSymbolStrGlobalVar" - Cell "CustomSymbolStrType" - Cell "CustomSymbolStrField" - Cell "CustomSymbolStrFcn" - Cell "CustomSymbolStrModelFcn" - Cell "CustomSymbolStrFcnArg" - Cell "CustomSymbolStrBlkIO" - Cell "CustomSymbolStrTmpVar" - Cell "CustomSymbolStrMacro" - Cell "CustomSymbolStrUtil" - Cell "CustomUserTokenString" - Cell "ReqsInCode" - Cell "BlockCommentType" - Cell "CustomSymbolStrEmxType" - Cell "CustomSymbolStrEmxFcn" - PropName "DisabledProps" - } - Description "" - Comment "" - ForceParamTrailComments off - GenerateComments on - CommentStyle "Auto" - IgnoreCustomStorageClasses on - IgnoreTestpoints off - MaxIdLength 31 - PreserveName off - PreserveNameWithParent off - ShowEliminatedStatement off - OperatorAnnotations off - SimulinkDataObjDesc off - SFDataObjDesc off - MATLABFcnDesc off - MangleLength 1 - SharedChecksumLength 8 - CustomSymbolStrGlobalVar "$R$N$M" - CustomSymbolStrType "$N$R$M_T" - CustomSymbolStrField "$N$M" - CustomSymbolStrFcn "$R$N$M$F" - CustomSymbolStrModelFcn "$R$N" - CustomSymbolStrFcnArg "rt$I$N$M" - CustomSymbolStrBlkIO "rtb_$N$M" - CustomSymbolStrTmpVar "$N$M" - CustomSymbolStrMacro "$R$N$M" - CustomSymbolStrUtil "$N$C" - CustomSymbolStrEmxType "emxArray_$M$N" - CustomSymbolStrEmxFcn "emx$M$N" - CustomUserTokenString "" - CustomCommentsFcn "" - DefineNamingRule "None" - DefineNamingFcn "" - ParamNamingRule "None" - ParamNamingFcn "" - SignalNamingRule "None" - SignalNamingFcn "" - InsertBlockDesc off - InsertPolySpaceComments off - SimulinkBlockComments on - BlockCommentType "BlockPathComment" - StateflowObjectComments on - MATLABSourceComments off - EnableCustomComments off - InternalIdentifierFile "" - InternalIdentifier "Shortened" - InlinedPrmAccess "Literals" - ReqsInCode off - UseSimReservedNames off - ReservedNameArray [] - } - Simulink.GRTTargetCC { - $BackupClass "Simulink.TargetCC" - $ObjectID 93 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeMdlTerminateFcn" - Cell "SuppressErrorStatus" - Cell "ERTCustomFileBanners" - Cell "GenerateSampleERTMain" - Cell "ExistingSharedCode" - Cell "GenerateTestInterfaces" - Cell "ModelStepFunctionPrototypeControlCompliant" - Cell "GenerateAllocFcn" - Cell "PurelyIntegerCode" - Cell "SupportComplex" - Cell "SupportAbsoluteTime" - Cell "SupportContinuousTime" - Cell "SupportNonInlinedSFcns" - Cell "RemoveDisableFunc" - Cell "RemoveResetFunc" - Cell "PreserveStateflowLocalDataDimensions" - PropName "DisabledProps" - } - Description "" - TargetFcnLib "ansi_tfl_table_tmw.mat" - TargetLibSuffix "" - TargetPreCompLibLocation "" - GenFloatMathFcnCalls "NOT IN USE" - TargetLangStandard "C99 (ISO)" - CodeReplacementLibrary "None" - UtilityFuncGeneration "Auto" - MultiwordTypeDef "System defined" - MultiwordLength 2048 - DynamicStringBufferSize 256 - GenerateFullHeader on - InferredTypesCompatibility off - ExistingSharedCode "" - GenerateSampleERTMain off - GenerateTestInterfaces off - ModelReferenceCompliant on - ParMdlRefBuildCompliant on - CompOptLevelCompliant on - ConcurrentExecutionCompliant on - IncludeMdlTerminateFcn on - GeneratePreprocessorConditionals "Use local settings" - CombineOutputUpdateFcns on - CombineSignalStateStructs off - GroupInternalDataByFunction off - SuppressErrorStatus off - IncludeFileDelimiter "Auto" - ERTCustomFileBanners off - SupportAbsoluteTime on - LogVarNameModifier "rt_" - MatFileLogging on - MultiInstanceERTCode off - CodeInterfacePackaging "Nonreusable function" - PurelyIntegerCode off - SupportNonFinite on - SupportComplex on - SupportContinuousTime on - SupportNonInlinedSFcns on - RemoveDisableFunc off - RemoveResetFunc off - SupportVariableSizeSignals off - ParenthesesLevel "Nominal" - CastingMode "Nominal" - PreserveStateflowLocalDataDimensions off - MATLABClassNameForMDSCustomization "Simulink.SoftwareTarget.GRTCustomization" - ModelStepFunctionPrototypeControlCompliant off - CPPClassGenCompliant on - AutosarCompliant off - MDXCompliant off - GRTInterface off - GenerateAllocFcn off - UseToolchainInfoCompliant on - GenerateSharedConstants on - CoderGroups [] - AccessMethods [] - LookupTableObjectStructAxisOrder "1,2,3,4,..." - LUTObjectStructOrderExplicitValues "Size,Breakpoints,Table" - LUTObjectStructOrderEvenSpacing "Size,Breakpoints,Table" - ArrayLayout "Column-major" - UnsupportedSFcnMsg "error" - ERTHeaderFileRootName "$R$E" - ERTSourceFileRootName "$R$E" - ERTDataFileRootName "$R_data" - UseMalloc off - ExtMode off - ExtModeStaticAlloc off - ExtModeTesting off - ExtModeStaticAllocSize 1000000 - ExtModeTransport 0 - ExtModeMexFile "ext_comm" - ExtModeMexArgs "" - ExtModeIntrfLevel "Level1" - RTWCAPISignals off - RTWCAPIParams off - RTWCAPIStates off - RTWCAPIRootIO off - GenerateASAP2 off - MultiInstanceErrorCode "Error" - } - PropName "Components" - } - } - SlCovCC.ConfigComp { - $ObjectID 94 - Version "1.18.1" - DisabledProps [] - Description "Simulink Coverage Configuration Component" - Name "Simulink Coverage" - CovEnable off - CovScope "EntireSystem" - CovIncludeTopModel on - RecordCoverage off - CovPath "/" - CovSaveName "covdata" - CovCompData "" - CovMetricSettings "dwe" - CovFilter "" - CovHTMLOptions "" - CovNameIncrementing off - CovHtmlReporting off - CovForceBlockReductionOff on - CovEnableCumulative on - CovSaveCumulativeToWorkspaceVar off - CovSaveSingleToWorkspaceVar off - CovCumulativeVarName "covCumulativeData" - CovCumulativeReport off - CovSaveOutputData on - CovOutputDir "slcov_output/$ModelName$" - CovDataFileName "$ModelName$_cvdata" - CovShowResultsExplorer on - CovReportOnPause on - CovModelRefEnable "off" - CovModelRefExcluded "" - CovExternalEMLEnable on - CovSFcnEnable on - CovBoundaryAbsTol 1e-05 - CovBoundaryRelTol 0.01 - CovUseTimeInterval off - CovStartTime 0 - CovStopTime 0 - CovMcdcMode "Masking" - } - PropName "Components" - } - Name "Configuration5" - ExtraOptions "" - CurrentDlgPage "Solver" - ConfigPrmDlgPosition [ 321, 71, 1211, 811 ] - } - Simulink.ConfigSet { - $ObjectID 95 - Version "1.18.1" - DisabledProps [] - Description "" - Array { - Type "Handle" - Dimension 9 - Simulink.SolverCC { - $ObjectID 96 - Version "1.18.1" - DisabledProps [] - Description "" - StartTime "0.0" - StopTime "TMax" - AbsTol "auto" - AutoScaleAbsTol on - FixedStep "dt" - InitialStep "auto" - MaxOrder 5 - ZcThreshold "auto" - ConsecutiveZCsStepRelTol "10*128*eps" - MaxConsecutiveZCs "1000" - ExtrapolationOrder 4 - NumberNewtonIterations 1 - MaxStep "auto" - MinStep "auto" - MaxConsecutiveMinStep "1" - RelTol "1e-3" - EnableMultiTasking on - ConcurrentTasks off - Solver "FixedStepDiscrete" - SolverName "FixedStepDiscrete" - SolverJacobianMethodControl "auto" - ShapePreserveControl "DisableAll" - ZeroCrossControl "UseLocalSettings" - ZeroCrossAlgorithm "Nonadaptive" - AlgebraicLoopSolver "TrustRegion" - SolverInfoToggleStatus on - IsAutoAppliedInSIP off - SolverResetMethod "Fast" - PositivePriorityOrder off - AutoInsertRateTranBlk off - SampleTimeConstraint "Unconstrained" - InsertRTBMode "Whenever possible" - SampleTimeProperty [] - DecoupledContinuousIntegration off - MinimalZcImpactIntegration off - } - Simulink.DataIOCC { - $ObjectID 97 - Version "1.18.1" - DisabledProps [] - Description "" - Decimation "1" - ExternalInput "[t, u]" - FinalStateName "xFinal" - InitialState "xInitial" - LimitDataPoints off - MaxDataPoints "1000" - LoadExternalInput off - LoadInitialState off - SaveFinalState off - SaveCompleteFinalSimState off - SaveFormat "Dataset" - SignalLoggingSaveFormat "Dataset" - SaveOutput off - SaveState off - SignalLogging on - DSMLogging on - InspectSignalLogs off - VisualizeSimOutput on - StreamToWorkspace off - StreamVariableName "streamout" - SaveTime off - ReturnWorkspaceOutputs off - StateSaveName "xout" - TimeSaveName "tout" - OutputSaveName "yout" - SignalLoggingName "logsout" - DSMLoggingName "dsmout" - OutputOption "RefineOutputTimes" - OutputTimes "[]" - ReturnWorkspaceOutputsName "out" - Refine "1" - LoggingToFile off - DatasetSignalFormat "timeseries" - LoggingFileName "out.mat" - LoggingIntervals "[-inf, inf]" - } - Simulink.OptimizationCC { - $ObjectID 98 - Version "1.18.1" - Array { - Type "Cell" - Dimension 9 - Cell "BooleansAsBitfields" - Cell "PassReuseOutputArgsAs" - Cell "PassReuseOutputArgsThreshold" - Cell "ZeroExternalMemoryAtStartup" - Cell "ZeroInternalMemoryAtStartup" - Cell "OptimizeModelRefInitCode" - Cell "NoFixptDivByZeroProtection" - Cell "UseSpecifiedMinMax" - Cell "EfficientTunableParamExpr" - PropName "DisabledProps" - } - Description "" - BlockReduction on - BooleanDataType on - ConditionallyExecuteInputs on - DefaultParameterBehavior "Tunable" - UseDivisionForNetSlopeComputation "off" - UseFloatMulNetSlope off - DefaultUnderspecifiedDataType "double" - UseSpecifiedMinMax off - InlineInvariantSignals off - OptimizeBlockIOStorage on - BufferReuse on - EnhancedBackFolding off - CachingGlobalReferences off - GlobalBufferReuse on - StrengthReduction off - AdvancedOptControl "" - ExpressionFolding on - BooleansAsBitfields off - BitfieldContainerType "uint_T" - EnableMemcpy on - MemcpyThreshold 64 - PassReuseOutputArgsAs "Structure reference" - PassReuseOutputArgsThreshold 12 - ExpressionDepthLimit 128 - LocalBlockOutputs on - RollThreshold 5 - StateBitsets off - DataBitsets off - ActiveStateOutputEnumStorageType "Native Integer" - ZeroExternalMemoryAtStartup on - ZeroInternalMemoryAtStartup on - InitFltsAndDblsToZero off - NoFixptDivByZeroProtection off - EfficientFloat2IntCast off - EfficientMapNaN2IntZero on - LifeSpan "auto" - MaxStackSize "Inherit from target" - BufferReusableBoundary on - SimCompilerOptimization "off" - AccelVerboseBuild off - OptimizeBlockOrder "off" - OptimizeDataStoreBuffers on - BusAssignmentInplaceUpdate on - DifferentSizesBufferReuse off - OptimizationLevel "level2" - OptimizationPriority "Balanced" - OptimizationCustomize on - UseRowMajorAlgorithm off - LabelGuidedReuse off - } - Simulink.DebuggingCC { - $ObjectID 99 - Version "1.18.1" - Array { - Type "Cell" - Dimension 1 - Cell "UseOnlyExistingSharedCode" - PropName "DisabledProps" - } - Description "" - RTPrefix "error" - ConsistencyChecking "none" - ArrayBoundsChecking "none" - SignalInfNanChecking "none" - StringTruncationChecking "error" - SignalRangeChecking "none" - ReadBeforeWriteMsg "UseLocalSettings" - WriteAfterWriteMsg "UseLocalSettings" - WriteAfterReadMsg "UseLocalSettings" - AlgebraicLoopMsg "warning" - ArtificialAlgebraicLoopMsg "warning" - SaveWithDisabledLinksMsg "warning" - SaveWithParameterizedLinksMsg "warning" - CheckSSInitialOutputMsg on - UnderspecifiedInitializationDetection "Simplified" - MergeDetectMultiDrivingBlocksExec "error" - CheckExecutionContextPreStartOutputMsg off - CheckExecutionContextRuntimeOutputMsg off - SignalResolutionControl "UseLocalSettings" - BlockPriorityViolationMsg "warning" - MinStepSizeMsg "warning" - TimeAdjustmentMsg "none" - MaxConsecutiveZCsMsg "error" - MaskedZcDiagnostic "warning" - IgnoredZcDiagnostic "warning" - SolverPrmCheckMsg "none" - InheritedTsInSrcMsg "warning" - MultiTaskDSMMsg "error" - MultiTaskCondExecSysMsg "error" - MultiTaskRateTransMsg "error" - SingleTaskRateTransMsg "none" - TasksWithSamePriorityMsg "warning" - ExportedTasksRateTransMsg "none" - SigSpecEnsureSampleTimeMsg "warning" - CheckMatrixSingularityMsg "none" - IntegerOverflowMsg "warning" - Int32ToFloatConvMsg "warning" - ParameterDowncastMsg "error" - ParameterOverflowMsg "error" - ParameterUnderflowMsg "none" - ParameterPrecisionLossMsg "warning" - ParameterTunabilityLossMsg "warning" - FixptConstUnderflowMsg "none" - FixptConstOverflowMsg "none" - FixptConstPrecisionLossMsg "none" - UnderSpecifiedDataTypeMsg "none" - UnnecessaryDatatypeConvMsg "none" - VectorMatrixConversionMsg "none" - InvalidFcnCallConnMsg "error" - FcnCallInpInsideContextMsg "error" - SignalLabelMismatchMsg "none" - UnconnectedInputMsg "warning" - UnconnectedOutputMsg "warning" - UnconnectedLineMsg "warning" - UseOnlyExistingSharedCode "error" - SFcnCompatibilityMsg "none" - FrameProcessingCompatibilityMsg "error" - UniqueDataStoreMsg "none" - BusObjectLabelMismatch "warning" - RootOutportRequireBusObject "warning" - AssertControl "UseLocalSettings" - AllowSymbolicDim on - RowMajorDimensionSupport off - ModelReferenceIOMsg "none" - ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" - ModelReferenceVersionMismatchMessage "none" - ModelReferenceIOMismatchMessage "none" - UnknownTsInhSupMsg "warning" - ModelReferenceDataLoggingMessage "warning" - ModelReferenceSymbolNameMessage "warning" - ModelReferenceExtraNoncontSigs "error" - StateNameClashWarn "none" - SimStateInterfaceChecksumMismatchMsg "warning" - SimStateOlderReleaseMsg "error" - ChecksumConsistencyForSSReuse "none" - LibraryContextMissingDiagnostic "warning" - MatchCodeGenerationContextForUpdateDiagram "none" - InitInArrayFormatMsg "warning" - StrictBusMsg "ErrorLevel1" - BusNameAdapt "WarnAndRepair" - NonBusSignalsTreatedAsBus "none" - SymbolicDimMinMaxWarning "warning" - LossOfSymbolicDimsSimulationWarning "warning" - LossOfSymbolicDimsCodeGenerationWarning "error" - SymbolicDimsDataTypeCodeGenerationDiagnostic "error" - BlockIODiagnostic "none" - SFUnusedDataAndEventsDiag "warning" - SFUnexpectedBacktrackingDiag "error" - SFInvalidInputDataAccessInChartInitDiag "warning" - SFNoUnconditionalDefaultTransitionDiag "error" - SFTransitionOutsideNaturalParentDiag "warning" - SFUnreachableExecutionPathDiag "warning" - SFUndirectedBroadcastEventsDiag "warning" - SFTransitionActionBeforeConditionDiag "warning" - SFOutputUsedAsStateInMooreChartDiag "error" - SFTemporalDelaySmallerThanSampleTimeDiag "warning" - SFSelfTransitionDiag "warning" - SFExecutionAtInitializationDiag "warning" - SFMachineParentedDataDiag "warning" - IntegerSaturationMsg "warning" - AllowedUnitSystems "all" - UnitsInconsistencyMsg "warning" - AllowAutomaticUnitConversions on - RCSCRenamedMsg "warning" - RCSCObservableMsg "warning" - ForceCombineOutputUpdateInSim off - UnitDatabase "" - UnderSpecifiedDimensionMsg "none" - } - Simulink.HardwareCC { - $ObjectID 100 - Version "1.18.1" - DisabledProps [] - Description "" - ProdBitPerChar 8 - ProdBitPerShort 16 - ProdBitPerInt 32 - ProdBitPerLong 32 - ProdBitPerLongLong 64 - ProdBitPerFloat 32 - ProdBitPerDouble 64 - ProdBitPerPointer 64 - ProdBitPerSizeT 64 - ProdBitPerPtrDiffT 64 - ProdLargestAtomicInteger "Char" - ProdLargestAtomicFloat "Float" - ProdIntDivRoundTo "Zero" - ProdEndianess "LittleEndian" - ProdWordSize 64 - ProdShiftRightIntArith on - ProdLongLongMode off - ProdHWDeviceType "Intel->x86-64 (Windows64)" - TargetBitPerChar 8 - TargetBitPerShort 16 - TargetBitPerInt 32 - TargetBitPerLong 32 - TargetBitPerLongLong 64 - TargetBitPerFloat 32 - TargetBitPerDouble 64 - TargetBitPerPointer 32 - TargetBitPerSizeT 32 - TargetBitPerPtrDiffT 32 - TargetLargestAtomicInteger "Char" - TargetLargestAtomicFloat "None" - TargetShiftRightIntArith on - TargetLongLongMode off - TargetIntDivRoundTo "Undefined" - TargetEndianess "Unspecified" - TargetWordSize 32 - TargetPreprocMaxBitsSint 32 - TargetPreprocMaxBitsUint 32 - TargetHWDeviceType "Specified" - TargetUnknown off - ProdEqTarget on - UseEmbeddedCoderFeatures on - UseSimulinkCoderFeatures on - } - Simulink.ModelReferenceCC { - $ObjectID 101 - Version "1.18.1" - DisabledProps [] - Description "" - UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" - EnableRefExpFcnMdlSchedulingChecks on - CheckModelReferenceTargetMessage "error" - EnableParallelModelReferenceBuilds off - ParallelModelReferenceErrorOnInvalidPool on - ParallelModelReferenceMATLABWorkerInit "None" - ModelReferenceNumInstancesAllowed "Multi" - PropagateVarSize "Infer from blocks in model" - ModelDependencies "" - ModelReferencePassRootInputsByReference on - ModelReferenceMinAlgLoopOccurrences off - PropagateSignalLabelsOutOfModel on - SupportModelReferenceSimTargetCustomCode off - } - Simulink.SFSimCC { - $ObjectID 102 - Version "1.18.1" - DisabledProps [] - Description "" - SimCustomSourceCode "" - SimCustomHeaderCode "" - SimCustomInitializer "" - SimCustomTerminator "" - SimReservedNameArray [] - SimUserSources "" - SimUserIncludeDirs "" - SimUserLibraries "" - SimUserDefines "" - SimCustomCompilerFlags "" - SimCustomLinkerFlags "" - SFSimEcho on - SimCtrlC on - SimIntegrity on - SimUseLocalCustomCode off - SimParseCustomCode on - SimAnalyzeCustomCode off - SimBuildMode "sf_incremental_build" - SimGenImportedTypeDefs off - ModelFunctionsGlobalVisibility "on" - CompileTimeRecursionLimit 50 - EnableRuntimeRecursion on - MATLABDynamicMemAlloc on - MATLABDynamicMemAllocThreshold 65536 - CustomCodeFunctionArrayLayout [] - DefaultCustomCodeFunctionArrayLayout "NotSpecified" - } - Simulink.RTWCC { - $BackupClass "Simulink.RTWCC" - $ObjectID 103 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeHyperlinkInReport" - Cell "GenerateTraceInfo" - Cell "GenerateTraceReport" - Cell "GenerateTraceReportSl" - Cell "GenerateTraceReportSf" - Cell "GenerateTraceReportEml" - Cell "PortableWordSizes" - Cell "GenerateWebview" - Cell "GenerateCodeMetricsReport" - Cell "GenerateCodeReplacementReport" - Cell "GenerateMissedCodeReplacementReport" - Cell "GenerateErtSFunction" - Cell "CreateSILPILBlock" - Cell "CodeExecutionProfiling" - Cell "CodeProfilingSaveOptions" - Cell "CodeProfilingInstrumentation" - PropName "DisabledProps" - } - SystemTargetFile "grt.tlc" - HardwareBoard "None" - TLCOptions "" - GenCodeOnly off - MakeCommand "make_rtw" - GenerateMakefile on - PackageGeneratedCodeAndArtifacts off - PackageName "" - TemplateMakefile "grt_default_tmf" - PostCodeGenCommand "" - Description "" - GenerateReport off - RTWVerbose on - RetainRTWFile off - RTWBuildHooks [] - ProfileTLC off - TLCDebug off - TLCCoverage off - TLCAssert off - RTWUseLocalCustomCode off - RTWUseSimCustomCode off - CustomSourceCode "" - CustomHeaderCode "" - CustomInclude "" - CustomSource "" - CustomLibrary "" - CustomDefine "" - CustomBLASCallback "" - CustomLAPACKCallback "" - CustomFFTCallback "" - CustomInitializer "" - CustomTerminator "" - Toolchain "Automatically locate an installed toolchain" - BuildConfiguration "Faster Builds" - CustomToolchainOptions [] - IncludeHyperlinkInReport off - LaunchReport off - PortableWordSizes off - CreateSILPILBlock "None" - CodeExecutionProfiling off - CodeExecutionProfileVariable "executionProfile" - CodeProfilingSaveOptions "SummaryOnly" - CodeProfilingInstrumentation "off" - SILDebugging off - TargetLang "C" - IncludeBusHierarchyInRTWFileBlockHierarchyMap off - GenerateTraceInfo off - GenerateTraceReport off - GenerateTraceReportSl off - GenerateTraceReportSf off - GenerateTraceReportEml off - GenerateWebview off - GenerateCodeMetricsReport off - GenerateCodeReplacementReport off - GenerateMissedCodeReplacementReport off - RTWCompilerOptimization "off" - ObjectivePriorities [] - RTWCustomCompilerOptimizations "" - CheckMdlBeforeBuild "Off" - SharedConstantsCachingThreshold 1024 - Array { - Type "Handle" - Dimension 2 - Simulink.CodeAppCC { - $ObjectID 104 - Version "1.18.1" - Array { - Type "Cell" - Dimension 28 - Cell "IgnoreCustomStorageClasses" - Cell "IgnoreTestpoints" - Cell "InsertBlockDesc" - Cell "InsertPolySpaceComments" - Cell "SFDataObjDesc" - Cell "MATLABFcnDesc" - Cell "SimulinkDataObjDesc" - Cell "DefineNamingRule" - Cell "SignalNamingRule" - Cell "ParamNamingRule" - Cell "InternalIdentifier" - Cell "InlinedPrmAccess" - Cell "CustomSymbolStr" - Cell "CustomSymbolStrGlobalVar" - Cell "CustomSymbolStrType" - Cell "CustomSymbolStrField" - Cell "CustomSymbolStrFcn" - Cell "CustomSymbolStrModelFcn" - Cell "CustomSymbolStrFcnArg" - Cell "CustomSymbolStrBlkIO" - Cell "CustomSymbolStrTmpVar" - Cell "CustomSymbolStrMacro" - Cell "CustomSymbolStrUtil" - Cell "CustomUserTokenString" - Cell "ReqsInCode" - Cell "BlockCommentType" - Cell "CustomSymbolStrEmxType" - Cell "CustomSymbolStrEmxFcn" - PropName "DisabledProps" - } - Description "" - Comment "" - ForceParamTrailComments off - GenerateComments on - CommentStyle "Auto" - IgnoreCustomStorageClasses on - IgnoreTestpoints off - MaxIdLength 31 - PreserveName off - PreserveNameWithParent off - ShowEliminatedStatement off - OperatorAnnotations off - SimulinkDataObjDesc off - SFDataObjDesc off - MATLABFcnDesc off - MangleLength 1 - SharedChecksumLength 8 - CustomSymbolStrGlobalVar "$R$N$M" - CustomSymbolStrType "$N$R$M_T" - CustomSymbolStrField "$N$M" - CustomSymbolStrFcn "$R$N$M$F" - CustomSymbolStrModelFcn "$R$N" - CustomSymbolStrFcnArg "rt$I$N$M" - CustomSymbolStrBlkIO "rtb_$N$M" - CustomSymbolStrTmpVar "$N$M" - CustomSymbolStrMacro "$R$N$M" - CustomSymbolStrUtil "$N$C" - CustomSymbolStrEmxType "emxArray_$M$N" - CustomSymbolStrEmxFcn "emx$M$N" - CustomUserTokenString "" - CustomCommentsFcn "" - DefineNamingRule "None" - DefineNamingFcn "" - ParamNamingRule "None" - ParamNamingFcn "" - SignalNamingRule "None" - SignalNamingFcn "" - InsertBlockDesc off - InsertPolySpaceComments off - SimulinkBlockComments on - BlockCommentType "BlockPathComment" - StateflowObjectComments on - MATLABSourceComments off - EnableCustomComments off - InternalIdentifierFile "" - InternalIdentifier "Shortened" - InlinedPrmAccess "Literals" - ReqsInCode off - UseSimReservedNames off - ReservedNameArray [] - } - Simulink.GRTTargetCC { - $BackupClass "Simulink.TargetCC" - $ObjectID 105 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeMdlTerminateFcn" - Cell "SuppressErrorStatus" - Cell "ERTCustomFileBanners" - Cell "GenerateSampleERTMain" - Cell "ExistingSharedCode" - Cell "GenerateTestInterfaces" - Cell "ModelStepFunctionPrototypeControlCompliant" - Cell "GenerateAllocFcn" - Cell "PurelyIntegerCode" - Cell "SupportComplex" - Cell "SupportAbsoluteTime" - Cell "SupportContinuousTime" - Cell "SupportNonInlinedSFcns" - Cell "RemoveDisableFunc" - Cell "RemoveResetFunc" - Cell "PreserveStateflowLocalDataDimensions" - PropName "DisabledProps" - } - Description "" - TargetFcnLib "ansi_tfl_table_tmw.mat" - TargetLibSuffix "" - TargetPreCompLibLocation "" - GenFloatMathFcnCalls "NOT IN USE" - TargetLangStandard "C99 (ISO)" - CodeReplacementLibrary "None" - UtilityFuncGeneration "Auto" - MultiwordTypeDef "System defined" - MultiwordLength 2048 - DynamicStringBufferSize 256 - GenerateFullHeader on - InferredTypesCompatibility off - ExistingSharedCode "" - GenerateSampleERTMain off - GenerateTestInterfaces off - ModelReferenceCompliant on - ParMdlRefBuildCompliant on - CompOptLevelCompliant on - ConcurrentExecutionCompliant on - IncludeMdlTerminateFcn on - GeneratePreprocessorConditionals "Use local settings" - CombineOutputUpdateFcns on - CombineSignalStateStructs off - GroupInternalDataByFunction off - SuppressErrorStatus off - IncludeFileDelimiter "Auto" - ERTCustomFileBanners off - SupportAbsoluteTime on - LogVarNameModifier "rt_" - MatFileLogging on - MultiInstanceERTCode off - CodeInterfacePackaging "Nonreusable function" - PurelyIntegerCode off - SupportNonFinite on - SupportComplex on - SupportContinuousTime on - SupportNonInlinedSFcns on - RemoveDisableFunc off - RemoveResetFunc off - SupportVariableSizeSignals off - ParenthesesLevel "Nominal" - CastingMode "Nominal" - PreserveStateflowLocalDataDimensions off - MATLABClassNameForMDSCustomization "Simulink.SoftwareTarget.GRTCustomization" - ModelStepFunctionPrototypeControlCompliant off - CPPClassGenCompliant on - AutosarCompliant off - MDXCompliant off - GRTInterface off - GenerateAllocFcn off - UseToolchainInfoCompliant on - GenerateSharedConstants on - CoderGroups [] - AccessMethods [] - LookupTableObjectStructAxisOrder "1,2,3,4,..." - LUTObjectStructOrderExplicitValues "Size,Breakpoints,Table" - LUTObjectStructOrderEvenSpacing "Size,Breakpoints,Table" - ArrayLayout "Column-major" - UnsupportedSFcnMsg "error" - ERTHeaderFileRootName "$R$E" - ERTSourceFileRootName "$R$E" - ERTDataFileRootName "$R_data" - UseMalloc off - ExtMode off - ExtModeStaticAlloc off - ExtModeTesting off - ExtModeStaticAllocSize 1000000 - ExtModeTransport 0 - ExtModeMexFile "ext_comm" - ExtModeMexArgs "" - ExtModeIntrfLevel "Level1" - RTWCAPISignals off - RTWCAPIParams off - RTWCAPIStates off - RTWCAPIRootIO off - GenerateASAP2 off - MultiInstanceErrorCode "Error" - } - PropName "Components" - } - } - SlCovCC.ConfigComp { - $ObjectID 106 - Version "1.18.1" - DisabledProps [] - Description "Simulink Coverage Configuration Component" - Name "Simulink Coverage" - CovEnable off - CovScope "EntireSystem" - CovIncludeTopModel on - RecordCoverage off - CovPath "/" - CovSaveName "covdata" - CovCompData "" - CovMetricSettings "dwe" - CovFilter "" - CovHTMLOptions "" - CovNameIncrementing off - CovHtmlReporting off - CovForceBlockReductionOff on - CovEnableCumulative on - CovSaveCumulativeToWorkspaceVar off - CovSaveSingleToWorkspaceVar off - CovCumulativeVarName "covCumulativeData" - CovCumulativeReport off - CovSaveOutputData on - CovOutputDir "slcov_output/$ModelName$" - CovDataFileName "$ModelName$_cvdata" - CovShowResultsExplorer on - CovReportOnPause on - CovModelRefEnable "off" - CovModelRefExcluded "" - CovExternalEMLEnable on - CovSFcnEnable on - CovBoundaryAbsTol 1e-05 - CovBoundaryRelTol 0.01 - CovUseTimeInterval off - CovStartTime 0 - CovStopTime 0 - CovMcdcMode "Masking" - } - PropName "Components" - } - Name "Configuration6" - ExtraOptions "" - CurrentDlgPage "Solver" - ConfigPrmDlgPosition [ 321, 71, 1211, 811 ] - } - Simulink.ConfigSet { - $ObjectID 107 - Version "1.18.1" - DisabledProps [] - Description "" - Array { - Type "Handle" - Dimension 9 - Simulink.SolverCC { - $ObjectID 108 - Version "1.18.1" - DisabledProps [] - Description "" - StartTime "0.0" - StopTime "TMax" - AbsTol "auto" - AutoScaleAbsTol on - FixedStep "dt" - InitialStep "auto" - MaxOrder 5 - ZcThreshold "auto" - ConsecutiveZCsStepRelTol "10*128*eps" - MaxConsecutiveZCs "1000" - ExtrapolationOrder 4 - NumberNewtonIterations 1 - MaxStep "auto" - MinStep "auto" - MaxConsecutiveMinStep "1" - RelTol "1e-3" - EnableMultiTasking on - ConcurrentTasks off - Solver "FixedStepDiscrete" - SolverName "FixedStepDiscrete" - SolverJacobianMethodControl "auto" - ShapePreserveControl "DisableAll" - ZeroCrossControl "UseLocalSettings" - ZeroCrossAlgorithm "Nonadaptive" - AlgebraicLoopSolver "TrustRegion" - SolverInfoToggleStatus on - IsAutoAppliedInSIP off - SolverResetMethod "Fast" - PositivePriorityOrder off - AutoInsertRateTranBlk off - SampleTimeConstraint "Unconstrained" - InsertRTBMode "Whenever possible" - SampleTimeProperty [] - DecoupledContinuousIntegration off - MinimalZcImpactIntegration off - } - Simulink.DataIOCC { - $ObjectID 109 - Version "1.18.1" - DisabledProps [] - Description "" - Decimation "1" - ExternalInput "[t, u]" - FinalStateName "xFinal" - InitialState "xInitial" - LimitDataPoints off - MaxDataPoints "1000" - LoadExternalInput off - LoadInitialState off - SaveFinalState off - SaveCompleteFinalSimState off - SaveFormat "Dataset" - SignalLoggingSaveFormat "Dataset" - SaveOutput off - SaveState off - SignalLogging on - DSMLogging on - InspectSignalLogs off - VisualizeSimOutput on - StreamToWorkspace off - StreamVariableName "streamout" - SaveTime off - ReturnWorkspaceOutputs off - StateSaveName "xout" - TimeSaveName "tout" - OutputSaveName "yout" - SignalLoggingName "logsout" - DSMLoggingName "dsmout" - OutputOption "RefineOutputTimes" - OutputTimes "[]" - ReturnWorkspaceOutputsName "out" - Refine "1" - LoggingToFile off - DatasetSignalFormat "timeseries" - LoggingFileName "out.mat" - LoggingIntervals "[-inf, inf]" - } - Simulink.OptimizationCC { - $ObjectID 110 - Version "1.18.1" - Array { - Type "Cell" - Dimension 9 - Cell "BooleansAsBitfields" - Cell "PassReuseOutputArgsAs" - Cell "PassReuseOutputArgsThreshold" - Cell "ZeroExternalMemoryAtStartup" - Cell "ZeroInternalMemoryAtStartup" - Cell "OptimizeModelRefInitCode" - Cell "NoFixptDivByZeroProtection" - Cell "UseSpecifiedMinMax" - Cell "EfficientTunableParamExpr" - PropName "DisabledProps" - } - Description "" - BlockReduction on - BooleanDataType on - ConditionallyExecuteInputs on - DefaultParameterBehavior "Tunable" - UseDivisionForNetSlopeComputation "off" - UseFloatMulNetSlope off - DefaultUnderspecifiedDataType "double" - UseSpecifiedMinMax off - InlineInvariantSignals off - OptimizeBlockIOStorage on - BufferReuse on - EnhancedBackFolding off - CachingGlobalReferences off - GlobalBufferReuse on - StrengthReduction off - AdvancedOptControl "" - ExpressionFolding on - BooleansAsBitfields off - BitfieldContainerType "uint_T" - EnableMemcpy on - MemcpyThreshold 64 - PassReuseOutputArgsAs "Structure reference" - PassReuseOutputArgsThreshold 12 - ExpressionDepthLimit 128 - LocalBlockOutputs on - RollThreshold 5 - StateBitsets off - DataBitsets off - ActiveStateOutputEnumStorageType "Native Integer" - ZeroExternalMemoryAtStartup on - ZeroInternalMemoryAtStartup on - InitFltsAndDblsToZero off - NoFixptDivByZeroProtection off - EfficientFloat2IntCast off - EfficientMapNaN2IntZero on - LifeSpan "auto" - MaxStackSize "Inherit from target" - BufferReusableBoundary on - SimCompilerOptimization "off" - AccelVerboseBuild off - OptimizeBlockOrder "off" - OptimizeDataStoreBuffers on - BusAssignmentInplaceUpdate on - DifferentSizesBufferReuse off - OptimizationLevel "level2" - OptimizationPriority "Balanced" - OptimizationCustomize on - UseRowMajorAlgorithm off - LabelGuidedReuse off - } - Simulink.DebuggingCC { - $ObjectID 111 - Version "1.18.1" - Array { - Type "Cell" - Dimension 1 - Cell "UseOnlyExistingSharedCode" - PropName "DisabledProps" - } - Description "" - RTPrefix "error" - ConsistencyChecking "none" - ArrayBoundsChecking "none" - SignalInfNanChecking "none" - StringTruncationChecking "error" - SignalRangeChecking "none" - ReadBeforeWriteMsg "UseLocalSettings" - WriteAfterWriteMsg "UseLocalSettings" - WriteAfterReadMsg "UseLocalSettings" - AlgebraicLoopMsg "warning" - ArtificialAlgebraicLoopMsg "warning" - SaveWithDisabledLinksMsg "warning" - SaveWithParameterizedLinksMsg "warning" - CheckSSInitialOutputMsg on - UnderspecifiedInitializationDetection "Simplified" - MergeDetectMultiDrivingBlocksExec "error" - CheckExecutionContextPreStartOutputMsg off - CheckExecutionContextRuntimeOutputMsg off - SignalResolutionControl "UseLocalSettings" - BlockPriorityViolationMsg "warning" - MinStepSizeMsg "warning" - TimeAdjustmentMsg "none" - MaxConsecutiveZCsMsg "error" - MaskedZcDiagnostic "warning" - IgnoredZcDiagnostic "warning" - SolverPrmCheckMsg "none" - InheritedTsInSrcMsg "warning" - MultiTaskDSMMsg "error" - MultiTaskCondExecSysMsg "error" - MultiTaskRateTransMsg "error" - SingleTaskRateTransMsg "none" - TasksWithSamePriorityMsg "warning" - ExportedTasksRateTransMsg "none" - SigSpecEnsureSampleTimeMsg "warning" - CheckMatrixSingularityMsg "none" - IntegerOverflowMsg "warning" - Int32ToFloatConvMsg "warning" - ParameterDowncastMsg "error" - ParameterOverflowMsg "error" - ParameterUnderflowMsg "none" - ParameterPrecisionLossMsg "warning" - ParameterTunabilityLossMsg "warning" - FixptConstUnderflowMsg "none" - FixptConstOverflowMsg "none" - FixptConstPrecisionLossMsg "none" - UnderSpecifiedDataTypeMsg "none" - UnnecessaryDatatypeConvMsg "none" - VectorMatrixConversionMsg "none" - InvalidFcnCallConnMsg "error" - FcnCallInpInsideContextMsg "error" - SignalLabelMismatchMsg "none" - UnconnectedInputMsg "warning" - UnconnectedOutputMsg "warning" - UnconnectedLineMsg "warning" - UseOnlyExistingSharedCode "error" - SFcnCompatibilityMsg "none" - FrameProcessingCompatibilityMsg "error" - UniqueDataStoreMsg "none" - BusObjectLabelMismatch "warning" - RootOutportRequireBusObject "warning" - AssertControl "UseLocalSettings" - AllowSymbolicDim on - RowMajorDimensionSupport off - ModelReferenceIOMsg "none" - ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" - ModelReferenceVersionMismatchMessage "none" - ModelReferenceIOMismatchMessage "none" - UnknownTsInhSupMsg "warning" - ModelReferenceDataLoggingMessage "warning" - ModelReferenceSymbolNameMessage "warning" - ModelReferenceExtraNoncontSigs "error" - StateNameClashWarn "none" - SimStateInterfaceChecksumMismatchMsg "warning" - SimStateOlderReleaseMsg "error" - ChecksumConsistencyForSSReuse "none" - LibraryContextMissingDiagnostic "warning" - MatchCodeGenerationContextForUpdateDiagram "none" - InitInArrayFormatMsg "warning" - StrictBusMsg "ErrorLevel1" - BusNameAdapt "WarnAndRepair" - NonBusSignalsTreatedAsBus "none" - SymbolicDimMinMaxWarning "warning" - LossOfSymbolicDimsSimulationWarning "warning" - LossOfSymbolicDimsCodeGenerationWarning "error" - SymbolicDimsDataTypeCodeGenerationDiagnostic "error" - BlockIODiagnostic "none" - SFUnusedDataAndEventsDiag "warning" - SFUnexpectedBacktrackingDiag "error" - SFInvalidInputDataAccessInChartInitDiag "warning" - SFNoUnconditionalDefaultTransitionDiag "error" - SFTransitionOutsideNaturalParentDiag "warning" - SFUnreachableExecutionPathDiag "warning" - SFUndirectedBroadcastEventsDiag "warning" - SFTransitionActionBeforeConditionDiag "warning" - SFOutputUsedAsStateInMooreChartDiag "error" - SFTemporalDelaySmallerThanSampleTimeDiag "warning" - SFSelfTransitionDiag "warning" - SFExecutionAtInitializationDiag "warning" - SFMachineParentedDataDiag "warning" - IntegerSaturationMsg "warning" - AllowedUnitSystems "all" - UnitsInconsistencyMsg "warning" - AllowAutomaticUnitConversions on - RCSCRenamedMsg "warning" - RCSCObservableMsg "warning" - ForceCombineOutputUpdateInSim off - UnitDatabase "" - UnderSpecifiedDimensionMsg "none" - } - Simulink.HardwareCC { - $ObjectID 112 - Version "1.18.1" - DisabledProps [] - Description "" - ProdBitPerChar 8 - ProdBitPerShort 16 - ProdBitPerInt 32 - ProdBitPerLong 32 - ProdBitPerLongLong 64 - ProdBitPerFloat 32 - ProdBitPerDouble 64 - ProdBitPerPointer 64 - ProdBitPerSizeT 64 - ProdBitPerPtrDiffT 64 - ProdLargestAtomicInteger "Char" - ProdLargestAtomicFloat "Float" - ProdIntDivRoundTo "Zero" - ProdEndianess "LittleEndian" - ProdWordSize 64 - ProdShiftRightIntArith on - ProdLongLongMode off - ProdHWDeviceType "Intel->x86-64 (Windows64)" - TargetBitPerChar 8 - TargetBitPerShort 16 - TargetBitPerInt 32 - TargetBitPerLong 32 - TargetBitPerLongLong 64 - TargetBitPerFloat 32 - TargetBitPerDouble 64 - TargetBitPerPointer 32 - TargetBitPerSizeT 32 - TargetBitPerPtrDiffT 32 - TargetLargestAtomicInteger "Char" - TargetLargestAtomicFloat "None" - TargetShiftRightIntArith on - TargetLongLongMode off - TargetIntDivRoundTo "Undefined" - TargetEndianess "Unspecified" - TargetWordSize 32 - TargetPreprocMaxBitsSint 32 - TargetPreprocMaxBitsUint 32 - TargetHWDeviceType "Specified" - TargetUnknown off - ProdEqTarget on - UseEmbeddedCoderFeatures on - UseSimulinkCoderFeatures on - } - Simulink.ModelReferenceCC { - $ObjectID 113 - Version "1.18.1" - DisabledProps [] - Description "" - UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" - EnableRefExpFcnMdlSchedulingChecks on - CheckModelReferenceTargetMessage "error" - EnableParallelModelReferenceBuilds off - ParallelModelReferenceErrorOnInvalidPool on - ParallelModelReferenceMATLABWorkerInit "None" - ModelReferenceNumInstancesAllowed "Multi" - PropagateVarSize "Infer from blocks in model" - ModelDependencies "" - ModelReferencePassRootInputsByReference on - ModelReferenceMinAlgLoopOccurrences off - PropagateSignalLabelsOutOfModel on - SupportModelReferenceSimTargetCustomCode off - } - Simulink.SFSimCC { - $ObjectID 114 - Version "1.18.1" - DisabledProps [] - Description "" - SimCustomSourceCode "" - SimCustomHeaderCode "" - SimCustomInitializer "" - SimCustomTerminator "" - SimReservedNameArray [] - SimUserSources "" - SimUserIncludeDirs "" - SimUserLibraries "" - SimUserDefines "" - SimCustomCompilerFlags "" - SimCustomLinkerFlags "" - SFSimEcho on - SimCtrlC on - SimIntegrity on - SimUseLocalCustomCode off - SimParseCustomCode on - SimAnalyzeCustomCode off - SimBuildMode "sf_incremental_build" - SimGenImportedTypeDefs off - ModelFunctionsGlobalVisibility "on" - CompileTimeRecursionLimit 50 - EnableRuntimeRecursion on - MATLABDynamicMemAlloc on - MATLABDynamicMemAllocThreshold 65536 - CustomCodeFunctionArrayLayout [] - DefaultCustomCodeFunctionArrayLayout "NotSpecified" - } - Simulink.RTWCC { - $BackupClass "Simulink.RTWCC" - $ObjectID 115 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeHyperlinkInReport" - Cell "GenerateTraceInfo" - Cell "GenerateTraceReport" - Cell "GenerateTraceReportSl" - Cell "GenerateTraceReportSf" - Cell "GenerateTraceReportEml" - Cell "PortableWordSizes" - Cell "GenerateWebview" - Cell "GenerateCodeMetricsReport" - Cell "GenerateCodeReplacementReport" - Cell "GenerateMissedCodeReplacementReport" - Cell "GenerateErtSFunction" - Cell "CreateSILPILBlock" - Cell "CodeExecutionProfiling" - Cell "CodeProfilingSaveOptions" - Cell "CodeProfilingInstrumentation" - PropName "DisabledProps" - } - SystemTargetFile "grt.tlc" - HardwareBoard "None" - TLCOptions "" - GenCodeOnly off - MakeCommand "make_rtw" - GenerateMakefile on - PackageGeneratedCodeAndArtifacts off - PackageName "" - TemplateMakefile "grt_default_tmf" - PostCodeGenCommand "" - Description "" - GenerateReport off - RTWVerbose on - RetainRTWFile off - RTWBuildHooks [] - ProfileTLC off - TLCDebug off - TLCCoverage off - TLCAssert off - RTWUseLocalCustomCode off - RTWUseSimCustomCode off - CustomSourceCode "" - CustomHeaderCode "" - CustomInclude "" - CustomSource "" - CustomLibrary "" - CustomDefine "" - CustomBLASCallback "" - CustomLAPACKCallback "" - CustomFFTCallback "" - CustomInitializer "" - CustomTerminator "" - Toolchain "Automatically locate an installed toolchain" - BuildConfiguration "Faster Builds" - CustomToolchainOptions [] - IncludeHyperlinkInReport off - LaunchReport off - PortableWordSizes off - CreateSILPILBlock "None" - CodeExecutionProfiling off - CodeExecutionProfileVariable "executionProfile" - CodeProfilingSaveOptions "SummaryOnly" - CodeProfilingInstrumentation "off" - SILDebugging off - TargetLang "C" - IncludeBusHierarchyInRTWFileBlockHierarchyMap off - GenerateTraceInfo off - GenerateTraceReport off - GenerateTraceReportSl off - GenerateTraceReportSf off - GenerateTraceReportEml off - GenerateWebview off - GenerateCodeMetricsReport off - GenerateCodeReplacementReport off - GenerateMissedCodeReplacementReport off - RTWCompilerOptimization "off" - ObjectivePriorities [] - RTWCustomCompilerOptimizations "" - CheckMdlBeforeBuild "Off" - SharedConstantsCachingThreshold 1024 - Array { - Type "Handle" - Dimension 2 - Simulink.CodeAppCC { - $ObjectID 116 - Version "1.18.1" - Array { - Type "Cell" - Dimension 28 - Cell "IgnoreCustomStorageClasses" - Cell "IgnoreTestpoints" - Cell "InsertBlockDesc" - Cell "InsertPolySpaceComments" - Cell "SFDataObjDesc" - Cell "MATLABFcnDesc" - Cell "SimulinkDataObjDesc" - Cell "DefineNamingRule" - Cell "SignalNamingRule" - Cell "ParamNamingRule" - Cell "InternalIdentifier" - Cell "InlinedPrmAccess" - Cell "CustomSymbolStr" - Cell "CustomSymbolStrGlobalVar" - Cell "CustomSymbolStrType" - Cell "CustomSymbolStrField" - Cell "CustomSymbolStrFcn" - Cell "CustomSymbolStrModelFcn" - Cell "CustomSymbolStrFcnArg" - Cell "CustomSymbolStrBlkIO" - Cell "CustomSymbolStrTmpVar" - Cell "CustomSymbolStrMacro" - Cell "CustomSymbolStrUtil" - Cell "CustomUserTokenString" - Cell "ReqsInCode" - Cell "BlockCommentType" - Cell "CustomSymbolStrEmxType" - Cell "CustomSymbolStrEmxFcn" - PropName "DisabledProps" - } - Description "" - Comment "" - ForceParamTrailComments off - GenerateComments on - CommentStyle "Auto" - IgnoreCustomStorageClasses on - IgnoreTestpoints off - MaxIdLength 31 - PreserveName off - PreserveNameWithParent off - ShowEliminatedStatement off - OperatorAnnotations off - SimulinkDataObjDesc off - SFDataObjDesc off - MATLABFcnDesc off - MangleLength 1 - SharedChecksumLength 8 - CustomSymbolStrGlobalVar "$R$N$M" - CustomSymbolStrType "$N$R$M_T" - CustomSymbolStrField "$N$M" - CustomSymbolStrFcn "$R$N$M$F" - CustomSymbolStrModelFcn "$R$N" - CustomSymbolStrFcnArg "rt$I$N$M" - CustomSymbolStrBlkIO "rtb_$N$M" - CustomSymbolStrTmpVar "$N$M" - CustomSymbolStrMacro "$R$N$M" - CustomSymbolStrUtil "$N$C" - CustomSymbolStrEmxType "emxArray_$M$N" - CustomSymbolStrEmxFcn "emx$M$N" - CustomUserTokenString "" - CustomCommentsFcn "" - DefineNamingRule "None" - DefineNamingFcn "" - ParamNamingRule "None" - ParamNamingFcn "" - SignalNamingRule "None" - SignalNamingFcn "" - InsertBlockDesc off - InsertPolySpaceComments off - SimulinkBlockComments on - BlockCommentType "BlockPathComment" - StateflowObjectComments on - MATLABSourceComments off - EnableCustomComments off - InternalIdentifierFile "" - InternalIdentifier "Shortened" - InlinedPrmAccess "Literals" - ReqsInCode off - UseSimReservedNames off - ReservedNameArray [] - } - Simulink.GRTTargetCC { - $BackupClass "Simulink.TargetCC" - $ObjectID 117 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeMdlTerminateFcn" - Cell "SuppressErrorStatus" - Cell "ERTCustomFileBanners" - Cell "GenerateSampleERTMain" - Cell "ExistingSharedCode" - Cell "GenerateTestInterfaces" - Cell "ModelStepFunctionPrototypeControlCompliant" - Cell "GenerateAllocFcn" - Cell "PurelyIntegerCode" - Cell "SupportComplex" - Cell "SupportAbsoluteTime" - Cell "SupportContinuousTime" - Cell "SupportNonInlinedSFcns" - Cell "RemoveDisableFunc" - Cell "RemoveResetFunc" - Cell "PreserveStateflowLocalDataDimensions" - PropName "DisabledProps" - } - Description "" - TargetFcnLib "ansi_tfl_table_tmw.mat" - TargetLibSuffix "" - TargetPreCompLibLocation "" - GenFloatMathFcnCalls "NOT IN USE" - TargetLangStandard "C99 (ISO)" - CodeReplacementLibrary "None" - UtilityFuncGeneration "Auto" - MultiwordTypeDef "System defined" - MultiwordLength 2048 - DynamicStringBufferSize 256 - GenerateFullHeader on - InferredTypesCompatibility off - ExistingSharedCode "" - GenerateSampleERTMain off - GenerateTestInterfaces off - ModelReferenceCompliant on - ParMdlRefBuildCompliant on - CompOptLevelCompliant on - ConcurrentExecutionCompliant on - IncludeMdlTerminateFcn on - GeneratePreprocessorConditionals "Use local settings" - CombineOutputUpdateFcns on - CombineSignalStateStructs off - GroupInternalDataByFunction off - SuppressErrorStatus off - IncludeFileDelimiter "Auto" - ERTCustomFileBanners off - SupportAbsoluteTime on - LogVarNameModifier "rt_" - MatFileLogging on - MultiInstanceERTCode off - CodeInterfacePackaging "Nonreusable function" - PurelyIntegerCode off - SupportNonFinite on - SupportComplex on - SupportContinuousTime on - SupportNonInlinedSFcns on - RemoveDisableFunc off - RemoveResetFunc off - SupportVariableSizeSignals off - ParenthesesLevel "Nominal" - CastingMode "Nominal" - PreserveStateflowLocalDataDimensions off - MATLABClassNameForMDSCustomization "Simulink.SoftwareTarget.GRTCustomization" - ModelStepFunctionPrototypeControlCompliant off - CPPClassGenCompliant on - AutosarCompliant off - MDXCompliant off - GRTInterface off - GenerateAllocFcn off - UseToolchainInfoCompliant on - GenerateSharedConstants on - CoderGroups [] - AccessMethods [] - LookupTableObjectStructAxisOrder "1,2,3,4,..." - LUTObjectStructOrderExplicitValues "Size,Breakpoints,Table" - LUTObjectStructOrderEvenSpacing "Size,Breakpoints,Table" - ArrayLayout "Column-major" - UnsupportedSFcnMsg "error" - ERTHeaderFileRootName "$R$E" - ERTSourceFileRootName "$R$E" - ERTDataFileRootName "$R_data" - UseMalloc off - ExtMode off - ExtModeStaticAlloc off - ExtModeTesting off - ExtModeStaticAllocSize 1000000 - ExtModeTransport 0 - ExtModeMexFile "ext_comm" - ExtModeMexArgs "" - ExtModeIntrfLevel "Level1" - RTWCAPISignals off - RTWCAPIParams off - RTWCAPIStates off - RTWCAPIRootIO off - GenerateASAP2 off - MultiInstanceErrorCode "Error" - } - PropName "Components" - } - } - SlCovCC.ConfigComp { - $ObjectID 118 - Version "1.18.1" - DisabledProps [] - Description "Simulink Coverage Configuration Component" - Name "Simulink Coverage" - CovEnable off - CovScope "EntireSystem" - CovIncludeTopModel on - RecordCoverage off - CovPath "/" - CovSaveName "covdata" - CovCompData "" - CovMetricSettings "dwe" - CovFilter "" - CovHTMLOptions "" - CovNameIncrementing off - CovHtmlReporting off - CovForceBlockReductionOff on - CovEnableCumulative on - CovSaveCumulativeToWorkspaceVar off - CovSaveSingleToWorkspaceVar off - CovCumulativeVarName "covCumulativeData" - CovCumulativeReport off - CovSaveOutputData on - CovOutputDir "slcov_output/$ModelName$" - CovDataFileName "$ModelName$_cvdata" - CovShowResultsExplorer on - CovReportOnPause on - CovModelRefEnable "off" - CovModelRefExcluded "" - CovExternalEMLEnable on - CovSFcnEnable on - CovBoundaryAbsTol 1e-05 - CovBoundaryRelTol 0.01 - CovUseTimeInterval off - CovStartTime 0 - CovStopTime 0 - CovMcdcMode "Masking" - } - PropName "Components" - } - Name "Configuration7" - ExtraOptions "" - CurrentDlgPage "Solver" - ConfigPrmDlgPosition [ 321, 71, 1211, 811 ] - } - Simulink.ConfigSet { - $ObjectID 119 - Version "1.18.1" - DisabledProps [] - Description "" - Array { - Type "Handle" - Dimension 9 - Simulink.SolverCC { - $ObjectID 120 - Version "1.18.1" - DisabledProps [] - Description "" - StartTime "0.0" - StopTime "TMax" - AbsTol "auto" - AutoScaleAbsTol on - FixedStep "dt" - InitialStep "auto" - MaxOrder 5 - ZcThreshold "auto" - ConsecutiveZCsStepRelTol "10*128*eps" - MaxConsecutiveZCs "1000" - ExtrapolationOrder 4 - NumberNewtonIterations 1 - MaxStep "auto" - MinStep "auto" - MaxConsecutiveMinStep "1" - RelTol "1e-3" - EnableMultiTasking on - ConcurrentTasks off - Solver "FixedStepDiscrete" - SolverName "FixedStepDiscrete" - SolverJacobianMethodControl "auto" - ShapePreserveControl "DisableAll" - ZeroCrossControl "UseLocalSettings" - ZeroCrossAlgorithm "Nonadaptive" - AlgebraicLoopSolver "TrustRegion" - SolverInfoToggleStatus on - IsAutoAppliedInSIP off - SolverResetMethod "Fast" - PositivePriorityOrder off - AutoInsertRateTranBlk off - SampleTimeConstraint "Unconstrained" - InsertRTBMode "Whenever possible" - SampleTimeProperty [] - DecoupledContinuousIntegration off - MinimalZcImpactIntegration off - } - Simulink.DataIOCC { - $ObjectID 121 - Version "1.18.1" - DisabledProps [] - Description "" - Decimation "1" - ExternalInput "[t, u]" - FinalStateName "xFinal" - InitialState "xInitial" - LimitDataPoints off - MaxDataPoints "1000" - LoadExternalInput off - LoadInitialState off - SaveFinalState off - SaveCompleteFinalSimState off - SaveFormat "Dataset" - SignalLoggingSaveFormat "Dataset" - SaveOutput off - SaveState off - SignalLogging on - DSMLogging on - InspectSignalLogs off - VisualizeSimOutput on - StreamToWorkspace off - StreamVariableName "streamout" - SaveTime off - ReturnWorkspaceOutputs off - StateSaveName "xout" - TimeSaveName "tout" - OutputSaveName "yout" - SignalLoggingName "logsout" - DSMLoggingName "dsmout" - OutputOption "RefineOutputTimes" - OutputTimes "[]" - ReturnWorkspaceOutputsName "out" - Refine "1" - LoggingToFile off - DatasetSignalFormat "timeseries" - LoggingFileName "out.mat" - LoggingIntervals "[-inf, inf]" - } - Simulink.OptimizationCC { - $ObjectID 122 - Version "1.18.1" - Array { - Type "Cell" - Dimension 9 - Cell "BooleansAsBitfields" - Cell "PassReuseOutputArgsAs" - Cell "PassReuseOutputArgsThreshold" - Cell "ZeroExternalMemoryAtStartup" - Cell "ZeroInternalMemoryAtStartup" - Cell "OptimizeModelRefInitCode" - Cell "NoFixptDivByZeroProtection" - Cell "UseSpecifiedMinMax" - Cell "EfficientTunableParamExpr" - PropName "DisabledProps" - } - Description "" - BlockReduction on - BooleanDataType on - ConditionallyExecuteInputs on - DefaultParameterBehavior "Tunable" - UseDivisionForNetSlopeComputation "off" - UseFloatMulNetSlope off - DefaultUnderspecifiedDataType "double" - UseSpecifiedMinMax off - InlineInvariantSignals off - OptimizeBlockIOStorage on - BufferReuse on - EnhancedBackFolding off - CachingGlobalReferences off - GlobalBufferReuse on - StrengthReduction off - AdvancedOptControl "" - ExpressionFolding on - BooleansAsBitfields off - BitfieldContainerType "uint_T" - EnableMemcpy on - MemcpyThreshold 64 - PassReuseOutputArgsAs "Structure reference" - PassReuseOutputArgsThreshold 12 - ExpressionDepthLimit 128 - LocalBlockOutputs on - RollThreshold 5 - StateBitsets off - DataBitsets off - ActiveStateOutputEnumStorageType "Native Integer" - ZeroExternalMemoryAtStartup on - ZeroInternalMemoryAtStartup on - InitFltsAndDblsToZero off - NoFixptDivByZeroProtection off - EfficientFloat2IntCast off - EfficientMapNaN2IntZero on - LifeSpan "auto" - MaxStackSize "Inherit from target" - BufferReusableBoundary on - SimCompilerOptimization "off" - AccelVerboseBuild off - OptimizeBlockOrder "off" - OptimizeDataStoreBuffers on - BusAssignmentInplaceUpdate on - DifferentSizesBufferReuse off - OptimizationLevel "level2" - OptimizationPriority "Balanced" - OptimizationCustomize on - UseRowMajorAlgorithm off - LabelGuidedReuse off - } - Simulink.DebuggingCC { - $ObjectID 123 - Version "1.18.1" - Array { - Type "Cell" - Dimension 1 - Cell "UseOnlyExistingSharedCode" - PropName "DisabledProps" - } - Description "" - RTPrefix "error" - ConsistencyChecking "none" - ArrayBoundsChecking "none" - SignalInfNanChecking "none" - StringTruncationChecking "error" - SignalRangeChecking "none" - ReadBeforeWriteMsg "UseLocalSettings" - WriteAfterWriteMsg "UseLocalSettings" - WriteAfterReadMsg "UseLocalSettings" - AlgebraicLoopMsg "warning" - ArtificialAlgebraicLoopMsg "warning" - SaveWithDisabledLinksMsg "warning" - SaveWithParameterizedLinksMsg "warning" - CheckSSInitialOutputMsg on - UnderspecifiedInitializationDetection "Simplified" - MergeDetectMultiDrivingBlocksExec "error" - CheckExecutionContextPreStartOutputMsg off - CheckExecutionContextRuntimeOutputMsg off - SignalResolutionControl "UseLocalSettings" - BlockPriorityViolationMsg "warning" - MinStepSizeMsg "warning" - TimeAdjustmentMsg "none" - MaxConsecutiveZCsMsg "error" - MaskedZcDiagnostic "warning" - IgnoredZcDiagnostic "warning" - SolverPrmCheckMsg "none" - InheritedTsInSrcMsg "warning" - MultiTaskDSMMsg "error" - MultiTaskCondExecSysMsg "error" - MultiTaskRateTransMsg "error" - SingleTaskRateTransMsg "none" - TasksWithSamePriorityMsg "warning" - ExportedTasksRateTransMsg "none" - SigSpecEnsureSampleTimeMsg "warning" - CheckMatrixSingularityMsg "none" - IntegerOverflowMsg "warning" - Int32ToFloatConvMsg "warning" - ParameterDowncastMsg "error" - ParameterOverflowMsg "error" - ParameterUnderflowMsg "none" - ParameterPrecisionLossMsg "warning" - ParameterTunabilityLossMsg "warning" - FixptConstUnderflowMsg "none" - FixptConstOverflowMsg "none" - FixptConstPrecisionLossMsg "none" - UnderSpecifiedDataTypeMsg "none" - UnnecessaryDatatypeConvMsg "none" - VectorMatrixConversionMsg "none" - InvalidFcnCallConnMsg "error" - FcnCallInpInsideContextMsg "error" - SignalLabelMismatchMsg "none" - UnconnectedInputMsg "warning" - UnconnectedOutputMsg "warning" - UnconnectedLineMsg "warning" - UseOnlyExistingSharedCode "error" - SFcnCompatibilityMsg "none" - FrameProcessingCompatibilityMsg "error" - UniqueDataStoreMsg "none" - BusObjectLabelMismatch "warning" - RootOutportRequireBusObject "warning" - AssertControl "UseLocalSettings" - AllowSymbolicDim on - RowMajorDimensionSupport off - ModelReferenceIOMsg "none" - ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" - ModelReferenceVersionMismatchMessage "none" - ModelReferenceIOMismatchMessage "none" - UnknownTsInhSupMsg "warning" - ModelReferenceDataLoggingMessage "warning" - ModelReferenceSymbolNameMessage "warning" - ModelReferenceExtraNoncontSigs "error" - StateNameClashWarn "none" - SimStateInterfaceChecksumMismatchMsg "warning" - SimStateOlderReleaseMsg "error" - ChecksumConsistencyForSSReuse "none" - LibraryContextMissingDiagnostic "warning" - MatchCodeGenerationContextForUpdateDiagram "none" - InitInArrayFormatMsg "warning" - StrictBusMsg "ErrorLevel1" - BusNameAdapt "WarnAndRepair" - NonBusSignalsTreatedAsBus "none" - SymbolicDimMinMaxWarning "warning" - LossOfSymbolicDimsSimulationWarning "warning" - LossOfSymbolicDimsCodeGenerationWarning "error" - SymbolicDimsDataTypeCodeGenerationDiagnostic "error" - BlockIODiagnostic "none" - SFUnusedDataAndEventsDiag "warning" - SFUnexpectedBacktrackingDiag "error" - SFInvalidInputDataAccessInChartInitDiag "warning" - SFNoUnconditionalDefaultTransitionDiag "error" - SFTransitionOutsideNaturalParentDiag "warning" - SFUnreachableExecutionPathDiag "warning" - SFUndirectedBroadcastEventsDiag "warning" - SFTransitionActionBeforeConditionDiag "warning" - SFOutputUsedAsStateInMooreChartDiag "error" - SFTemporalDelaySmallerThanSampleTimeDiag "warning" - SFSelfTransitionDiag "warning" - SFExecutionAtInitializationDiag "warning" - SFMachineParentedDataDiag "warning" - IntegerSaturationMsg "warning" - AllowedUnitSystems "all" - UnitsInconsistencyMsg "warning" - AllowAutomaticUnitConversions on - RCSCRenamedMsg "warning" - RCSCObservableMsg "warning" - ForceCombineOutputUpdateInSim off - UnitDatabase "" - UnderSpecifiedDimensionMsg "none" - } - Simulink.HardwareCC { - $ObjectID 124 - Version "1.18.1" - DisabledProps [] - Description "" - ProdBitPerChar 8 - ProdBitPerShort 16 - ProdBitPerInt 32 - ProdBitPerLong 32 - ProdBitPerLongLong 64 - ProdBitPerFloat 32 - ProdBitPerDouble 64 - ProdBitPerPointer 64 - ProdBitPerSizeT 64 - ProdBitPerPtrDiffT 64 - ProdLargestAtomicInteger "Char" - ProdLargestAtomicFloat "Float" - ProdIntDivRoundTo "Zero" - ProdEndianess "LittleEndian" - ProdWordSize 64 - ProdShiftRightIntArith on - ProdLongLongMode off - ProdHWDeviceType "Intel->x86-64 (Windows64)" - TargetBitPerChar 8 - TargetBitPerShort 16 - TargetBitPerInt 32 - TargetBitPerLong 32 - TargetBitPerLongLong 64 - TargetBitPerFloat 32 - TargetBitPerDouble 64 - TargetBitPerPointer 32 - TargetBitPerSizeT 32 - TargetBitPerPtrDiffT 32 - TargetLargestAtomicInteger "Char" - TargetLargestAtomicFloat "None" - TargetShiftRightIntArith on - TargetLongLongMode off - TargetIntDivRoundTo "Undefined" - TargetEndianess "Unspecified" - TargetWordSize 32 - TargetPreprocMaxBitsSint 32 - TargetPreprocMaxBitsUint 32 - TargetHWDeviceType "Specified" - TargetUnknown off - ProdEqTarget on - UseEmbeddedCoderFeatures on - UseSimulinkCoderFeatures on - } - Simulink.ModelReferenceCC { - $ObjectID 125 - Version "1.18.1" - DisabledProps [] - Description "" - UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" - EnableRefExpFcnMdlSchedulingChecks on - CheckModelReferenceTargetMessage "error" - EnableParallelModelReferenceBuilds off - ParallelModelReferenceErrorOnInvalidPool on - ParallelModelReferenceMATLABWorkerInit "None" - ModelReferenceNumInstancesAllowed "Multi" - PropagateVarSize "Infer from blocks in model" - ModelDependencies "" - ModelReferencePassRootInputsByReference on - ModelReferenceMinAlgLoopOccurrences off - PropagateSignalLabelsOutOfModel on - SupportModelReferenceSimTargetCustomCode off - } - Simulink.SFSimCC { - $ObjectID 126 - Version "1.18.1" - DisabledProps [] - Description "" - SimCustomSourceCode "" - SimCustomHeaderCode "" - SimCustomInitializer "" - SimCustomTerminator "" - SimReservedNameArray [] - SimUserSources "" - SimUserIncludeDirs "" - SimUserLibraries "" - SimUserDefines "" - SimCustomCompilerFlags "" - SimCustomLinkerFlags "" - SFSimEcho on - SimCtrlC on - SimIntegrity on - SimUseLocalCustomCode off - SimParseCustomCode on - SimAnalyzeCustomCode off - SimBuildMode "sf_incremental_build" - SimGenImportedTypeDefs off - ModelFunctionsGlobalVisibility "on" - CompileTimeRecursionLimit 50 - EnableRuntimeRecursion on - MATLABDynamicMemAlloc on - MATLABDynamicMemAllocThreshold 65536 - CustomCodeFunctionArrayLayout [] - DefaultCustomCodeFunctionArrayLayout "NotSpecified" - } - Simulink.RTWCC { - $BackupClass "Simulink.RTWCC" - $ObjectID 127 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeHyperlinkInReport" - Cell "GenerateTraceInfo" - Cell "GenerateTraceReport" - Cell "GenerateTraceReportSl" - Cell "GenerateTraceReportSf" - Cell "GenerateTraceReportEml" - Cell "PortableWordSizes" - Cell "GenerateWebview" - Cell "GenerateCodeMetricsReport" - Cell "GenerateCodeReplacementReport" - Cell "GenerateMissedCodeReplacementReport" - Cell "GenerateErtSFunction" - Cell "CreateSILPILBlock" - Cell "CodeExecutionProfiling" - Cell "CodeProfilingSaveOptions" - Cell "CodeProfilingInstrumentation" - PropName "DisabledProps" - } - SystemTargetFile "grt.tlc" - HardwareBoard "None" - TLCOptions "" - GenCodeOnly off - MakeCommand "make_rtw" - GenerateMakefile on - PackageGeneratedCodeAndArtifacts off - PackageName "" - TemplateMakefile "grt_default_tmf" - PostCodeGenCommand "" - Description "" - GenerateReport off - RTWVerbose on - RetainRTWFile off - RTWBuildHooks [] - ProfileTLC off - TLCDebug off - TLCCoverage off - TLCAssert off - RTWUseLocalCustomCode off - RTWUseSimCustomCode off - CustomSourceCode "" - CustomHeaderCode "" - CustomInclude "" - CustomSource "" - CustomLibrary "" - CustomDefine "" - CustomBLASCallback "" - CustomLAPACKCallback "" - CustomFFTCallback "" - CustomInitializer "" - CustomTerminator "" - Toolchain "Automatically locate an installed toolchain" - BuildConfiguration "Faster Builds" - CustomToolchainOptions [] - IncludeHyperlinkInReport off - LaunchReport off - PortableWordSizes off - CreateSILPILBlock "None" - CodeExecutionProfiling off - CodeExecutionProfileVariable "executionProfile" - CodeProfilingSaveOptions "SummaryOnly" - CodeProfilingInstrumentation "off" - SILDebugging off - TargetLang "C" - IncludeBusHierarchyInRTWFileBlockHierarchyMap off - GenerateTraceInfo off - GenerateTraceReport off - GenerateTraceReportSl off - GenerateTraceReportSf off - GenerateTraceReportEml off - GenerateWebview off - GenerateCodeMetricsReport off - GenerateCodeReplacementReport off - GenerateMissedCodeReplacementReport off - RTWCompilerOptimization "off" - ObjectivePriorities [] - RTWCustomCompilerOptimizations "" - CheckMdlBeforeBuild "Off" - SharedConstantsCachingThreshold 1024 - Array { - Type "Handle" - Dimension 2 - Simulink.CodeAppCC { - $ObjectID 128 - Version "1.18.1" - Array { - Type "Cell" - Dimension 28 - Cell "IgnoreCustomStorageClasses" - Cell "IgnoreTestpoints" - Cell "InsertBlockDesc" - Cell "InsertPolySpaceComments" - Cell "SFDataObjDesc" - Cell "MATLABFcnDesc" - Cell "SimulinkDataObjDesc" - Cell "DefineNamingRule" - Cell "SignalNamingRule" - Cell "ParamNamingRule" - Cell "InternalIdentifier" - Cell "InlinedPrmAccess" - Cell "CustomSymbolStr" - Cell "CustomSymbolStrGlobalVar" - Cell "CustomSymbolStrType" - Cell "CustomSymbolStrField" - Cell "CustomSymbolStrFcn" - Cell "CustomSymbolStrModelFcn" - Cell "CustomSymbolStrFcnArg" - Cell "CustomSymbolStrBlkIO" - Cell "CustomSymbolStrTmpVar" - Cell "CustomSymbolStrMacro" - Cell "CustomSymbolStrUtil" - Cell "CustomUserTokenString" - Cell "ReqsInCode" - Cell "BlockCommentType" - Cell "CustomSymbolStrEmxType" - Cell "CustomSymbolStrEmxFcn" - PropName "DisabledProps" - } - Description "" - Comment "" - ForceParamTrailComments off - GenerateComments on - CommentStyle "Auto" - IgnoreCustomStorageClasses on - IgnoreTestpoints off - MaxIdLength 31 - PreserveName off - PreserveNameWithParent off - ShowEliminatedStatement off - OperatorAnnotations off - SimulinkDataObjDesc off - SFDataObjDesc off - MATLABFcnDesc off - MangleLength 1 - SharedChecksumLength 8 - CustomSymbolStrGlobalVar "$R$N$M" - CustomSymbolStrType "$N$R$M_T" - CustomSymbolStrField "$N$M" - CustomSymbolStrFcn "$R$N$M$F" - CustomSymbolStrModelFcn "$R$N" - CustomSymbolStrFcnArg "rt$I$N$M" - CustomSymbolStrBlkIO "rtb_$N$M" - CustomSymbolStrTmpVar "$N$M" - CustomSymbolStrMacro "$R$N$M" - CustomSymbolStrUtil "$N$C" - CustomSymbolStrEmxType "emxArray_$M$N" - CustomSymbolStrEmxFcn "emx$M$N" - CustomUserTokenString "" - CustomCommentsFcn "" - DefineNamingRule "None" - DefineNamingFcn "" - ParamNamingRule "None" - ParamNamingFcn "" - SignalNamingRule "None" - SignalNamingFcn "" - InsertBlockDesc off - InsertPolySpaceComments off - SimulinkBlockComments on - BlockCommentType "BlockPathComment" - StateflowObjectComments on - MATLABSourceComments off - EnableCustomComments off - InternalIdentifierFile "" - InternalIdentifier "Shortened" - InlinedPrmAccess "Literals" - ReqsInCode off - UseSimReservedNames off - ReservedNameArray [] - } - Simulink.GRTTargetCC { - $BackupClass "Simulink.TargetCC" - $ObjectID 129 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeMdlTerminateFcn" - Cell "SuppressErrorStatus" - Cell "ERTCustomFileBanners" - Cell "GenerateSampleERTMain" - Cell "ExistingSharedCode" - Cell "GenerateTestInterfaces" - Cell "ModelStepFunctionPrototypeControlCompliant" - Cell "GenerateAllocFcn" - Cell "PurelyIntegerCode" - Cell "SupportComplex" - Cell "SupportAbsoluteTime" - Cell "SupportContinuousTime" - Cell "SupportNonInlinedSFcns" - Cell "RemoveDisableFunc" - Cell "RemoveResetFunc" - Cell "PreserveStateflowLocalDataDimensions" - PropName "DisabledProps" - } - Description "" - TargetFcnLib "ansi_tfl_table_tmw.mat" - TargetLibSuffix "" - TargetPreCompLibLocation "" - GenFloatMathFcnCalls "NOT IN USE" - TargetLangStandard "C99 (ISO)" - CodeReplacementLibrary "None" - UtilityFuncGeneration "Auto" - MultiwordTypeDef "System defined" - MultiwordLength 2048 - DynamicStringBufferSize 256 - GenerateFullHeader on - InferredTypesCompatibility off - ExistingSharedCode "" - GenerateSampleERTMain off - GenerateTestInterfaces off - ModelReferenceCompliant on - ParMdlRefBuildCompliant on - CompOptLevelCompliant on - ConcurrentExecutionCompliant on - IncludeMdlTerminateFcn on - GeneratePreprocessorConditionals "Use local settings" - CombineOutputUpdateFcns on - CombineSignalStateStructs off - GroupInternalDataByFunction off - SuppressErrorStatus off - IncludeFileDelimiter "Auto" - ERTCustomFileBanners off - SupportAbsoluteTime on - LogVarNameModifier "rt_" - MatFileLogging on - MultiInstanceERTCode off - CodeInterfacePackaging "Nonreusable function" - PurelyIntegerCode off - SupportNonFinite on - SupportComplex on - SupportContinuousTime on - SupportNonInlinedSFcns on - RemoveDisableFunc off - RemoveResetFunc off - SupportVariableSizeSignals off - ParenthesesLevel "Nominal" - CastingMode "Nominal" - PreserveStateflowLocalDataDimensions off - MATLABClassNameForMDSCustomization "Simulink.SoftwareTarget.GRTCustomization" - ModelStepFunctionPrototypeControlCompliant off - CPPClassGenCompliant on - AutosarCompliant off - MDXCompliant off - GRTInterface off - GenerateAllocFcn off - UseToolchainInfoCompliant on - GenerateSharedConstants on - CoderGroups [] - AccessMethods [] - LookupTableObjectStructAxisOrder "1,2,3,4,..." - LUTObjectStructOrderExplicitValues "Size,Breakpoints,Table" - LUTObjectStructOrderEvenSpacing "Size,Breakpoints,Table" - ArrayLayout "Column-major" - UnsupportedSFcnMsg "error" - ERTHeaderFileRootName "$R$E" - ERTSourceFileRootName "$R$E" - ERTDataFileRootName "$R_data" - UseMalloc off - ExtMode off - ExtModeStaticAlloc off - ExtModeTesting off - ExtModeStaticAllocSize 1000000 - ExtModeTransport 0 - ExtModeMexFile "ext_comm" - ExtModeMexArgs "" - ExtModeIntrfLevel "Level1" - RTWCAPISignals off - RTWCAPIParams off - RTWCAPIStates off - RTWCAPIRootIO off - GenerateASAP2 off - MultiInstanceErrorCode "Error" - } - PropName "Components" - } - } - SlCovCC.ConfigComp { - $ObjectID 130 - Version "1.18.1" - DisabledProps [] - Description "Simulink Coverage Configuration Component" - Name "Simulink Coverage" - CovEnable off - CovScope "EntireSystem" - CovIncludeTopModel on - RecordCoverage off - CovPath "/" - CovSaveName "covdata" - CovCompData "" - CovMetricSettings "dwe" - CovFilter "" - CovHTMLOptions "" - CovNameIncrementing off - CovHtmlReporting off - CovForceBlockReductionOff on - CovEnableCumulative on - CovSaveCumulativeToWorkspaceVar off - CovSaveSingleToWorkspaceVar off - CovCumulativeVarName "covCumulativeData" - CovCumulativeReport off - CovSaveOutputData on - CovOutputDir "slcov_output/$ModelName$" - CovDataFileName "$ModelName$_cvdata" - CovShowResultsExplorer on - CovReportOnPause on - CovModelRefEnable "off" - CovModelRefExcluded "" - CovExternalEMLEnable on - CovSFcnEnable on - CovBoundaryAbsTol 1e-05 - CovBoundaryRelTol 0.01 - CovUseTimeInterval off - CovStartTime 0 - CovStopTime 0 - CovMcdcMode "Masking" - } - PropName "Components" - } - Name "Configuration8" - ExtraOptions "" - CurrentDlgPage "Solver" - ConfigPrmDlgPosition [ 321, 71, 1211, 811 ] - } - Simulink.ConfigSet { - $ObjectID 131 - Version "1.18.1" - DisabledProps [] - Description "" - Array { - Type "Handle" - Dimension 9 - Simulink.SolverCC { - $ObjectID 132 - Version "1.18.1" - DisabledProps [] - Description "" - StartTime "0.0" - StopTime "TMax" - AbsTol "auto" - AutoScaleAbsTol on - FixedStep "dt" - InitialStep "auto" - MaxOrder 5 - ZcThreshold "auto" - ConsecutiveZCsStepRelTol "10*128*eps" - MaxConsecutiveZCs "1000" - ExtrapolationOrder 4 - NumberNewtonIterations 1 - MaxStep "auto" - MinStep "auto" - MaxConsecutiveMinStep "1" - RelTol "1e-3" - EnableMultiTasking on - ConcurrentTasks off - Solver "FixedStepDiscrete" - SolverName "FixedStepDiscrete" - SolverJacobianMethodControl "auto" - ShapePreserveControl "DisableAll" - ZeroCrossControl "UseLocalSettings" - ZeroCrossAlgorithm "Nonadaptive" - AlgebraicLoopSolver "TrustRegion" - SolverInfoToggleStatus on - IsAutoAppliedInSIP off - SolverResetMethod "Fast" - PositivePriorityOrder off - AutoInsertRateTranBlk off - SampleTimeConstraint "Unconstrained" - InsertRTBMode "Whenever possible" - SampleTimeProperty [] - DecoupledContinuousIntegration off - MinimalZcImpactIntegration off - } - Simulink.DataIOCC { - $ObjectID 133 - Version "1.18.1" - DisabledProps [] - Description "" - Decimation "1" - ExternalInput "[t, u]" - FinalStateName "xFinal" - InitialState "xInitial" - LimitDataPoints off - MaxDataPoints "1000" - LoadExternalInput off - LoadInitialState off - SaveFinalState off - SaveCompleteFinalSimState off - SaveFormat "Dataset" - SignalLoggingSaveFormat "Dataset" - SaveOutput off - SaveState off - SignalLogging on - DSMLogging on - InspectSignalLogs off - VisualizeSimOutput on - StreamToWorkspace off - StreamVariableName "streamout" - SaveTime off - ReturnWorkspaceOutputs off - StateSaveName "xout" - TimeSaveName "tout" - OutputSaveName "yout" - SignalLoggingName "logsout" - DSMLoggingName "dsmout" - OutputOption "RefineOutputTimes" - OutputTimes "[]" - ReturnWorkspaceOutputsName "out" - Refine "1" - LoggingToFile off - DatasetSignalFormat "timeseries" - LoggingFileName "out.mat" - LoggingIntervals "[-inf, inf]" - } - Simulink.OptimizationCC { - $ObjectID 134 - Version "1.18.1" - Array { - Type "Cell" - Dimension 9 - Cell "BooleansAsBitfields" - Cell "PassReuseOutputArgsAs" - Cell "PassReuseOutputArgsThreshold" - Cell "ZeroExternalMemoryAtStartup" - Cell "ZeroInternalMemoryAtStartup" - Cell "OptimizeModelRefInitCode" - Cell "NoFixptDivByZeroProtection" - Cell "UseSpecifiedMinMax" - Cell "EfficientTunableParamExpr" - PropName "DisabledProps" - } - Description "" - BlockReduction on - BooleanDataType on - ConditionallyExecuteInputs on - DefaultParameterBehavior "Tunable" - UseDivisionForNetSlopeComputation "off" - UseFloatMulNetSlope off - DefaultUnderspecifiedDataType "double" - UseSpecifiedMinMax off - InlineInvariantSignals off - OptimizeBlockIOStorage on - BufferReuse on - EnhancedBackFolding off - CachingGlobalReferences off - GlobalBufferReuse on - StrengthReduction off - AdvancedOptControl "" - ExpressionFolding on - BooleansAsBitfields off - BitfieldContainerType "uint_T" - EnableMemcpy on - MemcpyThreshold 64 - PassReuseOutputArgsAs "Structure reference" - PassReuseOutputArgsThreshold 12 - ExpressionDepthLimit 128 - LocalBlockOutputs on - RollThreshold 5 - StateBitsets off - DataBitsets off - ActiveStateOutputEnumStorageType "Native Integer" - ZeroExternalMemoryAtStartup on - ZeroInternalMemoryAtStartup on - InitFltsAndDblsToZero off - NoFixptDivByZeroProtection off - EfficientFloat2IntCast off - EfficientMapNaN2IntZero on - LifeSpan "auto" - MaxStackSize "Inherit from target" - BufferReusableBoundary on - SimCompilerOptimization "off" - AccelVerboseBuild off - OptimizeBlockOrder "off" - OptimizeDataStoreBuffers on - BusAssignmentInplaceUpdate on - DifferentSizesBufferReuse off - OptimizationLevel "level2" - OptimizationPriority "Balanced" - OptimizationCustomize on - UseRowMajorAlgorithm off - LabelGuidedReuse off - } - Simulink.DebuggingCC { - $ObjectID 135 - Version "1.18.1" - Array { - Type "Cell" - Dimension 1 - Cell "UseOnlyExistingSharedCode" - PropName "DisabledProps" - } - Description "" - RTPrefix "error" - ConsistencyChecking "none" - ArrayBoundsChecking "none" - SignalInfNanChecking "none" - StringTruncationChecking "error" - SignalRangeChecking "none" - ReadBeforeWriteMsg "UseLocalSettings" - WriteAfterWriteMsg "UseLocalSettings" - WriteAfterReadMsg "UseLocalSettings" - AlgebraicLoopMsg "warning" - ArtificialAlgebraicLoopMsg "warning" - SaveWithDisabledLinksMsg "warning" - SaveWithParameterizedLinksMsg "warning" - CheckSSInitialOutputMsg on - UnderspecifiedInitializationDetection "Simplified" - MergeDetectMultiDrivingBlocksExec "error" - CheckExecutionContextPreStartOutputMsg off - CheckExecutionContextRuntimeOutputMsg off - SignalResolutionControl "UseLocalSettings" - BlockPriorityViolationMsg "warning" - MinStepSizeMsg "warning" - TimeAdjustmentMsg "none" - MaxConsecutiveZCsMsg "error" - MaskedZcDiagnostic "warning" - IgnoredZcDiagnostic "warning" - SolverPrmCheckMsg "none" - InheritedTsInSrcMsg "warning" - MultiTaskDSMMsg "error" - MultiTaskCondExecSysMsg "error" - MultiTaskRateTransMsg "error" - SingleTaskRateTransMsg "none" - TasksWithSamePriorityMsg "warning" - ExportedTasksRateTransMsg "none" - SigSpecEnsureSampleTimeMsg "warning" - CheckMatrixSingularityMsg "none" - IntegerOverflowMsg "warning" - Int32ToFloatConvMsg "warning" - ParameterDowncastMsg "error" - ParameterOverflowMsg "error" - ParameterUnderflowMsg "none" - ParameterPrecisionLossMsg "warning" - ParameterTunabilityLossMsg "warning" - FixptConstUnderflowMsg "none" - FixptConstOverflowMsg "none" - FixptConstPrecisionLossMsg "none" - UnderSpecifiedDataTypeMsg "none" - UnnecessaryDatatypeConvMsg "none" - VectorMatrixConversionMsg "none" - InvalidFcnCallConnMsg "error" - FcnCallInpInsideContextMsg "error" - SignalLabelMismatchMsg "none" - UnconnectedInputMsg "warning" - UnconnectedOutputMsg "warning" - UnconnectedLineMsg "warning" - UseOnlyExistingSharedCode "error" - SFcnCompatibilityMsg "none" - FrameProcessingCompatibilityMsg "error" - UniqueDataStoreMsg "none" - BusObjectLabelMismatch "warning" - RootOutportRequireBusObject "warning" - AssertControl "UseLocalSettings" - AllowSymbolicDim on - RowMajorDimensionSupport off - ModelReferenceIOMsg "none" - ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" - ModelReferenceVersionMismatchMessage "none" - ModelReferenceIOMismatchMessage "none" - UnknownTsInhSupMsg "warning" - ModelReferenceDataLoggingMessage "warning" - ModelReferenceSymbolNameMessage "warning" - ModelReferenceExtraNoncontSigs "error" - StateNameClashWarn "none" - SimStateInterfaceChecksumMismatchMsg "warning" - SimStateOlderReleaseMsg "error" - ChecksumConsistencyForSSReuse "none" - LibraryContextMissingDiagnostic "warning" - MatchCodeGenerationContextForUpdateDiagram "none" - InitInArrayFormatMsg "warning" - StrictBusMsg "ErrorLevel1" - BusNameAdapt "WarnAndRepair" - NonBusSignalsTreatedAsBus "none" - SymbolicDimMinMaxWarning "warning" - LossOfSymbolicDimsSimulationWarning "warning" - LossOfSymbolicDimsCodeGenerationWarning "error" - SymbolicDimsDataTypeCodeGenerationDiagnostic "error" - BlockIODiagnostic "none" - SFUnusedDataAndEventsDiag "warning" - SFUnexpectedBacktrackingDiag "error" - SFInvalidInputDataAccessInChartInitDiag "warning" - SFNoUnconditionalDefaultTransitionDiag "error" - SFTransitionOutsideNaturalParentDiag "warning" - SFUnreachableExecutionPathDiag "warning" - SFUndirectedBroadcastEventsDiag "warning" - SFTransitionActionBeforeConditionDiag "warning" - SFOutputUsedAsStateInMooreChartDiag "error" - SFTemporalDelaySmallerThanSampleTimeDiag "warning" - SFSelfTransitionDiag "warning" - SFExecutionAtInitializationDiag "warning" - SFMachineParentedDataDiag "warning" - IntegerSaturationMsg "warning" - AllowedUnitSystems "all" - UnitsInconsistencyMsg "warning" - AllowAutomaticUnitConversions on - RCSCRenamedMsg "warning" - RCSCObservableMsg "warning" - ForceCombineOutputUpdateInSim off - UnitDatabase "" - UnderSpecifiedDimensionMsg "none" - } - Simulink.HardwareCC { - $ObjectID 136 - Version "1.18.1" - DisabledProps [] - Description "" - ProdBitPerChar 8 - ProdBitPerShort 16 - ProdBitPerInt 32 - ProdBitPerLong 32 - ProdBitPerLongLong 64 - ProdBitPerFloat 32 - ProdBitPerDouble 64 - ProdBitPerPointer 64 - ProdBitPerSizeT 64 - ProdBitPerPtrDiffT 64 - ProdLargestAtomicInteger "Char" - ProdLargestAtomicFloat "Float" - ProdIntDivRoundTo "Zero" - ProdEndianess "LittleEndian" - ProdWordSize 64 - ProdShiftRightIntArith on - ProdLongLongMode off - ProdHWDeviceType "Intel->x86-64 (Windows64)" - TargetBitPerChar 8 - TargetBitPerShort 16 - TargetBitPerInt 32 - TargetBitPerLong 32 - TargetBitPerLongLong 64 - TargetBitPerFloat 32 - TargetBitPerDouble 64 - TargetBitPerPointer 32 - TargetBitPerSizeT 32 - TargetBitPerPtrDiffT 32 - TargetLargestAtomicInteger "Char" - TargetLargestAtomicFloat "None" - TargetShiftRightIntArith on - TargetLongLongMode off - TargetIntDivRoundTo "Undefined" - TargetEndianess "Unspecified" - TargetWordSize 32 - TargetPreprocMaxBitsSint 32 - TargetPreprocMaxBitsUint 32 - TargetHWDeviceType "Specified" - TargetUnknown off - ProdEqTarget on - UseEmbeddedCoderFeatures on - UseSimulinkCoderFeatures on - } - Simulink.ModelReferenceCC { - $ObjectID 137 - Version "1.18.1" - DisabledProps [] - Description "" - UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" - EnableRefExpFcnMdlSchedulingChecks on - CheckModelReferenceTargetMessage "error" - EnableParallelModelReferenceBuilds off - ParallelModelReferenceErrorOnInvalidPool on - ParallelModelReferenceMATLABWorkerInit "None" - ModelReferenceNumInstancesAllowed "Multi" - PropagateVarSize "Infer from blocks in model" - ModelDependencies "" - ModelReferencePassRootInputsByReference on - ModelReferenceMinAlgLoopOccurrences off - PropagateSignalLabelsOutOfModel on - SupportModelReferenceSimTargetCustomCode off - } - Simulink.SFSimCC { - $ObjectID 138 - Version "1.18.1" - DisabledProps [] - Description "" - SimCustomSourceCode "" - SimCustomHeaderCode "" - SimCustomInitializer "" - SimCustomTerminator "" - SimReservedNameArray [] - SimUserSources "" - SimUserIncludeDirs "" - SimUserLibraries "" - SimUserDefines "" - SimCustomCompilerFlags "" - SimCustomLinkerFlags "" - SFSimEcho on - SimCtrlC on - SimIntegrity on - SimUseLocalCustomCode off - SimParseCustomCode on - SimAnalyzeCustomCode off - SimBuildMode "sf_incremental_build" - SimGenImportedTypeDefs off - ModelFunctionsGlobalVisibility "on" - CompileTimeRecursionLimit 50 - EnableRuntimeRecursion on - MATLABDynamicMemAlloc on - MATLABDynamicMemAllocThreshold 65536 - CustomCodeFunctionArrayLayout [] - DefaultCustomCodeFunctionArrayLayout "NotSpecified" - } - Simulink.RTWCC { - $BackupClass "Simulink.RTWCC" - $ObjectID 139 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeHyperlinkInReport" - Cell "GenerateTraceInfo" - Cell "GenerateTraceReport" - Cell "GenerateTraceReportSl" - Cell "GenerateTraceReportSf" - Cell "GenerateTraceReportEml" - Cell "PortableWordSizes" - Cell "GenerateWebview" - Cell "GenerateCodeMetricsReport" - Cell "GenerateCodeReplacementReport" - Cell "GenerateMissedCodeReplacementReport" - Cell "GenerateErtSFunction" - Cell "CreateSILPILBlock" - Cell "CodeExecutionProfiling" - Cell "CodeProfilingSaveOptions" - Cell "CodeProfilingInstrumentation" - PropName "DisabledProps" - } - SystemTargetFile "grt.tlc" - HardwareBoard "None" - TLCOptions "" - GenCodeOnly off - MakeCommand "make_rtw" - GenerateMakefile on - PackageGeneratedCodeAndArtifacts off - PackageName "" - TemplateMakefile "grt_default_tmf" - PostCodeGenCommand "" - Description "" - GenerateReport off - RTWVerbose on - RetainRTWFile off - RTWBuildHooks [] - ProfileTLC off - TLCDebug off - TLCCoverage off - TLCAssert off - RTWUseLocalCustomCode off - RTWUseSimCustomCode off - CustomSourceCode "" - CustomHeaderCode "" - CustomInclude "" - CustomSource "" - CustomLibrary "" - CustomDefine "" - CustomBLASCallback "" - CustomLAPACKCallback "" - CustomFFTCallback "" - CustomInitializer "" - CustomTerminator "" - Toolchain "Automatically locate an installed toolchain" - BuildConfiguration "Faster Builds" - CustomToolchainOptions [] - IncludeHyperlinkInReport off - LaunchReport off - PortableWordSizes off - CreateSILPILBlock "None" - CodeExecutionProfiling off - CodeExecutionProfileVariable "executionProfile" - CodeProfilingSaveOptions "SummaryOnly" - CodeProfilingInstrumentation "off" - SILDebugging off - TargetLang "C" - IncludeBusHierarchyInRTWFileBlockHierarchyMap off - GenerateTraceInfo off - GenerateTraceReport off - GenerateTraceReportSl off - GenerateTraceReportSf off - GenerateTraceReportEml off - GenerateWebview off - GenerateCodeMetricsReport off - GenerateCodeReplacementReport off - GenerateMissedCodeReplacementReport off - RTWCompilerOptimization "off" - ObjectivePriorities [] - RTWCustomCompilerOptimizations "" - CheckMdlBeforeBuild "Off" - SharedConstantsCachingThreshold 1024 - Array { - Type "Handle" - Dimension 2 - Simulink.CodeAppCC { - $ObjectID 140 - Version "1.18.1" - Array { - Type "Cell" - Dimension 28 - Cell "IgnoreCustomStorageClasses" - Cell "IgnoreTestpoints" - Cell "InsertBlockDesc" - Cell "InsertPolySpaceComments" - Cell "SFDataObjDesc" - Cell "MATLABFcnDesc" - Cell "SimulinkDataObjDesc" - Cell "DefineNamingRule" - Cell "SignalNamingRule" - Cell "ParamNamingRule" - Cell "InternalIdentifier" - Cell "InlinedPrmAccess" - Cell "CustomSymbolStr" - Cell "CustomSymbolStrGlobalVar" - Cell "CustomSymbolStrType" - Cell "CustomSymbolStrField" - Cell "CustomSymbolStrFcn" - Cell "CustomSymbolStrModelFcn" - Cell "CustomSymbolStrFcnArg" - Cell "CustomSymbolStrBlkIO" - Cell "CustomSymbolStrTmpVar" - Cell "CustomSymbolStrMacro" - Cell "CustomSymbolStrUtil" - Cell "CustomUserTokenString" - Cell "ReqsInCode" - Cell "BlockCommentType" - Cell "CustomSymbolStrEmxType" - Cell "CustomSymbolStrEmxFcn" - PropName "DisabledProps" - } - Description "" - Comment "" - ForceParamTrailComments off - GenerateComments on - CommentStyle "Auto" - IgnoreCustomStorageClasses on - IgnoreTestpoints off - MaxIdLength 31 - PreserveName off - PreserveNameWithParent off - ShowEliminatedStatement off - OperatorAnnotations off - SimulinkDataObjDesc off - SFDataObjDesc off - MATLABFcnDesc off - MangleLength 1 - SharedChecksumLength 8 - CustomSymbolStrGlobalVar "$R$N$M" - CustomSymbolStrType "$N$R$M_T" - CustomSymbolStrField "$N$M" - CustomSymbolStrFcn "$R$N$M$F" - CustomSymbolStrModelFcn "$R$N" - CustomSymbolStrFcnArg "rt$I$N$M" - CustomSymbolStrBlkIO "rtb_$N$M" - CustomSymbolStrTmpVar "$N$M" - CustomSymbolStrMacro "$R$N$M" - CustomSymbolStrUtil "$N$C" - CustomSymbolStrEmxType "emxArray_$M$N" - CustomSymbolStrEmxFcn "emx$M$N" - CustomUserTokenString "" - CustomCommentsFcn "" - DefineNamingRule "None" - DefineNamingFcn "" - ParamNamingRule "None" - ParamNamingFcn "" - SignalNamingRule "None" - SignalNamingFcn "" - InsertBlockDesc off - InsertPolySpaceComments off - SimulinkBlockComments on - BlockCommentType "BlockPathComment" - StateflowObjectComments on - MATLABSourceComments off - EnableCustomComments off - InternalIdentifierFile "" - InternalIdentifier "Shortened" - InlinedPrmAccess "Literals" - ReqsInCode off - UseSimReservedNames off - ReservedNameArray [] - } - Simulink.GRTTargetCC { - $BackupClass "Simulink.TargetCC" - $ObjectID 141 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeMdlTerminateFcn" - Cell "SuppressErrorStatus" - Cell "ERTCustomFileBanners" - Cell "GenerateSampleERTMain" - Cell "ExistingSharedCode" - Cell "GenerateTestInterfaces" - Cell "ModelStepFunctionPrototypeControlCompliant" - Cell "GenerateAllocFcn" - Cell "PurelyIntegerCode" - Cell "SupportComplex" - Cell "SupportAbsoluteTime" - Cell "SupportContinuousTime" - Cell "SupportNonInlinedSFcns" - Cell "RemoveDisableFunc" - Cell "RemoveResetFunc" - Cell "PreserveStateflowLocalDataDimensions" - PropName "DisabledProps" - } - Description "" - TargetFcnLib "ansi_tfl_table_tmw.mat" - TargetLibSuffix "" - TargetPreCompLibLocation "" - GenFloatMathFcnCalls "NOT IN USE" - TargetLangStandard "C99 (ISO)" - CodeReplacementLibrary "None" - UtilityFuncGeneration "Auto" - MultiwordTypeDef "System defined" - MultiwordLength 2048 - DynamicStringBufferSize 256 - GenerateFullHeader on - InferredTypesCompatibility off - ExistingSharedCode "" - GenerateSampleERTMain off - GenerateTestInterfaces off - ModelReferenceCompliant on - ParMdlRefBuildCompliant on - CompOptLevelCompliant on - ConcurrentExecutionCompliant on - IncludeMdlTerminateFcn on - GeneratePreprocessorConditionals "Use local settings" - CombineOutputUpdateFcns on - CombineSignalStateStructs off - GroupInternalDataByFunction off - SuppressErrorStatus off - IncludeFileDelimiter "Auto" - ERTCustomFileBanners off - SupportAbsoluteTime on - LogVarNameModifier "rt_" - MatFileLogging on - MultiInstanceERTCode off - CodeInterfacePackaging "Nonreusable function" - PurelyIntegerCode off - SupportNonFinite on - SupportComplex on - SupportContinuousTime on - SupportNonInlinedSFcns on - RemoveDisableFunc off - RemoveResetFunc off - SupportVariableSizeSignals off - ParenthesesLevel "Nominal" - CastingMode "Nominal" - PreserveStateflowLocalDataDimensions off - MATLABClassNameForMDSCustomization "Simulink.SoftwareTarget.GRTCustomization" - ModelStepFunctionPrototypeControlCompliant off - CPPClassGenCompliant on - AutosarCompliant off - MDXCompliant off - GRTInterface off - GenerateAllocFcn off - UseToolchainInfoCompliant on - GenerateSharedConstants on - CoderGroups [] - AccessMethods [] - LookupTableObjectStructAxisOrder "1,2,3,4,..." - LUTObjectStructOrderExplicitValues "Size,Breakpoints,Table" - LUTObjectStructOrderEvenSpacing "Size,Breakpoints,Table" - ArrayLayout "Column-major" - UnsupportedSFcnMsg "error" - ERTHeaderFileRootName "$R$E" - ERTSourceFileRootName "$R$E" - ERTDataFileRootName "$R_data" - UseMalloc off - ExtMode off - ExtModeStaticAlloc off - ExtModeTesting off - ExtModeStaticAllocSize 1000000 - ExtModeTransport 0 - ExtModeMexFile "ext_comm" - ExtModeMexArgs "" - ExtModeIntrfLevel "Level1" - RTWCAPISignals off - RTWCAPIParams off - RTWCAPIStates off - RTWCAPIRootIO off - GenerateASAP2 off - MultiInstanceErrorCode "Error" - } - PropName "Components" - } - } - SlCovCC.ConfigComp { - $ObjectID 142 - Version "1.18.1" - DisabledProps [] - Description "Simulink Coverage Configuration Component" - Name "Simulink Coverage" - CovEnable off - CovScope "EntireSystem" - CovIncludeTopModel on - RecordCoverage off - CovPath "/" - CovSaveName "covdata" - CovCompData "" - CovMetricSettings "dwe" - CovFilter "" - CovHTMLOptions "" - CovNameIncrementing off - CovHtmlReporting off - CovForceBlockReductionOff on - CovEnableCumulative on - CovSaveCumulativeToWorkspaceVar off - CovSaveSingleToWorkspaceVar off - CovCumulativeVarName "covCumulativeData" - CovCumulativeReport off - CovSaveOutputData on - CovOutputDir "slcov_output/$ModelName$" - CovDataFileName "$ModelName$_cvdata" - CovShowResultsExplorer on - CovReportOnPause on - CovModelRefEnable "off" - CovModelRefExcluded "" - CovExternalEMLEnable on - CovSFcnEnable on - CovBoundaryAbsTol 1e-05 - CovBoundaryRelTol 0.01 - CovUseTimeInterval off - CovStartTime 0 - CovStopTime 0 - CovMcdcMode "Masking" - } - PropName "Components" - } - Name "Configuration9" - ExtraOptions "" - CurrentDlgPage "Solver" - ConfigPrmDlgPosition [ 321, 71, 1211, 811 ] - } - Simulink.ConfigSet { - $ObjectID 143 - Version "1.18.1" - DisabledProps [] - Description "" - Array { - Type "Handle" - Dimension 9 - Simulink.SolverCC { - $ObjectID 144 - Version "1.18.1" - DisabledProps [] - Description "" - StartTime "0.0" - StopTime "TMax" - AbsTol "auto" - AutoScaleAbsTol on - FixedStep "dt" - InitialStep "auto" - MaxOrder 5 - ZcThreshold "auto" - ConsecutiveZCsStepRelTol "10*128*eps" - MaxConsecutiveZCs "1000" - ExtrapolationOrder 4 - NumberNewtonIterations 1 - MaxStep "auto" - MinStep "auto" - MaxConsecutiveMinStep "1" - RelTol "1e-3" - EnableMultiTasking on - ConcurrentTasks off - Solver "FixedStepDiscrete" - SolverName "FixedStepDiscrete" - SolverJacobianMethodControl "auto" - ShapePreserveControl "DisableAll" - ZeroCrossControl "UseLocalSettings" - ZeroCrossAlgorithm "Nonadaptive" - AlgebraicLoopSolver "TrustRegion" - SolverInfoToggleStatus on - IsAutoAppliedInSIP off - SolverResetMethod "Fast" - PositivePriorityOrder off - AutoInsertRateTranBlk off - SampleTimeConstraint "Unconstrained" - InsertRTBMode "Whenever possible" - SampleTimeProperty [] - DecoupledContinuousIntegration off - MinimalZcImpactIntegration off - } - Simulink.DataIOCC { - $ObjectID 145 - Version "1.18.1" - DisabledProps [] - Description "" - Decimation "1" - ExternalInput "[t, u]" - FinalStateName "xFinal" - InitialState "xInitial" - LimitDataPoints off - MaxDataPoints "1000" - LoadExternalInput off - LoadInitialState off - SaveFinalState off - SaveCompleteFinalSimState off - SaveFormat "Dataset" - SignalLoggingSaveFormat "Dataset" - SaveOutput off - SaveState off - SignalLogging on - DSMLogging on - InspectSignalLogs off - VisualizeSimOutput on - StreamToWorkspace off - StreamVariableName "streamout" - SaveTime off - ReturnWorkspaceOutputs off - StateSaveName "xout" - TimeSaveName "tout" - OutputSaveName "yout" - SignalLoggingName "logsout" - DSMLoggingName "dsmout" - OutputOption "RefineOutputTimes" - OutputTimes "[]" - ReturnWorkspaceOutputsName "out" - Refine "1" - LoggingToFile off - DatasetSignalFormat "timeseries" - LoggingFileName "out.mat" - LoggingIntervals "[-inf, inf]" - } - Simulink.OptimizationCC { - $ObjectID 146 - Version "1.18.1" - Array { - Type "Cell" - Dimension 9 - Cell "BooleansAsBitfields" - Cell "PassReuseOutputArgsAs" - Cell "PassReuseOutputArgsThreshold" - Cell "ZeroExternalMemoryAtStartup" - Cell "ZeroInternalMemoryAtStartup" - Cell "OptimizeModelRefInitCode" - Cell "NoFixptDivByZeroProtection" - Cell "UseSpecifiedMinMax" - Cell "EfficientTunableParamExpr" - PropName "DisabledProps" - } - Description "" - BlockReduction on - BooleanDataType on - ConditionallyExecuteInputs on - DefaultParameterBehavior "Tunable" - UseDivisionForNetSlopeComputation "off" - UseFloatMulNetSlope off - DefaultUnderspecifiedDataType "double" - UseSpecifiedMinMax off - InlineInvariantSignals off - OptimizeBlockIOStorage on - BufferReuse on - EnhancedBackFolding off - CachingGlobalReferences off - GlobalBufferReuse on - StrengthReduction off - AdvancedOptControl "" - ExpressionFolding on - BooleansAsBitfields off - BitfieldContainerType "uint_T" - EnableMemcpy on - MemcpyThreshold 64 - PassReuseOutputArgsAs "Structure reference" - PassReuseOutputArgsThreshold 12 - ExpressionDepthLimit 128 - LocalBlockOutputs on - RollThreshold 5 - StateBitsets off - DataBitsets off - ActiveStateOutputEnumStorageType "Native Integer" - ZeroExternalMemoryAtStartup on - ZeroInternalMemoryAtStartup on - InitFltsAndDblsToZero off - NoFixptDivByZeroProtection off - EfficientFloat2IntCast off - EfficientMapNaN2IntZero on - LifeSpan "auto" - MaxStackSize "Inherit from target" - BufferReusableBoundary on - SimCompilerOptimization "off" - AccelVerboseBuild off - OptimizeBlockOrder "off" - OptimizeDataStoreBuffers on - BusAssignmentInplaceUpdate on - DifferentSizesBufferReuse off - OptimizationLevel "level2" - OptimizationPriority "Balanced" - OptimizationCustomize on - UseRowMajorAlgorithm off - LabelGuidedReuse off - } - Simulink.DebuggingCC { - $ObjectID 147 - Version "1.18.1" - Array { - Type "Cell" - Dimension 1 - Cell "UseOnlyExistingSharedCode" - PropName "DisabledProps" - } - Description "" - RTPrefix "error" - ConsistencyChecking "none" - ArrayBoundsChecking "none" - SignalInfNanChecking "none" - StringTruncationChecking "error" - SignalRangeChecking "none" - ReadBeforeWriteMsg "UseLocalSettings" - WriteAfterWriteMsg "UseLocalSettings" - WriteAfterReadMsg "UseLocalSettings" - AlgebraicLoopMsg "warning" - ArtificialAlgebraicLoopMsg "warning" - SaveWithDisabledLinksMsg "warning" - SaveWithParameterizedLinksMsg "warning" - CheckSSInitialOutputMsg on - UnderspecifiedInitializationDetection "Simplified" - MergeDetectMultiDrivingBlocksExec "error" - CheckExecutionContextPreStartOutputMsg off - CheckExecutionContextRuntimeOutputMsg off - SignalResolutionControl "UseLocalSettings" - BlockPriorityViolationMsg "warning" - MinStepSizeMsg "warning" - TimeAdjustmentMsg "none" - MaxConsecutiveZCsMsg "error" - MaskedZcDiagnostic "warning" - IgnoredZcDiagnostic "warning" - SolverPrmCheckMsg "none" - InheritedTsInSrcMsg "warning" - MultiTaskDSMMsg "error" - MultiTaskCondExecSysMsg "error" - MultiTaskRateTransMsg "error" - SingleTaskRateTransMsg "none" - TasksWithSamePriorityMsg "warning" - ExportedTasksRateTransMsg "none" - SigSpecEnsureSampleTimeMsg "warning" - CheckMatrixSingularityMsg "none" - IntegerOverflowMsg "warning" - Int32ToFloatConvMsg "warning" - ParameterDowncastMsg "error" - ParameterOverflowMsg "error" - ParameterUnderflowMsg "none" - ParameterPrecisionLossMsg "warning" - ParameterTunabilityLossMsg "warning" - FixptConstUnderflowMsg "none" - FixptConstOverflowMsg "none" - FixptConstPrecisionLossMsg "none" - UnderSpecifiedDataTypeMsg "none" - UnnecessaryDatatypeConvMsg "none" - VectorMatrixConversionMsg "none" - InvalidFcnCallConnMsg "error" - FcnCallInpInsideContextMsg "error" - SignalLabelMismatchMsg "none" - UnconnectedInputMsg "warning" - UnconnectedOutputMsg "warning" - UnconnectedLineMsg "warning" - UseOnlyExistingSharedCode "error" - SFcnCompatibilityMsg "none" - FrameProcessingCompatibilityMsg "error" - UniqueDataStoreMsg "none" - BusObjectLabelMismatch "warning" - RootOutportRequireBusObject "warning" - AssertControl "UseLocalSettings" - AllowSymbolicDim on - RowMajorDimensionSupport off - ModelReferenceIOMsg "none" - ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" - ModelReferenceVersionMismatchMessage "none" - ModelReferenceIOMismatchMessage "none" - UnknownTsInhSupMsg "warning" - ModelReferenceDataLoggingMessage "warning" - ModelReferenceSymbolNameMessage "warning" - ModelReferenceExtraNoncontSigs "error" - StateNameClashWarn "none" - SimStateInterfaceChecksumMismatchMsg "warning" - SimStateOlderReleaseMsg "error" - ChecksumConsistencyForSSReuse "none" - LibraryContextMissingDiagnostic "warning" - MatchCodeGenerationContextForUpdateDiagram "none" - InitInArrayFormatMsg "warning" - StrictBusMsg "ErrorLevel1" - BusNameAdapt "WarnAndRepair" - NonBusSignalsTreatedAsBus "none" - SymbolicDimMinMaxWarning "warning" - LossOfSymbolicDimsSimulationWarning "warning" - LossOfSymbolicDimsCodeGenerationWarning "error" - SymbolicDimsDataTypeCodeGenerationDiagnostic "error" - BlockIODiagnostic "none" - SFUnusedDataAndEventsDiag "warning" - SFUnexpectedBacktrackingDiag "error" - SFInvalidInputDataAccessInChartInitDiag "warning" - SFNoUnconditionalDefaultTransitionDiag "error" - SFTransitionOutsideNaturalParentDiag "warning" - SFUnreachableExecutionPathDiag "warning" - SFUndirectedBroadcastEventsDiag "warning" - SFTransitionActionBeforeConditionDiag "warning" - SFOutputUsedAsStateInMooreChartDiag "error" - SFTemporalDelaySmallerThanSampleTimeDiag "warning" - SFSelfTransitionDiag "warning" - SFExecutionAtInitializationDiag "warning" - SFMachineParentedDataDiag "warning" - IntegerSaturationMsg "warning" - AllowedUnitSystems "all" - UnitsInconsistencyMsg "warning" - AllowAutomaticUnitConversions on - RCSCRenamedMsg "warning" - RCSCObservableMsg "warning" - ForceCombineOutputUpdateInSim off - UnitDatabase "" - UnderSpecifiedDimensionMsg "none" - } - Simulink.HardwareCC { - $ObjectID 148 - Version "1.18.1" - DisabledProps [] - Description "" - ProdBitPerChar 8 - ProdBitPerShort 16 - ProdBitPerInt 32 - ProdBitPerLong 32 - ProdBitPerLongLong 64 - ProdBitPerFloat 32 - ProdBitPerDouble 64 - ProdBitPerPointer 64 - ProdBitPerSizeT 64 - ProdBitPerPtrDiffT 64 - ProdLargestAtomicInteger "Char" - ProdLargestAtomicFloat "Float" - ProdIntDivRoundTo "Zero" - ProdEndianess "LittleEndian" - ProdWordSize 64 - ProdShiftRightIntArith on - ProdLongLongMode off - ProdHWDeviceType "Intel->x86-64 (Windows64)" - TargetBitPerChar 8 - TargetBitPerShort 16 - TargetBitPerInt 32 - TargetBitPerLong 32 - TargetBitPerLongLong 64 - TargetBitPerFloat 32 - TargetBitPerDouble 64 - TargetBitPerPointer 32 - TargetBitPerSizeT 32 - TargetBitPerPtrDiffT 32 - TargetLargestAtomicInteger "Char" - TargetLargestAtomicFloat "None" - TargetShiftRightIntArith on - TargetLongLongMode off - TargetIntDivRoundTo "Undefined" - TargetEndianess "Unspecified" - TargetWordSize 32 - TargetPreprocMaxBitsSint 32 - TargetPreprocMaxBitsUint 32 - TargetHWDeviceType "Specified" - TargetUnknown off - ProdEqTarget on - UseEmbeddedCoderFeatures on - UseSimulinkCoderFeatures on - } - Simulink.ModelReferenceCC { - $ObjectID 149 - Version "1.18.1" - DisabledProps [] - Description "" - UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" - EnableRefExpFcnMdlSchedulingChecks on - CheckModelReferenceTargetMessage "error" - EnableParallelModelReferenceBuilds off - ParallelModelReferenceErrorOnInvalidPool on - ParallelModelReferenceMATLABWorkerInit "None" - ModelReferenceNumInstancesAllowed "Multi" - PropagateVarSize "Infer from blocks in model" - ModelDependencies "" - ModelReferencePassRootInputsByReference on - ModelReferenceMinAlgLoopOccurrences off - PropagateSignalLabelsOutOfModel on - SupportModelReferenceSimTargetCustomCode off - } - Simulink.SFSimCC { - $ObjectID 150 - Version "1.18.1" - DisabledProps [] - Description "" - SimCustomSourceCode "" - SimCustomHeaderCode "" - SimCustomInitializer "" - SimCustomTerminator "" - SimReservedNameArray [] - SimUserSources "" - SimUserIncludeDirs "" - SimUserLibraries "" - SimUserDefines "" - SimCustomCompilerFlags "" - SimCustomLinkerFlags "" - SFSimEcho on - SimCtrlC on - SimIntegrity on - SimUseLocalCustomCode off - SimParseCustomCode on - SimAnalyzeCustomCode off - SimBuildMode "sf_incremental_build" - SimGenImportedTypeDefs off - ModelFunctionsGlobalVisibility "on" - CompileTimeRecursionLimit 50 - EnableRuntimeRecursion on - MATLABDynamicMemAlloc on - MATLABDynamicMemAllocThreshold 65536 - CustomCodeFunctionArrayLayout [] - DefaultCustomCodeFunctionArrayLayout "NotSpecified" - } - Simulink.RTWCC { - $BackupClass "Simulink.RTWCC" - $ObjectID 151 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeHyperlinkInReport" - Cell "GenerateTraceInfo" - Cell "GenerateTraceReport" - Cell "GenerateTraceReportSl" - Cell "GenerateTraceReportSf" - Cell "GenerateTraceReportEml" - Cell "PortableWordSizes" - Cell "GenerateWebview" - Cell "GenerateCodeMetricsReport" - Cell "GenerateCodeReplacementReport" - Cell "GenerateMissedCodeReplacementReport" - Cell "GenerateErtSFunction" - Cell "CreateSILPILBlock" - Cell "CodeExecutionProfiling" - Cell "CodeProfilingSaveOptions" - Cell "CodeProfilingInstrumentation" - PropName "DisabledProps" - } - SystemTargetFile "grt.tlc" - HardwareBoard "None" - TLCOptions "" - GenCodeOnly off - MakeCommand "make_rtw" - GenerateMakefile on - PackageGeneratedCodeAndArtifacts off - PackageName "" - TemplateMakefile "grt_default_tmf" - PostCodeGenCommand "" - Description "" - GenerateReport off - RTWVerbose on - RetainRTWFile off - RTWBuildHooks [] - ProfileTLC off - TLCDebug off - TLCCoverage off - TLCAssert off - RTWUseLocalCustomCode off - RTWUseSimCustomCode off - CustomSourceCode "" - CustomHeaderCode "" - CustomInclude "" - CustomSource "" - CustomLibrary "" - CustomDefine "" - CustomBLASCallback "" - CustomLAPACKCallback "" - CustomFFTCallback "" - CustomInitializer "" - CustomTerminator "" - Toolchain "Automatically locate an installed toolchain" - BuildConfiguration "Faster Builds" - CustomToolchainOptions [] - IncludeHyperlinkInReport off - LaunchReport off - PortableWordSizes off - CreateSILPILBlock "None" - CodeExecutionProfiling off - CodeExecutionProfileVariable "executionProfile" - CodeProfilingSaveOptions "SummaryOnly" - CodeProfilingInstrumentation "off" - SILDebugging off - TargetLang "C" - IncludeBusHierarchyInRTWFileBlockHierarchyMap off - GenerateTraceInfo off - GenerateTraceReport off - GenerateTraceReportSl off - GenerateTraceReportSf off - GenerateTraceReportEml off - GenerateWebview off - GenerateCodeMetricsReport off - GenerateCodeReplacementReport off - GenerateMissedCodeReplacementReport off - RTWCompilerOptimization "off" - ObjectivePriorities [] - RTWCustomCompilerOptimizations "" - CheckMdlBeforeBuild "Off" - SharedConstantsCachingThreshold 1024 - Array { - Type "Handle" - Dimension 2 - Simulink.CodeAppCC { - $ObjectID 152 - Version "1.18.1" - Array { - Type "Cell" - Dimension 28 - Cell "IgnoreCustomStorageClasses" - Cell "IgnoreTestpoints" - Cell "InsertBlockDesc" - Cell "InsertPolySpaceComments" - Cell "SFDataObjDesc" - Cell "MATLABFcnDesc" - Cell "SimulinkDataObjDesc" - Cell "DefineNamingRule" - Cell "SignalNamingRule" - Cell "ParamNamingRule" - Cell "InternalIdentifier" - Cell "InlinedPrmAccess" - Cell "CustomSymbolStr" - Cell "CustomSymbolStrGlobalVar" - Cell "CustomSymbolStrType" - Cell "CustomSymbolStrField" - Cell "CustomSymbolStrFcn" - Cell "CustomSymbolStrModelFcn" - Cell "CustomSymbolStrFcnArg" - Cell "CustomSymbolStrBlkIO" - Cell "CustomSymbolStrTmpVar" - Cell "CustomSymbolStrMacro" - Cell "CustomSymbolStrUtil" - Cell "CustomUserTokenString" - Cell "ReqsInCode" - Cell "BlockCommentType" - Cell "CustomSymbolStrEmxType" - Cell "CustomSymbolStrEmxFcn" - PropName "DisabledProps" - } - Description "" - Comment "" - ForceParamTrailComments off - GenerateComments on - CommentStyle "Auto" - IgnoreCustomStorageClasses on - IgnoreTestpoints off - MaxIdLength 31 - PreserveName off - PreserveNameWithParent off - ShowEliminatedStatement off - OperatorAnnotations off - SimulinkDataObjDesc off - SFDataObjDesc off - MATLABFcnDesc off - MangleLength 1 - SharedChecksumLength 8 - CustomSymbolStrGlobalVar "$R$N$M" - CustomSymbolStrType "$N$R$M_T" - CustomSymbolStrField "$N$M" - CustomSymbolStrFcn "$R$N$M$F" - CustomSymbolStrModelFcn "$R$N" - CustomSymbolStrFcnArg "rt$I$N$M" - CustomSymbolStrBlkIO "rtb_$N$M" - CustomSymbolStrTmpVar "$N$M" - CustomSymbolStrMacro "$R$N$M" - CustomSymbolStrUtil "$N$C" - CustomSymbolStrEmxType "emxArray_$M$N" - CustomSymbolStrEmxFcn "emx$M$N" - CustomUserTokenString "" - CustomCommentsFcn "" - DefineNamingRule "None" - DefineNamingFcn "" - ParamNamingRule "None" - ParamNamingFcn "" - SignalNamingRule "None" - SignalNamingFcn "" - InsertBlockDesc off - InsertPolySpaceComments off - SimulinkBlockComments on - BlockCommentType "BlockPathComment" - StateflowObjectComments on - MATLABSourceComments off - EnableCustomComments off - InternalIdentifierFile "" - InternalIdentifier "Shortened" - InlinedPrmAccess "Literals" - ReqsInCode off - UseSimReservedNames off - ReservedNameArray [] - } - Simulink.GRTTargetCC { - $BackupClass "Simulink.TargetCC" - $ObjectID 153 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeMdlTerminateFcn" - Cell "SuppressErrorStatus" - Cell "ERTCustomFileBanners" - Cell "GenerateSampleERTMain" - Cell "ExistingSharedCode" - Cell "GenerateTestInterfaces" - Cell "ModelStepFunctionPrototypeControlCompliant" - Cell "GenerateAllocFcn" - Cell "PurelyIntegerCode" - Cell "SupportComplex" - Cell "SupportAbsoluteTime" - Cell "SupportContinuousTime" - Cell "SupportNonInlinedSFcns" - Cell "RemoveDisableFunc" - Cell "RemoveResetFunc" - Cell "PreserveStateflowLocalDataDimensions" - PropName "DisabledProps" - } - Description "" - TargetFcnLib "ansi_tfl_table_tmw.mat" - TargetLibSuffix "" - TargetPreCompLibLocation "" - GenFloatMathFcnCalls "NOT IN USE" - TargetLangStandard "C99 (ISO)" - CodeReplacementLibrary "None" - UtilityFuncGeneration "Auto" - MultiwordTypeDef "System defined" - MultiwordLength 2048 - DynamicStringBufferSize 256 - GenerateFullHeader on - InferredTypesCompatibility off - ExistingSharedCode "" - GenerateSampleERTMain off - GenerateTestInterfaces off - ModelReferenceCompliant on - ParMdlRefBuildCompliant on - CompOptLevelCompliant on - ConcurrentExecutionCompliant on - IncludeMdlTerminateFcn on - GeneratePreprocessorConditionals "Use local settings" - CombineOutputUpdateFcns on - CombineSignalStateStructs off - GroupInternalDataByFunction off - SuppressErrorStatus off - IncludeFileDelimiter "Auto" - ERTCustomFileBanners off - SupportAbsoluteTime on - LogVarNameModifier "rt_" - MatFileLogging on - MultiInstanceERTCode off - CodeInterfacePackaging "Nonreusable function" - PurelyIntegerCode off - SupportNonFinite on - SupportComplex on - SupportContinuousTime on - SupportNonInlinedSFcns on - RemoveDisableFunc off - RemoveResetFunc off - SupportVariableSizeSignals off - ParenthesesLevel "Nominal" - CastingMode "Nominal" - PreserveStateflowLocalDataDimensions off - MATLABClassNameForMDSCustomization "Simulink.SoftwareTarget.GRTCustomization" - ModelStepFunctionPrototypeControlCompliant off - CPPClassGenCompliant on - AutosarCompliant off - MDXCompliant off - GRTInterface off - GenerateAllocFcn off - UseToolchainInfoCompliant on - GenerateSharedConstants on - CoderGroups [] - AccessMethods [] - LookupTableObjectStructAxisOrder "1,2,3,4,..." - LUTObjectStructOrderExplicitValues "Size,Breakpoints,Table" - LUTObjectStructOrderEvenSpacing "Size,Breakpoints,Table" - ArrayLayout "Column-major" - UnsupportedSFcnMsg "error" - ERTHeaderFileRootName "$R$E" - ERTSourceFileRootName "$R$E" - ERTDataFileRootName "$R_data" - UseMalloc off - ExtMode off - ExtModeStaticAlloc off - ExtModeTesting off - ExtModeStaticAllocSize 1000000 - ExtModeTransport 0 - ExtModeMexFile "ext_comm" - ExtModeMexArgs "" - ExtModeIntrfLevel "Level1" - RTWCAPISignals off - RTWCAPIParams off - RTWCAPIStates off - RTWCAPIRootIO off - GenerateASAP2 off - MultiInstanceErrorCode "Error" - } - PropName "Components" - } - } - SlCovCC.ConfigComp { - $ObjectID 154 - Version "1.18.1" - DisabledProps [] - Description "Simulink Coverage Configuration Component" - Name "Simulink Coverage" - CovEnable off - CovScope "EntireSystem" - CovIncludeTopModel on - RecordCoverage off - CovPath "/" - CovSaveName "covdata" - CovCompData "" - CovMetricSettings "dwe" - CovFilter "" - CovHTMLOptions "" - CovNameIncrementing off - CovHtmlReporting off - CovForceBlockReductionOff on - CovEnableCumulative on - CovSaveCumulativeToWorkspaceVar off - CovSaveSingleToWorkspaceVar off - CovCumulativeVarName "covCumulativeData" - CovCumulativeReport off - CovSaveOutputData on - CovOutputDir "slcov_output/$ModelName$" - CovDataFileName "$ModelName$_cvdata" - CovShowResultsExplorer on - CovReportOnPause on - CovModelRefEnable "off" - CovModelRefExcluded "" - CovExternalEMLEnable on - CovSFcnEnable on - CovBoundaryAbsTol 1e-05 - CovBoundaryRelTol 0.01 - CovUseTimeInterval off - CovStartTime 0 - CovStopTime 0 - CovMcdcMode "Masking" - } - PropName "Components" - } - Name "Configuration10" - ExtraOptions "" - CurrentDlgPage "Solver" - ConfigPrmDlgPosition [ 321, 71, 1211, 811 ] - } - Simulink.ConfigSet { - $ObjectID 155 - Version "1.18.1" - DisabledProps [] - Description "" - Array { - Type "Handle" - Dimension 9 - Simulink.SolverCC { - $ObjectID 156 - Version "1.18.1" - DisabledProps [] - Description "" - StartTime "0.0" - StopTime "TMax" - AbsTol "auto" - AutoScaleAbsTol on - FixedStep "dt" - InitialStep "auto" - MaxOrder 5 - ZcThreshold "auto" - ConsecutiveZCsStepRelTol "10*128*eps" - MaxConsecutiveZCs "1000" - ExtrapolationOrder 4 - NumberNewtonIterations 1 - MaxStep "auto" - MinStep "auto" - MaxConsecutiveMinStep "1" - RelTol "1e-3" - EnableMultiTasking on - ConcurrentTasks off - Solver "FixedStepDiscrete" - SolverName "FixedStepDiscrete" - SolverJacobianMethodControl "auto" - ShapePreserveControl "DisableAll" - ZeroCrossControl "UseLocalSettings" - ZeroCrossAlgorithm "Nonadaptive" - AlgebraicLoopSolver "TrustRegion" - SolverInfoToggleStatus on - IsAutoAppliedInSIP off - SolverResetMethod "Fast" - PositivePriorityOrder off - AutoInsertRateTranBlk off - SampleTimeConstraint "Unconstrained" - InsertRTBMode "Whenever possible" - SampleTimeProperty [] - DecoupledContinuousIntegration off - MinimalZcImpactIntegration off - } - Simulink.DataIOCC { - $ObjectID 157 - Version "1.18.1" - DisabledProps [] - Description "" - Decimation "1" - ExternalInput "[t, u]" - FinalStateName "xFinal" - InitialState "xInitial" - LimitDataPoints off - MaxDataPoints "1000" - LoadExternalInput off - LoadInitialState off - SaveFinalState off - SaveCompleteFinalSimState off - SaveFormat "Dataset" - SignalLoggingSaveFormat "Dataset" - SaveOutput off - SaveState off - SignalLogging on - DSMLogging on - InspectSignalLogs off - VisualizeSimOutput on - StreamToWorkspace off - StreamVariableName "streamout" - SaveTime off - ReturnWorkspaceOutputs off - StateSaveName "xout" - TimeSaveName "tout" - OutputSaveName "yout" - SignalLoggingName "logsout" - DSMLoggingName "dsmout" - OutputOption "RefineOutputTimes" - OutputTimes "[]" - ReturnWorkspaceOutputsName "out" - Refine "1" - LoggingToFile off - DatasetSignalFormat "timeseries" - LoggingFileName "out.mat" - LoggingIntervals "[-inf, inf]" - } - Simulink.OptimizationCC { - $ObjectID 158 - Version "1.18.1" - Array { - Type "Cell" - Dimension 9 - Cell "BooleansAsBitfields" - Cell "PassReuseOutputArgsAs" - Cell "PassReuseOutputArgsThreshold" - Cell "ZeroExternalMemoryAtStartup" - Cell "ZeroInternalMemoryAtStartup" - Cell "OptimizeModelRefInitCode" - Cell "NoFixptDivByZeroProtection" - Cell "UseSpecifiedMinMax" - Cell "EfficientTunableParamExpr" - PropName "DisabledProps" - } - Description "" - BlockReduction on - BooleanDataType on - ConditionallyExecuteInputs on - DefaultParameterBehavior "Tunable" - UseDivisionForNetSlopeComputation "off" - UseFloatMulNetSlope off - DefaultUnderspecifiedDataType "double" - UseSpecifiedMinMax off - InlineInvariantSignals off - OptimizeBlockIOStorage on - BufferReuse on - EnhancedBackFolding off - CachingGlobalReferences off - GlobalBufferReuse on - StrengthReduction off - AdvancedOptControl "" - ExpressionFolding on - BooleansAsBitfields off - BitfieldContainerType "uint_T" - EnableMemcpy on - MemcpyThreshold 64 - PassReuseOutputArgsAs "Structure reference" - PassReuseOutputArgsThreshold 12 - ExpressionDepthLimit 128 - LocalBlockOutputs on - RollThreshold 5 - StateBitsets off - DataBitsets off - ActiveStateOutputEnumStorageType "Native Integer" - ZeroExternalMemoryAtStartup on - ZeroInternalMemoryAtStartup on - InitFltsAndDblsToZero off - NoFixptDivByZeroProtection off - EfficientFloat2IntCast off - EfficientMapNaN2IntZero on - LifeSpan "auto" - MaxStackSize "Inherit from target" - BufferReusableBoundary on - SimCompilerOptimization "off" - AccelVerboseBuild off - OptimizeBlockOrder "off" - OptimizeDataStoreBuffers on - BusAssignmentInplaceUpdate on - DifferentSizesBufferReuse off - OptimizationLevel "level2" - OptimizationPriority "Balanced" - OptimizationCustomize on - UseRowMajorAlgorithm off - LabelGuidedReuse off - } - Simulink.DebuggingCC { - $ObjectID 159 - Version "1.18.1" - Array { - Type "Cell" - Dimension 1 - Cell "UseOnlyExistingSharedCode" - PropName "DisabledProps" - } - Description "" - RTPrefix "error" - ConsistencyChecking "none" - ArrayBoundsChecking "none" - SignalInfNanChecking "none" - StringTruncationChecking "error" - SignalRangeChecking "none" - ReadBeforeWriteMsg "UseLocalSettings" - WriteAfterWriteMsg "UseLocalSettings" - WriteAfterReadMsg "UseLocalSettings" - AlgebraicLoopMsg "warning" - ArtificialAlgebraicLoopMsg "warning" - SaveWithDisabledLinksMsg "warning" - SaveWithParameterizedLinksMsg "warning" - CheckSSInitialOutputMsg on - UnderspecifiedInitializationDetection "Simplified" - MergeDetectMultiDrivingBlocksExec "error" - CheckExecutionContextPreStartOutputMsg off - CheckExecutionContextRuntimeOutputMsg off - SignalResolutionControl "UseLocalSettings" - BlockPriorityViolationMsg "warning" - MinStepSizeMsg "warning" - TimeAdjustmentMsg "none" - MaxConsecutiveZCsMsg "error" - MaskedZcDiagnostic "warning" - IgnoredZcDiagnostic "warning" - SolverPrmCheckMsg "none" - InheritedTsInSrcMsg "warning" - MultiTaskDSMMsg "error" - MultiTaskCondExecSysMsg "error" - MultiTaskRateTransMsg "error" - SingleTaskRateTransMsg "none" - TasksWithSamePriorityMsg "warning" - ExportedTasksRateTransMsg "none" - SigSpecEnsureSampleTimeMsg "warning" - CheckMatrixSingularityMsg "none" - IntegerOverflowMsg "warning" - Int32ToFloatConvMsg "warning" - ParameterDowncastMsg "error" - ParameterOverflowMsg "error" - ParameterUnderflowMsg "none" - ParameterPrecisionLossMsg "warning" - ParameterTunabilityLossMsg "warning" - FixptConstUnderflowMsg "none" - FixptConstOverflowMsg "none" - FixptConstPrecisionLossMsg "none" - UnderSpecifiedDataTypeMsg "none" - UnnecessaryDatatypeConvMsg "none" - VectorMatrixConversionMsg "none" - InvalidFcnCallConnMsg "error" - FcnCallInpInsideContextMsg "error" - SignalLabelMismatchMsg "none" - UnconnectedInputMsg "warning" - UnconnectedOutputMsg "warning" - UnconnectedLineMsg "warning" - UseOnlyExistingSharedCode "error" - SFcnCompatibilityMsg "none" - FrameProcessingCompatibilityMsg "error" - UniqueDataStoreMsg "none" - BusObjectLabelMismatch "warning" - RootOutportRequireBusObject "warning" - AssertControl "UseLocalSettings" - AllowSymbolicDim on - RowMajorDimensionSupport off - ModelReferenceIOMsg "none" - ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" - ModelReferenceVersionMismatchMessage "none" - ModelReferenceIOMismatchMessage "none" - UnknownTsInhSupMsg "warning" - ModelReferenceDataLoggingMessage "warning" - ModelReferenceSymbolNameMessage "warning" - ModelReferenceExtraNoncontSigs "error" - StateNameClashWarn "none" - SimStateInterfaceChecksumMismatchMsg "warning" - SimStateOlderReleaseMsg "error" - ChecksumConsistencyForSSReuse "none" - LibraryContextMissingDiagnostic "warning" - MatchCodeGenerationContextForUpdateDiagram "none" - InitInArrayFormatMsg "warning" - StrictBusMsg "ErrorLevel1" - BusNameAdapt "WarnAndRepair" - NonBusSignalsTreatedAsBus "none" - SymbolicDimMinMaxWarning "warning" - LossOfSymbolicDimsSimulationWarning "warning" - LossOfSymbolicDimsCodeGenerationWarning "error" - SymbolicDimsDataTypeCodeGenerationDiagnostic "error" - BlockIODiagnostic "none" - SFUnusedDataAndEventsDiag "warning" - SFUnexpectedBacktrackingDiag "error" - SFInvalidInputDataAccessInChartInitDiag "warning" - SFNoUnconditionalDefaultTransitionDiag "error" - SFTransitionOutsideNaturalParentDiag "warning" - SFUnreachableExecutionPathDiag "warning" - SFUndirectedBroadcastEventsDiag "warning" - SFTransitionActionBeforeConditionDiag "warning" - SFOutputUsedAsStateInMooreChartDiag "error" - SFTemporalDelaySmallerThanSampleTimeDiag "warning" - SFSelfTransitionDiag "warning" - SFExecutionAtInitializationDiag "warning" - SFMachineParentedDataDiag "warning" - IntegerSaturationMsg "warning" - AllowedUnitSystems "all" - UnitsInconsistencyMsg "warning" - AllowAutomaticUnitConversions on - RCSCRenamedMsg "warning" - RCSCObservableMsg "warning" - ForceCombineOutputUpdateInSim off - UnitDatabase "" - UnderSpecifiedDimensionMsg "none" - } - Simulink.HardwareCC { - $ObjectID 160 - Version "1.18.1" - DisabledProps [] - Description "" - ProdBitPerChar 8 - ProdBitPerShort 16 - ProdBitPerInt 32 - ProdBitPerLong 32 - ProdBitPerLongLong 64 - ProdBitPerFloat 32 - ProdBitPerDouble 64 - ProdBitPerPointer 64 - ProdBitPerSizeT 64 - ProdBitPerPtrDiffT 64 - ProdLargestAtomicInteger "Char" - ProdLargestAtomicFloat "Float" - ProdIntDivRoundTo "Zero" - ProdEndianess "LittleEndian" - ProdWordSize 64 - ProdShiftRightIntArith on - ProdLongLongMode off - ProdHWDeviceType "Intel->x86-64 (Windows64)" - TargetBitPerChar 8 - TargetBitPerShort 16 - TargetBitPerInt 32 - TargetBitPerLong 32 - TargetBitPerLongLong 64 - TargetBitPerFloat 32 - TargetBitPerDouble 64 - TargetBitPerPointer 32 - TargetBitPerSizeT 32 - TargetBitPerPtrDiffT 32 - TargetLargestAtomicInteger "Char" - TargetLargestAtomicFloat "None" - TargetShiftRightIntArith on - TargetLongLongMode off - TargetIntDivRoundTo "Undefined" - TargetEndianess "Unspecified" - TargetWordSize 32 - TargetPreprocMaxBitsSint 32 - TargetPreprocMaxBitsUint 32 - TargetHWDeviceType "Specified" - TargetUnknown off - ProdEqTarget on - UseEmbeddedCoderFeatures on - UseSimulinkCoderFeatures on - } - Simulink.ModelReferenceCC { - $ObjectID 161 - Version "1.18.1" - DisabledProps [] - Description "" - UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" - EnableRefExpFcnMdlSchedulingChecks on - CheckModelReferenceTargetMessage "error" - EnableParallelModelReferenceBuilds off - ParallelModelReferenceErrorOnInvalidPool on - ParallelModelReferenceMATLABWorkerInit "None" - ModelReferenceNumInstancesAllowed "Multi" - PropagateVarSize "Infer from blocks in model" - ModelDependencies "" - ModelReferencePassRootInputsByReference on - ModelReferenceMinAlgLoopOccurrences off - PropagateSignalLabelsOutOfModel on - SupportModelReferenceSimTargetCustomCode off - } - Simulink.SFSimCC { - $ObjectID 162 - Version "1.18.1" - DisabledProps [] - Description "" - SimCustomSourceCode "" - SimCustomHeaderCode "" - SimCustomInitializer "" - SimCustomTerminator "" - SimReservedNameArray [] - SimUserSources "" - SimUserIncludeDirs "" - SimUserLibraries "" - SimUserDefines "" - SimCustomCompilerFlags "" - SimCustomLinkerFlags "" - SFSimEcho on - SimCtrlC on - SimIntegrity on - SimUseLocalCustomCode off - SimParseCustomCode on - SimAnalyzeCustomCode off - SimBuildMode "sf_incremental_build" - SimGenImportedTypeDefs off - ModelFunctionsGlobalVisibility "on" - CompileTimeRecursionLimit 50 - EnableRuntimeRecursion on - MATLABDynamicMemAlloc on - MATLABDynamicMemAllocThreshold 65536 - CustomCodeFunctionArrayLayout [] - DefaultCustomCodeFunctionArrayLayout "NotSpecified" - } - Simulink.RTWCC { - $BackupClass "Simulink.RTWCC" - $ObjectID 163 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeHyperlinkInReport" - Cell "GenerateTraceInfo" - Cell "GenerateTraceReport" - Cell "GenerateTraceReportSl" - Cell "GenerateTraceReportSf" - Cell "GenerateTraceReportEml" - Cell "PortableWordSizes" - Cell "GenerateWebview" - Cell "GenerateCodeMetricsReport" - Cell "GenerateCodeReplacementReport" - Cell "GenerateMissedCodeReplacementReport" - Cell "GenerateErtSFunction" - Cell "CreateSILPILBlock" - Cell "CodeExecutionProfiling" - Cell "CodeProfilingSaveOptions" - Cell "CodeProfilingInstrumentation" - PropName "DisabledProps" - } - SystemTargetFile "grt.tlc" - HardwareBoard "None" - TLCOptions "" - GenCodeOnly off - MakeCommand "make_rtw" - GenerateMakefile on - PackageGeneratedCodeAndArtifacts off - PackageName "" - TemplateMakefile "grt_default_tmf" - PostCodeGenCommand "" - Description "" - GenerateReport off - RTWVerbose on - RetainRTWFile off - RTWBuildHooks [] - ProfileTLC off - TLCDebug off - TLCCoverage off - TLCAssert off - RTWUseLocalCustomCode off - RTWUseSimCustomCode off - CustomSourceCode "" - CustomHeaderCode "" - CustomInclude "" - CustomSource "" - CustomLibrary "" - CustomDefine "" - CustomBLASCallback "" - CustomLAPACKCallback "" - CustomFFTCallback "" - CustomInitializer "" - CustomTerminator "" - Toolchain "Automatically locate an installed toolchain" - BuildConfiguration "Faster Builds" - CustomToolchainOptions [] - IncludeHyperlinkInReport off - LaunchReport off - PortableWordSizes off - CreateSILPILBlock "None" - CodeExecutionProfiling off - CodeExecutionProfileVariable "executionProfile" - CodeProfilingSaveOptions "SummaryOnly" - CodeProfilingInstrumentation "off" - SILDebugging off - TargetLang "C" - IncludeBusHierarchyInRTWFileBlockHierarchyMap off - GenerateTraceInfo off - GenerateTraceReport off - GenerateTraceReportSl off - GenerateTraceReportSf off - GenerateTraceReportEml off - GenerateWebview off - GenerateCodeMetricsReport off - GenerateCodeReplacementReport off - GenerateMissedCodeReplacementReport off - RTWCompilerOptimization "off" - ObjectivePriorities [] - RTWCustomCompilerOptimizations "" - CheckMdlBeforeBuild "Off" - SharedConstantsCachingThreshold 1024 - Array { - Type "Handle" - Dimension 2 - Simulink.CodeAppCC { - $ObjectID 164 - Version "1.18.1" - Array { - Type "Cell" - Dimension 28 - Cell "IgnoreCustomStorageClasses" - Cell "IgnoreTestpoints" - Cell "InsertBlockDesc" - Cell "InsertPolySpaceComments" - Cell "SFDataObjDesc" - Cell "MATLABFcnDesc" - Cell "SimulinkDataObjDesc" - Cell "DefineNamingRule" - Cell "SignalNamingRule" - Cell "ParamNamingRule" - Cell "InternalIdentifier" - Cell "InlinedPrmAccess" - Cell "CustomSymbolStr" - Cell "CustomSymbolStrGlobalVar" - Cell "CustomSymbolStrType" - Cell "CustomSymbolStrField" - Cell "CustomSymbolStrFcn" - Cell "CustomSymbolStrModelFcn" - Cell "CustomSymbolStrFcnArg" - Cell "CustomSymbolStrBlkIO" - Cell "CustomSymbolStrTmpVar" - Cell "CustomSymbolStrMacro" - Cell "CustomSymbolStrUtil" - Cell "CustomUserTokenString" - Cell "ReqsInCode" - Cell "BlockCommentType" - Cell "CustomSymbolStrEmxType" - Cell "CustomSymbolStrEmxFcn" - PropName "DisabledProps" - } - Description "" - Comment "" - ForceParamTrailComments off - GenerateComments on - CommentStyle "Auto" - IgnoreCustomStorageClasses on - IgnoreTestpoints off - MaxIdLength 31 - PreserveName off - PreserveNameWithParent off - ShowEliminatedStatement off - OperatorAnnotations off - SimulinkDataObjDesc off - SFDataObjDesc off - MATLABFcnDesc off - MangleLength 1 - SharedChecksumLength 8 - CustomSymbolStrGlobalVar "$R$N$M" - CustomSymbolStrType "$N$R$M_T" - CustomSymbolStrField "$N$M" - CustomSymbolStrFcn "$R$N$M$F" - CustomSymbolStrModelFcn "$R$N" - CustomSymbolStrFcnArg "rt$I$N$M" - CustomSymbolStrBlkIO "rtb_$N$M" - CustomSymbolStrTmpVar "$N$M" - CustomSymbolStrMacro "$R$N$M" - CustomSymbolStrUtil "$N$C" - CustomSymbolStrEmxType "emxArray_$M$N" - CustomSymbolStrEmxFcn "emx$M$N" - CustomUserTokenString "" - CustomCommentsFcn "" - DefineNamingRule "None" - DefineNamingFcn "" - ParamNamingRule "None" - ParamNamingFcn "" - SignalNamingRule "None" - SignalNamingFcn "" - InsertBlockDesc off - InsertPolySpaceComments off - SimulinkBlockComments on - BlockCommentType "BlockPathComment" - StateflowObjectComments on - MATLABSourceComments off - EnableCustomComments off - InternalIdentifierFile "" - InternalIdentifier "Shortened" - InlinedPrmAccess "Literals" - ReqsInCode off - UseSimReservedNames off - ReservedNameArray [] - } - Simulink.GRTTargetCC { - $BackupClass "Simulink.TargetCC" - $ObjectID 165 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeMdlTerminateFcn" - Cell "SuppressErrorStatus" - Cell "ERTCustomFileBanners" - Cell "GenerateSampleERTMain" - Cell "ExistingSharedCode" - Cell "GenerateTestInterfaces" - Cell "ModelStepFunctionPrototypeControlCompliant" - Cell "GenerateAllocFcn" - Cell "PurelyIntegerCode" - Cell "SupportComplex" - Cell "SupportAbsoluteTime" - Cell "SupportContinuousTime" - Cell "SupportNonInlinedSFcns" - Cell "RemoveDisableFunc" - Cell "RemoveResetFunc" - Cell "PreserveStateflowLocalDataDimensions" - PropName "DisabledProps" - } - Description "" - TargetFcnLib "ansi_tfl_table_tmw.mat" - TargetLibSuffix "" - TargetPreCompLibLocation "" - GenFloatMathFcnCalls "NOT IN USE" - TargetLangStandard "C99 (ISO)" - CodeReplacementLibrary "None" - UtilityFuncGeneration "Auto" - MultiwordTypeDef "System defined" - MultiwordLength 2048 - DynamicStringBufferSize 256 - GenerateFullHeader on - InferredTypesCompatibility off - ExistingSharedCode "" - GenerateSampleERTMain off - GenerateTestInterfaces off - ModelReferenceCompliant on - ParMdlRefBuildCompliant on - CompOptLevelCompliant on - ConcurrentExecutionCompliant on - IncludeMdlTerminateFcn on - GeneratePreprocessorConditionals "Use local settings" - CombineOutputUpdateFcns on - CombineSignalStateStructs off - GroupInternalDataByFunction off - SuppressErrorStatus off - IncludeFileDelimiter "Auto" - ERTCustomFileBanners off - SupportAbsoluteTime on - LogVarNameModifier "rt_" - MatFileLogging on - MultiInstanceERTCode off - CodeInterfacePackaging "Nonreusable function" - PurelyIntegerCode off - SupportNonFinite on - SupportComplex on - SupportContinuousTime on - SupportNonInlinedSFcns on - RemoveDisableFunc off - RemoveResetFunc off - SupportVariableSizeSignals off - ParenthesesLevel "Nominal" - CastingMode "Nominal" - PreserveStateflowLocalDataDimensions off - MATLABClassNameForMDSCustomization "Simulink.SoftwareTarget.GRTCustomization" - ModelStepFunctionPrototypeControlCompliant off - CPPClassGenCompliant on - AutosarCompliant off - MDXCompliant off - GRTInterface off - GenerateAllocFcn off - UseToolchainInfoCompliant on - GenerateSharedConstants on - CoderGroups [] - AccessMethods [] - LookupTableObjectStructAxisOrder "1,2,3,4,..." - LUTObjectStructOrderExplicitValues "Size,Breakpoints,Table" - LUTObjectStructOrderEvenSpacing "Size,Breakpoints,Table" - ArrayLayout "Column-major" - UnsupportedSFcnMsg "error" - ERTHeaderFileRootName "$R$E" - ERTSourceFileRootName "$R$E" - ERTDataFileRootName "$R_data" - UseMalloc off - ExtMode off - ExtModeStaticAlloc off - ExtModeTesting off - ExtModeStaticAllocSize 1000000 - ExtModeTransport 0 - ExtModeMexFile "ext_comm" - ExtModeMexArgs "" - ExtModeIntrfLevel "Level1" - RTWCAPISignals off - RTWCAPIParams off - RTWCAPIStates off - RTWCAPIRootIO off - GenerateASAP2 off - MultiInstanceErrorCode "Error" - } - PropName "Components" - } - } - SlCovCC.ConfigComp { - $ObjectID 166 - Version "1.18.1" - DisabledProps [] - Description "Simulink Coverage Configuration Component" - Name "Simulink Coverage" - CovEnable off - CovScope "EntireSystem" - CovIncludeTopModel on - RecordCoverage off - CovPath "/" - CovSaveName "covdata" - CovCompData "" - CovMetricSettings "dwe" - CovFilter "" - CovHTMLOptions "" - CovNameIncrementing off - CovHtmlReporting off - CovForceBlockReductionOff on - CovEnableCumulative on - CovSaveCumulativeToWorkspaceVar off - CovSaveSingleToWorkspaceVar off - CovCumulativeVarName "covCumulativeData" - CovCumulativeReport off - CovSaveOutputData on - CovOutputDir "slcov_output/$ModelName$" - CovDataFileName "$ModelName$_cvdata" - CovShowResultsExplorer on - CovReportOnPause on - CovModelRefEnable "off" - CovModelRefExcluded "" - CovExternalEMLEnable on - CovSFcnEnable on - CovBoundaryAbsTol 1e-05 - CovBoundaryRelTol 0.01 - CovUseTimeInterval off - CovStartTime 0 - CovStopTime 0 - CovMcdcMode "Masking" - } - PropName "Components" - } - Name "Configuration11" - ExtraOptions "" - CurrentDlgPage "Solver" - ConfigPrmDlgPosition [ 321, 71, 1211, 811 ] - } - Simulink.ConfigSet { - $ObjectID 167 - Version "1.18.1" - DisabledProps [] - Description "" - Array { - Type "Handle" - Dimension 9 - Simulink.SolverCC { - $ObjectID 168 - Version "1.18.1" - DisabledProps [] - Description "" - StartTime "0.0" - StopTime "TMax" - AbsTol "auto" - AutoScaleAbsTol on - FixedStep "dt" - InitialStep "auto" - MaxOrder 5 - ZcThreshold "auto" - ConsecutiveZCsStepRelTol "10*128*eps" - MaxConsecutiveZCs "1000" - ExtrapolationOrder 4 - NumberNewtonIterations 1 - MaxStep "auto" - MinStep "auto" - MaxConsecutiveMinStep "1" - RelTol "1e-3" - EnableMultiTasking on - ConcurrentTasks off - Solver "FixedStepDiscrete" - SolverName "FixedStepDiscrete" - SolverJacobianMethodControl "auto" - ShapePreserveControl "DisableAll" - ZeroCrossControl "UseLocalSettings" - ZeroCrossAlgorithm "Nonadaptive" - AlgebraicLoopSolver "TrustRegion" - SolverInfoToggleStatus on - IsAutoAppliedInSIP off - SolverResetMethod "Fast" - PositivePriorityOrder off - AutoInsertRateTranBlk off - SampleTimeConstraint "Unconstrained" - InsertRTBMode "Whenever possible" - SampleTimeProperty [] - DecoupledContinuousIntegration off - MinimalZcImpactIntegration off - } - Simulink.DataIOCC { - $ObjectID 169 - Version "1.18.1" - DisabledProps [] - Description "" - Decimation "1" - ExternalInput "[t, u]" - FinalStateName "xFinal" - InitialState "xInitial" - LimitDataPoints off - MaxDataPoints "1000" - LoadExternalInput off - LoadInitialState off - SaveFinalState off - SaveCompleteFinalSimState off - SaveFormat "Dataset" - SignalLoggingSaveFormat "Dataset" - SaveOutput off - SaveState off - SignalLogging on - DSMLogging on - InspectSignalLogs off - VisualizeSimOutput on - StreamToWorkspace off - StreamVariableName "streamout" - SaveTime off - ReturnWorkspaceOutputs off - StateSaveName "xout" - TimeSaveName "tout" - OutputSaveName "yout" - SignalLoggingName "logsout" - DSMLoggingName "dsmout" - OutputOption "RefineOutputTimes" - OutputTimes "[]" - ReturnWorkspaceOutputsName "out" - Refine "1" - LoggingToFile off - DatasetSignalFormat "timeseries" - LoggingFileName "out.mat" - LoggingIntervals "[-inf, inf]" - } - Simulink.OptimizationCC { - $ObjectID 170 - Version "1.18.1" - Array { - Type "Cell" - Dimension 9 - Cell "BooleansAsBitfields" - Cell "PassReuseOutputArgsAs" - Cell "PassReuseOutputArgsThreshold" - Cell "ZeroExternalMemoryAtStartup" - Cell "ZeroInternalMemoryAtStartup" - Cell "OptimizeModelRefInitCode" - Cell "NoFixptDivByZeroProtection" - Cell "UseSpecifiedMinMax" - Cell "EfficientTunableParamExpr" - PropName "DisabledProps" - } - Description "" - BlockReduction on - BooleanDataType on - ConditionallyExecuteInputs on - DefaultParameterBehavior "Tunable" - UseDivisionForNetSlopeComputation "off" - UseFloatMulNetSlope off - DefaultUnderspecifiedDataType "double" - UseSpecifiedMinMax off - InlineInvariantSignals off - OptimizeBlockIOStorage on - BufferReuse on - EnhancedBackFolding off - CachingGlobalReferences off - GlobalBufferReuse on - StrengthReduction off - AdvancedOptControl "" - ExpressionFolding on - BooleansAsBitfields off - BitfieldContainerType "uint_T" - EnableMemcpy on - MemcpyThreshold 64 - PassReuseOutputArgsAs "Structure reference" - PassReuseOutputArgsThreshold 12 - ExpressionDepthLimit 128 - LocalBlockOutputs on - RollThreshold 5 - StateBitsets off - DataBitsets off - ActiveStateOutputEnumStorageType "Native Integer" - ZeroExternalMemoryAtStartup on - ZeroInternalMemoryAtStartup on - InitFltsAndDblsToZero off - NoFixptDivByZeroProtection off - EfficientFloat2IntCast off - EfficientMapNaN2IntZero on - LifeSpan "auto" - MaxStackSize "Inherit from target" - BufferReusableBoundary on - SimCompilerOptimization "off" - AccelVerboseBuild off - OptimizeBlockOrder "off" - OptimizeDataStoreBuffers on - BusAssignmentInplaceUpdate on - DifferentSizesBufferReuse off - OptimizationLevel "level2" - OptimizationPriority "Balanced" - OptimizationCustomize on - UseRowMajorAlgorithm off - LabelGuidedReuse off - } - Simulink.DebuggingCC { - $ObjectID 171 - Version "1.18.1" - Array { - Type "Cell" - Dimension 1 - Cell "UseOnlyExistingSharedCode" - PropName "DisabledProps" - } - Description "" - RTPrefix "error" - ConsistencyChecking "none" - ArrayBoundsChecking "none" - SignalInfNanChecking "none" - StringTruncationChecking "error" - SignalRangeChecking "none" - ReadBeforeWriteMsg "UseLocalSettings" - WriteAfterWriteMsg "UseLocalSettings" - WriteAfterReadMsg "UseLocalSettings" - AlgebraicLoopMsg "warning" - ArtificialAlgebraicLoopMsg "warning" - SaveWithDisabledLinksMsg "warning" - SaveWithParameterizedLinksMsg "warning" - CheckSSInitialOutputMsg on - UnderspecifiedInitializationDetection "Simplified" - MergeDetectMultiDrivingBlocksExec "error" - CheckExecutionContextPreStartOutputMsg off - CheckExecutionContextRuntimeOutputMsg off - SignalResolutionControl "UseLocalSettings" - BlockPriorityViolationMsg "warning" - MinStepSizeMsg "warning" - TimeAdjustmentMsg "none" - MaxConsecutiveZCsMsg "error" - MaskedZcDiagnostic "warning" - IgnoredZcDiagnostic "warning" - SolverPrmCheckMsg "none" - InheritedTsInSrcMsg "warning" - MultiTaskDSMMsg "error" - MultiTaskCondExecSysMsg "error" - MultiTaskRateTransMsg "error" - SingleTaskRateTransMsg "none" - TasksWithSamePriorityMsg "warning" - ExportedTasksRateTransMsg "none" - SigSpecEnsureSampleTimeMsg "warning" - CheckMatrixSingularityMsg "none" - IntegerOverflowMsg "warning" - Int32ToFloatConvMsg "warning" - ParameterDowncastMsg "error" - ParameterOverflowMsg "error" - ParameterUnderflowMsg "none" - ParameterPrecisionLossMsg "warning" - ParameterTunabilityLossMsg "warning" - FixptConstUnderflowMsg "none" - FixptConstOverflowMsg "none" - FixptConstPrecisionLossMsg "none" - UnderSpecifiedDataTypeMsg "none" - UnnecessaryDatatypeConvMsg "none" - VectorMatrixConversionMsg "none" - InvalidFcnCallConnMsg "error" - FcnCallInpInsideContextMsg "error" - SignalLabelMismatchMsg "none" - UnconnectedInputMsg "warning" - UnconnectedOutputMsg "warning" - UnconnectedLineMsg "warning" - UseOnlyExistingSharedCode "error" - SFcnCompatibilityMsg "none" - FrameProcessingCompatibilityMsg "error" - UniqueDataStoreMsg "none" - BusObjectLabelMismatch "warning" - RootOutportRequireBusObject "warning" - AssertControl "UseLocalSettings" - AllowSymbolicDim on - RowMajorDimensionSupport off - ModelReferenceIOMsg "none" - ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" - ModelReferenceVersionMismatchMessage "none" - ModelReferenceIOMismatchMessage "none" - UnknownTsInhSupMsg "warning" - ModelReferenceDataLoggingMessage "warning" - ModelReferenceSymbolNameMessage "warning" - ModelReferenceExtraNoncontSigs "error" - StateNameClashWarn "none" - SimStateInterfaceChecksumMismatchMsg "warning" - SimStateOlderReleaseMsg "error" - ChecksumConsistencyForSSReuse "none" - LibraryContextMissingDiagnostic "warning" - MatchCodeGenerationContextForUpdateDiagram "none" - InitInArrayFormatMsg "warning" - StrictBusMsg "ErrorLevel1" - BusNameAdapt "WarnAndRepair" - NonBusSignalsTreatedAsBus "none" - SymbolicDimMinMaxWarning "warning" - LossOfSymbolicDimsSimulationWarning "warning" - LossOfSymbolicDimsCodeGenerationWarning "error" - SymbolicDimsDataTypeCodeGenerationDiagnostic "error" - BlockIODiagnostic "none" - SFUnusedDataAndEventsDiag "warning" - SFUnexpectedBacktrackingDiag "error" - SFInvalidInputDataAccessInChartInitDiag "warning" - SFNoUnconditionalDefaultTransitionDiag "error" - SFTransitionOutsideNaturalParentDiag "warning" - SFUnreachableExecutionPathDiag "warning" - SFUndirectedBroadcastEventsDiag "warning" - SFTransitionActionBeforeConditionDiag "warning" - SFOutputUsedAsStateInMooreChartDiag "error" - SFTemporalDelaySmallerThanSampleTimeDiag "warning" - SFSelfTransitionDiag "warning" - SFExecutionAtInitializationDiag "warning" - SFMachineParentedDataDiag "warning" - IntegerSaturationMsg "warning" - AllowedUnitSystems "all" - UnitsInconsistencyMsg "warning" - AllowAutomaticUnitConversions on - RCSCRenamedMsg "warning" - RCSCObservableMsg "warning" - ForceCombineOutputUpdateInSim off - UnitDatabase "" - UnderSpecifiedDimensionMsg "none" - } - Simulink.HardwareCC { - $ObjectID 172 - Version "1.18.1" - DisabledProps [] - Description "" - ProdBitPerChar 8 - ProdBitPerShort 16 - ProdBitPerInt 32 - ProdBitPerLong 32 - ProdBitPerLongLong 64 - ProdBitPerFloat 32 - ProdBitPerDouble 64 - ProdBitPerPointer 64 - ProdBitPerSizeT 64 - ProdBitPerPtrDiffT 64 - ProdLargestAtomicInteger "Char" - ProdLargestAtomicFloat "Float" - ProdIntDivRoundTo "Zero" - ProdEndianess "LittleEndian" - ProdWordSize 64 - ProdShiftRightIntArith on - ProdLongLongMode off - ProdHWDeviceType "Intel->x86-64 (Windows64)" - TargetBitPerChar 8 - TargetBitPerShort 16 - TargetBitPerInt 32 - TargetBitPerLong 32 - TargetBitPerLongLong 64 - TargetBitPerFloat 32 - TargetBitPerDouble 64 - TargetBitPerPointer 32 - TargetBitPerSizeT 32 - TargetBitPerPtrDiffT 32 - TargetLargestAtomicInteger "Char" - TargetLargestAtomicFloat "None" - TargetShiftRightIntArith on - TargetLongLongMode off - TargetIntDivRoundTo "Undefined" - TargetEndianess "Unspecified" - TargetWordSize 32 - TargetPreprocMaxBitsSint 32 - TargetPreprocMaxBitsUint 32 - TargetHWDeviceType "Specified" - TargetUnknown off - ProdEqTarget on - UseEmbeddedCoderFeatures on - UseSimulinkCoderFeatures on - } - Simulink.ModelReferenceCC { - $ObjectID 173 - Version "1.18.1" - DisabledProps [] - Description "" - UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" - EnableRefExpFcnMdlSchedulingChecks on - CheckModelReferenceTargetMessage "error" - EnableParallelModelReferenceBuilds off - ParallelModelReferenceErrorOnInvalidPool on - ParallelModelReferenceMATLABWorkerInit "None" - ModelReferenceNumInstancesAllowed "Multi" - PropagateVarSize "Infer from blocks in model" - ModelDependencies "" - ModelReferencePassRootInputsByReference on - ModelReferenceMinAlgLoopOccurrences off - PropagateSignalLabelsOutOfModel on - SupportModelReferenceSimTargetCustomCode off - } - Simulink.SFSimCC { - $ObjectID 174 - Version "1.18.1" - DisabledProps [] - Description "" - SimCustomSourceCode "" - SimCustomHeaderCode "" - SimCustomInitializer "" - SimCustomTerminator "" - SimReservedNameArray [] - SimUserSources "" - SimUserIncludeDirs "" - SimUserLibraries "" - SimUserDefines "" - SimCustomCompilerFlags "" - SimCustomLinkerFlags "" - SFSimEcho on - SimCtrlC on - SimIntegrity on - SimUseLocalCustomCode off - SimParseCustomCode on - SimAnalyzeCustomCode off - SimBuildMode "sf_incremental_build" - SimGenImportedTypeDefs off - ModelFunctionsGlobalVisibility "on" - CompileTimeRecursionLimit 50 - EnableRuntimeRecursion on - MATLABDynamicMemAlloc on - MATLABDynamicMemAllocThreshold 65536 - CustomCodeFunctionArrayLayout [] - DefaultCustomCodeFunctionArrayLayout "NotSpecified" - } - Simulink.RTWCC { - $BackupClass "Simulink.RTWCC" - $ObjectID 175 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeHyperlinkInReport" - Cell "GenerateTraceInfo" - Cell "GenerateTraceReport" - Cell "GenerateTraceReportSl" - Cell "GenerateTraceReportSf" - Cell "GenerateTraceReportEml" - Cell "PortableWordSizes" - Cell "GenerateWebview" - Cell "GenerateCodeMetricsReport" - Cell "GenerateCodeReplacementReport" - Cell "GenerateMissedCodeReplacementReport" - Cell "GenerateErtSFunction" - Cell "CreateSILPILBlock" - Cell "CodeExecutionProfiling" - Cell "CodeProfilingSaveOptions" - Cell "CodeProfilingInstrumentation" - PropName "DisabledProps" - } - SystemTargetFile "grt.tlc" - HardwareBoard "None" - TLCOptions "" - GenCodeOnly off - MakeCommand "make_rtw" - GenerateMakefile on - PackageGeneratedCodeAndArtifacts off - PackageName "" - TemplateMakefile "grt_default_tmf" - PostCodeGenCommand "" - Description "" - GenerateReport off - RTWVerbose on - RetainRTWFile off - RTWBuildHooks [] - ProfileTLC off - TLCDebug off - TLCCoverage off - TLCAssert off - RTWUseLocalCustomCode off - RTWUseSimCustomCode off - CustomSourceCode "" - CustomHeaderCode "" - CustomInclude "" - CustomSource "" - CustomLibrary "" - CustomDefine "" - CustomBLASCallback "" - CustomLAPACKCallback "" - CustomFFTCallback "" - CustomInitializer "" - CustomTerminator "" - Toolchain "Automatically locate an installed toolchain" - BuildConfiguration "Faster Builds" - CustomToolchainOptions [] - IncludeHyperlinkInReport off - LaunchReport off - PortableWordSizes off - CreateSILPILBlock "None" - CodeExecutionProfiling off - CodeExecutionProfileVariable "executionProfile" - CodeProfilingSaveOptions "SummaryOnly" - CodeProfilingInstrumentation "off" - SILDebugging off - TargetLang "C" - IncludeBusHierarchyInRTWFileBlockHierarchyMap off - GenerateTraceInfo off - GenerateTraceReport off - GenerateTraceReportSl off - GenerateTraceReportSf off - GenerateTraceReportEml off - GenerateWebview off - GenerateCodeMetricsReport off - GenerateCodeReplacementReport off - GenerateMissedCodeReplacementReport off - RTWCompilerOptimization "off" - ObjectivePriorities [] - RTWCustomCompilerOptimizations "" - CheckMdlBeforeBuild "Off" - SharedConstantsCachingThreshold 1024 - Array { - Type "Handle" - Dimension 2 - Simulink.CodeAppCC { - $ObjectID 176 - Version "1.18.1" - Array { - Type "Cell" - Dimension 28 - Cell "IgnoreCustomStorageClasses" - Cell "IgnoreTestpoints" - Cell "InsertBlockDesc" - Cell "InsertPolySpaceComments" - Cell "SFDataObjDesc" - Cell "MATLABFcnDesc" - Cell "SimulinkDataObjDesc" - Cell "DefineNamingRule" - Cell "SignalNamingRule" - Cell "ParamNamingRule" - Cell "InternalIdentifier" - Cell "InlinedPrmAccess" - Cell "CustomSymbolStr" - Cell "CustomSymbolStrGlobalVar" - Cell "CustomSymbolStrType" - Cell "CustomSymbolStrField" - Cell "CustomSymbolStrFcn" - Cell "CustomSymbolStrModelFcn" - Cell "CustomSymbolStrFcnArg" - Cell "CustomSymbolStrBlkIO" - Cell "CustomSymbolStrTmpVar" - Cell "CustomSymbolStrMacro" - Cell "CustomSymbolStrUtil" - Cell "CustomUserTokenString" - Cell "ReqsInCode" - Cell "BlockCommentType" - Cell "CustomSymbolStrEmxType" - Cell "CustomSymbolStrEmxFcn" - PropName "DisabledProps" - } - Description "" - Comment "" - ForceParamTrailComments off - GenerateComments on - CommentStyle "Auto" - IgnoreCustomStorageClasses on - IgnoreTestpoints off - MaxIdLength 31 - PreserveName off - PreserveNameWithParent off - ShowEliminatedStatement off - OperatorAnnotations off - SimulinkDataObjDesc off - SFDataObjDesc off - MATLABFcnDesc off - MangleLength 1 - SharedChecksumLength 8 - CustomSymbolStrGlobalVar "$R$N$M" - CustomSymbolStrType "$N$R$M_T" - CustomSymbolStrField "$N$M" - CustomSymbolStrFcn "$R$N$M$F" - CustomSymbolStrModelFcn "$R$N" - CustomSymbolStrFcnArg "rt$I$N$M" - CustomSymbolStrBlkIO "rtb_$N$M" - CustomSymbolStrTmpVar "$N$M" - CustomSymbolStrMacro "$R$N$M" - CustomSymbolStrUtil "$N$C" - CustomSymbolStrEmxType "emxArray_$M$N" - CustomSymbolStrEmxFcn "emx$M$N" - CustomUserTokenString "" - CustomCommentsFcn "" - DefineNamingRule "None" - DefineNamingFcn "" - ParamNamingRule "None" - ParamNamingFcn "" - SignalNamingRule "None" - SignalNamingFcn "" - InsertBlockDesc off - InsertPolySpaceComments off - SimulinkBlockComments on - BlockCommentType "BlockPathComment" - StateflowObjectComments on - MATLABSourceComments off - EnableCustomComments off - InternalIdentifierFile "" - InternalIdentifier "Shortened" - InlinedPrmAccess "Literals" - ReqsInCode off - UseSimReservedNames off - ReservedNameArray [] - } - Simulink.GRTTargetCC { - $BackupClass "Simulink.TargetCC" - $ObjectID 177 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeMdlTerminateFcn" - Cell "SuppressErrorStatus" - Cell "ERTCustomFileBanners" - Cell "GenerateSampleERTMain" - Cell "ExistingSharedCode" - Cell "GenerateTestInterfaces" - Cell "ModelStepFunctionPrototypeControlCompliant" - Cell "GenerateAllocFcn" - Cell "PurelyIntegerCode" - Cell "SupportComplex" - Cell "SupportAbsoluteTime" - Cell "SupportContinuousTime" - Cell "SupportNonInlinedSFcns" - Cell "RemoveDisableFunc" - Cell "RemoveResetFunc" - Cell "PreserveStateflowLocalDataDimensions" - PropName "DisabledProps" - } - Description "" - TargetFcnLib "ansi_tfl_table_tmw.mat" - TargetLibSuffix "" - TargetPreCompLibLocation "" - GenFloatMathFcnCalls "NOT IN USE" - TargetLangStandard "C99 (ISO)" - CodeReplacementLibrary "None" - UtilityFuncGeneration "Auto" - MultiwordTypeDef "System defined" - MultiwordLength 2048 - DynamicStringBufferSize 256 - GenerateFullHeader on - InferredTypesCompatibility off - ExistingSharedCode "" - GenerateSampleERTMain off - GenerateTestInterfaces off - ModelReferenceCompliant on - ParMdlRefBuildCompliant on - CompOptLevelCompliant on - ConcurrentExecutionCompliant on - IncludeMdlTerminateFcn on - GeneratePreprocessorConditionals "Use local settings" - CombineOutputUpdateFcns on - CombineSignalStateStructs off - GroupInternalDataByFunction off - SuppressErrorStatus off - IncludeFileDelimiter "Auto" - ERTCustomFileBanners off - SupportAbsoluteTime on - LogVarNameModifier "rt_" - MatFileLogging on - MultiInstanceERTCode off - CodeInterfacePackaging "Nonreusable function" - PurelyIntegerCode off - SupportNonFinite on - SupportComplex on - SupportContinuousTime on - SupportNonInlinedSFcns on - RemoveDisableFunc off - RemoveResetFunc off - SupportVariableSizeSignals off - ParenthesesLevel "Nominal" - CastingMode "Nominal" - PreserveStateflowLocalDataDimensions off - MATLABClassNameForMDSCustomization "Simulink.SoftwareTarget.GRTCustomization" - ModelStepFunctionPrototypeControlCompliant off - CPPClassGenCompliant on - AutosarCompliant off - MDXCompliant off - GRTInterface off - GenerateAllocFcn off - UseToolchainInfoCompliant on - GenerateSharedConstants on - CoderGroups [] - AccessMethods [] - LookupTableObjectStructAxisOrder "1,2,3,4,..." - LUTObjectStructOrderExplicitValues "Size,Breakpoints,Table" - LUTObjectStructOrderEvenSpacing "Size,Breakpoints,Table" - ArrayLayout "Column-major" - UnsupportedSFcnMsg "error" - ERTHeaderFileRootName "$R$E" - ERTSourceFileRootName "$R$E" - ERTDataFileRootName "$R_data" - UseMalloc off - ExtMode off - ExtModeStaticAlloc off - ExtModeTesting off - ExtModeStaticAllocSize 1000000 - ExtModeTransport 0 - ExtModeMexFile "ext_comm" - ExtModeMexArgs "" - ExtModeIntrfLevel "Level1" - RTWCAPISignals off - RTWCAPIParams off - RTWCAPIStates off - RTWCAPIRootIO off - GenerateASAP2 off - MultiInstanceErrorCode "Error" - } - PropName "Components" - } - } - SlCovCC.ConfigComp { - $ObjectID 178 - Version "1.18.1" - DisabledProps [] - Description "Simulink Coverage Configuration Component" - Name "Simulink Coverage" - CovEnable off - CovScope "EntireSystem" - CovIncludeTopModel on - RecordCoverage off - CovPath "/" - CovSaveName "covdata" - CovCompData "" - CovMetricSettings "dwe" - CovFilter "" - CovHTMLOptions "" - CovNameIncrementing off - CovHtmlReporting off - CovForceBlockReductionOff on - CovEnableCumulative on - CovSaveCumulativeToWorkspaceVar off - CovSaveSingleToWorkspaceVar off - CovCumulativeVarName "covCumulativeData" - CovCumulativeReport off - CovSaveOutputData on - CovOutputDir "slcov_output/$ModelName$" - CovDataFileName "$ModelName$_cvdata" - CovShowResultsExplorer on - CovReportOnPause on - CovModelRefEnable "off" - CovModelRefExcluded "" - CovExternalEMLEnable on - CovSFcnEnable on - CovBoundaryAbsTol 1e-05 - CovBoundaryRelTol 0.01 - CovUseTimeInterval off - CovStartTime 0 - CovStopTime 0 - CovMcdcMode "Masking" - } - PropName "Components" - } - Name "Configuration12" - ExtraOptions "" - CurrentDlgPage "Solver" - ConfigPrmDlgPosition [ 321, 71, 1211, 811 ] - } - Simulink.ConfigSet { - $ObjectID 179 - Version "1.18.1" - DisabledProps [] - Description "" - Array { - Type "Handle" - Dimension 9 - Simulink.SolverCC { - $ObjectID 180 - Version "1.18.1" - DisabledProps [] - Description "" - StartTime "0.0" - StopTime "TMax" - AbsTol "auto" - AutoScaleAbsTol on - FixedStep "dt" - InitialStep "auto" - MaxOrder 5 - ZcThreshold "auto" - ConsecutiveZCsStepRelTol "10*128*eps" - MaxConsecutiveZCs "1000" - ExtrapolationOrder 4 - NumberNewtonIterations 1 - MaxStep "auto" - MinStep "auto" - MaxConsecutiveMinStep "1" - RelTol "1e-3" - EnableMultiTasking on - ConcurrentTasks off - Solver "FixedStepDiscrete" - SolverName "FixedStepDiscrete" - SolverJacobianMethodControl "auto" - ShapePreserveControl "DisableAll" - ZeroCrossControl "UseLocalSettings" - ZeroCrossAlgorithm "Nonadaptive" - AlgebraicLoopSolver "TrustRegion" - SolverInfoToggleStatus on - IsAutoAppliedInSIP off - SolverResetMethod "Fast" - PositivePriorityOrder off - AutoInsertRateTranBlk off - SampleTimeConstraint "Unconstrained" - InsertRTBMode "Whenever possible" - SampleTimeProperty [] - DecoupledContinuousIntegration off - MinimalZcImpactIntegration off - } - Simulink.DataIOCC { - $ObjectID 181 - Version "1.18.1" - DisabledProps [] - Description "" - Decimation "1" - ExternalInput "[t, u]" - FinalStateName "xFinal" - InitialState "xInitial" - LimitDataPoints off - MaxDataPoints "1000" - LoadExternalInput off - LoadInitialState off - SaveFinalState off - SaveCompleteFinalSimState off - SaveFormat "Dataset" - SignalLoggingSaveFormat "Dataset" - SaveOutput off - SaveState off - SignalLogging on - DSMLogging on - InspectSignalLogs off - VisualizeSimOutput on - StreamToWorkspace off - StreamVariableName "streamout" - SaveTime off - ReturnWorkspaceOutputs off - StateSaveName "xout" - TimeSaveName "tout" - OutputSaveName "yout" - SignalLoggingName "logsout" - DSMLoggingName "dsmout" - OutputOption "RefineOutputTimes" - OutputTimes "[]" - ReturnWorkspaceOutputsName "out" - Refine "1" - LoggingToFile off - DatasetSignalFormat "timeseries" - LoggingFileName "out.mat" - LoggingIntervals "[-inf, inf]" - } - Simulink.OptimizationCC { - $ObjectID 182 - Version "1.18.1" - Array { - Type "Cell" - Dimension 9 - Cell "BooleansAsBitfields" - Cell "PassReuseOutputArgsAs" - Cell "PassReuseOutputArgsThreshold" - Cell "ZeroExternalMemoryAtStartup" - Cell "ZeroInternalMemoryAtStartup" - Cell "OptimizeModelRefInitCode" - Cell "NoFixptDivByZeroProtection" - Cell "UseSpecifiedMinMax" - Cell "EfficientTunableParamExpr" - PropName "DisabledProps" - } - Description "" - BlockReduction on - BooleanDataType on - ConditionallyExecuteInputs on - DefaultParameterBehavior "Tunable" - UseDivisionForNetSlopeComputation "off" - UseFloatMulNetSlope off - DefaultUnderspecifiedDataType "double" - UseSpecifiedMinMax off - InlineInvariantSignals off - OptimizeBlockIOStorage on - BufferReuse on - EnhancedBackFolding off - CachingGlobalReferences off - GlobalBufferReuse on - StrengthReduction off - AdvancedOptControl "" - ExpressionFolding on - BooleansAsBitfields off - BitfieldContainerType "uint_T" - EnableMemcpy on - MemcpyThreshold 64 - PassReuseOutputArgsAs "Structure reference" - PassReuseOutputArgsThreshold 12 - ExpressionDepthLimit 128 - LocalBlockOutputs on - RollThreshold 5 - StateBitsets off - DataBitsets off - ActiveStateOutputEnumStorageType "Native Integer" - ZeroExternalMemoryAtStartup on - ZeroInternalMemoryAtStartup on - InitFltsAndDblsToZero off - NoFixptDivByZeroProtection off - EfficientFloat2IntCast off - EfficientMapNaN2IntZero on - LifeSpan "auto" - MaxStackSize "Inherit from target" - BufferReusableBoundary on - SimCompilerOptimization "off" - AccelVerboseBuild off - OptimizeBlockOrder "off" - OptimizeDataStoreBuffers on - BusAssignmentInplaceUpdate on - DifferentSizesBufferReuse off - OptimizationLevel "level2" - OptimizationPriority "Balanced" - OptimizationCustomize on - UseRowMajorAlgorithm off - LabelGuidedReuse off - } - Simulink.DebuggingCC { - $ObjectID 183 - Version "1.18.1" - Array { - Type "Cell" - Dimension 1 - Cell "UseOnlyExistingSharedCode" - PropName "DisabledProps" - } - Description "" - RTPrefix "error" - ConsistencyChecking "none" - ArrayBoundsChecking "none" - SignalInfNanChecking "none" - StringTruncationChecking "error" - SignalRangeChecking "none" - ReadBeforeWriteMsg "UseLocalSettings" - WriteAfterWriteMsg "UseLocalSettings" - WriteAfterReadMsg "UseLocalSettings" - AlgebraicLoopMsg "warning" - ArtificialAlgebraicLoopMsg "warning" - SaveWithDisabledLinksMsg "warning" - SaveWithParameterizedLinksMsg "warning" - CheckSSInitialOutputMsg on - UnderspecifiedInitializationDetection "Simplified" - MergeDetectMultiDrivingBlocksExec "error" - CheckExecutionContextPreStartOutputMsg off - CheckExecutionContextRuntimeOutputMsg off - SignalResolutionControl "UseLocalSettings" - BlockPriorityViolationMsg "warning" - MinStepSizeMsg "warning" - TimeAdjustmentMsg "none" - MaxConsecutiveZCsMsg "error" - MaskedZcDiagnostic "warning" - IgnoredZcDiagnostic "warning" - SolverPrmCheckMsg "none" - InheritedTsInSrcMsg "warning" - MultiTaskDSMMsg "error" - MultiTaskCondExecSysMsg "error" - MultiTaskRateTransMsg "error" - SingleTaskRateTransMsg "none" - TasksWithSamePriorityMsg "warning" - ExportedTasksRateTransMsg "none" - SigSpecEnsureSampleTimeMsg "warning" - CheckMatrixSingularityMsg "none" - IntegerOverflowMsg "warning" - Int32ToFloatConvMsg "warning" - ParameterDowncastMsg "error" - ParameterOverflowMsg "error" - ParameterUnderflowMsg "none" - ParameterPrecisionLossMsg "warning" - ParameterTunabilityLossMsg "warning" - FixptConstUnderflowMsg "none" - FixptConstOverflowMsg "none" - FixptConstPrecisionLossMsg "none" - UnderSpecifiedDataTypeMsg "none" - UnnecessaryDatatypeConvMsg "none" - VectorMatrixConversionMsg "none" - InvalidFcnCallConnMsg "error" - FcnCallInpInsideContextMsg "error" - SignalLabelMismatchMsg "none" - UnconnectedInputMsg "warning" - UnconnectedOutputMsg "warning" - UnconnectedLineMsg "warning" - UseOnlyExistingSharedCode "error" - SFcnCompatibilityMsg "none" - FrameProcessingCompatibilityMsg "error" - UniqueDataStoreMsg "none" - BusObjectLabelMismatch "warning" - RootOutportRequireBusObject "warning" - AssertControl "UseLocalSettings" - AllowSymbolicDim on - RowMajorDimensionSupport off - ModelReferenceIOMsg "none" - ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" - ModelReferenceVersionMismatchMessage "none" - ModelReferenceIOMismatchMessage "none" - UnknownTsInhSupMsg "warning" - ModelReferenceDataLoggingMessage "warning" - ModelReferenceSymbolNameMessage "warning" - ModelReferenceExtraNoncontSigs "error" - StateNameClashWarn "none" - SimStateInterfaceChecksumMismatchMsg "warning" - SimStateOlderReleaseMsg "error" - ChecksumConsistencyForSSReuse "none" - LibraryContextMissingDiagnostic "warning" - MatchCodeGenerationContextForUpdateDiagram "none" - InitInArrayFormatMsg "warning" - StrictBusMsg "ErrorLevel1" - BusNameAdapt "WarnAndRepair" - NonBusSignalsTreatedAsBus "none" - SymbolicDimMinMaxWarning "warning" - LossOfSymbolicDimsSimulationWarning "warning" - LossOfSymbolicDimsCodeGenerationWarning "error" - SymbolicDimsDataTypeCodeGenerationDiagnostic "error" - BlockIODiagnostic "none" - SFUnusedDataAndEventsDiag "warning" - SFUnexpectedBacktrackingDiag "error" - SFInvalidInputDataAccessInChartInitDiag "warning" - SFNoUnconditionalDefaultTransitionDiag "error" - SFTransitionOutsideNaturalParentDiag "warning" - SFUnreachableExecutionPathDiag "warning" - SFUndirectedBroadcastEventsDiag "warning" - SFTransitionActionBeforeConditionDiag "warning" - SFOutputUsedAsStateInMooreChartDiag "error" - SFTemporalDelaySmallerThanSampleTimeDiag "warning" - SFSelfTransitionDiag "warning" - SFExecutionAtInitializationDiag "warning" - SFMachineParentedDataDiag "warning" - IntegerSaturationMsg "warning" - AllowedUnitSystems "all" - UnitsInconsistencyMsg "warning" - AllowAutomaticUnitConversions on - RCSCRenamedMsg "warning" - RCSCObservableMsg "warning" - ForceCombineOutputUpdateInSim off - UnitDatabase "" - UnderSpecifiedDimensionMsg "none" - } - Simulink.HardwareCC { - $ObjectID 184 - Version "1.18.1" - DisabledProps [] - Description "" - ProdBitPerChar 8 - ProdBitPerShort 16 - ProdBitPerInt 32 - ProdBitPerLong 32 - ProdBitPerLongLong 64 - ProdBitPerFloat 32 - ProdBitPerDouble 64 - ProdBitPerPointer 64 - ProdBitPerSizeT 64 - ProdBitPerPtrDiffT 64 - ProdLargestAtomicInteger "Char" - ProdLargestAtomicFloat "Float" - ProdIntDivRoundTo "Zero" - ProdEndianess "LittleEndian" - ProdWordSize 64 - ProdShiftRightIntArith on - ProdLongLongMode off - ProdHWDeviceType "Intel->x86-64 (Windows64)" - TargetBitPerChar 8 - TargetBitPerShort 16 - TargetBitPerInt 32 - TargetBitPerLong 32 - TargetBitPerLongLong 64 - TargetBitPerFloat 32 - TargetBitPerDouble 64 - TargetBitPerPointer 32 - TargetBitPerSizeT 32 - TargetBitPerPtrDiffT 32 - TargetLargestAtomicInteger "Char" - TargetLargestAtomicFloat "None" - TargetShiftRightIntArith on - TargetLongLongMode off - TargetIntDivRoundTo "Undefined" - TargetEndianess "Unspecified" - TargetWordSize 32 - TargetPreprocMaxBitsSint 32 - TargetPreprocMaxBitsUint 32 - TargetHWDeviceType "Specified" - TargetUnknown off - ProdEqTarget on - UseEmbeddedCoderFeatures on - UseSimulinkCoderFeatures on - } - Simulink.ModelReferenceCC { - $ObjectID 185 - Version "1.18.1" - DisabledProps [] - Description "" - UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" - EnableRefExpFcnMdlSchedulingChecks on - CheckModelReferenceTargetMessage "error" - EnableParallelModelReferenceBuilds off - ParallelModelReferenceErrorOnInvalidPool on - ParallelModelReferenceMATLABWorkerInit "None" - ModelReferenceNumInstancesAllowed "Multi" - PropagateVarSize "Infer from blocks in model" - ModelDependencies "" - ModelReferencePassRootInputsByReference on - ModelReferenceMinAlgLoopOccurrences off - PropagateSignalLabelsOutOfModel on - SupportModelReferenceSimTargetCustomCode off - } - Simulink.SFSimCC { - $ObjectID 186 - Version "1.18.1" - DisabledProps [] - Description "" - SimCustomSourceCode "" - SimCustomHeaderCode "" - SimCustomInitializer "" - SimCustomTerminator "" - SimReservedNameArray [] - SimUserSources "" - SimUserIncludeDirs "" - SimUserLibraries "" - SimUserDefines "" - SimCustomCompilerFlags "" - SimCustomLinkerFlags "" - SFSimEcho on - SimCtrlC on - SimIntegrity on - SimUseLocalCustomCode off - SimParseCustomCode on - SimAnalyzeCustomCode off - SimBuildMode "sf_incremental_build" - SimGenImportedTypeDefs off - ModelFunctionsGlobalVisibility "on" - CompileTimeRecursionLimit 50 - EnableRuntimeRecursion on - MATLABDynamicMemAlloc on - MATLABDynamicMemAllocThreshold 65536 - CustomCodeFunctionArrayLayout [] - DefaultCustomCodeFunctionArrayLayout "NotSpecified" - } - Simulink.RTWCC { - $BackupClass "Simulink.RTWCC" - $ObjectID 187 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeHyperlinkInReport" - Cell "GenerateTraceInfo" - Cell "GenerateTraceReport" - Cell "GenerateTraceReportSl" - Cell "GenerateTraceReportSf" - Cell "GenerateTraceReportEml" - Cell "PortableWordSizes" - Cell "GenerateWebview" - Cell "GenerateCodeMetricsReport" - Cell "GenerateCodeReplacementReport" - Cell "GenerateMissedCodeReplacementReport" - Cell "GenerateErtSFunction" - Cell "CreateSILPILBlock" - Cell "CodeExecutionProfiling" - Cell "CodeProfilingSaveOptions" - Cell "CodeProfilingInstrumentation" - PropName "DisabledProps" - } - SystemTargetFile "grt.tlc" - HardwareBoard "None" - TLCOptions "" - GenCodeOnly off - MakeCommand "make_rtw" - GenerateMakefile on - PackageGeneratedCodeAndArtifacts off - PackageName "" - TemplateMakefile "grt_default_tmf" - PostCodeGenCommand "" - Description "" - GenerateReport off - RTWVerbose on - RetainRTWFile off - RTWBuildHooks [] - ProfileTLC off - TLCDebug off - TLCCoverage off - TLCAssert off - RTWUseLocalCustomCode off - RTWUseSimCustomCode off - CustomSourceCode "" - CustomHeaderCode "" - CustomInclude "" - CustomSource "" - CustomLibrary "" - CustomDefine "" - CustomBLASCallback "" - CustomLAPACKCallback "" - CustomFFTCallback "" - CustomInitializer "" - CustomTerminator "" - Toolchain "Automatically locate an installed toolchain" - BuildConfiguration "Faster Builds" - CustomToolchainOptions [] - IncludeHyperlinkInReport off - LaunchReport off - PortableWordSizes off - CreateSILPILBlock "None" - CodeExecutionProfiling off - CodeExecutionProfileVariable "executionProfile" - CodeProfilingSaveOptions "SummaryOnly" - CodeProfilingInstrumentation "off" - SILDebugging off - TargetLang "C" - IncludeBusHierarchyInRTWFileBlockHierarchyMap off - GenerateTraceInfo off - GenerateTraceReport off - GenerateTraceReportSl off - GenerateTraceReportSf off - GenerateTraceReportEml off - GenerateWebview off - GenerateCodeMetricsReport off - GenerateCodeReplacementReport off - GenerateMissedCodeReplacementReport off - RTWCompilerOptimization "off" - ObjectivePriorities [] - RTWCustomCompilerOptimizations "" - CheckMdlBeforeBuild "Off" - SharedConstantsCachingThreshold 1024 - Array { - Type "Handle" - Dimension 2 - Simulink.CodeAppCC { - $ObjectID 188 - Version "1.18.1" - Array { - Type "Cell" - Dimension 28 - Cell "IgnoreCustomStorageClasses" - Cell "IgnoreTestpoints" - Cell "InsertBlockDesc" - Cell "InsertPolySpaceComments" - Cell "SFDataObjDesc" - Cell "MATLABFcnDesc" - Cell "SimulinkDataObjDesc" - Cell "DefineNamingRule" - Cell "SignalNamingRule" - Cell "ParamNamingRule" - Cell "InternalIdentifier" - Cell "InlinedPrmAccess" - Cell "CustomSymbolStr" - Cell "CustomSymbolStrGlobalVar" - Cell "CustomSymbolStrType" - Cell "CustomSymbolStrField" - Cell "CustomSymbolStrFcn" - Cell "CustomSymbolStrModelFcn" - Cell "CustomSymbolStrFcnArg" - Cell "CustomSymbolStrBlkIO" - Cell "CustomSymbolStrTmpVar" - Cell "CustomSymbolStrMacro" - Cell "CustomSymbolStrUtil" - Cell "CustomUserTokenString" - Cell "ReqsInCode" - Cell "BlockCommentType" - Cell "CustomSymbolStrEmxType" - Cell "CustomSymbolStrEmxFcn" - PropName "DisabledProps" - } - Description "" - Comment "" - ForceParamTrailComments off - GenerateComments on - CommentStyle "Auto" - IgnoreCustomStorageClasses on - IgnoreTestpoints off - MaxIdLength 31 - PreserveName off - PreserveNameWithParent off - ShowEliminatedStatement off - OperatorAnnotations off - SimulinkDataObjDesc off - SFDataObjDesc off - MATLABFcnDesc off - MangleLength 1 - SharedChecksumLength 8 - CustomSymbolStrGlobalVar "$R$N$M" - CustomSymbolStrType "$N$R$M_T" - CustomSymbolStrField "$N$M" - CustomSymbolStrFcn "$R$N$M$F" - CustomSymbolStrModelFcn "$R$N" - CustomSymbolStrFcnArg "rt$I$N$M" - CustomSymbolStrBlkIO "rtb_$N$M" - CustomSymbolStrTmpVar "$N$M" - CustomSymbolStrMacro "$R$N$M" - CustomSymbolStrUtil "$N$C" - CustomSymbolStrEmxType "emxArray_$M$N" - CustomSymbolStrEmxFcn "emx$M$N" - CustomUserTokenString "" - CustomCommentsFcn "" - DefineNamingRule "None" - DefineNamingFcn "" - ParamNamingRule "None" - ParamNamingFcn "" - SignalNamingRule "None" - SignalNamingFcn "" - InsertBlockDesc off - InsertPolySpaceComments off - SimulinkBlockComments on - BlockCommentType "BlockPathComment" - StateflowObjectComments on - MATLABSourceComments off - EnableCustomComments off - InternalIdentifierFile "" - InternalIdentifier "Shortened" - InlinedPrmAccess "Literals" - ReqsInCode off - UseSimReservedNames off - ReservedNameArray [] - } - Simulink.GRTTargetCC { - $BackupClass "Simulink.TargetCC" - $ObjectID 189 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeMdlTerminateFcn" - Cell "SuppressErrorStatus" - Cell "ERTCustomFileBanners" - Cell "GenerateSampleERTMain" - Cell "ExistingSharedCode" - Cell "GenerateTestInterfaces" - Cell "ModelStepFunctionPrototypeControlCompliant" - Cell "GenerateAllocFcn" - Cell "PurelyIntegerCode" - Cell "SupportComplex" - Cell "SupportAbsoluteTime" - Cell "SupportContinuousTime" - Cell "SupportNonInlinedSFcns" - Cell "RemoveDisableFunc" - Cell "RemoveResetFunc" - Cell "PreserveStateflowLocalDataDimensions" - PropName "DisabledProps" - } - Description "" - TargetFcnLib "ansi_tfl_table_tmw.mat" - TargetLibSuffix "" - TargetPreCompLibLocation "" - GenFloatMathFcnCalls "NOT IN USE" - TargetLangStandard "C99 (ISO)" - CodeReplacementLibrary "None" - UtilityFuncGeneration "Auto" - MultiwordTypeDef "System defined" - MultiwordLength 2048 - DynamicStringBufferSize 256 - GenerateFullHeader on - InferredTypesCompatibility off - ExistingSharedCode "" - GenerateSampleERTMain off - GenerateTestInterfaces off - ModelReferenceCompliant on - ParMdlRefBuildCompliant on - CompOptLevelCompliant on - ConcurrentExecutionCompliant on - IncludeMdlTerminateFcn on - GeneratePreprocessorConditionals "Use local settings" - CombineOutputUpdateFcns on - CombineSignalStateStructs off - GroupInternalDataByFunction off - SuppressErrorStatus off - IncludeFileDelimiter "Auto" - ERTCustomFileBanners off - SupportAbsoluteTime on - LogVarNameModifier "rt_" - MatFileLogging on - MultiInstanceERTCode off - CodeInterfacePackaging "Nonreusable function" - PurelyIntegerCode off - SupportNonFinite on - SupportComplex on - SupportContinuousTime on - SupportNonInlinedSFcns on - RemoveDisableFunc off - RemoveResetFunc off - SupportVariableSizeSignals off - ParenthesesLevel "Nominal" - CastingMode "Nominal" - PreserveStateflowLocalDataDimensions off - MATLABClassNameForMDSCustomization "Simulink.SoftwareTarget.GRTCustomization" - ModelStepFunctionPrototypeControlCompliant off - CPPClassGenCompliant on - AutosarCompliant off - MDXCompliant off - GRTInterface off - GenerateAllocFcn off - UseToolchainInfoCompliant on - GenerateSharedConstants on - CoderGroups [] - AccessMethods [] - LookupTableObjectStructAxisOrder "1,2,3,4,..." - LUTObjectStructOrderExplicitValues "Size,Breakpoints,Table" - LUTObjectStructOrderEvenSpacing "Size,Breakpoints,Table" - ArrayLayout "Column-major" - UnsupportedSFcnMsg "error" - ERTHeaderFileRootName "$R$E" - ERTSourceFileRootName "$R$E" - ERTDataFileRootName "$R_data" - UseMalloc off - ExtMode off - ExtModeStaticAlloc off - ExtModeTesting off - ExtModeStaticAllocSize 1000000 - ExtModeTransport 0 - ExtModeMexFile "ext_comm" - ExtModeMexArgs "" - ExtModeIntrfLevel "Level1" - RTWCAPISignals off - RTWCAPIParams off - RTWCAPIStates off - RTWCAPIRootIO off - GenerateASAP2 off - MultiInstanceErrorCode "Error" - } - PropName "Components" - } - } - SlCovCC.ConfigComp { - $ObjectID 190 - Version "1.18.1" - DisabledProps [] - Description "Simulink Coverage Configuration Component" - Name "Simulink Coverage" - CovEnable off - CovScope "EntireSystem" - CovIncludeTopModel on - RecordCoverage off - CovPath "/" - CovSaveName "covdata" - CovCompData "" - CovMetricSettings "dwe" - CovFilter "" - CovHTMLOptions "" - CovNameIncrementing off - CovHtmlReporting off - CovForceBlockReductionOff on - CovEnableCumulative on - CovSaveCumulativeToWorkspaceVar off - CovSaveSingleToWorkspaceVar off - CovCumulativeVarName "covCumulativeData" - CovCumulativeReport off - CovSaveOutputData on - CovOutputDir "slcov_output/$ModelName$" - CovDataFileName "$ModelName$_cvdata" - CovShowResultsExplorer on - CovReportOnPause on - CovModelRefEnable "off" - CovModelRefExcluded "" - CovExternalEMLEnable on - CovSFcnEnable on - CovBoundaryAbsTol 1e-05 - CovBoundaryRelTol 0.01 - CovUseTimeInterval off - CovStartTime 0 - CovStopTime 0 - CovMcdcMode "Masking" - } - PropName "Components" - } - Name "Configuration13" - ExtraOptions "" - CurrentDlgPage "Solver" - ConfigPrmDlgPosition [ 321, 71, 1211, 811 ] - } - Simulink.ConfigSet { - $ObjectID 191 - Version "1.18.1" - DisabledProps [] - Description "" - Array { - Type "Handle" - Dimension 9 - Simulink.SolverCC { - $ObjectID 192 - Version "1.18.1" - DisabledProps [] - Description "" - StartTime "0.0" - StopTime "TMax" - AbsTol "auto" - AutoScaleAbsTol on - FixedStep "dt" - InitialStep "auto" - MaxOrder 5 - ZcThreshold "auto" - ConsecutiveZCsStepRelTol "10*128*eps" - MaxConsecutiveZCs "1000" - ExtrapolationOrder 4 - NumberNewtonIterations 1 - MaxStep "auto" - MinStep "auto" - MaxConsecutiveMinStep "1" - RelTol "1e-3" - EnableMultiTasking on - ConcurrentTasks off - Solver "FixedStepDiscrete" - SolverName "FixedStepDiscrete" - SolverJacobianMethodControl "auto" - ShapePreserveControl "DisableAll" - ZeroCrossControl "UseLocalSettings" - ZeroCrossAlgorithm "Nonadaptive" - AlgebraicLoopSolver "TrustRegion" - SolverInfoToggleStatus on - IsAutoAppliedInSIP off - SolverResetMethod "Fast" - PositivePriorityOrder off - AutoInsertRateTranBlk off - SampleTimeConstraint "Unconstrained" - InsertRTBMode "Whenever possible" - SampleTimeProperty [] - DecoupledContinuousIntegration off - MinimalZcImpactIntegration off - } - Simulink.DataIOCC { - $ObjectID 193 - Version "1.18.1" - DisabledProps [] - Description "" - Decimation "1" - ExternalInput "[t, u]" - FinalStateName "xFinal" - InitialState "xInitial" - LimitDataPoints off - MaxDataPoints "1000" - LoadExternalInput off - LoadInitialState off - SaveFinalState off - SaveCompleteFinalSimState off - SaveFormat "Dataset" - SignalLoggingSaveFormat "Dataset" - SaveOutput off - SaveState off - SignalLogging on - DSMLogging on - InspectSignalLogs off - VisualizeSimOutput on - StreamToWorkspace off - StreamVariableName "streamout" - SaveTime off - ReturnWorkspaceOutputs off - StateSaveName "xout" - TimeSaveName "tout" - OutputSaveName "yout" - SignalLoggingName "logsout" - DSMLoggingName "dsmout" - OutputOption "RefineOutputTimes" - OutputTimes "[]" - ReturnWorkspaceOutputsName "out" - Refine "1" - LoggingToFile off - DatasetSignalFormat "timeseries" - LoggingFileName "out.mat" - LoggingIntervals "[-inf, inf]" - } - Simulink.OptimizationCC { - $ObjectID 194 - Version "1.18.1" - Array { - Type "Cell" - Dimension 9 - Cell "BooleansAsBitfields" - Cell "PassReuseOutputArgsAs" - Cell "PassReuseOutputArgsThreshold" - Cell "ZeroExternalMemoryAtStartup" - Cell "ZeroInternalMemoryAtStartup" - Cell "OptimizeModelRefInitCode" - Cell "NoFixptDivByZeroProtection" - Cell "UseSpecifiedMinMax" - Cell "EfficientTunableParamExpr" - PropName "DisabledProps" - } - Description "" - BlockReduction on - BooleanDataType on - ConditionallyExecuteInputs on - DefaultParameterBehavior "Tunable" - UseDivisionForNetSlopeComputation "off" - UseFloatMulNetSlope off - DefaultUnderspecifiedDataType "double" - UseSpecifiedMinMax off - InlineInvariantSignals off - OptimizeBlockIOStorage on - BufferReuse on - EnhancedBackFolding off - CachingGlobalReferences off - GlobalBufferReuse on - StrengthReduction off - AdvancedOptControl "" - ExpressionFolding on - BooleansAsBitfields off - BitfieldContainerType "uint_T" - EnableMemcpy on - MemcpyThreshold 64 - PassReuseOutputArgsAs "Structure reference" - PassReuseOutputArgsThreshold 12 - ExpressionDepthLimit 128 - LocalBlockOutputs on - RollThreshold 5 - StateBitsets off - DataBitsets off - ActiveStateOutputEnumStorageType "Native Integer" - ZeroExternalMemoryAtStartup on - ZeroInternalMemoryAtStartup on - InitFltsAndDblsToZero off - NoFixptDivByZeroProtection off - EfficientFloat2IntCast off - EfficientMapNaN2IntZero on - LifeSpan "auto" - MaxStackSize "Inherit from target" - BufferReusableBoundary on - SimCompilerOptimization "off" - AccelVerboseBuild off - OptimizeBlockOrder "off" - OptimizeDataStoreBuffers on - BusAssignmentInplaceUpdate on - DifferentSizesBufferReuse off - OptimizationLevel "level2" - OptimizationPriority "Balanced" - OptimizationCustomize on - UseRowMajorAlgorithm off - LabelGuidedReuse off - } - Simulink.DebuggingCC { - $ObjectID 195 - Version "1.18.1" - Array { - Type "Cell" - Dimension 1 - Cell "UseOnlyExistingSharedCode" - PropName "DisabledProps" - } - Description "" - RTPrefix "error" - ConsistencyChecking "none" - ArrayBoundsChecking "none" - SignalInfNanChecking "none" - StringTruncationChecking "error" - SignalRangeChecking "none" - ReadBeforeWriteMsg "UseLocalSettings" - WriteAfterWriteMsg "UseLocalSettings" - WriteAfterReadMsg "UseLocalSettings" - AlgebraicLoopMsg "warning" - ArtificialAlgebraicLoopMsg "warning" - SaveWithDisabledLinksMsg "warning" - SaveWithParameterizedLinksMsg "warning" - CheckSSInitialOutputMsg on - UnderspecifiedInitializationDetection "Simplified" - MergeDetectMultiDrivingBlocksExec "error" - CheckExecutionContextPreStartOutputMsg off - CheckExecutionContextRuntimeOutputMsg off - SignalResolutionControl "UseLocalSettings" - BlockPriorityViolationMsg "warning" - MinStepSizeMsg "warning" - TimeAdjustmentMsg "none" - MaxConsecutiveZCsMsg "error" - MaskedZcDiagnostic "warning" - IgnoredZcDiagnostic "warning" - SolverPrmCheckMsg "none" - InheritedTsInSrcMsg "warning" - MultiTaskDSMMsg "error" - MultiTaskCondExecSysMsg "error" - MultiTaskRateTransMsg "error" - SingleTaskRateTransMsg "none" - TasksWithSamePriorityMsg "warning" - ExportedTasksRateTransMsg "none" - SigSpecEnsureSampleTimeMsg "warning" - CheckMatrixSingularityMsg "none" - IntegerOverflowMsg "warning" - Int32ToFloatConvMsg "warning" - ParameterDowncastMsg "error" - ParameterOverflowMsg "error" - ParameterUnderflowMsg "none" - ParameterPrecisionLossMsg "warning" - ParameterTunabilityLossMsg "warning" - FixptConstUnderflowMsg "none" - FixptConstOverflowMsg "none" - FixptConstPrecisionLossMsg "none" - UnderSpecifiedDataTypeMsg "none" - UnnecessaryDatatypeConvMsg "none" - VectorMatrixConversionMsg "none" - InvalidFcnCallConnMsg "error" - FcnCallInpInsideContextMsg "error" - SignalLabelMismatchMsg "none" - UnconnectedInputMsg "warning" - UnconnectedOutputMsg "warning" - UnconnectedLineMsg "warning" - UseOnlyExistingSharedCode "error" - SFcnCompatibilityMsg "none" - FrameProcessingCompatibilityMsg "error" - UniqueDataStoreMsg "none" - BusObjectLabelMismatch "warning" - RootOutportRequireBusObject "warning" - AssertControl "UseLocalSettings" - AllowSymbolicDim on - RowMajorDimensionSupport off - ModelReferenceIOMsg "none" - ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" - ModelReferenceVersionMismatchMessage "none" - ModelReferenceIOMismatchMessage "none" - UnknownTsInhSupMsg "warning" - ModelReferenceDataLoggingMessage "warning" - ModelReferenceSymbolNameMessage "warning" - ModelReferenceExtraNoncontSigs "error" - StateNameClashWarn "none" - SimStateInterfaceChecksumMismatchMsg "warning" - SimStateOlderReleaseMsg "error" - ChecksumConsistencyForSSReuse "none" - LibraryContextMissingDiagnostic "warning" - MatchCodeGenerationContextForUpdateDiagram "none" - InitInArrayFormatMsg "warning" - StrictBusMsg "ErrorLevel1" - BusNameAdapt "WarnAndRepair" - NonBusSignalsTreatedAsBus "none" - SymbolicDimMinMaxWarning "warning" - LossOfSymbolicDimsSimulationWarning "warning" - LossOfSymbolicDimsCodeGenerationWarning "error" - SymbolicDimsDataTypeCodeGenerationDiagnostic "error" - BlockIODiagnostic "none" - SFUnusedDataAndEventsDiag "warning" - SFUnexpectedBacktrackingDiag "error" - SFInvalidInputDataAccessInChartInitDiag "warning" - SFNoUnconditionalDefaultTransitionDiag "error" - SFTransitionOutsideNaturalParentDiag "warning" - SFUnreachableExecutionPathDiag "warning" - SFUndirectedBroadcastEventsDiag "warning" - SFTransitionActionBeforeConditionDiag "warning" - SFOutputUsedAsStateInMooreChartDiag "error" - SFTemporalDelaySmallerThanSampleTimeDiag "warning" - SFSelfTransitionDiag "warning" - SFExecutionAtInitializationDiag "warning" - SFMachineParentedDataDiag "warning" - IntegerSaturationMsg "warning" - AllowedUnitSystems "all" - UnitsInconsistencyMsg "warning" - AllowAutomaticUnitConversions on - RCSCRenamedMsg "warning" - RCSCObservableMsg "warning" - ForceCombineOutputUpdateInSim off - UnitDatabase "" - UnderSpecifiedDimensionMsg "none" - } - Simulink.HardwareCC { - $ObjectID 196 - Version "1.18.1" - DisabledProps [] - Description "" - ProdBitPerChar 8 - ProdBitPerShort 16 - ProdBitPerInt 32 - ProdBitPerLong 32 - ProdBitPerLongLong 64 - ProdBitPerFloat 32 - ProdBitPerDouble 64 - ProdBitPerPointer 64 - ProdBitPerSizeT 64 - ProdBitPerPtrDiffT 64 - ProdLargestAtomicInteger "Char" - ProdLargestAtomicFloat "Float" - ProdIntDivRoundTo "Zero" - ProdEndianess "LittleEndian" - ProdWordSize 64 - ProdShiftRightIntArith on - ProdLongLongMode off - ProdHWDeviceType "Intel->x86-64 (Windows64)" - TargetBitPerChar 8 - TargetBitPerShort 16 - TargetBitPerInt 32 - TargetBitPerLong 32 - TargetBitPerLongLong 64 - TargetBitPerFloat 32 - TargetBitPerDouble 64 - TargetBitPerPointer 32 - TargetBitPerSizeT 32 - TargetBitPerPtrDiffT 32 - TargetLargestAtomicInteger "Char" - TargetLargestAtomicFloat "None" - TargetShiftRightIntArith on - TargetLongLongMode off - TargetIntDivRoundTo "Undefined" - TargetEndianess "Unspecified" - TargetWordSize 32 - TargetPreprocMaxBitsSint 32 - TargetPreprocMaxBitsUint 32 - TargetHWDeviceType "Specified" - TargetUnknown off - ProdEqTarget on - UseEmbeddedCoderFeatures on - UseSimulinkCoderFeatures on - } - Simulink.ModelReferenceCC { - $ObjectID 197 - Version "1.18.1" - DisabledProps [] - Description "" - UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" - EnableRefExpFcnMdlSchedulingChecks on - CheckModelReferenceTargetMessage "error" - EnableParallelModelReferenceBuilds off - ParallelModelReferenceErrorOnInvalidPool on - ParallelModelReferenceMATLABWorkerInit "None" - ModelReferenceNumInstancesAllowed "Multi" - PropagateVarSize "Infer from blocks in model" - ModelDependencies "" - ModelReferencePassRootInputsByReference on - ModelReferenceMinAlgLoopOccurrences off - PropagateSignalLabelsOutOfModel on - SupportModelReferenceSimTargetCustomCode off - } - Simulink.SFSimCC { - $ObjectID 198 - Version "1.18.1" - DisabledProps [] - Description "" - SimCustomSourceCode "" - SimCustomHeaderCode "" - SimCustomInitializer "" - SimCustomTerminator "" - SimReservedNameArray [] - SimUserSources "" - SimUserIncludeDirs "" - SimUserLibraries "" - SimUserDefines "" - SimCustomCompilerFlags "" - SimCustomLinkerFlags "" - SFSimEcho on - SimCtrlC on - SimIntegrity on - SimUseLocalCustomCode off - SimParseCustomCode on - SimAnalyzeCustomCode off - SimBuildMode "sf_incremental_build" - SimGenImportedTypeDefs off - ModelFunctionsGlobalVisibility "on" - CompileTimeRecursionLimit 50 - EnableRuntimeRecursion on - MATLABDynamicMemAlloc on - MATLABDynamicMemAllocThreshold 65536 - CustomCodeFunctionArrayLayout [] - DefaultCustomCodeFunctionArrayLayout "NotSpecified" - } - Simulink.RTWCC { - $BackupClass "Simulink.RTWCC" - $ObjectID 199 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeHyperlinkInReport" - Cell "GenerateTraceInfo" - Cell "GenerateTraceReport" - Cell "GenerateTraceReportSl" - Cell "GenerateTraceReportSf" - Cell "GenerateTraceReportEml" - Cell "PortableWordSizes" - Cell "GenerateWebview" - Cell "GenerateCodeMetricsReport" - Cell "GenerateCodeReplacementReport" - Cell "GenerateMissedCodeReplacementReport" - Cell "GenerateErtSFunction" - Cell "CreateSILPILBlock" - Cell "CodeExecutionProfiling" - Cell "CodeProfilingSaveOptions" - Cell "CodeProfilingInstrumentation" - PropName "DisabledProps" - } - SystemTargetFile "grt.tlc" - HardwareBoard "None" - TLCOptions "" - GenCodeOnly off - MakeCommand "make_rtw" - GenerateMakefile on - PackageGeneratedCodeAndArtifacts off - PackageName "" - TemplateMakefile "grt_default_tmf" - PostCodeGenCommand "" - Description "" - GenerateReport off - RTWVerbose on - RetainRTWFile off - RTWBuildHooks [] - ProfileTLC off - TLCDebug off - TLCCoverage off - TLCAssert off - RTWUseLocalCustomCode off - RTWUseSimCustomCode off - CustomSourceCode "" - CustomHeaderCode "" - CustomInclude "" - CustomSource "" - CustomLibrary "" - CustomDefine "" - CustomBLASCallback "" - CustomLAPACKCallback "" - CustomFFTCallback "" - CustomInitializer "" - CustomTerminator "" - Toolchain "Automatically locate an installed toolchain" - BuildConfiguration "Faster Builds" - CustomToolchainOptions [] - IncludeHyperlinkInReport off - LaunchReport off - PortableWordSizes off - CreateSILPILBlock "None" - CodeExecutionProfiling off - CodeExecutionProfileVariable "executionProfile" - CodeProfilingSaveOptions "SummaryOnly" - CodeProfilingInstrumentation "off" - SILDebugging off - TargetLang "C" - IncludeBusHierarchyInRTWFileBlockHierarchyMap off - GenerateTraceInfo off - GenerateTraceReport off - GenerateTraceReportSl off - GenerateTraceReportSf off - GenerateTraceReportEml off - GenerateWebview off - GenerateCodeMetricsReport off - GenerateCodeReplacementReport off - GenerateMissedCodeReplacementReport off - RTWCompilerOptimization "off" - ObjectivePriorities [] - RTWCustomCompilerOptimizations "" - CheckMdlBeforeBuild "Off" - SharedConstantsCachingThreshold 1024 - Array { - Type "Handle" - Dimension 2 - Simulink.CodeAppCC { - $ObjectID 200 - Version "1.18.1" - Array { - Type "Cell" - Dimension 28 - Cell "IgnoreCustomStorageClasses" - Cell "IgnoreTestpoints" - Cell "InsertBlockDesc" - Cell "InsertPolySpaceComments" - Cell "SFDataObjDesc" - Cell "MATLABFcnDesc" - Cell "SimulinkDataObjDesc" - Cell "DefineNamingRule" - Cell "SignalNamingRule" - Cell "ParamNamingRule" - Cell "InternalIdentifier" - Cell "InlinedPrmAccess" - Cell "CustomSymbolStr" - Cell "CustomSymbolStrGlobalVar" - Cell "CustomSymbolStrType" - Cell "CustomSymbolStrField" - Cell "CustomSymbolStrFcn" - Cell "CustomSymbolStrModelFcn" - Cell "CustomSymbolStrFcnArg" - Cell "CustomSymbolStrBlkIO" - Cell "CustomSymbolStrTmpVar" - Cell "CustomSymbolStrMacro" - Cell "CustomSymbolStrUtil" - Cell "CustomUserTokenString" - Cell "ReqsInCode" - Cell "BlockCommentType" - Cell "CustomSymbolStrEmxType" - Cell "CustomSymbolStrEmxFcn" - PropName "DisabledProps" - } - Description "" - Comment "" - ForceParamTrailComments off - GenerateComments on - CommentStyle "Auto" - IgnoreCustomStorageClasses on - IgnoreTestpoints off - MaxIdLength 31 - PreserveName off - PreserveNameWithParent off - ShowEliminatedStatement off - OperatorAnnotations off - SimulinkDataObjDesc off - SFDataObjDesc off - MATLABFcnDesc off - MangleLength 1 - SharedChecksumLength 8 - CustomSymbolStrGlobalVar "$R$N$M" - CustomSymbolStrType "$N$R$M_T" - CustomSymbolStrField "$N$M" - CustomSymbolStrFcn "$R$N$M$F" - CustomSymbolStrModelFcn "$R$N" - CustomSymbolStrFcnArg "rt$I$N$M" - CustomSymbolStrBlkIO "rtb_$N$M" - CustomSymbolStrTmpVar "$N$M" - CustomSymbolStrMacro "$R$N$M" - CustomSymbolStrUtil "$N$C" - CustomSymbolStrEmxType "emxArray_$M$N" - CustomSymbolStrEmxFcn "emx$M$N" - CustomUserTokenString "" - CustomCommentsFcn "" - DefineNamingRule "None" - DefineNamingFcn "" - ParamNamingRule "None" - ParamNamingFcn "" - SignalNamingRule "None" - SignalNamingFcn "" - InsertBlockDesc off - InsertPolySpaceComments off - SimulinkBlockComments on - BlockCommentType "BlockPathComment" - StateflowObjectComments on - MATLABSourceComments off - EnableCustomComments off - InternalIdentifierFile "" - InternalIdentifier "Shortened" - InlinedPrmAccess "Literals" - ReqsInCode off - UseSimReservedNames off - ReservedNameArray [] - } - Simulink.GRTTargetCC { - $BackupClass "Simulink.TargetCC" - $ObjectID 201 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeMdlTerminateFcn" - Cell "SuppressErrorStatus" - Cell "ERTCustomFileBanners" - Cell "GenerateSampleERTMain" - Cell "ExistingSharedCode" - Cell "GenerateTestInterfaces" - Cell "ModelStepFunctionPrototypeControlCompliant" - Cell "GenerateAllocFcn" - Cell "PurelyIntegerCode" - Cell "SupportComplex" - Cell "SupportAbsoluteTime" - Cell "SupportContinuousTime" - Cell "SupportNonInlinedSFcns" - Cell "RemoveDisableFunc" - Cell "RemoveResetFunc" - Cell "PreserveStateflowLocalDataDimensions" - PropName "DisabledProps" - } - Description "" - TargetFcnLib "ansi_tfl_table_tmw.mat" - TargetLibSuffix "" - TargetPreCompLibLocation "" - GenFloatMathFcnCalls "NOT IN USE" - TargetLangStandard "C99 (ISO)" - CodeReplacementLibrary "None" - UtilityFuncGeneration "Auto" - MultiwordTypeDef "System defined" - MultiwordLength 2048 - DynamicStringBufferSize 256 - GenerateFullHeader on - InferredTypesCompatibility off - ExistingSharedCode "" - GenerateSampleERTMain off - GenerateTestInterfaces off - ModelReferenceCompliant on - ParMdlRefBuildCompliant on - CompOptLevelCompliant on - ConcurrentExecutionCompliant on - IncludeMdlTerminateFcn on - GeneratePreprocessorConditionals "Use local settings" - CombineOutputUpdateFcns on - CombineSignalStateStructs off - GroupInternalDataByFunction off - SuppressErrorStatus off - IncludeFileDelimiter "Auto" - ERTCustomFileBanners off - SupportAbsoluteTime on - LogVarNameModifier "rt_" - MatFileLogging on - MultiInstanceERTCode off - CodeInterfacePackaging "Nonreusable function" - PurelyIntegerCode off - SupportNonFinite on - SupportComplex on - SupportContinuousTime on - SupportNonInlinedSFcns on - RemoveDisableFunc off - RemoveResetFunc off - SupportVariableSizeSignals off - ParenthesesLevel "Nominal" - CastingMode "Nominal" - PreserveStateflowLocalDataDimensions off - MATLABClassNameForMDSCustomization "Simulink.SoftwareTarget.GRTCustomization" - ModelStepFunctionPrototypeControlCompliant off - CPPClassGenCompliant on - AutosarCompliant off - MDXCompliant off - GRTInterface off - GenerateAllocFcn off - UseToolchainInfoCompliant on - GenerateSharedConstants on - CoderGroups [] - AccessMethods [] - LookupTableObjectStructAxisOrder "1,2,3,4,..." - LUTObjectStructOrderExplicitValues "Size,Breakpoints,Table" - LUTObjectStructOrderEvenSpacing "Size,Breakpoints,Table" - ArrayLayout "Column-major" - UnsupportedSFcnMsg "error" - ERTHeaderFileRootName "$R$E" - ERTSourceFileRootName "$R$E" - ERTDataFileRootName "$R_data" - UseMalloc off - ExtMode off - ExtModeStaticAlloc off - ExtModeTesting off - ExtModeStaticAllocSize 1000000 - ExtModeTransport 0 - ExtModeMexFile "ext_comm" - ExtModeMexArgs "" - ExtModeIntrfLevel "Level1" - RTWCAPISignals off - RTWCAPIParams off - RTWCAPIStates off - RTWCAPIRootIO off - GenerateASAP2 off - MultiInstanceErrorCode "Error" - } - PropName "Components" - } - } - SlCovCC.ConfigComp { - $ObjectID 202 - Version "1.18.1" - DisabledProps [] - Description "Simulink Coverage Configuration Component" - Name "Simulink Coverage" - CovEnable off - CovScope "EntireSystem" - CovIncludeTopModel on - RecordCoverage off - CovPath "/" - CovSaveName "covdata" - CovCompData "" - CovMetricSettings "dwe" - CovFilter "" - CovHTMLOptions "" - CovNameIncrementing off - CovHtmlReporting off - CovForceBlockReductionOff on - CovEnableCumulative on - CovSaveCumulativeToWorkspaceVar off - CovSaveSingleToWorkspaceVar off - CovCumulativeVarName "covCumulativeData" - CovCumulativeReport off - CovSaveOutputData on - CovOutputDir "slcov_output/$ModelName$" - CovDataFileName "$ModelName$_cvdata" - CovShowResultsExplorer on - CovReportOnPause on - CovModelRefEnable "off" - CovModelRefExcluded "" - CovExternalEMLEnable on - CovSFcnEnable on - CovBoundaryAbsTol 1e-05 - CovBoundaryRelTol 0.01 - CovUseTimeInterval off - CovStartTime 0 - CovStopTime 0 - CovMcdcMode "Masking" - } - PropName "Components" - } - Name "Configuration14" - ExtraOptions "" - CurrentDlgPage "Solver" - ConfigPrmDlgPosition [ 321, 71, 1211, 811 ] - } - Simulink.ConfigSet { - $ObjectID 203 - Version "1.18.1" - DisabledProps [] - Description "" - Array { - Type "Handle" - Dimension 9 - Simulink.SolverCC { - $ObjectID 204 - Version "1.18.1" - DisabledProps [] - Description "" - StartTime "0.0" - StopTime "TMax" - AbsTol "auto" - AutoScaleAbsTol on - FixedStep "dt" - InitialStep "auto" - MaxOrder 5 - ZcThreshold "auto" - ConsecutiveZCsStepRelTol "10*128*eps" - MaxConsecutiveZCs "1000" - ExtrapolationOrder 4 - NumberNewtonIterations 1 - MaxStep "auto" - MinStep "auto" - MaxConsecutiveMinStep "1" - RelTol "1e-3" - EnableMultiTasking on - ConcurrentTasks off - Solver "ode4" - SolverName "ode4" - SolverJacobianMethodControl "auto" - ShapePreserveControl "DisableAll" - ZeroCrossControl "UseLocalSettings" - ZeroCrossAlgorithm "Nonadaptive" - AlgebraicLoopSolver "TrustRegion" - SolverInfoToggleStatus on - IsAutoAppliedInSIP off - SolverResetMethod "Fast" - PositivePriorityOrder off - AutoInsertRateTranBlk off - SampleTimeConstraint "Unconstrained" - InsertRTBMode "Whenever possible" - SampleTimeProperty [] - DecoupledContinuousIntegration off - MinimalZcImpactIntegration off - } - Simulink.DataIOCC { - $ObjectID 205 - Version "1.18.1" - DisabledProps [] - Description "" - Decimation "1" - ExternalInput "[t, u]" - FinalStateName "xFinal" - InitialState "xInitial" - LimitDataPoints off - MaxDataPoints "1000" - LoadExternalInput off - LoadInitialState off - SaveFinalState off - SaveCompleteFinalSimState off - SaveFormat "Dataset" - SignalLoggingSaveFormat "Dataset" - SaveOutput on - SaveState off - SignalLogging on - DSMLogging on - InspectSignalLogs off - VisualizeSimOutput on - StreamToWorkspace off - StreamVariableName "streamout" - SaveTime off - ReturnWorkspaceOutputs off - StateSaveName "xout" - TimeSaveName "tout" - OutputSaveName "yout" - SignalLoggingName "logsout" - DSMLoggingName "dsmout" - OutputOption "RefineOutputTimes" - OutputTimes "[]" - ReturnWorkspaceOutputsName "out" - Refine "1" - LoggingToFile off - DatasetSignalFormat "timeseries" - LoggingFileName "out.mat" - LoggingIntervals "[-inf, inf]" - } - Simulink.OptimizationCC { - $ObjectID 206 - Version "1.18.1" - Array { - Type "Cell" - Dimension 9 - Cell "BooleansAsBitfields" - Cell "PassReuseOutputArgsAs" - Cell "PassReuseOutputArgsThreshold" - Cell "ZeroExternalMemoryAtStartup" - Cell "ZeroInternalMemoryAtStartup" - Cell "OptimizeModelRefInitCode" - Cell "NoFixptDivByZeroProtection" - Cell "UseSpecifiedMinMax" - Cell "EfficientTunableParamExpr" - PropName "DisabledProps" - } - Description "" - BlockReduction on - BooleanDataType on - ConditionallyExecuteInputs on - DefaultParameterBehavior "Tunable" - UseDivisionForNetSlopeComputation "off" - UseFloatMulNetSlope off - DefaultUnderspecifiedDataType "double" - UseSpecifiedMinMax off - InlineInvariantSignals off - OptimizeBlockIOStorage on - BufferReuse on - EnhancedBackFolding off - CachingGlobalReferences off - GlobalBufferReuse on - StrengthReduction off - AdvancedOptControl "" - ExpressionFolding on - BooleansAsBitfields off - BitfieldContainerType "uint_T" - EnableMemcpy on - MemcpyThreshold 64 - PassReuseOutputArgsAs "Structure reference" - PassReuseOutputArgsThreshold 12 - ExpressionDepthLimit 128 - LocalBlockOutputs on - RollThreshold 5 - StateBitsets off - DataBitsets off - ActiveStateOutputEnumStorageType "Native Integer" - ZeroExternalMemoryAtStartup on - ZeroInternalMemoryAtStartup on - InitFltsAndDblsToZero off - NoFixptDivByZeroProtection off - EfficientFloat2IntCast off - EfficientMapNaN2IntZero on - LifeSpan "auto" - MaxStackSize "Inherit from target" - BufferReusableBoundary on - SimCompilerOptimization "off" - AccelVerboseBuild off - OptimizeBlockOrder "off" - OptimizeDataStoreBuffers on - BusAssignmentInplaceUpdate on - DifferentSizesBufferReuse off - OptimizationLevel "level2" - OptimizationPriority "Balanced" - OptimizationCustomize on - UseRowMajorAlgorithm off - LabelGuidedReuse off - } - Simulink.DebuggingCC { - $ObjectID 207 - Version "1.18.1" - Array { - Type "Cell" - Dimension 1 - Cell "UseOnlyExistingSharedCode" - PropName "DisabledProps" - } - Description "" - RTPrefix "error" - ConsistencyChecking "none" - ArrayBoundsChecking "none" - SignalInfNanChecking "none" - StringTruncationChecking "error" - SignalRangeChecking "none" - ReadBeforeWriteMsg "UseLocalSettings" - WriteAfterWriteMsg "UseLocalSettings" - WriteAfterReadMsg "UseLocalSettings" - AlgebraicLoopMsg "warning" - ArtificialAlgebraicLoopMsg "warning" - SaveWithDisabledLinksMsg "warning" - SaveWithParameterizedLinksMsg "warning" - CheckSSInitialOutputMsg on - UnderspecifiedInitializationDetection "Simplified" - MergeDetectMultiDrivingBlocksExec "error" - CheckExecutionContextPreStartOutputMsg off - CheckExecutionContextRuntimeOutputMsg off - SignalResolutionControl "UseLocalSettings" - BlockPriorityViolationMsg "warning" - MinStepSizeMsg "warning" - TimeAdjustmentMsg "none" - MaxConsecutiveZCsMsg "error" - MaskedZcDiagnostic "warning" - IgnoredZcDiagnostic "warning" - SolverPrmCheckMsg "none" - InheritedTsInSrcMsg "warning" - MultiTaskDSMMsg "error" - MultiTaskCondExecSysMsg "error" - MultiTaskRateTransMsg "error" - SingleTaskRateTransMsg "none" - TasksWithSamePriorityMsg "warning" - ExportedTasksRateTransMsg "none" - SigSpecEnsureSampleTimeMsg "warning" - CheckMatrixSingularityMsg "none" - IntegerOverflowMsg "warning" - Int32ToFloatConvMsg "warning" - ParameterDowncastMsg "error" - ParameterOverflowMsg "error" - ParameterUnderflowMsg "none" - ParameterPrecisionLossMsg "warning" - ParameterTunabilityLossMsg "warning" - FixptConstUnderflowMsg "none" - FixptConstOverflowMsg "none" - FixptConstPrecisionLossMsg "none" - UnderSpecifiedDataTypeMsg "none" - UnnecessaryDatatypeConvMsg "none" - VectorMatrixConversionMsg "none" - InvalidFcnCallConnMsg "error" - FcnCallInpInsideContextMsg "error" - SignalLabelMismatchMsg "none" - UnconnectedInputMsg "warning" - UnconnectedOutputMsg "warning" - UnconnectedLineMsg "warning" - UseOnlyExistingSharedCode "error" - SFcnCompatibilityMsg "none" - FrameProcessingCompatibilityMsg "error" - UniqueDataStoreMsg "none" - BusObjectLabelMismatch "warning" - RootOutportRequireBusObject "warning" - AssertControl "UseLocalSettings" - AllowSymbolicDim on - RowMajorDimensionSupport off - ModelReferenceIOMsg "none" - ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" - ModelReferenceVersionMismatchMessage "none" - ModelReferenceIOMismatchMessage "none" - UnknownTsInhSupMsg "warning" - ModelReferenceDataLoggingMessage "warning" - ModelReferenceSymbolNameMessage "warning" - ModelReferenceExtraNoncontSigs "error" - StateNameClashWarn "none" - SimStateInterfaceChecksumMismatchMsg "warning" - SimStateOlderReleaseMsg "error" - ChecksumConsistencyForSSReuse "none" - LibraryContextMissingDiagnostic "warning" - MatchCodeGenerationContextForUpdateDiagram "none" - InitInArrayFormatMsg "warning" - StrictBusMsg "ErrorLevel1" - BusNameAdapt "WarnAndRepair" - NonBusSignalsTreatedAsBus "none" - SymbolicDimMinMaxWarning "warning" - LossOfSymbolicDimsSimulationWarning "warning" - LossOfSymbolicDimsCodeGenerationWarning "error" - SymbolicDimsDataTypeCodeGenerationDiagnostic "error" - BlockIODiagnostic "none" - SFUnusedDataAndEventsDiag "warning" - SFUnexpectedBacktrackingDiag "error" - SFInvalidInputDataAccessInChartInitDiag "warning" - SFNoUnconditionalDefaultTransitionDiag "error" - SFTransitionOutsideNaturalParentDiag "warning" - SFUnreachableExecutionPathDiag "warning" - SFUndirectedBroadcastEventsDiag "warning" - SFTransitionActionBeforeConditionDiag "warning" - SFOutputUsedAsStateInMooreChartDiag "error" - SFTemporalDelaySmallerThanSampleTimeDiag "warning" - SFSelfTransitionDiag "warning" - SFExecutionAtInitializationDiag "warning" - SFMachineParentedDataDiag "warning" - IntegerSaturationMsg "warning" - AllowedUnitSystems "all" - UnitsInconsistencyMsg "warning" - AllowAutomaticUnitConversions on - RCSCRenamedMsg "warning" - RCSCObservableMsg "warning" - ForceCombineOutputUpdateInSim off - UnitDatabase "" - UnderSpecifiedDimensionMsg "none" - } - Simulink.HardwareCC { - $ObjectID 208 - Version "1.18.1" - DisabledProps [] - Description "" - ProdBitPerChar 8 - ProdBitPerShort 16 - ProdBitPerInt 32 - ProdBitPerLong 32 - ProdBitPerLongLong 64 - ProdBitPerFloat 32 - ProdBitPerDouble 64 - ProdBitPerPointer 64 - ProdBitPerSizeT 64 - ProdBitPerPtrDiffT 64 - ProdLargestAtomicInteger "Char" - ProdLargestAtomicFloat "Float" - ProdIntDivRoundTo "Zero" - ProdEndianess "LittleEndian" - ProdWordSize 64 - ProdShiftRightIntArith on - ProdLongLongMode off - ProdHWDeviceType "Intel->x86-64 (Windows64)" - TargetBitPerChar 8 - TargetBitPerShort 16 - TargetBitPerInt 32 - TargetBitPerLong 32 - TargetBitPerLongLong 64 - TargetBitPerFloat 32 - TargetBitPerDouble 64 - TargetBitPerPointer 32 - TargetBitPerSizeT 32 - TargetBitPerPtrDiffT 32 - TargetLargestAtomicInteger "Char" - TargetLargestAtomicFloat "None" - TargetShiftRightIntArith on - TargetLongLongMode off - TargetIntDivRoundTo "Undefined" - TargetEndianess "Unspecified" - TargetWordSize 32 - TargetPreprocMaxBitsSint 32 - TargetPreprocMaxBitsUint 32 - TargetHWDeviceType "Specified" - TargetUnknown off - ProdEqTarget on - UseEmbeddedCoderFeatures on - UseSimulinkCoderFeatures on - } - Simulink.ModelReferenceCC { - $ObjectID 209 - Version "1.18.1" - DisabledProps [] - Description "" - UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" - EnableRefExpFcnMdlSchedulingChecks on - CheckModelReferenceTargetMessage "error" - EnableParallelModelReferenceBuilds off - ParallelModelReferenceErrorOnInvalidPool on - ParallelModelReferenceMATLABWorkerInit "None" - ModelReferenceNumInstancesAllowed "Multi" - PropagateVarSize "Infer from blocks in model" - ModelDependencies "" - ModelReferencePassRootInputsByReference on - ModelReferenceMinAlgLoopOccurrences off - PropagateSignalLabelsOutOfModel on - SupportModelReferenceSimTargetCustomCode off - } - Simulink.SFSimCC { - $ObjectID 210 - Version "1.18.1" - DisabledProps [] - Description "" - SimCustomSourceCode "" - SimCustomHeaderCode "" - SimCustomInitializer "" - SimCustomTerminator "" - SimReservedNameArray [] - SimUserSources "" - SimUserIncludeDirs "" - SimUserLibraries "" - SimUserDefines "" - SimCustomCompilerFlags "" - SimCustomLinkerFlags "" - SFSimEcho on - SimCtrlC on - SimIntegrity on - SimUseLocalCustomCode off - SimParseCustomCode on - SimAnalyzeCustomCode off - SimBuildMode "sf_incremental_build" - SimGenImportedTypeDefs off - ModelFunctionsGlobalVisibility "on" - CompileTimeRecursionLimit 50 - EnableRuntimeRecursion on - MATLABDynamicMemAlloc on - MATLABDynamicMemAllocThreshold 65536 - CustomCodeFunctionArrayLayout [] - DefaultCustomCodeFunctionArrayLayout "NotSpecified" - } - Simulink.RTWCC { - $BackupClass "Simulink.RTWCC" - $ObjectID 211 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeHyperlinkInReport" - Cell "GenerateTraceInfo" - Cell "GenerateTraceReport" - Cell "GenerateTraceReportSl" - Cell "GenerateTraceReportSf" - Cell "GenerateTraceReportEml" - Cell "PortableWordSizes" - Cell "GenerateWebview" - Cell "GenerateCodeMetricsReport" - Cell "GenerateCodeReplacementReport" - Cell "GenerateMissedCodeReplacementReport" - Cell "GenerateErtSFunction" - Cell "CreateSILPILBlock" - Cell "CodeExecutionProfiling" - Cell "CodeProfilingSaveOptions" - Cell "CodeProfilingInstrumentation" - PropName "DisabledProps" - } - SystemTargetFile "grt.tlc" - HardwareBoard "None" - TLCOptions "" - GenCodeOnly off - MakeCommand "make_rtw" - GenerateMakefile on - PackageGeneratedCodeAndArtifacts off - PackageName "" - TemplateMakefile "grt_default_tmf" - PostCodeGenCommand "" - Description "" - GenerateReport off - RTWVerbose on - RetainRTWFile off - RTWBuildHooks [] - ProfileTLC off - TLCDebug off - TLCCoverage off - TLCAssert off - RTWUseLocalCustomCode off - RTWUseSimCustomCode off - CustomSourceCode "" - CustomHeaderCode "" - CustomInclude "" - CustomSource "" - CustomLibrary "" - CustomDefine "" - CustomBLASCallback "" - CustomLAPACKCallback "" - CustomFFTCallback "" - CustomInitializer "" - CustomTerminator "" - Toolchain "Automatically locate an installed toolchain" - BuildConfiguration "Faster Builds" - CustomToolchainOptions [] - IncludeHyperlinkInReport off - LaunchReport off - PortableWordSizes off - CreateSILPILBlock "None" - CodeExecutionProfiling off - CodeExecutionProfileVariable "executionProfile" - CodeProfilingSaveOptions "SummaryOnly" - CodeProfilingInstrumentation "off" - SILDebugging off - TargetLang "C" - IncludeBusHierarchyInRTWFileBlockHierarchyMap off - GenerateTraceInfo off - GenerateTraceReport off - GenerateTraceReportSl off - GenerateTraceReportSf off - GenerateTraceReportEml off - GenerateWebview off - GenerateCodeMetricsReport off - GenerateCodeReplacementReport off - GenerateMissedCodeReplacementReport off - RTWCompilerOptimization "off" - ObjectivePriorities [] - RTWCustomCompilerOptimizations "" - CheckMdlBeforeBuild "Off" - SharedConstantsCachingThreshold 1024 - Array { - Type "Handle" - Dimension 2 - Simulink.CodeAppCC { - $ObjectID 212 - Version "1.18.1" - Array { - Type "Cell" - Dimension 28 - Cell "IgnoreCustomStorageClasses" - Cell "IgnoreTestpoints" - Cell "InsertBlockDesc" - Cell "InsertPolySpaceComments" - Cell "SFDataObjDesc" - Cell "MATLABFcnDesc" - Cell "SimulinkDataObjDesc" - Cell "DefineNamingRule" - Cell "SignalNamingRule" - Cell "ParamNamingRule" - Cell "InternalIdentifier" - Cell "InlinedPrmAccess" - Cell "CustomSymbolStr" - Cell "CustomSymbolStrGlobalVar" - Cell "CustomSymbolStrType" - Cell "CustomSymbolStrField" - Cell "CustomSymbolStrFcn" - Cell "CustomSymbolStrModelFcn" - Cell "CustomSymbolStrFcnArg" - Cell "CustomSymbolStrBlkIO" - Cell "CustomSymbolStrTmpVar" - Cell "CustomSymbolStrMacro" - Cell "CustomSymbolStrUtil" - Cell "CustomUserTokenString" - Cell "ReqsInCode" - Cell "BlockCommentType" - Cell "CustomSymbolStrEmxType" - Cell "CustomSymbolStrEmxFcn" - PropName "DisabledProps" - } - Description "" - Comment "" - ForceParamTrailComments off - GenerateComments on - CommentStyle "Auto" - IgnoreCustomStorageClasses on - IgnoreTestpoints off - MaxIdLength 31 - PreserveName off - PreserveNameWithParent off - ShowEliminatedStatement off - OperatorAnnotations off - SimulinkDataObjDesc off - SFDataObjDesc off - MATLABFcnDesc off - MangleLength 1 - SharedChecksumLength 8 - CustomSymbolStrGlobalVar "$R$N$M" - CustomSymbolStrType "$N$R$M_T" - CustomSymbolStrField "$N$M" - CustomSymbolStrFcn "$R$N$M$F" - CustomSymbolStrModelFcn "$R$N" - CustomSymbolStrFcnArg "rt$I$N$M" - CustomSymbolStrBlkIO "rtb_$N$M" - CustomSymbolStrTmpVar "$N$M" - CustomSymbolStrMacro "$R$N$M" - CustomSymbolStrUtil "$N$C" - CustomSymbolStrEmxType "emxArray_$M$N" - CustomSymbolStrEmxFcn "emx$M$N" - CustomUserTokenString "" - CustomCommentsFcn "" - DefineNamingRule "None" - DefineNamingFcn "" - ParamNamingRule "None" - ParamNamingFcn "" - SignalNamingRule "None" - SignalNamingFcn "" - InsertBlockDesc off - InsertPolySpaceComments off - SimulinkBlockComments on - BlockCommentType "BlockPathComment" - StateflowObjectComments on - MATLABSourceComments off - EnableCustomComments off - InternalIdentifierFile "" - InternalIdentifier "Shortened" - InlinedPrmAccess "Literals" - ReqsInCode off - UseSimReservedNames off - ReservedNameArray [] - } - Simulink.GRTTargetCC { - $BackupClass "Simulink.TargetCC" - $ObjectID 213 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeMdlTerminateFcn" - Cell "SuppressErrorStatus" - Cell "ERTCustomFileBanners" - Cell "GenerateSampleERTMain" - Cell "ExistingSharedCode" - Cell "GenerateTestInterfaces" - Cell "ModelStepFunctionPrototypeControlCompliant" - Cell "GenerateAllocFcn" - Cell "PurelyIntegerCode" - Cell "SupportComplex" - Cell "SupportAbsoluteTime" - Cell "SupportContinuousTime" - Cell "SupportNonInlinedSFcns" - Cell "RemoveDisableFunc" - Cell "RemoveResetFunc" - Cell "PreserveStateflowLocalDataDimensions" - PropName "DisabledProps" - } - Description "" - TargetFcnLib "ansi_tfl_table_tmw.mat" - TargetLibSuffix "" - TargetPreCompLibLocation "" - GenFloatMathFcnCalls "NOT IN USE" - TargetLangStandard "C99 (ISO)" - CodeReplacementLibrary "None" - UtilityFuncGeneration "Auto" - MultiwordTypeDef "System defined" - MultiwordLength 2048 - DynamicStringBufferSize 256 - GenerateFullHeader on - InferredTypesCompatibility off - ExistingSharedCode "" - GenerateSampleERTMain off - GenerateTestInterfaces off - ModelReferenceCompliant on - ParMdlRefBuildCompliant on - CompOptLevelCompliant on - ConcurrentExecutionCompliant on - IncludeMdlTerminateFcn on - GeneratePreprocessorConditionals "Use local settings" - CombineOutputUpdateFcns on - CombineSignalStateStructs off - GroupInternalDataByFunction off - SuppressErrorStatus off - IncludeFileDelimiter "Auto" - ERTCustomFileBanners off - SupportAbsoluteTime on - LogVarNameModifier "rt_" - MatFileLogging on - MultiInstanceERTCode off - CodeInterfacePackaging "Nonreusable function" - PurelyIntegerCode off - SupportNonFinite on - SupportComplex on - SupportContinuousTime on - SupportNonInlinedSFcns on - RemoveDisableFunc off - RemoveResetFunc off - SupportVariableSizeSignals off - ParenthesesLevel "Nominal" - CastingMode "Nominal" - PreserveStateflowLocalDataDimensions off - MATLABClassNameForMDSCustomization "Simulink.SoftwareTarget.GRTCustomization" - ModelStepFunctionPrototypeControlCompliant off - CPPClassGenCompliant on - AutosarCompliant off - MDXCompliant off - GRTInterface off - GenerateAllocFcn off - UseToolchainInfoCompliant on - GenerateSharedConstants on - CoderGroups [] - AccessMethods [] - LookupTableObjectStructAxisOrder "1,2,3,4,..." - LUTObjectStructOrderExplicitValues "Size,Breakpoints,Table" - LUTObjectStructOrderEvenSpacing "Size,Breakpoints,Table" - ArrayLayout "Column-major" - UnsupportedSFcnMsg "error" - ERTHeaderFileRootName "$R$E" - ERTSourceFileRootName "$R$E" - ERTDataFileRootName "$R_data" - UseMalloc off - ExtMode off - ExtModeStaticAlloc off - ExtModeTesting off - ExtModeStaticAllocSize 1000000 - ExtModeTransport 0 - ExtModeMexFile "ext_comm" - ExtModeMexArgs "" - ExtModeIntrfLevel "Level1" - RTWCAPISignals off - RTWCAPIParams off - RTWCAPIStates off - RTWCAPIRootIO off - GenerateASAP2 off - MultiInstanceErrorCode "Error" - } - PropName "Components" - } - } - SlCovCC.ConfigComp { - $ObjectID 214 - Version "1.18.1" - DisabledProps [] - Description "Simulink Coverage Configuration Component" - Name "Simulink Coverage" - CovEnable off - CovScope "EntireSystem" - CovIncludeTopModel on - RecordCoverage off - CovPath "/" - CovSaveName "covdata" - CovCompData "" - CovMetricSettings "dwe" - CovFilter "" - CovHTMLOptions "" - CovNameIncrementing off - CovHtmlReporting off - CovForceBlockReductionOff on - CovEnableCumulative on - CovSaveCumulativeToWorkspaceVar off - CovSaveSingleToWorkspaceVar off - CovCumulativeVarName "covCumulativeData" - CovCumulativeReport off - CovSaveOutputData on - CovOutputDir "slcov_output/$ModelName$" - CovDataFileName "$ModelName$_cvdata" - CovShowResultsExplorer on - CovReportOnPause on - CovModelRefEnable "off" - CovModelRefExcluded "" - CovExternalEMLEnable on - CovSFcnEnable on - CovBoundaryAbsTol 1e-05 - CovBoundaryRelTol 0.01 - CovUseTimeInterval off - CovStartTime 0 - CovStopTime 0 - CovMcdcMode "Masking" - } - PropName "Components" - } - Name "Configuration15" - ExtraOptions "" - CurrentDlgPage "Solver" - ConfigPrmDlgPosition [ 374, 90, 1264, 830 ] - } - Simulink.ConfigSet { - $ObjectID 215 - Version "1.18.1" - DisabledProps [] - Description "" - Array { - Type "Handle" - Dimension 9 - Simulink.SolverCC { - $ObjectID 216 - Version "1.18.1" - DisabledProps [] - Description "" - StartTime "0.0" - StopTime "TMax" - AbsTol "auto" - AutoScaleAbsTol on - FixedStep "dt" - InitialStep "auto" - MaxOrder 5 - ZcThreshold "auto" - ConsecutiveZCsStepRelTol "10*128*eps" - MaxConsecutiveZCs "1000" - ExtrapolationOrder 4 - NumberNewtonIterations 1 - MaxStep "auto" - MinStep "auto" - MaxConsecutiveMinStep "1" - RelTol "1e-3" - EnableMultiTasking on - ConcurrentTasks off - Solver "ode4" - SolverName "ode4" - SolverJacobianMethodControl "auto" - ShapePreserveControl "DisableAll" - ZeroCrossControl "UseLocalSettings" - ZeroCrossAlgorithm "Nonadaptive" - AlgebraicLoopSolver "TrustRegion" - SolverInfoToggleStatus on - IsAutoAppliedInSIP off - SolverResetMethod "Fast" - PositivePriorityOrder off - AutoInsertRateTranBlk off - SampleTimeConstraint "Unconstrained" - InsertRTBMode "Whenever possible" - SampleTimeProperty [] - DecoupledContinuousIntegration off - MinimalZcImpactIntegration off - } - Simulink.DataIOCC { - $ObjectID 217 - Version "1.18.1" - DisabledProps [] - Description "" - Decimation "1" - ExternalInput "[t, u]" - FinalStateName "xFinal" - InitialState "xInitial" - LimitDataPoints off - MaxDataPoints "1000" - LoadExternalInput off - LoadInitialState off - SaveFinalState off - SaveCompleteFinalSimState off - SaveFormat "Dataset" - SignalLoggingSaveFormat "Dataset" - SaveOutput on - SaveState off - SignalLogging on - DSMLogging on - InspectSignalLogs off - VisualizeSimOutput on - StreamToWorkspace off - StreamVariableName "streamout" - SaveTime off - ReturnWorkspaceOutputs off - StateSaveName "xout" - TimeSaveName "tout" - OutputSaveName "yout" - SignalLoggingName "logsout" - DSMLoggingName "dsmout" - OutputOption "RefineOutputTimes" - OutputTimes "[]" - ReturnWorkspaceOutputsName "out" - Refine "1" - LoggingToFile off - DatasetSignalFormat "timeseries" - LoggingFileName "out.mat" - LoggingIntervals "[-inf, inf]" - } - Simulink.OptimizationCC { - $ObjectID 218 - Version "1.18.1" - Array { - Type "Cell" - Dimension 9 - Cell "BooleansAsBitfields" - Cell "PassReuseOutputArgsAs" - Cell "PassReuseOutputArgsThreshold" - Cell "ZeroExternalMemoryAtStartup" - Cell "ZeroInternalMemoryAtStartup" - Cell "OptimizeModelRefInitCode" - Cell "NoFixptDivByZeroProtection" - Cell "UseSpecifiedMinMax" - Cell "EfficientTunableParamExpr" - PropName "DisabledProps" - } - Description "" - BlockReduction on - BooleanDataType on - ConditionallyExecuteInputs on - DefaultParameterBehavior "Tunable" - UseDivisionForNetSlopeComputation "off" - UseFloatMulNetSlope off - DefaultUnderspecifiedDataType "double" - UseSpecifiedMinMax off - InlineInvariantSignals off - OptimizeBlockIOStorage on - BufferReuse on - EnhancedBackFolding off - CachingGlobalReferences off - GlobalBufferReuse on - StrengthReduction off - AdvancedOptControl "" - ExpressionFolding on - BooleansAsBitfields off - BitfieldContainerType "uint_T" - EnableMemcpy on - MemcpyThreshold 64 - PassReuseOutputArgsAs "Structure reference" - PassReuseOutputArgsThreshold 12 - ExpressionDepthLimit 128 - LocalBlockOutputs on - RollThreshold 5 - StateBitsets off - DataBitsets off - ActiveStateOutputEnumStorageType "Native Integer" - ZeroExternalMemoryAtStartup on - ZeroInternalMemoryAtStartup on - InitFltsAndDblsToZero off - NoFixptDivByZeroProtection off - EfficientFloat2IntCast off - EfficientMapNaN2IntZero on - LifeSpan "auto" - MaxStackSize "Inherit from target" - BufferReusableBoundary on - SimCompilerOptimization "off" - AccelVerboseBuild off - OptimizeBlockOrder "off" - OptimizeDataStoreBuffers on - BusAssignmentInplaceUpdate on - DifferentSizesBufferReuse off - OptimizationLevel "level2" - OptimizationPriority "Balanced" - OptimizationCustomize on - UseRowMajorAlgorithm off - LabelGuidedReuse off - } - Simulink.DebuggingCC { - $ObjectID 219 - Version "1.18.1" - Array { - Type "Cell" - Dimension 1 - Cell "UseOnlyExistingSharedCode" - PropName "DisabledProps" - } - Description "" - RTPrefix "error" - ConsistencyChecking "none" - ArrayBoundsChecking "none" - SignalInfNanChecking "none" - StringTruncationChecking "error" - SignalRangeChecking "none" - ReadBeforeWriteMsg "UseLocalSettings" - WriteAfterWriteMsg "UseLocalSettings" - WriteAfterReadMsg "UseLocalSettings" - AlgebraicLoopMsg "warning" - ArtificialAlgebraicLoopMsg "warning" - SaveWithDisabledLinksMsg "warning" - SaveWithParameterizedLinksMsg "warning" - CheckSSInitialOutputMsg on - UnderspecifiedInitializationDetection "Simplified" - MergeDetectMultiDrivingBlocksExec "error" - CheckExecutionContextPreStartOutputMsg off - CheckExecutionContextRuntimeOutputMsg off - SignalResolutionControl "UseLocalSettings" - BlockPriorityViolationMsg "warning" - MinStepSizeMsg "warning" - TimeAdjustmentMsg "none" - MaxConsecutiveZCsMsg "error" - MaskedZcDiagnostic "warning" - IgnoredZcDiagnostic "warning" - SolverPrmCheckMsg "none" - InheritedTsInSrcMsg "warning" - MultiTaskDSMMsg "error" - MultiTaskCondExecSysMsg "error" - MultiTaskRateTransMsg "error" - SingleTaskRateTransMsg "none" - TasksWithSamePriorityMsg "warning" - ExportedTasksRateTransMsg "none" - SigSpecEnsureSampleTimeMsg "warning" - CheckMatrixSingularityMsg "none" - IntegerOverflowMsg "warning" - Int32ToFloatConvMsg "warning" - ParameterDowncastMsg "error" - ParameterOverflowMsg "error" - ParameterUnderflowMsg "none" - ParameterPrecisionLossMsg "warning" - ParameterTunabilityLossMsg "warning" - FixptConstUnderflowMsg "none" - FixptConstOverflowMsg "none" - FixptConstPrecisionLossMsg "none" - UnderSpecifiedDataTypeMsg "none" - UnnecessaryDatatypeConvMsg "none" - VectorMatrixConversionMsg "none" - InvalidFcnCallConnMsg "error" - FcnCallInpInsideContextMsg "error" - SignalLabelMismatchMsg "none" - UnconnectedInputMsg "warning" - UnconnectedOutputMsg "warning" - UnconnectedLineMsg "warning" - UseOnlyExistingSharedCode "error" - SFcnCompatibilityMsg "none" - FrameProcessingCompatibilityMsg "error" - UniqueDataStoreMsg "none" - BusObjectLabelMismatch "warning" - RootOutportRequireBusObject "warning" - AssertControl "UseLocalSettings" - AllowSymbolicDim on - RowMajorDimensionSupport off - ModelReferenceIOMsg "none" - ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" - ModelReferenceVersionMismatchMessage "none" - ModelReferenceIOMismatchMessage "none" - UnknownTsInhSupMsg "warning" - ModelReferenceDataLoggingMessage "warning" - ModelReferenceSymbolNameMessage "warning" - ModelReferenceExtraNoncontSigs "error" - StateNameClashWarn "none" - SimStateInterfaceChecksumMismatchMsg "warning" - SimStateOlderReleaseMsg "error" - ChecksumConsistencyForSSReuse "none" - LibraryContextMissingDiagnostic "warning" - MatchCodeGenerationContextForUpdateDiagram "none" - InitInArrayFormatMsg "warning" - StrictBusMsg "ErrorLevel1" - BusNameAdapt "WarnAndRepair" - NonBusSignalsTreatedAsBus "none" - SymbolicDimMinMaxWarning "warning" - LossOfSymbolicDimsSimulationWarning "warning" - LossOfSymbolicDimsCodeGenerationWarning "error" - SymbolicDimsDataTypeCodeGenerationDiagnostic "error" - BlockIODiagnostic "none" - SFUnusedDataAndEventsDiag "warning" - SFUnexpectedBacktrackingDiag "error" - SFInvalidInputDataAccessInChartInitDiag "warning" - SFNoUnconditionalDefaultTransitionDiag "error" - SFTransitionOutsideNaturalParentDiag "warning" - SFUnreachableExecutionPathDiag "warning" - SFUndirectedBroadcastEventsDiag "warning" - SFTransitionActionBeforeConditionDiag "warning" - SFOutputUsedAsStateInMooreChartDiag "error" - SFTemporalDelaySmallerThanSampleTimeDiag "warning" - SFSelfTransitionDiag "warning" - SFExecutionAtInitializationDiag "warning" - SFMachineParentedDataDiag "warning" - IntegerSaturationMsg "warning" - AllowedUnitSystems "all" - UnitsInconsistencyMsg "warning" - AllowAutomaticUnitConversions on - RCSCRenamedMsg "warning" - RCSCObservableMsg "warning" - ForceCombineOutputUpdateInSim off - UnitDatabase "" - UnderSpecifiedDimensionMsg "none" - } - Simulink.HardwareCC { - $ObjectID 220 - Version "1.18.1" - DisabledProps [] - Description "" - ProdBitPerChar 8 - ProdBitPerShort 16 - ProdBitPerInt 32 - ProdBitPerLong 32 - ProdBitPerLongLong 64 - ProdBitPerFloat 32 - ProdBitPerDouble 64 - ProdBitPerPointer 64 - ProdBitPerSizeT 64 - ProdBitPerPtrDiffT 64 - ProdLargestAtomicInteger "Char" - ProdLargestAtomicFloat "Float" - ProdIntDivRoundTo "Zero" - ProdEndianess "LittleEndian" - ProdWordSize 64 - ProdShiftRightIntArith on - ProdLongLongMode off - ProdHWDeviceType "Intel->x86-64 (Windows64)" - TargetBitPerChar 8 - TargetBitPerShort 16 - TargetBitPerInt 32 - TargetBitPerLong 32 - TargetBitPerLongLong 64 - TargetBitPerFloat 32 - TargetBitPerDouble 64 - TargetBitPerPointer 32 - TargetBitPerSizeT 32 - TargetBitPerPtrDiffT 32 - TargetLargestAtomicInteger "Char" - TargetLargestAtomicFloat "None" - TargetShiftRightIntArith on - TargetLongLongMode off - TargetIntDivRoundTo "Undefined" - TargetEndianess "Unspecified" - TargetWordSize 32 - TargetPreprocMaxBitsSint 32 - TargetPreprocMaxBitsUint 32 - TargetHWDeviceType "Specified" - TargetUnknown off - ProdEqTarget on - UseEmbeddedCoderFeatures on - UseSimulinkCoderFeatures on - } - Simulink.ModelReferenceCC { - $ObjectID 221 - Version "1.18.1" - DisabledProps [] - Description "" - UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" - EnableRefExpFcnMdlSchedulingChecks on - CheckModelReferenceTargetMessage "error" - EnableParallelModelReferenceBuilds off - ParallelModelReferenceErrorOnInvalidPool on - ParallelModelReferenceMATLABWorkerInit "None" - ModelReferenceNumInstancesAllowed "Multi" - PropagateVarSize "Infer from blocks in model" - ModelDependencies "" - ModelReferencePassRootInputsByReference on - ModelReferenceMinAlgLoopOccurrences off - PropagateSignalLabelsOutOfModel on - SupportModelReferenceSimTargetCustomCode off - } - Simulink.SFSimCC { - $ObjectID 222 - Version "1.18.1" - DisabledProps [] - Description "" - SimCustomSourceCode "" - SimCustomHeaderCode "" - SimCustomInitializer "" - SimCustomTerminator "" - SimReservedNameArray [] - SimUserSources "" - SimUserIncludeDirs "" - SimUserLibraries "" - SimUserDefines "" - SimCustomCompilerFlags "" - SimCustomLinkerFlags "" - SFSimEcho on - SimCtrlC on - SimIntegrity on - SimUseLocalCustomCode off - SimParseCustomCode on - SimAnalyzeCustomCode off - SimBuildMode "sf_incremental_build" - SimGenImportedTypeDefs off - ModelFunctionsGlobalVisibility "on" - CompileTimeRecursionLimit 50 - EnableRuntimeRecursion on - MATLABDynamicMemAlloc on - MATLABDynamicMemAllocThreshold 65536 - CustomCodeFunctionArrayLayout [] - DefaultCustomCodeFunctionArrayLayout "NotSpecified" - } - Simulink.RTWCC { - $BackupClass "Simulink.RTWCC" - $ObjectID 223 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeHyperlinkInReport" - Cell "GenerateTraceInfo" - Cell "GenerateTraceReport" - Cell "GenerateTraceReportSl" - Cell "GenerateTraceReportSf" - Cell "GenerateTraceReportEml" - Cell "PortableWordSizes" - Cell "GenerateWebview" - Cell "GenerateCodeMetricsReport" - Cell "GenerateCodeReplacementReport" - Cell "GenerateMissedCodeReplacementReport" - Cell "GenerateErtSFunction" - Cell "CreateSILPILBlock" - Cell "CodeExecutionProfiling" - Cell "CodeProfilingSaveOptions" - Cell "CodeProfilingInstrumentation" - PropName "DisabledProps" - } - SystemTargetFile "grt.tlc" - HardwareBoard "None" - TLCOptions "" - GenCodeOnly off - MakeCommand "make_rtw" - GenerateMakefile on - PackageGeneratedCodeAndArtifacts off - PackageName "" - TemplateMakefile "grt_default_tmf" - PostCodeGenCommand "" - Description "" - GenerateReport off - RTWVerbose on - RetainRTWFile off - RTWBuildHooks [] - ProfileTLC off - TLCDebug off - TLCCoverage off - TLCAssert off - RTWUseLocalCustomCode off - RTWUseSimCustomCode off - CustomSourceCode "" - CustomHeaderCode "" - CustomInclude "" - CustomSource "" - CustomLibrary "" - CustomDefine "" - CustomBLASCallback "" - CustomLAPACKCallback "" - CustomFFTCallback "" - CustomInitializer "" - CustomTerminator "" - Toolchain "Automatically locate an installed toolchain" - BuildConfiguration "Faster Builds" - CustomToolchainOptions [] - IncludeHyperlinkInReport off - LaunchReport off - PortableWordSizes off - CreateSILPILBlock "None" - CodeExecutionProfiling off - CodeExecutionProfileVariable "executionProfile" - CodeProfilingSaveOptions "SummaryOnly" - CodeProfilingInstrumentation "off" - SILDebugging off - TargetLang "C" - IncludeBusHierarchyInRTWFileBlockHierarchyMap off - GenerateTraceInfo off - GenerateTraceReport off - GenerateTraceReportSl off - GenerateTraceReportSf off - GenerateTraceReportEml off - GenerateWebview off - GenerateCodeMetricsReport off - GenerateCodeReplacementReport off - GenerateMissedCodeReplacementReport off - RTWCompilerOptimization "off" - ObjectivePriorities [] - RTWCustomCompilerOptimizations "" - CheckMdlBeforeBuild "Off" - SharedConstantsCachingThreshold 1024 - Array { - Type "Handle" - Dimension 2 - Simulink.CodeAppCC { - $ObjectID 224 - Version "1.18.1" - Array { - Type "Cell" - Dimension 28 - Cell "IgnoreCustomStorageClasses" - Cell "IgnoreTestpoints" - Cell "InsertBlockDesc" - Cell "InsertPolySpaceComments" - Cell "SFDataObjDesc" - Cell "MATLABFcnDesc" - Cell "SimulinkDataObjDesc" - Cell "DefineNamingRule" - Cell "SignalNamingRule" - Cell "ParamNamingRule" - Cell "InternalIdentifier" - Cell "InlinedPrmAccess" - Cell "CustomSymbolStr" - Cell "CustomSymbolStrGlobalVar" - Cell "CustomSymbolStrType" - Cell "CustomSymbolStrField" - Cell "CustomSymbolStrFcn" - Cell "CustomSymbolStrModelFcn" - Cell "CustomSymbolStrFcnArg" - Cell "CustomSymbolStrBlkIO" - Cell "CustomSymbolStrTmpVar" - Cell "CustomSymbolStrMacro" - Cell "CustomSymbolStrUtil" - Cell "CustomUserTokenString" - Cell "ReqsInCode" - Cell "BlockCommentType" - Cell "CustomSymbolStrEmxType" - Cell "CustomSymbolStrEmxFcn" - PropName "DisabledProps" - } - Description "" - Comment "" - ForceParamTrailComments off - GenerateComments on - CommentStyle "Auto" - IgnoreCustomStorageClasses on - IgnoreTestpoints off - MaxIdLength 31 - PreserveName off - PreserveNameWithParent off - ShowEliminatedStatement off - OperatorAnnotations off - SimulinkDataObjDesc off - SFDataObjDesc off - MATLABFcnDesc off - MangleLength 1 - SharedChecksumLength 8 - CustomSymbolStrGlobalVar "$R$N$M" - CustomSymbolStrType "$N$R$M_T" - CustomSymbolStrField "$N$M" - CustomSymbolStrFcn "$R$N$M$F" - CustomSymbolStrModelFcn "$R$N" - CustomSymbolStrFcnArg "rt$I$N$M" - CustomSymbolStrBlkIO "rtb_$N$M" - CustomSymbolStrTmpVar "$N$M" - CustomSymbolStrMacro "$R$N$M" - CustomSymbolStrUtil "$N$C" - CustomSymbolStrEmxType "emxArray_$M$N" - CustomSymbolStrEmxFcn "emx$M$N" - CustomUserTokenString "" - CustomCommentsFcn "" - DefineNamingRule "None" - DefineNamingFcn "" - ParamNamingRule "None" - ParamNamingFcn "" - SignalNamingRule "None" - SignalNamingFcn "" - InsertBlockDesc off - InsertPolySpaceComments off - SimulinkBlockComments on - BlockCommentType "BlockPathComment" - StateflowObjectComments on - MATLABSourceComments off - EnableCustomComments off - InternalIdentifierFile "" - InternalIdentifier "Shortened" - InlinedPrmAccess "Literals" - ReqsInCode off - UseSimReservedNames off - ReservedNameArray [] - } - Simulink.GRTTargetCC { - $BackupClass "Simulink.TargetCC" - $ObjectID 225 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeMdlTerminateFcn" - Cell "SuppressErrorStatus" - Cell "ERTCustomFileBanners" - Cell "GenerateSampleERTMain" - Cell "ExistingSharedCode" - Cell "GenerateTestInterfaces" - Cell "ModelStepFunctionPrototypeControlCompliant" - Cell "GenerateAllocFcn" - Cell "PurelyIntegerCode" - Cell "SupportComplex" - Cell "SupportAbsoluteTime" - Cell "SupportContinuousTime" - Cell "SupportNonInlinedSFcns" - Cell "RemoveDisableFunc" - Cell "RemoveResetFunc" - Cell "PreserveStateflowLocalDataDimensions" - PropName "DisabledProps" - } - Description "" - TargetFcnLib "ansi_tfl_table_tmw.mat" - TargetLibSuffix "" - TargetPreCompLibLocation "" - GenFloatMathFcnCalls "NOT IN USE" - TargetLangStandard "C99 (ISO)" - CodeReplacementLibrary "None" - UtilityFuncGeneration "Auto" - MultiwordTypeDef "System defined" - MultiwordLength 2048 - DynamicStringBufferSize 256 - GenerateFullHeader on - InferredTypesCompatibility off - ExistingSharedCode "" - GenerateSampleERTMain off - GenerateTestInterfaces off - ModelReferenceCompliant on - ParMdlRefBuildCompliant on - CompOptLevelCompliant on - ConcurrentExecutionCompliant on - IncludeMdlTerminateFcn on - GeneratePreprocessorConditionals "Use local settings" - CombineOutputUpdateFcns on - CombineSignalStateStructs off - GroupInternalDataByFunction off - SuppressErrorStatus off - IncludeFileDelimiter "Auto" - ERTCustomFileBanners off - SupportAbsoluteTime on - LogVarNameModifier "rt_" - MatFileLogging on - MultiInstanceERTCode off - CodeInterfacePackaging "Nonreusable function" - PurelyIntegerCode off - SupportNonFinite on - SupportComplex on - SupportContinuousTime on - SupportNonInlinedSFcns on - RemoveDisableFunc off - RemoveResetFunc off - SupportVariableSizeSignals off - ParenthesesLevel "Nominal" - CastingMode "Nominal" - PreserveStateflowLocalDataDimensions off - MATLABClassNameForMDSCustomization "Simulink.SoftwareTarget.GRTCustomization" - ModelStepFunctionPrototypeControlCompliant off - CPPClassGenCompliant on - AutosarCompliant off - MDXCompliant off - GRTInterface off - GenerateAllocFcn off - UseToolchainInfoCompliant on - GenerateSharedConstants on - CoderGroups [] - AccessMethods [] - LookupTableObjectStructAxisOrder "1,2,3,4,..." - LUTObjectStructOrderExplicitValues "Size,Breakpoints,Table" - LUTObjectStructOrderEvenSpacing "Size,Breakpoints,Table" - ArrayLayout "Column-major" - UnsupportedSFcnMsg "error" - ERTHeaderFileRootName "$R$E" - ERTSourceFileRootName "$R$E" - ERTDataFileRootName "$R_data" - UseMalloc off - ExtMode off - ExtModeStaticAlloc off - ExtModeTesting off - ExtModeStaticAllocSize 1000000 - ExtModeTransport 0 - ExtModeMexFile "ext_comm" - ExtModeMexArgs "" - ExtModeIntrfLevel "Level1" - RTWCAPISignals off - RTWCAPIParams off - RTWCAPIStates off - RTWCAPIRootIO off - GenerateASAP2 off - MultiInstanceErrorCode "Error" - } - PropName "Components" - } - } - SlCovCC.ConfigComp { - $ObjectID 226 - Version "1.18.1" - DisabledProps [] - Description "Simulink Coverage Configuration Component" - Name "Simulink Coverage" - CovEnable off - CovScope "EntireSystem" - CovIncludeTopModel on - RecordCoverage off - CovPath "/" - CovSaveName "covdata" - CovCompData "" - CovMetricSettings "dwe" - CovFilter "" - CovHTMLOptions "" - CovNameIncrementing off - CovHtmlReporting off - CovForceBlockReductionOff on - CovEnableCumulative on - CovSaveCumulativeToWorkspaceVar off - CovSaveSingleToWorkspaceVar off - CovCumulativeVarName "covCumulativeData" - CovCumulativeReport off - CovSaveOutputData on - CovOutputDir "slcov_output/$ModelName$" - CovDataFileName "$ModelName$_cvdata" - CovShowResultsExplorer on - CovReportOnPause on - CovModelRefEnable "off" - CovModelRefExcluded "" - CovExternalEMLEnable on - CovSFcnEnable on - CovBoundaryAbsTol 1e-05 - CovBoundaryRelTol 0.01 - CovUseTimeInterval off - CovStartTime 0 - CovStopTime 0 - CovMcdcMode "Masking" - } - PropName "Components" - } - Name "Configuration16" - ExtraOptions "" - CurrentDlgPage "Solver" - ConfigPrmDlgPosition [ 374, 90, 1264, 830 ] - } - Simulink.ConfigSet { - $ObjectID 227 - Version "1.18.1" - DisabledProps [] - Description "" - Array { - Type "Handle" - Dimension 9 - Simulink.SolverCC { - $ObjectID 228 - Version "1.18.1" - DisabledProps [] - Description "" - StartTime "0.0" - StopTime "TMax" - AbsTol "auto" - AutoScaleAbsTol on - FixedStep "simu.dt" - InitialStep "auto" - MaxOrder 5 - ZcThreshold "auto" - ConsecutiveZCsStepRelTol "10*128*eps" - MaxConsecutiveZCs "1000" - ExtrapolationOrder 4 - NumberNewtonIterations 1 - MaxStep "auto" - MinStep "auto" - MaxConsecutiveMinStep "1" - RelTol "1e-3" - EnableMultiTasking on - ConcurrentTasks off - Solver "ode4" - SolverName "ode4" - SolverJacobianMethodControl "auto" - ShapePreserveControl "DisableAll" - ZeroCrossControl "UseLocalSettings" - ZeroCrossAlgorithm "Nonadaptive" - AlgebraicLoopSolver "TrustRegion" - SolverInfoToggleStatus on - IsAutoAppliedInSIP off - SolverResetMethod "Fast" - PositivePriorityOrder off - AutoInsertRateTranBlk off - SampleTimeConstraint "Unconstrained" - InsertRTBMode "Whenever possible" - SampleTimeProperty [] - DecoupledContinuousIntegration off - MinimalZcImpactIntegration off - } - Simulink.DataIOCC { - $ObjectID 229 - Version "1.18.1" - DisabledProps [] - Description "" - Decimation "1" - ExternalInput "[t, u]" - FinalStateName "xFinal" - InitialState "xInitial" - LimitDataPoints off - MaxDataPoints "1000" - LoadExternalInput off - LoadInitialState off - SaveFinalState off - SaveCompleteFinalSimState off - SaveFormat "Dataset" - SignalLoggingSaveFormat "Dataset" - SaveOutput on - SaveState off - SignalLogging on - DSMLogging on - InspectSignalLogs off - VisualizeSimOutput on - StreamToWorkspace off - StreamVariableName "streamout" - SaveTime off - ReturnWorkspaceOutputs off - StateSaveName "xout" - TimeSaveName "tout" - OutputSaveName "yout" - SignalLoggingName "sigsOut" - DSMLoggingName "dsmout" - OutputOption "RefineOutputTimes" - OutputTimes "[]" - ReturnWorkspaceOutputsName "out" - Refine "1" - LoggingToFile off - DatasetSignalFormat "timeseries" - LoggingFileName "out.mat" - LoggingIntervals "[-inf, inf]" - } - Simulink.OptimizationCC { - $ObjectID 230 - Version "1.18.1" - Array { - Type "Cell" - Dimension 9 - Cell "BooleansAsBitfields" - Cell "PassReuseOutputArgsAs" - Cell "PassReuseOutputArgsThreshold" - Cell "ZeroExternalMemoryAtStartup" - Cell "ZeroInternalMemoryAtStartup" - Cell "OptimizeModelRefInitCode" - Cell "NoFixptDivByZeroProtection" - Cell "UseSpecifiedMinMax" - Cell "EfficientTunableParamExpr" - PropName "DisabledProps" - } - Description "" - BlockReduction on - BooleanDataType on - ConditionallyExecuteInputs on - DefaultParameterBehavior "Tunable" - UseDivisionForNetSlopeComputation "off" - UseFloatMulNetSlope off - DefaultUnderspecifiedDataType "double" - UseSpecifiedMinMax off - InlineInvariantSignals off - OptimizeBlockIOStorage on - BufferReuse on - EnhancedBackFolding off - CachingGlobalReferences off - GlobalBufferReuse on - StrengthReduction off - AdvancedOptControl "" - ExpressionFolding on - BooleansAsBitfields off - BitfieldContainerType "uint_T" - EnableMemcpy on - MemcpyThreshold 64 - PassReuseOutputArgsAs "Structure reference" - PassReuseOutputArgsThreshold 12 - ExpressionDepthLimit 128 - LocalBlockOutputs on - RollThreshold 5 - StateBitsets off - DataBitsets off - ActiveStateOutputEnumStorageType "Native Integer" - ZeroExternalMemoryAtStartup on - ZeroInternalMemoryAtStartup on - InitFltsAndDblsToZero off - NoFixptDivByZeroProtection off - EfficientFloat2IntCast off - EfficientMapNaN2IntZero on - LifeSpan "auto" - MaxStackSize "Inherit from target" - BufferReusableBoundary on - SimCompilerOptimization "off" - AccelVerboseBuild off - OptimizeBlockOrder "off" - OptimizeDataStoreBuffers on - BusAssignmentInplaceUpdate on - DifferentSizesBufferReuse off - OptimizationLevel "level2" - OptimizationPriority "Balanced" - OptimizationCustomize on - UseRowMajorAlgorithm off - LabelGuidedReuse off - } - Simulink.DebuggingCC { - $ObjectID 231 - Version "1.18.1" - Array { - Type "Cell" - Dimension 1 - Cell "UseOnlyExistingSharedCode" - PropName "DisabledProps" - } - Description "" - RTPrefix "error" - ConsistencyChecking "none" - ArrayBoundsChecking "none" - SignalInfNanChecking "none" - StringTruncationChecking "error" - SignalRangeChecking "none" - ReadBeforeWriteMsg "UseLocalSettings" - WriteAfterWriteMsg "UseLocalSettings" - WriteAfterReadMsg "UseLocalSettings" - AlgebraicLoopMsg "warning" - ArtificialAlgebraicLoopMsg "warning" - SaveWithDisabledLinksMsg "warning" - SaveWithParameterizedLinksMsg "warning" - CheckSSInitialOutputMsg on - UnderspecifiedInitializationDetection "Simplified" - MergeDetectMultiDrivingBlocksExec "error" - CheckExecutionContextPreStartOutputMsg off - CheckExecutionContextRuntimeOutputMsg off - SignalResolutionControl "UseLocalSettings" - BlockPriorityViolationMsg "warning" - MinStepSizeMsg "warning" - TimeAdjustmentMsg "none" - MaxConsecutiveZCsMsg "error" - MaskedZcDiagnostic "warning" - IgnoredZcDiagnostic "warning" - SolverPrmCheckMsg "none" - InheritedTsInSrcMsg "warning" - MultiTaskDSMMsg "error" - MultiTaskCondExecSysMsg "error" - MultiTaskRateTransMsg "error" - SingleTaskRateTransMsg "none" - TasksWithSamePriorityMsg "warning" - ExportedTasksRateTransMsg "none" - SigSpecEnsureSampleTimeMsg "warning" - CheckMatrixSingularityMsg "none" - IntegerOverflowMsg "warning" - Int32ToFloatConvMsg "warning" - ParameterDowncastMsg "error" - ParameterOverflowMsg "error" - ParameterUnderflowMsg "none" - ParameterPrecisionLossMsg "warning" - ParameterTunabilityLossMsg "warning" - FixptConstUnderflowMsg "none" - FixptConstOverflowMsg "none" - FixptConstPrecisionLossMsg "none" - UnderSpecifiedDataTypeMsg "none" - UnnecessaryDatatypeConvMsg "none" - VectorMatrixConversionMsg "none" - InvalidFcnCallConnMsg "error" - FcnCallInpInsideContextMsg "error" - SignalLabelMismatchMsg "none" - UnconnectedInputMsg "warning" - UnconnectedOutputMsg "warning" - UnconnectedLineMsg "warning" - UseOnlyExistingSharedCode "error" - SFcnCompatibilityMsg "none" - FrameProcessingCompatibilityMsg "error" - UniqueDataStoreMsg "none" - BusObjectLabelMismatch "warning" - RootOutportRequireBusObject "warning" - AssertControl "UseLocalSettings" - AllowSymbolicDim on - RowMajorDimensionSupport off - ModelReferenceIOMsg "none" - ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" - ModelReferenceVersionMismatchMessage "none" - ModelReferenceIOMismatchMessage "none" - UnknownTsInhSupMsg "warning" - ModelReferenceDataLoggingMessage "warning" - ModelReferenceSymbolNameMessage "warning" - ModelReferenceExtraNoncontSigs "error" - StateNameClashWarn "none" - SimStateInterfaceChecksumMismatchMsg "warning" - SimStateOlderReleaseMsg "error" - ChecksumConsistencyForSSReuse "none" - LibraryContextMissingDiagnostic "warning" - MatchCodeGenerationContextForUpdateDiagram "none" - InitInArrayFormatMsg "warning" - StrictBusMsg "ErrorLevel1" - BusNameAdapt "WarnAndRepair" - NonBusSignalsTreatedAsBus "none" - SymbolicDimMinMaxWarning "warning" - LossOfSymbolicDimsSimulationWarning "warning" - LossOfSymbolicDimsCodeGenerationWarning "error" - SymbolicDimsDataTypeCodeGenerationDiagnostic "error" - BlockIODiagnostic "none" - SFUnusedDataAndEventsDiag "warning" - SFUnexpectedBacktrackingDiag "error" - SFInvalidInputDataAccessInChartInitDiag "warning" - SFNoUnconditionalDefaultTransitionDiag "error" - SFTransitionOutsideNaturalParentDiag "warning" - SFUnreachableExecutionPathDiag "warning" - SFUndirectedBroadcastEventsDiag "warning" - SFTransitionActionBeforeConditionDiag "warning" - SFOutputUsedAsStateInMooreChartDiag "error" - SFTemporalDelaySmallerThanSampleTimeDiag "warning" - SFSelfTransitionDiag "warning" - SFExecutionAtInitializationDiag "warning" - SFMachineParentedDataDiag "warning" - IntegerSaturationMsg "warning" - AllowedUnitSystems "all" - UnitsInconsistencyMsg "warning" - AllowAutomaticUnitConversions on - RCSCRenamedMsg "warning" - RCSCObservableMsg "warning" - ForceCombineOutputUpdateInSim off - UnitDatabase "" - UnderSpecifiedDimensionMsg "none" - } - Simulink.HardwareCC { - $ObjectID 232 - Version "1.18.1" - DisabledProps [] - Description "" - ProdBitPerChar 8 - ProdBitPerShort 16 - ProdBitPerInt 32 - ProdBitPerLong 32 - ProdBitPerLongLong 64 - ProdBitPerFloat 32 - ProdBitPerDouble 64 - ProdBitPerPointer 64 - ProdBitPerSizeT 64 - ProdBitPerPtrDiffT 64 - ProdLargestAtomicInteger "Char" - ProdLargestAtomicFloat "Float" - ProdIntDivRoundTo "Zero" - ProdEndianess "LittleEndian" - ProdWordSize 64 - ProdShiftRightIntArith on - ProdLongLongMode off - ProdHWDeviceType "Intel->x86-64 (Windows64)" - TargetBitPerChar 8 - TargetBitPerShort 16 - TargetBitPerInt 32 - TargetBitPerLong 32 - TargetBitPerLongLong 64 - TargetBitPerFloat 32 - TargetBitPerDouble 64 - TargetBitPerPointer 32 - TargetBitPerSizeT 32 - TargetBitPerPtrDiffT 32 - TargetLargestAtomicInteger "Char" - TargetLargestAtomicFloat "None" - TargetShiftRightIntArith on - TargetLongLongMode off - TargetIntDivRoundTo "Undefined" - TargetEndianess "Unspecified" - TargetWordSize 32 - TargetPreprocMaxBitsSint 32 - TargetPreprocMaxBitsUint 32 - TargetHWDeviceType "Specified" - TargetUnknown off - ProdEqTarget on - UseEmbeddedCoderFeatures on - UseSimulinkCoderFeatures on - } - Simulink.ModelReferenceCC { - $ObjectID 233 - Version "1.18.1" - DisabledProps [] - Description "" - UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" - EnableRefExpFcnMdlSchedulingChecks on - CheckModelReferenceTargetMessage "error" - EnableParallelModelReferenceBuilds off - ParallelModelReferenceErrorOnInvalidPool on - ParallelModelReferenceMATLABWorkerInit "None" - ModelReferenceNumInstancesAllowed "Multi" - PropagateVarSize "Infer from blocks in model" - ModelDependencies "" - ModelReferencePassRootInputsByReference on - ModelReferenceMinAlgLoopOccurrences off - PropagateSignalLabelsOutOfModel on - SupportModelReferenceSimTargetCustomCode off - } - Simulink.SFSimCC { - $ObjectID 234 - Version "1.18.1" - DisabledProps [] - Description "" - SimCustomSourceCode "" - SimCustomHeaderCode "" - SimCustomInitializer "" - SimCustomTerminator "" - SimReservedNameArray [] - SimUserSources "" - SimUserIncludeDirs "" - SimUserLibraries "" - SimUserDefines "" - SimCustomCompilerFlags "" - SimCustomLinkerFlags "" - SFSimEcho on - SimCtrlC on - SimIntegrity on - SimUseLocalCustomCode off - SimParseCustomCode on - SimAnalyzeCustomCode off - SimBuildMode "sf_incremental_build" - SimGenImportedTypeDefs off - ModelFunctionsGlobalVisibility "on" - CompileTimeRecursionLimit 50 - EnableRuntimeRecursion on - MATLABDynamicMemAlloc on - MATLABDynamicMemAllocThreshold 65536 - CustomCodeFunctionArrayLayout [] - DefaultCustomCodeFunctionArrayLayout "NotSpecified" - } - Simulink.RTWCC { - $BackupClass "Simulink.RTWCC" - $ObjectID 235 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeHyperlinkInReport" - Cell "GenerateTraceInfo" - Cell "GenerateTraceReport" - Cell "GenerateTraceReportSl" - Cell "GenerateTraceReportSf" - Cell "GenerateTraceReportEml" - Cell "PortableWordSizes" - Cell "GenerateWebview" - Cell "GenerateCodeMetricsReport" - Cell "GenerateCodeReplacementReport" - Cell "GenerateMissedCodeReplacementReport" - Cell "GenerateErtSFunction" - Cell "CreateSILPILBlock" - Cell "CodeExecutionProfiling" - Cell "CodeProfilingSaveOptions" - Cell "CodeProfilingInstrumentation" - PropName "DisabledProps" - } - SystemTargetFile "grt.tlc" - HardwareBoard "None" - TLCOptions "" - GenCodeOnly off - MakeCommand "make_rtw" - GenerateMakefile on - PackageGeneratedCodeAndArtifacts off - PackageName "" - TemplateMakefile "grt_default_tmf" - PostCodeGenCommand "" - Description "" - GenerateReport off - RTWVerbose on - RetainRTWFile off - RTWBuildHooks [] - ProfileTLC off - TLCDebug off - TLCCoverage off - TLCAssert off - RTWUseLocalCustomCode off - RTWUseSimCustomCode off - CustomSourceCode "" - CustomHeaderCode "" - CustomInclude "" - CustomSource "" - CustomLibrary "" - CustomDefine "" - CustomBLASCallback "" - CustomLAPACKCallback "" - CustomFFTCallback "" - CustomInitializer "" - CustomTerminator "" - Toolchain "Automatically locate an installed toolchain" - BuildConfiguration "Faster Builds" - CustomToolchainOptions [] - IncludeHyperlinkInReport off - LaunchReport off - PortableWordSizes off - CreateSILPILBlock "None" - CodeExecutionProfiling off - CodeExecutionProfileVariable "executionProfile" - CodeProfilingSaveOptions "SummaryOnly" - CodeProfilingInstrumentation "off" - SILDebugging off - TargetLang "C" - IncludeBusHierarchyInRTWFileBlockHierarchyMap off - GenerateTraceInfo off - GenerateTraceReport off - GenerateTraceReportSl off - GenerateTraceReportSf off - GenerateTraceReportEml off - GenerateWebview off - GenerateCodeMetricsReport off - GenerateCodeReplacementReport off - GenerateMissedCodeReplacementReport off - RTWCompilerOptimization "off" - ObjectivePriorities [] - RTWCustomCompilerOptimizations "" - CheckMdlBeforeBuild "Off" - SharedConstantsCachingThreshold 1024 - Array { - Type "Handle" - Dimension 2 - Simulink.CodeAppCC { - $ObjectID 236 - Version "1.18.1" - Array { - Type "Cell" - Dimension 28 - Cell "IgnoreCustomStorageClasses" - Cell "IgnoreTestpoints" - Cell "InsertBlockDesc" - Cell "InsertPolySpaceComments" - Cell "SFDataObjDesc" - Cell "MATLABFcnDesc" - Cell "SimulinkDataObjDesc" - Cell "DefineNamingRule" - Cell "SignalNamingRule" - Cell "ParamNamingRule" - Cell "InternalIdentifier" - Cell "InlinedPrmAccess" - Cell "CustomSymbolStr" - Cell "CustomSymbolStrGlobalVar" - Cell "CustomSymbolStrType" - Cell "CustomSymbolStrField" - Cell "CustomSymbolStrFcn" - Cell "CustomSymbolStrModelFcn" - Cell "CustomSymbolStrFcnArg" - Cell "CustomSymbolStrBlkIO" - Cell "CustomSymbolStrTmpVar" - Cell "CustomSymbolStrMacro" - Cell "CustomSymbolStrUtil" - Cell "CustomUserTokenString" - Cell "ReqsInCode" - Cell "BlockCommentType" - Cell "CustomSymbolStrEmxType" - Cell "CustomSymbolStrEmxFcn" - PropName "DisabledProps" - } - Description "" - Comment "" - ForceParamTrailComments off - GenerateComments on - CommentStyle "Auto" - IgnoreCustomStorageClasses on - IgnoreTestpoints off - MaxIdLength 31 - PreserveName off - PreserveNameWithParent off - ShowEliminatedStatement off - OperatorAnnotations off - SimulinkDataObjDesc off - SFDataObjDesc off - MATLABFcnDesc off - MangleLength 1 - SharedChecksumLength 8 - CustomSymbolStrGlobalVar "$R$N$M" - CustomSymbolStrType "$N$R$M_T" - CustomSymbolStrField "$N$M" - CustomSymbolStrFcn "$R$N$M$F" - CustomSymbolStrModelFcn "$R$N" - CustomSymbolStrFcnArg "rt$I$N$M" - CustomSymbolStrBlkIO "rtb_$N$M" - CustomSymbolStrTmpVar "$N$M" - CustomSymbolStrMacro "$R$N$M" - CustomSymbolStrUtil "$N$C" - CustomSymbolStrEmxType "emxArray_$M$N" - CustomSymbolStrEmxFcn "emx$M$N" - CustomUserTokenString "" - CustomCommentsFcn "" - DefineNamingRule "None" - DefineNamingFcn "" - ParamNamingRule "None" - ParamNamingFcn "" - SignalNamingRule "None" - SignalNamingFcn "" - InsertBlockDesc off - InsertPolySpaceComments off - SimulinkBlockComments on - BlockCommentType "BlockPathComment" - StateflowObjectComments on - MATLABSourceComments off - EnableCustomComments off - InternalIdentifierFile "" - InternalIdentifier "Shortened" - InlinedPrmAccess "Literals" - ReqsInCode off - UseSimReservedNames off - ReservedNameArray [] - } - Simulink.GRTTargetCC { - $BackupClass "Simulink.TargetCC" - $ObjectID 237 - Version "1.18.1" - Array { - Type "Cell" - Dimension 16 - Cell "IncludeMdlTerminateFcn" - Cell "SuppressErrorStatus" - Cell "ERTCustomFileBanners" - Cell "GenerateSampleERTMain" - Cell "ExistingSharedCode" - Cell "GenerateTestInterfaces" - Cell "ModelStepFunctionPrototypeControlCompliant" - Cell "GenerateAllocFcn" - Cell "PurelyIntegerCode" - Cell "SupportComplex" - Cell "SupportAbsoluteTime" - Cell "SupportContinuousTime" - Cell "SupportNonInlinedSFcns" - Cell "RemoveDisableFunc" - Cell "RemoveResetFunc" - Cell "PreserveStateflowLocalDataDimensions" - PropName "DisabledProps" - } - Description "" - TargetFcnLib "ansi_tfl_table_tmw.mat" - TargetLibSuffix "" - TargetPreCompLibLocation "" - GenFloatMathFcnCalls "NOT IN USE" - TargetLangStandard "C99 (ISO)" - CodeReplacementLibrary "None" - UtilityFuncGeneration "Auto" - MultiwordTypeDef "System defined" - MultiwordLength 2048 - DynamicStringBufferSize 256 - GenerateFullHeader on - InferredTypesCompatibility off - ExistingSharedCode "" - GenerateSampleERTMain off - GenerateTestInterfaces off - ModelReferenceCompliant on - ParMdlRefBuildCompliant on - CompOptLevelCompliant on - ConcurrentExecutionCompliant on - IncludeMdlTerminateFcn on - GeneratePreprocessorConditionals "Use local settings" - CombineOutputUpdateFcns on - CombineSignalStateStructs off - GroupInternalDataByFunction off - SuppressErrorStatus off - IncludeFileDelimiter "Auto" - ERTCustomFileBanners off - SupportAbsoluteTime on - LogVarNameModifier "rt_" - MatFileLogging on - MultiInstanceERTCode off - CodeInterfacePackaging "Nonreusable function" - PurelyIntegerCode off - SupportNonFinite on - SupportComplex on - SupportContinuousTime on - SupportNonInlinedSFcns on - RemoveDisableFunc off - RemoveResetFunc off - SupportVariableSizeSignals off - ParenthesesLevel "Nominal" - CastingMode "Nominal" - PreserveStateflowLocalDataDimensions off - MATLABClassNameForMDSCustomization "Simulink.SoftwareTarget.GRTCustomization" - ModelStepFunctionPrototypeControlCompliant off - CPPClassGenCompliant on - AutosarCompliant off - MDXCompliant off - GRTInterface off - GenerateAllocFcn off - UseToolchainInfoCompliant on - GenerateSharedConstants on - CoderGroups [] - AccessMethods [] - LookupTableObjectStructAxisOrder "1,2,3,4,..." - LUTObjectStructOrderExplicitValues "Size,Breakpoints,Table" - LUTObjectStructOrderEvenSpacing "Size,Breakpoints,Table" - ArrayLayout "Column-major" - UnsupportedSFcnMsg "error" - ERTHeaderFileRootName "$R$E" - ERTSourceFileRootName "$R$E" - ERTDataFileRootName "$R_data" - UseMalloc off - ExtMode off - ExtModeStaticAlloc off - ExtModeTesting off - ExtModeStaticAllocSize 1000000 - ExtModeTransport 0 - ExtModeMexFile "ext_comm" - ExtModeMexArgs "" - ExtModeIntrfLevel "Level1" - RTWCAPISignals off - RTWCAPIParams off - RTWCAPIStates off - RTWCAPIRootIO off - GenerateASAP2 off - MultiInstanceErrorCode "Error" - } - PropName "Components" - } - } - SlCovCC.ConfigComp { - $ObjectID 238 - Version "1.18.1" - DisabledProps [] - Description "Simulink Coverage Configuration Component" - Name "Simulink Coverage" - CovEnable off - CovScope "EntireSystem" - CovIncludeTopModel on - RecordCoverage off - CovPath "/" - CovSaveName "covdata" - CovCompData "" - CovMetricSettings "dwe" - CovFilter "" - CovHTMLOptions "" - CovNameIncrementing off - CovHtmlReporting off - CovForceBlockReductionOff on - CovEnableCumulative on - CovSaveCumulativeToWorkspaceVar off - CovSaveSingleToWorkspaceVar off - CovCumulativeVarName "covCumulativeData" - CovCumulativeReport off - CovSaveOutputData on - CovOutputDir "slcov_output/$ModelName$" - CovDataFileName "$ModelName$_cvdata" - CovShowResultsExplorer on - CovReportOnPause on - CovModelRefEnable "off" - CovModelRefExcluded "" - CovExternalEMLEnable on - CovSFcnEnable on - CovBoundaryAbsTol 1e-05 - CovBoundaryRelTol 0.01 - CovUseTimeInterval off - CovStartTime 0 - CovStopTime 0 - CovMcdcMode "Masking" - } - PropName "Components" - } - Name "Configuration17" - ExtraOptions "" - CurrentDlgPage "Data Import//Export" - ConfigPrmDlgPosition [ 374, 90, 1274, 830 ] - } - PropName "ConfigurationSets" - } - Simulink.ConfigSet { - $PropName "ActiveConfigurationSet" - $ObjectID 227 - } - Object { - $PropName "DataTransfer" - $ObjectID 239 - $ClassName "Simulink.GlobalDataTransfer" - DefaultTransitionBetweenSyncTasks "Ensure deterministic transfer (maximum delay)" - DefaultTransitionBetweenAsyncTasks "Ensure data integrity only" - DefaultTransitionBetweenContTasks "Ensure deterministic transfer (minimum delay)" - DefaultExtrapolationMethodBetweenContTasks "None" - AutoInsertRateTranBlk [0] - } - ExplicitPartitioning off - BlockDefaults { - ForegroundColor "black" - BackgroundColor "white" - DropShadow off - NamePlacement "normal" - FontName "Helvetica" - FontSize 10 - FontWeight "normal" - FontAngle "normal" - ShowName on - HideAutomaticName on - BlockRotation 0 - BlockMirror off - } - AnnotationDefaults { - HorizontalAlignment "center" - VerticalAlignment "middle" - ForegroundColor "black" - BackgroundColor "white" - DropShadow off - FontName "Helvetica" - FontSize 10 - FontWeight "normal" - FontAngle "normal" - MarkupType "model" - UseDisplayTextAsClickCallback off - AnnotationType "note_annotation" - FixedHeight off - FixedWidth off - Interpreter "off" - } - LineDefaults { - FontName "Helvetica" - FontSize 9 - FontWeight "normal" - FontAngle "normal" - } - MaskDefaults { - SelfModifiable "off" - IconFrame "on" - IconOpaque "opaque" - RunInitForIconRedraw "analyze" - IconRotate "none" - PortRotate "default" - IconUnits "autoscale" - } - MaskParameterDefaults { - Evaluate "on" - Tunable "on" - NeverSave "off" - Internal "off" - ReadOnly "off" - Enabled "on" - Visible "on" - ToolTip "on" - } - BlockParameterDefaults { - Block { - BlockType Clock - DisplayTime off - Decimation "10" - } - Block { - BlockType Constant - Value "1" - VectorParams1D on - SamplingMode "Sample based" - OutMin "[]" - OutMax "[]" - OutDataTypeStr "Inherit: Inherit from 'Constant value'" - LockScale off - SampleTime "inf" - FramePeriod "inf" - PreserveConstantTs off - } - Block { - BlockType Delay - DelayLengthSource "Dialog" - DelayLength "2" - DelayLengthUpperLimit "100" - InitialConditionSource "Dialog" - InitialCondition "0.0" - ExternalReset "None" - ShowEnablePort off - PreventDirectFeedthrough off - DiagnosticForDelayLength "None" - RemoveDelayLengthCheckInGeneratedCode off - InputProcessing "Elements as channels (sample based)" - UseCircularBuffer off - SampleTime "-1" - StateMustResolveToSignalObject off - CodeGenStateStorageClass "Auto" - } - Block { - BlockType Demux - Outputs "4" - DisplayOption "none" - BusSelectionMode off - } - Block { - BlockType DiscreteFilter - NumeratorSource "Dialog" - Numerator "[1]" - DenominatorSource "Dialog" - Denominator "[1 0.5]" - InitialStatesSource "Dialog" - InitialStates "0" - InputProcessing "Elements as channels (sample based)" - ExternalReset "None" - InitialDenominatorStates "0" - FilterStructure "Direct form II" - SampleTime "-1" - a0EqualsOne off - NumCoefMin "[]" - NumCoefMax "[]" - DenCoefMin "[]" - DenCoefMax "[]" - OutMin "[]" - OutMax "[]" - StateDataTypeStr "Inherit: Same as input" - MultiplicandDataTypeStr "Inherit: Same as input" - NumCoefDataTypeStr "Inherit: Inherit via internal rule" - DenCoefDataTypeStr "Inherit: Inherit via internal rule" - NumProductDataTypeStr "Inherit: Inherit via internal rule" - DenProductDataTypeStr "Inherit: Inherit via internal rule" - NumAccumDataTypeStr "Inherit: Inherit via internal rule" - DenAccumDataTypeStr "Inherit: Inherit via internal rule" - OutDataTypeStr "Inherit: Inherit via internal rule" - LockScale off - RndMeth "Floor" - SaturateOnIntegerOverflow off - StateMustResolveToSignalObject off - RTWStateStorageClass "Auto" - } - Block { - BlockType Fcn - Expr "sin(u[1])" - SampleTime "-1" - } - Block { - BlockType Gain - Gain "1" - Multiplication "Element-wise(K.*u)" - ParamMin "[]" - ParamMax "[]" - ParamDataTypeStr "Inherit: Same as input" - OutMin "[]" - OutMax "[]" - OutDataTypeStr "Inherit: Same as input" - LockScale off - RndMeth "Floor" - SaturateOnIntegerOverflow on - SampleTime "-1" - } - Block { - BlockType Inport - Port "1" - OutputFunctionCall off - OutMin "[]" - OutMax "[]" - OutDataTypeStr "Inherit: auto" - LockScale off - BusOutputAsStruct off - Unit "inherit" - PortDimensions "-1" - VarSizeSig "Inherit" - SampleTime "-1" - SignalType "auto" - SamplingMode "auto" - LatchByDelayingOutsideSignal off - LatchInputForFeedbackSignals off - Interpolate on - } - Block { - BlockType Lookup_n-D - NumberOfTableDimensions "2" - DataSpecification "Table and breakpoints" - BreakpointsSpecification "Explicit values" - BreakpointsForDimension1 "[10,22,31]" - BreakpointsForDimension2 "[10,22,31]" - BreakpointsForDimension3 "[1:3]" - BreakpointsForDimension4 "[1:3]" - BreakpointsForDimension5 "[1:3]" - BreakpointsForDimension6 "[1:3]" - BreakpointsForDimension7 "[1:3]" - BreakpointsForDimension8 "[1:3]" - BreakpointsForDimension9 "[1:3]" - BreakpointsForDimension10 "[1:3]" - BreakpointsForDimension11 "[1:3]" - BreakpointsForDimension12 "[1:3]" - BreakpointsForDimension13 "[1:3]" - BreakpointsForDimension14 "[1:3]" - BreakpointsForDimension15 "[1:3]" - BreakpointsForDimension16 "[1:3]" - BreakpointsForDimension17 "[1:3]" - BreakpointsForDimension18 "[1:3]" - BreakpointsForDimension19 "[1:3]" - BreakpointsForDimension20 "[1:3]" - BreakpointsForDimension21 "[1:3]" - BreakpointsForDimension22 "[1:3]" - BreakpointsForDimension23 "[1:3]" - BreakpointsForDimension24 "[1:3]" - BreakpointsForDimension25 "[1:3]" - BreakpointsForDimension26 "[1:3]" - BreakpointsForDimension27 "[1:3]" - BreakpointsForDimension28 "[1:3]" - BreakpointsForDimension29 "[1:3]" - BreakpointsForDimension30 "[1:3]" - BreakpointsForDimension1FirstPoint "1" - BreakpointsForDimension2FirstPoint "1" - BreakpointsForDimension3FirstPoint "1" - BreakpointsForDimension4FirstPoint "1" - BreakpointsForDimension5FirstPoint "1" - BreakpointsForDimension6FirstPoint "1" - BreakpointsForDimension7FirstPoint "1" - BreakpointsForDimension8FirstPoint "1" - BreakpointsForDimension9FirstPoint "1" - BreakpointsForDimension10FirstPoint "1" - BreakpointsForDimension11FirstPoint "1" - BreakpointsForDimension12FirstPoint "1" - BreakpointsForDimension13FirstPoint "1" - BreakpointsForDimension14FirstPoint "1" - BreakpointsForDimension15FirstPoint "1" - BreakpointsForDimension16FirstPoint "1" - BreakpointsForDimension17FirstPoint "1" - BreakpointsForDimension18FirstPoint "1" - BreakpointsForDimension19FirstPoint "1" - BreakpointsForDimension20FirstPoint "1" - BreakpointsForDimension21FirstPoint "1" - BreakpointsForDimension22FirstPoint "1" - BreakpointsForDimension23FirstPoint "1" - BreakpointsForDimension24FirstPoint "1" - BreakpointsForDimension25FirstPoint "1" - BreakpointsForDimension26FirstPoint "1" - BreakpointsForDimension27FirstPoint "1" - BreakpointsForDimension28FirstPoint "1" - BreakpointsForDimension29FirstPoint "1" - BreakpointsForDimension30FirstPoint "1" - BreakpointsForDimension1Spacing "1" - BreakpointsForDimension2Spacing "1" - BreakpointsForDimension3Spacing "1" - BreakpointsForDimension4Spacing "1" - BreakpointsForDimension5Spacing "1" - BreakpointsForDimension6Spacing "1" - BreakpointsForDimension7Spacing "1" - BreakpointsForDimension8Spacing "1" - BreakpointsForDimension9Spacing "1" - BreakpointsForDimension10Spacing "1" - BreakpointsForDimension11Spacing "1" - BreakpointsForDimension12Spacing "1" - BreakpointsForDimension13Spacing "1" - BreakpointsForDimension14Spacing "1" - BreakpointsForDimension15Spacing "1" - BreakpointsForDimension16Spacing "1" - BreakpointsForDimension17Spacing "1" - BreakpointsForDimension18Spacing "1" - BreakpointsForDimension19Spacing "1" - BreakpointsForDimension20Spacing "1" - BreakpointsForDimension21Spacing "1" - BreakpointsForDimension22Spacing "1" - BreakpointsForDimension23Spacing "1" - BreakpointsForDimension24Spacing "1" - BreakpointsForDimension25Spacing "1" - BreakpointsForDimension26Spacing "1" - BreakpointsForDimension27Spacing "1" - BreakpointsForDimension28Spacing "1" - BreakpointsForDimension29Spacing "1" - BreakpointsForDimension30Spacing "1" - BreakpointsForDimension1Min "[]" - BreakpointsForDimension2Min "[]" - BreakpointsForDimension3Min "[]" - BreakpointsForDimension4Min "[]" - BreakpointsForDimension5Min "[]" - BreakpointsForDimension6Min "[]" - BreakpointsForDimension7Min "[]" - BreakpointsForDimension8Min "[]" - BreakpointsForDimension9Min "[]" - BreakpointsForDimension10Min "[]" - BreakpointsForDimension11Min "[]" - BreakpointsForDimension12Min "[]" - BreakpointsForDimension13Min "[]" - BreakpointsForDimension14Min "[]" - BreakpointsForDimension15Min "[]" - BreakpointsForDimension16Min "[]" - BreakpointsForDimension17Min "[]" - BreakpointsForDimension18Min "[]" - BreakpointsForDimension19Min "[]" - BreakpointsForDimension20Min "[]" - BreakpointsForDimension21Min "[]" - BreakpointsForDimension22Min "[]" - BreakpointsForDimension23Min "[]" - BreakpointsForDimension24Min "[]" - BreakpointsForDimension25Min "[]" - BreakpointsForDimension26Min "[]" - BreakpointsForDimension27Min "[]" - BreakpointsForDimension28Min "[]" - BreakpointsForDimension29Min "[]" - BreakpointsForDimension30Min "[]" - BreakpointsForDimension1Max "[]" - BreakpointsForDimension2Max "[]" - BreakpointsForDimension3Max "[]" - BreakpointsForDimension4Max "[]" - BreakpointsForDimension5Max "[]" - BreakpointsForDimension6Max "[]" - BreakpointsForDimension7Max "[]" - BreakpointsForDimension8Max "[]" - BreakpointsForDimension9Max "[]" - BreakpointsForDimension10Max "[]" - BreakpointsForDimension11Max "[]" - BreakpointsForDimension12Max "[]" - BreakpointsForDimension13Max "[]" - BreakpointsForDimension14Max "[]" - BreakpointsForDimension15Max "[]" - BreakpointsForDimension16Max "[]" - BreakpointsForDimension17Max "[]" - BreakpointsForDimension18Max "[]" - BreakpointsForDimension19Max "[]" - BreakpointsForDimension20Max "[]" - BreakpointsForDimension21Max "[]" - BreakpointsForDimension22Max "[]" - BreakpointsForDimension23Max "[]" - BreakpointsForDimension24Max "[]" - BreakpointsForDimension25Max "[]" - BreakpointsForDimension26Max "[]" - BreakpointsForDimension27Max "[]" - BreakpointsForDimension28Max "[]" - BreakpointsForDimension29Max "[]" - BreakpointsForDimension30Max "[]" - BreakpointsForDimension1DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension2DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension3DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension4DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension5DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension6DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension7DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension8DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension9DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension10DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension11DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension12DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension13DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension14DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension15DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension16DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension17DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension18DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension19DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension20DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension21DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension22DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension23DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension24DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension25DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension26DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension27DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension28DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension29DataTypeStr "Inherit: Same as corresponding input" - BreakpointsForDimension30DataTypeStr "Inherit: Same as corresponding input" - IndexSearchMethod "Binary search" - BeginIndexSearchUsingPreviousIndexResult off - UseOneInputPortForAllInputData off - Table "[4 5 6;16 19 20;10 18 23]" - TableMin "[]" - TableMax "[]" - TableDataTypeStr "Inherit: Same as output" - IntermediateResultsDataTypeStr "Inherit: Same as output" - InterpMethod "Linear point-slope" - ExtrapMethod "Linear" - DiagnosticForOutOfRangeInput "None" - RemoveProtectionInput off - UseLastTableValue off - SampleTime "-1" - InternalRulePriority "Precision" - InputSameDT on - OutMin "[]" - OutMax "[]" - OutDataTypeStr "Inherit: Same as first input" - LockScale off - RndMeth "Floor" - SaturateOnIntegerOverflow off - FractionDataTypeStr "Inherit: Inherit via internal rule" - SupportTunableTableSize off - MaximumIndicesForEachDimension "[]" - LUTDesignTableMode "Redesign Table" - LUTDesignDataSource "Block Dialog" - LUTDesignFunctionName "sqrt(x)" - LUTDesignUseExistingBP on - LUTDesignRelError "0.01" - LUTDesignAbsError "1e-6" - } - Block { - BlockType Mux - Inputs "4" - DisplayOption "none" - UseBusObject off - BusObject "BusObject" - NonVirtualBus off - } - Block { - BlockType Outport - Port "1" - OutMin "[]" - OutMax "[]" - OutDataTypeStr "Inherit: auto" - LockScale off - BusOutputAsStruct off - Unit "inherit" - PortDimensions "-1" - VarSizeSig "Inherit" - SampleTime "-1" - SignalType "auto" - SamplingMode "auto" - EnsureOutportIsVirtual off - SourceOfInitialOutputValue "Dialog" - OutputWhenDisabled "held" - InitialOutput "[]" - MustResolveToSignalObject off - OutputWhenUnConnected off - OutputWhenUnconnectedValue "0" - VectorParamsAs1DForOutWhenUnconnected off - } - Block { - BlockType Product - Inputs "2" - Multiplication "Element-wise(.*)" - CollapseMode "All dimensions" - CollapseDim "1" - InputSameDT on - OutMin "[]" - OutMax "[]" - OutDataTypeStr "Inherit: Same as first input" - LockScale off - RndMeth "Zero" - SaturateOnIntegerOverflow on - SampleTime "-1" - } - Block { - BlockType RateLimiter - RisingSlewLimit "1" - FallingSlewLimit "-1" - SampleTimeMode "continuous" - InitialCondition "0" - LinearizeAsGain on - } - Block { - BlockType S-Function - FunctionName "system" - SFunctionModules "''" - PortCounts "[]" - MultiThreadCoSim "auto" - } - Block { - BlockType Saturate - UpperLimitSource "Dialog" - UpperLimit "0.5" - LowerLimitSource "Dialog" - LowerLimit "-0.5" - LinearizeAsGain on - ZeroCross on - SampleTime "-1" - OutMin "[]" - OutMax "[]" - OutDataTypeStr "Inherit: Same as input" - LockScale off - RndMeth "Floor" - } - Block { - BlockType Scope - DefaultConfigurationName "Simulink.scopes.TimeScopeBlockCfg" - } - Block { - BlockType SignalSpecification - OutMin "[]" - OutMax "[]" - OutDataTypeStr "Inherit: auto" - LockScale off - BusOutputAsStruct off - Unit "inherit" - Dimensions "-1" - VarSizeSig "Inherit" - SampleTime "-1" - SignalType "auto" - SamplingMode "auto" - } - Block { - BlockType SubSystem - ShowPortLabels "FromPortIcon" - Permissions "ReadWrite" - PermitHierarchicalResolution "All" - TreatAsAtomicUnit off - MinAlgLoopOccurrences off - PropExecContextOutsideSubsystem off - SystemSampleTime "-1" - RTWSystemCode "Auto" - RTWFcnNameOpts "Auto" - RTWFileNameOpts "Auto" - FunctionInterfaceSpec "void_void" - FunctionWithSeparateData off - RTWMemSecFuncInitTerm "Inherit from model" - RTWMemSecFuncExecute "Inherit from model" - RTWMemSecDataConstants "Inherit from model" - RTWMemSecDataInternal "Inherit from model" - RTWMemSecDataParameters "Inherit from model" - SimViewingDevice off - DataTypeOverride "UseLocalSettings" - DataTypeOverrideAppliesTo "AllNumericTypes" - MinMaxOverflowLogging "UseLocalSettings" - Opaque off - MaskHideContents off - SFBlockType "NONE" - VariantControlMode "Expression" - Variant off - GeneratePreprocessorConditionals off - AllowZeroVariantControls off - PropagateVariantConditions off - TreatAsGroupedWhenPropagatingVariantConditions on - ContentPreviewEnabled off - IsWebBlock off - IsObserver off - Latency "0" - AutoFrameSizeCalculation off - IsWebBlockPanel off - } - Block { - BlockType Sum - IconShape "rectangular" - Inputs "++" - CollapseMode "All dimensions" - CollapseDim "1" - InputSameDT on - AccumDataTypeStr "Inherit: Inherit via internal rule" - OutMin "[]" - OutMax "[]" - OutDataTypeStr "Inherit: Same as first input" - LockScale off - RndMeth "Floor" - SaturateOnIntegerOverflow on - SampleTime "-1" - } - Block { - BlockType Switch - Criteria "u2 >= Threshold" - Threshold "0" - InputSameDT on - OutMin "[]" - OutMax "[]" - OutDataTypeStr "Inherit: Inherit via internal rule" - LockScale off - RndMeth "Floor" - SaturateOnIntegerOverflow on - ZeroCross on - SampleTime "-1" - AllowDiffInputSizes off - } - Block { - BlockType Terminator - } - Block { - BlockType ToWorkspace - VariableName "simulink_output" - MaxDataPoints "1000" - Decimation "1" - SaveFormat "Array" - Save2DSignal "Inherit from input (this choice will be removed - see release notes)" - FixptAsFi off - NumInputs "1" - SampleTime "0" - } - Block { - BlockType UnitDelay - InitialCondition "0" - InputProcessing "Inherited" - SampleTime "1" - StateMustResolveToSignalObject off - CodeGenStateStorageClass "Auto" - HasFrameUpgradeWarning on - } - } - System { - Name "ROSCO" - Location [0, 23, 1920, 1000] - Open on - PortBlocksUseCompactNotation off - SetExecutionDomain off - ExecutionDomainType "Deduce" - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "usletter" - PaperUnits "inches" - TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "100" - ReportName "simulink-default.rpt" - SIDHighWatermark "858" - Block { - BlockType SubSystem - Name "BldPitch Controller" - SID "376" - Ports [4, 1] - Position [-15, 217, 95, 373] - ZOrder 205 - BackgroundColor "green" - RequestExecContextInheritance off - System { - Name "BldPitch Controller" - Location [0, 23, 1920, 1000] - Open on - PortBlocksUseCompactNotation off - SetExecutionDomain off - ExecutionDomainType "Deduce" - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "usletter" - PaperUnits "inches" - TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "60" - Block { - BlockType Inport - Name "omega_g,ref" - SID "497" - Position [-500, 347, -445, 363] - ZOrder 319 - BackgroundColor "yellow" - NamePlacement "alternate" - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "GenSpeedF" - SID "378" - Position [-250, 392, -195, 408] - ZOrder -1 - BackgroundColor "yellow" - NamePlacement "alternate" - Port "2" - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "Del_omega_g" - SID "498" - Position [-530, 242, -475, 258] - ZOrder 321 - BackgroundColor "yellow" - NamePlacement "alternate" - Port "3" - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "Min Pitch" - SID "789" - Position [-250, 577, -195, 593] - ZOrder 363 - BackgroundColor "yellow" - NamePlacement "alternate" - Port "4" - IconDisplay "Port number" - } - Block { - BlockType Reference - Name "Compare\nTo Zero1" - SID "654" - Ports [1, 1] - Position [-395, 220, -365, 250] - ZOrder 352 - LibraryVersion "1.444" - SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Zero" - SourceType "Compare To Zero" - SourceProductBaseCode "SL" - ContentPreviewEnabled on - relop "<" - OutDataTypeStr "boolean" - ZeroCross on - } - Block { - BlockType Constant - Name "Constant1" - SID "716" - Position [80, 525, 165, 545] - ZOrder 355 - BackgroundColor "[0.800000, 0.800000, 0.800000]" - Value "R.PC_GS_KP" - } - Block { - BlockType Constant - Name "Constant2" - SID "717" - Position [80, 550, 165, 570] - ZOrder 356 - BackgroundColor "[0.800000, 0.800000, 0.800000]" - Value "R.PC_GS_KI" - } - Block { - BlockType Constant - Name "Constant3" - SID "718" - Position [80, 575, 165, 595] - ZOrder 357 - BackgroundColor "[0.800000, 0.800000, 0.800000]" - Value "R.PC_GS_angles" - } - Block { - BlockType Delay - Name "Delay" - SID "786" - Ports [1, 1] - Position [570, 743, 605, 777] - ZOrder 362 - BlockMirror on - InputPortMap "u0" - DelayLength "1" - } - Block { - BlockType SubSystem - Name "Integral" - SID "385" - Ports [3, 1] - Position [645, 371, 725, 419] - ZOrder 276 - RequestExecContextInheritance off - ContentPreviewEnabled on - System { - Name "Integral" - Location [1920, 23, 3712, 1120] - Open on - PortBlocksUseCompactNotation off - SetExecutionDomain off - ExecutionDomainType "Deduce" - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "usletter" - PaperUnits "inches" - TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "142" - Block { - BlockType Inport - Name "SpeedErr" - SID "386" - Position [20, 135, 35, 165] - ZOrder 274 - BackgroundColor "yellow" - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "Gain" - SID "387" - Position [100, 215, 115, 245] - ZOrder 278 - BackgroundColor "yellow" - Port "2" - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "Min Pitch" - SID "790" - Position [450, 45, 465, 75] - ZOrder 280 - BackgroundColor "yellow" - Port "3" - IconDisplay "Port number" - } - Block { - BlockType Gain - Name "Gain1" - SID "388" - Position [125, 135, 155, 165] - ZOrder 273 - BackgroundColor "magenta" - Gain "simu.dt" - ParamDataTypeStr "Inherit: Inherit via internal rule" - OutDataTypeStr "Inherit: Inherit via internal rule" - SaturateOnIntegerOverflow off - } - Block { - BlockType Constant - Name "Maximum Pitch" - SID "389" - Position [270, 22, 380, 48] - ZOrder 265 - BackgroundColor "[0.800000, 0.800000, 0.800000]" - NamePlacement "alternate" - Value "R.PC_MaxPit" - } - Block { - BlockType Constant - Name "Minimum Pitch" - SID "390" - Position [270, 82, 380, 108] - ZOrder 266 - BackgroundColor "[0.800000, 0.800000, 0.800000]" - NamePlacement "alternate" - Value "R.PC_MinPit" - } - Block { - BlockType Product - Name "Multiply" - SID "391" - Ports [2, 1] - Position [230, 143, 255, 172] - ZOrder 279 - InputSameDT off - OutDataTypeStr "Inherit: Inherit via internal rule" - RndMeth "Floor" - SaturateOnIntegerOverflow off - } - Block { - BlockType Reference - Name "Saturate Integral\nTerm" - SID "392" - Ports [3, 1] - Position [515, 140, 595, 180] - ZOrder 261 - LibraryVersion "1.444" - SourceBlock "simulink/Discontinuities/Saturation\nDynamic" - SourceType "Saturation Dynamic" - SourceProductBaseCode "SL" - ContentPreviewEnabled off - OutMin "[]" - OutMax "[]" - OutDataTypeStr "Inherit: Same as second input" - OutputDataTypeScalingMode "Same as second input" - OutDataType "fixdt(1, 16)" - OutScaling "2^-10" - LockScale off - RndMeth "Nearest" - DoSatur off - } - Block { - BlockType Sum - Name "Sum" - SID "393" - Ports [2, 1] - Position [320, 150, 340, 170] - ZOrder 271 - ShowName off - IconShape "round" - Inputs "|++" - InputSameDT off - OutDataTypeStr "Inherit: Inherit via internal rule" - SaturateOnIntegerOverflow off - } - Block { - BlockType UnitDelay - Name "Unit Delay" - SID "394" - Position [440, 238, 475, 272] - ZOrder 272 - BlockMirror on - NamePlacement "alternate" - InputProcessing "Elements as channels (sample based)" - SampleTime "-1" - } - Block { - BlockType Outport - Name "IntSpdErr" - SID "395" - Position [890, 153, 920, 167] - ZOrder 275 - BackgroundColor "[0.074510, 0.623529, 1.000000]" - IconDisplay "Port number" - } - Line { - ZOrder 1 - SrcBlock "Maximum Pitch" - SrcPort 1 - Points [29, 0; 0, 110] - DstBlock "Saturate Integral\nTerm" - DstPort 1 - } - Line { - ZOrder 2 - SrcBlock "Unit Delay" - SrcPort 1 - Points [-105, 0] - DstBlock "Sum" - DstPort 2 - } - Line { - ZOrder 4 - SrcBlock "Sum" - SrcPort 1 - DstBlock "Saturate Integral\nTerm" - DstPort 2 - } - Line { - ZOrder 5 - SrcBlock "SpeedErr" - SrcPort 1 - DstBlock "Gain1" - DstPort 1 - } - Line { - ZOrder 6 - SrcBlock "Gain" - SrcPort 1 - Points [94, 0; 0, -65] - DstBlock "Multiply" - DstPort 2 - } - Line { - ZOrder 7 - SrcBlock "Saturate Integral\nTerm" - SrcPort 1 - Points [130, 0] - Branch { - ZOrder 8 - DstBlock "IntSpdErr" - DstPort 1 - } - Branch { - ZOrder 9 - Points [0, 95] - DstBlock "Unit Delay" - DstPort 1 - } - } - Line { - ZOrder 10 - SrcBlock "Gain1" - SrcPort 1 - DstBlock "Multiply" - DstPort 1 - } - Line { - ZOrder 11 - SrcBlock "Multiply" - SrcPort 1 - DstBlock "Sum" - DstPort 1 - } - Line { - ZOrder 14 - SrcBlock "Min Pitch" - SrcPort 1 - Points [25, 0; 0, 115] - DstBlock "Saturate Integral\nTerm" - DstPort 3 - } - } - } - Block { - BlockType Product - Name "Multiply" - SID "397" - Ports [2, 1] - Position [815, 447, 845, 478] - ZOrder 288 - InputSameDT off - OutDataTypeStr "Inherit: Inherit via internal rule" - RndMeth "Floor" - SaturateOnIntegerOverflow off - } - Block { - BlockType Product - Name "Multiply3" - SID "655" - Ports [2, 1] - Position [-325, 219, -290, 286] - ZOrder 353 - InputSameDT off - OutDataTypeStr "Inherit: Inherit via internal rule" - RndMeth "Floor" - SaturateOnIntegerOverflow off - } - Block { - BlockType Mux - Name "Mux" - SID "398" - Ports [5, 1] - Position [830, 532, 835, 628] - ZOrder 296 - NamePlacement "alternate" - ShowName off - Inputs "5" - DisplayOption "bar" - } - Block { - BlockType SubSystem - Name "Pitch GS" - SID "396" - Ports [4, 2] - Position [380, 493, 545, 602] - ZOrder 287 - ErrorFcn "Stateflow.Translate.translate" - PermitHierarchicalResolution "ExplicitOnly" - TreatAsAtomicUnit on - RequestExecContextInheritance off - SFBlockType "MATLAB Function" - ContentPreviewEnabled on - System { - Name "Pitch GS" - Location [223, 338, 826, 833] - Open off - PortBlocksUseCompactNotation off - SetExecutionDomain off - ExecutionDomainType "Deduce" - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "usletter" - PaperUnits "inches" - TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "100" - SIDHighWatermark "56" - Block { - BlockType Inport - Name "Beta" - SID "396::45" - Position [20, 101, 40, 119] - ZOrder 24 - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "Kp_pc" - SID "396::56" - Position [20, 136, 40, 154] - ZOrder 35 - Port "2" - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "Ki_pc" - SID "396::54" - Position [20, 171, 40, 189] - ZOrder 33 - Port "3" - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "PC_beta" - SID "396::55" - Position [20, 206, 40, 224] - ZOrder 34 - Port "4" - IconDisplay "Port number" - } - Block { - BlockType Demux - Name " Demux " - SID "396::52" - Ports [1, 1] - Position [270, 230, 320, 270] - ZOrder 31 - Outputs "1" - DisplayOption "bar" - } - Block { - BlockType S-Function - Name " SFunction " - SID "396::51" - Tag "Stateflow S-Function ROSCO 6" - Ports [4, 3] - Position [180, 107, 230, 208] - ZOrder 30 - FunctionName "sf_sfun" - PortCounts "[4 3]" - SFunctionDeploymentMode off - EnableBusSupport on - SFcnIsStateOwnerBlock off - Port { - PortNumber 2 - Name "Ki" - } - Port { - PortNumber 3 - Name "Kp" - } - } - Block { - BlockType Terminator - Name " Terminator " - SID "396::53" - Position [460, 241, 480, 259] - ZOrder 32 - } - Block { - BlockType Outport - Name "Ki" - SID "396::22" - Position [460, 101, 480, 119] - ZOrder 13 - IconDisplay "Port number" - } - Block { - BlockType Outport - Name "Kp" - SID "396::5" - Position [460, 136, 480, 154] - ZOrder -5 - Port "2" - IconDisplay "Port number" - } - Line { - ZOrder 362 - SrcBlock "Beta" - SrcPort 1 - DstBlock " SFunction " - DstPort 1 - } - Line { - ZOrder 363 - SrcBlock "Kp_pc" - SrcPort 1 - DstBlock " SFunction " - DstPort 2 - } - Line { - ZOrder 364 - SrcBlock "Ki_pc" - SrcPort 1 - DstBlock " SFunction " - DstPort 3 - } - Line { - ZOrder 365 - SrcBlock "PC_beta" - SrcPort 1 - DstBlock " SFunction " - DstPort 4 - } - Line { - Name "Ki" - ZOrder 366 - Labels [0, 0] - SrcBlock " SFunction " - SrcPort 2 - DstBlock "Ki" - DstPort 1 - } - Line { - Name "Kp" - ZOrder 367 - Labels [0, 0] - SrcBlock " SFunction " - SrcPort 3 - DstBlock "Kp" - DstPort 1 - } - Line { - ZOrder 368 - SrcBlock " Demux " - SrcPort 1 - DstBlock " Terminator " - DstPort 1 - } - Line { - ZOrder 369 - SrcBlock " SFunction " - SrcPort 1 - DstBlock " Demux " - DstPort 1 - } - } - } - Block { - BlockType Scope - Name "Scope" - SID "813" - Ports [2] - Position [20, 256, 50, 289] - ZOrder 365 - Commented "on" - ScopeSpecificationString "Simulink.scopes.TimeScopeBlockCfg('CurrentConfiguration', extmgr.ConfigurationSet(extmgr." - "Configuration('Core','General UI',true),extmgr.Configuration('Core','Source UI',true),extmgr.Configuration('Sources" - "','WiredSimulink',true,'DataLoggingVariableName','ScopeData1'),extmgr.Configuration('Visuals','Time Domain',true,'S" - "erializedDisplays',{struct('MinYLimReal','-15.34195','MaxYLimReal','161.74389','YLabelReal','','MinYLimMag','0.0000" - "0','MaxYLimMag','161.74389','LegendVisibility','off','XGrid',true,'YGrid',true,'PlotMagPhase',false,'AxesColor',[0 " - "0 0],'AxesTickColor',[0.686274509803922 0.686274509803922 0.686274509803922],'ColorOrder',[1 1 0.0666666666666667;0" - ".0745098039215686 0.623529411764706 1;1 0.411764705882353 0.16078431372549;0.392156862745098 0.831372549019608 0.07" - "45098039215686;0.717647058823529 0.274509803921569 1;0.0588235294117647 1 1;1 0.0745098039215686 0.650980392156863]" - ",'Title','%','LinePropertiesCache',{{}},'UserDefinedChannelNames',{{}},'NumLines',2,'LineNames',{{'Sum" - "3','GenSpeedF'}},'ShowContent',true,'Placement',1)},'DisplayPropertyDefaults',struct('MinYLimReal','-15.34195','Max" - "YLimReal','161.74389','YLabelReal','','MinYLimMag','0.00000','MaxYLimMag','161.74389','LegendVisibility','off','XGr" - "id',true,'YGrid',true,'PlotMagPhase',false,'AxesColor',[0 0 0],'AxesTickColor',[0.686274509803922 0.686274509803922" - " 0.686274509803922],'ColorOrder',[0.0745098039215686 0.623529411764706 1;1 0.411764705882353 0.16078431372549;1 1 0" - ".0666666666666667;0.717647058823529 0.274509803921569 1;0.392156862745098 0.831372549019608 0.0745098039215686;0.05" - "88235294117647 1 1;1 0.0745098039215686 0.650980392156863])),extmgr.Configuration('Tools','Plot Navigation',true),e" - "xtmgr.Configuration('Tools','Measurements',true,'Version','2018b')),'Version','2018b','Position',[1 1 441 373],'Vis" - "ibleAtModelOpen','on')" - NumInputPorts "2" - Floating off - } - Block { - BlockType Scope - Name "Scope1" - SID "413" - Ports [1] - Position [815, 289, 845, 321] - ZOrder 316 - Commented "on" - ScopeSpecificationString "Simulink.scopes.TimeScopeBlockCfg('CurrentConfiguration', extmgr.ConfigurationSet(extmgr." - "Configuration('Core','General UI',true),extmgr.Configuration('Core','Source UI',true),extmgr.Configuration('Sources" - "','WiredSimulink',true,'DataLoggingVariableName','ScopeData1'),extmgr.Configuration('Visuals','Time Domain',true,'S" - "erializedDisplays',{struct('MinYLimReal','-0.02964','MaxYLimReal','0.31037','YLabelReal','','MinYLimMag','0.00000'," - "'MaxYLimMag','0.31037','LegendVisibility','off','XGrid',true,'YGrid',true,'PlotMagPhase',false,'AxesColor',[0 0 0]," - "'AxesTickColor',[0.686274509803922 0.686274509803922 0.686274509803922],'ColorOrder',[1 1 0.0666666666666667;0.0745" - "098039215686 0.623529411764706 1;1 0.411764705882353 0.16078431372549;0.392156862745098 0.831372549019608 0.0745098" - "039215686;0.717647058823529 0.274509803921569 1;0.0588235294117647 1 1;1 0.0745098039215686 0.650980392156863],'Tit" - "le','%','LinePropertiesCache',{{}},'UserDefinedChannelNames',{{}},'NumLines',1,'LineNames',{{'Integral" - "'}},'ShowContent',true,'Placement',1)},'DisplayPropertyDefaults',struct('MinYLimReal','-0.02964','MaxYLimReal','0.3" - "1037','YLabelReal','','MinYLimMag','0.00000','MaxYLimMag','0.31037','LegendVisibility','off','XGrid',true,'YGrid',t" - "rue,'PlotMagPhase',false,'AxesColor',[0 0 0],'AxesTickColor',[0.686274509803922 0.686274509803922 0.686274509803922" - "],'ColorOrder',[0.0745098039215686 0.623529411764706 1;1 0.411764705882353 0.16078431372549;1 1 0.0666666666666667;" - "0.717647058823529 0.274509803921569 1;0.392156862745098 0.831372549019608 0.0745098039215686;0.0588235294117647 1 1" - ";1 0.0745098039215686 0.650980392156863])),extmgr.Configuration('Tools','Plot Navigation',true,'OnceAtStop',false,'" - "PreviousZoomMode','ZoomX'),extmgr.Configuration('Tools','Measurements',true,'Version','2018b')),'Version','2018b','" - "Position',[1 1 441 373],'VisibleAtModelOpen','on')" - NumInputPorts "1" - Floating off - } - Block { - BlockType Sum - Name "Sum" - SID "402" - Ports [2, 1] - Position [135, 334, 175, 421] - ZOrder 251 - ShowName off - Inputs "+-" - InputSameDT off - OutDataTypeStr "Inherit: Inherit via internal rule" - SaturateOnIntegerOverflow off - } - Block { - BlockType Sum - Name "Sum1" - SID "403" - Ports [2, 1] - Position [850, 385, 870, 405] - ZOrder 279 - ShowName off - IconShape "round" - Inputs "|++" - InputSameDT off - OutDataTypeStr "Inherit: Inherit via internal rule" - SaturateOnIntegerOverflow off - } - Block { - BlockType Sum - Name "Sum3" - SID "656" - Ports [2, 1] - Position [-230, 345, -210, 365] - ZOrder 354 - ShowName off - IconShape "round" - Inputs "-+|" - InputSameDT off - OutDataTypeStr "Inherit: Inherit via internal rule" - SaturateOnIntegerOverflow off - } - Block { - BlockType ToWorkspace - Name "To Workspace" - SID "412" - Ports [1] - Position [380, 260, 440, 290] - ZOrder 315 - BackgroundColor "[1.000000, 0.411765, 0.160784]" - VariableName "SpdErr" - MaxDataPoints "inf" - SaveFormat "Timeseries" - Save2DSignal "3-D array (concatenate along third dimension)" - FixptAsFi on - SampleTime "-1" - } - Block { - BlockType ToWorkspace - Name "To Workspace1" - SID "405" - Ports [1] - Position [860, 575, 920, 605] - ZOrder 295 - BackgroundColor "[1.000000, 0.411765, 0.160784]" - VariableName "PC_params" - MaxDataPoints "inf" - SaveFormat "Structure" - Save2DSignal "3-D array (concatenate along third dimension)" - FixptAsFi on - SampleTime "-1" - } - Block { - BlockType ToWorkspace - Name "To Workspace2" - SID "537" - Ports [1] - Position [185, 220, 245, 250] - ZOrder 324 - BackgroundColor "[1.000000, 0.411765, 0.160784]" - VariableName "Omega_bg_ref" - MaxDataPoints "inf" - SaveFormat "Timeseries" - Save2DSignal "3-D array (concatenate along third dimension)" - FixptAsFi on - SampleTime "-1" - } - Block { - BlockType Outport - Name "BldPitch" - SID "407" - Position [1560, 388, 1590, 402] - ZOrder -15 - BackgroundColor "lightBlue" - IconDisplay "Port number" - } - Line { - ZOrder 1 - SrcBlock "Multiply" - SrcPort 1 - Points [10, 0] - DstBlock "Sum1" - DstPort 2 - } - Line { - ZOrder 2 - SrcBlock "Integral" - SrcPort 1 - Points [36, 0] - Branch { - ZOrder 242 - Points [0, -90] - DstBlock "Scope1" - DstPort 1 - } - Branch { - ZOrder 241 - DstBlock "Sum1" - DstPort 1 - } - } - Line { - ZOrder 4 - SrcBlock "Pitch GS" - SrcPort 1 - Points [62, 0; 0, -20] - Branch { - ZOrder 335 - Points [87, 0; 0, 80] - DstBlock "Mux" - DstPort 3 - } - Branch { - ZOrder 281 - Points [0, -105] - DstBlock "Integral" - DstPort 2 - } - } - Line { - ZOrder 7 - SrcBlock "Pitch GS" - SrcPort 2 - Points [105, 0; 0, -55] - Branch { - ZOrder 337 - Points [73, 0; 0, 80] - DstBlock "Mux" - DstPort 4 - } - Branch { - ZOrder 330 - Points [0, -50] - DstBlock "Multiply" - DstPort 2 - } - } - Line { - ZOrder 10 - SrcBlock "Mux" - SrcPort 1 - Points [3, 0; 0, 10] - DstBlock "To Workspace1" - DstPort 1 - } - Line { - ZOrder 490 - SrcBlock "Sum1" - SrcPort 1 - Points [219, 0] - Branch { - ZOrder 494 - Points [0, 365] - DstBlock "Delay" - DstPort 1 - } - Branch { - ZOrder 493 - DstBlock "BldPitch" - DstPort 1 - } - } - Line { - ZOrder 378 - SrcBlock "Sum3" - SrcPort 1 - Points [114, 0] - Branch { - ZOrder 539 - Points [0, -90] - DstBlock "Scope" - DstPort 1 - } - Branch { - ZOrder 538 - Points [199, 0] - Branch { - ZOrder 182 - Points [0, -120] - DstBlock "To Workspace2" - DstPort 1 - } - Branch { - ZOrder 181 - DstBlock "Sum" - DstPort 1 - } - } - } - Line { - ZOrder 12 - SrcBlock "GenSpeedF" - SrcPort 1 - Points [128, 0] - Branch { - ZOrder 541 - Points [0, -120] - DstBlock "Scope" - DstPort 2 - } - Branch { - ZOrder 540 - DstBlock "Sum" - DstPort 2 - } - } - Line { - ZOrder 372 - SrcBlock "Compare\nTo Zero1" - SrcPort 1 - DstBlock "Multiply3" - DstPort 1 - } - Line { - ZOrder 383 - SrcBlock "Del_omega_g" - SrcPort 1 - Points [42, 0] - Branch { - ZOrder 384 - Points [0, -15] - DstBlock "Compare\nTo Zero1" - DstPort 1 - } - Branch { - ZOrder 374 - Points [0, 20] - DstBlock "Multiply3" - DstPort 2 - } - } - Line { - ZOrder 379 - SrcBlock "Multiply3" - SrcPort 1 - Points [65, 0] - DstBlock "Sum3" - DstPort 1 - } - Line { - ZOrder 455 - SrcBlock "omega_g,ref" - SrcPort 1 - DstBlock "Sum3" - DstPort 2 - } - Line { - ZOrder 456 - SrcBlock "Constant1" - SrcPort 1 - DstBlock "Pitch GS" - DstPort 2 - } - Line { - ZOrder 457 - SrcBlock "Constant2" - SrcPort 1 - DstBlock "Pitch GS" - DstPort 3 - } - Line { - ZOrder 458 - SrcBlock "Constant3" - SrcPort 1 - DstBlock "Pitch GS" - DstPort 4 - } - Line { - ZOrder 495 - SrcBlock "Delay" - SrcPort 1 - Points [-209, 0; 0, -250] - DstBlock "Pitch GS" - DstPort 1 - } - Line { - ZOrder 512 - SrcBlock "Min Pitch" - SrcPort 1 - Points [132, 0; 0, -108; 687, 0; 0, -67] - DstBlock "Integral" - DstPort 3 - } - Line { - ZOrder 542 - SrcBlock "Sum" - SrcPort 1 - Points [172, 0] - Branch { - ZOrder 42 - Points [0, -105] - DstBlock "To Workspace" - DstPort 1 - } - Branch { - ZOrder 41 - Points [98, 0] - Branch { - ZOrder 26 - Points [0, 75; 312, 0] - Branch { - ZOrder 336 - Points [0, 105] - DstBlock "Mux" - DstPort 2 - } - Branch { - ZOrder 331 - DstBlock "Multiply" - DstPort 1 - } - } - Branch { - ZOrder 29 - DstBlock "Integral" - DstPort 1 - } - } - } - Annotation { - SID "612" - Name "\n