You are on page 1of 47

SDTPrimer

UniversityofBristol

Structural Dynamics Toolbox Primer


Originally by : Prof N.A.J. Lieven Department of Aerospace Engineering, University of Bristol Revised by : Jean Michel Leclre, Jean Philippe Bianchi SDTools REVISED FOR SDT 6

1/47

SDTPrimer

UniversityofBristol

FEModelling...............................................................................................................4
1.1 SDTdatastructure ................................................................................................ 5 1.2 Viewingmodelwithfeplot .................................................................................. 5 1.3 Meshingandmodelmanipulations.................................................................... 5 1.3.1 Explicitdefinition.............................................................................................. 5 1.3.2 FunctionalDefinition ....................................................................................... 7 1.4 Elements ............................................................................................................... 13 1.4.1 Rigidelements................................................................................................. 13 1.4.2 Masselements ................................................................................................. 14 1.4.3 ElementPropertyManipulation ................................................................... 14 1.4.4 Shelland3Delements .................................................................................... 15 1.5 Materialandelementproperties....................................................................... 15 1.5.1 MaterialProperties ......................................................................................... 15 1.5.2 SectionProperties ........................................................................................... 16 1.6 Loadsandboundaryconditions ....................................................................... 18 1.6.1 BoundaryConditions ..................................................................................... 18 1.7 Solving .................................................................................................................. 20 1.8 Postprocessing.................................................................................................... 23 1.8.1 feplot ................................................................................................................. 23 1.8.2 iiplot.................................................................................................................. 25 1.9 SDTmeshingexample........................................................................................ 25

Testing................................................................................................................27
2.1 TestPreparation .................................................................................................. 27 2.1.1 Sensorsandexcitation.................................................................................... 27 2.1.2 Impactexcitation............................................................................................. 28 2.1.3 Shakerexcitation ............................................................................................. 29 2.1.4 Sensorlocation ................................................................................................ 29 2.1.5 Wireframemodel ........................................................................................... 32 2.2 Testing................................................................................................................... 37 2.3 Modalextraction ................................................................................................. 37 2.3.1 XFarray ............................................................................................................ 37 2.3.2 iiplot.................................................................................................................. 38 2.3.3 SDOFpeakamplitudemethod..................................................................... 39 2.3.4 Modalmodel ................................................................................................... 41 2.4 Testdatavisualisation ........................................................................................ 41 2.4.1 Deformationarraydef...................................... Erreur!Signetnondfini. 2.4.2 Wireframeplot .................................................... Erreur!Signetnondfini. 2.5 SDTmodalidentificationexample ................................................................... 42

Correlation.........................................................................................................44
3.1 ModalAssuranceCriteria(MAC)..................................................................... 44 3.1.1 AutoMAC........................................................................................................ 45 3.1.2 StandardMAC ................................................................................................ 45 3.1.3 COMAC............................................................................................................ 45 3.1.4 eCOMAC.......................................................................................................... 45 3.2 ii_mac .................................................................................................................... 46

2/47

SDTPrimer
3.2.1 3.2.2 3.2.3

UniversityofBristol

AutoMAC........................................................................................................ 46 StandardMAC ................................................................................................ 46 COMAC............................................................................................................ 46

3/47

SDTPrimer

UniversityofBristol

FEModelling
ThemeshgeneratedduringconstructionofanFEmodelisamathematical representationofthestructure.FEpackagesallowdefinitionofageometryin theformofnodes,lines,surfaceswhichareusedasaguideduringmeshing. Thereisadistinctdifferencebetweenmodelgeometryandthemodelmesh. Thegeometryofasquarebeamstructurecanbedescribedasfournodes (vertices)orfourlines.Bothdescriptionsareidenticalthesquareisdefined uniquely.
Figure1.1Squarebeamstructureandgeometrydefinition

Themeshisdefinedtoapproximatethebehaviourofthetruestructure.In thiscasebeamelementswouldbethemostsuitable,andwouldbedefined betweenthenodesoralongthelinesdefinedbythegeometry.Thereis, however,anelementofchoiceandthereforeengineeringjudgementinthis processandthesolutionisnotunique.Themaintradeoffduringmeshingis betweentheaccuracyrequiredandthecomputationalexpense. Oncemeshed,boundaryconditionsaredefinedtosimulatethemodel interactionswithoutsideinfluencessuchasaloadorarigidattachment andarestoredasacase.Thecasealongwiththegeometryandmeshmakeup themodel.Themodelcanthenbesolved,andthedesiredoutputextracted. GEOMETRY SOLUTION MESH OUTPUT MODEL CASE
Figure1.2Modelflowchart

4/47

SDTPrimer

UniversityofBristol

1.1 SDTdatastructure
AlldatainSDTarestoredinMatlabdatastructures.AFEmodelisaMatlab datastructurecontainingfields(seesdtweb('model')) Node matrixdescribingthemodelnodes Elt matrixoftheelementconnectivity pl matrixofmaterial il matrixofelementproperties Stack cellarraycontainingallotherinformation.

1.2 Viewingmodelwithfeplot
Thefeplotfunctiondealswithmodelviewing.cf=feplot(model) initializestheFEmodeldisplayedinthecurrentfigure.Thenthefiguremodel canbeaccessviacf.mdl,thestackviacf.Stackandthecasestackviacf.CStack. Thefecomfunctionthengivescommandstohandlewiththevisualization options.Propertiesofmodelmaybeviewedusingfecom(cf,'pro')which opensthefeplotpropertiesfigure(seesdtweb('dfeplot')).

1.3 Meshingandmodelmanipulations
Therearetwoapproachestothedefinitionofthenodalandelemental descriptionmatrices:explicitdefinitionandfunctionaldefinition.Whenusing theformerallnodesandelementsaredeclaredindividuallyandexplicitly. Functionaldefinitiontakesadvantageofcommandswhichallowthe extrusion,repetition,translationofrelativelysimplemodels(suchasthose definedexplicitly),enablingmorecomplexmodelstobeassembled.

1.3.1 Explicitdefinition
Whendefiningnodalandelementaldescriptionmatricesexplicitly,only nodesandelementmatricesarerequiredasallnodesandelementsare definedcollectively.Eachrowinnodeandelementmatricesrepresentsanew nodeorelement. Themeshingofasimpletrussstructurewillbeusedasanexamplefig1.3. 3 2 4 y Node X(m) y(m) z(m) 1 0 0 0 x 2 0 1 0 3 1 1 0 1 5/47

SDTPrimer

UniversityofBristol 2 1 0

Figure1.3trussstructuremesh

Thedatarequiredpernodeis:
model.Node -

[NodeID PID DID GID x y z]

NodeIDnodeidentificationnumber.

PIDcoordinatesystemnumberforposition.

DIDcoordinatesystemnumberfordisplacement.

GIDgroupidentificationnumber.

x,y,zglobalcoordinates.

AtthisstageonlyNodeIDandthecoordinatesarerequired.PID,DIDand GIDareallsettodefaultvaluesofzero.
model.Node=[1 2 3 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 1 1 1 0 0 0 0];

model.Eltcanbeusedtodefineanytypeofelement.Forthetrussexample onlybeamelementsarerequired.Thefirstlineoftheelementdeclaration definesthetypeofelementtobeused.Eachconsecutiverowholdsthedata forasingleelement.


model.Elt - [Element type declaration ; NodeNumbers MatID ProID EltId OtherInfo]

NodeNumbersdependingontheelementtypethenumberofnodes requiredtodefineitwillvary.Forabeamtwonodesarerequired,thestart NodeIDandtheendNodeID(entriesmustbeseparatedbyaspace). MatIDmaterialIDnumberinmodel.pl. ProIDelementproperty(e.g.sectionarea)IDnumberinmodel.il. EltIDelementIDnumberwhichuniquelyidentifieselement. OtherInfoadditionaloptions.

6/47

SDTPrimer

UniversityofBristol

Inthiscaseitcanbeassumedthatallbeamsectionsareidentical.MatIDand ProIDcanbesetto1(onlyonematerialandoneelementpropertyneedbe defined),thepropertiesofwhichwillbediscussedlater.TheEltIDforbeam elementsis7.Examplesofadditionaloptionsarebeamnodeoffsets, orientationofbendingplanesetc.Theyarenotrequiredatthisstage.


model.Elt=[Inf 2 3 1 3 4 1 1 3 1 abs('beam1'); 1 7 0 ; 1 7 0 ; 1 7 0 ];

Agraphicalcheckcanbeperformedusingthefeplotcommandfig1.4.The desiredorientationcanbeselectedfromthefiguretoolbar.
cf0=feplot(model);

Figure1.4SDTplotoftrussmesh

Itisimportanttonoteatthisstagethatthetruenumberofvariablesthatcan beenteredforabeamelementfarexceedsthoseshownhere.Whenusingthe explicitdefinitionofelementsitisessentialthatthedimensionsofallrows andallcolumnsisequalthisincludesthefirstline.Inthecaseofabeamthe commandInf abs('beam1')accommodatessixcolumns.All otherrowsmustthereforehavesixcolumns.Thisiswhytheoptionscolumn, althoughnotbeingused,mustbedefined(aszerointhiscase)iffollowing rowsarelarger.Utilisationoftheadditionaloptionsisfareasierwhenusinga functionaldefinitionofthemodel.

