diff options
author | 2020-01-06 11:28:50 -0800 | |
---|---|---|
committer | 2020-01-06 11:28:50 -0800 | |
commit | c23edfd29a92a4744ff3fb6e89f0e799ee550c84 (patch) | |
tree | 1643b3f7c0709249e095ca91c64d458dc68abf23 /Source | |
parent | e81253f49be97c84e52b8970ce0313ea4663ef71 (diff) | |
download | WarpX-c23edfd29a92a4744ff3fb6e89f0e799ee550c84.tar.gz WarpX-c23edfd29a92a4744ff3fb6e89f0e799ee550c84.tar.zst WarpX-c23edfd29a92a4744ff3fb6e89f0e799ee550c84.zip |
merging all makeParser () functions in WarpXUtil.H
Diffstat (limited to 'Source')
-rw-r--r-- | Source/Initialization/PlasmaInjector.cpp | 29 | ||||
-rw-r--r-- | Source/Initialization/WarpXInitData.cpp | 28 | ||||
-rw-r--r-- | Source/Utils/WarpXMovingWindow.cpp | 28 | ||||
-rw-r--r-- | Source/Utils/WarpXUtil.cpp | 27 |
4 files changed, 29 insertions, 83 deletions
diff --git a/Source/Initialization/PlasmaInjector.cpp b/Source/Initialization/PlasmaInjector.cpp index f7c7e498f..6e7880ca5 100644 --- a/Source/Initialization/PlasmaInjector.cpp +++ b/Source/Initialization/PlasmaInjector.cpp @@ -3,6 +3,7 @@ #include <WarpXConst.H> #include <WarpX_f.H> #include <WarpX.H> +#include <WarpXUtil.H> #include <AMReX.H> @@ -168,34 +169,6 @@ PlasmaInjector::PlasmaInjector (int ispecies, const std::string& name) } } -namespace { -WarpXParser makeParser (std::string const& parse_function) -{ - WarpXParser parser(parse_function); - parser.registerVariables({"x","y","z"}); - - ParmParse pp("my_constants"); - std::set<std::string> symbols = parser.symbols(); - symbols.erase("x"); - symbols.erase("y"); - symbols.erase("z"); // after removing variables, we are left with constants - for (auto it = symbols.begin(); it != symbols.end(); ) { - Real v; - if (pp.query(it->c_str(), v)) { - parser.setConstant(*it, v); - it = symbols.erase(it); - } else { - ++it; - } - } - for (auto const& s : symbols) { // make sure there no unknown symbols - amrex::Abort("PlasmaInjector::makeParser: Unknown symbol "+s); - } - - return parser; -} -} - // Depending on injection type at runtime, initialize inj_rho // so that inj_rho->getDensity calls // InjectorPosition[Constant or Custom or etc.].getDensity. diff --git a/Source/Initialization/WarpXInitData.cpp b/Source/Initialization/WarpXInitData.cpp index 6ac8195f8..cd548f73e 100644 --- a/Source/Initialization/WarpXInitData.cpp +++ b/Source/Initialization/WarpXInitData.cpp @@ -234,34 +234,6 @@ WarpX::PostRestart () } -namespace { -WarpXParser makeParser (std::string const& parse_function) -{ - WarpXParser parser(parse_function); - parser.registerVariables({"x","y","z"}); - ParmParse pp("my_constants"); - std::set<std::string> symbols = parser.symbols(); - symbols.erase("x"); - symbols.erase("y"); - symbols.erase("z"); - for (auto it = symbols.begin(); it != symbols.end(); ) { - Real v; - if (pp.query(it->c_str(), v)) { - parser.setConstant(*it, v); - it = symbols.erase(it); - } else { - ++it; - } - } - for (auto const& s : symbols) { - amrex::Abort(" ExternalEBFieldOnGrid::makeParser::Unknown symbol "+s); - } - return parser; -} -} - - - void WarpX::InitLevelData (int lev, Real time) { diff --git a/Source/Utils/WarpXMovingWindow.cpp b/Source/Utils/WarpXMovingWindow.cpp index a3ec07f65..247c89869 100644 --- a/Source/Utils/WarpXMovingWindow.cpp +++ b/Source/Utils/WarpXMovingWindow.cpp @@ -1,35 +1,9 @@ #include <WarpX.H> +#include <WarpXUtil.H> #include <WarpXConst.H> using namespace amrex; -namespace { -WarpXParser makeParser (std::string const& parse_function) -{ - WarpXParser parser(parse_function); - parser.registerVariables({"x","y","z"}); - ParmParse pp("my_constants"); - std::set<std::string> symbols = parser.symbols(); - symbols.erase("x"); - symbols.erase("y"); - symbols.erase("z"); - for (auto it = symbols.begin(); it != symbols.end(); ) { - Real v; - if (pp.query(it->c_str(), v)) { - parser.setConstant(*it, v); - it = symbols.erase(it); - } else { - ++it; - } - } - for (auto const& s : symbols) { - amrex::Abort(" ExternalEBFieldOnGrid::makeParser::Unknown symbol "+s); - } - return parser; -} -} - - void WarpX::UpdatePlasmaInjectionPosition (Real a_dt) { diff --git a/Source/Utils/WarpXUtil.cpp b/Source/Utils/WarpXUtil.cpp index db5a646f9..152eaba07 100644 --- a/Source/Utils/WarpXUtil.cpp +++ b/Source/Utils/WarpXUtil.cpp @@ -181,3 +181,30 @@ void Store_parserString(std::string query_string, f.clear(); } + + +//namespace { +WarpXParser makeParser (std::string const& parse_function) +{ + WarpXParser parser(parse_function); + parser.registerVariables({"x","y","z"}); + ParmParse pp("my_constants"); + std::set<std::string> symbols = parser.symbols(); + symbols.erase("x"); + symbols.erase("y"); + symbols.erase("z"); + for (auto it = symbols.begin(); it != symbols.end(); ) { + Real v; + if (pp.query(it->c_str(), v)) { + parser.setConstant(*it, v); + it = symbols.erase(it); + } else { + ++it; + } + } + for (auto const& s : symbols) { + amrex::Abort("makeParser::Unknown symbol "+s); + } + return parser; +} +//} |