I am trying to find my way around an apparent catch-22. I want to use the inbuilt Raytracing to input light into a thin film solar cell. For the n-type buffer and window layers at the front of my cell, I want to implement RayTraceBC( TMM ) thin film conditions, declare them as VirtualRegions in my OpticalSolver, and map their generation back on to the relevant regions R_buffer and R_window.
The problem is that the stack is defined:
R_gas
R_window
R_buffer
R_base
And I'd like to declare:
Physics (RegionInterface="R_base/R_gas") {
RayTraceBC ( TMM (
ReferenceMaterial = "Gas"
LayerStructure {
200e-3 "window_material"; #um
50e-3 "buffer_material"; #um
}
MapOptGenToRegions {"R_window" "R_buffer"}
QuantumEfficiency = 1
) )
The *problem* is that Sentaurus Device recognises that *there is no interface* R_gas/R_base in the stack. So despite my declaration of virtual regions, Device still doesn't understand what I want it to do, which is to 'imagine' that R_base and R_gas are adjacent for the purposes of Raytracing in order to exploit the thin film boundary conditions, but that the stack is otherwise as stated.
The Device manual appears to ignore this problem in its explanation of the use of VirtualRegions and RayTraceBC( TMM ). I can see that my definition is incomplete, but I don't know how to complete it, or to otherwise achieve what I want. Does anyone know?