RedBlight / RaytrAMP

Shooting and bouncing rays method for radar cross-section calculations, accelerated with BVH algorithm running on GPU (C++ AMP).
GNU General Public License v3.0
101 stars 31 forks source link

Formal description of the PhysicalOpticsIntegral function #1

Open terekib opened 1 year ago

terekib commented 1 year ago

Hi! I'm trying to develop a radar simulation (FMCW radar), so I am reading a lot of papers. Still I can't figure out the PhysicalOpticsIntegral function. I usually find formulas similar to your code, but always different in may ways. Could you help me understand why you are doing it that way or could you give me some links to papers on which your code is based on? Thank you very much :)

The ones I looked at: https://ntrs.nasa.gov/api/citations/19950004523/downloads/19950004523.pdf https://www.jpier.org/issues/volume.html?paper=10061807 https://dokumen.tips/documents/ray-tube-integration-in-shooting-and-bouncing-ray-method.html?page=3

pingpongballz commented 9 months ago

ok i'm not too sure, but here goes:

from [1] and [3], We can see that $\begin{bmatrix} E_\theta \\\ E_\phi \end{bmatrix} = \sum_{rays} \begin{bmatrix} B_\theta \\\ B_\phi \end{bmatrix} \frac{jk}{2\pi} (\delta A) S(\theta , \phi) e^{jkr}$ (eq 5) . Here, $S(\theta , \phi)$ is assumed to be unity, if the ray tube area is sufficiently small. For clarity, also define $E_s = \begin{bmatrix} E_\theta \\\ E_\phi \end{bmatrix} \frac{e^{-jkr}}{r}$ . Also note that $j = -i$

$B_\theta =0.5( E_{ap} \times -\phi +Z_0 H_{ap} \times \theta ) \cdot \hat{k'}$, k' is the exit ray unit vector. (eq 6)[1] $B_\phi =0.5( E_{ap} \times \theta +Z_0 H_{ap} \times \phi ) \cdot \hat{k'}$, k' is the exit ray unit vector. (eq 7)[1]

So this indeed leads to lines 225 to 234 in SbrSolver.hpp. Only difference is that the $Z_0$ term is missing. This can be explained as the author of the code defined $H = \hat{k} \times E$ and not $H = \frac{1}{Z_0} \hat{k} \times E$, so no need to multiply the $Z_0$ term, as $Z_0(\frac{1}{Z_0} \hat{k} \times E) = \hat{k} \times E$

However, in [2], $\hat{k'}$ is defined as the normal of the patch where the bounce happens, which is contradictory to [1] and [3]. this kinda sus if u ask me

[1] https://ntrs.nasa.gov/api/citations/19950004523/downloads/19950004523.pdf [2] https://www.jpier.org/issues/volume.html?paper=10061807 [3] https://dokumen.tips/documents/ray-tube-integration-in-shooting-and-bouncing-ray-method.html?page=3

terekib commented 9 months ago

Thank you very much!

xiongyuup commented 8 months ago

Where is the material information of the media set in the RaytrAMP project

pingpongballz commented 8 months ago

Hi,

From what i remember, the only material supported is PEC. If you want to use other materials, the nature the code is written prohibits this.

A different formulation is required, one that accounts for the displacement current density that is induced within the dielectric, and calls for different boundary conditions other than PEC.

xiongyuup commented 8 months ago

Oh my God, thank you very much. Thank you very much. I thought this project was the same as those projects of particle light scattering. Recently, I am looking for a method that can quickly calculate the electromagnetic scattering characteristics of naval ships on the sea surface. I wonder if you have come across such codes. In addition, may I ask for your contact information?