diff options
author | 2020-02-11 09:50:09 -0800 | |
---|---|---|
committer | 2020-02-11 09:50:09 -0800 | |
commit | 5ea3c7b9183fe57c1939574bdedc36cf79927536 (patch) | |
tree | 411739f8c986b888a9bf04c2e9820590e670c908 /Source/Utils/WarpXUtil.cpp | |
parent | 4db955d68f4d886882a9681df9df5e22bc1d8af2 (diff) | |
parent | 20daedf07493ec7c180a6ecfb2abb0986b7e5479 (diff) | |
download | WarpX-5ea3c7b9183fe57c1939574bdedc36cf79927536.tar.gz WarpX-5ea3c7b9183fe57c1939574bdedc36cf79927536.tar.zst WarpX-5ea3c7b9183fe57c1939574bdedc36cf79927536.zip |
Merge pull request #696 from WeiqunZhang/parser_var
template Parser so that it works for any number of variables
Diffstat (limited to 'Source/Utils/WarpXUtil.cpp')
-rw-r--r-- | Source/Utils/WarpXUtil.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/Source/Utils/WarpXUtil.cpp b/Source/Utils/WarpXUtil.cpp index 983654aed..65aa0edb2 100644 --- a/Source/Utils/WarpXUtil.cpp +++ b/Source/Utils/WarpXUtil.cpp @@ -190,16 +190,13 @@ void Store_parserString(amrex::ParmParse& pp, std::string query_string, } -WarpXParser makeParser (std::string const& parse_function) +WarpXParser makeParser (std::string const& parse_function, std::vector<std::string> const& varnames) { WarpXParser parser(parse_function); - parser.registerVariables({"x","y","z","t"}); + parser.registerVariables(varnames); ParmParse pp("my_constants"); std::set<std::string> symbols = parser.symbols(); - symbols.erase("x"); - symbols.erase("y"); - symbols.erase("z"); - symbols.erase("t"); + for (auto const& v : varnames) symbols.erase(v.c_str()); for (auto it = symbols.begin(); it != symbols.end(); ) { Real v; if (pp.query(it->c_str(), v)) { |