Skip to contents

Evaluates the far-field scattering amplitude from a previously computed TMM object using the stored transition-matrix blocks. This allows the same retained modal operator to be reused for arbitrary single-target incident and receive-angle combinations without rebuilding the boundary solve.

Usage

tmm_scattering(
  object,
  theta_body = NULL,
  phi_body = NULL,
  theta_scatter = NULL,
  phi_scatter = NULL
)

Arguments

object

Scatterer-object previously evaluated with target_strength(..., model = "TMM", store_t_matrix = TRUE).

theta_body

Incident polar angle (radians). Defaults to the stored TMM incident angle.

phi_body

Incident azimuth angle (radians). Defaults to the stored TMM incident angle.

theta_scatter

Receive polar angle (radians). Defaults to the exact monostatic direction, pi - theta_body.

phi_scatter

Receive azimuth angle (radians). Defaults to the exact monostatic direction, phi_body + pi.

Value

A data frame with the frequency, complex scattering amplitude, the corresponding differential cross section, and its level in dB.

Examples

target <- fls_generate(
  shape = sphere(radius_body = 0.005, n_segments = 20),
  g_body = 1,
  h_body = 1
)
stored <- target_strength(
  target,
  frequency = 12e3,
  model = "tmm",
  boundary = "pressure_release",
  store_t_matrix = TRUE
)
tmm_scattering(stored)
#>   frequency                    f_scat   sigma_scat sigma_scat_dB
#> 1     12000 -0.004474609+0.001246817i 2.157667e-05     -46.66015