autoPtr<faMatrix<scalar>::faSolver> faMatrix<scalar>::solver ( const dictionary& solverControls ) { if (debug) { Info<< "faMatrix<scalar>::solver(const dictionary&) : " "solver for faMatrix<scalar>" << endl; } scalarField saveDiag = diag(); addBoundaryDiag(diag(), 0); // Make a copy of interfaces: no longer a reference // HJ, 20/Nov/2007 lduInterfaceFieldPtrsList interfaces = psi_.boundaryField().interfaces(); autoPtr<faMatrix<scalar>::faSolver> solverPtr ( new faMatrix<scalar>::faSolver ( *this, lduSolver::New ( psi_.name(), *this, boundaryCoeffs_, internalCoeffs_, interfaces, solverControls ) ) ); diag() = saveDiag; return solverPtr; }
Foam::autoPtr<Foam::fvMatrix<Foam::scalar>::fvSolver> Foam::fvMatrix<Foam::scalar>::solver ( const dictionary& solverControls ) { if (debug) { Info.masterStream(this->mesh().comm()) << "fvMatrix<scalar>::solver(const dictionary& solverControls) : " "solver for fvMatrix<scalar>" << endl; } scalarField saveDiag(diag()); addBoundaryDiag(diag(), 0); autoPtr<fvMatrix<scalar>::fvSolver> solverPtr ( new fvMatrix<scalar>::fvSolver ( *this, lduMatrix::solver::New ( psi_.name(), *this, boundaryCoeffs_, internalCoeffs_, psi_.boundaryField().scalarInterfaces(), solverControls ) ) ); diag() = saveDiag; return solverPtr; }