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_ |
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.
| Sundance::AssemblyKernelBase::AssemblyKernelBase | ( | int | verb | ) | [inline] |
Definition at line 96 of file SundanceAssemblyKernelBase.hpp.
| virtual Sundance::AssemblyKernelBase::~AssemblyKernelBase | ( | ) | [inline, virtual] |
Definition at line 99 of file SundanceAssemblyKernelBase.hpp.
| 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::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.
| int Sundance::AssemblyKernelBase::verb | ( | ) | const [inline] |
verbosity level
Definition at line 131 of file SundanceAssemblyKernelBase.hpp.
References verb_.
Referenced by Sundance::VectorFillingAssemblyKernel::buildLocalDOFMaps(), Sundance::FunctionalAssemblyKernel::fill(), Sundance::MatrixVectorAssemblyKernel::fill(), Sundance::VectorAssemblyKernel::fill(), Sundance::MatrixVectorAssemblyKernel::init(), Sundance::MatrixVectorAssemblyKernel::insertLocalMatrixBatch(), Sundance::VectorFillingAssemblyKernel::insertLocalVectorBatch(), Sundance::FunctionalAssemblyKernel::postLoopFinalization(), Sundance::MatrixVectorAssemblyKernel::prepareForWorkSet(), Sundance::VectorAssemblyKernel::prepareForWorkSet(), setVerb(), and Sundance::VectorFillingAssemblyKernel::VectorFillingAssemblyKernel().
int Sundance::AssemblyKernelBase::verb_ [private] |
Definition at line 140 of file SundanceAssemblyKernelBase.hpp.