OpenFOAM logo
Open Source CFD Toolkit

tensorFieldField.H

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------------*\
00002   =========                 |
00003   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
00004    \\    /   O peration     |
00005     \\  /    A nd           | Copyright (C) 1991-2005 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 the
00013     Free Software Foundation; either version 2 of the License, or (at your
00014     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, write to the Free Software Foundation,
00023     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
00024 
00025 Class
00026     tensorFieldField
00027 
00028 Description
00029     Specialisation of FieldField<T> for tensor.
00030 
00031 SourceFiles
00032     tensorFieldField.C
00033 
00034 \*---------------------------------------------------------------------------*/
00035 
00036 #ifndef tensorFieldField_H
00037 #define tensorFieldField_H
00038 
00039 #include "FieldField.H"
00040 #include "tensor.H"
00041 
00042 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00043 
00044 namespace Foam
00045 {
00046 
00047 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00048 
00049 template<template<class> class Field>
00050 void hdual
00051 (
00052     FieldField<Field, vector>&,
00053     const FieldField<Field, tensor>&
00054 );
00055 
00056 template<template<class> class Field>
00057 tmp<FieldField<Field, vector> > operator*
00058 (
00059     const tmp<FieldField<Field, tensor> >&
00060 );
00061 
00062 template<template<class> class Field>
00063 void hdual
00064 (
00065     FieldField<Field, tensor>&,
00066     const FieldField<Field, vector>&
00067 );
00068 
00069 template<template<class> class Field>
00070 tmp<FieldField<Field, tensor> > operator*
00071 (
00072     const tmp<FieldField<Field, vector> >&
00073 );
00074 
00075 template<template<class> class Field>
00076 void tr(FieldField<Field, scalar>&, const FieldField<Field, tensor>&);
00077 
00078 template<template<class> class Field>
00079 tmp<FieldField<Field, scalar> > tr(const tmp<FieldField<Field, tensor> >&);
00080 
00081 template<template<class> class Field>
00082 void dev(FieldField<Field, tensor>&, const FieldField<Field, tensor>&);
00083 
00084 template<template<class> class Field>
00085 tmp<FieldField<Field, tensor> > dev(const FieldField<Field, tensor>&);
00086 
00087 template<template<class> class Field>
00088 tmp<FieldField<Field, tensor> > dev(const tmp<FieldField<Field, tensor> >&);
00089 
00090 template<template<class> class Field>
00091 void dev2(FieldField<Field, tensor>&, const FieldField<Field, tensor>&);
00092 
00093 template<template<class> class Field>
00094 tmp<FieldField<Field, tensor> > dev2(const FieldField<Field, tensor>&);
00095 
00096 template<template<class> class Field>
00097 tmp<FieldField<Field, tensor> > dev2(const tmp<FieldField<Field, tensor> >&);
00098 
00099 template<template<class> class Field>
00100 void det(FieldField<Field, scalar>&, const FieldField<Field, tensor>&);
00101 
00102 template<template<class> class Field>
00103 tmp<FieldField<Field, scalar> > det(const tmp<FieldField<Field, tensor> >&);
00104 
00105 template<template<class> class Field>
00106 void inv(FieldField<Field, tensor>&, const FieldField<Field, tensor>&);
00107 
00108 template<template<class> class Field>
00109 tmp<FieldField<Field, tensor> > inv(const FieldField<Field, tensor>&);
00110 
00111 template<template<class> class Field>
00112 tmp<FieldField<Field, tensor> > inv(const tmp<FieldField<Field, tensor> >&);
00113 
00114 template<template<class> class Field>
00115 void hinv(FieldField<Field, tensor>&, const FieldField<Field, tensor>&);
00116 
00117 template<template<class> class Field>
00118 tmp<FieldField<Field, tensor> > hinv(const FieldField<Field, tensor>&);
00119 
00120 template<template<class> class Field>
00121 tmp<FieldField<Field, tensor> > hinv(const tmp<FieldField<Field, tensor> >&);
00122 
00123 template<template<class> class Field>
00124 void symm(FieldField<Field, tensor>&, const FieldField<Field, tensor>&);
00125 
00126 template<template<class> class Field>
00127 tmp<FieldField<Field, tensor> > symm(const FieldField<Field, tensor>&);
00128 
00129 template<template<class> class Field>
00130 tmp<FieldField<Field, tensor> > symm(const tmp<FieldField<Field, tensor> >&);
00131 
00132 template<template<class> class Field>
00133 void skew(FieldField<Field, tensor>&, const FieldField<Field, tensor>&);
00134 
00135 template<template<class> class Field>
00136 tmp<FieldField<Field, tensor> > skew(const FieldField<Field, tensor>&);
00137 
00138 template<template<class> class Field>
00139 tmp<FieldField<Field, tensor> > skew(const tmp<FieldField<Field, tensor> >&);
00140 
00141 template<template<class> class Field>
00142 void eigenValues(FieldField<Field, vector>&, const FieldField<Field, tensor>&);
00143 
00144 template<template<class> class Field>
00145 tmp<FieldField<Field, vector> > eigenValues
00146 (
00147     const tmp<FieldField<Field, tensor> >&
00148 );
00149 
00150 template<template<class> class Field>
00151 void eigenVectors
00152 (
00153     FieldField<Field, tensor>&,
00154     const FieldField<Field, tensor>&
00155 );
00156 
00157 template<template<class> class Field>
00158 tmp<FieldField<Field, tensor> > eigenVectors
00159 (
00160     const FieldField<Field, tensor>&
00161 );
00162 
00163 template<template<class> class Field>
00164 tmp<FieldField<Field, tensor> > eigenVectors
00165 (
00166     const tmp<FieldField<Field, tensor> >&
00167 );
00168 
00169 
00170 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00171 
00172 } // End namespace Foam
00173 
00174 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00175 
00176 #ifdef NoRepository
00177 #   include "tensorFieldField.C"
00178 #endif
00179 
00180 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00181 
00182 #endif
00183 
00184 // ************************************************************************* //
For further information go to www.openfoam.org