Coupled Clutches: Analyze a Drivetrain

Introduction

By coupling clutches together, a variable structure drivetrain can be achieved. With different clutches engaged at different times, torque is supplied to different parts of the system.

Explore the available scenarios by evaluating each cell in order. Evaluation is done by selecting a cell and pressing Shift+Enter.

In order to get the full experience of this example, you need the following:

Wolfram System Modeler; a free trial download is available at www.wolfram.com/system-modeler

The model that came in the same bundle as this notebook

For more information about Wolfram System Modeler, visit www.wolfram.com/system-modeler.

Initialize

Define the model name:

model="EducationExamples.MechanicalEngineering.CoupledClutches.CoupledClutchesModel";
clutchModel="EducationExamples.MechanicalEngineering.CoupledClutches.Components.Clutches";

Model

A good way to start is by looking at the model diagram:

SystemModel[clutchModel,{"Diagram",Frame->False,ImageSize->Large}]

The model consists of a series of coupled inertia components separated by clutches between them. When a clutch is engaged, friction will be present between two adjacent inertia components, causing them to transfer momentum to each other. The first and the last inertia components are damped by rotational dampers, and a constant torque is applied to the first inertia.

From left to right, the first two clutches are timed so that they disengage after 15 seconds and engage after 5 seconds, respectively. The third clutch can be controlled by user input. On the top level, that user input is also connected to a timer, engaging the clutch after 10 seconds:

SystemModel[model,{"Diagram",Frame->False,ImageSize->Large}]

Simulation

First, see how the system behaves without any changes. Calling the SystemModelPlot function without any arguments will bring up the default plot (please note that you will need System Modeler Version 12.3 or higher):

SystemModelPlot[model,PlotRange->All,ImageSize->Large]

The plot shows the angular velocities of the different parts of the coupled clutches. At different times, different clutches are pressed together to transfer momentum from one inertia component to an adjacent one.

Initial Values

You can change the initial rotational speed of one of the inertia components. To do this, evaluate the following command and set the template cells variableName to “clutches.J3.w” and "initialValue" to 10, then evaluate the resulting expressions:

sim=SystemModelSimulate[model,<|"InitialValues"->{"variableName"->"initialValue"}|>]

Plot the model response:

SystemModelPlot[sim]

You can list all the Model plots with the “PlotNames” argument:

sim["PlotNames"]

Parameter Values

You can also change parameter values. Set the template cells parameterName to “T1” and "parameterValue" to 0.

Simulate with a changed parameter:

sim=SystemModelSimulate[model,<|"ParameterValues"->{"parameterName"->"parameterValue"}|>]

Plot the model response:

SystemModelPlot[sim]

The parameter “T1” sets the time when the first clutch is disengaged. If set to 0, as in the preceding example, the momentum will never be transferred to the other inertia components.

Run a Parameter Sweep

To compare the response to different parameter values, you can do a parameter sweep.

Set the template cell parameterName to “d” and inside the Range command, set "imin" to 0.5, "imax" to 2 and "di" to 0.5. Also set variableName to “clutches.J1.w”.

Run with a range of parameter values:

sim=SystemModelSimulate[model,<|"ParameterValues"->{"parameterName"->Range["imin","imax","di"]}|>];

Compare a variable from all simulations:

SystemModelPlot[sim]

The parameter “d” corresponds to the damping constant affecting the first and the last inertia components. The less damping there is, the higher the rotational velocity of the system.

Fourier Analysis

By applying a sinusoidal function to the last clutch, a pattern emerges that can be studied using Fourier analysis. First, simulate the model with a sinusoidal input function:

sim=SystemModelSimulate[clutchModel,120,<|"Inputs"->{"u"->( Function[t,0.5 + 0.5*Sum[(1/(j^1.5))*Sin[j^2 t], {j, 1, 12}]])}|>]

The response on the angular acceleration of the last inertia can be seen with the following command:

SystemModelPlot[sim, {"J4.a"},ImageSize->Large]

Set variableName to “J1.a”.

Calculate the FFT of a Signal

Sample a variable:

nSamples=Length[sim["Samples"]];

If[OddQ[nSamples],nSamples++];

sampleInterval=((sim["SimulationLength"])/nSamples);

data=Table[Evaluate[sim[{"variableName"},t][[1]]],{t,sampleInterval,nSamples sampleInterval,sampleInterval}];

Compute the FFT:

ssf=RotateRight[((Range[-(nSamples/2),(nSamples/2)-1])/(nSamples sampleInterval)),(nSamples/2)];

fft=Fourier[data,FourierParameters->{1,-1}];

Plot the amplitude:

ListLinePlot[Abs[Transpose[{ssf,(fft/nSamples)}]],PlotRange->{{0,2},All},AxesLabel->{"Hz","Amplitude"}]

Terms and Conditions of Use

This domain example is an informational resource made freely available by Wolfram Research.

Use of This Example

• You may not use this example for any purpose that is unlawful or dangerous.
• You assume total responsibility and risk for your use of this example.
• You may not present this example with any alteration to its trade dress, trademarks, or design.

License

All content in this bundle is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. By accessing the content or using it in any way, you accept and agree to be bound by the terms of this license. If you do not agree to these Terms of Use, you may not use this content. Wolfram Research reserves the right to change, modify, add to, or remove portions of these Terms of Use at any time without notice. Please refer back to www.wolfram.com for the latest Terms of Use.

A summary of the licensing terms can be found at:
http://creativecommons.org/licenses/by-nc-sa/3.0

The full legal code can be found at: 
http://creativecommons.org/licenses/by-nc-sa/3.0/legalcode