Public Member Functions | |
MatrixVectorAssemblyKernel (const Array< RCP< DOFMapBase > > &rowMap, const Array< RCP< Array< int > > > &isBCRow, const Array< int > &lowestLocalRow, const Array< RCP< DOFMapBase > > &colMap, const Array< RCP< Array< int > > > &isBCCol, const Array< int > &lowestLocalCol, LinearOperator< double > A, Array< Vector< double > > b, bool partitionBCs, int verb) | |
void | prepareForWorkSet (const Array< Set< int > > &requiredTests, const Array< Set< int > > &requiredUnks, RCP< StdFwkEvalMediator > mediator) |
void | fill (bool isBC, const IntegralGroup &group, const RCP< Array< double > > &localValues) |
Protected Member Functions | |
void | init (const Array< RCP< DOFMapBase > > &rowMap, const Array< RCP< DOFMapBase > > &colMap, LinearOperator< double > A, bool partitionBCs) |
void | writeLSMs (int blockRow, int blockCol, bool useCofacetCells, int numTestNodes, int nTestFuncs, int testFuncIndex, const Array< int > &rowDof, int numUnkNodes, int nUnkFuncs, int unkFuncIndex, const Array< int > &colDof, const Array< double > &localValues) const |
void | insertLocalMatrixBatch (bool isBCRqc, bool useCofacetCells, const Array< int > &testID, const Array< int > &testBlock, const Array< int > &unkID, const Array< int > &unkBlock, const Array< double > &localValues) const |
const MapBundle & | rmb () const |
const MapBundle & | cmb () const |
Private Attributes | |
LinearOperator< double > | A_ |
Array< Array< LoadableMatrix < double > * > > | mat_ |
MapBundle | cmb_ |
Definition at line 44 of file SundanceMatrixVectorAssemblyKernel.hpp.
Sundance::MatrixVectorAssemblyKernel::MatrixVectorAssemblyKernel | ( | const Array< RCP< DOFMapBase > > & | rowMap, | |
const Array< RCP< Array< int > > > & | isBCRow, | |||
const Array< int > & | lowestLocalRow, | |||
const Array< RCP< DOFMapBase > > & | colMap, | |||
const Array< RCP< Array< int > > > & | isBCCol, | |||
const Array< int > & | lowestLocalCol, | |||
LinearOperator< double > | A, | |||
Array< Vector< double > > | b, | |||
bool | partitionBCs, | |||
int | verb | |||
) | [inline] |
const MapBundle& Sundance::MatrixVectorAssemblyKernel::cmb | ( | ) | const [inline, protected] |
Definition at line 112 of file SundanceMatrixVectorAssemblyKernel.hpp.
References cmb_.
Referenced by insertLocalMatrixBatch().
void MatrixVectorAssemblyKernel::fill | ( | bool | isBC, | |
const IntegralGroup & | group, | |||
const RCP< Array< double > > & | localValues | |||
) | [virtual] |
Implements Sundance::AssemblyKernelBase.
Definition at line 111 of file SundanceMatrixVectorAssemblyKernel.cpp.
References Sundance::IntegralGroup::derivs(), insertLocalMatrixBatch(), Sundance::VectorFillingAssemblyKernel::insertLocalVectorBatch(), Sundance::IntegralGroup::isOneForm(), Sundance::IntegralGroup::isTwoForm(), Sundance::IntegralGroup::mvIndices(), SUNDANCE_MSG1, SUNDANCE_MSG2, Sundance::IntegralGroup::testBlock(), Sundance::IntegralGroup::testID(), Sundance::IntegralGroup::unkBlock(), Sundance::IntegralGroup::unkID(), Sundance::IntegralGroup::usesMaximalCofacets(), and Sundance::AssemblyKernelBase::verb().
void MatrixVectorAssemblyKernel::init | ( | const Array< RCP< DOFMapBase > > & | rowMap, | |
const Array< RCP< DOFMapBase > > & | colMap, | |||
LinearOperator< double > | A, | |||
bool | partitionBCs | |||
) | [protected] |
Definition at line 58 of file SundanceMatrixVectorAssemblyKernel.cpp.
References Playa::LinearOperator< Scalar >::getBlock(), mat_, Playa::Handle< PointerType >::ptr(), SUNDANCE_MSG2, SUNDANCE_MSG3, and Sundance::AssemblyKernelBase::verb().
Referenced by MatrixVectorAssemblyKernel().
void MatrixVectorAssemblyKernel::insertLocalMatrixBatch | ( | bool | isBCRqc, | |
bool | useCofacetCells, | |||
const Array< int > & | testID, | |||
const Array< int > & | testBlock, | |||
const Array< int > & | unkID, | |||
const Array< int > & | unkBlock, | |||
const Array< double > & | localValues | |||
) | const [protected] |
Definition at line 172 of file SundanceMatrixVectorAssemblyKernel.cpp.
References cmb(), Sundance::MapBundle::dofMap(), Sundance::MapBundle::isBCIndex(), Sundance::MapBundle::localDOFs(), Sundance::MapBundle::lowestLocalIndex(), Sundance::MapBundle::mapStruct(), mat_, Sundance::MapBundle::nCells(), Sundance::MapBundle::nNodesInChunk(), rmb(), SUNDANCE_MSG1, SUNDANCE_MSG2, SUNDANCE_MSG3, Sundance::AssemblyKernelBase::verb(), and writeLSMs().
Referenced by fill().
void MatrixVectorAssemblyKernel::prepareForWorkSet | ( | const Array< Set< int > > & | requiredTests, | |
const Array< Set< int > > & | requiredUnks, | |||
RCP< StdFwkEvalMediator > | mediator | |||
) | [virtual] |
Reimplemented from Sundance::AssemblyKernelBase.
Definition at line 149 of file SundanceMatrixVectorAssemblyKernel.cpp.
References Sundance::MapBundle::buildLocalDOFMaps(), Sundance::VectorFillingAssemblyKernel::buildLocalDOFMaps(), cmb_, SUNDANCE_MSG1, SUNDANCE_MSG2, and Sundance::AssemblyKernelBase::verb().
const MapBundle& Sundance::MatrixVectorAssemblyKernel::rmb | ( | ) | const [inline, protected] |
Definition at line 111 of file SundanceMatrixVectorAssemblyKernel.hpp.
References Sundance::VectorFillingAssemblyKernel::mapBundle().
Referenced by insertLocalMatrixBatch(), and writeLSMs().
void MatrixVectorAssemblyKernel::writeLSMs | ( | int | blockRow, | |
int | blockCol, | |||
bool | useCofacetCells, | |||
int | numTestNodes, | |||
int | nTestFuncs, | |||
int | testFuncIndex, | |||
const Array< int > & | rowDof, | |||
int | numUnkNodes, | |||
int | nUnkFuncs, | |||
int | unkFuncIndex, | |||
const Array< int > & | colDof, | |||
const Array< double > & | localValues | |||
) | const [protected] |
Definition at line 306 of file SundanceMatrixVectorAssemblyKernel.cpp.
References Sundance::MapBundle::nCells(), Playa::Out::os(), rmb(), and Sundance::MapBundle::workSet().
Referenced by insertLocalMatrixBatch().
LinearOperator<double> Sundance::MatrixVectorAssemblyKernel::A_ [private] |
Definition at line 115 of file SundanceMatrixVectorAssemblyKernel.hpp.
MapBundle Sundance::MatrixVectorAssemblyKernel::cmb_ [mutable, private] |
Definition at line 117 of file SundanceMatrixVectorAssemblyKernel.hpp.
Referenced by cmb(), and prepareForWorkSet().
Array<Array<LoadableMatrix<double>* > > Sundance::MatrixVectorAssemblyKernel::mat_ [private] |
Definition at line 116 of file SundanceMatrixVectorAssemblyKernel.hpp.
Referenced by init(), and insertLocalMatrixBatch().