Hello,
I'm trying to use ConfinedConcrete01 for the core concrete of my section, but there is a problem when I try to convert the parameters of an example of the wiki to the international units(kg,m, Pa, etc).
Here is my simple code:
Uncomment this 2 line for using the international units:
#set in 2.54e-2
#set Mpa 1e6
With this 2 lines commented, the stressStrain curve looks fine.
With the first line uncommented, it remains the same.
But when both are commented, there are problems.
Thank you for your help,
Thomas.
[code]
model basic -ndm 2 -ndf 3;
node 1 0 0;
node 2 0. 0;
fix 1 1 1 1;
fix 2 0 1 1;
set idmat 1
puts "example of ConfinedConcrete01"
puts "uniaxialMaterial ConfinedConcrete01 1 R -30.0 26081.0 -epscu -0.03 -varUB 500.0 300.0 10.0 100.0 300.0 206000.0 0.0 1000.0 16.0 -stRatio 0.85"
set in 1.0
set Mpa 1e0
#set in 2.54e-2
#set Mpa 1e6
set fc [expr -30.*$Mpa]
set Ec [expr 26081.*$Mpa]
set Fy [expr 300.*$Mpa]
set Es [expr 206000.*$Mpa]
set bs 0.
#length/diameter of square/circular core section measured respect to the hoop center line.
set L1 [expr 500.*$in]
#additional dimensions when multiple hoops are being used.
set L2 [expr 300.*$in]
#hoop diameter. If section arrangement has multiple hoops it refers to the external hoop.
set phis [expr 10.*$in]
#hoop spacing.
set S [expr 100.*$in]
#ductility factor of the hoop steel
set mu 1000.
#diameter of longitudinal bars.
set phiLon [expr 16.*$in]
uniaxialMaterial ConfinedConcrete01 1 R $fc $Ec -epscu -0.03 -varUB $L1 $L2 $phis $S $Fy $Es $bs $mu $phiLon -stRatio 0.85
puts "tested ConfinedConcrete01:"
puts "uniaxialMaterial ConfinedConcrete01 1 R $fc $Ec -epscu -0.03 -varUB $L1 $L2 $phis $S $Fy $Es $bs $mu $phiLon -stRatio 0.85"
uniaxialMaterial Elastic 10 0.1
element zeroLength 2 1 2 -mat 10 -dir 1;
section fiberSec 1 {patch rect $idmat 1 1 -1. -1. 1. 1.}
element zeroLengthSection 1 1 2 1;
set values {
-0.002
0
-0.002
0
-0.004
0
-0.004
0.001
-0.008
0.001
-0.008
0.001
-0.008
0.001
-0.008
}
pattern Plain 1 Linear {
load 2 1.0 0 0
}
recorder Element -file stressStrain.out -ele 1 section fiber 0.0 0.0 stressStrain
constraints Plain; # how it handles boundary conditions
numberer RCM; # renumber dof's to minimize band-width (optimization), if you want to
system BandGeneral; # how to store and solve the system of equations in the analysis
set Tol 1e-4
set test_type NormDispIncr
set Niter 200
set default_algorithm Newton
test $test_type $Tol $Niter
algorithm $default_algorithm
integrator DisplacementControl 2 1 0.01
analysis Static; # define type of analysis: time-dependent
set LastVal 0.
foreach val $values {
integrator DisplacementControl 2 1 [expr 1e-0*($val-$LastVal)/200.]
puts $val
set ok [analyze 200]
if $ok!=0 {exit 0}
set LastVal $val
}
[/code]
[solved] Problem with ConfinedConcrete01 and USI
Moderators: silvia, selimgunay, Moderators
-
- Posts: 28
- Joined: Fri Mar 11, 2011 2:12 am
- Location: Orléans
[solved] Problem with ConfinedConcrete01 and USI
Last edited by thomas.ulrich on Sat Dec 01, 2012 3:38 am, edited 2 times in total.
Re: Problem with ConfinedConcrete01 and USI
In the manual for the material units are not restricted. Check your code again and make sure that you are consistent with your units. I do not know what is the meaning of "in" and "MPa" but inches and MPa do not belong to the same system of units. I also noticed that you did not assign any units to your variable "values".
-
- Posts: 28
- Joined: Fri Mar 11, 2011 2:12 am
- Location: Orléans
Re: Problem with ConfinedConcrete01 and USI
Dear Vesna,
Thank you for your quick reply.
actually you were right: I thought that the units were Mpa and inch, but after your comment, it is probably in Mpa=N/mm and mm.
(Sorry I'm not regular with the barbaric units used by those who drive on the left and their friends )
So I tried converting by using:
set in 1e-3; #in means mm :-s
set Mpa 1e6
But I'm still having the same problem when looking at the stress strain curve.
Finally, I've beeing watching the code and I realized that the code is only made for Mpa/mm:
For instance in the function void ConfinedConcrete01::setupAttardSetunge
[code]
//Initial tangent modulus
if (fpc >= 100) {
alpha = 1.0;
} else if (fpc <= 20) {
alpha = 1.17;
} else {
alpha = 1.17-0.17*(fpc-20)/(100-20);
}
[/code]
-->Clearly, changing the units will have an influence!!
This is something which should be mentioned in the wiki or changed in the code in my opinion.
Thank you for your quick reply.
actually you were right: I thought that the units were Mpa and inch, but after your comment, it is probably in Mpa=N/mm and mm.
(Sorry I'm not regular with the barbaric units used by those who drive on the left and their friends )
So I tried converting by using:
set in 1e-3; #in means mm :-s
set Mpa 1e6
But I'm still having the same problem when looking at the stress strain curve.
Finally, I've beeing watching the code and I realized that the code is only made for Mpa/mm:
For instance in the function void ConfinedConcrete01::setupAttardSetunge
[code]
//Initial tangent modulus
if (fpc >= 100) {
alpha = 1.0;
} else if (fpc <= 20) {
alpha = 1.17;
} else {
alpha = 1.17-0.17*(fpc-20)/(100-20);
}
[/code]
-->Clearly, changing the units will have an influence!!
This is something which should be mentioned in the wiki or changed in the code in my opinion.
Re: Problem with ConfinedConcrete01 and USI
Thanks for pointing this out!
I modified the wiki page: http://opensees.berkeley.edu/wiki/index ... 1_Material
Is it better?
I modified the wiki page: http://opensees.berkeley.edu/wiki/index ... 1_Material
Is it better?
-
- Posts: 28
- Joined: Fri Mar 11, 2011 2:12 am
- Location: Orléans