Cantera
2.0
|
Functions which calculation optimized basis of the stoichiometric coefficient matrix (see /ref equil functions)More...
#include "cantera/base/ct_defs.h"
#include "cantera/base/global.h"
#include "cantera/thermo/ThermoPhase.h"
#include "cantera/equil/MultiPhase.h"
#include <cstring>
Go to the source code of this file.
Functions | |
static size_t | amax (double *x, size_t j, size_t n) |
Finds the location of the maximum component in a double vector INPUT. | |
static int | mlequ (double *c, size_t idem, size_t n, double *b, size_t m) |
Invert an nxn matrix and solve m rhs's. | |
Functions which calculation optimized basis of the stoichiometric coefficient matrix (see /ref equil functions)
Definition in file BasisOptimize.cpp.
|
static |
Finds the location of the maximum component in a double vector INPUT.
x | Vector to search |
j | j <= i < n : i is the range of indices to search in X(*) |
n | Length of the vector |
Definition at line 539 of file BasisOptimize.cpp.
Referenced by Cantera::absmax().
|
static |
Invert an nxn matrix and solve m rhs's.
Solve C X + B = 0;
This routine uses Gauss elimination and is optimized for the solution of lots of rhs's. A crude form of row pivoting is used here.
c | C is the matrix to be inverted |
idem | first dimension in the calling routine idem >= n must be true |
n | number of rows and columns in the matrix |
b | rhs of the matrix problem |
m | number of rhs to be solved for |
c[i+j*idem] = c_i_j = Matrix to be inverted: i = row number j = column number b[i+j*idem] = b_i_j = vectors of rhs's: i = row number j = column number (each column is a new rhs)
The solution is returned in the matrix b.
Definition at line 580 of file BasisOptimize.cpp.
References Cantera::writelogf().