#include <UnAssembledMatrix.hpp>


Public Types | |
| enum | Type { doubleHashedMatrix, sparseMatrix, unAssembled } |
Public Member Functions | |
| void | reset () |
| void | getDiagonal (BaseVector &X) const |
| used to get the diagonal of the Matrix and stores it in the vector X. | |
| void | transposedTimesX (const BaseVector &X, BaseVector &Z) const |
| Computes z = A*x+y. | |
| void | timesX (const BaseVector &X, BaseVector &Z) const |
| Computes z = A*x. | |
| void | setDiscretization (ConstReferenceCounting< Discretization > discretization) |
| void | setBoundaryConditions (ConstReferenceCounting< BoundaryConditionDiscretization > bcDiscret) |
| UnAssembledMatrix (size_t size) | |
| ~UnAssembledMatrix () | |
| const size_t & | size () const |
| const BaseMatrix::Type & | type () const |
Protected Attributes | |
| BaseMatrix::Type | __type |
| size_t | __size |
Private Attributes | |
| ConstReferenceCounting < Discretization > | __discretization |
| ConstReferenceCounting < BoundaryConditionDiscretization > | __BCDiscretization |
Definition at line 32 of file UnAssembledMatrix.hpp.
enum BaseMatrix::Type [inherited] |
Definition at line 30 of file BaseMatrix.hpp.
00030 { 00031 doubleHashedMatrix, 00032 sparseMatrix, 00033 #ifdef HAVE_PETSC 00034 petscMatrix, 00035 #endif // HAVE_PETSC 00036 unAssembled 00037 };
| UnAssembledMatrix::UnAssembledMatrix | ( | size_t | size | ) |
Definition at line 70 of file UnAssembledMatrix.cpp.
00071 : BaseMatrix(BaseMatrix::unAssembled, size), 00072 __discretization(0), 00073 __BCDiscretization(0) 00074 { 00075 ; 00076 }
| UnAssembledMatrix::~UnAssembledMatrix | ( | ) |
| void UnAssembledMatrix::reset | ( | ) | [inline, virtual] |
| void UnAssembledMatrix::getDiagonal | ( | BaseVector & | X | ) | const [virtual] |
used to get the diagonal of the Matrix and stores it in the vector X.
Implements BaseMatrix.
Definition at line 27 of file UnAssembledMatrix.cpp.
00028 { 00029 static_cast<Vector<real_t>&>(X) = 0; 00030 (*__discretization).getDiagonal(X); 00031 (*__BCDiscretization).getDiagonal(X); 00032 }
| void UnAssembledMatrix::transposedTimesX | ( | const BaseVector & | X, | |
| BaseVector & | Z | |||
| ) | const [virtual] |
Computes z = A*x+y.
Implements BaseMatrix.
Definition at line 34 of file UnAssembledMatrix.cpp.
References __BCDiscretization, and __discretization.
00036 { 00037 static_cast<Vector<real_t>&>(Z) = 0; 00038 if(__discretization != 0) { 00039 (*__discretization).transposedTimesX(X,Z); 00040 } 00041 if(__BCDiscretization != 0) { 00042 (*__BCDiscretization).transposedTimesX(X,Z); 00043 } 00044 }
| void UnAssembledMatrix::timesX | ( | const BaseVector & | X, | |
| BaseVector & | Z | |||
| ) | const [virtual] |
Computes z = A*x.
Implements BaseMatrix.
Definition at line 46 of file UnAssembledMatrix.cpp.
References __BCDiscretization, and __discretization.
00048 { 00049 static_cast<Vector<real_t>&>(Z) = 0; 00050 if(__discretization != 0) { 00051 (*__discretization).timesX(X,Z); 00052 } 00053 if(__BCDiscretization != 0) { 00054 (*__BCDiscretization).timesX(X,Z); 00055 } 00056 }
| void UnAssembledMatrix::setDiscretization | ( | ConstReferenceCounting< Discretization > | discretization | ) |
Definition at line 59 of file UnAssembledMatrix.cpp.
References __discretization.
Referenced by SpectralLegendreDiscretizationNonConform::assembleMatrix(), SpectralLegendreDiscretizationConform::assembleMatrix(), FEMDiscretization< Structured3DMesh, TypeOfDiscretization >::assembleMatrix(), and FEMDiscretization< GivenMeshType, TypeOfDiscretization >::assembleMatrix().
00060 { 00061 __discretization = discretization; 00062 }
| void UnAssembledMatrix::setBoundaryConditions | ( | ConstReferenceCounting< BoundaryConditionDiscretization > | bcDiscret | ) |
Definition at line 65 of file UnAssembledMatrix.cpp.
References __BCDiscretization.
Referenced by BoundaryConditionDiscretizationSpectralNonConform::setMatrix(), BoundaryConditionDiscretizationSpectralConform::setMatrix(), BoundaryConditionDiscretizationPenalty< MeshType, TypeOfDiscretization >::setMatrix(), BoundaryConditionDiscretizationFEM< MeshType, TypeOfDiscretization >::setMatrix(), and BoundaryConditionDiscretizationElimination< MeshType, TypeOfDiscretization >::setMatrix().
00066 { 00067 __BCDiscretization = bcDiscretization; 00068 }
| const size_t& BaseMatrix::size | ( | ) | const [inline, inherited] |
Definition at line 62 of file BaseMatrix.hpp.
References BaseMatrix::__size.
Referenced by IncompleteCholeskiFactorization::computes(), SparseMatrix::copyProfile(), SparseMatrix::getDiagonal(), IncompleteCholeskiFactorization::initializes(), DiagPrecond::initializes(), SparseMatrix::operator()(), and SparseMatrix::transposedTimesX().
00063 { 00064 return __size; 00065 }
| const BaseMatrix::Type& BaseMatrix::type | ( | ) | const [inline, inherited] |
Definition at line 67 of file BaseMatrix.hpp.
References BaseMatrix::__type.
Referenced by FEMDiscretization< Structured3DMesh, TypeOfDiscretization >::assembleMatrix(), IncompleteCholeskiFactorization::IncompleteCholeskiFactorization(), and KrylovSolverDim().
00068 { 00069 return __type; 00070 }
Definition at line 36 of file UnAssembledMatrix.hpp.
Referenced by setDiscretization(), timesX(), and transposedTimesX().
ConstReferenceCounting<BoundaryConditionDiscretization> UnAssembledMatrix::__BCDiscretization [private] |
Definition at line 37 of file UnAssembledMatrix.hpp.
Referenced by setBoundaryConditions(), timesX(), and transposedTimesX().
BaseMatrix::Type BaseMatrix::__type [protected, inherited] |
size_t BaseMatrix::__size [protected, inherited] |
Definition at line 42 of file BaseMatrix.hpp.
Referenced by SparseMatrix::copyProfile(), SparseMatrix::line(), SparseMatrix::operator*(), SparseMatrix::reset(), BaseMatrix::size(), SparseMatrix::SparseMatrix(), and SparseMatrix::transposedTimesX().
1.5.6