Go to the documentation of this file.
29 typedef thrust::host_vector<Matrix2d>
DVM2f;
30 typedef std::vector<Matrix2d>
HVM2f;
66 if(x == other.
x and b == other.
b and j == other.
j)
105 : C(pC), method(method), variables(variables), eulerDt(eulerDt), debugOutput(debug)
116 void processParms(
const QStringList &parms);
120 QVector <QString> vec(pNumParms);
122 vec[pSolvingMethod] =
"SolvingMethod";
124 vec[pDebug] =
"Debug";
131 QVector <QString> vec(pNumParms);
133 vec[pSolvingMethod] =
"SolvingMethod";
135 vec[pDebug] =
"Debug";
142 QVector <QString> vec(pNumParms);
144 vec[pSolvingMethod] =
"Euler";
153 void setInput(std::vector<double>& values, std::vector<double>& derivatives);
158 virtual std::vector<double>
getValues(
const cell &c) {std::vector<double> d;
return d;}
169 void buildJacobian(
const cell& c);
175 void solveBackwardEuler();
const Attributes & attributes() const
Get the mesh attributes.
QStringList parmDefaults() const
AttrMap< cell, VtxData > CellAttr2
QStringList parmNames() const
DMatrix< DistNhbdC, Matrix2d, Point2d, double > DMatrix2d
DVector< DistNhbdC, Matrix2d, Point2d, double > DVector2d
thrust::host_vector< Matrix2d > DVM2f
virtual void setValues(const cell &c, std::vector< double > values)
std::pair< cell, cell > CellCellPair
double newtonErrTolerance
virtual std::vector< double > getDerivatives(const cell &c)
DistEdgeAttr< DistNhbdC, EdgData, Matrix2d > * eJ
virtual std::vector< double > getValues(const cell &c)
CellTissue::DistNhbdC & nhbdC()
Get the neighborhood object for the cell graph.
std::vector< Matrix2d > HVM2f
Distributed matrix library.
QStringList parmDescs() const
std::pair< cell, cell > CellCellPair
AttrMap< KeyT, ValueT > & attrMap(const QString &name, bool saveRequired=true)
Get the attribute, if it does not exist create it and add to the set If it exists,...
DistVertexAttr< DistNhbdC, VtxData, Matrix2d > * vJ
bool readAttr(Solver::EdgData &m, const QByteArray &ba, size_t &pos)
bool operator==(const EdgData &other) const
cellGraph::vertex_t cell
Type of a vertex.
DistVertexAttr< DistNhbdC, VtxData, Point2d > * vB
DistNhbd< cellGraph > DistNhbdC
bool writeAttr(const Solver::EdgData &m, QByteArray &ba)
virtual void updateDerivatives(const cell &c)
Solver(Mesh *m, cellGraph &pC, SolvingMethod method, int variables, double eulerDt, double _Dx=0.001, bool debug=true)
bool operator==(const VtxData &other) const
DistVertexAttr< DistNhbdC, VtxData, Point2d > * vX
Attribute map wraps std::map.
AttrMap< CellCellPair, EdgData > MyEdgeAttr2