Warning message @ FE_Element_setID()

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

Moderators: silvia, selimgunay, Moderators

Post Reply
yuanshuipi
Posts: 12
Joined: Wed May 11, 2005 3:16 am

Warning message @ FE_Element_setID()

Post by yuanshuipi »

While using OPENSEES setup a model to calculate eigen, I got a warning message:

WARNING FE_Element::setID() - numDOF and number of dof at the
DOF_Groups.

After the warning, I got several error/warning messages:

* BandArpackSolver::Error in dgbtrf_
* Warning FrequencyAlgo::solveCurrentStep() - the EigenSOE failed in solve().
* EigenAnalysis::analyze() - algorithm failed.

How do I deal with it? Could you please give me some advice?
Thanks a lot.
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

for some quirk in the eigensolver, you should have more mass dof's than needed. so try putting 1e-9 on one of the zero-mass dof's.
if this doesn't work, please post your file.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
yuanshuipi
Posts: 12
Joined: Wed May 11, 2005 3:16 am

Post by yuanshuipi »

I used stdbrick elements in my model. So there is no zero-mass DOF except rotation degree, but I do not known how to add mass to rotation DOF.

The model is complex, which includes several tcl files. I will try to simplify it and then post it.

By the way, is there any way to attached several files with my post so that I need not simplify my model?

Thanks for your kind help.[/code]
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

you can zip them up and mail them to opensees@peer.berkeley.edu and ask to forward to me.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
yuanshuipi
Posts: 12
Joined: Wed May 11, 2005 3:16 am

Post by yuanshuipi »

The following is a simplified model. I've also sent you an email.
Thanks a lot for your kind help.

Code: Select all

# onlySoilFreeSim.tcl
# writen by jianping SUN
# eigen value for simple free-field model

wipe
puts "**********************************************************"

model BasicBuilder -ndm 3 -ndf 6

puts "begin >Preprocessor>Modeling"

set N_nod 0
set N_ele 0
set N_sec 0
set N_mat 0

	set Nnod0 $N_nod ;# set original value
	set Nele0 $N_ele
	set Nsec0 $N_sec
	set Nmat0 $N_mat
	set stdsoil stdBrick ;# for soil part IN dense and sparse mesh 

nDMaterial ElasticIsotropic 1 10000 0.21 [expr 1.27/386]

###################################################################
#soilbrick.tcl 
# add soil by brick elements form node and element
puts "begin soil model brick around the foundation by nodes and elements "
set unitx 324;
set unity 432;
#=============================================================node
puts "begin the node buildup"

set soilz {-773 -292 -49.2}; # for basement
set SLZ 3;
set soilx {0 1 2 3 4 5 6 7};
set soily {0  2};
set SLX 8;
set SLY 2;
	foreach zLoc $soilz {;# For each soil line z
	foreach yLoc $soily {;# For each soil line y
	foreach xLoc $soilx {;# For each soil line x
			incr N_nod 1
			node $N_nod  [expr $xLoc*$unitx] [expr $yLoc*$unity] $zLoc
	}
	}
	puts "      node $N_nod  [expr $xLoc*$unitx] [expr $yLoc*$unity] $zLoc"
	}
	puts "   last node under the basement $N_nod  $xLoc*$unitx $yLoc*$unity $zLoc"
puts "Soil node is from $Nnod0 to $N_nod total [expr $Nnod0-$N_nod] "
puts "Last Soil node ============ $N_nod: $xLoc*$unitx $yLoc*$unity $zLoc"

#=============================================================element
puts "begin the Brick Element buildup"

set NXY [expr $SLX*$SLY]

# for each soil sub-layer
set II_first 1;
set II_last [expr $SLZ-1]; 
set II_increment 1;
for { set ii $II_first} {$ii <= $II_last} {incr ii $II_increment} {
	set ttz1 [lindex $soilz [expr $ii-1]]
	set ttz2 [lindex $soilz $ii]
	set mat 1
	#set mat [expr $SLZ-$ii]
	set Ne00 $N_ele
		set i00 [expr ($ii-1)*$NXY]
	#puts "      $ii layer $ttz1 $ttz2 matTag=$mat original node=$i00 ele=$Ne00"

# for Y direction
set Iy_first 1;
set Iy_last [expr $SLY-1]; 
set Iy_increment 1;
for { set iy $Iy_first} {$iy <= $Iy_last} {incr iy $Iy_increment} {

# for X direction
set Ix_first 1;
set Ix_last [expr $SLX-1]; 
set Ix_increment 1;
for { set ix $Ix_first} {$ix <= $Ix_last} {incr ix $Ix_increment} {

	set i94 [expr ($iy-1)*$SLX+$ix-1]
#----------------------------------------under basement bottom
		set iii [expr $i00+$i94]; # first node -1
		set n1 [expr $iii+$SLX+2]
		set n2 [expr $iii+$SLX+1]
		set n3 [expr $iii+1]
		set n4 [expr $iii+2]
		set n5 [expr $n1+$NXY]
		set n6 [expr $n2+$NXY]
		set n7 [expr $n3+$NXY]
		set n8 [expr $n4+$NXY]
		incr N_ele 1
		if { $i94 == 0 } { ;#| $i94 == 0 $ii == $II_first 
		puts "                $stdsoil $N_ele $n1 $n2 $n3 $n4 $n5 $n6 $n7 $n8"
		}
		element $stdsoil $N_ele $n1 $n2 $n3 $n4 $n5 $n6 $n7 $n8 $mat
#----------------------------------------under basement bottom
#-------------end the cycle of the element XYZ
}
}
}
puts "Last brick elements is $N_ele - $Nele0 =[expr $N_ele-$Nele0]"

