Public Member Functions | |
Assembler (const Mesh &mesh, const RCP< EquationSet > &eqn, const Array< VectorType< double > > &rowVectorType, const Array< VectorType< double > > &colVectorType, bool partitionBCs) | |
Assembler (const Mesh &mesh, const RCP< EquationSet > &eqn) | |
const Array< RCP< DOFMapBase > > & | rowMap () const |
const Array< RCP< DOFMapBase > > & | colMap () const |
const Array< RCP < DiscreteSpace > > & | solutionSpace () const |
const Array< RCP < DiscreteSpace > > & | rowSpace () const |
VectorSpace< double > | solnVecSpace () const |
VectorSpace< double > | rowVecSpace () const |
const Array< RCP< Set< int > > > & | bcRows () |
Playa::LinearOperator< double > | allocateMatrix () const |
void | assemble (Playa::LinearOperator< double > &A, Array< Vector< double > > &b) const |
void | assembleSensitivities (Playa::LinearOperator< double > &A, Array< Vector< double > > &b) const |
void | assemble (Array< Vector< double > > &b) const |
void | evaluate (double &value, Array< Vector< double > > &gradient) const |
void | evaluate (double &value) const |
void | getGraph (int br, int bc, Array< int > &graphData, Array< int > &rowPtrs, Array< int > &nnzPerRow) const |
void | incrementalGetGraph (int br, int bc, IncrementallyConfigurableMatrixFactory *mf) const |
void | flushConfiguration () const |
const RCP< EquationSet > & | eqnSet () const |
int | maxWatchFlagSetting (const std::string ¶m) const |
Static Public Member Functions | |
static int & | workSetSize () |
static int & | numAssembleCalls () |
static bool & | matrixEliminatesRepeatedCols () |
static Time & | assemblyTimer () |
static Time & | configTimer () |
static Time & | fillTimer () |
Private Member Functions | |
void | init (const Mesh &mesh, const RCP< EquationSet > &eqn) |
bool | detectInternalBdry (int cellDim, const CellFilter &filter) const |
void | displayEvaluationResults (const EvalContext &context, const EvaluatableExpr *evalExpr, const Array< double > &constantCoeffs, const Array< RCP< EvalVector > > &vectorCoeffs) const |
void | assemblyLoop (const ComputationType &compType, RCP< AssemblyKernelBase > kernel) const |
void | configureMatrix (LinearOperator< double > &A, Array< Vector< double > > &b) const |
void | configureVector (Array< Vector< double > > &b) const |
void | configureMatrixBlock (int br, int bc, LinearOperator< double > &A) const |
void | configureVectorBlock (int br, Vector< double > &b) const |
Array< Array< int > > | findNonzeroBlocks () const |
IntegrationCellSpecifier | whetherToUseCofacets (const Array< RCP< IntegralGroup > > &groups, const EvaluatableExpr *ee, bool isMaximalCell, int verb) const |
Static Private Member Functions | |
static int | defaultWorkSetSize () |
Private Attributes | |
bool | partitionBCs_ |
bool | matNeedsConfiguration_ |
bool | matNeedsFinalization_ |
int | numConfiguredColumns_ |
Mesh | mesh_ |
RCP< EquationSet > | eqn_ |
Array< RCP< DOFMapBase > > | rowMap_ |
Array< RCP< DOFMapBase > > | colMap_ |
Array< RCP< DiscreteSpace > > | externalRowSpace_ |
Array< RCP< DiscreteSpace > > | externalColSpace_ |
Array< RCP< DiscreteSpace > > | privateRowSpace_ |
Array< RCP< DiscreteSpace > > | privateColSpace_ |
Array< RCP< Set< int > > > | bcRows_ |
Array< RCP< Set< int > > > | bcCols_ |
Array< RegionQuadCombo > | rqc_ |
Map< ComputationType, Array < EvalContext > > | contexts_ |
Map< ComputationType, Array < int > > | skipRqc_ |
Array< int > | isBCRqc_ |
Array< int > | isInternalBdry_ |
Map< ComputationType, Array < Array< RCP< IntegralGroup > > > > | groups_ |
Array< RCP< StdFwkEvalMediator > > | mediators_ |
Map< ComputationType, Array < const EvaluatableExpr * > > | evalExprs_ |
RCP< EvalManager > | evalMgr_ |
Array< RCP< Array< int > > > | isBCRow_ |
Array< RCP< Array< int > > > | isBCCol_ |
Array< RCP< std::set< int > > > | remoteBCCols_ |
Array< int > | lowestRow_ |
Array< int > | lowestCol_ |
Array< VectorType< double > > | rowVecType_ |
Array< VectorType< double > > | colVecType_ |
Map< int, int > | testIDToBlockMap_ |
Map< int, int > | unkIDToBlockMap_ |
Map< int, int > | fixedParamIDToVectorNumber_ |
Map< ComputationType, Array < IntegrationCellSpecifier > > | rqcRequiresMaximalCofacets_ |
Definition at line 73 of file SundanceAssembler.hpp.
Sundance::Assembler::Assembler | ( | const Mesh & | mesh, | |
const RCP< EquationSet > & | eqn, | |||
const Array< VectorType< double > > & | rowVectorType, | |||
const Array< VectorType< double > > & | colVectorType, | |||
bool | partitionBCs | |||
) |
Sundance::Assembler::Assembler | ( | const Mesh & | mesh, | |
const RCP< EquationSet > & | eqn | |||
) |
Playa::LinearOperator<double> Sundance::Assembler::allocateMatrix | ( | ) | const |
Allocate, but do not fill, the matrix
void Sundance::Assembler::assemble | ( | Array< Vector< double > > & | b | ) | const |
void Sundance::Assembler::assemble | ( | Playa::LinearOperator< double > & | A, | |
Array< Vector< double > > & | b | |||
) | const |
void Sundance::Assembler::assembleSensitivities | ( | Playa::LinearOperator< double > & | A, | |
Array< Vector< double > > & | b | |||
) | const |
void Sundance::Assembler::assemblyLoop | ( | const ComputationType & | compType, | |
RCP< AssemblyKernelBase > | kernel | |||
) | const [private] |
static Time& Sundance::Assembler::assemblyTimer | ( | ) | [inline, static] |
Definition at line 168 of file SundanceAssembler.hpp.
const Array<RCP<Set<int> > >& Sundance::Assembler::bcRows | ( | ) | [inline] |
const Array<RCP<DOFMapBase> >& Sundance::Assembler::colMap | ( | ) | const [inline] |
static Time& Sundance::Assembler::configTimer | ( | ) | [inline, static] |
Definition at line 176 of file SundanceAssembler.hpp.
void Sundance::Assembler::configureMatrix | ( | LinearOperator< double > & | A, | |
Array< Vector< double > > & | b | |||
) | const [private] |
void Sundance::Assembler::configureMatrixBlock | ( | int | br, | |
int | bc, | |||
LinearOperator< double > & | A | |||
) | const [private] |
void Sundance::Assembler::configureVector | ( | Array< Vector< double > > & | b | ) | const [private] |
void Sundance::Assembler::configureVectorBlock | ( | int | br, | |
Vector< double > & | b | |||
) | const [private] |
static int Sundance::Assembler::defaultWorkSetSize | ( | ) | [inline, static, private] |
Definition at line 239 of file SundanceAssembler.hpp.
bool Sundance::Assembler::detectInternalBdry | ( | int | cellDim, | |
const CellFilter & | filter | |||
) | const [private] |
void Sundance::Assembler::displayEvaluationResults | ( | const EvalContext & | context, | |
const EvaluatableExpr * | evalExpr, | |||
const Array< double > & | constantCoeffs, | |||
const Array< RCP< EvalVector > > & | vectorCoeffs | |||
) | const [private] |
const RCP<EquationSet>& Sundance::Assembler::eqnSet | ( | ) | const [inline] |
void Sundance::Assembler::evaluate | ( | double & | value | ) | const |
void Sundance::Assembler::evaluate | ( | double & | value, | |
Array< Vector< double > > & | gradient | |||
) | const |
static Time& Sundance::Assembler::fillTimer | ( | ) | [inline, static] |
Definition at line 184 of file SundanceAssembler.hpp.
Array<Array<int> > Sundance::Assembler::findNonzeroBlocks | ( | ) | const [private] |
void Sundance::Assembler::flushConfiguration | ( | ) | const |
flushes all configuration , so that it enforces the reassemble of the matrix
void Sundance::Assembler::getGraph | ( | int | br, | |
int | bc, | |||
Array< int > & | graphData, | |||
Array< int > & | rowPtrs, | |||
Array< int > & | nnzPerRow | |||
) | const |
void Sundance::Assembler::incrementalGetGraph | ( | int | br, | |
int | bc, | |||
IncrementallyConfigurableMatrixFactory * | mf | |||
) | const |
void Sundance::Assembler::init | ( | const Mesh & | mesh, | |
const RCP< EquationSet > & | eqn | |||
) | [private] |
static bool& Sundance::Assembler::matrixEliminatesRepeatedCols | ( | ) | [inline, static] |
Definition at line 158 of file SundanceAssembler.hpp.
int Sundance::Assembler::maxWatchFlagSetting | ( | const std::string & | param | ) | const |
static int& Sundance::Assembler::numAssembleCalls | ( | ) | [inline, static] |
Definition at line 155 of file SundanceAssembler.hpp.
const Array<RCP<DOFMapBase> >& Sundance::Assembler::rowMap | ( | ) | const [inline] |
const Array<RCP<DiscreteSpace> >& Sundance::Assembler::rowSpace | ( | ) | const [inline] |
VectorSpace<double> Sundance::Assembler::rowVecSpace | ( | ) | const |
VectorSpace<double> Sundance::Assembler::solnVecSpace | ( | ) | const |
const Array<RCP<DiscreteSpace> >& Sundance::Assembler::solutionSpace | ( | ) | const [inline] |
IntegrationCellSpecifier Sundance::Assembler::whetherToUseCofacets | ( | const Array< RCP< IntegralGroup > > & | groups, | |
const EvaluatableExpr * | ee, | |||
bool | isMaximalCell, | |||
int | verb | |||
) | const [private] |
static int& Sundance::Assembler::workSetSize | ( | ) | [static] |
Array<RCP<Set<int> > > Sundance::Assembler::bcCols_ [private] |
Definition at line 267 of file SundanceAssembler.hpp.
Array<RCP<Set<int> > > Sundance::Assembler::bcRows_ [private] |
Array<RCP<DOFMapBase> > Sundance::Assembler::colMap_ [private] |
Array<VectorType<double> > Sundance::Assembler::colVecType_ [private] |
Definition at line 299 of file SundanceAssembler.hpp.
Map<ComputationType, Array<EvalContext> > Sundance::Assembler::contexts_ [private] |
Definition at line 271 of file SundanceAssembler.hpp.
RCP<EquationSet> Sundance::Assembler::eqn_ [private] |
Map<ComputationType, Array<const EvaluatableExpr*> > Sundance::Assembler::evalExprs_ [private] |
Definition at line 283 of file SundanceAssembler.hpp.
RCP<EvalManager> Sundance::Assembler::evalMgr_ [private] |
Definition at line 285 of file SundanceAssembler.hpp.
Array<RCP<DiscreteSpace> > Sundance::Assembler::externalColSpace_ [private] |
Array<RCP<DiscreteSpace> > Sundance::Assembler::externalRowSpace_ [private] |
Map<int, int> Sundance::Assembler::fixedParamIDToVectorNumber_ [private] |
Definition at line 305 of file SundanceAssembler.hpp.
Map<ComputationType, Array<Array<RCP<IntegralGroup> > > > Sundance::Assembler::groups_ [private] |
Definition at line 279 of file SundanceAssembler.hpp.
Array<RCP<Array<int> > > Sundance::Assembler::isBCCol_ [private] |
Definition at line 289 of file SundanceAssembler.hpp.
Array<RCP<Array<int> > > Sundance::Assembler::isBCRow_ [private] |
Definition at line 287 of file SundanceAssembler.hpp.
Array<int> Sundance::Assembler::isBCRqc_ [private] |
Definition at line 275 of file SundanceAssembler.hpp.
Array<int> Sundance::Assembler::isInternalBdry_ [private] |
Definition at line 277 of file SundanceAssembler.hpp.
Array<int> Sundance::Assembler::lowestCol_ [private] |
Definition at line 295 of file SundanceAssembler.hpp.
Array<int> Sundance::Assembler::lowestRow_ [private] |
Definition at line 293 of file SundanceAssembler.hpp.
bool Sundance::Assembler::matNeedsConfiguration_ [mutable, private] |
Definition at line 243 of file SundanceAssembler.hpp.
bool Sundance::Assembler::matNeedsFinalization_ [mutable, private] |
Definition at line 245 of file SundanceAssembler.hpp.
Array<RCP<StdFwkEvalMediator> > Sundance::Assembler::mediators_ [private] |
Definition at line 281 of file SundanceAssembler.hpp.
Mesh Sundance::Assembler::mesh_ [private] |
Definition at line 249 of file SundanceAssembler.hpp.
int Sundance::Assembler::numConfiguredColumns_ [mutable, private] |
Definition at line 247 of file SundanceAssembler.hpp.
bool Sundance::Assembler::partitionBCs_ [private] |
Definition at line 241 of file SundanceAssembler.hpp.
Array<RCP<DiscreteSpace> > Sundance::Assembler::privateColSpace_ [private] |
Definition at line 263 of file SundanceAssembler.hpp.
Array<RCP<DiscreteSpace> > Sundance::Assembler::privateRowSpace_ [private] |
Definition at line 261 of file SundanceAssembler.hpp.
Array<RCP<std::set<int> > > Sundance::Assembler::remoteBCCols_ [private] |
Definition at line 291 of file SundanceAssembler.hpp.
Array<RCP<DOFMapBase> > Sundance::Assembler::rowMap_ [private] |
Array<VectorType<double> > Sundance::Assembler::rowVecType_ [private] |
Definition at line 297 of file SundanceAssembler.hpp.
Array<RegionQuadCombo> Sundance::Assembler::rqc_ [private] |
Definition at line 269 of file SundanceAssembler.hpp.
Map<ComputationType, Array<IntegrationCellSpecifier> > Sundance::Assembler::rqcRequiresMaximalCofacets_ [private] |
Definition at line 307 of file SundanceAssembler.hpp.
Map<ComputationType, Array<int> > Sundance::Assembler::skipRqc_ [private] |
Definition at line 273 of file SundanceAssembler.hpp.
Map<int, int> Sundance::Assembler::testIDToBlockMap_ [private] |
Definition at line 301 of file SundanceAssembler.hpp.
Map<int, int> Sundance::Assembler::unkIDToBlockMap_ [private] |
Definition at line 303 of file SundanceAssembler.hpp.