Buche-Silberstein model
For more information, see Buche and Silberstein, 2020.
[1]:
from polymers import constitutive
BucheSilberstein = constitutive.hyperelastic.BucheSilberstein
[2]:
import numpy as np
import matplotlib.pyplot as plt
[3]:
stretch = np.linspace(1, 4, 33)
for kappa in (50, 5):
plt.plot(stretch, stretch**2 - 1/stretch, '#66cc1a') # orange: #ff9933
for method, color, style in zip((2, 3), ('#0080ff', '#a61433'), ('-', '--')):
for num_links in (5, 10, 25):
model = BucheSilberstein(method, kappa, num_links)
stress = model.uniaxial_tension(stretch)
plt.plot(stretch, stress, color, linestyle=style)
plt.xlabel(r'$F_{11}$, where $F_{22}=F_{33}=1/\sqrt{F_{11}}$')
plt.ylabel(r'$\beta\sigma_{11}/n$')
plt.xlim([1, 4])
plt.ylim([0, 35])
plt.show()
[4]:
kappa = 50
plt.plot(stretch, stretch**2 - 1/stretch**4, '#66cc1a') # orange: #ff9933
for method, color, style in zip((2, 3), ('#0080ff', '#a61433'), ('-', '--')):
for num_links in (5, 10, 25):
model = BucheSilberstein(method, kappa, num_links)
stress = model.equibiaxial_tension(stretch)
plt.plot(stretch, stress, color, linestyle=style)
plt.xlabel(r'$F_{11}=F_{22}$, where $F_{33}=F_{11}^{-2}$')
plt.ylabel(r'$\beta\sigma_{11}/n$')
plt.xlim([1, 4])
plt.ylim([0, 35])
plt.show()