###################################################################
#--------------------------------------boundary
	fixZ -773  1  1  1  1  1  1
	puts "fixZ -773  1  1  1  1  1  1"
###################################################################
#_____________________________________________display the model
# a window showing the displaced shape 
recorder display SPBFModel 600 8 400 600 -wipe 

# next three commmands define viewing system, all values in global coords 
vrp 1134 432 -374; # point on the view plane in global coord, center of local viewing system 
vup 0 0 1;         # dirn defining up direction of view plane 
vpn 0.2 -1 0.2;    # direction of outward normal to view plane

prp 0 0 1000
viewWindow -2000 2000 -2000 2000

port -1 1 -1 1 # area of window that will be drawn into 
fill 1 # fill mode 
display 1 0 10 


###################################################################
##------------------------------------- analysis
puts " "
puts "begin >Solution>Eigen analysis"
algorithm Linear
numberer RCM
constraints Plain
system BandSPD

# Perform an eigenvalue analysis
set lambda2 [eigen 4]

##------------------------------------- record and display the result
puts "$lambda2"
for {set index 0} {$index < 4} {incr index 1} {
	set lambda [lindex $lambda2 $index]
	set omega [expr pow($lambda,0.5)]
	set Tperiod [expr 2*2*asin(1.0)/$omega]
	puts "$lambda SQRT $omega natural period $Tperiod"
}
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

i have forwarded the problem back to Frank, as this is an eigensolver issue!
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Post by fmk »

the problem is that the brick only deals with 3 dof at each node .. change your
model commmand to be as shown below:

model BasicBuilder -ndm 3 -ndf 3
yuanshuipi
Posts: 12
Joined: Wed May 11, 2005 3:16 am

Post by yuanshuipi »

Thanks a lot, The Simlified model really work after I change ndf 3. Since the model is very big, around 4800 nodes and 4000 elements for the soil part. Could you please help me guess how long it takes to calculated the first 4 eigen value? I tried to run opensees in my computer. 3 hours later, I did not get the result. I'm not sure why. Should I try for a longer time? How long is the limitation if no results? It takes 160 seconds to build up the model in my computer.
Last edited by yuanshuipi on Tue May 17, 2005 11:28 am, edited 1 time in total.
yuanshuipi
Posts: 12
Joined: Wed May 11, 2005 3:16 am

Post by yuanshuipi »

I has another problem since it is a Soil-Structure-Interaction analysis. The upper structure and pile foundations were modeled by 3D beam elements and shell elements (ndm 3 ndf 6). How to combine these elements (ndf 6) with the brick elements (ndf 3) together?

Could I use ndf 6 to consider the brick elements if in static (pushover) loads and/or seismic (transient) loads? I mean if it is not eigen value analysis.

Thank you very much!
berktaftali
Posts: 68
Joined: Fri Jul 02, 2004 6:10 am
Location: Computers and Structures, Inc.

Post by berktaftali »

I remember somebody explaining how to do this in this forum. It was something like this:

1. define two model builders, one with 3 dofs and the other with 6 dofs.
2. define all beam elements in 3 dof model builder and all brick elements in 6 dof one.
3. finally, use multi point constraints at the nodes that coincide (e.g. a node that belongs to a brick element AND a beamcolumn element).

This is all I can remember. Hope it helps...
Berk Taftali
Georgia Institute of Technology
Ph.D. Candidate, Structural Engineering, Mechanics, and Materials
School of Civil and Environmental Engineering
Atlanta, GA 30332 USA
Email: gte994y@mail.gatech.edu
yuanshuipi
Posts: 12
Joined: Wed May 11, 2005 3:16 am

Post by yuanshuipi »

Thanks Berktaftali, I searched and found that message. I will try it.
The answer is from Boris
Take a look at solid02.tcl file in ExampleScripts, it does what you need...
Post Reply