-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How can I change the frequency values between input source and the output probe? #5
Comments
All the examples in the notebooks use the frequency-domain solver, which means that the simulation itself is computed at a single frequency. Note that the |
thanks for your response. Actually I did changed the 'Omega' parameters both in the 'simulation' function and 'insert_mode' function. I look the codes again and think this might be the problem: In the 'modes.py' file, you write a function called 'get_modes' which can return both 'array of effective indeces of the modes' and 'array containing the corresponding mode profiles'. Then you use it in the 'insert_modes' function, but in the later function, you only return the mode array(screen shoot is shown below). So I think maybe the 'array of effective indeces of the modes' thing can be used to help my work, but I do not know how to modify the code. many thanks, looking forward to your reply. :) |
So let me clarify what the mode solver does - it finds the eigenmodes at a fixed frequency, where the eigenvalues are the effective indexes (i.e. k-vector, or propagation constant) in the propagation direction. These are ordered in decreasing order. We don't really need the values of these indexes, we only need the associated eigenvector - the eigenmode - in order to launch the modal source, which is why we don't store the indexes. The way you can choose between different modes is by setting the |
Thanks for your reply which helps me to understand more about the codes. It seems that I did not clarify my question(my fault, sorry). Simply speaking, I want to use ceviche to simulate a frequency doubler, but some problems occured when I using the codes in the notebook2. At first I thought the codes could change the frequencies between input and output. After the simulation with modified codes, it seems that the codes only result in mode converting. (the simulation result is plotted below) As you can see, the simulation result did not change between input frequency and the output. In my simulation, I set Here are my new questions(hope I make it clear this time): Many thanks for your help, looking forward to your reply. :) |
No. I assume you're referring to a device that uses a material with chi2 nonlinearity. These notebooks are demonstrating optimizations of linear devices. |
emmmmm...... that sounds not good. May I ask you what software you use in this paper It seems that some nonlinearity can be simulated in the experient in the paper. Also, can I use this software and simulate the chi2 nonliearity? Many thanks to your help. :) |
We used Even without talking about inverse design, It is very hard to do accurate simulations of nonlinear phenomena. That is why most of the times, people come up with a way to compute the expected nonlinear properties from the linear response of the systems at the frequencies of interest. For example, to enhance chi-2 effects, you may optimize a resonator to have strongly confined, high-Q modes with high nonlinear overlap at omega and 2*omega, just by solving for the linear fields at the two frequencies. If you would like to do nonlinear optimizations, my advise would be to try and frame your figure of merit as a function of the linear fields at different frequencies. |
In your second tutorial notebook, I want to change the frequencies of the source and probe. First I want to simply change the 'Omega' parameter in the 'insert_mode' function, but that does not work. The function seems only return the mode information of source and probe. I am new in the inverse design and it can be very helpful if you can give me some suggestions.
Many thanks.
The text was updated successfully, but these errors were encountered: