COMP: avoid ambiguous construct from tmp - ddtSchemes

This commit is contained in:
Mark Olesen
2010-12-17 16:57:02 +01:00
parent 4c5ce4c8fb
commit 9d95a6f59d
5 changed files with 118 additions and 80 deletions

View File

@ -147,15 +147,19 @@ EulerD2dt2Scheme<Type>::fvcD2dt2
scalar halfRdeltaT2 = 0.5*rDeltaT2.value();
scalar quarterRdeltaT2 = 0.25*rDeltaT2.value();
scalarField VV0rhoRho0 =
const scalarField VV0rhoRho0
(
(mesh().V() + mesh().V0())
*(rho.internalField() + rho.oldTime().internalField());
* (rho.internalField() + rho.oldTime().internalField())
);
scalarField V0V00rho0Rho00 =
const scalarField V0V00rho0Rho00
(
(mesh().V0() + mesh().V00())
*(
* (
rho.oldTime().internalField()
+ rho.oldTime().oldTime().internalField()
)
);
return tmp<GeometricField<Type, fvPatchField, volMesh> >
@ -207,8 +211,8 @@ EulerD2dt2Scheme<Type>::fvcD2dt2
{
dimensionedScalar halfRdeltaT2 = 0.5*rDeltaT2;
volScalarField rhoRho0 = rho + rho.oldTime();
volScalarField rho0Rho00 = rho.oldTime() +rho.oldTime().oldTime();
const volScalarField rhoRho0(rho + rho.oldTime());
const volScalarField rho0Rho00(rho.oldTime() +rho.oldTime().oldTime());
return tmp<GeometricField<Type, fvPatchField, volMesh> >
(
@ -258,8 +262,8 @@ EulerD2dt2Scheme<Type>::fvmD2dt2
{
scalar halfRdeltaT2 = rDeltaT2/2.0;
scalarField VV0 = mesh().V() + mesh().V0();
scalarField V0V00 = mesh().V0() + mesh().V00();
const scalarField VV0(mesh().V() + mesh().V0());
const scalarField V0V00(mesh().V0() + mesh().V00());
fvm.diag() = (coefft*halfRdeltaT2)*VV0;
@ -318,9 +322,8 @@ EulerD2dt2Scheme<Type>::fvmD2dt2
{
scalar halfRdeltaT2 = 0.5*rDeltaT2;
scalarField VV0 = mesh().V() + mesh().V0();
scalarField V0V00 = mesh().V0() + mesh().V00();
const scalarField VV0(mesh().V() + mesh().V0());
const scalarField V0V00(mesh().V0() + mesh().V00());
fvm.diag() = rho.value()*(coefft*halfRdeltaT2)*VV0;
@ -379,15 +382,19 @@ EulerD2dt2Scheme<Type>::fvmD2dt2
{
scalar quarterRdeltaT2 = 0.25*rDeltaT2;
scalarField VV0rhoRho0 =
const scalarField VV0rhoRho0
(
(mesh().V() + mesh().V0())
*(rho.internalField() + rho.oldTime().internalField());
*(rho.internalField() + rho.oldTime().internalField())
);
scalarField V0V00rho0Rho00 =
const scalarField V0V00rho0Rho00
(
(mesh().V0() + mesh().V00())
*(
rho.oldTime().internalField()
+ rho.oldTime().oldTime().internalField()
)
);
fvm.diag() = (coefft*quarterRdeltaT2)*VV0rhoRho0;
@ -405,10 +412,13 @@ EulerD2dt2Scheme<Type>::fvmD2dt2
{
scalar halfRdeltaT2 = 0.5*rDeltaT2;
scalarField rhoRho0 =
(rho.internalField() + rho.oldTime().internalField());
const scalarField rhoRho0
(
rho.internalField()
+ rho.oldTime().internalField()
);
scalarField rho0Rho00 =
const scalarField rho0Rho00
(
rho.oldTime().internalField()
+ rho.oldTime().oldTime().internalField()

View File

@ -43,7 +43,7 @@ namespace fv
template<class Type>
tmp<volScalarField> CoEulerDdtScheme<Type>::CorDeltaT() const
{
surfaceScalarField cofrDeltaT = CofrDeltaT();
const surfaceScalarField cofrDeltaT(CofrDeltaT());
tmp<volScalarField> tcorDeltaT
(
@ -154,7 +154,7 @@ CoEulerDdtScheme<Type>::fvcDdt
const dimensioned<Type>& dt
)
{
volScalarField rDeltaT = CorDeltaT();
const volScalarField rDeltaT(CorDeltaT());
IOobject ddtIOobject
(
@ -213,7 +213,7 @@ CoEulerDdtScheme<Type>::fvcDdt
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
volScalarField rDeltaT = CorDeltaT();
const volScalarField rDeltaT(CorDeltaT());
IOobject ddtIOobject
(
@ -265,7 +265,7 @@ CoEulerDdtScheme<Type>::fvcDdt
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
volScalarField rDeltaT = CorDeltaT();
const volScalarField rDeltaT(CorDeltaT());
IOobject ddtIOobject
(
@ -317,7 +317,7 @@ CoEulerDdtScheme<Type>::fvcDdt
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
volScalarField rDeltaT = CorDeltaT();
const volScalarField rDeltaT(CorDeltaT());
IOobject ddtIOobject
(
@ -510,7 +510,7 @@ CoEulerDdtScheme<Type>::fvcDdtPhiCorr
}
else
{
volScalarField rDeltaT = CorDeltaT();
const volScalarField rDeltaT(CorDeltaT());
return tmp<fluxFieldType>
(
@ -565,7 +565,7 @@ CoEulerDdtScheme<Type>::fvcDdtPhiCorr
}
else
{
volScalarField rDeltaT = CorDeltaT();
const volScalarField rDeltaT(CorDeltaT());
if
(

View File

@ -157,7 +157,7 @@ SLTSDdtScheme<Type>::fvcDdt
const dimensioned<Type>& dt
)
{
volScalarField rDeltaT = SLrDeltaT();
const volScalarField rDeltaT(SLrDeltaT());
IOobject ddtIOobject
(
@ -216,7 +216,7 @@ SLTSDdtScheme<Type>::fvcDdt
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
volScalarField rDeltaT = SLrDeltaT();
const volScalarField rDeltaT(SLrDeltaT());
IOobject ddtIOobject
(
@ -268,7 +268,7 @@ SLTSDdtScheme<Type>::fvcDdt
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
volScalarField rDeltaT = SLrDeltaT();
const volScalarField rDeltaT(SLrDeltaT());
IOobject ddtIOobject
(
@ -320,7 +320,7 @@ SLTSDdtScheme<Type>::fvcDdt
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
volScalarField rDeltaT = SLrDeltaT();
const volScalarField rDeltaT(SLrDeltaT());
IOobject ddtIOobject
(
@ -515,7 +515,7 @@ SLTSDdtScheme<Type>::fvcDdtPhiCorr
}
else
{
volScalarField rDeltaT = SLrDeltaT();
const volScalarField rDeltaT(SLrDeltaT());
return tmp<fluxFieldType>
(
@ -570,7 +570,7 @@ SLTSDdtScheme<Type>::fvcDdtPhiCorr
}
else
{
volScalarField rDeltaT = SLrDeltaT();
const volScalarField rDeltaT(SLrDeltaT());
if
(

View File

@ -143,7 +143,8 @@ boundedBackwardDdtScheme::fvcDdt
// Calculate unboundedness indicator
// Note: all times moved by one because access to internal field
// copies current field into the old-time level.
volScalarField phict =
const volScalarField phict
(
mag
(
vf.oldTime().oldTime()
@ -156,13 +157,16 @@ boundedBackwardDdtScheme::fvcDdt
- vf.oldTime().oldTime()
)
+ dimensionedScalar("small", vf.dimensions(), VSMALL)
)
);
volScalarField limiter(pos(phict) - pos(phict - scalar(1)));
volScalarField coefft = scalar(1) + limiter*deltaT/(deltaT + deltaT0);
volScalarField coefft00 = limiter*sqr(deltaT)/(deltaT0*(deltaT + deltaT0));
volScalarField coefft0 = coefft + coefft00;
const volScalarField limiter(pos(phict) - pos(phict - scalar(1)));
const volScalarField coefft(scalar(1) + limiter*deltaT/(deltaT + deltaT0));
const volScalarField coefft00
(
limiter*sqr(deltaT)/(deltaT0*(deltaT + deltaT0))
);
const volScalarField coefft0(coefft + coefft00);
if (mesh().moving())
{
@ -238,7 +242,8 @@ boundedBackwardDdtScheme::fvcDdt
// Calculate unboundedness indicator
// Note: all times moved by one because access to internal field
// copies current field into the old-time level.
volScalarField phict =
const volScalarField phict
(
mag
(
vf.oldTime().oldTime()
@ -251,13 +256,16 @@ boundedBackwardDdtScheme::fvcDdt
- vf.oldTime().oldTime()
)
+ dimensionedScalar("small", vf.dimensions(), VSMALL)
)
);
volScalarField limiter(pos(phict) - pos(phict - scalar(1)));
volScalarField coefft = scalar(1) + limiter*deltaT/(deltaT + deltaT0);
volScalarField coefft00 = limiter*sqr(deltaT)/(deltaT0*(deltaT + deltaT0));
volScalarField coefft0 = coefft + coefft00;
const volScalarField limiter(pos(phict) - pos(phict - scalar(1)));
const volScalarField coefft(scalar(1) + limiter*deltaT/(deltaT + deltaT0));
const volScalarField coefft00
(
limiter*sqr(deltaT)/(deltaT0*(deltaT + deltaT0))
);
const volScalarField coefft0(coefft + coefft00);
if (mesh().moving())
{
@ -333,7 +341,8 @@ boundedBackwardDdtScheme::fvcDdt
// Calculate unboundedness indicator
// Note: all times moved by one because access to internal field
// copies current field into the old-time level.
volScalarField phict =
const volScalarField phict
(
mag
(
rho.oldTime().oldTime()*vf.oldTime().oldTime()
@ -346,13 +355,16 @@ boundedBackwardDdtScheme::fvcDdt
- rho.oldTime().oldTime()*vf.oldTime().oldTime()
)
+ dimensionedScalar("small", rho.dimensions()*vf.dimensions(), VSMALL)
)
);
volScalarField limiter(pos(phict) - pos(phict - scalar(1)));
volScalarField coefft = scalar(1) + limiter*deltaT/(deltaT + deltaT0);
volScalarField coefft00 = limiter*sqr(deltaT)/(deltaT0*(deltaT + deltaT0));
volScalarField coefft0 = coefft + coefft00;
const volScalarField limiter(pos(phict) - pos(phict - scalar(1)));
const volScalarField coefft(scalar(1) + limiter*deltaT/(deltaT + deltaT0));
const volScalarField coefft00
(
limiter*sqr(deltaT)/(deltaT0*(deltaT + deltaT0))
);
const volScalarField coefft0(coefft + coefft00);
if (mesh().moving())
{
@ -434,7 +446,8 @@ boundedBackwardDdtScheme::fvmDdt
// Calculate unboundedness indicator
// Note: all times moved by one because access to internal field
// copies current field into the old-time level.
scalarField phict =
const scalarField phict
(
mag
(
vf.oldTime().oldTime().internalField()
@ -447,13 +460,16 @@ boundedBackwardDdtScheme::fvmDdt
- vf.oldTime().oldTime().internalField()
)
+ VSMALL
)
);
scalarField limiter(pos(phict) - pos(phict - 1.0));
scalarField coefft = 1.0 + limiter*deltaT/(deltaT + deltaT0);
scalarField coefft00 = limiter*deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
scalarField coefft0 = coefft + coefft00;
const scalarField limiter(pos(phict) - pos(phict - 1.0));
const scalarField coefft(1.0 + limiter*deltaT/(deltaT + deltaT0));
const scalarField coefft00
(
limiter*deltaT*deltaT/(deltaT0*(deltaT + deltaT0))
);
const scalarField coefft0(coefft + coefft00);
fvm.diag() = (coefft*rDeltaT)*mesh().V();
@ -504,7 +520,8 @@ boundedBackwardDdtScheme::fvmDdt
// Calculate unboundedness indicator
// Note: all times moved by one because access to internal field
// copies current field into the old-time level.
scalarField phict =
const scalarField phict
(
mag
(
vf.oldTime().oldTime().internalField()
@ -517,13 +534,16 @@ boundedBackwardDdtScheme::fvmDdt
- vf.oldTime().oldTime().internalField()
)
+ VSMALL
)
);
scalarField limiter(pos(phict) - pos(phict - 1.0));
scalarField coefft = 1.0 + limiter*deltaT/(deltaT + deltaT0);
scalarField coefft00 = limiter*deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
scalarField coefft0 = coefft + coefft00;
const scalarField limiter(pos(phict) - pos(phict - 1.0));
const scalarField coefft(1.0 + limiter*deltaT/(deltaT + deltaT0));
const scalarField coefft00
(
limiter*deltaT*deltaT/(deltaT0*(deltaT + deltaT0))
);
const scalarField coefft0(coefft + coefft00);
fvm.diag() = (coefft*rDeltaT*rho.value())*mesh().V();
@ -574,7 +594,8 @@ boundedBackwardDdtScheme::fvmDdt
// Calculate unboundedness indicator
// Note: all times moved by one because access to internal field
// copies current field into the old-time level.
scalarField phict =
const scalarField phict
(
mag
(
rho.oldTime().oldTime().internalField()*
@ -591,13 +612,16 @@ boundedBackwardDdtScheme::fvmDdt
vf.oldTime().oldTime().internalField()
)
+ VSMALL
)
);
scalarField limiter(pos(phict) - pos(phict - 1.0));
scalarField coefft = 1.0 + limiter*deltaT/(deltaT + deltaT0);
scalarField coefft00 = limiter*deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
scalarField coefft0 = coefft + coefft00;
const scalarField limiter(pos(phict) - pos(phict - 1.0));
const scalarField coefft(1.0 + limiter*deltaT/(deltaT + deltaT0));
const scalarField coefft00
(
limiter*deltaT*deltaT/(deltaT0*(deltaT + deltaT0))
);
const scalarField coefft0(coefft + coefft00);
fvm.diag() = (coefft*rDeltaT)*rho.internalField()*mesh().V();

View File

@ -183,8 +183,10 @@ void Foam::fvc::spread
label facei = patch.start() + patchFacei;
label own = mesh.faceOwner()[facei];
scalarField alphapn =
alpha.boundaryField()[patchi].patchNeighbourField();
const scalarField alphapn
(
alpha.boundaryField()[patchi].patchNeighbourField()
);
if
(
@ -283,8 +285,10 @@ void Foam::fvc::sweep
label facei = patch.start() + patchFacei;
label own = mesh.faceOwner()[facei];
scalarField alphapn =
alpha.boundaryField()[patchi].patchNeighbourField();
const scalarField alphapn
(
alpha.boundaryField()[patchi].patchNeighbourField()
);
if (mag(alpha[own] - alphapn[patchFacei]) > alphaDiff)
{