00001 /*---------------------------------------------------------------------------*\ 00002 ========= | 00003 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox 00004 \\ / O peration | 00005 \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. 00006 \\/ M anipulation | 00007 ------------------------------------------------------------------------------- 00008 License 00009 This file is part of OpenFOAM. 00010 00011 OpenFOAM is free software: you can redistribute it and/or modify it 00012 under the terms of the GNU General Public License as published by 00013 the Free Software Foundation, either version 3 of the License, or 00014 (at your option) any later version. 00015 00016 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT 00017 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00018 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00019 for more details. 00020 00021 You should have received a copy of the GNU General Public License 00022 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. 00023 Dimensioned sphericalTensor obtained from generic dimensioned type. 00024 00025 \*---------------------------------------------------------------------------*/ 00026 00027 #include <OpenFOAM/dimensionedSphericalTensor.H> 00028 00029 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00030 00031 namespace Foam 00032 { 00033 00034 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // 00035 00036 template<> 00037 dimensionedSphericalTensor dimensionedSphericalTensor::T() const 00038 { 00039 return dimensionedSphericalTensor 00040 ( 00041 name()+".T()", 00042 dimensions(), 00043 value().T() 00044 ); 00045 } 00046 00047 00048 // * * * * * * * * * * * * * * * Friend Functions * * * * * * * * * * * * * // 00049 00050 dimensionedScalar tr(const dimensionedSphericalTensor& dt) 00051 { 00052 return dimensionedScalar 00053 ( 00054 "tr("+dt.name()+')', 00055 dt.dimensions(), 00056 tr(dt.value()) 00057 ); 00058 } 00059 00060 00061 dimensionedScalar det(const dimensionedSphericalTensor& dt) 00062 { 00063 return dimensionedScalar 00064 ( 00065 "det("+dt.name()+')', 00066 pow(dt.dimensions(), sphericalTensor::dim), 00067 det(dt.value()) 00068 ); 00069 } 00070 00071 00072 dimensionedSphericalTensor inv(const dimensionedSphericalTensor& dt) 00073 { 00074 return dimensionedSphericalTensor 00075 ( 00076 "inv("+dt.name()+')', 00077 dimless/dt.dimensions(), 00078 inv(dt.value()) 00079 ); 00080 } 00081 00082 00083 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00084 00085 } // End namespace Foam 00086 00087 // ************************ vim: set sw=4 sts=4 et: ************************ //