DSSolver Class Reference

#include <DSSolver.h>

Inheritance diagram for DSSolver:
ISolver

List of all members.

Public Member Functions

virtual BOOL AddNumbers (double alfa, SparseMatrixF *smtx)
int CG (double *b, double *x, double epsilon, int max_iter)
virtual long Close ()
virtual void condense (double *a, double *lhs, double *rhs, long tc)
virtual void Dispose ()
 DSSolver (MathTracer *pMT=NULL)
virtual double & ElementAt (int i, int j)
void EndSolverWriteInfo ()
virtual BOOL Factorize ()
void GetA12block (double *pA12)
virtual double GetFactorizationError ()
IntArrayListGetFixedBlocks ()
IntArrayListGetFixedDOFs ()
virtual SparseMatrixFGetSparseMatrix ()
virtual long Initialize (unsigned char run_code, eDSSolverType solverType=eDSSFactorizationLDLT, eDSMatrixType matrixType=eDSSparseMatrix)
virtual BOOL IsAllocated ()
virtual BOOL IsFactorized ()
virtual BOOL IsInitialized ()
virtual BOOL IsSchur ()
virtual BOOL LoadMatrix (SparseMatrixF *smt, unsigned char block_size)
virtual BOOL LoadMatrix (unsigned long neq, unsigned char block_size, double *a, unsigned long *ci, unsigned long *adr)
virtual BOOL LoadMCN (IntArrayList &mcn)
virtual BOOL LoadMCN (ULONG n_blocks, unsigned char block_size, long *mcn, BOOL bIsSchur)
virtual BOOL LoadNumbers (SparseMatrixF *sm)
virtual void LoadZeros ()
void MulMatrixByVector (double *b, double *c)
int PreCG (double *b, double *x, double epsilon, int max_iter)
virtual BOOL PreFactorize ()
virtual BOOL ReFactorize ()
virtual BOOL ScaleMatrix (double alfa)
virtual BOOL SetMatrixPattern (SparseMatrixF *smt, unsigned char block_size)
virtual void SetMT (MathTracer *pMT)
virtual BOOL SetOrderingType (Ordering::Type otype)
void SetSM (SparseMatrixF *sm)
virtual BOOL Solve (double *r, double *f)
void StartSolverWriteInfo ()
virtual ~DSSolver ()

Private Member Functions

BOOL CreateFixedArray (long no_noncondensed_DOFs)
SparseGridMtxCreateNewSparseGridMtx (IntArrayList *fixed=NULL)
void ExpandMCN (IntArrayList &mcn)
BOOL LoadMCN_int (IntArrayList *mcn_order)
BOOL PreFactorizeSchur ()
void StoreFixedLastPermutation_dom_order ()
void WriteFactorizationInfo ()

Private Attributes

SparseGridMtxact_matrix
unsigned char blockSize
IntArrayListdom_order
MathTracereMT
IntArrayListfixed
IntArrayListlncn
BOOL m_bIsSchur
ISolver::eState m_eState
SparseMatrixF m_sm
SparseGridMtxmatrix
LargeVector matrixD
SparseGridMtxPDmatrixPD
eDSMatrixType MatrixType
Orderingmcn
MathTracer MT
long n_blocks
long neq
Ordering::Type OrderingType
SparseGridMtxorig_matrix
unsigned char run_code
eDSSolverType SolverType
char str [512]
double * tmpR

Detailed Description

Definition at line 173 of file DSSolver.h.


Constructor & Destructor Documentation

DSSolver ( MathTracer pMT = NULL  ) 
~DSSolver (  )  [virtual]

Definition at line 43 of file DSSolver.cpp.

References Dispose().


Member Function Documentation

BOOL AddNumbers ( double  alfa,
SparseMatrixF smtx 
) [virtual]
int CG ( double *  b,
double *  x,
double  epsilon,
int  max_iter 
) [virtual]
long Close (  )  [virtual]

Implements ISolver.

Definition at line 528 of file DSSolver.cpp.

References Dispose().

void condense ( double *  a,
double *  lhs,
double *  rhs,
long  tc 
) [virtual]
BOOL CreateFixedArray ( long  no_noncondensed_DOFs  )  [private]
SparseGridMtx * CreateNewSparseGridMtx ( IntArrayList fixed = NULL  )  [private]
void Dispose (  )  [virtual]

Implements ISolver.

Definition at line 110 of file DSSolver.cpp.

References dom_order, fixed, lncn, matrixPD, mcn, orig_matrix, and tmpR.

Referenced by Close(), Initialize(), SetMatrixPattern(), and ~DSSolver().

double & ElementAt ( int  i,
int  j 
) [virtual]

Definition at line 339 of file DSSolver.cpp.

void EndSolverWriteInfo (  ) 

Definition at line 560 of file DSSolver.cpp.

References eMT, MathTracer::NowString(), str, MathTracer::Write(), and MathTracer::Writeln().

Referenced by Factorize().

void ExpandMCN ( IntArrayList mcn  )  [private]

Definition at line 635 of file DSSolver.cpp.

References IntArrayList::Add(), blockSize, IntArrayList::Count, and fixed.

Referenced by LoadMCN_int().

BOOL Factorize (  )  [virtual]
void GetA12block ( double *  pA12  )  [virtual]

Implements ISolver.

Definition at line 958 of file DSSolver.cpp.

References IntArrayList::Count, SparseMatrixF::GetA12block(), lncn, and m_sm.

double GetFactorizationError (  )  [virtual]
IntArrayList* GetFixedBlocks (  )  [inline]

Definition at line 258 of file DSSolver.h.

References fixed.

IntArrayList* GetFixedDOFs (  )  [inline]

Definition at line 259 of file DSSolver.h.

