pyrolysisModelCollection.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-2014 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::regionModels::pyrolysisModels::pyrolysisModelCollection
28 
29 Description
30  A centralized pyrolysis collection.
31 
32  Container class for a set of pyrolysis with functions implemented
33  to loop over the functions for each type.
34 
35 SourceFiles
36  pyrolysisModelCollection.C
37 
38 \*---------------------------------------------------------------------------*/
39 
40 #ifndef pyrolysisModelCollection_H
41 #define pyrolysisModelCollection_H
42 
43 #include "PtrList.H"
44 #include "pyrolysisModel.H"
45 
46 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
47 
48 namespace Foam
49 {
50 
51 // Forward class declarations
52 class fvMesh;
53 
54 namespace regionModels
55 {
56 namespace pyrolysisModels
57 {
58 
59 /*---------------------------------------------------------------------------*\
60  Class pyrolysisModelCollection Declaration
61 \*---------------------------------------------------------------------------*/
62 
64 :
65  public PtrList<pyrolysisModel>
66 {
67  // Private Member Functions
68 
69  //- No copy construct
71 
72  //- No copy assignment
73  void operator=(const pyrolysisModelCollection&) = delete;
74 
75 
76 public:
77 
78  // Runtime type information
79  TypeName("pyrolysisModelCollection");
80 
81 
82  // Constructors
83 
84  //- Construct from mesh
86 
87 
88  //- Destructor
89  virtual ~pyrolysisModelCollection();
90 
91 
92  // Member Functions
93 
94  //- Pre-evolve regions
95  virtual void preEvolveRegion();
96 
97  //- Evolve the pyrolysis equation regions
98  virtual void evolveRegion();
99 
100  //- Evolve regions
101  virtual void evolve();
102 
103  //- Provide some feedback from pyrolysis regions
104  virtual void info();
105 
106  //- Return max diffusivity allowed in the solid
107  virtual scalar maxDiff() const;
108 
109  //- Mean diffusion number of the solid regions
110  virtual scalar solidRegionDiffNo() const;
111 };
112 
113 
114 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
115 
116 } // End namespace pyrolysisModels
117 } // End namespace regionModels
118 } // End namespace Foam
119 
120 
121 #endif
122 
123 // ************************************************************************* //
virtual scalar solidRegionDiffNo() const
Mean diffusion number of the solid regions.
virtual void evolveRegion()
Evolve the pyrolysis equation regions.
virtual scalar maxDiff() const
Return max diffusivity allowed in the solid.
virtual void info()
Provide some feedback from pyrolysis regions.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers...
Definition: List.H:55
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:79
Namespace for OpenFOAM.