1.3.2 FunctionalDefinition
Itisimpracticaltoexplicitlydefineallbutthesimplestofmodels.Anumber offunctionsareavailableintheSDTwhichallowmanipulationofgroupsof elementsintheassemblyofalargermorecomplexmodel.Thiscanbedonein

7/47

SDTPrimer

UniversityofBristol

apiecemealfashion,withsectionsofthecompletemodelbeingadded consecutivelytotheglobalnodeandelementdescriptionmatricesFEnode (sameformasmodel.Node)andFEelt (sameformasmodel.Elt). EachindividualadditiontothesematricesisdefinedinFEel0andtoalesser extentFEn0.FEn0islessimportantbecausebydefininganelementthe positionofthenodesisimplied,andFEnodeisthusupdatedbyFEel0.The femeshcommandisusedformostactions. feutilisanalternativeforfemeshcommands.Whilefemeshperforms operationsontheglobalvariablesFEnode,FEeltetc.feutildealswith modeldatastructures(modelwithfieldNode,Elt). 1.3.2.1 femeshbasiccommands TheSDTusescommandstringswhichdefinethespecificactionthatthe femesh(seesdtweb('femesh'))functionperforms.
femesh('command string'); femesh('command string1','command string2');

Anumberofcommandscanbegivenwithinasinglefemeshcommand. Separatecommandsmustbeseparatedbyacomma. 1.3.2.1.1 repeatsel Allowsrepetitionoftheselectednodesandelements(thoseinFEn0and FEel0).Requiredinputsarethenumberofrepetitionsrequired(including theoriginal)andthedisplacementvectorinwhichtherepetitionsoccur.


femesh('repeatsel 10 1 0 0');

Theselectednodesandelementswillberepeated10timeswitheach repetitionseparatedby1minthexdirection. 1.3.2.1.2 transel Allowstranslationofselectedelements.Requiresdisplacementvector.


femesh('transel 2 3 1');

Theselectedelementistranslatedbythevector(2,3,1). 1.3.2.1.3 rotatesel

8/47

SDTPrimer

UniversityofBristol

Allowsrotationofselectedelementsaboutdefinedorigin.Requiredinputs areoriginNodeId,angleofrotationandthevectoraboutwhichtherotation takesplace.Ifnovectorisgiventhedefaultvector(zaxis[001])isused.


femesh('rotatesel 1 45 1 0 0');

Selectedcomponentsrotatedby45degreesaboutnode1inthexaxis. 1.3.2.2 femeshexample1 Asimplesquaresectionmadefrombeamelementswillbemanipulatedintoa 3Dtrussasanexampleofthefemeshcommandsfig1.5.

Figure1.53Dtrussmesh

Aninitialdefinitionofthesquaregeometryisrequired.Thisisdoneusingan explicitdefinition.
FEnode=[1 2 3 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 ; ; ; ];

FEel0=[]; FEelt=[];

FEel0=[Inf 1 2 3 4

2 3 4 1

abs('beam1') 1 1 7 1 1 7 1 1 7 1 1 7

0 0 0 0

; ; ; ; ];

FEel0isusedasthemodelshallbebuiltupinpieces.Itisimportanttoreset theFEel0arraytozerobeforeanynewoperationstopreventrepetitionof existingelements.FEeltmustalsobeclearedofalldatafromprevious models. ThoseelementsinthearrayFEel0areautomaticallyselectedfor modification.Theywillbeaddedtotheglobalarrayslaterusingthe femesh('addsel')command. Thefirststepistoproduceonesideofthestructure.Twonodesdefinedatthe samecoordinatebydifferentelementscountsasasinglenode,andthose elementsarejoinedtogether.
femesh('repeatsel 10 1 0 0');

9/47

SDTPrimer
femesh('addsel');

UniversityofBristol

ThearraysFEeltandFEel0willnowcontaininformationforalltensquare sections.
femesh('transel 0 0 1'); femesh('addsel');

ThearrayFEel0nowcontainstheinformationforthetranslatedelements. Thefinalsideofthetrussisobtainedbytranslatingthecurrentselectiontoits originalpositionandthenrotatingitaboutalinethroughtheoriginparallel tothexaxis.


femesh('transel 0 0 1') femesh('rotatesel 0 90 1 0 0'); femesh('addsel'); femesh('plotelt');

Figure1.6SDTplotof3Dtrussmesh

AllelementswillnowbecontainedwithinFEelt. 1.3.2.3 femeshadvancedcommands Thereanumberofmoreadvancedcommandsthatarerequiredasthe complexityofthemodelincreases. 1.3.2.3.1 findnode Selectsagroupofnodesdeterminedbyuserdefinedgeometry.


femesh('findnode x==0 & y>=1');

10/47

SDTPrimer

UniversityofBristol

Allnodeslyingontheline x=0 andwith y>=1wouldbeselected.These nodes,andanynewelementsdefinedbythesenodesbecometheselected nodesandelementsinFEn0andFEel0. 1.3.2.3.2 extrude Allowsextrusionoftheselectedelements.Requiredinputsarenumberof repetitionsoftheextrusionandthedisplacementvectorinwhichthe extrusionsoccur. Extrusionchangestheelementtype: mass beam beam quad quad hexa
femesh('extrude 5 1 0 0');

Iftheselectedcomponentwasamassthentheresultantwouldbe5beam elementseach1mlong,orientatedinthexdirection. Theextrusioncommandreducesthenumberofexplicitelementdefinitions thattheuserhastomake.Forexample,whenmeshingaplatetheexplicit definitionofonlytwonodesisrequired. 1.3.2.3.3 objectbeamline Createsmultipleorsinglebeamsbetweendefinednodes.


femesh('objectbeamline 1:5');

Fourbeamelementswouldbecreated;fromnodes12,23etc. 1.3.2.4 femeshexample2 Thethreecommandslistedabovegreatlyreducethevolumeofcoderequired togeneratelargermeshes.Theexampleofarightangledstiffenerwillbe used.Themeshwillconsistofquad4elements.Eachelementis2x1cm. y x origin


Figure1.7rightangledstiffenermesh

11/47

SDTPrimer
FEnode=[1 2 0 0 0 0 0 0 0 0 0 ; 0 1 0 ];

UniversityofBristol

Twonodesaredefinedatcoordinates(0,0,0)and(0,1,0).Theobjectbeamline commandcannowbeusedtodefineabeamelementrepresentedbythered lineonfig1.7(nodes1and2).


FEelt=[]; FEel0=[]; femesh('objectbeamline 1 2');

Alternativelythedefinitionofthenodescanalsobemadeusingofthe findnodefunction.Asecondfemeshcommandisincludedwithintheoriginal parenthesis.


femesh('objectbeamline',femesh('findnode x==0 & y<=1'));

Thissinglebeamelementcannowbeextrudedintoplateelements.
femesh('extrude 6 2 0 0');

Thesixplateelementsarenowrepeatedintheydirection.Theaddsel commandthenaddsalloftheelementsdefineduptothispointtotheglobal elementmatrixFEelt.


femesh('repeatsel 2 0 1 0'); femesh('addsel');

Thesecondsurfacemustnowbemeshed.Thiscouldbedoneusingrotation butasecondexampleoftheadvancedcommandswillbeused.
FEel0=[]; femesh('objectbeamline', femesh('findnode x>=0 & y==0')); femesh('extrude 2 0 0 1'); femesh('addsel'); femesh('plotelt');

Theobjectbeamlinecommanddefinesbeamsbetweenallnodesalongtheline x=0(thisproduces6beams).Thesearethenextrudedtwiceinthezdirection toformtherightangledsection.

12/47

SDTPrimer

UniversityofBristol

Figure1.8SDTplotofrightangledstiffenermesh

TheSDTplotofthestiffenercanbeseeninfig1.8.Thedesiredorientationcan beselectedusingthefiguretoolbar.

1.4 Elements
Amodeldescriptionmatrixdescribesthemodelelements.model.Eltand FEeltare,forexample,modeldescriptionmatrices.Thedeclarationofa finiteelementmodelisdonethroughtheuseofelementgroupsstackedas rowsofamodeldescriptionmatrixandseparatedbyheaderrowswhosefirst elementisInfinMatlabandthefollowingaretheasciivaluesforthename oftheelement.Eachdescriptionofelementfollowingillustratesone descriptionmatrixcontainingtheflaglineandatypicallinedefiningone element.EltIdarepositiveintegersuniquelyidentifyingeachelement.The EltIdFix command(femeshorfeutilfunction)returnsamodelthat verifiestheunicityconstraint.

1.4.1 Rigidelements
Arigidelementisdefinedbetweentwonodes,thesecondofwhichis rigidlyconnectedtothefirst.
FEel0=[Inf abs('rigid') ; n1 n2 DofSel MatId ProId EltId];

n1node1ID.

n2node2ID.

DoFselselecteddegreesoffreedomthataretobeconnected.123are

translationaland456arerotationali.e.allDOFsareconnectedif DoFsel=123456.

13/47

SDTPrimer

UniversityofBristol

1.4.2 Masselements
Amasselementisdefinedatanode.
FEel0= [Inf abs('mass1') ; NodeID mxx myy mzz ixx iyy izz EltID]; mxx,myy,mzzmasscomponentsinthedirectionsgiven.

