simultaneous use of equalDOF and rigidDiaphragm constraints

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

Moderators: silvia, selimgunay, Moderators

Post Reply
zishendemi
Posts: 27
Joined: Thu Aug 09, 2012 12:56 pm
Location: Lehigh University

simultaneous use of equalDOF and rigidDiaphragm constraints

Post by zishendemi »

Hi all,

I find some issues about using equalDOF and rigidDiaphragm constraint at the same time. I suspect there are some bugs going on.

The issues arises when I'm trying to modeling 3D braced frame. But here, for simplicity, I'll take out only one bay for illustration.

Numbering and configuration of structure: https://www.dropbox.com/s/5tqmsu9mf7cw4 ... ration.txt

The structure is built in a 3D environment. To simulate the torsional release at the top of the brace, I put a duplicate node 5 at the location of node 2. And I use euqalDOF constraint to release the torsion only (equalDOF 2 5 1 2 3 5;). I also want to simulate the rigid diaphragm effect. So I put a masternode out of plane ( in the y direction and at the same height with node 2 and 3), and constrain it with node 2 and 3 using rigidDiaphragm (rigidDiaphragm 3 $masternodeTag 2 3;). Then I applied some distributed gravity load on the beam.

Surprisingly, I find the translational displacement of node 2 and node 5 are different! But I did use euqalDOF to constrain their DOF 1 2 3 5. I also find if I don't use rigidDiaphragm constraint (and take out the masterNode), the translational displacement of 2 and 5 will be the same.

So I suspect there's something wrong when rigidDiaphragm and equalDOF are used on the same node at the same time (node 2 in this example). Anyone knows what's going on here? Is there a bug?

I also attached my code below! Please let me know if you have any question about the problem statement. Thanks a lot for your help!


# Units: kips, inches, seconds

wipe; # clear memory of past model definitions
model BasicBuilder -ndm 3 -ndf 6; # Define the model builder, ndm = #dimension, ndf = #dofs

set h 90.
set b 90.

node 1 0 0 0
node 2 0 0 $h
node 3 $b 0 $h
node 4 $b 0 0

node 5 0 0 $h; # duplicate node to simulate torsional release

# masternode
set masternodeTag 6
node $masternodeTag [expr $h/2.] [expr $b/2.] $h

# set section and material property
set BmA 6.61
set ColA 6.61
set E 29000
set mu 0.3;
set G [expr $E/2./[expr 1+$mu]];
set BmJ .2319
set ColJ .2319
set BmIy 7.9313
set BmIz 157.903
set ColIy 7.9313
set ColIz 157.903

# set geometry transfer
set ColGeomtransf 1; # transfer tag for column
set BmGeomtransf 2; # transfer tag for beam

geomTransf Linear $ColGeomtransf 0 1 0;
geomTransf Linear $BmGeomtransf 0 1 0;

#set element
# column
element elasticBeamColumn 1 1 2 $ColA $E $G $ColJ $ColIy $ColIz $ColGeomtransf;
element elasticBeamColumn 2 4 3 $ColA $E $G $ColJ $ColIy $ColIz $ColGeomtransf;

# beam
element elasticBeamColumn 3 2 3 $BmA $E $G $BmJ $BmIy $BmIz $BmGeomtransf;

# brace
element elasticBeamColumn 4 5 4 $BmA $E $G $BmJ $BmIy $BmIz $BmGeomtransf;

equalDOF 2 5 1 2 3 5; # simulate torsional release

rigidDiaphragm 3 $masternodeTag 2 3; # rigid diaphragm constrait

fix 1 1 1 1 1 1 1
fix 4 1 1 1 1 1 1
fix $masternodeTag 0 0 1 1 1 0

# Apply distributed gravity load
pattern Plain 101 Linear {

# distributed loads
set dl -0.1; # distributed load at Floor 2
eleLoad -ele 3 -type -beamUniform $dl 0.0

}

# Gravity-analysis: load-controlled static analysis
set Tol 1.0e-6; # convergence tolerance for test
# how it handles boundary conditions
constraints Transformation

numberer RCM; # renumber dof's to minimize band-width (optimization)
system BandGeneral; # how to store and solve the system of equations in the analysis (large model: try UmfPack)
test NormDispIncr $Tol 10; # determine if convergence has been achieved at the end of an iteration step
algorithm Newton ; # use Newton's solution algorithm: updates tangent stiffness at every iteration
set NstepGravity 10; # apply gravity in 10 steps
set DGravity [expr 1.0/$NstepGravity]; # load increment
integrator LoadControl $DGravity; # determine the next time step for an analysis
analysis Static; # define type of analysis static or transient
analyze $NstepGravity; # apply gravity
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: simultaneous use of equalDOF and rigidDiaphragm constrai

Post by fmk »

look at the warning messages!

you cannot use the Transformation constraint handler in this situation. use Penalty instead.
Post Reply