35 #ifndef kinematicSingleLayer_H 36 #define kinematicSingleLayer_H 54 namespace regionModels
56 namespace surfaceFilmModels
60 class filmThermoModel;
267 const typename Type::cmptType& value
303 const word& modelType,
306 const word& regionType,
390 const scalar massSource,
391 const vector& momentumSource,
392 const scalar pressureSource,
393 const scalar energySource = 0
virtual bool read()
Read control parameters from dictionary.
const filmMomentumTransportModel & turbulence() const
Turbulence.
autoPtr< filmThermoModel > filmThermo_
Film thermo model.
List container for film injection models.
tmp< volScalarField::Internal > mass() const
Return the current film mass.
const volVectorField::Internal & Uw() const
Return the film wall velocity [m/s].
const volVectorField & U() const
Return the film velocity [m/s].
virtual void preEvolveRegion()
Pre-evolve film hook.
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.
virtual void continuityCheck()
Continuity check.
Base class for surface film models.
volScalarField primaryMassTrans_
Film mass available for transfer to the primary region.
Kinematic form of single-cell layer surface film model.
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 & pSpPrimary()
Pressure [Pa].
virtual ~kinematicSingleLayer()
Destructor.
Base class for film thermo models.
volScalarField::Internal continuityErr_
Current continuity error caused by delta_ bounding.
tmp< volScalarField > pc()
Capillary pressure.
void operator=(const kinematicSingleLayer &)=delete
Disallow default bitwise assignment.
virtual void transferPrimaryRegionThermoFields()
Transfer thermo fields from the primary region to the film region.
List container for film sources.
virtual void correctCoverage()
Correct film coverage field.
virtual void updateContinuityErr()
volScalarField muPrimary_
Viscosity [Pa.s].
volVectorField::Internal USp_
Momentum [kg/m/s^2].
volVectorField::Internal Us_
Velocity - surface [m/s].
virtual tmp< volScalarField::Internal > Srho() const
Return total mass source - Eulerian phase only.
scalarField availableMass_
Available mass for transfer via sub-models.
volScalarField cloudDiameterTrans_
Parcel diameters originating from film to cloud.
volScalarField coverage_
Film coverage indicator, 1 = covered, 0 = uncovered [].
scalar addedMassTotal_
Cumulative mass added via sources [kg].
volVectorField USpPrimary_
Primary region tangential momentum source [kg m/s].
const volScalarField & rhoPrimary() const
Density [kg/m^3].
injectionModelList injection_
Cloud injection.
volScalarField::Internal & rhoSp()
Mass [kg/m^2/s].
volScalarField::Internal & pSp()
Pressure [Pa].
virtual tmp< volScalarField > primaryMassTrans() const
Return mass transfer source - Eulerian phase only.
tmp< surfaceScalarField > rhog() const
Hydrostatic pressure coefficient.
virtual void evolveRegion()
Evolve the film equations.
volScalarField sigma_
Surface tension [m/s^2].
virtual tmp< fvVectorMatrix > solveMomentum(const volScalarField &pc, const volScalarField &pe)
Solve for film velocity.
transferModelList & transfer()
Transfer.
volVectorField & USpPrimary()
Momentum [kg/m/s^2].
volScalarField rho_
Density [kg/m^3].
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.
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 const volScalarField & cloudMassTrans() const
Return the film mass available for transfer to cloud.
const surfaceScalarField & phiU() const
Return the film velocity flux [m^3/s].
A class for handling words, derived from string.
virtual const volScalarField & cloudDiameterTrans() const
Return the parcel diameters originating from film to cloud.
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.
const volScalarField & coverage() const
Return the film coverage, 1 = covered, 0 = uncovered [].
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.
virtual void solveAlpha(const fvVectorMatrix &UEqn, const volScalarField &pc, const volScalarField &pe)
Solve for film volume fraction and thickness.
const volScalarField::Internal & continuityErr() const
Return the current continuity error.
volScalarField pSpPrimary_
Primary region normal momentum source (pressure) [kg m/s].
volVectorField::Internal & USp()
Momentum [kg/m/s^2].
tmp< volScalarField > pe()
Explicit pressure.
volScalarField delta_
Film thickness [m].
const volScalarField & pPrimary() const
Pressure [Pa].
List container for film transfer models.
const dimensionedVector & g() const
Return the acceleration due to gravity.
volScalarField rhoPrimary_
Density [kg/m^3].
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.
kinematicSingleLayer(const word &modelType, const fvMesh &mesh, const dimensionedVector &g, const word ®ionType, const bool readFields=true)
Construct from components.
volVectorField UPrimary_
Velocity [m/s].
virtual void updateSubmodels()
Update the film sub-models.
virtual void predictDelta()
Predict delta_ from the continuity equation.
const volVectorField::Internal & Us() const
Return the film surface velocity [m/s].
volScalarField mu_
Dynamic viscosity [Pa.s].
surfaceScalarField phi_
Mass flux [kg m/s].
Pimple control class. Provides time-loop control methods which exit the simulation once convergence c...
const volScalarField & sigma() const
Return const access to the surface tension [kg/s^2].
volScalarField::Internal rhoSp_
Mass [kg/m^2/s].
Mesh data needed to do the Finite Volume discretisation.
volScalarField alpha_
Film volume fraction in the cell layer [].
virtual void updateSurfaceVelocities()
Update film surface velocities.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
A special matrix type and solver, designed for finite volume solutions of scalar equations.
TypeName("kinematicSingleLayer")
Runtime type information.
tmp< surfaceScalarField > gGradRho() const
Hydrostatic pressure coefficient gradient.
volScalarField rhoSpPrimary_
Primary region mass source [kg].
surfaceScalarField phiU_
Film velocity flux [m^3/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 volScalarField & rho() const
Return the film density [kg/m^3].
volVectorField::Internal Uw_
Velocity - wall [m/s].
volScalarField cloudMassTrans_
Film mass available for transfer to cloud.
volScalarField & rhoSpPrimary()
Mass [kg/m^2/s].
A class for managing temporary objects.
Base class for film turbulence models.
tmp< Type > constrainFilmField(const tmp< Type > &field, const typename Type::cmptType &value)
Constrain a film region master/slave boundaries of a field to a.
virtual tmp< volScalarField::Internal > Sh() const
Return enthalpy source - Eulerian phase only.
virtual scalar CourantNumber() const
Courant number evaluation.
autoPtr< filmMomentumTransportModel > turbulence_
Turbulence model.
scalar deltaCoLimit_
Film thickness above which Courant number calculation in valid.
volScalarField::Internal pSp_
Pressure [Pa].
const volScalarField & alpha() const
Return const access to the film volume fraction [].
virtual void correctThermoFields()
Correct the thermo fields.
tmp< volScalarField::Internal > deltaMass() const
Return the change in film mass due to sources/sinks.