Ixx,Iyy,Izzinertiacomponentsaboutaxisgiven.

Masselementscanalsobedefinedusingthefemeshcommandobjectmass.
femesh('objectmass NodeID);

AmassiscreatedattheNodeIDgiven.Thiscanalsobecombinedwiththe findnodecommandinthesamewayasobjectbeamline.

1.4.3 ElementPropertyManipulation
Whendefiningelementsusingthefemeshcommandanumberoffields requiredmaynothavebeenentered.Theobjectmasscommandisagood example:onlytheNodeIDisrequested.Additionaldatacanbeaddedtothe FEel0matrixbeforeitisaddedtotheglobalmatrix. ThetablebelowholdsthefirstfewlinesofthefinalFEel0fromfemesh example1above. Inf 98 101 97 109 49 1 23 1 1 7 0 23 26 1 1 7 0 26 4 1 1 7 0 4 1 1 1 7 0 4 26 1 1 7 0 26 28 1 1 7 0
Table1.1FEel0example

ThefirstlineholdsadeclarationoftheelementtypeandrepresentstheInf abs('beam1')command.Thelinesbelowthisholdthedataforeach element.Eachcellinthetablecanbeselectedandchangedastheuserwishes.


FEel0(2:end,3)=2;

Thiscommandwouldsetthevalueofrowstwotoendofcolumnthreeto2. Thematerialpropertyhasbeenchangedfrom1to2. 14/47

SDTPrimer

UniversityofBristol

Thecomponentsoftheelementmatrixhavealreadybeendefined:
FEelt [Element type declaration NodeNumbers MatID ProID EltId OtherInfo]

TheOtherInfoheadingrepresentsagroupofcolumnswhichareallundefined andthereforehavedefaultvalues.Afulllistoftheoptionscanbefoundinthe MatlabSDThelpfiles.

1.4.4 Shelland3Delements
Wejustgivehere2examples forquad4element
FEel0= [Inf abs('quad4') 0; NodeID_1 NodeID_2 NodeID_3 NodeID_4 MatID ProID EltId];

fortetra4element
MatID ProID EltId]; FEel0= [Inf abs('tetra4') ; NodeID_1 NodeID_2 NodeID_3 NodeID_4

1.5 Materialandelementproperties
1.5.1 MaterialProperties
Thematerialmatrix,generallydefinedaspl,isthefieldmodel.plinthe modeldatastructure. Highlevelcallsusethem_elasticfunctionwhichcontainsadatabase. Typicalhighlevelcallsare
model.pl=m_elastic('dbval 1 Steel')

model.pl=m_elastic(model.pl,'dbval 2 Aluminum')

Thesecallsbuildmodel.plwhereeachrowofthematrixrepresentsa differentmaterial.Thedefinitionbelowisforstandardisotropicmaterials.All unitsareS.I.


pl=[MatID type E nu rho G eta alpha T0] MatIDmaterialIDnumberasdefinedbyuser.

typetypeofmaterialbeingused,typicallyfe_mat('m_elastic',1,1).

15/47

SDTPrimer
EYoungsmodulus.

UniversityofBristol

nuPoissonsratio.

rhodensity.

Thesefivearetheonlyrequiredinputsthefollowingfourareoptionaland aresettotheirdefaultsifomitted. Gshearmodulus(defaultsettoG=E/2(1+n)). etahystereticdampinglossfactor(defaultsetto0). alphathermalexpansioncoefficient. T0referencetemperature. Forexamplethematerialdefinitionmatrixforaluminiumwouldbe:


pl=[1 fe_mat('m_elastic',1,1) 7.2e9 0.3 2700]

1.5.2 SectionProperties
Alloftheelementsusedinafiniteelementmodelareapproximationstoareal structure.Theirgeometryhasbeensimplified(toalineinthecaseofabeam) andtheirbehaviourisapproximatedbydefinitionofsectionproperties.The propertiesrequiredtodefineanelementwillvarywithelementtype:abeam requiressecondmomentsofareawhereasaplaterequiresthicknessetc. Thepropertiesmatrix,generallydefinedasil,isthefieldmodel.ilinthe modeldatastructure.Eachrowoftheilmatrixrepresentsadifferentsection property.AllunitsareS.I. 1.5.2.1 Beam Highlevelcallsusethep_beamfunctionwhichcontainsadatabase.Typical highlevelcallsare
model.il=p_beam('dbval 1 rectangle .05 .01')

model.il=p_beam(model.il,'dbval 2 circle 01')

Thesecallsbuildmodel.ilwhereeachrowofthematrixrepresentsa differentbeamproperty.

16/47

SDTPrimer

UniversityofBristol

il=[ProID

type

I1 I2 A k1 k2]

ProIDelementpropertyIDasdefinedbyuser.

typetypeofproperty,typically,fe_mat('p_beam,1,1)

Jtorsionalstiffness.

I1secondmomentofareaaboutbendingplane1(forbeamonxaxisbp1in

planexy). I2secondmomentofareaaboutbendingplane2(forbeamonxaxisbp2in planexz). Aarea. Thesesixaretheonlyrequiredinputs.Theshearcorrectionfactorscanbe omittedorsettozeroifnotdesired. k1shearcorrectionfactorforbendingplane1. k2shearcorrectionfactorfortbendingplane2. 1.5.2.2 Plate

Highlevelcallsusethep_shellfunctionwhichcontainsadatabase.Typical highlevelcallsare
model.il=p_shell('dbval 1 mindlin .01')

model.il=p_shell(model.il,'dbval 2 kirchhoff 01')

Thesecallsbuildmodel.ilwhereeachrowofthematrixrepresentsa differentshellproperty. il=[ProID type f d 0 h k] ProIDelementpropertyIDasdefinedbyuser. typetypeofproperty,typically,fe_mat('p_shell',1,1). hplatethickness.

17/47

SDTPrimer

UniversityofBristol

Thesethreearetheonlyrequiredinputsatthisstage.F,dand0cannotbe omittedasthethicknessisneeded.Defaultvaluesmustbegiven:[1 1 0].If kissettozerooromittedthedefaultwillbeused. ItisworthnotingthatastandardMatlabmatrixmusthavethesamenumber ofcolumnsineachrowandviceversa.Caremustbetakentoensurethatthis conditionisnotviolatedwhenstoringpropertiesofelementsofdifferent typesinthesamematrix.Additionalrowsorcolumnscanbefilledby enteringazero.Otherelementswillbedescribedfurtherinlatersections. Forexample:
il=[1 fe_mat('p_beam',1,1) 1e-6 2 fe_mat('p_shell',1,1) 1 1e-7 1 1e-7 0 1e-4 5e-3 0.8 ; 0 ];

Thefirstrowelementsectionproperty1(firstcolumn)isabeamsection definition.Thesecondrowisaplatedefinition.Astheshearcorrectionfactor forplane1hasbeenincludedforthebeampropertythefinalcolumnofrow twomustbefilledifallrowsaretobeofthesamedimension.

1.6 Loadsandboundaryconditions
Alltheloadsandboundaryconditionsarehandledwiththefe_case functionandonlyoneglobalcaseispossibleatonetime.

1.6.1 BoundaryConditions
Beforeamodelcanbesolvedtheboundaryconditionsmustbeconsidered. 1.6.1.1 Degreesoffreedom Eachnodehassixdegreesoffreedom:threetranslationalandthreerotational. xtrans ytrans ztrans xrot yrot zrot 01 02 03 04 05 06
Table1.2Nodaldegreesoffreedom

AlldegreesoffreedomarestoredintheDOFdefinitionvector;mdofa columnvector.DOFsarereferencedbynodenumber.dof,i.e.220.06wouldbe therotationofnode220aboutthezaxis. BeforesolvingthemodeltheactiveDOFsmustbedeclared.Thiscanbedone explicitlybydeclaringeachactiveDOF.Forlargemodelsthisisunpractical andthefunctionfe_casemustbeused.

18/47

SDTPrimer 1.6.1.2 fe_case

UniversityofBristol

Thefe_casecommandallowsboundaryconditionstobedeclared.Each declarationisstoredasadifferentcase,allowingmultiplesetsofboundary conditionstobeexplored.Thestructuredmodelmatrixisupdatedtoinclude them. Eachsetofboundaryconditionsisstoredasacase.Anydeclarationusesthe fe_caseformatandappliestothemodeldatastructure


model=fe_case(model,'command 1','command 2', )

Bothofthesecommandsmustfollowtheformat:

Command ='EntryType','Entry Name',Data

Thefollowingsectionsdescribethemainentrytypes. 1.6.1.2.1 Fixdof Theentrytypeisfixdof(declaredDOFsfixed).Thenameisarbitrarily definedbytheuserandisusedasareferencetotheboundaryconditionbeing applied.ThedataholdsthelistofDOFsthatthecommandwillapplyto. Thereareanumberofoptionsonthetypeofdatathatcanbeentered. AglobaldeclarationofDOFscanbegiveni.e.[.01 .02 .06]' (columnvector)wouldactivatea2DsimulationwithonlyDOFsinx trans,ytransandzrotbeingactive. AspecificdeclarationofDOFscanbegivenasacolumnvector. Analgebraicexpressioncanbegivenbutitmustbeenclosedby invertedcommas.
model=fe_case(model, 'keepdof', '3-D', [.01 .02 .03 .04 .05 .06]' 'fixdof', 'leftedge', 'x==0');

DOFs.01to.06havebeendeclaredasactiveforallnodesthename3Dhas beengivenasthisrepresentsa3Danalysis.FinallyallDOFshavebeenfixed alongthelinex=0.Inthestructuresdefinedintheexamplesabovethis representstheleftedge,hencethenamegiven. Notethattheuseofakeepdofentry(declaredDOFsareactive)ispossible butnotencouraged. 1.6.1.2.2 StructuralLoading TheapplicationofaloadtotheFEmodelfollowsthesameformatasthe fixdofcommand: 19/47

SDTPrimer

UniversityofBristol

Command ='EntryType','Entry Name',Data

TheEntryTypeisDofLoad.Entrynameisarbitraryasbefore.Thedata requiredistheselectedDOFstowhichtheunitloadingwillapply.Thedata canalsobepredefinedinastructuredmatrixthisisusefulwhenmultiple loadsarerequired.


Data=struct('DOF', Dof declaration, 'def', load array);

TheDOFdeclarationisacolumnvectoroftheDOFstowhichtheloadsapply. Theloadarraycontainsanumberofcolumnvectors,eachofwhichrepresents adifferentloadingcondition: 1.03 1 0 load = 0 1 DoF = 2.01 3.01 0 1 InthiscasethethreeDOFsbeingloadedare1z,2xand3x.Thefirstcolumnof thedefarrayreturnsaunitloadatnode1inthezdirection.Thesecond columnreturnsapositiveunitloadatnode2inthexdirectionandanegative atnode3inthexdirection.Thisisusedtodescribedistributedloads.

1.7 Solving
Thereareanumberofsolverfunctions,eachgivingadifferenttypeof solution.Thefe_simulfunctionallowstotreatstaticlinear,modalandtime solutions.Itisthehighlevelimplementationofthestandardsolversas fe_eigorfe_time. 1.7.1.1 fe_simul Thefe_simulfunctionisthegenericfunctiontocomputevarioustypesof response,aneasyaccesstospecializedfunctionstocomputestatic,modal(see fe_eig)andtransient(seefe_time)response.Onceyouhavedefineda FEMmodel,materialandelementsproperties,loadsandboundaryconditions callingfe_simul(seefe_mk)assemblesthemodel(ifnecessary)and computestheresponseusingthededicatedalgorithm. Thegenericcallis
[def,mo1] = fe_simul('command',model)

20/47

SDTPrimer

UniversityofBristol

WheremodelisyourFEmodeldatastructureanddefisthedeformation result(datastructuredetailedinthepostprocessingsection).Theaccepted commandstringmaybe'static','mode','time',or'dfrf'. 1.7.1.2 fe_eig Thefe_eigfunctionreturnstheeigendataincludingbothmodeshapeand naturalfrequenciesinastructuredmatrix.Thisisthedeformationmatrix; def.Themodelmatrixistherequiredinput.


def=fe_eig(model,[opts]); opts=[solutionmethod nm Shift Print Thres]

Ofthefivepossibleoptionsonlythefirsttwoarerequired.Thefinalthree shouldbesettozero(thedefaultvalueswillbeassigned). solutionmethodintegerdefinessolutionmethod.Defaultmethodisafull solutionwhichcanonlybeusedforsimplemodels.Forlargermodelsuse Lanczossolver:solutionmethod=5. nmnumberofmodesrequired.Thedefaultvalueisafullanalysisi.e.one modeforeverydegreeoffreedom. 1.7.1.3 fe_mknl(andobsoletefe_mk) Thefe_mkfunctionreturnsthemassandstiffnessmatricesalongwiththe DOFdefinitionvector.
mo1 = fe_mknl(model);

mo1isthemodeldatastructurewithadditionalfieldsDOFandK.acellarray containingtheglobalmatrices.Thereareoptionsthatcanbeutilisedwiththis functionbuttheyarenotincludedhere. 1.7.1.4 fe_time Thefe_timefunctionallowsanalysisofthetransientresponseofthemodel toaninitialloading.Itreturnsthedeformationdatastructuredefandthe modeldatastructure(optional).Eachcolumnofthedef.defarray representsatimestepandtherowsrepresenttheDOF.


[def,model] = fe_time('command',model) commandtypeofsolverused.Newmarkordg(DiscontinuousGalerkin).dg

allowsuseofdamping.

21/47

SDTPrimer Amoregeneralcallis

UniversityofBristol

[def,model] = fe_time(model)

Optionsandmethodarespecifiedinamodel.Stackentryoftype'info' named'TimeOpt'containingaMethodandOptfield TimeOpt.MethodNewmarkordg TimeOpt.Opttherearesixoptions:


opts = [1 2 3 4 5 6];

1beta.Defaultvaluesset(useNewmark,beta=0.25). 2alpha.Defaultvaluesset(useNewmark,alpha=0.5). 3Beginningoftimesimulation. 4Timestep 5Numberofcycles 6Numberoftimestepsforinputforce

Example:

Model=stack_set(model,'info','q0',[]); TimeOpt.Method='newmark'; TimeOpt.Opt=[.25 .5 0 .1 20 1]; Model=stack_set(model,'info','TimeOpt',TimeOpt);

Newmarksolverusedformodelcase1.Zeroinitialconditions.Defaultvalues ofbetaandalphaused.Simulationbeginsatt=0,thetimestepis0.1s,theare 20cyclesandtheunitimpulselastsfor1timestep. 1.7.1.5 nor2xf Thenor2xffunctionallowsFRFstobeevaluated.Arequiredinputisthe deformationmatrixdef(ascalculatedbyfe_eig).Thelocationofbothsensor andloadingpointbywhichitisexcitedarealsorequired.Acasemust thereforebedefined,butitisdoneinaslightlydifferentway.


load=struct('DOF',[14.03],'def',[1]); case=fe_case('dofload','loading',load,... 'sensdof','sensor',[14 15 16]'+.03);

22/47

SDTPrimer

UniversityofBristol

Asthedeformationshavealreadybeencalculatedthemodelmatrixisnot needed.Loadingandsensorplacementaregivenasbefore. Beforetheresponsecanbecalculatedthefrequencypointsatwhichitis requiredmustbegiven.ThisiscommonlydoneusingtheMatlablinspace function.Therangeofvalues(startandend)andthetotalnumberofdata pointsareinputted.


freq=linspace(start,end,no points); xf=nor2xf(def,damping,case,freq,'command'); def deformationmatrix.Thisisobtainedusingthefe_eigcommand. damping dampingration(01). case loadcaseandsensorplacementdefinition. freq pointsatwhichfrequencyresponsecalculated. command optionalcommandusedtodefineunitsoffrequencyresponse.

Example:

freq=linspace(5,70,500); xf=nor2xf(def,.01,Case,IIw,'hz iiplot');

Responsemeasuredat500equallyspacedfrequencypointsbetween5and 70hz(theunitsaredefinedbythehzplotcommand).Adampingratioof 0.01isused.

1.8 Postprocessing
1.8.1 feplot
ThefeplotfunctionallowsFEmodeldatabedisplayedgraphicallyand withanimation.Inordertomanipulatethefeplotatypicalcallis
cf=feplot(model,def);

Thecurrentfigurecfisselectedasanfeplotfigure.Ifmultipleplotsare requiredanumbercanbeinsertedasalabel.Thecurrentfigureholdsdatain asimilarwaytoastructuredmatrix.Thecorrespondinglowlevelcallsare


cf=feplot; cf.model=model; cf.def=def;

23/47

SDTPrimer

UniversityofBristol

Thecurrentfigureisassignedamodelandasetofdeformationswhichapply tothatmodel.AnfeplotwindowwithaGUIisgenerated. ThedefstructurecontainsaDOFfield(columnvector),adeffield(matrix) whosenumberoflinesisthesameasDOFvectorandeachcolumnisasetof deformation,onemodaldeformationoronedeformationatonetimestep, anddataandlabfieldswhicharelabelsdefinition. Thetypeofplotwillvarydependingonthetypeofdataheldinthemodel anddeformationmatrices,andthereforethetypeofsolutionthatwasused. 1.8.1.1 NaturalFrequenciesandModeShapes Ananimatedplotofnaturalfrequenciesandmodeshapesfollowsfrom fe_eig:
def=fe_eig(model); cf=feplot(model,def)

Thedefstructurewillholdmodeshapedataforthefirst10natural frequencies.Thereforethefeplotfigurewillshowanimatedmodeshapes forthefirst10naturalfrequencies(ifthereareanyrigidbodymodesthese willbeincluded).Havingafigurehandlecf,onecanusecf.def=def;toshow defonthemodeldisplayed,andcf.def=[];toresetthem. 1.8.1.2 TimeResponse Ananimatedplotofthetimeresponsefollowsfromfe_eig:


[def,model]=fe_time(model); cf=feplot(model,def); fecom('animtime')

Thedef.defmatrixwillholdthedisplacementfieldwhichmustalsobe referencedtotheDOFsectionofthemodelmatrix.cfwillcontainan animationofthetimeresponsetoaninitialloadingundercase1conditions. Therewillbe20timestepsoflength0.1seach.Theanimtimecommandis requiredforanimation.Scalingoftheamplitudeisoftennecessarywiththe timeresponse,thiscanbedoneusingthefeplotGUI. ThefeplotGUIcanbeselectedusingedit,feplotproperties.Alternatively thefecomcommandcanbeutilisedinthecodetoeffectchangestothese propertiesseeMatlabhelpfilesfordetails.

24/47

SDTPrimer

UniversityofBristol

1.8.2 iiplot
iiplotallowsthefrequencyresponsetobeplotted.Thedataisstoredinto thefigureandcanbeaccessedthroughapointerci=iiplot;ci.Stack,see moredetailswithsdtweb diiplot#CurveStack.Therewillanumberof responses:oneateachlocationforeachloadpoint.Anumberofresponse propertiesarecalculatedincludedmagnitudeandphase.Theresponsetype canbetoggledusingtheiiplotGUI. Itcanbeusedinasimilarwayasfeplotwithregardstoassigningthecurrent figure.

1.9 SDTmeshingexample
Thefollowingexampleillustratesallfunctionsandcommandsthathavebeen utilisedtothispoint.Thestructurebeingmodelledistherightangled stiffeneralreadydescribed. Thecodeforthisexampleisalsoavailableelectronically.
% SDTtestex % INITIAL DECLARATION %--------------------FEnode=[]; % node and element matrices set to zero FEelt=[]; % prevents old data being added to the model FEel0=[]; FEn0=[]; FEnode=[1 0 0 0 0 0 0 2 0 0 0 0 .1 0]; % initial node declaration

% MESHING %--------FEel0=[]; femesh('objectbeamline',femesh('findnode x==0 & y<=1')); femesh('extrude 6 .2 0 0'); % beam element created and extruded to make first row % of plate elements femesh('repeatsel 2 0 .1 0'); % plates repeated to make one side of stiffener femesh('addsel'); % elements in FEel0 added to FEelt as group1 FEel0=[]; % FEel0 reset to zero femesh('objectbeamline', femesh('findnode x>=0 & y==0')); % beam elements created between nodes along line y=0 femesh('extrude 2 0 0 .1'); % beam elements extruded to plate elements femesh('addsel'); % elements in FEel0 added to FEelt as group2 % PROPERTIES %-----------pl=[1 1 7.2e9 il=[1 2 1

.3 1

2700 0

2.68e10]; 5e-3];

% material properties % section properties

25/47

SDTPrimer

UniversityofBristol

femesh('set group 1 mat1 pro1'); femesh('set group 2 mat1 pro1'); % both groups defined as material 1 and section 1 % ASSEMBLE MODEL %---------------model=femesh('model'); model.il=il; model.pl=pl; % modelled assembled as structure matrix with required fields load=struct('DOF',[14.03],'def',[1]); % load condition defined at node 14 orientated along z axis model=fe_case(model, ... 'keepdof','3D',[.01 .02 .03 .04 .05 .06]',... % 1 'fixdof','left edge','x==0',... % 2 'dofload','endload',load,... % 3 'sensdof','tipsensor',[14.03]); % 4 % case 1 defined with: % 1 - all trans and rot DOFs active % 2 - left edge of the stiffener is fixed (x=0) % 3 - load applied to case % 4 - sensor defined at node 14 orientated in z axis % NATURAL FREQUENCIES AND MODE SHAPES %------------------------------------cf=feplot(model); model=cf.mdl; cf.Stack{'info','EigOpt'}=[5 10]; % deformation calculated for model % options: 5 - Lanczos solver % 10 - number of modes cf.def=fe_simul('mode',model); % TIME RESPONSE %--------------cf.Stack{'info','q0'}=[]; % initial conditions for time response set to zero % define options cf.Stack{'info','TimeOpt'}=... struct('Method','newmark','Opt',[.25 .5 0 .000002 10000 10],... ... 1 2 3 4 5 6 7 'NeedUVA',[1 1 0]); % 8 % options: % 1 - newmark solution selected % 2,3 - beta and alpha default values set % 4 - beginning of time simulation % 5 - time step % 6 - number of cycles % 7 - number of time steps for input force % 8 - what is computed (disp, vel, acc ...) def=fe_simul('time',model); % displacement and velocity fields calculated % model updated using case 1 boundary conditions cf.def=def; fecom('animtime'); % animate displacement.

26/47

SDTPrimer

UniversityofBristol

2 Testing
Thedynamicpropertiesofastructurearedeterminedduringtesting.FRFsare analysedtoproduceamodalmodelofthestructuretheeigenvalueand eigenvectormatrices. InordertoassessthemodeshapesbothpointandtransferFRFsarerequired. ApointFRFisaresponsetoexcitationatthesamelocation,atransferFRFisa responsetoexcitationatanalternativelocation.Therearetwoapproachesto obtainingtheFRFs: afixedexcitationpointandmeasuringresponseatanumberof locationse.g.ashakertest. afixed(orlownumberof)measurementpointandbyvaryingthe excitationlocatione.g.animpacttest. Thereisaminimumpermissibledatasetwhichwillallowdeterminationof themodalmodel.Alargerdatasetwillgiveahigheraccuracyanddefinition anFEmodel,forexample,calculatesresponsesateveryactivedegreeof freedomandsimulatesmodeshapesindetail.Howeverthisisclearly impracticalwiththesmallestofteststructuresandimpossibleindustrially whereDOFsnumberinthemillions.Thedeterminationofsensor/excitation placementisthereforeacrucialaspectoftesting. Therearealargenumberofpracticalissuesassociatedwithtesting,including thesimulationofboundaryconditionsandtherepeatabilityofexperiment. Theseissueswillnotbediscussedhere.TheuserisreferredtoModalTesting, Theory,PracticeandApplicationbyD.J.EwinsfromtheResearchStudies PressLtd.

2.1 TestPreparation
2.1.1 Sensorsandexcitation
Responseismeasuredatafixed(orlownumberof)measurementpoint(s) andbyvaryingtheimpactlocation. Thenumberofimpactlocationsrequiredwilldependonthecomplexityof thestructuralmodesbeinganalysed,andthedefinitionrequiredinthe measuredmodeshapes.Orientationofsensorsisalsocrucialasmostonly workinonedirectionanymotionorthogonaltothiswillnotbedetected.It isalsoimportanttoensurethattheaccelerometerisinsuchapositionastobe excitedbyallmodesofinterest.

27/47

SDTPrimer

UniversityofBristol

Somedegreeofsignalprocessingisoftenrequired,especiallytoeliminate earthnoise.Abandpassfilterinthefrequencyrangeofinterestandanotch filterat50Hz(mainsfrequency)willusuallysuffice. 2.1.1.1 Experimentalsetup Thetestsetupisillustratedinfig2.1. excitation


transducer


sensors

charge amp

CHANNEL 1 filters

analyser / PC
CHANNEL 2

Figure2.1Testsetupillustration

Theoutputofthetransducerandsensors(accelerometer)willbeavoltageor acharge.Themostcommonproduceachargeandrequireachargeamplifier toconvertthesignaltoavoltage.Theanalyserwillbeaseparatepieceof hardwareorapieceofPCsoftware.FilteringcanalsobedoneusingaPC. Eachtestwillinvolveoneexcitationlocationandoneormoresensorlocation. Thefrequencyspectrumofbothforcetransducerandsensoraremeasuredin eachcase.Fromeachoftheseafrequencyresponsecanbecalculated.

2.1.2 Impactexcitation
Excitationcanbeachievedbyanumberofmeans.Forsmallscalestructures impacttestingisrecommended.Ahammerwithforcetransducerisusedto excite,andanaccelerometerisusedtomeasuretheresponse. Singleormultiplesensorlocationsareuseddependingonthecomplexityof themodeshapesbeingmodelled.Formotioninonlyoneplaneitisoften possibletouseasingleaccelerometer.Theimpactlocationisvaried. Averagingisstronglyrecommendedwhencarryingoutanimpacttest. Theenergydeliveredbyahammerduringandimpactexcitationhasa frequencyspectrumasshowninfig2.2. 28/47

SDTPrimer

UniversityofBristol

amplitude

f c

frequency

Figure2.2Frequencyspectrumofhammerexcitation

Fcisthecutofffrequencythehammercannotbereliedupontoexcite naturalfrequenciesbeyondthispoint.Thetypeoftipcontrolsthecutoff frequency.Asoftertiphasalowerfc.Itisrecommendedthatthesoftest possibletipisusedtoensurethatthemajorityoftheenergyexcitesthe structureinthefrequencyrangeofinterest.

2.1.3 Shakerexcitation
Excitationisachievedthroughuseofashaker,whichisdrivenbyasignal generator.Thereareanumberofsignaltypesthatareusedasdetailedbelow. Itisimportanttonotethatthesignalgeneratorandshakerisadynamic systeminitselfandsotheoutputoftheshakerwillnotmatchthesignal exactly.Theoutputoftheshakermustthereforebemonitoredusingaforce transducer. 2.1.3.1 Excitationsignals 2.1.3.1.1 Sine Excitationfollowstheprofileofasinewave.Itcanbeatafixedfrequency (sinewave)oroverafrequencyrange(sinesweep).Afteragivendurationthe signaloutputiszeroed,allowinganaturaldecayoftheshaker. 2.1.3.1.2 Chirp 2.1.3.1.3 Pseudorandomnoise

2.1.4 Sensorlocation
Thefollowingsectionreferstosensorlocation,butthedirectionsgivenapply equallytoimpactlocation. Agoodtestsetupwillenableallmodeshapesinthedesiredfrequencyrange tobedefined,withtheminimumofresponsemeasurements.AFEmodelcan

29/47

SDTPrimer

UniversityofBristol

beanalysedbeforetestingtoascertainwhichDOFswillgivethemost completepictureofthemodeshape.Forexample,thefirsttwomodesofa cantileveredbeamareinthebendingplane. sensor


Figure2.3Sensorlocationsforcantileveredbeam

Thetwosensorlocationshighlightedinfig2.3wouldgiveagoodindication ofthepresenceofbothmodes. 2.1.4.1 fe_sens fe_sensreturnstheoptimalsensorDOFs.Rotationaldegreesoffreedomare notincludedduetothedifficultyinmeasuringthem.Thereareanumberof commandsthatcanbeusedwiththefe_sensfunctiondependingonthetype oftestingbeingundertaken.


sdof=fe_sens('command', opts); sdof=fe_sens('mseq n type',def,sdof0);

Themseqcommandreturnsacolumnvector(sdof)containingtheoptimal sensorDOFs.Theninthecommandisauserinputandspecifiesthenumber ofsensorlocationsdesired.Thedeformationmatrixdefforthemodelis required.Theoptimisationofthesensorplacementwilltakeintoaccountall modesinthedeformationmatrix.AnoptionalinitialsetofDOFs(sdof0)can alsobedeclaredfromwhichtheoptimalwillbeselected. 2.1.4.2 fe_sensexample Acantileveredbeamwillbeusedasanexample.Themodeldimensionsare showninfig2.4. y 0.1m x 1m
Figure2.4Cantileveredbeammesh

Aluminiummaterialpropertiesused. Sectionpropertiesused: J=I2=1e9m4 I1=3e9m4

30/47

SDTPrimer A=1e4m2 Themodelisgeneratedasfollows.


clear all; Node=[1 2 0 0 0 0 0 0 0 0 0 .1 0 0];

UniversityofBristol

model=feutil('ObjectBeam 1 1',Node,linspace(0,1,10)); model.pl=[1 fe_mat('m_elastic','SI',1) 7.2e9 .3 2700 model.il=[1 fe_mat('p_beam','SI',1) 1e-9 1e-9 3e-9 cf0=feplot(model); model=cf0.mdl; model=fe_case(model,'keepdof','2D',[.01 .02 .06]',... 'fixdof','leftedge','x==0'); fecom('promodelviewon'); fecom('curtab Cases','outputs'); 0]; 1e-4];

Thedeformationmatrixdefisrequiredforthesensoroptimisation.Inthis exampleitisassumedthatthefirstfourmodesmustbeincluded,andthat twosensorsarerequiredtocapturethemduringtest. model=stack_set(model,'info','EigOpt',[5 4]);


def=fe_simul('mode',model);

defiscalculatedincludingonlythefirstfourmodes.Thesensorlocationswill laterbeplotted(seefig2.5).Onecanvisualizemodeshapesusingcf0.def pointeronfiguredef.


cf0.def=def;

Thefe_sensfunctionisusedtoplacetwosensors.
sdof=fe_sens('mseq 2 type',def);

sdofisthesensorset.ItisacolumnvectorcontainingthesensorDOFsranked inorderofimportance(themostinfluentialbeinglistedatthetop).Ithas alreadybeenmentionedthatinimpacttestsitiscriticalthattheaccelerometer isinsuchalocationastobeexcitedbyallmodesofinterest.Thiscanbe achievedbyplacingthesensoronthemostinfluentialsensorDOFi.e.sdof(1). Thisdoesnotovercometheproblemofmodesorthogonaltothesensoraxis. Thesensorsetisassignedtothecurrentfigure.


cf0.sens=sdof;

31/47

SDTPrimer

UniversityofBristol

Inordertoplotthesensorlocationsthefeplotismanipulatedusingthefecom function.
fecom(cf0,';sub 2 1'); % feplot view subdivided - 2 rows, 1 column fecom(cf0,';sub 2 1 1;view3'); % for row 1: view 3 selected (isometric with z vertical) fecom(cf0,';sub 2 1 2;showsens;showarrow;view3;textDOF'); % for row 2: sensor location shown % arrows shown for sensor deformation % view 3 selected % DOF labels shown

Thesensorlocationswillbelabelledonthefeplot,butnotintheSDTDOF formati.e.2.02beingtranslationofnode2inydirection.Insteadthenodeis referencedalongwiththeaxisalongwhichthetranslationtakesplace. Allofthefecomcommandscanalsobeinitialisedusingthefeplotproperties GUI.

Figure2.5SDTplotofcantileverbeamsensorplacement

Ifimpacttestingwasbeingundertakenthetwoimpactlocationswouldbeat nodes4and11intheydirection(x=0.3mand1m).Theaccelerometerwould beplacedatnode11alsoorientatedintheydirection.

2.1.5 Wireframemodel
Awireframemodeloftheteststructureisgeneratedtoenablecomparisonof thetestdatawiththeFEmodel.Thewireframemodelmapsoutthegeometry oftheteststructureintheformoflinesandnodeswhichencompassalltest

32/47

SDTPrimer

UniversityofBristol

nodelocations.Theframecanthenbeplottedandanimatedenabling visualisationofthetestmodeshapes. Asanexampleconsiderahelicopterairframewithsensorlocationsasshown infig2.6.Thewireframemodelmustcapturethemotionofallsensorsto enablelatercomparisonwiththefiniteelementmesh.


Figure2.6Wireframemodel

Itisimportanttorememberthatthewireframeisnotameshlikethat generatedduringthemodellingstage.Therearenoelementsthenodesare connectedwithlineswhichhavenostructuralpropertiesandaretheretoaid visualisationofthedeformation. 2.1.5.1 Generatingthewireframe Itwillbeassumedatthispointthatsensorlocationscoincidewithnodesin theFEmodel. Thewireframeisdefinedbynodes,andtheconnectinglinesbetweenthem. Allsensornodesshouldbeincluded,alongwithanumberofadditional nodeswhichaidvisualization.Newnodesaredefinedateachlocation.A numberingconventionisrecommendedtoeasesegregationofthenewnodes fromtheold:ifthenumberoftheoriginalnodeis20,thenewwireframe nodebecomes1020.Obviouslythiscanonlybeusediftherearelessthan1000 nodesintheoriginalmodel. TheconnectionsbetweennodesaredefinedusingtheLandldrawarrays.The LarrayholdstheNodeIdnumbersforthosenodesbeingconnected,theline willbecontinuousbetweenallnodesgivenunlessseparatedbya0.Thedata inLisstoredintheldrawarraymultipleLscanbestoredwithoneineach rowofldraw.Thisenablessectionsofthewireframetobecreatedina piecemealfashion.
L=[1020 1023 1034 0 1012 1034 1039];

Representstwolinesbetweennodes:102010231034and101210341039.
ldraw(1,[1 82+[1:length(L)]])=[length(L) L];

33/47

SDTPrimer

UniversityofBristol

Thelayoutoftheldrawarrayiscritical.Eachrowrepresentsadifferentsetof linesL.ThefirstentryineachcolumnisthesizeofL(thenumberofentries). Columns2to82mustbeleftblank.Columns83onwardsholdtheLarray. 1 2 3 83 84 size(L) L(1) L(2)


Figure2.7Theldrawarray

OncetheldrawarrayiscompleteitiscombinedwiththeFEmodelmesh usingthefemeshcommandaddtest.
femesh('addtest',node,ldraw);

nodeisthearraycontainingthewireframenodedescriptions. 2.1.5.2 Wireframeexample Therightangledstiffener,clampedatoneendwillbeusedinthisexample. Thefe_sensfunctionisusedtodeterminetheoptimumsensorlocations:


sdof=fe_sens('mseq 10 type',def);

ThisyieldsthefollowingsensorDOFs:
sdof=[35.02 21.03 18.03 32.02 19.03 33.02 16.03 30.02 35.03 21.02];

Itisassumedthatallofthesenodeslieinlocationsontheteststructurethat canbetested;nodes16,18,19,21,30,32,33,35mustbeincludedinthewire framemodel.ThenumberingsystemwillbeemployedwhichgivesNodeId 1016,1018etc. Ifonlythese8nodesareuseditisnotpossibletovisualizethemodeshape. Additionalnodesmustbeincludedinthewireframe. 1021 1019 1018 1016 1035

1030

1032 34/47

1033

SDTPrimer

UniversityofBristol

Figure2.7Nodetestlocations

Thefollowingwireframenodelocationsaresuitabletoproperlycapturethe modeshape. 1021 1019 1018 1016 1015 1013 1009 1007 1003 1035 1001 1033 1032 1030 1029
Figure2.8Wireframenodelocations

Thewireframenodearraymustfirstbedefined.Thisisdoneinexactlythe samewayastheFEnodedeclaration.
node=[1001 1003 1007 1009 1013 1015 1016 1018 1019 1021 1029 1030 1032 1033 1035 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.2 0.6 0.8 1.2 0 0.2 0.6 0.8 1.2 0 0.2 0.6 0.8 1.2 0 0 0 0 0 0.2 0.2 0.2 0.2 0.2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0.2 0.2 0.2 0.2];

ldrawisdefinedusingL:

L=[101 103 107 109 1013]; ldraw(1,[1 82+[1:length(L)]])=[length(L) L]; L=[1015 1016 1018 1019 1021]; ldraw(2,[1 82+[1:length(L)]])=[length(L) L]; L=[1029 1030 1032 1033 1035]; ldraw(3,[1 82+[1:length(L)]])=[length(L) L];

Thethreestraightedgeshavebeendefinedfirst,eachinadifferentrowof ldraw.

L=[1015 101 1029 0 1016 103 1030 0 1018 107 1032 0 1019 109 1033 0 1021 1013 1035 0]; ldraw(4,[1 82+[1:length(L)]])=[length(L) L];

35/47

SDTPrimer

UniversityofBristol

Finallythe5Lshapedlinesareaddedtoldraw.Thewireframecannowbe addedtothemodelusingthefollowingcommand:
femesh('addtest',node,ldraw);

ThelineshavebeenaddedtoFEeltwithanelementgroupIDof1.This distinguishesthemfromtherealelements. Thewireframeshouldbeplottedasacheckforerrors.Inordertoplotit independentlyoftherealelementsitmustbeselected.Inthisexamplethe groupnumberofthewireframeis3,thereforeuse:


femesh('selgroup3'); femesh('plotel0'); fecom('showline');fecom('textnode');

Noticetheslightvariationfromthecommandfemesh(plotelt)FEel0is beingplottedinsteadofFEelt.Thefecomcommandsarerequiredtogivethe plotasshowninfig2.9.

Figure2.9SDTwireframe

2.1.5.3 Noncoincidentnodes IntheexamplegiventhewireframewasgeneratedusingaFEmodel geometryratherthanarealstructurewhichmeantthatalltheoreticaltest 36/47

SDTPrimer

UniversityofBristol

nodeswouldcoincidewiththeFEnodes.Inarealtestthisisnotalways possible,sotheoffsetsbetweentestandFEnodesmustbeaccountedfor.

2.2 Testing

2.3 Modalextraction
ThemodalmodelisconstructedusingthepointandtransferFRFs.Thereare anumberofmethodsusedtoextractthisinformation,thesingledegreeof freedom(SDOF)peakamplitudemethodissupportedbySDT.

2.3.1 XFarray
FrequencyresponsedataisstoredintheXFarrayXF=iicom('curvexf').It hasastructurewhichispredefinedintheSDTandisreservedforfrequency analysis. XFissplitintosubarrays:XF(Test)andXF(IdFrf)containresponsedata. XF(IdMain)andXF(IdAlt)holdcurveshapedata.Thereareanumberof componentsineachwhichenablecontrolofmanyfrequencyresponse parameters.TheXFarraymustalsoidentifythepositionandorientationof bothsensorandexcitationforeachFRFgiven.Thisdataisstoredinthe degreeoffreedomsubarrayXF.dof. 2.3.1.1 Responsedata Thefrequencyresponseismeasuredatafinitenumberofpointswhichare commontoXF(Test)andXF(IdFrf).Thefrequencypointsarestoredin XF(n).w. XF(Test).xfistheprimaryresponseandwillholdtheactualmeasured response.Thelaterresponseswilloftenbetakenfromreducedmodels.These canbeplottedandcomparedwiththetestdataandassessedforaccuracy. Thiswillbediscussedlater. 2.3.1.2 Shapedata Thefrequencyresponseofarealstructuremustbebrokendownintoa mathematicalmodeltoenablecomparisonwiththeFEmodel.Theshapeof thefrequencyresponseplotisrepresentedbythepoles,whicharestoredin XF(IdMain).po.XF(IdAlt).poisanadditionalspaceallocatedforasecondset ofshapedata. 37/47

SDTPrimer

UniversityofBristol

EachrowofXF(IdMain).porepresentsapole.Column1isthefrequencyand column2isthemagnitudeatthepole. TheshapedatasectionoftheXFarrayalsoholdsthemodalmodel.Itisstored inXF(IdMain).res. XF('IDMAIN').res=IIres EachrowofIIresrepresentsamode(orpole).Eachcolumnrepresentsa differentresponsechanneli.e.theresponseatadifferentsensorlocation. 2.3.1.3 DOFdata ThesensorandexcitationDOFforeachFRFarerequiredincalculationofthe modeshapes.ThisdataismanuallydefinedbytheuserinXF(Test).dof.
XF('Test').dof=[response DOF, excite DOF, channel options]

TheformatoftheresponseandexcitationDOFfollowsthatinsection1.5.2.1. EachrowofXF(Test).dofholdsdataforadifferentFRF.Thechannelisan integerlabelwhichlinkstheDOFdatatothecorrespondingfrequency response(heldinXF(Test).xf).Thereareadditionaloptionsthatarenot requiredatthisstage. 2.3.1.4 XFoptions TheXFarrayholdsalldatarelatedtothefrequencyresponse.Thisincludes manyoptionseffectingplotting,datatypeetc.Theuserisreferredtothe MatlabSDThelpfilesseefunctionxfopt.

2.3.2 iiplot
Frequencyresponseplotsutilisetheiiplotfunctioninmuchthesamewayas FEmodelplotsusethefeplotfunction. TheXFarrayisintrinsicallylinkedtotheiiplotfunction.Callingtheiiplot functionwillautomaticallyplottheresponsedataheldintheXFarray.The datainthearraycanbemanipulatedusingtheiicomfunctionthisisthe equivalentofthefecomfunctionwhichisutilisedonfeplots.Theuseris advisedtousetheiicomcommand:
iicom('submagpha');

Thissetsthemainwindowoftheplottomagnitudeandtheminorwindow belowtophase.Alternativeplotse.g.Nyquist,imaginarycanbetoggled usingtheiiplotGUI.

38/47

SDTPrimer

UniversityofBristol

2.3.3 SDOFpeakamplitudemethod
2.3.3.1 SDOFpeakamplitudetheory AnFRFforamultidegreeoffreedom(MDOF)systemwillcontainanumber ofpeaks.Eachpeakrepresentsaresonantfrequencyofaparticularmode.It canbeassumedthattheinfluenceofothermodesinthisregionisminimal. TheSDOFmethodutilisesthisassumptionbytreatingeachmode independently.ConsidertheFRFofmoder. |H()| || |H| 2 b r a
Figure2.6SDOFpeakamplitudemethod

Thenaturalfrequencycanbereaddirectlyasitcorrespondstothepeak amplitude||.Thevaluesaandbcanbeusedtocalculatethedamping ratio: 2 2 2 r = r = a 2 b 2 r r Thedampingratio,naturalfrequencyandamplitudecanbeusedtocalculate themodalconstant. A = H 2


r r r

Themodalconstantisrelatedtothemodeshape.Itisdependentonthe locationsofbothexcitationandresponse.Forexcitationatlocationjand responseatlocationk: r A jk = jr kr jristhemodeshapeatlocationjformoder WhenconsideringthepointFRFj=k.ThemodeshapeforthepointFRFcan thereforebeevaluateddirectly.Oncethishasbeendeterminedthemode shapesforthetransferFRFswillfollow: r Akk = kr kr krcanbecalculateddirectly A jr = r jk

kr

39/47

SDTPrimer

UniversityofBristol

EachmodeontheFRFisconsideredinturn. TheminimumdatarequirementisasinglepointFRF,andmultipletransfer FRFsforalllocationsrequiredinthetestmodeshape.Itisadvisabletouse moreFRFsthantheminimum(bothpointandtransfer)toimprovethemode shapeaccuracy. TheSDThasbuiltinfunctionstoaididentificationofthemodalmodel. 2.3.3.2 idcom Theidcomfunctionisusedinidentificationofthemodalmodel.Itutilises commandstrings:
idcom('command');

2.3.3.2.1 Poleestimation Theidcomfunctionisusedtodeterminethepolesonafrequencyresponse curve.Itestimatesthepolesaroundagivenfrequencywithaspecified bandwidth.


idcom('command band frequency'); commandidcomfunctioncommand,useeforestimateofpoles.

banduseagivenbandforfrequencyestimation.Bandcanbe:

lessthan1halfbandwidthasfractionoffrequencyestimate. greaterthat5numberoffrequencypointsinbandwidth.

frequencyinitialestimateofpolefrequency.

Example:

idcom('e

10

200');

Poleisestimatedat200Hzwithabandwidthencompassing10frequency points. Onceapolehasbeenestimateditwillappearontheiiplotoverthetestdata. Iftheestimateisaccurate(thiscanbedeterminedbyvisualinspection)itis addedtotheshapedataarrayXF(IdMain).po Adifferentidcomcommandisusedtoaddthecurrentestimate.Thisprocess isrepeatedforeachpolethatistobeincludedintheFRF.

40/47

SDTPrimer
idcom('ea 10 200');

UniversityofBristol

Thepoledetectedinthe200HzregionisaddedtoXF(IdMain).po. 2.3.3.2.2 Modalmodelidentification Theidcomfunctionisalsousedtoidentifythemodalmodelfromthe estimatedpoles.


idcom('est');

TheSDOFpeakamplitudemethodisused.Themodalmodelisstoredin IIres.TheFRFofthemodalmodelisstoredinXF(IdFrf).xf(itisan approximationandwillthereforedifferfromXF(Test).xf).

2.3.4 Modalmodel
Therearemanymethodswhichcanbeemployedtoextractthemodalmodel fromasetoftestdata.TheSDOFpeakamplitudemethodisthemostsimplest andcanattimesbeinaccurate.Therearealternativeapproachesand optimisationschemesthataresupportedinSDTwiththeaimofimproving themodalmodel.

2.4 Testdatavisualisation
Havingextractedthemodalmodelameanstovisualisethemodeshapesis required.Thedeformationsarelinkedinwiththewireframemodelto produceananimatedplot.ThemethodusedisastandardSDTfeplot. Itisassumedherethatawireframehasalreadybeendefinedandthatits componentsareselectedinFEel0.
femesh('plotel0'); fecom('showline'); cf=feplot;

Toplotthemodeshapessimplyusecf.def=XF('IdMain').Itmaybeuseful tounderstandtherelationbetweentestandFEMstorage def.DOF listofdegreesoffreedomtowhichthedeformationapplies.Fortest firstcolumnofXF(IdMain).dof(:,1) def.datanaturalfrequencies.FortestXF(IdMain).po def.def modeshapes.FortestXF(IdMain).res

41/47

SDTPrimer

UniversityofBristol

2.5 SDTmodalidentificationexample
Theexamplestructurebeingusedhereisatubularstructureshownbelow.

ThetestdatausedwasgeneratedusingSDTafulltestingexamplewillbe givenseparately.
% The data can be downloaded at % www.sdtools.com/contrib/kart_example.mat %-----------

% WIRE FRAME DEFINITION (present in WIREFRAME) built with %----------------------WIREFRAME.Node=[ ... 1 0 0 0 0.613 0 0 2 0 0 0 1.133 -0.198 0 3 0 0 0 1.548 -0.208 0 4 0 0 0 1.538 -0.487 0 5 0 0 0 1.133 -0.51 0 6 0 0 0 0.613 -0.742 0 7 0 0 0 0.32 0 0 8 0 0 0 0.772 -0.287 0 9 0 0 0 0.772 -0.521 0 10 0 0 0 0.33 -0.748333333333333 11 0 0 0 0.41 -0.218 0 12 0 0 0 0.38 -0.545 0 13 0 0 0 0.1 -0.220666666666667 14 0 0 0 0.1 -0.551666666666667 15 0 0 0 0 -0.217714285714286 16 0 0 0 0 -0.544285714285714 ]; % nodes for wire frame defined WIREFRAME.Elt=[];feplot(WIREFRAME) fecom('textnode');

0 0 0 0 0

% You can use the contextmenu (right click) cursor ... -> 3dline pick feplot('addline',[4 3 2 1 7 15 16 10 6 5 4]) % add a first line feplot('addline',[8 11 13 0 9 12 14 13 0 9 8 0 12 11]) % other line % POLE ESTIMATION %----------------[ci,XF]=idcom; %open interface and get pointers ci and XF load kart_example TESTDATA XF('Test').w=TESTDATA.w; % Frequencies XF('Test').xf=TESTDATA.xf; % Responses XF('Test').dof=TESTDATA.dof; % Dofs

42/47

SDTPrimer
iicom('submagpha'); % frequency response data plotted

UniversityofBristol

% poles must now be identified one by one idcom('e .01 44.6'); iicom('CurTabIdent') % pole estimated at freq of 44.6Hz with possible range of .01 percent % around that frequency. % estimate checked on freq plot, if correct it is added idcom('ea'); idcom('e .01 48.8');idcom('ea'); idcom('e .01 95.3');idcom('ea'); idcom('e .01 125.3');idcom('ea'); idcom('e .01 141');idcom('ea'); % five poles estimated in total and are stored in XF('IdMain').po. % modeshapes are based on narrowband estimate. idcom('est'); % build a broad-band identification % VISUALISATION %--------------cf=feplot; load kart_example WIREFRAME; cf.model=WIREFRAME; cf.def=XF('IdMain'); fecom('view3') % display identified shapes

43/47

SDTPrimer

UniversityofBristol

3 Correlation
Aquantifiablecorrelationbetweenexperimentalandanalyticalmodeshapes canbedeterminedbasedontheModalAssuranceCriteria(MAC).

3.1 ModalAssuranceCriteria(MAC)
Eachmodeshapeisavectorofnodaldisplacements.Thecorrelationbetween twovectorsaandbisgivenby:

{ b }T { b } MAC ( a , b ) = ({ b }T { b }).({ a }T { a })
2

Theproductofthisisascalarquantity.Ifaandbareidenticalthe numeratoranddenominatorareequal,givingaMACvalueof1.Ifthetwo vectorsareorthogonaltooneanotherthenumeratoris0andhencetheMAC valueiszero. EachvectorfromdatasetAiscomparedwitheachvectorfromdatasetB.The dataisdisplayedonaMACplot,seefig3.1. DatasetB Mode: 1 6 Mode: 1 MAC=1 DatasetA

6
Figure3.1MACplotexample

MAC=0

TheMACplotisannxngrid(nisthenumberofmodesbeingcompared) enablingcomparisonofallmodesfromdatasetAwithallmodesfromdata setB.Theleadingdiagonalrepresentsthecorrelationbetweenmodesofthe samenumberfromdatasetsAandB.Iftheorderingofthemodesineachset iscorrect(modeshavebeenpairedcorrectly)thenthecorrelationhereshould behigh.TheMACvaluescanbeascertainedusingthecolourbar. AlternativelysomeMACplotscontaintheactualMACvaluesineachcellof thegrid.

44/47

SDTPrimer

UniversityofBristol

3.1.1 AutoMAC
TheMACcanbeunreliablewhenavectorisunderpopulated.Thisisoften thecasewithexperimentaldatawherethenumberofDOFsincludedisfar lowerthanthetotal.Itisgoodpracticetocomparesuchdatawithitselfto gainanindicationofhowwellthevectorsaredefined.Thevaluesonthe leadingdiagonalwillequalunity.Highoffdiagonalterms(>0.2)indicate poordefinitionbetweenmodes.Ahighcorrelationbetweenmodeswhichare closeinfrequencyindicatesthepossibilityofcouplingbetweenmodes.

3.1.2 StandardMAC
Thisisthemostcommoncorrelationtestappliedinmodalanalysis.MAC valuesarecalculatedforallgridvaluesasindicatedinfig3.1.Automatic pairingofthemodesisoptional;basedonthehighestMACvalue.Theinitial pairingofmodesisbasedontheirfrequency,butdiscrepanciesbetween modelandtestarecommon.Itisalsopossiblethatatestmodewillhavea highcorrelationwithmorethanoneanalyticalmode,andasaresultwill appearmorethanonceontheMACplot.

3.1.3 COMAC
Thecoordinatemodalassurancecriteria(COMAC)isanextensionofthe MACandisusedtoidentifythoseDOFsresponsibleforloweringtheMAC. ForeachDOFthecorrelationisassessedbetweenanalyticalandexperimental modeshapesusingeverymode.Itrequiresthemodestobepairedusingthe standardMAC.

COMACf =

{
M m =1

amf

bmf
M

{
M m =1

T amf

amf } { bmf }
m =1 T bmf

WhereamfisthenodaldisplacementatDOFf,modemfromdataseta.As withthestandardMACavalueapproachingunityimpliesagoodcorrelation.

3.1.4 eCOMAC
TheEnhancedCOMAC(eCOMAC)isanadaptationoftheCOMAC.All modesarenormalisedtounity,thusmakingtheassessederrorinsensitiveto scaling.

45/47

SDTPrimer

UniversityofBristol

eCOMAC =

amf

bmf

amf =

bmf

amf am bmf = bm

2M

TheeCOMACisoftenpresentedasabarchart.ThexaxiscontainseachDOF andtheyaxiscontains(1eCOMAC).Thepeaksinthechartthusrepresent areasofpoorcorrelation.

3.2 ii_mac
CorrelationisachievedintheSDTusingtheii_macfunction.
ii_mac(data set/s, 'command string');

Thedatasetsareeigenvectormatricesrequiredinthecorrelation.The commandstringdeterminesthetypeofcorrelationperformed.Aplot commandcanbeincludedinthecommandstringandgeneratesanii_plot.

3.2.1 AutoMAC
TheautoMACisaselfcorrelationtestandsoonlyonedatasetisrequired.
ii_mac(data A, 'MAC auto plot');

3.2.2 StandardMAC
ThestandardMACpairstheuncorrelatedvectors.

ii_mac(data A, data B, 'MAC pair plot');

Ifthepaircommandinthestringisomittedadirectcorrelationwithout pairingisperformed.

3.2.3 COMAC
TheCOMACcommandautomaticallypairsthemodesusingtheMACpair command.TheequivalenteCOMACcommandisalsogiven.
ii_mac(data A, data B, 'comac plot'); ii_mac(data A, data B, 'comac e plot');

Inallii_macfunctionsgiven,omissionoftheplotcommandwillpreventthe MACplotbeingdisplayed. 46/47

SDTPrimer

UniversityofBristol

Thereareanumberofadditionalplotfeaturesthatcanbeusedwiththe ii_macfunction.AlistofthesecanbefoundintheSDThelpfiles.Theplot featurescanalsobeaccessedusingtheii_plotGUI.

47/47

You might also like