43 #ifndef IFPACK_LINEPARTITIONER_H 44 #define IFPACK_LINEPARTITIONER_H 46 #include "Ifpack_ConfigDefs.h" 47 #include "Ifpack_Partitioner.h" 48 #include "Ifpack_OverlappingPartitioner.h" 49 #include "Teuchos_ParameterList.hpp" 53 class Epetra_BlockMap;
99 threshold_ = List.get(
"partitioner: line detection threshold",threshold_);
100 if(threshold_ < 0.0 || threshold_ > 1.0) IFPACK_CHK_ERR(-1);
102 NumEqns_ = List.get(
"partitioner: PDE equations",NumEqns_);
103 if(NumEqns_ < 1 ) IFPACK_CHK_ERR(-2);
105 xcoord_ = List.get(
"partitioner: x-coordinates",xcoord_);
106 ycoord_ = List.get(
"partitioner: y-coordinates",ycoord_);
107 zcoord_ = List.get(
"partitioner: z-coordinates",zcoord_);
108 if(!xcoord_ && !ycoord_ && !zcoord_) IFPACK_CHK_ERR(-3);
118 int Compute_Blocks_AutoLine(
int * blockIndices)
const;
119 void local_automatic_line_search(
int NumEqns,
int * blockIndices,
int last,
int next,
int LineID,
double tol,
int *itemp,
double * dtemp)
const;
132 #endif // IFPACK_LINEPARTITIONER_H
virtual ~Ifpack_LinePartitioner()
Destructor.
int ComputePartitions()
Computes the partitions. Returns 0 if successful.
Ifpack_LinePartitioner(const Ifpack_Graph *Graph)
Constructor.
Ifpack_Graph: a pure virtual class that defines graphs for IFPACK.
int SetPartitionParameters(Teuchos::ParameterList &List)
Sets all the parameters for the partitioner.