Reproducing results of Fig. 4(a) from paper Theobald, Egel, Gomard, Lemmer, Phys. Rev. A 96, 033822, 2017

38 views
Skip to first unread message

Andrea Vallecchi

unread,
Oct 8, 2024, 8:10:04 AM10/8/24
to Smuthi
Dear All,
I am currently attempting to reproduce the example shown in Fig. 4(a) of the paper by D. Theobald, A. Egel, G Gomard, and U. Lemmer, “Plane-wave coupling formalism for 𝑇-matrix simulations of light scattering by nonspherical particles.” Phys. Rev. A 96, 033822, 12 Sep. 2017.
I have tried using both smuthi.postprocessing.graphical_output.show_scattering_cross_section and smuthi.postprocessing.far_field.scattering_cross_section to calculate and plot the differential scattering cross section.
However, I am encountering two issues:
Using postprocessing.graphical_output.show_scattering_cross_section, I am unable to achieve the same results as depicted in Fig. 4(a).
When attempting to calculate the differential scattering cross section with postprocessing.far_field.scattering_cross_section, I am facing some error in my script (attached).
Could you please help me in resolving these issues? 
I am eager to better understand how to effectively use SMUTHI, as it appears to be a highly valuable tool.
Thank you very much, best regards,
Andrea

Ellipsoid_dimer_PW_coupling.zip

Amos Egel

unread,
Oct 11, 2024, 3:52:14 PM10/11/24
to smu...@googlegroups.com

Hi Andrea,

the line plots generated by postprocessing.graphical_output.show_scattering_cross_section are the azimuthally integrated DSCS, so they don't agree with Fig 4a (which is a slice through the DSCS).

When plotting the DSCS computed with postprocessing.far_field.scattering_cross_section, you can use the following command:

dscs_slice = scs.signal[0,:,0] + scs.signal[1,:,0]
plt.plot(scs.polar_angles, dscs_slice)

It means: TE plus TM polarized DSCS, evaluated at all polar angles and 0th azimuth angle (which you have set to 90°).

This is not well documented in the online manual (sorry), there however are some hints in the source code how to interpret the FarField.signal property, see lines 62ff of far_field.py

You may also want to change the incident plane wave to polar_angle=np.pi, because the text says that the incident wave propagates to the negative z-direction.

Note that SMUTHI cannot cope with polar angles larger than 180°, althouth the paper plots polar angles from 0° to 360°. I believe that this means one times around the globe, starting at the north pole. You can get these data for polar angle continuous between 0 ... 180° and azimuth angle fixed at 0° and 180°. You will then need to concatenate these arrays (second in reverse order) to mimic the plot of the paper.

I have tried with polar angles between 0 and 180 degree and hoped that the result looked like the first half of the data published in the paper, but unfortunately, the plots didn't look alike. 

So there must be some other issue, but I cannot find it. Your script looks correct to me, except for the points mentioned above. Sorry that I cannot be of more help.

Cheers, Amos

--
Smuthi project repository: https://gitlab.com/AmosEgel/smuthi
Online documentation https://smuthi.readthedocs.io/en/latest/
---
You received this message because you are subscribed to the Google Groups "Smuthi" group.
To unsubscribe from this group and stop receiving emails from it, send an email to smuthi+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/smuthi/8034170b-7b30-4b1d-9963-ce2235f94946n%40googlegroups.com.

Andrea Vallecchi

unread,
Oct 15, 2024, 2:29:23 AM10/15/24
to Smuthi
Hi Amos,
Thank you very much for your reply and the clarifications.
Meanwhile, also thanks to the advice from Dominik Theobald,  I managed to use the "smuthi.postprocessing.far_field.scattering_cross_section" function to calculate the DSCS as in the paper.
For that, I considered the two azimuthal angles pi/2 and 3*pi/2, and concatenated the corresponding DSCS results from the method above.
However, I cannot get the results in Fig. 4(a) of the paper. 
I also tried to simulate the total scattering cross section at variable wavelength by using both the spherical wave (SW) and plane wave (PW) couplings, and compared the results with those I obtained with CST Microwave Studio.
SMUTHI results with the SW coupling do not agree well with CST ones but exhibit a similar trend, whereas those from the PW coupling are quite different from the other two sets of data.
I played with the maximum order of the SW representation and the parameter neffmax, but it seems that the results with the PW coupling change imperceptibly when changing these parameters.
The theory in the paper seems sound and the efficacy of the approach is demonstrated also for some rather extreme scattering configuration, such as the one analysed in Fig. 6.
Would you have any idea whether the issue could be rooted in any theoretical subtlety or maybe in a numerical problem?
Many thanks and best regards,

