different results 2

Forum for OpenSees users to post questions, comments, etc. on the use of the OpenSees interpreter, OpenSees.exe

Moderators: silvia, selimgunay, Moderators

Post Reply
lorenzo
Posts: 7
Joined: Thu Jan 03, 2008 8:02 am
Location: perugia

different results 2

Post by lorenzo »

I'm executing a dinamic time history analysis of a 2D r.c. frame(4 storyes, 2 bays),
but I've got a question...
this is my script:


# ANALISI DINAMICA IN CAMPO NON LINEARE
# TELAIO PIANO A MAGLIE ORTOGONALI 4PIANI,2CAMPATE
# CAMPATE DA 5.00 m,ALTEZZA INTERPIANO 3.30;
#
# COSTRUZIONE DEL MODELLO GEOMETRICO
# UNITA' PRINCIPALI DI MISURA KN,m,sec
#
wipe;
set data ank;
file mkdir $data;
model BasicBuilder -ndm 2 -ndf 3;

# DEFINIZIONE DEI NODI
# ID X Y
#
node 1 0 0;
node 2 5 0;
node 3 10 0;
node 4 0 3.3;
node 5 5 3.3;
node 6 10 3.3;
node 7 0 6.6;
node 8 5 6.6;
node 9 10 6.6;
node 10 0 9.9;
node 11 5 9.9;
node 12 10 9.9;
node 13 0 13.2;
node 14 5 13.2;
node 15 10 13.2;

puts "nodi definiti!"
#
# DEFINIZIONE DEI VINCOLI ESTERNI
#
fix 1 1 1 1;
fix 2 1 1 1;
fix 3 1 1 1;
#
# DEFINIZIONE DEI VINCOLI DI PIANO
equalDOF 4 5 1;
equalDOF 4 6 1;
equalDOF 7 8 1;
equalDOF 7 9 1;
equalDOF 10 11 1;
equalDOF 10 12 1;
equalDOF 13 14 1;
equalDOF 13 15 1;

puts "vincoli definiti!"

# ASSEGNAZIONE DELLE MASSE
set g 9.81; # definizione dell' accelerazione di gravità
set perm 30.; # carichi permanenti uniformemente distribuiti
set acc1 10.; # carichi accidentali piani intermedi
set acc2 7.5; # carichi accidentali piano copertura

set combo1 [expr 1.0*$perm+1.0*0.3*$acc1]; # carico agente sulle travi inferiori (KN)
set combo2 [expr 1.0*$perm+1.0*0.3*$acc2]; # carico agente sulle travi di copertura (KN)
set massa1 [expr $combo1*10./(3.*$g)]; # massa sui nodi intermedi (KN/g)
set massa2 [expr $combo2*10./(3.*$g)]; # massa sui nodi in copertura (KN/g)

mass 4 $massa1 0. 0.;
mass 5 $massa1 0. 0.;
mass 6 $massa1 0. 0.;

mass 7 $massa1 0. 0.; # massa sui nodi del secondo livello
mass 8 $massa1 0. 0.;
mass 9 $massa1 0. 0.;

mass 10 $massa1 0. 0.; # massa sui nodi del terzo livello
mass 11 $massa1 0. 0.;
mass 12 $massa1 0. 0.;

mass 13 $massa2 0. 0.; # massa sui nodi del quarto livello
mass 14 $massa2 0. 0.;
mass 15 $massa2 1.e-8 0.;# assegnato 1 gdl in piu' di valore NON SIGNIFICATIVO

puts "masse assegnate!"


# DEFINIZIONE DEI MATERIALI ACCIAIO ElasticoPP CLS con modello Kent-Park

uniaxialMaterial Concrete01 1 32300. 0.002 16150. 0.01385;

uniaxialMaterial Concrete01 3 32300. 0.002 16150. 0.00335;

uniaxialMaterial Steel01 2 516000. 200000000. 1.e-8;

# DEFINIZIONE DELLE SEZIONI
# PILASTRO
# caratteristiche geometriche B=0.4m H=0.4m, 8f20, copriferro 4cm,

set Nydivpil 8;
set Nzdivpil 8; # numero di divisioni della sezione lungo i lati

