26void SetXBCs (
const int i,
const int j,
const int k,
const int n,
30 const int bclo,
const int bchi,
31 const int domlo,
const int domhi,
32 const bool is_velocity )
34 using namespace amrex;
40 if ( (bclo == BCType::direction_dependent) && is_velocity &&
43 lo = s(domlo-1, j, k, n);
44 hi = s(domlo-1, j, k, n);
46 else if ( bclo == BCType::ext_dir ||
47 (bclo == BCType::direction_dependent && velp >=
amrex::Real(0.0)) )
49 lo = s(domlo-1,j,k,n);
54 if( n ==
XVEL && is_velocity ) hi=lo;
56 else if ( bclo == BCType::foextrap || bclo == BCType::hoextrap ||
57 (bclo == BCType::direction_dependent && velp <
amrex::Real(0.0)) )
60 }
else if (bclo == BCType::reflect_even)
73 else if (bclo == BCType::reflect_odd)
84 if ( (bchi == BCType::direction_dependent) && is_velocity &&
87 hi = s(domhi+1, j, k, n);
88 lo = s(domhi+1, j, k, n);
90 else if ( (bchi == BCType::ext_dir) ||
91 (bchi == BCType::direction_dependent && velm <=
amrex::Real(0.0)) )
93 hi = s(domhi+1,j,k,n) ;
94 if( n ==
XVEL && is_velocity ) lo=hi;
96 else if ( bchi == BCType::foextrap || bchi == BCType::hoextrap ||
97 (bchi== BCType::direction_dependent && velm >
amrex::Real(0.0)) )
101 else if (bchi == BCType::reflect_even)
109 if ( i == domhi+1 ) {
113 else if (bchi == BCType::reflect_odd)
115 if ( i == domhi+1 ) {
126void SetYBCs (
const int i,
const int j,
const int k,
const int n,
130 const int bclo,
const int bchi,
131 const int domlo,
const int domhi,
132 const bool is_velocity )
134 using namespace amrex;
140 if ( (bclo == BCType::direction_dependent) && is_velocity &&
143 lo = s(i, domlo-1, k, n);
144 hi = s(i, domlo-1, k, n);
146 else if ( bclo == BCType::ext_dir ||
147 (bclo == BCType::direction_dependent && velp >=
amrex::Real(0.0)) )
149 lo = s(i,domlo-1,k,n);
150 if ( n ==
YVEL && is_velocity ) hi = lo;
152 else if ( bclo == BCType::foextrap || bclo == BCType::hoextrap ||
153 (bclo == BCType::direction_dependent && velp <
amrex::Real(0.0)) )
157 else if (bclo == BCType::reflect_even)
169 else if(bclo == BCType::reflect_odd)
180 if ( (bchi == BCType::direction_dependent) && is_velocity &&
183 hi = s(i, domhi+1, k, n);
184 lo = s(i, domhi+1, k, n);
186 else if ( (bchi == BCType::ext_dir) ||
187 (bchi == BCType::direction_dependent && velm <=
amrex::Real(0.0)) )
189 hi = s(i,domhi+1,k,n);
190 if( n ==
YVEL && is_velocity ) lo = hi ;
192 else if ( bchi == BCType::foextrap || bchi == BCType::hoextrap ||
193 (bchi== BCType::direction_dependent && velm >
amrex::Real(0.0)) )
197 else if (bchi == BCType::reflect_even)
205 if ( j == domhi+1 ) {
209 else if (bchi == BCType::reflect_odd)
211 if ( j == domhi+1 ) {
240 lo = s(i, j, domlo-1, n);
241 hi = s(i, j, domlo-1, n);
280 hi = s(i, j, domhi+1, n);
281 lo = s(i, j, domhi+1, n);