48 SLU::SuperMatrix
A,
B,
X,
L,
U;
68 A_ = dynamic_cast<Epetra_CrsMatrix *> (Problem->
GetOperator());
81 for(
int i = 0; i < NumMyCols; i++ )
83 for(
int i = 0; i < NumMyEqs; i++ )
86 for(
int j = 0; j < NumIndices; j++ )
90 for(
int i = 0; i < NumMyCols; i++ )
102 for(
int i=0; i<NumMyCols; i++) {
124 dCreate_Dense_Matrix( &(
data_->
X), m, 1, rhs_x, m, SLU_DN, SLU_D, SLU_GE);
126 dCreate_Dense_Matrix( &(
data_->
B), m, 1, rhs_b, m, SLU_DN, SLU_D, SLU_GE);
133 ferr_ =
new double[1];
134 berr_ =
new double[1];
142 SLU::Destroy_SuperMatrix_Store( &(
data_->
A) );
143 SLU::Destroy_SuperMatrix_Store( &(
data_->
B) );
144 SLU::Destroy_SuperMatrix_Store( &(
data_->
X) );
184 for (
int i = 0; i < NumMyCols; i++ )
187 for (
int i = 0; i < NumMyEqs; i++ )
191 for (
int j = 0; j < NumIndices; j++ )
193 int TransRow = xIndices[j];
216 int permt = perm_type;
217 if( m < 3 ) permt = 0;
227 if( Verbose ) cout <<
"MATRIX COPIED!" << endl;
231 char fact, trans, refact, equed;
233 if( Trans ) trans =
'T';
236 if( Equil ) fact =
'E';
247 if( !Factor ) fact =
'F';
250 if( Equil ) equed =
'B';
257 if( Verbose ) cout <<
"TRANS: " << trans << endl;
258 if( Verbose ) cout <<
"REFACT: " << refact << endl;
265 if( info ) cout <<
"WARNING: SuperLU returned with error code = " << info << endl;
269 cout <<
"SYSTEM DIRECT SOLVED!" << endl;
271 cout <<
"SuperLU INFO: " << info <<
"\n\n";
274 cout <<
"SuperLU Memory Usage\n";
275 cout <<
"--------------------\n";
279 cout <<
"--------------------\n\n";
281 if (m<200) dPrint_CompCol_Matrix(
"A", &(
data_->
A));
285 if (m<200) dPrint_Dense_Matrix(
"B", &(
data_->
B));
286 if (m<200) dPrint_Dense_Matrix(
"X", &(
data_->
X));