AssemblyKernelBase abstracts the operations that must be done in an assembly loop. More...
Public Member Functions | |
| AssemblyKernelBase (int verb) | |
| virtual | ~AssemblyKernelBase () |
| virtual void | prepareForWorkSet (const Array< Set< int > > &requiredTests, const Array< Set< int > > &requiredUnks, RCP< StdFwkEvalMediator > mediator) |
| Do preprocessing steps needed before integrating the current work set. | |
| virtual void | fill (bool isBC, const IntegralGroup &group, const RCP< Array< double > > &localValues)=0 |
| Adds the results of the current integral group into the assembly results. | |
| virtual void | postLoopFinalization () |
| Hook to do any finalization steps after the main assembly loop, for example, doing an all-reduce on locally computed functional values. | |
| int | verb () const |
| verbosity level | |
| virtual void | setVerbosity (int verb) |
| set verbosity level. | |
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 83 of file SundanceAssemblyKernelBase.hpp.
| Sundance::AssemblyKernelBase::AssemblyKernelBase | ( | int | verb | ) | [inline] |
Definition at line 87 of file SundanceAssemblyKernelBase.hpp.
| virtual Sundance::AssemblyKernelBase::~AssemblyKernelBase | ( | ) | [inline, virtual] |
Definition at line 90 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::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 119 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 98 of file SundanceAssemblyKernelBase.hpp.
| virtual void Sundance::AssemblyKernelBase::setVerbosity | ( | 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 128 of file SundanceAssemblyKernelBase.hpp.
| int Sundance::AssemblyKernelBase::verb | ( | ) | const [inline] |
verbosity level
Definition at line 122 of file SundanceAssemblyKernelBase.hpp.
References verb_.
Referenced by Sundance::VectorFillingAssemblyKernel::buildLocalDOFMaps(), Sundance::VectorAssemblyKernel::fill(), Sundance::MatrixVectorAssemblyKernel::fill(), Sundance::FunctionalAssemblyKernel::fill(), Sundance::MatrixVectorAssemblyKernel::init(), Sundance::MatrixVectorAssemblyKernel::insertLocalMatrixBatch(), Sundance::VectorFillingAssemblyKernel::insertLocalVectorBatch(), Sundance::FunctionalAssemblyKernel::postLoopFinalization(), Sundance::VectorAssemblyKernel::prepareForWorkSet(), Sundance::MatrixVectorAssemblyKernel::prepareForWorkSet(), setVerbosity(), and Sundance::VectorFillingAssemblyKernel::VectorFillingAssemblyKernel().
int Sundance::AssemblyKernelBase::verb_ [private] |
Definition at line 131 of file SundanceAssemblyKernelBase.hpp.
Referenced by setVerbosity(), and verb().