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

HOExtrapBC.H

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

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