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 Foam_injectedParticleCloud_H
39 #define Foam_injectedParticleCloud_H
40 
41 #include "Cloud.H"
42 #include "injectedParticle.H"
43 
44 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 
46 namespace Foam
47 {
48 
49 /*---------------------------------------------------------------------------*\
50  Class injectedParticleCloud Declaration
51 \*---------------------------------------------------------------------------*/
52 
54 :
55  public Cloud<injectedParticle>
56 {
57 public:
58 
59  //- Type of parcel within the cloud
61 
62  //- No copy construct
64 
65  //- No copy assignment
66  void operator=(const injectedParticleCloud&) = delete;
67 
68 
69  // Constructors
70 
71  //- Read construct
73  (
74  const polyMesh& mesh,
75  const word& cloudName,
76  const bool readFields = true
77  );
78 
79  //- Construct without particles
81  (
82  const polyMesh& mesh,
83  const Foam::zero,
85  )
86  :
88  {}
89 
90  //- Copy constructor with new name
92 
93  //- Construct and return clone based on (this) with new name
94  virtual autoPtr<injectedParticleCloud> clone(const word& name) const
95  {
96  return autoPtr<injectedParticleCloud>
97  (
98  new injectedParticleCloud(*this, name)
99  );
100  }
101 
102 
103  //- Destructor
104  virtual ~injectedParticleCloud() = default;
105 
106 
107  // Member Functions
108 
109  //- Read particle fields as objects from the obr registry
110  virtual void readObjects(const objectRegistry& obr);
111 
112  //- Write particle fields as objects into the obr registry
113  virtual void writeObjects(objectRegistry& obr) const;
114 };
115 
116 
117 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
118 
119 } // End namespace Foam
120 
121 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
122 
123 #endif
124 
125 // ************************************************************************* //
static word defaultName
The default cloud name: defaultCloud.
Definition: cloud.H:84
autoPtr< IOobject > clone() const
Clone.
Definition: IOobject.H:621
virtual void writeObjects(objectRegistry &obr) const
Write particle fields as objects into the obr registry.
const word & name() const noexcept
Return the object name.
Definition: IOobjectI.H:195
Primarily stores particle properties so that it can be injected at a later time. Note that this store...
injectedParticle parcelType
Type of parcel within the cloud.
dynamicFvMesh & mesh
void readFields(const typename GeoFieldType::Mesh &mesh, const IOobjectList &objects, const NameMatchPredicate &selectedFields, DynamicList< regIOobject *> &storedObjects)
Read the selected GeometricFields of the templated type and store on the objectRegistry.
const word cloudName(propsDict.get< word >("cloud"))
A class for handling words, derived from Foam::string.
Definition: word.H:63
Base cloud calls templated on particle type.
Definition: Cloud.H:51
injectedParticleCloud(const injectedParticleCloud &)=delete
No copy construct.
void operator=(const injectedParticleCloud &)=delete
No copy assignment.
virtual void readObjects(const objectRegistry &obr)
Read particle fields as objects from the obr registry.
const dimensionedScalar c
Speed of light in a vacuum.
A class representing the concept of 0 (zero) that can be used to avoid manipulating objects known to ...
Definition: zero.H:57
Mesh consisting of general polyhedral cells.
Definition: polyMesh.H:74
Registry of regIOobjects.
virtual ~injectedParticleCloud()=default
Destructor.
Namespace for OpenFOAM.