Changes between Version 14 and Version 15 of FluxLimitedDiffusion


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

Legend:

Unmodified
Added
Removed
Modified
  • FluxLimitedDiffusion

    v14 v15  
    7575||  [[latex(\frac{\partial E}{\partial t}  \color{red}{ - \nabla \cdot \frac{c\lambda}{\kappa_{0R}} \nabla E} = \color{red}{\kappa_{0P} (4 \pi B-cE)} \color{green}{-\lambda \left(2\frac{\kappa_{0P}}{\kappa_{0R}}-1 \right )\mathbf{v}\cdot \nabla E} \color{green}{-\nabla \cdot \left ( \frac{3-R_2}{2}\mathbf{v}E \right )} \color{blue}{+\frac{3-R_2}{2}\kappa_{0P}\frac{v^2}{c}E}  )]]  ||
    7676
     77
    7778For static diffusion, the terms in blue with v^2^/c can be dropped and the system can be split into the usual hydro update (black), radiative source terms (green) using time centered radiation energy, and a coupled implicit solve (red) for the radiation energy density and thermal energy density (ie temperature).  If the opacity is independent of temperature and radiation energy density, then the implicit solve only involves the radiation energy density.  Otherwise some sort of sub-cycling would be required.
     79
     80
     81== Operator splitting ==
     82Krumholz et al. perform Implicit Radiative, Explicit Hydro, Explicit Radiative
     83In AstroBEAR this would look like:
     84 * Prolongate, d, p, E, Edot
     85 * Overlap d, p, E
     86 * Do IR which updates e[0], and E[0] using d[1], e[1], E[1]
     87 * Update Edot[0] using pre IR and post IR E[0]
     88 * Ghost e[2*mbc], E[mbc+1], Edot[mbc+1]
     89 * Do first EH[mbc]
     90 * Do ER[mbc] --- 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.
     91 * Store Edot in child arrays to be prolongated
     92 * Overlap
     93 * Do IR which updates e[0], and E[0] using d[1], e[1], E[1]
     94 * Update Edot[0] using pre IR and post IR E[0]
     95 * Ghost e[mbc], E[1], Edot[1]
     96 * Do second EH[0]
     97 * 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.
     98
    7899
    79100For 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:
     
    129150
    130151
    131 What about boundary conditions?
    132 
    133 At coarse fine boundaries, we can use time interpolated energy fields and opacities.
    134 == At physical boundaries we can have the following ==
     152
     153== Coarse-Fine Boundaries ==
     154* At coarse fine boundaries, the simplest approach is to use time interpolated energy fields and opacities in the ghost zones. 
     155* 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
     156 * 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...
     157
     158
     159=== Hydro before implicit ===
     160* First hydro update using extended ghost zones
     161 * Just need to update ghost opacities internally and in first row of ghost zones
     162 * Do implicit solve
     163 * Ghost
     164* Second hydro update
     165 * Need to update opacities internally and in first row of ghost zones and then communicate ghost opacities.
     166 * Need to update radiation field in ghost zones
     167* Need to update and communicate ghost opacities at internal boundaries
     168== Physical Boundary Conditions ==
    135169
    136170=== Open boundaries ===
     
    146180So we would just modify [[latex(\alpha)]] and zero out the matrix coefficient to the ghost zone
    147181
    148 == Thermally emitting boundary ==
     182=== Thermally emitting boundary ===
    149183
    150184Another possible boundary condition would be to have the edge of the grid be adjacent to some  thermal emitter.  This corresponds to setting the radiation energy density in the ghost zones to the Planck function.
     
    152186[[latex(E_g = \frac{4 \pi}{c} B(T_g))]] however, we still need an opacity which could be defined from the fluid properties of the ghost region...  This would essentially be a thermally emitting boundary with the temperature, density, opacity, etc... derived from the hydro boundary type.  If the boundary type was extrapolating, and the density and temperature uniform, one could have a constant thermal energy spectrum...  However we would need to either specify the opacity and temperature of the ghost zone - or the various fluid properties needed to reconstruct the opacity and temperature of the ghost zone - or make an extra call to set physicalBC - since this may happen in between a hydro step and a physical boundary update.
    153187
    154 == Reflecting Boundary ==
     188=== Reflecting Boundary ===
    155189Reflecting boundary should be fairly straightforward.  This an be achieved by setting [[latex(\alpha_g = 0)]] which zeros out any flux - and has the same effect as setting [[latex(E^{n+1}_g=E^{n+1}_i)]]
    156190
    157 == Constant radiative flux ==
     191=== Constant radiative flux ===
    158192To have a constant radiative flux we must have
    159193[[latex(\alpha_g \left ( E^{n+1}_i-E^{n+1}_g \right ) = F_0 \frac{\Delta t}{\Delta x})]]