m_hyper#
Purpose
Material function for hyperelastic solids.
Syntax
mat= m_hyper('default') mat= m_hyper('database name') pl = m_hyper('dbval MatId name'); pl = m_hyper('dbval -unit TM MatId name'); pl = m_hyper('dbval -punit TM MatId name');
Description
Function based on m_elastic function adapted for hyperelastic material. Only subtype 1 is currently used:
1 : Nominal hyperelastic material#
Nominal hyperelastic materials are described by a row of the form
[MatID typ rho Wtype C_1 C_2 K]
with typ an identifier generated with the fe_mat('m_hyper','SI',1) command, rho (density), Wtype (value for Energy choice), C1, C2, K (energy coefficients).
Possible values for Wtype are:
|
Other energy functions can be added by editing the hyper.c Enpassiv function.
In RivlinCube test, m_hyper is called in this form:
model.pl=m_hyper('dbval 100 Ref'); % this is where the material is defined
the hyperelastic material called "Ref" is described in the database of m_hyper.m file:
out.pl=[MatId fe_mat('type','m_hyper','SI',1) 1e-06 0 .3 .2 .3]; out.name='Ref'; out.type='m_hyper'; out.unit='SI';
Here is an example to set your material property for a given structure model:
model.pl = [MatID fe_mat('m_hyper','SI',1) typ rho Wtype C_1 C_2 K]; model.Elt(2:end,length(feval(ElemF,'node')+1)) = MatID;