121
12 TU/e – Master’s thesis Coaching: Dr.Ir. I.Lopez Ir. W.J.Dijkhof Supervisors: Prof.dr. H.Nijmeijer Prof.dr.ir. J.W.Verheij Eindhoven University of Technology Department of Mechanical Engineering Dynamics and Control Technology Group Eindhoven, September 2005 Robust design of structures using uncertainty methods combined with Component Mode Synthesis H.W.J.van den Berg DCT 2005.122

mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

12 TU/e – Master’s thesis Coaching: Dr.Ir. I.Lopez Ir. W.J.Dijkhof Supervisors: Prof.dr. H.Nijmeijer Prof.dr.ir. J.W.Verheij Eindhoven University of Technology Department of Mechanical Engineering Dynamics and Control Technology Group Eindhoven, September 2005

Robust design of structures using uncertainty methods combined

with Component Mode Synthesis

H.W.J.van den Berg

DCT 2005.122

Page 2: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

i

Summary

When designing mechanical constructions the dynamic behavior of such a construction is animportant issue. It considers the vibrations and deflections of the construction that resultfrom several loads, which vary through time. To predict this dynamical behavior modelsare used that describe the behavior of the construction as good as possible. If a design iscompleted and the construction is build several deviations will be introduced with respect tothe original design, causing the realized construction to deviate from the model that was usedto predict its behavior as well. These deviations can be introduced for example by varyingmaterial properties or imperfect measurements while building it. Of course it is undesirablethat the construction will fail due to these deviations, so it is important to be able to predictthe influence such deviations have on the dynamical behavior of the construction.The focus of this report is to study and assess two methods that were designed for this purposeby W.J.Dijkhof at the Eindhoven University of Technology, as part of his Ph.D. study. Onemethod, Perturbation Monte Carlo Simulation, uses derivatives of the system matrices togenerate realizations that together can be used to calculate the statistical properties of thesystem response. The other method uses a first order Taylor approximation to predict thestatistical properties of the system response. Both methods are combined with ComponentMode Synthesis which improves both the usability as well as the calculation time. Themathematical derivation of both methods is presented. Next a test model is defined to assessboth methods. Both methods are tested with and without applying model reduction. Itproves to be difficult to set a limit for the dispersion for which both methods still produceaccurate results. For a standard deviation of 3% in the varied parameter in the test forexample, it depends on the assumed damping, the choice of the uncertain parameter andof course the specific construction whether an acceptable result is achieved. Both methodsshow a considerable time gain with respect to the reference method, especially when modelreduction is applied. Finally an optimization case is formulated, with the intention to use theuncertainty methods to judge the resulting optima for robustness. The chosen optimizationproblem turns out to be less suitable to let the uncertainty methods be of consequence forthe choice of the final optimum, since the robustness of the found optima is similar.

Page 3: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

ii

Page 4: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

iii

Samenvatting

Bij het ontwerpen van mechanische constructies speelt het dynamisch gedrag van een con-structie een belangrijke rol. Het betreft de trillingen en vervormingen van de constructie alsgevolg van belastingen die door de tijd variren. Om dit dynamisch gedrag te voorspellenwordt gebruik gemaakt van modellen die het gedrag van de constructie zo goed mogelijkbeschrijven. Wanneer een ontwerp voltooid is en de constructie gebouwd gaat worden zullendiverse afwijkingen ontstaan ten opzichte van het originele ontwerp, waarmee de gerealiseerdeconstructie dus ook afwijkt van het model aan de hand waarvan zijn gedrag is voorspeld.Deze afwijkingen kunnen het gevolg zijn van bijvoorbeeld varierende materiaaleigenschappenof van afwijkende maatvoering. Het is uiteraard niet wenselijk dat de constructie als gevolgvan deze afwijkingen niet naar behoren zal functioneren en dus is het belangrijk te kunnenvoorspellen hoe het dynamisch gedrag van een constructie veranderd ten gevolge van diverseafwijkingen in parameters van constructie.Dit verslag richt zich op het bestuderen en beoordelen van twee methoden die hiervoor zijnontwikkeld door W.J.Dijkhof aan de Technische Universiteit Eindhoven, als onderdeel vanzijn promotie-onderzoek. De ene methode, Perturbation Monte Carlo Simulation, maakt ge-bruik van de afgeleiden van de systeemmatrices om zo realisaties te genereren die tezamenkunnen worden gebruikt voor het bepalen van de statistische eigenschappen van de responsie.De andere methode maakt gebruik van een 1e orde Taylor-benadering om de statische eigen-schappen van de responsie te bepalen. Beide methodes zijn gecombineerd met ComponentMode Synthesis wat de mogelijkheden van toepasbaarheid alsook de snelheid van de bereke-ning vergroot. De wiskundige afleiding van beide methodes is hier uiteengezet. Vervolgens isvoor de bestudering van beide methoden een test-model gedefinieerd. Beide methoden zijngetest met en zonder de toepassing van reductie. Het blijkt moeilijk te zijn precieze grenzenaan te geven tot welke spreidingen de methodes nog accurate resultaten geven. Voor eenspreiding van 3% hangt het in de test bijvoorbeeld af van de gestelde demping, de gekozenonzekere parameter en uiteraard de precieze constructie of een aanvaardbaar resultaat wordtbehaald. De tijdwinst die beide methoden opleveren ten opzichte van de referentiemethodeis groot, met name als de modelreductie wordt toegepast. Tenslotte is een optimalisatieprob-leem geformuleerd, waarbij de beide methoden gebruikt worden om de gevonden optima tebeoordelen op robuustheid. Het gekozen optimalisatieprobleem blijkt echter minder geschiktom de methoden een rol van betekenis te spelen bij het bepalen van het uiteindelijke optimum,doordat de gevonden optima een vergelijkbare robuustheid blijken te hebben.

Page 5: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

iv

Page 6: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

Contents

1 Introduction 1

2 Theoretical background of the proposed methods 52.1 Essence of the methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 Component mode synthesis method of Rubin . . . . . . . . . . . . . . . . . . 5

2.2.1 Component mode synthesis . . . . . . . . . . . . . . . . . . . . . . . . 62.2.2 Coupling procedure of Martinez . . . . . . . . . . . . . . . . . . . . . . 9

2.3 Taylor series method and MCS . . . . . . . . . . . . . . . . . . . . . . . . . . 112.4 Mixed Perturbation Monte Carlo simulation . . . . . . . . . . . . . . . . . . . 132.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3 Numerical assessment of the proposed methods 173.1 Software implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.2 Definition of the test case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.3 The Monte Carlo analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.4 Results of the PMCS method . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.5 Results of the Taylor method . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.6 Conclusions & discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4 Implementation within an optimization problem 374.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.2 Definition of the optimization case . . . . . . . . . . . . . . . . . . . . . . . . 384.3 Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404.4 Robustness of the optimization results . . . . . . . . . . . . . . . . . . . . . . 454.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

5 Conclusions and recommendations 495.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495.2 Recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

A Comparison PMCS-MCS for identical realisations 53

B Theorem comparing Taylor result and nominal response 55

C MatLab command files 57C.1 Calc crit.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57C.2 Connect.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

Page 7: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

vi CONTENTS

C.3 Dofs physical.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63C.4 EditDefMod1.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64C.5 Editoptimmodel Ansys.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65C.6 Element info.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68C.7 Input define.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69C.8 Move.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72C.9 Node2dof.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73C.10 Node info.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73C.11 Optim construction resp red.m . . . . . . . . . . . . . . . . . . . . . . . . . . 75C.12 PMCSn unwrap.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75C.13 Readfull.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81C.14 Resp check.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84C.15 Responses many rods2red.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86C.16 Responses many rods8.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87C.17 Responses 8 local optimacheck.m . . . . . . . . . . . . . . . . . . . . . . . . . 89C.18 Rubin.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91C.19 RunMCanalysis DefMod1.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94C.20 Stress 50g.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98C.21 Substructure.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101C.22 Taylor.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102C.23 Totalrun DefMod1.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111C.24 Totalrun red DefMod2.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

Page 8: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

Chapter 1

Introduction

When designing structures which are liable to forces or vibrations, the dynamic behavior isan important matter to study. When computations are made with a model for a designedconstruction, a lot of assumptions are made, as is normal in dynamic computations. Such amodel normally has geometric and physical properties that precisely follow the design of theconstruction in order to describe and predict its behavior. Of course the construction will notmeet its specifications precisely as it is build, since small variations in geometric or materialproperties are inevitable. To prevent a design from failing due to these minor variations,it is important to be able to predict the dynamic response of a construction liable to thesevariations. This dynamic response is the vibration behavior that the construction has due tovarying external loads like wind, ground excitations or specific loads.

To achieve such a prediction several methods are available. The choice for which methodis to be used depends on the frequency range of interest. In the low frequency range a fewstructural modes can be used to already effectively describe the system behavior. The FiniteElement method (FEM) is very adequate to approximate the dynamic model and computethe response in this range. The high frequency range needs a very large number of structuralmodes that contribute to the response to describe the system behavior effectively. StatisticalEnergy Analysis is a generally accepted method to describe the response of a structure in thisrange. The Finite Element Method is not usable here, because too many finite elements areneeded to capture the short wavelength deformation, which is present in this high frequencyrange. Furthermore, the numerical errors have a significant effect on the higher modes. Themid frequency range is the area between these two, which holds all cases that fall in betweenthe previous two ranges. It depends on the specific model and the demands of the quality ofthe results resulting from the model, whether the high frequency or low frequency approachshould be used. The bounds of these frequency ranges cannot be specified in general, sincethese also depend on the specific evaluated model.

Drawback of FEM is that every variation of a parameter has to be evaluated separately.Since in many cases not just one but several parameters of a structure are liable to variations,this leads to a large number of possible combinations for these parameter values and thereforethe calculation time increases exponentially to get insight in the sensitivity of the response dueto the uncertain parameters. To overcome this several uncertainty approximation methodsare available.

For this project the interest lies in uncertainty methods which give an accurate approx-

Page 9: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

2

imation for the response of a structure in the low and mid frequency range. Basically thereare four classes of probabilistic approximation methods to obtain the relevant statistics usinga FEM framework [1]. These are 1) Monte Carlo Simulation, 2) spectral methods, 3) pertur-bation methods and 4) surface response methods [1] [2] [3]. Monte Carlo simulation generatessamples of the random variable(s) for which the quantities of interest are computed. Fromthe total set of samples the statistics are generated. Spectral methods develop the systemparameters and response in functions based on orthogonal polynomials. Perturbation meth-ods replace an exact problem which does not have a tractable explicit solution by a seriesof approximate problems which have simpler and preferably explicit solutions. The Taylorseries method is the most straightforward example. Here, quantities like response, dynamicstiffness and the excitation force are developed in a first order Taylor series about the meanof the uncertain parameters. The derivatives of the response are determined by substitutingthe series in the equation of motion, which results in a polynomial in the uncertain param-eters, and equating its coefficients to zero. The surface response method is an interpolationmethod, which approximates the response by a polynomial in the uncertain parameters. Thecoefficients of this polynomial are determined by substituting realizations. Here two modalvariants of perturbation methods will be considered, which are used in combination withFEM. This choice is made because these are computationally efficient, most widely applica-ble and capable of handling uncertain parameters with a nonlinear influence on the systemmatrices [4]. For complex mechanical structures the number of elements in a FEM analysiscan be very large, resulting in systems matrices with very large dimensions which then againlead to large computational times. To overcome this problem reduction methods are availableto reduce the number of dof’s in the model, what results in a smaller computational effortto solve the dynamic response problems. For a limited frequency range the accuracy of theresponse prediction is not affected significantly by this. A specific class of these methods iscalled the ”Component Mode Synthesis” methods (CMS).

The goal of this project is to study and assess the combination of two specific perturbationuncertainty methods with a CMS reduction technique. This concept is introduced in the Ph.D.study performed by W.J.Dijkhof at the Eindhoven University of Technology, which is to becompleted in 2005. It is part of the project ”Robust design of low noise structures” which isperformed in association with TNO. The first uncertainty method to be combined with CMSis the well known Taylor series [4]. This method is only valid for small perturbations, but hasthe benefit of being generally applicable. Small perturbations here refer to standard deviationswhich are much smaller then a few percent of the mean of the uncertain parameters. Thesecond uncertainty method to be combined with CMS reduction is called mixed PerturbationalMonte Carlo simulation (PMCS) [4]. This method in an extension of the method presentedin [5] and combines a perturbation method with the Monte Carlo simulation in a modalframework. The CMS reduction method that will be used in both uncertainty methods isthe method of Rubin. The uncertainty methods can be combined with any CMS method,but in this master thesis Rubin will be used, because this method can handle the modesexperimentally in a better way than other CMS-methods. This gives the possibility to verifythe results from the numerical experiments with a real experimental setup in future work.

This thesis will start in chapter 2 with elaborating the theory of the Rubin reductionmethod, followed by the theory of the Taylor method and the PMCS method. Next inchapter 3 a test model is introduced which will be used to evaluate the presented theories.With this test model several numerical experiments have been performed from which the

Page 10: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

1. INTRODUCTION 3

results are presented. After this assessment the designed methods will be implemented in anoptimization problem in chapter 4. With an optimization problem sometimes several optimaresult, depending on the characteristics of the problem and the initial starting conditions ofthe solver. The approximation methods are used to select the most robust optimum from theset of optima that results. Finally an overview is given of the conclusions that can be drawnabout the combination of the two perturbation uncertainty methods with the Rubin CMSmethod.

Page 11: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

4

Page 12: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

Chapter 2

Theoretical background of theproposed methods

2.1 Essence of the methods

As mentioned in the introduction, the methods of interest are designed to predict dynamicbehavior of structures liable to minor changes in physical and geometrical properties. Themethods both combine stochastic finite element methods with the specific class of modalreduction known as Component Mode Synthesis. This also gives the possibility to use sub-structuring.The choice for a stochastic approach results from the objective of wanting to predict theeffect of uncertainties and small variations. Deterministic calculations will always give thesame result when the same input parameters are given (which means no variation in results ispresent), and as stated before the goal of the approximation methods is to predict variationsin dynamic behavior due to parameter uncertainties.

The most basic way of achieving this goal, is by running several dynamic analyses overand over, each with slightly varied input parameters. Using all separate response results asinput for a statistic analysis results in an estimation of the overall response and the sensitivityof this response to the varied parameters. This method is known as Monte Carlo Simulation.It has the drawback that it is very time consuming, since for every variation of parametersa total FEM-analysis has to be performed. To decrease this calculation time, approximationmethods will be used and model reduction will be applied, to obtain the system response.These will now be explained step by step.

2.2 Component mode synthesis method of Rubin

Complex mechanical structures often consist of several parts that can be identified as sub-structures within the main product. Such a substructure will have a specific model whichcan be coupled to the general model in a later stadium of the structure analysis. This canfor example be a landing gear of an airplane, which will have its own dynamical behavior,but in the final stage it will make part of the dynamical behavior of the entire airplane. Tocalculate the general dynamic behavior of the airplane, it is rather unfeasible to just cou-ple all models from the separate substructures because this would lead to a gigantic modelwhich is very time consuming to analyse. To overcome this problem reduction techniques

Page 13: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

6 2.2. COMPONENT MODE SYNTHESIS METHOD OF RUBIN

have been developed which reduce the number of dof’s per substructure and therefore reducethe number of dof’s for the total model. In this example the mentioned substructure, thelanding gear, is something that can be physically isolated from the total structure, but thisis not necessary for the definition of a substructure. Furthermore it is also possible to workthe other way around: first start with a major model, and next define the substructures thatwill be reduced individually. Finally they will be coupled again to result in a reduced majormodel. This proces is the main idea of Component Mode Synthesis. Several ComponentMode Synthesis methods have been developed, from which the Craig-Bampton method [6]and the Rubin method are the most populair ones. In this thesis the Rubin method [7],[8]will be used, since this makes it easier to verify the results experimentally in future work.The drawback of Craig-Bampton is that it requires the experimental structure to have a verystiff connection with the reference world, while with Rubin the structure needs a very weakconnection with the reference world, which can easily be achieved by mounting it into a setof springs with extreme low stiffness.

2.2.1 Component mode synthesis

A linear structure with n dof’s can be described by the set of differential equations:

Mq(t) + Cq(t) + Kq(t) = F (t) (2.1)

or written in the frequency domain:

(K + iΩC − Ω2M)q(Ω) = F (Ω) (2.2)

The reduction method is now started by expressing the n dof’s from q(Ω) as a function of asmaller set of np new generalised dof’s p(Ω):

q(Ω) = T p (Ω) (2.3)

with T the transformation matrix with dimensions (n∗np). Substitution of this transformationin (2.2) the set of np differential equations in the generalised dof’s p(Ω) gives:

(Kred + iΩCred − Ω2M red)p(Ω) = F red(Ω) (2.4)

with:M red = T T M TKred = T T K TCred = T T C T

F red = T T F

(2.5)

Next the explanation follows of how the displacement field of the structure is approximatedby a linear combination of kept free-interface modes, rigid body modes and residual flexibilitymodes.

The eigenvalue problem for an undamped system with symmetric system matrices is:

[−Ω2M + K]u = 0 (2.6)

The solution for this are the eigenfrequencies Ωk and corresponding eigencolumns uk fork = 1, 2, . . . n. These are the free interface modes. The eigenvalues λk = Ω2

k are gathered in

Page 14: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

2. THEORETICAL BACKGROUND OF THE PROPOSED METHODS 7

the diagonal matrix Λ and the eigencolumns in the matrix U :

Λ =

λ1

λ2

··

λn

; U = [u1, u2, . . . , un] (2.7)

It is assumed that the eigenvalues are sorted as λ1 ≤ λ2 ≤ . . . ≤ λn. Further the eigencolumnsare mass normalized. Now the frequency response function is:

H(Ω) =n∑

k=1

ukuTk

(λk − Ω2)(2.8)

Assume one is interested in the response up to a certain frequency, bounded like 0 < Ωinterest <Ωmax. Since for a large number of modes it will hold that Ω2 ¿ λk the following approximationof (2.8) can be made:

H(Ω) ≈nk∑

k=1

ukuTk

(λk − Ω2)+

n∑

d=nk+1

uduTd

λd= Uk[Λkk − Ω2Ikk]−1UT

k + Ud[Λdd]−1UTd (2.9)

Here the index k (k = 1, 2, . . . nk) refers to the ”kept-eigenmodes”, which are the modes inthe frequency band of interest. They form the first part of the transformation matrix. Theindex d (d = nk + 1, . . . n) refers to the ”deleted” modes which will not be taken into accountdirectly. An approximation for these terms is derived below. The kept modes uk and theircorresponding eigenvalues are put in the submatrices Uk and Λkk and the deleted modes andeigenvalues in the submatrices Ud and Λdd:

Λ =[

Λkk Okd

Odk Λdd

]; U = [Uk, Ud] (2.10)

Now the distinction is made between boundary dof’s qb

and internal dof’s qi. The boundary

dof’s are those where an external force acts on the structure, boundary conditions are presentor where the structure is coupled to other substructures. The internal dof’s are the remainingdof’s. Next the assumption is made that subsequently in each of the boundary dof’s aharmonic unity-force is acting whereas all the other dof’s are unloaded. All these load columnstogether are building the matrix B:

B =[

Ibb

Oib

](2.11)

with size (n ∗ nb), nb being the number of boundary dof’s. Combining these complex valuedexcitation moduli with (2.9) gives the complex valued response column Q:

Q ≈ [Uk(Λkk − Ω2Ikk)−1UT

k ]B + [UdΛ−1dd UT

d ]B (2.12)

This equation shows the system response can be approximated by a linear combination ofeigenmodes uk together with a number (nb) of residual flexibility modes φ

l, with l = 1, 2 . . . nb.

These residual flexibility modes build the matrix Φ:

Φ = UdΛ−1dd UT

d B (2.13)

Page 15: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

8 2.2. COMPONENT MODE SYNTHESIS METHOD OF RUBIN

Now the goal is to calculate Φ without having to calculate the deleted modes Ud, since thisis very time consuming for systems with a large number of dof’s. This explains why they areregarded as deleted eigenmodes.A distinction is made between systems with and without rigid body modes. This follows fromthe fact that for a system with rigid body modes K is not invertible since K will be singular,so it is not possible to use K−1 for these systems to calculate the residual flexibility modes.

No rigid body modes

For a system with no rigid body modes it follows from UT K U = Λ that:

K−1 = U Λ−1 UT = Uk Λ−1kk UT

k + Ud Λ−1dd UT

d (2.14)

The residual flexibility matrix Gres is defined as:

Gres = Ud Λ−1dd UT

d = K−1 − Uk Λ−1kk UT

k (2.15)

The prefix ”residual” points out that the effect of the kept modes Uk is removed from theinverse K−1. The resulting residual flexibility modes can now be identified as:

Φ = Gres B = [K−1 − Uk Λ−1kk UT

k ]B (2.16)

This means in practice only a (small) number of modes Uk has to be calculated, together withthe inverse of the stiffness matrix K. This leads to the transformation matrix T :

T = [Uk, Φ]n∗(nk+nb) (2.17)

Rigid body modes

As said for a system or substructure that has rigid body modes the stiffness matrix wil besingular and the inverse can not be created directly. Therefore the procedure is adapted. Therigid body modes are a subset of the free interface modes for which the eigenfrequency is zero.For these rigid body modes can be written:

KUr = Or (2.18)

where the matrix Ur contains the rigid body modes ur . It is a submatrix of the matrix Uthat contains all free interface modes. U is completed with Ue that contains the elastic freeinterface modes with eigenvalues λk 6= 0. The corresponding eigenvalues are put in the matrixΛee. This gives the following partitioning in the matrices Λ and U :

Λ =[

Orr Ore

Oer Λee

]=

Orr Ork Ord

Okr Λkk Okd

Odr Odk Λdd

; U = [Ur, Ue] = [Ur, Uk, Ud] (2.19)

Now the matrices P and G are defined:

P ≡ I −M Ur UTr = M Ue UT

e = K Ue Λ−1ee UT

e (2.20)

G =[

K−1EE Oer

Ore Orr

](2.21)

Page 16: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

2. THEORETICAL BACKGROUND OF THE PROPOSED METHODS 9

Then, through a derivation which will not be set out here, the residual flexibility modesresult in:

Φ = [P T GP − Uk Λ−1kk UT

k ]B (2.22)

A complete derivation of this result can be found in [8]. The result leads back to (2.16), sincefor a system with no rigid body modes G = K−1

ee , P = I resulting that P T GP = G = K−1ee =

K−1, which is the exact result that was derived before. The transformation matrix T forsystems with rigid body modes thus becomes:

T = [Ur, Uk, Φ] (2.23)

2.2.2 Coupling procedure of Martinez

The total transformation that takes place with the Rubin’s method can be written as:

[qi

qb

]=

[Φi,r Φi,k Φi,b

Φb,r Φb,k Φb,b

]

pr

pk

pb

(2.24)

It can be seen that the generalized dof’s p do not explicitly contain the physical boundarydof’s q

b. This makes the coupling not straightforward, but the coupling procedure of Martinez

will recover these boundary dof’s again. Solving the second equation of (2.24) for pb

gives:

pb= Φ−1

b,b qb− Φ−1

b,b Φb,kpk− Φ−1

b,b Φb,rpr(2.25)

From the combination of (2.24) and (2.25) it follows that:

[qi

qb

]=

[Φi,r Φi,k Φi,b

Φb,r Φb,k Φb,b

]

Ir,r Or,k Or,b

Ok,r Ik,k Ok,b

−Φ−1b,b Φb,r −Φ−1

b,b Φb,k Φ−1b,b

pr

pk

qb

≡ Z

[p

iqb

]≡ Zp

Z

(2.26)Rewriting the set of differential equations from (2.2) with this new complete transformation:

(KZ + iΩCZ − Ω2MZ)pZ(Ω) = FZ (2.27)

withKZ = ZT K Z; CZ = ZT C Z; MZ = ZT M Z; FZ = ZT F (2.28)

Because the set of dof’s pZ

now contains the boundary dof’s the coupling can be performedvery easy. The coupled system equations result in:

(KglobalZ +iΩCglobal

Z −Ω2MglobalZ )pglobal

Z(Ω) = FZ+CT λ with the constraint C pglobal

Z(Ω) = 0

(2.29)The constraint equation ensures compatibility between the substructure interfaces. The globalmatrices are the gathering of the diagonals of the substructure matrices:

KglobalZ = diag(K(1)

Z ,K(2)Z , . . . , K

(N)Z ); likewise for Cglobal

Z and MglobalZ (2.30)

Page 17: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

10 2.2. COMPONENT MODE SYNTHESIS METHOD OF RUBIN

The indices in the superscript (1, 2, . . . N) refer to the several substructures that are combinedin the global model. The global modal degrees of freedom, the modal forces and the Lagrangemultipliers are given by:

pglobalZ

=

p(1)i

q(1)b

p(2)i

q(2)b...

p(N)i

q(N)b

, F globalZ =

F(1)i

F(1)b

F(2)i

F(2)b...

F(N)i

F(N)b

λ = a vector consisting of Lagrange multipliers

(2.31)Note that λ can be identified with the internal forces which ensure equilibrium of interface

loads. To determine the system of equations without Lagrange multipliers, a basis of the null-space of C must determined. That is, all vectors xm such that Cxm = 0. Those vectors definethe coupling matrix L, which is given by

L =[x1 x2 . . . xM

](2.32)

with the property C L = 0. This gives us new coordinates w such that pZ

= Lw. Substitutingp

Z= Lw into (2.27) and left multiplying with LT gives

(KL + iΩCL − Ω2ML)w(Ω) = LT FZ + LT CT λ = FL (2.33)

withKL = LT KZL, CL = LT CZL, ML = LT MZL, FL = LT FZ (2.34)

Note that FL contains only elements of F(s)b and that the interface loads g

(s)i cancel out.

If the global system is weakly or proportionally damped, then the solution of (2.33) is givenby:

w(Ω) = HL(Ω)FL with HL(Ω) =p∑

j=1

Uglobal,jUTglobal,j

mj(Ω2global,j + 2iξjΩglobal,jΩ− Ω2)

(2.35)

with Uglobal,jj and Ω2global,jj the solutions of the eigenvalue problem

(KL − Ω2global,jML)Uglobal,j = 0 (2.36)

with

Ω2global,j =

kj

mj=

T T KLT [j, j]T T MLT [j, j]

, cj = T T CLT [j, j], T =[Uglobal,1 . . . Uglobal,p

](2.37)

The modal damping coefficient is given by

ξj =cj

2Ωglobal,jmj(2.38)

Page 18: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

2. THEORETICAL BACKGROUND OF THE PROPOSED METHODS 11

Finally, the reduced system dof’s w can be expressed in terms of the physical degrees offreedom q(s) of the system, using the transformations p

Z= Lw and q(s) = Z(s)p

(s)Z

q ≡

q(1)

q(2)

...q(N)

=

Z(1)L(1)

Z(2)L(2)

...Z(N)L(N)

w ≡ Zgw (2.39)

This completes the coupling of the separate substructures.

2.3 Taylor series method and MCS

In this subsection, the mean and standard deviation of the amplitude and phase of the dis-placement will be estimated using a first order Taylor series (about the mean of the randomvariable) combined with CMS. It is derived from Dijkhof [4] . Recall that the Taylor seriesof a function f (about a = E[a]) is given by

f(a) =∞∑

j=0

1j!

(N∑

k=1

(ak − E[ak])∂

∂yk)jf(y)|y=E[a] (2.40)

where a = (a1, . . . , aN )T and E[a] = (E[a1], . . . ,E[aN ])T . Let a be a vector of uncertain phys-ical or geometrical parameters (modelled as a random vector) with independent arguments.Let’s consider (2.33), thus

BL(a, Ω)w(a, Ω) = FL(a,Ω) with BL(a, Ω) ≡ KL(a) + iΩCL(a)− Ω2ML(a) (2.41)

The mappings which depend on a will be developed in a first order Taylor series (as in (2.40)),and substituted in (2.41). Both sides of (2.41) will become a polynomial in ak − E[ak]k,and that implies that the coefficients of the terms of the polynomials have to be equal. Forthe constant terms (with j = 0) we have

BL(E[a], Ω)w(E[a], Ω) = FL(E[a, Ω]) (2.42)

For the linear terms (with j = 1) we have

BL(E[a], Ω)∂w(E[a],Ω)

∂yk+

∂BL(E[a], Ω)∂yk

w(E[a],Ω) =∂FL(E[a], Ω)

∂yk(2.43)

Note that the solution of (2.42) is obtained by an analysis of the nominal structure. Thus

w(E[a], Ω) = HL(E[a],Ω)FL(E[a], Ω) with HL(E[a], Ω) ≡ B−1L (E[a], Ω) (2.44)

After computing this frequency response function we can solve for ∂w(E[a],Ω)∂yk

using (2.43). Itis given by

∂w(E[a], Ω)∂yk

= HL(E[a],Ω)(∂FL(E[a], Ω)

∂yk− ∂BL(E[a], Ω)

∂ykw(E[a],Ω)) (2.45)

Page 19: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

12 2.3. TAYLOR SERIES METHOD AND MCS

Next (2.44) and (2.45) are substituted in the Taylor approximation of q(E[a], Ω) (see (2.40))

q(a,Ω) ≈ q(E[a], Ω) +N∑

k=1

(ak − E[ak])∂q(E[a], Ω)

∂yk(2.46)

with q(a, Ω) = Zg(a)w(a, Ω) in imitation of (2.39). Collecting all terms up to the first orderand taking the mean gives

E[q(a)] = q(E[a]) (2.47)

since the expectation of the sum is zero. Similarly, for the second order moment:

E[q(a)qT (a)] ≈ q(E[a]).qT (E[a]) +N∑

k=1

Var[ak]∂q(E[a], Ω)

∂yk.∂qT (E[a], Ω)

∂yk(2.48)

The standard deviation is given by

SD[qj(a)] =√E[q2

j (a)]− E[qj(a)]2 (2.49)

In general, the displacement q(a) will be complex valued, and it is useful to compute themean and standard deviation of the amplitude and phase of the displacement.As can be seen in (2.44) and (2.45), the following quantities need to be computed: HL(E[a], Ω),BL(E[a], Ω), ∂BL(E[a],Ω)

∂ykand ∂FL(E[a],Ω)

∂yk. HL(E[a],Ω) follows from a deterministic eigenvalue

analysis, which must be performed first. The other quantities can be determined directly(from (2.28) and (2.34))

BL(E[a],Ω) = KL(E[a]) + iΩCL(E[a])− Ω2ML(E[a]) (2.50)

∂BL(E[a], Ω)∂yk

= LT diag(O, . . . , O,∂B

(v)Z (E[a],Ω)

∂yk, O, . . . , O)L (2.51)

∂FL(E[a],Ω)∂yk

= LT diag(O, . . . , O,∂Z(v)(E[a], Ω)

∂yk, O, . . . , O)F (E[a], Ω) (2.52)

where the v-th substructure depends on a, that is B(v)Z (Ω) = B

(v)Z (a,Ω). Finally, using

(2.44), (2.45) and (2.39), the mean and the standard deviation can be obtained for the ampli-tude and phase of the displacement. The mean and the standard deviation of the amplitude,for example, are given by

E[|q(a,Ω)|] =∫ ∞

−∞. . .

∫ ∞

−∞|q(E[a], Ω) +

N∑

k=1

(yk − E[ak])∂q(E[a],Ω)

∂yk|fa(y) dy1 . . . dyN (2.53)

With fa(y) the joint probability density of the random vector a.

E[|q(a,Ω)|2] =∫ ∞

−∞. . .

∫ ∞

−∞|q(E[a], Ω)+

N∑

k=1

(yk−E[ak])∂q(E[a], Ω)

∂yk|2fa(y) dy1 . . . dyN (2.54)

SD[|q(a, Ω)|] =√E[|q(a, Ω)|2]− (E[|q(a, Ω)|])2 (2.55)

The integrals can be approximated by Gaussian integration. The mean and standard deviationof the phase of the amplitude φ(q(a,Ω)) can be obtained by replacing |.| by φ(.) in (2.53),(2.54) and (2.55).

With the definition of the mean and the standard deviation given, the derivation of theTaylor approximation method is completed.

Page 20: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

2. THEORETICAL BACKGROUND OF THE PROPOSED METHODS 13

2.4 Mixed Perturbation Monte Carlo simulation

Van den Nieuwenhof and Coyette [5] introduced a method in which the eigenvalues and eigen-modes of the system are developed in a first order Taylor series, and they combined this with aMonte Carlo Simulation approach to generate the eigenvalues and eigenmodes. This methodwas extended in Dijkhof [4] by combining it with CMS reduction method. The outline of theresulting method is shown in this section.

Let a(r) be a realization of an uncertain parameter vector a, and f be some mapping. Thenf(a(r)) can be generated in the following way

f(a(r)) = f(E[a]) +N∑

j=1

δf(E[a], h(r)j ej), h

(r)j = a

(r)j − E[aj ] (2.56)

where δf(E[a], h(r)j ej) is a perturbation of f in E[a] given by

δf(E[a], h(r)j ej) = h

(r)j

f(E[a] + tjej)− f(E[a])tj

, tj = ε · E[aj ] (2.57)

with ej the unit vector where the j-th element equals 1, and |ε| ¿ 1 (in this report ε = 0.01 istaken, but if it is taken too small numerical precision difficulties arise). Thus (2.57) generatesa perturbation in the j-th argument of f . This implies that the realization in (2.56) is obtainedby perturbing all N arguments of f and adding them to the nominal value.

The quotient in the righthand side of (2.57) can be computed directly, or obtained froma Finite Element Method package. After generating h

(r)j , the perturbations of f in E[a] can

be computed using (2.57).In the following part, it will be shown how to estimate the mean and standard deviation of

the response using perturbations in the substructure matrices. Perturbations will be generatedin several steps.Start with computing the global eigenvalues Ω2

glob,k and eigenmodes Uglob,k of the assembledmatrices KL, ML of the nominal structure. That is

