00001 /* 00002 * Copyright (c) 2001 The AUTHORS 00003 * Romeu Andre' Pieritz, Ph.D. - romeu_pieritz@hotmail.com 00004 * Rafael Mendes, Eng. – mendes_rafael@yahoo.com 00005 * Rodrigo Ferraz de Andrade, Eng. – rferraz@iname.com 00006 * All rights reserved. 00007 * 00008 * Permission to use, copy and distribute this software and its 00009 * documentation for educational and personal use, without fee is hereby granted, 00010 * provided that the above copyright notice and the following 00011 * two paragraphs appear in all copies of this software. 00012 * 00013 * IN NO EVENT SHALL THE AUTHORS BE LIABLE TO ANY PARTY FOR 00014 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT 00015 * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE AUTHORS 00016 * HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00017 * 00018 * THE AUTHORS SPECIFICALLY DISCLAIMS ANY WARRANTIES, 00019 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY 00020 * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HERE UNDER IS 00021 * ON AN "AS IS" BASIS, AND THE AUTHORS HAVE NO OBLIGATION TO 00022 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 00023 * 00024 * SINMEC Lab. - CFD Sinflow Project - http://www.sinmec.ufsc.br/cfd 00025 */ 00026 00027 00028 // File Define 00029 #ifndef __CSFL_MATH_EQUATION_EQPARAM_BLOCK_H__ 00030 #define __CSFL_MATH_EQUATION_EQPARAM_BLOCK_H__ 00031 00032 00033 // Include 00034 #include <csfl/geom/metric/metric.h> 00035 00036 00037 // Include 00038 #include <csfl/math/equation/eqparam/eqparam.h> 00039 00040 00041 // Namespace 00042 namespace csfl { 00043 00044 //============================================================================== 00045 // enum TSolidBlockType: Solid Block Type 00046 //============================================================================== 00047 typedef 00048 enum _TSolidBlockType { 00049 sbtConstantT, 00050 sbtGradientT 00051 } 00052 TSolidBlockType ; 00053 00054 //============================================================================== 00055 // Class ISolidBlock 00056 // Description: Class for Solid Blocks in the Domain 00057 //============================================================================== 00058 class ISolidBlock : 00059 public IParameter 00060 00067 00068 { 00069 00070 public: 00077 ISolidBlock( const IPoint &_start = IPoint::zero, const IPoint &_end = IPoint::zero, 00078 double _k = 1.0, double _rho = 1.0, double _cp = 1.0, double _temp = 1.0, 00079 double _mi = 1.0e+20, 00080 TSolidBlockType _sbtype = sbtConstantT, 00081 const IString & _label = IString( "Solid Block" )); 00082 ISolidBlock( ISolidBlock *_b ); 00083 ~ISolidBlock(){} 00084 00086 double K() { return k; } 00087 void SetK( double _v ) { k = _v; } 00088 00090 double Rho() { return rho; } 00091 void SetRho( double _v ) { rho = _v; } 00092 00094 double Cp() { return cp; } 00095 void SetCp( double _v ) { cp = _v; } 00096 00098 double Mi() { return mi; } 00099 void SetMi( double _v ) { mi = _v; } 00100 00102 double Temperature() { return temp; } 00103 void SetTemperature( double _v ) { temp = _v; } 00104 00106 TSolidBlockType SBType() { return sbtype; } 00107 void SetSBType( TSolidBlockType _t ) { sbtype = _t; } 00108 00113 bool ValidatePoint( const IPoint & = IPoint::zero ); 00114 00116 IPoint Start() { return start; } 00117 void SetStart( IPoint _p ) { start = _p; } 00118 00120 IPoint End() { return end; } 00121 void SetEnd( IPoint _p ) { end = _p; } 00122 00123 protected: 00124 IPoint start, end; 00125 TSolidBlockType sbtype; 00126 double k, rho, cp, temp, mi; 00127 }; 00128 } // csfl namespace 00129 00130 #endif// __CSFL_MATH_EQUATION_EQPARAM_BLOCK_H__ 00131
CFD Project
|
Documents |
Downloads |
Contact us |
Use Terms |
|
|||
© SINMEC/EMC/UFSC,
2001. |
All rights
reserved. |
Last Update: Jan. 18, 2002 |
|