P. 1
visc

visc

|Views: 51|Likes:
Published by Kiran Christopher

More info:

Published by: Kiran Christopher on Oct 11, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

10/11/2010

pdf

text

original

Viscoelastic Vibration Toolbox

For Use with MATLAB r

User’s Guide Version 1.0

Etienne Balm`s e Jean-Michel Lecl`re e

How to Contact SDTools

33 +1 41 13 13 57 33 +6 77 17 29 99 SDTools 44 rue Vergniaud 75013 Paris (France)

Phone Fax Mail

http://www.sdtools.com comp.soft-sys.matlab http://www.openfem.net

Web Newsgroup An Open-Source Finite Element Toolbox

support@sdtools.com suggest@sdtools.com info@sdtools.com

Technical support Product enhancement suggestions Sales, pricing, and general information

Viscoelastic Vibration Toolbox on July 5, 2007 c Copyright 1991-2007 by SDTools

The software described in this document is furnished under a license agreement. The software may be used or copied only under the terms of the license agreement. No part of this manual in its paper, PDF and HTML versions may be copied, printed, photocopied or reproduced in any form without prior written consent from SDTools.
Structural Dynamics Toolbox is a registered trademark of SDTools OpenFEM is a registered trademark of INRIA and SDTools MATLAB is a registered trademark of The MathWorks, Inc. Other products or brand names are trademarks or registered trademarks of their respective holders.

Contents
1 Modeling viscoelastic materials 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . 1.2 Representing complex modulus . . . . . . . . . . 1.2.1 Non parametric (tabular) representations 1.2.2 Simple rheological models . . . . . . . . . 1.2.3 High order rational models . . . . . . . . 1.2.4 Fractional derivative models . . . . . . . . 1.3 Environmental factors . . . . . . . . . . . . . . . 1.3.1 Influence of temperature . . . . . . . . . . 1.3.2 Other environment factors . . . . . . . . . 1.4 Determining the complex modulus . . . . . . . . 1.5 Conclusion . . . . . . . . . . . . . . . . . . . . . 5 6 6 7 9 12 13 13 13 18 18 19 21 22 23 25 27 29 29 30 31 33 33 34 35 37 38 40 1

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

2 Viscoelastic FEM models 2.1 Viscous and structural damping . . . . . . . . . . . . . . . . . . . . 2.1.1 Properties of the damped 1 DOF oscillator . . . . . . . . . 2.1.2 Real modes and modal damping . . . . . . . . . . . . . . . 2.1.3 Selection of modal damping coefficients . . . . . . . . . . . 2.2 Viscoelastic models . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Frequency domain representation with variable coefficients 2.2.2 State-space representations . . . . . . . . . . . . . . . . . . 2.2.3 Second order models with internal states . . . . . . . . . . . 2.2.4 Fractional derivatives . . . . . . . . . . . . . . . . . . . . . 2.3 Spectral decomposition and reduced models . . . . . . . . . . . . . 2.3.1 Complex modes of analytical models . . . . . . . . . . . . . 2.3.2 Complex mode eigenvalue problems with constant matrices 2.3.3 Model reduction methods . . . . . . . . . . . . . . . . . . . 2.3.4 Equivalent viscous damping . . . . . . . . . . . . . . . . . 2.3.5 Case of viscoelastic models . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . 68 .4 Sensor definitions . .1 Viscoelastic modeling tools . . . . . . . . . . . . . . . 49 . . . . . . . . . . 3. . . . 51 . . . . . . . . . . . . . . .4.3 Viscoelastic device meshing tools . . .2. . . . . . mvisco 3m 4. . .1 Introducing your own nomograms . . 3. . . . . . 3. . . . . . . . . . . . 3. . . . . . . . . . . . . .CONTENTS 2. . . . . . . . . .2 Physical point with rotations . . . .2 Representing viscoelastic materials . . . . . . . . .7 NASTRAN DMAP routines . . . . . . . . 52 . . . . . . 3. . . . . . . . . . 3. . . . . . . . . 63 . . . . .1 Screw models . . . . . . . .5. . . . . . . . . . . 56 . . . . . . . . . . . . . . . .1 Model parameterization . . . . .8. . . . . . . . 68 . . . . . . . . . . . . . . 3. . . . . 3. . .1 Mesh convergence and non conformity . . . . . . . . . .2 fevisco 4. . . . . . .9. 57 . . . . . . 68 71 72 77 86 91 95 101 . 53 . .2 Format reference . . . . . 3. . . . . . . .4. . .3. 58 . . . . 3. . . 3. .8 Advanced connection models . .5 Sample parametric analysis step by step . . . .2. . . .1 fe2xf 4.6 Fluid/structure coupling . . 56 . . 40 44 3 Toolbox tutorial 3. . . . . . 3. . . . . . . . . . . . . . . . 3. . . 3.4 Data structure reference . . . . .3. . . . . .4 Full and reduced order solution within SDT . 3. .3 Exporting submeshes to NASTRAN . . . . . . . . . . . . 3. . . .2 Parametric model generated within NASTRAN (fo by 3. . . . . . . . . . . 64 . . 3. . . . . . . . . . . . . 49 . . . . . . . . . . .4. . . . . . . . . . . . . . . 4 Toolbox Reference 4. 58 set DMAP) 60 . 3. . . . . . . . . . . . . . . . . . . . .1 Summary of theory . .4. . . . . 3. .5.1 Validity of free and constrained layer models . . .3. . . . . . . . . . . . . . . . 63 . . 3. 3.3 Input definitions . 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8. . . . . . . . . . .2 Selecting a material for your application . . . 3. . . . . . . . . . . . . .3 Parametric model from NASTRAN element matrices 3. . . . . . . . . . . . . . . . . . . . 2. .5. . . . . . . . . . . . . . 67 . 3. . . . . . . . . .9 Validation examples . . . 51 . .4 nasread 4. . . . .5 naswrite Bibliography 2 47 . . . . . . . . . 50 . . . . 68 . . . . . .5.4 Meshing of sandwich models . . . . .2 Meshing foam fillings .4. . . . . . . . . . . .1 Dynamic stiffness coefficients zCoefFcn . .4. .1 Generation of sandwich models . 64 . .3 m visco. . . . . . . . . 68 . . . 49 . .6. . .5 Response post-processing options . . . . . . . . . . . 53 . . . 57 . . 52 .

Index 104 3 .

CONTENTS 4 .

. . . .2. 1. . .2. . . . . . . . . 1.1 Influence of temperature . .2. . . . . . . . . . . . . . . .1 1. . . . . 6 6 7 9 12 13 13 13 18 18 19 . . . .4 Determining the complex modulus . .5 Conclusion . . . . . . . 1. . . . . . . . . 1. . . . . . . .3. . . . . . . . . . 1. .3. . . . . . . . . . . . . . . . . .1 Non parametric (tabular) representations . . .2 Simple rheological models . 1. .3 High order rational models . . . . . . . . . . . . . . . . . . .2 Other environment factors . . . . .2. . . . . . .1 Modeling viscoelastic materials 1. . 1. . 1. . 1. . . . . . .4 Fractional derivative models . .2 Introduction . . . . . . . . . . . . . . Representing complex modulus . . .3 Environmental factors . . .

