diff options
Diffstat (limited to 'Source/Utils')
-rw-r--r-- | Source/Utils/RelativeCellPosition.cpp | 2 | ||||
-rw-r--r-- | Source/Utils/WarpXAlgorithmSelection.H | 8 | ||||
-rw-r--r-- | Source/Utils/WarpXAlgorithmSelection.cpp | 9 |
3 files changed, 18 insertions, 1 deletions
diff --git a/Source/Utils/RelativeCellPosition.cpp b/Source/Utils/RelativeCellPosition.cpp index 55e933af0..1a108b54b 100644 --- a/Source/Utils/RelativeCellPosition.cpp +++ b/Source/Utils/RelativeCellPosition.cpp @@ -19,7 +19,7 @@ utils::getRelativeCellPosition(amrex::MultiFab const& mf) // amrex::CellIndex::CELL means: 0.5 from lower corner for that index/direction // amrex::CellIndex::NODE means: at corner for that index/direction - // WarpX::do_nodal means: all indices/directions on CellIndex::NODE + // WarpX::grid_type==GridType::Collocated means: all indices/directions on CellIndex::NODE for (int d = 0; d < AMREX_SPACEDIM; d++) { if (idx_type.cellCentered(d)) diff --git a/Source/Utils/WarpXAlgorithmSelection.H b/Source/Utils/WarpXAlgorithmSelection.H index fe90cb196..d0d8678f5 100644 --- a/Source/Utils/WarpXAlgorithmSelection.H +++ b/Source/Utils/WarpXAlgorithmSelection.H @@ -36,6 +36,14 @@ struct MacroscopicSolverAlgo { }; }; +struct GridType { + enum { + Collocated = 0, + Staggered = 1, + Hybrid = 2 + }; +}; + struct ElectromagneticSolverAlgo { enum { None = 0, diff --git a/Source/Utils/WarpXAlgorithmSelection.cpp b/Source/Utils/WarpXAlgorithmSelection.cpp index d3b5f5e43..99c068fc0 100644 --- a/Source/Utils/WarpXAlgorithmSelection.cpp +++ b/Source/Utils/WarpXAlgorithmSelection.cpp @@ -22,6 +22,13 @@ // Define dictionary with correspondance between user-input strings, // and corresponding integer for use inside the code +const std::map<std::string, int> grid_to_int = { + {"collocated", GridType::Collocated}, + {"staggered", GridType::Staggered}, + {"hybrid", GridType::Hybrid}, + {"default", GridType::Staggered} +}; + const std::map<std::string, int> electromagnetic_solver_algo_to_int = { {"none", ElectromagneticSolverAlgo::None }, {"yee", ElectromagneticSolverAlgo::Yee }, @@ -140,6 +147,8 @@ GetAlgorithmInteger( amrex::ParmParse& pp, const char* pp_search_key ){ std::map<std::string, int> algo_to_int; if (0 == std::strcmp(pp_search_key, "maxwell_solver")) { algo_to_int = electromagnetic_solver_algo_to_int; + } else if (0 == std::strcmp(pp_search_key, "grid_type")) { + algo_to_int = grid_to_int; } else if (0 == std::strcmp(pp_search_key, "do_electrostatic")) { algo_to_int = electrostatic_solver_algo_to_int; } else if (0 == std::strcmp(pp_search_key, "particle_pusher")) { |