4.1.1.6.1.23. pyfem.materials.ViscoElasticity module
Viscoelastic material model using generalized Maxwell model.
This module implements a linear viscoelastic material based on the generalized Maxwell model (Prony series representation). The material behavior is modeled as a spring in parallel with multiple Maxwell elements (spring-dashpot pairs).
- class ViscoElasticity(props)[source]
Bases:
BaseMaterialViscoelastic material model using generalized Maxwell model.
This class implements a linear viscoelastic constitutive model based on the generalized Maxwell model (Prony series). The material consists of an elastic spring in parallel with N Maxwell elements, each having a relaxation time and modulus.
The relaxation modulus is expressed as: E(t) = E_inf + sum_i E_i * exp(-t/tau_i)
where: - E_inf: long-term (equilibrium) modulus - E_i: modulus of Maxwell element i - tau_i: relaxation time of Maxwell element i
4.1.1.6.1.23. Required Properties
- Efloat
Instantaneous Young’s modulus (total modulus at t=0).
- nufloat
Poisson’s ratio (assumed constant).
- Einffloat, optional
Long-term equilibrium modulus. Default: 0.1*E
- nMaxwellint, optional
Number of Maxwell elements. Default: 3
- relaxTimeslist of float, optional
Relaxation times for each Maxwell element [tau_1, tau_2, …]. If not provided, logarithmically spaced times are used.
- relaxModulilist of float, optional
Relaxation moduli for each Maxwell element [E_1, E_2, …]. If not provided, equal distribution is used.
Examples
Material properties in input file:
- <Material>
type = “ViscoElasticity”; E = 1000.0; nu = 0.3; Einf = 100.0; nMaxwell = 2; relaxTimes = [1.0, 10.0]; relaxModuli = [300.0, 600.0];
</Material>
- getStress(kinematics) Tuple[array, array][source]
Compute stress and tangent stiffness for the viscoelastic model.
Uses a generalized Maxwell model with multiple relaxation times to compute the stress from the strain history. The algorithm integrates the evolution equations for the internal strains of each Maxwell element using an exponential time integration scheme.
- Parameters:
kinematics (Kinematics) – Kinematics object containing strain tensor and time step information. Required attributes: - dstrain: strain increment (3 or 6 components) - strain: total strain (optional, for debugging)
- Returns:
sigma (ndarray) – Stress tensor (3 or 6 components, depending on input).
tang (ndarray) – Tangent stiffness matrix (3x3 or 6x6).
Notes
The stress is computed as: sigma = C_inf : (epsilon - sum_i eps_i)
where eps_i are the internal strains of each Maxwell element, evolved as: d(eps_i)/dt = (epsilon - eps_i) / tau_i