Cantera
2.5.1
|
Functionality expected from the bulk phase. More...
Classes | |
class | solveSP |
Method to solve a pseudo steady state surface problem. More... | |
Functions | |
solveSP (ImplicitSurfChem *surfChemPtr, int bulkFunc=BULK_ETCH) | |
Constructor for the object. More... | |
~solveSP () | |
Destructor. Deletes the integrator. More... | |
solveSP (const solveSP &right) | |
Unimplemented private copy constructor. More... | |
solveSP & | operator= (const solveSP &right) |
Unimplemented private assignment operator. More... | |
int | solveSurfProb (int ifunc, doublereal time_scale, doublereal TKelvin, doublereal PGas, doublereal reltol, doublereal abstol) |
Main routine that actually calculates the pseudo steady state of the surface problem. More... | |
void | print_header (int ioflag, int ifunc, doublereal time_scale, int damping, doublereal reltol, doublereal abstol) |
Printing routine that optionally gets called at the start of every invocation. More... | |
void | printIteration (int ioflag, doublereal damp, int label_d, int label_t, doublereal inv_t, doublereal t_real, size_t iter, doublereal update_norm, doublereal resid_norm, bool do_time, bool final=false) |
Printing routine that gets called after every iteration. More... | |
doublereal | calc_t (doublereal netProdRateSolnSP[], doublereal XMolSolnSP[], int *label, int *label_old, doublereal *label_factor, int ioflag) |
Calculate a conservative delta T to use in a pseudo-steady state algorithm. More... | |
void | calcWeights (doublereal wtSpecies[], doublereal wtResid[], const Array2D &Jac, const doublereal CSolnSP[], const doublereal abstol, const doublereal reltol) |
Calculate the solution and residual weights. More... | |
void | updateState (const doublereal *cSurfSpec) |
Update the surface states of the surface phases. More... | |
void | updateMFSolnSP (doublereal *XMolSolnSP) |
Update mole fraction vector consisting of unknowns in surface problem. More... | |
void | updateMFKinSpecies (doublereal *XMolKinSp, int isp) |
Update the mole fraction vector for a specific kinetic species vector corresponding to one InterfaceKinetics object. More... | |
void | evalSurfLarge (const doublereal *CSolnSP) |
Update the vector that keeps track of the largest species in each surface phase. More... | |
void | fun_eval (doublereal *resid, const doublereal *CSolnSP, const doublereal *CSolnOldSP, const bool do_time, const doublereal deltaT) |
Main Function evaluation. More... | |
void | resjac_eval (DenseMatrix &jac, doublereal *resid, doublereal *CSolnSP, const doublereal *CSolnSPOld, const bool do_time, const doublereal deltaT) |
Main routine that calculates the current residual and Jacobian. More... | |
Variables | |
const int | BULK_DEPOSITION = 1 |
Deposition of a bulk phase is to be expected. More... | |
const int | BULK_ETCH = 2 |
Etching of a bulk phase is to be expected. More... | |
ImplicitSurfChem * | m_SurfChemPtr |
Pointer to the manager of the implicit surface chemistry problem. More... | |
std::vector< InterfaceKinetics * > & | m_objects |
Vector of interface kinetics objects. More... | |
size_t | m_neq |
Total number of equations to solve in the implicit problem. More... | |
int | m_bulkFunc |
This variable determines how the bulk phases are to be handled. More... | |
size_t | m_numSurfPhases |
Number of surface phases in the surface problem. More... | |
size_t | m_numTotSurfSpecies |
Total number of surface species in all surface phases. More... | |
std::vector< size_t > | m_indexKinObjSurfPhase |
Mapping between the surface phases and the InterfaceKinetics objects. More... | |
std::vector< size_t > | m_nSpeciesSurfPhase |
Vector of length number of surface phases containing the number of surface species in each phase. More... | |
std::vector< SurfPhase * > | m_ptrsSurfPhase |
Vector of surface phase pointers. More... | |
std::vector< size_t > | m_eqnIndexStartSolnPhase |
Index of the start of the unknowns for each solution phase. More... | |
std::vector< size_t > | m_kinObjPhaseIDSurfPhase |
Phase ID in the InterfaceKinetics object of the surface phase. More... | |
size_t | m_numBulkPhasesSS |
Total number of volumetric condensed phases included in the steady state problem handled by this routine. More... | |
std::vector< size_t > | m_numBulkSpecies |
Vector of number of species in the m_numBulkPhases phases. More... | |
size_t | m_numTotBulkSpeciesSS |
Total number of species in all bulk phases. More... | |
std::vector< ThermoPhase * > | m_bulkPhasePtrs |
Vector of bulk phase pointers, length is equal to m_numBulkPhases. More... | |
std::vector< size_t > | m_kinSpecIndex |
Index between the equation index and the position in the kinetic species array for the appropriate kinetics operator. More... | |
std::vector< size_t > | m_kinObjIndex |
Index between the equation index and the index of the InterfaceKinetics object. More... | |
std::vector< size_t > | m_spSurfLarge |
Vector containing the indices of the largest species in each surface phase. More... | |
doublereal | m_atol |
The absolute tolerance in real units. units are (kmol/m2) More... | |
doublereal | m_rtol |
The relative error tolerance. More... | |
doublereal | m_maxstep |
maximum value of the time step. units = seconds More... | |
size_t | m_maxTotSpecies |
Maximum number of species in any single kinetics operator -> also maxed wrt the total # of solution species. More... | |
vector_fp | m_netProductionRatesSave |
Temporary vector with length equal to max m_maxTotSpecies. More... | |
vector_fp | m_numEqn1 |
Temporary vector with length equal to max m_maxTotSpecies. More... | |
vector_fp | m_numEqn2 |
Temporary vector with length equal to max m_maxTotSpecies. More... | |
vector_fp | m_CSolnSave |
Temporary vector with length equal to max m_maxTotSpecies. More... | |
vector_fp | m_CSolnSP |
Solution vector. length MAX(1, m_neq) More... | |
vector_fp | m_CSolnSPInit |
Saved initial solution vector. length MAX(1, m_neq) More... | |
vector_fp | m_CSolnSPOld |
Saved solution vector at the old time step. length MAX(1, m_neq) More... | |
vector_fp | m_wtResid |
Weights for the residual norm calculation. length MAX(1, m_neq) More... | |
vector_fp | m_wtSpecies |
Weights for the species concentrations norm calculation. More... | |
vector_fp | m_resid |
Residual for the surface problem. More... | |
vector_fp | m_XMolKinSpecies |
Vector of mole fractions. length m_maxTotSpecies. More... | |
DenseMatrix | m_Jac |
Jacobian. More... | |
int | m_ioflag |
Functionality expected from the bulk phase.
This changes the equations that will be used to solve for the bulk mole fractions.
solveSP | ( | ImplicitSurfChem * | surfChemPtr, |
int | bulkFunc = BULK_ETCH |
||
) |
Constructor for the object.
surfChemPtr | Pointer to the ImplicitSurfChem object that defines the surface problem to be solved. |
bulkFunc | Integer representing how the bulk phases should be handled. See Surface Problem Bulk Phase Mode. Currently, only the default value of BULK_ETCH is supported. |
Definition at line 23 of file solveSP.cpp.
References BULK_DEPOSITION, Kinetics::kineticsSpeciesIndex(), solveSP::m_CSolnSave, solveSP::m_CSolnSP, solveSP::m_CSolnSPInit, solveSP::m_CSolnSPOld, solveSP::m_eqnIndexStartSolnPhase, solveSP::m_indexKinObjSurfPhase, solveSP::m_Jac, solveSP::m_kinObjIndex, solveSP::m_kinObjPhaseIDSurfPhase, solveSP::m_kinSpecIndex, solveSP::m_maxTotSpecies, solveSP::m_neq, solveSP::m_netProductionRatesSave, solveSP::m_nSpeciesSurfPhase, solveSP::m_numBulkPhasesSS, solveSP::m_numEqn1, solveSP::m_numEqn2, solveSP::m_numSurfPhases, solveSP::m_numTotBulkSpeciesSS, solveSP::m_numTotSurfSpecies, solveSP::m_objects, solveSP::m_ptrsSurfPhase, solveSP::m_resid, solveSP::m_spSurfLarge, solveSP::m_wtResid, solveSP::m_wtSpecies, solveSP::m_XMolKinSpecies, Cantera::npos, Phase::nSpecies(), DenseMatrix::resize(), Kinetics::surfacePhaseIndex(), and Kinetics::thermo().
int solveSurfProb | ( | int | ifunc, |
doublereal | time_scale, | ||
doublereal | TKelvin, | ||
doublereal | PGas, | ||
doublereal | reltol, | ||
doublereal | abstol | ||
) |
Main routine that actually calculates the pseudo steady state of the surface problem.
The actual converged solution is returned as part of the internal state of the InterfaceKinetics objects.
Uses Newton's method to get the surface fractions of the surface and bulk species by requiring that the surface species production rate = 0 and that the bulk fractions are proportional to their production rates.
ifunc | Determines the type of solution algorithm to be used. See Surface Problem Solver Methods for possible values. |
time_scale | Time over which to integrate the surface equations, where applicable |
TKelvin | Temperature (kelvin) |
PGas | Pressure (pascals) |
reltol | Relative tolerance to use |
abstol | absolute tolerance. |
Definition at line 113 of file solveSP.cpp.
References solveSP::calc_t(), solveSP::calcWeights(), solveSP::evalSurfLarge(), solveSP::fun_eval(), solveSP::m_CSolnSP, solveSP::m_CSolnSPInit, solveSP::m_CSolnSPOld, solveSP::m_Jac, solveSP::m_neq, solveSP::m_netProductionRatesSave, solveSP::m_nSpeciesSurfPhase, solveSP::m_numEqn1, solveSP::m_numSurfPhases, solveSP::m_ptrsSurfPhase, solveSP::m_resid, solveSP::m_wtResid, solveSP::m_wtSpecies, solveSP::m_XMolKinSpecies, solveSP::print_header(), solveSP::printIteration(), solveSP::resjac_eval(), SFLUX_INITIALIZE, SFLUX_JACOBIAN, SFLUX_TRANSIENT, Cantera::solve(), solveSP::updateState(), Cantera::writelog(), and Cantera::writelogf().
|
private |
Printing routine that optionally gets called at the start of every invocation.
Definition at line 637 of file solveSP.cpp.
References BULK_DEPOSITION, BULK_ETCH, solveSP::m_bulkFunc, SFLUX_INITIALIZE, SFLUX_JACOBIAN, SFLUX_RESIDUAL, SFLUX_TRANSIENT, Cantera::writelog(), and Cantera::writelogf().
Referenced by solveSP::solveSurfProb().
|
private |
Printing routine that gets called after every iteration.
Definition at line 686 of file solveSP.cpp.
References solveSP::m_kinObjIndex, solveSP::m_kinSpecIndex, solveSP::m_objects, Cantera::writelog(), and Cantera::writelogf().
Referenced by solveSP::solveSurfProb().
|
private |
Calculate a conservative delta T to use in a pseudo-steady state algorithm.
This routine calculates a pretty conservative 1/del_t based on MAX_i(sdot_i/(X_i*SDen0)). This probably guarantees diagonal dominance.
Small surface fractions are allowed to intervene in the del_t determination, no matter how small. This may be changed. Now minimum changed to 1.0e-12,
Maximum time step set to time_scale.
netProdRateSolnSP | Output variable. Net production rate of all of the species in the solution vector. |
XMolSolnSP | output variable. Mole fraction of all of the species in the solution vector |
label | Output variable. Pointer to the value of the species index (kindexSP) that is controlling the time step |
label_old | Output variable. Pointer to the value of the species index (kindexSP) that controlled the time step at the previous iteration |
label_factor | Output variable. Pointer to the current factor that is used to indicate the same species is controlling the time step. |
ioflag | Level of the output requested. |
Definition at line 591 of file solveSP.cpp.
References Kinetics::getNetProductionRates(), Kinetics::kineticsSpeciesIndex(), solveSP::m_nSpeciesSurfPhase, solveSP::m_numEqn1, solveSP::m_numSurfPhases, solveSP::m_objects, Phase::molarDensity(), Kinetics::surfacePhaseIndex(), Kinetics::thermo(), and solveSP::updateMFSolnSP().
Referenced by solveSP::solveSurfProb().
|
private |
Calculate the solution and residual weights.
wtSpecies | Weights to use for the soln unknowns. These are in concentration units |
wtResid | Weights to sue for the residual unknowns. |
Jac | Jacobian. Row sum scaling is used for the Jacobian |
CSolnSP | Solution vector for the surface problem |
abstol | Absolute error tolerance |
reltol | Relative error tolerance |
Definition at line 558 of file solveSP.cpp.
References BULK_DEPOSITION, solveSP::m_bulkFunc, solveSP::m_bulkPhasePtrs, solveSP::m_neq, solveSP::m_nSpeciesSurfPhase, solveSP::m_numBulkPhasesSS, solveSP::m_numBulkSpecies, solveSP::m_numSurfPhases, and solveSP::m_ptrsSurfPhase.
Referenced by solveSP::solveSurfProb().
|
private |
Update the surface states of the surface phases.
Definition at line 296 of file solveSP.cpp.
References solveSP::m_nSpeciesSurfPhase, solveSP::m_numSurfPhases, and solveSP::m_ptrsSurfPhase.
Referenced by solveSP::fun_eval(), and solveSP::solveSurfProb().
|
private |
Update mole fraction vector consisting of unknowns in surface problem.
XMolSolnSP | Vector of mole fractions for the unknowns in the surface problem. |
Definition at line 305 of file solveSP.cpp.
References solveSP::m_eqnIndexStartSolnPhase, solveSP::m_numSurfPhases, and solveSP::m_ptrsSurfPhase.
Referenced by solveSP::calc_t().
|
private |
Update the mole fraction vector for a specific kinetic species vector corresponding to one InterfaceKinetics object.
XMolKinSp | Mole fraction vector corresponding to a particular kinetic species for a single InterfaceKinetics Object This is a vector over all the species in all of the phases in the InterfaceKinetics object |
isp | ID of the InterfaceKinetics Object. |
Definition at line 313 of file solveSP.cpp.
References Phase::getMoleFractions(), Kinetics::kineticsSpeciesIndex(), solveSP::m_objects, Kinetics::nPhases(), and Kinetics::thermo().
|
private |
Update the vector that keeps track of the largest species in each surface phase.
CSolnSP | Vector of the current values of the surface concentrations in all of the surface species. |
Definition at line 322 of file solveSP.cpp.
References solveSP::m_nSpeciesSurfPhase, solveSP::m_numSurfPhases, and solveSP::m_spSurfLarge.
Referenced by solveSP::solveSurfProb().
|
private |
Main Function evaluation.
resid | output Vector of residuals, length = m_neq |
CSolnSP | Vector of species concentrations, unknowns in the problem, length = m_neq |
CSolnOldSP | Old Vector of species concentrations, unknowns in the problem, length = m_neq |
do_time | Calculate a time dependent residual |
deltaT | Delta time for time dependent problem. |
Definition at line 338 of file solveSP.cpp.
References BULK_DEPOSITION, Kinetics::getNetProductionRates(), Kinetics::kineticsSpeciesIndex(), solveSP::m_bulkFunc, solveSP::m_bulkPhasePtrs, solveSP::m_indexKinObjSurfPhase, solveSP::m_netProductionRatesSave, solveSP::m_nSpeciesSurfPhase, solveSP::m_numBulkPhasesSS, solveSP::m_numEqn1, solveSP::m_numSurfPhases, solveSP::m_numTotSurfSpecies, solveSP::m_objects, solveSP::m_ptrsSurfPhase, solveSP::m_spSurfLarge, Kinetics::surfacePhaseIndex(), and solveSP::updateState().
Referenced by solveSP::resjac_eval(), and solveSP::solveSurfProb().
|
private |
Main routine that calculates the current residual and Jacobian.
jac | Jacobian to be evaluated. |
resid | output Vector of residuals, length = m_neq |
CSolnSP | Vector of species concentrations, unknowns in the problem, length = m_neq. These are tweaked in order to derive the columns of the Jacobian. |
CSolnSPOld | Old Vector of species concentrations, unknowns in the problem, length = m_neq |
do_time | Calculate a time dependent residual |
deltaT | Delta time for time dependent problem. |
Definition at line 445 of file solveSP.cpp.
References BULK_DEPOSITION, solveSP::fun_eval(), solveSP::m_bulkFunc, solveSP::m_bulkPhasePtrs, solveSP::m_neq, solveSP::m_nSpeciesSurfPhase, solveSP::m_numBulkPhasesSS, solveSP::m_numBulkSpecies, solveSP::m_numEqn2, solveSP::m_numSurfPhases, and solveSP::m_ptrsSurfPhase.
Referenced by solveSP::solveSurfProb().
const int BULK_DEPOSITION = 1 |
Deposition of a bulk phase is to be expected.
Bulk mole fractions are determined from ratios of growth rates of bulk species.
Definition at line 51 of file solveSP.h.
Referenced by solveSP::calcWeights(), solveSP::fun_eval(), solveSP::print_header(), solveSP::resjac_eval(), and solveSP::solveSP().
const int BULK_ETCH = 2 |
Etching of a bulk phase is to be expected.
Bulk mole fractions are assumed constant, and given by the initial conditions. This is also used whenever the condensed phase is part of the larger solution.
Definition at line 56 of file solveSP.h.
Referenced by solveSP::print_header(), and ImplicitSurfChem::solvePseudoSteadyStateProblem().
|
private |
|
private |
Vector of interface kinetics objects.
Each of these is associated with one and only one surface phase.
Definition at line 317 of file solveSP.h.
Referenced by solveSP::calc_t(), solveSP::fun_eval(), solveSP::printIteration(), solveSP::solveSP(), and solveSP::updateMFKinSpecies().
|
private |
Total number of equations to solve in the implicit problem.
Note, this can be zero, and frequently is
Definition at line 323 of file solveSP.h.
Referenced by solveSP::calcWeights(), solveSP::resjac_eval(), solveSP::solveSP(), and solveSP::solveSurfProb().
|
private |
This variable determines how the bulk phases are to be handled.
Possible values are given in Surface Problem Bulk Phase Mode.
Definition at line 329 of file solveSP.h.
Referenced by solveSP::calcWeights(), solveSP::fun_eval(), solveSP::print_header(), and solveSP::resjac_eval().
|
private |
Number of surface phases in the surface problem.
This number is equal to the number of InterfaceKinetics objects in the problem. (until further noted)
Definition at line 336 of file solveSP.h.
Referenced by solveSP::calc_t(), solveSP::calcWeights(), solveSP::evalSurfLarge(), solveSP::fun_eval(), solveSP::resjac_eval(), solveSP::solveSP(), solveSP::solveSurfProb(), solveSP::updateMFSolnSP(), and solveSP::updateState().
|
private |
Total number of surface species in all surface phases.
This is also the number of equations to solve for m_mode=0 system It's equal to the sum of the number of species in each of the m_numSurfPhases.
Definition at line 344 of file solveSP.h.
Referenced by solveSP::fun_eval(), and solveSP::solveSP().
|
private |
Mapping between the surface phases and the InterfaceKinetics objects.
Currently this is defined to be a 1-1 mapping (and probably assumed in some places) m_surfKinObjID[i] = i
Definition at line 352 of file solveSP.h.
Referenced by solveSP::fun_eval(), and solveSP::solveSP().
|
private |
Vector of length number of surface phases containing the number of surface species in each phase.
Length is equal to the number of surface phases, m_numSurfPhases
Definition at line 359 of file solveSP.h.
Referenced by solveSP::calc_t(), solveSP::calcWeights(), solveSP::evalSurfLarge(), solveSP::fun_eval(), solveSP::resjac_eval(), solveSP::solveSP(), solveSP::solveSurfProb(), and solveSP::updateState().
|
private |
Vector of surface phase pointers.
This is created during the constructor Length is equal to the number of surface phases, m_numSurfPhases
Definition at line 366 of file solveSP.h.
Referenced by solveSP::calcWeights(), solveSP::fun_eval(), solveSP::resjac_eval(), solveSP::solveSP(), solveSP::solveSurfProb(), solveSP::updateMFSolnSP(), and solveSP::updateState().
|
private |
Index of the start of the unknowns for each solution phase.
i_eqn = m_eqnIndexStartPhase[isp]
isp is the phase id in the list of phases solved by the surface problem.
i_eqn is the equation number of the first unknown in the solution vector corresponding to isp'th phase.
Definition at line 378 of file solveSP.h.
Referenced by solveSP::solveSP(), and solveSP::updateMFSolnSP().
|
private |
Phase ID in the InterfaceKinetics object of the surface phase.
For each surface phase, this lists the PhaseId of the surface phase in the corresponding InterfaceKinetics object
Length is equal to m_numSurfPhases
Definition at line 387 of file solveSP.h.
Referenced by solveSP::solveSP().
|
private |
Total number of volumetric condensed phases included in the steady state problem handled by this routine.
This is equal to or less than the total number of volumetric phases in all of the InterfaceKinetics objects. We usually do not include bulk phases. Bulk phases are only included in the calculation when their domain isn't included in the underlying continuum model conservation equation system.
This is equal to 0, for the time being
Definition at line 400 of file solveSP.h.
Referenced by solveSP::calcWeights(), solveSP::fun_eval(), solveSP::resjac_eval(), and solveSP::solveSP().
|
private |
Vector of number of species in the m_numBulkPhases phases.
Length is number of bulk phases
Definition at line 406 of file solveSP.h.
Referenced by solveSP::calcWeights(), and solveSP::resjac_eval().
|
private |
Total number of species in all bulk phases.
This is also the number of bulk equations to solve when bulk equation solving is turned on.
Definition at line 413 of file solveSP.h.
Referenced by solveSP::solveSP().
|
private |
Vector of bulk phase pointers, length is equal to m_numBulkPhases.
Definition at line 416 of file solveSP.h.
Referenced by solveSP::calcWeights(), solveSP::fun_eval(), and solveSP::resjac_eval().
|
private |
Index between the equation index and the position in the kinetic species array for the appropriate kinetics operator.
Length = m_neq.
ksp = m_kinSpecIndex[ieq] ksp is the kinetic species index for the ieq'th equation.
Definition at line 426 of file solveSP.h.
Referenced by solveSP::printIteration(), and solveSP::solveSP().
|
private |
Index between the equation index and the index of the InterfaceKinetics object.
Length m_neq
Definition at line 433 of file solveSP.h.
Referenced by solveSP::printIteration(), and solveSP::solveSP().
|
private |
Vector containing the indices of the largest species in each surface phase.
k = m_spSurfLarge[i]
where k
is the local species index, i.e., it varies from 0 to (num species in phase - 1) and i
is the surface phase index in the problem. Length is equal to m_numSurfPhases.
Definition at line 442 of file solveSP.h.
Referenced by solveSP::evalSurfLarge(), solveSP::fun_eval(), and solveSP::solveSP().
|
private |
|
private |
|
private |
Maximum number of species in any single kinetics operator -> also maxed wrt the total # of solution species.
Definition at line 455 of file solveSP.h.
Referenced by solveSP::solveSP().
|
private |
Temporary vector with length equal to max m_maxTotSpecies.
Definition at line 458 of file solveSP.h.
Referenced by solveSP::fun_eval(), solveSP::solveSP(), and solveSP::solveSurfProb().
|
private |
Temporary vector with length equal to max m_maxTotSpecies.
Definition at line 461 of file solveSP.h.
Referenced by solveSP::calc_t(), solveSP::fun_eval(), solveSP::solveSP(), and solveSP::solveSurfProb().
|
private |
Temporary vector with length equal to max m_maxTotSpecies.
Definition at line 464 of file solveSP.h.
Referenced by solveSP::resjac_eval(), and solveSP::solveSP().
|
private |
Temporary vector with length equal to max m_maxTotSpecies.
Definition at line 467 of file solveSP.h.
Referenced by solveSP::solveSP().
|
private |
Solution vector. length MAX(1, m_neq)
Definition at line 470 of file solveSP.h.
Referenced by solveSP::solveSP(), and solveSP::solveSurfProb().
|
private |
Saved initial solution vector. length MAX(1, m_neq)
Definition at line 473 of file solveSP.h.
Referenced by solveSP::solveSP(), and solveSP::solveSurfProb().
|
private |
Saved solution vector at the old time step. length MAX(1, m_neq)
Definition at line 476 of file solveSP.h.
Referenced by solveSP::solveSP(), and solveSP::solveSurfProb().
|
private |
Weights for the residual norm calculation. length MAX(1, m_neq)
Definition at line 479 of file solveSP.h.
Referenced by solveSP::solveSP(), and solveSP::solveSurfProb().
|
private |
Weights for the species concentrations norm calculation.
length MAX(1, m_neq)
Definition at line 485 of file solveSP.h.
Referenced by solveSP::solveSP(), and solveSP::solveSurfProb().
|
private |
Residual for the surface problem.
The residual vector of length "dim" that, that has the value of "sdot" for surface species. The residuals for the bulk species are a function of the sdots for all species in the bulk phase. The last residual of each phase enforces {Sum(fractions) = 1}. After linear solve (dgetrf_ & dgetrs_), resid holds the update vector.
length MAX(1, m_neq)
Definition at line 497 of file solveSP.h.
Referenced by solveSP::solveSP(), and solveSP::solveSurfProb().
|
private |
Vector of mole fractions. length m_maxTotSpecies.
Definition at line 500 of file solveSP.h.
Referenced by solveSP::solveSP(), and solveSP::solveSurfProb().
|
private |
Jacobian.
m_neq by m_neq computed Jacobian matrix for the local Newton's method.
Definition at line 504 of file solveSP.h.
Referenced by solveSP::solveSP(), and solveSP::solveSurfProb().