Inquiry About Error Tolerance in ADDA Calculations

37 views
Skip to first unread message

Manato Koide

unread,
Dec 13, 2024, 1:56:31 AM12/13/24
to adda-d...@googlegroups.com
Hello all,

I have a question regarding the accuracy of calculations in ADDA.
Previously, I used DDSCAT, where I could adjust the "error tolerance" to any desired value using the "ddscat.par" file.

If ADDA has a feature similar to the "error tolerance" in "ddscat.par," could you please explain how to modify it?

Additionally, could you inform me of the default error tolerance value used in ADDA calculations?

I look forward to your response.
Thank you very much.

Sincerely yours,

Manato Koide

Maxim Yurkin

unread,
Dec 13, 2024, 5:11:31 AM12/13/24
to adda-d...@googlegroups.com
Dear Manato,

The short answer is `-eps ...` option - see Section 12.1 "Iterative solver". This corresponds exactly to the option of
the DDSCAT that you mentioned. And the default value is `-eps 5`, which aims for relative norm of the residual equal to
1e-5.

The bad news is that this is not really error tolerance (for neither of the codes), since the error of the calculated
scattering quantities (if compared to some independent reference) is usually much larger, and is mostly determined by
the discretization level (size or number of dipoles). This is touched upon in Section 4.1 "General applicability" of the
manual. The main problem is that truly adaptive DDA (for which one can set the required error tolerance) is not yet
developed - see https://github.com/adda-team/adda/issues/92 .

For simulations involving orientation averaging, there are additional parameters (number of independent orientations) -
see Section 8.2 "Orientation averaging" of the manual. And here ADDA actually uses an adaptive routine to determine an
optimal number of them. Still, the choice of discretization level is still important and is left to the user.

Let me know if you have further questions about that,
Maxim.
Reply all
Reply to author
Forward
0 new messages