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)