beam with hinges - recorder rotation?

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

Moderators: silvia, selimgunay, Moderators

Post Reply
sorin
Posts: 12
Joined: Fri Sep 16, 2005 5:03 am
Location: E Europe/Romania/Timisoara
Contact:

beam with hinges - recorder rotation?

Post by sorin »

I tried to model a simple countilever with the help of beam with hinges element and i wanted to obtain the rotation but there are no results.
There is somoane who know how can I get the rotation?
Here I attach the file:

# OpenSees Example Consola1
# OpenSees Primer
#
# Units: kN, m, sec
# Define model builder
# --------------------
model BasicBuilder -ndm 2 -ndf 3

# Create nodes
# ------------

# Set parameters for overall model geometry
set height 1.5

# Create nodes
# tag X Y
node 1 0.0 0.0
node 2 0.0 $height
# Fix supports at base of columns
# tag DX DY RZ
fix 1 1 1 1

# Define materials for nonlinear columns
# ------------------------------------------
# CONCRETE tag f'c ec0 f'cu ecu
# Core concrete (confined)
uniaxialMaterial Concrete01 1 -25000.0 -0.002 -25000.0 -0.0035
# Cover concrete (unconfined)
uniaxialMaterial Concrete01 2 -25000.0 -0.002 -25000.0 -0.0035
# STEEL
# Reinforcing steel
set fy 320000.0; # Yield stress
set E 200.0e6; # Young's modulus
# tag fy E0 b
uniaxialMaterial Steel01 3 $fy $E 1.0e-10
# Define cross-section for nonlinear columns
# ------------------------------------------
# set some parameters
set colWidth 0.250
set colDepth 0.250
set cax 0.029
set As 113.1e-6; # area of fi12 bars
# some variables derived from the parameters
set y1 [expr $colWidth/2.0]; #dist de la CG la fibra extrema
set z1 [expr $colDepth/2.0]; #dist de la CG la fibra extrema
set y2 [expr $y1-$cax]; #dist de la CG la armatura
set z2 [expr $z1-$cax]; #dist de la CG la armatura
section Fiber 1 {
# Create the concrete core fibers
patch quad 1 1 10 $y2 -$z2 $y2 $z2 -$y2 $z2 -$y2 -$z2
# Create the concrete cover fibers (bottom, up, left, right)
patch quad 2 1 2 $y1 -$z2 $y1 $z2 $y2 $z2 $y2 -$z2
patch quad 2 1 2 -$y2 -$z2 -$y2 $z2 -$y1 $z2 -$y1 -$z2
patch quad 2 1 10 $y1 -$z1 $y1 -$z2 -$y1 -$z2 -$y1 -$z1
patch quad 2 1 10 $y1 $z2 $y1 $z1 -$y1 $z1 -$y1 $z2

# Create the reinforcing fibers (bottom, top)
layer straight 3 2 $As $y2 -$z2 $y2 $z2
layer straight 3 2 $As -$y2 -$z2 -$y2 $z2
}

section Fiber 2 {
# Create the concrete core fibers
patch quad 1 1 10 $y2 -$z2 $y2 $z2 -$y2 $z2 -$y2 -$z2
# Create the concrete cover fibers (bottom, up, left, right)
patch quad 2 1 2 $y1 -$z2 $y1 $z2 $y2 $z2 $y2 -$z2
patch quad 2 1 2 -$y2 -$z2 -$y2 $z2 -$y1 $z2 -$y1 -$z2
patch quad 2 1 10 $y1 -$z1 $y1 -$z2 -$y1 -$z2 -$y1 -$z1
patch quad 2 1 10 $y1 $z2 $y1 $z1 -$y1 $z1 -$y1 $z2

# Create the reinforcing fibers (bottom, top)
layer straight 3 2 $As $y2 -$z2 $y2 $z2
layer straight 3 2 $As -$y2 -$z2 -$y2 $z2
}

# Define column elements
# ----------------------

# Geometry of column elements
# $transfTag <-jntOffset $dXi $dYi $dXj $dYj>
geomTransf PDelta 1

# Number of integration points along length of element
set np 2

# Create the coulumns using Beam-column elements
# tag ndI ndJ secTagI Hinge secTagJ Hinge E A Iz transfTag <-mass $massDens> <-iter $maxIters $tol>
# LengththI LengthJ


element beamWithHinges 1 1 2 1 0.25 2 0.25 250e5 625e-4 325e-2 1 0 1

# Define gravity loads
# --------------------

