Initial commit for version 2.0.x patch release
[OpenFOAM-2.0.x.git] / src / finiteVolume / fields / fvPatchFields / basic / fixedValue / fixedValueFvPatchField.C
blob3cb5fcabc0c407808db4fbe0e150bb1105afe19a
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2004-2010 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
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
19     for more details.
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/>.
24 \*---------------------------------------------------------------------------*/
26 #include "fixedValueFvPatchField.H"
28 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
30 namespace Foam
33 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
35 template<class Type>
36 fixedValueFvPatchField<Type>::fixedValueFvPatchField
38     const fvPatch& p,
39     const DimensionedField<Type, volMesh>& iF
42     fvPatchField<Type>(p, iF)
46 template<class Type>
47 fixedValueFvPatchField<Type>::fixedValueFvPatchField
49     const fvPatch& p,
50     const DimensionedField<Type, volMesh>& iF,
51     const dictionary& dict
54     fvPatchField<Type>(p, iF, dict, true)
58 template<class Type>
59 fixedValueFvPatchField<Type>::fixedValueFvPatchField
61     const fixedValueFvPatchField<Type>& ptf,
62     const fvPatch& p,
63     const DimensionedField<Type, volMesh>& iF,
64     const fvPatchFieldMapper& mapper
67     fvPatchField<Type>(ptf, p, iF, mapper)
71 template<class Type>
72 fixedValueFvPatchField<Type>::fixedValueFvPatchField
74     const fixedValueFvPatchField<Type>& ptf
77     fvPatchField<Type>(ptf)
81 template<class Type>
82 fixedValueFvPatchField<Type>::fixedValueFvPatchField
84     const fixedValueFvPatchField<Type>& ptf,
85     const DimensionedField<Type, volMesh>& iF
88     fvPatchField<Type>(ptf, iF)
92 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
94 template<class Type>
95 tmp<Field<Type> > fixedValueFvPatchField<Type>::valueInternalCoeffs
97     const tmp<scalarField>&
98 ) const
100     return tmp<Field<Type> >
101     (
102         new Field<Type>(this->size(), pTraits<Type>::zero)
103     );
107 template<class Type>
108 tmp<Field<Type> > fixedValueFvPatchField<Type>::valueBoundaryCoeffs
110     const tmp<scalarField>&
111 ) const
113     return *this;
117 template<class Type>
118 tmp<Field<Type> > fixedValueFvPatchField<Type>::gradientInternalCoeffs() const
120     return -pTraits<Type>::one*this->patch().deltaCoeffs();
124 template<class Type>
125 tmp<Field<Type> > fixedValueFvPatchField<Type>::gradientBoundaryCoeffs() const
127     return this->patch().deltaCoeffs()*(*this);
131 template<class Type>
132 void fixedValueFvPatchField<Type>::write(Ostream& os) const
134     fvPatchField<Type>::write(os);
135     this->writeEntry("value", os);
139 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
141 } // End namespace Foam
143 // ************************************************************************* //