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

boxVelBC.H

Go to the documentation of this file.
00001 /* _______              __
00002   / ___/ /  ___  __ _  / /  ___
00003  / /__/ _ \/ _ \/  ' \/ _ \/ _ \
00004  \___/_//_/\___/_/_/_/_.__/\___/ 
00005 */
00006 
00007 // boxVelBC.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 _boxVelBC_H_
00033 #define _boxVelBC_H_
00034 
00035 #include "basicVelBC.H"
00036 #include "FluxBox.H"
00037 #include "ProblemDomain.H"
00038 
00040 class boxVelBC: public basicVelBC
00041 {
00042   
00043 public:
00044   
00046   boxVelBC(bool isViscous=false);
00047 
00049   virtual ~boxVelBC() {};
00050 
00052   virtual void setAllBCTypes();
00053 
00055   bool isViscous();
00056 
00058   void isViscous(bool a_isViscous);
00059 
00060 protected:
00062   bool m_isViscous;
00063 
00064 private:
00065 
00066 };
00067 
00068 
00070 class boxEdgeVelBC: public basicVelBC
00071 {
00072   
00073 public:
00074   
00076   boxEdgeVelBC(bool isViscous=false);
00077 
00079   virtual ~boxEdgeVelBC() {};
00080 
00082   virtual void setAllBCTypes();
00083 
00085   bool isViscous();
00086 
00088   void isViscous(bool a_isViscous);
00089 
00091   virtual void applyBCs(LevelData<FluxBox>& a_edgeStateMF,
00092                         const ProblemDomain& a_domain, 
00093                         const Real a_dx) const;
00094 
00096   virtual void applyBCs(LevelData<FluxBox>& a_edgeStateMF,
00097                         const Box& a_domain, const Real a_dx) const;
00098 
00099 
00101   virtual void applyBCs(FluxBox& a_edgeStateMF,
00102                         const ProblemDomain& a_domain, 
00103                         const Real a_dx) const;
00104 
00106   virtual void applyBCs(FluxBox& a_edgeStateMF,
00107                         const Box& a_domain, const Real a_dx) const;
00108   
00110   virtual void applyBCs(FArrayBox& a_state, 
00111                         const ProblemDomain& a_domain, 
00112                         const Real a_dx) const;
00113 
00114 
00116   virtual void applyBCs(FArrayBox& a_state, const Box& a_domain, 
00117                         const Real a_dx) const;
00118 
00120   virtual void applyBCs(FArrayBox& a_state, const ProblemDomain& a_domain,
00121                         const Real a_dx, int a_velComp) const;
00122 
00123 
00125   virtual void applyBCs(FArrayBox& a_state, const Box& a_domain,
00126                         const Real a_dx, int a_velComp) const;
00127 
00128 protected:
00130   bool m_isViscous;
00131 
00132 private:
00133 };
00134 
00135 #endif

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