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 Inserting new particles across the faces of a all patched of type
29 "patch" for a free stream. Uniform values number density, temperature
30 and velocity sourced face-by-face from the boundaryT and boundaryU fields
33 \*---------------------------------------------------------------------------*/
38 #include "InflowBoundaryModel.H"
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 /*---------------------------------------------------------------------------*\
46 Class FreeStream Declaration
47 \*---------------------------------------------------------------------------*/
49 template<class CloudType>
52 public InflowBoundaryModel<CloudType>
56 //- The indices of patches to introduce molecules across
59 //- The molecule types to be introduced
60 List<label> moleculeTypeIds_;
62 //- The number density of the species in the inflow
63 Field<scalar> numberDensities_;
65 //- A List of Lists of Fields specifying carry-over of mass flux from
66 // one timestep to the next
67 // + Outer List - one inner List for each patch
68 // + Inner List - one Field for every species to be introduced
69 // + Each field entry corresponding to a face to be injected across
70 // with a particular species
71 List<List<Field<scalar> > > particleFluxAccumulators_;
76 //- Runtime type information
77 TypeName("FreeStream");
82 //- Construct from dictionary
85 const dictionary& dict,
91 virtual ~FreeStream();
96 //- Introduce particles
97 virtual void inflow();
101 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
103 } // End namespace Foam
105 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
108 # include "FreeStream.C"
111 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
115 // ************************************************************************* //