fvModels: surfaceFilms: Support for multiple films

The surfaceFilm fvModel has been renamed surfaceFilms, and can now have
a number of independent film models specified.

For example, the hotBoxes tutorial could be modified to have separate
film regions for the boxes and for the floor. In which case, the names
of the separate films would need specifying as shown below.

    surfaceFilms
    {
        type    surfaceFilms;
        surfaceFilms (boxesFilm floorFilm); // <-- new entry
        libs    ("libsurfaceFilmModels.so");
    }

The old fvModel name, surfaceFilm, has been maintained for backwards
compatibility.

The Lagrangian surface film model now also requires the coupled
surfaceFilms to be specified when there is not just a single
default-named film. For example, in constant/cloudProperties:

    subModels
    {
        surfaceFilmModel thermoSurfaceFilm;

        thermoSurfaceFilmCoeffs
        {
            surfaceFilms    (boxesFilm floorFilm); // <-- new entry
            interactionType splashBai;
            deltaWet        0.0005;
            Adry            2630;
            Awet            1320;
            Cf              0.6;
        }

        ...
    }
This commit is contained in:
Will Bainbridge
2022-10-19 11:43:23 +01:00
parent 22d2b7be26
commit b1de509a77
135 changed files with 1880 additions and 1656 deletions

View File

@ -25,7 +25,7 @@ License
#include "VoFPatchTransfer.H"
#include "compressibleTwoPhaseMixture.H"
#include "thermoSingleLayer.H"
#include "thermoSurfaceFilm.H"
#include "addToRunTimeSelectionTable.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -34,7 +34,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -46,7 +46,7 @@ addToRunTimeSelectionTable(transferModel, VoFPatchTransfer, dictionary);
VoFPatchTransfer::VoFPatchTransfer
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
)
:
@ -146,7 +146,7 @@ void VoFPatchTransfer::correct
// Do not correct if no patches selected
if (!patchIDs_.size()) return;
const thermoSingleLayer& film = filmType<thermoSingleLayer>();
const thermoSurfaceFilm& film = filmType<thermoSurfaceFilm>();
const scalarField& delta = film.delta();
const scalarField& rho = film.rho();
@ -338,7 +338,7 @@ void VoFPatchTransfer::patchTransferredMassTotals
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::VoFPatchTransfer
Foam::regionModels::surfaceFilmSubModels::VoFPatchTransfer
Description
Transfer mass between the film and the VoF in the continuous phase.
@ -43,7 +43,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -89,7 +89,7 @@ public:
// Constructors
//- Construct from surface film model
VoFPatchTransfer(surfaceFilmRegionModel& film, const dictionary& dict);
VoFPatchTransfer(surfaceFilm& film, const dictionary& dict);
//- Disallow default bitwise copy construction
VoFPatchTransfer(const VoFPatchTransfer&) = delete;
@ -135,7 +135,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -60,10 +60,10 @@ Foam::fv::VoFSurfaceFilm::VoFSurfaceFilm
fvModel(sourceName, modelType, dict, mesh),
surfaceFilm_
(
regionModels::surfaceFilmModels::thermoSingleLayer::typeName,
regionModels::thermoSurfaceFilm::typeName,
mesh,
mesh.lookupObject<uniformDimensionedVectorField>("g"),
"surfaceFilm"
regionModels::surfaceFilm::typeName
),
curTimeIndex_(-1)
{}

View File

@ -46,7 +46,7 @@ SourceFiles
#define VoFSurfaceFilm_H
#include "fvModel.H"
#include "thermoSingleLayer.H"
#include "thermoSurfaceFilm.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -66,7 +66,7 @@ class VoFSurfaceFilm
// Private Data
//- The surface film model
regionModels::surfaceFilmModels::thermoSingleLayer surfaceFilm_;
regionModels::thermoSurfaceFilm surfaceFilm_;
//- Current time index (used for updating)
mutable label curTimeIndex_;

View File

