Contents of Ristra12_output.mat file

Using the command D = load('Ristra12_output.mat'); will load the file into the variable D, and it will be a data struct with a fieldname for each variable saved. This is a list of those fieldnames:

Fieldname Shape Units Description
E_out_m1 (3,1) J Output energy for each wave at mirror M1 in Red1, Red2, Blue order
E_out_m2 (3,1) J Output energy for each wave at mirror M2 in Red1, Red2, Blue order
xgridmat (nx,ny) m Spatial grid, changing in first dimension and constant in second
ygridmat (nx,ny) m Spatial grid, cosntant in first dimension and changing in second
lambda (3,1) m Wavelengths for each wave, in Red1, Red2, Blue order
Msq_M1_pulse_R1 (1,1) - Struct; Red1 output at M1 - M-squared related values for the pulse. It was created by calling method 'calculate_pulse_flat' on an Msquared_class object -- properties named xgrid, ygrid, field, wavelength set to appropriate values
Msq_M2_pulse_R1 (1,1) - Struct; Red1 output at mirror M2 - M-squared related values for the pulse. It was created by calling method 'calculate_pulse_flat' on an Msquared_class object -- properties named xgrid, ygrid, field, wavelength set to appropriate values
Msq_M1_pulse_R2 (1,1) - Struct; Red2 output at mirror M1 - M-squared related values for the pulse. It was created by calling method 'calculate_pulse_flat' on an Msquared_class object -- properties named xgrid, ygrid, field, wavelength set to appropriate values
Msq_M2_pulse_R2 (1,1) - Struct; Red2 output at M2 - M-squared related values for the pulse. It was created by calling method 'calculate_pulse_flat' on an Msquared_class object -- properties named xgrid, ygrid, field, wavelength set to appropriate values
Msq_M1_pulse_Bl (1,1) - Struct; Blue output at mirror M1 - M-squared related values for the pulse. It was created by calling method 'calculate_pulse_flat' on an Msquared_class object -- properties named xgrid, ygrid, field, wavelength set to appropriate values
Msq_M2_pulse_Bl (1,1) - Struct; Blue output at mirror M2 - M-squared related values for the pulse. It was created by calling method 'calculate_pulse_flat' on an Msquared_class object -- properties named xgrid, ygrid, field, wavelength set to appropriate values
Msq_M1_R1 (1,1) - Struct; Red1 output at mirror M1 - M-squared related values for each point in time; called 'calculate' method on an Msquared_class object -- properties named xgrid, ygrid, field, wavelength set to appropriate values
Msq_M1_R2 (1,1) - Struct; Red2 output at mirror M1 - M-squared related values for each point in time; called 'calculate' method on an Msquared_class object -- properties named xgrid, ygrid, field, wavelength set to appropriate values
Msq_M1_Bl (1,1) - Struct; Blue output at mirror M1 - M-squared related values for each point in time; called 'calculate' method on an Msquared_class object -- properties named xgrid, ygrid, field, wavelength set to appropriate values
Msq_M2_R1 (1,1) - Struct; Red1 output at mirror M2 - M-squared related values for each point in time; called 'calculate' method on an Msquared_class object -- properties named xgrid, ygrid, field, wavelength set to appropriate values
Msq_M2_R2 (1,1) - Struct; Red2 output at mirror M2 - M-squared related values for each point in time; called 'calculate' method on an Msquared_class object -- properties named xgrid, ygrid, field, wavelength set to appropriate values
Msq_M2_Bl (1,1) - Struct; Blue output at mirror M2 - M-squared related values for each point in time; called 'calculate' method on an Msquared_class object -- properties named xgrid, ygrid, field, wavelength set to appropriate values
tvec_m1_in (nt,1) s Vector of times at mirror M1 for input and output fields etc
tvec_m2_in (nt,1) s Vector of times at mirror M2 for input and output fields etc
inputs (1,1) - Object of class ristra12_inputs, contains all the properties for that class (see the class definition file ristra12_inputs.m)
phase_crystal_1_red1_halfdz (nx,ny) rad Propagation phase array to propagate 1/2 z step in crystal 1 for red1 wave (useful for debugging mostly)
phase_crystal_1_red2_halfdz (nx,ny) rad Propagation phase array to propagate 1/2 z step in crystal 1 for red2 wave (useful for debugging mostly
phase_crystal_1_blue_halfdz (nx,ny) rad Propagation phase array to propagate 1/2 z step in crystal 1 for blue wave (useful for debugging mostly
fluence_red1_xyz_c1 (nx,ny,nz) J/m^2 Fluence for red1 wave in crystal 1 at each point in x, y, and z
fluence_red2_xyz_c1 (nx,ny,nz) J/m^2 Fluence for red2 wave in crystal 1 at each point in x, y, and z
fluence_blue_xyz_c1 (nx,ny,nz) J/m^2 Fluence for blue wave in crystal 1 at each point in x, y, and z
power_vs_zt_c1 (nz,nt,3) W Power vs z and t for each wave in crystal 1
fields_xyt_out_M1 (nx,ny,nt,3) V/m Output electric field profiles in x, y, and t for each wave at mirror M1
fields_xyt_out_M2 (nx,ny,nt,3) V/m Output electric field profiles in x, y, and t for each wave at mirror M2
input_pwrs_M1 (nt,3) W Input powers vs time for each wave at mirror M1
input_pwrs_M2 (nt,3) W Input powers vs time for each wave at mirror M2
power_out_m1 (nt,3) W outputput powers vs time for each wave at mirror M1
power_out_m2 (nt,3) W outputput powers vs time for each wave at mirror M2
max_input_irrads_M1 (1,3) W/m^2 Peak irradiances of input beams for each wave at mirror M1
max_input_irrads_M2 (1,3) W/m^2 Peak irradiances of input beams for each wave at mirror M2
input_fluences_M1 (nx,ny,3) J/m^2 Input fluences in x and y for each wave at mirror M1
input_fluences_M2 (nx,ny,3) J/m^2 Input fluences in x and y for each wave at mirror M2
fields_xyt_in_M1 (nx,ny,nt,3) V/m Input electric field profiles in x, y, and t for each wave at mirror M1
fields_xyt_in_M2 (nx,ny,nt,3) V/m Input electric field profiles in x, y, and t for each wave at mirror M2
fluence_m1 (nx,ny,3) J/m^2 Output fluences for each wave at mirror M1
fluence_m2 (nx,ny,3) J/m^2 Output fluences for each wave at mirror M2
length1 (1,1) m Length of leg 1: distance between mirror M1 and crystal 1 input face, which is the same as distance between crystal 1 output face and mirror M2
length2 (1,1) m Length of leg 2: distance between mirror M2 and crystal 2 input face, which is the same as distance between crystal 2 output face and mirror M1
roundtt (1,1) s Time for 1 cavity roundtrip
kxmat (nx,ny) 1/m Angular frequency in x direction (for plotting farfield fluences etc)
kymat (nx,ny) 1/m Angular frequency in x direction (for plotting farfield fluences etc)
zvec1 (1,nz) mm Positions through crystal 1 we've saved things like fluence on
S0 (1,1) W/m^2 Characteristic irradiance S_o for crystal 1
S0_2 (1,1) W/m^2 Characteristic irradiance S_o for crystal 2
max_irradiances_c1 (3,1) W/m^2 Peak irradiances in crystal 1 for each wave
peak_powers_c1 (3,1) W Peak powers in crystal 1 for each wave
max_fluences_c1 (3,1) J/m^2 Peak fluence in crystal 1 for each wave

If you are using two crystals (2nd crystal length is nonzero - element 2 of ristra_12_crystal_lengths of the ristra12_inputs object you used as input argument), also have the following fieldnames:

Fieldname Shape Units Description
phase_crystal_2_red1_halfdz(nx,ny)radPropagation phase array to propagate 1/2 z step in crystal 2 for red1 wave (useful for debugging mostly)
phase_crystal_2_red2_halfdz(nx,ny)radPropagation phase array to propagate 1/2 z step in crystal 2 for red2 wave (useful for debugging mostly)
phase_crystal_2_blue_halfdz(nx,ny)radPropagation phase array to propagate 1/2 z step in crystal 2 for blue wave (useful for debugging mostly)
fluence_red1_xyz_c2(nx,ny,nz)J/m^2Fluence for red1 wave in crystal 2 at each point in x, y, and z
fluence_red2_xyz_c2(nx,ny,nz)J/m^2Fluence for red2 wave in crystal 2 at each point in x, y, and z
fluence_blue_xyz_c2(nx,ny,nz)J/m^2Fluence for blue wave in crystal 2 at each point in x, y, and z
power_vs_zt_c2(nz,nt,3)WPower vs z and t for each wave in crystal 2
zvec2(1,nz)mmPositions through crystal 2 we've saved things like fluence on
max_irradiances_c2(3,1)W/m^2Peak irradiances in crystal 2 for each wave
peak_powers_c2(3,1)WPeak powers in crystal 1 for each wave
max_fluences_c2(3,1)J/m^2Peak fluence in crystal 1 for each wave


If you're using custom input electric fields (by passing the ristra12_v1point1 call an input argument of class ristra12_input_fields) there will also be a fieldname input_fields which has fieldnames inside of it of red1_xyt_field_mirror1, red1_xyt_field_mirror2, red2_xyt_field_mirror1, red2_xyt_field_mirror2, blue_xyt_field_mirror1, xgridmat, ygridmat, tvec_M1, and tvec_M2.

See also class definition files ristra12_inputs.m and ristra12_input_fields.m