the temperature is invalid
Moderators: silvia, selimgunay, Moderators
the temperature is invalid
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
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
Re: the temperature is invalid
can you post a small example, i.e. 1 element.
Re: the temperature is invalid
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"
}
}
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"
}
}
Re: the temperature is invalid
hi
I really need this help, Is anybody here who could help me?
I really need this help, Is anybody here who could help me?
Re: the temperature is invalid
the script runs on windows with the latest .exe .. what operating system are you using?
Re: the temperature is invalid
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.
> 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.
-
- Posts: 1
- Joined: Mon Oct 17, 2011 5:32 am
- Location: University of Edinburgh
Re: the temperature is invalid
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.
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.
Re: the temperature is invalid
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.
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.
Re: the temperature is invalid
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
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