Can Quad Element be used in 3D model?

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

Moderators: silvia, selimgunay, Moderators

Post Reply
kishor
Posts: 80
Joined: Wed Jan 24, 2007 6:35 pm
Location: McGIll University

Can Quad Element be used in 3D model?

Post by kishor »

Hello all,

As quad element have 2D 2DOF, how can we use it in 3D modling having 3D 6DOF ? Is this possible? I am only interested on inplane stress strain in the quad element.

Thanks in advance
Kishor
Research Assitant
McGill University
Canada
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Post by fmk »

you would have to create another set of nodes with 2 dof (you can issue model command more than once) ... then connect two models using equalDOF command.
kishor
Posts: 80
Joined: Wed Jan 24, 2007 6:35 pm
Location: McGIll University

Post by kishor »

Thank you Dr. Frank.
I have developed a simple 3D model with a quad element. The model run. For me it is kind of confusion as I can not define the Z cordinate of the node for quad element. Please check my below example model. Is that Ok modeling like this?

Thank you again.



# Units: kN, mm, sec

# ----------------------------

# Start of model generation

# ----------------------------

# Create ModelBuilder with 3 dimensions and 6 DOF/node

model BasicBuilder -ndm 3 -ndf 6

# Define geometry

# ---------------

# Set parameters for model geometry

set h 14000.0; # Story height

set by 5000.0; # Bay width in Y-direction

set bx 35000.0; # Bay width in X-direction

# Create nodes

# tag X Y Z

node 1 [expr -$bx/2] [expr $by/2] 0

node 2 [expr $bx/2] [expr $by/2] 0

node 3 [expr $bx/2] [expr -$by/2] 0

node 4 [expr -$bx/2] [expr -$by/2] 0

node 5 [expr -$bx/2] [expr $by/2] $h -mass 0.0 0.0003 0.0 0.0 0.0 0.0

node 6 [expr $bx/2] [expr $by/2] $h -mass 0.0 0.0003 0.0 0.0 0.0 0.0

node 7 [expr $bx/2] [expr -$by/2] $h -mass 0.0 0.0003 0.0 0.0 0.0 0.0


node 8 [expr -$bx/2] [expr -$by/2] $h -mass 0.0 0.0003 0.0 0.0 0.0 0.0

# Set base constraints

# tag DX DY DZ RX RY RZ

fix 1 1 1 1 1 1 1

fix 2 1 1 1 1 1 1

fix 3 1 1 1 1 1 1

fix 4 1 1 1 1 1 1



#element elasticBeamColumn $eleTag $iNode $jNode $A $E $G $J $Iy $Iz $transfTag
geomTransf Linear 1 1 0 0
geomTransf Linear 2 1 1 0

element elasticBeamColumn 1 1 5 1000 200 77 10000000 10000000 10000000 1
element elasticBeamColumn 2 2 6 1000 200 77 10000000 10000000 10000000 1
element elasticBeamColumn 3 3 7 1000 200 77 10000000 10000000 10000000 1
element elasticBeamColumn 4 4 8 1000 200 77 10000000 10000000 10000000 1
element elasticBeamColumn 5 5 8 1000 200 77 10000000 10000000 10000000 2
element elasticBeamColumn 6 5 6 1000 200 77 10000000 10000000 10000000 2
element elasticBeamColumn 7 6 7 1000 200 77 10000000 10000000 10000000 2
element elasticBeamColumn 8 7 8 1000 200 77 10000000 10000000 10000000 2

## Create ModelBuilder with 2 dimensions and 2 DOF/node
model BasicBuilder -ndm 2 -ndf 2

nDMaterial ElasticIsotropic 1 203 0.3

node 15 [expr -$bx/2] [expr $by/2]

node 16 [expr $bx/2] [expr $by/2]

node 17 [expr $bx/2] [expr -$by/2]


node 18 [expr -$bx/2] [expr -$by/2]

equalDOF 5 15 1 2
equalDOF 6 16 1 2
equalDOF 7 17 1 2
equalDOF 8 18 1 2



set G1 30.1
set T1 [expr $G1/78.0]
element quad 11 17 16 15 18 $T1 PlaneStress 1

set g 9810; # Gravitational constant
set FN "Path -filePath ss160_Dia1.txt -dt 0.0025 -factor $g"; # test_SS160 data

pattern UniformExcitation 2 2 -accel $FN ; # create uniform excitation with IDtag 2 in direction 2



# Start of analysis generation

# ----------------------------

# Create the convergence test

# tol maxIter printFlag

test EnergyIncr 1.0e-8 20 3

# Create the solution algorithm

algorithm Newton

# Create the system of equation storage and solver

system SparseGeneral -piv

# Create the constraint handler

constraints Transformation

# Create the time integration scheme

# gamma beta

integrator Newmark 0.5 0.25

# Create the DOF numberer

numberer RCM

# Create the transient analysis

analysis Transient

# --------------------------


set lambda1 [eigen 1]
set omega1 [expr pow($lambda1,0.5)]
set PI 3.142857
set Tperiod1 [expr 2*$PI/$omega1]; # period (sec.)
puts $Tperiod1

analyze 2000 0.0025;
puts "Done!"
Kishor
Research Assitant
McGill University
Canada
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Post by fmk »

it's fine .. also if you had a wall to model instead of just the slab you could add more nodes and quad elements and constrain them to move in same 1 and 3 or 2 and 3 directions depending on orientation.
kishor
Posts: 80
Joined: Wed Jan 24, 2007 6:35 pm
Location: McGIll University

Post by kishor »

Its nice to know it.

Thank you very much!
Kishor
Research Assitant
McGill University
Canada
Post Reply