# 4: Materials

## Material Properties

The material types most commonly used in OnScale are:

• Linear Elastic Isotropic (type elas)
• Material properties that are consistent in all axis directions
• Minimum required properties are density, bulk and shear moduli

Example Code:

```matr
type elas
wvsp off
prop epoxy \$density \$bulkmod \$shearmod  ```

Or using wave velocites:

```matr
type elas
wvsp off
prop epoxy \$density \$vellong \$velshear```

Tip: use the wvsp command to allow material to be defined by longitudinal and shear velocities

• Anisotropic - Piezoelectric (type lean
• Material properties are unique in each axis direction.
• Accurate modelling of piezoelectric materials requires the following parameters
• Density
• 6 stiffness [c] or compliance [s] components
• 3 piezo electric stress [e] or strain [d] constants
• 2 dielectric constant [εS]

Tip: By default OnScale accepts: constant stiffness parameters [c]; piezoelectric stress constants [e] and dielectric properties under constant strain [εS]

Example Code:

```matr
type lean
prop pmt3 \$rho
\$c11  \$c12  \$c13  0.0   0.0    0.0   \$c11
\$c13  0.0   0.0   0.0   \$c33   0.0   0.0
0.0   \$c44  0.0   0.0   \$c44   0.0   \$c66

piez pmt3 1 5 \$ex5 2 4 \$ex5 3 1 \$ez1 3 2 \$ez1 3 3 \$ez3
elec pmt3 \$epxx \$epxx \$epzz```

• Nonlinear - Biological (type tisu)
• Nonlinear effects can be supported provided that pressure levels are high enough to initiate them.
• Additional material properties require additional inputs over conventional linear elastic materials:
• B/A - B over A (commonly know for biological materials)
• Maximum pressure cut-off - negative number as compression is negative in OnScale
• Minimum pressure cut-off - set to a large positive number for wave 'steepening'

Example Code:

`matr    wvsp on    type tisu    symb pmax = 2.e6    symb pmaxn = -2.e6    symb ba = 10.0    prop fatnl 928. 1427. 0. 0.01 0.0 0.0    \$ba \$pmaxn \$pmax`

Material damping must also be defined to accurately simulate your materials. OnScale offers a number of damping models to be used depending on your material type:

• Stiffness damping - sdmp command
• Mass damping - mdmp command
• Rayleigh damping - rdmp command
• Viscoelastic damping - vdmp command

The method of definition is similar across each of the damping models and requires the following information:

1. name of the material
2. frequency at which the damping model is centred at
3. damping option allows the convention of damping values to be set - Q-factor (q); dB/distance (db) or Fraction of critical damping (crit)
4. dilatational wave attenuation value
5. shear wave attenuation value
6. Frequency at which the attenuation values were measured at
7. exponent to control how damping varies with frequency
8. Only if option was set to db – sets the distance over which the damping values are achieved

Example 1:

`vdmp epoxy \$freqdamp db \$attlong \$attenshear \$measuref \$exponent \$dist `

Example 2:

`rdmp piezo \$freqdamp q \$attlong \$attenshear \$measuref \$exponent `

OnScale provides an extensive material database to browse and select from using our new Material Database Tool. This allows you to create a custom project material file with all the code definitions, ready to be imported into your model file:

```c material defintions
symb #read training.prjmat /* materials stored in .prjmat file and read into flex model ```

The OnScale material database are an excellent starting point if you do not have the exact properties for the materials you are using. Material properties tends to be the weakest link in the simulation chain due to the lack of information provided by the manufacturer and difference in properties from batch to batch.

Note: if possible, characterise the materials you are using for accurate simulation results otherwise, be aware that there will be slight discrepancies when compared to experimental results

## Assigning Materials to Grid

### SITE:

The site command is what is used to apply materials to the model grid. There are a number of different primative shapes to allow you to recreate your desired geometry. The site command operates like paint brush a paint canvas, the last material application will appear on top and overwrite any material previously applied to the same region. Looking at our model geometry:

The simplest method will be to apply steel to the full model grid and the overwrite the smaller region with void using the regn command:

```c allocate to gridsite
regn stst                 /* assign watr to full grid
regn void \$i2 \$i3 \$j1 \$j2 /* assign material 'pmt3' to grid defined by nodal range
end```

Tip: the end command tells the compiler that it is no longer executing subcommands within a primary command. Although not required, it is good coding practice to include this to clearly signal the end of primary commands.

### Checking the Model:

With the structure of the model set up, we should always check that we have applied materials to the correct part of the grid. For any plotting requirements, the grph command should be used to configure and plot any available model data:

```c plot model
grph
nvew 2 2     /* set up 2 views
plot matr    /* plot model
mirr y on    /* apply visual symmetry
plot matr    /* replot model
end
term         /* pause model ```
• nvew - controls the plotting window arrangement
• plot - plots any requested data array
• mirr - applies symmetry to the graphical plot
• term - pauses model to allow user input in the terminal

The FEA model at this point can be plotted by running the software for the first time. The compiler will execute all lines of code sequentially up until the it reaches the term command. Click on the Run icon to execute the model and the following Runtime Interactive Graphics window will appear:

Within the Wave_Prop.flxinp file:

1. Using the Material Database Tool, add Stainless Steel to your project materials and save the material list with the filename 'Training'.
2. Using the site command apply stst to the full grid and void to i2-i3 and j1-j2 nodes
3. Using the grph command, plot the model to screen to check if it has been set up correctly
4. Run the model to visualise the geometry

## Tutorial Code

```c material properties c material defintions
symb #read training.prjmat /* materials stored in .prjmat file and read into flex model c allocate materials to grid
site
regn stst                   /* assign watr to full grid
regn void \$i2 \$i3 \$j1 \$j2   /* assign material 'pmt3' to grid defined by nodal range
end c plot model
grph
nvew 2 2     /* set up 2 views
plot matr    /* plot model
mirr y on    /* apply visual symmetry
plot matr    /* replot model
end
term         /* pause model ```
0 out of 0 found this helpful