Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

block.h

Go to the documentation of this file.
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

 Webmaster