Merge branch 'master' of ssh://git.code.sf.net/p/foam-extend/foam-extend-3.2
[foam-extend-3.2.git] / src / coupledMatrix / coupledFvMatrices / coupledFvMatrix / coupledFvMatrix.H
blob9a67f23ec88c75f2e08ac5f979e386ef2f7683ca
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     coupledFvMatrix
27 Description
28     Coupled Finite-Volume matrix.
30 Author
31     Hrvoje Jasak, Wikki Ltd.  All rights reserved
33 SourceFiles
34     coupledFvMatrix.C
36 \*---------------------------------------------------------------------------*/
38 #ifndef coupledFvMatrix_H
39 #define coupledFvMatrix_H
41 #include "fvMatrices.H"
42 #include "coupledLduMatrix.H"
43 #include "className.H"
44 #include "coupledSolverPerformance.H"
46 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
48 namespace Foam
51 /*---------------------------------------------------------------------------*\
52                        Class coupledFvMatrix Declaration
53 \*---------------------------------------------------------------------------*/
55 template<class Type>
56 class coupledFvMatrix
58     public coupledLduMatrix
60     // Private member functions
62         //- Disallow default bitwise copy construct
63         coupledFvMatrix(const coupledFvMatrix<Type>&);
65         //- Disallow default bitwise assignment
66         void operator=(const coupledFvMatrix<Type>&);
69         //- Check size
70         void checkSize() const;
72         //- Return name for combined variable
73         word coupledPsiName() const;
76 public:
78     ClassName("coupledFvMatrix");
81     // Constructors
83         //- Construct given size
84         coupledFvMatrix(const label size)
85         :
86             coupledLduMatrix(size)
87         {}
90     // Destructor
92         ~coupledFvMatrix()
93         {}
96     // Member functions
98         //- Solve returning the solution statistics.
99         //  Solver controls read from dictionary
100         coupledSolverPerformance solve(const dictionary&);
102         //- Solve returning the solution statistics.
103         //  Solver controls read from fvSolution
104         coupledSolverPerformance solve();
108 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
110 } // End namespace Foam
112 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
114 #ifdef NoRepository
115 #   include "coupledFvMatrix.C"
116 #endif
118 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
120 #endif
122 // ************************************************************************* //