labelTensor.C
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) 2011-2016 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 #include "labelTensor.H"
29 
30 
31 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
32 
33 template<>
34 const char* const Foam::labelTensor::vsType::typeName = "labelTensor";
35 
36 template<>
37 const char* const Foam::labelTensor::vsType::componentNames[] =
38 {
39  "xx", "xy", "xz",
40  "yx", "yy", "yz",
41  "zx", "zy", "zz"
42 };
43 
44 template<>
45 const Foam::labelTensor Foam::labelTensor::vsType::zero
46 (
47  labelTensor::uniform(0)
48 );
49 
50 template<>
51 const Foam::labelTensor Foam::labelTensor::vsType::one
52 (
53  labelTensor::uniform(1)
54 );
55 
56 template<>
58 (
59  labelTensor::uniform(labelMax)
60 );
61 
62 template<>
64 (
65  labelTensor::uniform(-labelMax)
66 );
67 
68 template<>
69 const Foam::labelTensor Foam::labelTensor::vsType::rootMax
70 (
71  labelTensor::uniform(sqrt(scalar(labelMax)))
72 );
73 
74 template<>
75 const Foam::labelTensor Foam::labelTensor::vsType::rootMin
76 (
77  labelTensor::uniform(-sqrt(scalar(labelMax)))
78 );
79 
80 
81 // ************************************************************************* //
Foam::Tensor
A templated (3 x 3) tensor of objects of <T> derived from MatrixSpace.
Definition: complexI.H:268
labelTensor.H
Foam::labelMax
constexpr label labelMax
Definition: label.H:55
Foam::min
label min(const labelHashSet &set, label minValue=labelMax)
Definition: hashSets.C:26
Foam::max
label max(const labelHashSet &set, label maxValue=labelMin)
Definition: hashSets.C:40
Foam::sqrt
dimensionedScalar sqrt(const dimensionedScalar &ds)
Definition: dimensionedScalar.C:137