diff options
author | 2020-09-14 23:51:35 -0700 | |
---|---|---|
committer | 2020-09-14 23:51:35 -0700 | |
commit | bb5e5e5b3b605f5650f6257af796f16ebdfcda9a (patch) | |
tree | ee93a57529389153d19a3c34628fb4b5b1222825 /Source/FieldSolver/FiniteDifferenceSolver/MacroscopicProperties/MacroscopicProperties.cpp | |
parent | 91837614c216f62b4b6cb23f82d5a23a94f5e4d8 (diff) | |
download | WarpX-bb5e5e5b3b605f5650f6257af796f16ebdfcda9a.tar.gz WarpX-bb5e5e5b3b605f5650f6257af796f16ebdfcda9a.tar.zst WarpX-bb5e5e5b3b605f5650f6257af796f16ebdfcda9a.zip |
Remove The_Managed_Arena (#1313)
* Remove the base class of InjectorPoisition, InjectorDensity and
InjectorMomentum so that they no longer live in managed memory.
* Have both host and device copies of Injector*.
* Modify Parser classes so that they can work without unified memory. Add
HostDeviceParser that is non-owning and therefore suitable for being value
captured by device lambda.
Diffstat (limited to 'Source/FieldSolver/FiniteDifferenceSolver/MacroscopicProperties/MacroscopicProperties.cpp')
-rw-r--r-- | Source/FieldSolver/FiniteDifferenceSolver/MacroscopicProperties/MacroscopicProperties.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicProperties/MacroscopicProperties.cpp b/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicProperties/MacroscopicProperties.cpp index d2f72ad6c..a368dc026 100644 --- a/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicProperties/MacroscopicProperties.cpp +++ b/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicProperties/MacroscopicProperties.cpp @@ -106,7 +106,7 @@ MacroscopicProperties::InitData () } else if (m_sigma_s == "parse_sigma_function") { - InitializeMacroMultiFabUsingParser(m_sigma_mf.get(), m_sigma_parser.get(), lev); + InitializeMacroMultiFabUsingParser(m_sigma_mf.get(), getParser(m_sigma_parser), lev); } // Initialize epsilon if (m_epsilon_s == "constant") { @@ -115,7 +115,7 @@ MacroscopicProperties::InitData () } else if (m_epsilon_s == "parse_epsilon_function") { - InitializeMacroMultiFabUsingParser(m_eps_mf.get(), m_epsilon_parser.get(), lev); + InitializeMacroMultiFabUsingParser(m_eps_mf.get(), getParser(m_epsilon_parser), lev); } // Initialize mu @@ -125,7 +125,7 @@ MacroscopicProperties::InitData () } else if (m_mu_s == "parse_mu_function") { - InitializeMacroMultiFabUsingParser(m_mu_mf.get(), m_mu_parser.get(), lev); + InitializeMacroMultiFabUsingParser(m_mu_mf.get(), getParser(m_mu_parser), lev); } @@ -161,7 +161,7 @@ MacroscopicProperties::InitData () void MacroscopicProperties::InitializeMacroMultiFabUsingParser ( - MultiFab *macro_mf, ParserWrapper<3> *macro_parser, + MultiFab *macro_mf, HostDeviceParser<3> const& macro_parser, int lev) { auto& warpx = WarpX::GetInstance(); @@ -187,7 +187,7 @@ MacroscopicProperties::InitializeMacroMultiFabUsingParser ( Real z = k * dx_lev[2] + real_box.lo(2) + fac_z; // initialize the macroparameter - macro_fab(i,j,k) = (*macro_parser)(x,y,z); + macro_fab(i,j,k) = macro_parser(x,y,z); }); } |