MCalibration Material Model Templates

MCalibration supports not only a large selection of pre-defined material models, but also any arbitrary material model that can be specified in any of the supported FE programs (Abaqus, Ansys, LS-DYNA, MSC Marc, Altair Radioss). To use any of these material models that have not yet been coded as an internal model in MCalibration, you need to use a MCalibration Material Model Template

Here is an example of a material model template that is specified in the Material Model dialog box.

This example is using the *MAT_Mooney-Rivlin-Rubber model in LS-DYNA. Any text that is entered in the command window is simply forwarded to the FE solver, with the following exceptions:

  • Any text between percent signs (%) becomes a MCalibration variable that can be search for. The window to the right explains the syntax for these variables.
  • Any text between dollar signs ($) will be interpreted as a math equation that will evaluated by  MCalibration. Note that you can use MCalibration variables (defined between % signs) in these math equations.
  • Any text between python_start and python_end will be evaluated by a Python interpreter. The path to the python interpreter is specified in the Preferences dialog box.

Here is cool example. Try to figure out what this template outputs!

				
					*MAT_075
$$ MAT_BILKHU/DUBOIS_FOAM
$$ For isotropic crushable foams
$$ mid, ro, ym, lcpy, lcuys, vc, pc, vpc
1, %RO=1e-09,0,,,8%, %YM=5,0,,2,2%, 101, 102, %vc=0.25,0.05,0.5%, %pc=0%, %vpc=0%
$$ tc, vtc, lcrate, pr, kcon, isflg
%tc=0,0%, %vtc=0%, 0, %pr=0.3,0,0.5%, , 0
$$
*DEFINE_CURVE
$$ lcid, sidr, sfa, sfo, offa, offo, dattyp
101
python_start
# %S1=0.05,0,,9,2%
# %S2=0.2,0,,10,2%
# %C=0.2,0%
xvec = linspace(0, 0.9, 30)
for x in xvec:
    y = $S1$*x + $S2$ * x**$C$
    print '{0}, {1}'.format(x,y)
python_end
$$
*DEFINE_CURVE
$$ lcid, sidr, sfa, sfo, offa, offo, dattyp
102
python_start
# %P1=10,0,,,2%
# %P2=0.4,,,,2%
# %D=0.2%
xvec = linspace(0, 0.9, 30)
for x in xvec:
    y = $S1$*x + $S2$ * x**$D$
    print '{0}, {1}'.format(x,y)
python_end
				
			

Here’s a hands-on demo.

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn

More to explore

All about the Mullins Effect

Detailed tutorial on how to: (1) experimentally test the Mullins damage of rubbers and elastomers; (2) calibrate the Ogden-Roxburgh Mullins model; (3) how to distinguish between Mullins damage and viscoelastic effects.

Leave a Comment