Changes between Version 16 and Version 17 of FluxLimitedDiffusion
- Timestamp:
- 03/19/13 14:56:26 (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
FluxLimitedDiffusion
v16 v17 69 69 || [[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})]] || 70 70 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 73 If we plug the expressions for the radiation 4-momentum back into the gas equations and keep terms necessary to maintain accuracy we get: 72 74 73 75 || [[latex(\frac{\partial }{\partial t} \left ( \rho \mathbf{v} \right ) + \nabla \cdot \left ( \rho \mathbf{vv} \right ) = -\nabla P\color{green}{-\lambda \nabla E})]] || … … 87 89 * Overlap d, p, e, E and do physical BC's 88 90 * 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,, 90 93 * Update Edot,,0,, using pre IR and post IR E,,0,, 91 94 * Ghost e,,2*mbc,,, E,,mbc+1,,, Edot,,mbc+1,, … … 102 105 * 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. 103 106 107 == Implicit Discretization == 104 108 105 109 For 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: … … 110 114 where [[latex(\mathbf{F} = \frac{c\lambda}{\kappa_{0R}} \nabla E)]] 111 115 116 117 === 1D === 112 118 Which we can discretize for (1D) as 113 119 … … 142 148 || [[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 ) )]] || 143 149 144 and for 2D the matrix coefficients would be 150 Clearly 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 157 For 2D the matrix coefficients would be 145 158 146 159 || [[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})]] || … … 155 168 156 169 157 158 170 == 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 173 176 == Physical Boundary Conditions == 174 177 … … 203 206 but 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 204 207 205 206 So in summary 208 === Summary === 207 209 208 210