aboutsummaryrefslogtreecommitdiff
path: root/Source/Initialization/PlasmaProfiles.cpp
diff options
context:
space:
mode:
authorGravatar Remi Lehe <remi.lehe@normalesup.org> 2019-06-10 13:34:55 -0700
committerGravatar Remi Lehe <remi.lehe@normalesup.org> 2019-06-10 13:34:55 -0700
commit4e2bc0444eacb6b3db36d7c3c3f7bbe6233c5f19 (patch)
tree5d5bb1d98d7f0ff4394f24607f4c46a6b3b04a6a /Source/Initialization/PlasmaProfiles.cpp
parent2c25e914fcaae826a4e28acdc1e7c5348e05a168 (diff)
parent4c01a51d48f0f95b6ac309060d279145c5443064 (diff)
downloadWarpX-4e2bc0444eacb6b3db36d7c3c3f7bbe6233c5f19.tar.gz
WarpX-4e2bc0444eacb6b3db36d7c3c3f7bbe6233c5f19.tar.zst
WarpX-4e2bc0444eacb6b3db36d7c3c3f7bbe6233c5f19.zip
Merge branch 'dev' into fft_from_local_boxes
Diffstat (limited to 'Source/Initialization/PlasmaProfiles.cpp')
-rw-r--r--Source/Initialization/PlasmaProfiles.cpp23
1 files changed, 12 insertions, 11 deletions
diff --git a/Source/Initialization/PlasmaProfiles.cpp b/Source/Initialization/PlasmaProfiles.cpp
index e3382db06..d9d207f7e 100644
--- a/Source/Initialization/PlasmaProfiles.cpp
+++ b/Source/Initialization/PlasmaProfiles.cpp
@@ -17,21 +17,22 @@ Real PredefinedDensityProfile::getDensity(Real x, Real y, Real z) const {
/// plateau between linear upramp and downramp, and parab transverse profile
///
Real PredefinedDensityProfile::ParabolicChannel(Real x, Real y, Real z) const {
- // params = [ramp_up plateau ramp_down rc n0]
- Real ramp_up = params[0];
- Real plateau = params[1];
- Real ramp_down = params[2];
- Real rc = params[3];
- Real n0 = params[4];
+ // params = [z_start ramp_up plateau ramp_down rc n0]
+ Real z_start = params[0];
+ Real ramp_up = params[1];
+ Real plateau = params[2];
+ Real ramp_down = params[3];
+ Real rc = params[4];
+ Real n0 = params[5];
Real n;
Real kp = PhysConst::q_e/PhysConst::c*sqrt( n0/(PhysConst::m_e*PhysConst::ep0) );
- if (z>=0 and z<ramp_up ) {
- n = z/ramp_up;
- } else if (z>=ramp_up and z<ramp_up+plateau ) {
+ if ((z-z_start)>=0 and (z-z_start)<ramp_up ) {
+ n = (z-z_start)/ramp_up;
+ } else if ((z-z_start)>=ramp_up and (z-z_start)<ramp_up+plateau ) {
n = 1;
- } else if (z>=ramp_up+plateau and z<ramp_up+plateau+ramp_down) {
- n = 1-(z-ramp_up-plateau)/ramp_down;
+ } else if ((z-z_start)>=ramp_up+plateau and (z-z_start)<ramp_up+plateau+ramp_down) {
+ n = 1-((z-z_start)-ramp_up-plateau)/ramp_down;
} else {
n = 0;
}