(KL − Ω2glob,kML)Uglob,k = 0 (2.58)

Next compute the local eigenvalues (Ω2loc,k)

(s) and eigenmodes U(s)loc,k (of substructure s) of

the nominal substructure matrices K(s), M (s). That is

(K(s) − (Ω2loc,k)

(s)M (s))U (s)loc,k = 0 (2.59)

Now generate perturbations in the reduced substructure matrices K(s)Z , M

(s)Z , F

(s)Z , and the

transformation matrix Z(s), using (2.57), where f is one of these four matrices. For example

δK(s)Z (E[a], h(r)

j ej) = h(r)j

K(s)Z (E[a] + tjej)−K

(s)Z (E[a])

tj, tj = 0.01 · E[aj ] (2.60)

Next generate perturbations in the assembled system matrices KL, CL, ML, FL, and the

Page 21: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

14 2.4. MIXED PERTURBATION MONTE CARLO SIMULATION

transformation matrix Z, using

δKL(E[a], h(r)j ej) = LT diag(O, . . . , δK

(s)Z (E[a], h(r)

j ej), . . . , O)L (2.61)

δCL(E[a], h(r)j ej) = LT diag(O, . . . , δC

(s)Z (E[a], h(r)

j ej), . . . , O)L (2.62)

δML(E[a], h(r)j ej) = LT diag(O, . . . , δM

(s)Z (E[a], h(r)

j ej), . . . , O)L (2.63)

δFL(E[a], h(r)j ej) =

O...

δF(s)Z (E[a], h(r)

j ej)...O

(2.64)

δZ(E[a], h(r)j ej) = diag(O, . . . , δZ(s)(E[a], h(r)

j ej), . . . , O) (2.65)

Generate perturbations in the global eigenvalues [9]:

δΩ2glob,t(E[a], h(r)

j ej) = UTglob,t(δKL(E[a], hjej)− (Ω2

loc,t)(s)δML(E[a], h(r)

j ej))Uglob,t (2.66)

Summing over the uncertain parameters gives∑

j

δΩ2glob,t(E[a], h(r)

j ej) = UTglob,t(

j

δKL(E[a], h(r)j ej)−(Ω2

loc,t)(s)

j

δML(E[a], h(r)j ej))Uglob,t

(2.67)Then generate perturbations in the global eigenmodes [9]:

δUglob,t(E[a], h(r)j ej) = −1

2(UT

glob,tδML(E[a], h(r)j ej)Uglob,t)Uglobal,k+

n∑

k=1,k 6=t

UTglob,k(δKL(E[a], h(r)

j ej)− Ω2global,tδML(E[a], h(r)

j ej))Uglob,t

Ω2glob,t − Ω2

glob,k

Uglob,k (2.68)

Summing over the uncertain parameters gives

j

δUglob,t(E[a], h(r)j ej) = −1

2(UT

glob,t

j

δML(E[a], h(r)j ej)Uglob,t)Uglobal,t+

n∑

k=1,k 6=t

UTglob,k(

∑j δKL(E[a], h(r)

j ej)− Ω2global,t

∑j δML(E[a], h(r)

j ej))Uglob,t

Ω2glob,t − Ω2

glob,k

Uglob,k (2.69)

Compute the realizations in the global eigenvalues and eigenmodes

(Ω2glob,t)

(r) = Ω2glob,t(E[a]) +

j

δΩ2glob,t(E[a], h(r)

j ej) (2.70)

U(r)glob,t = Uglob,t(E[a]) +

j

δUglob,t(E[a], h(r)j ej) (2.71)

Next compute the realizations in the frequency response function H(Ω)

H(r)(Ω) =∑

t

U(r)glob,t(U

(r)glob,t)

T

(Ω2glob,t)

(r) + 2iξtΩ(r)glob,tΩ− Ω2

(2.72)

Page 22: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

2. THEORETICAL BACKGROUND OF THE PROPOSED METHODS 15

Compute the realizations in the generalized coordinates

w(r)(Ω) = H(r)(Ω)(FL(E[a]) +∑

j

δFL(E[a], h(r)j ej)) (2.73)

Then compute the realizations in the substructure reduction matrix Z(s)

Z(r) = Z(E[a]) +∑

j

δZ(E[a], h(r)j ej) (2.74)

Compute the realizations in the physical coordinates

q(r)(Ω) = Z(r)w(r)(Ω) (2.75)

Recall that L is the coupling matrix (used for connecting the substructures). In (2.60) per-turbations are generated for every substructure. Having N uncertain parameters and Mrealizations per uncertain parameter results in MN realizations. This means that the realiza-tions q(r)(Ω)r=1...MN are computed.

The estimated mean E[|q(Ω)|] and standard deviation SD[|q(Ω)|] of the amplitude aregiven by

E[|q(Ω)|] =1

MN

∑r

|q(r)(Ω)| (2.76)

SD[|q(Ω)|] =

√1

MN

∑r

(|q(r)(Ω)| − E[|q(Ω)|])2 (2.77)

The mean and standard deviation of the phase of the amplitude φ(q(a, Ω)) can be obtainedby replacing |.| by φ(.) in (2.76) and (2.77).With the definition of the mean and the standard deviation given ((2.76) and (2.77)), thederivation of the PMCS approximation method is completed.

2.5 Summary

In the previous sections the theoretical background of Rubin’s CMS method has been derived,followed by the derivation of its combination with the Taylor method and the PerturbationMonte Carlo Simulation method. They both resulted in definitions for the mean and standarddeviation of the structures response amplitude and its phase. From this result it is possibleto perform several numerical experiments to asses both methods, which will be done in thenext chapter.

Page 23: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

16 2.5. SUMMARY

Page 24: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

Chapter 3

Numerical assessment of theproposed methods

3.1 Software implementation

To understand the tests that will be performed in this chapter, it is convenient to have insightin how the uncertainty methods are executed on the computer. For this project a combinationof the finite element program Ansys and the technical computation program MatLab is used.A computation is started by defining a model in Ansys. The geometry, material properties andboundary conditions are defined here. Next this model is evaluated to generate an output filewhich can be used in MatLab. The results of the model evaluation are not used within Ansysitself. Then the process continues in the MatLab environment. From Ansys output files, thesystem matrices and element distribution are imported. These are completed with severalindependent input parameters, like the frequency range of interest and the points where theinput force will act. Next a preprocessing takes place, which performs the coupling for modelswith substructures, edits some of the input data and applies reduction when desired. Theresulting data is then entered into both the uncertainty methods, which are implementedin separate MatLab functions. The output of these functions contains the desired expectedvalue for the response and its standard deviation. This process is schematically representedin figure 3.1.

Ansys

model

Input

parameters

Ansys

output filesPreprocessing

PMCS

Taylor

EAU

SDAU

EUP

SDUP *

MatLab environment

* EAU - Expectation of the amplitude of the response; SDUA - Standard deviation of the amplitude of the response

EUP - Expectation phase ; SDUP - Standard deviationof the of the response of the phase of the response

Figure 3.1: Schematic representation of calculation process.

Page 25: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

18 3.1. SOFTWARE IMPLEMENTATION

The total process requires 3 basic choices to be made: these are the use of substructuring,the use of model reduction and the kind of input that is desired. The use of substructuring isset in Ansys, when the model geometry is established. If substructuring is implemented, theAnsys model will have elements with matching coordinates, which are still independent anduncoupled. The coupling will then take place within the MatLab preprocessing. The choiceto use reduction is set in MatLab. When reduction is applied the preprocessing will need twoextra input parameters, being the number of kept free interface modes and the number ofdof’s to suppress for each substructure to prevent it from having rigid body modes; these canbe identified as the length of Λkk and the length of Orr in (2.19), respectively. The theoreticalbackground of the reduction method of Rubin is already discussed in section 2.2. The choiceof what kind of input will be used for the system is also set in MatLab. It is possible tospecify a force on one or more nodes, or to prescribe one or more degrees of freedom. In thelatter case, the system matrices are modified. With a small set of equations of motion thiswill be illustrated. Take a 3 dof-system which is specified by:

m11 m12 m13

m21 m22 m23

m31 m32 m33

q1

q2

q3

+

k11 k12 k13

k21 k22 k23

k31 k32 k33

q1

q2

q3

=

F1

F2

F3

(3.1)

With a force input, F1, F2 and/or F3 will be nonzero and no further operations have to beperformed on the system matrices and force vector. If an input of prescribed dof(s) is desired,these dof(s) are isolated on the right side of the set of equations and the resulting forces on therest of the model are calculated. In this example q2 will be the prescribed dof, and thereforeF1 and F3 wil be zero since no external forces act on q1 and q3:

m11 m13

m21 m23

m31 m33

[q1

q3

]+

k11 k13

k21 k23

k31 k33

[q1

q3

]=

0F2

0

m12

m22

m32

q2 −

k12

k22

k32

q2 (3.2)

The second equation now determines the force F2, which is of no interest. This leaves thenew set of equations:

[m11 m13

m31 m33

] [q1

q3

]+

[k11 k13

k31 k33

] [q1

q3

]= −

[m12

m32

]q2 −

[k12

k32

]q2 (3.3)

For the prescribed dof only the harmonic displacement is given as input, so the accelerationhas to be calculated from this. With q2 = (iΩ)2 · q2 = −Ω2 · q2 the final set of equations is:

[m11 m13

m31 m33

] [q1

q3

]+

[k11 k13

k31 k33

] [q1

q3

]= −

[Ω2 ·m12 + k12

Ω2 ·m32 + k32

]q2 ≡ Fn (3.4)

with Fn the new resulting force vector.

After the preprocessing in MatLab all three choices are embedded in the input datafor both uncertainty methods. The choice to use substructuring gives the opportunity toisolate uncertainties in a specific part of the construction or to use different variances fordifferent parts of the construction. Since the concern of this chapter is to asses the qualityof the uncertainty methods and not their flexibility, the simulations will be done withoutsubstructuring in this chapter.

Page 26: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

3. NUMERICAL ASSESSMENT OF THE PROPOSED METHODS 19

3.2 Definition of the test case

To be able to assess the designed methods, a test model has been defined. It is a frameworkwhich is a simplification of a frame of an antenna which could be used in space for severalpurposes. This framework is shown in figure 3.2. The framework is fixed to the solid ground(or base structure) at points 1 and 2. The response of point 5 will be the subject of alltests. All bars are chosen to be steel beams with a Young’s modulus of 2 · 1011N/m2 , crosssection dimensions 25x25 mm and a wall thickness of 2 mm. For the modeling in Ansys theelement type ”beam 3” is used. The number of elements to use per beam is determined witha numerical experiment. For several numbers of elements per beam the eigenfrequencies werecalculated and compared with a reference model, which had 30 elements per beam. With atolerance of 1% deviation in the eigenfrequencies up to 1000 Hz compared to the referencemodel, 4 or more elements per beam satisfy this condition. To ensure accurate results 5elements per beam are used to model the structure, since this will have little consequencesfor the calculation time.

Figure 3.2: The basic test model.

To assess the designed methods, uncertainties will be introduced for the Young’s modulus(E) and for the beam height / width (h), while preserving a square cross section (b = h).The first will have a linear influence on the stiffness matrix. The second has a non-linearinfluence on the stiffness matrix by varying the second moment of area Ix (Ix ∼ h4) and themass matrix by varying the cross sectional area A (A ∼ h2). For the square cross sectionwith a wall thickness of 2 mm that is used the second moment of area is calculated by:

Ix =h4 − (h− 0.004)4

12(3.5)

For both parameters it is assumed that they follow a normal distribution.Both Taylor and PMCS will be tested with and without applying reduction. Table 3.1 gives

an overview of several numerical experiments that will be discussed for PMCS and Taylor-method. Though the dimensionless damping factor ξ is a property of a construction and thuscan not be chosen arbitrary, it is still varied here to illustrate its influence on the quality ofthe results. The nodes 1 and 2 will be subject to a vertical (y-direction) excitation with anamplitude of 0.1 m. The horizontal (x-direction) translation of these points is suppressed,their rotation is free from restrictions. The displacement of node 5 in y-direction and itscorresponding phase will be the evaluated response each time.

Page 27: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

20 3.3. THE MONTE CARLO ANALYSIS

Table 3.1: Overview of discussed experimentsExperiment Varied Reduction Mean Standard Dimensionless

parameter applied µ deviation σ damping factor ξ

1 Young’s modulus E no 2 · 1011 0.03 · µ 0.032 Young’s modulus E no 2 · 1011 0.05 · µ 0.033 Beam height h no 0.025 0.03 · µ 0.034 Beam height h no 0.025 0.03 · µ 0.055 Young’s modulus E yes 2 · 1011 0.03 · µ 0.036 Young’s modulus E yes 2 · 1011 0.05 · µ 0.037 Beam height h yes 0.025 0.03 · µ 0.038 Beam height h yes 0.025 0.03 · µ 0.05

3.3 The Monte Carlo analysis

For reference, a Monte Carlo analysis is performed with the model. A Monte Carlo analysisimplies that a separate calculation is performed for every realization of the uncertain param-eter. This calculation gives the system response of the specific realization. With each runthe mean response and its standard deviation can be updated, so finally the mean responseand the standard deviation are given as output. Instead of altering the system parametersmanually in Ansys for each run, a program was written in MatLab which remotely runs theAnsys program and alters the deviated system parameter. This means that before each runa sample is drawn from a normal distribution with mean µ and variance σ2, and this resultis inserted in the model as a new altered parameter value. The number of runs must be largeenough, so that the set of separate samples actually results in a normal distribution. A coupleof tests with the Monte Carlo program were performed, having respectively 50, 100, 200 and500 model evaluations. Comparing the estimated means resulted in a choice of 200 runs.These results were generated with a standard deviation σ of 0.03 ·µ. For higher standard de-viations, also a larger number of samples must be used to ensure an accurate approximation.Table 3.1 shows that 2 experiments will be discussed which have a standard deviation σ of0.05 · µ, but for these experiments the number of samples was also set to 200. The influenceof this on the results was not evaluated.

3.4 Results of the PMCS method

In figure 3.3 the results are gathered for the test with a standard deviation of 0.03 · µ in theYoung’s modulus E. The nondimensional damping factor ξ was set to 0.03 for this experiment.The upper plot shows the nominal (deterministic) response, together with the mean response(referred to as EUA) resulting from the Monte Carlo analysis and the mean response fromthe mixed Perturbation Monte Carlo Simulation. The phase of the response is not normalizedbetween −π and π, to prevent the picture from being masked by the several phase-shiftinglines. Also shown are the bounds for the resulting 97 % confidence interval. For a normaldistribution this is the interval from µ − 2σ to µ + 2σ. Despite the different character theseveral lines have, only 3 different main lines can be distinguished, being the center and thelower and upper limit of the confidence interval.

To be able to asses these results, figure 3.4 shows the difference between the PMCS-result

Page 28: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

3. NUMERICAL ASSESSMENT OF THE PROPOSED METHODS 21

0 50 100 150 200 250 300 350 400 450 50010

−2

10−1

100

101

102

Response amplitude

Frequency [Hz]

Tra

nsm

issi

bilit

y [−

]

nominal solution uEUA MCS(EUA + 2*SDUA)MCS(EUA − 2*SDUA)MCSEUA PMCS(EUA + 2*SDUA)PMCS(EUA − 2*SDUA)PMCS

0 50 100 150 200 250 300 350 400 450 500−6

−5

−4

−3

−2

−1

0Response phase

Frequency [Hz]

Ang

le [r

ad]

nominal solution uEUP MCS(EUP + 2*SDUP)MCS(EUA − 2*SDUP)MCSEUP PMCS(EUP + 2*SDUP)PMCS(EUP − 2*SDUP)PMCS

Figure 3.3: Response statistics for varied Young’s modulus E with σ = 0.03 · µ, ξ = 0.03

0 50 100 150 200 250 300 350 400 450 500−3

−2

−1

0

1

2

3Comparison responses MCS and PMCS

Diff

eren

ce [d

B]

Frequency [Hz]

20*log (EUA PMCS / EUA MCS)

0 50 100 150 200 250 300 350 400 450 500−6

−4

−2

0

2

4

6Comparison 0.97 confidence interval bounds

Frequency [Hz]

Diff

eren

ce [d

B]

20 log (Upper limit (PMCS / MCS))20 log (Lower limit (PMCS / MCS))

Figure 3.4: Response statistics comparison for varied Young’s modulus E with σ = 0.03 · µ,ξ = 0.03

Page 29: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

22 3.4. RESULTS OF THE PMCS METHOD

and the MCS-result for the expected response mean and the bounds of the 97 % confidenceinterval, all dimensioned in dB. These are calculated as:

20 · log(

result PMCS

result MCS

)[dB] (3.6)

When comparing 2 numerical methods this way a difference of 1 dB is commonly regardedas maximum to still consider the results acceptable [10]. It shows the mean response resultingfrom the PMCS method matches the reference MCS-result within 0.2 dB. The 97 % confidenceinterval shows one peak at 440 Hz for the lower bound where it exceeds 1 dB. Since for mostfrequencies a much lower deviation is present we can conclude the PMCS-method gives agood approximation for this combination of input parameters. If the theoretical backgroundof both PMCS and MCS is recalled, it can be concluded that these results should matchperfectly. As mentioned the Young’s modulus E has a linear influence on the system matricesand within PMCS a linear approximation of the variation in the system matrices is made.The difference can therefore only be attributed to the different sets of realizations from thenormal distribution. In Appendix A this numerical experiment is performed with identicalsets of realizations. It can be seen that a small difference remains present between bothresults, but this is of negligible magnitude.

Next in figure 3.5 the response is shown for a test with an uncertainty in the beam heighth with a standard deviation of 0.03 · µ. The nondimensional damping factor was also keptconstant at 0.03. The plot differs the most from the previous response where it considers thelower bound for the 97 % confidence interval. For both the Monte Carlo simulation and theMixed Perturbation Monte Carlo Simulation this amplitude tends to zero. Numerically thesevalues even become negative, which is physically impossible for an amplitude. Therefore thesevalues are left out of the plot.

This phenomenon is observable in the comparison plot in figure 3.6 as well. The quotientof the PMCS and MCS result for the lower limit exceeds the focus of the graph. This effect canbe explained by evaluating the resulting mean amplitude and standard deviation separately atthe problem frequencies. Here, for both methods 2x the resulting standard deviation SDUAalmost equals the mean EUA, causing their difference to tend to zero. This difference is thedefinition of the lower bound of the 97% confidence interval, as seen before. Since this happensfor both PMCS and MCS their quotient is very sensitive to small absolute differences. Sincenear zero a small absolute difference can already mean a relative difference of several ordersof magnitude, the plotted line exceeds the focus of the graph on both sides.

To classify this shortage figure 3.7 shows a plot containing the nominal response, the meanresponse resulting from a Monte Carlo simulation, the 97 % confidence interval bounds and all200 separate realizations the Monte Carlo simulations generated during its processing. Thegreen area is therefore the area which covers a 100 % confidence interval for this simulation.It shows that at mainly 4 frequencies the lower bound of the 97 % confidence interval deviatesfrom the green area. These peaks correspond to the steep areas of the nominal response. Itshows that by slightly altering the system parameters the nominal response mainly shifts toleft or right. These two observations together account for the large standard deviation presentat several points, since at steep areas a small shifting to left or right makes a large difference inthe response, resulting in this large variance. Therefore the mentioned peaks do not representan area of realistic response possibilities. They are just a result of the definition of a 97 %confidence interval, which only considers the mean response and its standard deviation andnot the response characteristics. Because of this, the quality of the lower bound should not be

Page 30: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

3. NUMERICAL ASSESSMENT OF THE PROPOSED METHODS 23

0 50 100 150 200 250 300 350 400 450 50010

−2

10−1

100

101

102

Response amplitude

Frequency [Hz]

Tra

nsm

issi

bilit

y [−

]

nominal solution uEUA MCS(EUA + 2*SDUA)MCS(EUA − 2*SDUA)MCSEUA PMCS(EUA + 2*SDUA)PMCS(EUA − 2*SDUA)PMCS

0 50 100 150 200 250 300 350 400 450 500−6

−4

−2

0

2Response phase

Frequency [Hz]

Ang

le [r

ad]

nominal solution uEUP MCS(EUP + 2*SDUP)MCS(EUA − 2*SDUP)MCSEUP PMCS(EUP + 2*SDUP)PMCS(EUP − 2*SDUP)PMCS

Figure 3.5: Response statistics for varied h with σ = 0.03 · µ, ξ = 0.03

0 50 100 150 200 250 300 350 400 450 500−3

−2

−1

0

1

2

3Comparison responses MCS and PMCS

Diff

eren

ce [d

B]

Frequency [Hz]

20*log (EUA PMCS / EUA MCS)

0 50 100 150 200 250 300 350 400 450 500−6

−4

−2

0

2

4

6Comparison 0.97 confidence interval bounds

Frequency [Hz]

Diff

eren

ce [d

B]

20 log (Upper limit (PMCS / MCS))20 log (Lower limit (PMCS / MCS))

Figure 3.6: Response statistics comparison for varied h with σ = 0.03 · µ, ξ = 0.03

Page 31: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

24 3.4. RESULTS OF THE PMCS METHOD

considered as a criterion for the quality of the assessed methods. The upper graph of figure 3.6shows the difference in amplitude compared to the MCS-result is larger as with the previousexperiment where the Young’s modulus E was varied, but still stays within acceptable limitsof 1 dB for most frequencies. The lower graph shows the bounds of the 97 % confidenceinterval both have a deviation that exceeds 1 dB.

0 50 100 150 200 250 300 350 400 450 50010

−2

10−1

100

101

102

Response amplitude

Frequency [Hz]

Tra

nsm

issi

bilit

y [−

]

Nominal response uMean response EUA from MCSBounds 0.97 confidence intervalRealisations u

Figure 3.7: Response statistics for varied h with σ = 0.03 · µ, ξ = 0.03 with 200 realizationsfrom MCS

The next experiment considers an uncertainty in the Young’s modulus E again, but thistime with a standard deviation of 0.05 ·µ. The nondimensional damping factor was 0.03. Theresult is shown in figure 3.8. Again the lower bound of the 97 % confidence interval exceeds thescale of the graph, indicating the mean response nearly equals 2x the standard deviation again.This makes it clear that this effect is not just a result of having an uncertainty parameterwith a nonlinear influence. In figure 3.9 the comparison plot of this experiment is shown. Thedifference for the mean amplitude stays within a limit of 0,5 dB deviation, indicating a goodapproximation. The upper bound of the confidence interval has a maximum deviation thatstays under 1 dB, so even for a standard deviation of 5 %, which is not likely for a Young’smodulus uncertainty, good results are obtained. As mentioned before, the main cause for thedeviation with an uncertain Young’s modulus is the non-identical set of realisations for bothnumerical experiments.

Finally in figure 3.10 the response is shown for a test with an uncertainty in the beamheight h with a standard deviation of again 0.03 ·µ, but now with a nondimensional dampingfactor of 0.05. The resulting comparison, plotted in figure 3.11, shows the mean responsestays within a range of 0.7 dB deviation and the 97 % confidence interval stays within a rangeof 1.7 dB deviation. These are accurate results for the approximation method.

Reviewing the used dispersions and the results from these 4 experiments it can already

Page 32: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

3. NUMERICAL ASSESSMENT OF THE PROPOSED METHODS 25

0 50 100 150 200 250 300 350 400 450 50010

−2

10−1

100

101

102

Response amplitude

Frequency [Hz]

Tra

nsm

issi

bilit

y [−

]

nominal solution uEUA MCS(EUA + 2*SDUA)MCS(EUA − 2*SDUA)MCSEUA PMCS(EUA + 2*SDUA)PMCS(EUA − 2*SDUA)PMCS

0 50 100 150 200 250 300 350 400 450 500−6

−4

−2

0

2Response phase

Frequency [Hz]

Ang

le [r

ad]

nominal solution uEUP MCS(EUP + 2*SDUP)MCS(EUA − 2*SDUP)MCSEUP PMCS(EUP + 2*SDUP)PMCS(EUP − 2*SDUP)PMCS

Figure 3.8: Response statistics for varied Young’s modulus E with σ = 0.05 · µ, ξ = 0.03

0 50 100 150 200 250 300 350 400 450 500−3

−2

−1

0

1

2

3Comparison responses MCS and PMCS

Diff

eren

ce [d

B]

Frequency [Hz]

20*log (EUA PMCS / EUA MCS)

0 50 100 150 200 250 300 350 400 450 500−6

−4

−2

0

2

4

6Comparison 0.97 confidence interval bounds

Frequency [Hz]

Diff

eren

ce [d

B]

20 log (Upper limit (PMCS / MCS))20 log (Lower limit (PMCS / MCS))

Figure 3.9: Response statistics comparison for varied Young’s modulus E with σ = 0.05 · µ,ξ = 0.03

Page 33: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

26 3.4. RESULTS OF THE PMCS METHOD

be concluded it is not possible to specify a precisely bounded domain of standard deviationsfor which the PMCS uncertainty method still give accurate results, and where it will not.Sofar 3 different parameters have been varied, being the nondimensional damping factor, thestandard deviation and the choice of the varied parameter, and the reliability already dependson their combination.

0 50 100 150 200 250 300 350 400 450 50010

−2

10−1

100

101

102

Response amplitude

Frequency [Hz]

Tra

nsm

issi

bilit

y [−

]

nominal solution uEUA MCS(EUA + 2*SDUA)MCS(EUA − 2*SDUA)MCSEUA PMCS(EUA + 2*SDUA)PMCS(EUA − 2*SDUA)PMCS

0 50 100 150 200 250 300 350 400 450 500−5

−4

−3

−2

−1

0

1Response phase

Frequency [Hz]

Ang

le [r

ad]

nominal solution uEUP MCS(EUP + 2*SDUP)MCS(EUA − 2*SDUP)MCSEUP PMCS(EUP + 2*SDUP)PMCS(EUP − 2*SDUP)PMCS

Figure 3.10: Response statistics for varied h with σ = 0.03 · µ, ξ = 0.05

As said before also tests with the implementation of reduction will be performed. Thereforeall previously discussed experiments have also been run applying model reduction. For thereduction 22 free interface modes were kept, since the 22nd eigenvalue is the first eigenvaluethat exceeds our frequency range of interest. Since little distinction can be made between theresponse plot of the first discussed experiment and its reduced equivalent, only the comparisonplot is shown in figure 3.12 with the difference in decibel. For comparison both the reducedand not-reduced result are plotted, where in both cases the results from the Monte Carlosimulation without reduction were used for reference.

In the lower graph only the comparison of the upper bound of 97 % confidence intervalis shown, since this gives the best impression of the quality of the result. It is clear thatthe result for the calculation where reduction was applied has a larger error than the modelwithout reduction, but still acceptable results are obtained while being about 30 times asfast.

For the other experiments similar results were obtained with the implemented reduction:the comparison plots show the same characteristic as their unreduced equivalent, but witha larger error. For the response mean the deviation stays within a range of 0.9 dB for allexperiments. The deviation of the upper limit of the 97% confidence interval contains peaksthat reach to 1.7 dB, but for most frequencies it stays under 1 dB as well.

Page 34: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

3. NUMERICAL ASSESSMENT OF THE PROPOSED METHODS 27

0 50 100 150 200 250 300 350 400 450 500−3

−2

−1

0

1

2

3Comparison responses MCS and PMCS

Diff

eren

ce [d

B]

Frequency [Hz]

20*log (EUA PMCS / EUA MCS)

0 50 100 150 200 250 300 350 400 450 500−6

−4

−2

0

2

4

6Comparison 0.97 confidence interval bounds

Frequency [Hz]

Diff

eren

ce [d

B]

20 log (Upper limit (PMCS / MCS))20 log (Lower limit (PMCS / MCS))

Figure 3.11: Response statistics comparison for varied h with σ = 0.03 · µ, ξ = 0.05

0 50 100 150 200 250 300 350 400 450 500−3

−2

−1

0

1

2

3Comparison responses MCS and PMCS, with and without reduction

Diff

eren

ce [d

B]

Frequency [Hz]

20*log (EUA PMCS(reduced) / EUA MCS)20*log (EUA PMCS / EUA MCS)

0 50 100 150 200 250 300 350 400 450 500−6

−4

−2

0

2

4

6Comparison 0.97 confidence interval upper bound, with and without reduction

Frequency [Hz]

Diff

eren

ce [d

B]

20 log (Upper limit (PMCS(reduced) / MCS))20 log (Upper limit (PMCS / MCS))

Figure 3.12: Response statistics comparison for varied Young’s modulus E with σ = 0.03 · µ,ξ = 0.03 and model reduction applied

Page 35: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

28 3.5. RESULTS OF THE TAYLOR METHOD

Reviewing the 4 performed experiments it can be concluded the PMCS-method gives ac-curate results. An overview of the results is given in table 3.2. Only the numerical experimentfor varying h with σ = 0.03·µ and ξ = 0.03 exceeds the 1 dB deviation range for the mean am-plitude. For the upper limit the 1 dB deviation range is exceeded for some more experiments,but in most cases these are just incidental peaks. For varied Young’s modulus E all upperlimits can be considered acceptable, for varied height h only the reduced experiments are so.It is remarkable that in some cases the reduced model seems to give more accurate resultsthan the non-reduced model. This effect ascribed to error cancelation. This means that fora result from the non-reduced model with a positive error, applying reduction introduces anegative error, which thus reduces the total error. Part of the original error is canceled outby the new error. Also it is clear that no real limit can be set for the validity area of themethod, since this depends on several parameters and the allowed error. This validity areais again dependent of the discipline where the approximation method is used, and could bedescribed as the set of parameters where the error stays within a certain limit.

Table 3.2: Overview results discussed experiments PMCSVaried Error bound Error bound

parameter µ σ ξ full model reduced model[Response] ; [upper limit] [Response] ; [upper limit]

E 2 · 1011 0.03 · µ 0.03 [-0.10 0.21]dB; [-0.07 0.70 ]dB [-0.27 0.84 ]dB; [-0.06 1.63]dBE 2 · 1011 0.05 · µ 0.03 [-0.53 0.45]dB; [-0.83 0.34]dB [-0.61 0.71]dB; [-0.85 1.06]dBh 0.025 0.03 · µ 0.03 [-0.55 1.44]dB; [-0.25 2.41]dB [-0.78 0.86]dB; [-0.41 1.58]dBh 0.025 0.03 · µ 0.05 [-0.27 0.65]dB; [-0.26 1.65]dB [-0.29 0.58]dB; [-0.07 1.16]dB

3.5 Results of the Taylor method

The same experiment-variations have also been tested on the Taylor-method. The mainknown drawback of the Taylor series approach is that the standard deviation of the uncertainparameters should be small (in general, people assume that 3% is small) for an accurateapproximation. For larger standard deviations the convergence may be poor or simply non-existent, resulting in poor approximations of the displacement of the response. The standarddeviations for the performed experiments stay within the range where the Taylor methodshould work.The results of an uncertainty of 3 % in the Young’s modulus and a nondimensional dampingfactor of 0.03 are shown in figures 3.13 and 3.14. The response shows no remarkable differencewith figure 3.3. The comparison plots show a significant higher deviation for the expectedresponse mean and the bounds of the 97 % confidence interval. It is partly a consequence ofthe chosen reference, being the result from the Monte Carlo Simulations. This becomes clearwhen taking a closer look at the expected response for MCS and Taylor, and the nominalresponse. Whereas the expected response from PMCS follows the expected response from theMonte Carlo simulation, the Taylor method follows the nominal response. Figure 3.15 showsa comparison plot where the expected response from the Taylor method is compared to thisnominal response. It is noticeable that the resulting quotient always stays above 1, meaningthe expected response from the Taylor method is always larger than the nominal response.

Page 36: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

3. NUMERICAL ASSESSMENT OF THE PROPOSED METHODS 29

This is a property of the Taylor approximation and can be proven by the theorem denoted inappendix B. The theorem proves that:

ETaylor[|q(y)|] = |q(E[y])| (3.7)

which accounts for the effect visible in figure 3.15.

0 50 100 150 200 250 300 350 400 450 50010

−2

10−1

100

101

102

Response amplitude

Frequency [Hz]

Tra

nsm

issi

bilit

y [−

]

nominal solution uEUA MCS(EUA + 2*SDUA)MCS(EUA − 2*SDUA)MCSEUA taylor(EUA + 2*SDUA)taylor(EUA − 2*SDUA)taylor

0 50 100 150 200 250 300 350 400 450 500−6

−5

−4

−3

−2

−1

0Response phase

Frequency [Hz]

Ang

le [r

ad]

nominal solution uEUP MCS(EUP + 2*SDUP)MCS(EUP − 2*SDUP)MCSEUP taylor(EUP + 2*SDUP)taylor(EUP − 2*SDUP)taylor

Figure 3.13: Response statistics for varied Young’s modulus E with σ = 0.03 · µ, ξ = 0.03

Next the response and comparison plot for 3 % uncertainty in the beam height h areshown in figure 3.16 and 3.17, again with 3 % damping. The mean response amplitude showsa deviation that is over 2 dB, which is considered a poor result. Furthermore it is clear theTaylor method has the same problems with the equality in the mean response and 2x itsstandard deviation with its lower bound of the confidence interval as seen before with thePMCS results. The phase plot resulting from the Taylor method shows an illogical deviationfor the response. This is caused by the numerical imperfection of the gaussian integrationthat is part of the Taylor approach. Since it is numerically impossible to integrate from−∞ to ∞ a domain must be set for this integration. This domain is mainly determinedmathematically, but also partly by tuning. Adjusting this domain and re-tuning the sizeof the domain eliminates the phase problem. Since it is not desirable to have to tune thesoftware tool for each model, some other integration method should be implemented.

In figures 3.18 and 3.19 the results are shown for an uncertainty in the Young’s modulus Ewith a standard deviation of 0.05 · µ and a damping coefficient of 0.03. The mean amplitudeshows a deviation that reaches 2.9 dB which is too large for a simulation method. Similarto the result of the PMCS-method, again the confidence interval lower bound exceeds thescale of the graph several times. The upper bound appears to stay within a domain of 3dB deviation to both sides. The phase plot shows the same problem as with the previous

