1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
7 -------------------------------------------------------------------------------
9 This file is part of OpenFOAM.
11 OpenFOAM is free software: you can redistribute it and/or modify it
12 under the terms of the GNU General Public License as published by
13 the Free Software Foundation, either version 3 of the License, or
14 (at your option) any later version.
16 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 You should have received a copy of the GNU General Public License
22 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
28 Place holder for 'none' option
33 \*---------------------------------------------------------------------------*/
38 #include "InjectionModel.H"
40 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 /*---------------------------------------------------------------------------*\
46 Class NoInjection Declaration
47 \*---------------------------------------------------------------------------*/
49 template<class CloudType>
52 public InjectionModel<CloudType>
57 //- Runtime type information
63 //- Construct from components
64 NoInjection(const dictionary&, CloudType&);
67 NoInjection(const NoInjection<CloudType>& im);
69 //- Construct and return a clone
70 virtual autoPtr<InjectionModel<CloudType> > clone() const
72 return autoPtr<InjectionModel<CloudType> >
74 new NoInjection<CloudType>(*this)
80 virtual ~NoInjection();
85 //- Flag to indicate whether model activates injection model
88 //- Return the end-of-injection time
89 scalar timeEnd() const;
91 //- Number of parcels to introduce relative to SOI
92 virtual label parcelsToInject(const scalar time0, const scalar time1);
94 //- Volume of parcels to introduce relative to SOI
95 virtual scalar volumeToInject(const scalar time0, const scalar time1);
100 //- Set the injection position and owner cell, tetFace and tetPt
101 virtual void setPositionAndCell
104 const label nParcels,
112 virtual void setProperties
115 const label nParcels,
117 typename CloudType::parcelType& parcel
120 //- Flag to identify whether model fully describes the parcel
121 virtual bool fullyDescribed() const;
123 //- Return flag to identify whether or not injection of parcelI is
125 virtual bool validInjection(const label parcelI);
129 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
131 } // End namespace Foam
133 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
136 # include "NoInjection.C"
139 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
143 // ************************************************************************* //