Changes between Version 186 and Version 187 of FluxLimitedDiffusion
- Timestamp:
- 04/05/13 11:04:40 (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
FluxLimitedDiffusion
v186 v187 195 195 [[CollapsibleEnd()]] 196 196 197 [[CollapsibleStart(Expl cit Update 1)]]198 == E plicit Update 1 ==197 [[CollapsibleStart(Explicit Update 1)]] 198 == Explicit Update 1 == 199 199 The extra terms in the explicit update due to radiation energy are as follows: 200 200 … … 249 249 Of course even if the opacity is independent of energy and radiation energy, the above combined system of equations is still non-linear due to the dependence on Temperature of the Planck Function \(B(T)\) 250 250 251 If we ignore the changes in the Temperature due to heating during the implicit step which would feed back into the source function. We can improve this by writing251 However we can expand the Plank Function about \(e_0\) 252 252 253 253 [[latex(B(T) = B \left ( T_0+dT \right ) = B \left ( T_0 \right ) + \left . \frac{\partial B}{\partial T} \right | _{T_0} \frac{\partial T}{\partial e} de = \frac{c}{4 \pi} a_R \left ( T_0^4 + 4T_0^3\Gamma de \right ) = B_0 \left ( 1 + 4\Gamma \frac{e-e_0}{T_0} \right ) )]] … … 272 272 273 273 === Implicit Discretization 1 === 274 Which we can discretize for (1D) as 275 276 [[latex(E^{n+1}_i-E^{n}_i = \left [ \alpha^n_{i+1/2} \left ( E^{*}_{i+1}-E^{*}_{i} \right ) - \alpha^n_{i-1/2} \left ( E^{*}_{i}-E^{*}_{i-1} \right ) \right ] - \epsilon^n_i E^{*}_i + \phi^n_i e^{*}_i + \theta^n_i) )]] 277 [[latex(e^{n+1}_i-e^{n}_i = \epsilon^n_i E^{*}_i - \phi^n_i e^{*}_i - \theta^n_i )]] 274 275 We can now discretize the equations 276 277 [[latex(E^{n+1}_i-E^{n}_i = \left [ \alpha_{i+1/2} \left ( E^{*}_{i+1}-E^{*}_{i} \right ) - \alpha_{i-1/2} \left ( E^{*}_{i}-E^{*}_{i-1} \right ) \right ] - \epsilon E^{*}_i + \phi e^{*}_i + \theta_i - \phi_i) )]] 278 [[latex(e^{n+1}_i-e^{n}_i = \epsilon_i E^{*}_i - \phi_i e^{*}_i - \left(\theta_i-\phi_i \right ) )]] 278 279 279 280 where the diffusion coefficient is given by … … 286 287 and 287 288 288 [[latex(\epsilon ^n_i=c\Delta t \kappa^n_{0P,i})]]289 [[latex(\epsilon_i=c\Delta t \kappa_{0P,i})]] 289 290 290 291 represents the number of absorption/emissions during the time step … … 293 294 and 294 295 295 [[latex(\phi = \epsilon^n_i \frac{4 \pi}{c} B \left ( T^n_i \right ) \left ( \frac{4\Gamma}{T^n_i} \right ) )]]296 297 [[latex(\theta = \epsilon^n_i \frac{4 \pi}{c} B \left ( T^n_i \right ) \left ( 1 - 4\Gamma \frac{e^n_i}{T^n_i}\right ) )]]296 [[latex(\phi_i = \epsilon_i \frac{4 \pi}{c} B \left ( T^n_i \right ) \left ( \frac{4\Gamma}{T^n_i} \right ) )]] 297 298 [[latex(\theta_i = \epsilon_i \frac{4 \pi}{c} B \left ( T^n_i \right ) )]] 298 299 299 300 300 301 and we can think of the radiative flux as 301 302 302 [[latex(\frac{\Delta t}{\Delta x}\mathbf{F} ^n_{i+1/2} = \alpha^n_{i+1/2} \left ( E^{*}_{i+1} - E^{*}_i \right ) )]]303 [[latex(\frac{\Delta t}{\Delta x}\mathbf{F}_{i+1/2} = \alpha_{i+1/2} \left ( E^{*}_{i+1} - E^{*}_i \right ) )]] 303 304 304 305 === Time Discretization === … … 318 319 In any event in 1D we have the following matrix coefficients 319 320 320 [[latex(\left [ 1 + \psi \left( \alpha ^n_{i+1/2} + \alpha^n_{i-1/2} + \epsilon^n_i \right ) \right ] E^{n+1}_i - \left ( \psi \alpha^n_{i+1/2} \right ) E^{n+1}_{i+1} - \left ( \psi \alpha^n_{i-1/2} \right ) E^{n+1}_{i-1} - \left ( \psi \phi^n_i \right ) e^{n+1}_i=\left [ 1 - \bar{\psi} \left( \alpha^n_{i+1/2} + \alpha^n_{i-1/2} + \epsilon^n_i \right ) \right ] E^n_i + \left ( \bar{\psi} \alpha^n_{i+1/2} \right ) E^{n}_{i+1} + \left ( \bar{\psi} \alpha^n_{i-1/2} \right ) E^{n}_{i-1} +\bar{\psi}\phi^n_i e^n_i + \theta^n_i)]]321 [[latex(\left ( 1 +\psi \phi ^n_i \right ) e^{n+1}_i - \left ( \psi \epsilon^n_i \right )E^{n+1}_i =\left ( 1 - \bar{\psi}\phi^n_i \right ) e^n_i + \left ( \bar{\psi} \epsilon^n_i \right ) E^n_i-\theta^i_n)]]321 [[latex(\left [ 1 + \psi \left( \alpha_{i+1/2} + \alpha_{i-1/2} + \epsilon_i \right ) \right ] E^{n+1}_i - \left ( \psi \alpha_{i+1/2} \right ) E^{n+1}_{i+1} - \left ( \psi \alpha_{i-1/2} \right ) E^{n+1}_{i-1} - \left ( \psi \phi_i \right ) e^{n+1}_i=\left [ 1 - \bar{\psi} \left( \alpha_{i+1/2} + \alpha_{i-1/2} + \epsilon_i \right ) \right ] E^n_i + \left ( \bar{\psi} \alpha_{i+1/2} \right ) E^{n}_{i+1} + \left ( \bar{\psi} \alpha_{i-1/2} \right ) E^{n}_{i-1} +\bar{\psi}\phi_i e^n_i + \theta_i)]] 322 [[latex(\left ( 1 +\psi \phi_i \right ) e^{n+1}_i - \left ( \psi \epsilon_i \right )E^{n+1}_i =\left ( 1 - \bar{\psi}\phi_i \right ) e^n_i + \left ( \bar{\psi} \epsilon_i \right ) E^n_i-\theta_i )]] 322 323 323 324 324 325 Now since the second equation has no spatial dependence, we can solve it for 325 [[latex(\color{purple}{e^{n+1}_i = \frac{1}{ 1 +\psi \phi ^n_i}\left \{ \left ( \psi \epsilon^n_i \right )E^{n+1}_i + \left ( 1 - \bar{\psi}\phi^n_i \right ) e^n_i + \left ( \bar{\psi} \epsilon^n_i \right ) E^n_i-\theta^i_n\right \}} )]]326 [[latex(\color{purple}{e^{n+1}_i = \frac{1}{ 1 +\psi \phi_i}\left \{ \left ( \psi \epsilon_i \right )E^{n+1}_i + \left ( 1 - \bar{\psi}\phi_i \right ) e^n_i + \left ( \bar{\psi} \epsilon_i \right ) E^n_i-\theta_i \right \}} )]] 326 327 327 328 and plug the result into the first equation to get a matrix equation involving only one variable. 328 329 329 [[latex(\color{purple}{\left [ 1 + \psi \left( \alpha ^n_{i+1/2} + \alpha^n_{i-1/2} + \frac{\epsilon^n_i}{ 1 +\psi \phi^n_i}\right ) \right ] E^{n+1}_i - \left ( \psi \alpha^n_{i+1/2} \right ) E^{n+1}_{i+1} - \left ( \psi \alpha^n_{i-1/2} \right ) E^{n+1}_{i-1} =\left [ 1 - \bar{\psi} \left( \alpha^n_{i+1/2} + \alpha^n_{i-1/2} +\frac{\epsilon^n_i }{ 1 +\psi \phi^n_i} \right ) \right ] E^n_i + \left ( \bar{\psi} \alpha^n_{i+1/2} \right ) E^{n}_{i+1} + \left ( \bar{\psi} \alpha^n_{i-1/2} \right ) E^{n}_{i-1} + \frac{ \phi^n_i}{ 1 +\psi \phi^n_i} e^n_i+ \frac{1}{ 1 +\psi \phi^n_i}\theta^i_n})]]330 [[latex(\color{purple}{\left [ 1 + \psi \left( \alpha_{i+1/2} + \alpha_{i-1/2} + \frac{\epsilon_i}{ 1 +\psi \phi_i}\right ) \right ] E^{n+1}_i - \left ( \psi \alpha_{i+1/2} \right ) E^{n+1}_{i+1} - \left ( \psi \alpha_{i-1/2} \right ) E^{n+1}_{i-1} =\left [ 1 - \bar{\psi} \left( \alpha_{i+1/2} + \alpha_{i-1/2} +\frac{\epsilon_i }{ 1 +\psi \phi_i} \right ) \right ] E^n_i + \left ( \bar{\psi} \alpha_{i+1/2} \right ) E^{n}_{i+1} + \left ( \bar{\psi} \alpha_{i-1/2} \right ) E^{n}_{i-1} + \frac{ \phi_i}{ 1 +\psi \phi_i} e^n_i+ \frac{1}{ 1 +\psi \phi_i}\theta_i})]] 330 331 331 332 … … 333 334 If we ignore the change in the Planck function due to heating during the implicit solve, it is equivalent to setting \(\psi \phi = 0\) This gives the following equations: 334 335 335 [[latex(\left [ 1 + \psi \left( \alpha ^n_{i+1/2} + \alpha^n_{i-1/2} + \epsilon^n_i \right ) \right ] E^{n+1}_i - \left ( \psi \alpha^n_{i+1/2} \right ) E^{n+1}_{i+1} - \left ( \psi \alpha^n_{i-1/2} \right ) E^{n+1}_{i-1} =\left [ 1 - \bar{\psi} \left( \alpha^n_{i+1/2} + \alpha^n_{i-1/2} + \epsilon^n_i \right ) \right ] E^n_i+ \left ( \bar{\psi} \alpha^n_{i+1/2} \right ) E^{n}_{i+1} + \left ( \bar{\psi} \alpha^n_{i-1/2} \right ) E^{n}_{i-1} +\phi^n_i e^n_i + \theta^n_i)]]336 [[latex(e^{n+1}_i = e^n_i + \epsilon ^n_i \left [ \left ( \psi E^{n+1}_i + \bar{\psi} E^{n}_i \right ) - \frac{4 \pi}{c} B \left ( T^n_i \right ) \right ] )]]336 [[latex(\left [ 1 + \psi \left( \alpha_{i+1/2} + \alpha_{i-1/2} + \epsilon_i \right ) \right ] E^{n+1}_i - \left ( \psi \alpha_{i+1/2} \right ) E^{n+1}_{i+1} - \left ( \psi \alpha_{i-1/2} \right ) E^{n+1}_{i-1} =\left [ 1 - \bar{\psi} \left( \alpha_{i+1/2} + \alpha_{i-1/2} + \epsilon_i \right ) \right ] E^n_i+ \left ( \bar{\psi} \alpha_{i+1/2} \right ) E^{n}_{i+1} + \left ( \bar{\psi} \alpha_{i-1/2} \right ) E^{n}_{i-1} +\phi_i e^n_i + \theta_i)]] 337 [[latex(e^{n+1}_i = e^n_i + \epsilon_i \left [ \left ( \psi E^{n+1}_i + \bar{\psi} E^{n}_i \right ) - \frac{4 \pi}{c} B \left ( T^n_i \right ) \right ] )]] 337 338 338 339 In this case the first equation decouples and can be solved on it's own, and then the solution plugged back into the second equation to solve for the new energy. … … 440 441 [[CollapsibleEnd()]] 441 442 442 [[CollapsibleStart(Expl cit Update 2)]]443 == E plicit Update 2 ==443 [[CollapsibleStart(Explocit Update 2)]] 444 == Explicit Update 2 == 444 445 The extra terms in the explicit update due to radiation energy are as follows: 445 446