"""

name: diffraction.py

Calculate and visualize circular diffraction.

Problem 5.4 from Newman's Computational Physics.

author: Darcy Lewis
date created: 15/3/2021


"""
# Reminder: you can create other helper functions as long as the function
# behaviors below remain the same




    

# part (a) 
# function name: J

    """
    Calculate mth Bessel function for the values in x.

    Parameters
    ----------
    m : INT
        mth Bessel function.
    x : FLOAT
        x-value to calculate Bessel at.

    Returns
    -------
    bessel : FLOAT
        mth Bessel function at x.

    """




# part (a)
# function name: plot_Bessel

    """
    Overlay the Bessel functions over the range of x for m=0,1,2,3.

    Returns
    -------
    None.

    """

  
# part b    
# function name: calc_diffraction

    """
    Calculate the diffraction over an NxN grid which spans from -1e6 to 1e6 in x and y.

    Parameters
    ----------
    N : TYPE
        DESCRIPTION.

    Returns
    -------
    circular : TYPE
        DESCRIPTION.

    """

  
# part b  
# function name: plot_diffraction

    """
    Density plot of circular diffraction pattern.

    Parameters
    ----------
    N : INT
        discretization in the x and y dimensions.

    Returns
    -------
    None.

    """

    
def main():
    # part a

    # part b

    
    
if __name__ == "__main__":
    main()
