1
$\begingroup$

I am trying to simulate the propagation of light in material using the non-linear schrödinger equation (NLSE): $$\partial_zE=\frac{i}{2k_0}\nabla^2_\perp E+\frac{ik_0n_2}{n_0}\vert E\vert^2E-0.5\beta^{(2)}\vert E\vert^2E-\frac{\sigma}{2}(1+i\omega_0\tau_c)\varrho_eE$$ together with a plasma-generating term $$\partial_t\varrho_e=\frac{\beta^{(2)}\vert E\vert^4}{2\hbar\omega_0}$$ In the NLSE the last term corresponds to the interaction of the electric field with the free carriers generated in the second equation.

I would like to verify my implementation to check if all parts have been implemented correctly. I have an analytical solution for the diffraction term (first term in the NLSE) and an analytical solution for the second term (non-linear absorption) when assuming a collimated beam at the beginning. For the self-focusing process I can calculate the collapse distance, again for using a collimated beam at the input.

For the last term, though, I was not able to find a possible way for verifying if I implemented it correctly yet. What are my options here, and how can I proceed for verification (and future unit tests)? I currently see two options here:

  • Separate both equations, and assume that they are independent from each other. I then can find an analytical solution for the NLSE with a constant value of $\varrho_e$ and an analytical solution for the generation equation with a constant value of $E$.
  • Approximate the equations as close as possible and find an estimated solution, similar to the collapse distance of the self-focusing effect

The former approach would be the simpler approach, but would have the drawback that I can not test the interaction between both equations. The latter approach would be closer to my real implementation, but I am not sure if that approach is possible at all. Thus, are there other, simpler options?

$\endgroup$

1 Answer 1

1
$\begingroup$

Use the Method of Manufactured Solutions to create whatever solution you like, crank it through the equations to give a forcing function and boundary conditions, and then put those into your solver and compare its answers to the ones you started with. This works best on nice domains.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.