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 // File Define 00028 #ifndef __CSFL_MATH_BCOND_BCOND_H__ 00029 #define __CSFL_MATH_BCOND_BCOND_H__ 00030 00031 00032 // Include 00033 #include <csfl/sys/container/bcond.h> 00034 #include <csfl/math/bcond/bctype.h> 00035 #include <csfl/geom/grid/grid.h> 00036 #include <csfl/sys/core/string.h> 00037 00038 00039 // Namespace 00040 namespace csfl { 00041 00042 //============================================================================== 00043 // Class IBCond 00044 // Description: base class for Boundary Conditions 00045 //============================================================================== 00046 00047 class IBCond : 00048 virtual public ISFLObject 00049 00054 00055 { 00056 00057 public: 00063 IBCond( 00064 IBCType *_bctype = NULL, 00065 IGrid *_grid = NULL, 00066 const IPoint &_start = IPoint::zero, 00067 const IPoint &_end = IPoint::zero ); 00068 00075 IBCond( 00076 IBCType *_bctype, 00077 int _ni, int _nj, 00078 const IPoint &_start, 00079 const IPoint &_end ); 00080 00082 IBCond( IBCond *_b ); 00083 00084 ~IBCond(); 00085 00090 IBCType * BCType() { return bctype; } 00091 00095 TBCType GetBCType(); 00096 00103 IPoint Start() const { return start; } 00104 00110 void SetStart( IPoint &_p ) { start = _p; } 00111 00118 IPoint End() const { return end; } 00119 00126 void SetEnd( IPoint &_p ) { end = _p; } 00127 00129 int Ni() { return ni; } 00130 00132 int Nj() { return nj; } 00133 00137 virtual bool ValidatePoint( const IPoint & ) const 00138 { return false; } 00139 00141 TDirection Direction() { return direction; } 00142 00143 protected: 00144 IBCType *bctype; 00145 int ni, nj; 00146 IPoint start; 00147 IPoint end; 00148 00149 TDirection direction; 00150 00151 virtual bool Validate() const { return false; } 00152 }; 00153 } // csfl namespace 00154 00155 #endif// __CSFL_MATH_BCOND_BCOND_H__ 00156 00157 00158
CFD Project
|
Documents |
Downloads |
Contact us |
Use Terms |
|
|||
© SINMEC/EMC/UFSC,
2001. |
All rights
reserved. |
Last Update: Jan. 18, 2002 |
|