arim.core.material_attenuation_factory#

arim.core.material_attenuation_factory(kind, *args, **kwargs)[source]#

Material attenuation coefficient in Np/m

When called, this object returns a frequency-dependent attenuation coefficient in Nepers per meter (Np/m).

Warning: in kind=polynomial, the frequency vector in Hz is rescaled to MHz to avoid numerical issues.

Parameters:
  • kind (str) – Available methods: ‘constant’, ‘polynomial’.

  • args – Extra arguments. See examples

  • kwargs – Extra arguments. See examples

Returns:

mat_att_func – Function that takes the frequency array as an input and returns the attenuation in Np/m as an output.

Return type:

function

Examples

Constant material attenuation: >>> mat_att_func = material_attenuation_factory(“constant”, 15.)

Polynomial material attenuation (1 + 2*(frequency/1e6) + 3*(frequency/1e6)**2) >>> mat_att_func = material_attenuation_factory(“polynomial”, (1, 2, 3))

To use: >>> frequency = 5e6 >>> mat_att_func(frequency)