Changeset 2420 for branches/newmole

Show
Ignore:
Timestamp:
10/24/08 12:27:44 (3 months ago)
Author:
rjrw
Message:

ExtractMethod? on calculation of element densities in grouped
representatation, to make it easier to check for conservation errors.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/newmole/source/mole_solve.cpp

    r2418 r2420  
    4242STATIC void mole_h_fixup(void); 
    4343 
     44STATIC void grouped_elems(const double bvec[], double mole_elems[]); 
     45 
    4446#define SMALLABUND 1e-24 
    4547 
     
    478480                        double molnow[LIMELM]; 
    479481 
     482                        grouped_elems(&b2vec[0], molnow); 
    480483                        for ( nelem=ipHYDROGEN; nelem<LIMELM; nelem++) 
    481484                        { 
     
    710713} 
    711714 
     715STATIC void grouped_elems(const double bvec[], double mole_elems[]) 
     716{ 
     717        for (long nelem=ipHYDROGEN; nelem<LIMELM; nelem++) 
     718        { 
     719                mole_elems[nelem] = 0.; 
     720        } 
     721        for( long i=0; i < mole.num_compacted; i++ ) 
     722        { 
     723                for ( long nelem=ipHYDROGEN; nelem<LIMELM; nelem++) 
     724                { 
     725                        mole_elems[nelem] += bvec[i]*groupspecies[i]->nElem[nelem]; 
     726                } 
     727        } 
     728} 
     729 
    712730void GroupMap::setup(double *b0vec) 
    713731{ 
     
    777795        }        
    778796 
    779         for ( nelem=ipHYDROGEN; nelem<LIMELM; nelem++) 
    780         { 
    781                 molnum[nelem] = 0.; 
    782         } 
    783797        for( i=0; i < mole.num_compacted; i++ ) 
    784798        { 
    785799                b0vec[i] = calcv[groupspecies[i]->index]; 
    786                 for ( nelem=ipHYDROGEN; nelem<LIMELM; nelem++) 
    787                 { 
    788                         molnum[nelem] += b0vec[i]*groupspecies[i]->nElem[nelem]; 
    789                 } 
    790         } 
     800        } 
     801        grouped_elems(&b0vec[0],molnum); 
    791802} 
    792803