rigidDiaphragm

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

Moderators: silvia, selimgunay, Moderators

Post Reply
mmasoudi
Posts: 12
Joined: Wed Feb 11, 2009 2:45 pm
Location: ROSE School, Pavia, Italy

rigidDiaphragm

Post by mmasoudi »

When I use rigidDiaphragm for my model, I received the following error message.
Please advise me on this issue.

"constraint matrix not identity, ignoring constraint for node ..."

Here is my model:

wipe; # clear memory of all past model definitions
model BasicBuilder -ndm 3 -ndf 6; # Define the model builder, ndm=#dimension, ndf=#dofs
set dataDir Data; # set up name of data directory -- remove

# Define GEOMETRY -------------------------------------------------------------
# Define structure-geometry paramters
set LCol 4; # column height (parallel to Y axis)
set LBeam 6; # beam length (parallel to X axis)
set LGird 6; # girder length (parallel to Z axis)

# ------ frame configuration
set NStory 1; # number of stories above ground level
set NBay 1; # number of bays in X direction
set NBayZ 1; # number of bays in Z direction
puts "Number of Stories in Y: $NStory; Number of bays in X: $NBay; Number of bays in Z: $NBayZ"

# Define NODAL COORDINATES
# Ground level

node 111 0.0 0 0.0
node 112 6.0 0 0.0
node 211 0.0 0 6.0
node 212 6.0 0 6.0

# Floor 1

node 121 0.0 4 0.0 #numbering method, X-prallelGirdNo.,StoryNo.,Z-prallelGirdNo.
node 122 6.0 4 0.0
node 221 0.0 4 6.0
node 222 6.0 4 6.0

node 1101 0.9 4 0.0 #numbering method, FloorNo.,X-prallelGirdNo. if not 0,Z-prallelGirdNo. if not 0, cut place
node 1102 3.0 4 0.0
node 1103 5.1 4 0.0
node 1201 0.9 4 6.0
node 1202 3.0 4 6.0
node 1203 5.1 4 6.0

node 1011 0.0 4 0.9 #numbering method, FloorNo.,X-prallelGirdNo. if not 0,Z-prallelGirdNo. if not 0, cut place
node 1012 0.0 4 3.0
node 1013 0.0 4 5.1
node 1021 6.0 4 0.9
node 1022 6.0 4 3.0
node 1023 6.0 4 5.1

# Lumped nodal masses excluding self mass of elements
# End span masses
mass 1101 6.238 6.238 6.238 0.0 0.0 0.0;
mass 1103 6.238 6.238 6.238 0.0 0.0 0.0;
mass 1201 6.238 6.238 6.238 0.0 0.0 0.0;
mass 1203 6.238 6.238 6.238 0.0 0.0 0.0;
mass 1011 6.238 6.238 6.238 0.0 0.0 0.0;
mass 1013 6.238 6.238 6.238 0.0 0.0 0.0;
mass 1021 6.238 6.238 6.238 0.0 0.0 0.0;
mass 1023 6.238 6.238 6.238 0.0 0.0 0.0;

# Mid span masses
mass 1102 5.872 5.872 5.872 0.0 0.0 0.0;
mass 1202 5.872 5.872 5.872 0.0 0.0 0.0;
mass 1012 5.872 5.872 5.872 0.0 0.0 0.0;
mass 1022 5.872 5.872 5.872 0.0 0.0 0.0;

# Define Rigid Floor Diaphragm
rigidDiaphragm 2 121 122 221 222 1101 1102 1103 1201 1202 1203 1011 1012 1013 1021 1022 1023

# BOUNDARY CONDITIONS
fixY 0.0 1 1 1 1 1 1; # fix all Y=0.0 nodes

# define section tags:
set ColSecTagFiber 4
set BeamSecTagFiber 5
set SecTagTorsion 70

# Section Properties:
set HCol 0.3; # square-Column width
set BCol $HCol
set HBeam 0.4; # Beam depth -- perpendicular to bending axis
set BBeam 0.3; # Beam width -- parallel to bending axis


# MATERIAL parameters
uniaxialMaterial Concrete01 1 -27579.0 -0.0022 -22063.0 -0.005;
uniaxialMaterial Steel01 2 413685.5 2.000000E+8 0.01 0.0 1.0 0.0 1.0;

