54 XLO, YLO, ZLO, XHI, YHI, ZHI,
159 std::map<std::string, int> bcmap;
160 bcmap[
"BOGUS_BC"] = amrex::BCType::mathematicalBndryTypes::bogus;
161 bcmap[
"INT_DIR"] = amrex::BCType::mathematicalBndryTypes::int_dir;
162 bcmap[
"REFLECT_ODD"] = amrex::BCType::mathematicalBndryTypes::reflect_odd;
163 bcmap[
"INT_DIR"] = amrex::BCType::mathematicalBndryTypes::int_dir;
164 bcmap[
"REFLECT_EVEN"] = amrex::BCType::mathematicalBndryTypes::reflect_even;
165 bcmap[
"FOEXTRAP"] = amrex::BCType::mathematicalBndryTypes::foextrap;
166 bcmap[
"EXT_DIR"] = amrex::BCType::mathematicalBndryTypes::ext_dir;
167 bcmap[
"HOEXTRAP"] = amrex::BCType::mathematicalBndryTypes::hoextrap;
168 bcmap[
"Interior"] = amrex::BCType::mathematicalBndryTypes::int_dir;
169 bcmap[
"Inflow"] = amrex::BCType::mathematicalBndryTypes::ext_dir;
170 bcmap[
"Outflow"] = amrex::BCType::mathematicalBndryTypes::foextrap;
171 bcmap[
"Symmetry"] = amrex::BCType::mathematicalBndryTypes::reflect_even;
172 bcmap[
"SlipWall"] = amrex::BCType::mathematicalBndryTypes::ext_dir;
173 bcmap[
"NoSlipWall"] = amrex::BCType::mathematicalBndryTypes::ext_dir;
175 bcmap[
"interior"] = (int)amrex::LinOpBCType::interior;
176 bcmap[
"Dirichlet"] = (int)amrex::LinOpBCType::Dirichlet;
177 bcmap[
"dirichlet"] = (int)amrex::LinOpBCType::Dirichlet;
178 bcmap[
"Neumann"] = (int)amrex::LinOpBCType::Neumann;
179 bcmap[
"NEUMANN"] = (int)amrex::LinOpBCType::Neumann;
180 bcmap[
"neumann"] = (int)amrex::LinOpBCType::Neumann;
181 bcmap[
"reflect_odd"] = (int)amrex::LinOpBCType::reflect_odd;
182 bcmap[
"Marshak"] = (int)amrex::LinOpBCType::Marshak;
183 bcmap[
"SanchezPomraning"] = (int)amrex::LinOpBCType::SanchezPomraning;
184 bcmap[
"inflow"] = (int)amrex::LinOpBCType::inflow;
185 bcmap[
"Periodic"] = (int)amrex::LinOpBCType::Periodic;
186 bcmap[
"periodic"] = (int)amrex::LinOpBCType::Periodic;
194#if AMREX_SPACEDIM == 3
201 std::vector<std::string> str;
203 for (
unsigned int i = 0; i < str.size(); i++)
if (!bcmap.count(str[i]))
Util::Exception(
INFO,
"Invalid BC: ", str[i]);
204 if (str.size() == value.
m_ncomp)
for (
unsigned int i = 0; i < value.
m_ncomp; i++) value.
m_bc_type[Face::XLO].push_back(bcmap[str[i]]);
205 else if (str.size() == 1) value.
m_bc_type[Face::XLO].resize(value.
m_ncomp, bcmap[str[0]]);
208 for (
unsigned int i = 0; i < str.size(); i++)
if (!bcmap.count(str[i]))
Util::Exception(
INFO,
"Invalid BC: ", str[i]);
209 if (str.size() == value.
m_ncomp)
for (
unsigned int i = 0; i < value.
m_ncomp; i++) value.
m_bc_type[Face::XHI].push_back(bcmap[str[i]]);
210 else if (str.size() == 1) value.
m_bc_type[Face::XHI].resize(value.
m_ncomp, bcmap[str[0]]);
213 for (
unsigned int i = 0; i < str.size(); i++)
if (!bcmap.count(str[i]))
Util::Exception(
INFO,
"Invalid BC: ", str[i]);
214 if (str.size() == value.
m_ncomp)
for (
unsigned int i = 0; i < value.
m_ncomp; i++) value.
m_bc_type[Face::YLO].push_back(bcmap[str[i]]);
215 else if (str.size() == 1) value.
m_bc_type[Face::YLO].resize(value.
m_ncomp, bcmap[str[0]]);
218 for (
unsigned int i = 0; i < str.size(); i++)
if (!bcmap.count(str[i]))
Util::Exception(
INFO,
"Invalid BC: ", str[i]);
219 if (str.size() == value.
m_ncomp)
for (
unsigned int i = 0; i < value.
m_ncomp; i++) value.
m_bc_type[Face::YHI].push_back(bcmap[str[i]]);
220 else if (str.size() == 1) value.
m_bc_type[Face::YHI].resize(value.
m_ncomp, bcmap[str[0]]);
224 for (
unsigned int i = 0; i < str.size(); i++)
if (!bcmap.count(str[i]))
Util::Exception(
INFO,
"Invalid BC: ", str[i]);
225 if (str.size() == value.
m_ncomp)
for (
unsigned int i = 0; i < value.
m_ncomp; i++) value.
m_bc_type[Face::ZLO].push_back(bcmap[str[i]]);
226 else if (str.size() == 1) value.
m_bc_type[Face::ZLO].resize(value.
m_ncomp, bcmap[str[0]]);
231 for (
unsigned int i = 0; i < str.size(); i++)
if (!bcmap.count(str[i]))
Util::Exception(
INFO,
"Invalid BC: ", str[i]);
232 if (str.size() == value.
m_ncomp)
for (
unsigned int i = 0; i < value.
m_ncomp; i++) value.
m_bc_type[Face::ZHI].push_back(bcmap[str[i]]);
233 else if (str.size() == 1) value.
m_bc_type[Face::ZHI].resize(value.
m_ncomp, bcmap[str[0]]);
238 std::vector<std::string> val;
241 if (val.size() == value.
m_ncomp)
242 for (
unsigned int i = 0; i < value.
m_ncomp; i++)
244 else if (val.size() == 1)
246 else if (val.size() == 0)
253 else if (val.size() == 0) value.
m_bc_val[Face::XHI].resize(value.
m_ncomp, 0.0);
259 else if (val.size() == 0) value.
m_bc_val[Face::YLO].resize(value.
m_ncomp, 0.0);
265 else if (val.size() == 0) value.
m_bc_val[Face::YHI].resize(value.
m_ncomp, 0.0);
272 else if (val.size() == 0) value.
m_bc_val[Face::ZLO].resize(value.
m_ncomp, 0.0);
280 else if (val.size() == 0) value.
m_bc_val[Face::ZHI].resize(value.
m_ncomp, 0.0);