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) | rad | Propagation 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) | rad | Propagation 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) | rad | Propagation 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^2 | Fluence for red1 wave in crystal 2 at each point in x, y, and z |
fluence_red2_xyz_c2 | (nx,ny,nz) | J/m^2 | Fluence for red2 wave in crystal 2 at each point in x, y, and z |
fluence_blue_xyz_c2 | (nx,ny,nz) | J/m^2 | Fluence for blue wave in crystal 2 at each point in x, y, and z |
power_vs_zt_c2 | (nz,nt,3) | W | Power vs z and t for each wave in crystal 2 |
zvec2 | (1,nz) | mm | Positions through crystal 2 we've saved things like fluence on |
max_irradiances_c2 | (3,1) | W/m^2 | Peak irradiances in crystal 2 for each wave |
peak_powers_c2 | (3,1) | W | Peak powers in crystal 1 for each wave |
max_fluences_c2 | (3,1) | J/m^2 | Peak 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