Simulation
There are two way to construct a Simulator
with uniform permittivity.
Construct simulator by parameter
s = Simulator(
max_x=3e-6, max_y=10e-6, max_t=0.1e-12, # calculation boundaries
nx=300, ny=1000, # discretization
λ=2.04e-6, # wavelength of light
ϵ = 9., μ = 1. # permittivity and permeability
)
Construct simulator by components
Declare constants
# calculation boundaries
max_x = 3e-6
max_y = 10e-6
max_t = 0.1e-12
# discretization
nx = 300
ny = 1000
# wavelength of light
λ = 2.04e-6
# permittivity and permeability
ϵ = 9.
μ = 1.
Construct components
grid = Grid(max_x, max_y, max_t, nx, ny)
light = Light(λ)
permittivity = Permittivity(ϵ, grid)
permeability = Permeability(μ, grid)
Construct simulator
s = Simulator(grid, light, permittivity, permeability)
Implant defect to modify permittivity
# ##########
# # const. #
# ##########
# calculation boundaries
max_x = 3e-6
max_y = 10e-6
max_t = 0.1e-12
# discretization
nx = 300
ny = 1000
# wavelength of light
λ = 2.04e-6
# permittivity and permeability
ϵ = 9.
μ = 1.
# defect
ϵ_defect = 1.
xs_defect = [0, 1e-6, -1e-6]
ys_defect = [1e-6, 2e-6, 3e-6]
rs_defect = [0.5e-6, 0.1e-6, 0.2e-6]
# ##############
# # components #
# ##############
grid = Grid(max_x, max_y, max_t, nx, ny)
light = Light(λ)
permittivity = Permittivity(ϵ, grid)
permeability = Permeability(μ, grid)
implant!(permittivity, ϵ_defect, xs_defect, ys_defect, rs_defect, grid)
# #############
# # simulator #
# #############
s = Simulator(grid, light, permittivity, permeability)
Or
ϵ_defect = 1.
xs_defect = [0, 1e-6, -1e-6]
ys_defect = [1e-6, 2e-6, 3e-6]
rs_defect = [0.5e-6, 0.1e-6, 0.2e-6]
s = Simulator(
max_x=3e-6, max_y=10e-6, max_t=0.1e-12, # calculation boundaries
nx=300, ny=1000, # discretization
λ=2.04e-6, # wavelength of light
ϵ = 9., μ = 1. # permittivity and permeability
)
implant!(s.permittivity, ϵ_defect, xs_defect, ys_defect, rs_defect, s.grid)
Run simulation
simulate!(s)
To see permittivity:
plot_ϵ(s)
To sea the result:
plot_e_field(s)