42 const word& fieldName,
69 symMatrixConstructorTable::iterator constructorIter =
70 symMatrixConstructorTablePtr_->find(
name);
72 if (constructorIter == symMatrixConstructorTablePtr_->end())
76 "lduMatrix::solver::New", solverControls
77 ) <<
"Unknown symmetric matrix solver " <<
name <<
nl <<
nl
78 <<
"Valid symmetric matrix solvers are :" <<
endl
79 << symMatrixConstructorTablePtr_->sortedToc()
98 asymMatrixConstructorTable::iterator constructorIter =
99 asymMatrixConstructorTablePtr_->find(
name);
101 if (constructorIter == asymMatrixConstructorTablePtr_->end())
105 "lduMatrix::solver::New", solverControls
106 ) <<
"Unknown asymmetric matrix solver " <<
name <<
nl <<
nl
107 <<
"Valid asymmetric matrix solvers are :" <<
endl
108 << asymMatrixConstructorTablePtr_->sortedToc()
129 "lduMatrix::solver::New", solverControls
130 ) <<
"cannot solve incomplete matrix, "
131 "no diagonal or off-diagonal coefficient"
143 const word& fieldName,
151 fieldName_(fieldName),
153 interfaceBouCoeffs_(interfaceBouCoeffs),
154 interfaceIntCoeffs_(interfaceIntCoeffs),
155 interfaces_(interfaces),
156 controlDict_(solverControls)
174 controlDict_ = solverControls;
188 matrix_.sumA(tmpField, interfaceBouCoeffs_, interfaces_);
191 return gSum(
mag(Apsi - tmpField) +
mag(source - tmpField)) + matrix_.small_;