disordered-photonics / celes

CELES: CUDA-accelerated electromagnetic scattering by large ensembles of spheres
Other
48 stars 18 forks source link

How to calculate the energy absorbed by particle? #33

Open zymnus opened 1 week ago

zymnus commented 1 week ago

Hi everyone,

I want to calculate the overall energy absorbed by the particle. Is it equal to the incident energy - forward energy - backward energy (the values given in output)? I would like to calculate the absorbed energy based on the equation: $-\int_{\partial \Omega} \vec{S} \cdot \vec{e}_r dA$, where $\vec{S}$ is the poynting vector of total field and $\vec{e}_r$ is the unit vector of radial direction. Do you know what variables or functions should I use to get it? Thank you very much.

AmosEgel commented 6 days ago

Hi @zymnus,

unfortunately, it is so long ago that we developed this package, and now I don't remember some of the details :-(

I try to answer as good as I can.

I want to calculate the overall energy absorbed by the particle. Is it equal to the incident energy - forward energy - backward energy (the values given in output)?

I would say yes. The absorbed energy you compute this way will, however, be affected by numerical errors, because the forward and backward scattered energies are computed by numerical integration of the plane wave expansions.

I would like to calculate the absorbed energy based on the equation: − ∫ ∂ Ω S → ⋅ e → r d A , where S → is the poynting vector of total field and e → r is the unit vector of radial direction. Do you know what variables or functions should I use to get it? Thank you very much.

You can use the functions compute_initial_field and compute_scattered_field to evaluate the electromagnetic fields outside the particles or the function compute_internal_field to evaluate the electromagneteic fields inside the particle.

The best way to evaluate the absorbed power would be to use a formula based on the SVWF expansion coefficients for the internal fields (or, alternatively, for the scattered and initial fields). The expansion coefficients are computed in the method compute_internal_fields, see lines 74 to 84. I assume that in literature one can find formulas for the absorbed power in a particle based on the internal field spherical wave expansion coefficients. You can also try to derive the formulas yourself, starting from the formula you quoted and using the SVWF orthogonality relations.

zymnus commented 6 days ago

Got it! Thank you very much for your kind reply.