# Set a parameter for the axial load
set P 316; # 10% of axial capacity of columns

# Create a Plain load pattern with a Linear TimeSeries
pattern Plain 1 "Linear" {

# Create nodal loads at node 2
# nd FX FY MZ
load 2 0.0 [expr -$P] 0.0
}

# Create a Plain load pattern with a Linear TimeSerie
pattern Plain 2 "Linear" {

#eleLoad -ele $eleTag1 <$eleTag2 ....> -type -beamUniform $Wz <$Wx>
eleLoad -ele 1 -type -beamUniform 10
}

# initialize in case we need to do an initial stiffness iteration
initialize

# ------------------------------
# End of model generation
# ------------------------------


# ------------------------------
# Start of analysis generation
# ------------------------------

# Create the system of equation, a sparse solver with partial pivoting
system BandGeneral

# Create the constraint handler, the transformation method
constraints Transformation

# Create the DOF numberer, the reverse Cuthill-McKee algorithm
numberer RCM

# Create the convergence test, the norm of the residual with a tolerance of
# 1e-12 and a max number of iterations of 10
test NormDispIncr 1.0e-12 10 3

# Create the solution algorithm, a Newton-Raphson algorithm
algorithm Newton

# Create the integration scheme, the LoadControl scheme using steps of 0.1
integrator LoadControl 0.1

# Create the analysis object
analysis Static

# ------------------------------
# End of analysis generation
# ------------------------------

# ------------------------------
# Start of recorder generation
# ------------------------------

# Create a recorder to monitor nodal displacements
##recorder Node -file nodeGravity.out -time -node 2 -dof 1 disp
recorder Element -file ele1global.out -time -ele 1 globalForce
recorder Element -file ele1rot.out –time -ele 1 rotation
recorder Element -file ele1Force.out –time -ele 1 localForce
recorder Element -file ele1sec1Def.out –time -ele 1 section 1 deformation

# --------------------------------
# End of recorder generation
# ---------------------------------





# ------------------------------
# Finally perform the analysis
# ------------------------------

# perform the gravity load analysis, requires 10 steps to reach the load level
analyze 10

# Print out the state of nodes 3 and 4
print node 1
# Print out the state of element 1
print ele 1
sorin
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

rotation of what? why not a node recorder?
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
sorin
Posts: 12
Joined: Fri Sep 16, 2005 5:03 am
Location: E Europe/Romania/Timisoara
Contact:

Re: beam with hinges - recorder HINGE rotation?

Post by sorin »

sorin wrote:I tried to model a simple countilever with the help of beam with hinges element and i wanted to obtain the HINGE rotation but there are no results.
There is a way to obtain hinge rotation with another element?
Here I attach the file:

# OpenSees Example Consola1
# OpenSees Primer
#
# Units: kN, m, sec
# Define model builder
# --------------------
model BasicBuilder -ndm 2 -ndf 3

# Create nodes
# ------------

# Set parameters for overall model geometry
set height 1.5

# Create nodes
# tag X Y
node 1 0.0 0.0
node 2 0.0 $height
# Fix supports at base of columns
# tag DX DY RZ
fix 1 1 1 1

# Define materials for nonlinear columns
# ------------------------------------------
# CONCRETE tag f'c ec0 f'cu ecu
# Core concrete (confined)
uniaxialMaterial Concrete01 1 -25000.0 -0.002 -25000.0 -0.0035
# Cover concrete (unconfined)
uniaxialMaterial Concrete01 2 -25000.0 -0.002 -25000.0 -0.0035
# STEEL
# Reinforcing steel
set fy 320000.0; # Yield stress
set E 200.0e6; # Young's modulus
# tag fy E0 b
uniaxialMaterial Steel01 3 $fy $E 1.0e-10
# Define cross-section for nonlinear columns
# ------------------------------------------
# set some parameters
set colWidth 0.250
set colDepth 0.250
set cax 0.029
set As 113.1e-6; # area of fi12 bars
# some variables derived from the parameters
set y1 [expr $colWidth/2.0]; #dist de la CG la fibra extrema
set z1 [expr $colDepth/2.0]; #dist de la CG la fibra extrema
set y2 [expr $y1-$cax]; #dist de la CG la armatura
set z2 [expr $z1-$cax]; #dist de la CG la armatura
section Fiber 1 {
# Create the concrete core fibers
patch quad 1 1 10 $y2 -$z2 $y2 $z2 -$y2 $z2 -$y2 -$z2
# Create the concrete cover fibers (bottom, up, left, right)
patch quad 2 1 2 $y1 -$z2 $y1 $z2 $y2 $z2 $y2 -$z2
patch quad 2 1 2 -$y2 -$z2 -$y2 $z2 -$y1 $z2 -$y1 -$z2
patch quad 2 1 10 $y1 -$z1 $y1 -$z2 -$y1 -$z2 -$y1 -$z1
patch quad 2 1 10 $y1 $z2 $y1 $z1 -$y1 $z1 -$y1 $z2

# Create the reinforcing fibers (bottom, top)
layer straight 3 2 $As $y2 -$z2 $y2 $z2
layer straight 3 2 $As -$y2 -$z2 -$y2 $z2
}

