doc:user:elements:volumes:hyper_functionbased
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| doc:user:elements:volumes:hyper_functionbased [2025/11/14 10:13] – [TmFunctionBasedOrthoHyperMaterial] vanhulle | doc:user:elements:volumes:hyper_functionbased [2025/11/14 17:04] (current) – [Bonet-Burton Transversely-Isotropic Material] vanhulle | ||
|---|---|---|---|
| Line 6: | Line 6: | ||
| Hyperelastic law, using a '' | Hyperelastic law, using a '' | ||
| - | (Quasi-)incompressibility is treated by a volumetric/ | + | (Quasi-)incompressibility is treated by a volumetric/ |
| The strain-energy density function $W$ is expressed as the sum of a **deviatoric** $W_{dev}$ and **volumetric** $W_{vol}$ contribution: | The strain-energy density function $W$ is expressed as the sum of a **deviatoric** $W_{dev}$ and **volumetric** $W_{vol}$ contribution: | ||
| Line 13: | Line 13: | ||
| $$ | $$ | ||
| - | The deviatoric potential $W_{dev}$ is defined using a hyperelastic potential law defined in [[doc: | + | The deviatoric potential $W_{dev}$ is defined using a hyperelastic potential law defined in [[doc: |
| It is also possible to add inelastic deformations $\mathbf{F}^{in}$ (//e.g.// thermal expansion) by using an inelastic potential law in [[doc: | It is also possible to add inelastic deformations $\mathbf{F}^{in}$ (//e.g.// thermal expansion) by using an inelastic potential law in [[doc: | ||
| Line 27: | Line 27: | ||
| | Initial bulk modulus ($k_0$) | | Initial bulk modulus ($k_0$) | ||
| | Number of the [[doc: | | Number of the [[doc: | ||
| - | | Number of the [[doc: | + | | Number of the [[doc: |
| | Number of the [[doc: | | Number of the [[doc: | ||
| | Material temperature evolution law | '' | | Material temperature evolution law | '' | ||
| Line 61: | Line 61: | ||
| | Initial bulk modulus ($k_0$) | | Initial bulk modulus ($k_0$) | ||
| | Number of the [[doc: | | Number of the [[doc: | ||
| - | | Number of the [[doc: | + | | Number of the [[doc: |
| | Number of the [[doc: | | Number of the [[doc: | ||
| | Material temperature evolution law | '' | | Material temperature evolution law | '' | ||
| Line 82: | Line 82: | ||
| ==== Generalized Neo-Hookean Material with Thermal Expansion ==== | ==== Generalized Neo-Hookean Material with Thermal Expansion ==== | ||
| + | |||
| + | Here we create the same material as '' | ||
| + | $$ | ||
| + | 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, | ||
| + | materialset(1).put(MASS_DENSITY, | ||
| + | materialset(1).put(RUBBER_PENAL, | ||
| + | materialset(1).put(HYPER_ELAST_POTENTIAL_NO, | ||
| + | materialset(1).put(HYPER_VOL_POTENTIAL_NO, | ||
| + | materialset(1).put(HYPER_INELAST_POTENTIAL_NO, | ||
| + | | ||
| + | The elastic deviatoric potential is the '' | ||
| + | ## Elastic (deviatoric) potential | ||
| + | materlawset = domain.getMaterialLawSet() | ||
| + | materlawset.define(1, | ||
| + | materlawset(1).put(HYPER_C1, | ||
| + | | ||
| + | The volumetric potential is the '' | ||
| + | ## Volumetric potential | ||
| + | materlawset.define(2, | ||
| + | | ||
| + | Isotropic thermal expansion is added as an '' | ||
| + | ## Inelastic potential | ||
| + | materlawset.define(3, | ||
| + | materlawset(3).put(HYPER_THERM_EXPANSION, | ||
| ==== Holzapfel-Gasser-Ogden Anisotropic Material ==== | ==== Holzapfel-Gasser-Ogden Anisotropic Material ==== | ||
| + | Here we create a Holzapfel-Gasser-Ogden anisotropic hyperelastic material as presented in [[https:// | ||
| + | |||
| + | 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< | ||
| + | $$ | ||
| + | |||
| + | ## HGO Material | ||
| + | materialset.define(1, | ||
| + | materialset(1).put(MASS_DENSITY, | ||
| + | materialset(1).put(RUBBER_PENAL, | ||
| + | materialset(1).put(HYPER_ELAST_POTENTIAL_NO, | ||
| + | materialset(1).put(HYPER_VOL_POTENTIAL_NO, | ||
| + | | ||
| + | The elastic deviatoric potential is the sum of the '' | ||
| + | ## Elastic (deviatoric) potential | ||
| + | materlawset = domain.getMaterialLawSet() | ||
| + | materlawset.define(1, | ||
| + | materlawset(1).put(HYPER_POTENTIAL1_NO, | ||
| + | materlawset(1).put(HYPER_POTENTIAL2_NO, | ||
| + | |||
| + | Isotropic Neo-Hookean potential | ||
| + | materlawset.define(3, | ||
| + | materlawset(3).put(HYPER_C1, | ||
| + | | ||
| + | Anisotropic Holzapfel-Gasser-Ogden potential with two fiber directions | ||
| + | materlawset.define(4, | ||
| + | materlawset(4).put(HYPER_HGO_K1, | ||
| + | materlawset(4).put(HYPER_HGO_K2, | ||
| + | materlawset(4).put(HYPER_HGO_DISP, | ||
| + | # first fiber family with beta orientation | ||
| + | materlawset(4).put(HYPER_FIB1_X, | ||
| + | materlawset(4).put(HYPER_FIB1_Y, | ||
| + | # second fiber family with -beta orientation | ||
| + | materlawset(4).put(HYPER_FIB2_X, | ||
| + | materlawset(4).put(HYPER_FIB2_Y, | ||
| + | | ||
| + | The volumetric potential is the '' | ||
| + | ## Volumetric potential | ||
| + | materlawset.define(2, | ||
| + | |||
| ==== Bonet-Burton Transversely-Isotropic Material ==== | ==== Bonet-Burton Transversely-Isotropic Material ==== | ||
| + | Here we create a Bonet-Burton transversely isotropic hyperelastic material as presented in [[https:// | ||
| + | Computer Methods in Applied Mechanics and Engineering, | ||
| + | |||
| + | For this material, the strain-energy density function writes | ||
| + | $$ | ||
| + | W = \frac{\mu}{2}\left(\bar{I}_1 - 3\right) + \left[\alpha + \beta \left( \bar{I}_1-3 \right) + \gamma \left( \bar{I}^{(i)}_4 -1\right)\right]\left(\bar{I}^{(i)}_4 - 1\right) - \frac{1}{2}\alpha \left(\bar{I}^{(i)}_5 -1\right) + \frac{\lambda}{2}(J-1)^2 | ||
| + | $$ | ||
| + | |||
| + | The different constants from $W$ are related to the engineering material constants from the matrix ($E$, $\nu$, $G$) and from the fibers ($E_a$, $G_a$, $\nu_a$) as | ||
| + | $$ | ||
| + | n = \frac{E_a}{E} ~~~~|~~~~ m=1-\nu-2\nu^2 | ||
| + | $$ | ||
| + | $$ | ||
| + | \mu = G = 2C_1 = \frac{E}{2(1+\nu)} ~~~~|~~~~ \lambda = k_0 = \frac{E(\nu+n\nu^2)}{m(1+\nu)} | ||
| + | $$ | ||
| + | $$ | ||
| + | \alpha = \mu - G_a = \mu - \frac{E_a}{2(1+\nu_a)} ~~~~|~~~~ \beta= \frac{E\nu^2(1-n)}{4m(1+\nu)} ~~~~|~~~~ \gamma=\frac{E_a(1-\nu)}{8m}-\frac{\lambda+2\mu}{8}+\frac{\alpha}{2}-\beta | ||
| + | $$ | ||
| + | |||
| + | ## Bonet-Burton Material | ||
| + | materialset.define(1, | ||
| + | materialset(1).put(MASS_DENSITY, | ||
| + | materialset(1).put(RUBBER_PENAL, | ||
| + | materialset(1).put(HYPER_ELAST_POTENTIAL_NO, | ||
| + | materialset(1).put(HYPER_VOL_POTENTIAL_NO, | ||
| + | | ||
| + | The elastic deviatoric potential is the sum of the '' | ||
| + | |||
| + | ## Elastic (deviatoric) potential | ||
| + | materlawset = domain.getMaterialLawSet() | ||
| + | materlawset.define(1, | ||
| + | materlawset(1).put(HYPER_POTENTIAL1_NO, | ||
| + | materlawset(1).put(HYPER_POTENTIAL2_NO, | ||
| + | |||
| + | Isotropic Neo-Hookean potential | ||
| + | materlawset.define(3, | ||
| + | materlawset(3).put(HYPER_C1, | ||
| + | |||
| + | Transversely isotropic Bonet-Burton potential with one fiber family | ||
| + | materlawset.define(4, | ||
| + | materlawset(4).put(HYPER_BB_ALPHA, | ||
| + | materlawset(4).put(HYPER_BB_BETA, | ||
| + | materlawset(4).put(HYPER_BB_GAMMA, | ||
| + | materlawset(4).put(HYPER_BB_USE_LNJ, | ||
| + | # first fiber family with beta orientation | ||
| + | materlawset(4).put(HYPER_FIB1_X, | ||
| + | materlawset(4).put(HYPER_FIB1_Y, | ||
| + | | ||
| + | The volumetric potential is the '' | ||
| + | ## Volumetric potential | ||
| + | materlawset.define(2, | ||
doc/user/elements/volumes/hyper_functionbased.1763111626.txt.gz · Last modified: by vanhulle
