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
beam with hinges - recorder rotation?
Moderators: silvia, selimgunay, Moderators
Re: beam with hinges - recorder HINGE rotation?
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