Gascoigne::StdMultiLevelSolver Class Reference

Default nonlinear MultilevelSolver. More...

#include <stdmultilevelsolver.h>

Inheritance diagram for Gascoigne::StdMultiLevelSolver:

Inheritance graph
[legend]
Collaboration diagram for Gascoigne::StdMultiLevelSolver:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 StdMultiLevelSolver ()
 ~StdMultiLevelSolver ()
std::string GetName () const
void RegisterVectors ()
void RegisterMatrix ()
void ReInitMatrix ()
void ReInitVector (VectorInterface &v)
void ReInitVector (VectorInterface &v, int comp)
void BasicInit (const MeshAgentInterface *GMGM, const ParamFile *paramfile, const ProblemContainer *PC, const FunctionalContainer *FC=NULL)
virtual const ProblemContainerGetProblemContainer () const
int nlevels () const
virtual int FinestLevel () const
virtual int CoarsestLevel () const
SolverInterfaceGetSolver (int l)
const SolverInterfaceGetSolver (int l) const
SolverInterfaceGetSolver ()
const SolverInterfaceGetSolver () const
void SetMonitorPtr (Monitor *mon)
void ReInit (const std::string &problemlabel)
void SetProblem (const std::string &label)
std::string LinearSolve (int level, VectorInterface &u, const VectorInterface &b, CGInfo &info)
 vector
std::string Solve (int level, VectorInterface &x, const VectorInterface &b, NLInfo &nlinfo)
void InterpolateSolution (VectorInterface &u, const GlobalVector &uold) const
void InterpolateCellSolution (VectorInterface &u, const GlobalVector &uold) const
virtual void NewtonVectorZero (VectorInterface &w) const
virtual double NewtonResidual (VectorInterface &y, const VectorInterface &x, const VectorInterface &b) const
virtual double NewtonUpdate (double &rr, VectorInterface &x, VectorInterface &dx, VectorInterface &r, const VectorInterface &f, NLInfo &nlinfo)
virtual void NewtonLinearSolve (VectorInterface &x, const VectorInterface &b, CGInfo &info)
virtual void NewtonMatrixControl (VectorInterface &u, NLInfo &nlinfo)
virtual void NewtonOutput (NLInfo &nlinfo) const
virtual void NewtonPreProcess (VectorInterface &u, const VectorInterface &f, NLInfo &info) const
virtual void NewtonPostProcess (VectorInterface &u, const VectorInterface &f, NLInfo &info) const
void AssembleMatrix (VectorInterface &u, NLInfo &nlinfo)
void AssembleMatrix (VectorInterface &u)
void ComputeIlu (VectorInterface &u)
 not used in the library -- might be used in local
void ComputeIlu ()
void BoundaryInit (VectorInterface &u) const
virtual void SolutionTransfer (VectorInterface &u) const
virtual void Transfer (VectorInterface &u) const
void vmulteq (VectorInterface &y, const VectorInterface &x) const
virtual void LinearMg (int minlevel, int maxlevel, VectorInterface &u, const VectorInterface &f, CGInfo &)
double ComputeFunctional (VectorInterface &f, const VectorInterface &u, const std::string &label) const
void AssembleDualMatrix (VectorInterface &u)
virtual void precondition (VectorInterface &x, VectorInterface &y)
virtual void DeleteVector (VectorInterface &p)
 vector - manamgement
virtual void Equ (VectorInterface &dst, double s, const VectorInterface &src) const
void Zero (VectorInterface &dst) const
void AddNodeVector (const std::string &name, VectorInterface &q)
void DeleteNodeVector (const std::string &q)
void newton (VectorInterface &u, const VectorInterface &f, VectorInterface &r, VectorInterface &w, NLInfo &info)

Protected Member Functions

const MeshAgentInterfaceGetMeshAgent () const
std::vector< SolverInterface * > & GetSolverPointers ()
const std::vector< SolverInterface * > & GetSolverPointers () const
virtual void NewSolvers ()
virtual SolverInterfaceNewSolver (int solverlevel)
virtual void NewMgInterpolator ()
virtual void SolverNewMesh ()
virtual const ProblemDescriptorInterfaceGetProblemDescriptor () const
virtual void SetProblemContainer (const ProblemContainer *PC)
virtual const FunctionalContainerGetFunctionalContainer () const
virtual void SetFunctionalContainer (const FunctionalContainer *FC)
const DoubleVector GetExactValues () const
const DoubleVector ComputeFunctionals (VectorInterface &f, const VectorInterface &u) const
virtual SolverInterface *& GetSolverPointer (int l)
virtual void SetComputeLevel (int level)
virtual double NewtonNorm (const VectorInterface &u) const
virtual void mgstep (std::vector< double > &res, std::vector< double > &rw, int l, int maxl, int minl, std::string &p0, std::string p, VectorInterface &u, VectorInterface &b, VectorInterface &v)
virtual void Cg (VectorInterface &x, const VectorInterface &f, CGInfo &info)
virtual void Gmres (VectorInterface &x, const VectorInterface &f, CGInfo &info)
virtual void ViewProtocoll () const
virtual void SolutionTransfer (int high, int low, VectorInterface &u) const
virtual void Transfer (int high, int low, VectorInterface &u) const