section Fiber 1 {
patch quad 1 $Nydivpil $Nzdivpil -0.16 -0.16 0.16 -0.16 0.16 0.16 -0.16 0.16;
patch quad 3 1 6 -0.20 -0.20 0.20 -0.20 0.20 -0.16 -0.20 -0.16;
patch quad 3 1 6 -0.20 0.16 0.20 0.16 0.20 0.20 -0.20 0.20;
patch quad 3 8 1 -0.20 -0.16 -0.16 -0.16 -0.16 0.16 -0.20 0.16;
patch quad 3 8 1 0.16 -0.16 0.20 -0.16 0.20 0.16 0.16 0.16;
layer straight 2 3 0.000314 0.16 -0.16 0.16 0.16;
layer straight 2 3 0.000314 -0.16 -0.16 -0.16 0.16;
fiber 0.0 -0.16 0.000314 2;
fiber 0.0 0.16 0.000314 2;
}

# TRAVE INTERMEDIA
# definizione di una sezione a fibre per la trave
# caratteristiche geometriche B=0.3m H=0.5m, 4f20+1f16 superiori,3f16 inferiori, copriferro 4cm,

set Nydivtra 8;
set Nzdivtra 4; # numero di divisioni della sezione lungo i lati

section Fiber 2 {
patch quad 1 $Nydivtra $Nzdivtra -0.21 0.11 -0.21 -0.11 0.21 -0.11 0.21 0.11;
patch quad 3 1 4 -0.25 0.15 -0.25 -0.15 -0.21 -0.15 -0.21 0.15;
patch quad 3 1 4 0.21 0.15 0.21 -0.15 0.25 -0.15 0.25 0.15;
patch quad 3 8 1 -0.21 0.15 -0.21 0.11 0.21 0.11 0.21 0.15;
patch quad 3 8 1 -0.21 -0.11 -0.21 -0.15 0.21 -0.15 0.21 -0.11;
# armature
layer straight 2 3 0.0002 -0.21 0.11 -0.21 -0.11;
layer straight 2 4 0.000314 0.21 0.11 0.21 -0.11;
fiber 0.21 0. 0.0002 2;
}

# TRAVE COPERTURA
# definizione di una sezione a fibre per la trave di copertura
# caratteristiche geometriche B=0.3m H=0.5m, 4f16 superiori,3f16 inferiori, copriferro 4cm,

set Nydivcop 8;
set Nzdivcop 4; # numero di divisioni della sezione lungo i lati

section Fiber 3 {
patch quad 1 $Nydivcop $Nzdivcop -0.21 0.11 -0.21 -0.11 0.21 -0.11 0.21 0.11;
patch quad 3 1 6 -0.25 0.15 -0.25 -0.15 -0.21 -0.15 -0.21 0.15;
patch quad 3 1 6 0.21 0.15 0.21 -0.15 0.25 -0.15 0.25 0.15;
patch quad 3 8 1 -0.21 0.15 -0.21 0.11 0.21 0.11 0.21 0.15;
patch quad 3 8 1 -0.21 -0.11 -0.21 -0.15 0.21 -0.15 0.21 -0.11;
# armature
layer straight 2 3 0.0002 -0.21 0.11 -0.21 -0.11;
layer straight 2 4 0.0002 0.21 0.11 0.21 -0.11;
}

# TRASFORMAZIONE GEOMETRICA
geomTransf Linear 1;

# CARATTERISTICHE ELASTICHE
# vengono usate nelle parti centrali degli elementi, che sono considerate elastico-lineari

set Ec 31200000.; # modulo elastico del calcestruzzo
set Ap 0.16;
set At 0.15;
set Jp [expr 0.4*pow(0.4,3)/12]; #momento di inerzia del pilastro
set Jt [expr 0.3*pow(0.5,3)/12]; #momento di inerzia della trave

# ASSEGNAZIONE DEGLI ELEMENTI TRAVI CON CERNIERE AGLI ESTREMI

element beamWithHinges 13 4 5 2 0.59 2 0.59 $Ec $At $Jt 1 -mass 0.375; # TRAVI INTERMEDIE
element beamWithHinges 14 5 6 2 0.59 2 0.59 $Ec $At $Jt 1 -mass 0.375;
element beamWithHinges 15 7 8 2 0.59 2 0.59 $Ec $At $Jt 1 -mass 0.375;
element beamWithHinges 16 8 9 2 0.59 2 0.59 $Ec $At $Jt 1 -mass 0.375;
element beamWithHinges 17 10 11 2 0.59 2 0.59 $Ec $At $Jt 1 -mass 0.375;
element beamWithHinges 18 11 12 2 0.59 2 0.59 $Ec $At $Jt 1 -mass 0.375;
element beamWithHinges 19 13 14 3 0.52 3 0.52 $Ec $At $Jt 1 -mass 0.375; # TRAVI SUPERIORI
element beamWithHinges 20 14 15 3 0.52 3 0.52 $Ec $At $Jt 1 -mass 0.375;

element beamWithHinges 1 1 4 1 0.57 1 0.57 $Ec $Ap $Jp 1 -mass 0.4; # PRIMA PILASTRATA
element beamWithHinges 2 4 7 1 0.57 1 0.57 $Ec $Ap $Jp 1 -mass 0.4;
element beamWithHinges 3 7 10 1 0.57 1 0.57 $Ec $Ap $Jp 1 -mass 0.4;
element beamWithHinges 4 10 13 1 0.57 1 0.57 $Ec $Ap $Jp 1 -mass 0.4;

element beamWithHinges 5 2 5 1 0.57 1 0.57 $Ec $Ap $Jp 1 -mass 0.4; # SECONDA PILASTRATA
element beamWithHinges 6 5 8 1 0.57 1 0.57 $Ec $Ap $Jp 1 -mass 0.4;
element beamWithHinges 7 8 11 1 0.57 1 0.57 $Ec $Ap $Jp 1 -mass 0.4;
element beamWithHinges 8 11 14 1 0.57 1 0.57 $Ec $Ap $Jp 1 -mass 0.4;

element beamWithHinges 9 3 6 1 0.57 1 0.57 $Ec $Ap $Jp 1 -mass 0.4; # TERZA PILASTRATA
element beamWithHinges 10 6 9 1 0.57 1 0.57 $Ec $Ap $Jp 1 -mass 0.4;
element beamWithHinges 11 9 12 1 0.57 1 0.57 $Ec $Ap $Jp 1 -mass 0.4;
element beamWithHinges 12 12 15 1 0.57 1 0.57 $Ec $Ap $Jp 1 -mass 0.4;

puts "elementi connessi!"

######################################################################################################
# ANALISI MODALE
eigen 2;

set lambda1 [lindex [eigen 2] 0];
set lambda2 [lindex [eigen 2] 1];

puts $lambda1;
puts $lambda2;
######################################################################################################

# DEFINIZIONE DEI CARICHI GRAVITAZIONALI
# CARICO UNIFORMEMENTE DISTRIBUITO SULLE TRAVI
pattern Plain 1 Linear {
eleLoad -ele 13 14 15 16 17 18 -type -beamUniform -33. ; # carico agente sulle travi inferiori
eleLoad -ele 19 20 -type -beamUniform -32.25 ; # carico agente sulle travi di copertura
}

constraints Plain;
numberer Plain;
system BandGeneral;
test NormDispIncr 1.0e-8 6 ;
algorithm Newton;
integrator LoadControl 1;
analysis Static;
analyze 1;
loadConst -time 0.0; # riazzera il tempo

puts "telaio caricato!"

# ANALISI DINAMICA NON LINEARE
# SI EFFETTUA CON ACCELEROGRAMMA AL PIEDE DELLA STRUTTURA

set timeHistory "Series -dt 0.01 -filePath ankara.acc -factor 1";

pattern UniformExcitation 2 1 -accel $timeHistory;

############################# PROCEDURA PRESA DALL' ESEMPIO #######################
# ------------ define & apply damping
# RAYLEIGH damping parameters, Where to put M/K-prop damping, switches
# (http://opensees.berkeley.edu/OpenSees/m ... l/1099.htm)
# D=$alphaM*M + $betaKcurr*Kcurrent + $betaKcomm*KlastCommit + $beatKinit*$Kinitial

set xDamp 0.05; # damping ratio
set MpropSwitch 1.0;
set KcurrSwitch 0.0;
set KcommSwitch 0.0;
set KinitSwitch 1.0;
set nEigenI 1; # mode 1
set nEigenJ 2; # mode 2
set lambdaN [eigen [expr $nEigenJ]]; # eigenvalue analysis for nEigenJ modes
set lambdaI [lindex $lambdaN [expr $nEigenI-1]]; # eigenvalue mode i
set lambdaJ [lindex $lambdaN [expr $nEigenJ-1]]; # eigenvalue mode j

puts $lambdaN
puts $lambdaI
puts $lambdaJ

set omegaI [expr pow($lambdaI,0.5)];
set omegaJ [expr pow($lambdaJ,0.5)];
set alphaM [expr $MpropSwitch*$xDamp*(2*$omegaI*$omegaJ)/($omegaI+$omegaJ)];
set betaKcurr [expr $KcurrSwitch*2.*$xDamp/($omegaI+$omegaJ)];
set betaKcomm [expr $KcommSwitch*2.*$xDamp/($omegaI+$omegaJ)];
set betaKinit [expr $KinitSwitch*2.*$xDamp/($omegaI+$omegaJ)];
rayleigh $alphaM $betaKcurr $betaKinit $betaKcomm;

