GENERAL INFORMATION
-------------------

1. Dataset Title: 

	E001 - Stiffness and Hinge Release Study (October 2021)
	

2. Authorship: 

	Name:  Xavier Carrillo Córcoles
	Institution:  Delft University of Technology, Faculty of Aerospace engineering, Aerospace Structures and Computational Mechanics
	Email:  X.CarrilloCorcoles@tudelft.nl
	ORCID:  0000-0003-3503-3999


DESCRIPTION
-----------

1. Abstract:
	
	Dataset from an aeroelastic wind tunnel study. Five wings with a flared folding wingtip, featuring different stiffness properties, are tested in static and dynamic conditions (1-cosine gusts)
	to asses their gust load alleviation capabilities. The dataset includes:
		- Static measurements: 10 seconds (for statistical evaluation) at different angles of attack (AoA) in both free-hinge and locked-hinge conditions.
		- Dynamic measurements: measurements for 1-cosine gusts at different AoA, gust frequency and hinge release thresholds. 
		- Matlab scripts to read and process the raw data
	 

2. Keywords:

	Flared folding wingtips
	Gust load alleviation
	Aeroelastic tailoring
	Wind tunnel data
	Aerodynamic Efficiency
	 

3. Date of data collection:

	October 11th 2021 - October 20th 2021


4. Date of dataset publication:
	
	See 4TU.ResearchData citation metadata


5. Funding: 
	
	Delft University of Technology


ACCESS INFORMATION
------------------

1. Creative Commons License of the dataset:

	This work is licensed under the Creative Commons Attribution 4.0 International License. 
	To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.


2. Dataset DOI:

	https://doi.org/10.4121/20222334


VERSIONING AND PROVENANCE
-------------------------

1. Last modification date:

	July 4th 2022


2. Was data derived from another source? If yes, which source?
	
	The data was not derived from any other source


METHODOLOGICAL INFORMATION
--------------------------

1. Description of data collection methods:

	Test setup presented in:
		- R1: Wing Stiffness and Hinge Release Threshold Effects on Folding Wingtip Gust Load Alleviation - https://doi.org/10.2514/6.2022-1559
		- R2: Effect of Wing Stiffness and Folding Wingtip Release Threshold on Gust Loads - https://doi.org/10.2514/1.C037108

	Wing models:
		- Wing models described in references R1 (Section III) and R2 (Section III).
		- Wing featuring a flared folding wingtip and a hinge mechanism to lock/release the wingtip at the desired instant.
		- 3D printed structure covered in hot shrinking foil to give the aerodynamic shape
		- Main load bearing element: carbon fibre prepreg laminate glued inside the 3D printed shape.
		- 5 wings: each wing with a different carbon fibre laminate (i.e. different structural properties)	

	Experimental procedure:
		- Static cases: measurement of 10 seconds at given condition (Wing, AoA and hinge condition). Afterwards, measurement is averaged and standard deviation is computed.
		- Dynamic cases: 10 1-cosine gusts in a row are measured at given condition (Wing, AoA, gust frequency, hinge release threshold). Afterwards, the measurements are averaged.
				 Each .txt files contains the measurements for 10 gusts.

	Data measurements:
		- Fold angle: potentiometer at the hinge. Measurement of voltage signal [V] and converted into angle [deg] using calibration constants.
		- Wing root bending moment: strain gauges at the root. Measurement of differential voltage signals [V] and converted into moments [N.mm] using calibration constants.
		- Main wing outboard motion: accelerometers at outboard positions (~450 from root, 0.25c and 0.6c). Measurement of electrical voltage signal [V] and converted to accelerations with calibration constants.
		- Trigger signal: trigger signal from gust generator. Step signal of ~6ms used as reference for gust start. Voltage signal [0V,3V].
		- Actuator position: voltage signal from Arduino. Binary voltage signal [0V/5V] indicating [Unlocked/Locked] hinge

	Data collection:
		- Siemens SCADAS Mobile: collection of electrical signals and transfer to Ethercat master (cRIO-9074).
		- National Instruments cRIO-9074: read data from SCADAS, conversion to engineering units and saving data into .txt files.
		- Arduino UNO: control of actuator and generation of actuator position signal to be read by SCADAS.


2. Methods for processing the data: 

        Matlab scripts to read and process the raw data files.


3. Instrument- or software- specific information (incl. software version) needed to interpret the data:

	Raw data files shared as .txt files
	To read and process the files, matlab scripts are shared (Matlab R2022a)



