Loading [MathJax]/extensions/tex2jax.js
Electromagnetic Template Library (EMTL)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Running

Congratulations, you have installed the HiFDTD library! It's time to run the first script. Firstly, create an empty directory:

    mkdir EmptyDir

Second step, you should create an empty '.py' (python extension) file and copy this code into this file:

    import emtl
    import sys

    emtl.emInit(sys.argv[1:])

    h_plate = 0.1
    task = emtl.uiPyExperiment()
    task.UseLambda(1)
    task.SetWavelengthRange(600, 0.3, 1.2)

    dx = 0.001
    task.SetResolution(dx, 0.5) #accuracy

    task.SetInternalSpace(emtl.Vector_3(0),emtl.Vector_3(0, 0, 3*h_plate))

    task.SetBC(emtl.BC_PER, emtl.BC_PER, emtl.BC_PML)
    task.SetPMLType(emtl.CPML_TYPE);
    task.SetFourierOnFly(True)

    plate = emtl.GetPlate(emtl.Vector_3(0, 0, 1), emtl.Vector_3(0, 0, h_plate), h_plate)

    gold = emtl.getAu()

    task.AddObject(gold, plate)

    task.AddTFSFPlane(emtl.INF, emtl.INF, 0.05)

    task.SetPlaneWave(emtl.Vector_3(0,0,1), emtl.Vector_3(1,0,0))

    task.AddRTASet("flux", 2, 0.025, 3*h_plate-0.025)

    task.BuildDimensions();
    task.Calculate(16)
    task.Analyze()

This script moddelling light reflecting from gold plate. This script return picture of spectrum of reflection coefficient with name 'Reflecting_spectrum.png'. You can vizulize it using standart python libraries 'matplotlib' and 'pandas'. You should make new python script and copy this code into it:

    import matplotlib.pyplot as plt
    import pandas as pd

    data_spectrum = pd.read_csv('flux.d', sep = '\t', dtype = float)

    fig, ax = plt.subplots()

    ax.plot(data_spectrum['#wavelength'], 100*data_spectrum['W[0]']/data_spectrum['W[1]'], color = 'blue')

    ax.grid()

    ax.set_xlabel('Wavelength, $\mu$')
    ax.set_ylabel('Reflecting, %')
    ax.set_title('Reflecting coefficient')

    fig.savefig('Reflecting_spectrum')

If you have not got this libraries, run this code in command promt:

    pip install matplotlib

and after installation of matplotlib, run this code:

    pip install pandas