Problem in running eigen analysis with thermal loads

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

Moderators: silvia, selimgunay, Moderators

Post Reply
adarshss
Posts: 6
Joined: Thu Jan 12, 2017 11:08 pm
Location: IIT Kanpur

Problem in running eigen analysis with thermal loads

Post by adarshss » Sun Apr 10, 2022 4:11 am

Hi guys,

I am a tyro with OpenSees and was trying to run an eigenanalysis with the Example 1 problem given for thermal analysis (simply supported beam). Unfortunately, some error is coming while running the code. Can anyone kindly help me with this? Is it something that I am doing wrong or is it something else?

Thanks,
Adarsh

The code and the error messages are given below.

Code:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------

##########################################################################################
# Code by Walker Maddalozzo & Dr. Erica Fischer - Oregon State University - April 2019
# Example: simple beam with thermal expansion
# Units: Newtons, mm, seconds


wipe all; # clear memory of past model definitions
model BasicBuilder -ndm 2 -ndf 3; # Define the model builder, ndm = #dimension, ndf = #dofs
#source DisplayModel2D.tcl; # procedure for displaying a 2D perspective of model
#source DisplayPlane.tcl; # procedure for displaying a plane in a model
set dataDir Examples/Example1_OUTPUT; # name of output folder
file mkdir $dataDir; # create output folder


#------------------------------------------------------------------------------
# Geometric model
# ________
# | | | 4 fibers in section
# 1 |------------------------|2 |____|____| 0.4m
# |<----------1m---------->| | | |
# |____|____|
# 0.2m
#------------------------------------------------------------------------------
###################################################################################################
# Define Geometry, Nodes, Masses, and Constraints
###################################################################################################


###################################### NODE DEFINITIONS ###########################################
# http://opensees.berkeley.edu/wiki/index ... de_command

# node nodetag locx locy
node 1 0 0;
node 2 1000 0;

###################################### MASS DEFINITIONS ###########################################
mass 1 314. 314. 0. ;
mass 2 314. 314. 0.;



###################################### BOUNDRY CONDITIONS #########################################
# http://opensees.berkeley.edu/wiki/index.php/Fix_command

#fix nodetag dofx dofy dof moment about z [ 1 = fixed 0 = free ];

#Left end fixed - right end roller to allow expansion.
fix 1 1 1 0; #pinned
fix 2 0 1 0; #roller

##################################### MATERIAL DEFINITIONS ########################################

set Es 210000; #Mpa # steel Young's modulus;
set Fy 250; #MPa # steel yield strength;
set b 0.001; # strain-hardening ratio;

#uniaxialMaterial Steel01Thermal $matTag $Fy $E0 $b
uniaxialMaterial Steel01Thermal 1 $Fy $Es $b;


##################################### TRANSFORMATION DEFINITIONS ############################
# http://opensees.berkeley.edu/wiki/index ... on_Command

#three transformation types can be chosen: Linear, PDelta, Corotational

# transforamtion: geomTransf $type $TransfTag;
set transftag 1
geomTransf Linear $transftag;


###################################### ELEMENT GEOMETRY ############################################


# PATCH COMMAND: http://opensees.berkeley.edu/wiki/index ... ch_Command

section FiberThermal 1 -GJ $Es {

set numSubdivIJ 2; # horizontal
set numSubdivJK 2; # vertical
set yI -100;
set zI -200;
set yJ 100;
set zJ -200;
set yK 100;
set zK 200;
set yL -100;
set zL 200;
patch quad 1 $numSubdivIJ $numSubdivJK $yI $zI $yJ $zJ $yK $zK $yL $zL
}



###################################### ELEMENT PROPERTIES ###########################################

#dispBeamColumnThermal $eleTag $iNode $jNode $numIntgrPts $secTag $TransfTag;
element dispBeamColumnThermal 1 1 2 5 1 $transftag;

###################################### RECORDER OUTPUTS #############################################

# http://opensees.berkeley.edu/wiki/index ... er_Command

recorder Node -file $dataDir/Node2disp.out -time -node 2 -dof 1 disp; # displacements of end node (2) DOF 1 Horizontal Direction



###################################### THERMAL LOADS ###############################################

# Defining temperature data for two extreme locations. The temperature will be linearly interpolated between the two locations.

set T 1180.; #Max Temp - DEG CELCIUS
set Y1 200.; #top fiber of beam
set Y2 -200.; #Bottom fiber of beam


#pattern Plain $PatternTag Linear { eleLoad -ele $eleTag -type -beamThermal $MaxTemp $ExtremeFiberLoc1 $MaxTemp $ExtremeFiberLoc2 };
pattern Plain 1 Linear { eleLoad -ele 1 -type -beamThermal $T $Y2 $T $Y1 };

###################################### EIGEN ANALYSIS ###############################################
eigen 1

set Nstep 1000;
set Factor [expr 1.0/$Nstep];

constraints Plain;
numberer Plain;
system BandGeneral;
test NormDispIncr 1e-12 500;
algorithm Newton;
integrator LoadControl $Factor;
analysis Static;
analyze $Nstep;

puts "Fire Done. End Time: [getTime]"

wipe;
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------


OUTPUT/ERROR MESSAGE:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------

Steel01Th unaxial material - Modified by Princeton
ArpackSolver::Error with _saupd info = -9999
Could not build an Arnoldi factorization.IPARAM(5) the size of the current Arnoldi factorization: is 1factorization. The user is advised to check thatenough workspace and array storage has been allocated.
WARNING DirectIntegrationAnalysis::eigen() - EigenSOE failed in solve()
WARNING: analysis .. existing TransientAnalysis exists => wipeAnalysis not invoked, problems may arise
Fire Done. End Time: 1.000000


> End of file [ "C:\Users\CHIKKU-ADI\Desktop\OpenSees _Thermal\OwnThermal_1D_Beam\OwnThermal_1D_Beam.tcl" ] reached.
> Elapssed time: 00:00:000.0681 (h:m:s:ms)
> Sunday, April 10, 2022 5:39:57 PM
> Press any key to close, right click for options.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------

mhscott
Posts: 874
Joined: Tue Jul 06, 2004 3:38 pm
Location: Corvallis, Oregon USA
Contact:

Re: Problem in running eigen analysis with thermal loads

Post by mhscott » Sun Apr 10, 2022 5:32 am

There's only one dynamic DOF and the default eigenvalue solver requires atleast N+1 dynamic DOFs to compute N eigenvalues.

For this small model you can use the 'fullGenLapack' option, but for larger models this option is very slow.
https://portwooddigital.com/2022/03/06/ ... igen-chew/

adarshss
Posts: 6
Joined: Thu Jan 12, 2017 11:08 pm
Location: IIT Kanpur

Re: Problem in running eigen analysis with thermal loads

Post by adarshss » Sun Apr 10, 2022 7:35 am

Thank you very much, Prof. Scott, for pointing that out. That was a rookie mistake from my side :).

I just saw your video with Silvia. That was quite compelling.

I used the -fullGenLapack, and everything worked like a charm. Thanks again.

Post Reply