SimulationPlanar
The SimulationPlanar class can be initiated in Lua script by
s = SimulationPlanar.new()
Most of the function provided in base class can be used except for the following changes.
Failure
The following function are unavailable and cannot be called for a SimulationPlanar
object.
OptPrintIntermediate()
Note
The following functions are added and specific to SimulationPlanar
object.
SetKParallel(end)
-
Arguments:
- end: [double], the end of the integral. It is a normalized number with respect to .
-
Output: None
-
Note: this function is essentially doing where the integral is evaluated either using Gauss-legendre methdod or Gauss-kronrod adaptive method.
GetPhiAtKParallel(omega index, k parallel value)
-
Arguments:
- omega index: [int], the index of omega where is evaluated. To be consistent with Lua, this index starts from .
- k parallel: [double], the value where is evaluated. It should be a normalized value with respect to .
-
Output: [double], value of .
IntegrateKParallel()
-
Arguments: None
-
Output: None
-
Note: before using this function, make sure the flux integral can be reduced to a integral. In principle, the cases when all the materials possess only scalar dielectric or diagonal forms can use this function.
OptUseQuadgl(degree)
-
Arguments:
- degree: [int, optional], using Gauss-legendre method in the integral and set the degree of legendre polynomial in
IntegrateKParallel()
. If degree is not given, it is set to be .
- degree: [int, optional], using Gauss-legendre method in the integral and set the degree of legendre polynomial in
-
Output: None
OptUseQuadgk()
-
Arguments: None
-
Output: None
-
Note: this function uses Gauss-kronrod adaptive integral algorithm in
IntegrateKParallel()
. The simulation will use this function if the integral option is not specified.