Changes between Version 175 and Version 176 of FluxLimitedDiffusion


Ignore:
Timestamp:
04/03/13 14:27:47 (12 years ago)
Author:
Jonathan
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • FluxLimitedDiffusion

    v175 v176  
    168168In AstroBEAR this would look like:
    169169* Initialization
    170  * Prolongate, \(\rho\), \(\rho\mathbf{v}\), \(e\), \(E\), \(\dot{E}^I\), and \(\dot{E}^E\)
     170 * Prolongate, \(\rho\), \(\rho\mathbf{v}\), \(e\), \(E\), and \(\dot{E}^I\)
    171171* Step 1
    172172 * Overlap \(\rho\), \(\rho \mathbf{v} \) , \(e\), \(E\) and do physical BC's
    173173 * Do IR which updates \(e_0\) and \(E_0\) using \(\rho_1\), \(e_1\), \(E_1\), and \(\dot{E}^I_1\)
    174174 * Update \(E_{2\mbox{mbc}}\) using \(\dot{E}^I_{2\mbox{mbc}}\)
    175  * Update \(e_{2\mbox{mbc}} using \(E_{2\mbox{mbc}}\), \(\dot{E}^I_{2\mbox{mbc}}\), and \(e_{2\mbox{mbc}}\)
     175 * Update \(e_{2\mbox{mbc}}\) using \(E_{2\mbox{mbc}}\), \(\dot{E}^I_{2\mbox{mbc}}\), and \(e_{2\mbox{mbc}}\)
    176176 * Update \(\dot{E}^I_0\) using pre IR and post IR \(E_0\)
    177177 * Ghost \(e_{2\mbox{mbc}}\), \(E_{\mbox{mbc}+1}\), \(\dot{E}^I_{\mbox{mbc}+1}\)
     
    187187 * Do second EH,,0,,
    188188 * Do ER,,mbc,, --- Terms with \(\nabla E\) can be done without ghosting since EH did not
    189 
    190189 * Do ER,,0,, --- Terms with grad E can be done without ghosting since EH did not change \(E\).  The \(\nabla \cdot \mathbf{v}E\) term needs time centered face centered velocities which can be stored during the hydro update.
    191 
    192190
    193191[[CollapsibleEnd()]]
     
    400398== Alternative Splitting Method ==
    401399
     400While the previous method for splitting the equation technically works, it is likely to lead to large differences in the radiation field and the energy fields at coarse fine boundaries since there is no radiative flux to coarsen from the explicit updates to keep the various AMR levels consistent.  There is one term that could potentially be coarsened and applied like any flux, but it is not the dominant term.  As a result it might be better to treat the entire radiative energy equation implicitly (though keeping the velocity constant)
     401
     402
    402403  [[latex(\frac{\partial }{\partial t} \left ( \rho \mathbf{v} \right ) + \nabla \cdot \left ( \rho \mathbf{vv} \right ) = -\nabla P\color{green}{-\lambda \nabla E})]]   
    403   [[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{red}{+\lambda \left ( 2 \frac{\kappa_{0P}}{\kappa_{0R}}-1 \right ) \mathbf{v} \cdot \nabla E} \color{red}{-\frac{3-R_2}{2}\kappa_{0P}\frac{v^2}{c}E})]] 
    404   [[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{red}{-\lambda \left(2\frac{\kappa_{0P}}{\kappa_{0R}}-1 \right )\mathbf{v}\cdot \nabla E} \color{red}{-\nabla \cdot \left ( \frac{3-R_2}{2}\mathbf{v}E \right )} \color{red}{+\frac{3-R_2}{2}\kappa_{0P}\frac{v^2}{c}E}  )]] 
    405 
    406 It is possible that with included the terms in orange in a semi-implicit method, the dynamic diffusion regime may be stable...  In any event, it costs very little to add all of the terms in orange to the implicit solve (using the old velocity).  Then the momentum update can be done explicitly - though using a time centered radiation field.
     404  [[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{magenta}{+\lambda \left ( 2 \frac{\kappa_{0P}}{\kappa_{0R}}-1 \right ) \mathbf{v} \cdot \nabla E} \color{magenta}{-\frac{3-R_2}{2}\kappa_{0P}\frac{v^2}{c}E})]] 
     405  [[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{magenta}{-\lambda \left(2\frac{\kappa_{0P}}{\kappa_{0R}}-1 \right )\mathbf{v}\cdot \nabla E} \color{magenta}{-\nabla \cdot \left ( \frac{3-R_2}{2}\mathbf{v}E \right )} \color{magenta}{+\frac{3-R_2}{2}\kappa_{0P}\frac{v^2}{c}E}  )]] 
     406
     407It is possible that with included the terms in magenta in a semi-implicit method, the dynamic diffusion regime may be stable...  In any event, it costs very little to add all of the terms in magenta to the implicit solve (using the old velocity).  Then the momentum update can be done explicitly - though using a time centered radiation field.
    407408
    408409
    409410[[CollapsibleStart(Operator Splitting 2)]]
    410411== Operator splitting 2 ==
    411 Krumholz et al. perform Implicit Radiative, Explicit Hydro, Explicit Radiative
    412412
    413413In AstroBEAR this would look like:
    414414* Initialization
    415  * Prolongate, d, p, e, E, Edot
     415 * Prolongate, \(\rho\), \(\rho\mathbf{v}\), \(e\), \(E\), and \(\dot{E}\)
    416416* Step 1
    417  * Overlap d, p, e, E and do physical BC's
    418  * Do IR which updates e,,0,,, and E,,0,, using d,,1,,, e,,1,,, E,,1,,
    419  * Update E,,2*mbc,, using Edot,,2*mbc,,
    420  * Update e,,2*mbc,, using E,,2*mbc,,, Edot,,2*mbc,,, and e,,2*mbc,,
    421  * Update Edot,,0,, using pre IR and post IR E,,0,,
    422  * Ghost e,,2*mbc,,, E,,mbc+1,,, Edot,,mbc+1,,
    423  * Store EDot in child arrays to be prolongated
     417 * Overlap \(\rho\), \(\rho \mathbf{v} \) , \(e\), \(E\) and do physical BC's
     418 * Do IR which updates \(e_0\) and \(E_0\) using \(\rho_1\), \(e_1\), \(E_1\), and \(\dot{E}_1\)
     419 * Update \(E_{2\mbox{mbc}}\) using \(\dot{E}_{2\mbox{mbc}}\)
     420 * Update \(e_{2\mbox{mbc}}\) using \(E_{2\mbox{mbc}}\), \(\dot{E}_{2\mbox{mbc}}\), and \(e_{2\mbox{mbc}}\)
     421 * Update \(\dot{E}_0\) using pre IR and post IR \(E_0\)
     422 * Ghost \(e_{2\mbox{mbc}}\), \(E_{\mbox{mbc}+1}\), \(\dot{E}_{\mbox{mbc}+1}\)
    424423 * Do first EH,,mbc,,
    425  * Do ER,,mbc,, --- Only momentum terms.
     424 * Do ER,,mbc,, --- Terms with \(\nabla E\) can be done without ghosting since EH did not change \(E\). 
     425 * Store \(\dot{E}\) in child arrays to be prolongated
    426426* Step 2
    427  * Overlap d, p, e, E, and do physical BCs
    428  * Do IR which updates e,,0,,, and E,,0,, using d,,1,,, e,,1,,, E,,1,,
    429  * Update E,,mbc,, using Edot,,mbc,,
    430  * Update e,,2*mbc,, using E,,2*mbc,,, Edot,,2*mbc,,, and e,,2*mbc,,
    431  * Update Edot,,0,, using pre IR and post IR E,,0,,
    432  * Ghost e,,mbc,,, E,,1,,, Edot,,1,,
    433  * Store EDot in child arrays to be prolongated
     427 * Overlap \(\rho\), \(\rho \mathbf{v} \) , \(e\), \(E\) and do physical BC's
     428 * Do IR which updates \(e_0\) and \(E_0\) using \(\rho_1\), \(e_1\), \(E_1\), and \(\dot{E}_1\)
     429 * Update \(\dot{E}_0\) using pre IR and post IR \(E_0\)
     430 * Update \(E_{1}\) using \(\dot{E}_{1}\)
     431 * Ghost \(e_{mbc}\), \(E_{1}\), \(\dot{E}_{1}\)
    434432 * Do second EH,,0,,
    435  * Do ER,,0,, --- Only momentum terms.
     433 * Do ER,,0,, --- Terms with \(\nabla E\) can be done without ghosting since EH did not change \(E\). 
     434
    436435
    437436[[CollapsibleEnd()]]