Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

csfl::ISolverConjugateGradient Class Reference

#include <cg.h>

Inheritance diagram for csfl::ISolverConjugateGradient::

csfl::ISolverIteract csfl::ISolver csfl::ISFLObject List of all members.

Public Methods

 ISolverConjugateGradient (ILinearSystem *=NULL, double=0.00001, int=10000, IContainerParameter *=NULL)
 ISolverConjugateGradient (ISolverConjugateGradient *)
 ~ISolverConjugateGradient ()
void Solve ()
void Solve (ILinearSystem *_lsys)
bool Transpose ()
void SetTranspose (bool _b)
void SetToleranceLevel (int _t)
int ToleranceLevel ()
double SolverError ()

Protected Methods

void Sprsin (int, double, unsigned long, double[], unsigned long[])
void Dsprsax (double[], unsigned long[], double[], double[], unsigned long)
void Dsprstx (double[], unsigned long[], double[], double[], unsigned long)
void Atimes (unsigned long, double[], double[], int)
void Asolve (unsigned long, double[], double[], int)
void Linbcg (unsigned long, double[], double[], int, double, int, int *, double *)
double Snrm (unsigned long, double[], int)
void CG ()
void NewMemory ()
void DeleteMemory ()

Protected Attributes

double* sa
double* vx
double * vb
unsigned long* ija
bool mem
bool isTranspose
int nmax
int level
double serror

Detailed Description

Classe responsável pela resolução de um sistema linear através do método iterativo do gradiente conjugado.


Constructor & Destructor Documentation

csfl::ISolverConjugateGradient::ISolverConjugateGradient ( ILinearSystem * = NULL,
double = 0.00001,
int = 10000,
IContainerParameter * = NULL )
 

csfl::ISolverConjugateGradient::ISolverConjugateGradient ( ISolverConjugateGradient * )
 

csfl::ISolverConjugateGradient::~ISolverConjugateGradient ( )
 


Member Function Documentation

void csfl::ISolverConjugateGradient::Asolve ( unsigned long,
double[],
double[],
int ) [protected]
 

void csfl::ISolverConjugateGradient::Atimes ( unsigned long,
double[],
double[],
int ) [protected]
 

void csfl::ISolverConjugateGradient::CG ( ) [protected]
 

void csfl::ISolverConjugateGradient::DeleteMemory ( ) [protected]
 

void csfl::ISolverConjugateGradient::Dsprsax ( double[],
unsigned long[],
double[],
double[],
unsigned long ) [protected]
 

void csfl::ISolverConjugateGradient::Dsprstx ( double[],
unsigned long[],
double[],
double[],
unsigned long ) [protected]
 

void csfl::ISolverConjugateGradient::Linbcg ( unsigned long,
double[],
double[],
int,
double,
int,
int *,
double * ) [protected]
 

void csfl::ISolverConjugateGradient::NewMemory ( ) [protected]
 

void csfl::ISolverConjugateGradient::SetToleranceLevel ( int _t ) [inline]
 

void csfl::ISolverConjugateGradient::SetTranspose ( bool _b ) [inline]
 

double csfl::ISolverConjugateGradient::Snrm ( unsigned long,
double[],
int ) [protected]
 

void csfl::ISolverConjugateGradient::Solve ( ILinearSystem * _lsys ) [virtual]
 

Reimplemented from csfl::ISolverIteract.

void csfl::ISolverConjugateGradient::Solve ( ) [virtual]
 

Resolve o sistema linear de equações até que um dos critérios de convergência seja atingido: i) Erro menor do que a tolerância especificada, ii) Número de iterações igual ao máximo especificado.

Reimplemented from csfl::ISolverIteract.

double csfl::ISolverConjugateGradient::SolverError ( ) [virtual]
 

Retorna o valor do erro encontrado na resolução do sistema linear.

Reimplemented from csfl::ISolverIteract.

void csfl::ISolverConjugateGradient::Sprsin ( int,
double,
unsigned long,
double[],
unsigned long[] ) [protected]
 

int csfl::ISolverConjugateGradient::ToleranceLevel ( ) [inline]
 

bool csfl::ISolverConjugateGradient::Transpose ( ) [inline]
 


Member Data Documentation

unsigned long * csfl::ISolverConjugateGradient::ija [protected]
 

bool csfl::ISolverConjugateGradient::isTranspose [protected]
 

int csfl::ISolverConjugateGradient::level [protected]
 

bool csfl::ISolverConjugateGradient::mem [protected]
 

int csfl::ISolverConjugateGradient::nmax [protected]
 

double * csfl::ISolverConjugateGradient::sa [protected]
 

double csfl::ISolverConjugateGradient::serror [protected]
 

double * csfl::ISolverConjugateGradient::vb [protected]
 

double * csfl::ISolverConjugateGradient::vx [protected]
 


The documentation for this class was generated from the following file:

 

CFD Project | Documents | Downloads | Contact us | Use Terms

 

© SINMEC/EMC/UFSC, 2001.

All rights reserved.

Last Update: Jan. 18, 2002

 Webmaster