aboutsummaryrefslogtreecommitdiff
path: root/Source/Utils/WarpXUtil.cpp
diff options
context:
space:
mode:
authorGravatar MaxThevenet <mthevenet@lbl.gov> 2020-02-11 09:50:09 -0800
committerGravatar GitHub <noreply@github.com> 2020-02-11 09:50:09 -0800
commit5ea3c7b9183fe57c1939574bdedc36cf79927536 (patch)
tree411739f8c986b888a9bf04c2e9820590e670c908 /Source/Utils/WarpXUtil.cpp
parent4db955d68f4d886882a9681df9df5e22bc1d8af2 (diff)
parent20daedf07493ec7c180a6ecfb2abb0986b7e5479 (diff)
downloadWarpX-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.cpp9
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)) {