ensightPTraits.H 3.37 KB
Newer Older
mattijs's avatar
mattijs committed
1
2
3
4
/*---------------------------------------------------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     |
5
    \\  /    A nd           | Copyright (C) 2019 OpenCFD Ltd.
mattijs's avatar
mattijs committed
6
     \\/     M anipulation  |
OpenFOAM bot's avatar
OpenFOAM bot committed
7
8
-------------------------------------------------------------------------------
                            | Copyright (C) 2013-2015 OpenFOAM Foundation
mattijs's avatar
mattijs committed
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
-------------------------------------------------------------------------------
License
    This file is part of OpenFOAM.

    OpenFOAM is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    for more details.

    You should have received a copy of the GNU General Public License
    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.

Class
    Foam::ensightPTraits

Description
    Conversion of OpenFOAM pTraits into the Ensight equivalent

32
33
34
    For the purpose of traits, integers (label) are treated like
    floating point (scalar). Spherical tensors are mapped as a scalar.

mattijs's avatar
mattijs committed
35
36
37
38
39
40
41
\*---------------------------------------------------------------------------*/

#ifndef ensightPTraits_H
#define ensightPTraits_H

#include "pTraits.H"
#include "fieldTypes.H"
42
#include "direction.H"
mattijs's avatar
mattijs committed
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

namespace Foam
{

/*---------------------------------------------------------------------------*\
                         Class ensightPTraits Declaration
\*---------------------------------------------------------------------------*/

template<class PrimitiveType>
class ensightPTraits
{
public:

    // Static data members

        static const char* const typeName;

62
63
64
65
        //- Ordering table: return OpenFOAM component given Ensight component
        //  This is used for the symmTensor ordering: Ensight requires
        //  xx yy zz xy xz yz
        static const direction componentOrder[];
mattijs's avatar
mattijs committed
66
67
};

68
69
70
71
72
73
template<>
const char* const ensightPTraits<label>::typeName;

template<>
const direction ensightPTraits<label>::componentOrder[];

mattijs's avatar
mattijs committed
74
template<>
75
const char* const ensightPTraits<scalar>::typeName;
mattijs's avatar
mattijs committed
76

77
78
template<>
const direction ensightPTraits<scalar>::componentOrder[];
mattijs's avatar
mattijs committed
79
80

template<>
81
const char* const ensightPTraits<vector>::typeName;
mattijs's avatar
mattijs committed
82

83
84
template<>
const direction ensightPTraits<vector>::componentOrder[];
mattijs's avatar
mattijs committed
85
86

template<>
87
const char* const ensightPTraits<sphericalTensor>::typeName;
mattijs's avatar
mattijs committed
88

89
90
template<>
const direction ensightPTraits<sphericalTensor>::componentOrder[];
mattijs's avatar
mattijs committed
91
92

template<>
93
const char* const ensightPTraits<symmTensor>::typeName;
mattijs's avatar
mattijs committed
94

95
96
template<>
const direction ensightPTraits<symmTensor>::componentOrder[];
mattijs's avatar
mattijs committed
97
98

template<>
99
const char* const ensightPTraits<tensor>::typeName;
mattijs's avatar
mattijs committed
100

101
102
template<>
const direction ensightPTraits<tensor>::componentOrder[];
mattijs's avatar
mattijs committed
103
104
105
106
107
108
109
110
111
112
113


// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

} // End namespace Foam

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

#endif

// ************************************************************************* //