/*expion VERY simple two level cooling, do de-excitation or transfer */ #include "cddefines.h" #include "edsqte.h" #include "teinv.h" #include "expion.h" double expion(double bltz, double abund) { double boltz, expion_v; # ifdef DEBUG_FUN fputs( "<+>expion()\n", debug_fp ); # endif /* factor in front of call is C.S. * 8.6E-6/GLOW * HNU * edensqte is eden / sqrte * */ if( abund > 0. ) { boltz = bltz*teinvCom.teinv; if( boltz < 20. ) { expion_v = abund*edsqte.edensqte*exp(-boltz); } else { expion_v = 0.; } } else { expion_v = 0.; } # ifdef DEBUG_FUN fputs( " <->expion()\n", debug_fp ); # endif return( expion_v ); }