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:05] – [Generalized Neo-Hookean Material with Thermal Expansion] vanhulle | doc:user:elements:volumes:hyper_functionbased [2026/07/02 14:15] (current) – 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, | + | \psi = \sum_{i=1}^{N_{e}}\psi_{e}^{(i)} + \sum_{i=1}^{N_{vol}}\psi_{vol}^{(i)} |
| $$ | $$ | ||
| - | 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 25: | Line 28: | ||
| ^ | ^ | ||
| | Density | | Density | ||
| - | | Initial bulk modulus ($k_0$) | + | | Array of numbers defining |
| - | | Number | + | | Array of numbers defining |
| - | | Number | + | | Array of numbers defining |
| - | | Number | + | |
| | Material temperature evolution law | '' | | Material temperature evolution law | '' | ||
| | Orthotropic axis | '' | | Orthotropic axis | '' | ||
| Line 59: | Line 61: | ||
| ^ | ^ | ||
| | Density | | Density | ||
| - | | Initial bulk modulus ($k_0$) | + | | Array of numbers defining |
| - | | Number | + | | Array of numbers defining |
| - | | Number | + | | Array of numbers defining |
| - | | Number | + | |
| | Material temperature evolution law | '' | | Material temperature evolution law | '' | ||
| | Orthotropic axis | '' | | Orthotropic axis | '' | ||
| Line 76: | Line 77: | ||
| | 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)} + \sum_{i=1}^{N_{vol}}\psi_{vol}^{(i)} | ||
| + | $$ | ||
| + | |||
| + | 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 | ||
| + | | 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 ====== | ||
| Line 90: | 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 103: | 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 114: | 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, | ||
| + | We create the '' | ||
| ## Generalized Maxwell Potential | ## Generalized Maxwell Potential | ||
| materlawset.define(1, | materlawset.define(1, | ||
| + | The main spring of the grid is the '' | ||
| ### Main spring is Neo-Hookean | ### Main spring is Neo-Hookean | ||
| materlawset.define(101, | materlawset.define(101, | ||
| Line 128: | Line 158: | ||
| materlawset(1).put(HYPER_MAIN_POTENTIAL_NO, | materlawset(1).put(HYPER_MAIN_POTENTIAL_NO, | ||
| | | ||
| + | We add n parallel '' | ||
| ### n Maxwell Branches | ### n Maxwell Branches | ||
| for i in range(0, n): | for i in range(0, n): | ||
| Line 138: | 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 150: | 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 164: | 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 171: | Line 273: | ||
| ## Volumetric potential | ## Volumetric potential | ||
| materlawset.define(3, | materlawset.define(3, | ||
| + | materlawset(3).put(HYPER_COMPR_MODULUS, | ||
| Line 196: | 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 217: | Line 319: | ||
| ## Volumetric potential | ## Volumetric potential | ||
| materlawset.define(3, | materlawset.define(3, | ||
| + | materlawset(3).put(HYPER_COMPR_MODULUS, | ||
doc/user/elements/volumes/hyper_functionbased.1768471554.txt.gz · Last modified: by vanhulle
