Changeset 2296


Ignore:
Timestamp:
2008-08-01T18:48:31Z (15 years ago)
Author:
Gary J. Ferland
Message:

series of small changes resulting from a few hours debugging the negative population bugs now current in trunk. these should have little effect

cont_setintensity.cpp enforce use of EdenSet? when used

eden_sum - tidy up prints, assert EdenSet? used at exit

iso_ionize_recombine.cpp - on very first pass through routine set initial recomb rate

iso_level.cpp - small changes in print statements

Location:
trunk/source
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/cont_setintensity.cpp

    r2292 r2296  
    10491049        }
    10501050
    1051         dense.EdenTrue = dense.eden;
     1051        if( dense.EdenSet > 0. )
     1052        {
     1053                dense.EdenTrue = dense.EdenSet;
     1054        }
     1055        else
     1056                dense.EdenTrue = dense.eden;
    10521057
    10531058        if( trace.lgTrace )
  • trunk/source/eden_sum.cpp

    r1960 r2296  
    9292                 * negative electron density.  occurred in pdr
    9393                 * with large h2, after hmole failure */
    94                 fprintf(ioQQQ," PROBLEM sum eden from hmole too neg, set to  limt.  EdenTrue:%.3e hmole_eden:%.3e \n",
     94                fprintf(ioQQQ,
     95                        " PROBLEM sum eden from hmole too neg, set to  limt.  EdenTrue:"
     96                        "%.3e hmole_eden:%.3e nTotalIoniz %li\n",
     97                        /* NB EdenTrue is set later, not set at this point */
    9598                        dense.EdenTrue,
    96                         hmole_eden);
    97                 dense.EdenTrue = dense.EdenTrue/2.;
     99                        hmole_eden,
     100                        conv.nTotalIoniz);
     101                if( dense.EdenSet <= 0. )
     102                        dense.EdenTrue = dense.EdenTrue/2.;
    98103        }
    99104        else
     
    217222
    218223        {
    219                 /*@-redef@*/
    220224                enum {DEBUG_LOC=false};
    221                 /*@+redef@*/
    222225                if( DEBUG_LOC )
    223226                {
     
    228231        }
    229232
    230         /* >>chng 05 jan 05, don't let elec den be zero - logs are taken */
     233        /* don't let electron density be zero - logs are taken */
    231234        dense.eden = MAX2( SMALLFLOAT , dense.eden );
     235
     236        /* case where electron density is set with set eden command
     237         * make sure we use it */
     238        ASSERT( dense.EdenSet <= 0. ||
     239                fp_equal((realnum)dense.EdenTrue , dense.EdenSet) );
    232240
    233241        return 0;
  • trunk/source/iso_ionize_recombine.cpp

    r2107 r2296  
    55#include "cddefines.h"
    66#include "ionbal.h"
     7#include "conv.h"
    78#include "atmdat.h"
    89#include "dense.h"
     
    246247        iso.RecomCollisFrac[ipISO][nelem] = Recom3Body* dense.eden / ionbal.RateRecomTot[nelem][nelem-ipISO];
    247248
     249        /* very first pass through here rate RateIonizTot not yet evaluated */
     250        if( conv.nTotalIoniz==0 )
     251                ionbal.RateIonizTot[ipISO][nelem] = iso.RateLevel2Cont[ipISO][nelem][0];
     252
    248253        /* get simple estimate of atom to ion ratio */
    249254        if( ionbal.RateRecomTot[nelem][nelem-ipISO] > 0. )
  • trunk/source/iso_level.cpp

    r2119 r2296  
    585585                        if( StatesElem[ipISO][nelem][level].Pop <= 0 )
    586586                        {
    587                                 fprintf(ioQQQ," non-positive level pop for iso = %li, nelem = %li = %s, level=%li val=%.3e\n",
     587                                fprintf(ioQQQ,
     588                                        "PROBLEM non-positive level pop for iso = %li, nelem = "
     589                                        "%li = %s, level=%li val=%.3e nTotalIoniz %li\n",
    588590                                        ipISO,
    589591                                        nelem ,
    590592                                        elementnames.chElementSym[nelem],
    591593                                        level,
    592                                         StatesElem[ipISO][nelem][level].Pop );
     594                                        StatesElem[ipISO][nelem][level].Pop ,
     595                                        conv.nTotalIoniz);
    593596                        }
    594597
Note: See TracChangeset for help on using the changeset viewer.