BEM++
2.0
|
Class whose methods are called by Ahmed during assembly in the ACA mode. More...
#include </home/wojtek/Projects/BEM/bempp-sven/bempp/lib/assembly/weak_form_aca_assembly_helper.hpp>
Public Types | |
typedef DiscreteBoundaryOperator < ResultType > | DiscreteLinOp |
typedef Fiber::LocalAssemblerForIntegralOperators < ResultType > | LocalAssembler |
typedef Fiber::ScalarTraits < ResultType >::RealType | CoordinateType |
typedef Fiber::ScalarTraits < ResultType >::RealType | MagnitudeType |
typedef AhmedTypeTraits < ResultType >::Type | AhmedResultType |
Public Member Functions | |
WeakFormAcaAssemblyHelper (const Space< BasisFunctionType > &testSpace, const Space< BasisFunctionType > &trialSpace, const std::vector< unsigned int > &p2oTestDofs, const std::vector< unsigned int > &p2oTrialDofs, const std::vector< LocalAssembler * > &assemblers, const std::vector< const DiscreteLinOp * > &sparseTermsToAdd, const std::vector< ResultType > &denseTermsMultipliers, const std::vector< ResultType > &sparseTermsMultipliers, const AssemblyOptions &options) | |
void | cmpbl (unsigned b1, unsigned n1, unsigned b2, unsigned n2, AhmedResultType *data, const cluster *c1=0, const cluster *c2=0, bool countAccessedEntries=true) const |
Evaluate entries of a general block. More... | |
void | cmpblsym (unsigned b1, unsigned n1, AhmedResultType *data, const cluster *c1=0, bool countAccessedEntries=true) const |
Evaluate entries of a symmetric block. More... | |
MagnitudeType | scale (unsigned b1, unsigned n1, unsigned b2, unsigned n2, const cluster *c1=0, const cluster *c2=0) const |
Expected magnitude of the entries in this block. | |
MagnitudeType | relativeScale (unsigned b1, unsigned n1, unsigned b2, unsigned n2, const cluster *c1=0, const cluster *c2=0) const |
Expected magnitude of the largest entry in this block relative to that of the largest entry in the whole matrix. | |
size_t | accessedEntryCount () const |
Return the number of entries in the matrix that have been accessed so far. | |
void | resetAccessedEntryCount () |
Reset the number of entries in the matrix that have been accessed so far. | |
Private Member Functions | |
MagnitudeType | estimateMinimumDistance (const cluster *c1, const cluster *c2) const |
Class whose methods are called by Ahmed during assembly in the ACA mode.
void Bempp::WeakFormAcaAssemblyHelper< BasisFunctionType, ResultType >::cmpbl | ( | unsigned | b1, |
unsigned | n1, | ||
unsigned | b2, | ||
unsigned | n2, | ||
AhmedResultType * | data, | ||
const cluster * | c1 = 0 , |
||
const cluster * | c2 = 0 , |
||
bool | countAccessedEntries = true |
||
) | const |
Evaluate entries of a general block.
Store the entries of the block defined by b1
, n1
, b2
, n2
(in permuted ordering) in data.
void Bempp::WeakFormAcaAssemblyHelper< BasisFunctionType, ResultType >::cmpblsym | ( | unsigned | b1, |
unsigned | n1, | ||
AhmedResultType * | data, | ||
const cluster * | c1 = 0 , |
||
bool | countAccessedEntries = true |
||
) | const |
Evaluate entries of a symmetric block.
Store the upper part of the (symmetric) block defined by b1
, n1
, b1
, n1
(in permuted ordering) columnwise in data
.