45 for( i=0; i < num_total; i++ )
95 b[sp->
index] -= rate_tot;
104 b[sp->
index] += rate_tot;
124 const double rated = rate_deriv[j];
153 long int i, j, ion, ion2;
160 for( i=0; i < num_total; i++ )
165 for(
long nelem=0; nelem<
LIMELM; ++nelem )
168 for( ion=0; ion<nelem+2; ++ion )
171 for( ion2=0; ion2<nelem+2; ++ion2 )
181 rate = &(*p->second);
209 for( molecule::nNucsMap::iterator nuc_i = sp->
nNuclide.begin();
210 nuc_i != sp->
nNuclide.end(); ++nuc_i)
212 if (! nuc_i->first->lgHasLinkedIon() )
214 ASSERT(nuc_i->second != 0);
217 long nelem = nuc_i->first->el->Z-1;
237 for (ChemNuclideList::iterator atom =
nuclide_list.begin();
240 if (!(*atom)->lgHasLinkedIon())
242 const long int nelem=(*atom)->el->Z-1;
246 for (
long int ion=0;ion<nelem+2;ion++)
248 if ((*atom)->ipMl[ion] != -1)
268 bool checkAllOK =
true;
283 for (molecule::nNucsMap::const_iterator el =
mole_global.
list[j]->nNuclide.begin();
286 natoms[i] = el->first->index;
287 nNucs[i] = el->second;
297 for(
unsigned long natom=0; natom <
nuclide_list.size(); ++natom)
299 test[natom] = tot[natom] = 0.0;
306 for (
long pos=jstart; pos < lim; ++pos)
308 const long natom = natoms[pos];
309 const int nNuclidej = nNucs[pos];
310 const double term = c[i][j] * nNuclidej;
312 tot[natom] += fabs(term);
318 for(
unsigned long natom=0; natom <
nuclide_list.size(); ++natom)
364 ( fabs(test[natom]) <=
MAX2(3e-9*tot[natom], 1e10*DBL_MIN) );
368 fprintf(
ioQQQ,
" PROBLEM Network conservation error %s %s %g %g %g %g\n",
369 atom->
label().c_str(),
372 test[natom]/tot[natom],
molecule * reactants[MAXREACTANTS]
t_mole_global mole_global
vector< double > reaction_rks
STATIC bool lgNucleiConserved(const multi_arr< double, 2 > &c)
map< string, count_ptr< mole_reaction > > reactab
ChemNuclideList nuclide_list
molecule * products[MAXPRODUCTS]
molecule * rvector[MAXREACTANTS]
map< string, count_ptr< mole_reaction > >::iterator mole_reaction_i
realnum *** xMoleChTrRate
valarray< class molezone > species
void mole_eval_sources(long int num_total)
molecule * pvector[MAXPRODUCTS]
void mole_eval_balance(long int num_total, double *b, bool lgJac, multi_arr< double, 2 > &c)
#define DEBUG_ENTRY(funcname)
int fprintf(const Output &stream, const char *format,...)