41 if (psi_.needReference())
43 if (Pstream::master())
45 internalCoeffs_[
patchi][facei] +=
46 diag()[psi_.mesh().boundary()[
patchi].faceCells()[facei]];
48 boundaryCoeffs_[
patchi][facei] +=
49 diag()[psi_.mesh().boundary()[
patchi].faceCells()[facei]]
66 <<
"fvMatrix<scalar>::solver(const dictionary& solverControls) : " 67 "solver for fvMatrix<scalar>" 72 addBoundaryDiag(
diag(), 0);
85 psi_.boundaryField().scalarInterfaces(),
108 fvMat_.addBoundaryDiag(fvMat_.diag(), 0);
111 fvMat_.addBoundarySource(totalSource,
false);
114 solver_->read(solverControls);
122 if (solverPerformance::debug)
127 fvMat_.diag() = saveDiag;
146 <<
"fvMatrix<scalar>::solveSegregated" 147 "(const dictionary& solverControls) : " 148 "solving fvMatrix<scalar>" 156 addBoundaryDiag(
diag(), 0);
159 addBoundarySource(totalSource,
false);
168 psi_.boundaryField().scalarInterfaces(),
172 if (solverPerformance::debug)
191 addBoundaryDiag(boundaryDiag, 0);
197 psi_.primitiveField(),
198 source_ - boundaryDiag*psi_.primitiveField(),
200 psi_.boundaryField().scalarInterfaces(),
205 addBoundarySource(tres.
ref());
218 "H("+psi_.name()+
')',
221 extrapolatedCalculatedFvPatchScalarField::typeName
245 dimensions_/(
dimVol*psi_.dimensions()),
246 extrapolatedCalculatedFvPatchScalarField::typeName
251 H1_.primitiveFieldRef() = lduMatrix::H1();
254 H1_.primitiveFieldRef() /= psi_.mesh().V();
255 H1_.correctBoundaryConditions();
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const word & name() const
Return name.
A list of keyword definitions, which are a keyword followed by any number of values (e...
T & ref() const
Return non-const reference or generate a fatal error.
Ostream & endl(Ostream &os)
Add newline and flush stream.
tmp< GeometricField< Type, fvPatchField, volMesh > > H() const
Return the H operation source.
Solver class returned by the solver function.
tmp< volScalarField > H1() const
Return H(1)
void diag(pointPatchField< vector > &, const pointPatchField< tensor > &)
SolverPerformance< Type > solve()
Solve returning the solution statistics.
autoPtr< BasicCompressibleMomentumTransportModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const typename BasicCompressibleMomentumTransportModel::transportModel &transport)
const dimensionSet dimVol
Internal::FieldType & primitiveFieldRef()
Return a reference to the internal field.
const Mesh & mesh() const
Return mesh.
Internal & ref()
Return a reference to the dimensioned internal field.
OSstream & masterStream(const label communicator)
Convert to OSstream.
A scalar instance of fvMatrix.
autoPtr< fvSolver > solver()
Construct and return the solver.
void correctBoundaryConditions()
Correct boundary field.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
const volScalarField & psi
void setComponentReference(const label patchi, const label facei, const direction cmpt, const scalar value)
Set reference level for a component of the solution.
SolverPerformance< Type > solveSegregated(const dictionary &)
Solve segregated returning the solution statistics.
A class for managing temporary objects.
tmp< Field< Type > > residual() const
Return the matrix residual.
MeshObject to store the solver performance residuals of all the fields of the type it is instantiated...