Contents     Functions     Index     Previous Next     PDF

m_visco, mvisco_3m



Purpose

Material function for support of viscoelastic materials

This function is part of the viscoelastic tools.

Syntax
 out = m_visco('command',model);
Description

Viscoelastic materials are described by a structure with fields



.pl
Reference elastic properties used for initial model assembly. This should include the loss factor
.name Reference name for the material
.type Always set to m_visco since this is the material handling function
.unit unit system see fe_mat convert
.T0 reference temperature
.G description of the modulus as a function of frequency. This can be a matrix with three columns giving frequencies, real and imaginary parts of the modulus, or a string that will be evaluated to determine the modulus. To sort frequencies use mat.G=sortrows(mat.G).
.at description of the frequency shift as a function of temperature. This can be a matrix with two columns giving temperature and frequency shift T, or a string that will be evaluated to determine the shift factor.
.nomo is a cell array containing information need to create the nomogram. See details under the nomo command.

Accepted commands are

default,info,database,dbval

Info lists available materials. Default gives the first material. m_visco searches it's own database and for mvisco_*.m functions in the MATLAB search path. The mvisco_3m function is given to illustrate the contents of a user database file.

By default, 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, temperature, sort by modulus 1 or loss factor 2). Thus
>> m_visco('info targ30 20 2')
     CorningGlass0010   (G 2.87e+009 Pa e 0.02 3.00e+001 Hz 20 C)
ChicagoVitreous-CV325   (E 1.03e+008 Pa e 0.06 3.00e+001 Hz 20 C)
    Soundcoat-DYAD609   (G 6.21e+008 Pa e 0.08 3.00e+001 Hz 20 C)
   BarryControl-H-326   (G 5.90e+006 Pa e 0.08 3.00e+001 Hz 20 C)
        PolyIsoButene   (E 1.15e+006 Pa e 0.11 3.00e+001 Hz 20 C)
         LordCorp-BTR   (G 6.78e+006 Pa e 0.15 3.00e+001 Hz 20 C)
               Densil   (G 2.67e+007 Pa e 0.22 3.00e+001 Hz 20 C)
    Soundcoat-DYAD606   (G 5.16e+008 Pa e 0.24 3.00e+001 Hz 20 C)
        Smactane 50_2   (G 8.21e+006 Pa e 0.41 3.00e+001 Hz 20 C)
          Smactane 70   (? 4.46e+007 Pa e 0.44 3.00e+001 Hz 20 C)
         BI2F15_Jul03   (? 4.91e+006 Pa e 0.44 3.00e+001 Hz 20 C)
               ISD110   (G 3.21e+007 Pa e 0.51 3.00e+001 Hz 20 C)
        Smactane 50_1   (E 1.52e+006 Pa e 0.52 3.00e+001 Hz 20 C)
               ISD113   (G 5.18e+004 Pa e 0.60 3.00e+001 Hz 20 C)
               3M-468   (G 3.95e+005 Pa e 0.65 3.00e+001 Hz 20 C)
     LordCorp--LD-400   (G 4.35e+008 Pa e 0.70 3.00e+001 Hz 20 C)
    Soundcoat-DYAD601   (G 2.23e+006 Pa e 0.75 3.00e+001 Hz 20 C)
           EAR-C-1002   (E 9.99e+006 Pa e 0.93 3.00e+001 Hz 20 C)
        ISD112 (1993)   (? 5.53e+005 Pa e 0.99 3.00e+001 Hz 20 C)
        ISD130 (1999)   (? 4.16e+006 Pa e 1.02 3.00e+001 Hz 20 C)
           EAR-C-1105   (E 2.60e+007 Pa e 1.04 3.00e+001 Hz 20 C)
        ISD112 (1999)   (? 1.19e+006 Pa e 1.04 3.00e+001 Hz 20 C)
          antiphon-13   (G 1.51e+007 Pa e 1.13 3.00e+001 Hz 20 C)
           EAR-C-2003   (G 1.15e+008 Pa e 1.29 3.00e+001 Hz 20 C)
           EAR-C-1002   (G 9.34e+006 Pa e 1.82 3.00e+001 Hz 20 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. This is not currently functional.

The 3ParWLF material is a standard viscoelastic model with WLF type temperature dependence. Its constitutive law is the characterized by
G = G0
1+iR/z
1+iR/p
and R = T = 10-c1 * (T-T0)/(c2+T-T0)     (9.25)
The parameters retained to characterize this model are G0, etamax, wmax, c1, c2, T0.

dispmat

m_visco('dispmat',mat) is used to generate a text display of a viscoelastic material describe by the mat data structure.

nomo

The nomo command generates a standard nomogram plot. The following entries in the cell array mat.nomo are used. If using a mat.G table that contains raw experimental data that is non smooth, mat=m_visco('nomo -smooth',mat) will generate a smooth table.


Eeta gives the log10 of Emin,Emax,etamax. Note that for units in Pa, a shift to MPa is performed in the plot.
w gives Wmin,WRmin,WRmax
file gives the name of the bitmap file used to digitize the nomogram. When this file is in the current directory, the nomogram and the bitmap are overlaid. This allows editing of tabular values as described under fevisco handnomo.

For example
 m_visco('nomo','isd112 (1999)',4)
 mat=m_visco('isd112 (1993)'); 
 mat.nomo={'w',[-1 0 12],'Eeta',[4 8 2],'type','G', ...
  'unit','SI','T',[-20:20:120]};
 m_visco('nomo',mat)


Figure 9.5: Nomogram of the ISD112.


at

The at command is used to generate shift factor using calls of the form
 at=m_visco('at',T,mat) 
where mat can be a data structure or a string matched against the m_visco database.

interp [,-unit SI] [,showrange]

The interp command is used to generate the modulus at arbitrary frequency-temperature design points using calls of the form G=m_mvisco('interp',w,T,mat) where mat can be a data structure or a string matched against the m_visco database.

An optional unit conversion code (see fe_mat('convert') can be given when needed.

The InterpShowRange command generates a standard display giving modulus variations for a given frequency/temperature range. This allows the user to validate the usefulness of a particular material for the operating conditions given by this range. For example
 w=logspace(1,3,100);
 T=[0:10:50];
 mat=m_visco('isd112 (1993)');
 G=m_visco('interp -unit MM',w,T(:),mat);
 m_visco('interp ShowRange',w,T(:),mat);


Figure 9.6: Modulus vs. frequency and temperature.


WriteNastran

This utility is meant to help users generate complex modulus tables for use in NASTRAN. 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. The command specifies the table identifier (default 1) and file name. Note that this only supports a single temperature, since NASTRAN does not handle multi dimensional tables.

For more details on writting TABLED1 entries see naswrite WriteCurve.
 fname=horzcat(nas2up('tempname'),'.blk');
 m_visco(horzcat('WriteNastran 101 201',fname), ...
   10:10:100,10,'isd112 (1993)');
 type(fname)
See also

fe2xf, m_visco, section 6.6



©1991-2007 by SDTools
Previous Up Next