joint2d !

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

Moderators: silvia, selimgunay, Moderators

Post Reply
mostafa1361
Posts: 3
Joined: Sat Feb 28, 2009 12:34 pm
Location: tabriz

joint2d !

Post by mostafa1361 »

Hi dr silvia
please tell me whats wrong in below?!
i simulated RCS with joint2d but ....

# units : mm , N , sec (Mpa for stress)
# Joint2d with 2rotational springs in center
# RCS (reinforce concrete column & steel beam)
# cyclic loading
# Numerical analyze for cheng test

# -----
# \ /
# 0
# |
# |
# |
# |
# |
# |
# |
# ----0----
# | |
# | | | |
# |0-------------- 0 0 0-------------0|
# | | | ^|
# | | |
# ----0---- |
# |
# |
# |
# |
# |
# |
# | |
# |0|
# |
# ^
# |
# |
#

model basic -ndm 2 ndf 3

node 1 0 0
node 2 -2700 1600
node 3 0 3200
node 4 2700 1600
node 6 325 1600
node 7 -325 1600
node 8 0 1302
node 9 0 1898
node 10 0 1600
node 11 0 1600





puts "Node has been created"
fix 1 1 0 0
fix 2 1 0 0
fix 3 1 1 0
fix 4 1 0 0

puts "constraint has bean applied"

# CORE concrete
#uniaxialMaterial Concrete02 $IDcore $fc1C $eps1C $fc2C $eps2C $lambda $ftC $Ets;
uniaxialMaterial Concrete02 1 -56.6 -0.00245 -11.33 -0.082 1 6.93 6455;

# COVER concrete
uniaxialMaterial Concrete02 2 -46.16 -0.002 0 -0.010 1 0 0;


#Longitudinal Rebar
#uniaxialMaterial Steel02 $matTag $Fy $E $b $R0 $cR1 $cR2 $a1 $a2 $a3 $a4
uniaxialMaterial Steel02 3 554.25 200000 0.02 18.5 0.925 0.15 0 1 0 1

#Steel Beam
uniaxialMaterial Steel02 4 507.49 200000 0.02 18.5 0.925 0.15 0 1 0 1



#Material vertical bearing:matTag s1p e1p s2p e2p s3p e3p s1n e1n s2n e2n s3n e3n pinchX pinchY D1 D2 beta

uniaxialMaterial Hysteretic 5 6300 +3.70E-003 7000 +5.00E-002 4450 1.0E-001 -6300 -3.700E-003 -7000 -5.0E-002 -4450 -1.0E-001 +2.0E-001 +5.0E-001 +1.50E-002 0 0;



# Material shear spring:matTag Fy E b R0 cR1 cR2 a1 a2 a3 a4

uniaxialMaterial Steel02 6 10000 2500000 +2.0E-002 +1.85E+001 +9.60E-001 +1.5E-001 0 1 0 1;


puts "Materials has bean created"


# Define cross-section for nonlinear columns
# ------------------------------------------
# set some paramaters
set colWidth 650
set colDepth 650
set cover 60
set As 1006; # area of no. 11 bars
# some variables derived from the parameters
set y1 [expr $colDepth/2.0]
set z1 [expr $colWidth/2.0]
section Fiber 1 {
# Create the concrete core fibers
patch rect 1 10 1 [expr -$cover+$y1] [expr -$cover+$z1] [expr -$y1+$cover] [expr -$z1+$cover]
# Create the concrete cover fibers (top, bottom, left, right)
patch rect 2 10 1 [expr +$y1] [expr -$z1+$cover] -$y1 -$z1
patch rect 2 10 1 [expr +$y1] [expr +$z1] -$y1 [expr -$cover+$z1]
patch rect 2 2 1 [expr +$y1] [expr -$cover+$z1] [expr -$cover+$y1] [expr -$z1+$cover]
patch rect 2 2 1 [expr -$y1+$cover] [expr -$cover+$z1] -$y1 [expr -$z1+$cover]
# Create the reinforcing fibers (left, middle, right)
layer straight 3 2 $As -265 -265 -185 -265
layer straight 3 2 $As 185 -265 265 -265
layer straight 3 2 $As -265 -185 265 -185
layer straight 3 2 $As -265 185 265 185
layer straight 3 2 $As -265 265 -185 265
layer straight 3 2 $As 185 265 265 265
}


#source Wsection.tcl

# Wsection.tcl: tcl procedure for creating a wide flange steel fiber section
# written: Remo M. de Souza
# date: 06/99
# modified: 08/99 (according to the new general modelbuilder)
# modified: 7/Oct/05, to include MatlabOut functionality, so
# that you can plot the section fibers in Matlab!

