Public Member Functions | Private Attributes
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 92 of file SundanceAssemblyKernelBase.hpp.


Constructor & Destructor Documentation

Definition at line 96 of file SundanceAssemblyKernelBase.hpp.

Definition at line 99 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.

Parameters:
isBCwhether the current group is a replace-style boundary condition
groupthe current integral group
localValuesthe results of integrating the current integral group

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

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::FunctionalGradientAssemblyKernel, and Sundance::FunctionalAssemblyKernel.

Definition at line 128 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::VectorAssemblyKernel, Sundance::FunctionalGradientAssemblyKernel, and Sundance::MatrixVectorAssemblyKernel.

Definition at line 107 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 137 of file SundanceAssemblyKernelBase.hpp.

References verb(), and verb_.

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

Member Data Documentation

Definition at line 140 of file SundanceAssemblyKernelBase.hpp.

Referenced by setVerb(), and verb().

Site Contact