Forward compatibility: flex
[foam-extend-3.2.git] / src / solidModels / constitutiveModel / tractionBoundaryGradient / tractionBoundaryGradient.H
blobbfde9779981ab4f46beb22a13a2af580fc480d2a
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | foam-extend: Open Source CFD
4    \\    /   O peration     | Version:     3.2
5     \\  /    A nd           | Web:         http://www.foam-extend.org
6      \\/     M anipulation  | For copyright notice see file Copyright
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     tractionBoundaryGradient
27 Description
28     Calculates the implicit boundary gradient corresponding to the user
29     specified boundary traction.
30     This class, which is a function class, can be used in traction boundary
31     conditions to calculate the gradient to be applied
33 SourceFiles
34     tractionBoundaryGradient.C
36 Author
37     Philip Cardiff UCD
38     Clean-up and re-factoring Hrvoje Jasak
40 \*---------------------------------------------------------------------------*/
42 #ifndef tractionBoundaryGradient_H
43 #define tractionBoundaryGradient_H
45 #include "IOdictionary.H"
46 #include "typeInfo.H"
47 #include "runTimeSelectionTables.H"
48 #include "volFields.H"
49 #include "tmp.H"
50 #include "rheologyLaw.H"
51 #include "nonLinearGeometry.H"
53 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
55 namespace Foam
58 /*---------------------------------------------------------------------------*\
59                    Class tractionBoundaryGradient Declaration
60 \*---------------------------------------------------------------------------*/
62 class tractionBoundaryGradient
64 public:
66     // Static member functions
68         //- Return the boundary Cauchy traction corresponding to
69         //  the given gradient
70         static tmp<vectorField> traction
71         (
72             const tensorField& gradField,
73             const word& workingFieldName,   // Working variable
74             const word& integralFieldName,  // Integrated displacement
75             const fvPatch& patch,
76             const bool orthotropic,
77             const nonLinearGeometry::nonLinearType& nonLinear,
78             const bool incremental
79         );
82     // Operators
84         //- Return surface-normal gradient given traction and pressure
85         static tmp<vectorField> snGrad
86         (
87             const vectorField& traction,
88             const scalarField& pressure,
89             const word& workingFieldName,   // Working variable
90             const word& integralFieldName,  // Integrated displacement
91             const fvPatch& patch,
92             const bool orthotropic,
93             const nonLinearGeometry::nonLinearType& nonLinear,
94             const bool incremental
95         );
98 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
100 } // End namespace Foam
102 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
104 #endif
106 // ************************************************************************* //