Merge remote-tracking branch 'origin/BUGFIX/signInHerschelBuckley'
[foam-extend-3.0.git] / src / foam / matrices / blockLduMatrix / BlockLduMatrix / sphericalTensorBlockLduMatrix.C
blobc81784746c752f7d61f86ef055f2aece9b486bf0
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 \*---------------------------------------------------------------------------*/
26 #ifndef sphericalTensorBlockLduMatrix_H
27 #define sphericalTensorBlockLduMatrix_H
29 #include "BlockLduMatrix.H"
31 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
33 namespace Foam
36 template<>
37 void Foam::BlockLduMatrix<Foam::sphericalTensor>::sumDiag()
39     // Decoupled version
40     this->decoupledSumDiag();
44 template<>
45 void Foam::BlockLduMatrix<Foam::sphericalTensor>::negSumDiag()
47     // Decoupled version
48     this->decoupledNegSumDiag();
52 template<>
53 void Foam::BlockLduMatrix<sphericalTensor>::check() const
55     // Decoupled version
56     this->decoupledCheck();
60 template<>
61 void Foam::BlockLduMatrix<Foam::sphericalTensor>::relax
63     const sphericalTensorField& x,
64     sphericalTensorField& b,
65     const scalar alpha
68     // Decoupled version
69     this->decoupledRelax(x, b, alpha);
73 template<>
74 void Foam::BlockLduMatrix<Foam::sphericalTensor>::operator*=
76     const scalarField& sf
79     // Decoupled version
80     this->decoupledMultEqOp(sf);
84 template<>
85 void Foam::BlockLduMatrix<Foam::sphericalTensor>::AmulCore
87     sphericalTensorField& Ax,
88     const sphericalTensorField& x
89 ) const
91     decoupledAmulCore(Ax, x);
95 template<>
96 void Foam::BlockLduMatrix<Foam::sphericalTensor>::TmulCore
98     sphericalTensorField& Tx,
99     const sphericalTensorField& x
100 ) const
102     // Decoupled version
103     decoupledTmulCore(Tx, x);
107 template<>
108 void Foam::BlockLduMatrix<Foam::sphericalTensor>::segregateB
110     sphericalTensorField&,
111     const sphericalTensorField&
112 ) const
114     FatalErrorIn
115     (
116         "void Foam::BlockLduMatrix<sphericalTensor>::segregateB\n"
117         "(\n"
118         "    sphericalTensorField&,\n"
119         "    const sphericalTensorField&\n"
120         ") const"
121     )   << "Requested decoupling of sphericalTensor matrix - never coupled"
122         << abort(FatalError);
126 template<>
127 Foam::tmp<Foam::sphericalTensorField>
128 Foam::BlockLduMatrix<Foam::sphericalTensor>::H
130     const sphericalTensorField& x
131 ) const
133     // Decoupled version
134     return decoupledH(x);
138 template<>
139 Foam::tmp<Foam::sphericalTensorField>
140 Foam::BlockLduMatrix<Foam::sphericalTensor>::faceH
142     const sphericalTensorField& x
143 ) const
145     // Decoupled version
146     return decoupledFaceH(x);
150 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
152 } // End namespace Foam
154 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
156 #endif
158 // ************************************************************************* //