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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00024 00025 Class 00026 LaEuScalarTemp 00027 00028 Description 00029 two way LaEu Scalar Exchange between DEM and CFD 00030 00031 \*---------------------------------------------------------------------------*/ 00032 00033 #ifndef LaEuScalarTemp_H 00034 #define LaEuScalarTemp_H 00035 00036 #include "forceModel.H" 00037 #include "regionModel.H" 00038 #include "averagingModel.H" 00039 00040 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00041 00042 namespace Foam 00043 { 00044 00045 /*---------------------------------------------------------------------------*\ 00046 Class LaEuScalarTemp Declaration 00047 \*---------------------------------------------------------------------------*/ 00048 00049 class LaEuScalarTemp 00050 : 00051 public forceModel 00052 { 00053 private: 00054 00055 dictionary propsDict_; 00056 00057 word tempFieldName_; 00058 00059 const volScalarField& tempField_; // ref to temperature field 00060 00061 word voidfractionFieldName_; 00062 00063 const volScalarField& voidfractionField_; // ref to voidfraction field 00064 00065 scalar maxSource_; // max (limited) value of src field 00066 00067 word velFieldName_; 00068 00069 const volVectorField& U_; 00070 00071 word partTempName_; 00072 00073 mutable double **partTemp_; // Lagrangian array 00074 00075 word partHeatFluxName_; 00076 00077 mutable double **partHeatFlux_; // Lagrangian array 00078 00079 scalar lambda_; // fluid thermal conductivity [W/(m*K)] 00080 00081 scalar Cp_; // specific heat capacity [W*s/(kg*K)] 00082 00083 word densityFieldName_; 00084 00085 const volScalarField& rho_; // ref to fluid density field 00086 00087 void allocateMyArrays() const; 00088 00089 public: 00090 00091 //- Runtime type information 00092 TypeName("LaEuScalarTemp"); 00093 00094 // Constructors 00095 00096 //- Construct from components 00097 LaEuScalarTemp 00098 ( 00099 const dictionary& dict, 00100 cfdemCloud& sm 00101 ); 00102 00103 // Destructor 00104 00105 ~LaEuScalarTemp(); 00106 00107 00108 // Member Functions 00109 void setForce 00110 ( 00111 double** const& mask, 00112 double**&, 00113 double**&, 00114 double**& 00115 ) const; 00116 00117 void manipulateScalarField(volScalarField&) const; 00118 }; 00119 00120 00121 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00122 00123 } // End namespace Foam 00124 00125 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00126 00127 #endif 00128 00129 // ************************************************************************* //