Section 1.2 analyzes the main representations of complex moduli.). As will be detailed in the next chapter.1 Modeling viscoelastic materials 1.2 Representing complex modulus Even though. For homogeneous and isotropic materials.1) Using Laplace transform. pre-stress. one thus considers a Young’s modulus and a Poisson coefficient that are complex and frequency dependent. Ref. 6 ..1 Introduction Linear viscoelasticity assumes [1] that stress is a function of strain history. Refs [2. This property is known as the elastic/viscoelatic equivalence principle [1]. This translates into the existence of a relaxation function given by 0 σ(t) = −∞ ε(t − τ )h(τ )dτ (1. although this is known to be approximate. This section illustrates the main classes of modulus representations. 3] present most practical representations of viscoelastic behaviour. . one can solve viscoelasticity problems as elasticity problmes with a complex modulus that depends on frequency. For a strain tensor. numerical solvers are often associated with specific analytical representations of moduli.. [1] a detailed account of viscoelasticity theory. For more details. viscoelastic constitutive laws are fully characterized by the measurement of a complex modulus. The separate measurement of E(ω) et ν(ω) is however a significant experimental challenge [2] that has no well established solution. 1. Section 1. Domains of applicability for different models is the given at the end of the chapter. Practice is thus to measure a compression E(ω) or a shear modulus G(ω) and to assume a constant Poisson’s ratio.2) From a practical point of view. one sees that this hypothesis is equivalent to the existence of a complex modulus Λ such that σ(s) = Λ(s)ε(s) = (Λ (s) + iΛ (s))ε(s) (1.3 lists representations used to account for the effect of environmental factors (temperature. the number of idependent coefficients in Λ is identical to that in Hookes law for an elastic material (for the same reasons of material invariance).

1. The name loss factor derives from the fact that η is equal to the ratio of energy T dissipated for one cycle Ed = 0 σ ˙dt by 2π the maximum potentional energy Ep = 1/2E.2. On calls.3). 7 .1 Non parametric (tabular) representations At each frequency. For = cos ωt. the complex modulus describes an elliptical stress/strain relation. This definition is used to compute a loss factor for systems with small non linearities (see section 2.1. storage modulus the real part of the complex modulus Es = Re(E) and loss factor the ratio of the imaginary and real parts η = Im(E)/Re(E).1: Elliptical stress/strain cycle The raw measure of viscoelastic characteristics gives a complex modulus which typically has the characteristics shown in figure 1. σ Esη 1 Es -1 1 ε -Esη Figure 1.2.1. one has σ = Re(Es (1 + iη)eiωt ) = E cos ωt − kη sin ωt as shown in figure 1.

Disadvantages are very few and really mostly linked to the extraction of complex modes and as a consequence time response simulations using modal bases. is easily implemented and fast to compute. pre-stress. η∞ . For extrapolation at low frequencies. on possible values for this assymptote but in practice.. Since good software to perform those steps is not widespread. avoiding them is really useful. There are mathematical limitations.. there are also other physical dissipation mechanisms that are not represented by the viscoleastic law so that the real objective is to avoid numerical pathologies when pushing the model outside its range of validity. one will assume a real assymptote E(0) (i. Moreover. its Fourier transform is even and thus real at 0. the direct use of experimental data avoids standard steps of selecting a representation and identifying the associated parameters. one uses a complex asymptote E∞ . And even these difficulties can be circumvented. wheighted for 2 or 3 experimental points.2: Sample constitutive law for a viscoelastic material The solution of frequency domain problems (frequency response functions. complex mode extraction) requires the interpolation of measurements between frequency points (shown as a solid line) and the extrapolation in unmeasured low and high frequency areas (shown in dotted lines in the figure). For interpolation.e. temperature. For high frequencies. a moving average. 8 . . η(0) = 0) from basic principles : since the relaxation function is real. The main advantage of non parametric representations of constitutive laws is to allow fully general accounting of behaviour that are strongly dependent on frequency.1 Modeling viscoelastic materials 10 10 10 1 E¥ 10 9 Storage Modulus (Pa) 10 0 10 8 Loss factor 10 1 10 7 0 E0 h¥ 5 10 10 10 2 10 10 6 5 Frequency (Log(Hz)) 0 5 Frequency (Log(Hz)) 0 5 10 Figure 1.

5) E(s) = E0 (1 + βs) Structural damping. The stress / strain relation is. Each element undergoes the same elongation but strains add. is introduced by considering a complex stiffness that is frequency independent. The complex modulus is thus 9 . called Kelvin Voigt Model. Each element carries the same load while strains are added.3: Material damping models with 2 or 3 parameters : (a) Maxwell’s model.1.3) τ= C E (1. The viscous model. Damping is then represented by the addition of strains proportionnal to deformation and deformation velocity.2. In the frequency domain the modulus has the form (1. Figure 1. (c) structural damping.4) is a settling time that is caracteristic of the model and is associated to a pole at ω = −E/C = −1/τ .3 shows the simplest models [3]. also called hysteretic damping. in the frequency domain. (d) standard viscoelastic solid Maxwell’s model is composed of a spring and a dashpot in series. written as 1 1 + E Cs Es s + E/C −1 ε= where = σ (1.2 Simple rheological models The classical approach in rheology is to represent the stress/strain relation as a series of springs and viscous dashpots. E E C E(1+jη) C E1 C1 E0 (a) (b) (c) (d) Figure 1. is composed of a spring and a dashpot in parallel. (b) vicous damping (Kelvin-Voigt’s model).

6) Figure 1. (d) standard viscoelastic solid The structural damping model approximate the modulus by a complex constant. This model is characterized a nominal level E0 and 10 .2. This model is generally adapted for materials with load damping (metals.). (c) structural damping. The viscous damping model is unrealistic because the loss factor goes to infinity at high frequency (there deformation locking). concrete. Maxwell’s model is only valid in the high frequency range since it’s static stiffness is zero.4 shows the frequency domain properties of these models. (b) vicous damping (Kelvin-Voigt’s model).. Although it does not represent accurately any viscoleatic material. it leads to a good approximation when the global behavior of the structure is not very sensitive to the evolutions of the complex modulus with frequency.7) E1 C1 s E1 + C1 s 1 + s/p leading to a time domain representation σ(s) = E0 + E1 σ(t) + C1 σ(t) = E0 ε + E1 C1 ε ˙ ˙ (1. .. such as the one shown in figure 1. maximum dissipation at the point of highest slope of the real part of the modulus.1 Modeling viscoelastic materials characterized by constant storage moduli and loss factors E(s) = E0 (1 + jη) The standard viscoelastic solid has a constitutive law given by E0 E1 + (E0 + E1 )C1 s 1 −1 1 + s/z 1 ε= + ε = E0 ε (1.8) (1. a b c d Re(E) η 1 2 3 4 1 10 10 10 Frequency 10 10 10 2 10 Frequency 3 10 4 Figure 1. The standard viscoelastic model has the main characteristics of real materials : low and high frequency assymptotes.4: Complex modulus associated to standard models: (a) Maxwell’s model.

-) of ISD112 (+) overlaid with a 3 parameter model Loss factor 11 . The parameters of the standard viscoelastic model where chosen to match the low and high frequency assymptote and the frequency of the maximum in the loss factor.10) η + 1 + η2 giving the inflexion point where the modulus starts to augment.two pairs of related quantities: a pole p = E1 /C1 = ω η + where the modulus flattens out.11) 2 pz 2 E0 (E0 + E1 ) and the frequency where is maximum is reached (between the pole and the zero) E1 E0 √ (1.. and a zero ω (1. 200 Storage modulus (dB) 5 1 + η2 . This is consistent with the fact that materials that dissipate well also have storage moduli that are strongly frequency dependent. These limitations have motivated the introduction of more complex models detailed in the following sections. (1.9) 150 100 0 10 10 1 10 2 10 Frequency 3 10 4 10 5 0 6 10 Figure 1.12) ω = pz = C1 E0 + E1 z = (E0 E1 )/((E0 + E1 )C1 ) = The maximum loss factor is higher when the pole and zero are well separated and the low and high frequency moduly differ. Figure 1.5 illustrates problems encountered with three parameter models. One clearly sees that the slope is not accurately represented and more importantly that the loss factor maximum and evolution in frequency are incorrect.5: E amplitude (—) and loss factor (. or the maximum loss factor (p − z) 1 E1 η= √ = (1.

3 will models using particular representations of the modulus of order 2 (so called GHM models for Golla.2.2. 8]).3 High order rational models The first generalization is the introduction of higher order models in the form of rationnal fractions. each representation may have advantages when posing equations for implementation in a numerical solver. 7. This section will also show how these models correspond to the formalism of materials with internal states that are commonly used in non linear mechanics.6: Examples of generalized damping models (a) Kelvin’s chain.13) are just a few of various equivalent representations. 12 . (b) generalized Maxwell model Figure 1. decompositions in products of first order polynomials giving poles and zeros. For example. (a) (b) Figure 1. Hower. sums of low order fractions n n 1+ E(s) = E0 1+ i=1 i=1 n βi (s) i (s − zi ) = E∞ i=1 n (s − λi ) i=1 = E0 + αi (s) i Ei s s + Ei /Ci i=1 n (1. All classical representations of rational fractions have been considered in the litterature. Maxwells generalized model introduces a pole (λj = Ej /Cj . Thus. Hughes. The physical meaning of each representation is identical. McTavish [4. associated to settling time τj = Cj /Ej ) and high frequency stiffness Ej for each spring/dashpot branch. fractions of high order polynomials. section 2.1 Modeling viscoelastic materials 1. 5]) and order 1 (so called ADF models for Anelastic Displacement Field [6.6 shows two classical representations.

4). the modulus slope at a given frequency s = iω is directly caracterized by the position of poles and zeros in the complex plane (see Bode diagram building rules in any course in controls [9]). A four parameter model is thus proposed in [10] Emin − Emax E(s) = Emax + (1.14) 1 + (s/ω)α where the high Emax and low Emin frequency moduli are readily determined and the ω and α coefficients are used to match the frequency of the maximum loss factor and its value. To formulate constant matrix models one is however bound to use rational exponents (voir section 2. This motivated the use of fractional derivatives described in the next section. The modulus slopes found in true materials are generally such that it is necessary to introduce many poles to accurately approximate experimental measurements.2.3. prestress. the complex modulus depends not only of frequency but also of other environmental factors such as temperature. Properties of this model are detailed in [2]. [11] a recent analysis of the thermomechanical properties of fractional derivative models as well as a fairly complete bibliography. The following sections discuss these factors and the representation in contitutive laws. At various temperatures. One can of course use higher order fractional derivative models. 1. In particular.2. [2].4 Fractional derivative models The use of non integer fractions of s allows a frequency domain representation with an arbitrary slope. these materials typically 13 . 1. One will find in Ref.1 Influence of temperature Temperature is the environmental factor that has the most influence on viscoelastic material characteristics.Rational fractions have a number of well known properties. The main difficulty is that their time representation involves a convolution product. The main interest of fractional derivative models is to allow fairly good approximations of realistic material behavior with a low number of parameters. etc.3 Environmental factors For usual damping materials. 1.

Material deformations are then small. In the rubberlike region storage modulus and loss factor are both characterized by relatively small values and low temperature dependence. In the first region. (b) transition.7: glassy.1 Modeling viscoelastic materials have four different regions shown in figure 1. (c) rubberlike. The loss factor is very small and diminishes with temperature. the material in its vitrous state is characterized by a storage modulus that reaches its maximum value and has low variations with temperature. rubberlike and fluid. The associated temperature is called transition temperature. This region is rarely considered because of it’s inherent instability. one typically uses viscoelastic materials in the transition 14 . For polymer blends. Regions : (a) vitrous. Typically the maximum corresponds to the point of maximum slope for the storage modulus. Depending on the considered material. transition. (d) fluid. The transition region is characterized by a modulus decreasing with temperature and a loss factor peaking in the midle of the region. (a) (b) (c) (d) Module de stockage E et facteur de perte η η E Température Figure 1.7: Evolution of complex modulus with temperature at a fixed frequency. Note that this can be confusingsince the transition temperature depends on the frequency used to generate figure 1. each polymer can be in a different region. associated with low temperatures.7. The fourth region corresponds to a fluid state. the operating temperature can be in any of the four regions. For damping applications.

8 illustrates the existing inverse relation of the effects of temperature and frequency. which have significant advantages. one often finds that by shifting isotherm curves along the frequency axis by a given factor αT . 12] and the curve E is called a master curve. This choice is motivated by the fact that the loss factors presents a maximum in this area. it is not justified. T ) = E(α(T )ω) (1.region. For polymer blends. one often has good supperposition. Various authors have given thermodynamic justifications to the frequency temperature superposition principle.15) The validity of this representation is called the frequency temperature superposition ˆ principle [2. Experimentally. thus allowing an efficient use of the material damping properties. figure 1.8: Variations of ISD 112 modulus in the frequency / temperature domain In the frequency / temperature domain. 15 . x 10 3 Real(E) 2 1 7 60 40 20 0 Temperature C 10 0 10 2 10 4 10 6 Frequency Hz 1 0. This property motivates the introduction of the reduced frequency α(T )ω and a description of the complex modulus under the form ˆ E(ω.5 η 0 60 40 20 0 Temperature C 10 0 10 2 10 4 10 6 Frequency Hz Figure 1. These are limited to unique polymers. xxx figure Gerald xxx.

called WLF equa16 Fréquence (Hz) 1 O .9 • (1) one seeks the intersection P of the horizontal ωj line and the of sloped Tk line. and isotherm lines allowing to read the reduced frequency graphically on the horizontal axis. Various parametric expression have been proposed to model the temperature shift factor αT . • (2) the abscissa of point P gives the reduced frequency ωj αT (Tk )). One thus defines true frequencies on the right vertical axis. Tk . The product ωαT corresponds to an addition on a logarithmic scale.1 Modeling viscoelastic materials 10 10 T2 T1 T0 T1 T2 10 E’ 3 Module de stockage E’ (Pa) [facteur de perte η] 10 [100] 9 3 O 10 2 P x 10 [101 ] 8 10 3 O 1 10 [102 ] 7 2 O η 10 0 10 6 10 2 10 0 10 10 Fréquence réduite ωαT 2 4 10 6 10 8 10 1 Figure 1. The empirical equation of Williams-Landel-Ferry [13]. one reads the nomogram in three step shown in figure 1. For a frequency ωj and a temperature Tk . • (3) the intersection of the vertical line at that reduced frequency with the storage modulus E and loss factor η master curves gives their respective values at ωj .9: Reduced frequency nomogram The superposition principle is used to build a standard representation called nomogram which simplifies the analysis of properties as a function of temperature T and frequency ω.

but the reason is probably only linked to easiness in the determination of parameters.7+∆T) αT=(1+∆T/45.17) − R T T0 where T is the temperature in degree Kelvin. Log(αT ) = On should also cite the αT model based on Arrhenius equation used in thermodynamics to quantify the relation between the rate of a chemical reaction and it’s temperature Ea 1 1 Log(αT ) = (1. 50 40 Facteur de décalage en température Log(αT) Log(αT)=−17.2)−24 Log(αT)=−25∆T/(89. R = 8.4 et C2 = 51.16) C2 + T − T0 is often used.5)−30 30 20 10 0 −10 −40 −30 −20 −10 0 10 Écart de température ∆T=T−T0 (°C) 20 30 40 Figure 1.4∆T/(51.6 are realistic values for many materials with changing T0 but this claims seems mostly unfounded.10 shows typical αT curves and their expression as a function of ∆T (differ17 .6+∆T) αT=(1+∆T/34.314 × 10−3 kJmol−1 K −1 is constant of perfect gaz and Ea corresponds to the activation energy of the reaction.10: Frequency shift factor αT and reduced frequency Figure 1. −C1 (T − T0 ) (1. This relation is less used thant the WLF equation or other models uniquely based on ∆T .tion. Various papers state that C1 = 17.

. The solution preferred here is to simply interpolate between points of an αT table. such non linear studies are thus limited to the rubber like region. are significant and easier to characterize. one can usually adjust parameters of any law to be appropriate. Depending on the experimental setup.). exist for the experimental determination of the complex modulus. One clearly sees that these curves mostly differ in their low temperature behavior. although the supperposition hypothesis may not be as well verified [14]. one will determine the complex modulus 18 . Experimentally.3. Non linear dynamic effects are very hard to characterize since high amplitude variations of the induced strain are typically correlated with significant energy dissipation and thus temperature changes.. In practical applications. The effects are similar to those of temperature although of smaller magnitude. Non linear static effects. The effects of level and temperature changes are then coupled for materials of interest which are typically in thei transition region. 1. With significant experimental precautions. one generally represent the effect of other environmental factors as shift factors [2].1 Modeling viscoelastic materials ence between T and a given reference temperature T0 ). one essentially distinguishes non linear effects (static and dynamic) and history effects (exposition to oil. that is effects linked to a static prestress assumed to be constant. It is known to be essential when considering machinery suspensions or constrained viscoelatic sandwiches where press-forming induced significant pre-stress [14]. high temperatures. vacuum. History effects are generally associated with extreme sollicitations that one seeks to avoid but whos probability of occurrence is non zero.2 Other environment factors Between the other environmental factors influencing the behavior. Only the main test categories will be listed here • traction/compression tests under sinusoidal excitation are used to measure the properties of materials that are sufficiently stiff to allow testing without combination of the material sample with metallic components. 1. As for temperature. this technique has also been applied to films..4 Determining the complex modulus A number of methods and a few standards [15].

This test is more representative of material sollicitation for sandwich structures. while soft ones work in shear in a metal/visco/metal sandwich. the criteria that are used to judge the quality of a constitutive model are the accurate reproduction of experimental complex modulus measurements within 19 . Stiff materials work in traction compression in a free layer. Using changes in the beam/plate dimenstions and temperatures.) are suited for rational fraction models. In other case a non linear optimization is readily implemented using optimization tools available in MATLAB.directly on isofrequencies or isotherms.. • Oberst [16] and sandwich beams are used to determine the properties of a viscoelastic layer glued onto a metalic beam. The frequencytemperature supperposition hypothesis is thus made to create master curves over a wide frequency band. Identification tools developped in control theory (ARMA models. By inverse analysis of analytical [17] or numerical solutions.3). 1. [11] gives an analysis based on the fact that each component of a generalized maxwell model must verify the second principle of thermodynamics and thus be associated with positive stifness and damping coefficients. one determinse the complex modulus at the resonances under the modal damping assumption (see section 2. • shear tests allow the direct determination of the complex modulus of films between two rigid surfaces. It is however difficult to enforce a good reproduction of quantities that are typically judged as important : low and high frequency moduli.. it is difficult to validate the fact that general thermodynamic principles are verified. . modulus caracterization is always performed on fairly narrow frequency bands. It is the only one applicable to test the effect of pre-stress in sandwich structures. Ref. Vibration analysis of the beam gives resonance frequencies and associated damping ratio. In practice. one can obtain a large number of points on the nomogram. Building a test rig with no perturbing modes being quite difficult.5 Conclusion For a given complex modulus... . The next possible step is the determination of the coefficients of an analytical representation.1. maximum loss factor.

1 Modeling viscoelastic materials the tested frequency/temperature range. but extrapolations can be difficult (thin lines are here of poor quality). and the likelihood of extrapoations. 10 Module de Stockage (Pa) 9 10 8 10 7 10 0 10 1 10 2 10 Frequence (Hz) 3 10 4 10 5 1. The following chapters will address difficulties in using these representations for modeling damped structures. rational fractions with a sufficient degree or fractional derivative models. It just happens to be reasonably valid in many cases. 20 .11: Complex modulus of the TA viscoelastic (—) and estimation with a 3 pole model (. Figure 1. accurate representations are either tabulated (our point of view is that this is actually the most practical representation).11 illustrates the fact that with rational fractions one can fairly easily satisfy the first objective (reproduce the modulus in a narrow band in bold).5 0 0 10 10 1 10 2 10 3 10 4 10 5 Figure 1. for the material stand-point..5 Facteur de perte 1 0. one should note that the determination of the complex modulus is often difficult and that the frequency / temperature supperposition principle is an hypothesis. In conclusion.-) whose frequencies are indicated as vertical lines On the other hand.

. . . . . . .1 Complex modes of analytical models . . .3 Model reduction methods .3 Selection of modal damping coefficients . . . . . . . . . . . . . 2. 22 23 25 27 29 29 30 31 33 33 34 35 37 38 40 40 44 . . . .3 Second order models with internal states . . . . . . . . . . .1. .2 Viscoelastic FEM models 2. . 2.1 Mesh convergence and non conformity . 2. .3. . . . . . .2.2 Viscoelastic models . . . 2. . . .3. . . .3. . . . . . .1. . . . . .2 State-space representations . . . . 2. . . . . . . . . . 2. . . . . . .2. . . . . . . . . . . . . . . . . . . . . . . . . 2. . . . . 2. . .3 Spectral decomposition and reduced models . .3. . . 2. . . .4 Equivalent viscous damping . . . 2. 2. .2. . . 2. . . . . . . . . . .2 Real modes and modal damping . .2. . . . . . .1 Viscous and structural damping .5 Case of viscoelastic models . . 2. . . .3. . . . . . . . . . . . .4. . .1 Properties of the damped 1 DOF oscillator . . . . . .4 Meshing of sandwich models . . . .1 Frequency domain representation with variable coefficients . . . . . . . . . . .2 Complex mode eigenvalue problems with constant matrices . . .4 Fractional derivatives . . . . . . 2. . .1. 2. 2. .

Section 2.2 details strategies that can be used to create models with realistic representation of viscoelastic materials. T )] {q(s)} = [b]N ×NA {u(s)}NA×1 (2.1 details the case of models with viscous and structural damping. characterizing spatial localization. and u(s). Section 2.1) {y(s)}NS×1 = [c]NS×N {q(s)}N ×1 where physical loads [b] {u(s)} are decomposed into vectors b. they are more easily accessible and can be used to illustrate the difference in needs when modeling vibration damping in a structure and dissipation in a material.1 Viscous and structural damping In this section one analyses the properties of classical models with viscous and structural damping of the form 22 . The next chapter will focus on numerical techniques used for the resolution. assumed to depend linearly in DOFs q. The objective of this chapter is to introduce equations used to solve viscoelastic problems. 2.2 Viscoelastic FEM models The design of viscoelastic treatments is typically composed of a series of steps which are outlined in this section • definition of dynamic objectives • potential area localization by combination of technological constraints on placement and sensitivity analysis on treatment potential • This chapter analyzes properties of models used to represent damped structures. characterizing time/frequency responses and vector {y} represents outputs (physical quantities to be predicted. In the case of linear viscoelasticity these models have the general form [Z(s.3 deals with issues of spectral decompositions and model reduction which are central to the analysis of the vibratory behavior of damped structures. Although one saw in the last chapter that these models did not allow a correct representation of material behavior over a wide frequency band. Section 2.

3) 23 . One then uses a global behavior model.1. The main results introduced in this section are • properties of the damped oscillator. K(s) Figure 2. M s2 + Cs + K + iD This type of models does not allow a correct representation of the local behavior of damping treatments (constitutive laws detailed in the preceding chapter). it is however often possible to represent the effect of various damping mechanisms by a viscous or structural model. but this does not lower its usefulness. 2. • the conditions of validity of the modal damping assumption which leads to models where the response is decomposed in a sum of independent oscillators.N ×N {q(s)}N ×1 = [Z(s)] {q(s)} = [b]N ×NA {u(s)}NA×1 {y(s)}NS×1 = [c]NS×N {q(s)}N ×1 (2. • techniques used to estimate equivalent viscous damping models. It does not necessarily have a local mechanical meaning.1.2) where matrices are assumed to be constant.1: Oscillator with a viscoelastic stiffness For a viscous damping K(s) = k + cs. At the level of a complete structure.1 Properties of the damped 1 DOF oscillator This section illustrates the properties of the single degree of freedom oscillator with a viscoelastic stiffness shown in figure 2. the load to displacement transfer is given by 1 1/m = ¯ + cs + k (s − λ)(s − λ) Hvisc (s) = ms2 (2.

This is linked to the fact that the real parts of the dynamic stiffness coincide naturally since they are they not (viscous or structural) or little (viscoelastic) influenced by the damping model and the imaginary parts (d) are equal at resonance.7). ¯ the system has a pair of complex poles λ.2 Viscoelastic FEM models whose poles (root of the transfer denominator) λ are λ = −ζωn ± iωd .3). Figure 2. the dynamic flexibilities (a-b) are almost exactly overlaid.5) 2 + cs + k)(ms2 + k(1 + iη)) + k(1 + iη) (ms its pole with a positive imaginary part is identical to that of the viscous model for η = 2ζ (2.3. 24 . ωd = ωn 1 − ζ 2 c ωn = k/m .8) For low damping of the conjugate pair of poles (that is ζ 1) and β and ω in the same frequency range. This equivalence principle is the basis for the Modal Strain Energy (MSE) method that will be detailed in section 2. p and z are close which leads to a small maximum loss factor and a response that is very similar to that of the oscillator with viscous damping (2.4) For structural damping K(s) = k(1 + iη).1. λ and one real pole β 1 + s 1+2ζω/β 1 β H(s) = (2. the load to displacement transfer is given by 1 ikη − cs = Hvisc − (2. The pole with a negative imaginary part is unstable (positive real part) which is a classical limitation of the structural damping model.7) = s 2 + k 1+s/z m(s2 + 2ζωs + ω 2 )(1 + β ) ms 1+s/p and the model caracteristics depend on those poles as follows β β ω2 p= z= k=m 1 + 2ζω 1 + 2ζβ 1 + 2ζω β ω β (2.2 shows that for viscous. ζ = √ 2 km (2. structural and viscoelastic dynamic stiffness models for the oscillator (c).6) which leads to a difference Hη − Hvisc that is zero at resonance ωn . Hη (s) = ms2 For a damper following the 3 parameter law of a standard viscoelastic solid (1.

/H) 10 2 Frequency 10 3 Figure 2.a abs(H) (log) Imag(H) 1 2 3 4 b 10 10 10 Frequency c K(s) 10 −2 −1 0 1 Real(H) 2 x 10 −4 d Imag(1. often used in experimental modal analysis. µj is then called the generalized mass at this DOF.. The other standard scaling.9) associated with elastic properties (sometimes called the underlying conservative problem). and one will assumed that they are scale so as to obtain µj = 1 which greatly simplifies equation writing. In the resulting coor25 .54) with {q} = [T ] {qr } = [φ1 .φN M ] {qr }.2: Low sensitivity of the dynamic flexibility to the damping model (× viscous. The basis of normal modes is classically used to build reduced model by congruent transformation (2. direction) of φj to unity.1. sets one DOF (node.11) There are different standard scaling for normal modes.10) {φj }T [M ] [φk ] = \ µj δjk \ and stiffness {φj }T [M ] [φk ] = \ 2 µj ωj δjk \ (2..2 Real modes and modal damping For an elastic model. + standard viscoelastic) 2. o structural. They verify two orthogonality conditions in mass (2. normal modes are solution of the eigenvalue problem 2 − [M ] {φj } ωj + [K]N ×N {φj }N ×1 = {0}N ×1 (2.

2 Viscoelastic FEM models dinates.13) can be neglected. where [C] = α [M ] + β [K] .15) is thus often used.11) conditions).12) where the approximation is linked to the fact of neglecting coupling terms described by {Fd } = s \ 2ζj ωj \ − φT [Cs + D] [φ] {p} (s) (2. typically called proportional damping. 21] 2 1 0 γ11 γ12 ω1 0 p1 b1 {u(s)} s2 + s+ = (2.10)-(2. one even further restricts the model to viscous damping in principal coordinates since the result can then be integrated in the time domain.17) 2 0 1 γ21 γ22 0 ω2 p2 b2 26 . it is however very unrealistic since 2ωj gives high ω damping ratio for low frequencies ωj and 2j for high frequencies. The modal damping assumption (also called Basile’s hypothesis in French terminology) consists in an approximation of the response where the off-diagonal terms of the damping matrices in principal coordinates are neglected. the mass and stiffness matrices are diagonal ((2. modal damping is an approximation whose validity needs to be understood. Rayleigh damping is thus really inappropriate to accurate damping studies.14) Rayleigh damping [19]. In practice.16) 1 Over a wide frequency band. one should analyze whether the coupling force (2. But this is not the case for the viscous and hysteretic damping matrices T T CT and T T DT . This is a behavior model. To do so. one considers a two DOF sytem [20. When one starts from a local description of dissipation in the materials or interfaces. To validate the domain of validity of this hypothesis. called principal coordinates. (2.13) Damping is exactly modal (Fd = 0) if the matrices C and/or D are linear combinations of products of M and K [18] [C] = αkl [M ]k [K]l (2. that can be easily adjust to predict correct damping levels for two modes since 1 ωj +β 2ωj 2 [ζj ] = α (2. On thus has 2 s2 [I] + s \ 2ζj ωj \ + \ ωj \ {p} (s) = [φ]T {F (s)} + {Fd } (2.

the reasoning developed above remains valid and the error induced by neglecting damping coupling terms is small.3.14) is not verified.4. ζ2 ω2 )/|ω1 − ω2 | 1 Similarly.1.20) 2 2 (s + γ11 s + ω1 )(s2 + γ22 s + ω2 ) The Γ matrix being positive definite.21).from which one determines an expression of the response of mode 1 given by b1 u p1 = (1 + e1 )−1 2 (2. For groups of modes that do no verify condition (2. One the generally talks of non proportional damping since condition (2.3 Selection of modal damping coefficients Modal Strain Energy method The Modal Strain Energy method (MSE [23]) is a classical approximation base on the choice of an equivalent viscous damping coefficient chosen by evaluating the loss factor for a cycle of forced response along a particular real mode shape. Between modes of different groups. the e1 term can be close to 1 and coupling be significant. As we saw 27 . a generalization of the modal damping model is the use of a viscous damping matrix that is non diagonal in principal coordinates. The use of non proportionally damped models will be discussed in section 2.21) min(ζ1 ω1 . that is (2. Thus. 2. one has γ12 γ21 /(γ11 γ22 ) < 1.18) 2 + e2 s + γ11 s + ω1 with γ12 γ21 s2 (2. the validity of the modal damping assumption is thus linked to the frequency separation criterion (2.21) which is more easily verified for small damping levels. is only significant in special cases of closely spaced modes or such that b1 b2 . In practice. the e2 ter. In cases where modal damping is not a good approximation (that is criterion (2. one can still use an assumption of modal damping by block [22] where the off diagonal terms of φj Cφk are considered for j and k in the same group of modes.19) e1 = 2 2 2 (s + γ11 s + ω1 )(s2 + γ22 s + ω2 ) and γ12 sb2 u e2 = 2 (2.21) is not verified). if and only if both factors in the denominator are small simultaneously.

φN M ] {qr }.25) This is typically referred to as a modal solution. transient (SOL112). While the modal strain energy method is typically associated with the modal damping assumption. a plastic spring [21]. the equality of this loss factor with that of the model with modal damping (2.1.24) T (m) {φj } (m) {φj } [K] For non linearities. this is an appropriate choice since it leads to a near perfect superposition of the transfer function for an isolated mode.26) to normalize the using a condition similar to (2. A general approach.25) ηj (ωj ) ζj = (2.27) . dissipation associated with drag in a viscous fluid [24]. Thus using {q} = [T ] {qr } = [φ1 . it is always possible to define pseudo normal modes solutions of 2 ˜ −ωj [M ] + Re (K(ωj )) φj = {0} (2.2 Viscoelastic FEM models for the particular case of section 2. there exists classical results of equivalent damping for dry friction [24.. 21].23) 2 For a model where a viscous and/or structural damping model is associated with each component/element (m). the loss factor of mode j is thus obtained as a weighted sum of loss factors in each component T (m) {φj } + ωj {φj }T [C](m) {φj } (m) {φj } [D] ηj = (2. frequency response (SOL111). is to compute the ratio. For more general viscoelastic models.44) damping ratio at resonance by T ˜ 1 φj [Im(K(ωj ))] ζ(˜ j ) = ω 2 φ T [Re(K(˜ ))] ˜j ωj 28 and to define an equivalent ˜ φj ˜ φj (2. or small impacts [21]. of energy dissipated over an enforced motion cycle qj (t) = {φj } cos(ωt)divided by 2π times the maximum elastic energy associated to that deformation 2π/ω σ(qj ) : ε(qj )dt ˙ 0 ηj (ω) = (2.. that can also be considered for a weakly non linear system.22) T π {φj } [K] {φj } and to impose at each resonance frequency ωj of the elastic problem.1. called loss factor. you will find modal complex eigenvalue (SOL110). leads to a model of the form 2 s2 [I] + [φ]T [Im(Z(s))] [φ] + \ ωj \ {p} (s) = [φ]T {F (s)} + {Fd } (2. In NASTRAN for example. it can be easily extended to account for frequency dependent non diagonal (one says non-proportional) damping matrices.

ζ = 10−3 for a pure metallic component. 2. For the case of fractional derivative models (section 2. one thus uses a damping ratio ζjT est while typically preserving the analysis frequency. section 2. 10−2 for an assembled metallic structure. For eigenvalue computations or time responses on the full model.4).1 shows how the complex dynamic stiffness is built as a weighted sum of constant matrices associated with the various materials. 2.2.2.1 Frequency domain representation with variable coefficients For a structure composed of elastic and viscoelastic materials frequency domain computations only require the knowledge of the complex modulus Ei (s. For frequency response computations.2.Experimental and design damping ratio The other classical approach is to use modal damping ratio determined experimentally.2. Identification techniques of experimental modal analysis [25. For uncorrelated modes. By using the fact that stiffness matrices depend linearly on the constitutive law coefficients. one uses values determined as design criteria. 26] give methods to determine these ratios.2 Viscoelastic models This section details models of structures used to account more precisely for the constitutive behavior of various viscoelastic materials. Each industry typically has rules for how to set these values (for example [27] for nuclear plants).2) or second order models with internal states (section 2.3) allow constant matrix computations. the introduction of state space models (section 2. one can represent the dynamic stiffness of a viscoelastic model as a linear combination of constant matrices (for independent complex moduli in the same material their may be more than one matrix associated to a given material) 29 . T. a few percent in the medium frequency range or a civil engineering structure. Such formulations could be used for frequency domain solutions but they are higher order and the increase in DOF count limits their usefulness. σ0 ) for each material. For correlated modes (when a one to one match between test and analysis is established). only modeshape computations are accessible.2.

The usual technique for time integration of mechanical models is to define a state vector combining displacements and velocities. C. 2. On can store the various M. s)] = M s2 + Ke + iKei + sC + i Ei (s. or store element matrices and reassemble with a weighing coefficient associated with the material property of each element.2 State-space representations One discusses here state space representations associated with analytical representations of the complex modulus discussed in section 1. C observation and D direct feedtrough. σ0 ) Kvi (E0 ) E0 (2. B input.28) at each operating point. State space models are first order differential equations.29) {y (t)} = [C] {x (t)} + [D] {u (t)} The matrices are called : A transfer. When using generalized coordinates. T. leads to matrices M −1 K and M −1 C that are full.2. The first equation is the evolution equation while the second is called the observation equation. Kei .2. s. it is rather inefficient to reassemble Z at each operating point Ei . with the standard form {x (t)} = [A] {x (t)} + [B] {u (t)} ˙ (2. Ke . for a consistent mass. Some authors [28] also prefer this form to define eigenvalue problems but never build the matrices explicitely so that the full matrices are not built. For frequency domain computations. assumed here with constant coefficients. Two solutions can be implemented easily. 30 .2 Viscoelastic FEM models [Z(Ei . leading to a model of the form q ˙ q ¨ 0 I −M −1 K −M −1 C {y(t)} = [cφ 0] q q ˙ q q ˙ 0 M −1 b = + {u(t)} (2.28) This representation is the basis for the development of solvers adapted for structures with viscoelastic materials. Kvi matrices and evaluate the weighted sum (2.3. one can however impose a unit mass matrix and this easily use the model form.30) This model is rarely used as such because M is often singular or.

A classical solution is thus to build a second order model of the form usual in mechanics and thus easily manipulated with a mechanically oriented code. ..                =    0      F   0        (2. ωn M 0 Kvn 0 q sq qv1 . .. one can rewrite (2...3 Second order models with internal states If the state space form is more compact a priori. The implementation of internal states.28) as a state-space model of higher size       M 0 . . .. −M 0 0 Kv1 0 ω1 M 0 .33) 2. M     s+    0 qvn One saw in the previous chapter that real constitutive laws could be represented with rational fractions of relatively high order.) where the strategy for the selection of reduction basis T will be detailed in chapter ??. 0 .2..                       .. the operators available in a given FEM code may make its manipulation more difficult. A rational fraction. can be represented by a sum  first order rational fractions of  E(s) = E∞ −  Ej  s + ωj j=1 E n (2. . 0 0 . 31 . 0 .. . .The other standard representation is the generalized state-space model C M q ˙ K 0 q b + = {u} M 0 q ¨ 0 −M q ˙ 0 (2. 0 0 M .32) j By introducing the intermediate field qvj = − (s+ωj ) q.. . .. One will now introduced generalized state space models for the case of viscoelastic constitutive laws. that does not go to infinity at high frequencies and having distinct poles. .... . This representation is practical only for reduced models (MR = T T M T . En M 0 0  K +E Kvi ∞  e  E1 M    .31) q {y} = c 0 q ˙ which preserves symmetry and allow the definition of simple orthogonality conditions on complex modes.

When using reduced models. 0 .. .32).  .32).34) indeed corresponds to the representation of stress in viscoleastic materials in the form (2.  . s2 +2ζj ωj s+ωj s2 αj  2 + 2ζj ωj s + ωj (2.2 Viscoelastic FEM models however requires the definition of multiple fields at the same node which is not easily implemented in all software packages.37) . The firs row in equation (2. The direct use of matrices assembled following (2. the qv are only non zero for viscoelastic elements. 0 0 .  ..  .  = . the problem does not normally occur since reduced basis vectors are typically non zero over the whole structure and thus lead to non zero internal states.. An alternative is the GHM [30] method which represents the modulus as   n E(s) = E∞ 1 + and defines internal states by qvj = j=1 αj 2 q..  .. The Anelastic Displacement field [29]) method considers a modulus representation of the form (2.    .   + . . .  .   . Kvn En     (2. . the evolution of the internal state is thus given by {qvi } = −ωj {qvi } − Ej {q} ˙ 32 (2. . this formalism is more easily dealt with because the time evolution of internal states can easily be computed by time integration of the relation between the qvi and q. . 0   M 0 . which leads to a model of the  form   0 0 . . In the time domain.35). . En Kvn vn The absence of a mass associated with internal states qvi can lead to problems with certain solvers. . ..36) σ = E∞ ε(q) + E∞ ε(qvi ) i In practice.  .35) One will note that not all rational fractions can be represented in the form (2. . For a model of form (2.. The introduction of qvi fields in the previous section corresponds to the classical thermodynamics theory of materials with augmented potential including internal states.  0 Kv1     2  E1  s  0 0  + s .34) Ke −E∞ Kvi Kv1 . Kvn  q      ω1     Kv 1 0    qv1  F E1 Kv1 . .34) must thus be done with solvers capable of eliminating unused DOFs. .. 0 . .  .     q  ωn 0 0 .. .

3. 2.4 and 2.3. the number of blocs in the state vector being proportional to p.33) or (2. can also be used to represent fractional derivative constitutive laws if one uses non integer but rational derivatives.3 Spectral decomposition and reduced models For an input [b] {u(s)} characterized by the frequency domain characteristics of u(s) and spatial content of b. 2. constant matrix representations are thus limited to small values of p.34) which is simple in the time domain but leads to a non-linear problem in the frequency domain. 33 . This limits practical uses of fractional derivative models to frequency domain response and non-linear eigenvalue computations (see section ??).39) where the state vector will combine fractional derivatives of the displacement sk/p q Ek where k = 1 : 2p − 1 and of the internal state qvk = − (sk/p +ω ) q (see [32] for k example). (2.4 Fractional derivatives The internal state formalism.33).5. • model reduction methods which only seek to approximate the transfer spectrum by projecting the model on bases built using solutions of problems that are simpler to solve than the complex eigenvalue problem.3. These approaches are detailed in sections 2.3.38) k/p + ω s k k=1 and build a state space model of the form {x(s)} s1/p = [A] {x(s)} + [B] {u(s)} (2.1 and 2. component mode synthesis and substructuring methods provide approximations of the solution of problems (2. unless operators are defined implicitely as in Ref [28].2.2). In practice. one will use a modulus of the form p Ek E(s) = Emax − (2. For a common denominator p. or (2.which can be easily integrated (this approach is used in ABAQUS [31] for example).3.34). one should distinguish • exact spectral decompositions using complex modes as treated in ections 2.3. 2.2. For damped problems. This formalism corresponds to the separate treatment of bloc rows in (2.

it is desirable to use αj = 1 which si the usual scaling for constant matrix eigenvalue problems described in the next section. As a result.3.44) ∂s To simplify writting.41) which defines the generalized non linear eigenvalue problem associated with a viscelastic model.45) where the [c] [Z(0)]−1 [b] terms correspond to the exact static response to loads associated with the input shape matrix b. in the frequency domain. In the very general case where complex moduli are supposed to be analytic functions in the complex plane (locally regular).3. 34 .1 Complex modes of analytical models All the problems that where introduced earlier can. near an isolated pole λj one has {ψjD } {ψjG }T (2. one obtains a first order development in s T s {cψjD } ψjG b + [c] [Z(0)]−1 [b] λj s − λj (2. singularities) of H(s) correspond to non zero solutions of [Z(λj )] {ψjD } = {0} and {ψjG }T [Z(λj )] = {0} (2. analytic functions have a unique Laurent’s development +∞ ak 1 f (s)(s − λ)k+1 ds avec ak = f (z) = (s − λ)k 2πi γ k=−∞ where γ is a abitrary closed direct contour of the singularity λ.2 Viscoelastic FEM models 2. Having determined the set of poles in a given frequency band.42) H(s) = [c] [Z(s)]−1 [b] = j (2.41) and is determined by ∂ [Z(s)] αj = {ψjG }T {ψjD } (2.43) + O(1) [Z(s)]−1 = αj (s − λj ) where the normalization coefficient αj depends on the choice of a norm when solving (2. the poles (i. Observation and input matrices c and b being constant.40) which involve the inverse of the dynamic stiffness Z(s). This static correction term is well known in component mode synthesis applications and is analyzed in section 2. Near a given pole. the dynamic stiffness Z(s) is also an analytic function. having normalized the associated modes so that αj = 1.e.3. be represented as frequency response computations of the form {y(s)} = [H(s)] {u(s)} = [c] {q(s)} = [c] [Z(s)]−1 [b] {u(s)} (2.

The viscoleastic behavior leads to one real pole β.41) is difficult (see section ??).8). one should distinguish complex poles associated with vibration modes and real poles which can be related with a damping ratio above 1 (supercritical damping that is not common) or to material relaxation (be linked to poles of the complex modulus).47) is equivalent to the verification of two orthonormality conditions C M [θ]T [θ] = ψ T Cψ + Λψ T M ψ + ψ T M ψΛ = \I \ 2N M 0 (2.49) K 0 T T Kψ − Λψ T M ψΛ \Λ [θ] [θ] = ψ =− \ 2N 0 −M For a model represented in is state space form.34). For models with viscous and structural damping (2.3.2) or viscoelastic models of form (2. (2. one can show that ψj {θj } = ψ j λj and one thus gives the name complex mode both to θj and ψj . Solution algorithms are thus greatly simplified by restating the problem as a classical first order eigenvalue problem with constant matrices.46) 2. To understand this distinction one considers the viscoelastic oscillator (2. such as (2.2 Complex mode eigenvalue problems with constant matrices The solution of the non linear eigenvalue problem (2.It is often useful to consider a representation using residual flexibility   2N M cψ ψ T b 2N M {cψ } ψ T b jD jG jD jG −1 −1  + [c] [Z(0)] [b] − H(s) = [c] [Z(s)] [b] = s − λj −λj j=1 j=1 (2. that is C M K 0 (2.51) In the complex plane. one solves the left and right eigenvalue problems ([E] λj + [A]) {θjD } = {0} et {θjG }T ([E] λj + [A]) = {0} (2.50) and uses standard orthonormality conditions {ψjG } [E] {θkD } = δjk et {ψjG } [A] {θkD } = −λj δjk (2.48) The existence of 2N eigenvectors that diagonalize the matrices of (2.47) λj + {θj } = {0} M 0 0 −M Because of the block form of this problem.33). whereas 35 . on thus generally solves the eigenvalue problem associated with (2.31).

being the Fourier transform of a real valued relaxation func¯ tion. In practice.3: Poles of a viscoelastic beam in traction It is important to note that the number of real poles is directly associated with the number of DOFs in the internal states qv . This selection of convergence area is the an aspect that needs to be accounted for in the development of partial eigenvalue solvers for damped problems.5 1 1. For response synthesis. Orthogonality conditions given above correspond to the αj = 1 normalization. One must thus distinguish the classical spectrum of vibration modes and the real poles associated with material relaxation 0 2000 Re(λ) 4000 Relaxation 6000 8000 10000 2 Vibration 1. only poles with positive imaginary parts have a meaning. The complex modulus.43) and (2. one thus cannot expect to compute the real poles and associated modes in the area of relaxation poles. should be symmetric in frequency (E(−ω) = E(ω)). as is the case of structural damping. The computation of complex modes can be used to approach transfer functions using the developments (2. For a modulus representation that does not verify this hypothesis.5 x 10 2 4 Figure 2.52) In a viscoelastic computation where the constitutive law contains real poles the root locus of the solution is similar to that shown in figure 2. The number of these poles will the increase with mesh refinement.45).2 Viscoelastic FEM models supercritical damping corresponds to ζ > 1 and leads to two real poles λ = −ζω ± ω ζ 2 − 1 (2.5 0 Im(λ) 0. 36 . one will ¯ ¯ thus take the conjugates λj . A second consequence of the increase in the number of real poles is the potential impossibility to compute modes with supercritical damping. ψj of modes computed with positive imaginary parts.3.5 1 0. The author’s experience is that this limitation is mostly theoretical since in practice modes with supercritical damping are rare.

. 37 .) seek an approximate solution within a restricted subspace. component mode synthesis.56) −1 φ1:N M.55) For component mode synthesis (component model reduction to prior to a coupled system prediction). Transfer functions are the approximated by [H(s)] = [c] (Z(s))−1 [b] ≈ [cT ] T T Z(s)T −1 TTb (2. . One says that the transfer functions are objective quantities (they are physical quantities that are uniquely defined) while DOFs q are generally not objective. • bases containing static displacements associated with displacement enforced on an interface and fixed interface modes 0 I [T ] = (2. . free modes have been used by [34]. substructuring.3 Model reduction methods To simulate the dynamic response it is not useful and rarely possible from a numerical cost standpoint to use the full model (2. the use of static terms only is called Guyan condensation [36]. φN M ] [K]−1 [b] − [c] {φj } {φj }T [b]  2 ωj  (2.c Kcc Kci For CMS. Model reduction methods (modal analysis. Classical bases used for model reduction combine modes and static responses to characteristic loads [33].1) whos projection on the one the dual subspace is zero (this congruent transformation corresponds to a Ritz-Galerkin analysis). MacNeal [35].54) One can note that for a non-singular transformation T (when {q} = [T ] {qR } is bijective) the input u / output y relation is preserved. and many others. On distinguishes • bases containing free modes and static responses to applied loads {b}   NR j=1 [T ] = [φ1 .2) for direct time simulations (see section ??). .. Adding fixed interface modes leads to the Craig Bampton method [37].53) and seek solution of (2.3.2. One thus assumes {q}N ×1 = [T ]N ×N R {qR }N R×1 TT (2.

Figure 2.4: Transfer function decomposition into modal contributions and residual terms For a real basis reduction. one is thus interested in an approximation of the form −1 T T Tm Z(s)Tm Tm Z(s)Tr [H(s)] ≈ [cT ] TTb (2. it is often possible to compute an equivalent viscous damping model approximating the damped response with good accuracy.55). To build this equivalence. As shown in figure 2.56).4 Equivalent viscous damping Section 2. blocs Tm associated with modes whose resonance is within the frequency band of interest and Tr associated with residual flexibility terms. When dealing with a real basis.3.57) 2. Static correction for the effects of damping loads can then be incorporated. or other. 38 .2 showed that the modal damping assumption was justified under the hypothesis of modal separation (2.1. one is interested in the modal contribution of the first while for the others only the asymptotic contribution counts.21). one distinguishes in reduction bases (2. The first order correction proposed in [38] [T ] = [T0 ] [K]−1 [Kvi [φ1:N M ]] 0 (2.2 Viscoelastic FEM models • damped modes can be considered as elastic models with an external damping load.4. (2.58) T T Tr Z(s)Tm Tr Z(s)Tr T The objective in distinguishing Tm and Tr is to guarantee that Tr Z(s)Tr does not present singularities within the band of interest (it represents residual flexibility not resonances).

62) jk for a characteristic frequency ωjr for diagonal terms (j = k) (ωjr + ωkr )/2 otherwise. which leads to assume √ T Tr ∆Z(iω)Tr ≈ s \ 2ωjr \ (2. the transfer function is approximated by  [H(s)] ≈ [cT ]  \ s2 T + ωjm \ + Tm ∆Z(s)Tm T Tr Z(s)Tm \ s2 T Tm Z(s)Tr T + ωjr \ + Tr ∆Z(s)Tr −1  TTb (2. Furthermore. The validity of this approximation is discussed in [39] where it is shown that building the equivalence in generalized coordinates and using term by term characteristic frequencies is efficient.61) One can easily generalize this approximation by building an equivalent viscous damping matrix by enforcing T Tm ∆Z(iω)Tm = iωΓjk (2. For example one uses ζ = 1/ (2).60) The Modal Strain Energy method (MSE) with damping ratio given by (2. corresponds to the following approximation T Tm ∆Z(s)Tm ≈ s [Γ] = s \ 2ζj ωj \ (2.27). One can always choose bases Tm and Tr so as to diagonalize the reference problem. T For a viscous damping model.63) 39 . the presence of high frequency undamped modes (linked to the ωjr ) induces non physical oscillations since these modes are introduced to approximate low frequency contributions and not high frequency resonances.To validate this hypotheses. it is a simple projection (computation of Tm CTm ). By computing modes in a subspace generated by Tr of the representative elastic problem T 2 T Tr K0 Tr − ωjr Tr M Tr φjr = 0 (2. there is a degree of approximation. damping only has low influence (see the discussion on non proportional damping in section 2. T For coupling terms Tm Z(s)Tr .2) and can thus be neglected.59) one can verify this uncoupling: if ω1r is within the band of interest the decoupling is not verified. For a structural damping model. by writing ∆Z(s) = Z(s) − K − s2 M . one defines a reference elastic problem characterized by 2 a stiffness K0 (one will use K0 = Re(Z(ω0 )) + M ω0 avec ω0 with typically better results for a higher frequency value). T For residual terms Tr ∆Z(s)Tr damping can be neglected for frequency analyses. It is thus good practice to introduce a significant modal damping for residual modes. For transient analyses.1.

28) can be projected. the use of flat elements generates a distinction between layer thicknesses along the element normal he or along the normal at i nodes hn . In other terms.5. Automated layer mesh generation from a selected area of a nominal shell model is a basic need (supported by the fevisco MakeSandwich commands).4 Meshing of sandwich models Two main strategies have been considered to model sandwich structures: building higher order shell models [40] or connecting multiple elements. possibly significantly. the ωjm associated with K0 differ. The main problem with the higher order element approach is that developing good shell elements is very difficult so that most developments for sandwiches will not perform as well as state of the art shell elements. During resolution.46) as detailed in section section ??.2 Viscoelastic FEM models 2.3. The multiple element strategy is also the only available for immediate implementation into industrial FEM software. To properly account for shear effects in the viscoelastic layer. the offsets between the neutral fiber and the shell surface are most of the time essential. let you preserve thickness either at element center or nodes and possibly control the normal 40 . The equivalent viscous damping model building strategy detailed in the previous secT tion cannot be generalized since the real part of Tm ∆Z(s)Tm undergoes significant variations as the storage modulus changes with frequency. Indeed all matrices used in the formulation of the dynamic stiffness (2. Rather than defining offsets for shell elements [41]. this strategy accommodates all possible layer configurations. Advanced options meshing options. for frequencies of the non linear 2 eigenvalue problem Re (K(ωj )) − ωj M {φj } = 0. Figure 2.5 Case of viscoelastic models The reduction is also applicable for viscoelastic models detailed in section 2. the model is smaller since all viscoelastic volume nodes are constrained. State-space or second order representations can be generated by replacing each matrix by its reduced version M by T T M T . For modal synthesis or transient response computations. This reduction form will be used for eigenvalue solvers discussed in section ??. etc. one will thus prefer representations associated with the spectral decomposition (2. Although this generates additional nodes (4 node layers for a single constrained layer model).6 illustrates the fact that for curved shells. rigid links between the shell nodes and the volume element are used here as shown in figure 2. This distinction is important for relatively coarse meshes of press formed i parts (as the floor panel of figure ??).2. 2.

7 shows that the high modulus assymptote is slightly higher for the shell / volume / shell model. Finally there are doubts on how to properly model the through the layer compression stiffness of a very thin viscoelastic layer (this can have significant effects on curved layers). 41 .z Shell Volume Shell Rigid links Sandwich shell FEM Model e h2 e h1 e h3 hn hn hn 1 2 3 Figure 2. For a modulus of the viscoelastic core equal to that of the skins. The idea is to vary the properties of a central volume layer between a very soft modulus and the skin modulus. The figure also shows that damping is optimal sowhere between the low and high modulus values. and acceptable. For a very soft value. the use of a volume element both necessary. because volume element formulations are sensitive to shear locking when considering high aspect ratio (dimensions of the element large compared to thickness). For soft layers. because almost all their energy is associated with shear so that they will not lock in bending [38]. Figure 2. This difficulty can be limited by using volume element with shear locking protection.6: Problems with thickness definitions in shells with significant curvature For stiff layers.7 shows convergence to the assymptotic value of a single skin plate. The demo basic sandwich generates curves for the validation of shell/volume/shell model used to represent constrained layer treatements as first discussed in [38]. Figure 2.5: Shell/volume/shell model for sandwiches map used as a meshing support. one should converge to the frequency of a plate model with thickness equal to the sum of skins + viscoelastic core. figure 2. This is due to shear locking in the very thin volume layer (well known and documented problem that low order volumes cannot represent bending properly). shells are preferred over volumes. because shell elements will typically not correctly represent high shear through the thickness. Note that shear corrections used in some FEM codes to allow bending representation with volumes may have to be turned off to obtain appropriate results.

Figure 3.2 illustrates the validity of a shell/volume model as compared to a single shell based on composite shell theory.7: Constrained layer model validity. 42 .2 Viscoelastic FEM models 2.5 x 1 0 50 100 150 Frequency [Hz] 200 250 300 50 45 Freq (Hz) 40 35 30 25 20 5 10 6 7 8 9 10 10 10 10 G (Mpa) 10 10 Figure 2. For a stanard isoparametric volume. Figure ?? illustrates that the results are nearly identical.5 Damping [%] 2 x 1. a shell/volume model tends to be be to stiff (shear locking associated with bending). provided that volume elements with proper shear locking protection are used.

5 1 0 x 20 40 60 x 80 100 120 Frequency [Hz] 140 160 180 200 30 Shell+volume Laminated plate 25 Freq (Hz) 20 15 10 4 10 10 5 10 6 10 G (Mpa) 7 10 8 10 9 10 10 Figure 2. 43 . there are further unknowns in how the forming process affects the core thickness and material properties. For press formed sandwiches. For a simple folded plate.5 2 1. where the effect of static pre-stress is measured experimentally. The use of multiple element through the viscoelastic layers has also been considered by some authors but the motivation for doing so is not understood. predicting the effects press forming or folding sandwiches is still a very open issue.8: Free layer model validity.9 illustrates how the modal frequencies and energy distribution in the viscoelastic layer are modified if the shear modulus is multiplied by 10 in the fold. [14]. Overall. Such behavior was found in tests and motivated the study in Ref.5 3 2. In particular. figure 2. most materials used for their high damping properties are also very sensitive to static pre-stress.4.5 4 Damping [%] 3. The element degree does not seem critical to obtain accurate predictions of the response.

which are typical of constrained layer treatments.1 Mesh convergence and non conformity As illustrated in figure ?? the dissipation if often localized on a fairly small sub-part of the structure. In such studies the author’s have usually found. (Top) High stiffness viscoelastic in the fold.9: Energy density in the viscoelastic layer of a simple folded sandwich plate. It is thus quite important to validate the accuracy of predictions obtained with various mesh refinements. 41] (and cut optim demo). clearly indicate edge effects. the boundary conditions of each layer has to be considered separately. Figure 2. A final difficulty is to deal properly with boundary conditions of the skin layers. 2. (Bottom) equal stiffness in the fold and elsewhere. This is easily illustrated by the generation of cuts in constraining layers [42.2 Viscoelastic FEM models Figure 2.10 illustrates a convergence study where a constrained layer damping treatment is refined and one compares the strain energy density maps for two levels of refinement. Since differential motion of the skins plays a major role in the effectiveness of the core. The strain energy maps.4. that the distribution of constraints is well predicted and energy fractions (strain energy in the viscoelastic compared to total strain energy in the model) predicted with the fine and coarse meshes do not show 44 .

where loads are transmitted at isolated points with at most one point on a given element of the supporting structure. the problem is very much related to that of the representation of weld spots and strategies that use the underlying shape functions are most effective (see SDT feutilbMpcFromMatch command). Figure 2. When considering free placement of damping devices (see section ??). Comparisons of strain energy maps for two levels of refinement. 45 . For discrete connections.10: Zoom on the refined mesh of a constrained layer damping treatment placed on a volume model.significant differences. one is rapidly faced with the problem of incompatible meshes.

2 Viscoelastic FEM models 46 .

. . . .8 3.6. . . . . . . . .2 3. . 3. . . . . . . . . . . . . . . . . . 3. . . .1 Generation of sandwich models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. . . Sample parametric analysis step by step . . Fluid/structure coupling . . 3. .4. . . . 3.1 3. . . 3. . . 3. . . . . . 3. NASTRAN DMAP routines . . . . .3 Exporting submeshes to NASTRAN . .2 Parametric model generated within NASTRAN (fo by DMAP) . . . .3. . .4. . . . Data structure reference .5. . 3. .1 Dynamic stiffness coefficients zCoefFcn . . . . . . . . . . .4. . . . . . . . . . . .2 Meshing foam fillings .5. . . . Representing viscoelastic materials . . . . . . . .2 Physical point with rotations . . . 3. . 49 49 49 50 51 51 52 52 53 53 56 56 57 57 58 58 set 60 63 63 64 64 67 68 68 68 68 47 . . . . . . . . . . .4 Full and reduced order solution within SDT . . . . . . . . . . . . . . . . . . . .5. . . .2. . 3. . .5 Response post-processing options . . . . .2 Selecting a material for your application . . . . . . . .8. . . .4.3. . . . . . . . . . . .3. . . .1 Introducing your own nomograms . . . . . . . . .3 Input definitions . . . . . . . . Viscoelastic device meshing tools . 3. .9 Viscoelastic modeling tools . . . . . .3 3. . . . . . . . . .3 Toolbox tutorial 3. . . .2 Format reference . . . . . .7 3.6 3. . . . . 3. . . .1 Summary of theory . . . .4. . Validation examples . . . .5 3. . .1 Screw models . . .2. 3. . . . . . . . . . . . .1 Model parameterization . . . . 3. . .4 3. 3. . . . .5. . . . . . .4 Sensor definitions . Advanced connection models . . . . . . . . . . .8. . . . . . . . . . . . . .3 Parametric model from NASTRAN element matrices 3.

68 . .9.1 Validity of free and constrained layer models .3. .

By simply defining an mvisco *.type=’m_visco’.1) 1e6*2*1.35067e+003 49 . 3. Re(G) Im(G) 1 1.m serves as a prototype. mat.2. complex modulus and shift factor tables. mat. mat. mat.1 Viscoelastic modeling tools The viscoelastic modeling tools provide packaged solutions to address the following problems • Generation of sandwich structures • Handling of tabulated and analytical representations of viscoelastic constitutive laws.2 Representing viscoelastic materials 3. • Parameterization of FEM models to allow multiple viscoelastic materials.name=’ISD112 (1993)’.pl.nomo (which will be better documented later).33865e+004 5.72688e+004 3. mat. Please contact SDTools for licensing information. The data structure defines a reference elastic material in mat.pl=[1 fe_mat(’m_elastic’. • Approximate solutions for the viscoelastic response • Vibroacoustic response generation These tools are not distributed with SDT.49 .G=[ % Freq. mat.’SI’.T0=[0].51806e+003 10 2. an finally additional properties stored in mat.49 1500 1e6].unit=’SI’.3.1 Introducing your own nomograms You can introduce your own nomograms in the m visco database.m file (mvisco 3m.

3 Toolbox tutorial 100 1000 10000 1e+005 1e+006 1e+007 1e+008 1e+009 1e+010 1e+011 1e+012 ]; mat.at=[ % T, at -10 1.32885e+007 0 9.16273e+005 10 1.14678e+005 20 2.45660e+004 30 9.00720e+003 40 2.99114e+003 50 1.27940e+003 60 7.10070e+002 70 2.88513e+002 80 1.96644e+002 90 1.37261e+002 100 1.03674e+002 110 6.84906e+001 120 4.66815e+001 ]; mat.nomo={’w’,[-1 0 12],’Eeta’,[4 9 2],’unit’,’SI’, ... ’www’,’www.3m.com’, ... ’file’,’ISD_112_93.png’,’Rect’,[145 35 538 ’type’,’G’}; 3.49390e+004 5.76323e+004 1.03151e+005 2.10295e+005 6.59947e+005 2.06023e+006 5.83327e+006 1.48629e+007 3.25633e+007 6.16925e+007 1.01069e+008 8.25596e+003 1.67974e+004 5.72383e+004 1.79910e+005 6.57567e+005 1.95406e+006 3.57017e+006 5.60247e+006 7.33290e+006 5.40189e+006 2.48077e+006

419], ...

3.2.2

Selecting a material for your application

cf=feplot; m_visco(’database’,cf); % select all materials fecom(’curtabMat’); m_visco(’deffreq’,cf) % set frequencies vector for all the material 50

m_visco(’defT’,cf)

% set temperature vector for all the material

m_visco(’nomo’,cf) % list with all nomograms Freq=stack_get(cf.mdl,’info’,’Freq’,’getdata’); T=stack_get(cf.mdl,’info’,’Range’,’getdata’); Mat=stack_get(cf.mdl,’mat’); m_visco(’nomo’,cf)

3.3

Viscoelastic device meshing tools

3.3.1

Generation of sandwich models

Starting from an undamped structure without treatment, you often want to generate models for viscoelastic patches applied to the structure. This is done using fevisco MakeSandwich commands. Modeling issues associated with this meshing are discussed in section 2.4. For example, the generation of a three layer sandwich with the original layer 0.01 thick (leading to a 0.005 offset), a volume of thickness 0.002, and a second 0.01 thick shell looks like model=femesh(’testquad4 divide 10 12’); model.Elt=feutil(’orient 1 n 0 0 1’,model); sandCom=[’makesandwich shell 0 0 .005 ’ ... ’volume 101 .002 shell 102 -.005 .005’]; treated=’withnode{x>.5 & y>.5}’; model=fevisco(sandCom,model,treated); cf=feplot;cf.model=model;fecom(’colordatamat’); You can also specify normals using a map. model=femesh(’testquad4 divide 3 4’); model.Elt=feutil(’orient 1 n 0 0 1’,model); sandCom=[’makesandwich shell 0 0 .005 volume 101 .2 ’]; % use a normal map that specify the direction of extrusion MAP=feutil(’getnormal map node’,model); MAP.normal(:,1)=2; model=fevisco(sandCom,model,’withnode{x>.5 & y>.5}’,MAP); cf=feplot;cf.model=model;fecom(’;colordatamat;view 1’); 51

3 Toolbox tutorial

3.3.2

Meshing foam fillings

When meshing foam filling of geometrically complex parts, generating a mesh of the part and foam can be difficult. The problem is solved through the following steps 1. mesh the part (usually done in an CAD environment then imported into SDT), and mesh approximate foam volume. 2. define a foam expansion map giving a expansion direction for external nodes of the approximate foam volume. In this phase, one typically defines the connected surface of the foam model, defines normals on this surface and possibly corrects these normals. The result is a vector map structure with field .ID node numbers of connected nodes and .normal giving the associated directions (see fe case map). 3. expand the foam to touch the initial part mesh and generate MPC connections to connect the foam and the underlying mesh. This is done automatically with the ConnectionStickThenSolid command. Example femesh(’reset’); model=femesh(’testubeam’); model=feutil(’objecthexa 101 101’,model, ... [-.3 -.5 0;.6 0 0;0 .8 0;0 0 2.5],3,3,12); cf=feplot(2);cf.model=model;fecom(’colordatamat -alpha.1’) % Build normal MAP for connected foam surface MAP=feutil(’getnormal node MAP’,model.Node, ... feutil([’selelt matid==101 &selface& ’ ... ’withnode {y>-.49 & z>0 & z<2.5}’,model)); % Define the facing elements FacingSurface=’matid 1 & selface & facing >0 0 0 1’; % mo2=fevisco(’ConnectionStickThenSolid’,model,’Foam’,MAP,FacingSurface); cf.model=mo2;fecom(’colordatamat -alpha .3’)

3.3.3

Exporting submeshes to NASTRAN

Once the sandwich model generated it can be exported to NASTRAN. There two typical strategies, rewriting the whole model (using naswrite(’FileName’,model)) or generating an include file. 52

The elements are grouped in non overlapping sets. While the architecture is fully compatible there is no simplified mechanism to parametrize the mass. The full contant matrices M. The fevisco WriteInclude command is meant for that purpose.The second strategy is more adapted when testing multiple viscoelastic configurations since it is more robust at preserving all options of the original file. RBE2 entries connected to the selected elements. 53 . Ke . Ke represents the stiffness of all elements not in any other set. 3. and using the fact that element stiffness depend linearly on the considered moduli.1) By convention. elements.4. indexed m. matrices are stored in the model stack as an ’SE’. Reduced models can be generated with fe2xf direct commands. which is used to decompose the full model matrix in a linear combination.4 Data structure reference 3. s)] = s2 [M ] + [Ke ] + m pm [Kvm ] (3. material and element property cards. one can represent the dynamic stiffness matrix of the parametrized structure as a linear combination of constant matrices [Z(Gm .’zCoef’ viewed in the figure below.’MVR’ entry and information on how to build the coefficients of the linear combination in ’info’. Kvm can be assembled using fevisco MakeModel or are generated within NASTRAN. or with a NASTRAN DMAP step12.1 Dynamic stiffness coefficients zCoefFcn The normal mode of operation is to display your full model in an feplot figure. It lets you select newly meshed viscoelastic parts using any selection (their MatId for example) and generates the NASTRAN bulk containing the associated nodes. The first step is to define a set of parameters.

zCoefFcn to be evaluated to obtain the coefficients.1) for the nominal mass (typically mCoef=[1 0 0 . optimization points. zCoef2:end.w hertz colum) or given explicitly as an argument (the unit is then rad/s)..’zCoef’} cell array.Stack{’info’. see fevisco Range for generation. . When computing a response..val field if it exists) in a local variable par.. Frequencies are either stored in the model using a call of the form model=stack set(model. give • the matrix labels Klab • the values of coefficients in (3.’Freq’.1) for the nominal stiffness K0 • the values or strings . which can be modified with the feplot interface..) are stored as rows of the info. and the current design point (row of ’info’.Range entry. fe2xf zCoef starts by putting frequencies in a local variable w (which by convention is always in rd/s).3 Toolbox tutorial The columns of the cf. Design points (temperatures. The problems handled by fe2xf and computations at multiple frequencies and design points.’Range’ entry or row of its . ]) • the real valued coefficients zCoef0 in (3.4 is then evaluated to generate weighting coefficients zCoef giving 54 .’info’.

mdl..4)={’_visc’}. One defines the ratio of current stiffness to nominal Kvcurrent = par(1) ∗ Kv(nominal) as follows % external to fexf zCoef={’Klab’. you can simply declare it using an AddMat command and use a ’ visc’ entry in the zCoefFcn column (the stack name for the material and the zCoef matrix name must match). %Within fe2xf w=[1:10]’*2*pi.2.Range(jPar. ’Ke’ 0 1 1+i*fe_def(’DefEta’.[1.the weighting needed to assemble the dynamic stiffness matrix (3.’info’. % frequencies in rad/s model.’Constrained 101’.5).’Range’. (s. model=stack_set(model. For such materials one assumes Poisson’s ratio to be real and the considered viscoelastic material to have its stiffness dominated by either shear or compression.model.’zCoef0’.’zCoef’.Stack{’zCoef’}{4.1) zCoef=fe2xf(’zcoef’.cf. the matrix coefficient in (3.Range. end To use a viscoelastic material.zCoef).’Range’.’zCoefFcn’. cf=fevisco(’testplateLoadMV feplot’). ’M’ 1 0 ’-w.{cell(1.500:10:4000. % define material with a unit conversion mat=m_visco(’convert INSI’. cf. where the coefficient par(1) stored in the first column of Range.3)}). For example in a parametric analysis.3]).’mCoef’. model=stack_set(model.^2’.1).Range=stack_get(model.[]).σ At time of computation.’info’. Based on this 55 .mdl = fevisco(’addmat 101’.:)). ’Kv’ 0 1 ’par(1)’}.Stack{’zCoef’}(4.1) is found as GmGm0 0 ) where the reference modulus is found in the cf.model. % MatId for original.m_visco(’database Soundcoat-DYAD609’)).1} fe2xf(’zcoef’.pl entry.Stack{’Constraint 101’}.cf. name of parameter cf..’getdata’). % Third coefficient will use material with name cf.T. for jPar=1:size(model. model=struct(’K’. disp(zCoef) % some work gets done here .’info’.w.mat).

K . .4..kd . sensors. one considers the frequency dependence of either the shear or Young’s modulus.5. For example model.. stores the information needed to compute (3.br . Ke . range (see fevisco Range) .3 Toolbox tutorial assumption.Klab . These matrices should be real and only the combination coefficients should be complex.K field. Kvm . 3.. .Mt . reduced model.. 2 for mass. One normally uses M. In particular the second row describes the type of each matrix in model.. frequencies... parameters.cr input shape matrix for reduced model input shape matrix for reduced model 3.3 for the typical generation procedure). optional static preconditioner (nominally equal to ofact(k0)) use to compute static response based on a known residue DOF definition vector associated with matrices in . This cell array is generated automatically by fevisco MakeModel but can also be built with direct calls to m visco.1) in a data structure (generic type 1 superelement handled by fe super) with the following fields . ) a cell array of matrices giving the constant matrices in (3.Opt Options characterizing the model. as well as the case that contains descriptions for loads. standard model stack where one defines viscoelastic materials (see fevisco AddMat).1). The error associated to neglecting the true variation of other moduli is assumed to be negligible (methodologies to treat cases where this is not true are not addressed here).3 Input definitions Inputs at DOFs are declared as fe case entries. 56 . a cell array giving a labels for matrices in the .K a cell array of data structures describing viscoelastic materials..Mt={m visco(’database ISD112’)}.K (1 for stiffness. .2 Format reference A viscoelastic model (see section 3.4. zCoef. ..Stack Additional fields used than may be used by reduced models are .DOF .

you may often be interested in redefining your inputs. % reset reduced sensor representation fe_sens(’cr&lab’. you may often be interested in redefining your sensors. MV=fe_case(MV..’Sensors’.data) Sens=fe_case(MV. data=struct(’Node’.’SensStrain’.ones(size(pos. 3.’ShearInLayer’.TR field). This is in particular important to analyze responses on large sensor sets (panel velocities. . and fe sens(’cr&lab’.MV).4 Sensor definitions MV=fevisco(’testplate’).[1.’BasicAtDof’. you can use fe case commands to define your loads.If you have stored full basis vectors when building a reduced model (MVR.1. stresses.’SensDof’.4)’.3)=.cf) to redefine the reduced sensors accordingly (this calls Sens=fe case(’sens’.5 Response post-processing options For a given reduced (or full) model you may want to post-process the computed frequency responses before saving them. and MVR=fe sens(’br&lab’.cf. The list MifDes xxx 57 . MV=fe_case(MV. To do so. MV=fe_case(MV.246]+.cf).Stack{’MVR’} % redefine sensors i1=feutil(’findnode x==0 & z==0 epsl1e-3’. to redefine the reduced inputs accordingly.4.TR field).pos. To do so. [MV.2)=..03).MVR.’dir’.) which would require a lot of storage space if saved at all frequencies.006.Stack{’MVR’} 3.03).’sens’) If you have stored full basis vectors when building a reduced model (MVR.model).5. you can use the fe case commands to set your sensors.cf]=fevisco(’TestPlateLoadMVR’). % Surface velocity ’xxx’ % 4 strain sensors along a line pos=linspace(. pos(:.4.’SensDof’.pos(:.75.cf.1).1)*[1 0 0]).model) to generate the data structure combining the observation equations of all your sensors).i1+.

The PREDIT mat model XXX 58 .’Second area’.’ISD112 (1993)’).’-k ProId 168’. Up = fevisco(’addmat 103’.Up. Up=stack_rm(Up.1). of the initially elastic materials.3 Toolbox tutorial 3.5.’par’.’ISD112 (1993)’). The initial step of all parametric studies is to define the parameter sets.’FrontStruts’.’Top’. model=demosdt(’demoubeam’).1 Model parameterization fevisco handles parametric models with variable stiffness expressed as linear combinations of constant matrices (3. If the parameters correspond to viscoelastic materials.Up. ’par’.’withnode {z>1}’). Up=fevisco(’testplate upreset’).’BackStruts’ . model=fe_case(model.’mat’). Up = fevisco(’addmat 101’. a selection based on ProId. are really viscoelastic.5 Sample parametric analysis step by step 3. END OF SECTION IS NOT FINALIZED For example.’First area’. For all models this can be done using fe case par commands (or upcom ParStack commands for an upcom superelement). model=fe_case(model. one needs to declare which.’-k ProId 304’}. This is done using fevisco AddMat calls which associate particular MatId values with viscoelastic materials selected in the m visco database. Viscoelastic materials are then considered as parameters by fevisco.’par’.

MV=cf. in the PREDIT mat model.Figure 3. one can define each of the 4 squares of viscoelastic materials on the pane as a parameter using ProId cf=feplot(model).mdl. within the Case tab 59 .1: The PREDIT mat model For example. %XXX One can then visualize each parameter using feplot model properties windows.

2 Parametric model generated within NASTRAN (fo by set DMAP) 60 .5.3 Toolbox tutorial 3.

% the model should be displayed in feplot cf. for job specific aspects of the Case Control Section (definition of MPC and SPC for example).edits). % Init NasJobOpt entry to its defa fevisco(’writeStep12 -run’.bdf file (using nas2up WriteSetC commands).mdl). • Define element groups associated with parameters (see section 3. ’SOL 103’ . elements sets will be written in a parameter sets.5. omit the -run. These can be easily checked using feplot (open the Edit:Model properties menu and go to the Case tab).’ If you need to edit the bulk file.’ProModelSave’.’FileName’).4. 61 .cf.cf) fecom(cf.bdf file that contains bulk data information. ’SPC = 1’}. ’GEOMCHECK NONE’. NOTE elements that will be parameterized should have the loss factor of their material set to zero.’’.’info’. do your manual edits.1).’NastranJobEdit’. • Sensors using SensDof case entries. The step12 calls run NASTRAN with the fo by set DMAP where an eigenvalue computation is used to generate a modal basis that is then enriched (so called step 1) before generating a parametric reduced model (step 2).4. ’replace’. model=stack_set(model. or manual editing. Once the job is written. ’SPC = 10’. a RootName bulk.’RootN You can also pre-specify a series of EditBulk entries so that your job can run automatically.The following gives a simple example of a beam separated in two parts. then run the job (for example nas2up(’joball memory=8GB’.mdl=nas2up(’JobOpt’.sel=selection{1. EIGRL and and possibly PARAM cards.2} commands. • Generate through naswrite commands. • Generate the RootName step12.’RootName’. % save your model for reload where the write command edits the nominal job files found in getpref(’FEMLink’. cf.dat file and run the job using cf=feplot. The steps of the procedure are the following • load the initial model into Matlab using a nasread command. see section 3. For example edits={’insert’.’’.

the parametric model returns a B matrix.-1.’ubeam_param. RootName USETT.’Freq’}=[20:2:150]..’ID’. You are now ready to build the reduced parametrized model using cf=feplot.360.01.1.2) i where ηglob is defined in NASTRAN using PARAM.model).’EigOpt’}=[5 20 1e3 11].mat’).model). fevisco(’writeStep12 -write -run’. . This is actually related to the Ke and Kvi matrices by B = ηglob Ke + ηi.mat’).03].mat’).op4 basis vectors defined on DOFs that are needed (sensor and input DOFs).01.’Sensors’. RootName TR.’par’.’dofload’.[1.. % save before MVR is built % you may sometimes need to quit Matlab here if NASTRAN is long cf=feplot(’ProModelLoad’. Here is a complete example of this procedure cd(sdtdef(’tempdir’)). model=demosdt(’demoubeam’). model=fe_case(model.T.’RootName’. cf.G to all elements (the matrix called Kdd in NASTRAN lingo is equal to Ke + i Kvi ) as a result the variable viscoelastic stiffness 62 .cf=feplot. model=nas2up(’JobOpt’.’ubeam_param.model) If the files are not automatically copied from the NASTRAN server machine.’ubeam_param.’ubeam’.’ubeam’. For viscoelastic analysis NASTRAN requests a complex curve T (ω) given as two 1 tables.01]). fecom(’promodelsave’.01. MVR=fevisco(’BuildStep12’. model=fe_case(model.fecom(cf.’Input’.365.[360. NASTRAN applies the PARAM. % save after MVR is built When dealing with a model that would have been treated through a SOL108 (full order direct frequency response).’FileName’).1].G and the loss factors for the viscoelastic parts using the GE values of the respective components. the BuildStep12 -cpfrom makes sure the result file are copied back.’ProModelLoad’.’Top’.100)).241. % reload if you quit matlab fevisco(’BuildStep12’.’withnode {z>1}’). model=fe_case(model.3 Toolbox tutorial • Once the NASTRAN job done.op2 degree of freedom set and info needed to build Case. struct(’DOF’. you should have locally the files RootName mkekvr.nom Kvi (3.[349.’sensdof’.Stack{’info’. % Init NasJobOpt entry to its default cf.cf) fecom(’promodelsave’.’def’.Stack{’info’.op4 (reduced matrices).

MVR = fevisco(’makemodel matid 101 103’.[20:.which are here proportional to G(ω)/Gi.’Freq’.mat a typical script begins with Up=nasread(’UpModel.def).’ISD112 (1993)’).4 Full and reduced order solution within SDT Typically. def=fe_eig(Up.’mat’).’ISD112 (1993)’).nom T = (3.dat which generated UpModel. one starts predictions with the a first order approximation to generate a reduced model MVR which is then used to approximate the frequency response functions Rred % MV=fevisco(’testplate matrix’).5.MVR).Up.3 Parametric model from NASTRAN element matrices An alternative to the step12 procedure Viscoelastic computations are performed on an upcom model typically imported from NASTRAN after a SOL103 (real eigenvalue) run with PARAM.Up. RESP=fe2xf(’directreduced’. % Result in XF(1) 3.op2 and where the upcom superelement is saved in UpModel.POST.5.’BuildO In some cases.nom Re(G(ω)) Im(G(ω)) −1 +i − ηglob Gi. one may want to use reduced basis vectors that are generated by an external code (typically NASTRAN). 3.Up.’Second area’.[6 10 1e3]). given the complex modulus.nom = 1 + iηglob + T (ω)ηi.model).dat’.5:90]’). The problem is then to generate the reduced model MVR without asking fevisco to generate the appropriate basis.nom hence.’info’. the table is given by 1 ηi. Up=stack_rm(Up.zCoefFcn=fevisco(’nastranzCoefv1’. You can simply call the DirectReduced command Up=fevisco(’testplate upreset’).’First area’. 63 .3) Generation of variable coefficients to be used in the toolbox from NASTRAN input is obtained with MVR.-4 to export the element matrices.nom Gi. Up = fevisco(’addmat 103’. Up = fevisco(’addmat 101’. MVR=stack_set(MVR. Thus for a NASTRAN run UpModel.

3 Toolbox tutorial MV=stack_set(MV,’info’,’Freq’,[30:.5:500]’); % Target frequencies Hz MV=stack_set(MV,’info’,’EigOpt’,[6 40 -(2*pi*30)^2 11]); MV.mCoef=[1 0 0]; iiplot [Rred,MVR]=fe2xf(’directfirst zCoef0’,MV); XF(1)=Rred;iiplot % now another temperature (no need to regenerated MVR) MVR.Range=30; XF(2)=fe2xf(’frfzr’,MVR); iicom(’iixeon’); This is a sample direct computation of the viscoelastic response at 3 frequencies. %MV=fevisco(’testplate matrix’); f=stack_get(MV,’info’,’Freq’);MV=stack_set(MV,’info’,’Freq’,f(1:20:end)) [Rfull,def]=fe2xf(’directfull’,MV); XF(2)=Rfull; iicom iixeon Given the reduced model MVR you can then track poles through your parametric range using MVR.Range=[0:10:50]’; Hist=fe2xf(’frfpolesearch’,MVR); fe2xf(’plotpolesearch’,Hist) % Generate standard plot of result

3.6

Fluid/structure coupling

This section illustrates the use of fevisco Fluid commands.

3.6.1

Summary of theory

One considers fluid structure interaction problems of the form [43] M CT 0 Kp q p K(s) −C 0 F q p F ext 0

s2

+

=

(3.4)

with q the displacements of the structure, p the pressure variations in the fluid and F ext the external load applied to the structure, where

64

ΩS

σij (u) ij (δu)dx ⇒ δq T Kq T ΩS ρS u.δudx ⇒ δq M q 1 p δpdx ⇒ δpT F p ρF Ω F 1 pδpdx ⇒ δpT Kp p ρF c 2 Ω F T Σ pδu.ndx ⇒ δq Cp

(3.5)

Full order equations for the coupled problem are impractical. One thus considers model reduction for both the solid and fluid parts of the model. Given a reduction basis Ts for the structure, one builds a reduction basis containing fluid modes within the bandwidth of interest and static corrections for the effects of vectors in Ts . Thus the resulting basis for the fluid model is [Tf ] = φf,1:N M [F ]−1 [C]T [Ts ] (3.6) Similar equations can of course be developed for applications where the fluid is represented using boundary elements [44]. Acoustic stiffness on a loudspeaker The procedure is divided in the following steps: • declare the fluid as a superelement in the structure model. A typical call would take the form [modelS,modelF]=fevisco(’fluidtest’); % this generates demo models cf=feplot(fevisco(’fluidmerge’,modelS,modelF)); fecom(’curtabStack’,’SE:fluid’) cf.sel(1)={’innode {y>=0}& eltname~=SE’,’colordatamat’} Note that the solid model modelF will often be read from NASTRAN as modeshapes (PARAM,POST,-2) or upcom superelement (PARAM,POST,-4). If node numbers in the fluid and solid are coincident, the call automatically shifts fluid node numbers. • assembly of the fluid/structure coupling and fluid matrices with the FluidMatrix command fevisco(’fluidmatrix’,cf, ... ’SelElt selface’, ... % Fluid interface (in fluid SE) ’SelElt EltName quad4’); % Solid interface (in structure) cf.Stack{’fsc’} % see the coupling superelement 65

3 Toolbox tutorial Arguments of the command are – a pointer to the feplot figure containing the solid model and fluid as a superelement – a series of femesh commands that allows the selection of the fluid interface for which a fluid structure propertye is defined. In the example, one selects the fluid (eltname flui) and keeps its exterior boundary (SelFace). If the generation of this interface cannot be performed using a single feutil command, then the element matrix should be provided instead of a selection command. – a selection for the solid interface. In the example, one retains all elements but in practical applications, one will often eliminate parts of the model (weld points, stiffeners, ...). You can again provide the selection as an element matrix. The result is stored as a fsc superelement. It is obtained by estimating translations at the fluid interface nodes trough MPCs (see ConnectionSurface) and strandard integration of the fluid/structure coupling elements. Its DOFs combine DOFs of the solid model and pressure DOFs on the fluid superelement (the MPCs are eliminated). • The final step is to generate a reduced coupled model. This requires defining, applied loads, required sensors, and a modal model structure in vacuum (defined trough its modes def as done here, or a parametric reduced model MVR. You can start by adding additional pressure sensors then use the call

cf.Stack{’fluid’}=stack_set(cf.Stack{’fluid’},’Info’,’EigOpt’,[6 10 -1e3]) cf.mdl=fe_case(cf.mdl,’SensDof’,’Sensors’,[65.01;1.19], ... ’DofLoad’,’Point load’,[65.01]); dsol=fe_eig(modelS,[6 20 1e3]); cf.Stack{’info’,’FluidEta’}=.1; % Fluid loss set to 10 % cf.Stack{’info’,’DefaultZeta’}=.01; % Structure loss set to 2 % fevisco(’fluidMakeReduced’,cf.mdl,dsol); Acoustic loads are not yet considered in this procedure. • Reduced basis computations are then performed using low level fe2xf calls %continuedoc [ci,XF]=iiplot 66

The following parameters are used in those DMAP ViNset ViOut ViSet1 ViIOSET ViShift number of sets defining the element selections type of desired output.cf)..Stack{’curve’.’no fluid’}=fe2xf(’frfzr’. ci..’ExternalEig’.7 NASTRAN DMAP routines The viscoelastic vibration toolbox is distributed with a set of NASTRAN DMAP and sample files that are used to implement some solutions steps within the NASTRAN environment.fe2xf(’frfzr’. iicom(’iixonly’. cf.’).1e-3}.{’coupled’.k.1e-3.1024)’. 1 returns a first order reduced model.dmp associated with sample job file vfirst step and the associated fevisco WriteStep12 and BuildStep12 commands is to generate a first order reduction of a model were parameters are coefficients on the stiffness matrix of elements within a given selection (NASTRAN set).Case). Sets are assumed to be written in sequential order. fo by set The objective of this DMAP (fo by set.Stack{’info’.opt. nas sdtserv This is used to overload basic SDT functionality through NASTRAN calls.cf. ID for set containing the list of nodes that need to be saved for input/output calculations. You must first set local preferences setpref(’SDT’.DOF. % Callback used by fe_eig method 50 ’mode=fevisco(’’nastran eig’’. Frequency shift used to handle cases with rigid body modes.cf)}. By default the shift is the complex double precision number 10.4)={’-w.250. ID for the first set.’coupled’.^2*1e-3’.’no fluid’}) 3. 67 .m.’Freq’}=linspace(10. .model.Stack{’zCoef’}(4:6. ci. 0 returns the full matrices of the linear combination.model.Stack={’curve’.

2 Physical point with rotations This type of connection finds the element a given node is connected to (see feutilb match) and uses shape functions of underlying element to estimate motion at the node. The models used here consider the screw as a a circular beam with diameter equal to that of the hole. One only takes a few nodes on the screw to be masters.1 Screw models Proper representation of screws is a classical difficulty that can be much alleviated using automated procedures. 3. which in terms of loads corresponds to a distribution of loads on a number of nodes.9 Validation examples 3.9. Rotations are determined using local derivatives of the shape functions at the physical point. Rigid screw models use rings of rigid connections.8 Advanced connection models 3.8. 3. The demo cut optim illustrates the classical result that there is an optimal length for a simple constrained layer treatment. and big lumps of model nodes are forced to follow the associated rigid body motion.4. 68 .8.1 Validity of free and constrained layer models The demo basic sandwich generates curves for the validation of shell/volume/shell model used to represent constrained layer treatments as first discussed in section 2. Flexible screw models assume that the responses of the nodes on the beam are dependent on the response of a number of other nodes in the model.3 Toolbox tutorial 3. This dependency is represented as a weighted sum.

69 .2 0.6 0.1 0.7 0.5 Cut position/L 0.3 0.1800 1600 1400 Energy in viscoelastic 1200 1000 800 600 400 200 0 0 0.9 1 Flexion 1 Flexion 2 Torsion 1 Flexion 3 Torsion 2 Figure 3.2: Free layer model validity.8 0.4 0.

3 Toolbox tutorial 70 .

. . . . . . . . . . . .4 Toolbox Reference 4. . .5 fe2xf fevisco m visco. . . . . . . . .3 4. . . . . . . . . . . . . . . . . . . . . . . 72 77 86 91 95 . . . .1 4.4 4. . . mvisco 3m nasread naswrite . . . .2 4. . . . .

frfzr [-file FileName] This command supports direct frequency response computations and post-processing for reduced models. ’svd’. whose dependence on the load is defined by an evolution equation (equation of dynamics in mechanics) [Z(ω)]N ×N {q(ω)}N ×1 = [b]N ×N A {u(ω)}N A (4. Purpose Syntax Description cases = fe2xf(’command’.4.’Freq’. RESP=fe2xf(horzcat(’frfzr -file’.[30:1:500]’). through specification of a ’info’.) and copt contains the options related to the post (see below)..nas2up(’tempname RESP.2) where the y components can be translations.{’frf’.4) [y(ω)]N S = [c]N S×N {q(ω)}N (4.R1. fe2xf provides a fairly large set of response processing options for full and reduced models. This function is part of the viscoelastic tools. rotations.4. strains. The first step of an analysis is to define the input shape matrix b and possibly the inputs u.1) Unit inputs [b] describe the spatial content of loads (see more details in section 3. MVR=stack_set(MVR. post name is the string identifier of the post (’frf’.4..copt}. Cases with enforced displacements require a few additional manipulations discussed in ?? but leads to similar equation forms.[]}). R1=RESP(1).’info’.’info’. The frequency content is described at each frequency by specifying an input {u} or the associated covariance matrix Σuu . normal velocities.. each row describing a response processing with {post name. the response is fully characterized by the response at DOFs {q} (state vector in control theory).xf=abs(R1.case).model.R1). The second step is to define the outputs. . MVR=stack_set(MVR.’MifDes’ entry in the model stack. For example MVR=fevisco(’TestPlateLoadMVR’). For a given input.fe_curve(’plot -fig11 ylog xtight’. . This entry should contain a cell array. Outputs are characterized by a vector {y} that is supposed to be linearly related to DOFs through an observation equation (see more details in section 3.1 fe2xf Direct computation of frequency response functions..’MifDes’.mat’)).MVR).xf). 72 .3).

copt must give a model. .5) • svdu computes the singular values of H weighted by the input level given in {u(ω)} σk ([H(ω)]N S×N A \ u(ω)\ N A×N A ) (4. . (4.K..7) σk ( [H(ω)]N S×N A {u(ω)}N A ) • ener[k.3) N ×N Possibly select inputs and outputs by their indices with copt.zCoefFcn. It must at least contain the following fields . A sensor set is defined by a vector of indices in the cell array copt.6) Possibly select of a subset of singular values with copt.ind.These low level commands are used. to compute FRFs for a frequency/parameter range. .Indices}.in and copt.2). Accepted post-processing options given in an info. Given a FileName results are saved every 30 seconds to allow post-processing during the evaluation.4) (4. • frfu computes the response to specified loads {y}N S = [H(ω)]N S×N A {u(ω)}N A Possibly select outputs by their indices with copt. 73 . The reduced model uses the standard fields used to describe parametric models (see section 3.out. The recovery basis must fit in memory.br. • usvd computes the singular values of {y} = [H] {u(ω)} which corresponds to the quadratic norm of the response. Only vectors {u(ω)} (one load) are supported at this time.ind.out. (4. • mean computes the mean quadratic response of one or multiple sensor sets.cr.group whose each row has the form {SetName.Range.4.MifDes entry • frf computes the transfer function for unit inputs [H(ω)]N S×N A = [c]N S×N [Z]−1 [b]N ×N A (4. given a reduced model. m] computes the strain energy (enerk) or the kinetic energy (enerm) in a selection of elements after recovering the physical displacement to associated DOFs. • svd computes the singular values of H σk ([H(ω)]N S×N A ) Possibly select of a subset of singular values with copt.

ind=find(ismember(MAP.tdof).’Sensors’.Y). MV=fe_case(MV.ID MAP. r2=squeeze(R1(1).mdl). cf.cf) MV=stack_set(MV. {u(ω)}T [H(ω)] {u(ω)} Following example computes a set of responses cf=fevisco(’TestPlateLoadMVR feplot’).:).’Sensors’. MV=fe_case(MV.[]}.MV).Stack{’info’.error(’Mismatch in mean computation’).fe2xf Following example computes the mean quadratic response along the node normals of previous model using the fe2xf function./r2-1)>1e-10.[1:size(tdof.ID(ind).03).8) .mdl. tdof=[MAP.’SensDof’.ID MAP.i1(1:2)+..’setcurve’.’Inputs’.{{’main’.normal].^2.MV).Y).[30:. MAP.end • impe computes the impedance for an input {u(ω)}.03).’Inputs’.i1+.mdl.cf) R1=fe2xf(’frfzr’.03).cf.feutil(’getnode MatId1’. % reset reduced sensor representation fe_sens(’cr&lab’. MV=cf.5:32]’).’remove’. MV=fe_case(MV.normal=MAP.2)).cf) fe_sens(’br&lab’. MV=fe_case(MV. 74 (4.’DofLoad’.cf). and correlates it to FRF as an illustration cf=fevisco(’TestPlateLoadMVR feplot’). MV=cf.ID. % all response i1=feutil(’findnode x==0 & z==0 epsl1e-3’. data. MAP. fe_sens(’br&lab’.’Inputs’.’info’.struct(’group’. fe_sens(’cr&lab’.cf.’Freq’.ID=MAP.mdl. % mean velocit ’frf -vel’.’freq’).Xlab{1}=fe_curve(’datatypecell’. if norm(r1.200*1e-4. % Target frequencies % define the time-dependent load data.mdl=fe_case(cf.i1(1:2)+.X{1}=linspace(0. % compare mean and frf r1=squeeze(mean(abs(R1(2).’input’}).mdl))).201).{’input’.1)]’}}).cf).normal(ind. cf.’Sensors’.’DofLoad’. MAP=feutil(’getnormalnode map’..’MifDes’}={ .’SensDof’. % redefine sensors i1=feutil(’findnode x==0 & z==0 epsl1e-3’. ’mean -vel’.

mo1.’MifDes’.data). If a load is time dependent. 75 . However there is no need to call again fe sens(’br&lab’) if the curve is changed provided that the name of the curve stays the same.mo1. It is assumed that loads and sensors are defined using entries in the model case.’file’.def]=fe2xf(’DirectFull’.’Opt’.[].[].struct(’out’.struct(’ind’. model is a structure array that describes the impedance of the model whose response is to be computed.’svdu’.’set’.MV.model) calls a direct full order complex sparse solver.Y=ones(1. The commands fe sens(’br&lab’) and fe sens(’cr&lab’) are used to compute respectively the reduced load matrix br and the reduced observation matrix cr.2). It is typically generated using the fevisco MakeModel command which describes the fields used by fe2xf direct commands (see section 3.’info’. These commands are illustrated in section 3. and their associated labels.{’frf’.’usvd’.GetData. With no output argument.’wd’.5). mo1.[]. Iter.2).’enerm’.data. % define model selection for energy computation mo1=feutil(’rmfield’.’Stack’).length(data. direct [Full.4.X{1})). [XF. % define responses to be computed MV=stack_set(MV.1. the FRFs are displayed in iiplot.[1:10]}}). Reduced] direct commands are used for direct frequency response computations. DirectFirst zCoef0 generates zCoef0 based on the actual contents of zCoef rather than the values stored in the info:zCoef stack entry.mo1).’input’. the associated curve must be linked to it before calling fe sens(’br&lab’).3.struct(’group’. ’mean -vel’.5.Elt=feutil(’selelt matid103’. % compute responses fe2xf(’frfzr’. ’frf -vel’.First [. ’frfu’. DirectReduced assumes the model already contains a reduced model.cf).zCoef0]. ’svd’. DirectFirst builds a reduction basis containing nominal normal modes and a first order correction for damping effects. MV=fe_curve(MV.{{’all’.[]}). ’enerk’.1:2). ’impe’.5. as illustrated in section 3.struct(’out’. ’frf -acc’.

% To see the modeshapes (should only be used with a small number of points) [hist. given a reduced model. It must at least contain the following fields .4.cr. % indices of target modes hist=fe2xf(’PoleRange’.ind). .K. The pole tracking algorithm assumes that the modeshape is well approximated by the reduction vector with the same index. fe2xf(’plotpolesearch’.1.2). The reduced model uses the standard fields used to describe parametric models (see section 3. section 3.MVR.MVR. zCoef This command is used to generate the weighting coefficients in (3.:) so that the stiffness can be found by setting to zero coefficients of mass matrices in zCoef. One assumes that the mass is defined in the zCoef entry and that matrix types can be found in model.po]=fe2xf(’frfpolesearch’.hist). See also fe2ss. fevisco.Opt(2. to track poles in the same range.w.br.real] This command supports a parametric study on the poles of frequency invariant damped model. .rmodel. .2 76 .def]=fe2xf(’PoleRange’.Range. PoleRange [.fe2xf frfpolesearch [xf.ind). With PoleRangeReal one computes normal modes rather than the default complex modes.zCoefFcn.. ind=1:5.ind) This low level commands is used.4.1).4. more details are given in section 3.

cf. % define material with a unit conversion mat=m_visco(’convert INSI’.] These commands are meant to allow the generation of a coupled fluid/structure model based on a reduced model used for viscoelastic structure predictions (result of a fexf direct command for example).Stack{’zCoef’} cf.4.mat).cf) Fluid [merge..cf). cf. fevisco(’par2visc’. The tag NameForMatId should match that of a parameter in zCoef.makereduced.mdl = fevisco(’addmat 101’.. A complete example is treated in section 3. AddMat. name of parameter cf.modelF).model.’NameForMatId’. The solid and fluid models typically used for viscoelastic studies are described in section 3. % MatId for original. fevisco(’Par2Visc’.Par2Visc model=fevisco(’addmat MatId’.modelS.model).mdl.’Constrained 101’.2 fevisco User interface function for support of viscoelastic materials This function is part of the viscoelastic tools.1.’Range’}=[10 20]’. is used to properly append a viscoelastic material with the given MatId to the model.Material).cf.matrix. Purpose Syntax Description out = fevisco(’command’.Stack{’info’.6. The steps are • add the fluid as a superelement to the solid model mCP=fevisco(’fluidmerge’. .’Freq’}=[500:10:4000]’.Stack{’info’. where sample applications are treated. fe2xf(’zcoef’. 77 .1.m_visco(’database Soundcoat-DYAD609’)).cf) checks the existence of viscoelastic materials associated with matrices and modifies the zCoefFcn entries accordingly cf=fevisco(’testplateLoadMV feplot’).

coup. coup.Node. The MakeModel command generates this model based on a type 3 superelement where parameters are set (see upcom ParStack commands.dflu]=fevisco(’fluidMakeReduced’. which can then be used for predictions with fexf as illustrated in section 3.’matid1 2 3’).fdof describing the coupling matrix. coup.Stack{’FSC’}. Note that the coup matrix can also be imported from an external reference code that often exists in the automotive industry.’matid1001’. The result is stored in the feplot model stack as two assembled superelements which you can access with cf.’SolidInterfaceSelec The fluid interface selection applies to the elements of the fluid superelement renumbered consistently for the combined model. The fevisco(’fluidCheckCon’.Stack{’fluid’} and cf. fevisco(’FluidMatrix’. fluid DOFs to columns.fevisco • assembly of the fluid/structure coupling and fluid matrices with the FluidMatrix command fevisco(’FluidMatrix’.dsol). solid and fluid DOFs.K.K. one then generates a model for parametric studies) or where viscoelastic materials have been properly declared using fevisco addmat commands (note that you can start with parameters and use the par2visc command to declare those parameters to correspond to 78 .4.Elt with the fluid interface as fsc elements and the solid interface as quad4 elements to allow verification of the matching.6. • compute the fluid modes and generate a reduced coupled model [mRCoup. The distance between each coupled fluid node and structural nodes involved in the coupling is computed and the associated links are shown for verification. When built with fevisco one also has coup.cf. Solid DOFs correspond to rows of coup.cf) can be used to check the connectivity of the coupling matrix.cf.sdof.mCP. MakeModel [Matid i] A parametric model is described by a type 1 superelement as detailed in section 3. Feplot fevisco(’feplotEnerK’. ’FluidInterfaceSel’.1.coup) with coup. displays the strain energy of the viscoelastic part of the structure (first selection here MatId 1001) as one object and the rest of the structure (element selection in third argument) as a wireframe.2.

MVR = fevisco(’makemodel matid 101 103’. Range[Vect.Up=cf.5.pl (this is needed to define the reference modulus value. see section 3.edge matrix where each rows gives values of all parameters at a particular design point indices of the parameters that actually change during the experiment connectivity matrix used to define lines connecting different design points of the experiment 79 . uses commands fevisco(’testplate up’).’ISD112 (1993)’).1).param .2) : parameters defined in the case stack and viscoelastic materials defined as mat entries and as elastic materials in MV. These are defined based on the upcom parameter matrix obtained with upcom(’parcoefpar’) where each row describes the acceptable range of a parameter [type cur min max vtype] type is not used here and vtype==2 indicates a logarithmic variation.viscoelastic materials.Face. the selection of a reference E or G is based on the content of mat.Up).Up. You can also parameterize elastic materials using MakeModel MatId i where the additional elastic materials are given by i. See section 3. Up = fevisco(’addmat 101’.4.3.val .CubeEdge. The output is an hcube data structure with fields .’Second area’.cf=feplot.de is used to generate a reduced model.mdl.rand] Range commands generate standard experiments (series of design points) that can then be used to evaluate model properties at these points. The resulting data structure MV contains all the stack entries needed for viscoelastic response computations (see section 3. The example given in section 3.4.Grid.% This is a simple test case Up=stack_rm(Up. If you have a reduced basis in def.3.’mat’).’ISD112 (1993)’). MV = fevisco(’makemodel matid 101 103’.’First area’.Up. Up = fevisco(’addmat 103’.5.nomo.Up.

[0 10]) par=[0 0 -2 1 2. The optional third argument indp is used to enforce variations on a subset of parameters.Up. When used for selected parameters by giving indp.Up.hcube. One then only retains points that are on an edge level elevel defined by the fact that elevel parameters are equal to their minimal or maximal value.par. fevisco(’Rangegrid opt edge elevel’.0 1 . fevisco(’RangeRandopt’.hcube.Up.3:4). b) Classical 2N P factorial plan.Up.indp) generates a uniform grid by dividing the range of each parameter in opt points.par).val 80 .val % Face centers on all parameters hcube=fevisco(’RangeFace 1 2’.fevisco Figure 4. the unused parameters are set to their nominal value. fevisco(’Rangeface 1 2’.indp) generates a uniform grid by dividing the range of each parameter in opt points.[2 3]). Samples calls are as follows hcube=fevisco(’RangeVect 4’.1: Positions of exact mode evaluations in parameter space. % Uniform 3 by 4 grid on parameters 2 and 3 hcube=fevisco(’RangeGrid 3 4’. fevisco(’Rangegrid opt’. a) Hypercube face center.indp) generates a design points at the orthogonal projection of the nominal point (given by par(:.par.2)) on the lower and/or upper faces defined by the parameter range defined by par(:.1 2 0].indp) retains the one dimensional edges of the hypercube defined by parameters selected in indp. ParFace 1 only generates points of faces with minimum parameter values.0 -1 -2 1 2. fevisco(’Rangecubeedge opt’. Face 0 is the nominal point.indp) creates a random experiment on indp with opt design points.

• thickness of volumes. and distances of faces to neutral fiber for shells. For each layer.MAPN).02 0.05 0.05 element normal Figure 4.2: Example of a MakeSandwich command 81 .FEel0. The supporting model can be specified by its nodes and elements as shown above or using a model data structure.05 0.treated. fevisco(’makesandwich (layer generation)’. the makesandwich command specifies • element nature (shell or volume) • desired material property for the meshed layer (for the starting layer use 0).FEnode.MakeSandwich layers Tools for the generation of multi-layer sandwich models. Treated is an optional FindNode command that allows generation of a sandwich for a part of the original model only. one has two distances from the bottom layer to the neutral axis and from the neutral axis to the top layer. original surface SHELL 102 volume 101 SHELL 0 0. For shells.

where elt is the element selection for the sandwich generation.002. The command allows more accurate control of normals used for the sandwich generation.treated).002).01 thick (leading to a 0.model.005 volume 101 . It is then expected that the provided MAP has an MAP.def. By default element normals at the center are used to define thickness.005 . Notes on sandCom format: The first layer uses 0 material property : it means that the original material property of the first layer is used.MAP).elt).001 with an offset of . femesh(’. the generation of a three layer sandwich with the original layer 0.005 offset).elt).node. The last layer is a shell (property 102) with a thickness of .fevisco For example.def) 82 .FEnode.005.treated.FEel0. Offsets are handled using rigid links between the shell neutral fiber and upper/lower surfaces.FEelt]=fevisco(sandCom.FEel0=feutil(’orient 1 n 0 0 1’.linspace(0.FEel0).002 shell 102 -. Nominally the normals are generated using the commands MAPE = feutil(’get normalmap’.testquad4’).node.10).fecom(’colordatamat’).1. You can provide your own maps using with a call of the form fevisco(sandCom. 101 is used and only the thickness need to be specified (.SurfaceSelection) fevisco(’StrainPlot’.01 thick shell looks like femesh(’reset’). smap = fevisco(’StrainMap OffSet’. MAPN = feutil(’get normalmap node’.FEel0. femesh(’divide’. This result can be used for placement. sandCom=’makesandwich shell 0 0 .12)). a volume of thickness 0. femesh(’plotelt’). StrainMap This is an experimental command to compute membrane strains with an offset to a given shell surface.5 & y>. [FEnode. and a second 0.FEnode. treated=’withnode{x>.5}’. For the volume layer.smap. you can also use normals at node by inserting a -node in the command.1.005’.FEnode.opt field where opt(1)==1 leads to sandwich generation with offset at element center (element normal map) and opt(1)==2 uses a normal map at nodes.linspace(0.

’remove’.model.FileName) writes elements.tname). tname=nas2up(’tempname include. TestCantilever generates the model of a cantilevered constrained layer damping treatment.’Drilling’). For example model=fevisco(’testplate’). When called with a selection.OldModel. TestPlate generates the model of a square plate with partial coverage using contrained layer damping on one side and free layer damping on the other side. nodes and properties of NewModel that are not in OldModel.dat’). Usually specific MatId are used to identify materials for the sandwich so that the selection is simply a list of material identifiers (for example ’WriteInclude MatId 1001 1002’). an attempt to select the case information associated with the nodes of the selection is performed. Case entries of the NewModel are also written. 83 . As an alternate format fevisco(’WriteInclude’. fevisco(’writeinclude MatId 101 102’.NewModel. • the elements selected by Selection • the rigid links and other case information connected to the nodes used by these elements • the material and element property information used by the selected elements This command is used to write the bulk for sandwich structures generated by MakeSandwich commands.Test A few test cases are provided with fevisco to allow example documentation. model=fe_case(model. WriteInclude fevisco(’WriteInclude Selection’.model.FileName) is used to generate a NASTRAN bulk with name FileName containing • the associated nodes.

Build] Step12 This command is used to generate parametrized reduced models in one NASTRAN run as detailed in section 3. ceig.model. direct The ceig command supports advanced complex eigenvalue solutions for constant viscous and/or hysteretic damping.7.G for NASTRAN) with proper default handling.fevisco [Write. first use the call fevisco(’NastranEig’) that will set preferences. MVR. fevisco(’nastranEtaGlob’. to start the job and fevisco(’BuildStep12’. To use this capability. HandNomo FileName Displays the bitmap image of a nomogram and guides the user through the process needed to obtain a tabular version suitable for inclusion in m visco. From the command line.zCoefFcn=fevisco(’nastranzCoefv1’.cf.cf. you can use fevisco(’WriteStep12 -run’. The direct command supports various direct frequency response solvers.mdl) to build the parametric model.zCoefFcn to reproduce jobs that would otherwise run as SOL108 with one viscoelastic material. writestep12 command writes the bulk model before starting job. For in Matlab operation you can use the fexf DirectFirst command. With the command modifier -write. It is normally called through fexf where the solvers are documented. NastranEig implements a call to NASTRAN as fe eig method 50.mdl).MVR) builds the proper . The main steps of the procedure are as follows • Rect : define the location of the axis in the bitmap by selecting two of its corners.model) return the global loss factor (known PARAM. It is normally called through fe ceig where the solvers are documented. 84 . NASTRAN Utilities for interfacing with NASTRAN.

Up and down arrow to select a different isotherm. This can then be included in m visco or a mvisco *. Adjust values with your mouse. vV to move the rectangle along -y or +y. Use left and right arrows to select the points and q to exit. section 3. you can press the i key to generate a screen printout of the material. Use left and right arrows to select the points and q to exit. • wlim : click on the text of ytick labels on the right of the axis to define the minimum frequency displayed on the true frequency axis (left y axis) and the min and max values for the reduced frequency (x axis).• Elim : click on the text of ytick labels on the left of the axis to define the modulus range and the maximum axis value for the loss factor range. • at : click on the isotherm that is always generated to enter the isotherm edition mode. See also fexf. check the Elim and wlim values and possibly adjust the axis rectangle using : uU to move the rectangle along -x or +x. • eta click on the green line with circle markers. Left and right arrows to move the offset of the current isotherm.1 85 . • G click on the blue line with circle markers. Adjust values with your mouse. If the isotherm slope is not correct. You can then use the following keys to edit the at values. n to add new isotherm values.m database file. xXyY to resize the rectangle. m visco. At any point during the procedure.

See details under the nomo command.3 m visco.nomo Accepted commands are default.00e+001 Hz 20 C) 86 .02 3. This should include the loss factor Reference name for the material Always set to m visco since this is the material handling function unit system see fe mat convert reference temperature description of the modulus as a function of frequency.G). temperature.at . . or a string that will be evaluated to determine the shift factor. By default.info. or a string that will be evaluated to determine the modulus.unit .dbval Info lists available materials.G=sortrows(mat. This can be a matrix with three columns giving frequencies.pl .type .G Reference elastic properties used for initial model assembly. Purpose Syntax Description out = m_visco(’command’.T0 .m functions in the Matlab search path.database. m visco searches it’s own database and for mvisco *.06 3. sort by modulus 1 or loss factor 2).00e+001 Hz 20 C) ChicagoVitreous-CV325 (E 1. mvisco 3m Material function for support of viscoelastic materials This function is part of the viscoelastic tools.87e+009 Pa e 0. the maximum loss factor and associated modulus and frequency are displayed for the material reference temperature. You can order the list by giving a target (frequency.model). To sort frequencies use mat.4. real and imaginary parts of the modulus. Viscoelastic materials are described by a structure with fields . The mvisco 3m function is given to illustrate the contents of a user database file. This can be a matrix with two columns giving temperature and frequency shift αT .03e+008 Pa e 0. Default gives the first material. description of the frequency shift as a function of temperature. is a cell array containing information need to create the nomogram.name . Thus >> m_visco(’info targ30 20 2’) CorningGlass0010 (G 2.

00e+001 3.18e+004 3.04 1.00e+001 3.08 0.00e+001 3.52e+006 5. Its constitutive law is the characterized by 1 + iωR /z and ωR = ωαT = ω10−c1 ∗(T −T0 )/(c2+T −T0 ) (4.93 0. T0.15 0. etamax.29 1.00e+001 Hz Hz Hz Hz Hz Hz Hz Hz Hz Hz Hz Hz Hz Hz Hz Hz Hz Hz Hz Hz Hz Hz Hz 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 C) C) C) C) C) C) C) C) C) C) C) C) C) C) C) C) C) C) C) C) C) C) C) mat=m visco(’database Name’) tries to find an optimal match for Name in the database and returns the associated material. mat=m visco(’dbval’) is used to generate equivalent elastic materials.04 1.91e+006 3.21e+008 5.60 0.75 0.15e+006 6.35e+008 2.99 1.00e+001 3.00e+001 3.24 0.23e+006 9.13 1.02 1.00e+001 3.00e+001 3.00e+001 3.41 0. wmax.19e+006 1.00e+001 3.90e+006 1.00e+001 3. This is not currently functional. G = G0 87 .51 0.00e+001 3.78e+006 2. The 3ParWLF material is a standard viscoelastic model with WLF type temperature dependence.65 0.00e+001 3. c1.08 0.44 0.Soundcoat-DYAD609 BarryControl-H-326 PolyIsoButene LordCorp-BTR Densil Soundcoat-DYAD606 Smactane 50_2 Smactane 70 BI2F15_Jul03 ISD110 Smactane 50_1 ISD113 3M-468 LordCorp--LD-400 Soundcoat-DYAD601 EAR-C-1002 ISD112 (1993) ISD130 (1999) EAR-C-1105 ISD112 (1999) antiphon-13 EAR-C-2003 EAR-C-1002 (G (G (E (G (G (G (G (? (? (G (E (G (G (G (G (E (? (? (E (? (G (G (G 6.34e+006 Pa Pa Pa Pa Pa Pa Pa Pa Pa Pa Pa Pa Pa Pa Pa Pa Pa Pa Pa Pa Pa Pa Pa e e e e e e e e e e e e e e e e e e e e e e e 0.00e+001 3.00e+001 3.67e+007 5.11 0.99e+006 5.16e+008 8.21e+007 1.52 0.15e+008 9.00e+001 3.22 0.00e+001 3.00e+001 3.95e+005 4.16e+006 2. mat=m visco(’database -unit TM Name’) converts to unit system TM (see fe mat Convert).00e+001 3. c2.00e+001 3.44 0.00e+001 3.60e+007 1.00e+001 3.21e+006 4.51e+007 1.9) 1 + iωR /p The parameters retained to characterize this model are G0.00e+001 3.82 3.46e+007 4.53e+005 4.70 0.

Emax..’SI’. m_visco(’nomo’.4) mat=m_visco(’isd112 (1993)’). gives Wmin. mat=m visco(’nomo -smooth’.’Eeta’.[-20:20:120]}. When this file is in the current directory. For example m_visco(’nomo’.WRmin.[4 8 2].G table that contains raw experimental data that is non smooth.’T’. a shift to MPa is performed in the plot.’type’.nomo are used. nomo The nomo command generates a standard nomogram plot.m visco.mat) will generate a smooth table.’isd112 (1999)’.nomo={’w’. Note that for units in Pa. the nomogram and the bitmap are overlaid. mvisco 3m dispmat m visco(’dispmat’. Eeta w file gives the log10 of Emin. . This allows editing of tabular values as described under fevisco handnomo. If using a mat.’G’.etamax. The following entries in the cell array mat..mat) 88 .WRmax gives the name of the bitmap file used to digitize the nomogram. ’unit’. mat.mat) is used to generate a text display of a viscoelastic material describe by the mat data structure.[-1 0 12].

’Freq’} T=[0:10:50].T(:).T.w.w.Stack{’info’.mat). For example w=logspace(1. The InterpShowRange command generates a standard display giving modulus variations for a given frequency/temperature range. G=m_visco(’interp -unit MM’. interp [.Stack{’info’.showrange] The interp command is used to generate the modulus at arbitrary frequencytemperature design points using calls of the form G=m mvisco(’interp’.mat) where mat can be a data structure or a string matched against the m visco database.3: Nomogram of the ISD112.100).109 102 Temperature −10 120 110 100 90 80 70 60 50 40 30 20 10 10 4 108 10 1 0 103 107 10 0 102 Loss factor Pa 106 10−1 101 105 10 −2 100 104 10 −3 10 −6 10 −4 10 −2 10 0 10 2 10 4 10−1 Figure 4. An optional unit conversion code (see fe mat(’convert’) can be given when needed.’Range’} mat=m_visco(’isd112 (1993)’). 89 . % default : cf. at The at command is used to generate shift factor using calls of the form at=m_visco(’at’.mat) where mat can be a data structure or a string matched against the m visco database.3. This allows the user to validate the usefulness of a particular material for the operating conditions given by this range. % default : cf.-unit SI] [.T.

8 0 Loss factor Re(G) Pa 40 0. m_visco(horzcat(’WriteNastran 101 201’.10. %m_visco(’interp’.w.7 10 6 10 0.T(:). .cf.mat).4 6 0 10 10 Reduced frequency 8 Figure 4.’MatName’) is also acceptable 1 10 7 0.fname).4: Modulus vs.9 30 20 0.m visco. For more details on writting TABLED1 entries see naswrite WriteCurve. WriteNastran This utility is meant to help users generate complex modulus tables for use in NASTRAN.5 30 40 50 10 10 Reduced frequency 6 8 0. m visco.blk’).. 10:10:100. Note that this only supports a single temperature.6 50 10 20 0. section 3.’. frequency and temperature.’isd112 (1993)’).1 90 . type(fname) See also fexf. since NASTRAN does not handle multi dimensional tables. mvisco 3m m_visco(’interp ShowRange’. The command specifies the table identifier (default 1) and file name. fname=horzcat(nas2up(’tempname’). The tables are generated as two TABLED1 bulk entries if only one ID is specified in the command. the real and imaginary parts are written with sequential numbers..

results in the .bdf extension.-i cards.’Command’) The base nasread reads bulk data deck (NASTRAN input). .POST.dat or . The following table gives a partial conversion list.. For an up to date table use nas2up(’convlist’) 91 . This is the most efficient and accurate method to import NASTRAN results for post-processing (visualization with feplot. Available commands are Purpose Syntax Description Bulk file model=nasread(’FileName’.4.. The nas2up extension (part of the FEMLink extension of SDT) allows direct reading of model and result information in OUTPUT2 files generated using NASTRAN PARAM.. SPC. Each row of the bas.f06 text file (no longer supported). Unsupported cards are displayed to let you know what was not read. MPC. and coordinate transformations.’bulk’) reads NASTRAN bulk files for nodes (grid points).) or parameterized model handling with upcom.4 nasread Read results from outputs of the MSC/NASTRAN finite element code.bas output argument contains the description of a coordinate system. SETS.. You can omit the ’bulk’ command when the file name has the . normal model handling with nor2ss. . element description matrix. material and element properties. Use ’BulkNo’ for a file with no BEGIN BULK card. out = nasread(’FileName’. DMIG.

matrix) or NASTRAN header (label) cell array with logical records (tables). matrices and labels. CELAS2. RBAR RBE2 RBE3 CONROD CBAR. DMIG and MPC). OUTPUT2 binary (FEMLink) [model. the are saved OUG(i) entries in the stack (see section ??).out]=nasread(’FileName’. empty (label) Trailer (7 integers) followed by record 3 data if any (for table and matrix). CTRIAR CTRIA6 CQUAD4.’output2’) reads output2 binary output format for tables. The optional out argument is a cell array with fields the following fields . matrix) or label (label) Data block name (table. If deformations are present in the binary file. penta15 tetra4. CBEAM.nasread NASTRAN CELAS1. the result is shown in feplot.data .01 (this has been tested for nodes. NASTRAN Scalar points are treated as standard SDT nodes with the scalar DOF being set to DOF . CQUADR CQUAD8 SDT celas rigid rbe3 in Case bar1 beam1 cbush quad4 mass2 hexa8. With no output argument. CONM2 CHEXA CPENTA CTETRA CTRIA3.trl Header data block name (table. tetra10 tria3 tria6 quad4 quadb Details on properties are given under naswrite WritePLIL.name . matrix (matrix).dname . date (for label) Translation is provided for the following tables 92 . CROD CBUSH CSHEAR CONM1. hexa20 penta6. The output model is a model data structure described in section ??. You can omit the output2 command if the file names end with 2.

When left.op2’). RBE2. def. ’OutOfCoreBufferSize’) is used to determine whether the vectors are left in the file or not. Note : by default deformations are in the SDT global coordinate system (basic in NASTRAN terminology).GLOBAL. You may switch to output in the local (global in NASTRAN terminology) using PARAM.POST.def(:.POST. For model and element matrices use PARAM.. translates constraints (MPC.) to SDT model description matrix with use of GPL and CSTM to obtain nodes in global coordinates reading of element mass (MDICT.-4 or PARAM.NO).BuildOrLoad (FEMLink) A standard use of FEMLink is to import a model including element matrices to be used later with upcom. RROD. This is typically obtained from NASTRAN with PARAM.) as curve entries in the stack (possibly multiple if various outputs are requested. .file=’FileName’. Assuming that you have saved the bulk file and the . then 93 . material property tables transformation of shapes (modes.OUGCORD.OGEOM. SPC) and rigid links (RBAR.POST.. getpref( ’SDT’.POST. Use def.:) to load all.. RBE1. BuildUp.POST.-1.-4 to generate the appropriate . . OMIT. This translation allows direct reading/translation of output generated with NASTRAN PARAM.-5 (see BuildUp command below). When reading deformations.POST commands simply using out=nasread(’FileName.-4. use PARAM.’Output2. tables of element energy tables of element stresses or strains. MELM) and stiffness (KDICT.def=def. static response.GEOM1 GEOM2 GEOM4 GPDT KDICT MPT OUG OEE OES nodes with support for local coordinates and output of nodes in global coordinates elements with translation to SDT model description matrix (see bulk command). You must first run NASTRAN SOL103 with PARAM.op2’).. KELM) matrix dictionaries and transformation of a type 3 superelement handled by upcom. To choose the file name use Up.op2 result in the same directory with the same name (different extension). RBE3. time response.Up=nasread(Up.op2 file (note that you must include the geometry in the file that is not use PARAM. For model and modeshapes.def is a v handle object that lets you access deformations with standard indexing commands.

f06 files is slow and often generates round-off errors. tables with nasread(’F’. You may try reading matrices with nasread(’FileName’. If you have no such constraints. which is now the only supported format.op2’). See also naswrite. It is necessary to read the bulk because linear constraints are not saved in op2 file during the NASTRAN run. .’BuildOrLoad’) % result in global variable Up OUTPUT4 binary out=nasread(’FileName’.’FileName.’matprt’).’vectortype’) Supported vectors are displacement (displacement).mdof]=nasread(’filename’. If you encounter any problem.Up=nasread(Up.mat. ask for a patch which will be provided promptly. you can read the . You should thus consider reading binary OUTPUT2 and OUTPUT4 files. FEMLink 94 . The BuildOrLoad command is used to generate the upcom file on the first run and simply load it if it already exists.blk’.nasread Up=nasread(’FileName. nasread(’FileName.blk’.op2 file to generate a superelement saved in FileName. All double precision matrix types are now supported.’output4’) reads output4 binary output format for matrices.’tabpt’) and real modes with [vector.op2 only with Up=upcom(’load FileName).f06 output (obsolete) ASCII reading in . The result out is a cell array containing matrix names and values stored as Matlab sparse matrices. applied load vector (oload) and grid point stress (gpstress).’buildup’) reads the bulk and .

) naswrite(fid..op4’. You can also provide a handle fid to a file that you opened with fopen. and data.) naswrite(’-newFileName’. if it does not exist. .’command’.’command’.).’-2’}.40. it writes everything possible : nodes.’NEW’. For example edits={’Set’.rootname).5 naswrite Formatted ASCII output to MSC/NASTRAN bulk data deck. elements. 95 .rootname). inserts data after the EndTag. removes a given card. loads.op4’. where InFile and OutFile are file names and edits is a cell array with four columns giving command. BeginTag.1:4)={’set’. .sprintf(’%s_mkekvr. case information (boundary conditions..4.Outfile).41. used to set parameter and assign values. For example naswrite(1.’PARAM’.pl.’’.model) the nominal call. EndTag.elt.’ASSIGN’.’NEW’. .il) naswrite(’FileName’.f0} model naswrite(’FileName’. Use -newFileName to force deletion of an existing file.sprintf(’%s_TR. Warning this does not yet handle multiple line cards..node.’command’.’ ’OUTPUT4’..’DELE edits(end+1. material properties. Accepted commands are Before Insert Remove Set inserts data before the BeginTag.edits..’POST’. naswrite(’FileName’.femesh(’testquad4’)).InFile. fid=1 can be used to have a screen output. f0={’OUTPUT4’. rootname=’my_job’. Most commands are only supported with FEMLink.) naswrite appends its output to the file FileName or creates it.. Calls take the form nas2up(’EditBulk’. Purpose Syntax Description EditBulk Supports bulk file editing. etc.

You can then add these matrices to your model by adding cards of the form K2GG=KAAT to you NASTRAN case.elt You can also write nodes and elements using the low level calls but this will not allow fixes in material/element property numbers or writing of case information. • coordinate systems as CORDi cards if model. where the data is a cell array where each row gives name.Stack. DOF and matrix. 96 . • Fixed DOFs as SPC1 cards if the model case contains FixDof and/or KeepDof entries. FixDof.AutoSPC is ignored if it exists.01) A ’nastran’.’node’.’dmigwrite KAAT’.mdof).’node’.[1:3]’+.Stack see fe curve for the format).naswrite The following information present in model stack is supported • curves as TABLED1 cards if some curves are declared in the model. femesh(’testquad4’) fid=1 % fid=fopen(’FileName’). naswrite(fid. will also be written.FEnode) naswrite(fid. femesh(’reset’). node.’dmig’ entry in model.bas is defined (see basis for the format).rand(3).’dmigwrite NAME’. For example naswrite(1.node.mat.pl.il) is still supported. • Multiple point constraints as MPC cards if the model case contains MPC entries. The obsolete call naswrite(’FileName’.elt.FEnode) %fclose(fid) dmig DMIG writting is supported through calls of the form naswrite(fid.

RunOpt.dat’.BackWd can be used to specify an additional relative directory for the JobCpFrom command.RemoteRelDir can be used to specify the associated input for the JobCpTo command.model). For example nas2up(’joball’.fullfile(fileparts(which(’nasread’)).’RemoteUserHost’.’NASTRANJobHandler’.RunOptions stores text options to be added to the nastran command. RunOpt. ’LocalFileName’. ’RemoteFileName’) fetches files. runs NASTRAN and reads the result wd=sdtdef(’tempdir’). On windows.’/tmp2/nastran’).’NasJobOpt’.data entry in your model stack nas2up(’JobOptReset’) resets the default. nas2up(’JobCpFrom’. RunOpt.’dmap’) You can define a job handler customized to your needs and still use the nas2up calls for portability by defining setpref(’FEMLink’. It is possible provide specific options to your job handler by storing them as a ’info’. nas2up(’JobCpTo’.’scp’). Here is a simple script that generates a model.struct(’RunOptions’. setpref(’FEMLink’.dat’). You are expected to have ssh and scp installed on your computer. setpref(’FEMLink’.’RemoteDir’.’DmapDir’.com’) setpref(’FEMLink’.RemoteFileName).’step12.’ssh’).’RunNastran’.’user@myhost. ’FunctionName You can then run a job using nas2up(’joball’. setpref(’FEMLink’. setpref(’FEMLink’. Any relative directory is ignored for the local directory.’memory=1GB’)). 97 .nas2up(’jobopt’)). ’RemoteRelDir’) puts(copies) files to the remote directory or to fullfile(RemoteDir. nas2up(’joball’.job NASTRAN job handling on a remote server from the Matlab command line is partially supported.’BulkFileName.’BulkFileName. The full remote file name is given by fullfile(RemoteDir.’RemoteShell’. The calling format in various functions that use the job handling facility is then model=stack_set(’info’.dat’. You first need to define your preferences setpref(’FEMLink’.’NasJobOpt’.RemoteRelativeDir) if specified.’CopyFcn’. Additional arguments can be passed to the RunNastran command by simply adding them to the joball command. it is assumed that you have access to these commands using CYGWIN.’nastran’).

[349.’mode.naswrite model=demosdt(’demoubeam-2mat’).bdf’’’.dat’.’Freq’.’File.nas2up(’writecard’.{’kv’.model) (or the equivalent nas2up call when the file is already open as show below) writes loads defined in model (and 98 .dat file fname=’ubeam. ’replace’.bdf’’’. model=stack_set(model.op2’). The optional byte swapping argument can be used to write matrices for use on a computer with another binary format.[20:2:150]).01.fullfile(wd.kv}.’-2’. model=nas2up(’JobOpt’.edits.365. Wop4 Matrix writing to OUTPUT4 format.01.1.’include ’’model.fname. % No Byte Swapping needed nas2up(’wop4’. edits={’Set’.03].100)).’include ’’ubeam. kv=speye(20). For ByteSwap you can also specify ieee-le for little endian (Intel PC) or ieee-be depending on the architecture NASTRAN will be running on. cf=feplot. model=fe_case(model.01.mo1=nasread(’ubeam.’WriteFreqLoad’.-1.’Input’.’POST’. .’EigOpt’)) % generate a job by editing the reference mode.stack_rm(model.type(fname) nas2up(’joball’.’def’.’ubeam.’’.[1 0 0 30].dat’..360.fname)).model).bdf’)].’EIGRL’.’EIGRL’)}. ByteSwap=0.’OutputBinaryType’.’ieee-le’) WriteFreqLoad edits=naswrite(’Target.’’.[1. cd(wd).’info’.1].’dofload’.-1. % write bulk but do not include eigenvalue options naswrite([’-new’ fullfile(wd. ’replace’. You provide a cell array with one matrix per row..ByteSwap).’PARAM’.bdf’.’ijji’.op4’.241. names in first column and matrix in second column.’ID’. nas2up(’editbulk’.’info’. struct(’DOF’. You can ommit specifying ByteSwap at every run by setting setpref(’FEMLink’.model) cg=feplot(4).

-1..1. nas2up(’WriteCurve’.8’).fe_curve(’testsin -id1’.10.end}.fid.’.DOF(1:20)) 99 . . selections={’zone_1’.3000.’Freq’.edits{end}{:}).model.’data’. % display on screen (otherwise use FOPEN to open file) nas2up(’WriteSet’.Uset] Write commands are used to WriteCurve lets you easily generate NASTRAN curve tables.fe_curve(’testexp -id100’.fid. The identifiers for the loads are supposed to be defined as Case. WriteSetC formats the sets for use in the case control section rather than the bulk.selections). nas2up(’WriteSet’.’Exp. edits=nas2up(’writefreqload’.model). The return edits argument is the entry that can be used to insert the associated subcase information in a nominal bulk. WriteSet lets you easily generate NASTRAN node and elements sets associated with node and element selection commands. fid=1.12))). fid=1 % fid=fopen(’FileName’).linspace(0. ’curve’..generated with Load=fe load(model)) as a series of cards.’zone_2’. st=nas2up(’WriteSet’.selections). RLOAD1 to define the loaded DOFs and DAREA for the spatial information about the load.2000..ID fields. FREQ1 for load frequencies. struct(’ID’..linspace(0.’findnode x>. % Main bulk to be modified with EditBulk %fclose(fid) Write[Curve. % Generate a model with sets of point loads model=demosdt(’Demo ubeam dofload noplot’) % Define the desired frequencies for output model=stack_set(model.101.fid.’group 2:3’}.SetC.10)) .’info’.2000.linspace(0. fprintf(’%s\n’.fid.curves) DOF=feutil(’getdof’. TABLED1 for the associated curve.model).Stack{j1.model. WriteUset generates DOFs sets.30))}.’Sine’. . model=demosdt(’demogartfe’).’group 1’. curves={’curve’.pi.model.Set.fid. nas2up(’WriteUset U4’.

If it is a string equal GAUSS. While this command is typically used indirectly while writing a full model. this property is equal to 1 in il. ufwrite 100 . Isop is either a string or an integer. this property is equal to resp. If it is an integer. you may want to access it directly. See also nasread. For example model=demosdt(’demogartfe’). this property is the same in il. Stress is either a string or an integer. In a NASTRAN Bulk file. In a NASTRAN Bulk file. thus for a il row giving [ProID type Coordm In Stress Isop Fctn ] In a NASTRAN Bulk file.1. this property is equal to 1 in il. nas2up(’Writeplil’. 2 or 3 in il. TWO or THREE.naswrite WritePLIL The WritePLIL is used to resolve identifier issues in MatId and ProId (elements in SDT have both a MatId and an ProID while in NASTRAN they only have a ProId with the element property information pointing to material entries). ufread.model). it is equal to 1 in il and elements are read as flui* elements. If it is an integer. The implementation of p solid properties is somewhat different in NASTRAN and SDT. If Fctn is equal to FLUID in the NASTRAN Bulk file. If it is an integer. If it is a string equal FULL. this property is the same in il. In is either a string or an integer. If it is a string equal to resp. this property is the same in il.

AIAA paper 931550-CP. 2101–2109. pp. pp. no. 1951. D. [10] F. 1985.Bibliography [1] J. 2. [5] D. c e e e [2] A. 2666–2676. Bianchini and G. “Time domain modeling of linear viscoelasticity using augmenting thermodynamic fields. Lesieutre and E. Linear Control System Analysis and Design. 1983. pp. Visco´lasticit´. Bianchini. John Wiley and Sons.” J. 117. Vibration Damping. Bianchini. 1994. and experimental techniques. 424–430.” SDM Conference. 1973. Bert. [4] G. 1988. 29. Van Loan. “Finite element modeling of linear viscoelastic structures. Lesieutre.” Journal of Sound and Vibration. MacGraw Hill Book Company. Jones. Johns Hopkins University Press. 1995. Houpis.” SDM Conference. measures. D’Azzo and C. [9] J. “Time domain modeling of linear viscoelasticity using augmenting thermodynamic fields. 101 . 1993. McTavish and P. 1983. sep 1987. pp. Vibration and Acoustics. [8] G. Henderson. 129–153. Paris. [3] C. vol. Schwartzl Physica. Golub and C. Presse des Ponts et Chauss´s. Lesieutre and E. pp. Matrix computations. AIAA paper 94-1652-CP. “Material damping: An introductory review of mathematical models.time domain finite element modeling and experimental results. [7] E. “Viscoelastic constrained-layer damping . Hugues. Nashif.” ASME Biennal Conference on Mechanical Vibration and Noise. Salen¸on. and J. 830–923. [6] G. vol.

” Shock and Vibration Bulletin.” Earthquake Engineering and Structural Dynamics. 1994. pp. 9. E756-98 Standard Test Method for Measuring Vibration-Damping Properties of Materials. “Classical normal modes in damped linear dynamic systems. 2004.” Acustica. 1988. no. KUL Press. 1998. Belgium. 181–194. Ungar. 83–96. 1997.. 1970. [15] American Society for Testing and Materials. 1997. Kergourlay. Ferry. 1959. [20] E. 187– 194. [14] G.-J.” Continuum Mech. 11. vol. Heylen.J. N. Caughey. [24] D. 1997. a e [21] R. Kerwin.” Mechanical Systems and Signal Processing. pp.” ASME. Editions Eyrolles. Mod`les analytiques r´duits et mod`les exp´rimentaux complets en e e e e dynamique des structures. “A replacement of the srss method in seismic analysis. M´moire d’habilitation ` diriger des recherches e a soutenue ` l’Universit´ Pierre et Marie Curie. [13] Zilson. D. 2. Rogers. 1997. C. E. 1981. pp. Modal Analysis Theory and Testing. Ross. S..BIBLIOGRAPHY [11] A. 229–243. Viscoelastic Properties of Polymers. Thermodyn. Lammens. and P. vol. and E. Sas. 51. Leuven. and D. Keinholz. PhD thesis. 1960. “On the thermodynamics of fractional damping elements. Kiureghian. [12] J. vol. pp. Engineering Vibration. “New results on the identification of normal modes from experimental complex modes. Vibrations des Structures. [23] L. 9.. [19] J. Mesure et pr´diction de structures visco´lastiques . Oberst and K. 1952. vol. “The modal strain energy finite element method and its application to damped laminated beams. “Damping of plate flexural vibrations by means of viscoelastic laminates. 2nd ed. of Applied Mechanics. [25] W. vol. Inman. Ecole Centrale de Paris. Rayleigh. [18] T. Wiley. “Uber die d¨mpfung der biegeschwingungen a d¨nner bleche durch festhaftende bel¨ge. Gibert. 269–271. The Theory of Sound. u a [17] D. Prentice-Hall. NY. Frankenfeld. Balmes. Balmes. Johson. [22] E. and Bayo.” ASME J. pp. 1945 (reedition). 2. vol. New-York. 1981. 51. Lion. 102 . Dover Publications.Application e e a ` une enceinte acoustique. ¨ [16] H. Englewood Cliffs. Paris.

“Coupling of substructures for dynamic analyses. 1984.Brazil.” Proceedings of the XI DINAME . “Improved component-mode representation for structural dynamic analysis. 7. Inc. Karlsson. 2101–2109. EDF . 2001. 1313–1319. 581–601. Sorhensen. how to extend component mode synthesis theory. “Modes and regular shapes. 4. “Time domain modeling of linear viscoelasticity using augmenting thermodynamic fields. no. 1985. pp. “Implicit computational solutions of generalized quadratic eigenvalue problems. Guyan. John Wiley and Sons. Plouin and E. Juillet 1988. pp. RCC-G : R`gles de conception et de construction des ˆ e ılots nucl´aires e REP. 52. Bianchini. Hibbit. [30] D. 103 . no. 5.” AIAA Journal. 37. 995–1006. [34] S.. 8. vol. Modal Testing: Theory and Practice. pp. vol. vol. no. 3. “Reduction of mass and stiffness matrices. 799–810. [27] EDF. pp. 1993. New York. AIAA paper 931550-CP.. Craig and M. vol. Balmes. “Fractional calculus . NY. User’s Manual.Ouro Preto . Balmes. Bampton. pp. Inc. March 2005. 1999. 1. Bagley and P. Ewins. Torvik.[26] D. 897–906.” AIAA Journal. [36] R. Komzsik. “Dynamics of viscoelastic structures – a time domain finite element formulation.” AIAA Journal. [35] R. [37] R. Hughes.” Computers and structures.” Journal of Applied Mechanics. vol. 6. MacNeal. [31] ABAQUS/Standard. 1965. vol. 13. Rubin. “A hybrid method of component mode synthesis.Direction de l’Equipement Edition. pp. p.” Finite Elements In Analysis and Design. 1983. [38] A. vol. J. [32] L. pp. pp. 1975. vol. 1971. [33] E. 194–200. 1968.a different approach to the analysis of viscoelastically damped structures.” AIAA Journal. 741–748.MG . 21. Lesieutre and E. [29] G. no. Golla and P.” SDM Conference. 380. “A test validated model of plates with constrained viscoelastic materials. 1. [28] L.” International Modal Analysis Conference.

[44] G. [42] D.” Journal of Sound and Vibration. Markus. Leuven. Mead and S. 163–175.-P. Balmes. September 2000. K. E. Bobillot. 104 . 1167–1174. and D. pp. orthotropic and multilayer plates based on higher order refined theories. Masson. Balmes and A. 319–327.” International Modal Analysis Conference. Clouteau. pp. Balmes. 1969.” Journal of Sound and Vibration. Wiley & Sons 1995. [41] E. pp. Kergourlay. 2001. 223–229. 2. no. “Free vibration of isotropic.. “Model reduction for systems with frequency dependent damping properties.BIBLIOGRAPHY [39] E. 1992. Kant and S. “The forced vibration of a three layer.” International Seminar on Modal Analysis. vol. J. Fluid Structure Interaction. J. 1997.” International Modal Analysis Conference. 2. pp. February 2002. 10. [43] H. “Analysis and design tools for structures damped by viscoelastic materials. 241. vol. Ohayon. “Interface model reduction for efficient fem/bem coupling. Morand and R. no. [40] T. damped sandwich beam with arbitrary boundary conditions.

9 105 . 61 structural. 9 MifDes.Index . 15 step12. 54 FEMLink. 95 Write include.zCoefFcn. 91 hysteretic. 91. 72 NASTRAN. 83 reduced frequency.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->