From bb5e5e5b3b605f5650f6257af796f16ebdfcda9a Mon Sep 17 00:00:00 2001 From: WeiqunZhang Date: Mon, 14 Sep 2020 23:51:35 -0700 Subject: 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. --- .../MacroscopicProperties/MacroscopicProperties.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'Source/FieldSolver/FiniteDifferenceSolver/MacroscopicProperties/MacroscopicProperties.cpp') 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); }); } -- cgit v1.2.3