Changes between Version 79 and Version 80 of FluxLimitedDiffusion


Ignore:
Timestamp:
03/27/13 21:45:16 (12 years ago)
Author:
Jonathan
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • FluxLimitedDiffusion

    v79 v80  
    9393Krumholz et al. perform Implicit Radiative, Explicit Hydro, Explicit Radiative
    9494
    95 Problem with AMR is we need coarse boundary values for E at t=0, and t=dt, and t = 2dt and we would like coarse boundary values at t=2dt to match solution from coarse grid...
    96 
    97 But the coarse update involves one implicit and one explicit solve.  Is there a way to interpolate the fine grid ghost zones in time without storing two time derivatives?  If we store dE_i+dE_e then we could do an explicit radiative update internally (E^n^ -> E*), then an implicit radiative update (E* -> E^n+1^ using the fully updated ghost zones (E^n+1^,,g,, = E^n^,,g,,+dE,,g,,) and then store the new time derivative (dE=E^n+1^-E^n^)
    98 
    99 This seems like it would work for the radiative field, but what about the internal energy terms?  We have an equation for e^n+1^ that is a function of E^n+1^, e* and E* but we have no way of getting E* in the ghost zones... and the
    100 
    101 
    102 We could store dE_i and dE_e two implicit and two explicit solves...  so we need a way to
    103 
    104 
    105 So the solution is perhaps to store the contributions from the implicit update and the non-conservative heating terms that appear in the internal energy equation.  Then we can update E in the ghost zones for the implicit and the first explicit term using the time derivative - and then use the new E to update e... Then the conservative explicit RadEnergy term can be calculated after the hydro step as well as the momentum explicit term - and then this flux can be coarsened - to keep the value of E in the coarse cells consistent with the value of E in the fine cells...  Since both will have been updated by the same eDot and fluxes...
    106 
    107 huh....
    108 
    10995In AstroBEAR this would look like:
    11096* Initialization
     
    11298* Step 1
    11399 * Overlap d, p, e, E and do physical BC's
    114  * Do ER which updates e,,0,, and E,,0,, using d,,1,,, e,,1,,, v,,1,, E,,1,,
    115100 * Do IR which updates e,,0,,, and E,,0,, using d,,1,,, e,,1,,, E,,1,,
    116101 * Update E,,2*mbc,, using Edot,,2*mbc,,
     
    129114 * Do second EH,,0,,
    130115 * 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.
     116
     117
     118However with AMR is we need coarse boundary values for E at t=0, and t=dt, and t = 2dt and we would like coarse boundary values at t=2dt to match solution from coarse grid...
     119
     120But the coarse update involves one implicit and one explicit solve.  Is there a way to interpolate the fine grid ghost zones in time without storing two time derivatives?  If we store dE_i+dE_e then we could do an explicit radiative update internally (E^n^ -> E*), then an implicit radiative update (E* -> E^n+1^ using the fully updated ghost zones (E^n+1^,,g,, = E^n^,,g,,+dE,,g,,) and then store the new time derivative (dE=E^n+1^-E^n^)
     121
     122This seems like it would work for the radiative field, but what about the internal energy terms?  We have an equation for e^n+1^ that is a function of E^n+1^, e* and E* but we have no way of getting E* in the ghost zones...
     123
     124So the solution is perhaps to store the contributions from the implicit update and the non-conservative heating terms that appear in the internal energy equation.  Then we can update E in the ghost zones for the implicit and the first explicit term using the time derivative - and then use the new E to update e... Then the conservative explicit RadEnergy term can be calculated after the hydro step as well as the momentum explicit term - and then this flux can be coarsened - to keep the value of E in the coarse cells consistent with the value of E in the fine cells...  Since both will have been updated by the same eDot and fluxes...
     125
     126in which case we can rewrite the equations as
     127
     128  [[latex(\frac{\partial }{\partial t} \left ( \rho \mathbf{v} \right ) + \nabla \cdot \left ( \rho \mathbf{vv} \right ) = -\nabla P\color{green}{-\lambda \nabla E})]]   
     129  [[latex(\frac{\partial e}{\partial t}  + \nabla \cdot \left [ \left ( e + P \right ) \mathbf{v} \right ] = \color{red}{-\kappa_{0P}(4 \pi B-cE)} \color{orange}{+\lambda \left ( 2 \frac{\kappa_{0P}}{\kappa_{0R}}-1 \right ) \mathbf{v} \cdot \nabla E} \color{blue}{-\frac{3-R_2}{2}\kappa_{0P}\frac{v^2}{c}E})]] 
     130  [[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{orange}{-\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}  )]] 
     131
     132
    131133[[CollapsibleEnd()]]
    132134