38 #ifndef kinematicSingleLayer_H 39 #define kinematicSingleLayer_H 47 #include "injectionModelList.H" 49 #include "forceList.H" 50 #include "filmTurbulenceModel.H" 56 namespace regionModels
58 namespace surfaceFilmModels
62 class filmThermoModel;
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
virtual bool read()
Read control parameters from dictionary.
autoPtr< filmThermoModel > filmThermo_
Film thermo model.
List container for film injection models.
virtual const volVectorField & U() const
Return the film 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.
virtual const volScalarField & deltaRho() const
Return the film thickness*density (helper field) [kg/m3].
virtual void continuityCheck()
Continuity check.
Base class for surface film models.
virtual const volScalarField & Ts() const
Return the film surface temperature [K].
volScalarField primaryMassTrans_
Film mass available for transfer to the primary region.
Kinematic form of single-cell layer surface film model.
label nOuterCorr() const
Return the number of outer correctors.
volScalarField & pSpPrimary()
Pressure [Pa].
virtual ~kinematicSingleLayer()
Destructor.
Base class for film thermo models.
label nCorr() const
Return the number of PISO correctors.
volVectorField & USp()
Momentum [kg/m/s2].
volVectorField USp_
Momentum [kg/m/s2].
virtual void transferPrimaryRegionThermoFields()
Transfer thermo fields from the primary region to the film region.
List container for film sources.
volScalarField & rhoSp()
Mass [kg/m2/s].
volScalarField muPrimary_
Viscosity [Pa.s].
virtual const volVectorField & Us() const
Return the film surface velocity [m/s].
A simple wrapper around bool so that it can be read as a word: true/false, on/off, yes/no, any/none. Also accepts 0/1 as a string and shortcuts t/f, y/n.
virtual tmp< volScalarField::Internal > Srho() const
Return total mass source - Eulerian phase only.
tmp< volScalarField > gNorm() const
Return the gravity normal-to-patch component contribution.
scalarField availableMass_
Available mass for transfer via sub-models.
volScalarField cloudDiameterTrans_
Parcel diameters originating from film to cloud.
scalar addedMassTotal_
Cumulative mass added via sources [kg].
volVectorField USpPrimary_
Momentum [kg/m/s2].
const volScalarField & rhoPrimary() const
Density [kg/m3].
injectionModelList injection_
Cloud injection.
virtual tmp< volScalarField > primaryMassTrans() const
Return mass transfer source - Eulerian phase only.
virtual void evolveRegion()
Evolve the film equations.
virtual void solveContinuity()
Solve continuity equation.
tmp< volScalarField > deltaMass() const
Return the change in film mass due to sources/sinks.
virtual tmp< volScalarField > pp()
Implicit pressure source coefficient.
volScalarField deltaRho_
Film thickness*density (helper field) [kg/m2].
volScalarField sigma_
Surface tension [m/s2].
transferModelList & transfer()
Transfer.
volVectorField & USpPrimary()
Momentum [kg/m/s2].
volScalarField rho_
Density [kg/m3].
const volScalarField & muPrimary() const
Viscosity [Pa.s].
virtual void transferPrimaryRegionSourceFields()
Transfer source fields from the primary region to the film region.
const filmThermoModel & filmThermo() const
Film thermo.
Switch momentumPredictor_
Momentum predictor.
Base class for film turbulence models.
const volVectorField & UPrimary() const
Velocity [m/s].
virtual void info()
Provide some feedback.
const volScalarField & mu() const
Return const access to the dynamic viscosity [Pa.s].
virtual tmp< fvVectorMatrix > solveMomentum(const volScalarField &pu, const volScalarField &pp)
Solve for film velocity.
virtual const volScalarField & cloudMassTrans() const
Return the film mass available for transfer to cloud.
tmp< volVectorField > gTan() const
Return the gravity tangential component contributions.
void readFields(const typename GeoFieldType::Mesh &mesh, const IOobjectList &objects, const NameMatchPredicate &selectedFields, DynamicList< regIOobject *> &storedObjects)
Read the selected GeometricFields of the templated type and store on the objectRegistry.
tmp< volScalarField > mass() const
Return the current film mass.
A class for handling words, derived from Foam::string.
virtual const volScalarField & cloudDiameterTrans() const
Return the parcel diameters originating from film to cloud.
tmp< volScalarField > gNormClipped() const
Return the gravity normal-to-patch component contribution.
forceList forces_
List of film forces.
injectionModelList & injection()
Injection.
volScalarField pPrimary_
Pressure [Pa].
volVectorField U_
Velocity - mean [m/s].
const dimensionedScalar & deltaSmall() const
Return small delta.
virtual const surfaceScalarField & phi() const
Return the film flux [kg.m/s].
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 const volScalarField & kappa() const
Return the film thermal conductivity [W/m/K].
virtual tmp< volScalarField > pu()
Explicit pressure source contribution.
const volScalarField & pPrimary() const
Pressure [Pa].
const dimensionedVector & g() const
Return the acceleration due to gravity.
volScalarField rhoPrimary_
Density [kg/m3].
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
volVectorField Uw_
Velocity - wall [m/s].
label nCorr_
Number of PISO-like correctors.
virtual void correctAlpha()
Correct film coverage field.
virtual const volScalarField & hs() const
Return the film surface enthalpy [J/kg].
virtual void resetPrimaryRegionSourceTerms()
Reset source term fields.
const volScalarField & delta() const
Return const access to the film thickness [m].
scalar cumulativeContErr_
Cumulative continuity error.
transferModelList transfer_
Transfer with the continuous phase.
volVectorField UPrimary_
Velocity [m/s].
virtual void updateSubmodels()
Update the film sub-models.
Switch momentumPredictor() const
Return the momentum predictor.
volScalarField mu_
Dynamic viscosity [Pa.s].
virtual const volVectorField & Uw() const
Return the film wall velocity [m/s].
surfaceScalarField phi_
Mass flux (includes film thickness) [kg.m/s].
const volScalarField & sigma() const
Return const access to the surface tension [kg/s2].
label nNonOrthCorr() const
Return the number of non-orthogonal correctors.
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.
virtual const volScalarField & Tw() const
Return the film wall temperature [K].
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].
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
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 volScalarField & rho() const
Return the film density [kg/m3].
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.
virtual const volScalarField & Cp() const
Return the film specific heat capacity [J/kg/K].
volScalarField & pSp()
Pressure [Pa].
volScalarField rhoSp_
Mass [kg/m2/s].
const filmTurbulenceModel & turbulence() const
Turbulence.
virtual const volScalarField & T() const
Return the film mean temperature [K].
virtual tmp< volScalarField::Internal > Sh() const
Return enthalpy source - Eulerian phase only.
virtual void solveThickness(const volScalarField &pu, const volScalarField &pp, fvVectorMatrix &UEqn)
Solve coupled velocity-thickness equations.
virtual void postEvolveRegion()
Post-evolve film hook.
virtual scalar CourantNumber() const
Courant number evaluation.
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.