initial commit for version 1.5.x patch release
[OpenFOAM-1.5.x.git] / applications / solvers / compressible / rhopSonicFoam / BCs / p / inviscidWallPFvPatchScalarField.H
blob2f2bcb91e669b7eea301f7179fa22dc17af6ee6e
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 1991-2008 OpenCFD Ltd.
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
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 the
13     Free Software Foundation; either version 2 of the License, or (at your
14     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
19     for more details.
21     You should have received a copy of the GNU General Public License
22     along with OpenFOAM; if not, write to the Free Software Foundation,
23     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25 \*---------------------------------------------------------------------------*/
27 #ifndef inviscidWallPFvPatchScalarFields_H
28 #define inviscidWallPFvPatchScalarFields_H
30 #include "fvPatchFields.H"
31 #include "fixedGradientFvPatchFields.H"
33 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
35 namespace Foam
38 /*---------------------------------------------------------------------------*\
39                            Class inviscidWallPFvPatch Declaration
40 \*---------------------------------------------------------------------------*/
42 class inviscidWallPFvPatchScalarField
44     public fixedGradientFvPatchScalarField
47 public:
49     // Private data
51     scalar fluxFraction_;
53     //- Runtime type information
54     TypeName("inviscidWallP");
57     // Constructors
59         //- Construct from patch and internal field
60         inviscidWallPFvPatchScalarField
61         (
62             const fvPatch&,
63             const DimensionedField<scalar, volMesh>&
64         );
66         //- Construct from patch, internal field and dictionary
67         inviscidWallPFvPatchScalarField
68         (
69             const fvPatch&,
70             const DimensionedField<scalar, volMesh>&,
71             const dictionary&
72         );
74         //- Construct by mapping given inviscidWallPFvPatchScalarField onto
75         //  a new patch
76         inviscidWallPFvPatchScalarField
77         (
78             const inviscidWallPFvPatchScalarField&,
79             const fvPatch&,
80             const DimensionedField<scalar, volMesh>&,
81             const fvPatchFieldMapper&
82         );
84         //- Construct as copy
85         inviscidWallPFvPatchScalarField
86         (
87             const inviscidWallPFvPatchScalarField&
88         );
90         //- Construct and return a clone
91         virtual tmp<fvPatchScalarField> clone() const
92         {
93             return tmp<fvPatchScalarField>
94             (
95                 new inviscidWallPFvPatchScalarField(*this)
96             );
97         }
99         //- Construct as copy setting internal field reference
100         inviscidWallPFvPatchScalarField
101         (
102             const inviscidWallPFvPatchScalarField&,
103             const DimensionedField<scalar, volMesh>&
104         );
106         //- Construct and return a clone setting internal field reference
107         virtual tmp<fvPatchScalarField> clone
108         (
109             const DimensionedField<scalar, volMesh>& iF
110         ) const
111         {
112             return tmp<fvPatchScalarField>
113             (
114                 new inviscidWallPFvPatchScalarField(*this, iF)
115             );
116         }
119     // Member functions
121         //- Update the coefficients associated with the patch field
122         virtual void updateCoeffs();
124         //- Write
125         virtual void write(Ostream&) const;
129 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
131 } // End namespace Foam
133 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
135 #endif
137 // ************************************************************************* //