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 > > > > 
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 49 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:

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.

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 108 of file SundanceVectorFillingAssemblyKernel.hpp.

Referenced by VectorFillingAssemblyKernel().

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().

Site Contact