Changes between Version 76 and Version 77 of FluxLimitedDiffusion


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

Legend:

Unmodified
Added
Removed
Modified
  • FluxLimitedDiffusion

    v76 v77  
    277277== Physical Boundary Conditions ==
    278278
    279 === Open boundaries ===
     279=== Open (Free streaming) boundaries ===
    280280We would like the radiation to leave at the free streaming limit.  So
    281281[[latex(\frac{c \lambda}{\kappa_{0R}} \nabla E = \mathbf{F} = cE\mathbf{n} = \frac{c \lambda_g}{\kappa_g}\frac{ \left ( E-E_g \right ) }{\Delta x})]]
    282282
    283 
    284283Clearly if we set [[latex(E_g = 0)]] and [[latex(\lambda_g =\kappa_g \Delta x)]] we should get the correct flux.
    285284
     
    289288So we would just modify [[latex(\alpha)]] and zero out the matrix coefficient to the ghost zone
    290289
    291 === Thermally emitting boundary ===
    292 
    293 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.
    294 
    295 [[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.
    296 
    297 === ZeroSlope Boundary ===
    298 Here we want the radiation energy in the ghost zone to match the radiation energy in the internal cell.  [[latex(E^{n+1}_g=E^{n+1}_i \mbox{ and } E^n_g=E^n_i)]]
    299 This is identical to reflecting below
    300 
    301290=== Constant Slope Boundary ===
    302291Here we want the flux to be constant so energy does not pile up near the boundary.  So we want [[latex(\alpha_g = \alpha_i) \mbox { and } E_g=2*E_i-E_j)]]  This will effectively cancel all terms related to alpha.  However, we want to maintain this boundary during the implicit solve, so we also need to modify the matrix connections and subtract [[latex(\alpha_g \mbox{ from } \alpha_i)]] but this will effectively zero out the matrix connections to the interior as well.  This can also be done by setting [[latex(\alpha_g = \alpha_i = 0)]]
    303292
    304 === Reflecting Boundary ===
     293=== Periodic Boundary ===
     294This is the same as internal zones - it just maps the neighbor cell to be across the domain.  Hypre has built in functionality for this under for the Struct Interface
     295
     296=== User defined radiation field/Coarse Fine boundary ===
     297
     298This will be the boundary at internal coarse-fine boundaries, but could also be used at the physical boundary if the radiation energy were specified.
     299
     300=== Reflecting/ZeroSlope Boundary ===
    305301Reflecting 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^{*}_g=E^{*}_i)]] or [[latex(E^{n+1}_g=E^{n+1}_i \mbox{ and } E^{n}_g=E^{n}_i)]]
    306302
    307 
    308 
    309303=== Constant radiative flux ===
    310 To have a constant radiative flux we must have
    311 [[latex(\alpha_g \left ( E^{*}_i-E^{*}_g \right ) = F_0 \frac{\Delta t}{\Delta x})]]
    312 
    313 Which we can solve for
    314 [[latex(E^{*}_g = E^{*}_i - \frac{F_0 \Delta t}{\alpha_g \Delta x})]]
    315 
    316 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
     304To have a constant radiative flux we must zero out terms involving the gradient and just add [[latex(F_0 \frac{\Delta t}{\Delta x})]] in the source vector
    317305
    318306=== Summary ===