section Fiber 2 {
# Create the concrete core fibers
patch quad 1 1 10 $y2 -$z2 $y2 $z2 -$y2 $z2 -$y2 -$z2
# Create the concrete cover fibers (bottom, up, left, right)
patch quad 2 1 2 $y1 -$z2 $y1 $z2 $y2 $z2 $y2 -$z2
patch quad 2 1 2 -$y2 -$z2 -$y2 $z2 -$y1 $z2 -$y1 -$z2
patch quad 2 1 10 $y1 -$z1 $y1 -$z2 -$y1 -$z2 -$y1 -$z1
patch quad 2 1 10 $y1 $z2 $y1 $z1 -$y1 $z1 -$y1 $z2

# Create the reinforcing fibers (bottom, top)
layer straight 3 2 $As $y2 -$z2 $y2 $z2
layer straight 3 2 $As -$y2 -$z2 -$y2 $z2
}

# Define column elements
# ----------------------

# Geometry of column elements
# $transfTag <-jntOffset $dXi $dYi $dXj $dYj>
geomTransf PDelta 1

# Number of integration points along length of element
set np 2

# Create the coulumns using Beam-column elements
# tag ndI ndJ secTagI Hinge secTagJ Hinge E A Iz transfTag <-mass $massDens> <-iter $maxIters $tol>
# LengththI LengthJ


element beamWithHinges 1 1 2 1 0.25 2 0.25 250e5 625e-4 325e-2 1 0 1

# Define gravity loads
# --------------------

# Set a parameter for the axial load
set P 316; # 10% of axial capacity of columns

# Create a Plain load pattern with a Linear TimeSeries
pattern Plain 1 "Linear" {

# Create nodal loads at node 2
# nd FX FY MZ
load 2 0.0 [expr -$P] 0.0
}

# Create a Plain load pattern with a Linear TimeSerie
pattern Plain 2 "Linear" {

#eleLoad -ele $eleTag1 <$eleTag2 ....> -type -beamUniform $Wz <$Wx>
eleLoad -ele 1 -type -beamUniform 10
}

# initialize in case we need to do an initial stiffness iteration
initialize

# ------------------------------
# End of model generation
# ------------------------------


# ------------------------------
# Start of analysis generation
# ------------------------------

# Create the system of equation, a sparse solver with partial pivoting
system BandGeneral

# Create the constraint handler, the transformation method
constraints Transformation

# Create the DOF numberer, the reverse Cuthill-McKee algorithm
numberer RCM

# Create the convergence test, the norm of the residual with a tolerance of
# 1e-12 and a max number of iterations of 10
test NormDispIncr 1.0e-12 10 3

# Create the solution algorithm, a Newton-Raphson algorithm
algorithm Newton

# Create the integration scheme, the LoadControl scheme using steps of 0.1
integrator LoadControl 0.1

# Create the analysis object
analysis Static

# ------------------------------
# End of analysis generation
# ------------------------------

# ------------------------------
# Start of recorder generation
# ------------------------------

# Create a recorder to monitor nodal displacements
##recorder Node -file nodeGravity.out -time -node 2 -dof 1 disp
recorder Element -file ele1global.out -time -ele 1 globalForce
recorder Element -file ele1rot.out –time -ele 1 rotation
recorder Element -file ele1Force.out –time -ele 1 localForce
recorder Element -file ele1sec1Def.out –time -ele 1 section 1 deformation

# --------------------------------
# End of recorder generation
# ---------------------------------





# ------------------------------
# Finally perform the analysis
# ------------------------------

# perform the gravity load analysis, requires 10 steps to reach the load level
analyze 10

# Print out the state of nodes 3 and 4
print node 1
# Print out the state of element 1
print ele 1
sorin
Post Reply