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-------------------------------------------------------------------------------
10License
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
26Class
27 Foam::regionModels::pyrolysisModels::pyrolysisModelCollection
28
29Description
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
35SourceFiles
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
48namespace Foam
49{
50
51// Forward class declarations
52class fvMesh;
53
54namespace regionModels
55{
56namespace pyrolysisModels
57{
58
59/*---------------------------------------------------------------------------*\
60 Class pyrolysisModelCollection Declaration
61\*---------------------------------------------------------------------------*/
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
76public:
77
78 // Runtime type information
79 TypeName("pyrolysisModelCollection");
80
81
82 // Constructors
83
84 //- Construct from mesh
86
87
88 //- Destructor
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// ************************************************************************* //
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
Definition: PtrList.H:73
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:91
virtual scalar solidRegionDiffNo() const
Mean diffusion number of the solid regions.
virtual void info()
Provide some feedback from pyrolysis regions.
virtual scalar maxDiff() const
Return max diffusivity allowed in the solid.
virtual void evolveRegion()
Evolve the pyrolysis equation regions.
Namespace for OpenFOAM.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73