00001 #ifdef CH_LANG_CC 00002 /* 00003 * _______ __ 00004 * / ___/ / ___ __ _ / / ___ 00005 * / /__/ _ \/ _ \/ V \/ _ \/ _ \ 00006 * \___/_//_/\___/_/_/_/_.__/\___/ 00007 * Please refer to Copyright.txt, in Chombo's root directory. 00008 */ 00009 #endif 00010 00011 #ifndef _EBELLIPTICLOHICENTER_H_ 00012 #define _EBELLIPTICLOHICENTER_H_ 00013 00014 #include "Box.H" 00015 #include "ProblemDomain.H" 00016 #include "NamespaceHeader.H" 00017 00018 /// 00019 /** 00020 This function is used when in direction a_dir a 3 point stencil of cell- 00021 centered data is being used to compute something at the cell center of the 00022 center cell of the stencil. The data for the stencil is valid in 00023 a_inputBox. It divides a_inputBox into a cell-centered box where the full 00024 stencil can be used, a_centerBox, and cell-centered boxes where 2 point 00025 stencils can be used, a_loBox and a_hiBox, based on the current problem 00026 domain, a_domain, and the stencil direction, a_dir. The union of these 2 00027 and 3 point stencel boxes is returned as a_entireBox. The 2 point stencil 00028 boxes are one wide, at most, and if they have been defined then the 00029 corresponding flag, a_hasLo or a_hasHi, is set to one, otherwise these 00030 flags are zero. All output boxes lie within a_resultBox and the domain. 00031 */ 00032 extern void ebEllipticLoHiCenter(Box& a_loBox, 00033 int& a_hasLo, 00034 Box& a_hiBox, 00035 int& a_hasHi, 00036 Box& a_centerBox, 00037 Box& a_entireBox, 00038 const Box& a_resultBox, 00039 const Box& a_inputBox, 00040 const ProblemDomain& a_domain, 00041 const int& a_dir); 00042 00043 /// 00044 /** 00045 This function is used when in direction a_dir a 2 point stencil of cell- 00046 centered data is being used to compute something at the cell face between 00047 the cell centers of the stencil. The data for the stencil is valid in 00048 a_inputBox. It uses a_inputBox to compute a box (face-centered in a_dir) 00049 where the full stencil can be used, a_centerBox, and boxes (face-centered 00050 in a_dir) where a 1 point stencil can be used, a_loBox and a_hiBox based 00051 on the current problem domain, a_domain, and the stencil direction, a_dir. 00052 The union of these 1 and 2 point stencel boxes is returned as a_entireBox 00053 (face-centered in a_dir). The 1 point stencil boxes are one wide, at most, 00054 and if they have been defined then the corresponding flag, a_hasLo or 00055 a_hasHi, is set to one, otherwise these flags are zero. All output boxes 00056 lie within a_resultBox and the domain. 00057 */ 00058 extern void ebEllipticLoHiCenterFace(Box& a_loBox, 00059 int& a_hasLo, 00060 Box& a_hiBox, 00061 int& a_hasHi, 00062 Box& a_centerBox, 00063 Box& a_entireBox, 00064 const Box& a_resultBox, 00065 const Box& a_inputBox, 00066 const ProblemDomain& a_domain, 00067 const int& a_dir); 00068 00069 extern void ebEllipticLoHiCenter(Vector<Box>& a_loBox, 00070 Vector<Box>& a_hiBox, 00071 Box& a_centerBox, 00072 Vector<Box>& a_overLap, 00073 const Box& a_dblBox, 00074 const ProblemDomain& a_domain); 00075 00076 #include "NamespaceFooter.H" 00077 #endif