58 |
{ |
{ |
59 |
if (isEmpty()) |
if (isEmpty()) |
60 |
throw SystemMatrixException("Error - Matrix is empty."); |
throw SystemMatrixException("Error - Matrix is empty."); |
|
if (right.getFunctionSpace()!=getColumnFunctionSpace()) |
|
|
throw SystemMatrixException("Error - column function space and function space of input data do not match."); |
|
61 |
if (right.getDataPointSize()!=getColumnBlockSize()) |
if (right.getDataPointSize()!=getColumnBlockSize()) |
62 |
throw SystemMatrixException("Error - column block size and input data size do not match."); |
throw SystemMatrixException("Error - column block size and input data size do not match."); |
63 |
DataArrayView::ShapeType shape; |
DataArrayView::ShapeType shape; |
64 |
if (getRowBlockSize()>1) shape.push_back(getRowBlockSize()); |
if (getRowBlockSize()>1) shape.push_back(getRowBlockSize()); |
65 |
|
|
66 |
Data out=Data(0.,shape,getRowFunctionSpace(),true); |
Data out=Data(0.,shape,getRowFunctionSpace(),true); |
67 |
ypAx(out,right); |
ypAx(out,Data(right,getColumnFunctionSpace())); |
68 |
return out; |
return out; |
69 |
} |
} |
70 |
|
|
95 |
{ |
{ |
96 |
throw SystemMatrixException("Error - Matrix Market interface not available."); |
throw SystemMatrixException("Error - Matrix Market interface not available."); |
97 |
} |
} |
98 |
void AbstractSystemMatrix:: setValue(const double value) const |
void AbstractSystemMatrix::setValue(const double value) const |
99 |
{ |
{ |
100 |
|
throw SystemMatrixException("Error - setValue is not implemented."); |
101 |
|
} |
102 |
|
void AbstractSystemMatrix::resetSolver() const |
103 |
|
{ |
104 |
|
throw SystemMatrixException("Error - resetSolver not implemented."); |
105 |
} |
} |
106 |
|
|
107 |
} // end of namespace |
} // end of namespace |