Changes for page Partial Coherence Simulation
Last modified by rangeadm on 2025/04/23 16:13
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,15 +1,11 @@ 1 -In order to simulate the temporal and spectral distribution of SASE pulses there is an easy way based random fluctuations filtered spectral ly and temporally.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. 2 2 3 -The only input parameters are the center wavelength,spectral bandwidth and the pulse duration.3 +The only input parameters are the 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 method as described in: 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"]] 6 6 7 - * **Thomas Pfeiferetal.//Partial-coherencemethodtomodel experimentalfree-electron laser pulsestatistics,//Opt. Lett.35, 3441-3443 (2010);** [[linkto thepaper>>url:http://dx.doi.org/10.1364/OL.35.003441||shape="rect"]]7 +The pulse shapes in time AND corresponding spectral dstribution can be easily created with: 8 8 9 -\\ 10 - 11 -The pulse shapes in time AND corresponding spectral distribution can be easily created with: 12 - 13 13 * ((( 14 14 a python script 15 15 ... ... @@ -29,6 +29,7 @@ 29 29 30 30 EnAxis=np.linspace(0.,20.*CentralEnergy,num=samples) 31 31 EnInput=np.zeros(samples, dtype=np.complex64) 28 +#for i in range(samples): 32 32 EnInput=np.exp(-(EnAxis-CentralEnergy)~*~*2/2./dE~*~*2+2*np.pi*1j*np.random.random(size=samples)) 33 33 En_FFT=np.fft.fft(EnInput) 34 34 TAxis=np.fft.fftfreq(samples,d=(20.*CentralEnergy)/samples)*h ... ... @@ -72,28 +72,19 @@ 72 72 plt.show() 73 73 {{/expand}} 74 74 ))) 75 -* or the sameas aJupyter Notebook** [[attach:GenerateSASE.ipynb]] **72 +* a Jupyter Notebook** [[attach:GenerateSASE.ipynb]] ** 76 76 77 -== 78 -Some examples: == 79 79 80 - //CentralEnergy=80#ineV//75 +Some examples of results: 81 81 82 - //bandwidth=0.5 # bandwidth in %//77 +\\ 83 83 84 - //dt_FWHM=10, 30.,70#FWHMofthetemporaldurationonaverage//79 +[[image:attach:partia__coherence2.png]] or: [[image:attach:image2020-2-5_15-14-4.png||width="480"]] 85 85 81 +\\ 86 86 87 - 88 - 89 - [[image:attach:2020-07-07 16_51_14-Window.png||height="250"]] 90 - 91 91 \\ 92 92 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 - 97 97 \\ 98 98 99 99 \\