uniaxialMaterial Elastic 3 2300.0 0.0; # Reduced torsional Stiffness (0.2GJ) of the 30x30 RC section
uniaxialMaterial Elastic 4 4000.0 0.0; # Reduced torsional Stiffness (0.2GJ) of the 30x40 RC section


# FIBER SECTION properties
section Fiber 3030 {
patch quad 1 14 14 -0.150000 -0.150000 0.150000 -0.150000 0.150000 0.150000 -0.150000 0.150000;
layer straight 2 3 0.000314 -0.100000 0.100000 0.100000 0.100000;
layer straight 2 3 0.000314 -0.100000 -0.100000 0.100000 -0.100000;
layer straight 2 2 0.000314 0.100000 -0.000000 -0.100000 -0.000000;
}
section Fiber 3040 {
patch quad 1 14 14 -0.150000 -0.200000 0.150000 -0.200000 0.150000 0.200000 -0.150000 0.200000;
layer straight 2 4 0.000491 -0.100000 -0.150000 0.100000 -0.150000;
layer straight 2 4 0.000491 -0.100000 0.150000 0.100000 0.150000;
layer straight 2 2 0.000491 -0.100000 0.050000 -0.100000 -0.050000;
layer straight 2 2 0.000491 0.100000 0.050000 0.100000 -0.050000;
}

set ColSecTag 1;
set BeamSecTag 2;

section Aggregator $ColSecTag 3 T -section 3030;
section Aggregator $BeamSecTag 4 T -section 3040;

# Elements
set np 5; # number of Gauss integration points for nonlinear curvature distribution
set maxIters 1;
set tol 10e-16;

# set up geometric transformations of element
# separate columns and beams, in case of P-Delta analysis for columns
# in 3D model, assign vector vecxz
set IDColTransf 1; # all columns
set IDBeamXXTransf 2; # all beams
set IDBeamZZTransf 3; # all girders

geomTransf Linear $IDColTransf 0 0 1; # only columns can have PDelta effects (gravity effects)
geomTransf Linear $IDBeamXXTransf 0 -1 0;
geomTransf Linear $IDBeamZZTransf 0 -1 0;

set massDens30x30 0.216; # 0.30x0.30x1x2.4
set massDens30x40 0.288;

# Columns
element forceBeamColumn 111 111 121 $np $ColSecTag $IDColTransf -mass $massDens30x30 -iter $maxIters $tol;
element forceBeamColumn 121 112 122 $np $ColSecTag $IDColTransf -mass $massDens30x30 -iter $maxIters $tol;
element forceBeamColumn 211 211 221 $np $ColSecTag $IDColTransf -mass $massDens30x30 -iter $maxIters $tol;
element forceBeamColumn 221 212 222 $np $ColSecTag $IDColTransf -mass $massDens30x30 -iter $maxIters $tol;

# BeamXX
element forceBeamColumn 1101 121 1101 $np $BeamSecTag $IDBeamXXTransf -mass $massDens30x40 -iter $maxIters $tol;
element forceBeamColumn 1102 1101 1102 $np $BeamSecTag $IDBeamXXTransf -mass $massDens30x40 -iter $maxIters $tol;
element forceBeamColumn 1103 1102 1103 $np $BeamSecTag $IDBeamXXTransf -mass $massDens30x40 -iter $maxIters $tol;
element forceBeamColumn 1104 1103 122 $np $BeamSecTag $IDBeamXXTransf -mass $massDens30x40 -iter $maxIters $tol;

element forceBeamColumn 1201 221 1201 $np $BeamSecTag $IDBeamXXTransf -mass $massDens30x40 -iter $maxIters $tol;
element forceBeamColumn 1202 1201 1202 $np $BeamSecTag $IDBeamXXTransf -mass $massDens30x40 -iter $maxIters $tol;
element forceBeamColumn 1203 1202 1203 $np $BeamSecTag $IDBeamXXTransf -mass $massDens30x40 -iter $maxIters $tol;
element forceBeamColumn 1204 1203 222 $np $BeamSecTag $IDBeamXXTransf -mass $massDens30x40 -iter $maxIters $tol;

