ENH: control local boundary consistency checks from FieldBase settings

- avoids multiple definitions for various template specializations
This commit is contained in:
Mark Olesen
2025-05-19 14:53:00 +02:00
committed by Mattijs Janssens
parent 4668d0e886
commit a9b59ad27e
18 changed files with 127 additions and 636 deletions

View File

@ -197,8 +197,7 @@ void Foam::functionObjects::pressure::addHydrostaticContribution
(g_ & (cmptMag(g_.value())/mag(g_.value())))*hRef_
);
const int oldLocal = volScalarField::Boundary::localConsistency;
volScalarField::Boundary::localConsistency = 0;
const auto oldConsistency = FieldBase::localBoundaryConsistency(0);
tmp<volScalarField> rgh = rhoScale(p, (g_ & mesh_.C()) - ghRef);
@ -218,7 +217,7 @@ void Foam::functionObjects::pressure::addHydrostaticContribution
{}
}
volScalarField::Boundary::localConsistency = oldLocal;
FieldBase::localBoundaryConsistency(oldConsistency);
}

View File

@ -234,8 +234,7 @@ bool Foam::functionObjects::setFlow::execute()
}
case modeType::ROTATION:
{
const int oldLocal = volVectorField::Boundary::localConsistency;
volVectorField::Boundary::localConsistency = 0;
const auto oldConsistency = FieldBase::localBoundaryConsistency(0);
const volVectorField& C = mesh_.C();
const volVectorField d
@ -269,7 +268,8 @@ bool Foam::functionObjects::setFlow::execute()
}
U = U & R_;
volVectorField::Boundary::localConsistency = oldLocal;
FieldBase::localBoundaryConsistency(oldConsistency);
U.correctBoundaryConditions();
setPhi(U);
@ -279,8 +279,7 @@ bool Foam::functionObjects::setFlow::execute()
{
const scalar pi = Foam::constant::mathematical::pi;
const int oldLocal = volVectorField::Boundary::localConsistency;
volVectorField::Boundary::localConsistency = 0;
const auto oldConsistency = FieldBase::localBoundaryConsistency(0);
const volVectorField& C = mesh_.C();
@ -298,7 +297,8 @@ bool Foam::functionObjects::setFlow::execute()
Uc.replace(vector::Z, sin(2*pi*x)*sqr(sin(pi*z)));
U = U & R_;
volVectorField::Boundary::localConsistency = oldLocal;
FieldBase::localBoundaryConsistency(oldConsistency);
U.correctBoundaryConditions();
// Calculating phi
@ -343,8 +343,7 @@ bool Foam::functionObjects::setFlow::execute()
{
const scalar pi = Foam::constant::mathematical::pi;
const int oldLocal = volVectorField::Boundary::localConsistency;
volVectorField::Boundary::localConsistency = 0;
const auto oldConsistency = FieldBase::localBoundaryConsistency(0);
const volVectorField& C = mesh_.C();
@ -363,7 +362,8 @@ bool Foam::functionObjects::setFlow::execute()
Uc.replace(vector::Z, -sin(2*pi*x)*sin(2*pi*y)*sqr(sin(pi*z)));
U = U & R_;
volVectorField::Boundary::localConsistency = oldLocal;
FieldBase::localBoundaryConsistency(oldConsistency);
U.correctBoundaryConditions();
// Calculating phi