Solid+Beam Model Fails Eigenvalue Analysis

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

Moderators: silvia, selimgunay, Moderators

Post Reply
ozgunergun
Posts: 1
Joined: Tue Aug 08, 2017 12:59 am
Location: University of Luxembourg

Solid+Beam Model Fails Eigenvalue Analysis

Post by ozgunergun »

I'm trying to model a soil domain with solid elements together with piles modelled by beam elements. I'm aware that solid nods have 3 DOF's where beam nodes have 6 DOF's, therefore i use equalDOF object to constrain the corresponding nodes of beams and solids of the same coordinates.

The thing is when i model such a problem the eigenvalue anaysis failes and i get the following:

*******************************************************************************

FullGenEigenSolver::solve() - the eigenvalue 22 is complex with magnitude 841987
FullGenEigenSolver::solve() - the eigenvalue 23 is complex with magnitude 841987
can't use non-numeric floating-point value as operand of "/"
while executing
"expr 6.283185/sqrt($lam)"
("foreach" body line 2)
invoked from within
"foreach lam $lambda {
lappend T [expr 6.283185/sqrt($lam)]
}"

******************************************************************************

I use Gid+Opensees to visualize my model and then get the tcl code. I tried a representative simple model with 8 hexahedra solids (2x2x2) with a beam element in the middle of the second layer solids. The assigned elements have nonzero masses defined. Below is my tcl code. Thanks in advance.

******************************************************************************
# --------------------------------------------------------------------------------------------------------------
#
# M O D E L D O M A I N 1 (3DOF)
#
# --------------------------------------------------------------------------------------------------------------

model BasicBuilder -ndm 3 -ndf 3

# --------------------------------------------------------------------------------------------------------------
# N O D E S
# --------------------------------------------------------------------------------------------------------------

# node $NodeTag $XCoord $Ycoord $Zcoord

node 1 10 10 0
node 2 5 10 0
node 3 10 10 5
node 4 10 5 0
node 5 10 5 5
node 6 5 5 0
node 7 5 10 5
node 8 5 5 5
node 10 10 0 0
node 11 10 10 10
node 12 0 10 0
node 13 10 0 5
node 14 10 5 10
node 15 5 0 0
node 16 0 10 5
node 17 0 5 0
node 18 5 10 10
node 19 5 0 5
node 21 5 5 10
node 22 0 5 5
node 23 0 0 0
node 24 0 10 10
node 25 10 0 10
node 26 5 0 10
node 27 0 0 5
node 28 0 5 10
node 29 0 0 10

# --------------------------------------------------------------------------------------------------------------
# R E S T R A I N T S
# --------------------------------------------------------------------------------------------------------------

# fix $NodeTag x-transl y-transl z-transl

fix 1 1 1 1
fix 2 1 1 1
fix 4 1 1 1
fix 6 1 1 1
fix 10 1 1 1
fix 12 1 1 1
fix 15 1 1 1
fix 17 1 1 1
fix 23 1 1 1

# --------------------------------------------------------------------------------------------------------------
# S T A N D A R D B R I C K E L E M E N T S
# --------------------------------------------------------------------------------------------------------------

# nDMaterial Definition used by stdBrick Elements
# (if they have not already been defined on this model domain)

nDMaterial ElasticIsotropic 127 3e+07 0.2 12

# stdBrick element definition: element stdBrick $eleTag $node1 $node2 $node3 $node4 $node5 $node6 $node7 $node8 $matTag <$b1 $b2 $b3>

element stdBrick 1 8 22 17 6 19 27 23 15 127 0 0 0
element stdBrick 2 5 8 6 4 13 19 15 10 127 0 0 0
element stdBrick 3 7 16 12 2 8 22 17 6 127 0 0 0
element stdBrick 4 3 7 2 1 5 8 6 4 127 0 0 0
element stdBrick 5 21 28 22 8 26 29 27 19 127 0 0 0
element stdBrick 6 14 21 8 5 25 26 19 13 127 0 0 0
element stdBrick 7 18 24 16 7 21 28 22 8 127 0 0 0
element stdBrick 8 11 18 7 3 14 21 8 5 127 0 0 0

# --------------------------------------------------------------------------------------------------------------
#
# M O D E L D O M A I N 2 (6DOF)
#
# --------------------------------------------------------------------------------------------------------------

model BasicBuilder -ndm 3 -ndf 6

# --------------------------------------------------------------------------------------------------------------
# N O D E S
# --------------------------------------------------------------------------------------------------------------