Page 37: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

30 3.5. RESULTS OF THE TAYLOR METHOD

0 50 100 150 200 250 300 350 400 450 500−3

−2

−1

0

1

2

3Comparison responses MCS and Taylor

Diff

eren

ce [d

B]

Frequency [Hz]

20*log (EUA Taylor / EUA MCS)

0 50 100 150 200 250 300 350 400 450 500−6

−4

−2

0

2

4

6Comparison 0.97 confidence interval bounds

Frequency [Hz]

Diff

eren

ce [d

B]

20 log (Upper limit (Taylor / MCS))20 log (Lower limit (Taylor / MCS))

Figure 3.14: Response statistics comparison for varied Young’s modulus E with σ = 0.03 · µ,ξ = 0.03

0 50 100 150 200 250 300 350 400 450 500−0.2

0

0.2

0.4

0.6

0.8

1

1.2

Frequency [Hz]

Diff

eren

ce [d

B]

Comparison nominal response and Taylor

20*10log (EUA Taylor / nominal response

Figure 3.15: Response statistics comparison to nominal response, for varied Young’s modulesE with σ = 0.03 · µ, ξ = 0.03

Page 38: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

3. NUMERICAL ASSESSMENT OF THE PROPOSED METHODS 31

0 50 100 150 200 250 300 350 400 450 50010

−2

10−1

100

101

102

Response amplitude

Frequency [Hz]

Tra

nsm

issi

bilit

y [−

]

nominal solution uEUA MCS(EUA + 2*SDUA)MCS(EUA − 2*SDUA)MCSEUA taylor(EUA + 2*SDUA)taylor(EUA − 2*SDUA)taylor

0 50 100 150 200 250 300 350 400 450 500−20

−15

−10

−5

0

5Response phase

Frequency [Hz]

Ang

le [r

ad]

nominal solution uEUP MCS(EUP + 2*SDUP)MCS(EUP − 2*SDUP)MCSEUP taylor(EUP + 2*SDUP)taylor(EUP − 2*SDUP)taylor

Figure 3.16: Response statistics for varied h with σ = 0.03 · µ, ξ = 0.03

0 50 100 150 200 250 300 350 400 450 500−3

−2

−1

0

1

2

3Comparison responses MCS and Taylor

Diff

eren

ce [d

B]

Frequency [Hz]

20*log (EUA Taylor / EUA MCS)

0 50 100 150 200 250 300 350 400 450 500−6

−4

−2

0

2

4

6Comparison 0.97 confidence interval bounds

Frequency [Hz]

Diff

eren

ce [d

B]

20 log (Upper limit (Taylor / MCS))20 log (Lower limit (Taylor / MCS))

Figure 3.17: Response statistics comparison for varied h with σ = 0.03 · µ, ξ = 0.03

Page 39: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

32 3.5. RESULTS OF THE TAYLOR METHOD

experiment; this is because the choice is made to calculate all responses while using the exactsame integration area. This value was again altered afterwards for obtaining a normal result,but to illustrate the shortage of the current integration scheme all results with the originalintegration area are shown here.

0 50 100 150 200 250 300 350 400 450 50010

−2

10−1

100

101

102

Response amplitude

Frequency [Hz]

Tra

nsm

issi

bilit

y [−

]

nominal solution uEUA MCS(EUA + 2*SDUA)MCS(EUA − 2*SDUA)MCSEUA taylor(EUA + 2*SDUA)taylor(EUA − 2*SDUA)taylor

0 50 100 150 200 250 300 350 400 450 500−20

−15

−10

−5

0

5Response phase

Frequency [Hz]

Ang

le [r

ad]

nominal solution uEUP MCS(EUP + 2*SDUP)MCS(EUP − 2*SDUP)MCSEUP taylor(EUP + 2*SDUP)taylor(EUP − 2*SDUP)taylor

Figure 3.18: Response statistics for varied Young’s modules E with σ = 0.05 · µ, ξ = 0.03

The result of the last set of parameters, an uncertainty of 3 % in the beam height h with adamping of 5 %, is shown in figure 3.20. Since the response plot shows no irregular deflectionsonly the comparison plot is shown. The mean amplitude shows a deviation that’s just over1 dB, which is an acceptable result. The approximation for the upper bound varies between-2.2 dB and 1.4 dB deviation, which is not acceptable.

Again all these numerical experiments were also performed while reduction was applied.As for the PMCS method, all response plots show no visible difference with respect to theunreduced responses. In figure 3.21 the comparison plots are shown for the reduced responseand its 97 % confidence interval upper bound, for the model with a standard deviation of0.03 · µ in the Young’s modulus E and a dimensionless damping factor ξ of 0.03. It appearsthe reduction has little influence on the results for the experiment. This property is visible forall numerical experiments with Taylor. The error introduced in the mean amplitude by thereduction has a maximum of 0.33 dB which occurs at 450 Hz. To calculate this a variationof (3.6) was used, where the quotient contained the reduced and the unreduced result ofthe Taylor method. The error introduced in all other Taylor experiments is even smaller.The deviation introduced by the reduction is minimal at the peak values. As a result themaximum error does not change for the reduced model, compared to the full model.

In table 3.3 again an overview is given of the results from the 4 experiments. Judging bythe previous set criterium of a maximum deviation of 1 dB only the responses of the first and

Page 40: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

3. NUMERICAL ASSESSMENT OF THE PROPOSED METHODS 33

0 50 100 150 200 250 300 350 400 450 500−3

−2

−1

0

1

2

3Comparison responses MCS and Taylor

Diff

eren

ce [d

B]

Frequency [Hz]

20*log (EUA Taylor / EUA MCS)

0 50 100 150 200 250 300 350 400 450 500−6

−4

−2

0

2

4

6Comparison 0.97 confidence interval bounds

Frequency [Hz]

Diff

eren

ce [d

B]

20 log (Upper limit (Taylor / MCS))20 log (Lower limit (Taylor / MCS))

Figure 3.19: Response statistics comparison for varied Young’s modules E with σ = 0.05 · µ,ξ = 0.03

0 50 100 150 200 250 300 350 400 450 500−3

−2

−1

0

1

2

3Comparison responses MCS and Taylor

Diff

eren

ce [d

B]

Frequency [Hz]

20*log (EUA Taylor / EUA MCS)

0 50 100 150 200 250 300 350 400 450 500−6

−4

−2

0

2

4

6Comparison 0.97 confidence interval bounds

Frequency [Hz]

Diff

eren

ce [d

B]

20 log (Upper limit (Taylor / MCS))20 log (Lower limit (Taylor / MCS))

Figure 3.20: Response statistics comparison for varied h with σ = 0.03 · µ, ξ = 0.05

Page 41: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

34 3.6. CONCLUSIONS & DISCUSSION

0 50 100 150 200 250 300 350 400 450 500−3

−2

−1

0

1

2

3Comparison responses MCS and taylor, with and without reduction

Diff

eren

ce [d

B]

Frequency [Hz]

20*log (EUA taylor(reduced) / EUA MCS)20*log (EUA taylor / EUA MCS)

0 50 100 150 200 250 300 350 400 450 500−6

−4

−2

0

2

4

6Comparison 0.97 confidence interval upper bound, with and without reduction

Frequency [Hz]

Diff

eren

ce [d

B]

20 log (Upper limit (taylor(reduced) / MCS))20 log (Upper limit (taylor / MCS))

Figure 3.21: Response statistics comparison for varied Young’s modules E with σ = 0.03 · µ,ξ = 0.03 and model reduction applied

last experiment give acceptable results. This indicates that the Taylor method cannot handlethe used standard deviations. The table also confirms there is very little error introduced byapplying reduction. This while the calculation for the reduced model is 120 times faster as itis for the unreduced model.

Table 3.3: Overview results discussed experiments TaylorVaried Error bound Error bound

parameter µ σ ξ full model reduced model[Response] ; [upper limit] [Response] ; [upper limit]

E 2 · 1011 0.03 · µ 0.03 [-1.01 1.13]dB; [-1.55 1.70]dB [-0.82 1.28]dB; [-1.59 1.70]dBE 2 · 1011 0.05 · µ 0.03 [-2.01 2.87]dB; [-4.28 3.59]dB [-1.94 2.87]dB; [-4.29 3.59]dBh 0.025 0.03 · µ 0.03 [-1.87 2.86]dB; [-3.26 3.12]dB [-1.89 2.84]dB; [-3.40 2.95]dBh 0.025 0.03 · µ 0.05 [-1.00 1.09]dB; [-2.19 1.34]dB [-0.99 1.08]dB; [-2.28 1.23]dB

3.6 Conclusions & discussion

For both the PMCS and Taylor several numerical test experiments are performed. Fornumerical experiments an allowed error bound of 1 dB is regularly used. For the PMCSmethod, the reduced models all meet this condition for the response; the error for the up-per bound of the 97% confidence interval exceeds this limit for the experiment with variedh (σ = 0.03 · µ, ξ = 0.03). For the full model analyses, this experiment also exceeds the

Page 42: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

3. NUMERICAL ASSESSMENT OF THE PROPOSED METHODS 35

allowed deviation for the response. The same accounts for the upper limit for the other ex-periment with varied height h. For the Taylor method only the first (varied Young’s modulusE, σ = 0.03 ·µ, ξ = 0.03) and the last experiment (varied h,σ = 0.03 ·µ, ξ = 0.05) are near thecondition of a maximum deviation of 1 dB. For both methods it shows for some experimentsapplying reduction results in better results, compared to the simulations where no reductionwas applied. As mentioned this is the result of error cancelation. Further it has been shownthe maxima of the deviation for the Taylor method hardly changed by implementing reduc-tion. The reduced model results have a very good match with the full model results, but stillsome error is present. This is masked when only the error bounds are compared.More generally it shows the results get less accurate for a higher standard deviation, as wasto be expected. Increasing the dimensionless damping factor ξ improves the results. Thiscan be explained by the fact that most errors occur at the steep areas in the response plot.Applying more damping smoothers the response plot, which results in a smaller error for theapproximation. When reviewing computation times, it shows the Taylor method is signifi-

Table 3.4: Scaled calculation timesUsed method Scaled computation time

MCS full model 100PMCS full model 51.4

PMCS reduced model 4.6Taylor full model 35.9

Taylor reduced model 0.7

cantly faster than the PMCS method. For the non-reduced model this differs a factor 1.4and for the reduced model this difference is even a factor 6.2. To give a complete idea ofthe computation times, table 3.4 shows the scaled computation times needed by MatLab.The original MCS analyse is scaled to 100 for this. These times were obtained by using thecommands tic and toc in MatLab and are the average of the performed experiments.Considering all these results the PMCS-method seems to be the better method of the 2 testeduncertainty methods. Not only is it capable of handling a higher standard deviation, it alsogives the possibility to make the comparative between accuracy and speed by choosing thenumber of realizations the method must use. The Taylor method leaves no possibilities opento apply such kind of tuning. Conversely, the Taylor method is significant faster. The Taylormethod might perform better for lower standard deviations, but this was not investigatedhere.

Page 43: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

36 3.6. CONCLUSIONS & DISCUSSION

Page 44: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

Chapter 4

Implementation within anoptimization problem

4.1 Introduction

After the completion of the numerical assessment of the two uncertainty methods, the meth-ods will now be applied in a design optimization problem. An optimization problem canbe described as the search for a design that is superior to other possible designs concerningspecific properties. These properties are translated into a mathematical representation andknown as the objective function. An example of an objective function could be the fuel con-sumption of an engine, where the objective would be to minimize it. To obtain this lowestfuel consumption, several parameters can be varied. The parameters that can be varied arecalled the design variables. Mostly the design variables have a restricted influence on the totaldesign. For the design some basic choices are made, after which the design can be refined byvarying the design variables. For this example this could mean that the number of cylindersin the engine is fixed, as well as the number of valves per cylinder, but the precise cylindercapacity can be varied, or the opening times of the valves. In optimization problems alsoseveral boundary conditions have to be met. These boundary conditions are the demandsa design has to meet, apart from the performance with respect to objective function. Forthe engine example this could be a minimum of power that the engine must produce. Theseboundary conditions also make sure the optimization process doesn’t end up with trivial, butuseless optima. In our example, without the demand of a minimum power to be produced, itis easy to see the optimum design would be an engine with zero cylinder capacity and valvesthat are closed at all times; after all such design uses now fuel at all. It therefore is veryimportant to specify all demands of a design in terms of boundary conditions.After the optimization process is finished one or more optima result, depending on the op-timization strategy used. Mathematically a global optimum can be present, meaning theobjective function has the best value of all designs resulting from the optimization process.In practice however it is not sure that this design will have the best performance of all pos-sible designs. One of the other found optima could have similar performance with respectto the objective, but have other benefits. When these benefits are of significant importancethey should be written down as a function of the design variables and be implemented inthe objective function. This means the general objective function becomes a combination ofseveral specific objectives, brought together with weight factors to qualify how important each

Page 45: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

38 4.2. DEFINITION OF THE OPTIMIZATION CASE

specific objective is. Still several optima can result with a more complex objective functionwhich have similar behavior with respect to the objective. To qualify which optimum is bestit is a possibility to investigate the robustness of the found optima. Robustness is defined hereas the ability of the optimum to still meet a goal regarding the objective function, while beingsubject to minor variations in one or more uncertain parameters. This is illustrated in figure4.1. The local optimum from area A will have a higher chance of still meeting the goal of theobjective function than the local optimum from area B, when the uncertain parameter x isvaried. To be able to distinguish both situations the two investigated uncertainty methodscome at hand. By performing an uncertainty analysis with both methods a distinction canbe made between the robustness of several optima at relative low cost.

Uncertain parameter x

Obje

ctiv

efu

nct

ion

y

Goal

A

B

Figure 4.1: Robustness of an optimum

The just described process will be executed in this chapter. Since no real life optimizationcase is available, first an optimization problem is defined, including several boundary condi-tions. Next, an optimization strategy is chosen and executed. For the resulting optima theuncertainty analysis is performed. From this result the final conclusions are drawn.

4.2 Definition of the optimization case

As basic structure for the optimization problem again a cantilever structure is used, but thistime with more elements and a larger size. The chosen structure has previously been used totest optimization in combination with testing its robustness in [11]. The structure is shownin figure 4.2.

A

1m

10m

y

x

Substructure 1 Substructure 2 Substructure 3

Figure 4.2: Antenna structure used for optimization

Page 46: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

4. IMPLEMENTATION WITHIN AN OPTIMIZATION PROBLEM 39

It is mounted to the fixed world at the 2 nodes on the far left. It could for example be aconstruction to suspend an antenna to a satellite, or several sensors to a building at a certaindistance. The nominal structure is build from aluminium beams with a size of 50 x 50 mmand having a wall thickness of 3 mm. The Young’s modulus used is 7 · 1010N/m2 and thedensity ρ is 2700 kg/m3. As shown in the figure the structure is divided into 3 substructures.The design variables are set to be the dimensions of the cross sections of the separate beamsin substructures 1 and 3. Within this design space, there is the limitation that the beams inthe same substructure and having the same orientation must follow the same specifications.This means for example that all horizontal beams in substructure 1 have the same crosssection, and so do all diagonal beams in substructure 3. The height and width of each beamtype can be varied independently, implying the beams don’t have to stay square. The wallthickness is constant at 3 mm. The measure for height or width in the cross section of abeam can only vary in steps of 2 mm. This because the availability of irregular cross sectionsis not very likely to be realistic. By means of warehouse availability the set of possible sizesis restricted to measure at least 44 mm and at most 56 mm. This completes the definitionof the design space. With 3 possible orientations of the beams, 2 substructures that arespecified separately and 2 variables per beam cross section a total of 12 design variables isavailable for this optimization problem. With 7 possible measures per design variable a totalof 712 = 13.84 · 109 possible designs is available for this problem.

The objective of the optimization problem is to reduce the vibration level of point A iny-direction as much as possible for the 125 Hz octave (90-180 Hz) and the 250 Hz octave(180-355 Hz). The objective criterium is given as:

F (x) = Eoct125(x)−Eoct125(nominal) + Eoct250(x)−Eoct250(nominal) (4.1)

with the bandwidth mean response values defined by:

Eoct125(x) = 20·10log

(∑ΩubΩlb

|H(Ω, x)|N

)Eoct250(x) = 20·10log

(∑ΩubΩlb

|H(Ω, x)|N

)(4.2)

Here Ωlb and Ωub refer to the lower and upper bounds of the concerned octave, while N standsfor the number of data points in the concerned octave. In (4.1) x refers to the structurerealization of interest, while nominal refers to the nominal structure as defined previously.While reducing the vibration level in these bandwidths, the average vibration level of theband from 0 to 90 Hz is not allowed to increase compared to the nominal structure. As inputfor the system a vibration of the fixed world in y-direction is given. This means the objectivein fact is to reduce the transmissibility from the 2 left points to the far right point. The valueof the the objective function defined in (4.1) gives the total reduction for the two consideredintervals in decibel. For the nominal structure the FRF of the vertical movement in point Aresulting from a vertical vibration at the mounting nodes is plotted in figure 4.3.Further the structure has to meet two more boundary conditions. The structure must becapable to withstand an acceleration of 50 g in all directions without exceeding the yielding orbuckling stress. This to make sure the structure would withstand the accelerations that occurwhen launched into space when the structure would be used on a satellite. This conditionis commonly used for structures that will be launched into space [12]. It must be remarkedhere that the nominal design does not meet this condition. Next to this the structure is notallowed to gain more then 1 % in weight. With this list of demands the optimization processcan be started.

Page 47: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

40 4.3. OPTIMIZATION

0 50 100 150 200 250 300 350 400

10−1

100

101

102

Tra

nsm

isib

ility

[−]

Frequency [Hz]

Figure 4.3: FRF of the nominal optimization structure

4.3 Optimization

Since it is not possible to write down the objective function as function of the design variablesin a straightforward way, little information is available about the objective function behav-ior and limited time is available to perform the optimization, a random search strategy incombination with a multi-start point gradient method is chosen for this integer optimizationproblem. This implies that first a random search will be performed, followed by a gradientmethod, were the best results from the random search will be used as starting points. There isa risk present of not finding the best possible optimum with this method. Nevertheless, mostoptimization problems are defined to find a design that meets a certain goal, meaning theobjective function value lies above or beneath a threshold value, as is also suggested in figure4.1. So not finding the global optimum does not mean an optimization is not successful. Thegoal of this optimization is set to reduce the transmissibility from the mounting point to pointA by 2 dB. Furthermore, in this particular case the overall goal of the intended optimizationis not to design an optimal structure, but to demonstrate a mathematical tool, meaning theresulting optimum is of minor interest.

The optimization process is started by calculating the value of the objective function forseveral strategic design realizations to get some insight in the objective function behavior. Forthese strategic design realizations a subspace of the total design space is defined, containingonly 3 possible cross sections for all beams. These are the cross sections measuring 44 x 44 mm,50 x 50 mm and 56 x 56 mm; its easy to see these are respectively the smallest cross sectionpossible, the nominal cross section and the biggest cross section possible. Next 3 separateruns to calculate the objective function are performed, testing all possible combinations of 2of these 3 beams. This implies evaluating all possible combinations of beams measuring 44 x44 mm and 56 x 56 mm, all possible combinations of beams measuring 44 x 44 mm and 50 x50 mm and all possible combinations of beams measuring 50 x 50 mm and 56 x 56 mm. With

Page 48: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

4. IMPLEMENTATION WITHIN AN OPTIMIZATION PROBLEM 41

6 separate defined beams in the structure, this leads to 26 = 64 possible realizations per set,meaning a total of 192 possible designs is analyzed with respect to the objective function.The results of this analysis is shown in figure 4.4.

−4

−3

−2

−1

0

1

20 5 10 15 20

# of realisations

Obj

ectiv

e fu

nctio

n va

lue

Squares 0.044 & 0.056

unfeasiblefeasible

−4

−3

−2

−1

0

1

20 10 20 30

# of realisations

Squares 0.044 & 0.050

Obj

ectiv

e fu

nctio

n va

lue

unfeasiblefeasible

−4

−3

−2

−1

0

1

20 10 20 30 40

# of realisations

Squares 0.050 & 0.056

Obj

ectiv

e fu

nctio

n va

lue

unfeasiblefeasible

Figure 4.4: Objective criterium for the complete design subspace containing 3 possible beamspecifications

The plots shows separate histograms for the 3 numerical experiments, where the realiza-tions are sorted by objective function result. The containers for the feasible and unfeasibleresults are placed on top of each other. This implies for example for the left plot that a totalof 11 realizations have a objective function value that lies around -1; from these 11 realizationsonly one meets all boundary conditions and thus lies in the feasible area, while the other 10lie in the unfeasible area. The figure shows that the objective function gives the best resultsfor the combination of the 44 x 44 mm and the 56 x 56 mm beams. Its also clear almostno of the evaluated designs meets all three boundary conditions. For the combination of the44 x 44 mm and the 50 x 50 mm beams in all designs one or more beams are present wherethe acting stress exceeds the buckling stress, while undergoing an acceleration of 50 g. Forthe combination of the 50 x 50 mm and the 56 x 56 mm beams, only 5 meet the criteriumto increase no more then 1 % in mass, but again these 5 fail to meet the buckling criterium.The 2 designs from the combination of the 44 x 44 mm and the 56 x 56 mm beams that meetall criteria show little improvement with respect to the objective function compared to thenominal structure. The construction that has the best value for the objective function fromthese numerical experiments consists entirely of 44 x 44 mm beams for substructure 1 and ofentirely 56 x 56 beams for substructure 3. It falls in the infeasible area because the bucklingstress is exceeded. Still this shows a characteristic behavior of the objective function. Appar-ently it is advantageous to build substructure 1 as light as possible, and build substructure3 as heavy as possible. Thinking over the physical meaning of this is it does make sense:vibrations present at the mounting points of the structure are transferred into the rest of thestructure through a part that is as weak as possible within the design space. The vibrationsthat are transferred into substructure 2 are then received in substructure 3 that is as heavy aspossible. Increasing the weight of a construction is a common move to decrease its vibrationlevel.

Next a closer look will be taken at the design restrictions that follow from the boundary

Page 49: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

42 4.3. OPTIMIZATION

conditions. The condition, which says the mean vibration level of the structure is not allowedto exceed the vibration level of the nominal structure for the band from 0 Hz to 90 Hz, has thesame property as the objective function, as it not possible to give a direct relation betweenthe design variables and this criterium. Therefore the easiest way to handle this condition isby validating it after having chosen a set of interesting optima. Figure 4.5 again shows theresults of the previous analysis of the design subspace, but now only feasibility with respectto the mean vibration level from 0 to 90 Hz is concerned. The middle plot (beams measuring44 x 44 mm and 50 x 50 mm) shows still few realizations are feasible, while for the right plotalmost all realizations are feasible. The left plot indicates that more than half of the testedrealizations are feasible for these combinations of the beams cross sections. This indicatesthis boundary condition prefers a stiff or heavy construction.

−4

−3

−2

−1

0

1

20 5 10 15 20

# of realisations

Obj

ectiv

e fu

nctio

n va

lue

Squares 0.044 & 0.056

unfeasiblefeasible

−4

−3

−2

−1

0

1

20 10 20 30

# of realisations

Obj

ectiv

e fu

nctio

n va

lue

Squares 0.044 & 0.050

unfeasiblefeasible

−4

−3

−2

−1

0

1

20 10 20 30 40

# of realisations

Obj

ectiv

e fu

nctio

n va

lue

Squares 0.050 & 0.056

unfeasiblefeasible

Figure 4.5: Objective criterium for the complete design subspace containing 3 possible beamspecifications, feasibility only concerning vibration level 0-90 Hz

The restriction of the limited mass gain is very straightforward to calculate. The mass ofthe nominal construction is 67.22 kg, meaning the new design may weight 67.89 kg at most.Within the design space the maximum mass change is 5.1 %. The total mass is a linearfunction of the design variables. This has the benefit that no model of the structure has tobe build to evaluate the feasibility in terms of mass gain.

To evaluate the capability of a design to withstand an acceleration of 50 g in all directionsstill a model has to be build, but no dynamic analysis has to be performed. For the test aforce in either x-direction or y-direction is applied to the construction on all separate beams,at their center of mass. The magnitude of the force is 50 · 9.81 · Mbeam, with Mbeam beingthe mass of the specific beam. This results in a deflection of the total structure. From thisdeflection the strain is calculated for each beam, which then again leads to the stress actingin each beam. Figure 4.6 shows the result for the nominal structure. The critical bucklingstress is drawn in all 4 plots as well. The yield strength of aluminium is about 260 MPa, sothis is of no concern. It shows for the load in the negative y-direction the buckling stress isexceeded in one beam. This turns out to be the lower horizontal beam to the far left of theconstruction, where the structure is mounted to the fixed world. This was to be expected,since this beam has to support the weight of the total structure. When the structure is loadedin the positive y-direction the upper horizontal beam to the far left will be the most critical

Page 50: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

4. IMPLEMENTATION WITHIN AN OPTIMIZATION PROBLEM 43

0 20 40

−1

0

1

2x 10

5 load +X

Beam element

Act

ing

stre

ss [N

/m2 ]

Buckling stressActing stress

0 20 40

−1

0

1

2x 10

5 load −X

Beam element

Act

ing

stre

ss [N

/m2 ]

0 20 40

−1

0

1

2x 10

5 load +Y

Beam element

Act

ing

stre

ss [N

/m2 ]

0 20 40−2

−1

0

1

2x 10

5 load −Y

Beam element

Act

ing

stre

ss [N

/m2 ]

Figure 4.6: Acting stresses as result of loads in 4 general directions for the nominal design

one. For the loads in x-direction no beams come near the critical area. Evaluating severaldesigns shows that the beam height for horizontal beams in substructure 1 has to be at least0.052 m. This means all designs with a beam height of 0.050 m or less for horizontal beamsin substructure 1 can be canceled out of the random search.

To get a high productivity from the random search, the objective criterium is calculatedbased on the response of the reduced structure. The reduction that is used within the uncer-tainty methods, is implemented for this goal. For substructures 1 and 3 10 kept elastic freeinterface modes are used, for substructure 2 this is 27. By doing this about 30 times as muchdesign candidates can be evaluated in the same time compared to the non-reduced analysis.This way over 8000 design candidates have been evaluated, which were randomly generated inMatLab. The objective function results are plotted in figure 4.7. From all tested realizationsabout 20 % lies in the feasible area. The right plot shows the best result from the randomsearch gives a total reduction of 1.8 dB for the transmissibility for the 125 Hz octave and the250 Hz octave. Previously the goal was set to gain at least 2 dB reduction, which is thus notsatisfied by the random search.

The second step in the optimization process is the multi-start gradient method. As men-tioned the best results from the random search will be used as starting points to find oneor more local optima. For this gradient method the initial design (starting point) is variedfor each design variable with 0.002 m separately. With our 12 design variables this resultsin 24 new potential designs. These new designs are first evaluated to see if they are possibledesigns with respect to the warehouse availability. Next the remaining designs are modeledand processed to calculate the acting stresses, the transmissibility of the 0-90 Hz band andthe objective function. The design that satisfies all conditions and has the best objectivefunction result is used as starting point for the next iteration. Before the next iteration step

Page 51: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

44 4.3. OPTIMIZATION

−2

−1.5

−1

−0.5

0

0.5

1

1.5

20 100 200 300 400 500 600 700

All result random search

Obj

ectiv

e fu

nctio

n va

lue

# of realisations

unfeasiblefeasible

−1.8

−1.7

−1.6

−1.5

−1.4

−1.3

−1.2

0 5 10 15 20 25 30 35 40

Zoom: best result random search

Obj

ectiv

e fu

nctio

n va

lue

# of realisations

unfeasiblefeasible

Figure 4.7: Results from the random search

starts the objective function result from the new design is compared to that from the previousstep. If the latter has a better result as the new design, convergence is completed. Finallythe structure is checked to see whether the mass hasn’t increased too much. This is doneafterwards to allow the optimization process to cross the area that is infeasible due to thismass restriction. When the resulting optimum does not meet the mass criterium, the bestfeasible design on the search path is chosen as new optimum. This process is programmed inMatLab to execute automatically. The best 10 results from the random search have been usedas starting point for the gradient method, and they all ended up in the same local optimum.The parameters of this design are listed in table 4.1.

Table 4.1: Design parameters the local optimum 1 resulting from the gradient method

Design 1Cross section dimensions Height Width

Substructure 1Horizontal beams 0.0560 m 0.0540 mVertical beams 0.0440 m 0.0440 mDiagonal beams 0.0560 m 0.0440 mSubstructure 3

Horizontal beams 0.0440 m 0.0560 mVertical beams 0.0560 m 0.0560 mDiagonal beams 0.0440 m 0.0560 m

Objective functionvalue: -2.4519 dB

It is noticeable that almost all design variables end up at the extremes of the statedwarehouse availability. This is not a striking phenomenon. Generally optima often can befound by combining the extreme possibilities of the design variables, while still lying in the

Page 52: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

4. IMPLEMENTATION WITHIN AN OPTIMIZATION PROBLEM 45

feasible area. As a result of this optima often lie on the boundary of the feasible area.Besides the testing of the best result from the random search, also some other design

realizations were chosen as starting point for the gradient method. These starting points werechosen, with the results of the first objective function exploration in mind. This means a lightconstruction for substructure 1, and a heavy construction for substructure 3. The horizontalbeams in substructure 1 are chosen so that the construction just satisfies the condition that nobuckling occurs while being tested with a load of 50 g. This resulted in 2 more local optima.Their design parameters are listed in table 4.2. The objective function results of these local

Table 4.2: Design parameters of local optima 2 and 3 resulting from the gradient method

Design 2 Design 3Cross section dimensions Height Width Height Width

Substructure 1Horizontal beams 0.0560 m 0.0500 m 0.0540 m 0.0560 mVertical beams 0.0440 m 0.0440 m 0.0440 m 0.0440 mDiagonal beams 0.0460 m 0.0440 m 0.0460 m 0.0440 mSubstructure 3

Horizontal beams 0.0560 m 0.0560 m 0.0560 m 0.0560 mVertical beams 0.0560 m 0.0560 m 0.0560 m 0.0560 mDiagonal beams 0.0560 m 0.0560 m 0.0560 m 0.0560 m

Objective functionvalue: -1.3687 dB -1.3078 dB

optima do not meet the goal of 2 dB. This means the optimization process ends up with only1 optimum that meets the desired goal. As depicted in the introduction of this chapter theintention of the optimization problem was to end up with several optima, from which thebest would be chosen based on the results from the uncertainty methods. Still an analysisconcerning the robustness of several designs will be performed. The uncertainty methods willbe applied to the found optimum design 1, as described in table 4.1, the 2 designs describedin table 4.2 and 3 designs that are chosen arbitrary from the designs that were evaluatedduring the optimum search from the gradient method. These are listed in table 4.3.

The results are presented in the next section.

4.4 Robustness of the optimization results

For all 6 designs a complete uncertainty analysis has been performed. The Young’s modulus Eis chosen to be the uncertain parameter for all designs. It is assumed the Young’s modulus Ehas a standard deviation of 3 % of it’s mean. This is the same for all substructures. For design1 the resulting responses are plotted in figure 4.8. Like with figure 4.3 this again concerns thetransmissibility from a vertical excitation of the 2 mounting points to the vertical excitationof point A. The plot shows the general transmissibility level of the response resulting fromthe Taylor method is slightly higher than the nominal level, especially at the anti-resonanceat 150 Hz.

Using the new response statistics the objective criterium is calculated for each design

Page 53: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

46 4.4. ROBUSTNESS OF THE OPTIMIZATION RESULTS

Table 4.3: Design parameters of 3 designs evaluated during the optimum search with thegradient method

Design 4 Design 5 Design 6Cross section dimensions Height Width Height Width Height Width

Substructure 1Horizontal beams 0.0560 m 0.0460 m 0.0560 m 0.0560 m 0.0560 m 0.0480 mVertical beams 0.0440 m 0.0440 m 0.0440 m 0.0440 m 0.0440 m 0.0440 mDiagonal beams 0.0560 m 0.0500 m 0.0560 m 0.0500 m 0.0560 m 0.0440 mSubstructure 3

Horizontal beams 0.0440 m 0.0560 m 0.0440 m 0.0560 m 0.0440 m 0.0560 mVertical beams 0.0440 m 0.0560 m 0.0500 m 0.0480 m 0.0460 m 0.0560 mDiagonal beams 0.0440 m 0.0520 m 0.0440 m 0.0500 m 0.0440 m 0.0460 m

Objective functionvalue: -2.1478 dB -2.1636 dB -2.3497 dB

0 50 100 150 200 250 300 350 40010

−2

10−1

100

101

102

Tra

nsm

issi

bilit

y [−

]

Frequency [Hz]

Nominal responseReponse from PMCS−analysisReponse from Taylor−analysis

Figure 4.8: Response of optimum design 1

Page 54: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

4. IMPLEMENTATION WITHIN AN OPTIMIZATION PROBLEM 47

again. These result are shown in the left and middle plot of figure 4.9. Besides the objectivecriterium itself also the range of the 97 % confidence interval is shown for each design. Furtherthe objective goal of reducing the transmissibility by 2 dB plotted as a solid line. For theTaylor method this line is outside the focus of the graph. The result for the Taylor methoddiffers a lot from the deterministic analysis and the PMCS result. Apparently the slightlyhigher transmissibility that was already visible in figure 4.8 has far-reaching outcomes forthe objective function result. The property of the Taylor mean response to always be biggerthan the nominal response was already made visible in figure 3.15 and proven in appendixB. Since the current definition of the objective function sums this error, a large deviationresults. The difference between the objective criteria from the deterministic response and theresponse from PMCS is no more then 5 %.To see which design has the highest chance of still having a minimal transmissibility while

1 2 3 4 5 6−3

−2.8

−2.6

−2.4

−2.2

−2

−1.8

−1.6

−1.4

−1.2

−1

Design

Obj

ectiv

e fu

nctio

n va

lue

Statistics objective criterium PMCS result

1 2 3 4 5 6−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

Design

Obj

ectiv

e fu

nctio

n va

lue

Statistics objective criterium Taylor result

1 2 3 4 5 60.02

0.022

0.024

0.026

0.028

0.03

0.032

0.034

0.036

0.038

0.04Average standard deviation

Design

Sta

ndar

d de

viat

ion

[−]

PMCSTaylor

Figure 4.9: Objective criterium and standard deviation from uncertainty analysis

being subject to variations the 97% confidence interval for the objective function result canbe used. Figure 4.9 shows this interval has about the same length for all designs and foreach method. This implies the several designs are equally robust with respect to variation inthe Young’s modulus E. To verify this also a plot is made of the standard deviation itself,shown in the right plot of figure 4.9. The standard deviation is averaged over the part of thefrequency space which concerns the objective function using (4.3):

σaverage =

√√√√Ω=355Hz∑

Ω=90Hz

σ(Ω)2

N(4.3)

with N the number of data points in the concerned frequency space. It proves there is littledifference between the robustness of the several design. Therefore the design with the highest

Page 55: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

48 4.5. CONCLUSIONS

reduction in transmissibility will be chosen as the final optimal construction, which is design1.

4.5 Conclusions

In this chapter an optimization problem has been formulated, with the intention to applythe uncertainty methods to it as decisive criterium at the end of the optimization process. Astrategy has been chosen to find the optimum, or preferably several local optima, and thishas been implemented in MatLab. Executing the optimization process resulted in a (local)optimum that satisfied all boundary conditions and the goal of the optimization. For a totalof 6 possible designs uncertainty analyses were performed. It proved the Taylor method is notsuitable to test an optimization criterium that is very sensitive to the exact system responsepath in this case. This resulted in a shift of all numerical values. Still the mutual ratios arecorrect and thus useful. Since the robustness of the several designs with respect to the variedparameter were similar, the uncertainty methods made no change to the choice of the bestoptimum. This was to be expected, since the evaluated designs had similar specifications aswell.

Page 56: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

Chapter 5

Conclusions and recommendations

5.1 Conclusions

In this work two uncertainty methods have been proposed and combined with CMS. Theiraccuracy has been assessed by comparing their results to results from Monte Carlo analysis.To this end the FEM package Ansys has been used to model the structures, but all furthercalculations have been performed in MatLab. After the assessment the methods have beenused for an optimization problem, to demonstrate an application of the methods.

The results from the test model show no straightforward limit for the standard deviationcan be set, for which the methods still give acceptable results. The limit depends on theassumed damping factor, the way the uncertain parameter influences the system matrices andof course the used test model. For equal conditions the PMCS method shows the best resultsin all cases. For the PMCS method a standard deviation of 3% proved to be acceptable, forthe Taylor method this already gives some problems. For some conditions the Taylor methodfails to predict a correct phase angle of the response, due to the implemented integrationroutine. For both methods the combination with Component Mode Synthesis works outvery well. Using reduced models introduces an acceptable error, while calculation times areconsiderably reduced. The use of substructuring makes it possible to isolate uncertainties inspecific parts of a structure, or to use different statistics for separate parts of a design.

Judging the complete methods, PMCS turns out to be the better method for the investi-gated domain. Besides the larger standard deviation it can handle, it also gives the possibilityto make the appraisal between accuracy and speed by choosing the number of realizations themethod must use. The best property of the Taylor method that was observed was its com-putation speed. But since this doesn’t lead to accurate results for the investigated domain,this is of little use.

In the current configuration it is not very straightforward to use the uncertainty methods.Thorough knowledge of the involved files is essential to be able to perform an analysis. Furtherthe limitations of the methods are not yet totally clear. While using the software tool oftensome small adjustments were made to some files to overcome minor problems.

Within the optimization process an effective strategy is chosen to find the optimum withinthe integer design space. The resulting design satisfies all boundary conditions and alsosatisfies the goal of 2 dB reduction in transmissibility. For several designs the robustness isestimated using the uncertainty methods, which results in similar robustness for all evaluateddesigns, due to the similarity of these designs.

Page 57: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

50 5.2. RECOMMENDATIONS

5.2 Recommendations

Since the choice was made to investigate the same domain of parameters for both methods(concentrated about a standard deviation of 3% of the mean value) the Taylor method couldnot produce acceptable results. It is advisable to perform experiments for much lower standarddeviations, and try to find a global bound for which the Taylor method also works. Then forthat domain a new comparison between the PMCS method and the Taylor method could bemade. Also it is recommended to write a clear manual of how to use the uncertainty methodsof this software tool. Further it would be nice to test the methods for models with severaluncertain parameters acting simultaneously. The tool appears to be ready to handle this. Asmentioned before it is advisable to implement a different integration method for the Taylormethod, to avoid problems with the integration area.

When a new optimization problem is defined to implement the uncertainty methods in theoptimization scheme again, it preferably should be defined in such a way that it leads to verydiverse optima, which would have diverse robustness as a result. The files written to performthe optimization are currently very concentrated on the current problem. It is advisable tomake these more general for future use.

Page 58: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

Bibliography

[1] Ghanem, R.G. and Spanos, R.D. Stochastic Finite Elements: A spectral approach.Springer-Verlag, New York, 1990.

[2] Matthies, H.G.,Bremer, H.G. and Bucher, C.E. . Uncertainties in probabilistic analysisof structures and solids - stochastic finite elements. Structural safety, 19(3):283–336,1997.

[3] Elishakoff, I. and Ren, Y. Finite Element Methods for Structures with Large StochasticVariations. Oxford University Press, New York, 2003.

[4] Dijkhof, W.J. . Personal communication about sensitivity analysis using componentmode synthesis. Eindhoven University of Technology, Netherlands, 2005.

[5] Nieuwenhof, B.van den and Coyette, J.P. Modal approaches for the time-harmonic anal-ysis of random structures with the stochastic finite element method. In Proceedings ofISMA 2002, Leuven, Belgique, 16-18 Septembre 2002, volume IV, 1835-1844, 2002.

[6] Craig, R.R.Jr. Substructure methods in vibrations. Transactions of the ASME, 117:505–528, 1995.

[7] Rubin, S. Improved component-mode representation for structural dynamic anlysis.AIAA Journal, pages 996–1006, 1975.

[8] Kraker, A.de. A numerical-experimental approach in structural dynamics. Technicalreport, Technische Universiteit Eindhoven, 1999.

[9] Balmes, E. Efficient sensitivity analysis based on finite element model reduction, IMAC1998.

[10] Lopez, I. Personal communication about general testing of numerical methods. Eind-hoven University of Technology , Netherlands, 2005.

[11] Anthony, D.K.,Elliot,S.J. and Keane, A.J. . Robustness of optimal design solutions toreduce vibration transmission in a lightweight 2-d structure, part i: geometric design.Journal of Sound and Vibration, 229:505–528, 2000.

[12] Veggel, A.A.v. Personal communication about space structure demands. EindhovenUniversity of Technology, Netherlands, 2005.

Page 59: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

52 BIBLIOGRAPHY

Page 60: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

Appendix A

Comparison PMCS-MCS foridentical realisations

To verify that the difference between the expected value for the response from MCS andPMCS is due to the different sets of realizations they use, a numerical experiment is per-formed where they both have identical sets of realizations. For this experiment a standarddeviation of 0.03·µ uncertainty in the Young’s modulus E was used, together with a nondimen-sional damping factor ξ of 0.03. To accomplish both methods use the exact same realizations,the MatLab random generater has to be reset before each analysis starts. Both methods usethe function random in Matlab, which doesn’t really generate random numbers, but worksdown a list with numbers. Resetting the random generator makes sure for both methods therandom generator starts at the same point from the list.

0 50 100 150 200 250 300 350 400 450 50010

−2

10−1

100

Tra

nsm

issi

bilit

y [−

]

Frequency [Hz]

Reponse amplitude

EUA MCSEUA PMCS

Figure A.1: Response statistics for varied Young’s modulus E with σ = 0.03 · µ, ξ = 0.03

Figure A.1 shows the response amplitude that results from both methods. It is rather impos-sible to distinguish two different lines. Figure A.2 shows the comparison plot between the twomethods. Still a small difference between both results is present, but this is such small that it

Page 61: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

54

is of no significant importance. If the difference is expressed in terms of a percentage relativeto the response itself, this is 0.5 % at most. The difference will probably be the result ofbounded numerical precision. Because of the lack of significant importance of the remainingresult nu further attention will be paid to it.

0 50 100 150 200 250 300 350 400 450 500−0.08

−0.06

−0.04

−0.02

0

0.02

0.04

0.06

0.08Comparison responses MCS and PMCS

Diff

eren

ce [d

B]

Frequency [Hz]

20*log (EUA PMCS / EUA MCS)

Figure A.2: Response statistics comparison for varied Young’s modulus E with σ = 0.03 · µ,ξ = 0.03

Page 62: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

Appendix B

Theorem comparing Taylor resultand nominal response

In this theorem the distinction is made between y and y; the first is the stochastic variableand the second the integration variable. First it is claimed that:

E[qTaylor(y)] = q(E[y]) (B.1)

The proof for this can easily be found by looking at the full Taylor expansion of q[y] :

q(y) = q(E[y]) + (y− E[y]) · ∂q

∂y(E[y]) + O(|y− E[y]|2) (B.2)

Taking the first order approximation gives:

qTaylor(y) = q(E[y]) + (y− E[y]) · ∂q

∂y(E[y]) (B.3)

Taking the expectation of both sides in (B.3) results in (B.1) (since the expectation of (y−E[y])is 0). Next, it is claimed that the expectation from the Taylor method of the absolute valueof the response for a realization of the uncertain parameter equals or exceeds the absolutevalue of the response of the expected value of the uncertain parameter:

|q(E[y])| 5 E[|qTaylor(y)|] (B.4)

which holds for any y. It is a small variation to (B.1) and our mentioned observation. Theproof is a consequence of the well known fact:

∣∣∣∣∫

g(y)dy

∣∣∣∣ 5∫|g(y)| dy (B.5)

which holds for all functions g(y). Letting g(y) = q(y) · fy(y) (with fy(y) the probabilitydensity function of y) gives:

E[|qTaylor(y)|] =∫|q(y)| · fy(y)dy =

∫|q(y) · fy(y)|dy =

∣∣∣∣∫

q(y)fy(y)dy

∣∣∣∣ (B.6)

Page 63: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

56

The right side of this equation can now be developed in a Taylor series (omitting the higherorder terms):

∣∣∣∣∫

q(y) · fy(y)dy

∣∣∣∣ =∣∣∣∣∫

q(E[y])fy(y)dy +∫

(y − E[y]) · ∂q

∂y(E[y]) · fy(y)dy

∣∣∣∣ (B.7)

Since q(E[y]) and ∂q∂y (E[y]) are both constant this leads to:

∣∣∣∣∫

q(y) · fy(y)dy

∣∣∣∣ =∣∣∣∣q(E[y])

∫fy(y)dy +

∂q

∂y(E[y]) ·

∫ Ey−2SDy

Ey+2SDy(y − E[y])fy(y)dy

∣∣∣∣ (B.8)

Since∫

(y−E[y])fy(y)dy is point-symmetric about y=E[y] this equals zero, and since∫

fy(y)dyequals 1 we have | ∫ q(y) · fy(y)dy| = |q(E[y])|. Summarizing (B.6) to (B.8) results in:

ETaylor[|q(y)|] = |q(E[y])| (B.9)

which is identical to (B.4). This accounts for the effect visible in figure 3.15 and completesthe proof.

Page 64: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

Appendix C

MatLab command files

This appendix lists several important MatLab .m-files that were written or used during thisproject. A part of these files was written by W.J. Dijkhof, Eindhoven University of Technology,as part of his Ph.D.-project. Some of his files were edited for the specific use in this project.The files are labeled to identify whether they were used in relation with the uncertaintyanalysis, or in relation with the optimization.

For a command line that is spread over several lines due to its length, <<- is used toindicate the forced line break.

C.1 Calc crit.m

File used for the optimization, written by H.W.J.v.d.Berg.

% calc_crit.m

% ===========

% file to calculate the complete criterium for the optimization and gather all data in one structure

% as output the structure ’result’ is given with the following fields:

%

% result =

%

% E: [3x1 double]

% hb: [7x2 double]

% U352: [1x799 double]

% V352: [1x799 double]

% xi: 0.0300

% nd: 365

% p: 352

% O_g: [1x422 double]

% freqrange: [1x799 double]

% Oct_low_H: 4.2441 (bijv.)

% Oct125_H: 0.5910 (bijv.)

% Oct250_H: -9.1034 (bijv.)

% optim_crit: -3.0389 (bijv.)

%

% it follows next to "optim_construction_resp.m"

freqrange = (freq_left : step : freq_right);

U352 = U(352,:);

% Calculate velocity

V352 = 1i*U352.*(freqrange*2*pi);

% Gather data in structure

result.E = E;

Page 65: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

58 C.1. CALC CRIT.M

result.hb = hb;

result.U352 = U(352,:);

result.V352 = V352;

result.xi = xi;

result.nd = nd;

p = find(Nn == dofsp.curdofnr);

result.p = p;

result.O_g = O_g;

result.freqrange = (freq_left : step : freq_right);

% Calculate criterium

input_velo = 0.1*freqrange*1i*2*pi;

%oct125 %Mean value of all data between 90 and 180 Hz (125 Hz octave)

lb125 = find(freqrange == 90);

ub125 = find(freqrange == 180);

range_oct125 = freqrange(lb125:ub125); %

oct125_sum = 0;

% Calculate mean

for m = lb125 :1: ub125

oct125_sum = oct125_sum + abs(result.V352(m)/input_velo(m))*(1/length(range_oct125));

end

%oct250 %Mean value of all data between 180 and 355 Hz (250 Hz octave)

% Locate boundaries

lb250 = ub125;

ub250 = find(freqrange == 355);

range_oct250 = freqrange(lb250:ub250); %

oct250_sum = 0;

% Calculate mean

for m = lb250 :1: ub250

oct250_sum = oct250_sum + abs(result.V352(m)/input_velo(m))*(1/length(range_oct250));

end

% oct_low %Mean value of all data below the 125 Hz octave

% Locate boundaries

ub_low = find(freqrange == 180);

range_oct_low = freqrange(1:ub_low); %

oct_low_sum = 0;

% Calculate mean

for m = 1 :1: ub_low

oct_low_sum = oct_low_sum + abs(result.V352(m)/input_velo(m))*(1/length(range_oct_low));

end

%dBresponse = 20*log10(Mean_per_octave);

oct_low_db = 20*log10(oct_low_sum);

oct125_db = 20*log10(oct125_sum);

oct250_db = 20*log10(oct250_sum);

result.Oct_low_H = oct_low_db;

result.Oct125_H = oct125_db;

result.Oct250_H = oct250_db;

% Values of reference structure (all beams 0.050 * 0.050)

oct125_db_ref = 1.90050170648832; % 1.94902305795484;

oct250_db_ref = -7.47803528041882; % -7.42257668687399;

oct_low_db_ref = 5.22572214977928; % 5.24336200935176;

% Calculate criterium

optim_crit = oct125_db - oct125_db_ref + oct250_db-oct250_db_ref;

result.optim_crit = optim_crit;

if (oct_low_db / oct_low_db_ref) > 1

feasible_octlow = 0;

else feasible_octlow = 1;

end

Page 66: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 59

C.2 Connect.mFile used for the uncertainty analysis, written by W.J.Dijkhof, edited by H.W.J.v.d.Berg.

function [Kred, Mred, Fred, dired, dbred, Z, O_g, V_g, O_loc, V_loc, L, listd, dofs_s, Kred_s, Mred_s] <<-

= Connect(K_s, M_s, F_s, dofs_i, dofs_b, list, nr, nk, dofs, res)

%

% function [Kred, Mred, Fred, dired, dbred, Z, O_g, V_g, O_loc, V_loc, L, listd, dofs_s, Kred_s, <<-

Mred_s] = Connect(K_s, M_s, dofs_i, dofs_b, list, nr, nk, dofs, res);

%

% Reads system matrices and applies Component Mode Synthesis (Rubin’s method) to reduce the number

% of dofs of the system.

% by Wilbert Dijkhof 19-07-2004

%

% K_s, M_s, dofs_s = obtained from substructure.m.

%

% List is a vector of vectors (can contain two or more elements) with identical boundary dofs.

% The vectors need to be disjoint:

% list(1).bnode = [2 7]’

% list(2).bnode = [4 6]’

% list_s same due to different subs

%

% nr = vector with nr(j) = # dofs to suppress residual flexibility modes for substructure j.

% nk = vector with nk(j) = # kept elastic flexibility dofs for substructure j. If nk(j)<0 => no reduction.

% checks:

% # elements of list(j).bnode > 1,

% list(j).bnode and list(k).bnode are disjoint for j!=k.

% by default, res=1:

% which means including the residual flexibility modes

if nargin<10

res=1;

end

% bdofs = bdofs due to external loads + bdofs due to surrounding substructures:

for k=1:length(dofs_b)

nb(k) = length(dofs_b(k).nodenr);

end

for j=1:length(K_s)

if nb(j)>length(K_s(j).stiffness)-nr(j)-nk(j) % no reduction

nk(j)=-1;

end

end

% connecting internal and boundary dofs:

for k=1:length(nb)

dofs_s(k).recordnr = [dofs_i(k).recordnr ; dofs_b(k).recordnr];

dofs_s(k).curdofnr = [dofs_i(k).curdofnr ; dofs_b(k).curdofnr];

dofs_s(k).nodenr = [dofs_i(k).nodenr ; dofs_b(k).nodenr];

dofs_s(k).idofnr = [dofs_i(k).idofnr ; dofs_b(k).idofnr];

dofs_s(k).orgdofnr = [dofs_i(k).orgdofnr ; dofs_b(k).orgdofnr];

end

if ~isempty(list(1).bnode)

for j=1:length(list)

if length(list(j).bnode)==1

error([’list(’ num2str(j) ’).bnode=1 is not allowed (must contain two or more elements)’]);

end

end

for j=1:length(list)

for k=j+1:length(list)

m=intersect(list(j).bnode,list(k).bnode);

if isempty(m)==0

error([’list(’ num2str(j) ’).bnode=1 and list(’ num2str(k) ’).bnode=1 contains shared <<-

Page 67: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

60 C.2. CONNECT.M

elements: "’ num2str(m) ’" , which is not allowed’]);

end

end

end

% sorting list (in descending order)

for j=1:length(list)

list(j).bnode=sort(list(j).bnode);

end

% splitting of list in pairs of two:

s=0;

for j=1:length(list)

if length(list(j).bnode)>2

for m=2:length(list(j).bnode)

s=s+1;

listd(s).bnode=[list(j).bnode(1);list(j).bnode(m)];

end

else

s=s+1;

listd(s).bnode=list(j).bnode(:);

end

end

% Reducing the system matrices: CMS (with the use of Rubin.m)

for j=1:length(K_s)

if nk(j)>0

[Kr_s(j).stiffness, Mr_s(j).mass, ZT(j).trans, ZQ(j).trans, dired(j), dbred(j), <<-

O_loc(j).eig, V_loc(j).eig] = Rubin(K_s(j).stiffness, M_s(j).mass, dofs_i(j), dofs_b(j), nr(j), nb(j), <<-

nk(j), 1, res);

Z(j).trans = ZT(j).trans*ZQ(j).trans;

Kred_s(j).stiffness = Z(j).trans’*Kr_s(j).stiffness*Z(j).trans;

Mred_s(j).mass = Z(j).trans’*Mr_s(j).mass*Z(j).trans;

Fred_s(j).forces = Z(j).trans’*F_s(j).forces;

else

Kred_s(j).stiffness = K_s(j).stiffness;

Mred_s(j).mass = M_s(j).mass;

Fred_s(j).forces = F_s(j).forces;

ZT(j).trans = eye(length(Kred_s(j).stiffness));

ZQ(j).trans = eye(length(Kred_s(j).stiffness));

Z(j).trans = ZT(j).trans*ZQ(j).trans;

dired(j) = dofs_i(j);

dbred(j) = dofs_b(j);

% local eigenmodes/eigenvalues:

[V_l,D_l] = eig(Kred_s(j).stiffness, Mred_s(j).mass);

% sorted local eigenfrequencies (in Hz):

% maybe it is better to determine them numerically (in that case the problem occured

% that it didn’t determine the smallest eigenvalue)

O_l=[]; V_lo=[];

for s=1:length(D_l)

O_l(s)=abs(D_l(s,s));

end

[O_l,I_l]=sort(O_l);

O_loc(j).eig=sqrt(O_l)/(2*pi);

for s=1:length(I_l)

V_lo(:,s)=V_l(:,I_l(s));

end

V_loc(j).eig=V_lo;

end

end

% connecting internal and boundary dofs (needed to construct L)

for k=1:length(nb)

dofs_red(k).recordnr = [dired(k).recordnr ; dbred(k).recordnr];

dofs_red(k).curdofnr = [dired(k).curdofnr ; dbred(k).curdofnr];

dofs_red(k).nodenr = [dired(k).nodenr ; dbred(k).nodenr];

Page 68: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 61

dofs_red(k).idofnr = [dired(k).idofnr ; dbred(k).idofnr];

dofs_red(k).orgdofnr = [dired(k).orgdofnr ; dbred(k).orgdofnr];

end

% putting all reduced system matrices in a large matrix:

w=0;

for k=1:length(dofs_s)

u = length(Kred_s(k).stiffness);

Kr(w+1:w+u,w+1:w+u) = Kred_s(k).stiffness;

Mr(w+1:w+u,w+1:w+u) = Mred_s(k).mass;

Fr(w+1:w+u,:) = Fred_s(k).forces;

w=w+u;

end

% determines the boundary dofs (as given in list), and replaces the appropriate

% values in d.recordnr, d.curdofnr, etc.

dr = dbred;

for m=1:length(listd)

k=0;

t=[]; T=[]; U=[]; u=[];

while or(isempty(T),isempty(U))

k=k+1;

t = find(dbred(k).nodenr==listd(m).bnode(2));

if isempty(t)==0

T=t; K1=k;

T2 = find(dr(k).nodenr==listd(m).bnode(2));

end

u = find(dbred(k).nodenr==listd(m).bnode(1));

if isempty(u)==0

U=u; K2=k;

U2 = find(dr(k).nodenr==listd(m).bnode(1));

end

end

l(m).subs=[K2;K1];

l(m).pos=[U,T];

t=T;

u=U;

dbred(K1).recordnr(t)=dbred(K2).recordnr(u);

dbred(K1).curdofnr(t)=dbred(K2).curdofnr(u);

dbred(K1).nodenr(t)=dbred(K2).nodenr(u);

dbred(K1).idofnr(t)=dbred(K2).idofnr(u);

dbred(K1).orgdofnr(t)=dbred(K2).orgdofnr(u);

% removes the duplicate boundary dofs:

t=T2;

u=U2;

dr(K1).recordnr(t)=[];

dr(K1).curdofnr(t)=[];

dr(K1).nodenr(t)=[];

dr(K1).idofnr(t)=[];

dr(K1).orgdofnr(t)=[];

end

% connect the dofs:

dred.recordnr=[]; dred.curdofnr=[]; dred.nodenr=[]; dred.idofnr=[]; dred.orgdofnr=[];

for m=1:length(dofs_s)

% total dofs without duplicate boundary dofs (needed to construct L)

dred.recordnr=[dred.recordnr;dired(m).recordnr;dr(m).recordnr];

dred.curdofnr=[dred.curdofnr;dired(m).curdofnr;dr(m).curdofnr];

dred.nodenr=[dred.nodenr;dired(m).nodenr;dr(m).nodenr];

dred.idofnr=[dred.idofnr;dired(m).idofnr;dr(m).idofnr];

dred.orgdofnr=[dred.orgdofnr;dired(m).orgdofnr;dr(m).orgdofnr];

% total dofs with duplicate boundary dofs (needed to construct L)

d(m).recordnr=[]; d(m).curdofnr=[]; d(m).nodenr=[]; d(m).idofnr=[]; d(m).orgdofnr=[];

d(m).recordnr=[dired(m).recordnr;dbred(m).recordnr];

d(m).curdofnr=[dired(m).curdofnr;dbred(m).curdofnr];

d(m).nodenr=[dired(m).nodenr;dbred(m).nodenr];

Page 69: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

62 C.2. CONNECT.M

d(m).idofnr=[dired(m).idofnr;dbred(m).idofnr];

d(m).orgdofnr=[dired(m).orgdofnr;dbred(m).orgdofnr];

end

% creates the coupling matrix L:

L=[]; v=0; dsum=0;

for s=1:length(dofs_s)

j=1;

u2=0;

while j<=length(d(s).curdofnr);

if dofs_red(s).curdofnr(j)~=d(s).curdofnr(j)

for u=u2+1:length(listd)

if l(u).subs(2)==s

w=find(listd(u).bnode(1)==dred.nodenr);

z=l(u).pos(:,2);

for m=0:length(w)-1

q=w(m+1);

r=z(m+1);

L(dsum+length(dired(s).curdofnr)+r,q)=1;

end

j=j+length(w);

u2=u;

break % jumps out of the for loop when a "u" is found (for u=u2+...)

end

end

else

v=v+1;

L(dsum+j,v)=1;

j=j+1;

end

end

dsum = dsum+length(d(s).curdofnr);

end

% connected system matrices:

Kred = L’*Kr*L;

Mred = L’*Mr*L;

Fred = L’*Fr;

else

listd = list;

Kred_s = [];

Mred_s = [];

% Reducing the system matrices: CMS (with the use of Rubin.m)

if nk>0

[Kr, Mr, ZT.trans, ZQ.trans, dired, dbred, O_loc.eig, V_loc.eig] = Rubin(K_s.stiffness, <<-

M_s.mass, dofs_i, dofs_b, nr, nb, nk, 1);

Z.trans = ZT.trans*ZQ.trans;

Kred = Z.trans’*Kr*Z.trans;

Mred = Z.trans’*Mr*Z.trans;

Fred = Z.trans’*F_s.forces;

else

Kred = K_s.stiffness;

Mred = M_s.mass;

Fred = F_s.forces;

dired = dofs_i;

dbred = dofs_b;

ZT.trans = eye(length(Kred));

ZQ.trans = eye(length(Kred));

Z.trans = ZT.trans*ZQ.trans;

end

end

% global eigenmodes/eigenvalues:

[V,D] = eig(Kred,Mred);

% sorted global eigenfrequencies (in Hz):

Page 70: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 63

% maybe it is better to determine them numerically (in that case the problem occured that it didn’t

% determine the smallest eigenvalue)

for j=1:length(D)

O(j)=abs(D(j,j));

end

[O,I]=sort(O);

O_g=sqrt(O)/(2*pi);

for j=1:length(I)

V_g(:,j)=V(:,I(j));

end

% one substructure:

% no reduction: local eigenvalues/eigenmodes = global eigenvalues/eigenmodes.

% reduction: local eigenvalues/eigenmodes ~= global eigenvalues/eigenmodes (due to ZQ.trans)

if isempty(list(1).bnode)

L=eye(length(Kred)); % if there is only one substructure

if nk==-1

O_loc.eig=O_g; V_loc.eig=V_g; % if there is no reduction

end

end

C.3 Dofs physical.mFile used for the uncertainty analysis, written by W.J.Dijkhof.

function [dofsp, f, Z_g] = dofs_physical(dofs_i, dofs_b, Z, L, V_g, listd)

%

% function [dofsp, f, Z_g] = dofs_physical(dofs_i, dofs_b, Z, L, V_g, listd);

%

% Returns the physical dofs in a vector: dofsp, and recovers modeshapes "f" wrt

% dofsp: f = Z_g*L*V_g

% Also return global modeshapes Z_g (without duplicate dofs)

% by Wilbert Dijkhof 07-11-2003

%

% dofs_s = obtained from substructure2.m.

%

% connecting internal and boundary dofs:

for k=1:length(dofs_i)

dofs_s(k).recordnr = [dofs_i(k).recordnr ; dofs_b(k).recordnr];

dofs_s(k).curdofnr = [dofs_i(k).curdofnr ; dofs_b(k).curdofnr];

dofs_s(k).nodenr = [dofs_i(k).nodenr ; dofs_b(k).nodenr];

dofs_s(k).idofnr = [dofs_i(k).idofnr ; dofs_b(k).idofnr];

dofs_s(k).orgdofnr = [dofs_i(k).orgdofnr ; dofs_b(k).orgdofnr];

end

d = dofs_s;

% determines the boundary dofs (as given in list), and replaces the appropriate

% values in d.recordnr, d.curdofnr, etc.

dr = d;

if ~isempty(listd(1).bnode)

for m=1:length(listd)

k=0;

t=[]; T=[]; U=[]; u=[];

while or(isempty(T),isempty(U))

k=k+1;

t = find(d(k).nodenr==listd(m).bnode(2));

if isempty(t)==0

T=t; K1=k;

T2 = find(dr(k).nodenr==listd(m).bnode(2));

end

u = find(d(k).nodenr==listd(m).bnode(1));

if isempty(u)==0

Page 71: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

64 C.4. EDITDEFMOD1.M

U=u; K2=k;

U2 = find(dr(k).nodenr==listd(m).bnode(1));

end

end

t=T;

u=U;

d(K1).recordnr(t)=d(K2).recordnr(u);

d(K1).curdofnr(t)=d(K2).curdofnr(u);

d(K1).nodenr(t)=d(K2).nodenr(u);

d(K1).idofnr(t)=d(K2).idofnr(u);

d(K1).orgdofnr(t)=d(K2).orgdofnr(u);

% removes the duplicate boundary dofs:

t=T2;

u=U2;

dr(K1).recordnr(t)=[];

dr(K1).curdofnr(t)=[];

dr(K1).nodenr(t)=[];

dr(K1).idofnr(t)=[];

dr(K1).orgdofnr(t)=[];

Z(K1).trans(t,:)=[]; % this line can be removed

end

end

% connect the dofs:

dofsp.recordnr=[]; dofsp.curdofnr=[]; dofsp.nodenr=[]; dofsp.idofnr=[]; dofsp.orgdofnr=[];

for m=1:length(dofs_s)

dofsp.recordnr=[dofsp.recordnr;dr(m).recordnr];

dofsp.curdofnr=[dofsp.curdofnr;dr(m).curdofnr];

dofsp.nodenr=[dofsp.nodenr;dr(m).nodenr];

dofsp.idofnr=[dofsp.idofnr;dr(m).idofnr];

dofsp.orgdofnr=[dofsp.orgdofnr;dr(m).orgdofnr];

end

% global transformation matrix Z_g between physical and reduced dofs

% connecting transformation matrices

Z_g=[];

w1=0; w2=0;

for k=1:length(dofs_s)

u = size(Z(k).trans,1);

v = size(Z(k).trans,2);

Z_g(w1+1:w1+u,w2+1:w2+v) = Z(k).trans;

w1=w1+u;

w2=w2+v;

end

% return the modeshapes wrt to dofsp

f = Z_g*L*V_g;

C.4 EditDefMod1.mFile used for the uncertainty analysis, written by H.W.J.v.d.Berg.

function [a] = editDefMod1(E, h, Ansysoutputfilename)

% function [a] = editDefMod1(E, h, Ansysoutputfilename)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% File for editing an Ansys input file

%% All commands taken from Ansys .log-file

%%

% the file DefMod1.db is used for editing

% design created 4-06-2004 H.v.d.Berg

% current file created 21-12-2004

%

% => * * * * * * * * * * *

% * * * *

% * * * *

% * * * *

Page 72: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 65

% * * * *

% => * * * * * * * * * * *

%

% E ~ Young’s modulus

% h ~ Total beam height

%

% Parameters that are also altered according to change in h:

% A ~ Cross sectional area

% IZZ ~ Area moment of inertia

%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Calculate new A and IZZ:

A=h^2 - (h-0.004)^2;

IZZ=(h^4)/12 - (h-0.004)^4/12;

%Transfer all input variables to strings

E_str=num2str(E);

A_str=num2str(A);

IZZ_str=num2str(IZZ);

h_str=num2str(h);

file_out=fopen(’ansyscommands.txt’,’at’);

fprintf(file_out,’%s’,’ /BATCH ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ /COM,ANSYS RELEASE 5.5.2 11:58:11 12/22/2004 ’);

fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ /input,menust,tmp ,,,,,,,,,,,,,,,,,1 ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ /GRA,POWER ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ /GST,ON ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ RESUME,Defmod1,db,,0 ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ /COM,ANSYS RELEASE 5.5.2 11:58:32 12/22/2004 ’);

fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ ERASE ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ /FILNAM,’,Ansysoutputfilename);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ /PREP7 ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ !* ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ R,1,’,A_str,’,’,IZZ_str,’,’, h_str,’,0,0,0, ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ !* ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ !* ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,1,EX, , ,’,E_str,’, ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,1,DENS, , ,7850, ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,1,ALPX, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,1,REFT, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,1,NUXY, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,1,PRXY, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,1,GXY, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,1,MU, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,1,DAMP, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ !* ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ SAVE ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ FINISH ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ /SOLU ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ /STAT,SOLU ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ SOLVE ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ FINISH ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ !* ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ ! /EXIT,MODEL ’);fprintf(file_out,’\n’);

st=fclose(file_out);

a=’File compiled succesfully’;

C.5 Editoptimmodel Ansys.mFile used for the optimization, written by H.W.J.v.d.Berg.

function [a] = editoptimmodel_Ansys(E, hb, Ansysoutputfilename)

% function [a] = editoptimmodel_Ansys(E, hb, Ansysoutputfilename)

Page 73: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

66 C.5. EDITOPTIMMODEL ANSYS.M

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% File for editing an Ansys input file

%% All commands taken from Ansys .log-file

%%

% the file Optim_constructie.db is used for editing

% file design created 4-06-2004 H.v.d.Berg (creating of Ansys input file)

% current file created 19-5-2005

%

%=> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

