Basic Usage

The functioning of the wavefront simulator is as follows:

The Generation module populates the storage objects in the Storage module. The Plotting module and Interactive module display the generated data. The plots can then be compared to LTspice using the Verification module.

The most powerful tools are the interactive jupyter-notebook widgets, see the examples.ipynb to get an overview of the general functionality. The specific capabilites of the simulator are best seen by overviewing the Plotting module functions

Simulating an interface and some basic plotting
    from wavefronts.generation import generate_interface_data
    import wavefronts.plotting as wp
    import matplotlib.pyplot as plt

    # simulate a resonator circuit
    interface = generate_interface_data(L_time='8' , C_time='7',
                                         L_impedance = '500', C_impedance = '2')

    # plot interconnect time waveforms
    wp.make_time_interconnect_all(interface)

    # plot voltage reflection diagram
    fig_reflection_voltage, ax_reflection_voltage = plt.subplots()
    wp.plot_refelction_diagram(interface,ax_reflection_voltage,True) # True for plot voltage

    # display the commutative and multiplicative fanout of the capacitors voltage
    wp.make_commutative_merged_lines(interface,'interconnect','voltage capacitor')

    # plot the spatial distribution of voltage and current at 79.597s
    wp.make_spatial_voltage_and_current('79.597',interface)

    plt.show()