This Fortran program calculates the Mueller matrix for a system based on polarization states of light using user-provided input angles and values for various polarization parameters.
- A Fortran compiler (e.g.,
gfortran
) - A command line terminal
Compile the program with the following command:
gfortran main.f90 -o mueller_matrix
After compilation, run the program by entering:
./mueller_matrix
The program will prompt you for input in two steps:
- Angles for polarization states (in degrees):
- HO, VO, PO, MO, LO, RO, OH, OV, HH, VV, PH, MV
- Values for specific polarization parameters:
- HV, VH, PV, MH, LH_RV, LV_RH
Enter angles for HO, VO, PO, MO, LO, RO, OH, OV, HH, VV, PH, MV (in degrees):
30 60 45 30 90 120 45 60 90 45 30 60
Enter values for HV, VH, PV, MH, LH_RV, LV_RH:
0.5 0.5 0.3 0.3 0.4 0.4
- HO: Horizontal Output Polarization
- VO: Vertical Output Polarization
- PO: Polarization Output at an arbitrary plane
- MO: Another polarization output state for comparison with PO
- LO: Left circular polarization output
- RO: Right circular polarization output
- OH: Horizontal Input Polarization
- OV: Vertical Input Polarization
- HH: Horizontal input and horizontal output polarization
- VV: Vertical input and vertical output polarization
- PH: Polarization input at an arbitrary angle and horizontal output
- MV: Mixed polarization input and vertical output
- HV, VH: Horizontal and Vertical cross-polarized input/output (used to represent cross-polarization effects)
- PV: Polarization at an arbitrary angle with vertical output
- MH: Mixed polarization input with horizontal output
- LH_RV, LV_RH: Represent left-hand circular to right-hand circular polarization interactions
The program will output a 4x4 Mueller matrix based on the entered angles and polarization values.
- Taken from Diffuse backscattering Mueller matrices of highly scattering media paper by Andreas H. Hielscher