15 |
|
|
16 |
#include "AbstractSystemMatrix.h" |
#include "AbstractSystemMatrix.h" |
17 |
#include "DataException.h" |
#include "DataException.h" |
|
#include "DataArrayView.h" |
|
18 |
#include "Data.h" |
#include "Data.h" |
19 |
|
#include "DataTypes.h" |
20 |
|
|
21 |
namespace escript { |
namespace escript { |
22 |
|
|
61 |
throw SystemMatrixException("Error - Matrix is empty."); |
throw SystemMatrixException("Error - Matrix is empty."); |
62 |
if (right.getDataPointSize()!=getColumnBlockSize()) |
if (right.getDataPointSize()!=getColumnBlockSize()) |
63 |
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."); |
64 |
DataArrayView::ShapeType shape; |
DataTypes::ShapeType shape; |
65 |
if (getRowBlockSize()>1) shape.push_back(getRowBlockSize()); |
if (getRowBlockSize()>1) shape.push_back(getRowBlockSize()); |
66 |
|
|
67 |
Data out=Data(0.,shape,getRowFunctionSpace(),true); |
Data out=Data(0.,shape,getRowFunctionSpace(),true); |
83 |
throw SystemMatrixException("Error - row function space and function space of right hand side do not match."); |
throw SystemMatrixException("Error - row function space and function space of right hand side do not match."); |
84 |
if (in.getDataPointSize()!=getRowBlockSize()) |
if (in.getDataPointSize()!=getRowBlockSize()) |
85 |
throw SystemMatrixException("Error - row block size and right hand side size do not match."); |
throw SystemMatrixException("Error - row block size and right hand side size do not match."); |
86 |
DataArrayView::ShapeType shape; |
DataTypes::ShapeType shape; |
87 |
if (getRowBlockSize()>1) shape.push_back(getColumnBlockSize()); |
if (getRowBlockSize()>1) shape.push_back(getColumnBlockSize()); |
88 |
Data out=Data(0.,shape,getColumnFunctionSpace(),true); |
Data out=Data(0.,shape,getColumnFunctionSpace(),true); |
89 |
setToSolution(out,in,options); |
setToSolution(out,in,options); |