Sundance::Assembler Class Reference

List of all members.

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 &param) 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< EquationSeteqn_
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< RegionQuadComborqc_
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< EvalManagerevalMgr_
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_


Detailed Description

Definition at line 73 of file SundanceAssembler.hpp.


Constructor & Destructor Documentation

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 
)


Member Function Documentation

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]

Definition at line 113 of file SundanceAssembler.hpp.

References bcRows_.

const Array<RCP<DOFMapBase> >& Sundance::Assembler::colMap (  )  const [inline]

Definition at line 95 of file SundanceAssembler.hpp.

References colMap_.

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]

Definition at line 161 of file SundanceAssembler.hpp.

References eqn_.

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]

Definition at line 91 of file SundanceAssembler.hpp.

References rowMap_.

const Array<RCP<DiscreteSpace> >& Sundance::Assembler::rowSpace (  )  const [inline]

Definition at line 103 of file SundanceAssembler.hpp.

References externalRowSpace_.

VectorSpace<double> Sundance::Assembler::rowVecSpace (  )  const

VectorSpace<double> Sundance::Assembler::solnVecSpace (  )  const

const Array<RCP<DiscreteSpace> >& Sundance::Assembler::solutionSpace (  )  const [inline]

Definition at line 99 of file SundanceAssembler.hpp.

References externalColSpace_.

IntegrationCellSpecifier Sundance::Assembler::whetherToUseCofacets ( const Array< RCP< IntegralGroup > > &  groups,
const EvaluatableExpr ee,
bool  isMaximalCell,
int  verb 
) const [private]

static int& Sundance::Assembler::workSetSize (  )  [static]


Member Data Documentation

Array<RCP<Set<int> > > Sundance::Assembler::bcCols_ [private]

Definition at line 267 of file SundanceAssembler.hpp.

Array<RCP<Set<int> > > Sundance::Assembler::bcRows_ [private]

Definition at line 265 of file SundanceAssembler.hpp.

Referenced by bcRows().

Array<RCP<DOFMapBase> > Sundance::Assembler::colMap_ [private]

Definition at line 255 of file SundanceAssembler.hpp.

Referenced by colMap().

Array<VectorType<double> > Sundance::Assembler::colVecType_ [private]

Definition at line 299 of file SundanceAssembler.hpp.

Definition at line 271 of file SundanceAssembler.hpp.

Definition at line 251 of file SundanceAssembler.hpp.

Referenced by eqnSet().

Definition at line 283 of file SundanceAssembler.hpp.

Definition at line 285 of file SundanceAssembler.hpp.

Definition at line 259 of file SundanceAssembler.hpp.

Referenced by solutionSpace().

Definition at line 257 of file SundanceAssembler.hpp.

Referenced by rowSpace().

Definition at line 305 of file SundanceAssembler.hpp.

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.

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.

Definition at line 243 of file SundanceAssembler.hpp.

Definition at line 245 of file SundanceAssembler.hpp.

Definition at line 281 of file SundanceAssembler.hpp.

Definition at line 249 of file SundanceAssembler.hpp.

Definition at line 247 of file SundanceAssembler.hpp.

Definition at line 241 of file SundanceAssembler.hpp.

Definition at line 263 of file SundanceAssembler.hpp.

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]

Definition at line 253 of file SundanceAssembler.hpp.

Referenced by rowMap().

Array<VectorType<double> > Sundance::Assembler::rowVecType_ [private]

Definition at line 297 of file SundanceAssembler.hpp.

Definition at line 269 of file SundanceAssembler.hpp.

Definition at line 307 of file SundanceAssembler.hpp.

Definition at line 273 of file SundanceAssembler.hpp.

Definition at line 301 of file SundanceAssembler.hpp.

Definition at line 303 of file SundanceAssembler.hpp.

Site Contact