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

scalarDirichletBC.H

Go to the documentation of this file.
00001 /* _______              __
00002   / ___/ /  ___  __ _  / /  ___
00003  / /__/ _ \/ _ \/  ' \/ _ \/ _ \
00004  \___/_//_/\___/_/_/_/_.__/\___/ 
00005 */
00006 
00007 // scalarDirichletBC.H
00008 
00009 //
00010 // This software is copyright (C) by the Lawrence Berkeley
00011 // National Laboratory.  Permission is granted to reproduce
00012 // this software for non-commercial purposes provided that
00013 // this notice is left intact.
00014 // 
00015 // It is acknowledged that the U.S. Government has rights to
00016 // this software under Contract DE-AC03-765F00098 between
00017 // the U.S.  Department of Energy and the University of
00018 // California.
00019 //
00020 // This software is provided as a professional and academic
00021 // contribution for joint exchange. Thus it is experimental,
00022 // is provided ``as is'', with no warranties of any kind
00023 // whatsoever, no support, no promise of updates, or printed
00024 // documentation. By using this software, you acknowledge
00025 // that the Lawrence Berkeley National Laboratory and
00026 // Regents of the University of California shall have no
00027 // liability with respect to the infringement of other
00028 // copyrights by any part of this software.
00029 //
00030 // Dan Martin, Fri, Jan 14, 2000
00031 
00032 #ifndef _scalarDirichletBC_H_
00033 #define _scalarDirichletBC_H_
00034 
00035 #include "Box.H"
00036 #include "FArrayBox.H"
00037 #include "Vector.H"
00038 #include "LoHiSide.H"
00039 #include "GhostBC.H"
00040 
00041 
00043 class scalarDirichletBC  : public BoxGhostBC
00044 {
00045 
00046 public:
00047   friend class DomainGhostBC;
00048 
00050   scalarDirichletBC(int dir, Side::LoHiSide sd);
00051   
00053   scalarDirichletBC(int dir, Side::LoHiSide sd, 
00054                     const Interval& a_comps);
00055 
00057   virtual ~scalarDirichletBC();
00058 
00060   scalarDirichletBC();
00061   
00063   void setVal(const Real a_bcVal);
00064 
00065 
00066 private:
00067   
00069   Real m_BCVal;
00070   
00072   virtual void
00073   fillBCValues(FArrayBox& a_neumfac,
00074                FArrayBox& a_dirfac,
00075                FArrayBox& a_inhmval,
00076                Real dx, 
00077                const ProblemDomain& a_domain) const;
00078   
00080   virtual void
00081   fillBCValues(FArrayBox& a_neumfac,
00082                FArrayBox& a_dirfac,
00083                FArrayBox& a_inhmval,
00084                Real dx, 
00085                const Box& a_domain) const;
00086 
00088   virtual BoxGhostBC* new_boxghostbc() const;
00089 
00090 private:
00091   scalarDirichletBC(const scalarDirichletBC& bcin) {;}
00092 
00093 };
00094 
00096 class scalarInflowBC : public BoxGhostBC
00097 {
00098 
00099 public: 
00100   friend class DomainGhostBC;
00101 
00103   scalarInflowBC();
00104 
00106   scalarInflowBC(int dir, Side::LoHiSide sd);
00107 
00109   scalarInflowBC(int dir, Side::LoHiSide sd,
00110                  const Interval& a_comps);
00111 
00112 
00114   virtual ~scalarInflowBC();
00115 
00117   void setScalarType(int a_scalType);
00118   
00120   int scalarType() const;
00121 
00123   void isHomogeneous(bool a_isHomogeneous);
00124   
00126   bool isHomogeneous() const;
00127 
00128 
00129 
00130 private:
00131 
00133   int m_scalType;
00134 
00136   bool m_isHomogeneous;
00137 
00139   virtual void 
00140   fillBCValues(FArrayBox& a_neumfac,
00141                FArrayBox& a_dirfac,
00142                FArrayBox& a_inhmval,
00143                Real dx,
00144                const ProblemDomain& a_domain) const;
00145 
00146 
00148   virtual void 
00149   fillBCValues(FArrayBox& a_neumfac,
00150                FArrayBox& a_dirfac,
00151                FArrayBox& a_inhmval,
00152                Real dx,
00153                const Box& a_domain) const;
00154 
00155 
00157   virtual BoxGhostBC* new_boxghostbc() const;
00158 
00159 
00160 };
00161 
00162 #endif
00163 
00164 

Generated on Wed Jun 2 13:53:35 2004 for Chombo&INSwithParticles by doxygen 1.3.2