Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members
LinearSOE Class Reference#include <LinearSOE.h>
Inheritance diagram for LinearSOE::
List of all members.
Detailed Description
LinearSOE is an abstract class. A LinearSOE object provides an abstraction of a system of linear equations. A linear system of equation of order
:
\begin{array}{ccccccccc} a_{0,0}x_0 & + & a_{0,1}x_1 & + & ... & + & a_{0,n-1}x_{n-1} & = & b_0 \ a_{1,0}x_0 & + & a_{1,1}x_1 & + & ... & + & a_{1,n-1}x_{n-1} & = & b_1 \ ... & & ... & & & & ... & & ... \ a_{n-1,0}x_0 & + & a_{n-1,1}x_1 & + & ... & + & a_{n-1,n-1}x_{n-1} & = & b_{n-1} \ \end{array}
can be expressed by the matrix equation
, where
is a matrix of order
X
and
and
are vectors or order
. A LinearSOE object is responsible for storing these equations and for providing methods at the interface to set up and obtain the equations. Each LinearSOE object will be associated with a LinearSOESolver object. It is the LinearSOESolver objects that is responsible for solving the linear system of equations. \
Definition at line 84 of file LinearSOE.h.
Constructor & Destructor Documentation
|
The integer {classTag} is passed to the constructor for the SystemOfEqn. The constructor sets sets the pointer for the currently associated LinearSOESolver object to point to {theSolver}.
Definition at line 39 of file LinearSOE.cpp. |
LinearSOE::~LinearSOE (
|
) [virtual]
|
|
Member Function Documentation
int LinearSOE::addA (
|
const Matrix & m,
|
|
const ID & id,
|
|
double fact = 1.0 ) [pure virtual]
|
|
int LinearSOE::addB (
|
const Vector & v,
|
|
const ID & id,
|
|
double fact = 1.0 ) [pure virtual]
|
|
const Vector & LinearSOE::getB (
|
void ) [pure virtual]
|
|
|
To return as a Vector object the vector
. A const reference is returned, meaning the Vector that is returned cannot be modified, i.e. no non-const method can be invoked on the Vector.
Reimplemented in BandGenLinSOE, BandSPDLinSOE, FullGenLinSOE, ProfileSPDLinSOE, and SparseGenColLinSOE.
Referenced by MinUnbalDispNorm::domainChanged(), DisplacementControl::domainChanged(), ArcLength::domainChanged(), NewtonLineSearch::solveCurrentStep(), Broyden::solveCurrentStep(), BFGS::solveCurrentStep(), CTestNormUnbalance::test(), CTestNormDispIncr::test(), and CTestEnergyIncr::test().
|
double LinearSOE::getDeterminant (
|
void ) [virtual]
|
|
int LinearSOE::getNumEqn (
|
void ) const [pure virtual]
|
|
const Vector & LinearSOE::getX (
|
void ) [pure virtual]
|
|
|
To return, as a Vector object, the vector
. A const reference is returned, meaning the Vector that is returned cannot be modified, i.e. no non-const method can be invoked on the Vector.
Reimplemented in BandGenLinSOE, BandSPDLinSOE, FullGenLinSOE, ProfileSPDLinSOE, and SparseGenColLinSOE.
Referenced by Newmark::domainChanged(), HHT::domainChanged(), IncrementalIntegrator::getLastResponse(), MinUnbalDispNorm::newStep(), DisplacementControl::newStep(), ArcLength::newStep(), NewtonRaphson::solveCurrentStep(), NewtonLineSearch::solveCurrentStep(), ModifiedNewton::solveCurrentStep(), Linear::solveCurrentStep(), KrylovNewton::solveCurrentStep(), DomainDecompAlgo::solveCurrentStep(), Broyden::solveCurrentStep(), BFGS::solveCurrentStep(), CTestNormUnbalance::test(), CTestNormDispIncr::test(), CTestEnergyIncr::test(), MinUnbalDispNorm::update(), DisplacementControl::update(), and ArcLength::update().
|
double LinearSOE::normRHS (
|
void ) [pure virtual]
|
|
int LinearSOE::setB (
|
const Vector & v,
|
|
double fact = 1.0 ) [pure virtual]
|
|
|
The LinearSOE object sets the vector {b} to be {fact} times the Vector {V}. To return
if sucessfull, a negative number if not.
Reimplemented in BandGenLinSOE, BandSPDLinSOE, FullGenLinSOE, ProfileSPDLinSOE, and SparseGenColLinSOE.
Referenced by MinUnbalDispNorm::newStep(), DisplacementControl::newStep(), ArcLength::newStep(), MinUnbalDispNorm::update(), DisplacementControl::update(), and ArcLength::update().
|
int LinearSOE::setSize (
|
Graph & theGraph ) [pure virtual]
|
|
void LinearSOE::setX (
|
int loc,
|
|
double value ) [pure virtual]
|
|
int LinearSOE::solve (
|
void ) [virtual]
|
|
|
Causes the SystemOfEqn object to invoke {solve()} on the currently associated LinearSOESolver object. Returns a
if successful, negative number if not; the actual value depending on the LinearSOESolver. To solve a linear system of equations means to find
such that the equation
is satisfied.
Reimplemented from SystemOfEqn.
Definition at line 51 of file LinearSOE.cpp.
Referenced by MinUnbalDispNorm::newStep(), DisplacementControl::newStep(), ArcLength::newStep(), NewtonRaphson::solveCurrentStep(), NewtonLineSearch::solveCurrentStep(), ModifiedNewton::solveCurrentStep(), Linear::solveCurrentStep(), KrylovNewton::solveCurrentStep(), Broyden::solveCurrentStep(), BFGS::solveCurrentStep(), MinUnbalDispNorm::update(), DisplacementControl::update(), and ArcLength::update().
|
void LinearSOE::zeroA (
|
void ) [pure virtual]
|
|
void LinearSOE::zeroB (
|
void ) [pure virtual]
|
|
The documentation for this class was generated from the following files:
|