phaseSystem.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) 2015-2019 OpenFOAM Foundation
9 -------------------------------------------------------------------------------
10 License
11  This file is part of OpenFOAM.
12 
13  OpenFOAM is free software: you can redistribute it and/or modify it
14  under the terms of the GNU General Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17 
18  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22 
23  You should have received a copy of the GNU General Public License
24  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 
26 Class
27  Foam::phaseSystem
28 
29 Description
30  Class to represent a system of phases and model interfacial transfers
31  between them.
32 
33 SourceFiles
34  phaseSystem.C
35 
36 \*---------------------------------------------------------------------------*/
37 
38 #ifndef phaseSystem_H
39 #define phaseSystem_H
40 
41 #include "IOdictionary.H"
42 
43 #include "phaseModel.H"
44 #include "phasePair.H"
45 #include "orderedPhasePair.H"
46 #include "HashPtrTable.H"
47 #include "PtrListDictionary.H"
48 
49 #include "IOMRFZoneList.H"
50 #include "fvOptions.H"
51 
52 #include "volFields.H"
53 #include "surfaceFields.H"
54 #include "fvMatricesFwd.H"
55 
56 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
57 
58 namespace Foam
59 {
60 
61 class blendingMethod;
62 template<class modelType> class BlendedInterfacialModel;
63 class surfaceTensionModel;
64 class aspectRatioModel;
65 
66 /*---------------------------------------------------------------------------*\
67  Class phaseSystem Declaration
68 \*---------------------------------------------------------------------------*/
69 
70 class phaseSystem
71 :
72  public IOdictionary
73 {
74 public:
75 
76  // Public typedefs
77 
79 
81 
83 
85 
87 
88  typedef
91 
92 
93 protected:
94 
95  // Protected typedefs
96 
97  typedef
99  dictTable;
100 
101  typedef
103 
104  typedef
105  HashTable
106  <
108  phasePairKey,
110  >
112 
113  typedef
114  HashTable
115  <
117  phasePairKey,
119  >
121 
122 
123  // Protected data
124 
125  //- Reference to the mesh
126  const fvMesh& mesh_;
127 
128  //- Phase models
130 
131  //- Moving phase models
133 
134  //- Stationary phase models
136 
137  //- Anisothermal phase models
139 
140  //- Multi-component phase models
142 
143  //- Phase pairs
145 
146  //- Total volumetric flux
148 
149  //- Rate of change of pressure
151 
152  //- Optional MRF zones
154 
155  //- Blending methods
157 
158 
159  // Sub Models
160 
161  //- Surface tension models
163 
164  //- Aspect ratio models
166 
167 
168  // Protected member functions
169 
170  //- Calculate and return the mixture flux
172  (
173  const phaseModelList& phaseModels
174  ) const;
175 
176  //- Generate pairs
177  void generatePairs
178  (
179  const dictTable& modelDicts
180  );
181 
182  //- Generate pairs and sub-model tables
183  template<class modelType>
184  void createSubModels
185  (
186  const dictTable& modelDicts,
187  HashTable
188  <
190  phasePairKey,
192  >& models
193  );
194 
195  //- Generate pairs and sub-model tables
196  template<class modelType>
198  (
199  const word& modelName,
200  HashTable
201  <
203  phasePairKey,
205  >& models
206  );
207 
208  //- Generate pairs and blended sub-model tables
209  template<class modelType>
211  (
212  const word& modelName,
213  HashTable
214  <
216  phasePairKey,
218  >& models,
219  const bool correctFixedFluxBCs = true
220  );
221 
222  //- Generate pairs and two-sided sub-model tables
223  template<class modelType>
225  (
226  const word& modelName,
227  HashTable
228  <
230  phasePairKey,
232  >& models,
233  const bool correctFixedFluxBCs = true
234  );
235 
236  //- Add the field to a phase-indexed list, with the given name,
237  // constructing if necessary
238  template<class GeoField>
239  void addField
240  (
241  const phaseModel& phase,
242  const word& fieldName,
244  PtrList<GeoField>& fieldList
245  ) const;
246 
247  //- Add the field to a phase-indexed list, with the given name,
248  // constructing if necessary
249  template<class GeoField>
250  void addField
251  (
252  const phaseModel& phase,
253  const word& fieldName,
254  const GeoField& field,
255  PtrList<GeoField>& fieldList
256  ) const;
257 
258  //- Add the field to a phase-indexed table, with the given name,
259  // constructing if necessary
260  template<class GeoField>
261  void addField
262  (
263  const phaseModel& phase,
264  const word& fieldName,
266  HashPtrTable<GeoField>& fieldTable
267  ) const;
268 
269  //- Add the field to a phase-indexed table, with the given name,
270  // constructing if necessary
271  template<class GeoField>
272  void addField
273  (
274  const phaseModel& phase,
275  const word& fieldName,
276  const GeoField& field,
277  HashPtrTable<GeoField>& fieldTable
278  ) const;
279 
280 
281 public:
282 
283  //- Runtime type information
284  TypeName("phaseSystem");
285 
286  //- Default name of the phase properties dictionary
287  static const word propertiesName;
288 
289 
290  // Constructors
291 
292  //- Construct from fvMesh
293  phaseSystem(const fvMesh& mesh);
294 
295 
296  //- Destructor
297  virtual ~phaseSystem();
298 
299 
300  // Member Functions
301 
302  // Access
303 
304  //- Return the mesh
305  inline const fvMesh& mesh() const;
306 
307  //- Return the phase models
308  inline const phaseModelList& phases() const;
309 
310  //- Access the phase models
311  inline phaseModelList& phases();
312 
313  //- Return the models for phases that are moving
314  inline const phaseModelPartialList& movingPhases() const;
315 
316  //- Access the models for phases that are moving
318 
319  //- Return the models for phases that are stationary
320  inline const phaseModelPartialList& stationaryPhases() const;
321 
322  //- Access the models for phases that are stationary
324 
325  //- Return the models for phases that have variable temperature
326  inline const phaseModelPartialList& anisothermalPhases() const;
327 
328  //- Access the models for phases that have variable temperature
330 
331  //- Return the models for phases that have multiple species
332  inline const phaseModelPartialList& multiComponentPhases() const;
333 
334  //- Access the models for phases that have multiple species
336 
337  //- Return the phase pairs
338  inline const phasePairTable& phasePairs() const;
339 
340  //- Return the mixture flux
341  inline const surfaceScalarField& phi() const;
342 
343  //- Access the mixture flux
344  inline surfaceScalarField& phi();
345 
346  //- Return the rate of change of the pressure
347  inline const volScalarField& dpdt() const;
348 
349  //- Access the rate of change of the pressure
350  inline volScalarField& dpdt();
351 
352  //- Return MRF zones
353  inline const IOMRFZoneList& MRF() const;
354 
355  //- Access the fvOptions
356  inline fv::options& fvOptions() const;
357 
358 
359  // Sub-model lookup
360 
361  //- Check availability of a sub model for a given phase pair
362  template<class modelType>
363  bool foundSubModel(const phasePair& key) const;
364 
365  //- Return a sub model between a phase pair
366  template<class modelType>
367  const modelType& lookupSubModel(const phasePair& key) const;
368 
369  //- Check availability of a sub model between two phases
370  template<class modelType>
371  bool foundSubModel
372  (
373  const phaseModel& dispersed,
374  const phaseModel& continuous
375  ) const;
376 
377  //- Return a sub model between two phases
378  template<class modelType>
379  const modelType& lookupSubModel
380  (
381  const phaseModel& dispersed,
382  const phaseModel& continuous
383  ) const;
384 
385  //- Check availability of a blended sub model for a given phase pair
386  template<class modelType>
387  bool foundBlendedSubModel(const phasePair& key) const;
388 
389  //- Return a blended sub model between a phase pair
390  template<class modelType>
392  lookupBlendedSubModel(const phasePair& key) const;
393 
394 
395  // Field construction
396 
397  //- Fill up gaps in a phase-indexed list of fields with zeros
398  template
399  <
400  class Type,
401  template<class> class PatchField,
402  class GeoMesh
403  >
404  void fillFields
405  (
406  const word& name,
407  const dimensionSet& dims,
409  ) const;
410 
411  //- Fill up gaps in a phase-indexed table of fields with zeros
412  template
413  <
414  class Type,
415  template<class> class PatchField,
416  class GeoMesh
417  >
418  void fillFields
419  (
420  const word& name,
421  const dimensionSet& dims,
423  fieldTable
424  ) const;
425 
426 
427  // Properties
428 
429  //- Return the mixture density
430  tmp<volScalarField> rho() const;
431 
432  //- Return the mixture velocity
433  tmp<volVectorField> U() const;
434 
435  //- Return the aspect-ratio for a pair
436  tmp<volScalarField> E(const phasePairKey& key) const;
437 
438  //- Return the surface tension coefficient for a pair
440 
441  //- Return the mass transfer rate for a pair
442  virtual tmp<volScalarField> dmdt(const phasePairKey& key) const;
443 
444  //- Return the mass transfer rates for each phase
445  virtual PtrList<volScalarField> dmdts() const;
446 
447 
448  // Transfers
449 
450  //- Return the momentum transfer matrices for the cell-based
451  // algorithm
453 
454  //- Return the momentum transfer matrices for the face-based
455  // algorithm
457 
458  //- Return the implicit force coefficients for the face-based
459  // algorithm
460  virtual PtrList<surfaceScalarField> AFfs() const = 0;
461 
462  //- Return the force fluxes for the cell-based algorithm
464  (
466  ) = 0;
467 
468  //- Return the force fluxes for the face-based algorithm
470  (
472  ) = 0;
473 
474  //- Return the force fluxes for the cell-based algorithm
476  (
478  ) const = 0;
479 
480  //- Return the force fluxes for the face-based algorithm
482  (
484  ) const = 0;
485 
486  //- Return the explicit part of the drag force
488  (
490  ) const = 0;
491 
492  //- Solve the drag system for the new velocities and fluxes
493  virtual void partialElimination
494  (
496  ) = 0;
497 
498  //- Solve the drag system for the new fluxes
499  virtual void partialEliminationf
500  (
502  ) = 0;
503 
504  //- Return the flux corrections for the cell-based algorithm
506  (
508  const bool includeVirtualMass = false
509  ) const = 0;
510 
511  //- Return the phase diffusivities divided by the momentum
512  // coefficients
513  virtual const HashPtrTable<surfaceScalarField>& DByAfs() const = 0;
514 
515  //- Return the heat transfer matrices
516  virtual autoPtr<heatTransferTable> heatTransfer() const = 0;
517 
518  //- Return the mass transfer matrices
519  virtual autoPtr<massTransferTable> massTransfer() const = 0;
520 
521 
522  // Evolution
523 
524  //- Solve for the phase fractions
525  virtual void solve();
526 
527  //- Correct the fluid properties other than those listed below
528  virtual void correct();
529 
530  //- Correct the kinematics
531  virtual void correctKinematics();
532 
533  //- Correct the thermodynamics
534  virtual void correctThermo();
535 
536  //- Correct the turbulence
537  virtual void correctTurbulence();
538 
539  //- Correct the energy transport e.g. alphat
540  virtual void correctEnergyTransport();
541 
542 
543  // IO
544 
545  //- Read base phaseProperties dictionary
546  virtual bool read();
547 };
548 
549 
550 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
551 
554 
555 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
556 
557 } // End namespace Foam
558 
559 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
560 
561 #include "phaseSystemI.H"
562 
563 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
564 
565 #ifdef NoRepository
566  #include "phaseSystemTemplates.C"
567 #endif
568 
569 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
570 
571 #endif
572 
573 // ************************************************************************* //
Foam::phaseSystem::stationaryPhaseModels_
phaseModelPartialList stationaryPhaseModels_
Stationary phase models.
Definition: phaseSystem.H:134
Foam::phaseSystem::phaseModels_
phaseModelList phaseModels_
Phase models.
Definition: phaseSystem.H:128
volFields.H
Foam::phaseModel
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
Definition: phaseModel.H:54
Foam::phasePair
Description for mass transfer between a pair of phases. The direction of the mass transfer is from th...
Definition: phasePair.H:53
Foam::phaseSystem::momentumTransfer
virtual autoPtr< momentumTransferTable > momentumTransfer()=0
Return the momentum transfer matrices for the cell-based.
PtrListDictionary.H
Foam::phaseSystem::phaseModelPartialList
UPtrList< phaseModel > phaseModelPartialList
Definition: phaseSystem.H:85
Foam::phaseSystem::phasePairTable
HashTable< autoPtr< phasePair >, phasePairKey, phasePairKey::hash > phasePairTable
Definition: phaseSystem.H:89
rAUs
PtrList< volScalarField > rAUs
Definition: pEqn.H:4
Foam::phaseSystem::anisothermalPhases
const phaseModelPartialList & anisothermalPhases() const
Return the models for phases that have variable temperature.
Definition: phaseSystemI.H:79
Foam::phasePairKey::hasher
Hashing functor for phasePairKey.
Definition: phasePairKey.H:122
Foam::phaseSystem::calcPhi
tmp< surfaceScalarField > calcPhi(const phaseModelList &phaseModels) const
Calculate and return the mixture flux.
Definition: phaseSystem.C:52
fvOptions.H
Foam::word
A class for handling words, derived from Foam::string.
Definition: word.H:65
Foam::phaseSystem::MRF_
IOMRFZoneList MRF_
Optional MRF zones.
Definition: phaseSystem.H:152
Foam::phaseSystem::phiFs
virtual PtrList< surfaceScalarField > phiFs(const PtrList< volScalarField > &rAUs)=0
Return the force fluxes for the cell-based algorithm.
Foam::phaseSystem::massTransfer
virtual autoPtr< massTransferTable > massTransfer() const =0
Return the mass transfer matrices.
Foam::phaseSystem::surfaceTensionModels_
surfaceTensionModelTable surfaceTensionModels_
Surface tension models.
Definition: phaseSystem.H:151
Foam::phase
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
Definition: phase.H:54
Foam::phaseSystem::phiKdPhifs
virtual PtrList< surfaceScalarField > phiKdPhifs(const PtrList< surfaceScalarField > &rAUfs) const =0
Return the force fluxes for the face-based algorithm.
Foam::phaseSystem::partialEliminationf
virtual void partialEliminationf(const PtrList< surfaceScalarField > &rAUfs)=0
Solve the drag system for the new fluxes.
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:61
Foam::phaseSystem::phiKdPhis
virtual PtrList< surfaceScalarField > phiKdPhis(const PtrList< volScalarField > &rAUs) const =0
Return the force fluxes for the cell-based algorithm.
Foam::phaseSystem::sigma
tmp< volScalarField > sigma(const phasePairKey &key) const
Return the surface tension coefficient for a pair.
Definition: phaseSystem.C:319
Foam::phaseSystem::phasePairTable
HashTable< autoPtr< phasePair >, phasePairKey, phasePairKey::hash > phasePairTable
Definition: phaseSystem.H:80
Foam::phaseSystem::KdUByAs
virtual PtrList< volVectorField > KdUByAs(const PtrList< volScalarField > &rAUs) const =0
Return the explicit part of the drag force.
Foam::phaseSystem::movingPhaseModels_
phaseModelPartialList movingPhaseModels_
Moving phase models.
Definition: phaseSystem.H:131
Foam::phaseSystem::momentumTransferf
virtual autoPtr< momentumTransferTable > momentumTransferf()=0
Return the momentum transfer matrices for the face-based.
Foam::phaseSystem::fillFields
void fillFields(const word &name, const dimensionSet &dims, PtrList< GeometricField< Type, PatchField, GeoMesh >> &fieldList) const
Fill up gaps in a phase-indexed list of fields with zeros.
Definition: phaseSystemTemplates.C:307
phaseSystemI.H
Foam::phaseSystem::phaseSystem
phaseSystem(const fvMesh &mesh)
Construct from fvMesh.
Definition: phaseSystem.C:205
Foam::phaseSystem::dpdt
const volScalarField & dpdt() const
Return the rate of change of the pressure.
Definition: phaseSystemI.H:125
Foam::glTF::key
auto key(const Type &t) -> typename std::enable_if< std::is_enum< Type >::value, typename std::underlying_type< Type >::type >::type
Definition: foamGltfBase.H:108
Foam::phaseSystem::createSubModels
void createSubModels(const dictTable &modelDicts, HashTable< autoPtr< modelType >, phasePairKey, phasePairKey::hash > &models)
Generate pairs and sub-model tables using pair keys.
Definition: phaseSystemTemplates.H:32
Foam::phaseSystem::blendingMethods_
blendingMethodTable blendingMethods_
Blending methods.
Definition: phaseSystem.H:155
Foam::phaseSystem::phi
const surfaceScalarField & phi() const
Constant access to the total flux.
Definition: phaseSystem.C:887
Foam::phaseSystem::addField
void addField(const phaseModel &phase, const word &fieldName, tmp< GeoField > field, PtrList< GeoField > &fieldList) const
Add the field to a phase-indexed list, with the given name,.
Definition: phaseSystemTemplates.C:223
fvMatricesFwd.H
Forward declarations of fvMatrix specializations.
Foam::phaseSystem::DByAfs
virtual const HashPtrTable< surfaceScalarField > & DByAfs() const =0
Return the phase diffusivities divided by the momentum.
surfaceFields.H
Foam::surfaceFields.
Foam::phaseSystem::U
tmp< volVectorField > U() const
Mixture U.
Definition: phaseSystem.C:1047
Foam::phaseSystem::lookupSubModel
const modelType & lookupSubModel(const phasePair &key) const
Access a sub model between a phase pair.
Definition: phaseSystemTemplates.H:179
Foam::dimensionSet
Dimension set for the base types, which can be used to implement rigorous dimension checking for alge...
Definition: dimensionSet.H:108
Foam::phaseSystem::~phaseSystem
virtual ~phaseSystem()
Destructor.
Definition: phaseSystem.C:291
Foam::phaseSystem::aspectRatioModelTable
HashTable< autoPtr< aspectRatioModel >, phasePairKey, phasePairKey::hash > aspectRatioModelTable
Definition: phaseSystem.H:119
Foam::phaseSystem::dictTable
HashTable< dictionary, phasePairKey, phasePairKey::hash > dictTable
Definition: phaseSystem.H:98
Foam::phaseSystem::dmdt
virtual tmp< volScalarField > dmdt(const phasePairKey &key) const =0
Return interfacial source mass rate per phase pair.
Definition: phaseSystem.C:338
Foam::baseIOdictionary::name
const word & name() const
Definition: baseIOdictionary.C:85
Foam::phaseSystem::dmdts
virtual PtrList< volScalarField > dmdts() const
Return the mass transfer rates for each phase.
Definition: phaseSystem.C:351
Foam::phaseSystem::foundSubModel
bool foundSubModel(const phasePair &key) const
Check availability of a sub model for a given phase pair.
Definition: phaseSystemTemplates.C:378
Foam::phaseSystem::heatTransferTable
HashPtrTable< fvScalarMatrix > heatTransferTable
Definition: phaseSystem.H:79
Foam::phaseSystem::multiComponentPhases
const phaseModelPartialList & multiComponentPhases() const
Return the models for phases that have multiple species.
Definition: phaseSystemI.H:93
Foam::PtrListDictionary< phaseModel >
Foam::phaseSystem::phi_
surfaceScalarField phi_
Mixture total volumetric flux.
Definition: phaseSystem.H:130
Foam::phaseSystem::generatePairsAndSubModels
void generatePairsAndSubModels(const word &modelName, HashTable< autoPtr< modelType >, phasePairKey, phasePairKey::hash > &models)
Generate pairs and sub-model tables.
Definition: phaseSystemTemplates.H:91
Foam::phaseSystem::heatTransfer
virtual autoPtr< heatTransferTable > heatTransfer() const =0
Return the heat transfer matrices.
Foam::phaseSystem::correctKinematics
virtual void correctKinematics()
Correct the kinematics.
Definition: phaseSystem.C:372
Foam::UPtrList< phaseModel >
Foam::phaseSystem::correct
virtual void correct()
Correct the mixture thermos.
Definition: phaseSystem.C:911
Foam::phaseSystem::mesh_
const fvMesh & mesh_
Reference to the mesh.
Definition: phaseSystem.H:121
Foam::phaseSystem::anisothermalPhaseModels_
phaseModelPartialList anisothermalPhaseModels_
Anisothermal phase models.
Definition: phaseSystem.H:137
field
rDeltaTY field()
Foam::PtrList
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
Definition: List.H:59
Foam::phaseSystem::ddtCorrByAs
virtual PtrList< surfaceScalarField > ddtCorrByAs(const PtrList< volScalarField > &rAUs, const bool includeVirtualMass=false) const =0
Return the flux corrections for the cell-based algorithm.
Foam::phaseSystem::fvOptions
fv::options & fvOptions() const
Access the fvOptions.
Definition: phaseSystemI.H:143
Foam::phasePairKey
An ordered or unorder pair of phase names. Typically specified as follows.
Definition: phasePairKey.H:65
Foam::phaseSystem::partialElimination
virtual void partialElimination(const PtrList< volScalarField > &rAUs)=0
Solve the drag system for the new velocities and fluxes.
Foam::phaseSystem::lookupBlendedSubModel
const BlendedInterfacialModel< modelType > & lookupBlendedSubModel(const phasePair &key) const
Return a blended sub model between a phase pair.
Foam::fv::options
Finite-volume options.
Definition: fvOptions.H:55
Foam::phaseSystem::blendingMethodTable
HashTable< autoPtr< blendingMethod > > blendingMethodTable
Definition: phaseSystem.H:101
Foam::phaseSystem::correctEnergyTransport
virtual void correctEnergyTransport()
Correct the energy transport e.g. alphat.
Definition: phaseSystem.C:409
Foam::phaseSystem::surfaceTensionModelTable
HashTable< autoPtr< surfaceTensionModel >, phasePairKey, phasePairKey::hash > surfaceTensionModelTable
Definition: phaseSystem.H:110
Foam::phaseSystem::movingPhases
const phaseModelPartialList & movingPhases() const
Return the models for phases that are moving.
Definition: phaseSystemI.H:51
Foam::phaseSystem::propertiesName
static const word propertiesName
Default name of the phase properties dictionary.
Definition: phaseSystem.H:286
Foam::phaseSystem::phiFfs
virtual PtrList< surfaceScalarField > phiFfs(const PtrList< surfaceScalarField > &rAUfs)=0
Return the force fluxes for the face-based algorithm.
Foam::GeoMesh
Generic mesh wrapper used by volMesh, surfaceMesh, pointMesh etc.
Definition: GeoMesh.H:48
Foam::fvMesh
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:85
phaseSystemTemplates.C
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::phaseSystem::mesh
const fvMesh & mesh() const
Return mesh.
Definition: phaseSystem.C:990
IOMRFZoneList.H
Foam::phaseSystem::solve
virtual void solve()=0
Solve for the phase transport equations.
Definition: phaseSystem.C:359
Foam::HashTable
A HashTable similar to std::unordered_map.
Definition: HashTable.H:105
Foam::phaseSystem::massTransferTable
HashPtrTable< fvScalarMatrix > massTransferTable
Definition: phaseSystem.H:81
Foam::phaseSystem::phasePairs
const phasePairTable & phasePairs() const
Return the phase pairs.
Definition: phaseSystemI.H:107
Foam::phaseSystem::TypeName
TypeName("phaseSystem")
Runtime type information.
IOdictionary.H
Foam::phaseSystem::dpdt_
volScalarField dpdt_
Rate of change of pressure.
Definition: phaseSystem.H:149
Foam::phaseSystem::AFfs
virtual PtrList< surfaceScalarField > AFfs() const =0
Return the implicit force coefficients for the face-based.
Foam::autoPtr
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: HashPtrTable.H:53
Foam::phaseSystem::correctTurbulence
virtual void correctTurbulence()
Correct the turbulence.
Definition: phaseSystem.C:922
Foam::phaseSystem::aspectRatioModels_
aspectRatioModelTable aspectRatioModels_
Aspect ratio models.
Definition: phaseSystem.H:164
Foam::phaseSystem::phaseModels_
phaseModelTable phaseModels_
Phase models.
Definition: phaseSystem.H:136
Foam::Pair
An ordered pair of two objects of type <T> with first() and second() elements.
Definition: Pair.H:54
Foam::HashPtrTable
A HashTable of pointers to objects of type <T>, with deallocation management of the pointers.
Definition: HashPtrTable.H:54
Foam::BlendedInterfacialModel
Definition: BlendedInterfacialModel.H:68
Foam::phaseSystem::phaseModelList
PtrListDictionary< phaseModel > phaseModelList
Definition: phaseSystem.H:83
HashPtrTable.H
Foam::IOMRFZoneList
List of MRF zones with IO functionality. MRF zones are specified by a list of dictionary entries,...
Definition: IOMRFZoneList.H:71
rAUfs
PtrList< surfaceScalarField > rAUfs
Definition: pEqn.H:30
Foam::phaseSystem::correctThermo
virtual void correctThermo()
Correct the thermodynamics.
Definition: phaseSystem.C:391
Foam::phaseSystem::surfaceTensionModelTable
HashTable< autoPtr< multiphaseInter::surfaceTensionModel >, phasePairKey, phasePairKey::hash > surfaceTensionModelTable
Definition: phaseSystem.H:104
Foam::phaseSystem::phasePairs_
phasePairTable phasePairs_
Phase pairs.
Definition: phaseSystem.H:139
Foam::phaseSystem::foundBlendedSubModel
bool foundBlendedSubModel(const phasePair &key) const
Check availability of a blended sub model for a given phase pair.
Definition: phaseSystemTemplates.C:458
Foam::phaseSystem::phases
const phaseModelTable & phases() const
Constant access the phases.
Definition: phaseSystem.C:931
Foam::phaseSystem::momentumTransferTable
HashPtrTable< fvVectorMatrix > momentumTransferTable
Definition: phaseSystem.H:77
Foam::byDt
tmp< volScalarField > byDt(const volScalarField &vf)
Definition: phaseSystem.C:438
Foam::GeometricField< scalar, fvsPatchField, surfaceMesh >
Foam::phaseSystem::rho
virtual tmp< volScalarField > rho() const
Return the mixture density.
Definition: phaseSystem.C:376
Foam::phaseSystem::multiComponentPhaseModels_
phaseModelPartialList multiComponentPhaseModels_
Multi-component phase models.
Definition: phaseSystem.H:140
Foam::phaseSystem::stationaryPhases
const phaseModelPartialList & stationaryPhases() const
Return the models for phases that are stationary.
Definition: phaseSystemI.H:65
Foam::phaseSystem::read
virtual bool read()
Read base phaseProperties dictionary.
Definition: phaseSystem.C:1226
Foam::phaseSystem::E
tmp< volScalarField > E(const phasePairKey &key) const
Return the aspect-ratio for a pair.
Definition: phaseSystem.C:300
Foam::phaseSystem::generatePairs
void generatePairs(const dictTable &modelDicts)
Generate pairs.
Definition: phaseSystem.C:108
Foam::phaseSystem::MRF
const IOMRFZoneList & MRF() const
Return MRF zones.
Definition: phaseSystemI.H:137