Changes between Version 14 and Version 15 of FluxLimitedDiffusion
 Timestamp:
 03/19/13 14:10:42 (12 years ago)
Legend:
 Unmodified
 Added
 Removed
 Modified

FluxLimitedDiffusion
v14 v15 75 75  [[latex(\frac{\partial E}{\partial t} \color{red}{  \nabla \cdot \frac{c\lambda}{\kappa_{0R}} \nabla E} = \color{red}{\kappa_{0P} (4 \pi BcE)} \color{green}{\lambda \left(2\frac{\kappa_{0P}}{\kappa_{0R}}1 \right )\mathbf{v}\cdot \nabla E} \color{green}{\nabla \cdot \left ( \frac{3R_2}{2}\mathbf{v}E \right )} \color{blue}{+\frac{3R_2}{2}\kappa_{0P}\frac{v^2}{c}E} )]]  76 76 77 77 78 For 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 subcycling would be required. 79 80 81 == Operator splitting == 82 Krumholz et al. perform Implicit Radiative, Explicit Hydro, Explicit Radiative 83 In 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 78 99 79 100 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: … … 129 150 130 151 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 == CoarseFine 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 == 135 169 136 170 === Open boundaries === … … 146 180 So we would just modify [[latex(\alpha)]] and zero out the matrix coefficient to the ghost zone 147 181 148 == Thermally emitting boundary==182 === Thermally emitting boundary === 149 183 150 184 Another 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. … … 152 186 [[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. 153 187 154 == Reflecting Boundary==188 === Reflecting Boundary === 155 189 Reflecting 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)]] 156 190 157 == Constant radiative flux==191 === Constant radiative flux === 158 192 To have a constant radiative flux we must have 159 193 [[latex(\alpha_g \left ( E^{n+1}_iE^{n+1}_g \right ) = F_0 \frac{\Delta t}{\Delta x})]]