mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: Updated construction/retrieval of gravity field. See #1094
This commit is contained in:
@ -3,7 +3,6 @@ PtrList<rhoThermo> thermoFluid(fluidRegions.size());
|
||||
PtrList<volScalarField> rhoFluid(fluidRegions.size());
|
||||
PtrList<volVectorField> UFluid(fluidRegions.size());
|
||||
PtrList<surfaceScalarField> phiFluid(fluidRegions.size());
|
||||
PtrList<uniformDimensionedVectorField> gFluid(fluidRegions.size());
|
||||
PtrList<uniformDimensionedScalarField> hRefFluid(fluidRegions.size());
|
||||
PtrList<volScalarField> ghFluid(fluidRegions.size());
|
||||
PtrList<surfaceScalarField> ghfFluid(fluidRegions.size());
|
||||
@ -22,6 +21,8 @@ PtrList<dimensionedScalar> rhoMin(fluidRegions.size());
|
||||
PtrList<IOMRFZoneList> MRFfluid(fluidRegions.size());
|
||||
PtrList<fv::options> fluidFvOptions(fluidRegions.size());
|
||||
|
||||
const uniformDimensionedVectorField& g = meshObjects::gravity::New(runTime);
|
||||
|
||||
// Populate fluid field pointer lists
|
||||
forAll(fluidRegions, i)
|
||||
{
|
||||
@ -91,23 +92,6 @@ forAll(fluidRegions, i)
|
||||
)
|
||||
);
|
||||
|
||||
Info<< " Adding to gFluid\n" << endl;
|
||||
gFluid.set
|
||||
(
|
||||
i,
|
||||
new uniformDimensionedVectorField
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"g",
|
||||
runTime.constant(),
|
||||
fluidRegions[i],
|
||||
IOobject::MUST_READ,
|
||||
IOobject::NO_WRITE
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
Info<< " Adding to hRefFluid\n" << endl;
|
||||
hRefFluid.set
|
||||
(
|
||||
@ -128,10 +112,9 @@ forAll(fluidRegions, i)
|
||||
|
||||
dimensionedScalar ghRef
|
||||
(
|
||||
mag(gFluid[i].value()) > SMALL
|
||||
? gFluid[i]
|
||||
& (cmptMag(gFluid[i].value())/mag(gFluid[i].value()))*hRefFluid[i]
|
||||
: dimensionedScalar("ghRef", gFluid[i].dimensions()*dimLength, 0)
|
||||
mag(g.value()) > SMALL
|
||||
? g & (cmptMag(g.value())/mag(g.value()))*hRefFluid[i]
|
||||
: dimensionedScalar("ghRef", g.dimensions()*dimLength, 0)
|
||||
);
|
||||
|
||||
Info<< " Adding to ghFluid\n" << endl;
|
||||
@ -141,7 +124,7 @@ forAll(fluidRegions, i)
|
||||
new volScalarField
|
||||
(
|
||||
"gh",
|
||||
(gFluid[i] & fluidRegions[i].C()) - ghRef
|
||||
(g & fluidRegions[i].C()) - ghRef
|
||||
)
|
||||
);
|
||||
|
||||
@ -152,7 +135,7 @@ forAll(fluidRegions, i)
|
||||
new surfaceScalarField
|
||||
(
|
||||
"ghf",
|
||||
(gFluid[i] & fluidRegions[i].Cf()) - ghRef
|
||||
(g & fluidRegions[i].Cf()) - ghRef
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
@ -14,7 +14,6 @@
|
||||
|
||||
volScalarField& p_rgh = p_rghFluid[i];
|
||||
|
||||
const dimensionedVector& g = gFluid[i];
|
||||
const volScalarField& gh = ghFluid[i];
|
||||
const surfaceScalarField& ghf = ghfFluid[i];
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2014-2015 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2018 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -25,6 +25,7 @@ License
|
||||
|
||||
#include "phasePair.H"
|
||||
#include "surfaceTensionModel.H"
|
||||
#include "gravityMeshObject.H"
|
||||
|
||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||
|
||||
@ -53,7 +54,7 @@ Foam::phasePair::phasePair
|
||||
phasePairKey(phase1.name(), phase2.name(), ordered),
|
||||
phase1_(phase1),
|
||||
phase2_(phase2),
|
||||
g_(phase1.mesh().lookupObject<uniformDimensionedVectorField>("g"))
|
||||
g_(meshObjects::gravity::New(phase1.db().time()))
|
||||
{}
|
||||
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2016-2017 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2018 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -25,7 +25,7 @@ License
|
||||
|
||||
#include "KocamustafaogullariIshii.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
#include "uniformDimensionedFields.H"
|
||||
#include "gravityMeshObject.H"
|
||||
#include "compressibleTurbulenceModel.H"
|
||||
#include "ThermalDiffusivity.H"
|
||||
#include "PhaseCompressibleTurbulenceModel.H"
|
||||
@ -87,7 +87,7 @@ KocamustafaogullariIshii::dDeparture
|
||||
{
|
||||
// Gravitational acceleration
|
||||
const uniformDimensionedVectorField& g =
|
||||
liquid.mesh().lookupObject<uniformDimensionedVectorField>("g");
|
||||
meshObjects::gravity::New(liquid.mesh().time());
|
||||
|
||||
const fvPatchScalarField& rhoLiquid =
|
||||
liquid.turbulence().rho().boundaryField()[patchi];
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2018 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -25,7 +25,7 @@ License
|
||||
|
||||
#include "Cole.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
#include "uniformDimensionedFields.H"
|
||||
#include "gravityMeshObject.H"
|
||||
#include "compressibleTurbulenceModel.H"
|
||||
#include "ThermalDiffusivity.H"
|
||||
#include "PhaseCompressibleTurbulenceModel.H"
|
||||
@ -52,8 +52,10 @@ namespace departureFrequencyModels
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::wallBoilingModels::departureFrequencyModels::
|
||||
Cole::Cole(const dictionary& dict)
|
||||
Foam::wallBoilingModels::departureFrequencyModels::Cole::Cole
|
||||
(
|
||||
const dictionary& dict
|
||||
)
|
||||
:
|
||||
departureFrequencyModel()
|
||||
{}
|
||||
@ -61,16 +63,14 @@ Cole::Cole(const dictionary& dict)
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::wallBoilingModels::departureFrequencyModels::
|
||||
Cole::~Cole()
|
||||
Foam::wallBoilingModels::departureFrequencyModels::Cole::~Cole()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::wallBoilingModels::departureFrequencyModels::
|
||||
Cole::fDeparture
|
||||
Foam::wallBoilingModels::departureFrequencyModels::Cole::fDeparture
|
||||
(
|
||||
const phaseModel& liquid,
|
||||
const phaseModel& vapor,
|
||||
@ -80,7 +80,7 @@ Cole::fDeparture
|
||||
{
|
||||
// Gravitational acceleration
|
||||
const uniformDimensionedVectorField& g =
|
||||
liquid.mesh().lookupObject<uniformDimensionedVectorField>("g");
|
||||
meshObjects::gravity::New(liquid.mesh().time());
|
||||
|
||||
const fvPatchScalarField& rhoLiquid =
|
||||
liquid.turbulence().rho().boundaryField()[patchi];
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2018 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -26,7 +26,7 @@ License
|
||||
#include "IATEsource.H"
|
||||
#include "fvMatrix.H"
|
||||
#include "phaseCompressibleTurbulenceModel.H"
|
||||
#include "uniformDimensionedFields.H"
|
||||
#include "gravityMeshObject.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
@ -54,12 +54,12 @@ Foam::diameterModels::IATEsource::New
|
||||
|
||||
if (!cstrIter.found())
|
||||
{
|
||||
FatalErrorInFunction
|
||||
FatalIOErrorInFunction(dict)
|
||||
<< "Unknown IATE source type "
|
||||
<< type << nl << nl
|
||||
<< "Valid IATE source types :" << endl
|
||||
<< "Valid IATE source types :" << nl
|
||||
<< dictionaryConstructorTablePtr_->sortedToc()
|
||||
<< exit(FatalError);
|
||||
<< exit(FatalIOError);
|
||||
}
|
||||
|
||||
return autoPtr<IATEsource>(cstrIter()(iate, dict));
|
||||
@ -71,7 +71,7 @@ Foam::diameterModels::IATEsource::New
|
||||
Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Ur() const
|
||||
{
|
||||
const uniformDimensionedVectorField& g =
|
||||
phase().db().lookupObject<uniformDimensionedVectorField>("g");
|
||||
meshObjects::gravity::New(phase().db().time());
|
||||
|
||||
return
|
||||
sqrt(2.0)
|
||||
@ -84,16 +84,19 @@ Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Ur() const
|
||||
*pow(max(1 - phase(), scalar(0)), 1.75);
|
||||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Ut() const
|
||||
{
|
||||
return sqrt(2*otherPhase().turbulence().k());
|
||||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Re() const
|
||||
{
|
||||
return max(Ur()*phase().d()/otherPhase().nu(), scalar(1.0e-3));
|
||||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::CD() const
|
||||
{
|
||||
const volScalarField Eo(this->Eo());
|
||||
@ -111,10 +114,11 @@ Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::CD() const
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Mo() const
|
||||
{
|
||||
const uniformDimensionedVectorField& g =
|
||||
phase().db().lookupObject<uniformDimensionedVectorField>("g");
|
||||
meshObjects::gravity::New(phase().db().time());
|
||||
|
||||
return
|
||||
mag(g)*pow4(otherPhase().nu())*sqr(otherPhase().rho())
|
||||
@ -122,10 +126,11 @@ Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Mo() const
|
||||
/pow3(fluid().sigma());
|
||||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Eo() const
|
||||
{
|
||||
const uniformDimensionedVectorField& g =
|
||||
phase().db().lookupObject<uniformDimensionedVectorField>("g");
|
||||
meshObjects::gravity::New(phase().db().time());
|
||||
|
||||
return
|
||||
mag(g)*sqr(phase().d())
|
||||
@ -133,6 +138,7 @@ Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Eo() const
|
||||
/fluid().sigma();
|
||||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::We() const
|
||||
{
|
||||
return
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2018 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -27,7 +27,7 @@ License
|
||||
#include "twoPhaseSystem.H"
|
||||
#include "fvMatrix.H"
|
||||
#include "PhaseCompressibleTurbulenceModel.H"
|
||||
#include "uniformDimensionedFields.H"
|
||||
#include "gravityMeshObject.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
@ -55,12 +55,12 @@ Foam::diameterModels::IATEsource::New
|
||||
|
||||
if (!cstrIter.found())
|
||||
{
|
||||
FatalErrorInFunction
|
||||
FatalIOErrorInFunction(dict)
|
||||
<< "Unknown IATE source type "
|
||||
<< type << nl << nl
|
||||
<< "Valid IATE source types :" << endl
|
||||
<< "Valid IATE source types :" << nl
|
||||
<< dictionaryConstructorTablePtr_->sortedToc()
|
||||
<< exit(FatalError);
|
||||
<< exit(FatalIOError);
|
||||
}
|
||||
|
||||
return autoPtr<IATEsource>(cstrIter()(iate, dict));
|
||||
@ -72,7 +72,7 @@ Foam::diameterModels::IATEsource::New
|
||||
Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Ur() const
|
||||
{
|
||||
const uniformDimensionedVectorField& g =
|
||||
phase().U().db().lookupObject<uniformDimensionedVectorField>("g");
|
||||
meshObjects::gravity::New(phase().U().time());
|
||||
|
||||
return
|
||||
sqrt(2.0)
|
||||
@ -85,16 +85,19 @@ Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Ur() const
|
||||
*pow(max(1 - phase(), scalar(0)), 1.75);
|
||||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Ut() const
|
||||
{
|
||||
return sqrt(2*otherPhase().turbulence().k());
|
||||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Re() const
|
||||
{
|
||||
return max(Ur()*phase().d()/otherPhase().nu(), scalar(1.0e-3));
|
||||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::CD() const
|
||||
{
|
||||
const volScalarField Eo(this->Eo());
|
||||
@ -112,10 +115,11 @@ Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::CD() const
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Mo() const
|
||||
{
|
||||
const uniformDimensionedVectorField& g =
|
||||
phase().U().db().lookupObject<uniformDimensionedVectorField>("g");
|
||||
meshObjects::gravity::New(phase().U().time());
|
||||
|
||||
return
|
||||
mag(g)*pow4(otherPhase().nu())*sqr(otherPhase().rho())
|
||||
@ -123,10 +127,11 @@ Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Mo() const
|
||||
/pow3(fluid().sigma());
|
||||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Eo() const
|
||||
{
|
||||
const uniformDimensionedVectorField& g =
|
||||
phase().U().db().lookupObject<uniformDimensionedVectorField>("g");
|
||||
meshObjects::gravity::New(phase().U().time());
|
||||
|
||||
return
|
||||
mag(g)*sqr(phase().d())
|
||||
@ -134,6 +139,7 @@ Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Eo() const
|
||||
/fluid().sigma();
|
||||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::We() const
|
||||
{
|
||||
return otherPhase().rho()*sqr(Ur())*phase().d()/fluid().sigma();
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2014-2015 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2018 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -24,7 +24,7 @@ License
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "buoyantKEpsilon.H"
|
||||
#include "uniformDimensionedFields.H"
|
||||
#include "gravityMeshObject.H"
|
||||
#include "fvcGrad.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
|
||||
@ -102,8 +102,7 @@ tmp<volScalarField>
|
||||
buoyantKEpsilon<BasicTurbulenceModel>::Gcoef() const
|
||||
{
|
||||
const uniformDimensionedVectorField& g =
|
||||
this->mesh_.objectRegistry::template
|
||||
lookupObject<uniformDimensionedVectorField>("g");
|
||||
meshObjects::gravity::New(this->mesh_.time());
|
||||
|
||||
return
|
||||
(Cg_*this->Cmu_)*this->alpha_*this->k_*(g & fvc::grad(this->rho_))
|
||||
@ -116,8 +115,7 @@ tmp<fvScalarMatrix>
|
||||
buoyantKEpsilon<BasicTurbulenceModel>::kSource() const
|
||||
{
|
||||
const uniformDimensionedVectorField& g =
|
||||
this->mesh_.objectRegistry::template
|
||||
lookupObject<uniformDimensionedVectorField>("g");
|
||||
meshObjects::gravity::New(this->mesh_.time());
|
||||
|
||||
if (mag(g.value()) > SMALL)
|
||||
{
|
||||
@ -135,8 +133,7 @@ tmp<fvScalarMatrix>
|
||||
buoyantKEpsilon<BasicTurbulenceModel>::epsilonSource() const
|
||||
{
|
||||
const uniformDimensionedVectorField& g =
|
||||
this->mesh_.objectRegistry::template
|
||||
lookupObject<uniformDimensionedVectorField>("g");
|
||||
meshObjects::gravity::New(this->mesh_.time());
|
||||
|
||||
if (mag(g.value()) > SMALL)
|
||||
{
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation | Copyright (C) 2017 OpenCFD Ltd.
|
||||
\\/ M anipulation | Copyright (C) 2017-2018 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -28,7 +28,7 @@ License
|
||||
#include "fvPatchFieldMapper.H"
|
||||
#include "volFields.H"
|
||||
#include "surfaceFields.H"
|
||||
#include "uniformDimensionedFields.H"
|
||||
#include "gravityMeshObject.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
@ -145,7 +145,7 @@ void Foam::phaseHydrostaticPressureFvPatchScalarField::updateCoeffs()
|
||||
);
|
||||
|
||||
const uniformDimensionedVectorField& g =
|
||||
db().lookupObject<uniformDimensionedVectorField>("g");
|
||||
meshObjects::gravity::New(db().time());
|
||||
|
||||
// scalar rhor = 1000;
|
||||
// scalarField alphap1 = max(min(alphap, scalar(1)), scalar(0));
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2018 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -27,7 +27,7 @@ License
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
#include "fvPatchFieldMapper.H"
|
||||
#include "volFields.H"
|
||||
#include "uniformDimensionedFields.H"
|
||||
#include "gravityMeshObject.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
@ -150,7 +150,7 @@ void Foam::prghPressureFvPatchScalarField::updateCoeffs()
|
||||
);
|
||||
|
||||
const uniformDimensionedVectorField& g =
|
||||
db().lookupObject<uniformDimensionedVectorField>("g");
|
||||
meshObjects::gravity::New(db().time());
|
||||
|
||||
const uniformDimensionedScalarField& hRef =
|
||||
db().lookupObject<uniformDimensionedScalarField>("hRef");
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2015-2017 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2018 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -28,12 +28,11 @@ License
|
||||
#include "fvPatchFieldMapper.H"
|
||||
#include "volFields.H"
|
||||
#include "surfaceFields.H"
|
||||
#include "uniformDimensionedFields.H"
|
||||
#include "gravityMeshObject.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::prghTotalPressureFvPatchScalarField::
|
||||
prghTotalPressureFvPatchScalarField
|
||||
Foam::prghTotalPressureFvPatchScalarField::prghTotalPressureFvPatchScalarField
|
||||
(
|
||||
const fvPatch& p,
|
||||
const DimensionedField<scalar, volMesh>& iF
|
||||
@ -47,8 +46,7 @@ prghTotalPressureFvPatchScalarField
|
||||
{}
|
||||
|
||||
|
||||
Foam::prghTotalPressureFvPatchScalarField::
|
||||
prghTotalPressureFvPatchScalarField
|
||||
Foam::prghTotalPressureFvPatchScalarField::prghTotalPressureFvPatchScalarField
|
||||
(
|
||||
const fvPatch& p,
|
||||
const DimensionedField<scalar, volMesh>& iF,
|
||||
@ -75,8 +73,7 @@ prghTotalPressureFvPatchScalarField
|
||||
}
|
||||
|
||||
|
||||
Foam::prghTotalPressureFvPatchScalarField::
|
||||
prghTotalPressureFvPatchScalarField
|
||||
Foam::prghTotalPressureFvPatchScalarField::prghTotalPressureFvPatchScalarField
|
||||
(
|
||||
const prghTotalPressureFvPatchScalarField& ptf,
|
||||
const fvPatch& p,
|
||||
@ -92,8 +89,7 @@ prghTotalPressureFvPatchScalarField
|
||||
{}
|
||||
|
||||
|
||||
Foam::prghTotalPressureFvPatchScalarField::
|
||||
prghTotalPressureFvPatchScalarField
|
||||
Foam::prghTotalPressureFvPatchScalarField::prghTotalPressureFvPatchScalarField
|
||||
(
|
||||
const prghTotalPressureFvPatchScalarField& ptf
|
||||
)
|
||||
@ -106,8 +102,7 @@ prghTotalPressureFvPatchScalarField
|
||||
{}
|
||||
|
||||
|
||||
Foam::prghTotalPressureFvPatchScalarField::
|
||||
prghTotalPressureFvPatchScalarField
|
||||
Foam::prghTotalPressureFvPatchScalarField::prghTotalPressureFvPatchScalarField
|
||||
(
|
||||
const prghTotalPressureFvPatchScalarField& ptf,
|
||||
const DimensionedField<scalar, volMesh>& iF
|
||||
@ -165,7 +160,7 @@ void Foam::prghTotalPressureFvPatchScalarField::updateCoeffs()
|
||||
patch().lookupPatchField<volVectorField, vector>(UName_);
|
||||
|
||||
const uniformDimensionedVectorField& g =
|
||||
db().lookupObject<uniformDimensionedVectorField>("g");
|
||||
meshObjects::gravity::New(db().time());
|
||||
|
||||
const uniformDimensionedScalarField& hRef =
|
||||
db().lookupObject<uniformDimensionedScalarField>("hRef");
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2018 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -27,8 +27,7 @@ License
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
#include "fvPatchFieldMapper.H"
|
||||
#include "volFields.H"
|
||||
#include "surfaceFields.H"
|
||||
#include "uniformDimensionedFields.H"
|
||||
#include "gravityMeshObject.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
@ -126,7 +125,7 @@ void Foam::uniformDensityHydrostaticPressureFvPatchScalarField::updateCoeffs()
|
||||
}
|
||||
|
||||
const uniformDimensionedVectorField& g =
|
||||
db().lookupObject<uniformDimensionedVectorField>("g");
|
||||
meshObjects::gravity::New(db().time());
|
||||
|
||||
operator==
|
||||
(
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2018 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -28,7 +28,7 @@ License
|
||||
#include "fvPatchFieldMapper.H"
|
||||
#include "volFields.H"
|
||||
#include "surfaceFields.H"
|
||||
#include "uniformDimensionedFields.H"
|
||||
#include "gravityMeshObject.H"
|
||||
#include "EulerDdtScheme.H"
|
||||
#include "CrankNicolsonDdtScheme.H"
|
||||
#include "backwardDdtScheme.H"
|
||||
@ -143,22 +143,22 @@ void Foam::waveSurfacePressureFvPatchScalarField::updateCoeffs()
|
||||
|
||||
const scalar dt = db().time().deltaTValue();
|
||||
|
||||
// retrieve non-const access to zeta field from the database
|
||||
// Retrieve non-const access to zeta field from the database
|
||||
volVectorField& zeta = db().lookupObjectRef<volVectorField>(zetaName_);
|
||||
vectorField& zetap = zeta.boundaryFieldRef()[patchi];
|
||||
|
||||
// lookup d/dt scheme from database for zeta
|
||||
// Lookup d/dt scheme from database for zeta
|
||||
const word ddtSchemeName(zeta.mesh().ddtScheme(zeta.name()));
|
||||
ddtSchemeType ddtScheme(ddtSchemeTypeNames_[ddtSchemeName]);
|
||||
|
||||
// retrieve the flux field from the database
|
||||
// Retrieve the flux field from the database
|
||||
const surfaceScalarField& phi =
|
||||
db().lookupObject<surfaceScalarField>(phiName_);
|
||||
|
||||
// cache the patch face-normal vectors
|
||||
// Cache the patch face-normal vectors
|
||||
tmp<vectorField> nf(patch().nf());
|
||||
|
||||
// change in zeta due to flux
|
||||
// Change in zeta due to flux
|
||||
vectorField dZetap(dt*nf()*phi.boundaryField()[patchi]/patch().magSf());
|
||||
|
||||
if (phi.dimensions() == dimDensity*dimVelocity*dimArea)
|
||||
@ -212,9 +212,9 @@ void Foam::waveSurfacePressureFvPatchScalarField::updateCoeffs()
|
||||
Info<< "min/max zetap = " << gMin(zetap & nf()) << ", "
|
||||
<< gMax(zetap & nf()) << endl;
|
||||
|
||||
// update the surface pressure
|
||||
// Update the surface pressure
|
||||
const uniformDimensionedVectorField& g =
|
||||
db().lookupObject<uniformDimensionedVectorField>("g");
|
||||
meshObjects::gravity::New(db().time());
|
||||
|
||||
operator==(-g.value() & zetap);
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2018 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -25,6 +25,7 @@ License
|
||||
|
||||
#include "icoUncoupledKinematicCloud.H"
|
||||
#include "singlePhaseTransportModel.H"
|
||||
#include "gravityMeshObject.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
@ -54,18 +55,7 @@ Foam::functionObjects::icoUncoupledKinematicCloud::icoUncoupledKinematicCloud
|
||||
)
|
||||
:
|
||||
fvMeshFunctionObject(name, runTime, dict),
|
||||
g_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"g",
|
||||
time_.constant(),
|
||||
mesh_,
|
||||
IOobject::READ_IF_PRESENT,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
dimensionedVector("g", dimAcceleration, Zero) // Needs name
|
||||
),
|
||||
g_(meshObjects::gravity::New(time_)),
|
||||
laminarTransport_
|
||||
(
|
||||
mesh_.lookupObject<singlePhaseTransportModel>("transportProperties")
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2015-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2018 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -25,6 +25,7 @@ License
|
||||
|
||||
#include "buoyancyEnergy.H"
|
||||
#include "fvMatrices.H"
|
||||
#include "gravityMeshObject.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
|
||||
// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * //
|
||||
@ -80,7 +81,7 @@ void Foam::fv::buoyancyEnergy::addSup
|
||||
)
|
||||
{
|
||||
const uniformDimensionedVectorField& g =
|
||||
mesh_.lookupObject<uniformDimensionedVectorField>("g");
|
||||
meshObjects::gravity::New(mesh_.time());
|
||||
|
||||
const volVectorField& U = mesh_.lookupObject<volVectorField>(UName_);
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2015-2017 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2018 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -26,6 +26,7 @@ License
|
||||
#include "buoyancyForce.H"
|
||||
#include "fvMatrices.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
#include "gravityMeshObject.H"
|
||||
|
||||
// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * //
|
||||
|
||||
@ -56,17 +57,7 @@ Foam::fv::buoyancyForce::buoyancyForce
|
||||
)
|
||||
:
|
||||
option(sourceName, modelType, dict, mesh),
|
||||
g_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"g",
|
||||
mesh.time().constant(),
|
||||
mesh,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::NO_WRITE
|
||||
)
|
||||
)
|
||||
g_(meshObjects::gravity::New(mesh.time()))
|
||||
{
|
||||
coeffs_.readEntry("fields", fieldNames_);
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2014-2017 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2018 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -26,7 +26,7 @@ License
|
||||
#include "solidificationMeltingSource.H"
|
||||
#include "fvMatrices.H"
|
||||
#include "basicThermo.H"
|
||||
#include "uniformDimensionedFields.H"
|
||||
#include "gravityMeshObject.H"
|
||||
#include "zeroGradientFvPatchFields.H"
|
||||
#include "extrapolatedCalculatedFvPatchFields.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
@ -120,19 +120,6 @@ Foam::fv::solidificationMeltingSource::Cp() const
|
||||
}
|
||||
|
||||
|
||||
Foam::vector Foam::fv::solidificationMeltingSource::g() const
|
||||
{
|
||||
if (mesh_.foundObject<uniformDimensionedVectorField>("g"))
|
||||
{
|
||||
const uniformDimensionedVectorField& value =
|
||||
mesh_.lookupObject<uniformDimensionedVectorField>("g");
|
||||
return value.value();
|
||||
}
|
||||
|
||||
return coeffs_.get<vector>("g");
|
||||
}
|
||||
|
||||
|
||||
void Foam::fv::solidificationMeltingSource::update(const volScalarField& Cp)
|
||||
{
|
||||
if (curTimeIndex_ == mesh_.time().timeIndex())
|
||||
@ -276,7 +263,7 @@ void Foam::fv::solidificationMeltingSource::addSup
|
||||
|
||||
update(Cp);
|
||||
|
||||
vector g = this->g();
|
||||
const vector& g = meshObjects::gravity::New(mesh_.time()).value();
|
||||
|
||||
scalarField& Sp = eqn.diag();
|
||||
vectorField& Su = eqn.source();
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2014-2017 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2018 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -180,9 +180,6 @@ private:
|
||||
//- Return the specific heat capacity field
|
||||
tmp<volScalarField> Cp() const;
|
||||
|
||||
//- Return the gravity vector
|
||||
vector g() const;
|
||||
|
||||
//- Update the model
|
||||
void update(const volScalarField& Cp);
|
||||
|
||||
|
||||
@ -64,9 +64,9 @@ Foam::fv::tabulatedAccelerationSource::tabulatedAccelerationSource
|
||||
fieldNames_.setSize(1, UName_);
|
||||
applied_.setSize(1, false);
|
||||
|
||||
if (mesh.foundObject<uniformDimensionedVectorField>("g"))
|
||||
if (mesh.time().foundObject<uniformDimensionedVectorField>("g"))
|
||||
{
|
||||
g0_ = mesh.lookupObject<uniformDimensionedVectorField>("g");
|
||||
g0_ = mesh.time().lookupObject<uniformDimensionedVectorField>("g");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -41,10 +41,10 @@ void Foam::fv::tabulatedAccelerationSource::addSup
|
||||
Vector<vector> acceleration(motion_.acceleration());
|
||||
|
||||
// If gravitational force is present combine with the linear acceleration
|
||||
if (mesh_.foundObject<uniformDimensionedVectorField>("g"))
|
||||
if (mesh_.time().foundObject<uniformDimensionedVectorField>("g"))
|
||||
{
|
||||
uniformDimensionedVectorField& g =
|
||||
mesh_.lookupObjectRef<uniformDimensionedVectorField>("g");
|
||||
mesh_.time().lookupObjectRef<uniformDimensionedVectorField>("g");
|
||||
|
||||
const uniformDimensionedScalarField& hRef =
|
||||
mesh_.lookupObject<uniformDimensionedScalarField>("hRef");
|
||||
|
||||
@ -241,10 +241,10 @@ void Foam::rigidBodyMeshMotion::solve()
|
||||
|
||||
const scalar ramp = ramp_->value(t.value());
|
||||
|
||||
if (db().foundObject<uniformDimensionedVectorField>("g"))
|
||||
if (t.foundObject<uniformDimensionedVectorField>("g"))
|
||||
{
|
||||
model_.g() =
|
||||
ramp*db().lookupObject<uniformDimensionedVectorField>("g").value();
|
||||
ramp*t.lookupObject<uniformDimensionedVectorField>("g").value();
|
||||
}
|
||||
|
||||
if (test_)
|
||||
|
||||
@ -189,10 +189,9 @@ void Foam::rigidBodyMeshMotionSolver::solve()
|
||||
curTimeIndex_ = this->db().time().timeIndex();
|
||||
}
|
||||
|
||||
if (db().foundObject<uniformDimensionedVectorField>("g"))
|
||||
if (t.foundObject<uniformDimensionedVectorField>("g"))
|
||||
{
|
||||
model_.g() =
|
||||
db().lookupObject<uniformDimensionedVectorField>("g").value();
|
||||
model_.g() = t.lookupObject<uniformDimensionedVectorField>("g").value();
|
||||
}
|
||||
|
||||
if (test_)
|
||||
|
||||
@ -174,7 +174,7 @@ void sixDoFRigidBodyDisplacementPointPatchVectorField::updateCoeffs()
|
||||
|
||||
if (lookupGravity_ < 0)
|
||||
{
|
||||
if (db().foundObject<uniformDimensionedVectorField>("g"))
|
||||
if (db().time().foundObject<uniformDimensionedVectorField>("g"))
|
||||
{
|
||||
if (lookupGravity_ == -2)
|
||||
{
|
||||
@ -225,7 +225,7 @@ void sixDoFRigidBodyDisplacementPointPatchVectorField::updateCoeffs()
|
||||
if (lookupGravity_ == 1)
|
||||
{
|
||||
uniformDimensionedVectorField g =
|
||||
db().lookupObject<uniformDimensionedVectorField>("g");
|
||||
db().time().lookupObject<uniformDimensionedVectorField>("g");
|
||||
|
||||
g_ = g.value();
|
||||
}
|
||||
|
||||
@ -162,10 +162,10 @@ void uncoupledSixDoFRigidBodyDisplacementPointPatchVectorField::updateCoeffs()
|
||||
|
||||
vector gravity = Zero;
|
||||
|
||||
if (db().foundObject<uniformDimensionedVectorField>("g"))
|
||||
if (db().time().foundObject<uniformDimensionedVectorField>("g"))
|
||||
{
|
||||
uniformDimensionedVectorField g =
|
||||
db().lookupObject<uniformDimensionedVectorField>("g");
|
||||
db().time().lookupObject<uniformDimensionedVectorField>("g");
|
||||
|
||||
gravity = g.value();
|
||||
}
|
||||
|
||||
@ -189,9 +189,9 @@ void Foam::sixDoFRigidBodyMotionSolver::solve()
|
||||
|
||||
dimensionedVector g("g", dimAcceleration, Zero);
|
||||
|
||||
if (db().foundObject<uniformDimensionedVectorField>("g"))
|
||||
if (db().time().foundObject<uniformDimensionedVectorField>("g"))
|
||||
{
|
||||
g = db().lookupObject<uniformDimensionedVectorField>("g");
|
||||
g = db().time().lookupObject<uniformDimensionedVectorField>("g");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -28,7 +28,7 @@ License
|
||||
#include "vectorList.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
#include "boundaryRadiationProperties.H"
|
||||
#include "uniformDimensionedFields.H"
|
||||
#include "gravityMeshObject.H"
|
||||
#include "cyclicAMIPolyPatch.H"
|
||||
#include "mappedPatchBase.H"
|
||||
#include "wallPolyPatch.H"
|
||||
@ -298,10 +298,10 @@ void Foam::radiation::solarLoad::initialise(const dictionary& coeffs)
|
||||
{
|
||||
verticalDir_.normalise();
|
||||
}
|
||||
else if (mesh_.foundObject<uniformDimensionedVectorField>("g"))
|
||||
else
|
||||
{
|
||||
const uniformDimensionedVectorField& g =
|
||||
mesh_.lookupObject<uniformDimensionedVectorField>("g");
|
||||
meshObjects::gravity::New(mesh_.time());
|
||||
verticalDir_ = (-g/mag(g)).value();
|
||||
}
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2018 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -28,7 +28,7 @@ License
|
||||
#include "fvPatchFieldMapper.H"
|
||||
#include "volFields.H"
|
||||
#include "surfaceFields.H"
|
||||
#include "uniformDimensionedFields.H"
|
||||
#include "gravityMeshObject.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
@ -141,7 +141,7 @@ void Foam::alphaFixedPressureFvPatchScalarField::updateCoeffs()
|
||||
}
|
||||
|
||||
const uniformDimensionedVectorField& g =
|
||||
db().lookupObject<uniformDimensionedVectorField>("g");
|
||||
meshObjects::gravity::New(db().time());
|
||||
|
||||
const fvPatchField<scalar>& rho =
|
||||
patch().lookupPatchField<volScalarField, scalar>("rho");
|
||||
|
||||
@ -26,7 +26,7 @@ License
|
||||
#include "waveModel.H"
|
||||
#include "fvMesh.H"
|
||||
#include "polyPatch.H"
|
||||
#include "uniformDimensionedFields.H"
|
||||
#include "gravityMeshObject.H"
|
||||
#include "volFields.H"
|
||||
#include "fvPatchFields.H"
|
||||
|
||||
@ -261,7 +261,7 @@ Foam::waveModel::waveModel
|
||||
),
|
||||
mesh_(mesh),
|
||||
patch_(patch),
|
||||
g_(mesh.lookupObject<uniformDimensionedVectorField>("g").value()),
|
||||
g_(meshObjects::gravity::New(mesh.time()).value()),
|
||||
UName_("U"),
|
||||
alphaName_("alpha"),
|
||||
Rgl_(tensor::I),
|
||||
|
||||
Reference in New Issue
Block a user