Skip to content

Numerical stability in SimulationPlanar #6

Description

@yigithanmehmetkose

Hello,

I carry out a planar simulation using these codes to find the flux absorbed by a layer in the near-field:

sim.SetProbeLayer(layer_name = 'InAs')

sim.SetProbeLayerZCoordinate(0)

sim.SetSourceLayer(layer_name = 'eSubstrate')
sim.InitSimulation()
sim.IntegrateKParallel()
phi_eS_c_u = sim.GetPhi()

sim.SetSourceLayer(layer_name = 'eARC')
sim.InitSimulation()
sim.IntegrateKParallel()
phi_eARC_c_u = sim.GetPhi()

sim.SetProbeLayerZCoordinate(t_c)

sim.SetSourceLayer(layer_name = 'eSubstrate')
sim.InitSimulation()
sim.IntegrateKParallel()
phi_eS_c_l = sim.GetPhi()

sim.SetSourceLayer(layer_name = 'eARC')
sim.InitSimulation()
sim.IntegrateKParallel()
phi_eARC_c_l = sim.GetPhi()

for i in range(1999):
    q_w_c[i] = (phi_eS_c_u[i] + phi_eARC_c_u[i] - phi_eS_c_l[i] - phi_eARC_c_l[i]) * theta[i]

In these codes, I aim to find the difference in flux between the upper and lower bounds of the layer of interest.

When I do that, I get negative results as follows:

Image

Please note that there is no unphysicality in material properties I used.

Related to that, I have a follow-up question which I believe could be related. In some of the example codes, sim.SetKParallelIntegral is set to 10, in some others it is set to 100 or 500. Could that be the problem? Also, in the paper, there is such a comment: "In particular, since RCWA is known to have difficulty for low-loss metals, one should use MESH with caution as well when dealing with low-loss metals." I also use some metallic layers, would that worsen the situation?

Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions