Optiwave Systems Inc.
Research Scientist, Project Lead (OptiFDTD)
Forum Replies Created
- The Cu2O model is based on data covering a wavelength range of 2.5um – 55um. Your source wavelength is set to 0.7um which would result in extrapolation for the model which is not advisable for a Lorentz-Drude fit. You should find a data set for Cu2O that includes your desired operating wavelength
- This reply was modified 3 hours, 46 minutes ago by Scott Newman. Reason: Upload failure
- We have a Lorentz-Drude model which allows the modelling of the dispersive (and gain) materials you have. The pre-installed material libraries you can import already contain fits for your InGaAs/GaAs regions. I am assuming your electrodes are non-magnetic.
- We have tools for easily designing both ridge waveguides and periodic structures
- The ratio of your smallest feature to the full structure along the same direction. For example the specifications of your duty cycle and period for the Bragg grating relative to the length of the full grating.
- Gain saturation – FDTD tools model gain through the complex refractive index, but they do not model gain saturation. Therefore the reliance on your design to gain saturation will be a concern.
- Electro-optics – Do you plan on modelling the electro-optics through the use of the electrode?
The fundamental problem with your design file is that the LD models you are using are incorrect and do not reproduce acceptable distributions based on the literature data. These incorrect models result in a divergent simulation. I have previously provided you with properly fit LD models for both Au and Cu2O materials when you contacted us through the email@example.com, I have reattached them here in a zip file. If you use these material fits you will not have the “No valid data” error.
There are additional concerns you should be aware of with your design.
The answer to that is going to rest in your layout and exactly what you are modelling. Do you have a fdt file you can upload?
This particular question should be in the FDTD forum as opposed to system.
The reason your simulation is not working is that the TF/SF functionality was not ported to 64 bit version of the software. What device are you modelling? Also what version of the software are you currently using?
Based on the diagram you attached it would appear that your incidence plane is XY (propagation in XY and interface normal is Y). You are correct, if this is the case then the S (E field perpendicular to the incidence plane) would be the Ez group while the P( E fields parallel to the incident plane) would be the Ex/Ey group.
S – Ez, Hx, Hy
P – Ex, Ey, Hz
In regards to your question about the Poynting vector calculation things get a bit trickier.
S = E x H
which leads to
S = (EyHz-EzHy)x+(EzHx-ExHz)y+(ExHy-EyHx)z
If you have a source that is purely S or purely P polarized then you can neglect the field components of P when working on S, etc. This yields
S (S polarization) = -(EzHy)x+(EzHx)y
S (P polarization) = (EyHz)x-(ExHz)y
Note this separation cannot be done if your source contains field components of both polarizations.
In OptiFDTD the Poynting vector for an observation area is calculated along the direction normal to the plane. This means to get the polarizations above you should create an observation plane perpendicular to x and one perpendicular to y and get the fields from these. From there you can calculate the above equations.
Thank you Manoranjan for forwarding your design file. After running some tests it would appear that the number of layers selected for the PML is inadequate for this design.
While the default settings in FDTD are selected to maximize the range of effectiveness the PML along with your mesh size must be tested and verified using convergence testing.
Doubling the PML thickness to 20 layers removes the divergent behavior and returns expected results.
You are correct in that there is currently no direct way to access the wavlengths for a given DFT. This has been noted as a feature that is required and will be remedied when we can. In the mean time I do have a work around that I use. When you use the CalculatePowerSpectrumTotal() function for a given observation area you will get a XY vector where X is the wavlengths and Y is the DFT amplitude. You can use this to parse through and obtain your wavelengths. You can find an example of this script I used on a simulation with “ObservationArea1” where I was interested in the Ey field.
WGMgr.Sleep( 50 )
N = SimCtrlParams2D.GetDFTNumberOfSpectrumSamples()
set area = ObservePtMgr.GetObjFromID(“ObservationArea1”)
set spectrum = area.CalculatePowerSpectrumTotal()
For i = 1 to N
lambda = spectrum.GetXat(i)
set field = area.GetField(“Ey”, lambda)
From what you have posted everything seems fine. What version of the software are you using?
Would it be possible for you to upload a copy of your design file so that I can take a look? I would suggest zipping the fdt file as the website sometimes has issues with that file extension.
The results you are showing are the results of a divergent FDTD simulation. Typical reasons for this is mesh that is too large or a material defined such that it has gain.
1. I know you say you are using less than lambda/10 but that statement is based on your central wavelength. How broadband are we talking? What is your smallest wavelength?
2. What materials are you using in your structure? If you defined a dielectric with real and imaginary components what is the sign of your imaginary component? In OptiFDTD materials are defined as ~n = n – jk. Positive k is loss so the imaginary component must be negative for loss.
The Optiwave 3D viewer which opens does give you 4 views.
1. Top-Left: A top down view of the DFT of the field, in your case the EZ field, as captured by your observation area. The z coordinate is in fact the real/imaginary/amplitude value depending on what you have selected. This view has a red marker which can be moved using the mouse. This cross hair is used to define the other views.
2. Top-Right: The DFT values along the vertical part of the aforementioned marker are shown in this view. This is the X-cut view .
3. Bottom-Left: The DFT values along the horizontal part of the aforementioned marker are shown in this view. This is the Y-cut view.
4. Bottom-Right: The 3D representation of the data.
The field exported from an observation area is a DFT which has real and imaginary components. The amplitude and phase are the standard definitions for a complex quantity. amplitude = sqrt(real^2+imaginary^2), phase = atan(imaginary/real).
It will depend on what exactly you are looking to model as well as the size of your structure relative to the feature sizes. It will also require use of the new versions of OptiFDTD, I doubt the 32-bit that many here use is capable of it.
Concerns I will need more information will be:
I would strongly encourage you to download the evaluation of OptiFDTD 14 and try it out with your design. If you have issues come back here or reach out to our support team.
As of OptiFDTD 13 and up we do have the ability to script the export of the DFT information as an f3d file. I have attached a zip file that contains a design file with a script that will accomplish this. Note it is a 3D simulation.
My m file did not upload, here it is in a zip file.
As Steve stated you are limited to only exporting the time series data for an observation point. You would need to perform the DFT yourself. The script you would need to run within OptiFDTD would be the following (note that my observation point is ObservationPoint1 and I am running an Ey polarized source).
set observationPoint1 = ObservePtMgr.GetObjFromID(“ObservationPoint1”)
WGMgr.Sleep( 50 )
set TimeSeries = observationPoint1.GetTimeSeries(“Ey”)
You would then need to process this in Matlab, I have attached a matlab script that will calculate the dft with real, imag, amp, and phase. Note this fft is based on the number of time samples and will not show the oscillations at the lower frequencies. Make sure the filename in the dlmread is the same as the filename you used in the WriteF2D command.
Hope this helps.
By “faces the z-direction” I am going to work under the assumption that you mean the elliptical cross section is in the XY plane and the waveguide runs along the z axis.
The best way to set this up is to add a fiber profile through Profile Designer with your desired major and minor axis. then create a linear waveguide along z and assign the fiber profile to this waveguide. I have attached a picture of a design that has the elliptical waveguide you are referring to and the waveguide I am describing on the left.
Is this what you are looking for?