MATLAB Examples

Assess the Damping Ratio of a Flutter Suppression System

Use a custom criteria script to verify the damping ratio in a test case that simulates the flutter suppression system of a wing.

Contents

The Simulation and Model

The model uses Simscape™ to simulate a Benchmark Active Controls Technology (BACT) / Pitch and Plunge Apparatus (PAPA) setup. It uses Aerospace Blockset™ to simulate arodynamic forces on the wing.

The test iterates over 16 combinations of Mach and Altitude. The test case uses custom criteria with Curve Fitting Toolbox™ to find the peaks of the wing pitch, and determine the damping ratio. If the damping ratio is not greater than zero, the assessment fails.

Running this test case requires

  • Simulink® Test™
  • Simscape Multibody™
  • Aerospace Blockset™
  • Curve Fitting Toolbox™

Open the model and the test file.

open_system(fullfile(matlabroot,'examples','simulinktest',...
    'sltestFlutterSuppressionSystemExample.slx'))
open(fullfile(matlabroot,'examples','simulinktest',...
    'sltestFlutterCriteriaTest.mldatx'))

Custom Criteria Script

The test case custom criteria uses this script to verify that the damping ratio is greater than zero.

% Get time and data for pitch
Time = test.sltest_simout.get('sigsOut').get('pitch').Values.Time(1:15000);
Data = test.sltest_simout.get('sigsOut').get('pitch').Values.Data(1:15000);
% Find peaks
[~, peakIds] = findpeaks(Data,'minpeakheight', 0.002, 'minpeakdistance', 50);
peakTime= Time(peakIds);
peakPos = Data(peakIds);
rn = peakPos(1)./peakPos(2:end);
L = 1:length(rn);
% Do curve fitting
fittedModel = exponentialFitAndPlot(L, rn);
delta = fittedModel.d;
% Find damping ratio
dRatio = delta/sqrt((2*pi)^2+delta^2);
% Make sure damping ratio is greater than 0
test.verifyGreaterThan(dRatio,0,'Damping ratio must be greater than 0');

Test Results

Running the test case returns two conditions in which the damping ratio is greater than zero.

results = sltest.testmanager.run
results = 

  ResultSet with properties:

                   Name: 'Results: 2017-Jul-31 21:13:26'
              NumPassed: 14
              NumFailed: 2
            NumDisabled: 0
          NumIncomplete: 0
               NumTotal: 16
     NumTestCaseResults: 0
    NumTestSuiteResults: 0
     NumTestFileResults: 1
                Outcome: Failed
              StartTime: '2017-Jul-31 21:13:26'
               StopTime: '2017-Jul-31 21:16:00'
               Duration: 154
        CoverageResults: []
                Release: ''

The wing pitch plots from iteration 12 and 13 show the difference between a positive damping ratio (iteration 12) and a negative damping ratio (iteration 13).

sltest.testmanager.close
close_system('sltestFlutterSuppressionSystemExample.slx',0)