Sundance::AssemblyKernelBase Class Reference

Inheritance diagram for Sundance::AssemblyKernelBase:

Sundance::FunctionalAssemblyKernel Sundance::FunctionalGradientAssemblyKernel Sundance::VectorFillingAssemblyKernel Sundance::MatrixVectorAssemblyKernel Sundance::VectorAssemblyKernel

List of all members.

Public Member Functions

 AssemblyKernelBase (int verb)
virtual ~AssemblyKernelBase ()
virtual void prepareForWorkSet (const Array< Set< int > > &requiredTests, const Array< Set< int > > &requiredUnks, RCP< StdFwkEvalMediator > mediator)
virtual void fill (bool isBC, const IntegralGroup &group, const RCP< Array< double > > &localValues)=0
virtual void postLoopFinalization ()
int verb () const
virtual void setVerb (int verb)

Private Attributes

int verb_

Detailed Description

AssemblyKernelBase abstracts the operations that must be done in an assembly loop. Regardless of whether the assembly loop is doing matrix/vector fill, vector fill, functional/gradient evaluation, or functional evaluation, the assembly loop will involve The first of these is done by the subclass constructor. The others are done using the pure virtual functions of this class.

It is assumed that any data structures to be filled -- such as a matrix, a vector, or simply a number -- are stored internally in the assembly kernel subclass, and that they persist between preprocessing and fill calls.

Definition at line 81 of file SundanceAssemblyKernelBase.hpp.

Constructor & Destructor Documentation

Sundance::AssemblyKernelBase::AssemblyKernelBase ( int  verb  )  [inline]

Definition at line 85 of file SundanceAssemblyKernelBase.hpp.

virtual Sundance::AssemblyKernelBase::~AssemblyKernelBase (  )  [inline, virtual]

Definition at line 88 of file SundanceAssemblyKernelBase.hpp.

Member Function Documentation

virtual void Sundance::AssemblyKernelBase::fill ( bool  isBC,
const IntegralGroup group,
const RCP< Array< double > > &  localValues 
) [pure virtual]

Adds the results of the current integral group into the assembly results.

isBC whether the current group is a replace-style boundary condition
group the current integral group
localValues the results of integrating the current integral group

Implemented in Sundance::FunctionalAssemblyKernel, Sundance::FunctionalGradientAssemblyKernel, Sundance::MatrixVectorAssemblyKernel, and Sundance::VectorAssemblyKernel.

virtual void Sundance::AssemblyKernelBase::postLoopFinalization (  )  [inline, virtual]

Hook to do any finalization steps after the main assembly loop, for example, doing an all-reduce on locally computed functional values. The default implementation does nothing.

Reimplemented in Sundance::FunctionalAssemblyKernel, and Sundance::FunctionalGradientAssemblyKernel.

Definition at line 117 of file SundanceAssemblyKernelBase.hpp.

virtual void Sundance::AssemblyKernelBase::prepareForWorkSet ( const Array< Set< int > > &  requiredTests,
const Array< Set< int > > &  requiredUnks,
RCP< StdFwkEvalMediator mediator 
) [inline, virtual]

Do preprocessing steps needed before integrating the current work set.

The default implementation does nothing.

Reimplemented in Sundance::FunctionalGradientAssemblyKernel, Sundance::MatrixVectorAssemblyKernel, and Sundance::VectorAssemblyKernel.

Definition at line 96 of file SundanceAssemblyKernelBase.hpp.

virtual void Sundance::AssemblyKernelBase::setVerb ( int  verb  )  [inline, virtual]

set verbosity level. (This function needs to be virtual because certain subclasses need specialized implementations that propagate verbosity to children

Reimplemented in Sundance::FunctionalGradientAssemblyKernel.

Definition at line 126 of file SundanceAssemblyKernelBase.hpp.

References verb_.

int Sundance::AssemblyKernelBase::verb (  )  const [inline]

Member Data Documentation

Definition at line 129 of file SundanceAssemblyKernelBase.hpp.

Referenced by setVerb(), and verb().

Site Contact