38#ifndef kinematicSingleLayer_H
39#define kinematicSingleLayer_H
47#include "injectionModelList.H"
50#include "filmTurbulenceModel.H"
58namespace surfaceFilmModels
274 const typename Type::cmptType& value
310 const word& modelType,
313 const word& regionType,
336 inline label
nCorr()
const;
418 const scalar massSource,
419 const vector& momentumSource,
420 const scalar pressureSource,
421 const scalar energySource = 0
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
Mesh data needed to do the Finite Volume discretisation.
Base class for film thermo models.
Base class for film turbulence models.
List container for film sources.
List container for film injection models.
Kinematic form of single-cell layer surface film model.
tmp< volScalarField > gNormClipped() const
Return the gravity normal-to-patch component contribution.
virtual void solveThickness(const volScalarField &pu, const volScalarField &pp, fvVectorMatrix &UEqn)
Solve coupled velocity-thickness equations.
label nOuterCorr() const
Return the number of outer correctors.
volScalarField rho_
Density [kg/m3].
virtual void transferPrimaryRegionThermoFields()
Transfer thermo fields from the primary region to the film region.
const filmTurbulenceModel & turbulence() const
Turbulence.
virtual const volVectorField & U() const
Return the film velocity [m/s].
virtual void continuityCheck()
Continuity check.
const volScalarField & mu() const
Return const access to the dynamic viscosity [Pa.s].
scalar addedMassTotal_
Cumulative mass added via sources [kg].
volVectorField USpPrimary_
Momentum [kg/m/s2].
volVectorField U_
Velocity - mean [m/s].
virtual void solveContinuity()
Solve continuity equation.
virtual const volScalarField & hs() const
Return the film surface enthalpy [J/kg].
tmp< volVectorField > gTan() const
Return the gravity tangential component contributions.
virtual void postEvolveRegion()
Post-evolve film hook.
virtual const volScalarField & rho() const
Return the film density [kg/m3].
const volScalarField & sigma() const
Return const access to the surface tension [kg/s2].
const volScalarField & muPrimary() const
Viscosity [Pa.s].
scalar cumulativeContErr_
Cumulative continuity error.
forceList forces_
List of film forces.
volScalarField sigma_
Surface tension [m/s2].
virtual void updateSurfaceVelocities()
Update film surface velocities.
tmp< volScalarField > mass() const
Return the current film mass.
virtual const volScalarField & cloudDiameterTrans() const
Return the parcel diameters originating from film to cloud.
volVectorField USp_
Momentum [kg/m/s2].
virtual const volScalarField & kappa() const
Return the film thermal conductivity [W/m/K].
virtual void addSources(const label patchi, const label facei, const scalar massSource, const vector &momentumSource, const scalar pressureSource, const scalar energySource=0)
External hook to add sources to the film.
virtual const volVectorField & Us() const
Return the film surface velocity [m/s].
volScalarField rhoPrimary_
Density [kg/m3].
virtual const surfaceScalarField & phi() const
Return the film flux [kg.m/s].
tmp< volScalarField > deltaMass() const
Return the change in film mass due to sources/sinks.
injectionModelList & injection()
Injection.
transferModelList & transfer()
Transfer.
virtual const volScalarField & T() const
Return the film mean temperature [K].
virtual const volScalarField & deltaRho() const
Return the film thickness*density (helper field) [kg/m3].
virtual const volScalarField & Ts() const
Return the film surface temperature [K].
volScalarField pPrimary_
Pressure [Pa].
volVectorField Us_
Velocity - surface [m/s].
label nNonOrthCorr() const
Return the number of non-orthogonal correctors.
injectionModelList injection_
Cloud injection.
volScalarField & pSpPrimary()
Pressure [Pa].
virtual const volScalarField & Tw() const
Return the film wall temperature [K].
volScalarField rhoSp_
Mass [kg/m2/s].
const filmThermoModel & filmThermo() const
Film thermo.
TypeName("kinematicSingleLayer")
Runtime type information.
volScalarField deltaRho_
Film thickness*density (helper field) [kg/m2].
volVectorField Uw_
Velocity - wall [m/s].
const dimensionedScalar deltaSmall_
Small delta.
Switch momentumPredictor_
Momentum predictor.
volScalarField cloudDiameterTrans_
Parcel diameters originating from film to cloud.
volScalarField pSpPrimary_
Pressure [Pa].
transferModelList transfer_
Transfer with the continuous phase.
volScalarField & pSp()
Pressure [Pa].
virtual ~kinematicSingleLayer()
Destructor.
volScalarField delta_
Film thickness [m].
virtual const volScalarField & Cp() const
Return the film specific heat capacity [J/kg/K].
virtual void resetPrimaryRegionSourceTerms()
Reset source term fields.
label nCorr() const
Return the number of PISO correctors.
label nOuterCorr_
Number of outer correctors.
volScalarField & rhoSpPrimary()
Mass [kg/m2/s].
virtual void preEvolveRegion()
Pre-evolve film hook.
virtual void correctAlpha()
Correct film coverage field.
const volScalarField & rhoPrimary() const
Density [kg/m3].
surfaceScalarField phi_
Mass flux (includes film thickness) [kg.m/s].
volScalarField muPrimary_
Viscosity [Pa.s].
volScalarField rhoSpPrimary_
Mass [kg/m2/s].
virtual tmp< fvVectorMatrix > solveMomentum(const volScalarField &pu, const volScalarField &pp)
Solve for film velocity.
label nCorr_
Number of PISO-like correctors.
volVectorField UPrimary_
Velocity [m/s].
const volVectorField & UPrimary() const
Velocity [m/s].
const dimensionedScalar & deltaSmall() const
Return small delta.
scalar deltaCoLimit_
Film thickness above which Courant number calculation in valid.
const volScalarField & alpha() const
Return the film coverage, 1 = covered, 0 = uncovered [].
virtual void correctThermoFields()
Correct the thermo fields.
virtual const volScalarField & cloudMassTrans() const
Return the film mass available for transfer to cloud.
volScalarField & rhoSp()
Mass [kg/m2/s].
virtual tmp< volScalarField > pp()
Implicit pressure source coefficient.
virtual void info()
Provide some feedback.
const volScalarField & delta() const
Return const access to the film thickness [m].
virtual void updateSubmodels()
Update the film sub-models.
volScalarField mu_
Dynamic viscosity [Pa.s].
virtual void transferPrimaryRegionSourceFields()
Transfer source fields from the primary region to the film region.
volScalarField primaryMassTrans_
Film mass available for transfer to the primary region.
volVectorField & USp()
Momentum [kg/m/s2].
volScalarField pSp_
Pressure [Pa].
Switch momentumPredictor() const
Return the momentum predictor.
void constrainFilmField(Type &field, const typename Type::cmptType &value)
Constrain a film region master/slave boundaries of a field to a.
const volScalarField & pPrimary() const
Pressure [Pa].
virtual scalar CourantNumber() const
Courant number evaluation.
tmp< volScalarField > gNorm() const
Return the gravity normal-to-patch component contribution.
volScalarField cloudMassTrans_
Film mass available for transfer to cloud.
volVectorField & USpPrimary()
Momentum [kg/m/s2].
autoPtr< filmThermoModel > filmThermo_
Film thermo model.
label nNonOrthCorr_
Number of non-orthogonal correctors.
virtual const volVectorField & Uw() const
Return the film wall velocity [m/s].
scalarField availableMass_
Available mass for transfer via sub-models.
virtual tmp< volScalarField::Internal > Srho() const
Return total mass source - Eulerian phase only.
virtual tmp< volScalarField > primaryMassTrans() const
Return mass transfer source - Eulerian phase only.
virtual bool read()
Read control parameters from dictionary.
virtual tmp< volScalarField > pu()
Explicit pressure source contribution.
autoPtr< filmTurbulenceModel > turbulence_
Turbulence model.
volScalarField alpha_
Film coverage indicator, 1 = covered, 0 = uncovered [].
virtual tmp< volScalarField::Internal > Sh() const
Return enthalpy source - Eulerian phase only.
virtual void evolveRegion()
Evolve the film equations.
Base class for surface film models.
const dimensionedVector & g() const
Return the acceleration due to gravity.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
A special matrix type and solver, designed for finite volume solutions of scalar equations.
void readFields(const typename GeoFieldType::Mesh &mesh, const IOobjectList &objects, const wordHashSet &selectedFields, LIFOStack< regIOobject * > &storedObjects)
Read the selected GeometricFields of the templated type.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.