Foam::tmp<Foam::scalarField > Foam::lduMatrix::H1() const { tmp<scalarField > tH1 ( new scalarField(lduAddr().size(), 0.0) ); if (lowerPtr_ || upperPtr_) { scalarField& H1_ = tH1(); scalar* __restrict__ H1Ptr = H1_.begin(); const label* __restrict__ uPtr = lduAddr().upperAddr().begin(); const label* __restrict__ lPtr = lduAddr().lowerAddr().begin(); const scalar* __restrict__ lowerPtr = lower().begin(); const scalar* __restrict__ upperPtr = upper().begin(); register const label nOdcIs = upper().size(); for (register label odcI = 0; odcI < nOdcIs; odcI++) { H1Ptr[uPtr[odcI]] -= lowerPtr[odcI]; H1Ptr[lPtr[odcI]] -= upperPtr[odcI]; } }
Foam::tmp<Foam::scalarField > Foam::lduMatrix::H1() const { tmp<scalarField > tH1 ( new scalarField(lduAddr().size(), 0.0) ); if (lowerPtr_ || upperPtr_) { scalarField& H1_ = tH1(); scalar* H1Ptr = H1_.begin(); const label* uPtr = lduAddr().upperAddr().begin(); const label* lPtr = lduAddr().lowerAddr().begin(); const scalar* lowerPtr = lower().begin(); const scalar* upperPtr = upper().begin(); register const label nFaces = upper().size(); for (register label face=0; face<nFaces; face++) { H1Ptr[uPtr[face]] -= lowerPtr[face]; H1Ptr[lPtr[face]] -= upperPtr[face]; } } return tH1; }
Foam::tmp<Foam::scalarField > Foam::lduMatrix::H1() const { tmp<scalarField > tH1 ( new scalarField(lduAddr().size(), 0.0) ); if (lowerPtr_ || upperPtr_) { scalarField& H1_ = tH1.ref(); scalar* __restrict__ H1Ptr = H1_.begin(); const label* __restrict__ uPtr = lduAddr().upperAddr().begin(); const label* __restrict__ lPtr = lduAddr().lowerAddr().begin(); const scalar* __restrict__ lowerPtr = lower().begin(); const scalar* __restrict__ upperPtr = upper().begin(); const label nFaces = upper().size(); for (label face=0; face<nFaces; face++) { H1Ptr[uPtr[face]] -= lowerPtr[face]; H1Ptr[lPtr[face]] -= upperPtr[face]; } }
Foam::tmp<Foam::volScalarField> Foam::fvMatrix<Foam::scalar>::H1() const { tmp<volScalarField> tH1 ( new volScalarField ( IOobject ( "H(1)", psi_.instance(), psi_.mesh(), IOobject::NO_READ, IOobject::NO_WRITE ), psi_.mesh(), dimensions_/(dimVol*psi_.dimensions()), extrapolatedCalculatedFvPatchScalarField::typeName ) ); volScalarField& H1_ = tH1.ref(); H1_.primitiveFieldRef() = lduMatrix::H1(); //addBoundarySource(Hphi.primitiveField()); H1_.primitiveFieldRef() /= psi_.mesh().V(); H1_.correctBoundaryConditions(); return tH1; }