timeVaryingAlphaContactAngleFvPatchScalarField.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-2013 OpenFOAM Foundation
9 Copyright (C) 2019 OpenCFD Ltd.
10-------------------------------------------------------------------------------
11License
12 This file is part of OpenFOAM.
13
14 OpenFOAM is free software: you can redistribute it and/or modify it
15 under the terms of the GNU General Public License as published by
16 the Free Software Foundation, either version 3 of the License, or
17 (at your option) any later version.
18
19 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 for more details.
23
24 You should have received a copy of the GNU General Public License
25 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26
27Class
28 Foam::timeVaryingAlphaContactAngleFvPatchScalarField
29
30Description
31 A time-varying alphaContactAngle scalar boundary condition
32 (alphaContactAngleTwoPhaseFvPatchScalarField)
33
34SourceFiles
35 timeVaryingAlphaContactAngleFvPatchScalarField.C
36
37\*---------------------------------------------------------------------------*/
38
39#ifndef timeVaryingAlphaContactAngleFvPatchScalarField_H
40#define timeVaryingAlphaContactAngleFvPatchScalarField_H
41
43
44// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45
46namespace Foam
47{
48
49/*---------------------------------------------------------------------------*\
50 Class timeVaryingAlphaContactAngleFvPatch Declaration
51\*---------------------------------------------------------------------------*/
54:
56{
57 // Private data
58
59 // Equilibrium contact angle control parameters
60 scalar t0_;
61 scalar thetaT0_;
62 scalar te_;
63 scalar thetaTe_;
64
65
66public:
67
68 //- Runtime type information
69 TypeName("timeVaryingAlphaContactAngle");
70
71
72 // Constructors
73
74 //- Construct from patch and internal field
76 (
77 const fvPatch&,
79 );
80
81 //- Construct from patch, internal field and dictionary
83 (
84 const fvPatch&,
86 const dictionary&
87 );
88
89 //- Construct by mapping given
90 // timeVaryingAlphaContactAngleFvPatchScalarField onto a new patch
92 (
94 const fvPatch&,
97 );
98
99 //- Construct and return a clone
100 virtual tmp<fvPatchScalarField> clone() const
101 {
103 (
105 );
106 }
107
108 //- Construct as copy setting internal field reference
110 (
113 );
114
115 //- Construct and return a clone setting internal field reference
117 (
119 ) const
120 {
122 (
124 );
125 }
126
127
128 // Member Functions
129
130 //- Evaluate and return the time-varying equilibrium contact-angle
131 virtual tmp<scalarField> theta
132 (
133 const fvPatchVectorField& Up,
134 const fvsPatchVectorField& nHat
135 ) const;
136
137 //- Write
138 virtual void write(Ostream&) const;
139};
140
141
142// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
143
144} // End namespace Foam
145
146// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
147
148#endif
149
150// ************************************************************************* //
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition: Ostream.H:62
Abstract base class for two-phase alphaContactAngle boundary conditions.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
A FieldMapper for finite-volume patch fields.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:71
A time-varying alphaContactAngle scalar boundary condition (alphaContactAngleTwoPhaseFvPatchScalarFie...
virtual tmp< fvPatchScalarField > clone(const DimensionedField< scalar, volMesh > &iF) const
Construct and return a clone setting internal field reference.
virtual tmp< fvPatchScalarField > clone() const
Construct and return a clone.
TypeName("timeVaryingAlphaContactAngle")
Runtime type information.
virtual tmp< scalarField > theta(const fvPatchVectorField &Up, const fvsPatchVectorField &nHat) const
Evaluate and return the time-varying equilibrium contact-angle.
A class for managing temporary objects.
Definition: tmp.H:65
Namespace for OpenFOAM.
runTime write()
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73