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

ReflectOddBC.H

Go to the documentation of this file.
00001 /* _______              __
00002   / ___/ /  ___  __ _  / /  ___
00003  / /__/ _ \/ _ \/  ' \/ _ \/ _ \
00004  \___/_//_/\___/_/_/_/_.__/\___/ 
00005 */
00006 
00007 // ReflectOddBC.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 _ReflectOddBC_H_
00033 #define _ReflectOddBC_H_
00034 
00035 #include "GhostBC.H"
00036 
00037 
00039 class ReflectOddBC : public BoxGhostBC
00040 {
00041 public:
00043   friend class DomainGhostBC;
00044 
00046   ReflectOddBC();
00047 
00049   ~ReflectOddBC();
00050 
00052   ReflectOddBC(int dir, Side::LoHiSide sd, 
00053              const Interval& a_comps);
00054 
00056   ReflectOddBC(int dir, Side::LoHiSide sd);
00057              
00058   
00059 protected:
00060   
00062   virtual void applyHomogeneousBCs(FArrayBox& a_state,
00063                                    const Box& a_domain,
00064                                    Real a_dx) const;
00065 
00067   virtual void applyHomogeneousBCs(FArrayBox& a_state,
00068                                    const ProblemDomain& a_domain,
00069                                    Real a_dx) const;
00070   
00072   virtual void applyInhomogeneousBCs(FArrayBox& a_state,
00073                                      const Box& a_domain,
00074                                      Real a_dx) const;
00075 
00076 
00078   virtual void applyInhomogeneousBCs(FArrayBox& a_state,
00079                                      const ProblemDomain& a_domain,
00080                                      Real a_dx) const;
00081   
00083   virtual void applyReflectOddBCs(FArrayBox& a_state, 
00084                                   const ProblemDomain& a_domain,
00085                                   Real a_dx) const;
00086   
00087 
00089   virtual void fillBCValues(FArrayBox& a_neumfac,
00090                             FArrayBox& a_dircfac,
00091                             FArrayBox& a_inhmval,
00092                             Real a_dx, 
00093                             const Box& a_domain) const;
00094 
00095 
00097   virtual void fillBCValues(FArrayBox& a_neumfac,
00098                             FArrayBox& a_dircfac,
00099                             FArrayBox& a_inhmval,
00100                             Real a_dx, 
00101                             const ProblemDomain& a_domain) const;
00102   
00104   BoxGhostBC* new_boxghostbc() const;
00105   
00106 private:
00107   ReflectOddBC(const ReflectOddBC& extrapin) {;}
00108   void operator=(const ReflectOddBC& extrapin) {;}
00109   
00110 };
00111 
00112 
00113 
00114 
00115 #endif
00116 
00117 

Generated on Wed Jan 19 17:51:27 2005 for Chombo&INSwithParticles by doxygen1.2.16