Public Member Functions | Static Public Member Functions | Private Attributes
Sundance::LinearProblem Class Reference

List of all members.

Public Member Functions

 LinearProblem ()
 LinearProblem (const Mesh &mesh, const Expr &eqn, const Expr &bc, const Expr &test, const Expr &unk, const Playa::VectorType< double > &vecType)
 LinearProblem (const Mesh &mesh, const Expr &eqn, const Expr &bc, const BlockArray &test, const BlockArray &unk)
 LinearProblem (const Mesh &mesh, const Expr &eqn, const Expr &bc, const Expr &test, const Expr &unk, const Expr &unkParams, const Expr &unkParamVals, const Playa::VectorType< double > &vecType)
 LinearProblem (const Mesh &mesh, const Expr &eqn, const Expr &bc, const BlockArray &test, const BlockArray &unk, const Expr &unkParams, const Expr &unkParamVals)
 LinearProblem (const RCP< Assembler > &assembler)
Expr solve (const LinearSolver< double > &solver) const
SolverState< double > solve (const LinearSolver< double > &solver, Expr &soln) const
Array< Vector< double > > getRHS () const
Vector< double > getSingleRHS () const
LinearOperator< double > getOperator () const
const RCP< DOFMapBase > & rowMap (int blockRow) const
const RCP< DOFMapBase > & colMap (int blockCol) const
const Array< RCP
< DiscreteSpace > > & 
solnSpace () const
const RCP< Set< int > > & bcRows (int blockRow) const
int numBlockRows () const
int numBlockCols () const
void reAssembleProblem () const
Expr formSolutionExpr (const Array< Vector< double > > &vec) const

Static Public Member Functions

static bool & solveFailureIsFatal ()
static bool & dumpBadMatrix ()
static std::string & badMatrixFilename ()
static std::string & badVectorFilename ()

Private Attributes

RCP< Assemblerassembler_
LinearOperator< double > A_
Array< Vector< double > > rhs_
Array< Array< string > > names_
LinearSolveDriver solveDriver_
Expr params_

Detailed Description

LinearProblem encapsulates all information needed to form a discrete linear problem.

Definition at line 49 of file SundanceLinearProblem.hpp.


Constructor & Destructor Documentation

Empty ctor

Definition at line 60 of file SundanceLinearProblem.cpp.

References lpCtorTimer().

LinearProblem::LinearProblem ( const Mesh mesh,
const Expr eqn,
const Expr bc,
const Expr test,
const Expr unk,
const Playa::VectorType< double > &  vecType 
)

Construct with a mesh, equation set, bcs, test and unknown funcs, and a vector type.

Definition at line 70 of file SundanceLinearProblem.cpp.

References assembler_, Sundance::Expr::flattenSpectral(), lpCtorTimer(), names_, Sundance::Expr::size(), and Sundance::toString().

LinearProblem::LinearProblem ( const Mesh mesh,
const Expr eqn,
const Expr bc,
const BlockArray test,
const BlockArray unk 
)

Construct with a mesh, equation set, bcs, and blocks of variables

Definition at line 163 of file SundanceLinearProblem.cpp.

References assembler_, lpCtorTimer(), names_, and Sundance::toString().

LinearProblem::LinearProblem ( const Mesh mesh,
const Expr eqn,
const Expr bc,
const Expr test,
const Expr unk,
const Expr unkParams,
const Expr unkParamVals,
const Playa::VectorType< double > &  vecType 
)

Construct with a mesh, equation set, bcs, test and unknown funcs, parameters, and a vector type.

Definition at line 116 of file SundanceLinearProblem.cpp.

References assembler_, Sundance::Expr::flattenSpectral(), lpCtorTimer(), names_, Sundance::Expr::size(), and Sundance::toString().

LinearProblem::LinearProblem ( const Mesh mesh,
const Expr eqn,
const Expr bc,
const BlockArray test,
const BlockArray unk,
const Expr unkParams,
const Expr unkParamVals 
)

Construct with a mesh, equation set, bcs, parameters, and blocks of variables

Definition at line 222 of file SundanceLinearProblem.cpp.

References assembler_, Sundance::Expr::flattenSpectral(), lpCtorTimer(), names_, and Sundance::toString().

LinearProblem::LinearProblem ( const RCP< Assembler > &  assembler)

Definition at line 279 of file SundanceLinearProblem.cpp.

References lpCtorTimer(), names_, and Teuchos::toString().