% * * * * * * * * * * * * * * * * * * * *

% * * * * * * * * * * * * * * * * * * * *

% * * * * * * * * * * * * * * * * * * * *

% * * * * * * * * * * * * * * * * * * * *

%=> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

%

% 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3

%

% E (3*1) ~ Column with Young’s modulus for the 3 substructures

% hb (7*2) ~ Matrix with height and width for the several beam distinctions in the construction

% [ h1 b1 ] 1 - horizontal beams in substructure 1

% [ h2 b2 ] 2 - vertical beams in substructure 1

% [ h3 b3 ] 3 - diagonal beams in substructure 1

% [ h4 b4 ] 4 - all beams in substructure 2

% [ h5 b5 ] 5 - horizontal beams in substructure 3

% [ h6 b6 ] 6 - vertical beams in substructure 3

% [ h7 b7 ] 7 - diagonal beams in substructure 3

%

% Parameters that are also altered according to change in h & b:

% A ~ Cross sectional area

% IZZ ~ Area moment of inertia

%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Calculate new A and IZZ for each beamtype:

for k=1:length(hb)

A(k,1)= hb(k,1)*hb(k,2) - (hb(k,1)-0.006)*(hb(k,2)-0.006);

IZZ(k,1)= (hb(k,1)^3*hb(k,2))/12 - ((hb(k,1)-0.006)^3*(hb(k,2)-0.006))/12;

end

%Transfer all input variables to strings

A1 = num2str(A(1,1));A2 = num2str(A(2,1));A3 = num2str(A(3,1));A4 = num2str(A(4,1));

A5 = num2str(A(5,1));A6 = num2str(A(6,1));A7 = num2str(A(7,1));

IZZ1 = num2str(IZZ(1,1));IZZ2 = num2str(IZZ(2,1));IZZ3 = num2str(IZZ(3,1));IZZ4 = num2str(IZZ(4,1));

IZZ5 = num2str(IZZ(5,1));IZZ6 = num2str(IZZ(6,1));IZZ7 = num2str(IZZ(7,1));

h1 = num2str(hb(1,1));h2 = num2str(hb(2,1));h3 = num2str(hb(3,1));h4 = num2str(hb(4,1));

h5 = num2str(hb(5,1));h6 = num2str(hb(6,1));h7 = num2str(hb(7,1));

E1 = num2str(E(1,1));E2 = num2str(E(2,1));E3 = num2str(E(3,1));

file_out=fopen(’optim_ansyscommands.txt’,’at’);

fprintf(file_out,’%s’,’ /BATCH ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ /COM,ANSYS RELEASE 5.5.2 07:30:01 05/19/2005 ’);

fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ /input,menust,tmp ,,,,,,,,,,,,,,,,,1 ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ /GRA,POWER ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ /GST,ON ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ RESUME,Optim_constructie,db,,0 ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ /COM,ANSYS RELEASE 5.5.2 07:30:18 05/19/2005 ’);

fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ ERASE ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ /FILNAM,’,Ansysoutputfilename);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ EPLOT ’);fprintf(file_out,’\n’);

Page 74: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 67

fprintf(file_out,’%s’,’ /PREP7 ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ !* ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ R,1,’,A1,’,’,IZZ1,’,’, h1,’,0,0,0, ’);fprintf(file_out,’\n’);

%fprintf(file_out,’%s’,’ R,1,0.0005641,2.08e-007,0.05,0,0,0, ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ !* ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ R,2,’,A2,’,’,IZZ2,’,’, h2,’,0,0,0, ’);fprintf(file_out,’\n’);

%fprintf(file_out,’%s’,’ R,2,0.0005642,2.08e-007,0.05,0,0,0, ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ !* ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ R,3,’,A3,’,’,IZZ3,’,’, h3,’,0,0,0, ’);fprintf(file_out,’\n’);

%fprintf(file_out,’%s’,’ R,3,0.0005643,2.08e-007,0.05,0,0,0, ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ !* ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ R,4,’,A4,’,’,IZZ4,’,’, h4,’,0,0,0, ’);fprintf(file_out,’\n’);

%fprintf(file_out,’%s’,’ R,4,0.0005644,2.08e-007,0.05,0,0,0, ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ !* ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ R,5,’,A5,’,’,IZZ5,’,’, h5,’,0,0,0, ’);fprintf(file_out,’\n’);

%fprintf(file_out,’%s’,’ R,5,0.0005645,2.08e-007,0.05,0,0,0, ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ !* ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ R,6,’,A6,’,’,IZZ6,’,’, h6,’,0,0,0, ’);fprintf(file_out,’\n’);

%fprintf(file_out,’%s’,’ R,6,0.0005646,2.08e-007,0.05,0,0,0, ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ !* ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ R,7,’,A7,’,’,IZZ7,’,’, h7,’,0,0,0, ’);fprintf(file_out,’\n’);

%fprintf(file_out,’%s’,’ R,7,0.0005647,2.08e-007,0.05,0,0,0, ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ !* ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ !* ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,1,EX, , ,’,E1,’, ’);fprintf(file_out,’\n’);

%fprintf(file_out,’%s’,’ UIMP,1,EX, , ,70000000000, ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,1,DENS, , ,2700, ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,1,ALPX, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,1,REFT, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,1,NUXY, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,1,PRXY, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,1,GXY, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,1,MU, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,1,DAMP, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ !* ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ !* ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,2,EX, , ,’,E2,’, ’);fprintf(file_out,’\n’);

%fprintf(file_out,’%s’,’ UIMP,2,EX, , ,70000000000, ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,2,DENS, , ,2700, ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,2,ALPX, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,2,REFT, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,2,NUXY, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,2,PRXY, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,2,GXY, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,2,MU, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,2,DAMP, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ !* ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ !* ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,3,EX, , ,’,E3,’, ’);fprintf(file_out,’\n’);

%fprintf(file_out,’%s’,’ UIMP,3,EX, , ,70000000000, ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,3,DENS, , ,2700, ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,3,ALPX, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,3,REFT, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,3,NUXY, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,3,PRXY, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,3,GXY, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,3,MU, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ UIMP,3,DAMP, , , , ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ !* ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ SAVE ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ FINISH ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ /SOLU ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ /STAT,SOLU ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ SOLVE ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ FINISH ’);fprintf(file_out,’\n’);

fprintf(file_out,’%s’,’ !* ’);fprintf(file_out,’\n’);

Page 75: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

68 C.6. ELEMENT INFO.M

fprintf(file_out,’%s’,’ ! /EXIT,MODEL ’);fprintf(file_out,’\n’);

st=fclose(file_out);

a=’File compiled succesfully’;

C.6 Element info.mFile used for the uncertainty analysis, written by W.J.Dijkhof.

function [sub, sub_b, list] = element_info(fnm, lst)

% function [sub, sub_b, list] = element_info(fnm, lst);

%

% preprocessor -> create -> elements -> write element file (as element.txt)

% fnm is filename with the positions of the nodes, for example ’element.txt’

%

% by Wilbert Dijkhof 06-07-2004

%

% sub(k).lst: internal nodes in substructure k

% sub_b(k).lst boundardy nodes in substructure k (which connects with other substructures)

% list: consists of nodes which are located on the same position; they

% correspond to different substructures.

%

% Check for given filename to be present:

if exist(fnm)~=2

error([’file ’,fnm,’ not found’]);

end

fid = fopen(fnm);

if ~fid

error(’Cannot open file’);

end

% I don’t know how to read the data in once (without knowning the number of

% lines). This is to figure out the number of lines.

j=0;

d=0;

while d>=0

j=j+1;

d = fgetl(fid);

end;

m=j-1;

fclose(fid);

% Read all data:

fid = fopen(fnm);

D = zeros(14,m);

for j=1:m

d = sscanf(fgetl(fid),’%f’);

D(1:length(d),j)=d;

end

fclose(fid);

D=D’;

% Start with building the substructures. Puts the nodes of the first

% element in sub(1).lst. This will be substructure 1.

sub(1).lst = D(1,1:8);

%% IN = index file: if IN is not empty it means that there are still nodes to be added in sub(t).lst.

%% IN runs over the elements, that is D(j,1:8).

IN = [1:1:size(D,1)];

t=1;

Page 76: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 69

k=0;

while ~isempty(IN)

k=k+1;

C=[];

s=[];

for j=1:length(IN)

C = intersect(sub(t).lst, D(IN(j),1:8)); %% if C is not empty, those nodes will be added to <<-

sub(t).lst (*)

if C==0

C=[];

else

sub(t).lst = union(sub(t).lst, D(IN(j),1:8)); %% (*)

s = [s IN(j)]; %% since the nodes in IN(j) are added in sub(t).lst they can be removed <<-

from the search index (**)

end

end

IN = setdiff(IN,s); %% (**)

if and(isempty(s),~isempty(IN))

t=t+1; %% if s is empty and IN is not empty, it means that are nodes left (in index) which <<-

belongs to a separate substructure

sub(t).lst = D(IN(1),1:8); %% those nodes are added to a new substructure

k=0; %% the above procedure is repeated till also IN is empty.

end

end

% The first element of sub(j).lst can be zero (in case the elements of a substructure is specified by <<-

less than eight nodes).

% Removing those:

for j=1:length(sub)

if sub(j).lst(1)==0

sub(j).lst(1)=[];

end

end

% splits sub in internal sub and boundary sub (sub_b) if:

% list is given and there is more than one substructure

for k=1:size(sub,2)

sub_b(k).lst=[];

end

for v=1:size(lst,2)

for k=1:size(sub,2)

[C, IA, IB] = intersect(lst(v).bnode,sub(k).lst);

if length(C) == length(lst(v).bnode)

lst(v).bnode = [];

else if length(C) > 0

sub(k).lst(IB) = [];

sub_b(k).lst = [sub_b(k).lst C];

end

end

end

end

% removing empty slots from lst.bnode

s=0;

list(1).bnode=[];

for v=1:size(lst,2)

if ~isempty(lst(v).bnode)

s=s+1;

list(s).bnode = lst(v).bnode;

end

end

C.7 Input define.mFile used for the uncertainty analysis, written by H.W.J.v.d.Berg.

function [Kstrip,Mstrip,F,dofs_b_strip, SD_b_strip, Pstrip]=Input_define(K_s, M_s,df,df_magn, <<-

Page 77: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

70 C.7. INPUT DEFINE.M

input_type,freq_left,step,freq_right,dofs_i,dofs_b,SD_b)

% function to define the input the system will be subject to. This can be just a force,

% but also a prescribed variation of surtain dofs. If the choice is made to prescribe

% dof-variations, system matrices will be altered as well; dofs_i and dofs_b will be

% altered consequently

%

% *Input:

% K_s: structure containing stiffness matix for each substructure

% M_s: structure containing mass matrix for each substructure

% df: dof(s) where input will be applied

% df_magn: magnitude of every input chosen with df (Newton or meters, depending on input_type)

% input_type:

% 1.Force input

% 2.Prescribed dof(s)

% freq_left: lowest frequency of interest

% step: resolution of frequency range

% freq_right: Highest frequency of interest

% dofs_i, dofs_b: output from substructure.m

%

% *Output

% Kstrip: new stiffness matrix (only altered for prescribed dof(s) input)

% Mstrip: new stiffness matrix (only altered for prescribed dof(s) input)

% F: structure with field ’forces’; contains force vector(s) / matrix (matrices)

%

if length(df)~=length(df_magn);

error(’df and df_magn are of different size’)

end

if length(df)>1;

for i=2:length(df)

if df(i-1)> df(i);

error(’Elements in df must be ordered in successive order’)

end

end

end

for k=1:length(dofs_i) %k-> number of substructures

% dofs_s(k).recordnr = [dofs_i(k).recordnr ; dofs_b(k).recordnr];

dofs_s(k).curdofnr = [dofs_i(k).curdofnr ; dofs_b(k).curdofnr];

dofs_s(k).nodenr = [dofs_i(k).nodenr ; dofs_b(k).nodenr];

% dofs_s(k).idofnr = [dofs_i(k).idofnr ; dofs_b(k).idofnr];

% dofs_s(k).orgdofnr = [dofs_i(k).orgdofnr ; dofs_b(k).orgdofnr];

end

%build matrix with index of input locations

p1=zeros(length(dofs_s),length(df));

dfcount=zeros(length(dofs_i),1);

for m=1:length(dofs_i)

magn_df(m).A=[];

end

for i=1:length(df);

for m=1:length(dofs_i) %m-> number of substructures

pos = find(dofs_s(m).curdofnr==df(i));

if isempty(pos);pos=0;

elseif ~isempty(pos);dfcount(m,1)=dfcount(m,1)+1;

magn_df(m).A=[magn_df(m).A df_magn(i)];

end

p1(m,i) = pos;

end

end

if find((max(p1))==0);

error(’df contains a dof which is not present in dofsp.curdofnr’)

end

Page 78: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 71

%generate initial force vectors

for k=1:length(dofs_i) %k-> number of substructures

Fn(k).forces=zeros(length(dofs_s(k).nodenr),1);

cc=1;

df_s(k).df=[];

for m=1:size(p1,2)

if p1(k,m)~=0;

Fn(k).forces(p1(k,m),1)=magn_df(k).A(cc);

cc=cc+1;

df_s(k).df=[df_s(k).df p1(k,m)];

end

end

Pstrip(k).trans=eye(length(K_s(k).stiffness));

end

if input_type==1; % Input will be a force on the specified dofs

F=Fn;

Kstrip=K_s;

Mstrip=M_s;

dofs_b_strip = dofs_b;

elseif input_type==2; %Input will be an excitation of the specified dofs

freq_range = (2*pi)*[freq_left:step:freq_right];

for ss=1:length(dofs_i)% ss --> number of substructures

df_sort=sort(df_s(ss).df);

for ii=length(df_sort):-1:1

Pstrip(ss).trans(df_sort(ii),:)=[];

end

K_s_strip1(ss).stiffness = Pstrip(ss).trans * K_s(ss).stiffness;

M_s_strip1(ss).mass = Pstrip(ss).trans * M_s(ss).mass;

iic=1;iicc=1;

for ii=1:size(K_s_strip1(ss).stiffness,2)

if Fn(ss).forces(ii)~=0;

K_force(ss).stiffness(:,iicc)=K_s_strip1(ss).stiffness(:,ii);

M_force(ss).mass(:,iicc)=M_s_strip1(ss).mass(:,ii);

iicc=iicc+1;

end

end

K_s_strip2(ss).stiffness = K_s_strip1(ss).stiffness * Pstrip(ss).trans’;

M_s_strip2(ss).mass = M_s_strip1(ss).mass * Pstrip(ss).trans’;

iic=1;

dofs_b_strip(ss).recordnr = [];

dofs_b_strip(ss).curdofnr = [];

dofs_b_strip(ss).nodenr = [];

dofs_b_strip(ss).idofnr = [];

dofs_b_strip(ss).orgdofnr = [];

for ii=1:length(dofs_b(ss).curdofnr)

cc=find(dofs_b(ss).curdofnr(ii)==df);

if isempty(cc)

%Loop voor bijwerken dofs_b (dofs_i zal niet wijzigen door wegstrepen van rijen die kracht voor

% exitatie berekenen, deze zitten immers per definitie in dofs_b)

dofs_b_strip(ss).recordnr(iic,1) = [dofs_b(ss).recordnr(ii,1)];

dofs_b_strip(ss).curdofnr(iic,1) = [dofs_b(ss).curdofnr(ii,1)];

dofs_b_strip(ss).nodenr(iic,1) = [dofs_b(ss).nodenr(ii,1)];

dofs_b_strip(ss).idofnr(iic,1) = [dofs_b(ss).idofnr(ii,1)];

dofs_b_strip(ss).orgdofnr(iic,1) = [dofs_b(ss).orgdofnr(ii,1)];

iic = iic + 1;

Page 79: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

72 C.8. MOVE.M

end

end

iic=1;

SD_b_strip(ss).lst=[];

for ii=1:length(SD_b(ss).lst)

cc=find(SD_b(ss).lst(ii)==df);

if isempty(cc)

%Loop voor bijwerken SD_b, zoals ook dofs_b wordt bijgewerkt

SD_b_strip(ss).lst(1,iic) = [SD_b(ss).lst(1,ii)];

iic = iic + 1;

end

end

Kstrip=K_s_strip2;

Mstrip=M_s_strip2;

NewQ(ss).A=zeros(length(K_s_strip2(ss).stiffness),length(freq_range));

for jj=1:dfcount(ss)

for kk=1:length(freq_range)

NewQ(ss).A(:,kk)= NewQ(ss).A(:,kk)-K_force(ss).stiffness(:,jj)*magn_df(ss).A(jj)-(freq_range(1,kk))^2* <<-

M_force(ss).mass(:,jj)*(1i)^2*magn_df(ss).A(jj); %

end

end

F(ss).forces=NewQ(ss).A;

end

else error(’input type must be 1 or 2’)

end

C.8 Move.mFile used for the uncertainty analysis, written by W.J.Dijkhof, edited by H.W.J.v.d.Berg.

function [SD_i, SD_b] = move(SD_i, SD_b, df)

% function [SD_i, SD_b] = move(SD_i, SD_b, df);

% moves "bdofs due to external forces" from SD_i to SD_b

% by Wilbert Dijkhof 12-07-2004

%

% example: [SD_i, SD_b] = move(SD_i, SD_b, 38);

%

dfcheck=zeros(size(df));

for n=length(df):-1:1

for j=1:length(SD_i)

f1 = find(SD_i(j).lst==df(n));

if ~isempty(f1)

SD_b(j).lst = [SD_i(j).lst(f1) SD_b(j).lst];

SD_i(j).lst(f1)=[];

dfcheck(n)=df(n);

end

end

end

% Actual move-part is finished here

% Check whether all inputs in df are correct

f2= find(dfcheck==0);

if ~isempty(f2)

for m=1:length(f2)

for j=1:length(SD_b)

f3 = find(SD_b(j).lst==df(f2(m)));

if ~isempty(f3)

dfcheck(f2(m)) = df(f2(m));

Page 80: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 73

end

end

end

end

f4 = find(dfcheck==0);

if ~isempty(f4)

error([’df contains dof(s) ’,num2str(df(f4)),’ that not exist in SD_i or SD_b’])

elseif isempty(f4) & f2 ~isempty(f2)

disp([’-- dof(s) ’,num2str(df(f2)),’ already part of SD_i (function move.m) --’])

end

% %% Original version (only suitable for one element in df):

% for j=1:length(SD_i)

% f = find(SD_i(j).lst==df);

% if ~isempty(f)

% SD_b(j).lst = [SD_i(j).lst(f) SD_b(j).lst];

% SD_i(j).lst(f)=[];

% end

% end

C.9 Node2dof.mFile used for the uncertainty analysis, written by W.J.Dijkhof.

function [SD] = Node2dof(SN, dofs)

% function [SD] = Node2dof(SN, dofs)

%

% gives the dofs which corresponds to the nodes in SN, as given in dofs.

% by Wilbert Dijkhof 06-19-2003

%

% SN must be a vector of vectors:

% SN(1).lst = ...

% SN(2).lst = ...

% etc.

%

% output:

% SD(1).lst = ...

% SD(2).lst = ...

% etc.

%

for j=1:length(SN)

L=[];

s=0;

for k=1:length(SN(j).lst)

t = find(dofs.nodenr==SN(j).lst(k));

for v=0:length(t)-1

v=v+1;

L(s+v)=dofs.curdofnr(t(v));

end

s=s+length(t);

end

SD(j).lst=L;

end

C.10 Node info.mFile used for the uncertainty analysis, written by W.J.Dijkhof.

function [G, list] = node_info(fnm)

Page 81: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

74 C.10. NODE INFO.M

% function [G, list] = node_info(fnm);

%

% preprocessor -> create -> nodes -> write node file (as node.txt)

% fnm is filename with the positions of the nodes, for example ’node.txt’

% N = # of nodes (= # lines in fnm)

%

% by Wilbert Dijkhof 06-13-2003

% Check for given filename to be present:

if exist(fnm)~=2

error([’file ’,fnm,’ not found’]);

end

fid = fopen(fnm);

if ~fid

error(’Cannot open file’);

end

% Data = fscanf(fid,’%g’,[3 121]); The problem is that the right most zeros

% are not there (corresponding to y=0), implying that the rows are not of equal size.

% Therefore the data is imported line by line:

% I don’t know how to read the data in once (without knowning the number of lines):

j=0;

d=0;

while d>=0

j=j+1;

d = fgetl(fid);

end;

m=j-1;

fclose(fid);

fid = fopen(fnm);

D = zeros(4,m);

for j=1:m

d = sscanf(fgetl(fid),’%f’);

D(1:length(d),j)=d;

end

fclose(fid);

% identifying identical boundary dofs (dofs on the same position), and put them in listd.

[Y,I]=sortrows(D([2 3],:)’);

X=diff(Y);

list.bnode=[];

k=0;

j=1;

while j<=size(X,1)

m=0;

while sum(abs(X(j+m,:)))==0 % X(j) and X(j+1) have the same position

m=m+1;

end

if m>0

k=k+1;

list(k).bnode = D(1,[I(j:j+m)]); % takes the corresponding nodes, and puts them in list.bnode

j=j+m;

else

j=j+1;

end

end

% removing identical boundary dofs, using listd:

for m=1:length(list)

for s=1:length(list(m).bnode)-1

U = find(D(1,:)==list(m).bnode(s+1));

Page 82: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 75

D(:,U)=[];

end

end

G=D’;

C.11 Optim construction resp red.mFile used for the optimization, written by H.W.J.v.d.Berg.

%% Define filename

Ansysoutputfilename = num2str(filename);

%% Create Ansys model file

!del optim_ansyscommands.txt;

editoptimmodel_Ansys (E, hb, Ansysoutputfilename); %creates a new file optim_ansyscommands.txt, which <<-

is executed with the next line:

!run_ansyscompile_optim.bat;

%%% Direct inputs: %%%%%%%%%%%%%%

df = [2 29]; %nodes 1 and 10, both in y-direction

df_magn = [0.1 0.1];

input_type = 2;

nd= 365; %node 122 in y-direction %dof where response is calculated

freq_left = 1 ;

step = 0.5 ;

freq_right = 400 ;

xi = 0.03 ;

%Ea = 2e11 ;

%Sda = 0.03*2e11 ;

nr =[0 3 3];

nk =[10 27 10];

%Mn_PMCS = 5;

%stoc = ’gaussian’;

%Mn_MCS = 5;

%cov = 0.03 ;

%var_0 = 0.025 ;

%var_choice = 1 ;% 1 for varying E, 2 for varying h_0

%filename = ’MCS_defmod1_allsave’;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

inputfilename = [filename ’.full’]

[K, M, dofs] = readfull(inputfilename);

[G, lst] = node_info(’Optim_constructie_nodes.txt’);

[sub, sub_b, list] = element_info(’Optim_constructie_elem.txt’, lst);

cd ..

SD_i = Node2dof(sub, dofs);

SD_b = Node2dof(sub_b, dofs);

[SD_i, SD_b] = move(SD_i, SD_b, df);

[K_s, M_s, dofs_i, dofs_b] = substructure(K, M, dofs, SD_i, SD_b);

[Kstrip_s,Mstrip_s,F_s,dofs_b_strip,SD_b_strip,Pstrip]=Input_define(K_s, M_s,df,df_magn,input_type, <<-

freq_left,step,freq_right,dofs_i,dofs_b,SD_b);

% PMCS & Taylor

[Kred, Mred, F, dired, dbred, Z, O_g, V_g, O_loc, V_loc, L, listd, dofs_s, Kred_s, Mred_s] = <<-

Connect(Kstrip_s, Mstrip_s, F_s, dofs_i, dofs_b_strip, list, nr, nk, dofs);

[dofsp, f, Z_g] = dofs_physical(dofs_i, dofs_b_strip, Z, L, V_g, listd);

Nn=nd;

U = resp_check(Kred, Mred, F, Z_g, dofsp, O_g, V_g, L, freq_left, step, freq_right, xi, Nn);

cd optimization

C.12 PMCSn unwrap.mFile used for the uncertainty analysis, written by W.J.Dijkhof, edited by H.W.J.v.d.Berg

Page 83: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

76 C.12. PMCSN UNWRAP.M

function [u, EUA, SDUA, EUP, SDUP, distrib,DZ] = PMCSn_unwrap(Kred, Mred, F, F_s, Z, L, dofs_i, <<-

dofs_b, listd, freq_left, step, freq_right, dofsp, Z_g, kr, mr, tr, qr, Ea, SDa, xi, nd, M, stoc)

%

% [u, EUA, SDUA, EUP, SDUP, distrib,DZ] = PMCSn(Kred, Mred, F, F_s, Z, L, dofs_i, dofs_b, listd, <<-

freq_left, step, freq_right, dofsp, Z_g, kr, mr, tr, qr, Ea, SDa, xi, df, nd, M, stoc)

%

% Given the derivatives of the system matrices (and transformation matrix when reduction is applied), <<-

realizations are generated.

% These are used to compute the corresponding realizations of the displacement, which are used to <<-

estimate the mean and variance of

% the displacement.

% by Wilbert Dijkhof 14-07-2004

%

% dofs_physical.m => dofsp, Z_g

% connect.m => Kred, Mred, Z, L, F

% input_define.m => F_s

% [freq_left:step:freq_right] => frequency range (in Herz)

%

% kr(j,k,i).stiffness: stiffness matrix, mr(j,k,i).mass: mass matrx, zr(j,k,i).trans: transformation

% j = which substructure

% k = which uncertain parameter of j

% i = (i+1)-th derivative evaluated about the mean, i=1,2. % ...

%

% kr(1,1,1) = deterministic value

% kr(1,2,3) = second derivative "3" of the second uncertain parameter "2" of substructure one "1".

%

% Ea(j,k) = expectation of a, j = substructure, k which uncertain parameter

% SDa(j,k) = standard deviation of a, j = substructure, k which uncertain parameter

% xi = modal damping coefficient

% df = excited dof in dofsp.curdofnr

% nd = response at dof in dofsp.curdofnr

% stoc = ’gaussian’ or ’uniform’

%

% deleted after introduction of input_define(1&2).m % check: dof in dofsp

% deleted after introduction of input_define(1&2).m p1 = find(dofsp.curdofnr==df);

% deleted after introduction of input_define(1&2).m if isempty(p1)

% deleted after introduction of input_define(1&2).m error(’dof is not an element of dofsp.curdofnr’)

% deleted after introduction of input_define(1&2).m end

% deleted after introduction of input_define(1&2).m q1=p1;

if length(nd)>1; % added after introduction of input_define(1&2).m

error(’Function PMCS can only consider one response-dof each run, so nd must be single number, not <<-

a vector’)

end

p2 = find(dofsp.curdofnr==nd);

if isempty(p2)

error(’node is not an element of dofsp.curdofnr’)

end

q2=p2;

% check that size(kr,3)=2 or size(kr,3)=3:

if ~or(size(kr,3)==2,size(kr,3)==3)

error(’size(kr,3) must be 2 or 3, indicating first or second derivative!’)

end

% check stoc=’gaussian’ or ’uniform’

if isempty(strmatch(stoc,strvcat(’gaussian’,’uniform’)))

error(’stoc must be gaussian or uniform with quotes around it’)

end

% converting freq. range from Herz to radials

freq_range = (2*pi)*[freq_left:step:freq_right];

Page 84: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 77

% DZ.trans = (Z.trans(x+h) - Z.trans(x))/h -> h relatively (wrt x, that is Ea) small

for j=1:size(tr,1)

for k=1:size(tr,2)

h(j,k) = 0.01*Ea(j,k); % struct van maken !!!

end

end

% deleted after introduction of input_define(1&2).m % assuming F=1, DFn=0; calculation DF:

% deleted after introduction of input_define(1&2).m Fn=zeros(length(dofsp.nodenr),1);

% deleted after introduction of input_define(1&2).m Fn(p1)=[-1];

% deleted after introduction of input_define(1&2).m %adjust following two lines:

% deleted after introduction of input_define(1&2).m F = L’*Z_g’*Fn;

% DZ.trans = (Z.trans(x+h) - Z.trans(x))/h, h small

for j=1:size(tr,1)

zr(j,1,1).trans = tr(j,1,1).trans*qr(j,1,1).trans;

for k=1:size(tr,2)

if ~isempty(tr(j,k,2).trans)

%~isempty(tr(2,1,2).trans)

zr(j,k,2).trans = tr(j,k,2).trans * qr(j,k,2).trans;

DZ(j,k).trans = (zr(j,k,2).trans - zr(j,1,1).trans)/h(j,k);

else

DZ(j,k).trans = [];

end

end

end

% building diagonal matrix: Z_g = diag(Z(1).trans, ..., Z(N).trans)

% building diagonal matrix: DZ_g(j,k) = diag(0, ..., DZ(j,k), ..., 0)

[dofsp, Z_g, DZ_g] = clean(dofs_i, dofs_b, listd, Z, DZ);

%Construct Fn out of F_s

Fn=[];

for j=1:length(F_s);

Fn= [Fn;F_s(j).forces];

end

%Fn = F;

%% Added for using substructuring (duplicate boundary dofs must not be removed for calculating DF)

w1=0; w2=0;

for j=1:size(DZ,1)

for k=1:size(DZ,2)

uuu = size(DZ(j).trans,1);

vvv = size(DZ(j).trans,2);

DZ_g_full(j,k).trans = zeros(size(Fn,1),size(L,1));

if ~isempty(DZ(j,k).trans)

DZ_g_full(j,k).trans(w1+1:w1+uuu,w2+1:w2+vvv) = DZ(j,k).trans; %%% 60x60;

end

end

w1=w1+uuu;

w2=w2+vvv;

end

% End of inserted part (20-6-2005)

% DF = L’*DZ_g’*Fn + L’*Z_g’*DFn = L’*DZ_g’*Fn, provided: DFn = 0 [wrong]

for j=1:size(tr,1)

for k=1:size(tr,2)

if ~isempty(tr(j,k,2).trans)

DF(j,k).force = L’*DZ_g_full(j,k).trans’*Fn; %Original L’*DZ_g(j,k).trans’*Fn; changed for <<-

optimization analyse

% DF(j,k).force = L’*DZ_g(j,k).trans’*Fn;

end

end

end

Page 85: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

78 C.12. PMCSN UNWRAP.M

% global eigenmodes/eigenvalues:

[V2,D] = eig(Kred,Mred);

% sorted global eigenfrequencies (in Hz):

O=[];

for j=1:length(D)

O(j) = abs(D(j,j));

end

[O,I] = sort(O);

% O_g = sqrt(O)/(2*pi);

for j=1:length(I)

V2_g(:,j) = V2(:,I(j));

end

%K2_V = V2_g’*Kred*V2_g;

M2_V = V2_g’*Mred*V2_g; % = not always identity

% orthonormalization

V_g=[];

for j=1:length(M2_V),

V_g(:,j) = V2_g(:,j)./sqrt(M2_V(j,j));

%% O(j,j) = K2_V(j,j)/M2_V(j,j);

%% M_V(j,j) = 1;

end

% calculation derivatives

%% DK and DM:

for j=1:size(tr,1)

%zr(j,1,1).trans = tr(j,1,1).trans * qr(j,1,1).trans;

for k=1:size(tr,2)

if ~isempty(tr(j,k,2).trans)

DKZ(j,k).stiffness = (zr(j,k,2).trans’*kr(j,k,2).stiffness*zr(j,k,2).trans - <<-

zr(j,1,1).trans’*kr(j,1,1).stiffness*zr(j,1,1).trans)/h(j,k);

DMZ(j,k).mass = (zr(j,k,2).trans’*mr(j,k,2).mass*zr(j,k,2).trans - zr(j,1,1).trans’* <<-

mr(j,1,1).mass*zr(j,1,1).trans)/h(j,k);

end

end

end

%% building diagonal matrix: DB = L’*diag(0, ..., DB_Z, ..., 0)*L

%%% # columns of diag(Z(1).trans, Z(2).trans, ...)

s = [0 0];

for t=1:size(Z,2)

s = s + size(Z(t).trans,2);

end

for j=1:size(tr,1)

for k=1:size(tr,2)

n = 0;

P1 = zeros(s);

P2 = zeros(s);

if ~isempty(tr(j,k,2).trans)

for v=1:j-1 % sum of sizes of the substructures 1, ..., j-1.

n = n + size(Z(v).trans,2);

end

P1(n+1:n+size(Z(j).trans,2), n+1:n+size(Z(j).trans,2)) = DKZ(j,k).stiffness;

DK(j,k).stiffness = L’*P1*L;

P2(n+1:n+size(Z(j).trans,2), n+1:n+size(Z(j).trans,2)) = DMZ(j,k).mass;

DM(j,k).mass = L’*P2*L;

end

end

end

% Monte-Carlo simulation

Page 86: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 79

W = zeros(1,length(freq_range));

Q = zeros(1,length(freq_range));

W2 = W;

Q2 = Q;

z = 0;

for s=1:M

for j=1:size(tr,1)

if ~isempty(tr(j,1,2).trans) %% if tr(j,1,2).trans=[] then nothing should happen.

KLp.stiffness = zeros(size(Kred));

MLp.mass = zeros(size(Mred));

Z_g_p.trans = zeros(size(Z_g));

FLp.force = zeros(size(F));

for k=1:size(tr,2)

if ~isempty(tr(j,k,2).trans)

if strcmp(stoc,’gaussian’)

if s==1

re(j,k).real = 1.00*Ea(j,k); %%% might be useful for checkings

% elseif s==2

% re(j,k).real = 1.02*Ea(j,k); %%% might be useful for checkings

else

re(j,k).real = normrnd(Ea(j,k),SDa(j,k));

end

else

%y = unifrnd(Ea-2*SDa,Ea+2*SDa);

if M==1

re(j,k).real = Ea(j,k);

else

re(j,k).real = Ea(j,k) - 2*SDa(j,k) + 4*(s-1)*SDa(j,k)/(M-1);

end

end

distrib(s,j,k)=re(j,k).real;

%% realizations

%KLre = zeros(size(Kred));

