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 [2026/01/15 11:44] – vanhulle | doc:user:elements:volumes:hyper_functionbased [2026/07/02 14:15] (current) – vanhulle | ||
|---|---|---|---|
| Line 10: | Line 10: | ||
| The strain-energy density function $\psi$ is expressed as the sum of **deviatoric (elastic)** $\psi_{e}$ and **volumetric** $\psi_{vol}$ contributions: | The strain-energy density function $\psi$ is expressed as the sum of **deviatoric (elastic)** $\psi_{e}$ and **volumetric** $\psi_{vol}$ contributions: | ||
| $$ | $$ | ||
| - | \psi = \sum_{i=1}^{N_{e}}\psi_{e}^{(i)} + \sum_{i=1}^{N_{vol}}\psi_{vol}^{(i)} | + | \psi = \sum_{i=1}^{N_{e}}\psi_{e}^{(i)} + \sum_{i=1}^{N_{vol}}\psi_{vol}^{(i)} |
| $$ | $$ | ||
| - | The deviatoric (elastic) potentials $\psi_{e}^{(i)}$ are defined using hyperelastic potential laws defined in [[doc: | + | The deviatoric (elastic) potentials $\psi_{e}^{(i)}$ are defined using hyperelastic potential laws defined in [[doc: |
| It is also possible to add **inelastic** deformations $\mathbf{F}_{in}$ (//e.g.// thermal expansion) by using inelastic potential laws in [[doc: | It is also possible to add **inelastic** deformations $\mathbf{F}_{in}$ (//e.g.// thermal expansion) by using inelastic potential laws in [[doc: | ||
| Line 28: | Line 28: | ||
| ^ | ^ | ||
| | Density | | Density | ||
| - | | Initial bulk modulus ($k_0$) | ||
| | Array of numbers defining the [[doc: | | Array of numbers defining the [[doc: | ||
| | Array of numbers defining the [[doc: | | Array of numbers defining the [[doc: | ||
| Line 62: | Line 61: | ||
| ^ | ^ | ||
| | Density | | Density | ||
| - | | Initial bulk modulus ($k_0$) | ||
| | Array of numbers defining the [[doc: | | Array of numbers defining the [[doc: | ||
| | Array of numbers defining the [[doc: | | Array of numbers defining the [[doc: | ||
| Line 88: | Line 86: | ||
| This material is similar to '' | This material is similar to '' | ||
| $$ | $$ | ||
| - | \psi = \sum_{i=1}^{N_{ve}}\psi_{ve}^{(i)} + \sum_{i=1}^{N_{e}}\psi_{e}^{(i)} + k_0 \sum_{i=1}^{N_{vol}}\mathcal{f}^{(i)}\left( J \right) | + | \psi = \sum_{i=1}^{N_{ve}}\psi_{ve}^{(i)} + \sum_{i=1}^{N_{e}}\psi_{e}^{(i)} + \sum_{i=1}^{N_{vol}}\psi_{vol}^{(i)} |
| $$ | $$ | ||
| Line 98: | Line 96: | ||
| ^ | ^ | ||
| | Density | | Density | ||
| - | | Initial bulk modulus ($k_0$) | ||
| | Array of numbers defining the [[doc: | | Array of numbers defining the [[doc: | ||
| | Array of numbers defining the [[doc: | | Array of numbers defining the [[doc: | ||
| Line 124: | Line 121: | ||
| materialset.define(1, | materialset.define(1, | ||
| materialset(1).put(MASS_DENSITY, | materialset(1).put(MASS_DENSITY, | ||
| - | materialset(1).put(RUBBER_PENAL, | ||
| materialset(1).put(HYPER_ELAST_POTENTIAL_NUMS, | materialset(1).put(HYPER_ELAST_POTENTIAL_NUMS, | ||
| materialset(1).put(HYPER_VOL_POTENTIAL_NUMS, | materialset(1).put(HYPER_VOL_POTENTIAL_NUMS, | ||
| Line 137: | Line 133: | ||
| ## Volumetric potential | ## Volumetric potential | ||
| materlawset.define(2, | materlawset.define(2, | ||
| + | materlawset(2).put(HYPER_COMPR_MODULUS, | ||
| | | ||
| Isotropic thermal expansion is added using a '' | Isotropic thermal expansion is added using a '' | ||
| Line 148: | Line 145: | ||
| materialset.define(1, | materialset.define(1, | ||
| materialset(1).put(MASS_DENSITY, | materialset(1).put(MASS_DENSITY, | ||
| - | materialset(1).put(RUBBER_PENAL, | ||
| materialset(1).put(HYPER_VE_POTENTIAL_NUMS, | materialset(1).put(HYPER_VE_POTENTIAL_NUMS, | ||
| materialset(1).put(HYPER_VOL_POTENTIAL_NUMS, | materialset(1).put(HYPER_VOL_POTENTIAL_NUMS, | ||
| Line 173: | Line 169: | ||
| ## Volumetric potential | ## Volumetric potential | ||
| materlawset.define(2, | materlawset.define(2, | ||
| + | materlawset(2).put(HYPER_COMPR_MODULUS, | ||
| + | | ||
| + | ==== Visco-hyperelastic Three-Network Material (Nonlinear Generalized Maxwell) ==== | ||
| + | Here we create a Three-Network material as presented in [[https:// | ||
| + | The model is represented by a generalized Maxwell with three branches, two of them are nonlinear: | ||
| + | {{ : | ||
| + | |||
| + | The three springs are '' | ||
| + | #spring ' | ||
| + | materlawset.define(1, | ||
| + | materlawset(1).put(HYPER_MU, | ||
| + | materlawset(1).put(HYPER_LOCK_STRETCH, | ||
| + | #spring ' | ||
| + | materlawset.define(2, | ||
| + | materlawset(2).put(HYPER_MU, | ||
| + | materlawset(2).put(HYPER_LOCK_STRETCH, | ||
| + | #spring ' | ||
| + | materlawset.define(3, | ||
| + | materlawset(3).put(HYPER_MU, | ||
| + | materlawset(3).put(HYPER_LOCK_STRETCH, | ||
| + | | ||
| + | with the addition of a common '' | ||
| + | # Volumetric potential | ||
| + | materlawset.define(4, | ||
| + | materlawset(4).put(HYPER_COMPR_MODULUS, | ||
| + | |||
| + | Both dashpots are '' | ||
| + | #dashpot ' | ||
| + | materlawset.define(5, | ||
| + | materlawset(5).put(DASHPOT_BB_GAMMADOT0, | ||
| + | materlawset(5).put(DASHPOT_BB_TAUHAT | ||
| + | materlawset(5).put(DASHPOT_BB_A | ||
| + | materlawset(5).put(DASHPOT_BB_M | ||
| + | # dependence of spring ' | ||
| + | materlawset(5).put(DASHPOT_BB_BETA, | ||
| + | materlawset(5).put(DASHPOT_BB_MU_I, | ||
| + | materlawset(5).put(DASHPOT_BB_MU_F, | ||
| + | #dashpot ' | ||
| + | materlawset.define(6, | ||
| + | materlawset(6).put(DASHPOT_BB_GAMMADOT0, | ||
| + | materlawset(6).put(DASHPOT_BB_TAUHAT | ||
| + | materlawset(6).put(DASHPOT_BB_A | ||
| + | materlawset(6).put(DASHPOT_BB_M | ||
| + | | ||
| + | We assemble the nonlinear branches A and B using '' | ||
| + | # Maxwell Branch ' | ||
| + | materlawset.define(7, | ||
| + | materlawset(7).put(HYPER_MAXWELL_SPRING_NUM, | ||
| + | materlawset(7).put(HYPER_MAXWELL_SPRING_VOL_NUM, | ||
| + | materlawset(7).put(HYPER_MAXWELL_DASHPOT_NUM, | ||
| + | # Maxwell Branch ' | ||
| + | materlawset.define(8, | ||
| + | materlawset(8).put(HYPER_MAXWELL_SPRING_NUM, | ||
| + | materlawset(8).put(HYPER_MAXWELL_SPRING_VOL_NUM, | ||
| + | materlawset(8).put(HYPER_MAXWELL_DASHPOT_NUM, | ||
| + | # branch ' | ||
| + | materlawset(8).put(HYPER_MAXWELL_DEPENDENCE_NUM, | ||
| + | |||
| + | We assemble the '' | ||
| + | materlawset.define(9, | ||
| + | # main spring ' | ||
| + | materlawset(9).put(HYPER_MAIN_POTENTIAL_NUM, | ||
| + | # Maxwell branches ' | ||
| + | materlawset(9).append(HYPER_MAXWELL_BRANCH_NUMS, | ||
| + | | ||
| + | We create the material '' | ||
| + | materialset.define(1, | ||
| + | materialset(1).put(MASS_DENSITY, | ||
| + | materialset(1).put(HYPER_VE_POTENTIAL_NUMS, | ||
| + | materialset(1).put(HYPER_VOL_POTENTIAL_NUMS, | ||
| + | |||
| + | | ||
| ==== Holzapfel-Gasser-Ogden Anisotropic Material ==== | ==== Holzapfel-Gasser-Ogden Anisotropic Material ==== | ||
| Here we create a Holzapfel-Gasser-Ogden anisotropic hyperelastic material as presented in [[https:// | Here we create a Holzapfel-Gasser-Ogden anisotropic hyperelastic material as presented in [[https:// | ||
| Line 185: | Line 253: | ||
| materialset.define(1, | materialset.define(1, | ||
| materialset(1).put(MASS_DENSITY, | materialset(1).put(MASS_DENSITY, | ||
| - | materialset(1).put(RUBBER_PENAL, | ||
| materialset(1).put(HYPER_ELAST_POTENTIAL_NUMS, | materialset(1).put(HYPER_ELAST_POTENTIAL_NUMS, | ||
| materialset(1).put(HYPER_VOL_POTENTIAL_NUMS, | materialset(1).put(HYPER_VOL_POTENTIAL_NUMS, | ||
| Line 199: | Line 266: | ||
| materlawset(2).put(HYPER_HGO_DISP, | materlawset(2).put(HYPER_HGO_DISP, | ||
| # 2 fiber orientations in the xy-plane (+-beta) | # 2 fiber orientations in the xy-plane (+-beta) | ||
| - | materlawset(2).put(HYPER_FIBS_THETAS, [beta, -beta]) | + | materlawset(2).put(HYPER_FIBS_THETA, [beta, -beta]) |
| - | materlawset(2).put(HYPER_FIBS_DELTA, | + | materlawset(2).put(HYPER_FIBS_DELTA, |
| | | ||
| Line 206: | Line 273: | ||
| ## Volumetric potential | ## Volumetric potential | ||
| materlawset.define(3, | materlawset.define(3, | ||
| + | materlawset(3).put(HYPER_COMPR_MODULUS, | ||
| Line 231: | Line 299: | ||
| materialset.define(1, | materialset.define(1, | ||
| materialset(1).put(MASS_DENSITY, | materialset(1).put(MASS_DENSITY, | ||
| - | materialset(1).put(RUBBER_PENAL, | ||
| materialset(1).put(HYPER_ELAST_POTENTIAL_NUMS, | materialset(1).put(HYPER_ELAST_POTENTIAL_NUMS, | ||
| materialset(1).put(HYPER_VOL_POTENTIAL_NUMS, | materialset(1).put(HYPER_VOL_POTENTIAL_NUMS, | ||
| Line 252: | Line 319: | ||
| ## Volumetric potential | ## Volumetric potential | ||
| materlawset.define(3, | materlawset.define(3, | ||
| + | materlawset(3).put(HYPER_COMPR_MODULUS, | ||
doc/user/elements/volumes/hyper_functionbased.1768473848.txt.gz · Last modified: by vanhulle
