@@ -47,9 +47,11 @@ namespace picongpu
4747 * integrationCorrectionFactor = t/(omega*tau^2)
4848 *
4949 * Please consider:
50- * The above formulae does only apply to a Gaussian envelope. If the plateau length is
51- * not zero, the integral over the volume will only vanish if the plateau length is
52- * a multiple of the wavelength,
50+ * 1) The above formulae does only apply to a Gaussian envelope. If the plateau length is
51+ * not zero, the integral over the volume will only vanish if the plateau length is
52+ * a multiple of the wavelength.
53+ * 2) Since we define our envelope by a sigma of the laser intensity,
54+ * tau = PULSE_LENGTH / sqrt(2)
5355 */
5456 namespace laserPlaneWave
5557 {
@@ -70,6 +72,7 @@ namespace picongpu
7072 const double mue = 0.5 * RAMP_INIT * PULSE_LENGTH;
7173
7274 const double w = 2.0 * PI * f;
75+ const double tau = PULSE_LENGTH / sqrt ( 2.0 );
7376
7477 const double endUpramp = mue;
7578 const double startDownramp = mue + LASER_NOFOCUS_CONSTANT;
@@ -79,18 +82,16 @@ namespace picongpu
7982 if ( runTime > startDownramp )
8083 {
8184 // downramp = end
82- const double exponent =
83- ( ( runTime - startDownramp )
84- / PULSE_LENGTH / sqrt ( 2.0 ) );
85+ const double exponent = (runTime - startDownramp) / tau;
8586 envelope *= exp ( -0.5 * exponent * exponent );
86- integrationCorrectionFactor = ( runTime - startDownramp )/ (w*2.0 *PULSE_LENGTH*PULSE_LENGTH );
87+ integrationCorrectionFactor = ( runTime - startDownramp )/ (w*tau*tau );
8788 }
8889 else if ( runTime < endUpramp )
8990 {
9091 // upramp = start
91- const double exponent = ( ( runTime - endUpramp ) / PULSE_LENGTH / sqrt ( 2.0 ) ) ;
92+ const double exponent = (runTime - endUpramp) / tau ;
9293 envelope *= exp ( -0.5 * exponent * exponent );
93- integrationCorrectionFactor = ( runTime - endUpramp )/ (w*2.0 *PULSE_LENGTH*PULSE_LENGTH );
94+ integrationCorrectionFactor = ( runTime - endUpramp )/ (w*tau*tau );
9495 }
9596
9697 const double timeOszi = runTime - endUpramp;
0 commit comments