@ -206,7 +206,7 @@ modelsInFamily () {
_modelDirs="\
$(findModelDirs "$_familyDir" 2) \
$(findModelDirs "$FOAM_SRC/lagrangian/parcel/fvModels") \
$(findModelDirs "$FOAM_SRC/regionModels/surfaceFilmModels/fvModels") \
$(findModelDirs "$FOAM_SRC/regionModels/surfaceFilm/fvModels") \
$(findModelDirs "$FOAM_SRC/radiationModels/fvModels/radiation")"
[ "$_modelDirs" ] || return 0

View File

@ -117,6 +117,9 @@ clouds/Templates/MomentumCloud/cloudSolution/cloudSolution.C
# averaging methods
submodels/MPPIC/AveragingMethods/makeAveragingMethods.C
# surface films
submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilmBase.C
# fvModels
fvModels/clouds/clouds.C

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -26,6 +26,17 @@ License
#include "NoSurfaceFilm.H"
#include "addToRunTimeSelectionTable.H"
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
template<class CloudType>
Foam::UPtrList<Foam::regionModels::surfaceFilm>&
Foam::NoSurfaceFilm<CloudType>::surfaceFilmPtrs() const
{
static UPtrList<regionModels::surfaceFilm> null;
return null;
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template<class CloudType>

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -59,6 +59,12 @@ protected:
typedef typename CloudType::parcelType parcelType;
// Protected Member Functions
//- Return pointers to the films
virtual UPtrList<regionModels::surfaceFilm>& surfaceFilmPtrs() const;
public:
//- Runtime type information

View File

@ -24,11 +24,64 @@ License
\*---------------------------------------------------------------------------*/
#include "SurfaceFilmModel.H"
#include "surfaceFilmRegionModel.H"
#include "UPtrList.H"
#include "surfaceFilm.H"
#include "mathematicalConstants.H"
using namespace Foam::constant;
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
template<class CloudType>
void Foam::SurfaceFilmModel<CloudType>::cacheFilmFields
(
const label filmPatchi,
const label primaryPatchi,
const regionModels::surfaceFilm& filmModel
)
{
massParcelPatch_ = filmModel.cloudMassTrans().boundaryField()[filmPatchi];
filmModel.toPrimary(filmPatchi, massParcelPatch_);
diameterParcelPatch_ =
filmModel.cloudDiameterTrans().boundaryField()[filmPatchi];
filmModel.toPrimary(filmPatchi, diameterParcelPatch_);
UFilmPatch_ = filmModel.U().boundaryField()[filmPatchi];
filmModel.toPrimary(filmPatchi, UFilmPatch_);
rhoFilmPatch_ = filmModel.rho().boundaryField()[filmPatchi];
filmModel.toPrimary(filmPatchi, rhoFilmPatch_);
deltaFilmPatch_[primaryPatchi] =
filmModel.delta().boundaryField()[filmPatchi];
filmModel.toPrimary(filmPatchi, deltaFilmPatch_[primaryPatchi]);
}
template<class CloudType>
void Foam::SurfaceFilmModel<CloudType>::setParcelProperties
(
parcelType& p,
const label filmFacei
) const
{
// Set parcel properties
scalar vol = mathematical::pi/6.0*pow3(diameterParcelPatch_[filmFacei]);
p.d() = diameterParcelPatch_[filmFacei];
p.U() = UFilmPatch_[filmFacei];
p.rho() = rhoFilmPatch_[filmFacei];
p.nParticle() = massParcelPatch_[filmFacei]/p.rho()/vol;
if (ejectedParcelType_ >= 0)
{
p.typeId() = ejectedParcelType_;
}
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template<class CloudType>
@ -103,83 +156,69 @@ template<class CloudType>
template<class TrackCloudType>
void Foam::SurfaceFilmModel<CloudType>::inject(TrackCloudType& cloud)
{
if
(
!this->owner().mesh().time().objectRegistry::template foundObject
<regionModels::surfaceFilmModels::surfaceFilmRegionModel>
(
"surfaceFilmProperties"
)
)
forAll(surfaceFilmPtrs(), filmi)
{
return;
}
const regionModels::surfaceFilm& filmModel = surfaceFilmPtrs()[filmi];
// Retrieve the film model from the owner database
const regionModels::surfaceFilmModels::surfaceFilmRegionModel& filmModel =
this->owner().mesh().time().objectRegistry::template lookupObject
<regionModels::surfaceFilmModels::surfaceFilmRegionModel>
(
"surfaceFilmProperties"
);
const labelList& filmPatches = filmModel.intCoupledPatchIDs();
const labelList& primaryPatches = filmModel.primaryPatchIDs();
const labelList& filmPatches = filmModel.intCoupledPatchIDs();
const labelList& primaryPatches = filmModel.primaryPatchIDs();
const fvMesh& mesh = this->owner().mesh();
const polyBoundaryMesh& pbm = mesh.boundaryMesh();
const fvMesh& mesh = this->owner().mesh();
const polyBoundaryMesh& pbm = mesh.boundaryMesh();
forAll(filmPatches, i)
{
const label filmPatchi = filmPatches[i];
const label primaryPatchi = primaryPatches[i];
const labelList& injectorCellsPatch = pbm[primaryPatchi].faceCells();
cacheFilmFields(filmPatchi, primaryPatchi, filmModel);
const vectorField& Cf = mesh.C().boundaryField()[primaryPatchi];
const vectorField& Sf = mesh.Sf().boundaryField()[primaryPatchi];
const scalarField& magSf = mesh.magSf().boundaryField()[primaryPatchi];
forAll(injectorCellsPatch, j)
forAll(filmPatches, i)
{
if (diameterParcelPatch_[j] > 0)
const label filmPatchi = filmPatches[i];
const label primaryPatchi = primaryPatches[i];
const labelList& injectorCellsPatch =
pbm[primaryPatchi].faceCells();
cacheFilmFields(filmPatchi, primaryPatchi, filmModel);
const vectorField& Cf = mesh.C().boundaryField()[primaryPatchi];
const vectorField& Sf = mesh.Sf().boundaryField()[primaryPatchi];
const scalarField& magSf =
mesh.magSf().boundaryField()[primaryPatchi];
forAll(injectorCellsPatch, j)
{
const label celli = injectorCellsPatch[j];
const scalar offset =
max
(
diameterParcelPatch_[j],
deltaFilmPatch_[primaryPatchi][j]
);
const point pos = Cf[j] - 1.1*offset*Sf[j]/magSf[j];
// Create a new parcel
parcelType* pPtr =
new parcelType(this->owner().pMesh(), pos, celli);
// Check/set new parcel thermo properties
cloud.setParcelThermoProperties(*pPtr, 0.0);
setParcelProperties(*pPtr, j);
if (pPtr->nParticle() > 0.001)
if (massParcelPatch_[j] > 0)
{
// Check new parcel properties
// cloud.checkParcelProperties(*pPtr, 0.0, true);
cloud.checkParcelProperties(*pPtr, 0.0, false);
const label celli = injectorCellsPatch[j];
// Add the new parcel to the cloud
cloud.addParticle(pPtr);
const scalar offset =
max
(
diameterParcelPatch_[j],
deltaFilmPatch_[primaryPatchi][j]
);
const point pos = Cf[j] - 1.1*offset*Sf[j]/magSf[j];
nParcelsInjected_++;
}
else
{
// TODO: cache mass and re-distribute?
delete pPtr;
// Create a new parcel
parcelType* pPtr =
new parcelType(this->owner().pMesh(), pos, celli);
// Check/set new parcel thermo properties
cloud.setParcelThermoProperties(*pPtr, 0.0);
setParcelProperties(*pPtr, j);
if (pPtr->nParticle() > 0.001)
{
// Check new parcel properties
cloud.checkParcelProperties(*pPtr, 0.0, false);
// Add the new parcel to the cloud
cloud.addParticle(pPtr);
nParcelsInjected_++;
}
else
{
// TODO: cache mass and re-distribute?
delete pPtr;
}
}
}
}
@ -187,55 +226,6 @@ void Foam::SurfaceFilmModel<CloudType>::inject(TrackCloudType& cloud)
}
template<class CloudType>
void Foam::SurfaceFilmModel<CloudType>::cacheFilmFields
(
const label filmPatchi,
const label primaryPatchi,
const regionModels::surfaceFilmModels::surfaceFilmRegionModel& filmModel
)
{
massParcelPatch_ = filmModel.cloudMassTrans().boundaryField()[filmPatchi];
filmModel.toPrimary(filmPatchi, massParcelPatch_);
diameterParcelPatch_ =
filmModel.cloudDiameterTrans().boundaryField()[filmPatchi];
filmModel.toPrimary(filmPatchi, diameterParcelPatch_);
UFilmPatch_ = filmModel.U().boundaryField()[filmPatchi];
filmModel.toPrimary(filmPatchi, UFilmPatch_);
rhoFilmPatch_ = filmModel.rho().boundaryField()[filmPatchi];
filmModel.toPrimary(filmPatchi, rhoFilmPatch_);
deltaFilmPatch_[primaryPatchi] =
filmModel.delta().boundaryField()[filmPatchi];
filmModel.toPrimary(filmPatchi, deltaFilmPatch_[primaryPatchi]);
}
template<class CloudType>
void Foam::SurfaceFilmModel<CloudType>::setParcelProperties
(
parcelType& p,
const label filmFacei
) const
{
// Set parcel properties
scalar vol = mathematical::pi/6.0*pow3(diameterParcelPatch_[filmFacei]);
p.d() = diameterParcelPatch_[filmFacei];
p.U() = UFilmPatch_[filmFacei];
p.rho() = rhoFilmPatch_[filmFacei];
p.nParticle() = massParcelPatch_[filmFacei]/p.rho()/vol;
if (ejectedParcelType_ >= 0)
{
p.typeId() = ejectedParcelType_;
}
}
template<class CloudType>
void Foam::SurfaceFilmModel<CloudType>::info(Ostream& os)
{

View File

@ -40,6 +40,8 @@ SourceFiles
#include "autoPtr.H"
#include "runTimeSelectionTables.H"
#include "CloudSubModelBase.H"
#include "surfaceMesh.H"
#include "dimensionedTypes.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -49,10 +51,7 @@ namespace Foam
// Forward declaration of classes
namespace regionModels
{
namespace surfaceFilmModels
{
class surfaceFilmRegionModel;
}
class surfaceFilm;
}
/*---------------------------------------------------------------------------*\
@ -109,12 +108,16 @@ protected:
// Protected functions
//- Return pointers to the films
virtual UPtrList<regionModels::surfaceFilm>&
surfaceFilmPtrs() const = 0;
//- Cache the film fields in preparation for injection
virtual void cacheFilmFields
(
const label filmPatchi,
const label primaryPatchi,
const regionModels::surfaceFilmModels::surfaceFilmRegionModel&
const regionModels::surfaceFilm&
);
//- Set the individual parcel properties
@ -128,7 +131,7 @@ protected:
public:
//- Runtime type information
TypeName("surfaceFilmModel");
TypeName("surfaceFilm");
//- Declare runtime constructor selection table
declareRunTimeSelectionTable

View File

@ -24,64 +24,15 @@ License
\*---------------------------------------------------------------------------*/
#include "ThermoSurfaceFilm.H"
#include "thermoSingleLayer.H"
#include "thermoSurfaceFilm.H"
#include "addToRunTimeSelectionTable.H"
#include "mathematicalConstants.H"
#include "Pstream.H"
#include "ThermoCloud.H"
#include "meshTools.H"
using namespace Foam::constant::mathematical;
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
template<class CloudType>
Foam::wordList Foam::ThermoSurfaceFilm<CloudType>::interactionTypeNames_
(
IStringStream
(
"(absorb bounce splashBai)"
)()
);
// * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * * //
template<class CloudType>
typename Foam::ThermoSurfaceFilm<CloudType>::interactionType
Foam::ThermoSurfaceFilm<CloudType>::interactionTypeEnum(const word& it) const
{
forAll(interactionTypeNames_, i)
{
if (interactionTypeNames_[i] == it)
{
return interactionType(i);
}
}
FatalErrorInFunction
<< "Unknown interaction type " << it
<< ". Valid interaction types include: " << interactionTypeNames_
<< abort(FatalError);
return interactionType(0);
}
template<class CloudType>
Foam::word Foam::ThermoSurfaceFilm<CloudType>::interactionTypeStr
(
const interactionType& it
) const
{
if (it >= interactionTypeNames_.size())
{
FatalErrorInFunction
<< "Unknown interaction type enumeration" << abort(FatalError);
}
return interactionTypeNames_[it];
}
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
template<class CloudType>
@ -112,7 +63,7 @@ Foam::vector Foam::ThermoSurfaceFilm<CloudType>::splashDirection
template<class CloudType>
void Foam::ThermoSurfaceFilm<CloudType>::absorbInteraction
(
regionModels::surfaceFilmModels::surfaceFilmRegionModel& filmModel,
regionModels::surfaceFilm& filmModel,
const parcelType& p,
const polyPatch& pp,
const label facei,
@ -201,7 +152,7 @@ void Foam::ThermoSurfaceFilm<CloudType>::bounceInteraction
template<class CloudType>
void Foam::ThermoSurfaceFilm<CloudType>::drySplashInteraction
(
regionModels::surfaceFilmModels::surfaceFilmRegionModel& filmModel,
regionModels::surfaceFilm& filmModel,
const parcelType& p,
const polyPatch& pp,
const label facei,
@ -264,7 +215,7 @@ void Foam::ThermoSurfaceFilm<CloudType>::drySplashInteraction
template<class CloudType>
void Foam::ThermoSurfaceFilm<CloudType>::wetSplashInteraction
(
regionModels::surfaceFilmModels::surfaceFilmRegionModel& filmModel,
regionModels::surfaceFilm& filmModel,
parcelType& p,
const polyPatch& pp,
const label facei,
@ -348,7 +299,7 @@ void Foam::ThermoSurfaceFilm<CloudType>::wetSplashInteraction
template<class CloudType>
void Foam::ThermoSurfaceFilm<CloudType>::splashInteraction
(
regionModels::surfaceFilmModels::surfaceFilmRegionModel& filmModel,
regionModels::surfaceFilm& filmModel,
const parcelType& p,
const polyPatch& pp,
const label facei,
@ -480,6 +431,98 @@ void Foam::ThermoSurfaceFilm<CloudType>::splashInteraction
}
template<class CloudType>
Foam::UPtrList<Foam::regionModels::surfaceFilm>&
Foam::ThermoSurfaceFilm<CloudType>::surfaceFilmPtrs() const
{
const objectRegistry& db = this->owner().mesh().time();
if (!surfaceFilmNames_.empty() && surfaceFilms_.empty())
{
// If there are multiple surface films and/or surface films with
// non-default names, then require the surfaceFilms entry to have been
// specified
{
HashTable<const regionModels::surfaceFilm*> surfaceFilmPtrs =
db.lookupClass<regionModels::surfaceFilm>();
const word defaultName =
regionModels::surfaceFilm::typeName + "Properties";
if
(
(
surfaceFilmPtrs.size() == 1
&& surfaceFilmPtrs.begin().key() != defaultName
)
|| (surfaceFilmPtrs.size() > 1)
)
{
this->coeffDict().lookup("surfaceFilms");
}
}
// Cache pointers to the surface film models
surfaceFilms_.resize(surfaceFilmNames_.size());
forAll(surfaceFilms_, filmi)
{
surfaceFilms_.set
(
filmi,
&db.template lookupObjectRef<regionModels::surfaceFilm>
(
surfaceFilmNames_[filmi] + "Properties"
)
);
}
}
return surfaceFilms_;
}
template<class CloudType>
void Foam::ThermoSurfaceFilm<CloudType>::cacheFilmFields
(
const label filmPatchi,
const label primaryPatchi,
const regionModels::surfaceFilm& filmModel
)
{
SurfaceFilmModel<CloudType>::cacheFilmFields
(
filmPatchi,
primaryPatchi,
filmModel
);
const regionModels::thermoSurfaceFilm& thermalFilmModel =
refCast<const regionModels::thermoSurfaceFilm>(filmModel);
TFilmPatch_ = thermalFilmModel.thermo().T().boundaryField()[filmPatchi];
filmModel.toPrimary(filmPatchi, TFilmPatch_);
CpFilmPatch_ =
thermalFilmModel.thermo().Cpv()().boundaryField()[filmPatchi];
filmModel.toPrimary(filmPatchi, CpFilmPatch_);
}
template<class CloudType>
void Foam::ThermoSurfaceFilm<CloudType>::setParcelProperties
(
parcelType& p,
const label filmFacei
) const
{
SurfaceFilmModel<CloudType>::setParcelProperties(p, filmFacei);
// Set parcel properties
p.T() = TFilmPatch_[filmFacei];
p.Cp() = CpFilmPatch_[filmFacei];
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template<class CloudType>
@ -491,11 +534,20 @@ Foam::ThermoSurfaceFilm<CloudType>::ThermoSurfaceFilm
:
SurfaceFilmModel<CloudType>(dict, owner, typeName),
rndGen_(owner.rndGen()),
surfaceFilmNames_
(
this->coeffDict().lookupOrDefault
(
"surfaceFilms",
wordList(1, regionModels::surfaceFilm::typeName)
)
),
surfaceFilms_(),
TFilmPatch_(0),
CpFilmPatch_(0),
interactionType_
(
interactionTypeEnum(this->coeffDict().lookup("interactionType"))
interactionTypeNames_.read(this->coeffDict().lookup("interactionType"))
),
deltaWet_(0.0),
splashParcelType_(0),
@ -505,10 +557,10 @@ Foam::ThermoSurfaceFilm<CloudType>::ThermoSurfaceFilm
Cf_(0.0),
nParcelsSplashed_(0)
{
Info<< " Applying " << interactionTypeStr(interactionType_)
Info<< " Applying " << interactionTypeNames_[interactionType_]
<< " interaction model" << endl;
if (interactionType_ == itSplashBai)
if (interactionType_ == interactionType::splashBai)
{
this->coeffDict().lookup("deltaWet") >> deltaWet_;
splashParcelType_ =
@ -530,6 +582,8 @@ Foam::ThermoSurfaceFilm<CloudType>::ThermoSurfaceFilm
:
SurfaceFilmModel<CloudType>(sfm),
rndGen_(sfm.rndGen_),
surfaceFilmNames_(sfm.surfaceFilmNames_),
surfaceFilms_(),
TFilmPatch_(sfm.TFilmPatch_),
CpFilmPatch_(sfm.CpFilmPatch_),
interactionType_(sfm.interactionType_),
@ -560,64 +614,73 @@ bool Foam::ThermoSurfaceFilm<CloudType>::transferParcel
bool& keepParticle
)
{
// Retrieve the film model from the owner database
regionModels::surfaceFilmModels::surfaceFilmRegionModel& filmModel =
const_cast<regionModels::surfaceFilmModels::surfaceFilmRegionModel&>
(
this->owner().db().time().objectRegistry::template
lookupObject
<regionModels::surfaceFilmModels::surfaceFilmRegionModel>
(
"surfaceFilmProperties"
)
);
const label patchi = pp.index();
if (filmModel.isRegionPatch(patchi))
forAll(this->surfaceFilmPtrs(), filmi)
{
const label facei = pp.whichFace(p.face());
regionModels::surfaceFilm& filmModel = this->surfaceFilmPtrs()[filmi];
switch (interactionType_)
if (filmModel.isRegionPatch(patchi))
{
case itBounce:
{
bounceInteraction(p, pp, facei, keepParticle);
const label facei = pp.whichFace(p.face());
break;
}
case itAbsorb:
switch (interactionType_)
{
const scalar m = p.nParticle()*p.mass();
absorbInteraction(filmModel, p, pp, facei, m, keepParticle);
break;
}
case itSplashBai:
{
bool dry = this->deltaFilmPatch_[patchi][facei] < deltaWet_;
if (dry)
case interactionType::bounce:
{
drySplashInteraction(filmModel, p, pp, facei, keepParticle);
bounceInteraction(p, pp, facei, keepParticle);
break;
}
else
case interactionType::absorb:
{
wetSplashInteraction(filmModel, p, pp, facei, keepParticle);
absorbInteraction
(
filmModel,
p,
pp,
facei,
p.nParticle()*p.mass(),
keepParticle
);
break;
}
case interactionType::splashBai:
{
if (this->deltaFilmPatch_[patchi][facei] < deltaWet_)
{
drySplashInteraction
(
filmModel,
p,
pp,
facei,
keepParticle
);
}
else
{
wetSplashInteraction
(
filmModel,
p,
pp,
facei,
keepParticle
);
}
break;
}
default:
{
FatalErrorInFunction
<< "Unknown interaction type enumeration"
<< abort(FatalError);
}
}
break;
}
default:
{
FatalErrorInFunction
<< "Unknown interaction type enumeration"
<< abort(FatalError);
}
// Transfer parcel/parcel interactions complete
return true;
}
// Transfer parcel/parcel interactions complete
return true;
}
// Parcel not interacting with film
@ -625,51 +688,6 @@ bool Foam::ThermoSurfaceFilm<CloudType>::transferParcel
}
template<class CloudType>
void Foam::ThermoSurfaceFilm<CloudType>::cacheFilmFields
(
const label filmPatchi,
const label primaryPatchi,
const regionModels::surfaceFilmModels::surfaceFilmRegionModel& filmModel
)
{
SurfaceFilmModel<CloudType>::cacheFilmFields
(
filmPatchi,
primaryPatchi,
filmModel
);
const regionModels::surfaceFilmModels::thermoSingleLayer& thermalFilmModel =
refCast<const regionModels::surfaceFilmModels::thermoSingleLayer>
(
filmModel
);
TFilmPatch_ = thermalFilmModel.thermo().T().boundaryField()[filmPatchi];
filmModel.toPrimary(filmPatchi, TFilmPatch_);
CpFilmPatch_ =
thermalFilmModel.thermo().Cpv()().boundaryField()[filmPatchi];
filmModel.toPrimary(filmPatchi, CpFilmPatch_);
}
template<class CloudType>
void Foam::ThermoSurfaceFilm<CloudType>::setParcelProperties
(
parcelType& p,
const label filmFacei
) const
{
SurfaceFilmModel<CloudType>::setParcelProperties(p, filmFacei);
// Set parcel properties
p.T() = TFilmPatch_[filmFacei];
p.Cp() = CpFilmPatch_[filmFacei];
}
template<class CloudType>
void Foam::ThermoSurfaceFilm<CloudType>::info(Ostream& os)
{

View File

@ -56,6 +56,27 @@ SourceFiles
namespace Foam
{
/*---------------------------------------------------------------------------*\
Class ThermoSurfaceFilmBase Declaration
\*---------------------------------------------------------------------------*/
class ThermoSurfaceFilmBase
{
public:
//- Interaction types
enum class interactionType
{
absorb,
bounce,
splashBai
};
//- Interaction type names
static const NamedEnum<interactionType, 3> interactionTypeNames_;
};
/*---------------------------------------------------------------------------*\
Class ThermoSurfaceFilm Declaration
\*---------------------------------------------------------------------------*/
@ -63,33 +84,9 @@ namespace Foam
template<class CloudType>
class ThermoSurfaceFilm
:
public SurfaceFilmModel<CloudType>
public SurfaceFilmModel<CloudType>,
public ThermoSurfaceFilmBase
{
public:
// Public data
// Interaction type enumerations
enum interactionType
{
itAbsorb,
itBounce,
itSplashBai
};
//- Word descriptions of interaction type names
static wordList interactionTypeNames_;
// Public Member Functions
// Return interaction type enum from word
interactionType interactionTypeEnum(const word& it) const;
// Return word from interaction type enum
word interactionTypeStr(const interactionType& it) const;
protected:
// Protected data
@ -101,6 +98,15 @@ protected:
Random& rndGen_;
// Film models
//- Names of the surface films
const wordList surfaceFilmNames_;
//- Pointers to the surface films
mutable UPtrList<regionModels::surfaceFilm> surfaceFilms_;
// Cached injector fields per film patch
//- Film temperature / patch face
@ -162,7 +168,7 @@ protected:
//- Absorb parcel into film
void absorbInteraction
(
regionModels::surfaceFilmModels::surfaceFilmRegionModel&,
regionModels::surfaceFilm&,
const parcelType& p,
const polyPatch& pp,
const label facei,
@ -182,7 +188,7 @@ protected:
//- Parcel interaction with dry surface
void drySplashInteraction
(
regionModels::surfaceFilmModels::surfaceFilmRegionModel&,
regionModels::surfaceFilm&,
const parcelType& p,
const polyPatch& pp,
const label facei,
@ -192,7 +198,7 @@ protected:
//- Parcel interaction with wetted surface
void wetSplashInteraction
(
regionModels::surfaceFilmModels::surfaceFilmRegionModel&,
regionModels::surfaceFilm&,
parcelType& p,
const polyPatch& pp,
const label facei,
@ -202,7 +208,7 @@ protected:
//- Bai parcel splash interaction model
void splashInteraction
(
regionModels::surfaceFilmModels::surfaceFilmRegionModel&,
regionModels::surfaceFilm&,
const parcelType& p,
const polyPatch& pp,
const label facei,
@ -214,23 +220,23 @@ protected:
);
// Injection from sheet (ejection) helper functions
//- Return pointers to the films
virtual UPtrList<regionModels::surfaceFilm>& surfaceFilmPtrs() const;
//- Cache the film fields in preparation for injection
virtual void cacheFilmFields
(
const label filmPatchi,
const label primaryPatchi,
const regionModels::surfaceFilmModels::surfaceFilmRegionModel&
filmModel
);
//- Cache the film fields in preparation for injection
virtual void cacheFilmFields
(
const label filmPatchi,
const label primaryPatchi,
const regionModels::surfaceFilm& filmModel
);
//- Set the individual parcel properties
virtual void setParcelProperties
(
parcelType& p,
const label filmFacei
) const;
//- Set the individual parcel properties
virtual void setParcelProperties
(
parcelType& p,
const label filmFacei
) const;
public:

View File

@ -0,0 +1,48 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
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 <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#include "ThermoSurfaceFilm.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace Foam
{
template<>
const char* NamedEnum
<
ThermoSurfaceFilmBase::interactionType,
3
>::names[] = {"absorb", "bounce", "splashBai"};
}
const Foam::NamedEnum
<
Foam::ThermoSurfaceFilmBase::interactionType,
3
> Foam::ThermoSurfaceFilmBase::interactionTypeNames_;
// ************************************************************************* //

View File

@ -1,4 +1,4 @@
regionModel/regionModel.C
singleLayerRegion/singleLayerRegion.C
singleLayerRegionModel/singleLayerRegionModel.C
LIB = $(FOAM_LIBBIN)/libregionModels

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -23,7 +23,7 @@ License
\*---------------------------------------------------------------------------*/
#include "singleLayerRegion.H"
#include "singleLayerRegionModel.H"
#include "fvMesh.H"
#include "surfaceFields.H"
#include "Time.H"
@ -35,14 +35,14 @@ namespace Foam
{
namespace regionModels
{
defineTypeNameAndDebug(singleLayerRegion, 0);
defineTypeNameAndDebug(singleLayerRegionModel, 0);
}
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::regionModels::singleLayerRegion::singleLayerRegion
Foam::regionModels::singleLayerRegionModel::singleLayerRegionModel
(
const fvMesh& mesh,
const word& regionType,
@ -143,33 +143,35 @@ Foam::regionModels::singleLayerRegion::singleLayerRegion
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::regionModels::singleLayerRegion::~singleLayerRegion()
Foam::regionModels::singleLayerRegionModel::~singleLayerRegionModel()
{}
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
const Foam::volVectorField& Foam::regionModels::singleLayerRegion::nHat() const
const Foam::volVectorField&
Foam::regionModels::singleLayerRegionModel::nHat() const
{
return nHat_;
}
const Foam::volScalarField::Internal&
Foam::regionModels::singleLayerRegion::magSf() const
Foam::regionModels::singleLayerRegionModel::magSf() const
{
return magSf_;
}
const Foam::volScalarField& Foam::regionModels::singleLayerRegion::VbyA() const
const Foam::volScalarField&
Foam::regionModels::singleLayerRegionModel::VbyA() const
{
return VbyA_;
}
const Foam::labelList&
Foam::regionModels::singleLayerRegion::passivePatchIDs() const
Foam::regionModels::singleLayerRegionModel::passivePatchIDs() const
{
return passivePatchIDs_;
}

View File

@ -22,18 +22,18 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::singleLayerRegion
Foam::regionModels::singleLayerRegionModel
Description
Base class for single layer region models
SourceFiles
singleLayerRegion.C
singleLayerRegionModel.C
\*---------------------------------------------------------------------------*/
#ifndef singleLayerRegion_H
#define singleLayerRegion_H
#ifndef singleLayerRegionModel_H
#define singleLayerRegionModel_H
#include "regionModel.H"
#include "volFields.H"
@ -46,10 +46,10 @@ namespace regionModels
{
/*---------------------------------------------------------------------------*\
Class singleLayerRegion Declaration
Class singleLayerRegionModel Declaration
\*---------------------------------------------------------------------------*/
class singleLayerRegion
class singleLayerRegionModel
:
public regionModel
{
@ -82,7 +82,7 @@ public:
// Constructors
//- Construct from mesh, region type and name
singleLayerRegion
singleLayerRegionModel
(
const fvMesh& mesh,
const word& regionType,
@ -91,11 +91,11 @@ public:
);
//- Disallow default bitwise copy construction
singleLayerRegion(const singleLayerRegion&) = delete;
singleLayerRegionModel(const singleLayerRegionModel&) = delete;
//- Destructor
virtual ~singleLayerRegion();
virtual ~singleLayerRegionModel();
// Member Functions
@ -133,7 +133,7 @@ public:
// Member Operators
//- Disallow default bitwise assignment
void operator=(const singleLayerRegion&) = delete;
void operator=(const singleLayerRegionModel&) = delete;
};
@ -145,7 +145,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository
#include "singleLayerRegionTemplates.C"
#include "singleLayerRegionModelTemplates.C"
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -23,15 +23,15 @@ License
\*---------------------------------------------------------------------------*/
#include "singleLayerRegion.H"
#include "singleLayerRegionModel.H"
#include "zeroGradientFvPatchFields.H"
#include "mappedValueAndPatchInternalValueFvPatchFields.H"
// * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * * //
template<class Type>
Foam::wordList
Foam::regionModels::singleLayerRegion::mappedFieldAndInternalPatchTypes() const
Foam::wordList Foam::regionModels::singleLayerRegionModel::
mappedFieldAndInternalPatchTypes() const
{
wordList bTypes(regionMesh().boundaryMesh().size());

View File

@ -1,46 +1,45 @@
# Surface film models
surfaceFilmRegionModel/surfaceFilmRegionModel.C
kinematicSingleLayer/kinematicSingleLayer.C
thermoSingleLayer/thermoSingleLayer.C
surfaceFilm/surfaceFilm.C
momentumSurfaceFilm/momentumSurfaceFilm.C
thermoSurfaceFilm/thermoSurfaceFilm.C
# Sub-models
submodels/filmSubModelBase.C
KINEMATICMODELS=submodels/kinematic
$(KINEMATICMODELS)/force/force/force.C
$(KINEMATICMODELS)/force/force/forceNew.C
$(KINEMATICMODELS)/force/forceList/forceList.C
$(KINEMATICMODELS)/force/contactAngleForces/contactAngleForce/contactAngleForce.C
$(KINEMATICMODELS)/force/contactAngleForces/distribution/distributionContactAngleForce.C
$(KINEMATICMODELS)/force/contactAngleForces/temperatureDependent/temperatureDependentContactAngleForce.C
$(KINEMATICMODELS)/force/contactAngleForces/perturbedTemperatureDependent/perturbedTemperatureDependentContactAngleForce.C
$(KINEMATICMODELS)/force/thermocapillaryForce/thermocapillaryForce.C
MOMENTUMMODELS=submodels/momentum
$(MOMENTUMMODELS)/force/force/force.C
$(MOMENTUMMODELS)/force/force/forceNew.C
$(MOMENTUMMODELS)/force/forceList/forceList.C
$(MOMENTUMMODELS)/force/contactAngleForces/contactAngleForce/contactAngleForce.C
$(MOMENTUMMODELS)/force/contactAngleForces/distribution/distributionContactAngleForce.C
$(MOMENTUMMODELS)/force/contactAngleForces/temperatureDependent/temperatureDependentContactAngleForce.C
$(MOMENTUMMODELS)/force/contactAngleForces/perturbedTemperatureDependent/perturbedTemperatureDependentContactAngleForce.C
$(MOMENTUMMODELS)/force/thermocapillaryForce/thermocapillaryForce.C
$(KINEMATICMODELS)/ejectionModel/ejectionModel/ejectionModel.C
$(KINEMATICMODELS)/ejectionModel/ejectionModel/ejectionModelNew.C
$(KINEMATICMODELS)/ejectionModel/ejectionModelList/ejectionModelList.C
$(KINEMATICMODELS)/ejectionModel/drippingEjection/drippingEjection.C
$(KINEMATICMODELS)/ejectionModel/BrunDrippingEjection/BrunDrippingEjection.C
$(KINEMATICMODELS)/ejectionModel/patchEjection/patchEjection.C
$(KINEMATICMODELS)/ejectionModel/curvatureSeparation/curvatureSeparation.C
$(MOMENTUMMODELS)/ejectionModel/ejectionModel/ejectionModel.C
$(MOMENTUMMODELS)/ejectionModel/ejectionModel/ejectionModelNew.C
$(MOMENTUMMODELS)/ejectionModel/ejectionModelList/ejectionModelList.C
$(MOMENTUMMODELS)/ejectionModel/drippingEjection/drippingEjection.C
$(MOMENTUMMODELS)/ejectionModel/BrunDrippingEjection/BrunDrippingEjection.C
$(MOMENTUMMODELS)/ejectionModel/patchEjection/patchEjection.C
$(MOMENTUMMODELS)/ejectionModel/curvatureSeparation/curvatureSeparation.C
$(KINEMATICMODELS)/transferModels/transferModel/transferModel.C
$(KINEMATICMODELS)/transferModels/transferModel/transferModelNew.C
$(KINEMATICMODELS)/transferModels/transferModelList/transferModelList.C
$(MOMENTUMMODELS)/transferModels/transferModel/transferModel.C
$(MOMENTUMMODELS)/transferModels/transferModel/transferModelNew.C
$(MOMENTUMMODELS)/transferModels/transferModelList/transferModelList.C
$(KINEMATICMODELS)/filmMomentumTransportModel/filmMomentumTransportModel/filmMomentumTransportModel.C
$(KINEMATICMODELS)/filmMomentumTransportModel/filmMomentumTransportModel/filmMomentumTransportModelNew.C
$(KINEMATICMODELS)/filmMomentumTransportModel/laminar/laminar.C
$(MOMENTUMMODELS)/filmMomentumTransportModel/filmMomentumTransportModel/filmMomentumTransportModel.C
$(MOMENTUMMODELS)/filmMomentumTransportModel/filmMomentumTransportModel/filmMomentumTransportModelNew.C
$(MOMENTUMMODELS)/filmMomentumTransportModel/laminar/laminar.C
$(KINEMATICMODELS)/filmViscosityModel/filmViscosityModel/filmViscosityModel.C
$(KINEMATICMODELS)/filmViscosityModel/filmViscosityModel/filmViscosityModelNew.C
$(KINEMATICMODELS)/filmViscosityModel/constant/constantViscosity.C
$(KINEMATICMODELS)/filmViscosityModel/Newtonian/NewtonianViscosity.C
$(KINEMATICMODELS)/filmViscosityModel/thixotropic/thixotropicViscosity.C
$(KINEMATICMODELS)/filmViscosityModel/Arrhenius/ArrheniusViscosity.C
$(KINEMATICMODELS)/filmViscosityModel/function1/function1Viscosity.C
$(KINEMATICMODELS)/filmViscosityModel/waxSolvent/waxSolventViscosity.C
$(MOMENTUMMODELS)/filmViscosityModel/filmViscosityModel/filmViscosityModel.C
$(MOMENTUMMODELS)/filmViscosityModel/filmViscosityModel/filmViscosityModelNew.C
$(MOMENTUMMODELS)/filmViscosityModel/constant/constantViscosity.C
$(MOMENTUMMODELS)/filmViscosityModel/Newtonian/NewtonianViscosity.C
$(MOMENTUMMODELS)/filmViscosityModel/thixotropic/thixotropicViscosity.C
$(MOMENTUMMODELS)/filmViscosityModel/Arrhenius/ArrheniusViscosity.C
$(MOMENTUMMODELS)/filmViscosityModel/function1/function1Viscosity.C
$(MOMENTUMMODELS)/filmViscosityModel/waxSolvent/waxSolventViscosity.C
THERMOMODELS=submodels/thermo
$(THERMOMODELS)/phaseChangeModel/phaseChangeModel/phaseChangeModel.C
@ -63,7 +62,6 @@ $(THERMOMODELS)/filmRadiationModel/constantRadiation/constantRadiation.C
$(THERMOMODELS)/filmRadiationModel/primaryRadiation/primaryRadiation.C
$(THERMOMODELS)/filmRadiationModel/standardRadiation/standardRadiation.C
# Boundary conditions
PATCHFIELDS=derivedFvPatchFields
$(PATCHFIELDS)/filmHeightInletVelocity/filmHeightInletVelocityFvPatchVectorField.C
@ -72,6 +70,7 @@ $(PATCHFIELDS)/inclinedFilmNusseltInletVelocity/inclinedFilmNusseltInletVelocity
$(PATCHFIELDS)/wallFunctions/nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.C
$(PATCHFIELDS)/wallFunctions/alphatFilmWallFunction/alphatFilmWallFunctionFvPatchScalarField.C
fvModels/surfaceFilm/surfaceFilm.C
# fvModel
fvModels/surfaceFilms/surfaceFilms.C
LIB = $(FOAM_LIBBIN)/libsurfaceFilmModels

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2012-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2012-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -25,7 +25,7 @@ License
#include "inclinedFilmNusseltHeightFvPatchScalarField.H"
#include "volFields.H"
#include "kinematicSingleLayer.H"
#include "momentumSurfaceFilm.H"
#include "addToRunTimeSelectionTable.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
@ -38,6 +38,7 @@ inclinedFilmNusseltHeightFvPatchScalarField
)
:
fixedValueFvPatchScalarField(p, iF),
filmName_(regionModels::surfaceFilm::typeName),
GammaMean_(),
a_(),
omega_()
@ -53,6 +54,14 @@ inclinedFilmNusseltHeightFvPatchScalarField
)
:
fixedValueFvPatchScalarField(p, iF, dict),
filmName_
(
dict.lookupOrDefault<word>
(
"film",
regionModels::surfaceFilm::typeName
)
),
GammaMean_(Function1<scalar>::New("GammaMean", dict)),
a_(Function1<scalar>::New("a", dict)),
omega_(Function1<scalar>::New("omega", dict))
@ -69,6 +78,7 @@ inclinedFilmNusseltHeightFvPatchScalarField
)
:
fixedValueFvPatchScalarField(ptf, p, iF, mapper),
filmName_(ptf.filmName_),
GammaMean_(ptf.GammaMean_().clone().ptr()),
a_(ptf.a_().clone().ptr()),
omega_(ptf.omega_().clone().ptr())
@ -83,6 +93,7 @@ inclinedFilmNusseltHeightFvPatchScalarField
)
:
fixedValueFvPatchScalarField(wmfrhpsf, iF),
filmName_(wmfrhpsf.filmName_),
GammaMean_(wmfrhpsf.GammaMean_().clone().ptr()),
a_(wmfrhpsf.a_().clone().ptr()),
omega_(wmfrhpsf.omega_().clone().ptr())
@ -102,18 +113,12 @@ void Foam::inclinedFilmNusseltHeightFvPatchScalarField::updateCoeffs()
// retrieve the film region from the database
const regionModels::regionModel& region =
db().time().lookupObject<regionModels::regionModel>
const regionModels::momentumSurfaceFilm& film =
db().time().lookupObject<regionModels::momentumSurfaceFilm>
(
"surfaceFilmProperties"
filmName_ + "Properties"
);
const regionModels::surfaceFilmModels::kinematicSingleLayer& film =
dynamic_cast
<
const regionModels::surfaceFilmModels::kinematicSingleLayer&
>(region);
// calculate the vector tangential to the patch
// note: normal pointing into the domain
@ -181,6 +186,13 @@ void Foam::inclinedFilmNusseltHeightFvPatchScalarField::write
) const
{
fixedValueFvPatchScalarField::write(os);
writeEntryIfDifferent
(
os,
"film",
regionModels::surfaceFilm::typeName,
filmName_
);
writeEntry(os, GammaMean_());
writeEntry(os, a_());
writeEntry(os, omega_());

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2012-2020 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2012-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -56,6 +56,9 @@ class inclinedFilmNusseltHeightFvPatchScalarField
{
// Private Data
//- The name of the film
const word filmName_;
//- Mean mass flow rate per unit length [kg/s/m]
autoPtr<Function1<scalar>> GammaMean_;

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2012-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2012-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -25,7 +25,7 @@ License
#include "inclinedFilmNusseltInletVelocityFvPatchVectorField.H"
#include "volFields.H"
#include "kinematicSingleLayer.H"
#include "momentumSurfaceFilm.H"
#include "addToRunTimeSelectionTable.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
@ -38,6 +38,7 @@ inclinedFilmNusseltInletVelocityFvPatchVectorField
)
:
fixedValueFvPatchVectorField(p, iF),
filmName_(regionModels::surfaceFilm::typeName),
GammaMean_(),
a_(),
omega_()
@ -53,6 +54,14 @@ inclinedFilmNusseltInletVelocityFvPatchVectorField
)
:
fixedValueFvPatchVectorField(p, iF, dict),
filmName_
(
dict.lookupOrDefault<word>
(
"film",
regionModels::surfaceFilm::typeName
)
),
GammaMean_(Function1<scalar>::New("GammaMean", dict)),
a_(Function1<scalar>::New("a", dict)),
omega_(Function1<scalar>::New("omega", dict))
@ -69,6 +78,7 @@ inclinedFilmNusseltInletVelocityFvPatchVectorField
)
:
fixedValueFvPatchVectorField(ptf, p, iF, mapper),
filmName_(ptf.filmName_),
GammaMean_(ptf.GammaMean_().clone().ptr()),
a_(ptf.a_().clone().ptr()),
omega_(ptf.omega_().clone().ptr())
@ -83,6 +93,7 @@ inclinedFilmNusseltInletVelocityFvPatchVectorField
)
:
fixedValueFvPatchVectorField(fmfrpvf, iF),
filmName_(fmfrpvf.filmName_),
GammaMean_(fmfrpvf.GammaMean_().clone().ptr()),
a_(fmfrpvf.a_().clone().ptr()),
omega_(fmfrpvf.omega_().clone().ptr())
@ -102,18 +113,12 @@ void Foam::inclinedFilmNusseltInletVelocityFvPatchVectorField::updateCoeffs()
// Retrieve the film region from the database
const regionModels::regionModel& region =
db().time().lookupObject<regionModels::regionModel>
const regionModels::momentumSurfaceFilm& film =
db().time().lookupObject<regionModels::momentumSurfaceFilm>
(
"surfaceFilmProperties"
filmName_ + "Properties"
);
const regionModels::surfaceFilmModels::kinematicSingleLayer& film =
dynamic_cast
<
const regionModels::surfaceFilmModels::kinematicSingleLayer&
>(region);
// Calculate the vector tangential to the patch
// note: normal pointing into the domain
const vectorField n(-patch().nf());
@ -177,6 +182,13 @@ void Foam::inclinedFilmNusseltInletVelocityFvPatchVectorField::write
) const
{
fvPatchVectorField::write(os);
writeEntryIfDifferent
(
os,
"film",
regionModels::surfaceFilm::typeName,
filmName_
);
writeEntry(os, GammaMean_());
writeEntry(os, a_());
writeEntry(os, omega_());

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2012-2020 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2012-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -56,6 +56,9 @@ class inclinedFilmNusseltInletVelocityFvPatchVectorField
{
// Private Data
//- The name of the film
const word filmName_;
//- Mean mass flow rate per unit length [kg/s/m]
autoPtr<Function1<scalar>> GammaMean_;

View File

@ -25,7 +25,7 @@ License
#include "alphatFilmWallFunctionFvPatchScalarField.H"
#include "thermophysicalTransportModel.H"
#include "surfaceFilmRegionModel.H"
#include "surfaceFilm.H"
#include "fvPatchFieldMapper.H"
#include "volFields.H"
#include "addToRunTimeSelectionTable.H"
@ -51,6 +51,7 @@ alphatFilmWallFunctionFvPatchScalarField
)
:
fixedValueFvPatchScalarField(p, iF),
filmName_(regionModels::surfaceFilm::typeName),
B_(5.5),
yPlusCrit_(11.05),
Cmu_(0.09),
@ -68,6 +69,14 @@ alphatFilmWallFunctionFvPatchScalarField
)
:
fixedValueFvPatchScalarField(p, iF, dict),
filmName_
(
dict.lookupOrDefault<word>
(
"film",
regionModels::surfaceFilm::typeName
)
),
B_(dict.lookupOrDefault("B", 5.5)),
yPlusCrit_(dict.lookupOrDefault("yPlusCrit", 11.05)),
Cmu_(dict.lookupOrDefault("Cmu", 0.09)),
@ -86,6 +95,7 @@ alphatFilmWallFunctionFvPatchScalarField
)
:
fixedValueFvPatchScalarField(ptf, p, iF, mapper),
filmName_(ptf.filmName_),
B_(ptf.B_),
yPlusCrit_(ptf.yPlusCrit_),
Cmu_(ptf.Cmu_),
@ -102,6 +112,7 @@ alphatFilmWallFunctionFvPatchScalarField
)
:
fixedValueFvPatchScalarField(fwfpsf, iF),
filmName_(fwfpsf.filmName_),
B_(fwfpsf.B_),
yPlusCrit_(fwfpsf.yPlusCrit_),
Cmu_(fwfpsf.Cmu_),
@ -119,7 +130,7 @@ void alphatFilmWallFunctionFvPatchScalarField::updateCoeffs()
return;
}
typedef regionModels::surfaceFilmModels::surfaceFilmRegionModel modelType;
typedef regionModels::surfaceFilm modelType;
// Since we're inside initEvaluate/evaluate there might be processor
// comms underway. Change the tag we use.
@ -127,7 +138,7 @@ void alphatFilmWallFunctionFvPatchScalarField::updateCoeffs()
UPstream::msgType() = oldTag+1;
bool foundFilm =
db().time().foundObject<modelType>("surfaceFilmProperties");
db().time().foundObject<modelType>(filmName_ + "Properties");
if (!foundFilm)
{
@ -139,7 +150,7 @@ void alphatFilmWallFunctionFvPatchScalarField::updateCoeffs()
// Retrieve phase change mass from surface film model
const modelType& filmModel =
db().time().lookupObject<modelType>("surfaceFilmProperties");
db().time().lookupObject<modelType>(filmName_ + "Properties");
const label filmPatchi = filmModel.regionPatchID(patchi);
@ -223,6 +234,13 @@ void alphatFilmWallFunctionFvPatchScalarField::updateCoeffs()
void alphatFilmWallFunctionFvPatchScalarField::write(Ostream& os) const
{
fvPatchField<scalar>::write(os);
writeEntryIfDifferent
(
os,
"film",
regionModels::surfaceFilm::typeName,
filmName_
);
writeEntry(os, "B", B_);
writeEntry(os, "yPlusCrit", yPlusCrit_);
writeEntry(os, "Cmu", Cmu_);

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -88,6 +88,9 @@ protected:
// Protected data
//- The name of the film
const word filmName_;
//- B Coefficient (default = 5.5)
scalar B_;

View File

@ -28,7 +28,7 @@ License
#include "volFields.H"
#include "compressibleMomentumTransportModels.H"
#include "addToRunTimeSelectionTable.H"
#include "surfaceFilmRegionModel.H"
#include "surfaceFilm.H"
#include "mappedWallPolyPatch.H"
#include "distributionMap.H"
@ -51,10 +51,10 @@ tmp<scalarField> nutkFilmWallFunctionFvPatchScalarField::calcUTau
tmp<scalarField> tuTau(new scalarField(patch().size(), 0.0));
scalarField& uTau = tuTau.ref();
typedef regionModels::surfaceFilmModels::surfaceFilmRegionModel modelType;
typedef regionModels::surfaceFilm modelType;
bool foundFilm =
db().time().foundObject<modelType>("surfaceFilmProperties");
db().time().foundObject<modelType>(filmName_+ "Properties");
if (!foundFilm)
{
@ -66,7 +66,7 @@ tmp<scalarField> nutkFilmWallFunctionFvPatchScalarField::calcUTau
// Retrieve phase change mass from surface film model
const modelType& filmModel =
db().time().lookupObject<modelType>("surfaceFilmProperties");
db().time().lookupObject<modelType>(filmName_+ "Properties");
const label filmPatchi = filmModel.regionPatchID(patchi);
@ -160,6 +160,7 @@ nutkFilmWallFunctionFvPatchScalarField::nutkFilmWallFunctionFvPatchScalarField
)
:
nutkWallFunctionFvPatchScalarField(p, iF),
filmName_(regionModels::surfaceFilm::typeName),
B_(5.5),
yPlusCrit_(11.05)
{}
@ -173,6 +174,14 @@ nutkFilmWallFunctionFvPatchScalarField::nutkFilmWallFunctionFvPatchScalarField
)
:
nutkWallFunctionFvPatchScalarField(p, iF, dict),
filmName_
(
dict.lookupOrDefault<word>
(
"film",
regionModels::surfaceFilm::typeName
)
),
B_(dict.lookupOrDefault("B", 5.5)),
yPlusCrit_(dict.lookupOrDefault("yPlusCrit", 11.05))
{}
@ -187,8 +196,9 @@ nutkFilmWallFunctionFvPatchScalarField::nutkFilmWallFunctionFvPatchScalarField
)
:
nutkWallFunctionFvPatchScalarField(ptf, p, iF, mapper),
B_(5.5),
yPlusCrit_(11.05)
filmName_(ptf.filmName_),
B_(ptf.B_),
yPlusCrit_(ptf.yPlusCrit_)
{}
@ -199,6 +209,7 @@ nutkFilmWallFunctionFvPatchScalarField::nutkFilmWallFunctionFvPatchScalarField
)
:
nutkWallFunctionFvPatchScalarField(wfpsf, iF),
filmName_(wfpsf.filmName_),
B_(wfpsf.B_),
yPlusCrit_(wfpsf.yPlusCrit_)
{}
@ -233,6 +244,13 @@ void nutkFilmWallFunctionFvPatchScalarField::write(Ostream& os) const
{
fvPatchField<scalar>::write(os);
writeLocalEntries(os);
writeEntryIfDifferent
(
os,
"film",
regionModels::surfaceFilm::typeName,
filmName_
);
writeEntry(os, "B", B_);
writeEntry(os, "yPlusCrit", yPlusCrit_);
writeEntry(os, "value", *this);

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -73,6 +73,9 @@ protected:
// Protected data
//- The name of the film
const word filmName_;
//- B Coefficient (default = 5.5)
scalar B_;

View File

@ -1,239 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2021-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
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 <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#include "surfaceFilm.H"
#include "uniformDimensionedFields.H"
#include "basicSpecieMixture.H"
#include "fvMatrix.H"
#include "addToRunTimeSelectionTable.H"
// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * //
namespace Foam
{
namespace fv
{
defineTypeNameAndDebug(surfaceFilm, 0);
addToRunTimeSelectionTable
(
fvModel,
surfaceFilm,
dictionary
);
}
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::fv::surfaceFilm::surfaceFilm
(
const word& sourceName,
const word& modelType,
const dictionary& dict,
const fvMesh& mesh
)
:
fvModel(sourceName, modelType, dict, mesh),
surfaceFilm_
(
regionModels::surfaceFilmModels::thermoSingleLayer::typeName,
mesh,
mesh.lookupObject<uniformDimensionedVectorField>("g"),
"surfaceFilm"
),
fieldNames_
(
{
mesh.foundObject<volScalarField>
(
IOobject::groupName("rho", surfaceFilm_.phaseName())
)
? IOobject::groupName("rho", surfaceFilm_.phaseName())
: surfaceFilm_.primaryThermo().rho()().name(),
surfaceFilm_.UPrimary().name(),
surfaceFilm_.primaryThermo().he().name()
}
),
curTimeIndex_(-1)
{
if (isA<basicSpecieMixture>(surfaceFilm_.primaryThermo()))
{
const basicSpecieMixture& composition =
refCast<const basicSpecieMixture>(surfaceFilm_.primaryThermo());
const PtrList<volScalarField>& Y = composition.Y();
forAll(Y, i)
{
if (composition.solve(i))
{
fieldNames_.append(Y[i].name());
}
}
}
}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::wordList Foam::fv::surfaceFilm::addSupFields() const
{
return fieldNames_;
}
Foam::scalar Foam::fv::surfaceFilm::maxDeltaT() const
{
return surfaceFilm_.maxDeltaT();
}
void Foam::fv::surfaceFilm::correct()
{
if (curTimeIndex_ == mesh().time().timeIndex())
{
return;
}
surfaceFilm_.evolve();
curTimeIndex_ = mesh().time().timeIndex();
}
void Foam::fv::surfaceFilm::addSup
(
fvMatrix<scalar>& eqn,
const word& fieldName
) const
{
if (debug)
{
Info<< type() << ": applying source to " << eqn.psi().name() << endl;
}
if (fieldName == fieldNames_[0])
{
eqn += surfaceFilm_.Srho();
}
else
{
FatalErrorInFunction
<< "Support for field " << fieldName << " is not implemented"
<< exit(FatalError);
}
}
void Foam::fv::surfaceFilm::addSup
(
const volScalarField& rho,
fvMatrix<scalar>& eqn,
const word& fieldName
) const
{
if (debug)
{
Info<< type() << ": applying source to " << eqn.psi().name() << endl;
}
if (fieldName == fieldNames_[0])
{
eqn += surfaceFilm_.Srho();
}
else if (fieldName == fieldNames_[2])
{
eqn += surfaceFilm_.Sh();
}
else if
(
isA<basicSpecieMixture>(surfaceFilm_.primaryThermo())
&& refCast<const basicSpecieMixture>(surfaceFilm_.primaryThermo()).contains
(
eqn.psi().name()
)
)
{
eqn += surfaceFilm_.SYi
(
refCast<const basicSpecieMixture>(surfaceFilm_.primaryThermo())
.index(eqn.psi())
);
}
else
{
FatalErrorInFunction
<< "Support for field " << fieldName << " is not implemented"
<< exit(FatalError);
}
}
void Foam::fv::surfaceFilm::addSup
(
const volScalarField& rho,
fvMatrix<vector>& eqn,
const word& fieldName
) const
{
if (debug)
{
Info<< type() << ": applying source to " << eqn.psi().name() << endl;
}
if (fieldName == fieldNames_[1])
{
eqn += surfaceFilm_.SU();
}
else
{
FatalErrorInFunction
<< "Support for field " << fieldName << " is not implemented"
<< exit(FatalError);
}
}
void Foam::fv::surfaceFilm::topoChange(const polyTopoChangeMap&)
{}
void Foam::fv::surfaceFilm::mapMesh(const polyMeshMap& map)
{}
void Foam::fv::surfaceFilm::distribute(const polyDistributionMap&)
{}
bool Foam::fv::surfaceFilm::movePoints()
{
return true;
}
// ************************************************************************* //

View File

@ -0,0 +1,309 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2021-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
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 <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#include "surfaceFilms.H"
#include "uniformDimensionedFields.H"
#include "basicSpecieMixture.H"
#include "fvMatrix.H"
#include "addToRunTimeSelectionTable.H"
// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * //
namespace Foam
{
namespace fv
{
defineTypeNameAndDebug(surfaceFilms, 0);
addToRunTimeSelectionTable(fvModel, surfaceFilms, dictionary);
// !!! Backwards compatible lookup name
addNamedToRunTimeSelectionTable
(
fvModel,
surfaceFilms,
dictionary,
surfaceFilm
);
}
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::fv::surfaceFilms::surfaceFilms
(
const word& sourceName,
const word& modelType,
const dictionary& dict,
const fvMesh& mesh
)
:
fvModel(sourceName, modelType, dict, mesh),
surfaceFilms_(),
surfaceFilmPrimaryRhoNames_(),
fieldNames_(),
curTimeIndex_(-1)
{
const wordList surfaceFilmNames =
dict.lookupOrDefault<wordList>
(
"surfaceFilms",
wordList(1, regionModels::surfaceFilm::typeName)
);
surfaceFilms_.resize(surfaceFilmNames.size());
surfaceFilmPrimaryRhoNames_.resize(surfaceFilmNames.size());
wordHashSet fieldNamesSet;
forAll(surfaceFilmNames, i)
{
surfaceFilms_.set
(
i,
new regionModels::thermoSurfaceFilm
(
regionModels::thermoSurfaceFilm::typeName,
mesh,
mesh.lookupObject<uniformDimensionedVectorField>("g"),
surfaceFilmNames[i]
)
);
const basicThermo& primaryThermo = surfaceFilms_[i].primaryThermo();
const word transportRhoName =
IOobject::groupName("rho", surfaceFilms_[i].phaseName());
surfaceFilmPrimaryRhoNames_[i] =
mesh.foundObject<volScalarField>(transportRhoName)
? transportRhoName
: primaryThermo.rho()().name();
fieldNamesSet.insert(surfaceFilmPrimaryRhoNames_[i]);
fieldNamesSet.insert(surfaceFilms_[i].UPrimary().name());
fieldNamesSet.insert(primaryThermo.he().name());
if (isA<basicSpecieMixture>(primaryThermo))
{
const basicSpecieMixture& mixture =
refCast<const basicSpecieMixture>(primaryThermo);
forAll(mixture.Y(), Yi)
{
if (mixture.solve(Yi))
{
fieldNamesSet.insert(mixture.Y()[Yi].name());
}
}
}
}
fieldNames_ = fieldNamesSet.toc();
}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::wordList Foam::fv::surfaceFilms::addSupFields() const
{
return fieldNames_;
}
Foam::scalar Foam::fv::surfaceFilms::maxDeltaT() const
{
scalar result = vGreat;
forAll(surfaceFilms_, i)
{
result = min(result, surfaceFilms_[i].maxDeltaT());
}
return result;
}
void Foam::fv::surfaceFilms::correct()
{
if (curTimeIndex_ == mesh().time().timeIndex())
{
return;
}
forAll(surfaceFilms_, i)
{
surfaceFilms_[i].evolve();
}
curTimeIndex_ = mesh().time().timeIndex();
}
void Foam::fv::surfaceFilms::addSup
(
fvMatrix<scalar>& eqn,
const word& fieldName
) const
{
if (debug)
{
Info<< type() << ": applying source to " << eqn.psi().name() << endl;
}
forAll(surfaceFilms_, i)
{
if (eqn.psi().group() == surfaceFilms_[i].phaseName())
{
if (fieldName == surfaceFilmPrimaryRhoNames_[i])
{
eqn += surfaceFilms_[i].Srho();
}
else
{
FatalErrorInFunction
<< "Support for field " << fieldName
<< " is not implemented" << exit(FatalError);
}
}
}
}
void Foam::fv::surfaceFilms::addSup
(
const volScalarField& rho,
fvMatrix<scalar>& eqn,
const word& fieldName
) const
{
if (debug)
{
Info<< type() << ": applying source to " << eqn.psi().name() << endl;
}
forAll(surfaceFilms_, i)
{
const basicThermo& primaryThermo = surfaceFilms_[i].primaryThermo();
if (eqn.psi().group() == surfaceFilms_[i].phaseName())
{
if (fieldName == surfaceFilmPrimaryRhoNames_[i])
{
forAll(surfaceFilms_, i)
{
eqn += surfaceFilms_[i].Srho();
}
}
else if (fieldName == primaryThermo.he().name())
{
forAll(surfaceFilms_, i)
{
eqn += surfaceFilms_[i].Sh();
}
}
else if
(
isA<basicSpecieMixture>(primaryThermo)
&& refCast<const basicSpecieMixture>(primaryThermo).contains
(
eqn.psi().name()
)
)
{
eqn += surfaceFilms_[i].SYi
(
refCast<const basicSpecieMixture>(primaryThermo).index
(
eqn.psi()
)
);
}
else
{
FatalErrorInFunction
<< "Support for field " << fieldName
<< " is not implemented" << exit(FatalError);
}
}
}
}
void Foam::fv::surfaceFilms::addSup
(
const volScalarField& rho,
fvMatrix<vector>& eqn,
const word& fieldName
) const
{
if (debug)
{
Info<< type() << ": applying source to " << eqn.psi().name() << endl;
}
forAll(surfaceFilms_, i)
{
if (eqn.psi().group() == surfaceFilms_[i].phaseName())
{
if (fieldName == surfaceFilms_[i].UPrimary().name())
{
eqn += surfaceFilms_[i].SU();
}
else
{
FatalErrorInFunction
<< "Support for field " << fieldName
<< " is not implemented" << exit(FatalError);
}
}
}
}
void Foam::fv::surfaceFilms::topoChange(const polyTopoChangeMap&)
{
NotImplemented;
}
void Foam::fv::surfaceFilms::mapMesh(const polyMeshMap& map)
{
NotImplemented;
}
void Foam::fv::surfaceFilms::distribute(const polyDistributionMap&)
{
NotImplemented;
}
bool Foam::fv::surfaceFilms::movePoints()
{
return true;
}
// ************************************************************************* //

View File

@ -22,30 +22,31 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::fv::surfaceFilm
Foam::fv::surfaceFilms
Description
surfaceFilm fvModel
Surface films fvModel
Usage
Example usage:
\verbatim
surfaceFilm
surfaceFilms
{
type surfaceFilm;
type surfaceFilms;
libs ("libsurfaceFilmModels.so");
}
\endverbatim
SourceFiles
surfaceFilm.C
surfaceFilms.C
\*---------------------------------------------------------------------------*/
#ifndef surfaceFilm_H
#define surfaceFilm_H
#ifndef surfaceFilms_H
#define surfaceFilms_H
#include "fvModel.H"
#include "thermoSingleLayer.H"
#include "thermoSurfaceFilm.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -55,17 +56,21 @@ namespace fv
{
/*---------------------------------------------------------------------------*\
Class surfaceFilm Declaration
Class surfaceFilms Declaration
\*---------------------------------------------------------------------------*/
class surfaceFilm
class surfaceFilms
:
public fvModel
{
// Private Data
//- The surface film model
regionModels::surfaceFilmModels::thermoSingleLayer surfaceFilm_;
//- The surface film models
PtrList<regionModels::thermoSurfaceFilm> surfaceFilms_;
//- For each surface film model, the corresponding density name in the
// primary region
wordList surfaceFilmPrimaryRhoNames_;
//- List of fields for which the fvModel adds source term
// to the transport equation
@ -78,13 +83,13 @@ class surfaceFilm
public:
//- Runtime type information
TypeName("surfaceFilm");
TypeName("surfaceFilms");
// Constructors
//- Construct from explicit source name and mesh
surfaceFilm
surfaceFilms
(
const word& sourceName,
const word& modelType,
@ -93,9 +98,9 @@ public:
);
//- Disallow default bitwise copy construction
surfaceFilm
surfaceFilms
(
const surfaceFilm&
const surfaceFilms&
) = delete;
@ -113,7 +118,7 @@ public:
// Correct
//- Solve the Lagrangian surfaceFilm and update the sources
//- Solve the Lagrangian surfaceFilms and update the sources
virtual void correct();
@ -161,7 +166,7 @@ public:
// Member Operators
//- Disallow default bitwise assignment
void operator=(const surfaceFilm&) = delete;
void operator=(const surfaceFilms&) = delete;
};

View File

@ -1,234 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
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 <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#include "surfaceInterpolate.H"
#include "fvcSurfaceIntegrate.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
{
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
inline const dimensionedScalar& kinematicSingleLayer::deltaSmall() const
{
return deltaSmall_;
}
inline const word& kinematicSingleLayer::phaseName() const
{
return phaseName_;
}
inline const volScalarField& kinematicSingleLayer::rho() const
{
return thermo_->rho();
}
inline const volScalarField& kinematicSingleLayer::mu() const
{
return mu_;
}
inline const volScalarField& kinematicSingleLayer::delta() const
{
return delta_;
}
inline const volScalarField& kinematicSingleLayer::alpha() const
{
return alpha_;
}
inline const volVectorField& kinematicSingleLayer::U() const
{
return U_;
}
inline tmp<volVectorField::Internal> kinematicSingleLayer::Us() const
{
return momentumTransport_->Us();
}
inline const surfaceScalarField& kinematicSingleLayer::phi() const
{
return phi_;
}
inline const surfaceScalarField& kinematicSingleLayer::phiU() const
{
return phiU_;
}
inline const volScalarField::Internal&
kinematicSingleLayer::continuityErr() const
{
return continuityErr_;
}
inline const volScalarField& kinematicSingleLayer::coverage() const
{
return coverage_;
}
inline volVectorField& kinematicSingleLayer::USpPrimary()
{
return USpPrimary_;
}
inline volScalarField& kinematicSingleLayer::pSpPrimary()
{
return pSpPrimary_;
}
inline volScalarField& kinematicSingleLayer::rhoSpPrimary()
{
return rhoSpPrimary_;
}
inline volVectorField::Internal& kinematicSingleLayer::USp()
{
return USp_;
}
inline volScalarField::Internal& kinematicSingleLayer::pSp()
{
return pSp_;
}
inline volScalarField::Internal& kinematicSingleLayer::rhoSp()
{
return rhoSp_;
}
inline const volVectorField::Internal& kinematicSingleLayer::USp() const
{
return USp_;
}
inline const volScalarField::Internal& kinematicSingleLayer::pSp() const
{
return pSp_;
}
inline const volScalarField::Internal& kinematicSingleLayer::rhoSp() const
{
return rhoSp_;
}
inline const volVectorField& kinematicSingleLayer::UPrimary() const
{
return UPrimary_;
}
inline const volScalarField& kinematicSingleLayer::pPrimary() const
{
return thermo_->p();
}
inline const volScalarField& kinematicSingleLayer::rhoPrimary() const
{
return rhoPrimary_;
}
inline const volScalarField& kinematicSingleLayer::muPrimary() const
{
return muPrimary_;
}
inline const rhoThermo& kinematicSingleLayer::thermo() const
{
return thermo_();
}
inline ejectionModelList& kinematicSingleLayer::ejection()
{
return ejection_;
}
inline transferModelList& kinematicSingleLayer::transfer()
{
return transfer_;
}
inline const momentumTransportModel&
kinematicSingleLayer::momentumTransport() const
{
return momentumTransport_();
}
inline tmp<volScalarField::Internal> kinematicSingleLayer::mass() const
{
return rho()()*delta_()*magSf();
}
inline tmp<volScalarField::Internal> kinematicSingleLayer::deltaMass() const
{
return rhoSp_*magSf()*time().deltaT();
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace regionModels
} // End namespace Foam
// ************************************************************************* //

View File

@ -23,7 +23,7 @@ License
\*---------------------------------------------------------------------------*/
#include "kinematicSingleLayer.H"
#include "momentumSurfaceFilm.H"
#include "fvcDdt.H"
#include "fvcDiv.H"
@ -49,22 +49,20 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
defineTypeNameAndDebug(kinematicSingleLayer, 0);
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
bool kinematicSingleLayer::read()
{
return surfaceFilmRegionModel::read();
defineTypeNameAndDebug(momentumSurfaceFilm, 0);
}
}
void kinematicSingleLayer::resetPrimaryRegionSourceTerms()
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
bool Foam::regionModels::momentumSurfaceFilm::read()
{
return surfaceFilm::read();
}
void Foam::regionModels::momentumSurfaceFilm::resetPrimaryRegionSourceTerms()
{
DebugInFunction << endl;
@ -74,7 +72,8 @@ void kinematicSingleLayer::resetPrimaryRegionSourceTerms()
}
void kinematicSingleLayer::transferPrimaryRegionThermoFields()
void Foam::regionModels::momentumSurfaceFilm::
transferPrimaryRegionThermoFields()
{
DebugInFunction << endl;
@ -87,7 +86,8 @@ void kinematicSingleLayer::transferPrimaryRegionThermoFields()
}
void kinematicSingleLayer::transferPrimaryRegionSourceFields()
void Foam::regionModels::momentumSurfaceFilm::
transferPrimaryRegionSourceFields()
{
DebugInFunction << endl;
@ -134,13 +134,15 @@ void kinematicSingleLayer::transferPrimaryRegionSourceFields()
}
tmp<volScalarField> kinematicSingleLayer::pc()
Foam::tmp<Foam::volScalarField>
Foam::regionModels::momentumSurfaceFilm::pc()
{
return -fvc::laplacian(sigma(), delta_);
}
tmp<volScalarField> kinematicSingleLayer::pe()
Foam::tmp<Foam::volScalarField>
Foam::regionModels::momentumSurfaceFilm::pe()
{
tmp<volScalarField> tpSp
(
@ -165,7 +167,8 @@ tmp<volScalarField> kinematicSingleLayer::pe()
}
tmp<surfaceScalarField> kinematicSingleLayer::rhog() const
Foam::tmp<Foam::surfaceScalarField>
Foam::regionModels::momentumSurfaceFilm::rhog() const
{
return
fvc::interpolate
@ -175,7 +178,8 @@ tmp<surfaceScalarField> kinematicSingleLayer::rhog() const
}
tmp<surfaceScalarField> kinematicSingleLayer::gGradRho() const
Foam::tmp<Foam::surfaceScalarField>
Foam::regionModels::momentumSurfaceFilm::gGradRho() const
{
return
fvc::interpolate
@ -185,13 +189,13 @@ tmp<surfaceScalarField> kinematicSingleLayer::gGradRho() const
}
void kinematicSingleLayer::correctCoverage()
void Foam::regionModels::momentumSurfaceFilm::correctCoverage()
{
coverage_ == pos(delta_ - deltaSmall_);
}
void kinematicSingleLayer::updateSubmodels()
void Foam::regionModels::momentumSurfaceFilm::updateSubmodels()
{
DebugInFunction << endl;
@ -214,7 +218,7 @@ void kinematicSingleLayer::updateSubmodels()
}
void kinematicSingleLayer::predictDelta()
void Foam::regionModels::momentumSurfaceFilm::predictDelta()
{
DebugInFunction << endl;
@ -230,13 +234,13 @@ void kinematicSingleLayer::predictDelta()
}
void kinematicSingleLayer::updateContinuityErr()
void Foam::regionModels::momentumSurfaceFilm::updateContinuityErr()
{
continuityErr_ = (fvc::ddt(alpha_, rho()) + fvc::div(phi_))() + rhoSp_;
}
void kinematicSingleLayer::continuityCheck()
void Foam::regionModels::momentumSurfaceFilm::continuityCheck()
{
const dimensionedScalar totalMass = fvc::domainIntegrate(mass());
@ -268,7 +272,8 @@ void kinematicSingleLayer::continuityCheck()
}
tmp<volVectorField::Internal> kinematicSingleLayer::Uw() const
Foam::tmp<Foam::volVectorField::Internal>
Foam::regionModels::momentumSurfaceFilm::Uw() const
{
tmp<volVectorField::Internal> tUw
(
@ -297,7 +302,8 @@ tmp<volVectorField::Internal> kinematicSingleLayer::Uw() const
}
tmp<Foam::fvVectorMatrix> kinematicSingleLayer::solveMomentum
Foam::tmp<Foam::fvVectorMatrix>
Foam::regionModels::momentumSurfaceFilm::solveMomentum
(
const volScalarField& pc,
const volScalarField& pe
@ -363,7 +369,7 @@ tmp<Foam::fvVectorMatrix> kinematicSingleLayer::solveMomentum
}
void kinematicSingleLayer::solveAlpha
void Foam::regionModels::momentumSurfaceFilm::solveAlpha
(
const fvVectorMatrix& UEqn,
const volScalarField& pc,
@ -469,7 +475,7 @@ void kinematicSingleLayer::solveAlpha
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
kinematicSingleLayer::kinematicSingleLayer
Foam::regionModels::momentumSurfaceFilm::momentumSurfaceFilm
(
const word& modelType,
const fvMesh& mesh,
@ -478,7 +484,7 @@ kinematicSingleLayer::kinematicSingleLayer
const bool readFields
)
:
surfaceFilmRegionModel(modelType, mesh, g, regionType),
surfaceFilm(modelType, mesh, g, regionType),
phaseName_(coeffs_.lookupOrDefault("phase", word::null)),
pimple_(regionMesh()),
@ -814,7 +820,7 @@ kinematicSingleLayer::kinematicSingleLayer
this->mappedFieldAndInternalPatchTypes<scalar>()
),
viscosity_(viscosityModel::New(*this, coeffs(), mu_)),
viscosity_(surfaceFilmSubModels::viscosityModel::New(*this, coeffs(), mu_)),
sigma_(Function1<scalar>::New("sigma", coeffs())),
@ -824,7 +830,10 @@ kinematicSingleLayer::kinematicSingleLayer
transfer_(*this, coeffs_),
momentumTransport_(momentumTransportModel::New(*this, coeffs_)),
momentumTransport_
(
surfaceFilmSubModels::momentumTransportModel::New(*this, coeffs_)
),
forces_(*this, coeffs_),
@ -860,13 +869,14 @@ kinematicSingleLayer::kinematicSingleLayer
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
kinematicSingleLayer::~kinematicSingleLayer()
Foam::regionModels::momentumSurfaceFilm::~momentumSurfaceFilm()
{}
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
tmp<volScalarField> kinematicSingleLayer::sigma() const
Foam::tmp<Foam::volScalarField>
Foam::regionModels::momentumSurfaceFilm::sigma() const
{
tmp<volScalarField> tsigma
(
@ -887,7 +897,7 @@ tmp<volScalarField> kinematicSingleLayer::sigma() const
}
void kinematicSingleLayer::addSources
void Foam::regionModels::momentumSurfaceFilm::addSources
(
const label patchi,
const label facei,
@ -911,11 +921,11 @@ void kinematicSingleLayer::addSources
}
void kinematicSingleLayer::preEvolveRegion()
void Foam::regionModels::momentumSurfaceFilm::preEvolveRegion()
{
DebugInFunction << endl;
surfaceFilmRegionModel::preEvolveRegion();
surfaceFilm::preEvolveRegion();
transferPrimaryRegionThermoFields();
@ -930,7 +940,7 @@ void kinematicSingleLayer::preEvolveRegion()
}
void kinematicSingleLayer::evolveRegion()
void Foam::regionModels::momentumSurfaceFilm::evolveRegion()
{
DebugInFunction << endl;
@ -969,7 +979,8 @@ void kinematicSingleLayer::evolveRegion()
}
scalar kinematicSingleLayer::CourantNumber() const
Foam::scalar
Foam::regionModels::momentumSurfaceFilm::CourantNumber() const
{
const scalarField sumPhi(fvc::surfaceSum(mag(phiU_))().primitiveField());
@ -977,7 +988,8 @@ scalar kinematicSingleLayer::CourantNumber() const
}
scalar kinematicSingleLayer::maxDeltaT() const
Foam::scalar
Foam::regionModels::momentumSurfaceFilm::maxDeltaT() const
{
if (maxCo_ > 0)
{
@ -990,31 +1002,35 @@ scalar kinematicSingleLayer::maxDeltaT() const
}
tmp<volScalarField> kinematicSingleLayer::primaryMassTrans() const
Foam::tmp<Foam::volScalarField>
Foam::regionModels::momentumSurfaceFilm::primaryMassTrans() const
{
return primaryMassTrans_;
}
const volScalarField& kinematicSingleLayer::cloudMassTrans() const
const Foam::volScalarField&
Foam::regionModels::momentumSurfaceFilm::cloudMassTrans() const
{
return cloudMassTrans_;
}
const volScalarField& kinematicSingleLayer::cloudDiameterTrans() const
const Foam::volScalarField&
Foam::regionModels::momentumSurfaceFilm::cloudDiameterTrans() const
{
return cloudDiameterTrans_;
}
tmp<volVectorField> kinematicSingleLayer::primaryMomentumTrans() const
Foam::tmp<Foam::volVectorField>
Foam::regionModels::momentumSurfaceFilm::primaryMomentumTrans() const
{
return primaryMomentumTrans_;
}
void kinematicSingleLayer::info()
void Foam::regionModels::momentumSurfaceFilm::info()
{
Info<< "\nSurface film: " << type() << endl;
@ -1040,13 +1056,14 @@ void kinematicSingleLayer::info()
}
tmp<volScalarField::Internal> kinematicSingleLayer::Srho() const
Foam::tmp<Foam::volScalarField::Internal>
Foam::regionModels::momentumSurfaceFilm::Srho() const
{
tmp<volScalarField::Internal> tSrho
(
volScalarField::Internal::New
(
"thermoSingleLayer::Srho",
typedName("Srho"),
primaryMesh(),
dimensionedScalar(dimMass/dimVolume/dimTime, 0)
)
@ -1079,7 +1096,8 @@ tmp<volScalarField::Internal> kinematicSingleLayer::Srho() const
}
tmp<volScalarField::Internal> kinematicSingleLayer::SYi
Foam::tmp<Foam::volScalarField::Internal>
Foam::regionModels::momentumSurfaceFilm::SYi
(
const label i
) const
@ -1093,7 +1111,8 @@ tmp<volScalarField::Internal> kinematicSingleLayer::SYi
}
tmp<volVectorField::Internal> kinematicSingleLayer::SU() const
Foam::tmp<Foam::volVectorField::Internal>
Foam::regionModels::momentumSurfaceFilm::SU() const
{
tmp<volVectorField::Internal> tSU
(
@ -1131,7 +1150,8 @@ tmp<volVectorField::Internal> kinematicSingleLayer::SU() const
}
tmp<volScalarField::Internal> kinematicSingleLayer::Sh() const
Foam::tmp<Foam::volScalarField::Internal>
Foam::regionModels::momentumSurfaceFilm::Sh() const
{
return volScalarField::Internal::New
(
@ -1142,10 +1162,4 @@ tmp<volScalarField::Internal> kinematicSingleLayer::Sh() const
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace regionModels
} // End namespace Foam
// ************************************************************************* //

View File

@ -22,20 +22,20 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::kinematicSingleLayer
Foam::regionModels::momentumSurfaceFilm
Description
Kinematic form of single-cell layer surface film model
SourceFiles
kinematicSingleLayer.C
momentumSurfaceFilm.C
\*---------------------------------------------------------------------------*/
#ifndef kinematicSingleLayer_H
#define kinematicSingleLayer_H
#ifndef momentumSurfaceFilm_H
#define momentumSurfaceFilm_H
#include "surfaceFilmRegionModel.H"
#include "surfaceFilm.H"
#include "fvMesh.H"
#include "volFields.H"
#include "surfaceFields.H"
@ -55,19 +55,20 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
{
// Forward class declarations
class viscosityModel;
namespace surfaceFilmSubModels
{
class viscosityModel;
}
/*---------------------------------------------------------------------------*\
Class kinematicSingleLayer Declaration
Class momentumSurfaceFilm Declaration
\*---------------------------------------------------------------------------*/
class kinematicSingleLayer
class momentumSurfaceFilm
:
public surfaceFilmRegionModel
public surfaceFilm
{
protected:
@ -189,7 +190,7 @@ protected:
// Sub-models
//- Viscosity model
autoPtr<viscosityModel> viscosity_;
autoPtr<surfaceFilmSubModels::viscosityModel> viscosity_;
//- Surface tension function
autoPtr<Function1<scalar>> sigma_;
@ -198,16 +199,17 @@ protected:
scalarField availableMass_;
//- Cloud ejection
ejectionModelList ejection_;
surfaceFilmSubModels::ejectionModelList ejection_;
//- Transfer with the continuous phase
transferModelList transfer_;
surfaceFilmSubModels::transferModelList transfer_;
//- Momentum transport model
autoPtr<momentumTransportModel> momentumTransport_;
autoPtr<surfaceFilmSubModels::momentumTransportModel>
momentumTransport_;
//- List of film forces
forceList forces_;
surfaceFilmSubModels::forceList forces_;
// Checks
@ -288,13 +290,13 @@ protected:
public:
//- Runtime type information
TypeName("kinematicSingleLayer");
TypeName("momentumSurfaceFilm");
// Constructors
//- Construct from components
kinematicSingleLayer
momentumSurfaceFilm
(
const word& modelType,
const fvMesh& mesh,
@ -304,11 +306,11 @@ public:
);
//- Disallow default bitwise copy construction
kinematicSingleLayer(const kinematicSingleLayer&) = delete;
momentumSurfaceFilm(const momentumSurfaceFilm&) = delete;
//- Destructor
virtual ~kinematicSingleLayer();
virtual ~momentumSurfaceFilm();
// Member Functions
@ -459,13 +461,14 @@ public:
inline const rhoThermo& thermo() const;
//- Ejection
inline ejectionModelList& ejection();
inline surfaceFilmSubModels::ejectionModelList& ejection();
//- Transfer
inline transferModelList& transfer();
inline surfaceFilmSubModels::transferModelList& transfer();
//- Momentum transport
inline const momentumTransportModel& momentumTransport() const;
inline const surfaceFilmSubModels::momentumTransportModel&
momentumTransport() const;
// Helper functions
@ -513,25 +516,24 @@ public:
// Member Operators
//- Disallow default bitwise assignment
void operator=(const kinematicSingleLayer&) = delete;
void operator=(const momentumSurfaceFilm&) = delete;
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace regionModels
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository
#include "kinematicSingleLayerTemplates.C"
#include "momentumSurfaceFilmTemplates.C"
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "kinematicSingleLayerI.H"
#include "momentumSurfaceFilmI.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -0,0 +1,249 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
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 <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#include "momentumSurfaceFilm.H"
#include "surfaceInterpolate.H"
#include "fvcSurfaceIntegrate.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
inline const Foam::dimensionedScalar&
Foam::regionModels::momentumSurfaceFilm::deltaSmall() const
{
return deltaSmall_;
}
inline const Foam::word&
Foam::regionModels::momentumSurfaceFilm::phaseName() const
{
return phaseName_;
}
inline const Foam::volScalarField&
Foam::regionModels::momentumSurfaceFilm::rho() const
{
return thermo_->rho();
}
inline const Foam::volScalarField&
Foam::regionModels::momentumSurfaceFilm::mu() const
{
return mu_;
}
inline const Foam::volScalarField&
Foam::regionModels::momentumSurfaceFilm::delta() const
{
return delta_;
}
inline const Foam::volScalarField&
Foam::regionModels::momentumSurfaceFilm::alpha() const
{
return alpha_;
}
inline const Foam::volVectorField&
Foam::regionModels::momentumSurfaceFilm::U() const
{
return U_;
}
inline Foam::tmp<Foam::volVectorField::Internal>
Foam::regionModels::momentumSurfaceFilm::Us() const
{
return momentumTransport_->Us();
}
inline const Foam::surfaceScalarField&
Foam::regionModels::momentumSurfaceFilm::phi() const
{
return phi_;
}
inline const Foam::surfaceScalarField&
Foam::regionModels::momentumSurfaceFilm::phiU() const
{
return phiU_;
}
inline const Foam::volScalarField::Internal&
Foam::regionModels::momentumSurfaceFilm::continuityErr() const
{
return continuityErr_;
}
inline const Foam::volScalarField&
Foam::regionModels::momentumSurfaceFilm::coverage() const
{
return coverage_;
}
inline Foam::volVectorField&
Foam::regionModels::momentumSurfaceFilm::USpPrimary()
{
return USpPrimary_;
}
inline Foam::volScalarField&
Foam::regionModels::momentumSurfaceFilm::pSpPrimary()
{
return pSpPrimary_;
}
inline Foam::volScalarField&
Foam::regionModels::momentumSurfaceFilm::rhoSpPrimary()
{
return rhoSpPrimary_;
}
inline Foam::volVectorField::Internal&
Foam::regionModels::momentumSurfaceFilm::USp()
{
return USp_;
}
inline Foam::volScalarField::Internal&
Foam::regionModels::momentumSurfaceFilm::pSp()
{
return pSp_;
}
inline Foam::volScalarField::Internal&
Foam::regionModels::momentumSurfaceFilm::rhoSp()
{
return rhoSp_;
}
inline const Foam::volVectorField::Internal&
Foam::regionModels::momentumSurfaceFilm::USp() const
{
return USp_;
}
inline const Foam::volScalarField::Internal&
Foam::regionModels::momentumSurfaceFilm::pSp() const
{
return pSp_;
}
inline const Foam::volScalarField::Internal&
Foam::regionModels::momentumSurfaceFilm::rhoSp() const
{
return rhoSp_;
}
inline const Foam::volVectorField&
Foam::regionModels::momentumSurfaceFilm::UPrimary() const
{
return UPrimary_;
}
inline const Foam::volScalarField&
Foam::regionModels::momentumSurfaceFilm::pPrimary() const
{
return thermo_->p();
}
inline const Foam::volScalarField&
Foam::regionModels::momentumSurfaceFilm::rhoPrimary() const
{
return rhoPrimary_;
}
inline const Foam::volScalarField&
Foam::regionModels::momentumSurfaceFilm::muPrimary() const
{
return muPrimary_;
}
inline const Foam::rhoThermo&
Foam::regionModels::momentumSurfaceFilm::thermo() const
{
return thermo_();
}
inline Foam::regionModels::surfaceFilmSubModels::ejectionModelList&
Foam::regionModels::momentumSurfaceFilm::ejection()
{
return ejection_;
}
inline Foam::regionModels::surfaceFilmSubModels::transferModelList&
Foam::regionModels::momentumSurfaceFilm::transfer()
{
return transfer_;
}
inline const Foam::regionModels::surfaceFilmSubModels::momentumTransportModel&
Foam::regionModels::momentumSurfaceFilm::momentumTransport() const
{
return momentumTransport_();
}
inline Foam::tmp<Foam::volScalarField::Internal>
Foam::regionModels::momentumSurfaceFilm::mass() const
{
return rho()()*delta_()*magSf();
}
inline Foam::tmp<Foam::volScalarField::Internal>
Foam::regionModels::momentumSurfaceFilm::deltaMass() const
{
return rhoSp_*magSf()*time().deltaT();
}
// ************************************************************************* //

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -23,21 +23,12 @@ License
\*---------------------------------------------------------------------------*/
#include "kinematicSingleLayer.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
{
#include "momentumSurfaceFilm.H"
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
template<class Type>
tmp<Type> kinematicSingleLayer::constrainFilmField
Foam::tmp<Type> Foam::regionModels::momentumSurfaceFilm::constrainFilmField
(
const tmp<Type>& tfield,
const typename Type::cmptType& value
@ -73,10 +64,4 @@ tmp<Type> kinematicSingleLayer::constrainFilmField
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // end namespace Foam
} // end namespace regionModels
} // end namespace surfaceFilmModels
// ************************************************************************* //

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -31,12 +31,12 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
filmSubModelBase::filmSubModelBase(surfaceFilmRegionModel& film)
filmSubModelBase::filmSubModelBase(surfaceFilm& film)
:
subModelBase(film.outputProperties()),
filmModel_(film)
@ -45,7 +45,7 @@ filmSubModelBase::filmSubModelBase(surfaceFilmRegionModel& film)
filmSubModelBase::filmSubModelBase
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict,
const word& baseName,
const word& modelType,
@ -67,7 +67,7 @@ filmSubModelBase::filmSubModelBase
filmSubModelBase::filmSubModelBase
(
const word& modelName,
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict,
const word& baseName,
const word& modelType
@ -101,7 +101,7 @@ bool filmSubModelBase::writeTime() const
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::filmSubModelBase
Foam::regionModels::surfaceFilmSubModels::filmSubModelBase
Description
Base class for surface film sub-models
@ -36,7 +36,7 @@ SourceFiles
#ifndef filmSubModelBase_H
#define filmSubModelBase_H
#include "surfaceFilmRegionModel.H"
#include "surfaceFilm.H"
#include "subModelBase.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -45,7 +45,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -61,7 +61,7 @@ protected:
// Protected data
//- Reference to the film surface film model
surfaceFilmRegionModel& filmModel_;
surfaceFilm& filmModel_;
public:
@ -69,12 +69,12 @@ public:
// Constructors
//- Construct null
filmSubModelBase(surfaceFilmRegionModel& film);
filmSubModelBase(surfaceFilm& film);
//- Construct from film film without name
filmSubModelBase
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict,
const word& baseName,
const word& modelType,
@ -85,7 +85,7 @@ public:
filmSubModelBase
(
const word& modelName,
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict,
const word& baseName,
const word& modelType
@ -104,10 +104,10 @@ public:
virtual bool writeTime() const;
//- Return const access to the film surface film model
inline const surfaceFilmRegionModel& film() const;
inline const surfaceFilm& film() const;
//- Return the reference to the film surface film model
inline surfaceFilmRegionModel& film();
inline surfaceFilm& film();
template<class FilmType>
inline const FilmType& filmType() const;
@ -116,7 +116,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -29,18 +29,18 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
inline const surfaceFilmRegionModel& filmSubModelBase::film() const
inline const surfaceFilm& filmSubModelBase::film() const
{
return filmModel_;
}
inline surfaceFilmRegionModel& filmSubModelBase::film()
inline surfaceFilm& filmSubModelBase::film()
{
return filmModel_;
}
@ -48,7 +48,7 @@ inline surfaceFilmRegionModel& filmSubModelBase::film()
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2013-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -27,7 +27,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -49,7 +49,7 @@ const FilmType& filmSubModelBase::filmType() const
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2016-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2016-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -25,7 +25,7 @@ License
#include "BrunDrippingEjection.H"
#include "addToRunTimeSelectionTable.H"
#include "kinematicSingleLayer.H"
#include "momentumSurfaceFilm.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -33,7 +33,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -45,7 +45,7 @@ addToRunTimeSelectionTable(ejectionModel, BrunDrippingEjection, dictionary);
BrunDrippingEjection::BrunDrippingEjection
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
)
:
@ -72,8 +72,8 @@ void BrunDrippingEjection::correct
scalarField& diameterToEject
)
{
const kinematicSingleLayer& film =
refCast<const kinematicSingleLayer>(this->film());
const momentumSurfaceFilm& film =
refCast<const momentumSurfaceFilm>(this->film());
// Calculate available dripping mass
tmp<volScalarField> tsinAlpha((film.g()/mag(film.g())) & film.nHat());
@ -139,7 +139,7 @@ void BrunDrippingEjection::correct
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2016-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2016-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::BrunDrippingEjection
Foam::regionModels::surfaceFilmSubModels::BrunDrippingEjection
Description
Film Dripping mass transfer model.
@ -65,7 +65,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -109,7 +109,7 @@ public:
//- Construct from surface film model
BrunDrippingEjection
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
);
@ -141,7 +141,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -24,7 +24,7 @@ License
\*---------------------------------------------------------------------------*/
#include "curvatureSeparation.H"
#include "kinematicSingleLayer.H"
#include "momentumSurfaceFilm.H"
#include "fvcGrad.H"
#include "addToRunTimeSelectionTable.H"
@ -34,7 +34,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -171,7 +171,7 @@ tmp<scalarField> curvatureSeparation::calcCosAngle
curvatureSeparation::curvatureSeparation
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
)
:
@ -241,8 +241,8 @@ void curvatureSeparation::correct
scalarField& diameterToEject
)
{
const kinematicSingleLayer& film =
refCast<const kinematicSingleLayer>(this->film());
const momentumSurfaceFilm& film =
refCast<const momentumSurfaceFilm>(this->film());
const fvMesh& mesh = film.regionMesh();
const volScalarField& delta = film.delta();
@ -321,7 +321,7 @@ void curvatureSeparation::correct
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::curvatureSeparation
Foam::regionModels::surfaceFilmSubModels::curvatureSeparation
Description
Curvature film separation model
@ -57,7 +57,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -114,7 +114,7 @@ public:
//- Construct from surface film model
curvatureSeparation
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
);
@ -148,7 +148,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -30,7 +30,7 @@ License
#include "mathematicalConstants.H"
#include "Random.H"
#include "volFields.H"
#include "kinematicSingleLayer.H"
#include "momentumSurfaceFilm.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -38,7 +38,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -50,7 +50,7 @@ addToRunTimeSelectionTable(ejectionModel, drippingEjection, dictionary);
drippingEjection::drippingEjection
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
)
:
@ -85,8 +85,8 @@ void drippingEjection::correct
scalarField& diameterToEject
)
{
const kinematicSingleLayer& film =
refCast<const kinematicSingleLayer>(this->film());
const momentumSurfaceFilm& film =
refCast<const momentumSurfaceFilm>(this->film());
const scalar pi = constant::mathematical::pi;
@ -159,7 +159,7 @@ void drippingEjection::correct
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::drippingEjection
Foam::regionModels::surfaceFilmSubModels::drippingEjection
Description
Film Dripping mass transfer model.
@ -50,7 +50,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -94,7 +94,7 @@ public:
//- Construct from surface film model
drippingEjection
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
);
@ -128,7 +128,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -31,7 +31,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -49,7 +49,7 @@ void ejectionModel::addToEjectedMass(const scalar dMass)
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
ejectionModel::ejectionModel(surfaceFilmRegionModel& film)
ejectionModel::ejectionModel(surfaceFilm& film)
:
filmSubModelBase(film),
ejectedMass_(0.0)
@ -59,7 +59,7 @@ ejectionModel::ejectionModel(surfaceFilmRegionModel& film)
ejectionModel::ejectionModel
(
const word& modelType,
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
)
:
@ -97,7 +97,7 @@ scalar ejectionModel::ejectedMassTotal() const
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::ejectionModel
Foam::regionModels::surfaceFilmSubModels::ejectionModel
Description
Base class for film ejection models, handling mass transfer from the
@ -47,7 +47,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -89,7 +89,7 @@ public:
ejectionModel,
dictionary,
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
),
(film, dict)
@ -99,13 +99,13 @@ public:
// Constructors
//- Construct null
ejectionModel(surfaceFilmRegionModel& film);
ejectionModel(surfaceFilm& film);
//- Construct from type name, dictionary and surface film model
ejectionModel
(
const word& modelType,
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
);
@ -118,7 +118,7 @@ public:
//- Return a reference to the selected ejection model
static autoPtr<ejectionModel> New
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict,
const word& mdoelType
);
@ -156,7 +156,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -31,14 +31,14 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
autoPtr<ejectionModel> ejectionModel::New
(
surfaceFilmRegionModel& model,
surfaceFilm& model,
const dictionary& dict,
const word& modelType
)
@ -63,7 +63,7 @@ autoPtr<ejectionModel> ejectionModel::New
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -31,12 +31,12 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
ejectionModelList::ejectionModelList(surfaceFilmRegionModel& film)
ejectionModelList::ejectionModelList(surfaceFilm& film)
:
PtrList<ejectionModel>(),
filmSubModelBase(film)
@ -45,7 +45,7 @@ ejectionModelList::ejectionModelList(surfaceFilmRegionModel& film)
ejectionModelList::ejectionModelList
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
)
:
@ -194,7 +194,7 @@ void ejectionModelList::info(Ostream& os)
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::ejectionModelList
Foam::regionModels::surfaceFilmSubModels::ejectionModelList
Description
List container for film ejection models
@ -45,7 +45,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -68,12 +68,12 @@ public:
// Constructors
//- Construct null
ejectionModelList(surfaceFilmRegionModel& film);
ejectionModelList(surfaceFilm& film);
//- Construct from type name, dictionary and surface film model
ejectionModelList
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
);
@ -113,7 +113,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2015-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2015-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -32,7 +32,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -44,7 +44,7 @@ addToRunTimeSelectionTable(ejectionModel, patchEjection, dictionary);
patchEjection::patchEjection
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
)
:
@ -199,7 +199,7 @@ void patchEjection::patchEjectedMassTotals(scalarField& patchMasses) const
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2015-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2015-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::patchEjection
Foam::regionModels::surfaceFilmSubModels::patchEjection
Description
Remove and eject the mass in the film as it passes over the selected
@ -44,7 +44,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -77,7 +77,7 @@ public:
// Constructors
//- Construct from surface film model
patchEjection(surfaceFilmRegionModel& film, const dictionary& dict);
patchEjection(surfaceFilm& film, const dictionary& dict);
//- Disallow default bitwise copy construction
patchEjection(const patchEjection&) = delete;
@ -114,7 +114,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -31,7 +31,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -43,7 +43,7 @@ defineRunTimeSelectionTable(momentumTransportModel, dictionary);
momentumTransportModel::momentumTransportModel
(
surfaceFilmRegionModel& film
surfaceFilm& film
)
:
filmSubModelBase(film)
@ -53,7 +53,7 @@ momentumTransportModel::momentumTransportModel
momentumTransportModel::momentumTransportModel
(
const word& modelType,
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
)
:
@ -69,7 +69,7 @@ momentumTransportModel::~momentumTransportModel()
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::momentumTransportModel
Foam::regionModels::surfaceFilmSubModels::momentumTransportModel
Description
Base class for film momentum transport models
@ -47,7 +47,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -72,7 +72,7 @@ public:
momentumTransportModel,
dictionary,
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
),
(film, dict)
@ -81,13 +81,13 @@ public:
// Constructors
//- Construct null
momentumTransportModel(surfaceFilmRegionModel& film);
momentumTransportModel(surfaceFilm& film);
//- Construct from type name, dictionary and surface film model
momentumTransportModel
(
const word& modelType,
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
);
@ -100,7 +100,7 @@ public:
//- Return a reference to the selected ejection model
static autoPtr<momentumTransportModel> New
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
);
@ -132,7 +132,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -31,14 +31,14 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
autoPtr<momentumTransportModel> momentumTransportModel::New
(
surfaceFilmRegionModel& model,
surfaceFilm& model,
const dictionary& dict
)
{
@ -86,7 +86,7 @@ autoPtr<momentumTransportModel> momentumTransportModel::New
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -30,7 +30,7 @@ License
#include "Time.H"
#include "volFields.H"
#include "fvmSup.H"
#include "kinematicSingleLayer.H"
#include "momentumSurfaceFilm.H"
#include "extrapolatedCalculatedFvPatchFields.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -39,7 +39,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -51,7 +51,7 @@ addToRunTimeSelectionTable(momentumTransportModel, laminar, dictionary);
laminar::laminar
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
)
:
@ -91,8 +91,8 @@ void laminar::correct()
tmp<fvVectorMatrix> laminar::Su(volVectorField& U) const
{
// local reference to film model
const kinematicSingleLayer& film =
static_cast<const kinematicSingleLayer&>(filmModel_);
const momentumSurfaceFilm& film =
static_cast<const momentumSurfaceFilm&>(filmModel_);
// local references to film fields
const volScalarField::Internal& mu = film.mu();
@ -120,7 +120,7 @@ tmp<fvVectorMatrix> laminar::Su(volVectorField& U) const
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::laminar
Foam::regionModels::surfaceFilmSubModels::laminar
Description
Film laminar momentum transport model.
@ -43,7 +43,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -69,7 +69,7 @@ public:
// Constructors
//- Construct from surface film model
laminar(surfaceFilmRegionModel& film, const dictionary& dict);
laminar(surfaceFilm& film, const dictionary& dict);
//- Disallow default bitwise copy construction
laminar(const laminar&) = delete;
@ -102,7 +102,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2015-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2015-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -32,7 +32,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -51,7 +51,7 @@ addToRunTimeSelectionTable
ArrheniusViscosity::ArrheniusViscosity
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict,
volScalarField& mu
)
@ -86,7 +86,7 @@ void ArrheniusViscosity::correct
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2015-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2015-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::ArrheniusViscosity
Foam::regionModels::surfaceFilmSubModels::ArrheniusViscosity
Description
The Arrhenius temperature-dependent viscosity model multiplies the viscosity
@ -52,7 +52,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -91,7 +91,7 @@ public:
//- Construct from surface film model
ArrheniusViscosity
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict,
volScalarField& mu
);
@ -123,7 +123,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -24,7 +24,7 @@ License
\*---------------------------------------------------------------------------*/
#include "NewtonianViscosity.H"
#include "thermoSingleLayer.H"
#include "thermoSurfaceFilm.H"
#include "addToRunTimeSelectionTable.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -33,7 +33,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -51,7 +51,7 @@ addToRunTimeSelectionTable
NewtonianViscosity::NewtonianViscosity
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict,
volScalarField& mu
)
@ -74,7 +74,7 @@ void NewtonianViscosity::correct
const volScalarField& T
)
{
const thermoSingleLayer& film = filmType<thermoSingleLayer>();
const thermoSurfaceFilm& film = filmType<thermoSurfaceFilm>();
mu_ = film.thermo().mu();
}
@ -82,7 +82,7 @@ void NewtonianViscosity::correct
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::NewtonianViscosity
Foam::regionModels::surfaceFilmSubModels::NewtonianViscosity
Description
Newtonian viscosity model
@ -44,7 +44,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -66,7 +66,7 @@ public:
//- Construct from surface film model
NewtonianViscosity
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict,
volScalarField& mu
);
@ -100,7 +100,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -32,7 +32,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -50,7 +50,7 @@ addToRunTimeSelectionTable
constantViscosity::constantViscosity
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict,
volScalarField& mu
)
@ -82,7 +82,7 @@ void constantViscosity::correct
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::constantViscosity
Foam::regionModels::surfaceFilmSubModels::constantViscosity
Description
Constant viscosity model
@ -43,7 +43,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -74,7 +74,7 @@ public:
//- Construct from surface film model
constantViscosity
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict,
volScalarField& mu
);
@ -108,7 +108,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -31,7 +31,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -44,7 +44,7 @@ defineRunTimeSelectionTable(viscosityModel, dictionary);
viscosityModel::viscosityModel
(
const word& modelType,
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict,
volScalarField& mu
)
@ -68,7 +68,7 @@ void viscosityModel::info(Ostream& os) const
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // end namespace surfaceFilmModels
} // end namespace surfaceFilmSubModels
} // end namespace regionModels
} // end namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::viscosityModel
Foam::regionModels::surfaceFilmSubModels::viscosityModel
Description
Base class for surface film viscosity models
@ -46,7 +46,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -79,7 +79,7 @@ public:
viscosityModel,
dictionary,
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict,
volScalarField& mu
),
@ -92,7 +92,7 @@ public:
viscosityModel
(
const word& modelType,
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict,
volScalarField& mu
);
@ -106,7 +106,7 @@ public:
//- Return a reference to the selected phase change model
static autoPtr<viscosityModel> New
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict,
volScalarField& mu
);
@ -143,7 +143,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -31,14 +31,14 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
autoPtr<viscosityModel> viscosityModel::New
(
surfaceFilmRegionModel& model,
surfaceFilm& model,
const dictionary& dict,
volScalarField& mu
)
@ -84,7 +84,7 @@ autoPtr<viscosityModel> viscosityModel::New
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // end namespace surfaceFilmModels
} // end namespace surfaceFilmSubModels
} // end namespace regionModels
} // end namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2017-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2017-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -32,7 +32,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -51,7 +51,7 @@ addToRunTimeSelectionTable
function1Viscosity::function1Viscosity
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict,
volScalarField& mu
)
@ -87,7 +87,7 @@ void function1Viscosity::correct
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2017-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2017-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::function1Viscosity
Foam::regionModels::surfaceFilmSubModels::function1Viscosity
Description
The Foam::Function1 temperature-dependent viscosity model multiplies the
@ -45,7 +45,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -87,7 +87,7 @@ public:
//- Construct from surface film model
function1Viscosity
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict,
volScalarField& mu
);
@ -110,7 +110,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -24,7 +24,7 @@ License
\*---------------------------------------------------------------------------*/
#include "thixotropicViscosity.H"
#include "kinematicSingleLayer.H"
#include "momentumSurfaceFilm.H"
#include "addToRunTimeSelectionTable.H"
#include "fvmDdt.H"
@ -38,7 +38,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -57,7 +57,7 @@ addToRunTimeSelectionTable
thixotropicViscosity::thixotropicViscosity
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict,
volScalarField& mu
)
@ -113,7 +113,7 @@ void thixotropicViscosity::correct
const volScalarField& T
)
{
const kinematicSingleLayer& film = filmType<kinematicSingleLayer>();
const momentumSurfaceFilm& film = filmType<momentumSurfaceFilm>();
const volScalarField::Internal& delta = film.delta();
const volScalarField::Internal alphaRho(film.alpha()()*film.rho()());
@ -182,7 +182,7 @@ void thixotropicViscosity::correct
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::thixotropicViscosity
Foam::regionModels::surfaceFilmSubModels::thixotropicViscosity
Description
Thixotropic viscosity model based on the evolution of the structural
@ -78,7 +78,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -135,7 +135,7 @@ public:
//- Construct from surface film model
thixotropicViscosity
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict,
volScalarField& mu
);
@ -167,7 +167,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -24,7 +24,7 @@ License
\*---------------------------------------------------------------------------*/
#include "waxSolventViscosity.H"
#include "kinematicSingleLayer.H"
#include "momentumSurfaceFilm.H"
#include "waxSolventEvaporation.H"
#include "addToRunTimeSelectionTable.H"
@ -34,7 +34,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -53,7 +53,7 @@ addToRunTimeSelectionTable
void waxSolventViscosity::correctMu()
{
const kinematicSingleLayer& film = filmType<kinematicSingleLayer>();
const momentumSurfaceFilm& film = filmType<momentumSurfaceFilm>();
const uniformDimensionedScalarField Wwax
(
@ -106,7 +106,7 @@ void waxSolventViscosity::correctMu()
waxSolventViscosity::waxSolventViscosity
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict,
volScalarField& mu
)
@ -184,7 +184,7 @@ void waxSolventViscosity::correct
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2017-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2017-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::waxSolventViscosity
Foam::regionModels::surfaceFilmSubModels::waxSolventViscosity
Description
Wax solvent mixture viscosity model.
@ -43,7 +43,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -88,7 +88,7 @@ public:
//- Construct from surface film model
waxSolventViscosity
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict,
volScalarField& mu
);
@ -120,7 +120,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -35,7 +35,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -95,7 +95,7 @@ void contactAngleForce::initialise()
contactAngleForce::contactAngleForce
(
const word& typeName,
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
)
:
@ -233,7 +233,7 @@ tmp<fvVectorMatrix> contactAngleForce::correct(volVectorField& U)
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::contactAngleForce
Foam::regionModels::surfaceFilmSubModels::contactAngleForce
Description
Base-class for film contact angle force models.
@ -46,7 +46,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -90,7 +90,7 @@ public:
contactAngleForce
(
const word& typeName,
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
);
@ -117,7 +117,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -32,7 +32,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -45,7 +45,7 @@ addToRunTimeSelectionTable(force, distributionContactAngleForce, dictionary);
distributionContactAngleForce::distributionContactAngleForce
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
)
:
@ -113,7 +113,7 @@ tmp<volScalarField> distributionContactAngleForce::theta() const
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2017-2019 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2017-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,13 +22,13 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::distributionContactAngleForce
Foam::regionModels::surfaceFilmSubModels::distributionContactAngleForce
Description
PDF distribution based film contact angle force
See also
Foam::regionModels::surfaceFilmModels::contactAngleForce
Foam::regionModels::surfaceFilmSubModels::contactAngleForce
Foam::distributionModel
SourceFiles
@ -49,7 +49,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -92,7 +92,7 @@ public:
//- Construct from surface film model
distributionContactAngleForce
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
);
@ -116,7 +116,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -24,7 +24,7 @@ License
\*---------------------------------------------------------------------------*/
#include "perturbedTemperatureDependentContactAngleForce.H"
#include "thermoSingleLayer.H"
#include "thermoSurfaceFilm.H"
#include "addToRunTimeSelectionTable.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -33,7 +33,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -52,7 +52,7 @@ addToRunTimeSelectionTable
perturbedTemperatureDependentContactAngleForce::
perturbedTemperatureDependentContactAngleForce
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
)
:
@ -95,7 +95,7 @@ perturbedTemperatureDependentContactAngleForce::theta() const
volScalarField& theta = ttheta.ref();
volScalarField::Internal& thetai = theta.ref();
const thermoSingleLayer& film = filmType<thermoSingleLayer>();
const thermoSurfaceFilm& film = filmType<thermoSurfaceFilm>();
const volScalarField& T = film.thermo().T();
@ -130,7 +130,7 @@ perturbedTemperatureDependentContactAngleForce::theta() const
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2017-2019 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2017-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::
Foam::regionModels::surfaceFilmSubModels::
perturbedTemperatureDependentContactAngleForce
Description
@ -34,9 +34,10 @@ Description
Foam::distributionModels::distributionModel
See also
Foam::regionModels::surfaceFilmModels::contactAngleForce
Foam::regionModels::surfaceFilmModels::temperatureDependentContactAngleForce
Foam::regionModels::surfaceFilmModels::distributionContactAngleForce
Foam::regionModels::surfaceFilmSubModels::contactAngleForce
Foam::regionModels::surfaceFilmSubModels::\\
temperatureDependentContactAngleForce
Foam::regionModels::surfaceFilmSubModels::distributionContactAngleForce
Foam::Function1s
Foam::distributionModel
@ -59,7 +60,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -99,7 +100,7 @@ public:
//- Construct from surface film model
perturbedTemperatureDependentContactAngleForce
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
);
@ -126,7 +127,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -24,7 +24,7 @@ License
\*---------------------------------------------------------------------------*/
#include "temperatureDependentContactAngleForce.H"
#include "thermoSingleLayer.H"
#include "thermoSurfaceFilm.H"
#include "addToRunTimeSelectionTable.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -33,7 +33,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -51,7 +51,7 @@ addToRunTimeSelectionTable
temperatureDependentContactAngleForce::temperatureDependentContactAngleForce
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
)
:
@ -82,7 +82,7 @@ tmp<volScalarField> temperatureDependentContactAngleForce::theta() const
volScalarField& theta = ttheta.ref();
const thermoSingleLayer& film = filmType<thermoSingleLayer>();
const thermoSurfaceFilm& film = filmType<thermoSurfaceFilm>();
const volScalarField& T = film.thermo().T();
@ -102,7 +102,7 @@ tmp<volScalarField> temperatureDependentContactAngleForce::theta() const
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2017-2019 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2017-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,8 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::temperatureDependentContactAngleForce
Foam::regionModels::surfaceFilmSubModels::\\
temperatureDependentContactAngleForce
Description
Temperature dependent contact angle force
@ -31,7 +32,7 @@ Description
enable the use of, e.g. constant, polynomial, table values.
See also
Foam::regionModels::surfaceFilmModels::contactAngleForce
Foam::regionModels::surfaceFilmSubModels::contactAngleForce
Foam::Function1s
SourceFiles
@ -51,7 +52,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -85,7 +86,7 @@ public:
//- Construct from surface film model
temperatureDependentContactAngleForce
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
);
@ -109,7 +110,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -31,7 +31,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -41,7 +41,7 @@ defineRunTimeSelectionTable(force, dictionary);
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
force::force(surfaceFilmRegionModel& film)
force::force(surfaceFilm& film)
:
filmSubModelBase(film)
{}
@ -50,7 +50,7 @@ force::force(surfaceFilmRegionModel& film)
force::force
(
const word& modelType,
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
)
:
@ -66,7 +66,7 @@ force::~force()
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::force
Foam::regionModels::surfaceFilmSubModels::force
Description
Base class for film (stress-based) force models
@ -46,7 +46,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -71,7 +71,7 @@ public:
force,
dictionary,
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
),
(film, dict)
@ -80,13 +80,13 @@ public:
// Constructors
//- Construct null
force(surfaceFilmRegionModel& film);
force(surfaceFilm& film);
//- Construct from type name, dictionary and surface film model
force
(
const word& modelType,
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
);
@ -99,7 +99,7 @@ public:
//- Return a reference to the selected force model
static autoPtr<force> New
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict,
const word& modelType
);
@ -126,7 +126,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -31,14 +31,14 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
autoPtr<force> force::New
(
surfaceFilmRegionModel& model,
surfaceFilm& model,
const dictionary& dict,
const word& modelType
)
@ -63,7 +63,7 @@ autoPtr<force> force::New
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -31,12 +31,12 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
forceList::forceList(surfaceFilmRegionModel& film)
forceList::forceList(surfaceFilm& film)
:
PtrList<force>()
{}
@ -44,7 +44,7 @@ forceList::forceList(surfaceFilmRegionModel& film)
forceList::forceList
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
)
:
@ -119,7 +119,7 @@ tmp<fvVectorMatrix> forceList::correct(volVectorField& U)
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::forceList
Foam::regionModels::surfaceFilmSubModels::forceList
Description
List container for film sources
@ -44,7 +44,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -60,12 +60,12 @@ public:
// Constructors
//- Construct null
forceList(surfaceFilmRegionModel& film);
forceList(surfaceFilm& film);
//- Construct from type name, dictionary and surface film model
forceList
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
);
@ -83,7 +83,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -33,7 +33,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -45,7 +45,7 @@ addToRunTimeSelectionTable(force, thermocapillaryForce, dictionary);
thermocapillaryForce::thermocapillaryForce
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
)
:
@ -74,7 +74,7 @@ tmp<fvVectorMatrix> thermocapillaryForce::correct(volVectorField& U)
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::thermocapillaryForce
Foam::regionModels::surfaceFilmSubModels::thermocapillaryForce
Description
Thermocapillary force
@ -43,7 +43,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -65,7 +65,7 @@ public:
//- Construct from surface film model
thermocapillaryForce
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
);
@ -94,7 +94,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2017-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2017-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -24,7 +24,7 @@ License
\*---------------------------------------------------------------------------*/
#include "transferModel.H"
#include "thermoSingleLayer.H"
#include "thermoSurfaceFilm.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -32,7 +32,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -50,7 +50,7 @@ void transferModel::addToTransferredMass(const scalar dMass)
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
transferModel::transferModel(surfaceFilmRegionModel& film)
transferModel::transferModel(surfaceFilm& film)
:
filmSubModelBase(film),
transferredMass_(0.0)
@ -60,7 +60,7 @@ transferModel::transferModel(surfaceFilmRegionModel& film)
transferModel::transferModel
(
const word& modelType,
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
)
:
@ -98,7 +98,7 @@ scalar transferModel::transferredMassTotal() const
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2017-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2017-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::transferModel
Foam::regionModels::surfaceFilmSubModels::transferModel
Description
Base class for film transfer models, handling mass transfer between the
@ -47,7 +47,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -89,7 +89,7 @@ public:
transferModel,
dictionary,
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
),
(film, dict)
@ -99,13 +99,13 @@ public:
// Constructors
//- Construct for film
transferModel(surfaceFilmRegionModel& film);
transferModel(surfaceFilm& film);
//- Construct from type name, dictionary and surface film model
transferModel
(
const word& modelType,
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
);
@ -118,7 +118,7 @@ public:
//- Return a reference to the selected ejection model
static autoPtr<transferModel> New
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict,
const word& modelType
);
@ -165,7 +165,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2017-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2017-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -31,14 +31,14 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
autoPtr<transferModel> transferModel::New
(
surfaceFilmRegionModel& model,
surfaceFilm& model,
const dictionary& dict,
const word& modelType
)
@ -63,7 +63,7 @@ autoPtr<transferModel> transferModel::New
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2017-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2017-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -31,12 +31,12 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
transferModelList::transferModelList(surfaceFilmRegionModel& film)
transferModelList::transferModelList(surfaceFilm& film)
:
PtrList<transferModel>(),
filmSubModelBase(film)
@ -45,7 +45,7 @@ transferModelList::transferModelList(surfaceFilmRegionModel& film)
transferModelList::transferModelList
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
)
:
@ -228,7 +228,7 @@ void transferModelList::info(Ostream& os)
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2017-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2017-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::transferModelList
Foam::regionModels::surfaceFilmSubModels::transferModelList
Description
List container for film transfer models
@ -45,7 +45,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -68,12 +68,12 @@ public:
// Constructors
//- Construct null
transferModelList(surfaceFilmRegionModel& film);
transferModelList(surfaceFilm& film);
//- Construct from type name, dictionary and surface film model
transferModelList
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
);
@ -117,7 +117,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -32,7 +32,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -50,7 +50,7 @@ addToRunTimeSelectionTable
constantRadiation::constantRadiation
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
)
:
@ -126,7 +126,7 @@ tmp<volScalarField::Internal> constantRadiation::Shs()
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2012-2020 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2012-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::constantRadiation
Foam::regionModels::surfaceFilmSubModels::constantRadiation
Description
Film constant radiation model. The constant radiative flux is specified
@ -47,7 +47,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -87,7 +87,7 @@ public:
//- Construct from surface film model and dictionary
constantRadiation
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
);
@ -120,7 +120,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -31,7 +31,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -41,7 +41,7 @@ defineRunTimeSelectionTable(radiationModel, dictionary);
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
radiationModel::radiationModel(surfaceFilmRegionModel& film)
radiationModel::radiationModel(surfaceFilm& film)
:
filmSubModelBase(film)
{}
@ -50,7 +50,7 @@ radiationModel::radiationModel(surfaceFilmRegionModel& film)
radiationModel::radiationModel
(
const word& modelType,
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
)
:
@ -66,7 +66,7 @@ radiationModel::~radiationModel()
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::radiationModel
Foam::regionModels::surfaceFilmSubModels::radiationModel
Description
Base class for film radiation models
@ -45,7 +45,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -70,7 +70,7 @@ public:
radiationModel,
dictionary,
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
),
(film, dict)
@ -80,13 +80,13 @@ public:
// Constructors
//- Construct null
radiationModel(surfaceFilmRegionModel& film);
radiationModel(surfaceFilm& film);
//- Construct from type name, dictionary and surface film model
radiationModel
(
const word& modelType,
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
);
@ -99,7 +99,7 @@ public:
//- Return a reference to the selected phase change model
static autoPtr<radiationModel> New
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
);
@ -128,7 +128,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -31,14 +31,14 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
autoPtr<radiationModel> radiationModel::New
(
surfaceFilmRegionModel& model,
surfaceFilm& model,
const dictionary& dict
)
{
@ -89,7 +89,7 @@ autoPtr<radiationModel> radiationModel::New
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -33,7 +33,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -51,7 +51,7 @@ addToRunTimeSelectionTable
noRadiation::noRadiation
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
)
:
@ -84,7 +84,7 @@ tmp<volScalarField::Internal> noRadiation::Shs()
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::regionModels::surfaceFilmModels::noRadiation
Foam::regionModels::surfaceFilmSubModels::noRadiation
Description
Dummy radiation model for 'none' option
@ -44,7 +44,7 @@ namespace Foam
{
namespace regionModels
{
namespace surfaceFilmModels
namespace surfaceFilmSubModels
{
/*---------------------------------------------------------------------------*\
@ -66,7 +66,7 @@ public:
//- Construct from surface film model and dictionary
noRadiation
(
surfaceFilmRegionModel& film,
surfaceFilm& film,
const dictionary& dict
);
@ -98,7 +98,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceFilmModels
} // End namespace surfaceFilmSubModels
} // End namespace regionModels
} // End namespace Foam

Some files were not shown because too many files have changed in this diff Show More