Predicting shape using ADDA

71 views
Skip to first unread message

Golova, A.M. (Anna)

unread,
Sep 6, 2022, 8:54:12 AM9/6/22
to adda-d...@googlegroups.com
Dear Sir, Madam,

I'm new to ADDA. I was wondering if it's possible to predict nanoparticle shape using ADDA and if it is, which values need to be known to do that.

Kind regards,
Anna Golova

Maxim Yurkin

unread,
Sep 6, 2022, 9:18:12 AM9/6/22
to adda-d...@googlegroups.com, Golova, A.M. (Anna)
Dear Anna,

I am not sure what exactly you mean by "predict". If you are asking about how to specify the particle shape in ADDA for further simulation, then you should look at the list of available predefined shapes in ADDA (e.g., Section 6.4  "Predefined shapes" of the manual) and, if that does not covers your needs, look at extra options at https://github.com/adda-team/adda/wiki/FAQ#how-to-simulate-light-scattering-by-a-particle-which-shape-can-not-be-described-by-any-of-the-adda-predefined-shapes .

If you are interested in retrieving the particle shape from some optical measurements, that constitutes a (generally complicated) inverse problem. And ADDA is dedicated to solving the direct problem, which is, at best, only one of the components for solving the direct one. With respect to the connection between these problems, I can recommend our recent review: Romanov A.V. and Yurkin M.A. Single-particle characterization by elastic light scattering, Laser & Photon. Rev. 15, 2000368 (2021). (PDF)

I hope, the above qualifies for a quick answer. But let me know, if you meant something else, or need more details on any of the above.

Maxim.

P.S. This answer has been forwarded to your e-mail address for your convenience. However, if you want to continue the discussion please reply to the group's e-mail. You are also advised to check the corresponding discussion thread at http://groups.google.com/group/adda-discuss and/or subscribe to it to receive automatic notifications, since other answers/comments will not be necessarily forwarded to your e-mail.


06.09.2022 19:49, 'Golova, A.M. (Anna)' via ADDA questions and answers пишет:
--
You received this message because you are subscribed to the Google Groups "ADDA questions and answers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to adda-discuss...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/adda-discuss/DB8PR09MB43894AC11F4CD7C587DD06E99F7E9%40DB8PR09MB4389.eurprd09.prod.outlook.com.


Maxim Velli

unread,
Sep 7, 2022, 9:42:36 AM9/7/22
to ADDA questions and answers
Dear Maxim,

I am a teammate of Anna's, so I wanted to clarify a number of things about this question on the relevance of ADDA to a problem we're trying to solve. As a team of Leiden University, we are participating in an annual competition in synthetic biology called iGEM. This year the team focused on the production of star-shaped bimetallic (Gold@Silver) nanoparticles with biological agents. We were considering using ADDA to predict the absorbance of a single star-shaped bimetallic nanoparticle (~100nm), ultimately creating a visual model. In this model, the user would be able to change the input parameters, e.g. size of the golden inner sphere vs length of silver "spikes", and observe a change in the expected absorption peak. Our idea behind this was to visualise the influence that synthesis conditions (metal salt concentrations, pH, temperature) have on the absorbance spectrum of the synthesised nanoparticles. I hope that this description clarifies the intent we have for using ADDA. Otherwise, I can further elaborate. Please let me know if you think that ADDA is a suitable tool for this application. And whether you believe that a month's time is enough to achieve such a goal (we're quite ambitious, I know :) )

Kind regards,
Maxim Velli

Maxim Yurkin

unread,
Sep 8, 2022, 12:01:59 AM9/8/22
to adda-d...@googlegroups.com
Hi Maxim. Yes, now that's clear what you want to do. As I see it, the whole task can be decomposed in three parts:
1) generate the particle shape given the physical/chemical variables (I guess, you know how to do it),
2) divide the whole spectrum calculation into single ADDA runs
3) perform many ADDA runs for specific particle shape, wavelength, and refractive indices for this wavelength.

Overall, ADDA is designed for task 3), the only remaining question is the compromise between simulation time and accuracy (also related to the choice of optimal DDA formulation). Overall, it is doable, but if you want to make it both accurate and close to real time - this can be a challenge.

Task 2) boils down to scripting. See https://github.com/adda-team/adda/wiki/FAQ#how-to-calculate-the-wavelength-spectrum-of-extinctionscatteringetc . On one hand, it is straightforward. On the other hand, I know other people already implemented similar scripts. So hopefully, they will add more details to this thread.

Finally, a subtask in between tasks 1) and 2) is representation of the particle shape in the format suitable for ADDA. Overall, this is covered by https://github.com/adda-team/adda/wiki/FAQ#how-to-simulate-light-scattering-by-a-particle-which-shape-can-not-be-described-by-any-of-the-adda-predefined-shapes . If you have the shape in some common 3D format, `misc/pip` should be able to voxelize it for ADDA use. On the other hand, if you have some functional description of your star shapes, then take a look at `misc/hyperfun` which has a potential to simplify the whole shape toolchain. But mind that hyperfun is not completely portable (using it on systems other than Windows seems to be at least more complicated).

Feel free to ask more specific questions, I (and others) may be able to provide more details.

Maxim.

07.09.2022 20:30, Maxim Velli пишет:

Alexander Kichigin

unread,
Sep 9, 2022, 8:27:51 AM9/9/22
to adda-d...@googlegroups.com
Dear Maxim and Anna,
My name is Alexander, I am a part of Maxim Yurkin's team.
In my own work I often simulate and plot spectra and generate/visualize different particle geometries for those simulations, all of that using Python.
I decided to write a small concept script for your task.

First of all, you need a mathematical model to describe the particle you are trying to "draw": number of spikes, their sharpness, length, size of the sphere - how to describe all of that by some parametric equation (and how synthesis conditions affect those parameters). I could not find any good mathematical model for that (so you will need to find and/or develop one). I just used the 3D Chebyshev particle equation with slight modifications to create some sort of spikes, and this mathematical model has very limited ability to control spikes' parameters, but it's good for a start. After I create a chebyshev particle, I separately create a sphere and place it inside the chebyshev. 

Second, you need to discretize and visualize the modeled particle. As ADDA uses a 3D cubical grid to define a scatterer, your discretized particle will consist of same-size cubical voxels. I am developing a Python library ADDAwrapper, which can visualize such sets of voxels including those having multiple materials. Here is an example of what the particle from the above paragraph will look like:
nanoparticle.png

Third, you need to simulate the absorption spectrum for the particle utilizing refractive index dependence on the wavelength for both Au and Ag. Fortunately, this is also done in ADDAwrapper by a set of simple commands. Here is an absorption spectrum for the particle shown above - a clear peak at 580 nm:
Cabs.png

Please see the attached files.
To use the script, you need to unzip ADDAwrapper.zip into /path/to/adda/misc/
and place the run.py into /path/to/adda/examples/plane/star (you need to create all folders that you don't already have),
then you should be able to run run.py in your Python environment (I recommend using Python) and tweak the parameters.
Let me know if this helps, and I am open for questions.

ADDAwrapper.zip
run.py

Alexander Kichigin

unread,
Sep 9, 2022, 8:35:21 AM9/9/22
to adda-d...@googlegroups.com
Instead of "I recommend using Python" I was trying to say "I recommend using Spyder" :)
Reply all
Reply to author
Forward
0 new messages