# +-----------------------+ + +
# | | | tf |
# +----------+ +----------+ + |
# | | | |
# y | | | |
# | | | | |
# z--+ ->| |<- tw | dw | d
# | | | |
# | | | |
# | | | |
# +----------+ +----------+ + |
# | | | tf |
# +-----------------------+ + +
# bf



# input parameters
# secID - section ID number
# matID - material ID number
# d = nominal depth
# tw = web thickness
# bf = flange width
# tf = flange thickness
# nfdw = number of fibers along web depth
# nftw = number of fibers along web thickness
# nfbf = number of fibers along flange width
# nftf = number of fibers along flange thickness
proc Wsection { secID matID d tw bf tf nfdw nftw nfbf nftf} {
set dw [expr $d - 2 * $tf]
set y1 [expr -$d/2]
set y2 [expr -$dw/2]
set y3 [expr $dw/2]
set y4 [expr $d/2]
set z1 [expr -$bf/2]
set z2 [expr -$tw/2]
set z3 [expr $tw/2]
set z4 [expr $bf/2]
#
section fiberSec $secID {
# nfIJ nfJK yI zI yJ zJ yK zK yL zL
patch quadr $matID $nfbf $nftf $y1 $z4 $y1 $z1 $y2 $z1 $y2 $z4
patch quadr $matID $nftw $nfdw $y2 $z3 $y2 $z2 $y3 $z2 $y3 $z3
patch quadr $matID $nfbf $nftf $y3 $z4 $y3 $z1 $y4 $z1 $y4 $z4
}
}


Wsection 2 4 596 10 199 15 10 2 5 2

puts "Cross section has been created"




#equalDOF $rNodeTag $cNodeTag $dof1 $dof2 ...
equalDOF 6 7 1 2
equalDOF 7 8 1 2
equalDOF 10 11 1 2
equalDOF 12 10 1 2

puts "MP constrain has been assigned"


geomTransf Linear 1
geomTransf Linear 2

element nonlinearBeamColumn 1 1 8 5 1 1
element nonlinearBeamColumn 2 2 7 5 2 2
element nonlinearBeamColumn 3 9 3 5 1 1
element nonlinearBeamColumn 4 6 4 5 2 2


puts "element has been created"

element Joint2D 5 6 9 7 8 12 2 2 2 2 2 100

puts "joint2D has been created"


#source rotSpring2D.tcl
# rotSpring2D.tcl
# SETS A MULTIPOINT CONSTRAINT ON THE TRANSLATIONAL DEGREES OF FREEDOM,
# SO DO NOT USE THIS PROCEDURE IF THERE ARE TRANSLATIONAL ZEROLENGTH
# ELEMENTS ALSO BEING USED BETWEEN THESE TWO NODES
#
# Written: MHS
# Date: Jan 2000
#
# Formal arguments
# eleID - unique element ID for this zero length rotational spring
# nodeR - node ID which will be retained by the multi-point constraint
# nodeC - node ID which will be constrained by the multi-point constraint
# matID - material ID which represents the moment-rotation relationship
# for the spring
proc rotSpring2D {eleID nodeR nodeC matID} {
# Create the zero length element
element zeroLength $eleID $nodeR $nodeC -mat $matID -dir 6
# Constrain the translational DOF with a multi-point constraint
# retained constrained DOF_1 DOF_2 ... DOF_n
equalDOF $nodeR $nodeC 1 2
}


rotSpring2D 20 10 11 5
rotSpring2D 30 10 11 6


puts "Rotation spring has been defined and created"


file mkdir Data
recorder Node -file Data/1xreaction.out -time -node 1 -dof 1 reaction
recorder Node -file Data/2xreaction.out -time -node 2 -dof 1 reaction
recorder Node -file Data/4xreaction.out -time -node 4 -dof 1 reaction
recorder Node -file Data/3xyreaction.out -time -node 3 -dof 1 2 reaction

recorder Node -file Data/yRzDisp1.out -time -node 1 -dof 2 3 disp
recorder Node -file Data/yRzDisp2.out -time -node 2 -dof 2 3 disp
recorder Node -file Data/yRzDisp4.out -time -node 4 -dof 2 disp
recorder Node -file Data/RzDisp3.out -time -node 3 -dof 3 disp


recorder plot Data/yRzDisp4.out Node4_ydisp 15 15 400 400 -columns 2 1


pattern Plain 1 "Constant" {
load 1 0 1000000 0.;

}

puts "Gravity Load Pattern has been defined"


integrator LoadControl 0
system SparseGeneral -piv
test NormDispIncr 1.0e-4 2000
numberer Plain
constraints Transformation 1
algorithm KrylovNewton
analysis Static
# Do one analysis for constant axial load
analyze 1
pattern Plain 2 "Linear" {
load 4 0 1 0;
}




set dU1 0.25
set dU2 -0.25

