Public Member Functions | Protected Member Functions | Private Attributes
Sundance::VectorFillingAssemblyKernel Class Reference
Inheritance diagram for Sundance::VectorFillingAssemblyKernel:
Sundance::AssemblyKernelBase Sundance::MatrixVectorAssemblyKernel Sundance::VectorAssemblyKernel

List of all members.

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 MapBundlemapBundle () const

Private Attributes

Array< Vector< double > > b_
Array< Array< RCP
< LoadableVector< double > > > > 
vec_
MapBundle mapBundle_

Detailed Description

VectorFillingAssemblyKernel provides a common implementation of multivector-filling capabilities needed by matrix-vector assembly, multivector assembly, and functional gradient evaluation.

Definition at line 60 of file SundanceVectorFillingAssemblyKernel.hpp.


Constructor & Destructor Documentation

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:

Parameters:
dofMapis an array of DOFMap ptrs, one for each block
isBCIndexis 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.
lowestLocalIndexstores the lowest locally-owned DOF index for each block
bmultivector to be filled
partitionBCwhether dirichlet BCs are stored in a separate block
verbverbosity level

Definition at line 68 of file SundanceVectorFillingAssemblyKernel.cpp.

References b_, Playa::Vector< Scalar >::getBlock(), Playa::Handle< PointerType >::ptr(), SUNDANCE_MSG1, vec_, Sundance::AssemblyKernelBase::verb(), and Playa::Vector< Scalar >::zero().

Definition at line 90 of file SundanceVectorFillingAssemblyKernel.hpp.


Member Function Documentation

void VectorFillingAssemblyKernel::buildLocalDOFMaps ( const RCP< StdFwkEvalMediator > &  mediator,
IntegrationCellSpecifier  intCellSpec,
const Array< Set< int > > &  requiredFuncs 
) [protected]
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]
const MapBundle& Sundance::VectorFillingAssemblyKernel::mapBundle ( ) const [inline, protected]

Member Data Documentation

Multivector to be filled

Definition at line 119 of file SundanceVectorFillingAssemblyKernel.hpp.

Referenced by VectorFillingAssemblyKernel().

The map bundle collects together several DOF-mapping data structures

Definition at line 123 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 121 of file SundanceVectorFillingAssemblyKernel.hpp.

Referenced by insertLocalVectorBatch(), and VectorFillingAssemblyKernel().

Site Contact