The subloading surface framework provides advantageous features that conventional plasticity models do not offer when it comes to modelling cyclic behaviour.
In this example, we demonstrate the performance and how to calibrate the model.
We mainly use the data presented in .
To make life easier, we first define some utility functions.
from dataclasses import dataclass
from os import system
from h5py import File
import matplotlib.pyplot as plt
@dataclass
class Curve:
name: str
x: list[float]
y: list[float]
def execute(name: str, content: str):
with open("example.sp", "w") as f:
f.write(content)
system("suanpan -np -f example.sp")
with File("RESULT.h5") as f:
return Curve(name, f["dataset"][:, 0], f["dataset"][:, 1])
def plot(title: str, curves: list[Curve]):
for curve in curves:
plt.plot(curve.x, curve.y, label=curve.name)
plt.legend()
plt.tight_layout()
plt.grid()
plt.title(title)
plt.show()
Smooth Transition
We consider a very basic, elastic-perfectly plastic response. We choose a moderate value 400Â MPa for initial yield stress.
The evolution rate u of yield ratio controls the curvature. A higher value u results in a faster approaching, making the response closer to conventional elastic-perfectly plastic. However, the conventional bi-linear response is not realistic, and the stiffness shows a discontinuity/jump at the yielding point.
The introduction of yield ratio z ensures a controllable smooth transition from the conventional 'elastic' region to the 'plastic' one.
On top of the initial yield stress, a saturation can be added. The response exponentially approaches the saturation stress, this can be accompanied with a linear hardening as well.
Here, we choose a linear hardening modulus 2000Â MPa, which is 0.1 of elastic modulus. However, this hardening modulus is measured with plastic strain, the total response would present a different slope. We further choose a saturation of 200Â MPa, so the total stress shall be 600Â MPa, in absence of linear hardening.
We shall see that misos​ controls saturation speed.
Similarly, kinematic hardening also saturated to ai. In additional to that, since it is defined that the saturation itself is not a constant, itself can be saturated again. We choose a ai=100Â MPa with potentially another 150Â MPa saturation, resulting in 500Â MPa to 650Â MPa in total, depending on the configuration.
The original subloading surface model shows excessive plastic strain accumulation under cyclic loading. The extended version addresses such an issue with the assist of the elastic core. It is controlled by $z_e$ and $c_e$, the former controls the size, while the latter controls the rate.
To illustrate, we choose a bilinear hardening model as the basis.
It is not recommanded to define a large linear isotropic hardening.
Since the loading phase always incurs accumulation of plasticity, stable one sided cycles will accumulate plasticity, which further results in larger yield surface if the linear isotropic hardening is present.
The following shows an example with a small amount of linear isotropic hardening.