Specialized dotInterpolate for the efficient calculation of flux fields

e.g. (fvc::interpolate(HbyA) & mesh.Sf()) -> fvc::flux(HbyA)

This removes the need to create an intermediate face-vector field when
computing fluxes which is more efficient, reduces the peak storage and
improved cache coherency in addition to providing a simpler and cleaner
API.
This commit is contained in:
Henry Weller
2016-04-06 20:20:53 +01:00
parent 4dedba478e
commit 77b03e2e0c
101 changed files with 523 additions and 451 deletions

View File

@ -92,7 +92,7 @@ int main(int argc, char *argv[])
surfaceScalarField phiHbyA
(
"phiHbyA",
(fvc::interpolate(HbyA) & mesh.Sf())
fvc::flux(HbyA)
+ rAUf*fvc::ddtCorr(U, phi)
);