bzz77
Geotechnical
- Oct 20, 2008
- 2
Hello:
I am a new user having trouble figuring out how to specify a non-uniform initial temperature distribution for a transient conduction problem. The problem is with the initial condition...I have successfully set up a transient boundary condition (decreasing temp) using a tabular load command.
I would very much appreciate it if someone would take a look at my code below and suggest where I might be going wrong (see under the heading "IC"). What I want to do is to have an initial temperature distribution that varies in the y direction (T = 0 at y =0; T = some value at y = 10) (heat is being applied at one of the boundaries). For the initial condition, I would prefer to use a function so that I can keep going back into the code and changing y (dimensions). However, if this isn't possible, I can use a table. But it would be great to know how to use a function and table to specify a spatially varying initial condition.
I started off by using the "IC" command, but started suspecting it might not be OK to use tabular loads with this command (?). So now, as the code is written below, I have tried using D and specifying time = 0, temperature, and y.
/PREP7 ! Enter preprocessor
! define geometry
length=10.0
height=10.0
blc4,0,0,length, height ! area - one corner, then width and height
! mesh 2D areas
ET,1, PLANE55 ! Thermal element only
MP,Dens,1,2600 ! Density
mp,c,1,1484 ! Specific heat capacity
mp,kxx,1,1.15 ! Thermal conductivity
ESIZE,0.2 ! Element size
AMESH,ALL ! Mesh area
FINISHs
/SOLU
ANTYPE,4 ! Transient analysis
time,300000000
nropt,full ! Newton Raphson = full
lumpm,0 ! Lumped mass approx off
nsubst,100 ! # substeps
neqit,100 ! Max no. of iterations
autots,off ! Auto time search on
lnsrch,on ! Line search on
outres,all,all ! Output data for all substeps
kbc,1
! IC ! Initial Conditions (variable T)
*DIM,ATo,TABLE,6,2,1,time,Temp,Y
*SET,ATo(1,0,1) , 0
*SET,ATo(2,0,1) , 0
*SET,ATo(3,0,1) , 0
*SET,ATo(4,0,1) , 0
*SET,ATo(5,0,1) , 0
*SET,ATo(6,0,1) , 0
! Specify the function value (Temp)
*SET,ATo(1,1,1), 0
*SET,ATo(2,1,1), 20
*SET,ATo(3,1,1), 40
*SET,ATo(4,1,1), 60
*SET,ATo(5,1,1), 80
*SET,ATo(6,1,1), 100
! Specify the y value (in m)
*SET,ATo(1,2,1), 0
*SET,ATo(2,2,1), 2
*SET,ATo(3,2,1), 4
*SET,ATo(4,2,1), 6
*SET,ATo(5,2,1), 8
*SET,ATo(6,2,1), 10
D,ALL,TEMP,%ATo% ! Initial Conditions
NSEL,ALL
! BCs
NSEL,S,LOC,Y,height ! select nodes on top (surface) with y=height
D,ALL,TEMP,0 ! apply fixed temp
NSEL,ALL
*DIM, magbT, TABLE,5,1,1,time,temp, ! Dimension the table
!*tread,LOAD_PRESSURE,..\..\pressure,csv ! This reads in 6x8x2 data ! from a comma-separated file ! called "pressure.csv". The ..\.. ! \ is the parent directory for the ! example
! Specify the t value
*SET, magbT(1, 0, 1) , 60000000
*SET, magbT(2, 0, 1) , 120000000
*SET, magbT(3, 0, 1) , 180000000
*SET, magbT(4, 0, 1) , 240000000
*SET, magbT(5, 0, 1) , 300000000
! Specify the function value (boundary T in deg C)
*SET, magbT(1, 1, 1) , 1200
*SET, magbT(2, 1, 1) , 1100
*SET, magbT(3, 1, 1) , 1000
*SET, magbT(4, 1, 1) , 900
*SET, magbT(5, 1, 1) , 800
NSEL,s,LOC,Y,0
D,ALL,TEMP,%magbT% ! apply tabular BC
NSEL,ALL
SOLVE
FINISH
I am a new user having trouble figuring out how to specify a non-uniform initial temperature distribution for a transient conduction problem. The problem is with the initial condition...I have successfully set up a transient boundary condition (decreasing temp) using a tabular load command.
I would very much appreciate it if someone would take a look at my code below and suggest where I might be going wrong (see under the heading "IC"). What I want to do is to have an initial temperature distribution that varies in the y direction (T = 0 at y =0; T = some value at y = 10) (heat is being applied at one of the boundaries). For the initial condition, I would prefer to use a function so that I can keep going back into the code and changing y (dimensions). However, if this isn't possible, I can use a table. But it would be great to know how to use a function and table to specify a spatially varying initial condition.
I started off by using the "IC" command, but started suspecting it might not be OK to use tabular loads with this command (?). So now, as the code is written below, I have tried using D and specifying time = 0, temperature, and y.
/PREP7 ! Enter preprocessor
! define geometry
length=10.0
height=10.0
blc4,0,0,length, height ! area - one corner, then width and height
! mesh 2D areas
ET,1, PLANE55 ! Thermal element only
MP,Dens,1,2600 ! Density
mp,c,1,1484 ! Specific heat capacity
mp,kxx,1,1.15 ! Thermal conductivity
ESIZE,0.2 ! Element size
AMESH,ALL ! Mesh area
FINISHs
/SOLU
ANTYPE,4 ! Transient analysis
time,300000000
nropt,full ! Newton Raphson = full
lumpm,0 ! Lumped mass approx off
nsubst,100 ! # substeps
neqit,100 ! Max no. of iterations
autots,off ! Auto time search on
lnsrch,on ! Line search on
outres,all,all ! Output data for all substeps
kbc,1
! IC ! Initial Conditions (variable T)
*DIM,ATo,TABLE,6,2,1,time,Temp,Y
*SET,ATo(1,0,1) , 0
*SET,ATo(2,0,1) , 0
*SET,ATo(3,0,1) , 0
*SET,ATo(4,0,1) , 0
*SET,ATo(5,0,1) , 0
*SET,ATo(6,0,1) , 0
! Specify the function value (Temp)
*SET,ATo(1,1,1), 0
*SET,ATo(2,1,1), 20
*SET,ATo(3,1,1), 40
*SET,ATo(4,1,1), 60
*SET,ATo(5,1,1), 80
*SET,ATo(6,1,1), 100
! Specify the y value (in m)
*SET,ATo(1,2,1), 0
*SET,ATo(2,2,1), 2
*SET,ATo(3,2,1), 4
*SET,ATo(4,2,1), 6
*SET,ATo(5,2,1), 8
*SET,ATo(6,2,1), 10
D,ALL,TEMP,%ATo% ! Initial Conditions
NSEL,ALL
! BCs
NSEL,S,LOC,Y,height ! select nodes on top (surface) with y=height
D,ALL,TEMP,0 ! apply fixed temp
NSEL,ALL
*DIM, magbT, TABLE,5,1,1,time,temp, ! Dimension the table
!*tread,LOAD_PRESSURE,..\..\pressure,csv ! This reads in 6x8x2 data ! from a comma-separated file ! called "pressure.csv". The ..\.. ! \ is the parent directory for the ! example
! Specify the t value
*SET, magbT(1, 0, 1) , 60000000
*SET, magbT(2, 0, 1) , 120000000
*SET, magbT(3, 0, 1) , 180000000
*SET, magbT(4, 0, 1) , 240000000
*SET, magbT(5, 0, 1) , 300000000
! Specify the function value (boundary T in deg C)
*SET, magbT(1, 1, 1) , 1200
*SET, magbT(2, 1, 1) , 1100
*SET, magbT(3, 1, 1) , 1000
*SET, magbT(4, 1, 1) , 900
*SET, magbT(5, 1, 1) , 800
NSEL,s,LOC,Y,0
D,ALL,TEMP,%magbT% ! apply tabular BC
NSEL,ALL
SOLVE
FINISH