References lncn.

SparseMatrixF * GetSparseMatrix (  )  [virtual]

Implements ISolver.

Definition at line 392 of file DSSolver.cpp.

References ISolver::Allocated, eMT, m_eState, m_sm, and MathTracer::Writeln().

long Initialize ( unsigned char  run_code,
eDSSolverType  solverType = eDSSFactorizationLDLT,
eDSMatrixType  matrixType = eDSSparseMatrix 
) [virtual]
BOOL IsAllocated (  )  [virtual]

Implements ISolver.

Definition at line 193 of file DSSolver.cpp.

References ISolver::Allocated, ISolver::Factorized, and m_eState.

Referenced by Factorize(), and ReFactorize().

BOOL IsFactorized (  )  [virtual]

Implements ISolver.

Definition at line 188 of file DSSolver.cpp.

References ISolver::Factorized, and m_eState.

Referenced by Solve().

BOOL IsInitialized (  )  [virtual]

Implements ISolver.

Definition at line 183 of file DSSolver.cpp.

References m_eState, and None.

BOOL IsSchur (  )  [virtual]

Definition at line 199 of file DSSolver.cpp.

References m_bIsSchur.

Referenced by condense(), and PreFactorize().

BOOL LoadMatrix ( SparseMatrixF smt,
unsigned char  block_size 
) [virtual]

Implements ISolver.

Definition at line 154 of file DSSolver.cpp.

References SparseMatrixF::CreateLocalCopy(), m_sm, and SetMatrixPattern().

BOOL LoadMatrix ( unsigned long  neq,
unsigned char  block_size,
double *  a,
unsigned long *  ci,
unsigned long *  adr 
) [virtual]

Definition at line 148 of file DSSolver.cpp.

BOOL LoadMCN ( IntArrayList mcn  )  [virtual]
BOOL LoadMCN ( ULONG  n_blocks,
unsigned char  block_size,
long *  mcn,
BOOL  bIsSchur 
) [virtual]
BOOL LoadMCN_int ( IntArrayList mcn_order  )  [private]
BOOL LoadNumbers ( SparseMatrixF sm  )  [virtual]
void LoadZeros (  )  [virtual]

Implements ISolver.

Definition at line 328 of file DSSolver.cpp.

References ISolver::Allocated, eMT, m_eState, and MathTracer::Writeln().

void MulMatrixByVector ( double *  b,
double *  c 
) [virtual]
int PreCG ( double *  b,
double *  x,
double  epsilon,
int  max_iter 
) [virtual]
BOOL PreFactorize (  )  [virtual]
BOOL PreFactorizeSchur (  )  [private]
BOOL ReFactorize (  )  [virtual]
BOOL ScaleMatrix ( double  alfa  )  [virtual]

Implements ISolver.

Definition at line 380 of file DSSolver.cpp.

References ISolver::Allocated, eMT, m_eState, m_sm, SparseMatrixF::ScaleMatrix(), and MathTracer::Writeln().

BOOL SetMatrixPattern ( SparseMatrixF smt,
unsigned char  block_size 
) [virtual]
void SetMT ( MathTracer pMT  )  [virtual]

Implements ISolver.

Definition at line 105 of file DSSolver.cpp.

References eMT, and MT.

Referenced by DSSolver().

BOOL SetOrderingType ( Ordering::Type  otype  )  [virtual]
void SetSM ( SparseMatrixF sm  ) 

Definition at line 603 of file DSSolver.cpp.

References m_sm.

BOOL Solve ( double *  r,
double *  f 
) [virtual]
void StartSolverWriteInfo (  ) 
void StoreFixedLastPermutation_dom_order (  )  [private]
void WriteFactorizationInfo (  )  [private]

Member Data Documentation

Definition at line 179 of file DSSolver.h.

unsigned char blockSize [private]
IntArrayList* dom_order [private]

Definition at line 191 of file DSSolver.h.

Referenced by condense(), Dispose(), DSSolver(), and StoreFixedLastPermutation_dom_order().

MathTracer* eMT [private]
IntArrayList* fixed [private]
IntArrayList* lncn [private]
BOOL m_bIsSchur [private]

Definition at line 208 of file DSSolver.h.

Referenced by condense(), DSSolver(), IsSchur(), and LoadMCN().

SparseMatrixF m_sm [private]
SparseGridMtx* matrix [private]

Definition at line 180 of file DSSolver.h.

LargeVector matrixD [private]

Definition at line 200 of file DSSolver.h.

Referenced by SetMatrixPattern(), and Solve().

Definition at line 181 of file DSSolver.h.

Referenced by condense(), Dispose(), DSSolver(), PreFactorize(), PreFactorizeSchur(), and ReFactorize().

Definition at line 186 of file DSSolver.h.

Referenced by DSSolver(), Initialize(), and PreFactorize().

Ordering* mcn [private]
MathTracer MT [private]

Definition at line 175 of file DSSolver.h.

Referenced by SetMT().

long n_blocks [private]

Definition at line 195 of file DSSolver.h.

Referenced by CreateNewSparseGridMtx(), DSSolver(), and LoadMCN_int().

long neq [private]

Definition at line 207 of file DSSolver.h.

Referenced by CreateNewSparseGridMtx(), DSSolver(), Initialize(), and SetOrderingType().

Definition at line 201 of file DSSolver.h.

Referenced by Dispose(), and DSSolver().

unsigned char run_code [private]

Definition at line 187 of file DSSolver.h.

Referenced by DSSolver().

char str[512] [private]
double* tmpR [private]

Definition at line 190 of file DSSolver.h.

Referenced by condense(), CreateNewSparseGridMtx(), Dispose(), DSSolver(), and Solve().


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

Generated by  doxygen 1.6.2