Public Member Functions | |
VectorFillingAssemblyKernel (const Array< RCP< DOFMapBase > > &dofMap, const Array< RCP< Array< int > > > &isBCIndex, const Array< int > &lowestLocalIndex, Array< Vector< double > > &b, bool partitionBCs, int verb) | |
virtual | ~VectorFillingAssemblyKernel () |
Protected Member Functions | |
void | insertLocalVectorBatch (bool isBCRqc, bool useCofacetCells, const Array< int > &funcID, const Array< int > &funcBlock, const Array< int > &mvIndices, const Array< double > &localValues) const |
void | buildLocalDOFMaps (const RCP< StdFwkEvalMediator > &mediator, IntegrationCellSpecifier intCellSpec, const Array< Set< int > > &requiredFuncs) |
const MapBundle & | mapBundle () const |
Private Attributes | |
Array< Vector< double > > | b_ |
Array< Array< RCP < LoadableVector< double > > > > | vec_ |
MapBundle | mapBundle_ |
Definition at line 49 of file SundanceVectorFillingAssemblyKernel.hpp.
VectorFillingAssemblyKernel::VectorFillingAssemblyKernel | ( | const Array< RCP< DOFMapBase > > & | dofMap, | |
const Array< RCP< Array< int > > > & | isBCIndex, | |||
const Array< int > & | lowestLocalIndex, | |||
Array< Vector< double > > & | b, | |||
bool | partitionBCs, | |||
int | verb | |||
) |
Ctor takes several arguments:
dofMap | is an array of DOFMap ptrs, one for each block | |
isBCIndex | is an array of ptrs to arrays of ints (bools). The value (*isBCIndex[b])[d] indicates whether dof d in block b is or is not an essential BC dof. | |
lowestLocalIndex | stores the lowest locally-owned DOF index for each block | |
b | multivector to be filled | |
partitionBC | whether dirichlet BCs are stored in a separate block | |
verb | verbosity level |
Definition at line 57 of file SundanceVectorFillingAssemblyKernel.cpp.
References b_, Playa::Handle< PointerType >::ptr(), SUNDANCE_MSG1, vec_, Sundance::AssemblyKernelBase::verb(), and Playa::Vector< Scalar >::zero().
virtual Sundance::VectorFillingAssemblyKernel::~VectorFillingAssemblyKernel | ( | ) | [inline, virtual] |
Definition at line 79 of file SundanceVectorFillingAssemblyKernel.hpp.
void VectorFillingAssemblyKernel::buildLocalDOFMaps | ( | const RCP< StdFwkEvalMediator > & | mediator, | |
IntegrationCellSpecifier | intCellSpec, | |||
const Array< Set< int > > & | requiredFuncs | |||
) | [protected] |
Build fast lookup tables of DOFs for local cells.
Definition at line 96 of file SundanceVectorFillingAssemblyKernel.cpp.
References Sundance::MapBundle::buildLocalDOFMaps(), mapBundle_, and Sundance::AssemblyKernelBase::verb().
Referenced by Sundance::VectorAssemblyKernel::prepareForWorkSet(), and Sundance::MatrixVectorAssemblyKernel::prepareForWorkSet().
void VectorFillingAssemblyKernel::insertLocalVectorBatch | ( | bool | isBCRqc, | |
bool | useCofacetCells, | |||
const Array< int > & | funcID, | |||
const Array< int > & | funcBlock, | |||
const Array< int > & | mvIndices, | |||
const Array< double > & | localValues | |||
) | const [protected] |
Insert local vector values into a global vector
Definition at line 106 of file SundanceVectorFillingAssemblyKernel.cpp.
References Sundance::MapBundle::dofMap(), Sundance::MapBundle::isBCIndex(), Sundance::MapBundle::localDOFs(), Sundance::MapBundle::lowestLocalIndex(), mapBundle_, Sundance::MapBundle::mapStruct(), Sundance::MapBundle::nCells(), Sundance::MapBundle::nNodesInChunk(), Playa::Out::os(), SUNDANCE_MSG1, SUNDANCE_MSG2, SUNDANCE_MSG4, vec_, vecInsertTimer(), and Sundance::AssemblyKernelBase::verb().
Referenced by Sundance::VectorAssemblyKernel::fill(), and Sundance::MatrixVectorAssemblyKernel::fill().
const MapBundle& Sundance::VectorFillingAssemblyKernel::mapBundle | ( | ) | const [inline, protected] |
Definition at line 104 of file SundanceVectorFillingAssemblyKernel.hpp.
References mapBundle_.
Referenced by Sundance::MatrixVectorAssemblyKernel::rmb().
Array<Vector<double> > Sundance::VectorFillingAssemblyKernel::b_ [private] |
Multivector to be filled
Definition at line 108 of file SundanceVectorFillingAssemblyKernel.hpp.
Referenced by VectorFillingAssemblyKernel().
MapBundle Sundance::VectorFillingAssemblyKernel::mapBundle_ [mutable, private] |
The map bundle collects together several DOF-mapping data structures
Definition at line 112 of file SundanceVectorFillingAssemblyKernel.hpp.
Referenced by buildLocalDOFMaps(), insertLocalVectorBatch(), and mapBundle().
Array<Array<RCP<LoadableVector<double> > > > Sundance::VectorFillingAssemblyKernel::vec_ [private] |
Loadable view of the multivector to be filled
Definition at line 110 of file SundanceVectorFillingAssemblyKernel.hpp.
Referenced by insertLocalVectorBatch(), and VectorFillingAssemblyKernel().