Changes between Version 16 and Version 17 of FluxLimitedDiffusion


Ignore:
Timestamp:
03/19/13 14:56:26 (12 years ago)
Author:
Jonathan
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • FluxLimitedDiffusion

    v16 v17  
    6969||   [[latex(\mathbf{G} = -\lambda \nabla E + \kappa_{0P} \frac{\mathbf{v}}{c} \left ( E - \frac{4 \pi B}{c} \right ) - \frac{1}{2} \left ( \frac{v}{c} \right ) ^2 \lambda \nabla E + 2 \lambda \left ( \frac{\kappa_{0P}}{\kappa_{0R}} - 1 \right ) \frac{(\mathbf{v} \cdot \nabla E )\mathbf{v}}{c^2})]]   ||
    7070
    71 which if we plug back into the gas equations and keep terms necessary to maintain accuracy we get:
     71= Numerics of Flux Limited Diffusion =
     72
     73If we plug the expressions for the radiation 4-momentum back into the gas equations and keep terms necessary to maintain accuracy we get:
    7274
    7375||  [[latex(\frac{\partial }{\partial t} \left ( \rho \mathbf{v} \right ) + \nabla \cdot \left ( \rho \mathbf{vv} \right ) = -\nabla P\color{green}{-\lambda \nabla E})]]   ||
     
    8789 * Overlap d, p, e, E and do physical BC's
    8890 * Do IR which updates e,,0,,, and E,,0,, using d,,1,,, e,,1,,, E,,1,,
    89  * Update E,,1,, using Edot,,1,,
     91 * Update E,,2*mbc,, using Edot,,2*mbc,,
     92 * Update e,,2*mbc,, using E,,2*mbc,,, Edot,,2*mbc,,, and e,,2*mbc,,
    9093 * Update Edot,,0,, using pre IR and post IR E,,0,,
    9194 * Ghost e,,2*mbc,,, E,,mbc+1,,, Edot,,mbc+1,,
     
    102105 * Do ER,,0,, --- Terms with grad E can be done without ghosting since EH did not change E.  The del dot vE term needs time centered face centered velocities which can be stored during the hydro update.
    103106
     107== Implicit Discretization ==
    104108
    105109For now we will assume that [[latex(\kappa_{0P})]] and [[latex(\kappa_{0R})]] are constant over the implicit update.  In this case we can solve the radiation energy equation:
     
    110114where [[latex(\mathbf{F} = \frac{c\lambda}{\kappa_{0R}} \nabla E)]]
    111115
     116
     117=== 1D ===
    112118Which we can discretize for (1D) as
    113119
     
    142148||   [[latex(\left ( 1 \right ) e^{n+1}_i - \left ( \epsilon^n_i \right )E^{n+1}_i =e^n_i-\frac{4\pi \epsilon^n_i}{c}B \left (T^n_i \right ) )]]   ||
    143149
    144 and for 2D the matrix coefficients would be
     150Clearly the second equation is trivial to solve after the first system of equations has been solved.  So if we treat the temperature as being constant we can calculate the local heating/cooling due to radiative emission/absorption
     151
     152[[latex(e^{n+1}_i =  e^n_i + \epsilon^n_i \left (  E^{n+1}_i -\frac{4\pi}{c}B \left (T^n_i \right ) \right ))]]
     153
     154
     155=== 2D etc... ===
     156
     157For 2D the matrix coefficients would be
    145158
    146159|| [[latex(1+\alpha^n_{i+1/2,j}+\alpha^n_{i-1/2,j}+\alpha^n_{i,j+1/2}+\alpha^n_{i,j-1/2}+\epsilon^n_i )]] || [[latex(E^{n+1}_{i,j})]] ||
     
    155168
    156169
    157 
    158170== Coarse-Fine Boundaries ==
    159 * At coarse fine boundaries, the simplest approach is to use time interpolated energy fields and opacities in the ghost zones. 
    160 * Or we could use time interpolated - or averaged fluxes.  Then we don't need fluid variables [[latex(\rho, \dot{\rho}, E, \dot{E})]] to get opacities and boundary fields...  We just need the normal fluxes
    161  * Unfortunately during the implicit solve, there is no way to back out the radiative fluxes directly.  So we would have to approximate them - and we need the energy and opacity for the explicit updates anyways...
    162 
    163 
    164 === Hydro before implicit ===
    165 * First hydro update using extended ghost zones
    166  * Just need to update ghost opacities internally and in first row of ghost zones
    167  * Do implicit solve
    168  * Ghost
    169 * Second hydro update
    170  * Need to update opacities internally and in first row of ghost zones and then communicate ghost opacities.
    171  * Need to update radiation field in ghost zones
    172 * Need to update and communicate ghost opacities at internal boundaries
     171 Since we are doing our implicit solves first, we can use time interpolated solutions for the implicit solve for non-refined ghost zones.  To do this we just need Edot.  The opacities etc... in the ghost zones can be obtained from the hydro terms. 
     172
     173 What about radiative implicit heating in coarse ghost cells which we will need to do hydro update?  Could do this explicitly using E and Edot
     174
     175
    173176== Physical Boundary Conditions ==
    174177
     
    203206but when we plug this into the coefficient matrix the terms with [[latex(\alpha_g)]] cancel and we just get [[latex(F_0 \frac{\Delta t}{\Delta x})]] in the source vector
    204207
    205 
    206 So in summary
     208=== Summary ===
    207209
    208210