Show
Ignore:
Timestamp:
03/17/08 08:09:50 (10 months ago)
Author:
rporter
Message:

A series of changes aimed at treating line overlap automatically. In iso sequences make PopOpc? use poplo of lower level rather than poplo corresponding to sum of all degenerate levels. TauIn? was being incremented with only single line tau, now total tau at line center. RadiationPressure? is basically just a canning of a dozen or so individual radiation pressure calculations. RadiationPressure?2 has an additional term to squelch pressure in lines that by themselves are optically thin, but lie at optically thick energies, which essentially means PopOpc? is effectively much larger than the case for the line alone because other species are contributing to the opacity. This tends to be most important for HeII 1216 because of the strong overlap with LyA. OI - LyB overlap was done manually, now automatically (but this required a revision to the average OI multiplet energy in levels1.dat. There was a small bug in prt_comment.cpp that caused a false positive on LyA radiation pressure changing by large amount in last iteration.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/source/atom_feii.cpp

    r1822 r1854  
    6060#include "atomfeii.h" 
    6161#include "iso.h" 
     62#include "pressure.h" 
    6263/*lint -e668 passing null pointer */ 
    6364 
     
    30653066                                        Fe2LevN[ipHi][ipLo].Emis->PopOpc > smallfloat ) 
    30663067                                { 
    3067                                         RadPres1 = 5.551e-2*(powi(Fe2LevN[ipHi][ipLo].EnergyWN/ 
    3068                                                 1.e6,4))*(Fe2LevN[ipHi][ipLo].Hi->Pop/Fe2LevN[ipHi][ipLo].Hi->g)/ 
    3069                                                 (Fe2LevN[ipHi][ipLo].Lo->Pop/Fe2LevN[ipHi][ipLo].Lo->g)* 
    3070                                                 RT_LineWidth(&Fe2LevN[ipHi][ipLo]); 
     3068                                        RadPres1 =  RadiationPressure( &Fe2LevN[ipHi][ipLo] ); 
     3069 
    30713070#                                       ifdef DEBUGFE 
    30723071                                        if( RadPres1 > RadMax )