# BeamZZ
element forceBeamColumn 1011 121 1011 $np $BeamSecTag $IDBeamZZTransf -mass $massDens30x40 -iter $maxIters $tol;
element forceBeamColumn 1012 1011 1012 $np $BeamSecTag $IDBeamZZTransf -mass $massDens30x40 -iter $maxIters $tol;
element forceBeamColumn 1013 1012 1013 $np $BeamSecTag $IDBeamZZTransf -mass $massDens30x40 -iter $maxIters $tol;
element forceBeamColumn 1014 1013 221 $np $BeamSecTag $IDBeamZZTransf -mass $massDens30x40 -iter $maxIters $tol;

element forceBeamColumn 1021 122 1021 $np $BeamSecTag $IDBeamZZTransf -mass $massDens30x40 -iter $maxIters $tol;
element forceBeamColumn 1022 1021 1022 $np $BeamSecTag $IDBeamZZTransf -mass $massDens30x40 -iter $maxIters $tol;
element forceBeamColumn 1023 1022 1023 $np $BeamSecTag $IDBeamZZTransf -mass $massDens30x40 -iter $maxIters $tol;
element forceBeamColumn 1024 1023 222 $np $BeamSecTag $IDBeamZZTransf -mass $massDens30x40 -iter $maxIters $tol;

# Gravity loads
set uniLoad30x30 [expr -9.81*$massDens30x30];
set uniLoad30x40 [expr -9.81*$massDens30x40];

pattern Plain 1 Linear {

# Point loads
# End span loads
load 1101 0.0 -61.19478 0.0 0.0 0.0 0.0;
load 1103 0.0 -61.19478 0.0 0.0 0.0 0.0;
load 1201 0.0 -61.19478 0.0 0.0 0.0 0.0;
load 1203 0.0 -61.19478 0.0 0.0 0.0 0.0;
load 1011 0.0 -61.19478 0.0 0.0 0.0 0.0;
load 1013 0.0 -61.19478 0.0 0.0 0.0 0.0;
load 1021 0.0 -61.19478 0.0 0.0 0.0 0.0;
load 1023 0.0 -61.19478 0.0 0.0 0.0 0.0;

# Mid span loads
load 1102 0.0 -57.60432 0.0 0.0 0.0 0.0;
load 1202 0.0 -57.60432 0.0 0.0 0.0 0.0;
load 1012 0.0 -57.60432 0.0 0.0 0.0 0.0;
load 1022 0.0 -57.60432 0.0 0.0 0.0 0.0;

# Columns
eleLoad -ele 111 121 211 221 -type -beamUniform 0.0 0.0 $uniLoad30x30;

# BeamXX
eleLoad -ele 1101 1102 1103 1104 -type -beamUniform 0.0 $uniLoad30x40;
eleLoad -ele 1201 1202 1203 1204 -type -beamUniform 0.0 $uniLoad30x40;

# BeamZZ
eleLoad -ele 1011 1012 1013 1014 -type -beamUniform 0.0 $uniLoad30x40;
eleLoad -ele 1021 1022 1023 1024 -type -beamUniform 0.0 $uniLoad30x40;
}

# Gravity load analysis
constraints Plain;
numberer Plain;
system BandGeneral;
test EnergyIncr 1.0e-08 10;
algorithm Newton;
set NstepGravity 10; # apply gravity in 10 steps
set DGravity [expr 1./$NstepGravity]; # first 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

# maintain constant gravity loads and reset time to zero
loadConst -time 0.0
puts "Model Built"
salarmanie
Posts: 13
Joined: Fri Aug 07, 2009 4:57 am
Location: Iran
Contact:

Re: rigidDiaphragm

Post by salarmanie »

Try Constraints Penalty ... (see the arguments in the manual)
salarmanie
Posts: 13
Joined: Fri Aug 07, 2009 4:57 am
Location: Iran
Contact:

Re: rigidDiaphragm

Post by salarmanie »

Try Constraints Penalty ... (see the manual for the arguments)
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: rigidDiaphragm

Post by vesna »

Your model is good. However it can not be solved by using Plain constraint handler. In the command manual you will find a reason for this: http://opensees.berkeley.edu/wiki/index ... onstraints.

To solve your problem you can use any other constraints handler available in OpenSees.
Post Reply