%MLre = zeros(size(Mred));

%Z_g_re = zeros(size(Z_g(j,k)));

%KLre = Kred + (re-Ea(j,k))*DK(j,k).stiffness;

%MLre = Mred + (re-Ea(j,k))*DM(j,k).mass;

%Z_g_re = Z_g + (re-Ea(j,k))*DZ_g(j,k).trans;

%KLp = KLre - Kred;

%MLp = MLre - Mred;

%Z_g_p = Z_g_re - Z_g;

KLp.stiffness = KLp.stiffness + (re(j,k).real-Ea(j,k))*DK(j,k).stiffness;

MLp.mass = MLp.mass + (re(j,k).real-Ea(j,k))*DM(j,k).mass;

Z_g_p.trans = Z_g_p.trans + (re(j,k).real-Ea(j,k))*DZ_g(j,k).trans;

%% perturbation in modal force (assuming L and Fn are constant)

%FLp = FLre - F;

FLp.force = FLp.force + (re(j,k).real-Ea(j,k))*DF(j,k).force;

end

end

%Kred(1:5,1:5)+KLp.stiffness(1:5,1:5)

%Mred(1:5,1:5)+MLp.mass(1:5,1:5)

%% perturbation in global eigenvalues

delta_ge.eig = zeros(1,length(O));

for t=1:length(O)

delta_ge.eig(t) = V_g(:,t)’ * (KLp.stiffness - O(t)*MLp.mass) * V_g(:,t);

end

%% perturbation in global eigenmodes

%flops(0)

delta_gm.eig = zeros(size(V_g));

for a=1:length(O)

A = (KLp.stiffness - O(a)*MLp.mass) * V_g(:,a);

delta_gm.eig(:,a) = - 1/2 * V_g(:,a)’ * MLp.mass * V_g(:,a) * V_g(:,a);

Page 87: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

80 C.12. PMCSN UNWRAP.M

for b=1:length(O)

if b~=a

delta_gm.eig(:,a) = delta_gm.eig(:,a)+ V_g(:,b)’ * A * V_g(:,b)/ (O(a) - O(b));

end

end

end

%flops

%% realizations in transformation matrix

% old: Z_g_re.trans = Z_g_p.trans + tr(1,1,1).trans*qr(1,1,1).trans;

Z_g_re.trans = Z_g_p.trans + Z_g;

%% realization in global eigenvalues/eigenmodes:

for r=1:length(O)

T(r).frf = (V_g(:,r) + 0*delta_gm.eig(:,r)) * (V_g(:,r) + 0*delta_gm.eig(:,r))’;

end

%% included global modal damping

frf = zeros(size(F,1),length(freq_range));

G = frf;

for r=1:length(O)

m = ((O(r)+delta_ge.eig(r)) + 2*xi*1i*sqrt(O(r)+0*delta_ge.eig(r))*freq_range - <<-

freq_range.^2); %% damping equal for every mode

%% without damping:

%% m = (K_V(r,r)/M_V(r,r) - freq_range.^2)*M_V(r,r);

for c=1:size(F,1)

G(c,:)=(F(c,:)+FLp.force(c,:))./m;

end

frf = frf + T(r).frf*G;

end

%O(1:2)

%delta_ge.eig(1:2)

w = frf;

%% obtaining the physical displacement U:

U = Z_g_re.trans*L*w;

if s==1

u(s).disp = U(q2,:);

end

if mod(s,50)==0

display([’iteration: ’, num2str(s)])

end

%% update variance: Q_k = Q_k-1 + [(k-1)/k]^2 * (x_k-M_k-1)^2, Q_0=0

Q = Q + [(s-1)/s]^2 * (abs(U(q2,:)) - W).^2;

%Q2 = Q2 + [(z-1)/z]^2 * (phase(u(j,s).disp) - W2).^2;

Q2 = Q2 + [(s-1)/s]^2 * (unwrap(angle(U(q2,:))) - W2).^2;

%% update mean: M_k = M_k-1 + (x_k-M_k-1)/k, M_0=0

W = W + (abs(U(q2,:))-W)./s;

%W2 = W2 + (phase(u(j,s).disp)-W2)./s;

W2 = W2 + (unwrap(angle(U(q2,:)))-W2)./s;

end

end

end

EUA = W;

SDUA = sqrt(Q/M);

EUAdb = 20*log(EUA)/log(10);

upAdb = 20*log(EUA+2*SDUA)/log(10);

Page 88: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 81

EUP = W2;

SDUP = sqrt(Q2/M);

t = 0; %SDa./Ea;

%toc

% plots of mean and standard deviation

figure(3);

%plot(freq_range/(2*pi), upAdb, ’b’)

semilogy(freq_range/(2*pi), EUA+2*SDUA, ’b’)

hold on

%plot(freq_range/(2*pi), EUAdb, ’r’)

semilogy(freq_range/(2*pi), EUA, ’r’)

grid on

xlabel(’frequency [Hz]’)

ylabel(’displacement [m]’)

%title([’Mixed Perturbation/Monte-Carlo SFEM, ’, ’SDa/Ea = [’, num2str(t), ’], # MC runs = ’, <<-

num2str(M)]);

legend(’E[|U|]+2*SD[|U|] [dB]’, ’E[|U|] [dB]’, 1)

figure(4);

plot(freq_range/(2*pi), EUP+2*SDUP, ’b’)

hold on

plot(freq_range/(2*pi), EUP, ’r’)

grid on

xlabel(’frequency [Hz]’)

ylabel(’phase [rad]’)

%title([’Mixed Perturbation/Monte-Carlo SFEM, ’, ’SDa/Ea = [’, num2str(t), ’], # MC runs = ’, <<-

num2str(M)]);

legend(’E[|U|]+2*SD[|U|] [dB]’, ’E[|U|] [dB]’, 1)

C.13 Readfull.mFile used to import data from Ansys result files, edited by W.J. Dijkhof.

function [K, M, dofs_K, dofs_M] = readfull(fnm)

%

% function [K,M,dofs] = readfull(fnm)

%

% Reads ASCII-output produced by ansys_readfull.exe based on userprogpp_temp.f

% by MJA 2001 (adjusted by Wilbert Dijkhof 01-22-2004)

%

% It assumes a nonsymmetric K and M matrix

%

% You have to run it from the same path as "file.full". So add a line

% cd c:\my_documents\ansys

% in matlab, or something similar. Followed by

% [K, M, dofs] = readfull(’file.full’);

% [K, M, dofs_K, dofs_M] = readfull(’file.full’);

% if fnm has a different name then it will be renamed to file.full.

% Delete any temporary files if exist, except when ’file.full’=fnm:

if and(exist(’file.full’)==2,strcmp(’file.full’,fnm)==1)==0

delete ’file.full’

end

if exist(’STIFFNESS.MATRIX’)==2

delete STIFFNESS.MATRIX

end

if exist(’MASS.MATRIX’)==2

delete MASS.MATRIX

end

Page 89: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

82 C.13. READFULL.M

% Check for given filename to be present:

if exist(fnm)~=2

error([’file ’,fnm,’ not found’]);

%elseif strcmp(’file.full’,fnm)==1

end

if ~strcmp(’file.full’,fnm)

dos([’copy ’,fnm,’ file.full’]);

disp([’ ’ fnm ’ is copied to file.full’]);

end

% Check for .exe file to read the .full file to be present

ansysreadfnm = ’rdfull.exe’;

if exist(ansysreadfnm)~=2

error([’Executable to read ANSYS .full file not found ’,ansysreadfnm]);

else

% execute program and read the .full file

dos(ansysreadfnm);

end

% This should have created a STIFFNESS.MATRIX and a MASS.MATRIX file.

% Check if so and read it or otherwise error:

if exist(’STIFFNESS.MATRIX’)~=2

error([’Stiffness matrix was not created by ’,ansysreadfnm]);

else

[K, dofs_K] = readfull_mtrx(’K’);

end

% Idem for MASS

if exist(’MASS.MATRIX’)~=2

error([’Mass matrix was not created by ’,ansysreadfnm]);

else

[M, dofs_M] = readfull_mtrx(’M’);

end

% End of reading

% End of program

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%

% Internal function readfull_mtrx reads a matrix from the file stiffness.matrix

%

function [Mtrx, dof] = readfull_mtrx(opt);

%

% Actually reads the stiffness matrix file STIFFNESS.MATRIX (opt=’K’)

% or the mass matrix from (opt=’M’)

%

if strcmp(opt,’K’)

fid = fopen(’STIFFNESS.MATRIX’);

if ~fid

error(’Cannot open file’);

end

elseif strcmp(opt,’M’)

fid = fopen(’MASS.MATRIX’);

if ~fid

error(’Cannot open file’);

end

else

error([’Unknown option ’’opt’’:’,opt]);

end

% Header (non-interesting part):

dum = fgetl(fid); % first line of *.matrix

dum = fgetl(fid); % second line of *.matrix

Page 90: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 83

dum = fgetl(fid); % third line of *.matrix

dum = fgetl(fid); % forth line of *.matrix

% Header (interesting part):

line = fgetl(fid); % fifth line of *.matrix

ndofspernode = sscanf(line(26:end),’%i’);

line = fgetl(fid);

numberofnodes = sscanf(line(26:end),’%i’);

line = fgetl(fid);

isunsym = sscanf(line(26:end),’%i’);

line = fgetl(fid);

islump = sscanf(line(26:end),’%i’);

line = fgetl(fid);

baclist = sscanf(line(10:end),’%i’); % the nodes in a column

dum = fgetl(fid); % Last header line

probably_max_Ndofs = ndofspernode*numberofnodes;

% Read the interesting data:

Data = fscanf(fid,’%g’,[7 probably_max_Ndofs.^2]); % Read entire datablock in one go

fclose(fid);

Data = Data.’;

% Respective columns of ’data’ contain

% record# kdof# node# idof# row# column# value#

[r,k] = size(Data);

rowidx = Data(:,5);

colidx = Data(:,6);

maxidx = max([rowidx(:);colidx(:)]);

Mtrx = zeros(maxidx,maxidx);

for ii = 1:maxidx % Fill matrix row-wise/column wise

% First read the row data (note: this works for both symetric and asymetric matrices):

idxrowii = find(rowidx==ii); % Find the data position for this row (if any)

if ~isempty(idxrowii)

kolidxii = colidx(idxrowii); % Find the column indices for the data

Mtrx(ii,kolidxii) = Data(idxrowii,7).’; % Put the data for given row on the right column <<-

positions in K for row ii

% Then, find the column data for this dof:

idxcolii = find(colidx==ii); % Find the data position for the columns

rowidxii = rowidx(idxcolii); % Find associted row positions

Mtrx(rowidxii,ii) = Data(idxcolii,7); % Put the data for given row on the right row positions in <<-

K for row ii

% Find the index of the diagonal term:

if isunsym == 0; % Symmetric matrix: diagonal term is last element of a record

iidiag = max([idxrowii(:);idxcolii(:)]);

elseif isunsym == 1; % Unsymmetric matrix> diagnal term is last el. of idxcolii (and in fact the <<-

1st of idxrowii)

% Find position with equal column and row element:

notfound = 1;

jjj = 0;

while notfound

jjj = jjj + 1;

iidiag = find(idxcolii==idxrowii(jjj));

if ~isempty(iidiag);

notfound = 0;

iidiag = iidiag(1);

iidiag = idxcolii(iidiag);

end

end

else

Page 91: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

84 C.14. RESP CHECK.M

error(’Could not resolve isunsym’);

end

% Create dof information for each kdof:

dof.recordnr(ii,1) = Data(iidiag,1); % Record number

dof.curdofnr(ii,1) = Data(iidiag,2); % Dof sequence as written in K en M matrices (simple <<-

ascending order)

dof.nodenr(ii,1) = Data(iidiag,3); % Node number of associated node

dof.idofnr(ii,1) = Data(iidiag,4); % Dof number on that node

end

end

% Construct full matrix in case of symmetric matrix:

if ~isunsym

Mtrx = Mtrx + triu(Mtrx,1)’;

end

% This may have zero rows and columns in it, due to ’ghost’ dofs (in case not all nodes have same dofs):

notghostdofs = (sum(abs(Mtrx),2)~=0); % Find all non-full-zero rows

Mtrx = Mtrx(notghostdofs,notghostdofs); % Columns will be zero as well

dof.recordnr = dof.recordnr(notghostdofs,1); % Record number

dof.curdofnr = dof.curdofnr(notghostdofs,1); % Dof sequence as written in K en M matrices (simple <<-

ascending order)

dof.nodenr = dof.nodenr(notghostdofs,1); % Node number of associated node

dof.idofnr = dof.idofnr(notghostdofs,1); % Dof number on that node

% Sort out original orgdofs numbering without ghost numbers for non-existing idofs:

[dum,idof_order] = sort(dof.idofnr); % Order dof per node

tempnodenr = dof.nodenr(idof_order); % Put nodenumbers in this order

[tempnodenr,node_order] = sort(tempnodenr); % Now put nodenumbers in ascending order

temporgdofnr = [1:length(dof.nodenr)]’; % Give sequential numbers to original dofs

temporgdofnr(node_order) = temporgdofnr; % Now put it back into the order of the Mtrx

temporgdofnr(idof_order) = temporgdofnr;

dof.orgdofnr = temporgdofnr; % Corresponding original numbering without ghost-dofs

% Take ANSYS number, and then give all dofs sorted to UX, UY, UZ and PRES (if any).

% Assuming 4th degree of freedom to be PRES since that was the case for which I made this file.

% If not,just put zero here to skip PRES extraction:

if 0

if ndofspernode==4

disp(’Warning: 4-th degree of freedom is assumed to be of type PRES’)

disp(’if not: edit readfull.m and change these lines’);

% Find indices of pressure degrees of freedom:

idx_not_pressure=find(dof.idofnr~=4);

idx_pressure=find(dof.idofnr==4);

dof.PRESpartition=[idx_not_pressure(:);idx_pressure(:)]; % Give the indices of all non-pressure <<-

dofs first and then all pressures

end

end

% Leave the matrix in ANSYS order, one can use dof.orfdofnr as index to resort in in orginal dof-order.

% It seems needed to transpose the matrices, based on their asymetric appearance:

Mtrx=Mtrx.’;

% End of function readfull_mtrx

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

C.14 Resp check.mFile used for the uncertainty analysis, written by H.W.J.v.d.Berg.

function U=resp_check(Kred, Mred, F, Z_g, dofsp, O_g, Vg, L, freq_left, step, freq_right, xi, Nn)

% Function for calculating and printing the reponse of the system, after running connect.m and <<-

Page 92: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 85

dofs_physical.m

% The input Nn must contain all dofs for which the reponse must be plotted directly

% The ouput

tic

freq_range = (2*pi)*[freq_left:step:freq_right];

O2_g = (2*pi*O_g).^2;

M_Vg = Vg’*Mred*Vg;

V_g=[];

for j=1:length(Mred),

V_g(:,j) = Vg(:,j)./sqrt(M_Vg(j,j));

%% O2_g(j,j) = Kred(j,j)/Mred(j,j);

%% Mred_V_g(j,j) = 1;

end

%% realization in global eigenvalues/eigenmodes:

for r=1:length(O2_g)

T(r).frf = V_g(:,r) * V_g(:,r)’;

end

%% included global modal damping

frf = zeros(size(F,1),length(freq_range));

G = frf;

for r=1:length(O_g)

m = (O2_g(r) + 2*xi*1i*sqrt(O2_g(r))*freq_range - freq_range.^2); %% damping equal for every mode

%% without damping:

%% m = (K_V(r,r)/M_V(r,r) - freq_range.^2)*M_V(r,r);

for c=1:size(F,1)

G(c,:)=F(c,:)./m;

end

if mod(r,50)==0

display([’Yet finished: ’, num2str(r),’ of ’,num2str(length(O_g)) ])

toc

end

frf = frf + T(r).frf*G;

end

w = frf;

%% obtaining the physical displacement U:

U = Z_g*L*w;

for i=1:length(Nn)

p=find(Nn(i)==dofsp.curdofnr);

figure(10+i);

if mod(Nn(i),3)==1;

subplot(2,1,1)

semilogy(freq_range/(2*pi),abs(U(p,:)));

ylabel(’Displacement [m]’)

title([’Response of ’,’node ’,num2str((Nn(i)+2)/3),’ in x-direction (dof ’,num2str(Nn(i)),’)’])

grid on

subplot(2,1,2)

plot(freq_range/(2*pi),angle(U(p,:)));

grid on

ylabel(’Phase-angle [rad]’)

elseif mod(Nn(i),3)==2;

subplot(2,1,1)

semilogy(freq_range/(2*pi),abs(U(p,:)));

ylabel(’displacement [m]’)

title([’Response of node ’,num2str((Nn(i)+1)/3),’ in y-direction (dof ’,num2str(Nn(i)),’)’])

grid on

subplot(2,1,2)

plot(freq_range/(2*pi),angle(U(p,:)));

grid on

ylabel(’Phase-angle [rad]’)

elseif mod(Nn(i),3)==0;

Page 93: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

86 C.15. RESPONSES MANY RODS2RED.M

subplot(2,1,1)

plot(freq_range/(2*pi),real(U(p,:)));

ylabel([’angle of node ’,num2str(Nn(i)/3)])

title([’Response of node ’,num2str((Nn(i))/3),’, angle (dof ’,num2str(Nn(i)),’)’])

grid on

subplot(2,1,2)

plot(freq_range/(2*pi),angle(U(p,:)));

grid on

ylabel(’Phase-angle [rad]’)

end

xlabel(’frequency [Hz]’);

end

C.15 Responses many rods2red.mFile used for the optimization, written by H.W.J.v.d.Berg.

% in deze file worden alle extremen voor de verschillende balkdoorsneden met elkaar getest.

% Dit leidt tot 2^6 = 64 mogelijke combinaties

% Afzonderlijke resultaten opgeslagen in .mat

% Iedere set genummerd van Var11 t/m Var74

%%%%%%%%%%%%% %%%%%%%%%%%%% %%%%%%%%%%%%% %%%%%%%%%%%%%

clear all

licht = [ 0.044 0.044];

zwaar = [ 0.056 0.056];

E = [7e10 ; 7e10 ; 7e10];

count = 11;

hb = zeros(7,2);

hb(4,:) = [0.05 0.05];

filename = ’optimmodel_Var’;

comment=1; save(’realisations_optimconstr_veel2red.mat’, ’comment’) %Initialiseren van .mat file (ivm <<-

conflict -append)

%% Added 14-7-’05 %%

s_index_beams = [1 1 2 1;2 10 14 1;3 2 11 2;4 10 2 3;5 2 6 1;6 11 15 1;7 6 15 2;...

8 11 6 3;9 15 32 4;10 15 57 4; 11 32 57 4;12 15 32 4;13 32 36 4;14 57 ...

61 4;15 36 61 4;16 57 36 4;;17 36 40 4;18 61 65 4;19 40 65 4; 20 61 ...

40 4;21 40 44 4;22 65 69 4;23 44 69 4;24 65 44 4;25 44 48 4;26 69 ...

73 4;27 48 73 4;28 69 48 4; 29 48 52 4;30 73 77 4;31 52 77 4;32 73 ...

52 4;33 52 118 5;34 77 127 5;35 118 127 6;36 77 118 7;37 118 122 5; 38 ...

127 131 5;39 122 131 6;40 127 122 7];

load_dofs = [4 1 1;8 1 1;13 1 1;17 1 1;20 2 1;23 2 1;26 3 sqrt(2);29 3 ...

sqrt(2);34 4 1;38 4 1;42 4 1;46 4 1;50 4 1;54 4 1;59 4 1;63 4 ...

1;67 4 1;71 4 1;75 4 1;79 4 1;82 4 sqrt(2);85 4 1;88 4 sqrt(2);91 ...

4 1;94 4 sqrt(2);97 4 1;100 4 sqrt(2);103 4 1;106 4 sqrt(2);109 4 1 ; ...

112 4 sqrt(2);115 4 1;120 5 1;124 5 1;129 5 1;133 5 1;136 6 1;139 6 1; ...

142 7 sqrt(2);145 7 sqrt(2)];

%% End additition

for b1= 1:2

if b1 == 1

hb(1,:) = licht;

elseif b1 == 2

hb(1,:) = zwaar;

end

for b2= 1:2

if b2 == 1

hb(2,:) = licht;

elseif b2 == 2

hb(2,:) = zwaar;

end

for b3= 1:2

if b3 == 1

hb(3,:) = licht;

Page 94: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 87

elseif b3 == 2

hb(3,:) = zwaar;

end

for b4= 1:2

if b4 == 1

hb(5,:) = licht;

elseif b4 == 2

hb(5,:) = zwaar;

end

for b5= 1:2

if b5 == 1

hb(6,:) = licht;

elseif b5 == 2

hb(6,:) = zwaar;

end

for b6= 1:2

if b6 == 1

hb(7,:) = licht;

elseif b6 == 2

hb(7,:) = zwaar;

end

%Berekenen responsie

optim_construction_resp_red

calc_crit

%% Added 14-7-’05 %%

stress_50G

%% End additition %%

eval([’Var’,num2str(count),’_red = result’])

save(’realisations_optimconstr_veel2red.mat’, [’Var’,num2str(count),’_red’], <<-

’-append’)

count = count + 1

end

end

end

end

end

end

%!copy realisations_optimconstr_veel2.mat K:\Matlab\Optimization

C.16 Responses many rods8.mFile used for the optimization, written by H.W.J.v.d.Berg.

% in deze file worden random zo veel mogelijk realisaties binnen de ontwerpruimte getest.

% Er wordt hier gewerkt met het gereduceerde model

%%%%%%%%%%%%% %%%%%%%%%%%%% %%%%%%%%%%%%% %%%%%%%%%%%%%

clear all

E = [7e10 ; 7e10 ; 7e10];

filename = ’optimmodel_Var’;

comment=1; save(’realisations_optimconstr_veel8.mat’, ’comment’) %Initialiseren van .mat file (ivm <<-

conflict -append)

count = 1001;

size_choice=[0.044 0.046 0.048 0.050 0.052 0.054 0.056];

size_choice_beam1=[0.052 0.054 0.056];

tested_realisations = [0 0 0 0 0 0 0 0 0 0 0 0];

continu = 1;

s_index_beams = [1 1 2 1;2 10 11 1;3 2 11 2;4 10 2 3;5 2 6 1;6 11 15 1;...

7 6 15 2;8 11 6 3;9 15 32 4;10 15 57 4;11 32 57 4;12 15 32 4;...

13 32 36 4;14 57 61 4;15 36 61 4;16 57 36 4;17 36 40 4;...

18 61 65 4;19 40 65 4;20 61 40 4;21 40 44 4;22 65 69 4;...

23 44 69 4;24 65 44 4;25 44 48 4;26 69 73 4;27 48 73 4;...

28 69 48 4;29 48 52 4;30 73 77 4;31 52 77 4;32 73 52 4;...

33 52 118 5;34 77 127 5;35 118 127 6;36 77 118 7;37 118 122 5;...

Page 95: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

88 C.16. RESPONSES MANY RODS8.M

38 127 131 5;39 122 131 6;40 127 122 7];

load_dofs = [4 1 1;8 1 1;13 1 1;17 1 1;20 2 1;23 2 1;26 3 sqrt(2);...

29 3 sqrt(2);34 4 1;38 4 1;42 4 1;46 4 1;50 4 1;54 4 1;59 4 1;...

63 4 1;67 4 1;71 4 1;75 4 1;79 4 1;82 4 sqrt(2);85 4 1;88 4 sqrt(2);...

91 4 1;94 4 sqrt(2);97 4 1;100 4 sqrt(2);103 4 1;106 4 sqrt(2);109 4 1 ;...

112 4 sqrt(2);115 4 1;120 5 1;124 5 1;129 5 1;133 5 1;136 6 1;139 6 1;...

142 7 sqrt(2);145 7 sqrt(2)];

while continu ==1

%create random realisation

xx1 =randperm(3); x1 = xx1(1);

xx2 =randperm(7); x2 = xx2(1);

xx3 =randperm(7); x3 = xx3(1);

xx4 =randperm(7); x4 = xx4(1);

xx5 =randperm(7); x5 = xx5(1);

xx6 =randperm(7); x6 = xx6(1);

xx7 =randperm(7); x7 = xx7(1);

xx8 =randperm(7); x8 = xx8(1);

xx9 =randperm(7); x9 = xx9(1);

xx10 =randperm(7); x10 = xx10(1);

xx11 =randperm(7); x11 = xx11(1);

xx12 =randperm(7); x12 = xx12(1);

%Write down current realisation as function of size_choice

current_set = [x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12];

% check whether this realisation hasn’t been tested already

check = find (tested_realisations(:,1)==current_set(1) & tested_realisations(:,2)== ...

current_set(2) & tested_realisations(:,3)==current_set(3) & tested_realisations(:,4)== ...

current_set(4)& tested_realisations(:,5)==current_set(5)& tested_realisations(:,6)== ...

current_set(6) & tested_realisations(:,7)==current_set(7)& tested_realisations(:,8)== ...

current_set(8)& tested_realisations(:,9)==current_set(9) & tested_realisations(:,10)== ...

current_set(10)& tested_realisations(:,11)==current_set(11)& tested_realisations(:,12)== ...

current_set(12));

if isempty(check)

tested_realisations =[tested_realisations ; current_set];

%Berekenen responsie

hb = [size_choice_beam1(x1) size_choice(x2)

size_choice(x3) size_choice(x4)

size_choice(x5) size_choice(x6)

0.050 0.050

size_choice(x7) size_choice(x8)

size_choice(x9) size_choice(x10)

size_choice(x11) size_choice(x12)];

optim_construction_resp_red

close(11)

calc_crit

stress_50G

result.feasible_octlow = feasible_octlow

eval([’Var’,num2str(count),’ = result’])

save(’realisations_optimconstr_veel8.mat’, [’Var’,num2str(count)],’-append’)

count = count + 1

clear result

if mod(count,50)==0

current_count = count;

save currentcount.mat current_count

!copy realisations_optimconstr_veel8.mat C:\Afstuderen\Matlab\Optimization\kopie

load k:\matlab\optimization\continu.mat

end

end

end

save realisations_optimconstr_veel8.mat tested_realisations -append

!copy realisations_optimconstr_veel8.mat J:\Matlab\Optimization

Page 96: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 89

C.17 Responses 8 local optimacheck.mFile used for the optimization, written by H.W.J.v.d.Berg.

% This file searches for a local optimum for the objective function

% As starting points the best results from the random search are used

%%%%%%%%%%%%% %%%%%%%%%%%%% %%%%%%%%%%%%% %%%%%%%%%%%%%

clear all

close all

load realisations_optimconstr_veel8_best20.mat

%current_Var = Var2387_step;

E = [7e10 ; 7e10 ; 7e10];

filename = ’optimmodel_Var’;

comment=1; save(’realisations_veel8_near_optima1.mat’, ’comment’) %Initialiseren van .mat file (ivm <<-

conflict -append)

iter_step = 1;

convergence = 0;

Var2387_step1 = Var2387;

iteration_verloop=[];

s_index_beams = [1 1 2 1;2 10 11 1;3 2 11 2;4 10 2 3;5 2 6 1;6 11 15 1;...

7 6 15 2;8 11 6 3;9 15 32 4;10 15 57 4;11 32 57 4;12 15 32 4;...

13 32 36 4;14 57 61 4;15 36 61 4;16 57 36 4;17 36 40 4;...

18 61 65 4;19 40 65 4;20 61 40 4;21 40 44 4;22 65 69 4;...

23 44 69 4;24 65 44 4;25 44 48 4;26 69 73 4;27 48 73 4;...

28 69 48 4;29 48 52 4;30 73 77 4;31 52 77 4;32 73 52 4;...

33 52 118 5;34 77 127 5;35 118 127 6;36 77 118 7;37 118 122 5;...

38 127 131 5;39 122 131 6;40 127 122 7];

load_dofs = [4 1 1;8 1 1;13 1 1;17 1 1;20 2 1;23 2 1;26 3 sqrt(2);...

29 3 sqrt(2);34 4 1;38 4 1;42 4 1;46 4 1;50 4 1;54 4 1;59 4 1;...

63 4 1;67 4 1;71 4 1;75 4 1;79 4 1;82 4 sqrt(2);85 4 1;88 4 sqrt(2);...

91 4 1;94 4 sqrt(2);97 4 1;100 4 sqrt(2);103 4 1;106 4 sqrt(2);109 4 1 ;...

112 4 sqrt(2);115 4 1;120 5 1;124 5 1;129 5 1;133 5 1;136 6 1;139 6 1;...

142 7 sqrt(2);145 7 sqrt(2)];

while convergence == 0

eval([’current_Var = Var2387_step’,num2str(iter_step)])

number =0;

for sign = -1:2:1;

for k=1:12;

number = number + 1

%Berekenen responsie

hb = current_Var.hb;

hb(position(k,1),position(k,2))= hb(position(k,1),position(k,2))+sign*0.002;

a1 = find(hb < 0.043);

a2 = find(hb > 0.057);

if isempty(a1) & isempty(a2)

feasible_size = 1;

optim_construction_resp_red

close(11)

calc_crit

stress_50G

result.feasible_octlow = feasible_octlow;

else

result.hb = hb;

result.optim_crit= 0;

result.feasible_buckling = -1 ;

result.feasible_octlow = -1;

end

eval([’Var2387_step’,num2str(iter_step),’_’,num2str(number),’ = result’])

save(’realisations_veel8_near_optima1.mat’, [’Var2387_step’,num2str(iter_step),’_’, <<-

num2str(number)],’-append’)

clear result a1 a2

Page 97: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

90 C.17. RESPONSES 8 LOCAL OPTIMACHECK.M

end

end

%%%% Initiate categorisation vectors

eval([’crit_vector_Var2387_step’,num2str(iter_step),’=[]’]);

eval([’feasible_buckling_Var2387_step’,num2str(iter_step),’=[]’]);

eval([’feasible_octlow_Var2387_step’,num2str(iter_step),’=[]’]);

%% Categorize & gather data

for count = 1:24;

eval([’current = Var2387_step’,num2str(iter_step),’_’,num2str(count),’;’])

eval([’crit_vector_Var2387_step’,num2str(iter_step),’ = [crit_vector_Var2387_step’, <<-

num2str(iter_step),’; current.optim_crit];’]);

eval([’feasible_buckling_Var2387_step’,num2str(iter_step),’ = [feasible_buckling_Var2387_step’,<<-

num2str(iter_step),’; current.feasible_buckling];’]);

eval([’feasible_octlow_Var2387_step’,num2str(iter_step),’ = [feasible_octlow_Var2387_step’, <<-

num2str(iter_step),’ ; current.feasible_octlow];’]);

clear current

end

%% Split data for feasible and nonfeasible

eval([’crit_feas_Var2387_step’,num2str(iter_step),’=[];’]);

eval([’crit_nonfeas_Var2387_step’,num2str(iter_step),’=[];’]);

m=1;n=1;

for k=1:24

eval([’fb = feasible_buckling_Var2387_step’,num2str(iter_step),’;fo = <<-

feasible_octlow_Var2387_step’,num2str(iter_step),’;’]);

if fb(k) == 1 & fo(k) == 1

eval([’crit_feas_Var2387_step’,num2str(iter_step),’(m,:)=[k crit_vector_Var2387_step’, <<-

num2str(iter_step),’(k)];’]);

m=m+1;

else

eval([’crit_nonfeas_Var2387_step’,num2str(iter_step),’(n,:)=[k crit_vector_Var2387_step’, <<-

num2str(iter_step),’(k)];’]);

n=n+1;

% else disp(’snapnie’)

end

end

% Make plot with goal function results, green line as reference from previous step

figure(11);figure;close(11);

eval([’plot_i01 = crit_nonfeas_Var2387_step’,num2str(iter_step),’(:,1);’]);

eval([’plot_d01 = crit_nonfeas_Var2387_step’,num2str(iter_step),’(:,2);’]);

plot(plot_i01,plot_d01,’b*’); hold on;

eval([’plot_i02 = crit_feas_Var2387_step’,num2str(iter_step),’(:,1);’]);

eval([’plot_d02 = crit_feas_Var2387_step’,num2str(iter_step),’(:,2);’]);

plot(plot_i02,plot_d02,’r*’);

eval([’plot_i03 = Var2387_step’,num2str(iter_step),’.optim_crit*ones(1,24);’]);

plot(plot_i03,’g’)

% Choose best new optimum as startpoint for next iteration

eval([’[waarde,volgorde] = sort(crit_feas_Var2387_step’,num2str(iter_step),’(:,2));’]);

eval([’next_iter = crit_feas_Var2387_step’,num2str(iter_step),’(volgorde(1),1);’]);

xlabel=([’Current step: ’,num2str(iter_step),’ next iteration focus: ’,num2str(next_iter)]);

% Compare new optimum to previous to see whether convergence has been fulfilled

eval([’new_optim_value = Var2387_step’,num2str(iter_step),’_’,num2str(next_iter),’.optim_crit’])

eval([’old_optim_value = Var2387_step’,num2str(iter_step),’.optim_crit’])

if new_optim_value < old_optim_value

convergence = 0;

elseif new_optim_value >= old_optim_value

convergence = 1;

end

%Update variables for next iteration

iter_step = iter_step + 1

eval([’Var2387_step’,num2str(iter_step),’ = Var2387_step’,num2str(iter_step-1),’_’, <<-

num2str(next_iter)])

Page 98: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 91

iteration_verloop(iter_step)=next_iter;

save realisations_veel8_near_optima1.mat iteration_verloop -append;

beep;pause(0.5);beep;pause(0.5);beep;pause(0.25);beep;pause(0.25);beep;

next_iter

disp(’5’);pause(1);disp(’4’);pause(1);disp(’3’);pause(1);disp(’2’);pause(1);disp(’1’);pause(1); <<-

disp(’continue’)

end

save(’realisations_veel8_near_optima1.mat’, [’Var2387_step’,num2str(iter_step)],’-append’)

disp(’ ***********************’);

disp(’ local optimum found’);

disp(’ ***********************’) ;

