16 lines
699 B
Mathematica
16 lines
699 B
Mathematica
|
function ret = accelerationDueToSpontaneousEmissionProcess(this, SaturationIntensity, TotalSaturationIntensity, Detuning, Linewidth, WaveVector)
|
||
|
Vector = [2*rand(1)-1,2*rand(1)-1,2*rand(1)-1];
|
||
|
Vector = Vector./norm(Vector);
|
||
|
|
||
|
ScatteringRate = 0.5 * SaturationIntensity * Linewidth / (1 + TotalSaturationIntensity + 4 * (Detuning/Linewidth)^2);
|
||
|
NumberOfScatteringEvents = floor(ScatteringRate * this.TimeStep);
|
||
|
|
||
|
if NumberOfScatteringEvents > 0
|
||
|
ret = Vector.*((Helper.PhysicsConstants.PlanckConstantReduced * WaveVector) / ...
|
||
|
(Helper.PhysicsConstants.Dy164Mass * this.TimeStep)).* sqrt(NumberOfScatteringEvents);
|
||
|
else
|
||
|
ret = zeros(1,3);
|
||
|
end
|
||
|
end
|
||
|
|