The convoluted separate ".*Coeffs" dictionary form of model coefficient
specification is now deprecated and replaced with the simpler sub-dictionary
form but support is provided for the deprecated form for backward comparability.
e.g.
thermophysicalProperties
{
type liquid;
useReferenceValues no;
liquid H2O;
}
rather than
filmThermoModel liquid;
liquidCoeffs
{
useReferenceValues no;
liquid H2O;
}
and
forces
{
thermocapillary;
distributionContactAngle
{
Ccf 0.085;
distribution
{
type normal;
normalDistribution
{
minValue 50;
maxValue 100;
expectation 75;
variance 100;
}
}
zeroForcePatches ();
}
}
rather than
forces
(
thermocapillary
distributionContactAngle
);
distributionContactAngleCoeffs
{
Ccf 0.085;
distribution
{
type normal;
normalDistribution
{
minValue 50;
maxValue 100;
expectation 75;
variance 100;
}
}
zeroForcePatches ();
}
All the tutorial cases containing a surface film have been updated for guidance,
e.g. tutorials/lagrangian/buoyantReactingParticleFoam/hotBoxes/constant/surfaceFilmProperties
surfaceFilmModel thermoSingleLayer;
regionName wallFilmRegion;
active true;
thermophysicalProperties
{
type liquid;
useReferenceValues no;
liquid H2O;
}
viscosity
{
model liquid;
}
deltaWet 1e-4;
hydrophilic no;
momentumTransport
{
model laminar;
Cf 0.005;
}
forces
{
thermocapillary;
distributionContactAngle
{
Ccf 0.085;
distribution
{
type normal;
normalDistribution
{
minValue 50;
maxValue 100;
expectation 75;
variance 100;
}
}
zeroForcePatches ();
}
}
injection
{
curvatureSeparation
{
definedPatchRadii
(
("(cube[0-9][0-9]_side[0-9]_to_cube[0-9][0-9]_side[0-9])" 0)
);
}
drippingInjection
{
cloudName reactingCloud1;
deltaStable 0;
particlesPerParcel 100.0;
parcelDistribution
{
type RosinRammler;
RosinRammlerDistribution
{
minValue 5e-04;
maxValue 0.0012;
d 7.5e-05;
n 0.5;
}
}
}
}
phaseChange
{
model standardPhaseChange;
Tb 373;
deltaMin 1e-8;
L 1.0;
}
upperSurfaceModels
{
heatTransfer
{
model mappedConvectiveHeatTransfer;
}
}
lowerSurfaceModels
{
heatTransfer
{
model constant;
c0 50;
}
}
177 lines
3.9 KiB
C++
177 lines
3.9 KiB
C++
/*---------------------------------------------------------------------------*\
|
|
========= |
|
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
\\ / O peration | Website: https://openfoam.org
|
|
\\ / A nd | Copyright (C) 2011-2020 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 "subModelBase.H"
|
|
|
|
// * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * * //
|
|
|
|
bool Foam::subModelBase::subModelBase::inLine() const
|
|
{
|
|
return (modelName_ != word::null);
|
|
}
|
|
|
|
|
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
|
|
Foam::subModelBase::subModelBase(dictionary& properties)
|
|
:
|
|
modelName_(word::null),
|
|
properties_(properties),
|
|
dict_(dictionary::null),
|
|
baseName_(word::null),
|
|
modelType_(word::null),
|
|
coeffDict_(dictionary::null)
|
|
{}
|
|
|
|
|
|
Foam::subModelBase::subModelBase
|
|
(
|
|
dictionary& properties,
|
|
const dictionary& dict,
|
|
const word& baseName,
|
|
const word& modelType,
|
|
const word& dictExt
|
|
)
|
|
:
|
|
modelName_(word::null),
|
|
properties_(properties),
|
|
dict_(dict),
|
|
baseName_(baseName),
|
|
modelType_(modelType),
|
|
coeffDict_(dict.optionalSubDict(modelType + dictExt))
|
|
{}
|
|
|
|
|
|
Foam::subModelBase::subModelBase
|
|
(
|
|
const word& modelName,
|
|
dictionary& properties,
|
|
const dictionary& dict,
|
|
const word& baseName,
|
|
const word& modelType
|
|
)
|
|
:
|
|
modelName_(modelName),
|
|
properties_(properties),
|
|
dict_(dict),
|
|
baseName_(baseName),
|
|
modelType_(modelType),
|
|
coeffDict_(dict)
|
|
{}
|
|
|
|
|
|
Foam::subModelBase::subModelBase(const subModelBase& smb)
|
|
:
|
|
modelName_(smb.modelName_),
|
|
properties_(smb.properties_),
|
|
dict_(smb.dict_),
|
|
baseName_(smb.baseName_),
|
|
modelType_(smb.modelType_),
|
|
coeffDict_(smb.coeffDict_)
|
|
{}
|
|
|
|
|
|
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
|
|
|
Foam::subModelBase::~subModelBase()
|
|
{}
|
|
|
|
|
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
|
|
|
const Foam::word& Foam::subModelBase::modelName() const
|
|
{
|
|
return modelName_;
|
|
}
|
|
|
|
|
|
const Foam::dictionary& Foam::subModelBase::dict() const
|
|
{
|
|
return dict_;
|
|
}
|
|
|
|
|
|
const Foam::word& Foam::subModelBase::baseName() const
|
|
{
|
|
return baseName_;
|
|
}
|
|
|
|
|
|
const Foam::word& Foam::subModelBase::modelType() const
|
|
{
|
|
return modelType_;
|
|
}
|
|
|
|
|
|
const Foam::dictionary& Foam::subModelBase::coeffDict() const
|
|
{
|
|
return coeffDict_;
|
|
}
|
|
|
|
|
|
const Foam::dictionary& Foam::subModelBase::properties() const
|
|
{
|
|
return properties_;
|
|
}
|
|
|
|
|
|
bool Foam::subModelBase::defaultCoeffs(const bool printMsg) const
|
|
{
|
|
bool def = coeffDict_.lookupOrDefault<bool>("defaultCoeffs", false);
|
|
if (printMsg && def)
|
|
{
|
|
Info<< incrIndent;
|
|
Info<< indent << "Employing default coefficients" << endl;
|
|
Info<< decrIndent;
|
|
}
|
|
|
|
return def;
|
|
}
|
|
|
|
|
|
bool Foam::subModelBase::active() const
|
|
{
|
|
return true;
|
|
}
|
|
|
|
|
|
void Foam::subModelBase::cacheFields(const bool)
|
|
{}
|
|
|
|
|
|
bool Foam::subModelBase::writeTime() const
|
|
{
|
|
return active();
|
|
}
|
|
|
|
|
|
void Foam::subModelBase::write(Ostream& os) const
|
|
{
|
|
os << coeffDict_;
|
|
}
|
|
|
|
|
|
// ************************************************************************* //
|