coordinateRotation.C
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 \*---------------------------------------------------------------------------*/
25 
26 #include "coordinateRotation.H"
27 #include "dictionary.H"
29 
30 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
31 
32 namespace Foam
33 {
37 }
38 
39 
40 // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
41 
43 (
44  const tensor& tt,
45  const vector& st
46 ) const
47 {
48  return symmTensor
49  (
50  tt.xx()*st.x()*tt.xx()
51  + tt.xy()*st.y()*tt.xy()
52  + tt.xz()*st.z()*tt.xz(),
53 
54  tt.xx()*st.x()*tt.yx()
55  + tt.xy()*st.y()*tt.yy()
56  + tt.xz()*st.z()*tt.yz(),
57 
58  tt.xx()*st.x()*tt.zx()
59  + tt.xy()*st.y()*tt.zy()
60  + tt.xz()*st.z()*tt.zz(),
61 
62  tt.yx()*st.x()*tt.yx()
63  + tt.yy()*st.y()*tt.yy()
64  + tt.yz()*st.z()*tt.yz(),
65 
66  tt.yx()*st.x()*tt.zx()
67  + tt.yy()*st.y()*tt.zy()
68  + tt.yz()*st.z()*tt.zz(),
69 
70  tt.zx()*st.x()*tt.zx()
71  + tt.zy()*st.y()*tt.zy()
72  + tt.zz()*st.z()*tt.zz()
73  );
74 
75 }
76 
77 // ************************************************************************* //
Macros for easy insertion into run-time selection tables.
const Cmpt & xx() const
Definition: TensorI.H:163
const Cmpt & yx() const
Definition: TensorI.H:184
const Cmpt & yz() const
Definition: TensorI.H:198
const Cmpt & xz() const
Definition: TensorI.H:177
const Cmpt & zz() const
Definition: TensorI.H:219
const Cmpt & xy() const
Definition: TensorI.H:170
const Cmpt & zx() const
Definition: TensorI.H:205
const Cmpt & zy() const
Definition: TensorI.H:212
const Cmpt & yy() const
Definition: TensorI.H:191
const Cmpt & z() const
Definition: VectorI.H:87
const Cmpt & y() const
Definition: VectorI.H:81
const Cmpt & x() const
Definition: VectorI.H:75
Abstract base class for coordinate rotation.
symmTensor transformVectorDiagTensor(const tensor &, const vector &) const
Transform the vector as if it is a diagonal tensor.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Definition: dictionary.H:162
const pointField & points
Namespace for OpenFOAM.
defineRunTimeSelectionTable(reactionRateFlameArea, dictionary)
SymmTensor< scalar > symmTensor
SymmTensor of scalars.
Definition: symmTensor.H:48
defineTypeNameAndDebug(combustionModel, 0)