natural frequencies difference before and after analyze 1ste

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

Moderators: silvia, selimgunay, Moderators

Horr
Posts: 31
Joined: Sat Jan 15, 2011 12:26 am
Location: Sharif University of Technology

natural frequencies difference before and after analyze 1ste

Post by Horr »

Dear Vesna,

The natural periods of the structure are differnt before and after analyzing just 1 step :shock: . The gravity load or pushover is analyzed just 1 step, So the system characteristics is not changed.


################################################################################
## 10-STORY BUILDING MODEL WITH CONCENTRATED PLASTICITY IN ROTATIONAL SPRINGS ##
################################################################################

wipe;
wipeAnalysis;

file mkdir Data;

model BasicBuilder -ndm 2 -ndf 3;

##############################################################################
# FRAME INPUT DATA
##############################################################################
set NStory 10;
set NBay 5;
set LCol 3.; # First story height is considered 4m using ($level-1)*$LCol+1.
set LBeam 5.;

set nodeMass 18.5e3;

###########################
# COLOUMN & BEAM SECTIONS #
###########################
set E 25.e9;
# Beam: 60X40 50X40 50X30 40X30 Col:60X60 50X50 40X40
set A "0.32 0.26 0.2 0.15 0. 0. 0. 0. 0. 0. 0.52 0.35 0.21 0. 0. 0. 0. 0. 0. 0.";
set I "0.0105 0.0055 0.0043 0.0018 0. 0. 0. 0. 0. 0. 0.018 0.0078 0.0026 0. 0. 0. 0. 0. 0. 0.";

###############################
# ROTATIONAL SPRINGS SECTIONS #
###############################
# Beam: 60X40 50X40 50X30 40X30 Col:60X60 50X50 40X40
set My "50.e4 31.e4 27.e4 13.7e4 0. 0. 0. 0. 0. 0. 105.e4 58.e4 35.e4 0. 0. 0. 0. 0. 0. 0.";
#set Eo "19.e7 15.e7 11.e7 5.8e7 0. 0. 0. 0. 0. 0. 34.e7 18.2e7 11.e7 0. 0. 0. 0. 0. 0. 0.";
set Eo "19.e9 15.e9 11.e9 5.8e9 0. 0. 0. 0. 0. 0. 34.e9 18.2e9 11.e9 0. 0. 0. 0. 0. 0. 0.";
set b 0.;

################ WHICH SECTION FOR WHICH STORY ################
set beamSecStory "6 7 9 15 20 0 0 0 0";
set colSecStory "4 8 10 15 20 0 0 0 0";


##############################################################################
# FRAME GEOMETRY
##############################################################################
for {set level 1} {$level <= [expr $NStory+1]} {incr level} {
for {set pier 1} {$pier <= [expr $NBay+1]} {incr pier} {
if {$level == 1} {
set nodeID [expr ($level-1)*($NBay+1)+$pier];
node $nodeID [expr ($pier-1)*$LBeam] [expr ($level-1)*$LCol];
} elseif {$level == [expr $NStory+1]} {
if {$pier == 1 || $pier == ($NBay+1)} {
for {set i 1} {$i <= 3} {incr i} {
set nodeID [expr $nodeID+1];
node $nodeID [expr ($pier-1)*$LBeam] [expr ($level-1)*$LCol+1];
}
} else {
for {set i 1} {$i <= 4} {incr i} {
set nodeID [expr $nodeID+1];
node $nodeID [expr ($pier-1)*$LBeam] [expr ($level-1)*$LCol+1];
}
}
} else {
if {$pier == 1 || $pier == ($NBay+1)} {
for {set i 1} {$i <= 4} {incr i} {
set nodeID [expr $nodeID+1];
node $nodeID [expr ($pier-1)*$LBeam] [expr ($level-1)*$LCol+1];
}
} else {
for {set i 1} {$i <= 5} {incr i} {
set nodeID [expr $nodeID+1];
node $nodeID [expr ($pier-1)*$LBeam] [expr ($level-1)*$LCol+1];
}
}
}
}
};
for {set pier 1} {$pier <= [expr $NBay+1]} {incr pier} {
set nodeID [expr $nodeID+1];
node $nodeID [expr ($pier-1)*$LBeam] 0;
}

