KmlScadssAnalyze
Analyzes the input matrix, including reordering and symbolic decomposition.
Interface Definition
C interface:
int KmlScadssAnalyze(KmlScadssSolver *solver, KmlScasolverMatrix *matrix, const KmlDssAnalyzeOption *basicOptions, const KmlScadssAnalyzeOption *scaOptions);
Parameters
Parameter |
Type |
Description |
Input/Output |
|---|---|---|---|
solver |
KmlScadssSolver * |
Solver handle created by KmlScadssInit |
Input |
matrix |
KmlScasolverMatrix * |
Matrix handle, which is created by KmlScasolverMatrixCreate and cannot be a null pointer. |
Input |
basicOptions |
KmlDssAnalyzeOption * |
Basic configuration options in the analysis phase, which cannot be a null pointer. For details, see Table 1. |
Input |
scaOptions |
KmlScadssAnalyzeOption * |
Distributed configuration options in the analysis phase, which cannot be a null pointer. For details, see Table 1. |
Input |
Field |
Type |
Description |
|---|---|---|
fieldMask |
uint64_t |
Mask that determines to which fields the configuration is applied. If a bit is set to 1, its corresponding field uses a specified value. If a bit is set to 0, its corresponding field uses the default value. See the individual field description for configurable mask bits. |
fr |
KmlScadssFRAlgo |
Fill-in reduction algorithm type. If this mask is not specified, the related configuration items of basicOptions in the analysis phase are used. The options are as follows:
Mask bit: KMLSCADSS_ANALYSE_OPTIONS_FR |
userFR |
KmlScadssUserFRFunc |
User-defined distributed fill-in reduction algorithm. For details, see Table 2.
Mask bit: KMLSCADSS_ANALYSE_OPTIONS_USER_FR |
Field |
Type |
Description |
|---|---|---|
func |
int (*)(void *arg, const KmlScadssMatrixPartition *partition, const KmlSolverMatrixStore *store, void *iPerm, MPI_Comm comm); |
User-defined distributed fill-in reduction function. The prototype of the function is "int (*func)(void *arg, const KmlScadssMatrixPartition *partition, const KmlSolverMatrixStore *store, void *iPerm, MPI_Comm comm)". |
arg |
void * |
User-related parameter, which can be used as the user context. This parameter is used as the first parameter when func is called. |
Return Value
Return Value |
Type |
Description |
|---|---|---|
KMLSS_NO_ERROR |
int |
Normal execution. |
KMLSS_INTERNAL_ERROR |
int |
Internal error. |
KMLSS_NULL_ARGUMENT |
int |
A null argument exists in {solver, matrix, basicOptions, scaOptions}. |
Dependencies
#include "kml_scadss.h"