663 0,AMREX_SPACEDIM>
const& bct,
666 0,AMREX_SPACEDIM>
const& bcl,
667 int inhomog,
int maxorder,
669 Dim3 const& dlo,
Dim3 const& dhi)
noexcept
674 bool xlo_domain = (vlo.x == dlo.x);
675 bool ylo_domain = (vlo.y == dlo.y);
676 bool zlo_domain = (vlo.z == dlo.z);
677 bool xhi_domain = (vhi.x == dhi.x);
678 bool yhi_domain = (vhi.y == dhi.y);
679 bool zhi_domain = (vhi.z == dhi.z);
681 for (
int icomp = 0; icomp < AMREX_SPACEDIM; ++icomp) {
689 (!xlo_domain || !ylo_domain || !zlo_domain)) {
696 if ((x_interior && y_interior && z_interior) ||
697 (x_exterior && y_exterior && z_exterior)) {
701 bcvalxlo, maxorder, dxinv[0], inhomog, icomp);
702 Real tmp = vel(i,j,k,icomp);
706 bcvalylo, maxorder, dxinv[1], inhomog, icomp);
707 tmp += vel(i,j,k,icomp);
711 bcvalzlo, maxorder, dxinv[2], inhomog, icomp);
712 vel(i,j,k,icomp) = Real(1./3.)*(tmp+vel(i,j,k,icomp));
713 }
else if (x_interior && y_interior) {
717 bcvalxlo, maxorder, dxinv[0], inhomog, icomp);
718 Real tmp = vel(i,j,k,icomp);
722 bcvalylo, maxorder, dxinv[1], inhomog, icomp);
723 vel(i,j,k,icomp) = 0.5_rt*(tmp+vel(i,j,k,icomp));
724 }
else if (x_interior && z_interior) {
728 bcvalxlo, maxorder, dxinv[0], inhomog, icomp);
729 Real tmp = vel(i,j,k,icomp);
733 bcvalzlo, maxorder, dxinv[2], inhomog, icomp);
734 vel(i,j,k,icomp) = 0.5_rt*(tmp+vel(i,j,k,icomp));
735 }
else if (y_interior && z_interior) {
739 bcvalylo, maxorder, dxinv[1], inhomog, icomp);
740 Real tmp = vel(i,j,k,icomp);
744 bcvalzlo, maxorder, dxinv[2], inhomog, icomp);
745 vel(i,j,k,icomp) = 0.5_rt*(tmp+vel(i,j,k,icomp));
746 }
else if (x_interior) {
750 bcvalxlo, maxorder, dxinv[0], inhomog, icomp);
751 }
else if (y_interior) {
755 bcvalylo, maxorder, dxinv[1], inhomog, icomp);
756 }
else if (z_interior) {
760 bcvalzlo, maxorder, dxinv[2], inhomog, icomp);
777 (!xhi_domain || !ylo_domain || !zlo_domain)) {
778 if ((x_interior && y_interior && z_interior) ||
779 (x_exterior && y_exterior && z_exterior)) {
783 bcvalxhi, maxorder, dxinv[0], inhomog, icomp);
784 Real tmp = vel(i,j,k,icomp);
788 bcvalylo, maxorder, dxinv[1], inhomog, icomp);
789 tmp += vel(i,j,k,icomp);
793 bcvalzlo, maxorder, dxinv[2], inhomog, icomp);
794 vel(i,j,k,icomp) = Real(1./3.)*(tmp+vel(i,j,k,icomp));
795 }
else if (x_interior && y_interior) {
799 bcvalxhi, maxorder, dxinv[0], inhomog, icomp);
800 Real tmp = vel(i,j,k,icomp);
804 bcvalylo, maxorder, dxinv[1], inhomog, icomp);
805 vel(i,j,k,icomp) = 0.5_rt*(tmp+vel(i,j,k,icomp));
806 }
else if (x_interior && z_interior) {
810 bcvalxhi, maxorder, dxinv[0], inhomog, icomp);
811 Real tmp = vel(i,j,k,icomp);
815 bcvalzlo, maxorder, dxinv[2], inhomog, icomp);
816 vel(i,j,k,icomp) = 0.5_rt*(tmp+vel(i,j,k,icomp));
817 }
else if (y_interior && z_interior) {
821 bcvalylo, maxorder, dxinv[1], inhomog, icomp);
822 Real tmp = vel(i,j,k,icomp);
826 bcvalzlo, maxorder, dxinv[2], inhomog, icomp);
827 vel(i,j,k,icomp) = 0.5_rt*(tmp+vel(i,j,k,icomp));
828 }
else if (x_interior) {
832 bcvalxhi, maxorder, dxinv[0], inhomog, icomp);
833 }
else if (y_interior) {
837 bcvalylo, maxorder, dxinv[1], inhomog, icomp);
838 }
else if (z_interior) {
842 bcvalzlo, maxorder, dxinv[2], inhomog, icomp);
859 (!xlo_domain || !yhi_domain || !zlo_domain)) {
860 if ((x_interior && y_interior && z_interior) ||
861 (x_exterior && y_exterior && z_exterior)) {
865 bcvalxlo, maxorder, dxinv[0], inhomog, icomp);
866 Real tmp = vel(i,j,k,icomp);
870 bcvalyhi, maxorder, dxinv[1], inhomog, icomp);
871 tmp += vel(i,j,k,icomp);
875 bcvalzlo, maxorder, dxinv[2], inhomog, icomp);
876 vel(i,j,k,icomp) = Real(1./3.)*(tmp+vel(i,j,k,icomp));
877 }
else if (x_interior && y_interior) {
881 bcvalxlo, maxorder, dxinv[0], inhomog, icomp);
882 Real tmp = vel(i,j,k,icomp);
886 bcvalyhi, maxorder, dxinv[1], inhomog, icomp);
887 vel(i,j,k,icomp) = 0.5_rt*(tmp+vel(i,j,k,icomp));
888 }
else if (x_interior && z_interior) {
892 bcvalxlo, maxorder, dxinv[0], inhomog, icomp);
893 Real tmp = vel(i,j,k,icomp);
897 bcvalzlo, maxorder, dxinv[2], inhomog, icomp);
898 vel(i,j,k,icomp) = 0.5_rt*(tmp+vel(i,j,k,icomp));
899 }
else if (y_interior && z_interior) {
903 bcvalyhi, maxorder, dxinv[1], inhomog, icomp);
904 Real tmp = vel(i,j,k,icomp);
908 bcvalzlo, maxorder, dxinv[2], inhomog, icomp);
909 vel(i,j,k,icomp) = 0.5_rt*(tmp+vel(i,j,k,icomp));
910 }
else if (x_interior) {
914 bcvalxlo, maxorder, dxinv[0], inhomog, icomp);
915 }
else if (y_interior) {
919 bcvalyhi, maxorder, dxinv[1], inhomog, icomp);
920 }
else if (z_interior) {
924 bcvalzlo, maxorder, dxinv[2], inhomog, icomp);
941 (!xhi_domain || !yhi_domain || !zlo_domain)) {
942 if ((x_interior && y_interior && z_interior) ||
943 (x_exterior && y_exterior && z_exterior)) {
947 bcvalxhi, maxorder, dxinv[0], inhomog, icomp);
948 Real tmp = vel(i,j,k,icomp);
952 bcvalyhi, maxorder, dxinv[1], inhomog, icomp);
953 tmp += vel(i,j,k,icomp);
957 bcvalzlo, maxorder, dxinv[2], inhomog, icomp);
958 vel(i,j,k,icomp) = Real(1./3.)*(tmp+vel(i,j,k,icomp));
959 }
else if (x_interior && y_interior) {
963 bcvalxhi, maxorder, dxinv[0], inhomog, icomp);
964 Real tmp = vel(i,j,k,icomp);
968 bcvalyhi, maxorder, dxinv[1], inhomog, icomp);
969 vel(i,j,k,icomp) = 0.5_rt*(tmp+vel(i,j,k,icomp));
970 }
else if (x_interior && z_interior) {
974 bcvalxhi, maxorder, dxinv[0], inhomog, icomp);
975 Real tmp = vel(i,j,k,icomp);
979 bcvalzlo, maxorder, dxinv[2], inhomog, icomp);
980 vel(i,j,k,icomp) = 0.5_rt*(tmp+vel(i,j,k,icomp));
981 }
else if (y_interior && z_interior) {
985 bcvalyhi, maxorder, dxinv[1], inhomog, icomp);
986 Real tmp = vel(i,j,k,icomp);
990 bcvalzlo, maxorder, dxinv[2], inhomog, icomp);
991 vel(i,j,k,icomp) = 0.5_rt*(tmp+vel(i,j,k,icomp));
992 }
else if (x_interior) {
996 bcvalxhi, maxorder, dxinv[0], inhomog, icomp);
997 }
else if (y_interior) {
1001 bcvalyhi, maxorder, dxinv[1], inhomog, icomp);
1002 }
else if (z_interior) {
1006 bcvalzlo, maxorder, dxinv[2], inhomog, icomp);
1023 (!xlo_domain || !ylo_domain || !zhi_domain)) {
1024 if ((x_interior && y_interior && z_interior) ||
1025 (x_exterior && y_exterior && z_exterior)) {
1029 bcvalxlo, maxorder, dxinv[0], inhomog, icomp);
1030 Real tmp = vel(i,j,k,icomp);
1034 bcvalylo, maxorder, dxinv[1], inhomog, icomp);
1035 tmp += vel(i,j,k,icomp);
1039 bcvalzhi, maxorder, dxinv[2], inhomog, icomp);
1040 vel(i,j,k,icomp) = Real(1./3.)*(tmp+vel(i,j,k,icomp));
1041 }
else if (x_interior && y_interior) {
1045 bcvalxlo, maxorder, dxinv[0], inhomog, icomp);
1046 Real tmp = vel(i,j,k,icomp);
1050 bcvalylo, maxorder, dxinv[1], inhomog, icomp);
1051 vel(i,j,k,icomp) = 0.5_rt*(tmp+vel(i,j,k,icomp));
1052 }
else if (x_interior && z_interior) {
1056 bcvalxlo, maxorder, dxinv[0], inhomog, icomp);
1057 Real tmp = vel(i,j,k,icomp);
1061 bcvalzhi, maxorder, dxinv[2], inhomog, icomp);
1062 vel(i,j,k,icomp) = 0.5_rt*(tmp+vel(i,j,k,icomp));
1063 }
else if (y_interior && z_interior) {
1067 bcvalylo, maxorder, dxinv[1], inhomog, icomp);
1068 Real tmp = vel(i,j,k,icomp);
1072 bcvalzhi, maxorder, dxinv[2], inhomog, icomp);
1073 vel(i,j,k,icomp) = 0.5_rt*(tmp+vel(i,j,k,icomp));
1074 }
else if (x_interior) {
1078 bcvalxlo, maxorder, dxinv[0], inhomog, icomp);
1079 }
else if (y_interior) {
1083 bcvalylo, maxorder, dxinv[1], inhomog, icomp);
1084 }
else if (z_interior) {
1088 bcvalzhi, maxorder, dxinv[2], inhomog, icomp);
1105 (!xhi_domain || !ylo_domain || !zhi_domain)) {
1106 if ((x_interior && y_interior && z_interior) ||
1107 (x_exterior && y_exterior && z_exterior)) {
1111 bcvalxhi, maxorder, dxinv[0], inhomog, icomp);
1112 Real tmp = vel(i,j,k,icomp);
1116 bcvalylo, maxorder, dxinv[1], inhomog, icomp);
1117 tmp += vel(i,j,k,icomp);
1121 bcvalzhi, maxorder, dxinv[2], inhomog, icomp);
1122 vel(i,j,k,icomp) = Real(1./3.)*(tmp+vel(i,j,k,icomp));
1123 }
else if (x_interior && y_interior) {
1127 bcvalxhi, maxorder, dxinv[0], inhomog, icomp);
1128 Real tmp = vel(i,j,k,icomp);
1132 bcvalylo, maxorder, dxinv[1], inhomog, icomp);
1133 vel(i,j,k,icomp) = 0.5_rt*(tmp+vel(i,j,k,icomp));
1134 }
else if (x_interior && z_interior) {
1138 bcvalxhi, maxorder, dxinv[0], inhomog, icomp);
1139 Real tmp = vel(i,j,k,icomp);
1143 bcvalzhi, maxorder, dxinv[2], inhomog, icomp);
1144 vel(i,j,k,icomp) = 0.5_rt*(tmp+vel(i,j,k,icomp));
1145 }
else if (y_interior && z_interior) {
1149 bcvalylo, maxorder, dxinv[1], inhomog, icomp);
1150 Real tmp = vel(i,j,k,icomp);
1154 bcvalzhi, maxorder, dxinv[2], inhomog, icomp);
1155 vel(i,j,k,icomp) = 0.5_rt*(tmp+vel(i,j,k,icomp));
1156 }
else if (x_interior) {
1160 bcvalxhi, maxorder, dxinv[0], inhomog, icomp);
1161 }
else if (y_interior) {
1165 bcvalylo, maxorder, dxinv[1], inhomog, icomp);
1166 }
else if (z_interior) {
1170 bcvalzhi, maxorder, dxinv[2], inhomog, icomp);
1187 (!xlo_domain || !yhi_domain || !zhi_domain)) {
1188 if ((x_interior && y_interior && z_interior) ||
1189 (x_exterior && y_exterior && z_exterior)) {
1193 bcvalxlo, maxorder, dxinv[0], inhomog, icomp);
1194 Real tmp = vel(i,j,k,icomp);
1198 bcvalyhi, maxorder, dxinv[1], inhomog, icomp);
1199 tmp += vel(i,j,k,icomp);
1203 bcvalzhi, maxorder, dxinv[2], inhomog, icomp);
1204 vel(i,j,k,icomp) = Real(1./3.)*(tmp+vel(i,j,k,icomp));
1205 }
else if (x_interior && y_interior) {
1209 bcvalxlo, maxorder, dxinv[0], inhomog, icomp);
1210 Real tmp = vel(i,j,k,icomp);
1214 bcvalyhi, maxorder, dxinv[1], inhomog, icomp);
1215 vel(i,j,k,icomp) = 0.5_rt*(tmp+vel(i,j,k,icomp));
1216 }
else if (x_interior && z_interior) {
1220 bcvalxlo, maxorder, dxinv[0], inhomog, icomp);
1221 Real tmp = vel(i,j,k,icomp);
1225 bcvalzhi, maxorder, dxinv[2], inhomog, icomp);
1226 vel(i,j,k,icomp) = 0.5_rt*(tmp+vel(i,j,k,icomp));
1227 }
else if (y_interior && z_interior) {
1231 bcvalyhi, maxorder, dxinv[1], inhomog, icomp);
1232 Real tmp = vel(i,j,k,icomp);
1236 bcvalzhi, maxorder, dxinv[2], inhomog, icomp);
1237 vel(i,j,k,icomp) = 0.5_rt*(tmp+vel(i,j,k,icomp));
1238 }
else if (x_interior) {
1242 bcvalxlo, maxorder, dxinv[0], inhomog, icomp);
1243 }
else if (y_interior) {
1247 bcvalyhi, maxorder, dxinv[1], inhomog, icomp);
1248 }
else if (z_interior) {
1252 bcvalzhi, maxorder, dxinv[2], inhomog, icomp);
1269 (!xhi_domain || !yhi_domain || !zhi_domain)) {
1270 if ((x_interior && y_interior && z_interior) ||
1271 (x_exterior && y_exterior && z_exterior)) {
1275 bcvalxhi, maxorder, dxinv[0], inhomog, icomp);
1276 Real tmp = vel(i,j,k,icomp);
1280 bcvalyhi, maxorder, dxinv[1], inhomog, icomp);
1281 tmp += vel(i,j,k,icomp);
1285 bcvalzhi, maxorder, dxinv[2], inhomog, icomp);
1286 vel(i,j,k,icomp) = Real(1./3.)*(tmp+vel(i,j,k,icomp));
1287 }
else if (x_interior && y_interior) {
1291 bcvalxhi, maxorder, dxinv[0], inhomog, icomp);
1292 Real tmp = vel(i,j,k,icomp);
1296 bcvalyhi, maxorder, dxinv[1], inhomog, icomp);
1297 vel(i,j,k,icomp) = 0.5_rt*(tmp+vel(i,j,k,icomp));
1298 }
else if (x_interior && z_interior) {
1302 bcvalxhi, maxorder, dxinv[0], inhomog, icomp);
1303 Real tmp = vel(i,j,k,icomp);
1307 bcvalzhi, maxorder, dxinv[2], inhomog, icomp);
1308 vel(i,j,k,icomp) = 0.5_rt*(tmp+vel(i,j,k,icomp));
1309 }
else if (y_interior && z_interior) {
1313 bcvalyhi, maxorder, dxinv[1], inhomog, icomp);
1314 Real tmp = vel(i,j,k,icomp);
1318 bcvalzhi, maxorder, dxinv[2], inhomog, icomp);
1319 vel(i,j,k,icomp) = 0.5_rt*(tmp+vel(i,j,k,icomp));
1320 }
else if (x_interior) {
1324 bcvalxhi, maxorder, dxinv[0], inhomog, icomp);
1325 }
else if (y_interior) {
1329 bcvalyhi, maxorder, dxinv[1], inhomog, icomp);
1330 }
else if (z_interior) {
1334 bcvalzhi, maxorder, dxinv[2], inhomog, icomp);