release the end moment of 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
mghaseminia
Posts: 3
Joined: Tue Aug 25, 2015 12:16 pm
Location: Islamic Azad University, Science and Research

release the end moment of element

Post by mghaseminia »

hello,

How can I release end moments of a nonlinearBeamColumn element in 3-dimentional OpenSees model while I have assigned rigidDiaphragm to all nodes of story?
For example in the following model I want to release the end moment of element nonlinearBeamColumn 5,

wipe

model basic -ndm 3 -ndf 6

file mkdir data

node 1 0. 0. 0.
node 2 3. 0. 0.
node 3 0. 3. 0.
node 4 3. 3. 0.
node 5 0. 0. 3.
node 6 3. 0. 3.
node 7 0. 3. 3.
node 8 3. 3. 3.

fixZ 0.0 1 1 1 1 1 1

#Assigning Rigid Diaphragm
node 9 1.5 1.5 3.
fix 9 0 0 1 1 1 0
rigidDiaphragm 3 9 5 6 7 8

#Assigning Floor Mass to Center of the Mass of the story.
mass 9 4000. 4000. 0. 0. 0. [expr (1./12)*4000.*(pow(3,2)+pow(3,2))]

set ColumnTransfTag 1
geomTransf Linear $ColumnTransfTag 0 1 0

set BeamTransfTag 2
geomTransf Linear $BeamTransfTag 0 -1 0

set GirderTransfTag 3
geomTransf Linear $GirderTransfTag 1 0 0


uniaxialMaterial Steel01 1 2.354e8 2.e11 0.02

section fiberSec 1 {
patch quad 1 8 3 0.0915 0.05 0.0915 -0.05 0.1 -0.05 0.1 0.05
patch quad 1 3 8 -0.0915 0.0028 -0.0915 -0.0028 0.0915 -0.0028 0.0915 0.0028
patch quad 1 8 3 -0.1 0.05 -0.1 -0.05 -0.0915 -0.05 -0.0915 0.05
}

set e 2.e11
set nu 0.3
set G [expr $e/(2.*(1+$nu))]
set j 6.920e-8
set Tmattag 2
uniaxialMaterial Elastic $Tmattag [expr $G*$j]
section Aggregator 3 $Tmattag T -section 1

#Columns
element nonlinearBeamColumn 1 1 5 10 3 $ColumnTransfTag
element nonlinearBeamColumn 2 2 6 10 3 $ColumnTransfTag
element nonlinearBeamColumn 3 3 7 10 3 $ColumnTransfTag
element nonlinearBeamColumn 4 4 8 10 3 $ColumnTransfTag

#Beams
element nonlinearBeamColumn 5 5 6 10 3 $BeamTransfTag
element nonlinearBeamColumn 6 7 8 10 3 $BeamTransfTag

#Girders
element nonlinearBeamColumn 7 5 7 10 3 $GirderTransfTag
element nonlinearBeamColumn 8 6 8 10 3 $GirderTransfTag

puts "first mode w^2:[eigen 1]
first period:[expr 2*3.14/pow([eigen 1],0.5)]"
recorder Node -file data/nodeDisp2.out -time -node 5 -dof 1 2 3 disp

set DeadLoad 1

pattern Plain $DeadLoad Linear {

load 5 5000. 0. 0. 0. 0. 0.

}

constraints Transformation
numberer Plain
system BandGeneral
test EnergyIncr 1.e-8 6
algorithm ModifiedNewton
integrator LoadControl 1
analysis Static
analyze 1
loadConst -time 0.0
skamalzare
Posts: 112
Joined: Thu Jun 27, 2013 11:45 am
Location: Seattle, WA

Re: release the end moment of element

Post by skamalzare »

Hi - I am not that much familiar with rigidDiaphragm setting, but can't you remove the rotational constraints on your interested node? (i.e. using the command: remove sp $nodeTag $dof)

Regards,
Soheil
---
PhD, EIT, Geotechnical Engineer
Condon-Johnson & Associates INC
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: release the end moment of element

Post by fmk »

add additional nodes at end of beams and constrain translation dof .. here is an example proc i have for creating steel sections .. the option to look as it wahat happens with the -relase1 and -release2

