Contents
%Start to end simulation of the a collinar OPA including the generation of the SHG from a 10ps IR pump laser %This example includes the SHG, the relay imaging and demagnifigation %and a first possible collinear OPA stage %
SHG stage (see example "long pulse SHG")
[~,E_ftfxfy_e_SHG,obj_SHG]=fSHG(); %3D SHG simulation - script was generated by chi2D (3D botton) % getResults(obj_SHG,E_ftfxfy_e_SHG,0); %recalulates all results as defined by the detectors in obj_temp applied to E_ftfxfy_o_temp obj_temp=obj_SHG('tag','interim results'); %creates a new instance of obj_SHG E_ftfxfy_temp=E_ftfxfy_e_SHG;
change the sampling of the green pump pulse
%to reduce the array size of ft and enlarge the sampling of fx and fy for the larger spatial k-vector space of the telescope [E_ftfxfy_temp,~,shiftFreqWindow] = shiftFrequencyWindow(obj_temp,E_ftfxfy_temp,0,3e8/550e-9); %shifts the frequency window starting right under the pump frequency (IR is not include in the extraordinary field anymore) obj_temp=obj_SHG('shiftFreqWindow',shiftFreqWindow); %creates a new instance of obj_SHG but with the new frequency window %getResults(obj_temp,E_ftfxfy_temp,0); %recalulates all results as defined by the detectors in obj_temp applied to E_ftfxfy_o_temp [E_ftfxfy_temp,~,New_tWindow,New_xWindow,New_yWindow] = changeWindowSize(obj_temp,E_ftfxfy_temp,0,'tWindow',30e-12,'Nt',1024,'Nx',128,'Ny',128); %after the frequency window was shifted the span of this window can be reduced by a decrease of Nt obj_temp('tWindow',New_tWindow,'xWindow',New_xWindow,'yWindow',New_yWindow,'Nt',1024','Nx',128,'Ny',128); %updates the temporal obj with the new sampling parameters %getResults(obj_temp,E_ftfxfy_temp,0); %recalulates all results as defined by the detectors in obj_temp applied to E_ftfxfy_o_temp
beam transport
[E_ftfxfy_temp] = relayTelescope(obj_temp,E_ftfxfy_temp,'magnification',1/5,'length',1); %computes the demagnification and different pointing due to the telescope between SHG generation and first OPA stage E_ftfxfy_temp = 0.95*E_ftfxfy_temp; %atteniuation between SHG and the first OPA stage
change the sampling of the green pump pulse
to enlarge the spectral sampling ft to include pump, signal and idler
[E_ftfxfy_temp2,~,New_tWindow,New_xWindow,New_yWindow] = changeWindowSize(obj_temp,E_ftfxfy_temp,0,'tWindow',30e-12,'Nt',16384,'xWindow',2.2e-3,'Nx',64,'yWindow',2.2e-3,'Ny',64); %for the OPA stage the span of frequency window needs to enlarged again to include pump, signal and idler and the spatial sampling and width is more relaxed due to the collinear propagation in the OPA obj_temp2=obj_temp('tWindow',New_tWindow,'xWindow',New_xWindow,'yWindow',New_yWindow,'Nt',16384','Nx',64,'Ny',64); %updates obj_temp with the new sampling parameters %getResults(obj_temp2,E_ftfxfy_temp2,0); %recalulates all results as defined by the detectors in obj_temp applied to E_ftfxfy_o_temp [E_ftfxfy_temp2,~,shiftFreqWindow] = shiftFrequencyWindow(obj_temp2,E_ftfxfy_temp2,0,3e8/1700e-9); %shifts the frequency window to beyond the longes idler wavelength again obj_temp2('shiftFreqWindow',shiftFreqWindow); %updates obj_temp with the new sampling parameters %getResults(obj_temp2,E_ftfxfy_temp2,0); %recalulates all results as defined by the detectors in obj_temp applied to E_ftfxfy_o_temp
first OPA stage (see example "long pulse collinear OPA)
[E_ftfxfy_o_OPA1_2_seed,E_ftfxfy_e_OPA1_2_pump]=fOPA1_1(obj_temp2,E_ftfxfy_temp2); %3D OPA simulation - script was generated by chi2D (3D botton) plot(obj_temp2.constVect.lambda,abs(E_ftfxfy_o_OPA1_2_seed(:,end/2,end/2))); %not correct -> use getSpectrum(obj,Eftfxfy) %Start to end simulation of the a collinar OPA including the generation of the SHG from a 10ps IR pump laser %This example includes the SHG, the relay imaging and demagnifigation %and a first possible collinear OPA stage % %% SHG stage (see example "long pulse SHG") [~,E_ftfxfy_e_SHG,obj_SHG]=fSHG(); %3D SHG simulation - script was generated by chi2D (3D botton) % getResults(obj_SHG,E_ftfxfy_e_SHG,0); %recalulates all results as defined by the detectors in obj_temp applied to E_ftfxfy_o_temp obj_temp=obj_SHG('tag','interim results'); %creates a new instance of obj_SHG E_ftfxfy_temp=E_ftfxfy_e_SHG; %% change the sampling of the green pump pulse %to reduce the array size of ft and enlarge the sampling of fx and fy for the larger spatial k-vector space of the telescope [E_ftfxfy_temp,~,shiftFreqWindow] = shiftFrequencyWindow(obj_temp,E_ftfxfy_temp,0,3e8/550e-9); %shifts the frequency window starting right under the pump frequency (IR is not include in the extraordinary field anymore) obj_temp=obj_SHG('shiftFreqWindow',shiftFreqWindow); %creates a new instance of obj_SHG but with the new frequency window %getResults(obj_temp,E_ftfxfy_temp,0); %recalulates all results as defined by the detectors in obj_temp applied to E_ftfxfy_o_temp [E_ftfxfy_temp,~,New_tWindow,New_xWindow,New_yWindow] = changeWindowSize(obj_temp,E_ftfxfy_temp,0,'tWindow',30e-12,'Nt',1024,'Nx',128,'Ny',128); %after the frequency window was shifted the span of this window can be reduced by a decrease of Nt obj_temp('tWindow',New_tWindow,'xWindow',New_xWindow,'yWindow',New_yWindow,'Nt',1024','Nx',128,'Ny',128); %updates the temporal obj with the new sampling parameters %getResults(obj_temp,E_ftfxfy_temp,0); %recalulates all results as defined by the detectors in obj_temp applied to E_ftfxfy_o_temp %% beam transport [E_ftfxfy_temp] = relayTelescope(obj_temp,E_ftfxfy_temp,'magnification',1/5,'length',1); %computes the demagnification and different pointing due to the telescope between SHG generation and first OPA stage E_ftfxfy_temp = 0.25*E_ftfxfy_temp; %atteniuation between SHG and the first OPA stage %% change the sampling of the green pump pulse % to enlarge the spectral sampling ft to include pump, signal and idler [E_ftfxfy_temp2,~,New_tWindow,New_xWindow,New_yWindow] = changeWindowSize(obj_temp,E_ftfxfy_temp,0,'tWindow',30e-12,'Nt',16384,'xWindow',2.2e-3,'Nx',64,'yWindow',2.2e-3,'Ny',64); %for the OPA stage the span of frequency window needs to enlarged again to include pump, signal and idler and the spatial sampling and width is more relaxed due to the collinear propagation in the OPA obj_temp2=obj_temp('tWindow',New_tWindow,'xWindow',New_xWindow,'yWindow',New_yWindow,'Nt',16384','Nx',64,'Ny',64); %updates obj_temp with the new sampling parameters %getResults(obj_temp2,E_ftfxfy_temp2,0); %recalulates all results as defined by the detectors in obj_temp applied to E_ftfxfy_o_temp [E_ftfxfy_temp2,~,shiftFreqWindow] = shiftFrequencyWindow(obj_temp2,E_ftfxfy_temp2,0,3e8/1700e-9); %shifts the frequency window to beyond the longes idler wavelength again obj_temp2('shiftFreqWindow',shiftFreqWindow); %updates obj_temp with the new sampling parameters %getResults(obj_temp2,E_ftfxfy_temp2,0); %recalulates all results as defined by the detectors in obj_temp applied to E_ftfxfy_o_temp %% first OPA stage (see example "long pulse collinear OPA) [E_ftfxfy_o_OPA1_2_seed,E_ftfxfy_e_OPA1_2_pump]=fOPA1_1(obj_temp2,E_ftfxfy_temp2); %3D OPA simulation - script was generated by chi2D (3D botton) plot(obj_temp2.constVect.lambda,abs(E_ftfxfy_o_OPA1_2_seed(:,end/2,end/2))); %not correct -> use getSpectrum(obj,Eftfxfy)Tino Lang