eval([’Var2387_step’,num2str(iter_step),’.hb’]);

eval([’Var2387_localopt = Var2387_step’,num2str(iter_step),’;’]);

save realisations_veel8_near_optima1.mat Var2387_localopt -append

C.18 Rubin.mFile used for the uncertainty analysis, written by W.J.Dijkhof.

function [Kred, Mred, T, Q, dired, dbred, Ored, Vred] = Rubin(K, M, dofs_i, dofs_b, nr, nb, nk, e, res)

%

% function [Kred, Mred, T, Q, dired, dbred, Ored, Vred] = Rubin(K, M, dofs_i, dofs_b, nr, nb, nk, e, res)

%

% Reads system matrices and applies Component Mode Synthesis (Rubin’s method) to reduce the number

% of dofs of the system.

% by Wilbert Dijkhof 15-07-2004

%

% dofs = dofs-info (corresponding to K and M) from substructure2.m.

% nr = # surpres the last three dofs of structure (K,M,dofs), that is the last three rows/columns

% of K and M.

% nb = # boundary dofs

% nk = # eigenvalues to extract (= # kept elastic free interface modes).

%

% general structure of K and M:

% K = [Kii Kib; Kbi Kbb] (M similar)

%

% if e=1 (default) the local eigenvalues Ored and eigenmodes Vred are determined, if

% e=0 not.

%

% by default, res=1:

% which means including the residual flexibility modes

if nargin<9

res=1;

end

% reduced dofs: (not really true for res=0 ?)

for m=1:length(dofs_i)

dired(m).recordnr = dofs_i(m).recordnr([1:nr(m)+nk(m)]);

dired(m).curdofnr = dofs_i(m).curdofnr([1:nr(m)+nk(m)]);

dired(m).nodenr = dofs_i(m).nodenr([1:nr(m)+nk(m)]);

dired(m).idofnr = dofs_i(m).idofnr([1:nr(m)+nk(m)]);

dired(m).orgdofnr = dofs_i(m).orgdofnr([1:nr(m)+nk(m)]);

end

dbred = dofs_b;

% by default, e=1:

if nargin<8

e=1;

end

Page 99: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

92 C.18. RUBIN.M

% check: nk<=length(K)-nr

if nk>length(K)-nr-nb

error(’Make sure that 0<=nk<=length(K)-nr-nb’)

end

% check: nr<=length(dofs_i.curdofnr) and nr<=6

if (nr<=min(length(dofs_i.curdofnr),6))==0

error(’Make sure that 0<=nr<=length(dofs.curdofnr) and 0<=nr<=6’)

end

% reblocking of K and M:

% general structure of K and M becomes:

% K = [Krr Krw Krb; Kwr Kww Kwb; Kbr Kbw Kbb] (M similar)

if nr>0

Kee = K(nr+1:length(K),nr+1:length(K));

Ker = K(nr+1:length(K),1:nr);

Kre = K(1:nr,nr+1:length(K));

Krr = K(1:nr,1:nr);

K2 = [Krr Kre;Ker Kee];

Mee = M(nr+1:length(M),nr+1:length(M));

Mer = M(nr+1:length(M),1:nr);

Mre = M(1:nr,nr+1:length(M));

Mrr = M(1:nr,1:nr);

M2 = [Mrr Mre;Mer Mee];

else

K2=K;

M2=M;

end

% kept free interface modes:

% nb, eigs(Kee,Mee,nk) leads to poor (or no) convergence.

OPTIONS.tol=1e-10;

OPTIONS.disp=0;

%[V,D,flag] = eigs(inv(M2)*K2,nk+nr,’SM’,OPTIONS); % gives numerical instabilities if there are rigid <<-

body modes.

if res==1

[V, D, flag] = eigs(inv(M2)*K2,nk+nr,1,OPTIONS); % gives numerical instabilities if there are <<-

rigid body modes.

Uk = V(:,nr+1:nr+nk);

Dk = D(nr+1:nr+nk,nr+1:nr+nk);

else

[V, D, flag] = eigs(inv(M2)*K2,nk+nb+nr,1,OPTIONS); % gives numerical instabilities if there are <<-

rigid body modes.

Uk = V(:,nr+1:nr+nk+nb);

Dk = D(nr+1:nr+nk+nb,nr+1:nr+nk+nb);

end

% sort eigenvalues (Dk is not always sorted !)

[Dk,I]=sort(diag(Dk));

for j=1:length(I)

Ukn(:,j) = Uk(:,I(j));

end

Uk = Ukn;

Dk = diag(Dk);

% error message if the eigenvalues do not converge to the desired tolerance 1e-10:

if or(flag==1,flag==2)

disp(’ Eigenvalues do not converge to the desired tolerance 1e-10.’)

end

% orthonormalization:

% Note that only the Mee part will be orthonormalized.

Page 100: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 93

Z = Uk’*M2*Uk;

Uk2=[];

for j=1:length(Z)

Uk2(:,j) = Uk(:,j)./sqrt(Z(j,j));

end

% rigid body modes:

if nr>0

IKee = inv(Kee);

Ur = [eye(nr);-IKee*Ker]; % here it is used that the rigid body modes correspond to the first dofs <<-

in q.

% The eigenmodes with different eigenvalues are orthogonal (thus all elastic free interface modes

% are orthogonal, and every rigid body modes is orthogonal to any elastic free interface mode)

% with respect to M. Orthogonalization of the rigid body modes:

Mr = Ur’*M2*Ur;

[Vr,Dr] = eig(Mr);

Qr = Ur*Vr;

% orthonormalization:

Z = Qr’*M2*Qr;

for j=1:length(Z),

Qr2(:,j) = Qr(:,j)./sqrt(Z(j,j));

end

if res==1

% elastic flexibility matrix: Ge = P’GP:

G = zeros(length(K));

G(nr+1:length(K),nr+1:length(K)) = IKee; % here it is used that the rigid body modes correspond <<-

to the first dofs in q.

P = eye(length(M))-M2*Qr2*Qr2’;

Ge = P’*G*P;

end

else

if res==1

Ge = inv(K2);

end

end

% residual flexibility modes:

% ni = # internal dofs

ni = length(K)-nb;

if res==1

B = [zeros(ni,nb);eye(nb)]; % here it is used that the boundary dofs are the last dofs in q.

num = sqrt(K2(1,1)/M2(1,1));

phi = num*(Ge-Uk2*inv(Dk)*Uk2’)*B; % num=1 gives numerical instabilities

% phi = Ge*B;

else

num = 10^6;

phi = num*Uk2(:,nk+1:nk+nb);

Uk2(:,nk+1:nk+nb) = [];

end

% reduction matrix:

if nr>0

T = [Qr2 Uk2 phi];

else

T = [Uk2 phi];

end

% make sure that the first element is always non-negative (usefull when

% calculating derivatives):

for j=1:size(T,2)

for k=1:size(T,1)

if T(k,j)>10^(-10) % if first element of j-th column is positive => next column

break

Page 101: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

94 C.19. RUNMCANALYSIS DEFMOD1.M

else

if T(k,j)<-10^(-10)

T(:,j)=-T(:,j); % if first non-zero element of j-th column is negative => make it <<-

postive => next column

break

end

end

end

end

if nr>0

%T21 = Qr2(ni+1:ni+nb,1:nr);

T21 = T(ni+1:ni+nb,1:nr);

%T22 = Uk2(ni+1:ni+nb,1:nk);

T22 = T(ni+1:ni+nb,nr+1:nr+nk);

%T23 = phi(ni+1:ni+nb,1:nb);

T23 = T(ni+1:ni+nb,nr+nk+1:nr+nk+nb);

else

T22 = T(ni+1:ni+nb,1:nk);

T23 = T(ni+1:ni+nb,nk+1:nk+nb);

end

% solving for the generalized boundary dof’s in the second equation, replacing by the physical <<-

boundary dof’s.

% gives a new system:

Tinv = inv(T23);

if nr>0

Q = [eye(nr) zeros(nr,nk) zeros(nr,nb); zeros(nk,nr) eye(nk) zeros(nk,nb) ; -Tinv*T21 -Tinv*T22 Tinv];

else

Q = [eye(nk) zeros(nk,nb) ; -Tinv*T22 Tinv];

end

Z = T*Q;

% new system matrices, but the are not orthogonal any more (they are wrt T, but not wrt Z):

% (since the columns of Z and not the eigenmodes of (K2,M2) we can’t make Kred,Mred diagonal)

Kred = K2; % old: Z’*K2*Z;

Mred = M2; % old: Z’*M2*Z;

KTred = T’*K2*T;

MTred = T’*M2*T;

if e==1

% sorted eigenfrequencies (in Hz):

% maybe it is better to determine them numerically (in that case the problem occured that it didn’t

% determine the smallest eigenvalue)

[Vre,Dre] = eig(KTred,MTred); %% eig(Kred,Mred)->eig(KTred,MTred)

for j=1:length(Dre)

O(j)=abs(Dre(j,j));

end

[O,I]=sort(O);

Ored=sqrt(O)/(2*pi);

for j=1:length(I)

Vred(:,j)=Vre(:,I(j));

end

else

Ored=0;

Vred=0;

end

C.19 RunMCanalysis DefMod1.m

File used for the uncertainty analysis, written by H.W.J.v.d.Berg

Page 102: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 95

function [u, EUA, SDUA, EUP, SDUP, distrib, O_g, V_g, O_loc, V_loc, L, Kred, Mred] = <<-

runMCanalysis_DefMod1(F_s, Z_g, Pstrip, dofs, dofs_i, dofs_b, dofs_b_strip, freq_left, step, <<-

freq_right, xi, Mn, list, nr, nk, stoc, filename, cov, var_0, var_choice)

% function [u, EUA, SDUA, EUP, SDUP, O_g, V_g, O_loc, V_loc, L, Kred, Mred] =

% runMCanalysis_DefMod1(F_s, Z_g, Pstrip, dofs, dofs_i, dofs_b, dofs_b_strip, freq_left, step, <<-

freq_right, xi, Mn, list, nr, nk, nd, stoc, filename, cov, var_0, var_choice)

%

% [u, EUA, SDUA, EUP, SDUP, distrib, O_g, V_g, O_loc, V_loc, L, Kred, Mred] =

% = runMCanalysis(F_s, Z_g, Pstrip, dofs, dofs_i, dofs_b, dofs_b_strip, freq_left, step, freq_right <<-

,xi, Mn, list, nr, nk, stoc, filename, cov, var_0, var_choice)

%

% Given the derivatives of the system matrices (and transformation matrix when reduction is applied), <<-

realizations are generated.

% These are used to compute the corresponding realizations of the displacement, which are used to <<-

estimate the mean and variance of

% the displacement.

% by Hans vd Berg 02-09-2004

%

% dofs_physical.m => dofsp, Z_g

% connect.m => Kred, Mred, Z, L

% [freq_left:step:freq_right] => frequency range (in Herz)

%

% kr(j,k,i).stiffness: stiffness matrix, mr(j,k,i).mass: mass matrx, zr(j,k,i).trans: transformation

% j = which substructure

% k = which uncertain parameter of j

% i = (i+1)-th derivative evaluated about the mean, i=1,2. % ...

%

% kr(1,1,1) = deterministic value

% kr(1,2,3) = second derivative "3" of the second uncertain parameter "2" of substructure one "1".

%

% Ea(j,k) = expectation of a, j = substructure, k which uncertain parameter

% SDa(j,k) = standard deviation of a, j = substructure, k which uncertain parameter

% xi = modal damping coefficient

% df = excited dof in dofsp.curdofnr

% nd = response at node nd

% stoc = ’gaussian’ or ’uniform’

% Mn = number of runs

%

% [u, EUA, SDUA] = MCanalysis(K_s, M_s, dofs_i, dofs_b, dofs, list, nr, nb, nk, 1, 1, 5, 0.03, 38, 13, <<-

1, 1, ’gaussian’)

%

%%%%

% check stoc=’gaussian’ or ’uniform’

if isempty(strmatch(stoc,strvcat(’gaussian’,’uniform’)))

error(’stoc must be gaussian or uniform with quotes around it’)

end

if var_choice == 1;

E_0 = var_0;

h = 0.025;

elseif var_choice == 2;

E = 2e11;

h_0 = var_0;

end

% dofs_tot = [dofs_i.curdofnr; dofs_b_strip.curdofnr];

% q2 = find(nd == dofs_tot);

% converting freq. range from Herz to radials

freq_range = (2*pi)*[freq_left:step:freq_right];

% Monte-Carlo simulation

% Start values

Page 103: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

96 C.19. RUNMCANALYSIS DEFMOD1.M

ext = ’.full’;

dofs_tot = [dofs_i(1).curdofnr; dofs_b(1).curdofnr];

W1 = zeros(length(dofs_tot),length(freq_range));

Q1 = zeros(length(dofs_tot),length(freq_range));

W2 = W1;

Q2 = Q1;

for s=1:Mn

% disp(’run ’);disp(s);

if strcmp(stoc,’gaussian’)

if s==1

k = 1; % might be useful for checkings

else

k = normrnd(1,cov);

end

else

% re(j,k).real = unifrnd(1-2*SDa/Ea,1+2*SDa/Ea);

if Mn==1

k = 1;

else

k = 1 - 2*cov + 4*(s-1)*cov/(M-1);

end

end

distrib(s) = k;

%% Define variables for iteration

if var_choice == 1;

E = E_0*k;

elseif var_choice == 2;

h = h_0*k;

end

%al gegeven: dofs_i, dofs_b, list, nr, nb, nk, dofs

%% Ansys runs => K_s(j,k), M_s(j,k)

%%

%% Define filename

Ansysoutputfilename = num2str(filename);

%% Create Ansys model file

!del ansyscommands.txt;

editDefMod1(E, h, Ansysoutputfilename); %creates a new file ansyscommands.txt, which is executed <<-

with the next line:

!run_ansyscompile.bat;

%% ... or dos(’run_ansyscompile.bat &’);

%%% In theory the dos command should be executed first before continuing

%%% with the matlab script. Apperently this is not the case, because

%%% readfull.m can’t find the filename in time. Therefore I added a

%%% pause of 1 second:

pause(2)

name = [Ansysoutputfilename ext];

fullfile = num2str(name);

%% Calculate eigenvalues

[kr, mr, d] = readfull(fullfile);

%% d in the wrong order [following might be wrong if uncertainty is in

%% the second substructure]

%% permutation matrix of the substructures in ’sublist’:

P = zeros(length(d.curdofnr));

v = 0;

for j=1:length(d.curdofnr)

Page 104: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 97

v = v + 1;

t = find(dofs_tot==d.curdofnr(j));

P(v,t)=1;

end

%% permuted stiffness and mass matrix:

K_s.stiffness = P’*kr*P;

M_s.mass = P’*mr*P;

% Strip matrices as result of velocity-input (some rows / columns cancel out)

Kstrip_s.stiffness= Pstrip.trans*K_s(1).stiffness*Pstrip.trans’;

Mstrip_s.mass= Pstrip.trans*M_s(1).mass*Pstrip.trans’;

[Kred, Mred, F, di_red, db_red, Z, O_g, V_g, O_loc, V_loc, L] = Connect(Kstrip_s, Mstrip_s, F_s, <<-

dofs_i, dofs_b_strip, list, nr, nk, d);

%

O2_g = (2*pi*O_g).^2;

M_Vg = V_g’*Mred*V_g;

Vg=[];

for j=1:length(Mred),

Vg(:,j) = V_g(:,j)./sqrt(M_Vg(j,j));

%% O2_g(j,j) = Kred(j,j)/Mred(j,j);

%% Mred_V_g(j,j) = 1;

end

%% realization in global eigenvalues/eigenmodes:

for r=1:length(O2_g)

T(r).frf = Vg(:,r) * Vg(:,r)’;

end

%% included global modal damping

frf = zeros(size(F,1),length(freq_range));

G = frf;

for r=1:length(O_g)

m = (O2_g(r) + 2*xi*1i*sqrt(O2_g(r))*freq_range - freq_range.^2); %% damping equal for every <<-

mode

%% without damping:

%% m = (K_V(r,r)/M_V(r,r) - freq_range.^2)*M_V(r,r);

for c=1:size(F,1)

G(c,:)=F(c,:)./m;

end

frf = frf + T(r).frf*G;

end

w = frf;

%

U = Z_g*L*w;

if s==1

u(s).disp = U;

end

if mod(s,50)==0

display([’iteration: ’, num2str(s)])

end

for ii=1:size(U,1)

%% update variance: Q1_k = Q1_k-1 + [(k-1)/k]^2 * (x_k-M_k-1)^2, Q_0=0

Q1(ii,:) = Q1(ii,:) + [(s-1)/s]^2 * (abs(U(ii,:)) - W1(ii,:)).^2;

%Q2 = Q2 + [(z-1)/z]^2 * (phase(u(j,s).disp) - W2).^2;

Q2(ii,:) = Q2(ii,:) + [(s-1)/s]^2 * (unwrap(angle(U(ii,:))) - W2(ii,:)).^2;

%% update mean: M_k = M_k-1 + (x_k-M_k-1)/k, M_0=0

W1(ii,:) = W1(ii,:) + (abs(U(ii,:))-W1(ii,:))./s;

Page 105: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

98 C.20. STRESS 50G.M

%W2 = W2 + (phase(u(j,s).disp)-W2)./s;

W2(ii,:) = W2(ii,:) + (unwrap(angle(U(ii,:)))-W2(ii,:))./s;

end

end

EUA = W1;

SDUA = sqrt(Q1/Mn);

% EUAdb = 20*log(EUA)/log(10);

% upAdb = 20*log(EUA+2*SDUA)/log(10);

EUP = W2;

SDUP = sqrt(Q2/Mn);

% t = 0;

%

% %toc

% %close(figure(1),figure(2));

%

% % plots of mean and standard deviation

% figure(5);

% %plot(freq_range/(2*pi), upAdb, ’b’)

% semilogy(freq_range/(2*pi), EUA+2*SDUA, ’b:’)

% hold on

% %plot ook de minversie

% semilogy(freq_range/(2*pi), EUA-2*SDUA, ’g:’)

% %plot(freq_range/(2*pi), EUAdb, ’r’)

% semilogy(freq_range/(2*pi), EUA, ’r:’)

% grid on

% xlabel(’frequency [Hz]’)

% ylabel(’displacement [m]’)

% %title([’Mixed Perturbation/Monte-Carlo SFEM, ’, ’SDa/Ea = [’, num2str(t), ’], # MC runs = ’, <<-

num2str(M)]);

% legend(’E[|U|]+2*SD[|U|] [dB]’,’E[|U|]-2*SD[|U|] [dB]’, ’E[|U|] [dB]’, 1)

%

% figure(6);

% plot(freq_range/(2*pi), EUP+2*SDUP, ’b:’)

% hold on

% plot(freq_range/(2*pi), EUP+2*SDUP, ’g:’)

% plot(freq_range/(2*pi), EUP, ’r:’)

% grid on

% xlabel(’frequency [Hz]’)

% ylabel(’phase [rad]’)

