Remove trailing whitespace systematically
[foam-extend-3.2.git] / applications / solvers / solidMechanics / deprecatedSolvers / materialModels / fvPatchFields / tractionDisplacementThermo / tractionDisplacementThermoFvPatchVectorField.H
blobb287b317a820258e0f6617a5268ec04076c69792
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | foam-extend: Open Source CFD
4    \\    /   O peration     |
5     \\  /    A nd           | For copyright notice see file Copyright
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
9     This file is part of foam-extend.
11     foam-extend 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 3 of the License, or (at your
14     option) any later version.
16     foam-extend is distributed in the hope that it will be useful, but
17     WITHOUT ANY WARRANTY; without even the implied warranty of
18     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19     General Public License for more details.
21     You should have received a copy of the GNU General Public License
22     along with foam-extend.  If not, see <http://www.gnu.org/licenses/>.
24 Class
25     tractionDisplacementThermoFvPatchVectorField
27 Author
28     Hrvoje Jasak, Wikki Ltd.  All rights reserved
30 SourceFiles
31     tractionDisplacementThermoFvPatchVectorField.C
33 \*---------------------------------------------------------------------------*/
35 #ifndef tractionDisplacementThermoFvPatchVectorField_H
36 #define tractionDisplacementThermoFvPatchVectorField_H
38 #include "fvPatchFields.H"
39 #include "fixedGradientFvPatchFields.H"
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43 namespace Foam
46 /*---------------------------------------------------------------------------*\
47         Class tractionDisplacementThermoFvPatchVectorField Declaration
48 \*---------------------------------------------------------------------------*/
50 class tractionDisplacementThermoFvPatchVectorField
52     public fixedGradientFvPatchVectorField
55     // Private Data
57         //- Name of the displacement field
58         const word UName_;
60         //- Name of the temperature field
61         const word TName_;
63         //- Name of rheology model
64         const word rheologyName_;
66         //- Name of thermal model
67         const word thermoName_;
69         //- Traction
70         vectorField traction_;
72         //- Pressure
73         scalarField pressure_;
76 public:
78     //- Runtime type information
79     TypeName("tractionDisplacementThermo");
82     // Constructors
84         //- Construct from patch and internal field
85         tractionDisplacementThermoFvPatchVectorField
86         (
87             const fvPatch&,
88             const DimensionedField<vector, volMesh>&
89         );
91         //- Construct from patch, internal field and dictionary
92         tractionDisplacementThermoFvPatchVectorField
93         (
94             const fvPatch&,
95             const DimensionedField<vector, volMesh>&,
96             const dictionary&
97         );
99         //- Construct by mapping given
100         //  tractionDisplacementThermoFvPatchVectorField onto a new patch
101         tractionDisplacementThermoFvPatchVectorField
102         (
103             const tractionDisplacementThermoFvPatchVectorField&,
104             const fvPatch&,
105             const DimensionedField<vector, volMesh>&,
106             const fvPatchFieldMapper&
107         );
109         //- Construct as copy
110         tractionDisplacementThermoFvPatchVectorField
111         (
112             const tractionDisplacementThermoFvPatchVectorField&
113         );
115         //- Construct and return a clone
116         virtual tmp<fvPatchVectorField> clone() const
117         {
118             return tmp<fvPatchVectorField>
119             (
120                 new tractionDisplacementThermoFvPatchVectorField(*this)
121             );
122         }
124         //- Construct as copy setting internal field reference
125         tractionDisplacementThermoFvPatchVectorField
126         (
127             const tractionDisplacementThermoFvPatchVectorField&,
128             const DimensionedField<vector, volMesh>&
129         );
131         //- Construct and return a clone setting internal field reference
132         virtual tmp<fvPatchVectorField> clone
133         (
134             const DimensionedField<vector, volMesh>& iF
135         ) const
136         {
137             return tmp<fvPatchVectorField>
138             (
139                 new tractionDisplacementThermoFvPatchVectorField(*this, iF)
140             );
141         }
144     // Member functions
146         // Access
148             virtual const vectorField& traction() const
149             {
150                 return traction_;
151             }
153             virtual vectorField& traction()
154             {
155                 return traction_;
156             }
158             virtual const scalarField& pressure() const
159             {
160                 return pressure_;
161             }
163             virtual  scalarField& pressure()
164             {
165                 return pressure_;
166             }
168         // Mapping functions
170             //- Map (and resize as needed) from self given a mapping object
171             virtual void autoMap
172             (
173                 const fvPatchFieldMapper&
174             );
176             //- Reverse map the given fvPatchField onto this fvPatchField
177             virtual void rmap
178             (
179                 const fvPatchVectorField&,
180                 const labelList&
181             );
184         //- Update the coefficients associated with the patch field
185         virtual void updateCoeffs();
187         //- Write
188         virtual void write(Ostream&) const;
192 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
194 } // End namespace Foam
196 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
198 #endif
200 // ************************************************************************* //