Skip to content
Snippets Groups Projects
Commit 26963715 authored by Mark Olesen's avatar Mark Olesen
Browse files

COMP: avoid ambiguous construct from tmp - transportModels

parent fd9fd2c9
Branches
Tags
No related merge requests found
......@@ -37,7 +37,7 @@ void Foam::twoPhaseMixture::calcNu()
nuModel1_->correct();
nuModel2_->correct();
volScalarField limitedAlpha1
const volScalarField limitedAlpha1
(
"limitedAlpha1",
min(max(alpha1_, scalar(0)), scalar(1))
......@@ -112,7 +112,10 @@ Foam::twoPhaseMixture::twoPhaseMixture
Foam::tmp<Foam::volScalarField> Foam::twoPhaseMixture::mu() const
{
volScalarField limitedAlpha1 = min(max(alpha1_, scalar(0)), scalar(1));
const volScalarField limitedAlpha1
(
min(max(alpha1_, scalar(0)), scalar(1))
);
return tmp<volScalarField>
(
......@@ -128,8 +131,10 @@ Foam::tmp<Foam::volScalarField> Foam::twoPhaseMixture::mu() const
Foam::tmp<Foam::surfaceScalarField> Foam::twoPhaseMixture::muf() const
{
surfaceScalarField alpha1f =
min(max(fvc::interpolate(alpha1_), scalar(0)), scalar(1));
const surfaceScalarField alpha1f
(
min(max(fvc::interpolate(alpha1_), scalar(0)), scalar(1))
);
return tmp<surfaceScalarField>
(
......@@ -145,8 +150,10 @@ Foam::tmp<Foam::surfaceScalarField> Foam::twoPhaseMixture::muf() const
Foam::tmp<Foam::surfaceScalarField> Foam::twoPhaseMixture::nuf() const
{
surfaceScalarField alpha1f =
min(max(fvc::interpolate(alpha1_), scalar(0)), scalar(1));
const surfaceScalarField alpha1f
(
min(max(fvc::interpolate(alpha1_), scalar(0)), scalar(1))
);
return tmp<surfaceScalarField>
(
......
......@@ -70,31 +70,33 @@ void Foam::interfaceProperties::correctContactAngle
);
fvsPatchVectorField& nHatp = nHatb[patchi];
scalarField theta =
convertToRad*acap.theta(U_.boundaryField()[patchi], nHatp);
const scalarField theta
(
convertToRad*acap.theta(U_.boundaryField()[patchi], nHatp)
);
vectorField nf = boundary[patchi].nf();
const vectorField nf
(
boundary[patchi].nf()
);
// Reset nHatp to correspond to the contact angle
scalarField a12 = nHatp & nf;
scalarField b1 = cos(theta);
const scalarField a12(nHatp & nf);
const scalarField b1(cos(theta));
scalarField b2(nHatp.size());
forAll(b2, facei)
{
b2[facei] = cos(acos(a12[facei]) - theta[facei]);
}
scalarField det = 1.0 - a12*a12;
const scalarField det(1.0 - a12*a12);
scalarField a = (b1 - a12*b2)/det;
scalarField b = (b2 - a12*b1)/det;
scalarField a((b1 - a12*b2)/det);
scalarField b((b2 - a12*b1)/det);
nHatp = a*nf + b*nHatp;
nHatp /= (mag(nHatp) + deltaN_.value());
acap.gradient() = (nf & nHatp)*mag(gradAlphaf[patchi]);
......@@ -109,16 +111,17 @@ void Foam::interfaceProperties::calculateK()
const surfaceVectorField& Sf = mesh.Sf();
// Cell gradient of alpha
volVectorField gradAlpha = fvc::grad(alpha1_);
const volVectorField gradAlpha(fvc::grad(alpha1_));
// Interpolated face-gradient of alpha
surfaceVectorField gradAlphaf = fvc::interpolate(gradAlpha);
surfaceVectorField gradAlphaf(fvc::interpolate(gradAlpha));
//gradAlphaf -=
// (mesh.Sf()/mesh.magSf())
// *(fvc::snGrad(alpha1_) - (mesh.Sf() & gradAlphaf)/mesh.magSf());
// Face unit interface normal
surfaceVectorField nHatfv = gradAlphaf/(mag(gradAlphaf) + deltaN_);
surfaceVectorField nHatfv(gradAlphaf/(mag(gradAlphaf) + deltaN_));
correctContactAngle(nHatfv.boundaryField(), gradAlphaf.boundaryField());
// Face unit interface normal flux
......@@ -130,7 +133,7 @@ void Foam::interfaceProperties::calculateK()
// Complex expression for curvature.
// Correction is formally zero but numerically non-zero.
/*
volVectorField nHat = gradAlpha/(mag(gradAlpha) + deltaN_);
volVectorField nHat(gradAlpha/(mag(gradAlpha) + deltaN_));
forAll(nHat.boundaryField(), patchi)
{
nHat.boundaryField()[patchi] = nHatfv.boundaryField()[patchi];
......
......@@ -48,6 +48,7 @@ namespace Foam
};
}
const Foam::NamedEnum
<
Foam::alphaContactAngleFvPatchScalarField::limitControls,
......
......@@ -123,21 +123,21 @@ Foam::dynamicAlphaContactAngleFvPatchScalarField::theta
return tmp<scalarField>(new scalarField(size(), theta0_));
}
vectorField nf = patch().nf();
const vectorField nf(patch().nf());
// Calculated the component of the velocity parallel to the wall
vectorField Uwall = Up.patchInternalField() - Up;
vectorField Uwall(Up.patchInternalField() - Up);
Uwall -= (nf & Uwall)*nf;
// Find the direction of the interface parallel to the wall
vectorField nWall = nHat - (nf & nHat)*nf;
vectorField nWall(nHat - (nf & nHat)*nf);
// Normalise nWall
nWall /= (mag(nWall) + SMALL);
// Calculate Uwall resolved normal to the interface parallel to
// the interface
scalarField uwall = nWall & Uwall;
scalarField uwall(nWall & Uwall);
return theta0_ + (thetaA_ - thetaR_)*tanh(uwall/uTheta_);
}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment