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:
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:
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.