Simple DFG (cross correlation between 266 and 800 nm)

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Simple DFG (cross correlation between 266 and 800 nm)

tinolang
Administrator
The following example demonstrates the simulation of a simple DFG cross-correlation process between the THG of a Ti:Sa -> 266 nm and the fundamental at 800 nm pulse resulting in a 400 nm signal. A loop scans through different time delays between THG and fundamental pulse to compute the cross-correlation function.

% function [E_ftfxfy_o,E_ftfxfy_e,Results]=newFun()
% automaticly generated matlab script to simulate nonlinear propagation and interaction of ultrashort
% pulses using the 2 or 3 + 1 dimensional simulation tool chi3D (C) T.Lang (T.Lang@gmx.com)
% type chi3D help or visit www.chi23d.com for further information

%% create a new instance of class chi3D
clear all
close all
clc

obj = chi3D('tag','(chi2D->chi3D (C)T.Lang)');

%% computational parameters

obj('Nx',64,'xWindow',0.003,...
    'Ny',1,  'yWindow',0.003,... %use Ny=1 for 2+1D, Ny=2^N for 3+1d
    'Nt',1024, 'tWindow',8e-13,'shiftFreqWindow',3.33e+14,...
    'Nz',100, 'propagationLength', 0.00025,...
    'GPUOn',0, 'abortIntensity', inf,...
    'showResultEach',100, 'showProgress',1);

%% material parameters

obj( 'material','BBO','theta',0.774577,'phi',0,'plane','XZ','temperature',20);

%% nonlinear effects

obj('deff1',2e-12,'eoo',1,'oeo',0,'ooo',0,...
    'deff2',1.4e-12,'oee',0,'eeo',0,'eee',0,...
    'n2',4e-20,'SPMOn',0,'selfFocusingOn',0);

%% other effects

obj('walkoffON',1,'noiseOn',0,'noiseFactor',1);


%% input pulse definition

obj({'pulse1','EorI',1e+14,'polarization','e','centerWavelength',2.66e-07,...
     'pulseDuration',1.25e-13,'GD',0,'GDD',0,'TOD',0,'Phase',0,'beamShape_t','gauss',...
     'beamRadius_x',0.0005,'beamRadius_y',0.0005,...     %please choose a reasonable value in y
     'shift_x',0,'shift_y',0,...
     'alpha_x',0,'alpha_y',0,...
     'slant_x',0,'slant_y',0,...
     'radiusOfCurvature_x',0,'radiusOfCurvature_y',0,...
     'beamShape_x',{'gauss'},'beamShape_y',{'gauss'}});

obj({'pulse2','EorI',5e+14,'polarization','o','centerWavelength',8e-07,...
     'pulseDuration',5e-14,'GD',0,'GDD',0,'TOD',0,'Phase',0,'beamShape_t','gauss',...
     'beamRadius_x',0.0005,'beamRadius_y',0.0005,...     %please choose a reasonable values in y
     'shift_x',0,'shift_y',0,...
     'alpha_x',0,'alpha_y',0,...
     'slant_x',0,'slant_y',0,...
     'radiusOfCurvature_x',0,'radiusOfCurvature_y',0,...
     'beamShape_x',{'gauss'},'beamShape_y',{'gauss'}});

%% detector properties

obj.removeDetectors('all'); %delete default detectors

obj.detectors.obs1.plotIntegratedProfiles=0;
obj.detectors.obs1.logScale=0;
obj.detectors.obs1.polarization='o';
obj.detectors.obs1.ftlim=[7e+14,8e+14];
obj.detectors.obs1.fxlim=[-10667,10300];
obj.detectors.obs1.fylim=[-inf,inf];
obj.detectors.obs1.spectralData=0;
obj.detectors.obs1.spacetimeData=0;
obj.detectors.obs1.peakpower=1;


%% run simulation

N=25
GD=linspace(-2e-13,3.5e-13,N);
for i=1:N
    obj.showProgress(i,N);
    [E_ftfxfy_o,E_ftfxfy_e]=run(obj,{'pulse1'},{'pulse2','GD',GD(i)});

end
figure
plot(GD,obj.simResults.obs1.PeakIntensity(2:2:end));
title('DFG cross correlation signal')
legend(['FWHM = ',num2str(obj.fwhm(GD,obj.simResults.obs1.PeakIntensity(2:2:end))*1e15,3),' fs']);
xlabel('Delay (s)');
ylabel('Intensity (arb.u.)');

dfg corss-correlaton function
Tino Lang