Buche-Silberstein model

Binder

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()
../../_images/constitutive_hyperelastic_buche_silberstein_example_3_0.png
../../_images/constitutive_hyperelastic_buche_silberstein_example_3_1.png
[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()
../../_images/constitutive_hyperelastic_buche_silberstein_example_4_0.png