diffusiveMassTransferModel.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2015-2023 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 Class
25  Foam::diffusiveMassTransferModel
26 
27 Description
28  Model for diffusive mass transfer coefficients between two phases
29 
30 SourceFiles
31  diffusiveMassTransferModel.C
32 
33 \*---------------------------------------------------------------------------*/
34 
35 #ifndef diffusiveMassTransferModel_H
36 #define diffusiveMassTransferModel_H
37 
38 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
39 
40 #include "volFields.H"
41 #include "dictionary.H"
42 #include "runTimeSelectionTables.H"
44 #include "SidedInterfacialModel.H"
45 
46 namespace Foam
47 {
48 
49 class phaseSystem;
50 
51 /*---------------------------------------------------------------------------*\
52  Class diffusiveMassTransferModel Declaration
53 \*---------------------------------------------------------------------------*/
54 
56 {
57 public:
58 
59  //- Runtime type information
60  TypeName("diffusiveMassTransferModel");
61 
62 
63  // Declare runtime construction
64 
66  (
67  autoPtr,
69  dictionary,
70  (
71  const dictionary& dict,
72  const phaseInterface& interface
73  ),
74  (dict, interface)
75  );
76 
77 
78  // Static Data Members
79 
80  //- Coefficient dimensions
81  static const dimensionSet dimK;
82 
83  //- Does this model require correcting on fixed flux boundaries?
84  static const bool correctFixedFluxBCs = false;
85 
86 
87  // Constructors
88 
89  //- Construct from a dictionary and an interface
91  (
92  const dictionary& dict,
93  const phaseInterface& interface
94  );
95 
96 
97  //- Destructor
99 
100 
101  // Selectors
102 
104  (
105  const dictionary& dict,
106  const phaseInterface& interface
107  );
108 
109 
110  // Member Functions
111 
112  //- The implicit mass transfer coefficient
113  // Note: this has had the species mass diffusivity factored out
114  virtual tmp<volScalarField> K() const = 0;
115 };
116 
117 
118 /*---------------------------------------------------------------------------*\
119  Class blendedDiffusiveMassTransferModel Declaration
120 \*---------------------------------------------------------------------------*/
121 
123 :
124  public BlendedInterfacialModel<diffusiveMassTransferModel>
125 {
126 public:
127 
128  // Constructors
129 
130  //- Inherit base class constructors
131  using
134 
135 
136  // Selectors
137 
139  (
140  const dictionary& dict,
142  );
143 
144 
145  // Member Functions
146 
147  //- Return the heatTransfer coefficient K
148  tmp<volScalarField> K() const;
149 };
150 
151 
152 
153 /*---------------------------------------------------------------------------*\
154  Class sidedBlendedDiffusiveMassTransferModel Declaration
155 \*---------------------------------------------------------------------------*/
156 
158 :
159  public SidedInterfacialModel<blendedDiffusiveMassTransferModel>
160 {
161 public:
162 
163  // Constructors
164 
165  //- Inherit base class constructors
166  using
169 
170 
171  // Selectors
172 
174  (
175  const dictionary& dict,
177  );
178 };
179 
180 
181 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
182 
183 } // End namespace Foam
184 
185 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
186 
187 #endif
188 
189 // ************************************************************************* //
const phaseInterface & interface() const
Access the interface.
BlendedInterfacialModel(const dictionary &dict, const phaseInterface &interface)
Construct from a dictionary and an interface.
const phaseInterface & interface() const
Access the interface.
SidedInterfacialModel(const dictionary &dict, const phaseInterface &interface)
Construct from a dictionary and an interface.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: autoPtr.H:51
static autoPtr< blendedDiffusiveMassTransferModel > New(const dictionary &dict, const phaseInterface &interface)
tmp< volScalarField > K() const
Return the heatTransfer coefficient K.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Definition: dictionary.H:160
Model for diffusive mass transfer coefficients between two phases.
static autoPtr< diffusiveMassTransferModel > New(const dictionary &dict, const phaseInterface &interface)
TypeName("diffusiveMassTransferModel")
Runtime type information.
declareRunTimeSelectionTable(autoPtr, diffusiveMassTransferModel, dictionary,(const dictionary &dict, const phaseInterface &interface),(dict, interface))
virtual tmp< volScalarField > K() const =0
The implicit mass transfer coefficient.
static const bool correctFixedFluxBCs
Does this model require correcting on fixed flux boundaries?
diffusiveMassTransferModel(const dictionary &dict, const phaseInterface &interface)
Construct from a dictionary and an interface.
static const dimensionSet dimK
Coefficient dimensions.
Dimension set for the base types.
Definition: dimensionSet.H:122
Class to represent an interface between phases. Derivations can further specify the configuration of ...
static autoPtr< sidedBlendedDiffusiveMassTransferModel > New(const dictionary &dict, const phaseInterface &interface)
A class for managing temporary objects.
Definition: tmp.H:55
Namespace for OpenFOAM.
Macros to ease declaration of run-time selection tables.
dictionary dict