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

bcond.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 // 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

 Webmaster