# node $NodeTag $XCoord $Ycoord $Zcoord

node 9 5 5 5
node 20 5 5 10

# --------------------------------------------------------------------------------------------------------------
# E L A S T I C B E A M - C O L U M N E L E M E N T S
# --------------------------------------------------------------------------------------------------------------

# Geometric Transformation

geomTransf Linear 1 -1 0 0
geomTransf PDelta 3 -1 0 0
geomTransf Corotational 5 -1 0 0
geomTransf Linear 2 0 0 1
geomTransf PDelta 4 0 0 1
geomTransf Corotational 6 0 0 1

# Elastic Beam Column Definition

# element elasticBeamColumn $eleTag $iNode $jNode $A $E $G $J $Iy $Iz $transfTag <-mass $MassPerUnitLength>

element elasticBeamColumn 9 9 20 0.15 3e+07 1.25e+07 0.00281737 0.003125 0.001125 1 -mass 1.8

# --------------------------------------------------------------------------------------------------------------
#
# D O M A I N C O M M O N S
#
# --------------------------------------------------------------------------------------------------------------

#
# Auto equalDOF commands between nodes, which belong to different domains
#

equalDOF 8 9 1 2 3
equalDOF 21 20 1 2 3

# --------------------------------------------------------------------------------------------------------------
# R E C O R D E R S
# --------------------------------------------------------------------------------------------------------------

recorder Node -file Node_displacements.out -time -nodeRange 1 29 -dof 1 2 3 disp
recorder Node -file Node_rotations.out -time -nodeRange 1 29 -dof 4 5 6 disp
recorder Node -file Node_forceReactions.out -time -nodeRange 1 29 -dof 1 2 3 reaction
recorder Node -file Node_momentReactions.out -time -nodeRange 1 29 -dof 4 5 6 reaction
recorder Element -file stdBrick_force.out -time -eleRange 1 8 forces
recorder Element -file stdBrick_stress.out -time -eleRange 1 8 stresses
recorder Element -file stdBrick_strain.out -time -eleRange 1 8 strains
recorder Element -file ElasticBeamColumn_localForce.out -time -ele 9 localForce

logFile "solid+piledeneme.log"

puts "\n--------------------------------------------------------------------------------------------------------"
puts "\nGiD+OpenSees Interface v2.5.0"
puts "\nAnalysis summary\n"
puts "Interval 1 : Static - [expr int(1+1)] steps"
puts ""
set time_start [clock seconds]
puts "Starting analyis at [clock format $time_start -format %H:%M:%S]\n"

# --------------------------------------------------------------------------------------------------------------
#
# I N T E R V A L 1
#
# --------------------------------------------------------------------------------------------------------------

puts "Running interval 1 ...\n"

# recording the initial status

record;

# Perform eigenvalue analysis

puts "Running eigenvalue analysis ...\n"

set numModes 2

# Record eigenvectors

for { set k 1 } { $k <= $numModes } { incr k } {
recorder Node -file [format "Mode_%i.out" $k] -nodeRange 1 29 -dof 1 2 3 "eigen $k"
}

set lambda [eigen -fullGenLapack $numModes]

# Calculate periods

set T {}
foreach lam $lambda {
lappend T [expr 6.283185/sqrt($lam)]
}

# Write periods file

set period "Periods.out"
set Periods [open $period "w"]
foreach t $T {
puts $Periods "$t"
}
close $Periods

# Analysis options

system BandGeneral
numberer RCM
constraints Transformation
integrator LoadControl 1
algorithm Linear
analysis Static
set committedSteps 1
for {set i 1} { $i <= 1 } {incr i 1} {
set AnalOk [analyze 1]
if {$AnalOk !=0} {
break
} else {
set committedSteps [expr $committedSteps+1]
}
}
if {$AnalOk == 0} {
puts "\nAnalysis completed SUCCESSFULLY"
puts "Committed steps : 1\n"
} else {
puts "\nAnalysis FAILED\n"
}

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

set time_end [clock seconds]
set analysisTime [expr $time_end-$time_start]
puts "Analysis finished at [clock format $time_end -format %H:%M:%S]\n"
puts "Analysis time $analysisTime seconds"


******************************************************************************
zemiki
Posts: 13
Joined: Tue Jan 16, 2018 9:38 pm
Location: South Korea

Re: Solid+Beam Model Fails Eigenvalue Analysis

Post by zemiki »

I am having the same problem, how did you solve it?
Post Reply