#####################################################################################

constraints Plain;
numberer Plain;
system BandGeneral;
test NormDispIncr 1.e-8 10;
algorithm Newton;
integrator Newmark 0.5 0.25;
analysis Transient;
analyze 2500 0.01;

puts "Done!"
######################################################################################

please, check the part of eigen command and rayleigh damping definition...

the commands:

set lambda1 [lindex [eigen 2] 0];
set lambda2 [lindex [eigen 2] 1];
puts $lambda1 gives 9.033016e+001
puts $lambda2 gives 8.772143e+002

set nEigenI 1;
set nEigenJ 2;
set lambdaN [eigen [expr $nEigenJ]];
set lambdaI [lindex $lambdaN [expr $nEigenI-1]];
set lambdaJ [lindex $lambdaN [expr $nEigenJ-1]];
puts $lambdaI gives 5.500994e+001
puts $lambdaJ gives 5.203361e+002

why the results are different, I was expected equal results....
WHAT IS MY MISTAKE?
thanks
lorenzo
Posts: 7
Joined: Thu Jan 03, 2008 8:02 am
Location: perugia

Post by lorenzo »

I try the same analysis with a new model(same geometry but differents sections,not fiber sections) and in this case the results of puts $lambda1,puts $lambdaI,...etc. are the same!
is it possible that different behaviors depends from section type or element type?
tanks for your kind attention!
and sorry for my bad english!!
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

Lorenzo,
you are doing the analyses at different times. one before gravity, one after.
Once you apply the gravity loads, when you are using a material that does not have a constant stiffness at the beginning (such as concrete) you have different eigenvalues.
does this make sense?
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
lorenzo
Posts: 7
Joined: Thu Jan 03, 2008 8:02 am
Location: perugia

Post by lorenzo »

and is more correct to define the alpha and beta constants for damping with the eigenvalues calculated before or after the gravity analysis?
I perform the same analysis with sap2000 and ruaumoko programs, and I think they don't consider this distinction...
For the damping definition I use the method in the upper script(the same I find in the examples section)...is it correct for my analysis?
...the opensees results are differents from sap and ruaumoko results!!!
I think the the reason of the different results are in the different approach(lumped plasticity for sap and ruaumoko programs, fiber approach in the opensees), but I'm not sure!!
thank you for your reply.
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

try the uniaxial section in the nonlinear beam, it might give you similar results, maybe. but the fiber section is, indeed, the best, as it takes axial-flexural coupling.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
lorenzo
Posts: 7
Joined: Thu Jan 03, 2008 8:02 am
Location: perugia

Post by lorenzo »

in fact, I use the fiber approach because I need the P-M interaction in the plastic hinges...and in opensees only fiber approach give this!right?

I observe that the different results are principally in the residual displacements, in opensees the residuals are always near the "zero" value!!
is it possible that the elements I use doesn't maintain the plastic displacements when loads reduces?
I think this matter depends of the materials I use(concrete01 and steel01) which(I think)doesn't consider unloaded in hysteretical behavior...
is it a right idea to use the hysteretical material rather than concrete and steel material?
tanks for your kind attention
have a good day.Lorenzo
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

use concrete02 for concrete.
steel02 does have a hysteretic response, it just has a bilinear response only. if you go to very large steel strains, you might want to consider the hysteretic material...
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
lorenzo
Posts: 7
Joined: Thu Jan 03, 2008 8:02 am
Location: perugia

Post by lorenzo »

ok, I try a new analysis with this material...
...all my previous analysis gives me a residual displacements near the zero value,it is impossible this is a coincidence!
tanks for your reply
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

what residual strength do you give your concrete material?
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
juanoviedo
Posts: 38
Joined: Wed Jul 11, 2007 1:46 am
Location: Hokkaido University - Japan

Contact

Post by juanoviedo »

Hello Lorenzo!

My name is Juan from Hokkaido University in Japan.
I was checking some posts and I found yours. I would like to ask you some questions now that my analysis is quite similar to the one you described.
Please let me know....

oviedo@hokudai.ac.jp

Regards,
Juan Andrés Oviedo A.
Graduate School of Engineering
Hokkaido University
Sapporo, Japan
Post Reply