OpenSees Cloud
OpenSees AMI
Concrete02 with Control of the Initial Stiffness
Original Post - 06 Nov 2021 - Michael H. Scott
Visit Structural Analysis Is Simple on Substack.
Although they have the same compressive envelope, Concrete02
offers
more features
than Concrete01
–tension strength, tension stiffening, and
compressive unloading/reloading loops. However, one thing Concrete02
(and Concrete01
) lacks is control over the initial stiffness, which is
fixed at \(E_c=2f'_c/\varepsilon_{c0}\).
To overcome this limitation with Concrete02
,
Nasser Marafi
created Concrete02IS
(Concrete02
with control of the Initial Stiffness) and
merged the model in 2018 with the main OpenSees branch. Thanks, Nasser,
for pushing your contribution back upstream!
Unfortunately, the Concrete02IS
model is not documented, which explains
some of the back and forth in this
pull request from 2020. We figured
out eventually that Concrete02IS
was exactly what the author of the pull
request wanted in the first place. That would not have been the first,
or last, unnecessary duplication of an OpenSees uniaxial material.
The input initial stiffness for Concrete02IS
comes at the start of the
argument list, followed by the standard Concrete02
inputs.
# Input lam, ft, Ets
ops.uniaxialMaterial('Concrete02', 1, -fc,-epsc0,-fcu,-epscu,lam,ft,Ets)
ops.uniaxialMaterial('Concrete02IS',2,Ec,-fc,-epsc0,-fcu,-epscu,lam,ft,Ets)
# With default lam, ft, Ets
ops.uniaxialMaterial('Concrete02', 3, -fc,-epsc0,-fcu,-epscu)
ops.uniaxialMaterial('Concrete02IS',4,Ec,-fc,-epsc0,-fcu,-epscu)
The compressive stress-strain loops for Concrete02IS
with
f’c=4000 psi,
\(\varepsilon_{c0}\)=0.002, f’cu=1000 psi, and
\(\varepsilon_{cu}\)=0.006 are shown below for
\(E_c=2f'_c/\varepsilon_{c0}\)=4000 ksi (the same initial stiffness as
Concrete02).
Concrete02IS
gives a slightly different ascending branch of the backbone
because Concrete02IS
uses the Popovics equation whereas Concrete02 uses
the Hognestad parabola. However, the unloading and reloading behavior is
the same between the two models.
Comparisons of Concrete02IS
and Concrete02
are shown below using a range
of initial stiffnesses for Concrete02IS
:
- \(E_c=57000\sqrt{f'_c}\)=3604 ksi - common empirical relationship for normalweight concrete
- \(E_c=f'_c/\varepsilon_{c0}\)=2000 ksi - secant stiffness to the peak compressive strength
- \(E_c = 3f'_c/\varepsilon_{c0}\)=6000 ksi - something overly stiff
As shown in the cyclic stress-strain response, the input initial
stiffness affects the unloading/reloading loops in compression. I am not
sure if this is the intended behavior, but this is the stress-strain
response that the Concrete02IS
model generates.
If you are screaming on the inside that the cyclic response of
Concrete02IS
should be different, let me know. Based on the source code,
I believe it would be an easy change.