Skip to content

Commit 323c76f

Browse files
committed
explain tau vs pulse length definition
1 parent 53b47a2 commit 323c76f

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

src/picongpu/include/fields/laserProfiles/laserPlaneWave.hpp

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)