treble_tsdk.material.material_fitting

Classes

AbsorptionCoefficients

Random incidence absorption coefficients for full octave bands.

MaterialDefinition

Definition of acoustic material properties for simulation.

OneThirdOctaveAbsorptionCoefficients

Random incidence absorption coefficients for 1/3rd octave bands.

ReflectionCoefficient

Complex reflection coefficient for acoustic material characterization.

SurfaceImpedance

Complex surface impedance for acoustic material characterization.

class treble_tsdk.material.material_fitting.AbsorptionCoefficients

Random incidence absorption coefficients for full octave bands.

Represents absorption coefficients at standard octave band center frequencies (63, 125, 250, 500, 1000, 2000, 4000, 8000 Hz). Each coefficient must be between 0.01 and 0.95.

__init__(coefficients: np.ndarray | list)

Random incidence absorption coefficients for full octave bands. The list of coefficients needs to match the central band frequencies and each coefficient should be between 0.01 and 0.95. The coefficients will be rounded to two decimal points.

Frequencies: [63, 125, 250, 500, 1000, 2000, 4000, 8000]

Parameters:

coefficients (np.ndarray | list) – List of random incidence absorption coefficients.

property request_info
class treble_tsdk.material.material_fitting.MaterialDefinition

Definition of acoustic material properties for simulation.

Defines material properties based on absorption coefficients, reflection coefficients, or surface impedance. Used for performing material fitting to create materials compatible with Treble solvers.

__init__(name: str, category: MaterialCategory, material_type: MaterialRequestType, coefficients: numpy.ndarray, default_scattering: float | None = 0.1, description: str | None = '', normalized_impedance: bool | None = False, tags: Sequence[str] | str | None = None, **kwargs)

The material properties are defined based on given material_type. This material definition can be used for performing material fit which outputs materials usable by the Treble solvers.

Parameters:
  • name (str) – Name of the material

  • category (MaterialCategory) – Category of material

  • material_type (MaterialRequestType) – Type of the material. Possible values are full_octave_absorption, third_octave_absorption, reflection_coefficient and surface_impedance

  • coefficients (np.ndarray) – For material types full_octave_absorption and third_octave_absorption this is an array of random incidence absorption coefficients (np.array[float]). For material type reflection_coefficient this is a complex reflection coefficient array (np.array[complex]). For material type surface_impedance this is a complex surface impedance array (np.array[complex]).

  • default_scattering (float | None) – Default scattering value of material the scattering can be modified when assigning to a surface, defaults to 0.1

  • description (str | None) – Description of material, defaults to “”

  • normalized_impedance (bool | None) – Only used for material type SurfaceImpedance. Put to true if the input surface impedance is the normalized acoustic impedance, defaults to False

  • tags (list[str] | str | None) – Tags for the material, can be a single string, comma-separated string (e.g., “tag1, tag2”), or list of strings, defaults to None

property request
class treble_tsdk.material.material_fitting.OneThirdOctaveAbsorptionCoefficients

Random incidence absorption coefficients for 1/3rd octave bands.

Represents absorption coefficients at 1/3rd octave band center frequencies from 50 Hz to 10000 Hz. Each coefficient must be between 0.01 and 0.95.

__init__(coefficients: np.ndarray | list)

Random incidence absorption coefficients for 1/3rd octave bands. The list of coefficients needs to match the central band frequencies of the 1/3rd octave bands and each coefficient should be between 0.01 and 0.95. The coefficients will be rounded to two decimal points.

Frequencies: [50, 63, 80, 100, 125, 160, 200, 250, 320, 400, 500, 640,

800, 1000, 1250, 1600, 2000, 2500, 3200, 4000, 5000, 6400, 8000, 10000]

Parameters:

coefficients (np.ndarray | list) – List of random incidence absorption coefficients.

property request_info
class treble_tsdk.material.material_fitting.ReflectionCoefficient

Complex reflection coefficient for acoustic material characterization.

Represents the complex reflection coefficient at 1/3rd octave band frequencies from 50 Hz to 10000 Hz. The modulus must be less than 1 for all frequencies.

__init__(reflection_coefficient: numpy.ndarray)

Complex reflection coefficient. The array needs to coincide with the third octave band frequencies from 50 hz to 10_000 hz.

The modulus of the coefficient needs to be smaller than 1 for every frequency.

Frequencies: [50, 63, 80, 100, 125, 160, 200, 250, 320, 400, 500, 640,

800, 1000, 1250, 1600, 2000, 2500, 3200, 4000, 5000, 6400, 8000, 10000]

Parameters:

reflection_coefficient (np.ndarray) – The complex reflection coefficient

property request_info
class treble_tsdk.material.material_fitting.SurfaceImpedance

Complex surface impedance for acoustic material characterization.

Represents the complex surface impedance at 1/3rd octave band frequencies from 50 Hz to 10000 Hz. Can be specified as absolute or normalized impedance.

__init__(surface_impedance: numpy.ndarray, normalized_impedance: bool | None = False, **kwargs)

Complex surface impedance. The array needs to coincide with the third octave band frequencies from 50 hz to 10_000 hz. Can be normalized impedance or absolute impedance.

Frequencies: [50, 63, 80, 100, 125, 160, 200, 250, 320, 400, 500, 640,

800, 1000, 1250, 1600, 2000, 2500, 3200, 4000, 5000, 6400, 8000, 10000]

Parameters:
  • surface_impedance (np.ndarray) – Third octave complex surface impedance

  • normalized_impedance (bool | None) – Put to true if the input surface impedance is the normalized acoustic impedance, defaults to False

property request_info