Last modified by rangeadm on 2025/04/23 16:13

From version 6.1
edited by sndueste
on 2020/07/03 11:19
Change comment: There is no comment for this version
To version 9.1
edited by sndueste
on 2020/07/07 16:55
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,11 +1,15 @@
1 -In order to simulate the temporal and spectral distribution of SASE pulses there is an easy way based random fluctuations filtered spectraly and temporally.
1 +In order to simulate the temporal and spectral distribution of SASE pulses there is an easy way based random fluctuations filtered spectrally and temporally.
2 2  
3 -The only input parameters are the spectral bandwidth and the pulse duration.
3 +The only input parameters are the center wavelength, spectral bandwidth and the pulse duration.
4 4  
5 -Here you can find a small python script (by (% class="twikiNewLink" %)MartinB(%%)) implementing the partial coherence methode as described in Thomas Pfeifer et al. //Partial-coherence method to model experimental free-electron laser pulse statistics,// Opt. Lett. 35, 3441-3443 (2010); [[link to the paper>>url:http://dx.doi.org/10.1364/OL.35.003441||shape="rect"]]
5 +Here you can find a small python script (by (% class="twikiNewLink" %)MartinB(%%)) implementing the partial coherence method as described in:
6 6  
7 -The pulse shapes in time AND corresponding spectral dstribution can be easily created with:
7 +* **Thomas Pfeifer et al. //Partial-coherence method to model experimental free-electron laser pulse statistics,// Opt. Lett. 35, 3441-3443 (2010);** [[link to the paper>>url:http://dx.doi.org/10.1364/OL.35.003441||shape="rect"]]
8 8  
9 +\\
10 +
11 +The pulse shapes in time AND corresponding spectral distribution can be easily created with:
12 +
9 9  * (((
10 10  a python script
11 11  
... ... @@ -25,7 +25,6 @@
25 25  
26 26  EnAxis=np.linspace(0.,20.*CentralEnergy,num=samples)
27 27  EnInput=np.zeros(samples, dtype=np.complex64)
28 -#for i in range(samples):
29 29  EnInput=np.exp(-(EnAxis-CentralEnergy)~*~*2/2./dE~*~*2+2*np.pi*1j*np.random.random(size=samples))
30 30  En_FFT=np.fft.fft(EnInput)
31 31  TAxis=np.fft.fftfreq(samples,d=(20.*CentralEnergy)/samples)*h
... ... @@ -69,19 +69,28 @@
69 69  plt.show()
70 70  {{/expand}}
71 71  )))
72 -* the Jupyter Notebook**[[attach:SASEPulseGenV4.ipynb]]**
75 +* or the same as a Jupyter Notebook** [[attach:GenerateSASE.ipynb]] **
73 73  
77 +==
78 +Some examples: ==
74 74  
75 -Some examples of results:
80 +//CentralEnergy=80 # in eV//
76 76  
77 -\\
82 +//bandwidth=0.5 # bandwidth in %//
78 78  
79 -[[image:attach:partia__coherence2.png]] or: [[image:attach:image2020-2-5_15-14-4.png||width="480"]]
84 +//dt_FWHM=10, 30., 70  # FWHM of the temporal duration on average//
80 80  
81 -\\
82 82  
87 +
88 +
89 + [[image:attach:2020-07-07 16_51_14-Window.png||height="250"]]
90 +
83 83  \\
84 84  
93 +[[image:attach:2020-07-07 16_53_22-Window.png||height="250"]]
94 +
95 +[[image:attach:2020-07-07 16_52_27-Window.png||height="250"]]
96 +
85 85  \\
86 86  
87 87  \\