CompactSpatialTensorTI.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration |
5  \\ / A nd | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2016-2017 OpenFOAM Foundation
9 -------------------------------------------------------------------------------
10 License
11  This file is part of OpenFOAM.
12 
13  OpenFOAM is free software: you can redistribute it and/or modify it
14  under the terms of the GNU General Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17 
18  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22 
23  You should have received a copy of the GNU General Public License
24  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 
26 \*---------------------------------------------------------------------------*/
27 
28 // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
29 
30 template<class Cmpt>
32 (
33  const Foam::zero
34 )
35 :
37 {}
38 
39 
40 template<class Cmpt>
42 (
43  const typename CompactSpatialTensorT::msType& ms
44 )
45 :
47 {}
48 
49 
50 template<class Cmpt>
52 (
53  const Cmpt& t00, const Cmpt& t01, const Cmpt& t02,
54  const Cmpt& t10, const Cmpt& t11, const Cmpt& t12,
55  const Cmpt& t20, const Cmpt& t21, const Cmpt& t22,
56  const Cmpt& t30, const Cmpt& t31, const Cmpt& t32,
57  const Cmpt& t40, const Cmpt& t41, const Cmpt& t42,
58  const Cmpt& t50, const Cmpt& t51, const Cmpt& t52
59 )
60 {
61  this->v_[0] = t00;
62  this->v_[1] = t01;
63  this->v_[2] = t02;
64 
65  this->v_[3 + 0] = t10;
66  this->v_[3 + 1] = t11;
67  this->v_[3 + 2] = t12;
68 
69  this->v_[6 + 0] = t20;
70  this->v_[6 + 1] = t21;
71  this->v_[6 + 2] = t22;
72 
73  this->v_[9 + 0] = t30;
74  this->v_[9 + 1] = t31;
75  this->v_[9 + 2] = t32;
76 
77  this->v_[12 + 0] = t40;
78  this->v_[12 + 1] = t41;
79  this->v_[12 + 2] = t42;
80 
81  this->v_[15 + 0] = t50;
82  this->v_[15 + 1] = t51;
83  this->v_[15 + 2] = t52;
84 }
85 
86 
87 template<class Cmpt>
89 :
90  CompactSpatialTensorT::msType(is)
91 {}
92 
93 
94 // ************************************************************************* //
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
Definition: Istream.H:57
Templated matrix space.
Definition: MatrixSpace.H:54
CompactSpatialTensorT()=default
Default construct.
Templated 3D transposed compact spatial tensor derived from MatrixSpace used to represent transformat...
A class representing the concept of 0 (zero) that can be used to avoid manipulating objects known to ...
Definition: zero.H:57
static constexpr const zero Zero
Global zero (0)
Definition: zero.H:127