Member Function Documentation

static std::string& Sundance::LinearProblem::badMatrixFilename ( ) [inline, static]

Filename for dump of bad matrix

Definition at line 136 of file SundanceLinearProblem.hpp.

static std::string& Sundance::LinearProblem::badVectorFilename ( ) [inline, static]

Filename for dump of bad vector

Definition at line 140 of file SundanceLinearProblem.hpp.

const RCP< Set< int > > & LinearProblem::bcRows ( int  blockRow) const

Return the set of row indices marked as essential boundary conditions

Definition at line 313 of file SundanceLinearProblem.cpp.

References assembler_.

const RCP< DOFMapBase > & LinearProblem::colMap ( int  blockCol) const

Return the map from cells and functions to column indices

Definition at line 304 of file SundanceLinearProblem.cpp.

References assembler_.

static bool& Sundance::LinearProblem::dumpBadMatrix ( ) [inline, static]

Flag indicating whether to write out the matrix and vector after a solve failure

Definition at line 132 of file SundanceLinearProblem.hpp.

Expr LinearProblem::formSolutionExpr ( const Array< Vector< double > > &  vec) const
Array< Vector< double > > LinearProblem::getRHS ( ) const

Return the multivector on the right-hand side of the linear equation

Definition at line 322 of file SundanceLinearProblem.cpp.

References assembler_, rhs_, and SUNDANCE_MSG1.

Referenced by getSingleRHS().

Vector<double> Sundance::LinearProblem::getSingleRHS ( ) const [inline]

Return the vector on the right-hand side of the linear equation

Definition at line 94 of file SundanceLinearProblem.hpp.

References getRHS().

Return the number of block cols in the problem

Definition at line 320 of file SundanceLinearProblem.cpp.

References assembler_.

Return the number of block rows in the problem

Definition at line 317 of file SundanceLinearProblem.cpp.

References assembler_.

with this function we can force the assembler to reassemble the matrix

Definition at line 402 of file SundanceLinearProblem.cpp.

References assembler_.

const RCP< DOFMapBase > & LinearProblem::rowMap ( int  blockRow) const

Return the map from cells and functions to row indices

Definition at line 300 of file SundanceLinearProblem.cpp.

References assembler_.

const Array< RCP< DiscreteSpace > > & LinearProblem::solnSpace ( ) const

Return the discrete space in which solutions live

Definition at line 308 of file SundanceLinearProblem.cpp.

References assembler_.

Referenced by formSolutionExpr(), Sundance::LinearEigenproblem::LinearEigenproblem(), and solve().

Expr LinearProblem::solve ( const LinearSolver< double > &  solver) const

Solve the problem using the specified solver algorithm

Definition at line 341 of file SundanceLinearProblem.cpp.

References A_, assembler_, names_, rhs_, solnSpace(), Sundance::LinearSolveDriver::solve(), solveDriver_, solveFailureIsFatal(), and SUNDANCE_MSG1.

Referenced by main(), Sundance::L2Projector::project(), and Sundance::LPTestBase::solve().

SolverState< double > LinearProblem::solve ( const LinearSolver< double > &  solver,
Expr soln 
) const

Solve the problem, writing the solution into the given function

Definition at line 373 of file SundanceLinearProblem.cpp.

References SUNDANCE_MSG1.

static bool& Sundance::LinearProblem::solveFailureIsFatal ( ) [inline, static]

Flag indicating whether to stop on a solve failure

Definition at line 126 of file SundanceLinearProblem.hpp.

Referenced by solve(), and Sundance::LPTestBase::solve().


Member Data Documentation

LinearOperator<double> Sundance::LinearProblem::A_ [mutable, private]

Definition at line 152 of file SundanceLinearProblem.hpp.

Referenced by getOperator(), and solve().

Array<Array<string> > Sundance::LinearProblem::names_ [private]

Definition at line 158 of file SundanceLinearProblem.hpp.

Referenced by formSolutionExpr(), LinearProblem(), and solve().

Definition at line 164 of file SundanceLinearProblem.hpp.

Array<Vector<double> > Sundance::LinearProblem::rhs_ [mutable, private]

Definition at line 155 of file SundanceLinearProblem.hpp.

Referenced by getOperator(), getRHS(), and solve().

Definition at line 161 of file SundanceLinearProblem.hpp.

Referenced by formSolutionExpr(), and solve().

Site Contact