Ablative RT tests

I ported conduction to AstroBEAR3.0, here's the result of verified 1D conduction front test:

http://www.pas.rochester.edu/~shuleli/rtnew/condfront.png

click for animation

The ablative RT problem does work better in 3.0 than before. It can hold up to half of an instability growth time (t = 1/sqrt(Akg)) compared to previous less than 1/20 of growth time. There's no spiking anymore. Here, I use Rui's value of conductivity: 7e+5 cm2/s at the bottom. The heat flux is about 5.876e+21 erg/(cm2*s).

http://www.pas.rochester.edu/~shuleli/rtnew/rtden_0049.png

click for animation

http://www.pas.rochester.edu/~shuleli/rtnew/dentmp.png

click for animation

The major problem now seems to be the flux on the boundary is not treated correctly. In an earlier version of AstroBEAR1.0, the code does maintain the temperature gradient at the lower boundary. So I'm thinking about looking at how that version treated the boundary flux.

The thermal conduction module is turned on by setting the following parameters in physics.data:

33 iDiffusion = 2 !Turns on implicit diffusion
34 kappa1 = 3.e-13 !conductivity (cgs)
35 flb = 17.628e+21 !boundary flux (cgs)
36 ndiff = 2.5 !diffusion index
37 diffcfl = 0.03 ! diffusion cfl

If you are getting Hypre solver error, try tune down diffcfl or increase the number protection cycles (currently set to 100), which is in elliptic/diffusion/diffusion.f90:
104 dt_protection = dt_remaining/100.0;
This protection can be parameterized in the future official release.
The diffusion scales are treated in physics/physics_control.f90:

411 ScaleDiff = lScale*SQRT(pScale*rScale)/(TempScalendiff)
412 kappa1 = kappa1/ScaleDiff
413 ScaleFlux = TempScale*SQRT(pScale*rScale)

The hydrostatic bottom boundary condition is treated in problem.f90:

145 IF(Info%xBounds(2,1)==GxBounds(2,1).AND.Gmthbc(2,1)==1)THEN
146 DO i=1,mx
147 rho1=Info%q(i,1,1,1);vy1=Info%q(i,1,1,3)/rho1;vx1=Info%q(i,1,1,2)/rho1
148 p1=(Info%q(i,1,1,iE)-0.5*(SUM(Info%q(i,1,1,2:3)2))/Info%q(i,1,1,1))*(gamma-1d0)
149 t1 =p1/rho1
150 CALL NonLinearsolver(t0,heatflux,t1,ndiff)
151 !t0=3519.10130483276
152 vx0=vx1
153 aa=t0+gx; bb=gx*rho1-p1-rho1*vy1
2; cc=rho12*vy12
154 root1=-0.5*bb/aa+0.5*sqrt(bb2-4d0*aa*cc)/aa
155 root2=-0.5*bb/aa-0.5*sqrt(bb
2-4d0*aa*cc)/aa
156 rho0=max(root1,root2)
157 vy0=rho1*vy1/rho0
158 p0=rho0*t0
159 Info%q(i,0,1,iTemp)=p0/rho0
160 Info%q(i,0,1,1)=rho0; Info%q(i,0,1,2)=rho0*vx0; Info%q(i,0,1,3)=rho0*vy0
161 Info%q(i,0,1,iE)=p0/(gamma-1d0)+0.5*rho0*(vx02+vy02)
162 END DO
163 END IF

Comments

1. Jonathan -- 11 years ago

Is this density (blue) velocity (green) and temperature (cyan)?