/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | www.openfoam.com
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2017-2022 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see .
\*---------------------------------------------------------------------------*/
#include "MovingPhaseModel.H"
#include "multiphaseInterSystem.H"
#include "fixedValueFvPatchFields.H"
#include "slipFvPatchFields.H"
#include "partialSlipFvPatchFields.H"
#include "fvmDdt.H"
#include "fvmDiv.H"
#include "fvmSup.H"
#include "fvcDdt.H"
#include "fvcDiv.H"
#include "surfaceInterpolate.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template
Foam::MovingPhaseModel::MovingPhaseModel
(
const multiphaseInterSystem& fluid,
const word& phaseName
)
:
BasePhaseModel(fluid, phaseName),
U_(fluid.mesh().lookupObject("U")),
phi_(fluid.mesh().lookupObject("phi")),
alphaPhi_
(
IOobject
(
IOobject::groupName
(
"alphaPhi",
multiphaseInter::phaseModel::name()
),
fluid.mesh().time().timeName(),
fluid.mesh()
),
fluid.mesh(),
dimensionedScalar(dimensionSet(0, 3, -1, 0, 0), Zero)
)
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
template
void Foam::MovingPhaseModel::correct()
{
BasePhaseModel::correct();
}
template
Foam::tmp
Foam::MovingPhaseModel::phi() const
{
return tmp(phi_);
}
template
const Foam::surfaceScalarField&
Foam::MovingPhaseModel::phi()
{
return phi_;
}
template
Foam::tmp
Foam::MovingPhaseModel::alphaPhi() const
{
return tmp(alphaPhi_);
}
template
Foam::surfaceScalarField&
Foam::MovingPhaseModel::alphaPhi()
{
return alphaPhi_;
}
template
Foam::tmp
Foam::MovingPhaseModel::U() const
{
return tmp(U_);
}
template
Foam::tmp Foam::MovingPhaseModel::
diffNo() const
{
return surfaceScalarField::New
(
IOobject::groupName("diffNo", multiphaseInter::phaseModel::name()),
IOobject::NO_REGISTER,
U_.mesh(),
dimensionedScalar(dimless, Zero)
);
}
// ************************************************************************* //