the temperature is invalid

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

Moderators: silvia, selimgunay, Moderators

Post Reply
miladm2
Posts: 19
Joined: Fri May 25, 2012 12:12 am
Location: K.N.Toosi

the temperature is invalid

Post by miladm2 »

hi to every one

I'm working on the thermal buckling of beam on Elastoplast foundation. but i have a huge problem with "the temperature is invalid" error! :(
when i run the model without the weight of the beam, this error disappear, but when i try with weight... :(
Do you know how can i fix this?

thank you
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: the temperature is invalid

Post by fmk »

can you post a small example, i.e. 1 element.
miladm2
Posts: 19
Joined: Fri May 25, 2012 12:12 am
Location: K.N.Toosi

Re: the temperature is invalid

Post by miladm2 »

hi Prof. McKenna

there is a small example of my project:


wipe ;
model basic -ndm 2 -ndf 3 ;
node 1 0 0
node 101 0 0
node 2 100 0
node 102 100 0
node 3 200 4
node 103 200 4
node 4 300 0
node 104 300 0
node 5 400 0
node 105 400 0



fix 1 1 1 0
fix 5 1 1 0
fix 101 1 1 1
fix 102 1 1 1
fix 103 1 1 1
fix 104 1 1 1
fix 105 1 1 1

uniaxialMaterial Steel02Thermal 1 3400. 2060000. .02 15. 0.925 0.15 ;
uniaxialMaterial Steel01 3 24.5 15.13 10e-11
uniaxialMaterial ElasticPPGap 2 150 -300 0



section FiberThermal 1 {
layer circ 1 90 1.3796 0 0 15.56 0 360
} ;




geomTransf Corotational 1 ;
element dispBeamColumnThermal 1 1 2 5 1 1 ;
element dispBeamColumnThermal 2 2 3 5 1 1 ;
element dispBeamColumnThermal 3 3 4 5 1 1 ;
element dispBeamColumnThermal 4 4 5 5 1 1 ;
element zeroLength 101 101 1 -mat 2 -dir 2 ;
element zeroLength 102 102 2 -mat 2 -dir 2 ;
element zeroLength 103 103 3 -mat 2 -dir 2 ;
element zeroLength 104 104 4 -mat 2 -dir 2 ;
element zeroLength 105 105 5 -mat 2 -dir 2 ;
element zeroLength 1001 101 1 -mat 3 -dir 1 ;
element zeroLength 1002 102 2 -mat 3 -dir 1 ;
element zeroLength 1003 103 3 -mat 3 -dir 1 ;
element zeroLength 1004 104 4 -mat 3 -dir 1 ;
element zeroLength 1005 105 5 -mat 3 -dir 1 ;




pattern Plain 1 Linear {
load 1 0 -31.5 0
load 2 0 -63 0
load 3 0 -63 0
load 4 0 -63 0
load 5 0 -31.5 0
}


# perform gravity analysis
constraints Plain ;
numberer Plain ;
system BandGeneral ;
test NormDispIncr 1.0e-8 6 ;
integrator LoadControl 0.1 ;
algorithm Newton ;
analysis Static ;
analyze 10 ;
loadConst -time 0.0 ;



pattern Plain 2 Linear {
eleLoad -ele 1 2 3 4 -type -beamThermal 1 -17 1 17
}


#Converge Quick & Easy (PUSHOVER Analysis)
set crdmid 0.0
set crd 0.0; #Current Roof Displacement
set dmax 5; #Target Displacment
set dincr 0.1; #initial disp. increment
set maxincr 1; #maximum disp. increment size
set minincr 1.0e-30; #Minimum disp. increment Size
set tol 1.0e-6; #initial tolerance criteria used to check for convergence
set MNode 3; # Set Monitor Node Tag, i.e Roof node Tag is 20)

puts "\n\n\n\n\n.......................PUSHOVER Analysis Began........................... "
puts "\n\n initial Step size: $dincr"
puts " initial Telorance:$tol"
puts "\n.........................................................................\n"

for {set i 1} {$crdmid<= $dmax} {incr i 1} {







#numberer RCM ;
test NormDispIncr $tol 100
integrator DisplacementControl $MNode 2 $dincr; #displacement control algorithm seking increment of $dincr at node $MNode at 1st dof.
set ok [analyze $i]

#incase of Convergance:
if {$ok>=0} {
set ntry [testIter] ; #returns Number of tries to achive convergance




set crdmid [nodeDisp 3 2]
set crd [nodeDisp $MNode 2]; #returns Current Disp. of Monitor node in 1st dof
puts "*** Step:$i Try:$ntry Roof Disp:$crdmid ***"


#Automatic Step Modifier (IF Conditions Approved then increase increment):
if {$ntry<=2 && $dincr<=$maxincr} {

if {$dincr<= 1.0e-9} {
set dincr [expr $dincr*20]
set tol 1e-1
}
if {$dincr<= 1.0e-6 && $dincr> 1.0e-9 } {
set dincr [expr $dincr*9]
set tol 1e-3
}
if {$dincr<= 1.0e-3 && $dincr> 1.0e-6 } {
set dincr [expr $dincr*3]
set tol 1e-5
}
if {$dincr> 1.0e-3 } {
set dincr [expr $dincr*1.5]
set tol 1e-6
}
puts "\n\n\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
puts " Increase increment Size to: $dincr"
puts " Telorance:$tol"
puts "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
}
}

###If Not Connverged:
if {$ok<0} {
set i [expr $i-1]; #Hold Analysis Step

#Automatic Step Modifier
if {$dincr<= 1.0e-9} {
set dincr [expr $dincr*0.1]
set tol 1
}
if {$dincr<= 1.0e-6 && $dincr> 1.0e-9 } {
set dincr [expr $dincr*0.15]
set tol 1e-1
}
if {$dincr<= 1.0e-3 && $dincr> 1.0e-6 } {
set dincr [expr $dincr*0.3]
set tol 1e-2
}
if {$dincr> 1.0e-3 } {
set dincr [expr $dincr*0.5]
set tol 1e-4
}
#if increment is lower than minimum Increment Exit
if {$dincr< $minincr } {
exit
}

puts "\n\n\n\n\n------------------------------------------------------------------------"
puts " Step:$i"
puts " Step size reduced to : $dincr"
puts " Telorance:$tol"
puts " Roof Displacement:$crdmid"
puts "------------------------------------------------------------------------\n"

}
}
miladm2
Posts: 19
Joined: Fri May 25, 2012 12:12 am
Location: K.N.Toosi

Re: the temperature is invalid

Post by miladm2 »

hi
I really need this help, Is anybody here who could help me?
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: the temperature is invalid

Post by fmk »

the script runs on windows with the latest .exe .. what operating system are you using?
miladm2
Posts: 19
Joined: Fri May 25, 2012 12:12 am
Location: K.N.Toosi

Re: the temperature is invalid

Post by miladm2 »

fmk wrote:
> the script runs on windows with the latest .exe .. what operating system
> are you using?


hi Professor
I am using windows 7 64-bit.
when i run the script that i paste here, it goes for 5 or 6 step ( about 2cm for node whose response controls the solution ) then the temperature is not valid error appear. :(
limingjiang
Posts: 1
Joined: Mon Oct 17, 2011 5:32 am
Location: University of Edinburgh

Re: the temperature is invalid

Post by limingjiang »

Hi,

I debugged the thermal module with your tcl code. The temperature is low at the early stage, and then goes higher and higher cause the analysis could not converge. And when the temperature is higher than 1180, error comes up as invalid temperature, which is a warning in steel02Thermal to prevent extremely high temperature input for steel material(Euro code doesn't accept it).
I tried to change the thermalLoad input as 1 -17 2 17, or 1 -17 10 17. They all works fine. Cause it is easier to get converged.
So I guess it should be something not working properly in the convergence control part, which generates too high load factors in linear pattern and then being applied with initial ThermalAction.

Hope all the above helps a little bit.
miladm2
Posts: 19
Joined: Fri May 25, 2012 12:12 am
Location: K.N.Toosi

Re: the temperature is invalid

Post by miladm2 »

hi limingjiang
I am really appreciated your help. but i cant use thermalLoad input as 1 -17 2 17, because my model behavior will be changed in that load pattern.
pankotso
Posts: 20
Joined: Tue Oct 13, 2009 9:46 am
Location: Edinburgh

Re: the temperature is invalid

Post by pankotso »

Hi miladm2,

I think that your problem comes from the fact that for the moment only eurocode material are available in OpenSees, where ambient temperature is 20. So in your case the problem is that you have a negative temperature at the bottom of your section which is not accepted at the moment. In future versions this will be resolved.

Hope that helps,
PK
Post Reply