# Perform the analysis
integrator DisplacementControl 4 2 $dU1
analyze 27
integrator DisplacementControl 4 2 $dU2
analyze 27
integrator DisplacementControl 4 2 $dU1
analyze 27
integrator DisplacementControl 4 2 $dU2
analyze 27

integrator DisplacementControl 4 2 $dU1
analyze 41
integrator DisplacementControl 4 2 $dU2
analyze 41
integrator DisplacementControl 4 2 $dU1
analyze 41
integrator DisplacementControl 4 2 $dU2
analyze 41

integrator DisplacementControl 4 2 $dU1
analyze 54
integrator DisplacementControl 4 2 $dU2
analyze 54
integrator DisplacementControl 4 2 $dU1
analyze 54
integrator DisplacementControl 4 2 $dU2
analyze 54


integrator DisplacementControl 4 2 $dU1
analyze 81
integrator DisplacementControl 4 2 $dU2
analyze 81
integrator DisplacementControl 4 2 $dU1
analyze 81
integrator DisplacementControl 4 2 $dU2
analyze 81

integrator DisplacementControl 4 2 $dU1
analyze 108
integrator DisplacementControl 4 2 $dU2
analyze 108
integrator DisplacementControl 4 2 $dU1
analyze 108
integrator DisplacementControl 4 2 $dU2
analyze 108

integrator DisplacementControl 4 2 $dU1
analyze 162
integrator DisplacementControl 4 2 $dU2
analyze 162
integrator DisplacementControl 4 2 $dU1
analyze 162
integrator DisplacementControl 4 2 $dU2
analyze 162

integrator DisplacementControl 4 2 $dU1
analyze 216
integrator DisplacementControl 4 2 $dU2
analyze 216
integrator DisplacementControl 4 2 $dU1
analyze 216
integrator DisplacementControl 4 2 $dU2
analyze 216

integrator DisplacementControl 4 2 $dU1
analyze 324
integrator DisplacementControl 4 2 $dU2
analyze 324
integrator DisplacementControl 4 2 $dU1
analyze 324
integrator DisplacementControl 4 2 $dU2
analyze 324

integrator DisplacementControl 4 2 $dU1
analyze 432
integrator DisplacementControl 4 2 $dU2
analyze 432
integrator DisplacementControl 4 2 $dU1
analyze 432
integrator DisplacementControl 4 2 $dU2
analyze 432

integrator DisplacementControl 4 2 $dU1
analyze 540
integrator DisplacementControl 4 2 $dU2
analyze 540
integrator DisplacementControl 4 2 $dU1
analyze 540
integrator DisplacementControl 4 2 $dU2
analyze 540

integrator DisplacementControl 4 2 $dU1
analyze 648
integrator DisplacementControl 4 2 $dU2
analyze 648
integrator DisplacementControl 4 2 $dU1
analyze 648
integrator DisplacementControl 4 2 $dU2
analyze 648

integrator DisplacementControl 4 2 $dU1
analyze 756
integrator DisplacementControl 4 2 $dU2
analyze 756
integrator DisplacementControl 4 2 $dU1
analyze 756
integrator DisplacementControl 4 2 $dU2
analyze 756
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

here is the error:

OpenSees >element Joint2D 5 6 9 7 8 12 2 2 2 2 2 100
Domain::addMP_Constraint - cannot add as constraint with tag4already exists in modelJoint2D::addMP_Joint - WARNING could not add equalDOF MP_Constraint to domain WARNING Joint2D::Joint2D(): can not generate ForJoint MP at node 1


please check the input for this element. i don't know much about it, so you might need to contact the element author. and make sure you are not over/under constraining the system.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
talebian.s.e
Posts: 72
Joined: Fri Jul 10, 2009 3:05 am
Location: Griffith University

element joint 2d

Post by talebian.s.e »

hello
I need to use element joint 2d.
how could you use it?
it is not in the manual and when i use it openseees says "invalid command element". would you please help me?
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

which versions are you using.
does the error command mean anything to you, as you know more about your model.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
talebian.s.e
Posts: 72
Joined: Fri Jul 10, 2009 3:05 am
Location: Griffith University

Post by talebian.s.e »

hi,
I use version 2.1.0
no,it has no meaning to me.
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

something is not constratined proprerly in your joint definition.
you should contact the element author at this point, though, as it is a contributed element.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
talebian.s.e
Posts: 72
Joined: Fri Jul 10, 2009 3:05 am
Location: Griffith University

two nonlinear spring

Post by talebian.s.e »

Hi Dear mostafa1361

how could you use two nonlinear spring in element Joint2D?

would you please help me?

and,would you explain how to use element Joint2D ?

thanks a lot.
modir24
Posts: 10
Joined: Mon Jul 13, 2009 10:58 am
Location: kelowna

Post by modir24 »

@ talebian: I think this is helpful for you:

opensees.berkeley.edu/community/viewtopic.php?t=12528&highlight=joint
Post Reply