Heat Flow and Bottom Boundary Condition

From krc
Jump to: navigation, search

The bottom boundary condition is set by lbound and TDEEP.

Contents

Note

By default, the interfaces sets a fixed bottom temperature:

lbound = -1.//180.

Heat Flow

A geothermal heat flux can be set using lbound alone, with the heat flux given in mW/m2:

lbound = 35.

sets a heat flux of 35 mW/m2.

Insulation

 lbound = 0

insulates the bottom layer (no flux)

Set Bottom Temperature

The bottom temperature must be set first by TDEEP, then a flag is provided through lbound:

TDEEP = 180. #Bottom temperature set at 180.K
lbound = -1//TDEEP

Set the Initial Temperature of all the Layers

TDEEP = 180. #Bottom temperature set at 180.K
lbound = -2//TDEEP

All the layers are initially set at TDEEP, and the bottom layer is kept at TDEEP during the run.

Equilibrium

When selecting a lower boundary condition, make sure to verify that the model has been running long enough vs. depth enough vs. at adequate temperatures.

In this example, we'll navigate Europa surface and subsurface temperatures with different boundary and initial conditions.


By default, the bottom layer is insulating: lbound=0.

Below the surface, the temperature changes with depth (see below). This may not be realistic, possibly because the model has not been running long enough, maybe because of a seasonal wave.

 a = krc(N24=24,N1=39,lbound=0,lat=0.,body="Europa",INERTIA=50.,LKofT="F",TUN8=101)
 plot(a.tsurf[,:39,],xaxis=a.depth[,:39,]) 

A.png


It may (or may not) be more accurate to set the bottom boundary condition at the average temperature (95K from the case above) , and start the model at this temperature (all mesh elements). To do this, set lbound=-2//95.

 a = krc(N24=24,lbound=-2//95,lat=0.,body="Europa",INERTIA=50.,LKofT="F",TUN8=101)
 plot(a.tsurf[,:39,],xaxis=a.depth[,,1])

B.png

Now the temperature at depth seems to quickly converge to the average temperature of 95K. This configuration may be more realistic, but it may also ignore a trend associated with a seasonal wave. We can show that setting the wrong initial and bottom temperature may have a significant impact on the subsurface trends. In the example below, we run two cases, one with 110K, and one with 80K. Not that the surface temperatures are virtually identical.

 c = krc(N24=24,lbound=-2.0//110.,KEEP="T",lat=0.,body="Europa",INERTIA=50.,LKofT="F",TUN8=101)
 d = krc(N24=24,lbound=-2.0//80.,KEEP="T",lat=0.,body="Europa",INERTIA=50.,LKofT="F",TUN8=101)
 plot(c.tsurf[,:39,],"TDEEP=110K",d.tsurf[,:39,],"TDEEP=80K",Xaxis=c.depth[,,1])

C.png

Alternatively, we can set a simple fixed temperature boundary condition at depth with lbound=-1//95. 95K was selected by running a simple case, and calculating the average temeprature again.

 a = krc(N24=24,lbound=-1//95,KEEP="T",lat=0.,body="Europa",INERTIA=50.,LKofT="F",TUN8=101)
 plot(a.tsurf[,:39,],xaxis=a.depth[,:39,])

Now we see that we have results very similar to lbound=-2//95.

D.png

Finally, we can set a geothermal heat flux, in mW^{-2} with lbound. In the example below, three fluxes are set: 2mW^{-2}, 20, and 200 mWm-2. The surface temperatures are virtually identical, but the subsurface trends are vastly different.

 f = krc(N24=24,lbound=2.,KEEP="T",lat=0.,body="Europa",INERTIA=50.,LKofT="F",TUN8=101)
 g = krc(N24=24,lbound=20.,KEEP="T",lat=0.,body="Europa",INERTIA=50.,LKofT="F",TUN8=101)
 h = krc(N24=24,lbound=200.,KEEP="T",lat=0.,body="Europa",INERTIA=50.,LKofT="F",TUN8=101)
 plot(f.tsurf[,:25,1],g.tsurf[,:25,1],h.tsurf[,:25,1],Xaxis=f.depth[,:25,1])

E.png

Personal tools