diff options
author | 2019-11-12 15:00:02 -0800 | |
---|---|---|
committer | 2019-11-12 15:00:02 -0800 | |
commit | 68c60b51b342d8b7e1ef9b2a916e20edfa82d1fd (patch) | |
tree | df4f26d34d2b8fee5682524cbfce5770c3d4c1b9 /Source/Initialization/PlasmaInjector.cpp | |
parent | 484c04d3d6d473e46cda3021e4895c73bbc16bb7 (diff) | |
parent | 2b01303bc3183a70358cd2e668f31157bbe82bf4 (diff) | |
download | WarpX-68c60b51b342d8b7e1ef9b2a916e20edfa82d1fd.tar.gz WarpX-68c60b51b342d8b7e1ef9b2a916e20edfa82d1fd.tar.zst WarpX-68c60b51b342d8b7e1ef9b2a916e20edfa82d1fd.zip |
Merge pull request #516 from cameronjy/maxwell_juttner
Maxwell-Juttner Distribution
Diffstat (limited to 'Source/Initialization/PlasmaInjector.cpp')
-rw-r--r-- | Source/Initialization/PlasmaInjector.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/Source/Initialization/PlasmaInjector.cpp b/Source/Initialization/PlasmaInjector.cpp index af04c6b31..32711cd31 100644 --- a/Source/Initialization/PlasmaInjector.cpp +++ b/Source/Initialization/PlasmaInjector.cpp @@ -269,6 +269,28 @@ void PlasmaInjector::parseMomentum (ParmParse& pp) // Construct InjectorMomentum with InjectorMomentumGaussian. inj_mom.reset(new InjectorMomentum((InjectorMomentumGaussian*)nullptr, ux_m, uy_m, uz_m, ux_th, uy_th, uz_th)); + } else if (mom_dist_s == "maxwell_juttner"){ + Real beta = 0.; + Real theta = 10.; + int dir = 0; + std::string direction = "x"; + pp.query("beta", beta); + pp.query("theta", theta); + pp.query("direction", direction); + if(direction == "x" || direction == "X"){ + dir = 0; + } else if (direction == "y" || direction == "Y"){ + dir = 1; + } else if (direction == "z" || direction == "Z"){ + dir = 2; + } else{ + std::stringstream stringstream; + stringstream << "Direction " << direction << " is not recognzied. Please enter x, y, or z."; + direction = stringstream.str(); + amrex::Abort(direction.c_str()); + } + // Construct InjectorMomentum with InjectorMomentumJuttner. + inj_mom.reset(new InjectorMomentum((InjectorMomentumJuttner*)nullptr, theta, beta, dir)); } else if (mom_dist_s == "radial_expansion") { Real u_over_r = 0.; pp.query("u_over_r", u_over_r); |