Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


doc:user:elements:volumes:hyper_functionbased

This is an old revision of the document!


Function Based Materials

FunctionBasedHyperMaterial

Description

Hyperelastic law, using a Cauchy stress tensor $\boldsymbol{\sigma}$, stress in the current configuration.

(Quasi-)incompressibility is treated by a volumetric/deviatoric multiplicative split of the deformation gradient, i.e. $\bar{\mathbf{F}} = J^{-1/3}\mathbf{F}$. Hence the deviatoric potential is based on reduced invariants of $\bar{\mathbf{B}} =\bar{\mathbf{F}}\bar{\mathbf{F}}^T $.

The strain-energy density function $W$ is expressed as the sum of a deviatoric $W_{dev}$ and volumetric $W_{vol}$ contribution: $$ W\left(\bar{I}_1,\bar{I}_2, J, \bar{I}_4, \bar{I}_5 \right) = W_{dev}\left(\bar{I}_1,\bar{I}_2, J, \bar{I}_4, \bar{I}_5 \right) + W_{vol}\left( J \right) = W_{dev}\left(\bar{I}_1,\bar{I}_2, J, \bar{I}_4, \bar{I}_5 \right) + k_0 \mathcal{f}\left( J \right) $$

The deviatoric potential $W_{dev}$ is defined using a hyperelastic potential law defined in Deviatoric Potentials whilst the volumetric potential $\mathcal{f}(J)$ is defined using a volumic potential law in Volumic Potentials.

It is also possible to add inelastic deformations $\mathbf{F}^{in}$ (e.g. thermal expansion) by using an inelastic potential law in Inelastic Potentials. The elastic part of the total deformation gradient $\mathbf{F}^e$ writes $$ \mathbf{F}^e = \mathbf{F}\left(\mathbf{F}^{in}\right)^{-1} $$

Note that all computations are done with respect to the orthotropic axes.

Parameters

Name Metafor Code Dependency
Density MASS_DENSITY TO/TM
Initial bulk modulus ($k_0$) RUBBER_PENAL TO/TM
Number of the hyperelastic potential law HYPER_ELAST_POTENTIAL_NO -
Number of the volumic potential law
(default = QuadraticVolumicPotential)
HYPER_VOL_POTENTIAL_NO -
Number of the inelastic potential law
(default = None)
HYPER_INELAST_POTENTIAL_NO -
Material temperature evolution law TEMP TM
Orthotropic axis ORTHO_AX1_X -
Orthotropic axis ORTHO_AX1_Y -
Orthotropic axis ORTHO_AX1_Z -
Orthotropic axis ORTHO_AX2_X -
Orthotropic axis ORTHO_AX2_Y -
Orthotropic axis ORTHO_AX2_Z -
Orthotropic axis initialized by mesh construction
boolean : True - False (default)
override OrthoAxis definition
ORTHO_INIT_AS_JACO

TmFunctionBasedOrthoHyperMaterial

Description

Thermo-mechanical hyperelastic law with orthotropic thermal conduction law, using a Cauchy stress tensor $\boldsymbol{\sigma}$, stress in the current configuration.

Thermal conduction writes in the orthotropic frame $$ \boldsymbol{K}~\nabla T = \left[ \begin{array}{c c c} K_1 & 0 & 0 \\ 0 & K_2 & 0 \\ 0 & 0 & K_3 \end{array} \right] \nabla T, $$ where $\boldsymbol{K}$ is the orthotropic conduction matrix (in material axes) and $\nabla T$ is the temperature gradient.

Parameters

Name Metafor Code Dependency
Density MASS_DENSITY TO/TM
Initial bulk modulus ($k_0$) RUBBER_PENAL TO/TM
Number of the hyperelastic potential law HYPER_ELAST_POTENTIAL_NO -
Number of the volumic potential law
(default = QuadraticVolumicPotential)
HYPER_VOL_POTENTIAL_NO -
Number of the inelastic potential law
(default = None)
HYPER_INELAST_POTENTIAL_NO -
Material temperature evolution law TEMP TM
Orthotropic axis ORTHO_AX1_X -
Orthotropic axis ORTHO_AX1_Y -
Orthotropic axis ORTHO_AX1_Z -
Orthotropic axis ORTHO_AX2_X -
Orthotropic axis ORTHO_AX2_Y -
Orthotropic axis ORTHO_AX2_Z -
Orthotropic axis initialized by mesh construction
boolean : True - False (default)
override OrthoAxis definition
ORTHO_INIT_AS_JACO
Conductivity $K_1$ CONDUCTIVITY_1 TO/TM
Conductivity $K_2$ CONDUCTIVITY_2 TO/TM
Conductivity $K_3$ CONDUCTIVITY_3 TO/TM
Heat Capacity $C_p$ HEAT_CAPACITY TO/TM
Dissipated thermoelastic power fraction $\eta_e$ DISSIP_TE -
Dissipated (visco)plastic power fraction (Taylor-Quinney factor) DISSIP_TQ -

