В настоящее время я пишу свою диссертацию по ускорению сглаживания Gauss Seidel проекта openFoam. У меня проблемы с пониманием реализации openFoam метода Гаусса Зайделя. Точная часть, которую мне нужно изменить:
double psii;
int fStart;
int fEnd = ownStartPtr[0];
for (int celli=0; celli<nCells; celli++)
{
fStart = fEnd;
fEnd = ownStartPtr[celli + 1];
psii = bPrimePtr[celli];
for (int facei=fStart; facei<fEnd; facei++)
{
psii -= upperPtr[facei]*psiPtr[uPtr[facei]];
}
psii /= diagPtr[celli];
for (int facei=fStart; facei<fEnd; facei++)
{
bPrimePtr[uPtr[facei]] -= lowerPtr[facei]*psii;
}
psiPtr[celli] = psii;
}
}
Как я могу изменить эту часть на метод Якоби?