Computes film-separation properties from sharp edges for full separation (Friedrich et al., 2008) and partial separation (Zhang et al., 2018). More...
#include <FriedrichModel.H>


Public Member Functions | |
| TypeName ("Friedrich") | |
| Runtime type information. | |
| FriedrichModel (const regionModels::areaSurfaceFilmModels::liquidFilmBase &film, const dictionary &dict) | |
| Construct from the base film model and dictionary. | |
| virtual | ~FriedrichModel ()=default |
| virtual tmp< scalarField > | separatedMassRatio () const |
| Calculate the mass ratio of film separation. | |
| Public Member Functions inherited from filmSeparationModel | |
| TypeName ("filmSeparationModel") | |
| Runtime type information. | |
| declareRunTimeSelectionTable (autoPtr, filmSeparationModel, dictionary,(const regionModels::areaSurfaceFilmModels::liquidFilmBase &film, const dictionary &dict),(film, dict)) | |
| filmSeparationModel (const filmSeparationModel &)=delete | |
| No copy construct. | |
| void | operator= (const filmSeparationModel &)=delete |
| No copy assignment. | |
| filmSeparationModel (const regionModels::areaSurfaceFilmModels::liquidFilmBase &film, const dictionary &dict) | |
| Construct from the base film model and dictionary. | |
| virtual | ~filmSeparationModel ()=default |
| Destructor. | |
| const regionModels::areaSurfaceFilmModels::liquidFilmBase & | film () const |
| Return const access to the film properties. | |
| const faMesh & | mesh () const noexcept |
| Return const access to the finite-area mesh. | |
Additional Inherited Members | |
| Static Public Member Functions inherited from filmSeparationModel | |
| static autoPtr< filmSeparationModel > | New (const regionModels::areaSurfaceFilmModels::liquidFilmBase &film, const dictionary &dict) |
| Return a reference to the selected filmSeparation model. | |
Computes film-separation properties from sharp edges for full separation (Friedrich et al., 2008) and partial separation (Zhang et al., 2018).
The governing equations for full separation (Friedrich et al., 2008):
![\[ F_{ratio} =
\frac{\rho \, |\vec{u}|^2 \, h \, sin(\theta)}
{\sigma (1 + sin(\theta)) + \rho \, \mathbf{g}\, h\,L_b cos(\theta)}
\]](form_877.png)
with:
![\[ L_b = 0.0388 h^{0.5} \mathrm{Re}^{0.6} \mathrm{We}^{-0.5}
\]](form_878.png)
![\[ \mathrm{Re} = \frac{h \, |\vec{u}| \, \rho}{\mu}
\]](form_879.png)
![\[ \mathrm{We} = \frac{h \, \rho_p (\vec{u}_p - \vec{u})^2}{2 \sigma}
\]](form_880.png)
where:
![]() | = | Force ratio |
![]() | = | Film thickness |
![]() | = | Film density |
![]() | = | Primary-phase (gas) density |
![]() | = | Film surface tension |
![]() | = | Film dynamic viscosity |
![]() | = | Film velocity |
![]() | = | Gravitational acceleration |
![]() | = | Sharp-corner angle |
![]() | = | Characteristic breakup length |
The onset of film separation is triggered and the film is assumed fully separated when 
The governing equations for partial separation (Zhang et al., 2018):
![\[ m_{ratio} = C_0 + C_1 \, exp\left(-\frac{F_{ratio}}{C_2}\right)
\]](form_892.png)
where:
![]() | = | Mass fraction of separated film mass |
![]() | = | Empirical constant (0.882) |
![]() | = | Empirical constant (-1.908) |
![]() | = | Empirical constant (1.264) |
With the above model modification, the film separation begins when 

Reference:
Governing equations for the full film-separation model (tag:FLW):
Friedrich, M. A., Lan, H., Wegener, J. L.,
Drallmeier, J. A., & Armaly, B. F. (2008).
A separation criterion with experimental
validation for shear-driven films in separated flows.
J. Fluids Eng. May 2008, 130(5): 051301.
DOI:10.1115/1.2907405
Governing equations for the partial film-separation model (tag:ZJD):
Zhang, Y., Jia, M., Duan, H., Wang, P.,
Wang, J., Liu, H., & Xie, M. (2018).
Numerical and experimental study of spray impingement and liquid
film separation during the spray/wall interaction at expanding corners.
International Journal of Multiphase Flow, 107, 67-81.
DOI:10.1016/j.ijmultiphaseflow.2018.05.016
filmSeparationCoeffs
{
// Mandatory entries
model Friedrich;
rhop <scalar>;
// Optional entries
separationType <word>;
}
where the entries mean:
| Property | Description | Type | Reqd | Deflt |
|---|---|---|---|---|
model | Model name: Friedrich | word | yes | - |
rhop | Primary-phase density | scalar | yes | - |
separationType | Film separation type | word | no | full |
Options for the separationType entry:
full | Full film separation (Friedrich et al., 2008)
partial | Partial film separation (Zhang et al., 2018)
Definition at line 237 of file FriedrichModel.H.
| FriedrichModel | ( | const regionModels::areaSurfaceFilmModels::liquidFilmBase & | film, |
| const dictionary & | dict ) |
Construct from the base film model and dictionary.
Definition at line 479 of file FriedrichModel.C.
References Foam::abort(), dict, Foam::FatalIOError, FatalIOErrorInFunction, filmSeparationModel::film(), filmSeparationModel::filmSeparationModel(), g, and Foam::mag().

|
virtualdefault |
| TypeName | ( | "Friedrich" | ) |
Runtime type information.
References dict, and filmSeparationModel::film().

|
virtual |
Calculate the mass ratio of film separation.
Implements filmSeparationModel.
Definition at line 521 of file FriedrichModel.C.
References tmp< T >::cref(), Foam::dimForce, Foam::exp(), forAll, filmSeparationModel::mesh(), tmp< T >::New(), GeometricField< Type, PatchField, GeoMesh >::primitiveFieldRef(), regIOobject::write(), and Foam::Zero.