FILE OVERVIEW
-------------

1. Explain the file naming convention, if applicable:

	Two shared folders:

	- Data_reading
		Description:
		Folder containing all the raw data files and the scripts required to automatically read the files
		
		Matlab functions:
			Reading.m : ready to use, reads all the folders (see data structure) and creates output files
				|
				|__ Input: -
				|__ Output: 
				|	|__"Test_mat.mat": matlab data file containing all the raw data
				|	|__"Summary.xlsx": summary excel table containing a summary of test cases processed
				|
				|__ Subfunctions:
					|	NOTE: "function.m" and "function_tail.m" are the same but treated differently due to name convention for tailored plates
					|
					|__"Static.m"/"Static_tail.m": function to read static cases
					|__"Gusts.m"/"Gusts_tail.m": function to read gust cases
						|__"ReadFolder.m"/"ReadFolder_tail.m": function to read all files in a specific folder within dynamic

		Data structure:
		Plate folder [Plate A, Plate B, Plate C, Plate B Right, Plate B Left]
		     |
		     |___ Case folder [Static, Dynamic]
				|
				|___ Static
				|	|__ N files following name convention:
				|		Plate_X_Speed_V_Condition_Alpha_A_Date&Time.txt
				|			- X: [A,B,C,B_Right,B_Left]
				|			- V: 10 (10 m/s)
				|			- Condition: [Free, Locked]
				|			- A: [-4, -2, 0, 2, 4, 6, 8, 10, 14]
				|			- Date&Time: format YYMMDD_hhmmss
				| 		File Headers:
				|			- Time [s]: timestamp of the measurement. t=0 when trigger is issued
				|			- Pot [V]: electrical signal from the potentiometer
				|			- Pot [º]: position of the potentiomete, converted from electrical signal
				|			- AF [V]: electrical signal from the front (0.25c) accelerometer
				|			- AF_f [V]: filtered electrical signal from the front (0.25c) accelerometer
				|			- AR [V]: electrical signal from the rear (0.6c) accelerometer
				|			- AR_f [V]: filtered electrical signal from the rear (0.6c) accelerometer
				|			- SC [mV]: electrical signal from the central strain gauge bridge (from center to leading edge)
				|			- SF [mV]: electrical signal from the front strain gauge bridge (parallel to spanwise direction)
				|			- SR [mv]: electrical signal from the rear strain gauge bridge (from center to trailing edge)
				|			- Bending [N-mm]: bending moment, conerted from strain gauge measurements using calibration constants
				|			- Servo: binary signal to recognize servo control signal. See "Methodogical information-> 1. Description... -> Data Measurements: Actuator position"
				|			- Trigger [V]: Electrical signal used as trigger. See "Methodogical information-> 1. Description... -> Data Measurements: Trigger signal"
				|
				|
				|___ Dynamic
					|
					|___ Angle of attack folder [A0, A5] 
						|
						|___ Gust frequency folder [F05, F5, F8, FBend, FFlap]
							|__ N files following name convention:
								 Plate_X_Condition_FF_Date&Time.txt
									- X: [A,B,C,B_Right,B_Left]
									- Condition: [Free, Locked, Pre, Rel0, Rel50, Rel100]
										Related to (Free condition, locked condition, Pre-released wingtip, Released at 0% peak load, Released at 50% peak load, Released at 100% peak load)
									- FF: [05Hz, 5Hz, 8Hz, LockedFreq, FreeFreq]
									- Date&Time: format YYMMDD_hhmmss
						 		File Header: same as for files in Static directory 

		Note on File headers: Due to an error in the data acquisition program, the row with the file headers includes a row of zeros (see example). The matlab files already account for this error. Take this into account when processing the .txt files with different programs.
				Example: 
					Time [s], Pot [V], Pot [º], AF [V], AF_f [V], AR [V], AR_f [V], SC [mV], SF [mV], SR [mv], Bending [N-mm], Servo, Trigger [V]0.000000,0.000000,-118.823077,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,-0.000000,0.000000,0.000000

		Note on last data points of each file: Due to a buffer issue, the last samples of each file (static and dynamic) are not properly saved. The matlab scripts exlude them from the statistical analysis. Take this into account when processing the .txt files with different programs.			
							
	- Data_processing
		Description: 
		Uses output data from "Reading.m" and creates a processed data table, using calibration functions.

		Instructions for use:
		Copy "Test_mat.mat" (generated after running "Reading.m") into "Data_processing" folder. Run "Processing.m"

		Matlab functions:
			Processing.m : ready to use, reads all the folders (see data structure) and creates output files
				|
				|__ Input: "Test_mat.mat": data file output from "Reading.m"
				|__ Output: 
					|__"Processed_Mat.mat": matlab data file containing all the processed data

		Explanation of data structure "Processed_Mat.mat":
			File containing "Cm_res" and "Results
				|
				|__ Cm_res (i,j,k,z,y): Table saving bending moment summary results
				|	|__ i: index for wing (1- Wing A, 2- Wing B, 3- Wing C, 4- Wing B_right, 5- Wing B_Left)
				|	|__ j: index for angle of attack (1- AoA=0, 2- AoA=5)
				|	|__ k: index for gust frequency (1- 0.5Hz, 2- 5Hz, 3- 8Hz, 4- 1st Bending nat. freq., 5- 1st Flapping nat. freq.)
				|	|__ z: index for release condition (1- Free, 2- Locked, 3- Pre, 4- Rel0, 5- Rel100, 6- Rel50)
				|	|__ y: index for saving results:
				|		- y=1: Average load before release (steady state)
				|		- y=2: Average load after gust (steady state)
				|		- y=3: Maximum load
				|		- y=4: Minimum load
				|
				|__ Results(i) : Data structure saving all the data read from the .txt files
					|	i: index for wing (1- Wing A, 2- Wing B, 3- Wing C, 4- Wing B_right, 5- Wing B_Left)
					|__ Results(i).plate: name of wing assigned to 'i'
					|__ Results(i).Polar: static cases results
					|	|__ "headers": 1x13 cell. contains the headers of the tables containing the data
					|	|__ "free" and "locked": 2 x 13 x k tables [i,j,k]
					|	|		i = 1 : Average value of given column from raw data// i = 2 : Standard deviation of given column from raw data
					|	|		j : columns containing the different measured signals. Columns corresponding to "headers"
					|	|		k : index for the angle of attack measured
					|	|__ "free_proc" and "locked_proc": 2 x 3 x k tables [i,j,k] (values after converting to bending moment)
					|	|		i = 1 : Average value of given column from raw data// i = 2 : Standard deviation of given column from raw data
					|	|		j : columns containing the different measured signals. (j=1: AoA[deg], j=2: fold angle [deg], j=3: bending moment coefficient[-])
					|	|		k : index for the angle of attack measured
					|	|__ "inter_F" and "inter_L": 2 x 1 table. Contains constants of linear regression (y = mx + n). First term is "m" and second term is "n" (L: Locked, F: Free)
					|
					|__ Results(i).Dynamic(j): dynamic cases results
						|	j: index for Angle of Attack (1- 0 deg, 2- 5 deg). 
						|__ "Results(i).Dynamic(j).AoA": contains the string with the AoA
						|__ "Results(i).Dynamic(j).results(k)": contains the results at a given AoA
							|	k: index for gust frequency (1- 0.5Hz, 2- 5Hz, 3- 8Hz, 4- 1st Bending nat. freq., 5- 1st Flapping nat. freq.). 
							|__ "Results(i).Dynamic(j).results(k).results(z)": contains the results at a given AoA 
								|	z: index for release condition (1- Free, 2- Locked, 3- Pre, 4- Rel0, 5- Rel100, 6- Rel50).
								|	y: number of samples used for each specific condition. Samples are filtered ignoring those gusts with sampling errors
								|__ "Results(i).Dynamic(j).results(k).results(z).release": 1x2 table containing the index of the average release within the results and the associated time.[index, time]
								|__ "Results(i).Dynamic(j).results(k).results(z).headers": 1x13 cell. contains the headers of the tables containing the data
								|__ "Results(i).Dynamic(j).results(k).results(z).SR": y x 1 table containing the sampling rates (SR) of the yth used gust measurements.
								|__ "Results(i).Dynamic(j).results(k).results(z).results": 1750 x 13 x y table containing the measurements of each yth gust.
								|__ "Results(i).Dynamic(j).results(k).results(z).proc_headers": 1 x 7 cell. contains the headers of the tables containing the data after averaging between samples
								|__ "Results(i).Dynamic(j).results(k).results(z).average": 1750 x 7 table. contains the instantaneous average signal (over the y samples)
								|__ "Results(i).Dynamic(j).results(k).results(z).average": 1750 x 7 table. contains the instantaneous standard deviation of the signal (over the y samples)
								|__ "Results(i).Dynamic(j).results(k).results(z).SR_mean": average sampling rate over the y gust samples