% %title([’Mixed Perturbation/Monte-Carlo SFEM, ’, ’SDa/Ea = [’, num2str(t), ’], # MC runs = ’, num2str(M)]);

% legend(’E[|U|]+2*SD[|U|] [dB]’,’E[|U|]-2*SD[|U|] [dB]’, ’E[|U|] [dB]’, 1)

C.20 Stress 50g.mFile used for the optimization, written by H.W.J.v.d.Berg.

% File to calculate the acting stresses in all elements of the optimization structure,

% while its loaded at the end point (node **) with 50 g (approximately 33000 N), in all directions.

%

force_magnitude = 50 ; % acting force in terms of g-forces

% Inlezen data

df = [2 29];

df_magn = [0.1 0.1];

input_type = 2;

% This is done to also fix the y-displacement of the nodes that connect the structure to the solid

% world. The fact that df_magn is not zero, is because that would give conflicts in input_define.

% This only influences the resulting F_sfrom input_define, which is not used any further

nr =[0 0 0];

nk =[-1 -1 -1];

Page 106: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 99

freq_left = 1 ;

step = 0.5 ;

freq_right = 2 ;

% Of no interest here, but still defined to avoid problems with other files

[K, M, dofs] = readfull(inputfilename);

[G, lst] = node_info(’Optim_constructie_nodes.txt’);

[sub, sub_b, list] = element_info(’Optim_constructie_elem.txt’, lst);

SD_i = Node2dof(sub, dofs);

SD_b = Node2dof(sub_b, dofs);

[SD_i, SD_b] = move(SD_i, SD_b, df);

[K_s, M_s, dofs_i, dofs_b] = substructure(K, M, dofs, SD_i, SD_b);

[Kstrip_s,Mstrip_s,F_s,dofs_b_strip,SD_b_strip,Pstrip]=Input_define(K_s, M_s,df,df_magn,input_type, <<-

freq_left,step,freq_right,dofs_i,dofs_b,SD_b);

[Kred, Mred, F, dired, dbred, Z, O_g, V_g, O_loc, V_loc, L, listd, dofs_s, Kred_s, Mred_s] = <<-

Connect(Kstrip_s, Mstrip_s, F_s, dofs_i, dofs_b_strip, list, nr, nk, dofs);

[dofsp, f, Z_g] = dofs_physical(dofs_i, dofs_b_strip, Z, L, V_g, listd);

doflijst=[dofsp.nodenr dofsp.idofnr dofsp.curdofnr];

mpel = [ (hb(1,1)*hb(1,2) - (hb(1,1)-0.006)*(hb(1,2)-0.006))*2700;

(hb(2,1)*hb(2,2) - (hb(2,1)-0.006)*(hb(2,2)-0.006))*2700;

(hb(3,1)*hb(3,2) - (hb(3,1)-0.006)*(hb(3,2)-0.006))*sqrt(2)*2700;

(hb(4,1)*hb(4,2) - (hb(4,1)-0.006)*(hb(4,2)-0.006))*2700;

(hb(5,1)*hb(5,2) - (hb(5,1)-0.006)*(hb(5,2)-0.006))*2700;

(hb(6,1)*hb(6,2) - (hb(6,1)-0.006)*(hb(6,2)-0.006))*2700;

(hb(7,1)*hb(7,2) - (hb(7,1)-0.006)*(hb(7,2)-0.006))*sqrt(2)*2700];

orgnodes=[G(:,2) G(:,3)];

buckling_forces = zeros(length(s_index_beams),5);

buckling_indexs = zeros(length(s_index_beams),5);

for f=1:4

%Define force-vector

if f == 1;

X_force = 1; % Force in x-direction (0 or 1, with or without minus ’-’)

Y_force = 0; % Force in y-direction (0 or 1, with or without minus ’-’)

elseif f==2;

X_force = -1; % Force in x-direction (0 or 1, with or without minus ’-’)

Y_force = 0; % Force in y-direction (0 or 1, with or without minus ’-’)

elseif f==3;

X_force = 0; % Force in x-direction (0 or 1, with or without minus ’-’)

Y_force = 1; % Force in y-direction (0 or 1, with or without minus ’-’)

elseif f==4;

X_force = 0; % Force in x-direction (0 or 1, with or without minus ’-’)

Y_force = -1; % Force in y-direction (0 or 1, with or without minus ’-’)

end

Fstatic = zeros(422,1);

%mass per element length

for k = 1:length(load_dofs)

if X_force ~= 0;

load_dof_x = find(doflijst(:,1)== load_dofs(k,1) & doflijst(:,2)==1);

Fstatic(load_dof_x) = X_force*mpel(load_dofs(k,2))*load_dofs(k,3)*force_magnitude*9.81;

end

if Y_force ~= 0;

load_dof_y = find(doflijst(:,1)== load_dofs(k,1) & doflijst(:,2)==2);

Fstatic(load_dof_y) = Y_force*mpel(load_dofs(k,2))*load_dofs(k,3)*force_magnitude*9.81;

end

end

defl = Kred \ Fstatic; % calculating the defelction of the structure subject to Fstatic

Page 107: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

100 C.20. STRESS 50G.M

% Calculate information about each beam (elongnation, strain etc)

for k = 1:length(s_index_beams)

n_1 = find(G(:,1)== s_index_beams(k,2));

x1 = G(n_1,2); y1 = G(n_1,3);

n_2 = find(G(:,1)== s_index_beams(k,3));

x2 = G(n_2,2); y2 = G(n_2,3);

% Calculate original element length

org_L = sqrt((x1-x2)^2 + (y1-y2)^2);

xdof_1 = find(doflijst(:,1) == s_index_beams(k,2) & doflijst(:,2)==1);

ydof_1 = find(doflijst(:,1) == s_index_beams(k,2) & doflijst(:,2)==2);

xdof_2 = find(doflijst(:,1) == s_index_beams(k,3) & doflijst(:,2)==1);

ydof_2 = find(doflijst(:,1) == s_index_beams(k,3) & doflijst(:,2)==2);

% Calculate coordinates of deformed elements

if s_index_beams(k,2) == 1

x1_def = 0; y1_def = 0;

elseif s_index_beams(k,2)==10

x1_def = 0; y1_def = 1;

else

x1_def = x1 + defl(xdof_1); y1_def = y1 +defl(ydof_1);

end

if s_index_beams(k,3) == 1

x1_def = 0; y1_def = 0;

elseif s_index_beams(k,3)==10

x1_def = 0; y1_def = 1;

else

x2_def = x2 + defl(xdof_2); y2_def = y2 +defl(ydof_2);

end

% Calculate deformed length

def_L = sqrt((x1_def-x2_def)^2 + (y1_def-y2_def)^2);

elongnation = (org_L-def_L)/org_L;

sigma = elongnation * 7e10;

area = (hb(s_index_beams(k,4),1)*hb(s_index_beams(k,4),2) - (hb(s_index_beams(k,4),1)-0.006)* <<-

(hb(s_index_beams(k,4),2)-0.006));

acting_force = sigma * area;

IZZ = (hb(s_index_beams(k,4),1)^3*hb(s_index_beams(k,4),2) - (hb(s_index_beams(k,4),1)-0.006)^3<<-

*(hb(s_index_beams(k,4),2)-0.006))/12;

buckling_force = pi^2 * 7e10*IZZ/org_L^2 ;

buckling_index = acting_force / buckling_force;

if f==1

buckling_forces(k,(f)) = s_index_beams(k,1);

buckling_forces(k,(f+1)) = buckling_force;

buckling_indexs(k,(f)) = s_index_beams(k,1);

end

buckling_forces(k,(f+2)) = acting_force;

buckling_indexs(k,(f+1)) = buckling_index;

end

end

result.buckling_forces = buckling_forces;

result.buckling_indexs = buckling_indexs;

buckling_indexs_nolabel = buckling_indexs; buckling_indexs_nolabel(:,1)=[];

feasib= find(buckling_indexs_nolabel >= 1);

if isempty(feasib)

result.feasible_buckling = 1;

elseif ~isempty(feasib)

result.feasible_buckling = 0;

end

Page 108: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 101

C.21 Substructure.mFile used for the uncertainty analysis, written by W.J.Dijkhof.

function [K_s, M_s, dofs_i, dofs_b,P] = substructure(K, M, dofs, SD_i, SD_b)

% function [K_s, M_s, dofs_i, dofs_b] = substructure(K, M, dofs, SD_i, SD_b);

%

% Reads system matrices produced by readfull.m and converts them to the

% corresponding substructure matrices. Note that SD_i/SD_b indicate which

% substructures are requested.

% by Wilbert Dijkhof 13-07-2004

%

% K, M, dofs output from the Ansys-Matlab interface.

%

% [SD_i(1).lst, ..., SD_i(N).lst] = internal dofs;

% [SD_b(1).lst, ..., SD_b(N).lst] = boundary dofs (due to adjecient substructures and external forces);

%

% which dofs corresponds with which nodes can be found in: dofs.curdofnr and dofs.nodenr.

%

% output:

% K_s, M_s vectors of substructure matrices, thus K_s = [K_s(1), ..., K_s(N)]

% It produces structure arrays with fields, thus get the matrices as follows:

% K_s(1).stiffness (and M_s(1).mass) for the first substructure,

% K_s(2).stiffness (and M_s(2).mass) for the second substructure, etc.

%

% dofs_i, dofs_b: vectors with dof info from "input: dofs", thus dofs_i =

% [dofs(1), ..., dofs(N)], corresponding to K_s and M_s.

m = length(dofs.curdofnr);

if length(SD_i)~=length(SD_b)

error(’length(SD_i)~=length(SD_b), insert empty lists if necessary’);

end

for k=1:length(SD_i)

SD(k).lst=[SD_i(k).lst SD_b(k).lst]; % appends dofs: [internal dofs, boundary dofs]

end

N = length(SD); % number of substructures

% permutation matrix of the substructures in ’sublist’:

P = zeros(m);

v = 0;

for k=1:N

for j=1:length(SD(k).lst)

v = v + 1;

t = find(dofs.curdofnr==SD(k).lst(j));

P(v,t)=1;

end

end

% new stiffness and mass matrix:

K = P*K*P’;

M = P*M*P’;

dof_s.recordnr = P*dofs.recordnr;

dof_s.curdofnr = P*dofs.curdofnr;

dof_s.nodenr = P*dofs.nodenr;

dof_s.idofnr = P*dofs.idofnr;

dof_s.orgdofnr = P*dofs.orgdofnr;

% new substiffness and submass matrices:

% dofs counted cumulative:

dof(1) = 0;

for k=1:N

dof(k+1) = dof(k)+length(SD(k).lst);

end

Page 109: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

102 C.22. TAYLOR.M

% converts the partitioned K and M into substructure matrices

for j=1:N

K_s(j).stiffness = K(dof(j)+1:dof(j+1),dof(j)+1:dof(j+1));

M_s(j).mass = M(dof(j)+1:dof(j+1),dof(j)+1:dof(j+1));

dofs_s(j).recordnr = dof_s.recordnr(dof(j)+1:dof(j+1));

dofs_s(j).curdofnr = dof_s.curdofnr(dof(j)+1:dof(j+1));

dofs_s(j).nodenr = dof_s.nodenr(dof(j)+1:dof(j+1));

dofs_s(j).idofnr = dof_s.idofnr(dof(j)+1:dof(j+1));

dofs_s(j).orgdofnr = dof_s.orgdofnr(dof(j)+1:dof(j+1));

end

% converts the patitioned dofs into substructure vectors

for j=1:N

% internal dofs

dofs_i(j).recordnr = dofs_s(j).recordnr(1:length(SD_i(j).lst));

dofs_i(j).curdofnr = dofs_s(j).curdofnr(1:length(SD_i(j).lst));

dofs_i(j).nodenr = dofs_s(j).nodenr(1:length(SD_i(j).lst));

dofs_i(j).idofnr = dofs_s(j).idofnr(1:length(SD_i(j).lst));

dofs_i(j).orgdofnr = dofs_s(j).orgdofnr(1:length(SD_i(j).lst));

% boundary dofs

dofs_b(j).recordnr = dofs_s(j).recordnr(1+length(SD_i(j).lst):length(SD_i(j).lst)+length(SD_b(j).lst));

dofs_b(j).curdofnr = dofs_s(j).curdofnr(1+length(SD_i(j).lst):length(SD_i(j).lst)+length(SD_b(j).lst));

dofs_b(j).nodenr = dofs_s(j).nodenr(1+length(SD_i(j).lst):length(SD_i(j).lst)+length(SD_b(j).lst));

dofs_b(j).idofnr = dofs_s(j).idofnr(1+length(SD_i(j).lst):length(SD_i(j).lst)+length(SD_b(j).lst));

dofs_b(j).orgdofnr = dofs_s(j).orgdofnr(1+length(SD_i(j).lst):length(SD_i(j).lst)+length(SD_b(j).lst));

end

C.22 Taylor.mFile used for the uncertainty analysis, written by W.J.Dijkhof, edited by H.W.J.v.d.Berg.

function [EUA, SDUA, EUP, SDUP, U, DU, D2U] = Taylor(Kred, Mred, F, F_s, Z, L, dofs_i, dofs_b, listd, <<-

freq_left, step, freq_right, dofsp, Z_g, kr, mr, tr, qr, Ea, SDa, xi, nd, order)

%

% [EUA, SDUA, EUP, SDUP] = Taylor(Kred, Mred, F, F_s, Z, L, dofs_i, dofs_b, listd, freq_left, step, <<-

freq_right, dofsp, Z_g, kr, mr, tr, qr, Ea, SDa, xi, nd, order);

%

% Develops the displacement in a first/second order Taylor series about the mean of the uncertain <<-

parameters (Gaussian distributed),

% and estimates the mean and variance of the displacement using Gaussian integration.

% by Wilbert Dijkhof 14-07-2004

% Altered 12-01-2005 after introducing inputdefine(1&2).m by Hans v.d.Berg

%

% dofs_physical.m => dofsp, Z_g

% input_define.m => F_s

% connect.m => Kred, Mred, F, Z, L

% [freq_left:step:freq_right] => frequency range (in Herz)

%

% kr(i,j,k).stiffness: stiffness matrix, mr(i,j,k).mass: mass matrx, zr(i,j,k).trans: transformation

% i = which substructure

% j = which uncertain parameter of i

% k = (k+1)-th derivative evaluated about the mean, k=1,2. % ...

%

% kr(1,1,1) = deterministic value

% kr(1,2,3) = second derivative "3" of the second uncertain parameter "2" of substructure one "1".

%

% Ea(j,k) = expectation of a, j = substructure, k which uncertain parameter

% SDa(j,k) = standard deviation of a, j = substructure, k which uncertain parameter

% xi = modal damping coefficient

% df = excited dof in dofsp.curdofnr

% nd = response at dof nd in dofsp.curdofnr

% order = 0 (first order) or 1 (second order)

%

Page 110: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 103

% deleted after introduction of input_define(1&2).m % % check: dof in dofsp

% deleted after introduction of input_define(1&2).m % p1 = find(dofsp.curdofnr==df);

% deleted after introduction of input_define(1&2).m % if isempty(p1)

% deleted after introduction of input_define(1&2).m % error(’dof is not an element of dofsp.curdofnr’)

% deleted after introduction of input_define(1&2).m % end

% deleted after introduction of input_define(1&2).m % q1=p1;

if length(nd)>1; % added after introduction of input_define(1&2).m

error(’Function Taylor can only consider one response-dof each run, so nd must be single number, <<-

not a vector’)

end

p2 = find(dofsp.curdofnr==nd);

if isempty(p2)

error(’node is not an element of dofsp.curdofnr’)

end

q2=p2;

% check that size(kr,3)=2 or size(kr,3)=3:

if ~(2<=size(kr,3)<=3)

error(’size(kr,3) must be 2 or 3, indicating first or second derivative!’)

end

% check length of damping-vector

if ~or(length(xi)==1,length(xi)==length(Kred))

error(’make sure that length(xi)==1 or length(xi)==length(Kred)’)

end

% update damping (the same for every eigenfrequency)

if length(xi)==1

xi = xi*ones(length(Kred),1);

end

% set order to zero by default (that is first order)

if ~exist(’order’)

order=0;

end

% if no second order derivatives are present or order is set to zero:

if or(size(tr,3)==2,order==0)

for j=1:size(tr,1)

for k=1:size(tr,2)

zr(j,k,3).trans=[];

end

end

end

% # random variables (used in loop function)

% The whole problem is that different subs can have a different # of

% uncertain variables, in that case some of the entries in tr.trans are

% empty (instead of non-existing).

N=0;

for ii=1:size(tr,1)

j=0;

while ~isempty(tr(ii,j+1,2).trans)

j=j+1;

if j==size(tr,2)

break

end

end

N = N + j;

end

% converting freq. range from Herz to radials

freq_range = (2*pi)*[freq_left:step:freq_right];

% DZ.trans = (Z.trans(x+h) - Z.trans(x))/h -> h relatively (wrt x, that is Ea) small

Page 111: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

104 C.22. TAYLOR.M

for j=1:size(zr,1)

for k=1:size(zr,2)

h(j,k) = 0.01*Ea(j,k);

end

end

% deleted after introduction of input_define(1&2).m % assuming F=1, DFn=0; calculation DF:

% deleted after introduction of input_define(1&2).m Fn=zeros(length(dofsp.nodenr),1);

% deleted after introduction of input_define(1&2).m Fn(p1)=[-1];

% deleted after introduction of input_define(1&2).m %adjust following two lines:

% deleted after introduction of input_define(1&2).m F = L’*Z_g’*Fn;

% DZ.trans = (Z.trans(x+h) - Z.trans(x))/h, h small

for j=1:size(tr,1)

zr(j,1,1).trans = tr(j,1,1).trans*qr(j,1,1).trans;

for k=1:size(tr,2)

if ~isempty(tr(j,k,2).trans)

%~isempty(tr(2,1,2).trans)

zr(j,k,2).trans = tr(j,k,2).trans * qr(j,k,2).trans;

DZ(j,k).trans = (zr(j,k,2).trans - zr(j,1,1).trans)/h(j,k);

else

DZ(j,k).trans = [];

end

end

end

% building diagonal matrix: Z_g = diag(Z(1).trans, ..., Z(N).trans)

% building diagonal matrix: DZ_g(j,k) = diag(0, ..., DZ(j,k), ..., 0)

[dofsp, Z_g, DZ_g] = clean(dofs_i, dofs_b, listd, Z, DZ);

%Construct Fn out of F_s

Fn=[];

for j=1:length(F_s);

Fn= [Fn;F_s(j).forces];

end

%Fn = F;

%% Added for using substructuring (duplicate boundary dofs must not be removed for calculating DF)

w1=0; w2=0;

for j=1:size(DZ,1)

for k=1:size(DZ,2)

uuu = size(DZ(j).trans,1);

vvv = size(DZ(j).trans,2);

DZ_g_full(j,k).trans = zeros(size(Fn,1),size(L,1));

if ~isempty(DZ(j,k).trans)

DZ_g_full(j,k).trans(w1+1:w1+uuu,w2+1:w2+vvv) = DZ(j,k).trans; %%% 60x60;

end

end

w1=w1+uuu;

w2=w2+vvv;

end

% End of inserted part (20-6-2005)

% DF = L’*DZ_g’*Fn + L’*Z_g’*DFn = L’*DZ_g’*Fn, provided: DFn = 0 [wrong]

for j=1:size(tr,1)

for k=1:size(tr,2)

if ~isempty(tr(j,k,2).trans)

DF(j,k).force = L’*DZ_g_full(j,k).trans’*Fn; %Original L’*DZ_g(j,k).trans’*Fn; changed for <<-

optimization analyse

% DF(j,k).force = L’*DZ_g(j,k).trans’*Fn;

end

end

end

Page 112: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 105

% needs adjusting (-> clean.m)

for j=1:size(zr,1)

for k=1:size(zr,2)

if ~isempty(zr(j,k,3).trans) % computation second order terms

% D2Z.trans = (Z.trans(x+2*h) - 2*Z.trans(x+h) + Z.trans(x))/h^2, h small

D2Z(j,k).trans = (zr(j,k,3).trans-2*zr(j,k,2).trans+zr(j,1,1).trans)/h(j,k)^2;

% building diagonal matrix: D2Z_g = diag(0, ..., D2Z, ..., 0)

n1 = 0;

n2 = 0;

for v=1:j-1 % sum of sizes of the substructures 1, ..., j-1.

n1 = n1 + size(zr(v,k,1).trans,1);

n2 = n2 + size(zr(v,k,1).trans,2);

end

D2Z_g(j,k).trans(n1+1:n1+size(zr(j,k,1).trans,1), n2+1:n2+size(zr(j,k,1).trans,2)) = <<-

D2Z(j,k).trans;

% D2F = L’*D2Z_g’*Fn + L’*DZ_g’*DFn + L’*Z_g’*D2Fn = L’*D2Z_g’*Fn, provided: DFn = 0 and <<-

D^2Fn = 0:

D2F(j,k).force = L’*D2Z_g(j,k).trans’*Fn;

end

end

end

% calculation: B(E(a)), DB(E(a)) and D^2B(E(a)):

% calculation of displacement U:

%% global eigenmodes/eigenvalues:

[V,D] = eig(Kred,Mred);

%% sorted global eigenfrequencies (in Hz):

O=[];

for j=1:length(D)

O(j) = abs(D(j,j));

end

[O,I] = sort(O);

O_g = sqrt(O)/(2*pi);

for j=1:length(I)

V_g(:,j) = V(:,I(j));

end

K_V = V_g’*Kred*V_g;

M_V = V_g’*Mred*V_g; % = not always identity

%% frf-matrices:

for r=1:length(K_V)

T(r).frf = V_g(:,r)*V_g(:,r)’;

end

%% column-vectors of w=H*F are the displacments at different frequencies:

%% included global modal damping

frf = zeros(size(F,1),length(freq_range));

G = frf;

for r=1:length(K_V)

m = (K_V(r,r)/M_V(r,r) + 2*xi(r)*1i*sqrt(K_V(r,r)/M_V(r,r))*freq_range - freq_range.^2)*M_V(r,r); <<-

% damping equal for every mode

% without damping:

% m = (K_V(r,r)/M_V(r,r) - freq_range.^2)*M_V(r,r);

for t=1:size(F,1)

G(t,:)=F(t,:)./m;

end

frf = frf + T(r).frf*G;

end

w = frf;

Page 113: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

106 C.22. TAYLOR.M

%% obtaining the physical displacement U:

U = Z_g*L*w;

% calculation of velocity DU:

%% column-vectors of H*DF at different frequencies:

frf=[]; G=[];

for j=1:size(zr,1)

for k=1:size(zr,2)

if ~isempty(tr(j,k,2).trans)

frf(j,k).disp = zeros(size(DF(j,k).force,1),length(freq_range));

G(j,k).force = frf(j,k).disp;

for r=1:length(K_V)

m = (K_V(r,r)/M_V(r,r) + 2*xi(r)*1i*sqrt(K_V(r,r)/M_V(r,r))*freq_range - freq_range.^2)<<-

*M_V(r,r);

for t=1:size(DF(j,k).force,1)

G(j,k).force(t,:) = DF(j,k).force(t)./m;

end

frf(j,k).disp = frf(j,k).disp + T(r).frf*G(j,k).force;

end

Dw1(j,k).disp = frf(j,k).disp;

end

end

end

%% DK and DM:

for j=1:size(tr,1)

%zr(j,1,1).trans = tr(j,1,1).trans * qr(j,1,1).trans;

for k=1:size(tr,2)

if ~isempty(tr(j,k,2).trans)

DKZ(j,k).stiffness = (zr(j,k,2).trans’*kr(j,k,2).stiffness*zr(j,k,2).trans - <<-

zr(j,1,1).trans’*kr(j,1,1).stiffness*zr(j,1,1).trans)/h(j,k);

DMZ(j,k).mass = (zr(j,k,2).trans’*mr(j,k,2).mass*zr(j,k,2).trans - zr(j,1,1).trans’* <<-

mr(j,1,1).mass*zr(j,1,1).trans)/h(j,k);

end

end

end

%% building diagonal matrix: DB = L’*diag(0, ..., DB_Z, ..., 0)*L

%%% # columns of diag(Z(1).trans, Z(2).trans, ...)

s = [0 0];

for t=1:size(Z,2)

s = s + size(Z(t).trans,2);

end

for j=1:size(tr,1)

for k=1:size(tr,2)

n = 0;

P1 = zeros(s);

P2 = zeros(s);

if ~isempty(tr(j,k,2).trans)

for v=1:j-1 % sum of sizes of the substructures 1, ..., j-1.

n = n + size(Z(v).trans,2);

end

P1(n+1:n+size(Z(j).trans,2), n+1:n+size(Z(j).trans,2)) = DKZ(j,k).stiffness;

DK(j,k).stiffness = L’*P1*L;

P2(n+1:n+size(Z(j).trans,2), n+1:n+size(Z(j).trans,2)) = DMZ(j,k).mass;

DM(j,k).mass = L’*P2*L;

end

end

end

%%% HDKw = H*DK*w:

%%% HDMw = H*DM*w:

for j=1:size(zr,1)

for k=1:size(zr,2)

if ~isempty(tr(j,k,2).trans)

Page 114: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 107

HDKw(j,k).stiffness = zeros(size(w,1),size(w,2));

HDMw(j,k).mass = zeros(size(w,1),size(w,2));

for r=1:length(freq_range)

for s=1:length(K_V)

m = (K_V(s,s)/M_V(s,s) + 2*xi(s)*i*sqrt(K_V(s,s)/M_V(s,s))*freq_range(r) - <<-

freq_range(r)^2)*M_V(s,s);

HDKw(j,k).stiffness(:,r) = HDKw(j,k).stiffness(:,r) + T(s).frf*DK(j,k).stiffness* <<-

w(:,r)./m;

HDMw(j,k).mass(:,r) = HDMw(j,k).mass(:,r) + T(s).frf*DM(j,k).mass*w(:,r)./m;

end

end

end

end

end

%%% Dw = H*DF - H*DB*w

for j=1:size(zr,1)

for k=1:size(zr,2)

if ~isempty(tr(j,k,2).trans)

for s=1:size(w,2)

Dw(j,k).disp(:,s) = Dw1(j,k).disp(:,s) - (HDKw(j,k).stiffness(:,s) - freq_range(s).^2* <<-

HDMw(j,k).mass(:,s));

end

end

end

end

%% obtaining the physical displacement: DU = D(Z*w) = DZ*w + Z*Dw =: DU_1 + DU_2

for j=1:size(zr,1)

for k=1:size(zr,2)

if ~isempty(tr(j,k,2).trans)

DU_1(j,k).disp = DZ_g(j,k).trans*L*w;

DU_2(j,k).disp = Z_g*L*Dw(j,k).disp;

DU(j,k).disp = DU_1(j,k).disp + DU_2(j,k).disp;

end

end

end

%Dw(1,1).disp’

%%% all second derivative stuff needs adjusting

0

% calculation of acceleration D^2U:

%% column-vectors of H*D^2F at different frequencies:

frf = []; G = [];

for j=1:size(zr,1)

for k=1:size(zr,2)

if ~isempty(zr(j,k,3).trans) % computation second order term

frf(j,k).disp = zeros(length(D2F(j,k).force),length(freq_range));

G(j,k).force = frf(j,k).disp;

for r=1:length(K_V)

m = (K_V(r,r)/M_V(r,r) + 2*xi(r)*i*sqrt(K_V(r,r)/M_V(r,r))*freq_range - freq_range.^2) <<-

*M_V(r,r);

for t=1:length(D2F(j,k).force)

G(j,k).force(t,:) = D2F(j,k).force(t)./m;

end

frf(j,k).disp = frf(j,k).disp + T(r).frf*G(j,k).force;

end

D2w1(j,k).disp = frf(j,k).disp;

end

end

end

%% column-vectors of H*DK*DU and H*DM*DU at different frequencies,

%% column-vectors of H*D^2K*U and H*D^2M*U at different frequencies:

%%% HDKDw = H*DK*Dw:

Page 115: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

108 C.22. TAYLOR.M

%%% HDMDw = H*DM*Dw:

for j=1:size(zr,1)

for k=1:size(zr,2)

if ~isempty(tr(j,k,2).trans)

HDKDw(j,k).stiffness = zeros(size(w,1),size(w,2));

HDMDw(j,k).mass = zeros(size(w,1),size(w,2));

for r=1:length(freq_range)

for s=1:length(K_V)

m = (K_V(s,s)/M_V(s,s) + 2*xi(s)*i*sqrt(K_V(s,s)/M_V(s,s))*freq_range(r) - <<-

freq_range(r)^2)*M_V(s,s);

HDKDw(j,k).stiffness(:,r) = HDKDw(j,k).stiffness(:,r) + T(s).frf*DK(j,k).stiffness <<-

*Dw(j,k).disp(:,r)./m;

HDMDw(j,k).mass(:,r) = HDMDw(j,k).mass(:,r) + T(s).frf*DM(j,k).mass* <<-

Dw(j,k).disp(:,r)./m;

end

end

end

end

end

for j=1:size(zr,1)

for k=1:size(zr,2)

if ~isempty(zr(j,k,3).trans) % computation second order term

D2KZ(j,k).stiffness = (kr(j,k,3).stiffness - 2*kr(j,k,2).stiffness + kr(j,1,1).stiffness)/ <<-

h(j,k)^2;

D2MZ(j,k).mass = (mr(j,k,3).mass - 2*mr(j,k,2).mass + mr(j,1,1).mass)/h(j,k)^2;

end

end

end

%%% building diagonal matrix: D2B = diag(0, ..., D2B_Z, ..., 0)

s = [0 0];

for t=1:size(Z,2)

s = s + size(Z(t).trans,2);

end

for j=1:size(zr,1)

for k=1:size(zr,2)

if ~isempty(zr(j,k,3).trans) % computation second order term

n = 0;

P = zeros(s);

for v=1:j-1 % sum of sizes of the substructures 1, ..., j-1.

n = n + size(Z(v).trans,2); % correct: n = n + length(O_loc(j).eig);

end

P(n+1:n+size(Z(j).trans,2), n+1:n+size(Z(j).trans,2)) = D2KZ(j,k).stiffness;

D2K(j,k).stiffness = L’*P*L;

P(n+1:n+size(Z(j).trans,2), n+1:n+size(Z(j).trans,2)) = D2MZ(j,k).mass;

D2M(j,k).mass = L’*P*L;

end

end

end

%%% HD2Kw = H*D^2K*w:

%%% HD2Mw = H*D^2M*w:

for j=1:size(zr,1)

for k=1:size(zr,2)

if ~isempty(zr(j,k,3).trans) % computation second order term

HD2Kw(j,k).stiffness = zeros(size(w,1),size(w,2));

HD2Mw(j,k).mass = zeros(size(w,1),size(w,2));

for r=1:length(freq_range)

for s=1:length(K_V)

m = (K_V(s,s)/M_V(s,s) + 2*xi(s)*i*sqrt(K_V(s,s)/M_V(s,s))*freq_range(r) - <<-

freq_range(r)^2)*M_V(s,s);

HD2Kw(j,k).stiffness(:,r) = HD2Kw(j,k).stiffness(:,r) + T(s).frf*D2K(j,k).stiffness<<-

*w(:,r)./m;

HD2Mw(j,k).mass(:,r) = HD2Mw(j,k).mass(:,r) + T(s).frf*D2M(j,k).mass*w(:,r)./m;

end

Page 116: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 109

end

end

end

end

%%% D^2w = H*D2F - 2*H*DB*Dw - H*D^2B*w

for j=1:size(zr,1)

for k=1:size(zr,2)

if ~isempty(zr(j,k,3).trans) % computation second order term

for s=1:size(w,2)

D2w(j,k).disp(:,s) = D2w1(j,k).disp(:,s) - 2*(HDKDw(j,k).stiffness(:,s) - <<-

freq_range(s).^2*HDMDw(j,k).mass(:,s)) - (HD2Kw(j,k).stiffness(:,s) - freq_range(s).^2* <<-

HD2Mw(j,k).mass(:,s));

end

end

end

end

%% obtaining the physical displacement: D^2U = D^2(Z_g*w) = D^2Z_g*w + 2*DZ_g*w + Z_g*D^2w =: D^2U_1 + <<-

D^2U_2 + D^2U_3

for j=1:size(zr,1)

for k=1:size(zr,2)

if ~isempty(zr(j,k,3).trans) % computation second order term

[dofsp, D2U_1(j,k).disp] = dofs_physical(dofs_i, dofs_b, D2Z(j,k), L, w, listd);

[dofsp, D2U_2(j,k).disp] = dofs_physical(dofs_i, dofs_b, DZ(j,k), L, Dw(j,k).disp, listd);

[dofsp, D2U_3(j,k).disp] = dofs_physical(dofs_i, dofs_b, Z, L, D2w(j,k).disp, listd); %% ??

D2U(j,k).disp = D2U_1(j,k).disp + 2*D2U_2(j,k).disp + D2U_3(j,k).disp;

else

D2U(j,k).disp = 0;

end

end

end

% Gaussian integration

%% points:

p = [-sqrt(15)/5 ; 0 ; sqrt(15)/5];

%% weights

we = [5/9 ; 8/9 ; 5/9];

%% approximation integral:

int = 0; int2 = 0; int3 = 0; int4 = 0;

[J, int, int2, int3, int4] = loop(int, int2, int3, int4, N, zr, U, DU, D2U, q2, Ea, SDa, p, we);

EUA = int;

SDUA = sqrt(int2 - int.^2);

EUP = int3;

SDUP = sqrt(int4 - int3.^2);

% bunch of plots:

EUAdb = 20*log(EUA)/log(10);

upAdb = 20*log(EUA+2*SDUA)/log(10);

t = 0; %SDa./Ea;

%toc

figure(1);

%plot(freq_range/(2*pi), upAdb, ’b-.’)

semilogy(freq_range/(2*pi), EUA+2*SDUA, ’b--’)

hold on

%plot(freq_range/(2*pi), EUAdb, ’r-.’)

semilogy(freq_range/(2*pi), EUA, ’r--’)

grid on

xlabel(’frequency [Hz]’)

ylabel(’displacement [m]’)

title([’first order Taylor, ’, ’SDa/Ea = [’, num2str(t), ’]’]);

%legend(’E[|U|]+2*SD[|U|] [dB]’, ’E[|U|] [dB]’, 4)

Page 117: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

110 C.22. TAYLOR.M

legend(’E[|U|]+2*SD[|U|] [m]’, ’E[|U|] [m]’, 4)

figure(2);

plot(freq_range/(2*pi), EUP+2*SDUP, ’b--’)

hold on

plot(freq_range/(2*pi), EUP, ’r--’)

grid on

xlabel(’frequency [Hz]’)

ylabel(’phase [rad]’)

title([’second order Taylor, ’, ’SDa/Ea = [’, num2str(t), ’]’]);

%legend(’E[|U|]+2*SD[|U|] [dB]’, ’E[|U|] [dB]’, 1)

legend(’E[|U|]+2*SD[|U|] [m]’, ’E[|U|] [m]’, 1)

%%% Gaussian integration

function [J, int, int2, int3, int4] = loop(int, int2, int3, int4, N, zr, U, DU, D2U, q2, Ea, SDa, p, <<-

we, n, s, J)

if nargin<=15

s=[]; J=[];

end

if nargin==14

n=1;

end

for m=1:3

x = real(U(q2,:));

y = imag(U(q2,:));

s(n)=m;

if n==N

%%% U = X+IY (X and Y real), with

%%% X(z1, ..., zN) = X + sum_j (z_j - E[a_j])*(D_j) X + 1/2*sum_j (z_j - E[a_j])^2*(D_j)^2 X + <<-

sum_(j<k) (z_j - E[a_j])*(z_k - E[a_k])*(D_j)(D_k) X

%%% Y(z1, ..., zN) similar

t = 0;

prod_w = 1;

for j=1:size(zr,1)

for k=1:size(zr,2)

if ~isempty(zr(j,k,2).trans)

t = t+1;

%%% if I use something else than 2.14638 -> less accurate (checked in maple) (if <<-

r>2.147 => stand. dev. complex valued, which is incorrect).

r = 2.1423;%r = 2.14638;

if D2U(j,k).disp==0 %%% no second order terms

x = x + ((r*SDa(j,k)*p(s(t))+Ea(j,k))-Ea(j,k))*real(DU(j,k).disp(q2,:));

y = y + ((r*SDa(j,k)*p(s(t))+Ea(j,k))-Ea(j,k))*imag(DU(j,k).disp(q2,:));

else %%% second order terms

x = x + ((r*SDa(j,k)*p(s(t))+Ea(j,k))-Ea(j,k))*real(DU(j,k).disp(q2,:)) + 1/2* <<-

((r*SDa(j,k)*p(s(t))+Ea(j,k))-Ea(j,k))^2*real(D2U(j,k).disp(q2,:));

y = y + ((r*SDa(j,k)*p(s(t))+Ea(j,k))-Ea(j,k))*imag(DU(j,k).disp(q2,:)) + 1/2* <<-

((r*SDa(j,k)*p(s(t))+Ea(j,k))-Ea(j,k))^2*imag(D2U(j,k).disp(q2,:));

end

%%% prod_w = we(s(1))*...*we(s(N))

prod_w = prod_w*we(s(t));

end

end

end

prod = 1;

%%% general: prod = (2/pi)^(N/2)*exp(-2*(p(s(1))^2+...+p(s(N))^2));

for j=1:N

prod = prod*(r/sqrt(2*pi))*exp(-(r^2/2)*p(s(j))^2);

end

int = int + sqrt(x.^2 + y.^2).*prod.*prod_w;

int2 = int2 + (x.^2 + y.^2).*prod.*prod_w;

int3 = int3 + unwrap(angle(x + 1i*y)).*prod.*prod_w;

int4 = int4 + unwrap(angle(x + 1i*y)).^2.*prod.*prod_w;

J=[J;s];

elseif n>N

return

Page 118: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 111

else

[J, int, int2, int3, int4] = loop(int, int2, int3, int4, N, zr, U, DU, D2U, q2, Ea, SDa, p, we,<<-

n+1, s, J);

end

end

C.23 Totalrun DefMod1.mFile used for the uncertainty analysis, written by H.W.J.v.d.Berg. It is the major file for the uncertainty analysis.

%This file executes the total set of three methods to calculate the response of the structure DefMod1

% without implementing a reduction for the system matrices

clear all

tic

%%% Direct inputs: %%%%%%%%%%%%%%

df = [2 65];

df_magn = [0.1 0.1];

input_type = 2; % 1 for force acting on node, 2 for prescribed dof excitation

nd= 20; %dof where response is calculated

freq_left = 1 ;

step = 1 ;

freq_right = 500 ;

xi = 0.03 ;

Ea = 0.025 ;

Sda = 0.025*2e11 ;

nr =[0];

nk =[-1];

Mn_PMCS = 5;

stoc = ’gaussian’;

Mn_MCS = 5;

cov = Sda / Ea ;

var_0 = Ea ;

var_choice = 2 ;% 1 for varying E, 2 for varying h_0

filename = ’MCS_defmod1_comp1’;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

[K, M, dofs] = readfull(’DefMod1.full’);

[G, lst] = node_info(’DefMod1_nodes.txt’);

[sub, sub_b, list] = element_info(’DefMod1_elem.txt’, lst);

SD_i = Node2dof(sub, dofs);

SD_b = Node2dof(sub_b, dofs);

[SD_i, SD_b] = move(SD_i, SD_b, df);

[K_s, M_s, dofs_i, dofs_b] = substructure(K, M, dofs, SD_i, SD_b);

[Kstrip_s,Mstrip_s,F_s,dofs_b_strip,SD_b_strip,Pstrip]=Input_define(K_s, M_s,df,df_magn,input_type, <<-

freq_left,step,freq_right,dofs_i,dofs_b,SD_b);

% PMCS & Taylor

[Kred, Mred, F, dired, dbred, Z, O_g, V_g, O_loc, V_loc, L, listd, dofs_s, Kred_s, Mred_s] = <<-

Connect(Kstrip_s,Mstrip_s, F_s, dofs_i, dofs_b_strip, list, nr, nk, dofs);

[dofsp, f, Z_g] = dofs_physical(dofs_i, dofs_b_strip, Z, L, V_g, listd);

Nn=nd;

U = resp_check(Kred, Mred, F, Z_g, dofsp, O_g, V_g, L, freq_left, step, freq_right, xi, Nn);

%randn(’state’,0)

% % MCS (we use DefMod1.db in ansyscommands.txt in run_ansyscompile.bat for that)

[u_MCS, EUA_MCS, SDUA_MCS, EUP_MCS, SDUP_MCS, distrib_MCS] = runMCanalysis_DefMod1(F_s, Z_g, Pstrip, <<-

dofs,dofs_i, dofs_b, dofs_b_strip, freq_left, step, freq_right, xi, Mn_MCS, list, nr, nk, stoc, <<-

filename, cov,var_0,var_choice);

kr(1,1,1).stiffness = Kstrip_s(1).stiffness;

mr(1,1,1).mass = Mstrip_s(1).mass;

tr(1,1,1).trans = eye(length(Kred));

qr(1,1,1).trans = eye(length(Kred));

Page 119: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

112 C.24. TOTALRUN RED DEFMOD2.M

% second analysis:

%[K2, M2, dofs2_K, dofs2_M] = readfull(’DefMod1_1pr_E.full’);

[K2, M2, dofs2_K, dofs2_M] = readfull(’DefMod1_1pr_h.full’);

[G2, lst2] = node_info(’DefMod1_nodes.txt’);

[sub2, sub2_b, list2] = element_info(’DefMod1_elem.txt’, lst2);

SD2_i = Node2dof(sub2, dofs);

SD2_b = Node2dof(sub2_b, dofs);

[SD2_i, SD2_b] = move(SD2_i, SD2_b, df);

[K2_s, M2_s] = substructure2(K2, M2, dofs, SD2_i, SD2_b);

[K2strip_s,M2strip_s,F2_s]=Input_define(K2_s, M2_s,df,df_magn,input_type,freq_left,step,freq_right, <<-

dofs_i,dofs_b,SD2_b);

nr2=[0];

nk2=[-1];

kr(1,1,2).stiffness = K2strip_s(1).stiffness;

mr(1,1,2).mass = M2strip_s(1).mass;

tr(1,1,2).trans = eye(length(Kred));

qr(1,1,2).trans = eye(length(Kred));

pretime=toc;

tic

disp(’start PMCS’);

%randn(’state’,0)

% % PMCS:

[u_PMCS, EUA_PMCS, SDUA_PMCS, EUP_PMCS, SDUP_PMCS,distrib_PMCS] = PMCSn_unwrap(Kred, Mred, F, F_s, Z, <<-

L, dofs_i, dofs_b_strip, listd, freq_left, step, freq_right, dofsp, Z_g, kr, mr, tr, qr, Ea, Sda, xi, <<-

nd, Mn_PMCS, stoc);

time_PMCS=toc; tic

disp(’start taylor’);

order=0;

% Taylor (works, DU is correct):

[EUA_taylor, SDUA_taylor, EUP_taylor, SDUP_taylor, U, DU, D2U] = Taylor(Kred, Mred, F, F_s, Z, L, <<-

dofs_i,dofs_b_strip, listd, freq_left, step, freq_right, dofsp, Z_g, kr, mr, tr, qr, Ea, Sda, xi, nd, <<-

order);

time_taylor=toc;

pretime

time_PMCS

time_taylor

C.24 Totalrun red DefMod2.mFile used for the uncertainty analysis, written by H.W.J.v.d.Berg.

%This file executes the total set of three methods to calculate the response of the structure DefMod2

% without implementing a reduction for the system matrices

clear all

tic

%%% Direct inputs: %%%%%%%%%%%%%%

df = [2 20];

df_magn = [0.1 0.1];

input_type = 2;

nd= 65; %dof where response is calculated

freq_left= 1 ;

step= 1 ;

freq_right= 500 ;

xi= 0.03 ;

Ea= 0.025 ;

Page 120: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

C. MATLAB COMMAND FILES 113

Sda= 0.03*0.025 ;

nr=[0,6];

nk=[11,11];

nr2=nr;

nk2=nk;

Mn_PMCS = 200;

stoc = ’gaussian’;

Mn_MCS = 200;

cov = Sda / Ea ;

var_0 = Ea ;

var_choice = 2 ;% 1 for varying E, 2 for varying h_0

filename = ’MCS_defmod2_red’;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

[K, M, dofs] = readfull(’DefMod2.full’);

[G, lst] = node_info(’DefMod2_nodes.txt’);

[sub, sub_b, list] = element_info(’DefMod2_elem.txt’, lst);

SD_i = Node2dof(sub, dofs);

SD_b = Node2dof(sub_b, dofs);

[SD_i, SD_b] = move(SD_i, SD_b, df);

[K_s, M_s, dofs_i, dofs_b] = substructure(K, M, dofs, SD_i, SD_b);

[Kstrip_s,Mstrip_s,F_s,dofs_b_strip,SD_b_strip,Pstrip]=Input_define(K_s, M_s,df,df_magn,input_type, <<-

freq_left,step,freq_right,dofs_i,dofs_b,SD_b);

% No MCS-run performed, since for the MCS comparison the results from Totalrun_DefMod1 can be taken

% PMCS & Taylor

[Kred, Mred, F, dired, dbred, Z, O_g, V_g, O_loc, V_loc, L, listd, dofs_s, Kred_s, Mred_s] = <<-

Connect(Kstrip_s, Mstrip_s, F_s, dofs_i, dofs_b_strip, list, nr, nk, dofs);

[dofsp, f, Z_g] = dofs_physical(dofs_i, dofs_b_strip, Z, L, V_g, listd);

%% F = input_define2(F_s,Z,L);

nb = [size(SD_b_strip(1).lst,2)];

[kr(1,1,1).stiffness, mr(1,1,1).mass, tr(1,1,1).trans, qr(1,1,1).trans] = Rubin(Kstrip_s(1).stiffness, <<-

Mstrip_s(1).mass, dofs_i(1), dofs_b_strip(1), nr(1), nb(1), nk(1), 0);

Nn=nd;

U = resp_check(Kred, Mred, F, Z_g, dofsp, O_g, V_g, L, freq_left, step, freq_right, xi, Nn);

% second analysis:

%[K2, M2, dofs2_K, dofs2_M] = readfull(’DefMod2_1pr_Ea.full’);

%[K2, M2, dofs2_K, dofs2_M] = readfull(’DefMod2_1pr_Eb.full’);

%[K2, M2, dofs2_K, dofs2_M] = readfull(’DefMod2_1pr_ha.full’);

[K2, M2, dofs2_K, dofs2_M] = readfull(’DefMod2_1pr_hb.full’);

[G2, lst2] = node_info(’DefMod2_nodes.txt’);

[sub2, sub2_b, list2] = element_info(’DefMod2_elem.txt’, lst2);

SD2_i = Node2dof(sub2, dofs);

SD2_b = Node2dof(sub2_b, dofs);

[SD2_i, SD2_b] = move(SD2_i, SD2_b, df);

[K2_s, M2_s] = substructure2(K2, M2, dofs, SD2_i, SD2_b);

[K2strip_s,M2strip_s,F2_s,dofs2_b_strip, SD2_b_strip]=Input_define(K2_s, M2_s,df,df_magn,input_type, <<-

freq_left,step,freq_right,dofs_i,dofs_b,SD2_b);

nb2 = [size(SD2_b_strip(1).lst,2)];

[kr(1,1,2).stiffness, mr(1,1,2).mass, tr(1,1,2).trans, qr(1,1,2).trans] = Rubin(K2strip_s(1).stiffness,<<-

M2strip_s(1).mass, dofs_i(1), dofs_b_strip(1), nr2(1), nb2(1), nk2(1), 0);

Page 121: mate.tue.nlmate.tue.nl/mate/pdfs/5819.pdf · i Summary When designing mechanical constructions the dynamic behavior of such a construction is an important issue. It considers the

114 C.24. TOTALRUN RED DEFMOD2.M

pretime=toc;

tic

disp(’start PMCS’);

% % PMCS:

[u_PMCS, EUA_PMCS, SDUA_PMCS, EUP_PMCS, SDUP_PMCS,distrib_PMCS] = PMCSn_unwrap(Kred, Mred, F, F_s, Z, <<-

L, dofs_i, dofs_b_strip, listd, freq_left, step, freq_right, dofsp, Z_g, kr, mr, tr, qr, Ea, Sda, xi, <<-

nd, Mn_PMCS, stoc);

time_PMCS=toc; tic

disp(’start taylor’);

order=0;

% Taylor (works, DU is correct):

[EUA_taylor, SDUA_taylor, EUP_taylor, SDUP_taylor, U, DU, D2U] = Taylor(Kred, Mred, F, F_s, Z, L, <<-

dofs_i, dofs_b_strip, listd, freq_left, step, freq_right, dofsp, Z_g, kr, mr, tr, qr, Ea, Sda, xi, nd, <<-

order);

time_taylor=toc;

pretime

time_PMCS

time_taylor