Andrea



Ellipsoid_dimer_PW_coupling.zip

Amos Egel

unread,
Oct 15, 2024, 3:33:06 AM10/15/24
to smu...@googlegroups.com

Dear Andrea,

regarding the comparison between your full wave solver on the one hand and Smuthi with and without plane wave coupling on the other hand:

Maybe you could start with an easier goemetry, such as two spheres aligned exactly above each other. All three results should then agree.

Then you could go to two flat spheroids (not rotated) packed above each other (z-aligned, with some air gap). Theoretically, the CST result should agree to the plane wave coupling result whereas there may be deviations to the Smuthi result without plane wave coupling.

And finally go to a configuration of rotated and/or shifted spheroids.

That would help to locate the issue. Note that particles that are stacked on top of each other (with some air gap) are easier to handle for the plane wave coupling module, because no rotations need to be carried out.

Cheers, Amos

Dominik Theobald

unread,
Oct 16, 2024, 5:58:02 AM10/16/24
to smu...@googlegroups.com
Dear Andrea,
 
attached you find a python script for Smuthi that yields the results from the PRA paper you are concerned with.
The main problem that arises in your script (that I did not notice right away, as you chose the correct values listed in the paper) is that the two particles are not located within the same layer. However, Smuthi can only handle scattering ensembles that are located within a single layer. In the example, no "real" layer system is defined, but Smuthi requires at least two indentical layers, the top and bottom layer.
If you simply shift the z-position of both particles by an arbitrary amount (in the attached script by 300) that ensures that both particles are either on the top or bottom layer, the simulation runs just fine.
 
The rest is the right order of polar and azimuthal angles as we have discussed in previous mails. The order I chose in 2017 (starting in the xy-plane, going counter clockwise) does not match with the definition of polar angles an Smuthi nowadays. You find the somewhat cumbersome concatenation in the script.
 
Regarding your CST simulations I cannot say much, but suggest you follow Amos' advice to start with simulations that are straight forward for the T-matrix approach. With such you can learn how to handle your reference simulations and then to go from there.
 
Hope this helps.
Best
Dominik
 
 
Gesendet: Dienstag, 15. Oktober 2024 um 09:33 Uhr
Von: "'Amos Egel' via Smuthi" <smu...@googlegroups.com>
An: smu...@googlegroups.com
Betreff: Re: [Smuthi] Reproducing results of Fig. 4(a) from paper Theobald, Egel, Gomard, Lemmer, Phys. Rev. A 96, 033822, 2017
PRA_example_4a.py
PRA_exmaple_plot_4a.png

Andrea Vallecchi

unread,
Oct 21, 2024, 4:14:36 AM10/21/24
to Smuthi
Dear Dominik,
Thank you very much for identifying the issues in my script and for providing the necessary instructions to replicate the results outlined in the paper.
Meanwhile, following Amos’ suggestion, I explored simpler geometries and analyzed various configurations of pair of spheroids aligned along the z-axis, as well as pairs of elongated cylinders spaced along the x-axis. I placed the particles close enough for their circumscribing spheres to overlap.
I compared the results obtained from Smuthi using both spherical and plane wave coupling against reference data from CST Microwave Studio. As anticipated, the plane wave coupling demonstrated a good agreement with the CST results, while the spherical wave coupling showed notable discrepancies.
I greatly appreciate the support you have provided. Your assistance has been so helpful in improving my understanding of Smuthi's operation and usage.
Thank you once again for your guidance!
Best regards,

Andrea
Reply all
Reply to author
Forward
0 new messages