27 |
: public BoundaryConditionFDMDiscretization<MeshType> |
: public BoundaryConditionFDMDiscretization<MeshType> |
28 |
{ |
{ |
29 |
public: |
public: |
30 |
void getDiagonal (BaseVector& Z) |
void getDiagonal (BaseVector& Z) const |
31 |
{ |
{ |
32 |
Vector<real_t>& z = dynamic_cast<Vector<real_t>&>(Z); |
Vector<real_t>& z = dynamic_cast<Vector<real_t>&>(Z); |
33 |
|
|
47 |
} |
} |
48 |
|
|
49 |
void setMatrix (ReferenceCounting<BaseMatrix> givenA, |
void setMatrix (ReferenceCounting<BaseMatrix> givenA, |
50 |
ReferenceCounting<BaseVector> b) |
ReferenceCounting<BaseVector> b) const |
51 |
{ |
{ |
52 |
switch((*givenA).type()) { |
switch((*givenA).type()) { |
53 |
case BaseMatrix::doubleHashedMatrix: { |
case BaseMatrix::doubleHashedMatrix: { |
95 |
} |
} |
96 |
|
|
97 |
void setSecondMember (ReferenceCounting<BaseMatrix> givenA, |
void setSecondMember (ReferenceCounting<BaseMatrix> givenA, |
98 |
ReferenceCounting<BaseVector> givenB) |
ReferenceCounting<BaseVector> givenB) const |
99 |
{ |
{ |
100 |
Vector<real_t>& b = dynamic_cast<Vector<real_t>&>(*givenB); |
Vector<real_t>& b = dynamic_cast<Vector<real_t>&>(*givenB); |
101 |
__dirichletValues.resize(__degreeOfFreedomSet.size()); |
__dirichletValues.resize(__degreeOfFreedomSet.size()); |
178 |
|
|
179 |
const size_t __equationNumber; |
const size_t __equationNumber; |
180 |
|
|
181 |
BoundaryConditionDiscretizationElimination& __bc; |
const BoundaryConditionDiscretizationElimination& __bc; |
182 |
|
|
183 |
public: |
public: |
184 |
|
|
215 |
|
|
216 |
__SetSecondMemberDirichlet(const Dirichlet &D , |
__SetSecondMemberDirichlet(const Dirichlet &D , |
217 |
const size_t equationNumber, |
const size_t equationNumber, |
218 |
BoundaryConditionDiscretizationElimination& bc) |
const BoundaryConditionDiscretizationElimination& bc) |
219 |
: __dirichlet(D), |
: __dirichlet(D), |
220 |
__equationNumber(equationNumber), |
__equationNumber(equationNumber), |
221 |
__bc(bc) |
__bc(bc) |