FreeFOAM The Cross-Platform CFD Toolkit
Hosted by SourceForge:
Get FreeFOAM at SourceForge.net.
            Fast, secure and Free Open Source software downloads

pressureInletUniformVelocityFvPatchVectorField.H

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------------*\
00002   =========                 |
00003   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
00004    \\    /   O peration     |
00005     \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
00006      \\/     M anipulation  |
00007 -------------------------------------------------------------------------------
00008 License
00009     This file is part of OpenFOAM.
00010 
00011     OpenFOAM is free software: you can redistribute it and/or modify it
00012     under the terms of the GNU General Public License as published by
00013     the Free Software Foundation, either version 3 of the License, or
00014     (at your option) any later version.
00015 
00016     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
00017     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00018     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
00019     for more details.
00020 
00021     You should have received a copy of the GNU General Public License
00022     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
00023 
00024 Class
00025     Foam::pressureInletUniformVelocityFvPatchVectorField
00026 
00027 Description
00028     Velocity inlet boundary condition for patches where the pressure is
00029     specified. The uniform inflow velocity is obtained by averaging the flux
00030     over the patch and apply it in the direction normal to the patch faces.
00031 
00032 SourceFiles
00033     pressureInletUniformVelocityFvPatchVectorField.C
00034 
00035 \*---------------------------------------------------------------------------*/
00036 
00037 #ifndef pressureInletUniformVelocityFvPatchVectorField_H
00038 #define pressureInletUniformVelocityFvPatchVectorField_H
00039 
00040 #include <finiteVolume/pressureInletVelocityFvPatchVectorField.H>
00041 
00042 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00043 
00044 namespace Foam
00045 {
00046 
00047 /*---------------------------------------------------------------------------*\
00048              Class pressureInletUniformVelocityFvPatch Declaration
00049 \*---------------------------------------------------------------------------*/
00050 
00051 class pressureInletUniformVelocityFvPatchVectorField
00052 :
00053     public pressureInletVelocityFvPatchVectorField
00054 {
00055 
00056 public:
00057 
00058     //- Runtime type information
00059     TypeName("pressureInletUniformVelocity");
00060 
00061 
00062     // Constructors
00063 
00064         //- Construct from patch and internal field
00065         pressureInletUniformVelocityFvPatchVectorField
00066         (
00067             const fvPatch&,
00068             const DimensionedField<vector, volMesh>&
00069         );
00070 
00071         //- Construct from patch, internal field and dictionary
00072         pressureInletUniformVelocityFvPatchVectorField
00073         (
00074             const fvPatch&,
00075             const DimensionedField<vector, volMesh>&,
00076             const dictionary&
00077         );
00078 
00079         //- Construct by mapping given
00080         //  pressureInletUniformVelocityFvPatchVectorField onto a new patch
00081         pressureInletUniformVelocityFvPatchVectorField
00082         (
00083             const pressureInletUniformVelocityFvPatchVectorField&,
00084             const fvPatch&,
00085             const DimensionedField<vector, volMesh>&,
00086             const fvPatchFieldMapper&
00087         );
00088 
00089         //- Construct as copy
00090         pressureInletUniformVelocityFvPatchVectorField
00091         (
00092             const pressureInletUniformVelocityFvPatchVectorField&
00093         );
00094 
00095         //- Construct and return a clone
00096         virtual tmp<fvPatchVectorField> clone() const
00097         {
00098             return tmp<fvPatchVectorField>
00099             (
00100                 new pressureInletUniformVelocityFvPatchVectorField(*this)
00101             );
00102         }
00103 
00104         //- Construct as copy setting internal field reference
00105         pressureInletUniformVelocityFvPatchVectorField
00106         (
00107             const pressureInletUniformVelocityFvPatchVectorField&,
00108             const DimensionedField<vector, volMesh>&
00109         );
00110 
00111         //- Construct and return a clone setting internal field reference
00112         virtual tmp<fvPatchVectorField> clone
00113         (
00114             const DimensionedField<vector, volMesh>& iF
00115         ) const
00116         {
00117             return tmp<fvPatchVectorField>
00118             (
00119                 new pressureInletUniformVelocityFvPatchVectorField(*this, iF)
00120             );
00121         }
00122 
00123 
00124     // Member functions
00125 
00126         //- Update the coefficients associated with the patch field
00127         virtual void updateCoeffs();
00128 
00129 
00130     // Member operators
00131 
00132         virtual void operator=(const fvPatchField<vector>& pvf);
00133 };
00134 
00135 
00136 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00137 
00138 } // End namespace Foam
00139 
00140 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00141 
00142 #endif
00143 
00144 // ************************ vim: set sw=4 sts=4 et: ************************ //
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines