35 #ifndef kinematicSingleLayer_H 36 #define kinematicSingleLayer_H 56 namespace regionModels
58 namespace surfaceFilmModels
260 const typename Type::cmptType& value
296 const word& modelType,
299 const word& regionType,
389 const scalar massSource,
390 const vector& momentumSource,
391 const scalar pressureSource,
392 const scalar energySource = 0
virtual bool read()
Read control parameters from dictionary.
const momentumTransportModel & momentumTransport() const
Momentum transport.
tmp< volScalarField::Internal > mass() const
Return the current film mass.
List container for film ejection models.
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.
volVectorField primaryMomentumTrans_
Film momentum transfer.
autoPtr< Function1< scalar > > sigma_
Surface tension function.
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.
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].
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].
tmp< volVectorField::Internal > Us() const
Return the film surface velocity [m/s].
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.
virtual tmp< volScalarField::Internal > SYi(const label i) const
Return mass source for specie i - Eulerian phase only.
tmp< surfaceScalarField > rhog() const
Hydrostatic pressure coefficient.
virtual void evolveRegion()
Evolve the film equations.
ejectionModelList & ejection()
Ejection.
virtual tmp< fvVectorMatrix > solveMomentum(const volScalarField &pc, const volScalarField &pe)
Solve for film velocity.
transferModelList & transfer()
Transfer.
volVectorField & USpPrimary()
Momentum [kg/m/s^2].
const volScalarField & muPrimary() const
Viscosity [Pa.s].
virtual void transferPrimaryRegionSourceFields()
Transfer source fields from the primary region to the film region.
tmp< volVectorField::Internal > Uw() const
Return the film wall velocity [m/s].
autoPtr< rhoThermo > 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 tmp< volVectorField > primaryMomentumTrans() const
Return momentum transfer source - Eulerian phase only.
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].
volScalarField p_
Pressure [Pa].
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.
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].
autoPtr< momentumTransportModel > momentumTransport_
Momentum transport model.
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].
const rhoThermo & thermo() const
Film thermo.
virtual void resetPrimaryRegionSourceTerms()
Reset source term fields.
const volScalarField & delta() const
Return const access to the film thickness [m].
tmp< volScalarField > sigma() const
Return the surface tension coefficient [kg/s^2].
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].
Base class for film momentum transport models.
virtual void updateSubmodels()
Update the film sub-models.
virtual void predictDelta()
Predict delta_ from the continuity equation.
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...
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 [].
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.
Base-class for fluid thermodynamic properties based on density.
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.
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.
ejectionModelList ejection_
Cloud ejection.
virtual scalar CourantNumber() const
Courant number evaluation.
autoPtr< viscosityModel > viscosity_
Viscosity model.
virtual tmp< volVectorField::Internal > SU() const
Return momentum source - Eulerian phase only.
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 [].
tmp< volScalarField::Internal > deltaMass() const
Return the change in film mass due to sources/sinks.