54 const int SOLVEPROB_RESIDUAL = 2;
55 const int SOLVEPROB_JACOBIAN = 3;
56 const int SOLVEPROB_TRANSIENT = 4;
196 int solve(
int ifunc, doublereal time_scale, doublereal reltol);
202 virtual void reportState(doublereal*
const CSoln)
const;
211 virtual void setBounds(
const doublereal botBounds[],
const doublereal topBounds[]);
214 void setAtol(
const doublereal atol[]);
215 void setAtolConst(
const doublereal atolconst);
221 virtual void print_header(
int ioflag,
int ifunc, doublereal time_scale,
223 doublereal netProdRate[]);
225 #ifdef DEBUG_SOLVEPROB
227 virtual void printResJac(
int ioflag,
int neq,
const Array2D& Jac,
228 doublereal resid[], doublereal wtResid[], doublereal norm);
232 virtual void printIteration(
int ioflag, doublereal damp,
size_t label_d,
size_t label_t,
233 doublereal inv_t, doublereal t_real,
int iter,
234 doublereal update_norm, doublereal resid_norm,
235 doublereal netProdRate[], doublereal CSolnSP[],
237 doublereal wtSpecies[],
size_t dim,
bool do_time);
244 virtual void printFinal(
int ioflag, doublereal damp,
size_t label_d,
size_t label_t,
245 doublereal inv_t, doublereal t_real,
int iter,
246 doublereal update_norm, doublereal resid_norm,
247 doublereal netProdRateKinSpecies[],
const doublereal CSolnSP[],
248 const doublereal resid[],
249 const doublereal wtSpecies[],
const doublereal wtRes[],
250 size_t dim,
bool do_time);
283 virtual doublereal
calc_t(doublereal netProdRateSolnSP[], doublereal Csoln[],
284 size_t* label,
size_t* label_old,
285 doublereal* label_factor,
int ioflag);
295 virtual void calcWeights(doublereal wtSpecies[], doublereal wtResid[],
296 const doublereal CSolnSP[]);
298 #ifdef DEBUG_SOLVEPROB
309 virtual void printIterationHeader(
int ioflag, doublereal damp,
310 doublereal inv_t, doublereal t_real,
int iter,
325 virtual void fun_eval(doublereal*
const resid,
const doublereal*
const CSolnSP,
326 const doublereal*
const CSolnOldSP,
const bool do_time,
const doublereal deltaT);
341 virtual void resjac_eval(std::vector<doublereal*>& JacCol, doublereal* resid,
343 const doublereal* CSolnSPOld,
const bool do_time,
344 const doublereal deltaT);
364 virtual doublereal
calc_damping(doublereal x[], doublereal dxneg[],
size_t dim,
size_t* label);