NAME
Physics::UEMColumn::Pulse - Class representing a pulse for the Physics::UEMColumn simulation
SYNOPSIS
use strict;
use warnings;
use Physics::UEMColumn alias => ':standard';
my $pulse = Pulse->new(
velocity => '1e8 m/s',
number => 1e6,
);
ATTRIBUTES
The Physics::UEMColumn::Pulse class defines many attributes, however most are semi-private. From a practical perspective the user need only interact with the first three. The latter however, allow for a more physical creation of the pulse and thus are available to the user.
velocity
-
The velocity of a pulse. This is required and may be zero, though note that without further acceleration the simulation may never come to completion. Unit: m/s
location
-
The location of the center of the pulse within the column. Default is
0
, Unit: m number
-
Number of electrons contained in the pulse. Default is
1
sigma_t
/sigma_z
-
The spatial variance in the transverse and longitudinal direction respectively. Computing an initial value for
sigma_z
is still a matter of much interest in the community. Any initialization seen in this code is rather naive. Unit: m^2 eta_t
/eta_z
-
The local momentum variance in the transverse and longitudinal directions respectively. A value of 0 would imply a perfectly mono-chromated pulse (though this is unphysical). Unit: (kg m / s)^2
gamma_t
/gamma_z
-
The momentum chirp in the transverse and longitudinal directions respectively. A value of zero would mean that the front, back and center of the pulse all have the same average momentum. Computing an initial value for
gamma_z
is still a matter of much interest in the community. Any initialization seen in this code is rather naive. Unit: kg m^2 / s liouville_gamma2_t
/liouville_gamma2_z
-
The value of the product of
sigma
andeta
in the transverse and longitudinal directions respectively. Since it can be easily shown that these pulses obey Liouville's Theorem, this product is unchanged during propagation. This value is used internally to reduce the number of equations to solve and thus increase solution speed. This value should not be changed manually but will be calculated from values given to quantities above. initial_width
/initial_length
-
These attributes are for convenience only. They may be used to initialize the variance attriutes above. They represent the initial half-width 1/e maximum (HW1/eM) width or length of the pulse. Unit: m
initial_width
/initial_length
-
This attribute is for convenience only. It may be used to initialize the variance attriutes above. It represents the excess photoemission energy imparted to the electrons in the pulse by simple photoemission. Unit: J
data
-
Holder for an array reference to the raw propagation history data. This should not be changed manually.
SOURCE REPOSITORY
http://github.com/jberger/Physics-UEMColumn
AUTHOR
Joel Berger, <joel.a.berger@gmail.com>
COPYRIGHT AND LICENSE
Copyright (C) 2012-2013 by Joel Berger
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.