blended.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 OpenFOAM Foundation
9 Copyright (C) 2020-2022 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::multiphaseEuler::dragModels::blended
29
30Description
31 Blends two drag models based on the phase fractions to handle
32 phase-inversion.
33
34SourceFiles
35 blended.C
36
37\*---------------------------------------------------------------------------*/
38
39#ifndef Foam_multiphaseEuler_dragModels_blended_H
40#define Foam_multiphaseEuler_dragModels_blended_H
41
42#include "dragModel.H"
43
44// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45
46namespace Foam
47{
48namespace multiphaseEuler
49{
50namespace dragModels
51{
52
53/*---------------------------------------------------------------------------*\
54 Class blended Declaration
55\*---------------------------------------------------------------------------*/
57class blended
58:
59 public dragModel
60{
61 // Private data
62
63 // The two drag models to be blended
64 autoPtr<dragModel> dragModel1_;
65 autoPtr<dragModel> dragModel2_;
66
67
68public:
69
70 //- Runtime type information
71 TypeName("blended");
72
73
74 // Constructors
75
76 //- Construct from components
78 (
79 const dictionary& interfaceDict,
80 const phaseModel& phase1,
81 const phaseModel& phase2
82 );
83
84
85 //- Destructor
86 virtual ~blended() = default;
87
88
89 // Member Functions
90
91 tmp<volScalarField> K(const volScalarField& Ur) const;
92};
93
94
95// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
96
97} // End namespace dragModels
98} // End namespace multiphaseEuler
99} // End namespace Foam
100
101// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
102
103#endif
104
105// ************************************************************************* //
CGAL::Exact_predicates_exact_constructions_kernel K
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: autoPtr.H:66
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
const phaseModel & phase2() const
Definition: dragModel.H:119
const phaseModel & phase1() const
Definition: dragModel.H:114
Blends two drag models based on the phase fractions to handle phase-inversion.
Definition: blended.H:59
virtual ~blended()=default
Destructor.
TypeName("blended")
Runtime type information.
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
Definition: phaseModel.H:61
A class for managing temporary objects.
Definition: tmp.H:65
Namespace for OpenFOAM.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73