for {set nodeID 1} {$nodeID <= [expr $NBay+1]} {incr nodeID} {
fix $nodeID 1 1 1;
}


##############################################################################
# NODAL MASS
##############################################################################
set nodeID [expr $NBay+1];
for {set level 1} {$level <= [expr $NStory]} {incr level} {
for {set pier 1} {$pier <= [expr $NBay+1]} {incr pier} {
if {$level == $NStory} {
if {$pier == 1 || $pier == ($NBay+1)} {
mass $nodeID [expr $nodeMass/2] 1.e-9 0.;
set nodeID [expr $nodeID+3];
} else {
mass $nodeID $nodeMass 1.e-9 0.;
set nodeID [expr $nodeID+4];
}
} else {
if {$pier == 1 || $pier == ($NBay+1)} {
mass $nodeID [expr $nodeMass/2] 1.e-9 0.;
set nodeID [expr $nodeID+4];
} else {
mass $nodeID $nodeMass 1.e-9 0.;
set nodeID [expr $nodeID+5];
}
}
}
};


#######################################
# MOMENT-ROTATION BEHAVIOR OF SPRINGS #
#######################################
for {set matID 1} {$matID <= 20} {incr matID} {
uniaxialMaterial Steel01 $matID [lindex $My $matID-1] [lindex $Eo $matID-1] $b;
}

############################
# GEOMETRIC TRANSFORMATION #
############################
set IDColTransf 1;
set IDBeamTransf 2;
geomTransf Linear $IDColTransf;
geomTransf Linear $IDBeamTransf;


##############################################################################
# BEAM AND COLUMN ELEMENTS
##############################################################################
set noStoryNode [expr 5*($NBay-1)+8];

################ NO ELONGATION for BEAMS or COLUMNS ################
for {set level 1} {$level <= $NStory} {incr level} {
if {$level <= $NStory-1} {
set noNode 5;
} else {
set noNode 4;
}
set nodeLevel [expr $NBay+2+($level-1)*$noStoryNode];
for {set pier 2} {$pier <= $NBay+1} {incr pier} {
set nodeSlave [expr $nodeLevel+$noNode*($pier-1)-1];
equalDOF $nodeLevel $nodeSlave 1;
}
};

#for {set pier 1} {$pier <= $NBay+1} {incr pier} {
# for {set level 1} {$level <= $NStory-1} {incr level} {
# if {$pier == 1} {
# equalDOF $pier [expr $pier+($NBay+1+($pier-1)*4)+($level-1)*$noStoryNode] 2;
# } else {
# equalDOF $pier [expr $pier+($NBay+1+($pier-1)*4-1)+($level-1)*$noStoryNode] 2;
# }
# }
#};
#for {set pier 1} {$pier <= $NBay+1} {incr pier} {
# if {$pier == 1} {
# equalDOF $pier [expr $pier+($NBay+1+($pier-1)*4)+($NStory-1)*$noStoryNode-($pier-1)] 2;
# } else {
# equalDOF $pier [expr $pier+($NBay+1+($pier-1)*4-1)+($NStory-1)*$noStoryNode-($pier-1)] 2;
# }
#}

################ Assign BEAM ELEMENTS ################
set i 1;


for {set level 1} {$level <= $NStory} {incr level} {

if {$level <= [lindex $beamSecStory 0]} {
set matID 1;
} elseif {$level <= [lindex $beamSecStory 1]} {
set matID 2;
} elseif {$level <= [lindex $beamSecStory 2]} {
set matID 3;
} elseif {$level <= [lindex $beamSecStory 3]} {
set matID 4;
} elseif {$level <= [lindex $beamSecStory 4]} {
set matID 5;
} elseif {$level <= [lindex $beamSecStory 5]} {
set matID 6;
} elseif {$level <= [lindex $beamSecStory 6]} {
set matID 7;
} elseif {$level <= [lindex $beamSecStory 7]} {
set matID 8;
} elseif {$level <= [lindex $beamSecStory 8]} {
set matID 9;
} else {
set matID 10;
}

if {$level <= $NStory-1} {
set noNode 5;
} else {
set noNode 4;
}

set nodeLevel [expr $NBay+2+($level-1)*$noStoryNode];

for {set pier 1} {$pier <= $NBay} {incr pier} {
if {$pier == 1} {
element elasticBeamColumn $i [expr $nodeLevel+1] [expr $nodeLevel+$noNode] [lindex $A $matID-1] $E [lindex $I $matID-1] $IDBeamTransf;
set i [expr $i+1];
} else {
element elasticBeamColumn $i [expr $nodeLevel+$noNode*($pier-1)+1] [expr $nodeLevel+$noNode*$pier] [lindex $A $matID-1] $E [lindex $I $matID-1] $IDBeamTransf;
set i [expr $i+1];
}
}
}


################ Assign COLUMN ELEMENTS ################
set i 1;

# Column for Story 1
set noNode 5;
set matID 11;
for {set pier 1} {$pier <= [expr $NBay+1]} {incr pier} {
if {$pier == [expr $NBay+1]} {
element elasticBeamColumn [expr 1000+$i] [expr $noStoryNode*$NStory+$pier] [expr ($NBay+1)+2+($pier-1)*$noNode] [lindex $A $matID-1] $E [lindex $I $matID-1] $IDColTransf;
set i [expr $i+1];
} else {
element elasticBeamColumn [expr 1000+$i] [expr $noStoryNode*$NStory+$pier] [expr ($NBay+1)+3+($pier-1)*$noNode] [lindex $A $matID-1] $E [lindex $I $matID-1] $IDColTransf;
set i [expr $i+1];
}
}


# Column for Story 2 to $Nstory-1
for {set level 2} {$level <= $NStory-1} {incr level} {

if {$level <= [lindex $colSecStory 0]} {
set matID 11;
} elseif {$level <= [lindex $colSecStory 1]} {
set matID 12;
} elseif {$level <= [lindex $colSecStory 2]} {
set matID 13;
} elseif {$level <= [lindex $colSecStory 3]} {
set matID 14;
} elseif {$level <= [lindex $colSecStory 4]} {
set matID 15;
} elseif {$level <= [lindex $colSecStory 5]} {
set matID 16;
} elseif {$level <= [lindex $colSecStory 6]} {
set matID 17;
} elseif {$level <= [lindex $colSecStory 7]} {
set matID 18;
} elseif {$level <= [lindex $colSecStory 8]} {
set matID 19;
} else {
set matID 20;
}

set nodeLevel [expr $NBay+2+($level-1)*$noStoryNode];

for {set pier 1} {$pier <= [expr $NBay+1]} {incr pier} {
if {$pier == 1} {
element elasticBeamColumn [expr 1000+$i] [expr $nodeLevel+($pier-1)*$noNode-$noStoryNode+3] [expr $nodeLevel+($pier-1)*$noNode+2] [lindex $A $matID-1] $E [lindex $I $matID-1] $IDColTransf;
set i [expr $i+1];
} elseif {$pier == [expr $NBay+1]} {
element elasticBeamColumn [expr 1000+$i] [expr $nodeLevel+($pier-1)*$noNode-$noStoryNode+2] [expr $nodeLevel+($pier-1)*$noNode+1] [lindex $A $matID-1] $E [lindex $I $matID-1] $IDColTransf;
set i [expr $i+1];
} else {
element elasticBeamColumn [expr 1000+$i] [expr $nodeLevel+($pier-1)*$noNode-$noStoryNode+3] [expr $nodeLevel+($pier-1)*$noNode+2] [lindex $A $matID-1] $E [lindex $I $matID-1] $IDColTransf;
set i [expr $i+1];
}
}
}

# Column for Story $NStory
set level $NStory;

if {$level <= [lindex $colSecStory 0]} {
set matID 11;
} elseif {$level <= [lindex $colSecStory 1]} {
set matID 12;
} elseif {$level <= [lindex $colSecStory 2]} {
set matID 13;
} elseif {$level <= [lindex $colSecStory 3]} {
set matID 14;
} elseif {$level <= [lindex $colSecStory 4]} {
set matID 15;
} elseif {$level <= [lindex $colSecStory 5]} {
set matID 16;
} elseif {$level <= [lindex $colSecStory 6]} {
set matID 17;
} elseif {$level <= [lindex $colSecStory 7]} {
set matID 18;
} elseif {$level <= [lindex $colSecStory 8]} {
set matID 19;
} else {
set matID 20;
}

set nodeLevel [expr $NBay+2+($level-1)*$noStoryNode];
for {set pier 1} {$pier <= [expr $NBay+1]} {incr pier} {
if {$pier == [expr $NBay+1]} {
element elasticBeamColumn [expr 1000+$i] [expr $nodeLevel+($pier-1)*$noNode-$noStoryNode+2] [expr $nodeLevel+($pier-1)*$noNode+2-$pier] [lindex $A $matID-1] $E [lindex $I $matID-1] $IDColTransf;

set i [expr $i+1];
} else {
element elasticBeamColumn [expr 1000+$i] [expr $nodeLevel+($pier-1)*$noNode-$noStoryNode+3] [expr $nodeLevel+($pier-1)*$noNode+3-$pier] [lindex $A $matID-1] $E [lindex $I $matID-1] $IDColTransf;
set i [expr $i+1];
}
}

##############################################################################
# ROTATIONAL SPRING ELEMENTS
##############################################################################

################ Assign BEAM SPRINGS ################
set i 1;


for {set level 1} {$level <= $NStory} {incr level} {

if {$level <= [lindex $beamSecStory 0]} {
set matID 1;
} elseif {$level <= [lindex $beamSecStory 1]} {
set matID 2;
} elseif {$level <= [lindex $beamSecStory 2]} {
set matID 3;
} elseif {$level <= [lindex $beamSecStory 3]} {
set matID 4;
} elseif {$level <= [lindex $beamSecStory 4]} {
set matID 5;
} elseif {$level <= [lindex $beamSecStory 5]} {
set matID 6;
} elseif {$level <= [lindex $beamSecStory 6]} {
set matID 7;
} elseif {$level <= [lindex $beamSecStory 7]} {
set matID 8;
} elseif {$level <= [lindex $beamSecStory 8]} {
set matID 9;
} else {
set matID 10;
}

if {$level <= $NStory-1} {
set noNode 5;
} else {
set noNode 4;
}

set nodeLevel [expr $NBay+2+($level-1)*$noStoryNode];

for {set pier 1} {$pier <= [expr $NBay+1]} {incr pier} {
if {$pier == 1} {
element zeroLength [expr 2000+$i] [expr $nodeLevel] [expr $nodeLevel+1] -mat $matID -dir 6;
equalDOF [expr $nodeLevel] [expr $nodeLevel+1] 1 2;
set i [expr $i+1];
} elseif {$pier == [expr $NBay+1]} {
element zeroLength [expr 2000+$i] [expr $nodeLevel+$noNode*($pier-1)-1] [expr $nodeLevel+$noNode*($pier-1)] -mat $matID -dir 6;
equalDOF [expr $nodeLevel+$noNode*($pier-1)-1] [expr $nodeLevel+$noNode*($pier-1)] 1 2;
set i [expr $i+1];
} else {
element zeroLength [expr 2000+$i] [expr $nodeLevel+$noNode*($pier-1)-1] [expr $nodeLevel+$noNode*($pier-1)] -mat $matID -dir 6;
equalDOF [expr $nodeLevel+$noNode*($pier-1)-1] [expr $nodeLevel+$noNode*($pier-1)] 1 2;
set i [expr $i+1];
element zeroLength [expr 2000+$i] [expr $nodeLevel+$noNode*($pier-1)-1] [expr $nodeLevel+$noNode*($pier-1)+1] -mat $matID -dir 6;
equalDOF [expr $nodeLevel+$noNode*($pier-1)-1] [expr $nodeLevel+$noNode*($pier-1)+1] 1 2;
set i [expr $i+1];
}
}
}

################ Assign COLUMN SPRINGS ################
set i 1;


for {set level 1} {$level <= $NStory} {incr level} {

if {$level <= [lindex $colSecStory 0]} {
set matID 11;
} elseif {$level <= [lindex $colSecStory 1]} {
set matID 12;
} elseif {$level <= [lindex $colSecStory 2]} {
set matID 13;
} elseif {$level <= [lindex $colSecStory 3]} {
set matID 14;
} elseif {$level <= [lindex $colSecStory 4]} {
set matID 15;
} elseif {$level <= [lindex $colSecStory 5]} {
set matID 16;
} elseif {$level <= [lindex $colSecStory 6]} {
set matID 17;
} elseif {$level <= [lindex $colSecStory 7]} {
set matID 18;
} elseif {$level <= [lindex $colSecStory 8]} {
set matID 19;
} else {
set matID 20;
}

if {$level <= $NStory-1} {
set noNode 5;
} else {
set noNode 4;
}

set nodeLevel [expr $NBay+2+($level-1)*$noStoryNode];

for {set pier 1} {$pier <= [expr $NBay+1]} {incr pier} {
if {$pier == 1} {
element zeroLength [expr 3000+$i] [expr $nodeLevel] [expr $nodeLevel+2] -mat $matID -dir 6;
equalDOF [expr $nodeLevel] [expr $nodeLevel+2] 1 2;
set i [expr $i+1];
} elseif {$pier == [expr $NBay+1]} {
element zeroLength [expr 3000+$i] [expr $nodeLevel+$noNode*($pier-1)-1] [expr $nodeLevel+$noNode*($pier-1)+1] -mat $matID -dir 6;
equalDOF [expr $nodeLevel+$noNode*($pier-1)-1] [expr $nodeLevel+$noNode*($pier-1)+1] 1 2;
set i [expr $i+1];
} else {
element zeroLength [expr 3000+$i] [expr $nodeLevel+$noNode*($pier-1)-1] [expr $nodeLevel+$noNode*($pier-1)+2] -mat $matID -dir 6;
equalDOF [expr $nodeLevel+$noNode*($pier-1)-1] [expr $nodeLevel+$noNode*($pier-1)+2] 1 2;
set i [expr $i+1];
}
}
}

for {set level 1} {$level <= $NStory-1} {incr level} {

if {$level < [lindex $colSecStory 0]} {
set matID 11;
} elseif {$level < [lindex $colSecStory 1]} {
set matID 12;
} elseif {$level < [lindex $colSecStory 2]} {
set matID 13;
} elseif {$level < [lindex $colSecStory 3]} {
set matID 14;
} elseif {$level < [lindex $colSecStory 4]} {
set matID 15;
} elseif {$level < [lindex $colSecStory 5]} {
set matID 16;
} elseif {$level < [lindex $colSecStory 6]} {
set matID 17;
} elseif {$level < [lindex $colSecStory 7]} {
set matID 18;
} elseif {$level < [lindex $colSecStory 8]} {
set matID 19;
} else {
set matID 20;
}

if {$level <= $NStory-1} {
set noNode 5;
} else {
set noNode 4;
}

set nodeLevel [expr $NBay+2+($level-1)*$noStoryNode];

for {set pier 1} {$pier <= [expr $NBay+1]} {incr pier} {
if {$pier == 1} {
element zeroLength [expr 3000+$i] [expr $nodeLevel] [expr $nodeLevel+3] -mat $matID -dir 6;
equalDOF [expr $nodeLevel] [expr $nodeLevel+3] 1 2;
set i [expr $i+1];
} elseif {$pier == [expr $NBay+1]} {
element zeroLength [expr 3000+$i] [expr $nodeLevel+$noNode*($pier-1)-1] [expr $nodeLevel+$noNode*($pier-1)+2] -mat $matID -dir 6;
equalDOF [expr $nodeLevel+$noNode*($pier-1)-1] [expr $nodeLevel+$noNode*($pier-1)+2] 1 2;
set i [expr $i+1];
} else {
element zeroLength [expr 3000+$i] [expr $nodeLevel+$noNode*($pier-1)-1] [expr $nodeLevel+$noNode*($pier-1)+3] -mat $matID -dir 6;
equalDOF [expr $nodeLevel+$noNode*($pier-1)-1] [expr $nodeLevel+$noNode*($pier-1)+3] 1 2;
set i [expr $i+1];
}
}
}


for {set nodeID 1} {$nodeID <= [expr $NBay+1]} {incr nodeID} {
element zeroLength [expr 3000+$i] $nodeID [expr $noStoryNode*$NStory+$nodeID] -mat 11 -dir 6;
equalDOF $nodeID [expr $noStoryNode*$NStory+$nodeID] 1 2;
set i [expr $i+1];
}



puts "model built.";

eigen 10;
for {set i 0} {$i < 10} {incr i} {
puts "[expr 2*3.1416/(pow([lindex [eigen 10] $i],0.5))]";
}

recorder Node -file Data/Disp1-10.out -time -node 7 35 63 91 119 147 175 203 231 259 -dof 1 disp;
recorder Node -file Data/DispVer1-10.out -time -node 7 35 63 91 119 147 175 203 231 259 -dof 2 disp;

###############################################################################
## PUSHOVER ANALYSIS
###############################################################################

################ PUSHOVER LOADS ################
#set FPush "1.6e4 3.2e4 5.2e4 7.4e4 10.2e4 12.6e4 15.1e4 18.5e4 21.4e4 25.4e4";
#pattern Plain 20 Linear {
# for {set level 1} {$level <= [expr $NStory]} {incr level} {
# load [expr 7+($level-1)*$noStoryNode] [lindex $FPush $level-1] 0. 0.;
# }
#};
#

#
################ PUSHOVER SOLVER ################

#constraints Plain;
#numberer RCM;
#system BandGeneral;
#test NormDispIncr 1.e-8 10 2;
#algorithm NewtonLineSearch 0.8;
#integrator DisplacementControl [expr 7+($NStory-1)*$noStoryNode] 1 0.002;
#analysis Static;
#analyze 1;
#
#puts "\n******** Periods after Pushover **********"
#eigen 10;
#for {set i 0} {$i < 10} {incr i} {
# puts "[expr 2*3.1416/(pow([lindex [eigen 10] $i],0.5))]";
#}

###############################################################################
## GRAVITY LOAD ANALYSIS
###############################################################################

############### GRAVITY LOADS ################

set i 1;
pattern Plain 30 Linear {
for {set level 1} {$level <= $NStory} {incr level} {
for {set pier 1} {$pier <= $NBay} {incr pier} {

eleLoad -ele $i -type -beamUniform -4.5e4; # BEAMS LOAD
set i [expr $i+1];
}
}
};

############### GRAVITY SOLVER ################

constraints Plain;
numberer RCM;
system BandGeneral;
test NormDispIncr 1.e-8 8;
algorithm Newton;
integrator LoadControl 0.1;
analysis Static;
analyze 1;

puts "\n******** Periods after Gravity **********"
eigen 10;
for {set i 0} {$i < 10} {incr i} {
puts "[expr 2*3.1416/(pow([lindex [eigen 10] $i],0.5))]";
}
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: natural frequencies difference before and after analyze

Post by vesna »

The difference in your first period is really significant for only one step of analysis which points out that something is not defined well in your model or maybe your applied load is too big.
Horr
Posts: 31
Joined: Sat Jan 15, 2011 12:26 am
Location: Sharif University of Technology

Re: natural frequencies difference before and after analyze

Post by Horr »

Thanks for your reply.
The load is not too big, especially for pushover (2 mm for each step in a 10 story building). On the other hand, I test the elastic response by increasing rotational spring capacity (My matrix). The results was the same. The dynamic response to initial velocity declare the second period is correct.
So, you believe sth not defined well. I will verify the code again and will contact you soon.

sincerely,
Horr
Posts: 31
Joined: Sat Jan 15, 2011 12:26 am
Location: Sharif University of Technology

Re: natural frequencies difference before and after analyze

Post by Horr »

Dear Vesna,

It seems the difference is due to equalDOF commands. I guess the stiffness matrix is rearranged after 1 step solving. I prefer to calculate the natural frequencies after 1 step analyzing. what 's your opinion? Can I rely to the results?

Sincerely
Horr
Posts: 31
Joined: Sat Jan 15, 2011 12:26 am
Location: Sharif University of Technology

Re: natural frequencies difference before and after analyze

Post by Horr »

I had used the equalDOF to prevent beams and columns contraction and elongation. Now I used stiff elements (axial area incresed significantly 1.e4), instead. So, the frequencies seems OK before analyzing even 1 step. I think the problem is over.

Best Regards
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: natural frequencies difference before and after analyze

Post by vesna »

I am glad you solved it. Yes, I prefer not to use equalDOF to constrain horizontal displacement in nonlinear models. Instead I use very stiff truss elements.
sama
Posts: 21
Joined: Sat Mar 05, 2011 11:46 pm
Location: Iran

Re: natural frequencies difference before and after analyze

Post by sama »

hi,
I have the same problem, and I used truss elemenets to model rigid diphragm in 2D model. but after the first step the 1mode periode decrease from 1.02 to 0.95
I just used equalDOF to model simple connection of my model. ( in one of the bays of my model, beams are pinned to the columns and in the other bays they are connected rigidly(default)). Whats happening here
Horr
Posts: 31
Joined: Sat Jan 15, 2011 12:26 am
Location: Sharif University of Technology

Re: natural frequencies difference before and after analyze

Post by Horr »

Hi,
There is a general comment,

I propose to find the part of program that cause this problem (by changing or deleting different parts). for example delete the braces (I mean comment and uncomment different parts) and look if the period changes. Then fix the pinned beam and so on. If you find where the bug is, maybe I will help.
sama
Posts: 21
Joined: Sat Mar 05, 2011 11:46 pm
Location: Iran

Re: natural frequencies difference before and after analyze

Post by sama »

hi, thanks.
it was because of heystertic material. but this too strange. i think it was because of damage and pinching factor. but we do not expect so much damage after just one step pushover analysis. anyway I changed the material to steel01, and now this is ok.
thank you anyway.
have you ever defined hystertic material for A36 steel. if yes could you please share it with me. I dont have the exact coefficients of damage and pinching and also beta.
or parameters of pinching04 for the A36 or Grade 50.
thanks
Horr
Posts: 31
Joined: Sat Jan 15, 2011 12:26 am
Location: Sharif University of Technology

Re: natural frequencies difference before and after analyze

Post by Horr »

hi,
Unfortunately I didn't model sth like this.

Best Regards
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: natural frequencies difference before and after analyze

Post by vesna »

Truss elements have hinges at their ends, so there is no need for for defining pins at their ends. After you add truss elements there should be a negligible change in periods.
sama
Posts: 21
Joined: Sat Mar 05, 2011 11:46 pm
Location: Iran

Re: natural frequencies difference before and after analyze

Post by sama »

hi,
how can I define difrent sections along a beam lengh. and also how can i define non-prismatic sections along a element. actually I want to model the top and buttom plates of beams.
I devide each beam to three elements and assigned difrent sections to each one of them. in this way when i check the display of the deformed shape, at the location of connections of elements ( inside just one beam which i have devided befor), displacements are not rational.
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: natural frequencies difference before and after analyze

Post by vesna »

What do you mean by the top and the bottom plate of the beam?

One of the ways to assign different sections to different portions of elements is by dividing elements into several pieces (this is what you did). If your deformed shape looks irrational you may have an error in your code. If you are using forceBeamColumn or dispBeamColumn element you can assign different sections to the element at the locations of integration points.
sama
Posts: 21
Joined: Sat Mar 05, 2011 11:46 pm
Location: Iran

Re: natural frequencies difference before and after analyze

Post by sama »

you wrote: If you are using forceBeamColumn or dispBeamColumn element you can assign different sections to the element at the locations of integration points.

could you please give me an example about how to assign diffrent sections to the nonlinear elements.
sama
Posts: 21
Joined: Sat Mar 05, 2011 11:46 pm
Location: Iran

Re: natural frequencies difference before and after analyze

Post by sama »

Dear Vesna,
Sorry, I am asking lots of question.
1-
I used fiber sections and nonlinear elements to model my structure. I want to know dimention of sections affect the structural results. I mean If I use elastic elements(in elastic elements we just define A E G I ..., but we dont define section dimentions) instead of nonlinear elements (in which we define sections with it dimentions and material properties), does it cause the modal properties of structure to be change?(the depth of the sections).

2- If we dont model the panel zone, OS completly ignore the panel zone effects as a default?
Post Reply