All Classes Namespaces Files Functions Variables Typedefs Friends Macros Groups
updateFields.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration |
5  \\ / A nd | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2011-2016 OpenFOAM Foundation
9  Copyright (C) 2019 OpenCFD Ltd.
10  Copyright (C) 2016-2019 ISP RAS (www.ispras.ru) UniCFD Group (www.unicfd.ru)
11 -------------------------------------------------------------------------------
12 License
13  This file is part of QGDsolver library, based on OpenFOAM+.
14 
15  OpenFOAM is free software: you can redistribute it and/or modify it
16  under the terms of the GNU General Public License as published by
17  the Free Software Foundation, either version 3 of the License, or
18  (at your option) any later version.
19 
20  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
21  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
22  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
23  for more details.
24 
25  You should have received a copy of the GNU General Public License
26  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
27 
28 Global
29  updateFields
30 
31 Description
32  Updates fields.
33 
34 \*---------------------------------------------------------------------------*/
35 
36 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
37 
38 /*
39  *
40  * Gradients at faces
41  *
42  */
44 
45 gradAlpha1f = fvsc::grad(alpha1);
46 
48 (
49  alpha1*(rho1*nu1-rho2*nu2) + rho2*nu2
50 );
51 
52 Info << "max/min muf:" << max(muf).value() << "/" << min(muf).value() << endl;
53 
54 /*
55  *
56  * Linear interpolation of fields from volumes to face centers
57  *
58  */
59 // Velocity
61 
62 // alphal
63 alpha1f = qgdInterpolate(alpha1);
64 alpha2f = 1.0 - alpha1f;
65 
66 surfaceScalarField da1dtf = -(Uf & gradAlpha1f);
67 volScalarField da1dt = -(U & fvc::grad(alpha1));
68 
69 cFrc = fvc::reconstruct(thermo.surfaceTensionForce()*mesh.magSf());
70 cFrcf = thermo.surfaceTensionForce()*mesh.Sf() / mesh.magSf();
71 
72 BdFrc = g * (rho + da1dt*(Tau1*rho1 - Tau2*rho2));
73 
74 
75 // ************************************************************************* //
muf
Definition: updateFields.H:38
volVectorField U(IOobject("U", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE), mesh)
gradUf
Definition: updateFields.H:34
tmp< GeometricField< T, Foam::fvsPatchField, Foam::surfaceMesh > > qgdInterpolate(const GeometricField< T, Foam::fvPatchField, Foam::volMesh > &psi)
BdFrc
Definition: updateFields.H:35
rhoQGDThermo & thermo
Definition: createFields.H:47
surfaceVectorField cFrcf("cFrcf",)
surfaceScalarField alpha1f("alpha1f",)
Uf
Definition: updateFields.H:30
volScalarField rho(IOobject("rho", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE), thermo.rho())
gradAlpha1f
Definition: updateFields.H:36
surfaceScalarField alpha2f("alpha2f", 1.0-alpha1f)
tmp< surfaceVectorField > grad(const volScalarField &vF)