35 #ifndef kinematicSingleLayer_H 36 #define kinematicSingleLayer_H 52 namespace regionModels
54 namespace surfaceFilmModels
58 class filmThermoModel;
267 const typename Type::cmptType& value
303 const word& modelType,
306 const word& regionType,
408 const scalar massSource,
409 const vector& momentumSource,
410 const scalar pressureSource,
411 const scalar energySource = 0
virtual bool read()
Read control parameters from dictionary.
virtual tmp< DimensionedField< scalar, volMesh > > Srho() const
Return total mass source - Eulerian phase only.
autoPtr< filmThermoModel > filmThermo_
Film thermo model.
const volVectorField & UPrimary() const
Velocity / [m/s].
volVectorField Us_
Velocity - surface / [m/s].
virtual void preEvolveRegion()
Pre-evolve film hook.
autoPtr< filmTurbulenceModel > turbulence_
Turbulence model.
const dimensionedScalar deltaSmall_
Small delta.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
tmp< volScalarField > deltaMass() const
Return the change in film mass due to sources/sinks.
virtual tmp< DimensionedField< scalar, volMesh > > Sh() const
Return enthalpy source - Eulerian phase only.
const filmThermoModel & filmThermo() const
Film thermo.
virtual void continuityCheck()
Continuity check.
volScalarField primaryMassTrans_
Film mass available for transfer to the primary region.
const volScalarField & muPrimary() const
Viscosity / [Pa.s].
volScalarField & pSpPrimary()
Pressure / [Pa].
virtual ~kinematicSingleLayer()
Destructor.
volVectorField & USp()
Momentum / [kg/m/s2].
volVectorField USp_
Momementum / [kg/m/s2].
virtual void transferPrimaryRegionThermoFields()
Transfer thermo fields from the primary region to the film region.
virtual const volScalarField & cloudDiameterTrans() const
Return the parcel diameters originating from film to cloud.
volScalarField & rhoSp()
Mass / [kg/m2/s].
volScalarField muPrimary_
Viscosity / [Pa.s].
const dimensionedVector & g() const
Return the accleration due to gravity.
tmp< volVectorField > gTan() const
Return the gravity tangential component contributions.
A simple wrapper around bool so that it can be read as a word: true/false, on/off, yes/no, y/n, t/f, or none.
label nCorr() const
Return the number of PISO correctors.
virtual const volVectorField & U() const
Return the film velocity [m/s].
virtual const volVectorField & Uw() const
Return the film wall velocity [m/s].
scalarField availableMass_
Available mass for transfer via sub-models.
virtual const volScalarField & rho() const
Return the film density [kg/m3].
volScalarField cloudDiameterTrans_
Parcel diameters originating from film to cloud.
scalar addedMassTotal_
Cumulative mass added via sources [kg].
volVectorField USpPrimary_
Momementum / [kg/m/s2].
injectionModelList injection_
Cloud injection.
virtual void solveThickness(const volScalarField &pu, const volScalarField &pp, const fvVectorMatrix &UEqn)
Solve coupled velocity-thickness equations.
virtual void evolveRegion()
Evolve the film equations.
virtual void solveContinuity()
Solve continuity equation.
virtual tmp< volScalarField > pp()
Implicit pressure source coefficient.
void readFields(const typename GeoFieldType::Mesh &mesh, const IOobjectList &objects, const HashSet< word > &selectedFields, LIFOStack< regIOobject * > &storedObjects)
Read the selected GeometricFields of the specified type.
volScalarField deltaRho_
Film thickness*density (helper field) / [kg/m2].
volScalarField sigma_
Surface tension / [m/s2].
tmp< volScalarField > gNormClipped() const
Return the gravity normal-to-patch component contribution.
virtual const volScalarField & Cp() const
Return the film specific heat capacity [J/kg/K].
volVectorField & USpPrimary()
Momementum / [kg/m/s2].
volScalarField rho_
Density / [kg/m3].
virtual void transferPrimaryRegionSourceFields()
Transfer source fields from the primary region to the film region.
const Switch & momentumPredictor() const
Return the momentum predictor.
virtual const volScalarField & Ts() const
Return the film surface temperature [K].
Switch momentumPredictor_
Momentum predictor.
Base class for film turbulence models.
virtual void info()
Provide some feedback.
virtual tmp< fvVectorMatrix > solveMomentum(const volScalarField &pu, const volScalarField &pp)
Solve for film velocity.
A class for handling words, derived from string.
label nOuterCorr() const
Return the number of outer correctors.
forceList forces_
List of film forces.
const volScalarField & delta() const
Return const access to the film thickness / [m].
injectionModelList & injection()
Injection.
volScalarField pPrimary_
Pressure / [Pa].
virtual const volScalarField & T() const
Return the film mean temperature [K].
volVectorField U_
Velocity - mean / [m/s].
tmp< volScalarField > gNorm() const
Return the gravity normal-to-patch component contribution.
virtual const volScalarField & Tw() const
Return the film wall temperature [K].
A special matrix type and solver, designed for finite volume solutions of scalar equations. Face addressing is used to make all matrix assembly and solution loops vectorise.
volScalarField pSpPrimary_
Pressure / [Pa].
volScalarField delta_
Film thickness / [m].
label nNonOrthCorr_
Number of non-orthogonal correctors.
volScalarField pSp_
Pressure / [Pa].
virtual scalar CourantNumber() const
Courant number evaluation.
virtual tmp< volScalarField > pu()
Explicit pressure source contribution.
label nNonOrthCorr() const
Return the number of non-orthogonal correctors.
virtual const volVectorField & Us() const
Return the film surface velocity [m/s].
const volScalarField & mu() const
Return const access to the dynamic viscosity / [Pa.s].
volScalarField rhoPrimary_
Density / [kg/m3].
virtual tmp< volScalarField > primaryMassTrans() const
Return mass transfer source - Eulerian phase only.
const volScalarField & sigma() const
Return const access to the surface tension / [m/s2].
volVectorField Uw_
Velocity - wall / [m/s].
label nCorr_
Number of PISO-like correctors.
virtual const volScalarField & deltaRho() const
Return the film thickness*density (helper field) [kg/m3].
virtual void correctAlpha()
Correct film coverage field.
virtual void resetPrimaryRegionSourceTerms()
Reset source term fields.
scalar cumulativeContErr_
Cumulative continuity error.
const volScalarField & rhoPrimary() const
Density / [kg/m3].
volVectorField UPrimary_
Velocity / [m/s].
virtual void updateSubmodels()
Update the film sub-models.
virtual const volScalarField & cloudMassTrans() const
Return the film mass available for transfer to cloud.
tmp< volScalarField > netMass() const
Return the net film mass available over the next integration.
tmp< volScalarField > mass() const
Return the current film mass.
volScalarField mu_
Dynamic viscosity / [Pa.s].
const volScalarField & alpha() const
Return the film coverage, 1 = covered, 0 = uncovered / [].
surfaceScalarField phi_
Mass flux (includes film thickness) / [kg.m/s].
Mesh data needed to do the Finite Volume discretisation.
volScalarField alpha_
Film coverage indicator, 1 = covered, 0 = uncovered / [].
virtual void updateSurfaceVelocities()
Update film surface velocities.
Base class for surface film models.
label nOuterCorr_
Number of outer correctors.
A special matrix type and solver, designed for finite volume solutions of scalar equations.
TypeName("kinematicSingleLayer")
Runtime type information.
volScalarField rhoSpPrimary_
Mass / [kg/m2/s].
virtual const surfaceScalarField & phi() const
Return the film flux [kg.m/s].
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
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.
const dimensionedScalar & deltaSmall() const
Return small delta.
volScalarField cloudMassTrans_
Film mass available for transfer to cloud.
void constrainFilmField(Type &field, const typename Type::cmptType &value)
Constrain a film region master/slave boundaries of a field to a.
volScalarField & rhoSpPrimary()
Mass / [kg/m2/s].
A class for managing temporary objects.
volScalarField & pSp()
Pressure / [Pa].
volScalarField rhoSp_
Mass / [kg/m2/s].
const volScalarField & pPrimary() const
Pressure / [Pa].
scalar deltaCoLimit_
Film thickness above which Courant number calculation in valid.
virtual const volScalarField & kappa() const
Return the film thermal conductivity [W/m/K].
virtual void correctThermoFields()
Correct the thermo fields.
const filmTurbulenceModel & turbulence() const
Turbulence.