Example Materials

Some example materials from the literature using FunctionBasedHyperMaterial.

Generalized Neo-Hookean Material with Thermal Expansion

Here we create the same material as NeoHookeanHyperMaterial (see Hyperelastic materials) $$ W = C_1\left(\bar{I_1} - 3\right) + \frac{k_0}{2}\left[ \left(J-1\right)^2 + \ln^2 J\right] $$

## Neo-Hookean Material
materialset.define(1, FunctionBasedHyperMaterial)
materialset(1).put(MASS_DENSITY, rho)
materialset(1).put(RUBBER_PENAL, k0)
materialset(1).put(HYPER_ELAST_POTENTIAL_NO, 1)
materialset(1).put(HYPER_VOL_POTENTIAL_NO, 2)
materialset(1).put(HYPER_INELAST_POTENTIAL_NO, 3)

The elastic deviatoric potential is the NeoHookeanHyperPotential:

## Elastic (deviatoric) potential
materlawset = domain.getMaterialLawSet()
materlawset.define(1, NeoHookeanHyperPotential)
materlawset(1).put(HYPER_C1, C1)

The volumetric potential is the QuadLogVolumicPotential:

## Volumetric potential
materlawset.define(2, QuadLogVolumicPotential)

Isotropic thermal expansion is added as an InelasticPotential:

## Inelastic potential
materlawset.define(3, ThermalIsotropicExpansion)
materlawset(3).put(HYPER_THERM_EXPANSION, alpha)

Holzapfel-Gasser-Ogden Anisotropic Material

Here we create a Holzapfel-Gasser-Ogden hyperelastic material as presented in Holzapfel G., Gasser T., Ogden R., 2004, Comparison of a multi-layer structural model for arterial walls with a Fung-type model, and issues of material stability, Journal of biomechanical engineering, 126, 264-75. Note that before version 3570 of Metafor, this material was implemented as HolzapfelGasserOgdenHyperMaterial.

In this case, the material represents arterial wall tissues with two fiber families. $$ W = C_1\left(\bar{I_1} - 3\right) + \frac{k_1}{2k_2}\sum_{i=1}^2\left[ e^{k_2\left< d\left(\bar{I}_1-3\right) + \left(1-3d\right)\left(\bar{I}_4^{(i)}-1\right)\right>^2}-1 \right] + \frac{k_0}{2}\text{ln}^2 J $$

## HGO Material
materialset.define(1, FunctionBasedHyperMaterial)
materialset(1).put(MASS_DENSITY, rho)
materialset(1).put(RUBBER_PENAL, K)
materialset(1).put(HYPER_ELAST_POTENTIAL_NO, 1)
materialset(1).put(HYPER_VOL_POTENTIAL_NO, 2)

The elastic deviatoric potential is the sum of the NeoHookeanHyperPotential (isotropic matrix part) and HolzapfelGasserOgdenHyperPotential with two separate fiber directions. The addition between the two potentials is made using the CombinedElasticPotential.

## Elastic (deviatoric) potential
materlawset = domain.getMaterialLawSet()
materlawset.define(1, CombinedElasticPotential)
materlawset(1).put(HYPER_POTENTIAL1_NO, 3) #Neo-Hookean
materlawset(1).put(HYPER_POTENTIAL2_NO, 4) #HGO

Isotropic Neo-Hookean potential

materlawset.define(3, NeoHookeanHyperPotential)
materlawset(3).put(HYPER_C1, C1)

Anisotropic Holzapfel-Gasser-Ogden potential with two fiber directions

materlawset.define(4, HolzapfelGasserOgdenHyperPotential)
materlawset(4).put(HYPER_HGO_K1, k1)
materlawset(4).put(HYPER_HGO_K2, k2)
materlawset(4).put(HYPER_HGO_DISP, d)
# first fiber family with beta orientation
materlawset(4).put(HYPER_FIB1_X, np.cos(beta))
materlawset(4).put(HYPER_FIB1_Y, np.sin(beta))
# second fiber family with -beta orientation
materlawset(4).put(HYPER_FIB2_X, -np.cos(beta))
materlawset(4).put(HYPER_FIB2_Y, np.sin(beta)) 

The volumetric potential is the LogarithmicVolumicPotential

## Volumetric potential
materlawset.define(2, LogarithmicVolumicPotential)

Bonet-Burton Transversely-Isotropic Material

doc/user/elements/volumes/hyper_functionbased.1763133130.txt.gz · Last modified: by vanhulle

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki