Truss element

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

Moderators: silvia, selimgunay, Moderators

Post Reply
openc
Posts: 20
Joined: Mon Apr 12, 2010 11:11 pm
Location: Xenox university

Truss element

Post by openc »

Hi Frank,

As per your suggestion I used truss elements for the 3 supports that I am using in my problem of 2 equal span structure.

While the case of a structure with I = 3.9e-6 for the beam elements (representing a rigid case) is producing the same period as I have got in other programs, I am not getting the set period for beam I = 1.5969e-9 (representing a flexible case). I should be getting 0.8336s. I know you mentioned about "poorly conditioned system", but in my problem my support stiffnesses and diaphragm properties are calculated to produce the set period. I am also looking at the maximum diaphragm moments.

Can you please suggest how I should fix this problem to get the period of 0.8336s?
**********************
[code]

wipe;

model basic -ndm 2 -ndf 3 # Basic 2D model having 3 degrees-of-freedom per node.

#Node details: #Node no., X-coord., Y-coord.
node 1 0.0 0
node 2 1.0 0
node 3 1.0 5
node 4 1.0 10
node 5 1.0 15
node 6 1.0 20
node 7 1.0 25
node 8 1.0 30
node 9 1.0 35
node 10 1.0 40
node 11 0.0 40
node 12 0.0 20

puts "Node defined"

#Boundary Conditions: #Node no., DX, DY, RZ
fix 1 1 1 1
fix 11 1 1 1
fix 12 1 1 1
fix 2 0 1 0
fix 10 0 1 0
fix 6 0 1 0

puts "Boundary Conditions assigned"

#Nodal mass: #Node no., MX(translational), MY(translational), MZ(rotational)
mass 2 0.0063710499490316 0.0 0.0
mass 3 0.0127420998980632 0.0 0.0
mass 4 0.0127420998980632 0.0 0.0
mass 5 0.0127420998980632 0.0 0.0
mass 6 0.0127420998980632 0.0 0.0
mass 7 0.0127420998980632 0.0 0.0
mass 8 0.0127420998980632 0.0 0.0
mass 9 0.0127420998980632 0.0 0.0
mass 10 0.0063710499490316 0.0 0.0

puts "Nodal Masses defined"

#Specifying material: #Material Tag, Stiffness value
uniaxialMaterial Elastic 1 4.0243
uniaxialMaterial Elastic 2 8.0486

puts "Spring stiffnesses defined"

#Section details: #Section Tag, Material Tag, Axial force deformation (use "P")
section Uniaxial 1 1 P
section Uniaxial 2 2 P

puts "Section forcolumn defined"

#Coordinate Tranformation:
geomTransf Linear 1

#Element details:
#element trussSection $elemTag $Nodei $Nodej $secTag
element trussSection 1 1 2 1

# element elasticBeamColumn $eleTag $iNode $jNode $A $E $Iz $transfTag
element elasticBeamColumn 2 2 3 1.0 2.1e+11 1.5969e-9 1;
element elasticBeamColumn 3 3 4 1.0 2.1e+11 1.5969e-9 1;
element elasticBeamColumn 4 4 5 1.0 2.1e+11 1.5969e-9 1;
element elasticBeamColumn 5 5 6 1.0 2.1e+11 1.5969e-9 1;
element elasticBeamColumn 6 6 7 1.0 2.1e+11 1.5969e-9 1;
element elasticBeamColumn 7 7 8 1.0 2.1e+11 1.5969e-9 1;
element elasticBeamColumn 8 8 9 1.0 2.1e+11 1.5969e-9 1;
element elasticBeamColumn 9 9 10 1.0 2.1e+11 1.5969e-9 1;

element trussSection 10 11 10 1
element trussSection 11 12 6 2

puts "Element details provided"

#Eigen Values: #Displays 4 fundamental periods
set Lambda [eigen -fullGenLapack 8]
puts "Lambda Omega Period"
foreach Lambda $Lambda {
if {$Lambda > 0.0} {
set Omega [expr pow($Lambda,0.5)]
set Period [expr (2*3.14)/$Omega]
puts "$Lambda $Omega $Period"}}

puts "Done!"

[/code]
****************

Thanks.
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Post by fmk »

i cannot help you .. the results you are getting are correct for your model that you input and as i explained last time i cannot discern what you are trying to do given your input and mag of variables used .. this is the output i get from matlab:

lamda = 65.9571 period = 0.7733

the condition number of your matrix: 2e11

here is a matlab script that will produce the same results (beam horizontal) that OpenSees gives. If you know your matrix structural analysis maybe you can figure up what is wrong from that:

[code]
% create K and M matrices
L = 5.0;
numEle = 8;
numNodes = 9; % nodes 2 through 10
numDOF = numNodes*3;

K=zeros(numDOF,numDOF);
M=zeros(numDOF, numDOF);

% set up mass matrix
mass = 0.0127420998980632

M(2,2) = mass/2.0;
for i=(2:numNodes-1)
pos = i*3-1;
M(pos, pos) = mass;
end
M(26,26) = mass/2.0;

% element properties
A=1.0;
E=2.1e11;
Iz=1.5969e-9;

% beam elements
kb = zeros(3,3);
kb(3,3) = E*A/L;
kb(1,1) = 4*E*Iz/L;
kb(1,2) = 2*E*Iz/L;
kb(2,1) = 2*E*Iz/L;
kb(2,2) = 4*E*Iz/L;

T = zeros(3,6);
T(3,1)=-1;
T(1,2)=1/L; T(2,2)=1/L;
T(1,3)=1;
T(3,4)=1;
T(1,5)=-1/L; T(2,5)=-1/L;
T(2,6) = 1;

Tt = T';
Kele = Tt * kb * T;

% add springs
ks = 4.0243
K(2,2) = ks;
K(26,26) = ks;
K(14,14) = 2*ks;

% add beam elements
for i=(1:numEle)
posStart = (i-1)*3;
for j=(1:6)
for k=(1:6)
K(posStart+j, posStart+k) = K(posStart+j, posStart+k) + Kele(j,k);
end
end
end

% now lets extract the 3 fixed horizontal dof
KK=zeros(numDOF-3, numDOF-3);
MM=zeros(numDOF-3, numDOF-3);

% now lets extract the 3 fixed horizontal dof
KK=zeros(numDOF-3, numDOF-3);
MM=zeros(numDOF-3, numDOF-3);

countI = 0;
for i=(1:numDOF)
if (i ~= 1 && i ~= 13 && i ~= 25)
countI = countI + 1;
countJ = 0;
for j=(1:numDOF)
if (j ~= 1 && j ~= 13 && j ~= 25)
countJ = countJ + 1;
KK(countI, countJ) = K(i,j);
MM(countI, countJ) = M(i,j);
end
end
end
end

conditionK = cond(KK)

d = eig(KK, MM);
d=sort(d)

for i=(1:numDOF-3)
if (d(i,1) ~= -Inf && d(i,1) ~= Inf)
eigPeriod(1,1) = d(i,1);
eigPeriod(1,2) = 2*3.14/sqrt(d(i,1))
end
end
[/code]
Post Reply