proc ForceBeamWSection2d {eleTag iNode jNode sectType matTag transfTag args} {

global FiberSteelWSection2d
global ElasticSteelWSection2d

set Orient "XX"
if {[lsearch $args "YY"] != -1} {
set Orient "YY"
}

set nFlange 10
if {[lsearch $args "-nFlange"] != -1} {
set loc [lsearch $args "-nFlange"]
set nFlange [lindex $args [expr $loc+1]]
}

set nWeb 5
if {[lsearch $args "-nWeb"] != -1} {
set loc [lsearch $args "-nWeb"]
set nWeb [lindex $args [expr $loc+1]]
}

set nip 4
if {[lsearch $args "-nip"] != -1} {
set loc [lsearch $args "-nip"]
set nip [lindex $args [expr $loc+1]]
}

if {[lsearch $args "-release1"] != -1} {
set hingeEnd1 1
node $eleTag$hingeEnd1 [nodeCoord $iNode 1] [nodeCoord $iNode 2]
equalDOF $iNode $eleTag$hingeEnd1 1 2
set iNode $eleTag$hingeEnd1
}

if {[lsearch $args "-release2"] != -1} {
set hingeEnd2 2
node $eleTag$hingeEnd2 [nodeCoord $jNode 1] [nodeCoord $jNode 2]
equalDOF $jNode $eleTag$hingeEnd2 1 2
set jNode $eleTag$hingeEnd2
}

if {[lsearch $args "-elasticSection"] != -1} {
set loc [lsearch $args "-elasticSection"]
set E [lindex $args [expr $loc+1]]
ElasticSteelWSection2d $eleTag $sectType $E $Orient
} else {
FiberSteelWSection2d $eleTag $sectType $matTag $nFlange $nWeb $Orient
}

element forceBeamColumn $eleTag $iNode $jNode $nip $eleTag $transfTag
}
mghaseminia
Posts: 3
Joined: Tue Aug 25, 2015 12:16 pm
Location: Islamic Azad University, Science and Research

Re: release the end moment of element

Post by mghaseminia »

fmk wrote:
> add additional nodes at end of beams and constrain translation dof .. here
> is an example proc i have for creating steel sections .. the option to look
> as it wahat happens with the -relase1 and -release2
>
> proc ForceBeamWSection2d {eleTag iNode jNode sectType matTag transfTag
> args} {
>
> global FiberSteelWSection2d
> global ElasticSteelWSection2d
>
> set Orient "XX"
> if {[lsearch $args "YY"] != -1} {
> set Orient "YY"
> }
>
> set nFlange 10
> if {[lsearch $args "-nFlange"] != -1} {
> set loc [lsearch $args "-nFlange"]
> set nFlange [lindex $args [expr $loc+1]]
> }
>
> set nWeb 5
> if {[lsearch $args "-nWeb"] != -1} {
> set loc [lsearch $args "-nWeb"]
> set nWeb [lindex $args [expr $loc+1]]
> }
>
> set nip 4
> if {[lsearch $args "-nip"] != -1} {
> set loc [lsearch $args "-nip"]
> set nip [lindex $args [expr $loc+1]]
> }
>
> if {[lsearch $args "-release1"] != -1} {
> set hingeEnd1 1
> node $eleTag$hingeEnd1 [nodeCoord $iNode 1] [nodeCoord $iNode 2]
> equalDOF $iNode $eleTag$hingeEnd1 1 2
> set iNode $eleTag$hingeEnd1
> }
>
> if {[lsearch $args "-release2"] != -1} {
> set hingeEnd2 2
> node $eleTag$hingeEnd2 [nodeCoord $jNode 1] [nodeCoord $jNode 2]
> equalDOF $jNode $eleTag$hingeEnd2 1 2
> set jNode $eleTag$hingeEnd2
> }
>
> if {[lsearch $args "-elasticSection"] != -1} {
> set loc [lsearch $args "-elasticSection"]
> set E [lindex $args [expr $loc+1]]
> ElasticSteelWSection2d $eleTag $sectType $E $Orient
> } else {
> FiberSteelWSection2d $eleTag $sectType $matTag $nFlange $nWeb
> $Orient
> }
>
> element forceBeamColumn $eleTag $iNode $jNode $nip $eleTag $transfTag
> }

Thank you, but equalDOF does not work properly, because it is 3-dimentional model, and I have assigned rigidDiaphragm to all nodes of floor.
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: release the end moment of element

Post by fmk »

equalDOF works fine .. the problem is the constraint handler does not follow constraints, i.e. one node cannot be constrained to move with another node that also has a constraint .. either adjust the model with this information or use a penalty method to enforce the constraints.
Post Reply