Protected Attributes

VectorInterface _cor
VectorInterface _res
VectorInterface _mg0
VectorInterface _mg1
StopWatch _clock_residual
StopWatch _clock_solve
int ComputeLevel
int oldnlevels
const ParamFile_paramfile
MonitorMON
StdMultiLevelSolverDataDataP
const ProblemDescriptorInterface_PD
const ProblemContainer_PC
const FunctionalContainer_FC

Detailed Description

Default nonlinear MultilevelSolver.


Constructor & Destructor Documentation

Gascoigne::StdMultiLevelSolver::StdMultiLevelSolver (  ) 

Gascoigne::StdMultiLevelSolver::~StdMultiLevelSolver (  ) 


Member Function Documentation

void Gascoigne::StdMultiLevelSolver::AddNodeVector ( const std::string name,
VectorInterface q 
) [virtual]

Implements Gascoigne::MultiLevelSolverInterface.

void Gascoigne::StdMultiLevelSolver::AssembleDualMatrix ( VectorInterface u  )  [virtual]

Implements Gascoigne::MultiLevelSolverInterface.

void Gascoigne::StdMultiLevelSolver::AssembleMatrix ( VectorInterface u  )  [virtual]

Implements Gascoigne::MultiLevelSolverInterface.

void Gascoigne::StdMultiLevelSolver::AssembleMatrix ( VectorInterface u,
NLInfo nlinfo 
) [virtual]

Implements Gascoigne::MultiLevelSolverInterface.

void Gascoigne::StdMultiLevelSolver::BasicInit ( const MeshAgentInterface GMGM,
const ParamFile paramfile,
const ProblemContainer PC,
const FunctionalContainer FC = NULL 
) [virtual]

Implements Gascoigne::MultiLevelSolverInterface.

void Gascoigne::StdMultiLevelSolver::BoundaryInit ( VectorInterface u  )  const [virtual]

Implements Gascoigne::MultiLevelSolverInterface.

void Gascoigne::StdMultiLevelSolver::Cg ( VectorInterface x,
const VectorInterface f,
CGInfo info 
) [protected, virtual]

virtual int Gascoigne::StdMultiLevelSolver::CoarsestLevel (  )  const [inline, virtual]

double Gascoigne::StdMultiLevelSolver::ComputeFunctional ( VectorInterface f,
const VectorInterface u,
const std::string label 
) const [virtual]

Implements Gascoigne::MultiLevelSolverInterface.

const DoubleVector Gascoigne::StdMultiLevelSolver::ComputeFunctionals ( VectorInterface f,
const VectorInterface u 
) const [protected, virtual]

Implements Gascoigne::MultiLevelSolverInterface.

void Gascoigne::StdMultiLevelSolver::ComputeIlu (  )  [virtual]

Implements Gascoigne::MultiLevelSolverInterface.

void Gascoigne::StdMultiLevelSolver::ComputeIlu ( VectorInterface u  )  [virtual]

not used in the library -- might be used in local

Implements Gascoigne::MultiLevelSolverInterface.

void Gascoigne::StdMultiLevelSolver::DeleteNodeVector ( const std::string q  )  [virtual]

Implements Gascoigne::MultiLevelSolverInterface.

void Gascoigne::StdMultiLevelSolver::DeleteVector ( VectorInterface p  )  [virtual]

vector - manamgement

Implements Gascoigne::MultiLevelSolverInterface.

void Gascoigne::StdMultiLevelSolver::Equ ( VectorInterface dst,
double  s,
const VectorInterface src 
) const [virtual]

Implements Gascoigne::MultiLevelSolverInterface.

virtual int Gascoigne::StdMultiLevelSolver::FinestLevel (  )  const [inline, virtual]

const DoubleVector Gascoigne::StdMultiLevelSolver::GetExactValues (  )  const [protected, virtual]

Implements Gascoigne::MultiLevelSolverInterface.

virtual const FunctionalContainer* Gascoigne::StdMultiLevelSolver::GetFunctionalContainer (  )  const [inline, protected, virtual]

const MeshAgentInterface* Gascoigne::StdMultiLevelSolver::GetMeshAgent (  )  const [inline, protected]

std::string Gascoigne::StdMultiLevelSolver::GetName (  )  const [inline, virtual]

Implements Gascoigne::MultiLevelSolverInterface.

virtual const ProblemContainer* Gascoigne::StdMultiLevelSolver::GetProblemContainer (  )  const [inline, virtual]

virtual const ProblemDescriptorInterface* Gascoigne::StdMultiLevelSolver::GetProblemDescriptor (  )  const [inline, protected, virtual]

const SolverInterface* Gascoigne::StdMultiLevelSolver::GetSolver (  )  const [inline, virtual]

Implements Gascoigne::MultiLevelSolverInterface.

SolverInterface* Gascoigne::StdMultiLevelSolver::GetSolver (  )  [inline, virtual]

Implements Gascoigne::MultiLevelSolverInterface.

const SolverInterface* Gascoigne::StdMultiLevelSolver::GetSolver ( int  l  )  const [inline, virtual]

Implements Gascoigne::MultiLevelSolverInterface.

SolverInterface* Gascoigne::StdMultiLevelSolver::GetSolver ( int  l  )  [inline, virtual]

Implements Gascoigne::MultiLevelSolverInterface.

virtual SolverInterface*& Gascoigne::StdMultiLevelSolver::GetSolverPointer ( int  l  )  [inline, protected, virtual]

const std::vector<SolverInterface*>& Gascoigne::StdMultiLevelSolver::GetSolverPointers (  )  const [inline, protected]

std::vector<SolverInterface*>& Gascoigne::StdMultiLevelSolver::GetSolverPointers (  )  [inline, protected]

void Gascoigne::StdMultiLevelSolver::Gmres ( VectorInterface x,
const VectorInterface f,
CGInfo info 
) [protected, virtual]

void Gascoigne::StdMultiLevelSolver::InterpolateCellSolution ( VectorInterface u,
const GlobalVector uold 
) const [virtual]

Implements Gascoigne::MultiLevelSolverInterface.

void Gascoigne::StdMultiLevelSolver::InterpolateSolution ( VectorInterface u,
const GlobalVector uold 
) const [virtual]

Implements Gascoigne::MultiLevelSolverInterface.

void Gascoigne::StdMultiLevelSolver::LinearMg ( int  minlevel,
int  maxlevel,
VectorInterface u,
const VectorInterface f,
CGInfo  
) [virtual]

string Gascoigne::StdMultiLevelSolver::LinearSolve ( int  level,
VectorInterface u,
const VectorInterface b,
CGInfo info 
) [virtual]

vector

Implements Gascoigne::MultiLevelSolverInterface.

void Gascoigne::StdMultiLevelSolver::mgstep ( std::vector< double > &  res,
std::vector< double > &  rw,
int  l,
int  maxl,
int  minl,
std::string p0,
std::string  p,
VectorInterface u,
VectorInterface b,
VectorInterface v 
) [protected, virtual]

void Gascoigne::StdMultiLevelSolver::NewMgInterpolator (  )  [protected, virtual]

SolverInterface * Gascoigne::StdMultiLevelSolver::NewSolver ( int  solverlevel  )  [protected, virtual]

void Gascoigne::StdMultiLevelSolver::NewSolvers (  )  [protected, virtual]

void Gascoigne::StdMultiLevelSolver::newton ( VectorInterface u,
const VectorInterface f,
VectorInterface r,
VectorInterface w,
NLInfo info 
) [virtual]

Implements Gascoigne::MultiLevelSolverInterface.

void Gascoigne::StdMultiLevelSolver::NewtonLinearSolve ( VectorInterface x,
const VectorInterface b,
CGInfo info 
) [virtual]

void Gascoigne::StdMultiLevelSolver::NewtonMatrixControl ( VectorInterface u,
NLInfo nlinfo 
) [virtual]

virtual double Gascoigne::StdMultiLevelSolver::NewtonNorm ( const VectorInterface u  )  const [inline, protected, virtual]

void Gascoigne::StdMultiLevelSolver::NewtonOutput ( NLInfo nlinfo  )  const [virtual]

void Gascoigne::StdMultiLevelSolver::NewtonPostProcess ( VectorInterface u,
const VectorInterface f,
NLInfo info 
) const [virtual]

void Gascoigne::StdMultiLevelSolver::NewtonPreProcess ( VectorInterface u,
const VectorInterface f,
NLInfo info 
) const [virtual]

double Gascoigne::StdMultiLevelSolver::NewtonResidual ( VectorInterface y,
const VectorInterface x,
const VectorInterface b 
) const [virtual]

double Gascoigne::StdMultiLevelSolver::NewtonUpdate ( double &  rr,
VectorInterface x,
VectorInterface dx,
VectorInterface r,
const VectorInterface f,
NLInfo nlinfo 
) [virtual]

void Gascoigne::StdMultiLevelSolver::NewtonVectorZero ( VectorInterface w  )  const [virtual]

int Gascoigne::StdMultiLevelSolver::nlevels (  )  const [inline, virtual]

Implements Gascoigne::MultiLevelSolverInterface.

void Gascoigne::StdMultiLevelSolver::precondition ( VectorInterface x,
VectorInterface y 
) [virtual]

void Gascoigne::StdMultiLevelSolver::RegisterMatrix (  )  [virtual]

Implements Gascoigne::MultiLevelSolverInterface.

void Gascoigne::StdMultiLevelSolver::RegisterVectors (  )  [virtual]

Implements Gascoigne::MultiLevelSolverInterface.

void Gascoigne::StdMultiLevelSolver::ReInit ( const std::string problemlabel  )  [virtual]

Implements Gascoigne::MultiLevelSolverInterface.

void Gascoigne::StdMultiLevelSolver::ReInitMatrix (  )  [virtual]

Implements Gascoigne::MultiLevelSolverInterface.

void Gascoigne::StdMultiLevelSolver::ReInitVector ( VectorInterface v,
int  comp 
) [virtual]

Implements Gascoigne::MultiLevelSolverInterface.

void Gascoigne::StdMultiLevelSolver::ReInitVector ( VectorInterface v  )  [virtual]

Implements Gascoigne::MultiLevelSolverInterface.

virtual void Gascoigne::StdMultiLevelSolver::SetComputeLevel ( int  level  )  [inline, protected, virtual]

virtual void Gascoigne::StdMultiLevelSolver::SetFunctionalContainer ( const FunctionalContainer FC  )  [inline, protected, virtual]

void Gascoigne::StdMultiLevelSolver::SetMonitorPtr ( Monitor mon  )  [inline, virtual]

Implements Gascoigne::MultiLevelSolverInterface.

void Gascoigne::StdMultiLevelSolver::SetProblem ( const std::string label  )  [virtual]

Implements Gascoigne::MultiLevelSolverInterface.

virtual void Gascoigne::StdMultiLevelSolver::SetProblemContainer ( const ProblemContainer PC  )  [inline, protected, virtual]

void Gascoigne::StdMultiLevelSolver::SolutionTransfer ( VectorInterface u  )  const [virtual]

Implements Gascoigne::MultiLevelSolverInterface.

void Gascoigne::StdMultiLevelSolver::SolutionTransfer ( int  high,
int  low,
VectorInterface u 
) const [protected, virtual]

string Gascoigne::StdMultiLevelSolver::Solve ( int  level,
VectorInterface x,
const VectorInterface b,
NLInfo nlinfo 
) [virtual]

Implements Gascoigne::MultiLevelSolverInterface.

void Gascoigne::StdMultiLevelSolver::SolverNewMesh (  )  [protected, virtual]

void Gascoigne::StdMultiLevelSolver::Transfer ( VectorInterface u  )  const [virtual]

Implements Gascoigne::MultiLevelSolverInterface.

void Gascoigne::StdMultiLevelSolver::Transfer ( int  high,
int  low,
VectorInterface u 
) const [protected, virtual]

void Gascoigne::StdMultiLevelSolver::ViewProtocoll (  )  const [protected, virtual]

void Gascoigne::StdMultiLevelSolver::vmulteq ( VectorInterface y,
const VectorInterface x 
) const [virtual]

Implements Gascoigne::MultiLevelSolverInterface.

void Gascoigne::StdMultiLevelSolver::Zero ( VectorInterface dst  )  const [virtual]

Implements Gascoigne::MultiLevelSolverInterface.


Member Data Documentation

StopWatch Gascoigne::StdMultiLevelSolver::_clock_residual [mutable, protected]

StopWatch Gascoigne::StdMultiLevelSolver::_clock_solve [mutable, protected]

VectorInterface Gascoigne::StdMultiLevelSolver::_cor [mutable, protected]

const FunctionalContainer* Gascoigne::StdMultiLevelSolver::_FC [protected]

VectorInterface Gascoigne::StdMultiLevelSolver::_mg0 [mutable, protected]

VectorInterface Gascoigne::StdMultiLevelSolver::_mg1 [mutable, protected]

const ParamFile* Gascoigne::StdMultiLevelSolver::_paramfile [protected]

const ProblemContainer* Gascoigne::StdMultiLevelSolver::_PC [protected]

const ProblemDescriptorInterface* Gascoigne::StdMultiLevelSolver::_PD [protected]

VectorInterface Gascoigne::StdMultiLevelSolver::_res [mutable, protected]

int Gascoigne::StdMultiLevelSolver::ComputeLevel [mutable, protected]

StdMultiLevelSolverData* Gascoigne::StdMultiLevelSolver::DataP [protected]

Monitor* Gascoigne::StdMultiLevelSolver::MON [protected]

int Gascoigne::StdMultiLevelSolver::oldnlevels [mutable, protected]


The documentation for this class was generated from the following files:
Generated on Thu Sep 14 10:51:45 2006 for Gascoigne by  doxygen 1.4.7