QuaCaTeam / quaca

QuaCa is an open-source library which provides fast calculations of nonequilibrium atom-surface interactions.
https://quacateam.github.io/quaca/
MIT License
3 stars 2 forks source link

[JOSS Review] Comments on Modular structure and Optimized Version #80

Closed myoelmy closed 1 year ago

myoelmy commented 1 year ago

https://github.com/openjournals/joss-reviews/issues/5160#issuecomment-1453048277

ddanzer commented 1 year ago

This issue shall resolve the following comments from https://github.com/openjournals/joss-reviews/issues/5160#issuecomment-1453048277:

    • [x] Since most scientific software is modular, I would request the author to elaborate more on the modularity of QuaCa and discuss any intentional choices made from a software design perspective to make the package extensible. This was briefly mentioned in lines 67-73, but a more clear justification would be helpful.
    • [ ] Though the authors have cited MEEP, I would like the authors to clearly describe the current state of other open-source packages and the exact gap that QuaCa is trying to address.
    • [ ] Specifically, they have mentioned that QuaCa uses a numerically optimized version of $F_{\mathrm fric}$. I would request the authors briefly describe the approach that is unique to QuaCa when compared with other FDTD packages that offer subroutines to calculate the Casimir force.
    • [ ] Additionally, I would request the authors to comment on the applicability of the implemented optimizations and limitations of the same, if any.
ddanzer commented 1 year ago

Concerning point 1.

We replaced the sentence in line 67

"On the other hand (ii), we have chosen an implementation strategy where any of the physical quantities, such as the permittivity, the polarizability, the Green tensor or the power spectrum, are assigned to individual objects in the package. These can be tested, replaced, computed or used independently. By virtue of this modular structure, the QuaCa package can be easily adapted to different geometries and materials, parts of the code can be used as a library performing a subroutine in a larger project, or it can even be extended to compute other observables of fluctuation-induced light-matter interactions."

with

"On the other hand (ii), we have chosen a modular implementation strategy guided by physical principles. We assigned each meaningful physical observable in the setup to individual objects in the package which can be tested, replaced, computed or used independently. Irrespective of the particular intricacies that come with the calculation of quantum friction (i), the code structure reflects the individual building blocks of the physical setup, i.e. the atom (polarizability), the electromagnetic vacuum field in the presence of the given geometry (Green tensor) as well as the respective material properties (permittivity). By virtue of this modular structure, the QuaCa package can be easily adapted to different geometries and materials in the calculation of quantum friction, (physically relevant) objects of the code can be used as a library performing a subroutine in a larger project, or they can be used to compute other observables of fluctuation-induced light-matter interactions."
ddanzer commented 1 year ago

Concerning point 2.

We are not aware of any open-source software that is designed to compute the steady-state atom-surface quantum friction, other than brute force implementations of the coupled integrals occurring in $F_{\mathrm{fric}}$. As explained in lines 60-66, previous code projects that focus on other fluctuation-induced effects are, to the best of our knowledge, not directly applicable to the situation.

ddanzer commented 1 year ago

Concerning point 3.

As in point 2., other open-source software can not, we think, be directly applied to the situation of steady-stae atom-surface quantum friction. The term "optimized" in the draft refers to a particular analytical form of $F_{\mathrm{fric}}$, "where some nested integrals decouple" (line 64), which allows for an optimized performance with respect to a brute-force implementation. We acknowledge that this can lead to a misunderstanding. To make it more clear, we have modified the sentence in line 64 which now reads:

"Here, QuaCa uses an analytically equivalent version of $F_{\mathrm{ fric}}$, which is particularly suited for numerical computations. We decouple nested integrals and take explicit care of the occurring poles. This allows for an efficient and reliable computation of the force. For details of the procedure, we refer to Ref. [@oelschlager2019]."
ddanzer commented 1 year ago

Concerning point 4.

The in point 3 (and the paper) described "optimizations" have made a numerical calculation of $F_{\mathrm{fric}}$, in the situation described in the paper, possible in the first place. By implication, the QuaCa package is somewhat limited to an efficient calculation of steady-state quantum friction. Due to the modular structure driven by physical arguments, we may regain some flexibility, since many other fluctuation-induced forces can be computed from the same building blocks. We try to demonstrate this flexibility by additionally providing an executable for computing atomic decays rates. However, we have no intention to be in competition with other open-source software here. The strength of the package is the computation of (nonequilibrium) steady-state atom-surface quantum friction.

chegerland commented 1 year ago

looks good to me :)

ddanzer commented 1 year ago

Received positive feedback from the review.