injectedParticleCloud.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) 2016-2019 OpenCFD Ltd.
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::injectedParticleCloud
28 
29 Group
30 
31 Description
32 
33 SourceFiles
34  injectedParticleCloud.C
35 
36 \*---------------------------------------------------------------------------*/
37 
38 #ifndef injectedParticleCloud_H
39 #define injectedParticleCloud_H
40 
41 #include "Cloud.H"
42 #include "injectedParticle.H"
43 
44 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 
46 namespace Foam
47 {
48 
49 
50 /*---------------------------------------------------------------------------*\
51  Class injectedParticleCloud Declaration
52 \*---------------------------------------------------------------------------*/
53 
55 :
56  public Cloud<injectedParticle>
57 {
58 
59 private:
60 
61  // Private Member Functions
62 
63  //- No copy construct
65 
66  //- No copy assignment
67  void operator=(const injectedParticleCloud&) = delete;
68 
69 
70 public:
71 
72  // Constructors
73 
74  //- Construct from mesh and cloud name
76  (
77  const polyMesh& mesh,
78  const word& name,
79  const bool readFields = true
80  );
81 
82  //- Copy constructor with new name
84 
85  //- Construct and return clone based on (this) with new name
86  virtual autoPtr<injectedParticleCloud> clone(const word& name) const
87  {
89  (
90  new injectedParticleCloud(*this, name)
91  );
92  }
93 
94 
95  //- Destructor
96  virtual ~injectedParticleCloud();
97 
98 
99  // Member Functions
100 
101  // I-O
102 
103  //- Read particle fields as objects from the obr registry
104  virtual void readObjects(const objectRegistry& obr);
105 
106  //- Write particle fields as objects into the obr registry
107  virtual void writeObjects(objectRegistry& obr) const;
108 };
109 
110 
111 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
112 
113 } // End namespace Foam
114 
115 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
116 
117 #endif
118 
119 // ************************************************************************* //
Foam::word
A class for handling words, derived from Foam::string.
Definition: word.H:65
Foam::injectedParticleCloud
Definition: injectedParticleCloud.H:53
Cloud.H
injectedParticle.H
Foam::injectedParticleCloud::clone
virtual autoPtr< injectedParticleCloud > clone(const word &name) const
Construct and return clone based on (this) with new name.
Definition: injectedParticleCloud.H:85
Foam::polyMesh
Mesh consisting of general polyhedral cells.
Definition: polyMesh.H:77
Foam::objectRegistry
Registry of regIOobjects.
Definition: objectRegistry.H:60
Foam::injectedParticleCloud::writeObjects
virtual void writeObjects(objectRegistry &obr) const
Write particle fields as objects into the obr registry.
Definition: injectedParticleCloud.C:79
Foam::injectedParticleCloud::readObjects
virtual void readObjects(const objectRegistry &obr)
Read particle fields as objects from the obr registry.
Definition: injectedParticleCloud.C:73
Foam::injectedParticleCloud::~injectedParticleCloud
virtual ~injectedParticleCloud()
Destructor.
Definition: injectedParticleCloud.C:67
mesh
dynamicFvMesh & mesh
Definition: createDynamicFvMesh.H:6
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::readFields
void readFields(const typename GeoFieldType::Mesh &mesh, const IOobjectList &objects, const wordHashSet &selectedFields, LIFOStack< regIOobject * > &storedObjects)
Read the selected GeometricFields of the templated type.
Definition: ReadFieldsTemplates.C:312
Foam::autoPtr
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: HashPtrTable.H:53
Foam::Cloud
Base cloud calls templated on particle type.
Definition: Cloud.H:55
Foam::constant::universal::c
const dimensionedScalar c
Speed of light in a vacuum.
Foam::name
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
Definition: exprTraits.C:59