treble_tsdk.material.material_fitting
Classes
Random incidence absorption coefficients for full octave bands. |
|
Definition of acoustic material properties for simulation. |
|
Random incidence absorption coefficients for 1/3rd octave bands. |
|
Complex reflection coefficient for acoustic material characterization. |
|
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.
- 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
- 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.
- 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
- 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