turbulentDispersionModel.C
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) 2014-2015 OpenFOAM Foundation
9  Copyright (C) 2019-2021 OpenCFD Ltd.
10 -------------------------------------------------------------------------------
11 License
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 
27 \*---------------------------------------------------------------------------*/
28 
30 #include "phasePair.H"
31 #include "fvcGrad.H"
32 
33 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
34 
35 namespace Foam
36 {
37  defineTypeNameAndDebug(turbulentDispersionModel, 0);
38  defineRunTimeSelectionTable(turbulentDispersionModel, dictionary);
39 }
40 
43 
44 
45 // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
46 
48 (
49  const dictionary& dict,
50  const phasePair& pair
51 )
52 :
53  pair_(pair)
54 {}
55 
56 
57 // * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
58 
61 (
62  const dictionary& dict,
63  const phasePair& pair
64 )
65 {
66  const word modelType(dict.get<word>("type"));
67 
68  Info<< "Selecting turbulentDispersionModel for "
69  << pair << ": " << modelType << endl;
70 
71  auto* ctorPtr = dictionaryConstructorTable(modelType);
72 
73  if (!ctorPtr)
74  {
76  (
77  dict,
78  "turbulentDispersionModel",
79  modelType,
80  *dictionaryConstructorTablePtr_
81  ) << exit(FatalIOError);
82  }
83 
84  return ctorPtr(dict, pair);
85 }
86 
87 
88 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
89 
92 {
93  return D()*fvc::grad(pair_.dispersed());
94 }
95 
96 
97 // ************************************************************************* //
dictionary dict
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh >> grad(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
Definition: fvcGrad.C:47
virtual tmp< volVectorField > F() const
Turbulent dispersion force.
errorManipArg< error, int > exit(error &err, const int errNo=1)
Definition: errorManip.H:125
static autoPtr< turbulentDispersionModel > New(const dictionary &dict, const phasePair &pair)
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition: Ostream.H:487
T get(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a T. FatalIOError if not found, or if the number of tokens is incorrect.
static const dimensionSet dimF
Force dimensions.
Dimension set for the base types, which can be used to implement rigorous dimension checking for alge...
Definition: dimensionSet.H:105
static const dimensionSet dimD
Diffusivity dimensions.
Calculate the gradient of the given field.
defineRunTimeSelectionTable(reactionRateFlameArea, dictionary)
defineTypeNameAndDebug(combustionModel, 0)
messageStream Info
Information stream (stdout output on master, null elsewhere)
const dimensionedScalar & D
A class for managing temporary objects.
Definition: HashPtrTable.H:50
#define FatalIOErrorInLookup(ios, lookupTag, lookupName, lookupTable)
Report an error message using Foam::FatalIOError.
Definition: error.H:615
turbulentDispersionModel(const dictionary &dict, const phasePair &pair)
Construct from a dictionary and a phase pair.
Namespace for OpenFOAM.
IOerror FatalIOError
Error stream (stdout output on all processes), with additional &#39;FOAM FATAL IO ERROR&#39; header text and ...