mirror of
https://github.com/OpenFOAM/OpenFOAM-6.git
synced 2025-12-08 06:57:46 +00:00
twoPhaseEulerFoam: rationalize handling of fixed-flux BC update
This commit is contained in:
@ -91,27 +91,9 @@ while (pimple.correct())
|
||||
// Update continuity errors due to temperature changes
|
||||
#include "correctContErrs.H"
|
||||
|
||||
// Correct flux BCs to be consistent with the velocity BCs
|
||||
forAll(mesh.boundary(), patchi)
|
||||
{
|
||||
if (isA<fixedValueFvsPatchScalarField>(phi1.boundaryField()[patchi]))
|
||||
{
|
||||
phi1.boundaryField()[patchi] ==
|
||||
mrfZones.relative
|
||||
(
|
||||
mesh.Sf().boundaryField() & U1.boundaryField()
|
||||
)()[patchi];
|
||||
}
|
||||
|
||||
if (isA<fixedValueFvsPatchScalarField>(phi2.boundaryField()[patchi]))
|
||||
{
|
||||
phi2.boundaryField()[patchi] ==
|
||||
mrfZones.relative
|
||||
(
|
||||
mesh.Sf().boundaryField() & U2.boundaryField()
|
||||
)()[patchi];
|
||||
}
|
||||
}
|
||||
// Correct fixed-flux BCs to be consistent with the velocity BCs
|
||||
mrfZones.correctBoundaryFlux(U1, phi1);
|
||||
mrfZones.correctBoundaryFlux(U2, phi2);
|
||||
|
||||
volVectorField HbyA1
|
||||
(
|
||||
|
||||
@ -99,26 +99,8 @@ while (pimple.correct())
|
||||
surfaceScalarField rhof2(fvc::interpolate(rho2));
|
||||
|
||||
// Correct fixed-flux BCs to be consistent with the velocity BCs
|
||||
forAll(mesh.boundary(), patchi)
|
||||
{
|
||||
if (isA<fixedValueFvsPatchScalarField>(phi1.boundaryField()[patchi]))
|
||||
{
|
||||
phi1.boundaryField()[patchi] ==
|
||||
mrfZones.relative
|
||||
(
|
||||
mesh.Sf().boundaryField() & U1.boundaryField()
|
||||
)()[patchi];
|
||||
}
|
||||
|
||||
if (isA<fixedValueFvsPatchScalarField>(phi2.boundaryField()[patchi]))
|
||||
{
|
||||
phi2.boundaryField()[patchi] ==
|
||||
mrfZones.relative
|
||||
(
|
||||
mesh.Sf().boundaryField() & U2.boundaryField()
|
||||
)()[patchi];
|
||||
}
|
||||
}
|
||||
mrfZones.correctBoundaryFlux(U1, phi1);
|
||||
mrfZones.correctBoundaryFlux(U2, phi2);
|
||||
|
||||
surfaceScalarField alpharAUf1
|
||||
(
|
||||
|
||||
@ -526,7 +526,6 @@ void Foam::MRFZone::correctBoundaryVelocity(volVectorField& U) const
|
||||
{
|
||||
const vector Omega = this->Omega();
|
||||
|
||||
|
||||
// Included patches
|
||||
forAll(includedFaces_, patchi)
|
||||
{
|
||||
|
||||
@ -246,7 +246,7 @@ public:
|
||||
surfaceScalarField& phi
|
||||
) const;
|
||||
|
||||
//- Correct the boundary velocity for the roation of the MRF region
|
||||
//- Correct the boundary velocity for the rotation of the MRF region
|
||||
void correctBoundaryVelocity(volVectorField& U) const;
|
||||
|
||||
|
||||
|
||||
@ -25,6 +25,7 @@ License
|
||||
|
||||
#include "MRFZoneList.H"
|
||||
#include "volFields.H"
|
||||
#include "fixedValueFvsPatchFields.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
@ -310,6 +311,30 @@ void Foam::MRFZoneList::correctBoundaryVelocity(volVectorField& U) const
|
||||
}
|
||||
|
||||
|
||||
void Foam::MRFZoneList::correctBoundaryFlux
|
||||
(
|
||||
const volVectorField& U,
|
||||
surfaceScalarField& phi
|
||||
) const
|
||||
{
|
||||
FieldField<fvsPatchField, scalar> phibf
|
||||
(
|
||||
relative(mesh_.Sf().boundaryField() & U.boundaryField())
|
||||
);
|
||||
|
||||
forAll(mesh_.boundary(), patchi)
|
||||
{
|
||||
if
|
||||
(
|
||||
isA<fixedValueFvsPatchScalarField>(phi.boundaryField()[patchi])
|
||||
)
|
||||
{
|
||||
phi.boundaryField()[patchi] == phibf[patchi];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * IOstream Operators * * * * * * * * * * * * //
|
||||
|
||||
Foam::Ostream& Foam::operator<<
|
||||
|
||||
@ -160,9 +160,16 @@ public:
|
||||
surfaceScalarField& phi
|
||||
) const;
|
||||
|
||||
//- Correct the boundary velocity for the roation of the MRF region
|
||||
//- Correct the boundary velocity for the rotation of the MRF region
|
||||
void correctBoundaryVelocity(volVectorField& U) const;
|
||||
|
||||
//- Correct the boundary flux for the rotation of the MRF region
|
||||
void correctBoundaryFlux
|
||||
(
|
||||
const volVectorField& U,
|
||||
surfaceScalarField& phi
|
||||
) const;
|
||||
|
||||
|
||||
// I-O
|
||||
|
||||
|
||||
Reference in New Issue
Block a user