Skip to contents

Wrapper function to model acoustic target strength

Usage

target_strength(
  object,
  frequency,
  model,
  verbose = FALSE,
  model_args = NULL,
  ...
)

Arguments

object

Scatterer-class object.

frequency

Frequency (Hz).

model

Model name. Available models currently include "dwba" (DWBA), "bbfm" (BBFM), "pcdwba" (PCDWBA), "sdwba" (SDWBA), "fcms" (FCMS), "bcms" (BCMS), "ecms" (ECMS), "hpa" (HPA), "krm" (KRM), "psms" (PSMS), "sphms" (SPHMS), "essms" (ESSMS), "vesms" (VESMS), "trcm" (TRCM), and "calibration" / "soems" (SOEMS).

verbose

Prints current procedural step occurring from model initialization to calculating TS. Defaults to FALSE.

model_args

Optional named list of per-model argument bundles. Each list name should match one of the requested model names case-insensitively, and each value should be either a named list or a named atomic vector of arguments to apply only to that model. When the same argument is supplied both through ... and through model_args[[model_name]], the model-specific entry takes precedence.

...

Additional optional model inputs/parameters.

Value

The input scatterer object with requested model parameters, model outputs, and target strength results stored in its model slots.

Details

This is the main high-level entry point for running target-strength models in acousticTS. The supplied scatterer object is checked, the requested model or models are initialized, and the resulting outputs are stored back on the same object.

The available model families span exact modal-series solutions and approximation-based solutions. Readers should consult the model-specific help topics for the physical assumptions, valid object types, boundary-condition options, and model-specific arguments used by each implementation:

  • DWBA for the distorted-wave Born approximation applied to weakly scattering fluid-like bodies.

  • BBFM for a composite flesh-plus-backbone model that combines a DWBA flesh term with an elastic-cylinder backbone term.

  • PCDWBA for the phase-compensated distorted-wave Born approximation applied to elongated fluid-like bodies.

  • SDWBA for the stochastic distorted-wave Born approximation.

  • FCMS for the finite cylinder modal series solution.

  • BCMS for the bent-cylinder modal series solution.

  • ECMS for the elastic-cylinder modal series solution.

  • HPA for the high-pass approximation family.

  • KRM for the Kirchhoff-Ray Mode model.

  • PSMS for the prolate spheroidal modal series solution.

  • SPHMS for the spherical modal series solution.

  • ESSMS for the elastic-shelled spherical modal series solution.

  • VESMS for the viscous-elastic spherical scattering model applied to gas-filled elastic shells with an external viscous layer.

  • TMM for the single-target transition-matrix family.

  • TRCM for the two-ray cylindrical model.

  • SOEMS for the solid elastic calibration-sphere model, accessed through "calibration" or "soems".

Model-specific inputs are usually passed through .... For example, some models require a boundary argument, HPA uses a method argument, and several models expose additional numerical controls. When several models are requested together, shared arguments may be supplied through ... and per-model overrides may be supplied through model_args. This is useful when different models should share the same seawater properties but only one of them needs an extra stochastic or numerical control:


target_strength(
  object,
  frequency,
  model = c("dwba", "sdwba"),
  density_sw = 1026,
  sound_speed_sw = 1478,
  model_args = list(
    sdwba = list(phase_sd_init = 0.77)
  )
)

The legacy curved-entry wrappers "dwba_curved" and "sdwba_curved" are deprecated; apply brake to the scatterer first, then run "dwba" or "sdwba" on the curved object. Model names are normalized internally, so case-insensitive inputs such as "DWBA" and "dwba" resolve to the same family.