aboutsummaryrefslogtreecommitdiff
path: root/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicProperties/MacroscopicProperties.cpp
diff options
context:
space:
mode:
authorGravatar WeiqunZhang <WeiqunZhang@lbl.gov> 2020-09-14 23:51:35 -0700
committerGravatar GitHub <noreply@github.com> 2020-09-14 23:51:35 -0700
commitbb5e5e5b3b605f5650f6257af796f16ebdfcda9a (patch)
treeee93a57529389153d19a3c34628fb4b5b1222825 /Source/FieldSolver/FiniteDifferenceSolver/MacroscopicProperties/MacroscopicProperties.cpp
parent91837614c216f62b4b6cb23f82d5a23a94f5e4d8 (diff)
downloadWarpX-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.cpp10
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);
});
}