40 if (psi_.needReference())
42 if (Pstream::master())
44 internalCoeffs_[
patchi][facei] +=
45 diag()[psi_.mesh().boundary()[
patchi].faceCells()[facei]];
47 boundaryCoeffs_[
patchi][facei] +=
48 diag()[psi_.mesh().boundary()[
patchi].faceCells()[facei]]
64 Info<<
"fvMatrix<scalar>::solver(const dictionary& solverControls) : "
65 "solver for fvMatrix<scalar>"
70 addBoundaryDiag(
diag(), 0);
77 lduMatrix::solver::New
83 psi_.boundaryField().interfaces(),
102 fvMat_.addBoundaryDiag(fvMat_.diag(), 0);
105 fvMat_.addBoundarySource(totalSource,
false);
108 solver_->read(solverControls);
111 solver_->solve(fvMat_.psi().internalField(), totalSource);
115 fvMat_.diag() = saveDiag;
117 fvMat_.psi().correctBoundaryConditions();
131 Info<<
"fvMatrix<scalar>::solve(const dictionary& solverControls) : "
132 "solving fvMatrix<scalar>"
137 addBoundaryDiag(
diag(), 0);
140 addBoundarySource(totalSource,
false);
149 psi_.boundaryField().interfaces(),
151 )->
solve(psi_.internalField(), totalSource);
157 psi_.correctBoundaryConditions();
167 addBoundaryDiag(boundaryDiag, 0);
173 psi_.internalField(),
174 source_ - boundaryDiag*psi_.internalField(),
176 psi_.boundaryField().interfaces(),
181 addBoundarySource(tres());
196 "H("+psi_.name()+
')',
204 zeroGradientFvPatchScalarField::typeName
209 Hphi.
internalField() = (lduMatrix::H(psi_.internalField()) + source_);
235 dimensions_/(
dimVol*psi_.dimensions()),
236 zeroGradientFvPatchScalarField::typeName
241 H1_.internalField() = lduMatrix::H1();
244 H1_.internalField() /= psi_.mesh().V();
245 H1_.correctBoundaryConditions();