MorphoGraphX  2.0-1-227
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
mgx::Solver Class Reference

#include <Solver.hpp>

+ Inheritance diagram for mgx::Solver:

Classes

struct  EdgData
 
struct  VtxData
 

Public Types

enum  ParmNames {
  pSolvingMethod, pDt, pCGTolerance, pCGMaxIter,
  pMaxNewtonSteps, pErrTolerance, pDebug, pNumParms
}
 
typedef AttrMap< cell, VtxDataCellAttr2
 
typedef std::pair< cell, cellCellCellPair
 
typedef AttrMap< CellCellPair, EdgDataMyEdgeAttr2
 

Public Member Functions

 Solver (Mesh *m, cellGraph &pC, SolvingMethod method, int variables, double eulerDt, double _Dx=0.001, bool debug=true)
 
void processParms (const QStringList &parms)
 
QStringList parmNames () const
 
QStringList parmDescs () const
 
QStringList parmDefaults () const
 
void setInput (std::vector< double > &values, std::vector< double > &derivatives)
 
void solve ()
 
virtual std::vector< double > getValues (const cell &c)
 
virtual void setValues (const cell &c, std::vector< double > values)
 
virtual void updateDerivatives (const cell &c)
 
virtual std::vector< double > getDerivatives (const cell &c)
 

Public Attributes

cellGraphC
 
SolvingMethod method
 
int variables
 
double eulerDt
 
double cgTolerance
 
double cgMaxIter
 
int maxNewtonSteps
 
double newtonErrTolerance
 
bool debugOutput
 
DistNhbdCnhbd
 
DistVertexAttr< DistNhbdC, VtxData, Matrix2d > * vJ
 
DistEdgeAttr< DistNhbdC, EdgData, Matrix2d > * eJ
 
DistVertexAttr< DistNhbdC, VtxData, Point2d > * vX
 
DistVertexAttr< DistNhbdC, VtxData, Point2d > * vB
 
DMatrix2dJ
 
DVector2dX
 
DVector2dB
 
CellAttr2cellVars
 
MyEdgeAttr2cellEdges
 

Detailed Description

Definition at line 41 of file Solver.hpp.

Member Typedef Documentation

◆ CellAttr2

Definition at line 95 of file Solver.hpp.

◆ CellCellPair

typedef std::pair<cell, cell> mgx::Solver::CellCellPair

Definition at line 98 of file Solver.hpp.

◆ MyEdgeAttr2

Definition at line 100 of file Solver.hpp.

Member Enumeration Documentation

◆ ParmNames

Enumerator
pSolvingMethod 
pDt 
pCGTolerance 
pCGMaxIter 
pMaxNewtonSteps 
pErrTolerance 
pDebug 
pNumParms 

Definition at line 114 of file Solver.hpp.

Constructor & Destructor Documentation

◆ Solver()

mgx::Solver::Solver ( Mesh m,
cellGraph pC,
SolvingMethod  method,
int  variables,
double  eulerDt,
double  _Dx = 0.001,
bool  debug = true 
)
inline

Definition at line 104 of file Solver.hpp.

Member Function Documentation

◆ getDerivatives()

virtual std::vector<double> mgx::Solver::getDerivatives ( const cell c)
inlinevirtual

Reimplemented in mgx::MeinhardtAI::Solver.

Definition at line 161 of file Solver.hpp.

◆ getValues()

virtual std::vector<double> mgx::Solver::getValues ( const cell c)
inlinevirtual

Reimplemented in mgx::MeinhardtAI::Solver.

Definition at line 158 of file Solver.hpp.

◆ parmDefaults()

QStringList mgx::Solver::parmDefaults ( ) const
inline

Definition at line 140 of file Solver.hpp.

◆ parmDescs()

QStringList mgx::Solver::parmDescs ( ) const
inline

Definition at line 129 of file Solver.hpp.

◆ parmNames()

QStringList mgx::Solver::parmNames ( ) const
inline

Definition at line 118 of file Solver.hpp.

◆ processParms()

void mgx::Solver::processParms ( const QStringList &  parms)

◆ setInput()

void mgx::Solver::setInput ( std::vector< double > &  values,
std::vector< double > &  derivatives 
)

◆ setValues()

virtual void mgx::Solver::setValues ( const cell c,
std::vector< double >  values 
)
inlinevirtual

Reimplemented in mgx::MeinhardtAI::Solver.

Definition at line 159 of file Solver.hpp.

◆ solve()

void mgx::Solver::solve ( )

◆ updateDerivatives()

virtual void mgx::Solver::updateDerivatives ( const cell c)
inlinevirtual

Reimplemented in mgx::MeinhardtAI::Solver.

Definition at line 160 of file Solver.hpp.

Member Data Documentation

◆ B

DVector2d* mgx::Solver::B

Definition at line 92 of file Solver.hpp.

◆ C

cellGraph& mgx::Solver::C

Definition at line 44 of file Solver.hpp.

◆ cellEdges

MyEdgeAttr2* mgx::Solver::cellEdges

Definition at line 101 of file Solver.hpp.

◆ cellVars

CellAttr2* mgx::Solver::cellVars

Definition at line 96 of file Solver.hpp.

◆ cgMaxIter

double mgx::Solver::cgMaxIter

Definition at line 50 of file Solver.hpp.

◆ cgTolerance

double mgx::Solver::cgTolerance

Definition at line 50 of file Solver.hpp.

◆ debugOutput

bool mgx::Solver::debugOutput

Definition at line 54 of file Solver.hpp.

◆ eJ

DistEdgeAttr<DistNhbdC, EdgData, Matrix2d>* mgx::Solver::eJ

Definition at line 86 of file Solver.hpp.

◆ eulerDt

double mgx::Solver::eulerDt

Definition at line 47 of file Solver.hpp.

◆ J

DMatrix2d* mgx::Solver::J

Definition at line 90 of file Solver.hpp.

◆ maxNewtonSteps

int mgx::Solver::maxNewtonSteps

Definition at line 51 of file Solver.hpp.

◆ method

SolvingMethod mgx::Solver::method

Definition at line 45 of file Solver.hpp.

◆ newtonErrTolerance

double mgx::Solver::newtonErrTolerance

Definition at line 52 of file Solver.hpp.

◆ nhbd

DistNhbdC* mgx::Solver::nhbd

Definition at line 57 of file Solver.hpp.

◆ variables

int mgx::Solver::variables

Definition at line 46 of file Solver.hpp.

◆ vB

DistVertexAttr<DistNhbdC, VtxData, Point2d>* mgx::Solver::vB

Definition at line 88 of file Solver.hpp.

◆ vJ

Definition at line 85 of file Solver.hpp.

◆ vX

DistVertexAttr<DistNhbdC, VtxData, Point2d>* mgx::Solver::vX

Definition at line 87 of file Solver.hpp.

◆ X

DVector2d* mgx::Solver::X

Definition at line 91 of file Solver.hpp.


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