34 lduMatrix::solver::addasymMatrixConstructorToTable<PBiCG>
43 const word& fieldName,
75 lduMatrix::preconditioner::getName(controlDict_) + typeName,
79 register label nCells = psi.
size();
81 scalar* __restrict__ psiPtr = psi.
begin();
84 scalar* __restrict__ pAPtr = pA.
begin();
87 scalar* __restrict__ pTPtr = pT.
begin();
90 scalar* __restrict__ wAPtr = wA.
begin();
93 scalar* __restrict__ wTPtr = wT.
begin();
95 scalar wArT = matrix_.great_;
96 scalar wArTold = wArT;
99 matrix_.Amul(wA, psi, interfaceBouCoeffs_, interfaces_, cmpt);
100 matrix_.Tmul(wT, psi, interfaceIntCoeffs_, interfaces_, cmpt);
105 scalar* __restrict__ rAPtr = rA.
begin();
106 scalar* __restrict__ rTPtr = rT.
begin();
109 scalar normFactor = this->normFactor(psi, source, wA, pA);
111 if (lduMatrix::debug >= 2)
113 Info<<
" Normalisation factor = " << normFactor <<
endl;
125 lduMatrix::preconditioner::New
138 preconPtr->precondition(wA, rA, cmpt);
139 preconPtr->preconditionT(wT, rT, cmpt);
154 scalar
beta = wArT/wArTold;
165 matrix_.Amul(wA, pA, interfaceBouCoeffs_, interfaces_, cmpt);
166 matrix_.Tmul(wT, pT, interfaceIntCoeffs_, interfaces_, cmpt);
177 scalar alpha = wArT/wApT;