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 15:53] – [Generalized Neo-Hookean Material with Thermal Expansion] vanhulle | doc:user:elements:volumes:hyper_functionbased [2026/01/15 13:15] (current) – [Holzapfel-Gasser-Ogden Anisotropic Material] vanhulle | ||
|---|---|---|---|
| Line 8: | Line 8: | ||
| (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}$ | + | The strain-energy density function $\psi$ is expressed as the sum of **deviatoric |
| $$ | $$ | ||
| - | 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) | + | \psi = \sum_{i=1}^{N_{e}}\psi_{e}^{(i)} + \sum_{i=1}^{N_{vol}}\psi_{vol}^{(i)} = \sum_{i=1}^{N_{e}}\psi_{e}^{(i)} + k_0 \sum_{i=1}^{N_{vol}}\mathcal{f}^{(i)}\left( J \right) |
| $$ | $$ | ||
| - | The deviatoric | + | The deviatoric |
| - | It is also possible to add inelastic deformations $\mathbf{F}^{in}$ (//e.g.// thermal expansion) by using an inelastic potential | + | It is also possible to add **inelastic** deformations $\mathbf{F}_{in}$ (//e.g.// thermal expansion) by using inelastic potential |
| $$ | $$ | ||
| - | \mathbf{F}^e = \mathbf{F}\left(\mathbf{F}^{in}\right)^{-1} | + | \mathbf{F} = \mathbf{F}_e\prod_{i=1}^{N_{in}}\mathbf{F}_{in}^{(i)} |
| $$ | $$ | ||
| + | |||
| + | This material can be summarized into the following analogous rheological model: | ||
| + | {{ : | ||
| Note that all computations are done with respect to the **orthotropic axes**. | Note that all computations are done with respect to the **orthotropic axes**. | ||
| Line 26: | Line 29: | ||
| | Density | | Density | ||
| | Initial bulk modulus ($k_0$) | | Initial bulk modulus ($k_0$) | ||
| - | | Number | + | | Array of numbers defining |
| - | | Number | + | | Array of numbers defining |
| - | | Number | + | | Array of numbers defining |
| | Material temperature evolution law | '' | | Material temperature evolution law | '' | ||
| | Orthotropic axis | '' | | Orthotropic axis | '' | ||
| Line 60: | Line 63: | ||
| | Density | | Density | ||
| | Initial bulk modulus ($k_0$) | | Initial bulk modulus ($k_0$) | ||
| - | | Number | + | | Array of numbers defining |
| - | | Number | + | | Array of numbers defining |
| - | | Number | + | | Array of numbers defining |
| | Material temperature evolution law | '' | | Material temperature evolution law | '' | ||
| | Orthotropic axis | '' | | Orthotropic axis | '' | ||
| Line 76: | Line 79: | ||
| | Heat Capacity $C_p$ | '' | | Heat Capacity $C_p$ | '' | ||
| | Dissipated thermoelastic power fraction $\eta_e$ | | Dissipated thermoelastic power fraction $\eta_e$ | ||
| - | | Dissipated (visco)plastic power fraction (Taylor-Quinney factor) | + | | Dissipated (visco)plastic power fraction (Taylor-Quinney factor) |
| + | |||
| + | ===== VeFunctionBasedHyperMaterial ===== | ||
| + | |||
| + | === Description === | ||
| + | Visco-hyperelastic law, using a '' | ||
| + | |||
| + | 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) | ||
| + | $$ | ||
| + | |||
| + | The deviatoric visco-elastic potentials $\psi_{ve}^{(i)}$ are defined using visco-hyperelastic potential laws defined in [[doc: | ||
| + | |||
| + | Note that with this material, it is not mandatory to define any $\psi_{e}^{(i)}$. | ||
| + | |||
| + | === Parameters === | ||
| + | ^ | ||
| + | | 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: | ||
| + | | Material temperature evolution law | '' | ||
| + | | Orthotropic axis | '' | ||
| + | | Orthotropic axis | '' | ||
| + | | Orthotropic axis | '' | ||
| + | | Orthotropic axis | '' | ||
| + | | Orthotropic axis | '' | ||
| + | | Orthotropic axis | '' | ||
| + | | Orthotropic axis initialized by mesh construction \\ boolean : True - False (default) \\ override OrthoAxis definition | ||
| ===== Example Materials ====== | ===== Example Materials ====== | ||
| - | Some example materials from the literature using '' | + | Some example materials from the literature using '' |
| ==== Generalized Neo-Hookean Material with Thermal Expansion ==== | ==== Generalized Neo-Hookean Material with Thermal Expansion ==== | ||
| Here we create the same material as '' | 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 | ## Neo-Hookean Material | ||
| materialset.define(1, | materialset.define(1, | ||
| materialset(1).put(MASS_DENSITY, | materialset(1).put(MASS_DENSITY, | ||
| - | materialset(1).put(RUBBER_PENAL, | + | materialset(1).put(RUBBER_PENAL, |
| - | materialset(1).put(HYPER_ELAST_POTENTIAL_NO, 1) | + | materialset(1).put(HYPER_ELAST_POTENTIAL_NUMS, [1]) |
| - | materialset(1).put(HYPER_VOL_POTENTIAL_NO, 2) | + | materialset(1).put(HYPER_VOL_POTENTIAL_NUMS, [2]) |
| - | materialset(1).put(HYPER_INELAST_POTENTIAL_NO, 3) | + | materialset(1).put(HYPER_INELAST_POTENTIAL_NUMS, [3]) |
| | | ||
| The elastic deviatoric potential is the '' | The elastic deviatoric potential is the '' | ||
| ## Elastic (deviatoric) potential | ## Elastic (deviatoric) potential | ||
| - | materlawset = domain.getMaterialLawSet() | ||
| materlawset.define(1, | materlawset.define(1, | ||
| materlawset(1).put(HYPER_C1, | materlawset(1).put(HYPER_C1, | ||
| Line 102: | Line 138: | ||
| materlawset.define(2, | materlawset.define(2, | ||
| | | ||
| - | Isotropic thermal expansion is added as an '' | + | Isotropic thermal expansion is added using a '' |
| ## Inelastic potential | ## Inelastic potential | ||
| materlawset.define(3, | materlawset.define(3, | ||
| materlawset(3).put(HYPER_THERM_EXPANSION, | materlawset(3).put(HYPER_THERM_EXPANSION, | ||
| + | | ||
| + | ==== Visco-hyperelastic Neo-Hookean Material (Generalized Maxwell) ==== | ||
| + | |||
| + | ## Visco-elastic Neo-Hookean with n Maxwell branches | ||
| + | materialset.define(1, | ||
| + | materialset(1).put(MASS_DENSITY, | ||
| + | materialset(1).put(RUBBER_PENAL, | ||
| + | materialset(1).put(HYPER_VE_POTENTIAL_NUMS, | ||
| + | materialset(1).put(HYPER_VOL_POTENTIAL_NUMS, | ||
| + | |||
| + | We create the '' | ||
| + | ## Generalized Maxwell Potential | ||
| + | materlawset.define(1, | ||
| + | |||
| + | The main spring of the grid is the '' | ||
| + | ### Main spring is Neo-Hookean | ||
| + | materlawset.define(101, | ||
| + | materlawset(101).put(HYPER_C1, | ||
| + | materlawset(1).put(HYPER_MAIN_POTENTIAL_NO, | ||
| + | | ||
| + | We add n parallel '' | ||
| + | ### n Maxwell Branches | ||
| + | for i in range(0, n): | ||
| + | materlawset.define(102+i, | ||
| + | materlawset(102+i).put(HYPER_MAXWELL_GAMMA, | ||
| + | materlawset(102+i).put(HYPER_VE_TAU, | ||
| + | materlawset(1).append(HYPER_MAXWELL_BRANCH_NUMS, | ||
| + | | ||
| + | The volumetric potential is the '' | ||
| + | ## Volumetric potential | ||
| + | materlawset.define(2, | ||
| ==== 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_NUMS, | ||
| + | materialset(1).put(HYPER_VOL_POTENTIAL_NUMS, | ||
| + | | ||
| + | The elastic deviatoric potential is the sum of the '' | ||
| + | materlawset.define(1, | ||
| + | materlawset(1).put(HYPER_C1, | ||
| + | | ||
| + | and '' | ||
| + | materlawset.define(2, | ||
| + | materlawset(2).put(HYPER_HGO_K1, | ||
| + | materlawset(2).put(HYPER_HGO_K2, | ||
| + | materlawset(2).put(HYPER_HGO_DISP, | ||
| + | # 2 fiber orientations in the xy-plane (+-beta) | ||
| + | materlawset(2).put(HYPER_FIBS_THETA, | ||
| + | materlawset(2).put(HYPER_FIBS_DELTA, | ||
| + | |||
| + | | ||
| + | The volumetric potential is the '' | ||
| + | ## Volumetric potential | ||
| + | materlawset.define(3, | ||
| + | |||
| ==== 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 in the pricipal (1) direction and in the transverse (2, 3) directions [[https:// | ||
| + | $$ | ||
| + | \mu = \frac{E_2}{2\left(1+\nu_{23}\right)} ~~~~~|~~~~~ \lambda = \frac{-E_2\left(E_2\nu_{12}^2 + E_1\nu_{23}\right)}{\left(2E_2\nu_{12}^2+E_1\left[\nu_{23}-1\right]\right)\left(1+\nu_{23}\right)} | ||
| + | $$ | ||
| + | $$ | ||
| + | \alpha = \frac{1}{4}\left(\frac{E_2}{1+\nu_{23}}-2G_{12}\right) ~~~~~|~~~~~ \beta = \frac{E_2}{4}\left(\frac{E_1-2E_1\nu_{12}}{2E_2\nu_{12}^2+E_1\left(\nu_{23}-1\right)}+\frac{1}{1+\nu_{23}}\right) | ||
| + | $$ | ||
| + | $$ | ||
| + | | ||
| + | $$ | ||
| + | |||
| + | ## Bonet-Burton Material | ||
| + | materialset.define(1, | ||
| + | materialset(1).put(MASS_DENSITY, | ||
| + | materialset(1).put(RUBBER_PENAL, | ||
| + | materialset(1).put(HYPER_ELAST_POTENTIAL_NUMS, | ||
| + | materialset(1).put(HYPER_VOL_POTENTIAL_NUMS, | ||
| + | | ||
| + | The elastic deviatoric potential is the sum of the '' | ||
| + | materlawset.define(1, | ||
| + | materlawset(1).put(HYPER_C1, | ||
| + | |||
| + | and '' | ||
| + | materlawset.define(2, | ||
| + | materlawset(2).put(HYPER_BB_ALPHA, | ||
| + | materlawset(2).put(HYPER_BB_BETA, | ||
| + | materlawset(2).put(HYPER_BB_GAMMA, | ||
| + | materlawset(2).put(HYPER_BB_USE_LNJ, | ||
| + | # 1 fiber orientation in the xy-plane | ||
| + | materlawset(2).put(HYPER_FIBS_THETA, | ||
| + | materlawset(2).put(HYPER_FIBS_DELTA, | ||
| + | | ||
| + | The volumetric potential is the '' | ||
| + | ## Volumetric potential | ||
| + | materlawset.define(3, | ||
doc/user/elements/volumes/hyper_functionbased.1763132016.txt.gz · Last modified: by vanhulle
