csc_intern_updown.c

Build UpDownVector from user right-hand-side and CSCd.  Retrieve soltion from UpDownVector.  Construct UpDownVector such as X[i] = 1, or X[i] = i.

Summary
csc_intern_updown.cBuild UpDownVector from user right-hand-side and CSCd.
CscdUpdownRhsFill-in UpDownVector structure from user right-hand-side member.
CscUpdownRhs
CscdUpdownRhsFill-in UpDownVector structure from user distributed right-hand-side member.
CscRhsUpdown
CscdRhsUpdown
Csc2updownFill-in UpDownVector structure such as the solution of the system Ax=b is x_i=1 (API_RHS_1) or x_i=i (API_RHS_I).
Csc2updown_X0Fill-in initial X0 for reffinement if we don’t want to use Solve step.

CscdUpdownRhs

Fill-in UpDownVector structure from user right-hand-side member.

Parameters

updovctUpDownVector structure to fill-in.
symbmtxSymbol matrix.
rhsRight-hand-side member.
invpreverse permutation tabular.
dofNumber of degree of freedom.

CscUpdownRhs

void CscUpdownRhs(UpDownVector *updovct,
const SymbolMatrix *symbmtx,
const FLOAT *rhs,
const INT *invp,
int dof)

CscdUpdownRhs

void CscdUpdownRhs(UpDownVector *updovct,
const SymbolMatrix *symbmtx,
const FLOAT *rhs,
const INT *invp,
const INT *g2l,
const INT ln,
int dof)

Fill-in UpDownVector structure from user distributed right-hand-side member.

Parameters

updovctUpDownVector structure to fill-in.
symbmtxSymbol matrix.
rhsRight-hand-side member.
invpreverse permutation tabular.
g2llocal numbers of global nodes, if not local contains -owner
dofNumber of degree of freedom.

CscRhsUpdown

void CscRhsUpdown(const UpDownVector *updovct,
const SymbolMatrix *symbmtx,
FLOAT *rhs,
const INT ncol,
const INT *invp,
const int dof,
const int rhsmaking,
MPI_Comm comm)

CscdRhsUpdown

void CscdRhsUpdown(const UpDownVector *updovct,
const SymbolMatrix *symbmtx,
FLOAT *x,
const INT ncol,
const INT *g2l,
const INT *invp,
int dof,
MPI_Comm comm)

Csc2updown

void Csc2updown(const CscMatrix *cscmtx,
UpDownVector *updovct,
const SymbolMatrix *symbmtx,
int mode,
MPI_Comm comm)

Fill-in UpDownVector structure such as the solution of the system Ax=b is x_i=1 (API_RHS_1) or x_i=i (API_RHS_I).

Parameters

cscmtxinternal CSCd matrix.
updovctUpDownVector structure to fill-in.
symbmtxSymbol matrix.
modewanted solution API_RHS_1 or API_RHS_I.
commMPI communicator.

Csc2updown_X0

void Csc2updown_X0(UpDownVector *updovct,
/*const*/ SymbolMatrix *symbmtx,
int mode,
MPI_Comm comm)

Fill-in initial X0 for reffinement if we don’t want to use Solve step.

(iparm[IPARM_ONLY_RAFF] == API_YES)

Parameters

updovctUpDownVector structure were to copy B as the first X0 used for raffinement.
symbmtxSymbol matrix.
modeRule to construct X0 (API_RHS_1 : X0[i] = 1, API_RHS_I : X0[i] = i).
commMPI_Communicator.
void CscUpdownRhs(UpDownVector *updovct,
const SymbolMatrix *symbmtx,
const FLOAT *rhs,
const INT *invp,
int dof)
void CscdUpdownRhs(UpDownVector *updovct,
const SymbolMatrix *symbmtx,
const FLOAT *rhs,
const INT *invp,
const INT *g2l,
const INT ln,
int dof)
Fill-in UpDownVector structure from user distributed right-hand-side member.
void CscRhsUpdown(const UpDownVector *updovct,
const SymbolMatrix *symbmtx,
FLOAT *rhs,
const INT ncol,
const INT *invp,
const int dof,
const int rhsmaking,
MPI_Comm comm)
void CscdRhsUpdown(const UpDownVector *updovct,
const SymbolMatrix *symbmtx,
FLOAT *x,
const INT ncol,
const INT *g2l,
const INT *invp,
int dof,
MPI_Comm comm)
void Csc2updown(const CscMatrix *cscmtx,
UpDownVector *updovct,
const SymbolMatrix *symbmtx,
int mode,
MPI_Comm comm)
Fill-in UpDownVector structure such as the solution of the system Ax=b is x_i=1 (API_RHS_1) or x_i=i (API_RHS_I).
void Csc2updown_X0(UpDownVector *updovct,
/*const*/ SymbolMatrix *symbmtx,
int mode,
MPI_Comm comm)
Fill-in initial X0 for reffinement if we don’t want to use Solve step.
Close