_images/I-Simpa-logo.jpg

I-Simpa is a new generation of noise prediction software for research, engineering and education.

_images/illustration_I_Simpa_room.png

I-Simpa is a graphical user interface (GUI) developed to host three-dimensional numerical codes for the modeling of sound propagation in complex geometrical domains, and propose many features Although I-Simpa is well adapted for energetic models (ray-tracing, sound-particle tracing, theory of reverberation…), it can be extend to use ondulatory approaches.

I-Simpa is distributed with two codes (TCR based on the classical theory of reverberation and SPPS based on particle tracing approach). Classical applications are room and building acoustics, environmental noise and industrial noise, but it can be easily extend to other applications concerning the sound propagation in 3D environments (interior of vehicle, sound in cavities…).

I-Simpa User Guide

This is the official I-Simpa User Guide, including the SPPS and the TCR numerical codes (embedded within the I-Simpa software).

Note

  • Some illustrations may referred to previous versions of I-Simpa.

  • Depending of your OS, screenchots may differs.

  • Some texts and translations in I-Simpa may have changed.

  • If the present documentation is the “Offline documentation” you may refer to the online version at http://i-simpa-wiki.readthedocs.io/fr/latest/ for an up-to-date documentation.

  • If you observe some mistakes or errors, please write an Issue on GitHub

  • You can also contribute to the documentation.

  • The official documentation is available in English only.

I-Simpa overview

I-Simpa alone is not a calculation software, but is equivalent to a pre and post-processor for acoustic codes. One or more numerical codes must be added in order to obtain a fully functional system.

At the present time, I-Simpa is distributed with two codes:

  • TCR code based on the classical theory of reverberation

  • SPPS code based on particle tracing approach

The resume of all code characteristics are given here

Classical applications are room and building acoustics, environmental noise and industrial noise, but it can be easily extend to other applications concerning the sound propagation in 3D environments (interior of vehicle, sound in cavities…).

I-Simpa has been initially developed as a research tool (i.e. for research laboratories), but can also be a very efficient tool for a professional/commercial use, as well as for education.

Functionnal

Elements and components are organized in tree structures, to easily access to all information, parameters and properties. Many features are proposed for helping users

Open system

All information and data are organized in spreadsheets that can be displayed, exported, copied… User can use their own software for processing data and graphical representation.

Open software

User can integrate their own numerical propagation code, develop their own functionalities within the interface, using Python scripts… All have been done in order you can extend I-Simpa easily.

Open source project

The source code of I-Simpa is freely available on the GitHub plateform (https://github.com/Ifsttar/I-Simpa). There are many way for the community to contribute to the development of I-Simpa.

I-Simpa features

Geometry

_images/Import_geometry.png
Import 3D files

Import 3D files with common extensions: 3DS (3D Studio), STL (stereolithography), PLY (Stanford) and POLY (TetGen).


_images/Correction_model.png
Geometry correction

Automatic tools for model corrections and repairs during file importation. Model detection error.


_images/geometry_approximation.png
Geometry approximation

Algorithm for model approximation by the marching cube method. This can be useful for original 3D scene with many problems.


_images/creating_scene.png
Parallelepipedic geometry

Built-in design of parallelepipedic model. Just gives the dimensions of the scene.


Surface material

_images/import_material.png
Import data material

Import data from file (import from CATT-Acoustic™ and Odeon room acoustics software).


_images/manipulate_materials.png
Reference and User material database

Use the built-in database (Reference) or create your own materials (User database). Organize and copy material between (sub-)groups of material.


_images/material_properties.png
Material properties

Define acoustic parameters by frequency band: absorption, transmission loss, scattering, scattering reflection law. Add material information (description, physical parameters…).


Sound sources

_images/spectrum_data.png
Reference and User spectrum database

Use the built-in database (Reference) or create your own source spectrum (User database).


_images/source_properties.png
Sources properties

Define source properties: spectrum, position, directivity, delay, activate/desactivate sources.


_images/Manipulate_sources.png
Sources manipulation

Organize and copy sources between (sub-)groups of material. Translation and rotation of (sub-)groups of sound sources.


Acoustic receivers

_images/Punctual_receiver_properties.png
Punctual sound sources

Defines source properties: position, directivity, orientation to a point or (with a dynamic link) to a source, background noise.


_images/manipulate_punctual_receivers.png
Receivers manipulation

Organize and copy receivers between (sub-)groups of material. Translation and rotation of (sub-)groups of receivers.


_images/surface_receiver.png
Surface receivers

Definition of a surface receiver by selecting surfaces of the 3D model or by creating cut planes.


Acoustic calculation

_images/calculation_codes.png
Calculation code

Built-in acoustic calculation code: sound particle tracing (SPPS); Classical theory of reverberation for room acoustics (TCR).


_images/sound_map.png
Sound map

Noisemap (surface receivers) in stationary stationary state, time-varying state, time-cumulated state. Iso-contours.


_images/acoustical_parameters.png
Acoustics parameters

EN ISO 3382-1 room acoustics parameters: Reverberation times, Clarity, Definition, Early support, Centre time, Strength, Early Lateral Energy Fraction, Late Lateral Sound Level.


_images/result_animation.png
Animation

Intensity vectors animation for punctual receivers. Ray-tracing and particle-tracing animation.


Other features

_images/python_script.png
Python™ scripting

Extension of I-Simpa functionalities using Python scripts. Creations of Toolbox.


_images/environmental_data.png
Environmental data

Definition of atmospheric conditions and calculation of absorption coefficient (ISO 9613-1). Meteorological parameters (log-lin sound speed velocity profiles).


_images/meshing.png
Tetrahedric meshing

Built-in Delaunay tetrahedric meshing using TetGen code (fully parametrized).


_images/fitting_zone.png
Fitting zone

Definition of volumes with fitting objects characterized by probabilistic parameters (mean free path, absorption, diffusion law).

Study of a teaching room

_images/Screenshot_tutorial_1.PNG

This tutorial concerns the simple study of a teaching room. The geometry is rectangular of size (6m x 10m x 3m). The goal of this tutorial is to:

  • manipulate face elements

  • manipulate surface material

  • manipulate punctual receivers

  • manipulate omnidirectional sound sources

  • perfome calculations with the TCR and SPPS codes

  • display results

Resources for this tutorial are located in the following folder:

<I-Simpa installation folder>\doc\tutorial\tutorial 1

This folder contains several files:

  • tutorial_1.proj: I-Simpa project of the present tutorial (with TCR and SPPS results)

  • Screenshot_tutorial_1.PNG: I-Simpa screenshot of tutorial 1

  • additional PNG images (screenshots)

Scene creation

Create a new geometry

The first step is to create the geometry. As we consider a simple rectangular geometry with the same material of each mean face, the built-in option for creating a rectangular room can be used.

Note

Remember that for more complicate room shapes of for rectangular room with different materials on a same main face, user will have to create the geometry with a CAD software.

  1. Start I-Simpa

  2. When starting I-Simpa, the default project is the last saved project. To clear I-Simpa, select “New project” in the File menu or click on the “New project” icon on the “File” toolbar to clear I-Simpa

  3. In the menu file, select “New scene”.

  4. Enter the given size of the room (width: 6m, length: 10m and height: 3m), then click on “OK”.

  5. The “Loading 3D scene” windows appears. Leave the default values (you can also deselect all options; this will not change the result) and click on “OK”.

Define surfaces

The second step is to affect one material for each main faces. Here, we will consider 3 surface groups: the “Floor”, the “Walls” and the “Ceiling”.

  1. Select the mode “Face selection” on the toolbar “Selection”

  2. Hold the CTRL key and double-click on the floor in the “3D view”:

    • this will select all co-planar faces (i.e. both triangular faces of the floor);

    • the 2 corresponding elements will be underlined in the “Surface” folder of the tree “Data”;

  3. Uses the right click on one of the 2 selected “Surface” elements in the surfaces group in the Scene tree: a contextual menu will appear, and Select “Send to a new face group”

  4. a new surface group, named “group”, is created.

Note

A new group is created with the default name “group”. Group surfaces can have the same name, , since each group is identified with its own internal Id.

  1. Right click on the new corresponding group and Select “Rename” to rename the group with the name “floor” (you can also use the Left click on the group name to change the name)

Astuce

Instead of using the “Face selection” mode, you can create 2 new groups (“Floor” and “Ceiling” for example), select the corresponding surfaces within the “Group” folder and send them to a new face group. You can also directly move the corresponding surfaces to their corresponding surfaces group using the pointer.

  1. Once the surface groups are defined, Left click on a group and select a material in the Material list element in the Properties windows. Repeat the procedure for each surface group, with the following material (for example): Ceiling: “30% absorbing”, Floor: “10% absorbing”, Walls: “20% absorbing”

Define a sound source

  1. Right click on the “Sound sources” root folder in the Data tree of the Scene tab and Select “New source”. A new source is created.

  2. Select the “Position” element and gives the values of the source coordinates (3, 5, 1.8).

  3. Select the “Sound power” element and Choose the “White noise” spectrum in the Spectrum list (it should be the default spectrum).

  4. In the “Global” element of the “Sound power” properties, Defines the value “80” for the “Global” value of the “Lw” tab element. This will define a global sound power of 80 dB.

Define a surface receiver

  1. Right click on the “Surface receiver” root folder in the Data tree of the Scene tab and Select “New scene receiver”. A new surface receiver is created.

  2. In the “Surfaces” root folder, Select the “Floor” group (Left click and Hold) and move it in the “Surfaces” element of the surface receiver. It will define a surface receiver on the room floor.

Define two punctual receivers

  1. Right click on the “Punctual receiver” root folder in the Data tree of the Scene tab and Select “New receiver”. A new punctual receiver is created.

  2. Select the “Position” element and define the coordinates (x,y,z) of the punctual receiver. You can choose (1.,1.,1.8) for example.

  3. Repeat the two fiorst step for the second receiver at location (3.,7.,1.8) for example.

Calculation

TCR code

  1. Select the “Meshing” element in the “Classical theory of reverberation” code.

  2. Enable the “Surface receivers constraint”.

  3. In the “Surface receivers constraint (m²)” element, Define the value “0.1”. This allows to resample the corresponding surfaces for the surface receiver. In the other hand (without defining a surface receiver constraint), only the two initial surface element of the floor will be used as receiver, leading to a very poor definition.

  4. Right click on the “Classical theory of reverberation” and Select “Run calculation” to start the simulation.

SPPS code

1-3. Repeat the same 1-3 steps as for the TCR code.

  1. Right click on the “SPPS” and Select “Run calculation” to start the simulation.

Results

Note

The “Results” tab correspond exactly on the image of the data on the hard disk. You can open the file explorer by a Right click on a result folder and by selecting “Open folder”. You can delete a folder or a file, either using the file explorer or the “Delete” action (Right click on the folder/element in the results folder) within I-Simpa.

Note

For each new simulation, a specific folder in created in the corresponding simulation folder (i.e. SPPS or TCR), with a name that is defined from the starting time and date of the simulation.

Astuce

Most of results are displayed in table. You can select cells in the table, right click on the selection and select “New diagram” to create a graphical display of the results. You can also export data to a csv file by selecting “Save data as…”.

TCR code

  1. Unfold the “Results” folder in the “Classical theory of reverberation” folder.

  2. Unfold the “Punctual receiver” folder, and Double left click on one element (i.e. one of the two receivers that have been created). A new window is displayed, showing the SPL at the receiver for the direct field and the total field (diffuse field + direct field) according to the Sabine and Eyring formulae.

  3. Unfold the “Total field” folder (Sabine or Eyring), Select the surface receiver, Select the frequency band and Right click on the “Sound level” element and Choose “Load animation”, then “Cumulating sound level”. It displays the sound map for the corresponding surface receiver on the 3D view. You can remove the colormap on the 3D view by clicking on the “Dash” icon on the “Simulation” toolbar.

  4. Double left click on the “Main results”. It opens a new display with some general results for the whole room (global reverberation time, SPL of the diffuse sound field and equivalent absorption according to the Sabine and Eyring formulae)

SPPS code

  1. Unfold the “Results” folder in the “SPPS” folder.

  2. Unfold the “Punctual receiver” folder, Unfold the folder for a given punctual receiver and Left click on one element to display the corresponding results (for example: “Sound level”). A new window is displayed, showing the results.

  3. Right click on the “Sound level” element and Select “Calculate acoustics parameters”. It opens a new window: Keep the default values, and Select “OK”. It creates two new elements “Schroeder curves” and “Acoustic parameters”. Select the new elements to display the corresponding results in a spreadsheet.

  4. Right click on the “Advanced sound level” element and Select “Calculate acoustics parameters”. It opens a new window: Keep the default values, and Select “OK”. It creates a new element “Advanced acoustic parameters”. Select the element to display the corresponding results in a spreadsheet.

  5. Unfold the surface receiver folder, Select the frequency band and Right click on the “Sound level” element and Choose “Load animation”, then Choose an option (for example: “Instantaneaous sound level”). It displays the (animated) sound map for the corresponding surface receiver on the 3D view. You can remove the colormap on the 3D view by clicking on the “Dash” icon, or if required, pause/resume/stop… the animation using the “Simulation” toolbar.

    • “Instantaneaous sound level”

      Shows the time varying sound level (animation)

    • “Cumulative instantaneaous sound level”

      Shows the time varying sound level by cumulating all previous time step (animation)

    • “Cumulating sound level”

      Shows the cumulating sound level (no animation)

Note

You may change the properties of the “Sound level” element, for example the “Maximum value (dB)” and the “Minimum value (dB)” for displaying the colormap in a good way.

  1. Unfold the surface receiver folder, Select the frequency band and Right click on the “Sound level” element and Choose “Acoustic parameters”, then Choose a given parameters from the list. It creates one or more new elements (acoustic parameters). Right click on a given acoustic parameter and Select “Load animation” to display the corresponding parameter on the 3D view.

Learn more

Study of the Elmia hall

_images/Screenshot_4_tutorial_2.PNG

In this example, we are interested in the case of a theater. This hall, the Elmia hall, has been the subject of measurements and a comparative study of several room acoustics software (Round Robin II). The user can refer to the following reference for more information: A Comparison of Room Simulation Software - The 2nd Round Robin on Room Acoustical Computer Simulation, Bork Ingolf, Acta Acustica united with Acustica, Volume 86, Number 6, November/December 2000, pp. 943-956(14).

The goal of this tutorial is to:

  • manipulate face elements

  • manipulate surface material

  • manipulate punctual and plane receivers

  • manipulate omnidirectional sound sources

  • generate an approximate 3D model

  • perform calculations with the SPPS codes

  • display results

Resources for this tutorial are located in the following folder:

<I-Simpa installation folder>\doc\tutorial\tutorial 2

This folder contains several files:

  • tutorial_2.proj: I-Simpa project of the present tutorial (without Results)

  • Elmia.ply: 3D room geometry

  • elmia_stage.jpg: room picture

  • elmiahall.jpg: room picture

  • speaker_s1.jpg: room picture

  • elmia_coordinates.xls: coordinates or the 3D scene corners

  • material_catt.txt: surface material definition (CATT-Acoustic software format)

  • Auswertung_Phase_II.xls: All information (software results, measurements, comparisons) of the Round Robin 2 (source: PTB file at https://www.ptb.de/cms/ptb/fachabteilungen/abt1/fb-16/ag-163/round-robin-in-room-acoustics.html)

  • additional PNG images (screenshots)

Important

If not already done, we suggest you to follow the previous tutorial, before the present tutorial:

Geometry import

The 3D model that we have at our disposal presents numerous irregularities (surfaces in intersection in particular). According to the calculation code used, such as the SPPS code, it is possible that this geometry can not give rise to calculations. In this case, the use of the advanced model correction tools proposed by I-Simpa, at the scene importation, makes it possible to create a new model.

Import the “bad” 3D model

_images/Screenshot_1_tutorial_2.PNG

Import original geometry in I-Simpa

The “bad” 3D model is already divided into 10 surface groups corresponding to the materials to be combined (audience, ceiling, floor, stages, stairs…). The first step is to load this model without performing geometric approximation processing in order to recover the existing surface groups:

  1. Create a new project.

  2. In the main menu, Select “File” and “Import new scene” and Select the Elmia.ply file located in ressource folder. The « Loading 3D Scene » window opens.

  3. Uncheck all options in the window and Select “OK”. The model is displayed in the 3D view, some misaligned faces give the impression that surfaces are missing. You can notice that 10 groups of surfaces are visible in the tree of the “Scene” tab. This first operation was only intended to load these groups of surfaces in order to automatically re-associate each surface from the model that will be generated in the next task.

Create an approximated 3D model

_images/Screenshot_2_tutorial_2.PNG

Generate approximate geometry in I-Simpa

  1. Choose “Import new scene” in the “File” menu and Select the same 3D scene Elmia.ply. The « Loading 3D Scene » window opens.

  2. Select the “Average model remesh” option and Set “1.” (1 m) for the parameter “Association maximum distance”. Valid with “OK”. The “Mesh correction computation” window is displayed.

  3. Set to 6 for the “Model solving” paremeter. Using this value, the original 3D scene will be filled with \(2^6\) cubes and Valid all options with “Next”. A new windows is displayed, showing all closed 3D volume in the scene.

  4. Select the volume that corresponds to the interior volume of the scene. In the present example, select the volume “9624 m3” and valid with “Finish”. A new 3D scene, an approximate scene, is created and displays n the 3D view.

Avertissement

The Average model remesh operation can only be used simultaneously on a single volume of the scene. If the scene contains several closed volumes, the user must retain only one.

  1. To verify that the model correction has been effective, you can generate a meshing of the scene: in the “Calculation” tab, Open the properties of the “Meshing” element of the SPPS code and Uncheck the “Scene correction before meshing” (since the 3D scene is already optimized). In the “Meshing” toolbar, Click on the specific icon to generate the meshing. Choose SPPS in the new windows that is displayed and Valid with “OK”. The meshing is displayed on the 3D view: you can check the “x”, “y” or “z” boxes in the Meshing toolbar to choose a axis and use the “Slider” cursor to move the meshing.

_images/Screenshot_3_tutorial_2.PNG

Generate a meshing in I-Simpa to verify the consistency of the 3D model

Define sound sources

  1. Following the same procedure as for the tutorial “Study of a teaching room” (define sound sources), Create three omnidirectional sound sources at S01(8.5,0.0,2.1), S02(3.0,3.5,2.1), S03(1.0,1.0,0.9), with an arbitrary global sound power (for example a white noise @80dB).

Define punctual receivers

  1. Following the same procedure as for the tutorial “Study of a teaching room” (define punctual receivers), Create one or more punctual receivers, for example at R01(13.8,0.0,1.45), R02(12.9,10.5,5.3), R03(19.9,5.1,2.7), R04(25.5;-4.9,4.35), R05(24.8,11.9,5.7), R06(37.8,6.4,8.45).

Define a plane receiver

The two main locations of the audience will be used to define two plane receivers with a height of 0.50 m from the audience surface:

  1. For the first plane, Click on the “Scene” tab and Select the “New plane receiver” action from the context menu of the “Surface receivers” root folder. A new plane receiver is added and a grid appears in the 3D view.

  2. The 3 points defining the plane receiver must then be placed at the level of the two main locations of the audience, defined by the surfaces group « audience ». To do this, Use the “Define via 3D view” action of the context menu associated with the “Vertex A”, “Vertex B” and “Vertex C” elements of the surface receiver property. Set the positions of the vertices of the plane receiver to: A(11.93,-5.66,1.16), B(11.93,5.73,1.13), C(29.56,5.79,5.25).

  3. Fo the second plane receiver, Repeat the previous 1-2 steps, with A(33.25,-8.22,6.26), B(33.17,8.58,6.23), C(40.73,8.58,9.47).

Note

You can change the location and orientation of the plane by changing the location of one or more vertex (A, B, C). If a part of the plane receiver is oustide the 3D scene, this is not a problem for the SPPS code.

Define surface materials

The present study from the Round Robin II, provides the materials in CATT-Acoustic format. The corresponding .txt file is available in the same folder as the 3D scene: material_catt.txt.

  1. Right click on the “Project/Project Database/Materials/User” element and Select “Import from File”.

  2. Select the corresponding format from the drop-down list and Open the file on your computer. A new material folder is created named with the material file name.

  3. Assign each material to the corresponding surfaces group following the same procedure as for the tutorial “Study of a teaching room” (define surfaces).

_images/Screenshot_4_tutorial_2.PNG

3D Model in I-Simpa: sources, punctual receivers, surfaces receivers, material affectation

SPPS calculation

  1. Imported materials are only given for octaves between 125 Hz and 4000 Hz. The calculation must therefore be limited to these frequencies. In the “Calculation” tab of the project, Unfold the “SPPS” element, then Right click the “Frequency bands” element and Select the option “Automatic selection”, “Octave”, “Building/Road [125-4000] Hz”.

  2. In the “Meshing” element, Uncheck the element “Scene correction before meshing”.

  3. In the “Properties” element, Set:
    1. “0.005” to the “Time step (s)” element;

    2. “Energetic” to the “Calculation” element;

    3. “100 000” to the “Number of sound particles per source”.

  4. Uncheck the “Export surface receivers for each frequency band” (to limit the size of the resulting files).

  5. Right click on the “SPPS” and Select “Run calculation” to start the simulation.

Note

The computation time depens mainly of the number of particles, the number of sound sources and frequency bands, as well as the choice of the calculation method (“Energetic” need more computation time than “Probilistic”). In the present tutorial, using 100 000 particles allows to obtain quick results. However, it should not be enough to obtain detailled results. Increasing the number of partticles to 1 million could give more pertinent results.

Exploring the results

Follow the same procedures as the “Study of a teaching room” tutorial for exploring the results.

_images/tutorial_2_Results_Echogram.PNG

Echogramm at receiver R01 (1 million particles per source)

_images/tutorial_2_Results_Surface_Map.PNG

Noisemap at surface receivers 1 and 2 (1 million particles per source)

Study of an industrial room

In this example, we are interested in the case of an industrial hall coupled with other rooms. This hall is composed of two identical noisy machines and two fitting zones (zones made of many objects that act as acoustics scaterrers). The purpose of this tutorial is to:

  • illustrate the creation of machines

  • illustrate the creation of fitting zones

  • create new surface Materials

  • create a line of receivers

  • create a plane receiver

  • perform calculations using the SPPS code

  • study the effect of changing a material on a wall of the industrial hall, on the sound field

Resources for this tutorial are located in the following folder:

<I-Simpa installation folder>\doc\tutorial\tutorial 3

This folder contains several files:

  • tutorial_3.proj: I-Simpa project of the present tutorial (without Results)

  • Industrial_hall.ply: 3D hall geometry

  • additional PNG images (screenshots)

Important

If not already done, we suggest you to follow the two previous tutorials, before the present tutorial:

Import a geometry

The first step is to import the geometry of the project. We are interested here in a large industrial hall coupled to a corridor through a door in a wall, this corridor being itself coupled to another room. We assume that walls and doors allow acoustic transmission.

  1. In the “File” menu, Select “Import new scene”, and open the file LocalIndustriel.ply located in the correspondng tutorial folder.

  2. In the next windows, Select “OK” without changing the default values.

Note

When importing the model, several surfaces groups are created. These groups were defined at the 3D scene creation with the CAD software.

_images/Screenshot_1_tutorial_3.PNG

3D scene import in I-Simpa

Define a machine as a sound source

At this step, we want to create the sound sources. In industrial environments, sound sources are often machines or workstations made up of several source points. Since the hall can be made up of several identical machines located at different locations, it is simpler to define a machine in the form of a group of sound sources, which group can then be copied and moved within the room. In our example, we will define machines composed of three sound sources, which will be duplicated. Each sound source will be defined by a pink noise spectrum, with a global level of 80 dB.

  1. Right-click the “Data/Sound Sources” element in the “Scene” tab of the “Project” windows, and Select “New Group”. By default, the name of the new group is “Sound sources”.

  2. Rename the group as the following “Milling machine”;

  3. Right-click on the “Milling Machine” group and select “New Source”. Perform this operation three times (to create three sources), named “Source 1”, “Source 2” and “Source 3”. It is possible to modify the name of the sources by applying the same method as for the name of a group;

  4. For each source, Unfold the source properties, then Click on the “Position” item, and Assign the following coordinates (x,y,z) for the source 1 (2,7,1.2), the source 2 (2,6,0.6) and the source 3 (1,7,0.75).

  5. For each source, Select the “Sound power” element, Choose “Pink Noise”, and then Set the global level “Lw” to 80dB.

Duplicate the machine

The previous machine can then be duplicated and moved into the room.

  1. Right-click on the “Milling Machine” group and Select “Copy”;

  2. Right-click the “Sound Sources” root folder, then Select “Paste”: an item named “Copy of Sound sources” is created.

Note

The sound sources within the new group have exactly the same properties as the original sources, including the names of the sources. However there is no possible confusion between two sources with the same name, each source having its own internal identifier.

  1. Rename the group created in “Milling machine 2”;

  2. Since the new machine is located in the same place as the original machine, it is necessary to move it. To perform a translation of the new machine, Right-click on the “Milling Machine 2” group and Select All sources ‣ Translation item menu;

  3. Set the translation values in each direction (x,y,z) to [5,-2,0], and Click on “OK”. The sources group is translated.

_images/Screenshot_2_tutorial_3.PNG

Sound sources creation (2 identical machines made of 3 punctual sources)

Define a scene volume as a fitting zone

There are two methods of creating a fitting zone in the room:

  • when creating the scene with the CAD software. In this case, a closed volume is modeled in the 3D geometric model. It is then a “Scene fitted zone”

  • either in I-Simpa, in the form of a parallelepipedal zone. It is then a “Rectangular fitted zone”

In our example, a parallelepipedal zone has already been provided at the creation of the 3D scene, in order to be assigned to a “Scene fitted zone”.

  1. In the “Scene” tree, Right-click on the “Fitting zone” root folder and Select “Define scene fitted zone”;

  2. Now you have to define the surfaces of the scene for the corresponding zone. Select the surface selection mode on the “Selection” toolbar; Hold Ctrl keyboard key and Double-click on each face element of the the fitting zone. Each face element is selected in red (or another color depending of the I-Simpa Settings). At the same time, the corresponding face elements are also highlighted in the folder “Surfaces” of the “Data” tree.

Note

Holding the Ctrl keyboard key allow to select all coplanar face element by a double click. You can also use the same procedure, but with one single click, to select each face element independently.

  1. In the folder “Surfaces” of the “Data” tree, Select all highlighted face elements, and drag/drop them to the “Surfaces” element of the fiiting zone. All face elements are then duplicated in this folder.

Note

In this example, all face elements were already identified in a given folder “fitting” of the “Data” tree, because this volume was build when preparing the 3D geometry. In this case, it was not necessary to follow the step 2 of this procedure. One can directly drag and drop all face elements of the corresponding surface folder.

  1. One must also select the face elements of the fitting zone that are located on the ground. Open the “floor” surface group and find the two face elements that correspond to the floor of the fitting zone (Select each face element of the group and Identify the ones that correspond to the fitting zone). Once the two face elements are identified, Select them and drag/drop them to the “Surfaces” element of the fitting zone.

  2. Define the “Acoustic parameters” of the fitted zone, with 0.25 for “Alpha” (absorption coefficient of the obstacles), 0.5 m for “Lambda” (mean free path in the fitted zone) and “Uniform reflection”. See the SPPS documentation for more information about acoustic parameters of fitted zones.

Astuce

When you define value in a spreadsheet (for example “Alpha” in the example above), you can duplicate the value in all the column (i.e. frequency bands) by selecting :Set the same value ‣ To the column after a Right-Click on the corresponding value.

You can also define an average value by setting a value to “Average” (last row of the spreadsheet), which will define the same value for all the rows (i.e. frequency bands).

_images/Screenshot_3_tutorial_3.PNG

Fitting zones representation (scene and parallelipipedic fitting zones)

Define a parallelipipedic volume as a fitting zone

One may create a fitting zone as a parallelipipedic volume directly within I-Simpa. Such volume is defined by creating the two opposite corners of the volume. In the following example, one consider a fitting zone made of chairs.

  1. Right-Click on the “Fitted zone” element of the “Data” tree, and Select “Define rectangular fitted zone”. A new fitted zone is created.

  2. Define the “Position” element (coordinates) of the opposite corners of the fitting zone, “Origin volume” and “Destination volume”, as (13,4,0) and (18,1,1.2) respectively.

  3. Define the “Acoustic parameters” of the fitted zone, with 0.15 for “Alpha” (absorption coefficient of the obstacles), 0.3 m for “Lambda” (mean free path in the fitted zone) and “Uniform reflection”.

Define surface materials

User can define specific material for the project.

  1. Unfold the “Materials” element of the “Project database” element of the “Project” tree and Right-Click on the “User” element. Select “New material”. A “New material” is created. Rename the name of the corresponding material to “Trans_material”.

  2. Select the “Material spectrum” element to display the acoustic parameters of the corresponding material. Set the values of each parameters according to the following table.

Acoustical properties of the “Trans_material” material

Frequency bands

Absorption

Diffusion

Transmission

Loss (dB)

Diffusion law

125 Hz

0.11

0.3

Check

10

Lambert

250 Hz

0.08

0.4

Check

11

Lambert

500 Hz

0.07

0.5

Check

12

Lambert

1000 Hz

0.06

0.6

Check

13

Lambert

2000 Hz

0.09

0.7

Check

14

Lambert

4000 Hz

0.05

0.8

Check

15

Lambert

  1. Go to the “Surfaces” folder in the “Data” tree. Select the “trans_ro1” surface to display the coresponding “Properties” and set the “Material” parameter to the “Trans_material” material. Repeat this procedure for the “trans_room” surface group.

  2. Create a new material “Open_door” using the same procedure as for “Trans_material”, using the following parameters, and Set this material to the “door_room1” and “door_room2” surface groups.

Acoustical properties of the “Open_door” material

Frequency bands

Absorption

Diffusion

Transmission

Loss (dB)

Diffusion law

125 Hz

1.0

0

Check

0

Can not be defined

250 Hz

1.0

0

Check

0

Can not be defined

500 Hz

1.0

0

Check

0

Can not be defined

1000 Hz

1.0

0

Check

0

Can not be defined

2000 Hz

1.0

0

Check

0

Can not be defined

“4000” Hz

1.0

0

Check

0

Can not be defined

  1. For all other surfaces groups, Set the material to “30% absorbing” from the “Reference materials” database.

Astuce

For all these surface groups, since the surface material is the same, user can move all surface elements to a given surface group and set the material to this surface group only.

Note

The surface elements that have been defined as fitting surfaces (i.e. “fitting” surface group) are consider as perfeclty transparent by default. CAUTION

Astuce

In order to verify that material have been correctly set, you can display the 3D by selecting the “Material” option in the :View ‣ Material color menu.

_images/Screenshot_4_tutorial_3.PNG

Representation of material of scene surfaces

Insert a line of punctual receivers

Instead of creating punctual receivers individually, you can directly create a line (or an grid) of punctual sound sources.

  1. Go to the “Punctual receivers” folder in the “Data” tree and Right-Click on it. Thus, Select the “Create a receveir grid” option.

  2. A spreadsheed is displayed to define the receiver grid parameters. See the corresponding documentation for more information concerning these parameters. Set the following values:

Receiver grid parameters

Parameter

Value

“Col step x (m)”

1

“Col step y (m)”

1

“Col step z (m)”

0

“Number of rows5

5

“Number of cols”

1

“Row step x (m)”

2

“Row step y (m)”

0

“Row step z (m)”

0

“Starting position x (m)”

0

“Starting position y (m)”

1

“Starting position z (m)”

1.6

Astuce

To create a grid of receivers instead of a line of receivers in the example above, change the value of the “Number of cols” parameter to 2 or more.

Define a plane receiver

  1. Following the same procedure than for the Elmia tuturial, Create a “New plane receiver”, using the default parameters.

_images/Screenshot_5_tutorial_3.PNG

Line of punctual receivers (green) and plane surface receiver (mesh)

SPPS calculation

  1. Go to the calculation tab of the “Project” windows, Unfold the “SPPS” code and Select the “Properties” element. It displays a spreadsheet with all SPPS calculation parameters.

  2. Set the parameters to the corresponding values (see the correspondig documentation for more information about these parameters):

SPPS calculation parameters (tutorial 3)

Parameter

Value

“Active calculation of atmospheric absorption”

Check

“Active calculation of diffusion by fitting objects”

Check

“Active calculation of direct field only”

Uncheck

“Active calculation transmission”

Check

“Calculation method”

Energetic

“Echogram per source”

Uncheck

“Export surface receivers for each frequency band”

Uncheck

“Limit value of the particle extinction: ratio 10^n”

5

“Number of sound particles per source”

150 000

“Number of sound particles per source (display)”

0

“Random initialization number”

0

“Receiver radius (m)”

O.31

“Simulation length (s)”

2

“Surface receiver export”

Soundmap: SPL

“Time step (s)”

0.002

  1. Right click the “Frequency bands” element and Select the option “Automatic selection”, “Octave”, “Building/Road [125-4000] Hz”.

  2. Run the calculation code by right-clicking on the “SPPS” element and selecting “Run calculation”

Evaluate the effect of changing one surface material

One can be interesting to evaluate the effect of changing one surface material. I-Simpa includes a tool that allows to compare two results on a surface material. For such operation it is important that the surface receiver is not changed between the tow simulation.

  1. Create a new material named “Aborbing_material” using the following data:

Acoustical properties of the “Absorbing_material” material

Frequency bands

Absorption

Diffusion

Transmission

Loss (dB)

Diffusion law

125 Hz

0.60

0

Uncheck

0

Specular

250 Hz

0.62

0

Uncheck

0

Specular

500 Hz

0.77

0

Uncheck

0

Specular

1000 Hz

0.74

0

Uncheck

0

Specular

2000 Hz

0.80

0

Uncheck

0

Specular

“4000” Hz

0.81

0

Uncheck

0

Specular

  1. Set the “Diff_wall” surface to the new material “Absorbing_material”.

  2. Run a new SPPS calculation using the same calculation parameters. At this step, two simulation results are available in the “Results” tab of the SPPS code.

  3. Goto to Tools ‣ “File results process” ‣ “Compare surface receivers” menu

  4. In the list, Select the data “rs_cut” in the “Surface receiver” ‣ “Global” list element of the surface receivers used as a “reference” (should be the first calculation, but you can choose the second calculation instead), then Select “Next”.

  5. In the list, Select the data “rs_cut” in the “Surface receiver” ‣ “Global” list element of the surface receiver that must be compared to the reference (i.e. the “other simulation”, should be the second calculation, but you can choose the first calculation instead). At this step, you can defined a name for the difference between the two results (“reference” - “other simulation”) (by default “Power gain”) and create a new data file by checking the corresponding box. Then Select “Finish”. The corresponding result is created in the folder “Surface receiver” ‣ “Global” of the second result.

  6. Right-click on the “Power gain” result and choose “Load animation” ‣ “Cumulating sound level” to display a sound map of the difference between the two results.

_images/Screenshot_6_tutorial_3.PNG

SPL sound map showing the difference between two calculations.

(Un)Setup

Installation

  • Download I-Simpa from the web site http://i-simpa.ifsttar.fr

  • Run the installation file

  • Select the language of installation (language can be changed within I-Simpa)

  • Agree (or not) with the terms of the I-Simpa license agreement

  • Choose the components to install at the same time (a functional Python installation is required. If not already install on your computer, choose the “Python” component)

  • Choose to install I-Simpa for you or for anyone

  • Choose the install location

  • Wait during the installation procedure

  • Launch I-Simpa

The installation procedure will create:

  • an icon on the desktop

  • a folder in the start menu folder

Un-installation

Avertissement

By removing I-Simpa, you will remove all the installation folder (including all files and all subfolders). If you have have modified or installed new files (scripts, graphics, data…), if necessary, please backup all files before removing I-Simpa.

  • Select the uninstall tool in the start menu of I-Simpa

  • Wait during the uninstallation procedure

  • I-Simpa is removed from your computer

GUI Presentation

The graphic user interface (GUI) is composed by the following components:
_images/I_Simpa_GUI.JPG

I-Simpa user interface.

Windows properties:
  • User can rearrange and resize all components in the computer screen by selecting and moving the corresponding component.

  • You can come back to the default view by selecting the option “Reinitialize interface” in the “Windows” menu.

Toolbars

Toolbar “Project”

  • i_create_project Create new project;

  • i_new_project Open new project;

  • i_save_project Save the project with the current filename;

  • i_project_project_as Save the project with a new filename.

Toolbar “View/Camera”

  • 3D display:
    • 3D_view_faces 3D with faces (interior);

    • 3D_view_lines 3D without faces, all lines;

    • 3D_view_faces_lines 3D with faces and all lines;

  • Camera:
    • 3D_view_reinit Reinitialize camera;

    • 3D_view_modeRZ Mode “Rotation/Zoom”;

    • 3D_view_mode_fp Mode “First person”;

Toolbar “Meshing”

  • meshing_generate Generate and display the meshing (open a Dialog box for selecting the meshing parameters from a calculation code);

  • meshing_remove Remove the meshing from the 3D view;

  • Radio button “x”, “y, “z”: Select the planes X, Y, Z for displaying the meshing with the cursor;

  • The slider allows to move the meshing along the selected plane.

Toolbar “Selection”

  • 3D_mode_camera Mode ‘Camera’: see menu ‘View’;

  • 3D_mode_faceselect Mode ‘Face selection’: enable the face selection with the pointer (selected faces are colored on the 3D view and on the ‘Surfaces’ group on the tree ‘Data’ of the window ‘Project’). The procedure for the face selection is presented here.

  • 3D_mode_extraction Mode ‘Data extraction’: enable to extract a value on a colormap, with the pointer. The corresponding data is displayed in the window ‘Message’.

Toolbar “Simulation”

  • simulation_reward Reward to the last time step;

  • simulation_play Play from the current time step;

  • simulation_pause Pause the animation;

  • simulation_forward Forward to the next time step;

  • simulation_stop Stop the animation (and return at the first time step);

  • simulation_remove Remove the animation (remove data animation from memory).

“Project” window

Presentation

Principle

The “Project” window allows to organize the set of useful data on three tabs “Scene” tab, “Calculation” tab and “Results” tab. It follows a natural procedure, for a classical acoustical study, which consists in:

  1. Giving all information (geometry, material, sound sources, receivers…),

  2. Gtarting the calculation (using a specific code),

  3. Representing the results.

In the definition and the realisation of a calculation, users should follow the natural procedure:

  1. Define all information/data in the tab “Scene” tab

  2. Choose and parametrize the calculation code in the tab “Calculation” tab

  3. Explore, process and represent all results in the tab “Results” tab

Definitions

All data, in each tab, are organized in trees, each tree containing folders (eventually with subfolders), each folder with elements. Each element is defined by several parameters that are showed in the ‘Properties’ window. These elements can be data, check boxes, character chains, scrolling lists, trees…

Avertissement

Data defined in the ‘Scene’ tree depend on the numerical code that will be used in the tab ‘Calculation’ (i.e. depending on the calculation code, it is not necessary to defined all elements. See the user guide/manual of the code for more information).

Note

Using Python scripts, users can add folders and elements in trees. This can be useful for integrating new numerical codes or specific processes. See the scripting guide of I-Simpa for more information.

Common features

Collapse/Expand a tree

A tree/branch can be collapsed (or expanded) by a:

  • click on the - (or the +) symbol in front of a folder in a tree;

  • double-click on the folder.

Copy/Paste function in a tree

The copy/paste function is valid in many folders and elements of trees. This can used to duplicate elements and folders in tree, or to copy elements and folders in a text editor (the format of elements is ‘XML’). Used the right click of the pointer (‘Copy’ and ‘Paste’ actions) to copy/paste elements.

Copy/Paste function in a spreadsheet

All data concerning an element are descried in a spreadsheet in the ‘Properties’ window. All cells of the spreadsheet (for a given element) can be copy/paste to another spreadsheet for an equivalent element. Copy/Paste is also functional to export data to an external spreadsheet software.

Rename an element in a tree

Excepted for predefined folders and elements, all new folders and elements created by users can be renamed, either when creating the element/folder, either after creation using the ‘Rename’ option (right click of the pointer on the element/folder to be renamed).

Remove an element from a tree

Excepted for predefined folders and elements, all new folders and elements created by users can be removed, using the “Delete” action (right click of the pointer on the element/folder to be renamed).

Create charts from tabular data
Creating charts

Most values represented as tables in a “Properties” window can be displayed in a chart form, configurable by the user. The procedure consists of selecting cells in a table of data, then, to click with the right mouse button on the corresponding selection and to specify options representation:

“Tab name”

Name of the tab containing the created a chart.

“Name of X axis”

Name of the x-axis.

“Name of X axis”

Name of the y-axis.

“Data alignment”

Choose the orientation of

“Text label for X”

Display labels of the x-axis in a “text mode” using a linear space, or in “value mode” using the real x value.

“Default Style”

Curves representation.

Note

The choice of colors (for curves, fills, dots…) in the representation of graphics is random.

Note

The labels of the data series (in tables) are automatically considered in charts.

Chart Options

Once the chart is created, several actions are possible, using the contextual menu on the chart.

“Original Zoom”

Reset to the initla display. Use the mouse (button left) to zoom in/out.

“Export”
  • “Export to image file”: export the chart as an image file (PNG, JPG, BMP).

  • “Export to clipboard”: user can paste the chart in antoher application.

“Show/Hide curves”

Select the curves to be displayed or “Show”/”Hide” all curves.

“Display parameters”

Configure all the chart properties.

“Scene” tab

In the “Data” tree of the “Project” window, user defines all needed information, in a acoustic point of view, in order to realize an acoustical calculation. This means, surface material, sound sources, receivers (punctual and plane), as well as other needed data in function of the numerical code (for example, the SPPS code can also take into account fitting zones).

In the “Project” tree of the “Project” window, user defines all general information (environmental data, configuration, information…) and common database (material and spectrum).

Avertissement

All data defined in the “Scene” tree depend on the numerical code that will be used in the tab “Calculation” (i.e. depending on the calculation code, it is not necessary to define all elements. See the user guide/manual of the corresponding code for more information).

Astuce

For data that depend on frequency, users need to define only the data for the frequency bands of interest, i.e. the frequency bands that will be used for the calculation.

“Data” tree

Fitting zone

The element “Fitting zone” allows to define one or more volumes of the geometry that contain scattering objects, producing acoustics diffusion. This phenomenon can have an important effect on the sound level distribution, as well as on other acoustical parameters (like reverberation time), in rooms such as in industrial halls, with many objects on the floor.

Most of time, the diffusion process is modelled using the concept of mean free path (noted Lambda or λ [m]) with a statistical approach defined by a diffusion law). On the same time, acoustical absorption (noted Alpha or α, between 0 and 1) can also occurred on the scattering object.

Within I-Simpa, the diffusion in a fitting zone, can be defined using two methods (Right click on the folder “Fitting zone” and Select the option in the contextual menu):

  • by creating a rectangular volume in the 3D scene (“Define rectangular fitted zone”) and by setting the diffusion parameters in the corresponding zone;

  • by detecting one or more volumes in the 3D scene (“Define scene fitted zone”) and by setting the diffusion parameters in the corresponding zones. This can also be done handly, by selecting all the face elements around a given volume and a point inside the volume.

Right click on the root “Fitting zone” folder to define a fitting zone:

  • “Define scene fitted zone”

    Defines a fitted zone from the face elements of the 3D scene.

    Avertissement

    The volume must be a closed space.

    • “Surfaces”

      Contains the scene surfaces that define the fitting zone.

      • “Surface area”

        Total surface (in m²) of all face elements in the folder.

      The selection of faces can be made:

      • by using the 3D view. See the section Surface selection for understanding how to select surface elements

      • by drag & drop of all surfaces of a “Volume” element;

      • by a direct conversion of a “Volume” element to a fitting zone (see section Volumes).

    • “Properties”

      Defines the properties of the element.

      • “Active fitting zone”

        (Un)check to (Des)activate the fitting zone.

      Note

      Depending of the parameters of the selected calculation code, all the fitting zones can also be desactivated at the calculation step.

      • “Description”

        Gives a short text description of the element.

    • “Inside position”

      Defines a point of coordinates (x,y,z) inside the volume. The position can be defined by filling the form or using the pointer on the 3D view. See the section Defines position for understanding how to define a location with the 3D view.

    • “Display”

      Defines the parameters for displaying the element on the 3D view

      • “Color”:

        Defines the color of the fitting zone.

      • “Show name”:

        Check to display the name of the fitting zone on the 3D view.

    • “Acoustics parameters”

      Defines the acoustics parameters of the fitting zone, by frequency band.

  • “Define rectangular fitted zone”

    Defines a parallelepipedic fitted zone.

    • “Acoustics parameters”

      Similar as for “Define scene fitted zone”.

    • “Display”

      • “Color”

        Defines color of the fitting zone in the 3D view.

      • “Opacity”

        Defines opacity of the fitting zone in the 3D view.

      • “Render mode”

        In the 3D view, the fitting zone can be represented by a zone with face (“Volume”) or a contour (“Borders”).

      • “Show name”

        Check to display the name of the fitting zone on the 3D view.

    • “Properties”

      Similar as for “Define scene fitted zone”.

    • “Origin”

      Defines the (x,y,z) coordinates of the first point of the rectangular zone. The position can be defined by filling the form or using the pointer on the 3D view. See the section Defines position for understanding how to define a location with the 3D view.

    • “Destination”

      Defines the (x,y,z) coordinates of the point opposite the “Origin” point of the rectangular zone. The position can be defined by filling the form or using the pointer on the 3D view. See the section Defines position for understanding how to define a location with the 3D view.

Punctual receivers

Several acoustic indicators must be associated to punctual receivers in the volume of propagation. Besides their position and direction of view, it may also be necessary to define other acoustic properties, such as directivity, background noise… The receivers can be grouped within source groups. A group can contain other groups.

Right click on the root folder “Punctual receivers” to create new receivers or groups of receivers.

  • “New receiver”

    Creates a new receiver.

  • “New Group”

    Creates a new group of receivers.

  • “Create a receiver grid”

    Creates a grid of receivers in a new group.

    • “Number of receivers (column)”

      Number of receivers along a column.

    • “Number of receivers (row)”

      Number of receivers along a row.

    • “Column vector”

      Defines the (x,y,z) coordinates of the vector along the column.

    • “Row vector”

      Defines the (x,y,z) coordinates of the vector along the row.

    • “Grid origin”

      Defines the (x,y,z) coordinates of the grid origin.

  • “Rotation”

    Rotate all receivers in a given group (See Manipulating sources and receivers for description).

    • “Angle (degree)”

      Defines the rotation angle in degree.

    • “Rotation center”

      Defines the (x,y,z) coordinates of the point of rotation.

    • “Rotation vector”

      Defines the (x,y,z) coordinates of the vector of rotation.

  • “Translation”

    Translate all receivers in a given group.

  • “Orientation”

    Orient all receivers in a given group to a target point.

    • “Target point”

      Defines the (x,y,z) coordinates of the target point.

Receiver parameters:

  • “Background noise”

    Defines the existing background noise at the receiver location. This parameters can be useful, for example, to calculate some acoustics indicator for speech intelligibility. This parameter is defined by a background noise “Spectrum”. See the section Using spectrum for understanding how to use a spectrum in the application.

  • “Direction”

    Defines the orientation of the receivers, using a vector of coordinates (x,y,z). This parameters can be useful, for example, to associate a directivity to the receiver. The position can be defined by filling the form or using the pointer on the 3D view. See the section Defines position for understanding how to define a location with the 3D view. The receiver can also be automatically oriented to a given sound source with a dynamic link: choose the corresonding sound source in the list.

  • “Display”

    Defines the parameters for displaying the element on the 3D view.

    • “Color”:

      Defines the color of the receiver.

    • “Show name”:

      Check to display the name of the receiver on the 3D view.

  • “Position”

    Defines the (x,y,z) coordinate of the receiver. The position can be defined by filling the form or using the pointer on the 3D view. See the section Defines position for understanding how to define a location with the 3D view.

  • “Properties”

    Defines the properties of the element.

    • “Description”

      Gives a short text description of the element.

    • “Direction x”

      Coordinate x of the orientation vector (unit vector).

    • “Direction y”

      Coordinate y of the orientation vector (unit vector).

    • “Direction z”

      Coordinate z of the orientation vector (unit vector).

    • “Directivity”

      Directivity of the receiver. See the Directivity section for details.

Sound sources

This element allows to define the acoustic properties of sound sources, such as the acoustic power, the directivity, the position of the source and its orientation. The sound sources can be grouped within source groups. A group can contain other groups.

Right click on the root folder “Sound source” to create new sound sources or groups of sound sources

  • “New source”

    Creates a new source.

  • “New Group”

    Creates a new group of receivers.

  • “Create a line of sound source”

    Creates a line of sound source in a new group.

  • “All sources”

    Possible actions on a group of sound sources.

Sound source parameters:

  • “Display”

    Defines the parameters for displaying the element on the 3D view.

  • “Position”

    Defines the (x,y,z) coordinate of the sound source. The position can be defined by filling the form or using the pointer on the 3D view. See the section Defines position for understanding how to define a location with the 3D view.

  • “Properties”

    Defines the properties of the element.

    • “Active source”

      (Un)check to (Des)activate the sound source.

    • “Description”

      Gives a short text description of the element.

    • “Direction x”

      Coordinate x of the orientation vector (unit vector).

    • “Direction y”

      Coordinate y of the orientation vector (unit vector).

    • “Direction z”

      Coordinate z of the orientation vector (unit vector).

    • “Directivity”

      Selects the directivity of the sound source in a list. Several “theoretical” directivities are proposed (omnidrectionnal, unidirectionnal, XY, YZ, ZY) as well as “balloon” directivities (i.e. as measured). In this last case, the “Balloon” parameter must be given.

    • “Directivity Balloon”

      Selects the directivity balloon of the sound source in a list. This parameter is enable only if the “Balloon” option is selected in the “Directivity” parameter.

    • “Time delay”

      Defines a delay (in second) for activating the sound source.

  • “Sound power”

    Defines the sound power of the sound source. This parameter is defined by a power “Spectrum”. See the section Using spectrum for understanding how to use a spectrum in the application.

Surface receivers

It is common in a acoustics study to focus on the distribution of sound levels on a surface (noise mapping). The concept of mapping can also be generalized to the surface representation of any acoustic parameter, like reverberation time, clarity… The I-Simpa interface enables to define surfaces for the representation of maps.

By right clicking on the root “Surface receiver” folder, it allows define two types of surface receiver:

  • “New scene receiver”

    Surface elements of the 3D scene can be selected.

    • “Surfaces”

      Defines the surface element of the 3D scene to be considered for the surface receiver. See the section Surface selection for understanding how to select surface elements.

      • “Surface area”

        Total surface (in m²) of all face elements in the folder.

    • “Properties”

      Defines the properties of the element.

      • “Description”

        Gives a short text description of the element.

  • “New plan receiver”

    The surface receiver is defined by a grid cutting plane, made of 3 vertices A, B and C.

    • “Display”

      Defines the parameters for displaying the element on the 3D view.

      • “Grid color”

        Defines the color for displaying the grid.

      • “Show grid”

        Check to display the grid on the 3D view.

      • “Show vertice names”

        Check to display the name of the vertices A, B, C.

    • “Properties”

      Defines the properties of the element.

      • “Description”

        Gives a short text description of the element.

      • “Enable”

        Check to enable the plan receiver in the calculation.

      • “Grid resolution”

        Defines the resolution of the grid (in m).

    • “Vertex A”

      Defines the (x,y,z) coordinates of the vertex A. The position can be defined by filling the form or using the pointer on the 3D view. See the section Defines position for understanding how to define a location with the 3D view.

    • “Vertex B”

      Defines the (x,y,z) coordinates of the vertex B. The position can be defined by filling the form or using the pointer on the 3D view. See the section Defines position for understanding how to define a location with the 3D view.

    • “Vertex C”

      Defines the (x,y,z) coordinates of the vertex C. The position can be defined by filling the form or using the pointer on the 3D view. See the section Defines position for understanding how to define a location with the 3D view.

Surfaces

This element contains all surfaces of the scene. These surfaces are either created within I-Simpa in the case of a the creation of a parallelepipedic geometry or imported. In the last case, depending on the software used to create the 3D scene, it is possible to import faces that are already organized into groups. This group organisation allows to easily affect specific material (with specific acoustic properties) for each surface group.

Right click on the root folder “Surfaces” to organize the face elements:

  • “Add a group”

    Creates a new group.

Right click on a group to perform actions:

  • “Inverse face normal”

    Change the orientation of the normal of all face elements within the group. This can useful if, at the importation of 3D scene, some original faces have a wrong orientation.

  • “Properties”

    Defines the properties of the element

    • “Material”

      Select the material to affect to the surfaces group, from a list. The list is defined in the “Material database” of the “Project tree”.

    • “Surface area”

      Total surface (in m²) of all face elements in the folder.

Volumes

The volume element allows to define volumes of interest in the 3D scene. You can “handly” create a volume from face elements in the 3D scene or automatically detect all existing volume in the 3D scene. This can useful to create or detect fitting zones.

Right click on the root folder “Volumes” to manage “Volumes”:

  • “Create a volume”

    Creates a volume from the face elements of the 3D scene.

    • “Display”

      Defines the parameters for displaying the element on the 3D view.

      • “Domain color”

        Defines the color for displaying the volume.

    • “Inside position”

      Defines a point of coordinates (x,y,z) inside the volume. The position can be defined by filling the form or using the pointer on the 3D view. See the section Defines position for understanding how to define a location with the 3D view.

    • “Properties”

      Defines the properties of the element

      • “Calculate the mean free path”

        Calculate the mean free path using the classical formulae from statistical room acoustics (λ=4V/S, with V the volume and S the surface of the volume).

      • “Mean free path”

        Value (in m) of the calculated mean free path.

  • “Volume auto-detect”

    Automatically detect all volumes within the 3D scene. Same paremeters as for “Create a volume”.

“Project” tree

Configuration

This element of the “Project” tree defines some useful information concerning the project. These element are not used for the calculation.

Property elements: these elements are all optional.

  • “Author”

    Name or information concerning the author of the project.

  • “Date”

    Date of the project. By default, it is the date of creation of the project (text).

  • “Project description”

    Quick description of the project.

  • “Project name”

    Name of the project, given by the author.

Display

This element of the “Project” tree defines some useful parameter for the 3D display.

Property elements:

  • “XYZ axis”

    Define some parameters for the graphical representation of the geometric coordinates.

  • “Arrow color (x)”

    Open a dialog box for selecting the color of the arrow of the x-axis.

  • “Arrow color (y)”

    Open a dialog box for selecting the color of the arrow of the y-axis.

  • “Arrow color (z)”

    Open a dialog box for selecting the color of the arrow of the z-axis.

  • “Arrow length”

    Length (in m) of the arrow of the xyz-axis.

  • “Arrow widh”

    Width (in m) of the arrow of the xyz-axis.

  • “Grid size”

    Size (in m) of a grid element.

  • “Grid color”

    Open a dialog box for selecting the color of the XYZ grid.

  • “XY Grid”

    Enable/disbale the display of the XY grid.

  • “XZ Grid”

    Enable/disbale the display of the XZ grid.

  • “YZ Grid”

    Enable/disbale the display of the YZ grid.

Environment

This element of the “Project” tree defines some useful environment data.

Avertissement

The use of these information depend on the calculation code. See the reference guide of the numerical code for more details. The code can enable the calculation of the atmospheric absorption and of the meteorological effect (considerig a log_lin celerity gradient) with a ground description using the roughness parameters.

Property elements:

  • “Atmospheric absorption - User defined”

    Enable/disable the selection of the value of the atmospheric absorption.

  • “Atmospheric absorption - Value”

    User value of the atmospehic absorption. This option is available only if the option “Atmospheric absorption - User defined” is enable.

  • “Atmospheric pressure (Pa)”

    Atmospheric pressure(Pa).

  • “Meteorolical effect - Celerity gradient a_log”

    Value of the a_log paremeter of the log_lin profile celerity. The default value is function of the option given by the “Meteorolical effect - Profile”, but can be modified by the user.

  • “Meteorolical effect - Celerity gradient b_lin”

    Value of the b_lin paremeter of the log_lin profile celerity. The default value is function of the option given by the “Meteorolical effect - Profile”, but can be modified by the user.

  • “Meteorolical effect - Profile”

    Defines a log_lin gradient profile. By selecting one of the following options, it sets the “Meteorolical effect - Celerity gradient a_log” and “Meteorolical effect - Celerity gradient b_lin” parameters. However, these values can be modified by the user.

    • “Very favorable”

      a_log=+1, b_lin=+0.12

    • “Favorable”

      a_log=+0.4, b_lin=+0.04

    • “Homogenous”:

      a_log=0, b_lin=0

    • “Unfavorable”:

      a_log=-0.4, b_lin=-0.04

    • “Veryfavorable”:

      a_log=-1, b_lin=-0.12

  • “Relative humidity (%)”

    Relative humidity of air (%).

  • “Roughness - z0 (m)”

    Value of the ground roughness (m).

  • “Roughness - Ground type (m)”

    Defines the ground type. By selecting one of the following options, it sets the “Roughness - z0 (m)” parameter. However, this value can be modified by the user.

    • “Water”

      z0=0.006

    • “Ground”

      z0=0.02

    • “Short lawn”

      z0=0.001

    • “Dense lawn”

      z0=0.02

    • “Wheat (1m height)”

      z0=0.16

    • “Sparse habitat (farm, trees, hedges)”

      z0=0.6

    • “Low concentration Suburb (residential areas, gardens)”

      z0=1.2

    • “Dense urban”

      z0=10

    • “Dense suburb”

      z0=1.8

  • “Temperature (°C)”

    Temperature of air (°C).

Informations

This element of the “Project” tree gives some useful information concerning the I-Simpa project.

Property elements:

  • “Model face count”

    Number of face elements.

  • “Number of active fitting zones”

    Number of active fitting zones.

  • “Number of active sound sources”

    Number of active sound sources.

  • “Number of fitting zones”

    Number of fitting zones.

  • “Number of punctual receivers”

    Number of punctual receivers.

  • “Number of sound sources”

    Number of sound sources.

  • “Number of surface groups”

    Number of surface groups.

  • “Scene surface (m2)”

    Scene surface (m²).

  • “Scene volume (m3)”

    Scene volume (m3).

Note

The scene volume is displayed only after a first meshing of the scene. Generate a meshing using the Meshing Toolbar (see Meshing option)

Project database

See a detail descritpion of the Project database

“Calculation” tab

This tab allows to choose and to define the acoustic calculation. This tab contains all calculation codes that are linked to I-Simpa. By default, two numerical codes are given:

  • TCR calculation code

    Apply the Classical Theory of Reverberation for room acoustics. It applies Sabine and Eyring formulae. This code must be used only for closed spaces

  • SPPS calculation code

    This code is based on a particle tracing method, in respect with the geometrical and energetical hypothesis. This code can be applied in most of situations in room acoustics, as well as in open field, including urban area.

Important

Read the corresponding documentation before using these codes.

Using SPPS within I-Simpa

SPPS is already embedded in I-Simpa. Follow the next instructions to run a calculation with the SPPS code in I-Simpa.

Double left click on the TCR calculation code in I-Simpa to display all calculation paramaters:

Right click on the selected calculation code to display all possible actions:

  • Run calculation

  • Job list

Frequency bands

This allows to define the frequency band that will be used for the calculation. This can be done:

  • by hand, by checking/unchecking the frequency to be considered;

  • automatically (“Automatic selection”), by using the contextual menu on the element “Frequency band” of the chossen code:

    • “Unselect all”

      Uncheck all frequency bands.

    • “Select all”

      Check all frequency bands.

    • “Octave”

      Check third ocave bands that are centred on the corresponding octave bands.

      • “All”

        All octave bands on the whole frequency range

      • “Building/Road”

        All octave bands between 125Hz and 4000Hz.

    • “Third octaves”

      Check the third octave bands, considering.

      • “All”

        All thrid octave bands on the whole frequency range.

      • “Building/Road”

        All octave bands between 100Hz and 5000Hz.

Meshing

Some calculation codes may require a meshing of the domain (SPPS for example). I-Simpa used the TetGen meshing code (A Quality Tetrahedral Mesh Generator and a 3D Delaunay Triangulator). See the documentation for more information.

Within I-Simpa, TetGen can be paramatrized:

  • “Test mesh topology”

    Check/uncheck for activate the debug mode of TetGen (debug mode).

    Avertissement

    With the debug mode, the meshing is not realized.

  • “Additional parameters”

    Add parameters to the TetGen default parameters.

  • “Radius/Edge ratio”

    Defines the ratio between the radius of the sphere that would contain a mesh and the lenght of the mesh. This parameter could be useful in order to avoid long meshes.

  • “Scene correction before meshing”

    Check/uncheck for trying to repair the 3D scene if possible.

  • “User-defined paramters”

    Defines new parameters by replacing default parameters.

  • “Surface receiver constraint”.

    Check/uncheck for using a given value of the mesh surface “Surface receiver constraint (m²)”.

  • “Surface receiver constraint (m²)”

    Maximun accepted value of the mesh surface (m²) for a surface receiver. The value can be modified only if the “Surface receiver constraint” parameter is checked.

  • “Volume constraint”

    Check/uncheck for using a given maximum value of the mesh volume “Volume constraint (m3)”.

  • “Volume constraint (m3)”

    Maximun accepted value of a mesh volume (m3). The value can be modified only if the “Volume constraint” parameter is checked.

SPPS Calculation parameters
  • “Active calculation of atmospheric absorption”

    Enables calculation of atmospheric absorption.

  • “Active calculation of diffusion by fitting objects”

    Enables calculation of calculation of diffusion by fitting objects.

    Important

    If fitting zones are enabled, by checking this option, it disables the calculation of all fitting zones. If you uncheck this option, the individual configuration of each fitting zone is preserved.

  • “Active calculation of direct field only”

    Enables calculation of direct field only. There is no calculation of the reverberant field.

    Astuce

    This can be useful if you want to realize a first calculation, as a reference, of the direct field at receivers. The second calculation (direct and reverberant fields) can thus be calculated and compared to the direct field (first calculation).

  • “Active calculation transmission”

    Enables calculation of transmission through walls.

  • “Calculation method”

    Selects the calculation method.

    • “Random”

      Select the Random method.

    • “Energetic”

      Select the Energetic method.

  • “Echogram per source”

    Check to calculation an echogram for each sound source, for a given receiver. If uncheck, a global echogram is calculated by summing all source contributions.

  • “Export surface receivers for each frequency band”

    Check to export the surface receiver results, for each frequency band. If uncheck, only the global value is exported.

  • “Limit value of the particle extinction: ratio 10^n”

    For the “Energetic” mode only. It defines a limit value of the particle energy. If the decrease of the particle energy is less than this value (i.e. the particle energy is very low), the particle is removed from the domain. For example, if n=60, it means that all particles whose energy will decreases to 60dB, will be removed.

  • “Number of sound particles per source”

    Defines the number of sound particles that are generated by the source.

    Avertissement

    The computational time depends on the number of particles. If you increase the total number of particles, you drastically increase the computaional time.

  • “Number of sound particles per source (display)”

    Defines the number of particles that are used for the particle animation.

    Note

    Most of time, you need to consider only few hundreds or thousands particles for the animation. Incerasing this number, will decrease the memory resources.

  • “Random initialization number”

    Initialize the random number series. If you select a number that is different from “0”, the random number series will always be the same. The starting number of the random number series will depend on the number you will consider for this parameter.

    Avertissement

    In a multithread simulation, I-Simpa/SPPS can not control the generation of random numbers. It means that this paremeter will have no effect. Multithread simulation occurs when several frequency bands are considered in the simulation. To avoid multithreading, consider only one frequency band calculation.

  • “Receiver radius (m)”

    Defines the receiver radius (in m).

  • “Simulation length (s)”

    Defines the duration (in s) of the simulation.

  • “Surface receiver export”

    Select the kind of results that is exported.

    • “Soundmap: intensity”

      Intensity level (in dB).

    • “Soundmap: SPL”

      Sound pressure level (in dB).

  • “Time step (s)”

    Time step (in s) for the calculation.

Computational time optimization

The computationnal time depends mainly of the Number of sound particles per source. Thus, in the SPPS code, each sound particle is followed, at each “Time step” during its propagation inside the 3D domain, experiencing absorption, reflection, diffusion… and so on, during the “Simulation length” and/or untill the particles disapears when its energy is to small.

Considering a small number of sound particles may not produced relevant results to proceed an interesting acouctic analazis of the 3D model. Thus, it is necessary to consider a large number of sound particles. Assigning the good value for large is difficult and depends mainly on the scene size and the absorbent nature of the scene (surface absorption and volume absorption).

Few recommandations to evaluate the computationnal time:

  • the number of sound particles defined in SPPS (“Number of sound particles per source” parameter) is defined for each sound source. Considering N sound particles per source and M sound sources will generate N x M sound particles in the domain;

  • one calculation is done for each frequency band: considering F frequency bands will be equivalent to a calculation with F x N sound particles for one source (or F x N x M for M sources). Note that, by default, the computation is paralleleized on the processor core, for each frequency band (a frequency band for a given core). So the increase of computional time with the nimber of frequency band is not linear;

  • in the “Energetic” mode, each sound particle is “alive” during its propagation untill its energy is below a ratio of the initial energy (see “‘”Limit value of the particle extinction: ratio 10^n” parameter). Increasing n will keep the sound particles longer in the domain, which increases the computational time;

  • in the “Random” mode, each physical phenomena (absorption, diffusion) is applied by considering probabilistic approaches. Using this mode, the computational time is drastically decreased, but the quality of the results is aslo decrease. It is suggested to consider the “Random” mode at the initial step of the study, and then to change to the “Energetic” mode in order to obtain the final result.

SPPS Results

All the results are displayed in the Results tab, following a specific `Tree structure`_. The content of the tree structure depends of the elements defined in the Scene tab, and of additionnal processes execute on the result files (such as for creating room acoustics parameters).

Comments:

  • All folders and files in the tree results can be renamed. A default name is created at the end of the calculation process.

  • Some folders may be repeated several times (for example, as many times as (AMTA) there are Punctual receivers)

❙— 📁 SPPS [Root folder]

❙— 📁 Date_folder [folder; AMTA Calculations]

❙— 📁 Intensity animation [folder]

❙— 📁 Frequency folder [folder; AMTA Frequencies]

❙— 📄 Intensity [file]

❙— 📁 Punctual receivers [folder]

❙— 📁 Punctual receiver name [folder; AMTA Punctual receivers]

❙— 📄 Advanced sound level [file]

❙— 📄 Punctual receiver intensity [file]

❙— 📄 Acoustics parameters [file; see]

❙— 📄 Advanced acoustics parameters [file]

❙— 📄 Schroeder curves [file]

❙— 📄 Sound level [file]

❙— 📄 Sound level per source [file]

❙— 📁 Surface receivers [folder]

❙— 📁 Frequency [folder; AMTA Frequencies]

❙— 📄 Sound level [file]

❙— 📁 Global [folder]

❙— 📄 Sound level [file]

❙— 📄 SPPS particle statistics [file]

❙— 📄 Total energy [file]

❙— 📄 config [file]

❙— 📄 projet_config [file]

In addition to classical room `Acoustics parameters`_, some `Advanced acoustics parameters`_ can also be calculated. The calculation of this advanced room acoustics parameters needs specific calculation of sound levels at a punctual receiver.

This Advanced sound level .gap file display the temporal evolution of the impulse response, for each frequency band, as a data table, weihgted by \(\cos \theta\) (LFC and LG) and \(\cos^2 \theta\) (LF and LG).

Given the nature of the Sound level .recp file (i.e. an echogram), the contextual menu that is associated to this Sound level .recp file allows to calculate several room acoustic parameters:

  • Sound Pressure Level (SPL) in dB

  • Sound Pressure Level (SPL) in dB(A)

  • Clarity C (in dB)

  • Definition D (in %)

  • Central Time Ts (in ms)

  • Reverberation time RT (in s)

  • Early decay time EDT (in s)

  • Stage Support ST (in dB)

Several parameters can be given by the user in order to calculate user-values of some room acoustics parameters:

  • Clarity: fix the value of the temporal limit of integration, usually 50 ms

  • Definition: fix the value of the temporal limit of integration, usually 50 ms

  • Reverberation time: fix the value of the sound level limit of integration, usually 30dB

Astuce

Multiple calculations are allowed for each paremeter, by using the semicolon “;” between parameters.

After the calculation parameters, two files are created in the corresponding folder:

  • “Acoustic parameters”

    This file provides access to the room acoustics parameters in the form of a data table.

    • The parameters are given for each frequency band of interest.

    • When allowed, the Global value (i.e. the sum of all frequency bands) is calculated and displayed at the bottom of each column.

    • When allowed, the Average value (i.e. the mean value on all frequency bands) is calculated and displayed at the bottom of each column.

In addition to classical room `Acoustics parameters`_, some advanced parameters are also calculated, and displayed in the Advanced sound level file.

The contextual menu that is associated to sound level” file allows to calculate several room acoustic parameters:

  • Early lateral energy fraction LFC (in %)

  • Early lateral energy fraction LF (in %)

  • Early lateral energy LF (in dB)

  • Strength G (in dB)

Data display:

  • The Global value (i.e. the sum of all frequency bands) is calculated and displayed at the bottom of each column.

  • The Total value (i.e. the sum of all time step) is calculated and displayed at the end of each row.

Several parameters can be given by the user in order to calculate user-values of advanced parameters:

  • LF: fix the value of the temporal limit of integration, usually 80 ms

  • LFC: fix the value of the temporal limit of integration, usually 80 ms

Astuce

Multiple calculations are allowed for each paremeter, by using the semicolon “;” between parameters.

It displays the temporal evolution of the Schroeder’s curves [Sch65], for each frequency band, as a data table.

Astuce

User can create charts for representing data from the data table. See charts creation

Double left click on a Sound level .recp file open a new winodw with three tabs

  • “Sound Level SPL (dB)” tab

    It contains the temporal evolution of the quantity, for each frequency band, as a data table.

    • This tab is opened by default.

    • The values are represented in sound pressure levels (SPL).

    • The Global value (i.e. the sum of all frequency bands) is calculated and displayed at the bottom of each column.

    • The Total value (i.e. the sum of all time step) is calculated and displayed at the end of each row.

  • “Sound Level SPL (dB)” tab

    It provides a graphic display of the Global value.

    • The temporal evolution of the Global value is displayed, as an echogram.

    • The cumulative quantity of the Global value is displayed, according to the Schroeder’s backward integration [Sch65].

  • “Spectrum” tab

    It displays a spectrum at the punctual receiver.

Double right click on a Sound level .recp file open a contextual menu that allows to calculate `Acoustics parameters`_.

This file contains the sound level and the spectrum per sound source. Double left click on a .recps file open a new winodw with two tabs:

  • “Sound Level per source, SPL (dB)” tab

    It contains the sound level per source and f each frequency band, as a data table.

    • This tab is opened by default.

    • The values are represented in sound pressure levels (SPL).

    • The Global value (i.e. the sum of all frequency bands) is calculated and displayed at the bottom of each column.

    • The Total value (i.e. the sum of all time step) is calculated and displayed at the end of each row.

  • “Spectrum” tab

    It provides a graphic display of the spectrum contribution for each sound source.

A Surface sound level .csbin file contains the temporal evolution of a quantity that represents an acoustic intensity on a surface.

Depending of the calculation parameters, one can obtain, for each surface receiver, by default, on Global value (in the “Global” folder) and, in addition, the result for each frequency band in a corresponding folder.

A right click on a surface receiver file opens the contextual menu, with specific actions:

  • “Acoustic parameters”

    Allows to compute relevant room acoustics parameters on the surface. Depending of the selection, it creates additional files within the corresponding folder.

    • Clarity C (in dB)

    • Definition D (in %)

    • Central Time Ts (in ms)

    • Reverberation time RT (in s)

    • Early decay time EDT (in s)

    • Stage Support ST (in dB)

  • “Load animation”

    It allows to represent the spatial variation of the indicators that is selected. If the indicators contains some time dependent value, it can displayed an animation. On can interact on the animation with the “Simulation” toolbar.

    • “Instantaneous value”

      Show the value of the given indicator at each time step.

    • “Cumulative instantaneous value”

      Show the value of the given indicator at each time step, by cumulating all past steps.

    • “Total value”

      Show the total value of the given indicator. No animation.

Using TCR within I-Simpa

TCR is already embedded in I-Simpa. Follow the next instructions to run a calculation with the TCR code in I-Simpa.

Double left click on the TCR calculation code in I-Simpa to display all calculation parameters:

Right click on the selected calculation code to display all possible actions:

  • Run calculation

  • Job list

Meshing

Some calculation codes may require a meshing of the domain (SPPS for example). I-Simpa used the TetGen meshing code (A Quality Tetrahedral Mesh Generator and a 3D Delaunay Triangulator). See the documentation for more information.

Within I-Simpa, TetGen can be paramatrized:

  • “Test mesh topology”

    Check/uncheck for activate the debug mode of TetGen (debug mode).

    Avertissement

    With the debug mode, the meshing is not realized.

  • “Additional parameters”

    Add parameters to the TetGen default parameters.

  • “Radius/Edge ratio”

    Defines the ratio between the radius of the sphere that would contain a mesh and the lenght of the mesh. This parameter could be useful in order to avoid long meshes.

  • “Scene correction before meshing”

    Check/uncheck for trying to repair the 3D scene if possible.

  • “User-defined paramters”

    Defines new parameters by replacing default parameters.

  • “Surface receiver constraint”.

    Check/uncheck for using a given value of the mesh surface “Surface receiver constraint (m²)”.

  • “Surface receiver constraint (m²)”

    Maximun accepted value of the mesh surface (m²) for a surface receiver. The value can be modified only if the “Surface receiver constraint” parameter is checked.

  • “Volume constraint”

    Check/uncheck for using a given maximum value of the mesh volume “Volume constraint (m3)”.

  • “Volume constraint (m3)”

    Maximun accepted value of a mesh volume (m3). The value can be modified only if the “Volume constraint” parameter is checked.

TCR Calculation parameters
  • “Active calculation of atmospheric absorption”

    Enables calculation of atmospheric absorption.

  • “Export surface receivers for each frequency band”

    Check to export the surface receiver results, for each frequency band. If uncheck, only the global value is exported.

Run calculation

Starts the calculation with the selected calculation code.

Job list

Instead of running the calculation, manually one after the other, you can create a list of calculation and, thus, run all calculations at once.

Important

To use a job list, you have to create a specific project for each job. If you keep the same project, but if you change only some parameters, you will repeat exactly the same calculation.

  • “Add calculation in the job list”

    Add the calculation of the given project in the job list.

  • “Clear job list”

    Clear the job list.

  • “Run job list”

    Run the job list.

  • “Show job list”

    Show the job list in the tab “Messages” of the “Console”.

“Results” tab

The “Results” tab contains all results produced by the calculation codes. When a project is loaded into I-Simpa the outcome data are organized as a tree structure that exactly correspond to the folder/files tree on the hard disk (i.e. the physical tree). It is possible to directly access to the contents of a folder from the associated contextual menu, by choosing the “Open folder” option. If changes are made in the physical tree, it is possible to refresh the results true by setting the action “Refresh folder”.

Avertissement

Deleting a folder or a file from the I-Simpa interface or from an extern file explorer is definitive.

The results of the calculations are sequentially added to the “Results” tree with a folder name that is automatically generated from the date of the calculation (the name can be modified by the user). For each calculation, two XML files are automatically added to the results folder:

  • the config.xml file is generated by I-Simpa and contains all the information that are needed for the calculation (according to the calculation code used).

  • the projet_config.xml file contains all information in the 3 tabs “Scene”, “Calculation” and “Results”. This file can be used as a “memory” of the calculation (archive).

In addition, each calculation codes generates specific files that can be interpreted by I-Simpa, depending of their format (with specific contents and file extensions).

For more information, see the “Results” section of each calculation code (in the documentation):

File formats

I-Simpa can interpret two types of file:

  • File formats recognized by the Operating System, such as txt, xml, html, pdf… for example. Double left click on the file starts the associated program within the operating system.

  • Native I-Simpa files: these file are created by the calculation code and that can be associated with specific actions and treatments within I-Simpa.

    • File .recp

      Punctual receiver file data type

    • File .gap

      Punctual receiver file data type

    • File .csbin

      Surface receiver file type

    • File .gabe

      Tabulated data file

    • File .rpi

      Animated intensity file

    • File .pbin

      Animated data file

“Properties” window

This windows display the properties of a given element.

In order to display the element properties in the “Properties” windows, users can either:

  • double-click on an element in a tree;

  • right click on the element and select “Properties” in the corresponding contextual menu.

“Console” window

The “Console” window contains two tabs:

  • the “Message” tab displays messages for the user, with a color code:

    • Information messages (black) according to the operations performed by the user

    • Warning messages (red): operations to be performed by the user

    • Information messages (blue) from internal or external programs (computer codes, a correction tool…)

    Note

    All messages are time stamped.

    Note

    For the meaning of the messages from external programs, refer to the documentation of the corresponding program.

    Note

    The information in the tab “Message” can be saved in a text format using the “Console/Export to file” option of the “Windows” menu.

    Note

    The console can be reset using the “Console/Delete windows” option of the “Windows” menu.

  • the “Python” tab allows you to run Python scripts, both to perform treatments on data from I-Simpa or to develop new features. Refers to the scripting examples for the developement of scripts in I-Simpa and to the Python documentation.

“Main” window

The “3D View” window contains the 3D model of the scene. Depending on the Pointer mode, several actions are possible:

  • face selection (See the section Surface selection for understanding how to select surface elements)

  • navigation in the scene (See Camera mode for details)

  • data extraction

Astuce

The main window is (un)dockable. You can display the Main window on a second screen (see menu “Windows > 3D View” options)

Project database

The Projet database is an element of the “Projet” tree. This database is composed of three database:

For each database, two sub-database are given:

  • a “Reference” database that contains built in information, which can not be edited by the user

  • a “User” database that can be edited bu the user to create new elements

Astuce

Note that it is possible to copy an element from the “Reference” database to the “User” database. Copy/Paste is also possible for folder.

Directivities

This feature is experimental and is not documented.

Materials

Contextual menu

Right click on the “User” folder to define a new material or a group of material.

  • “New Material”

    Creates a new material in the corresponding group.

  • “Create group”

    Creates a new group in the corresponding group.

  • “Import from a file”

    Allows to import materials from a file. Several formats are supported:

Importing from CATT-Acoustic Format

File used by the CATT-Acoustic software: text file with extension “.txt” (see CATT-Acoustic website).

CATT-Acoustic material file example:

panelwalls = < 21 12 9 6 9 13 > L < 15 13 11 9 7 5 >
sidereflector = < 20 12 6 4 7 10 > L < 15 20 25 35 45 50 >
audience = < 45 60 73 80 75 64 > L < 30 40 50 60 65 70 >
rearaudience = < 50 66 80 88 83 70 > L < 30 40 50 60 65 70 >
linoleum = < 2 3 3 4 6 5 > L < 30 27 24 21 18 15 >
reflectors = < 12 10 4 3 3 2 >
stage = < 15 8 6 6 6 6 > L < 15 13 11 9 7 5 >
ceiling = < 20 15 10 8 4 2 > L < 15 13 11 9 7 5 >
speakerwindow = < 2 6 3 3 2 2 > L < 30 27 24 21 18 15 >
plasteredconcrete = < 2 2 3 3 4 6 > L < 15 13 11 9 7 5 >
ventilationgrid = < 8 12 15 15 12 8 > L < 30 27 24 21 18 15 >
floor = < 15 8 6 6 6 6 > L < 15 13 11 9 7 5 >
interiorwalls = < 20 12 6 4 7 10 > L < 15 13 11 9 7 5 >
stairs = < 15 8 6 6 6 6 > L < 15 13 11 9 7 5 >
exteriorwalls = < 20 12 6 4 7 10 > L < 15 20 25 35 45 50 >

CATT-Acoustic material file import example in I-Simpa

_images/CATT_import.PNG
Importing from Odeon Format

File used by the software Odeon: text file with extension “.li8” (see Odeon website);

Avertissement

The CATT-Acoustic and Odeon data files are defined octave bands, while I-Simpa uses third octave bands. During the importation, values per octave band are attributed to the corresponding third octaves. Furthermore, since I-Simpa takes into accound upper and lower frequency bands than the last software, data are extrapolated from the closest frquency band data.

Note

During importation, all fields of the original file are not imported from the data files.

Properties

  • “Display”

    Opens a dialog box to assign a color to the material, for the representation of the material in the scene (see Menu view).

  • “Description”

    • “Description”

      String to describe the material.

    • “Mass density (kg/m3)”

      Density of the material (real).

    • “Reference”

      Reference associated with the material (text).

    • “Resistivity (kN.mm-4)”

      Resistivity of the material (real value).

    • “Side of material effect”

      List for choosing how the material properties are considered in relation to the direction of propagation relative to the normal to the material:

      • “Bilateral”

        The material has the same properties on both sides of the surface to which it is associated.

      • “Unilateral”

        The material is transparent in one direction. The acoustic properties of the material are considered only in a propagation direction opposite to the normal to the face. See the guide of the numerical code to know how this property is used.

  • “Spectrum”

    Defines the acoustic properties of the material for each frequency band.

  • “Absorption”

    Absorption coefficient of the material (real value between 0 and 1).

  • “Diffusion”

    Scattering coefficient of the material in order to model wall diffusion (real value between 0 and 1).

  • “Transmission”

    Check/uncheck for taking acoustic transmission into account.

  • “Loss”

    Transmission loss of the material (dB).

  • “Diffusion law”

    Reflection law for the diffuse part of the reflection;

    • “Lambert”

      Diffuse Lambert reflection law (cosinus of the incident angle).

    • “Specular”

      Specular reflection law.

    • “Uniform”

      Uniform reflection law, (i.e. “W” reflection law that corresponds to cosinus^2 of the incident angle).

    • “W2”

      “W2” reflection law (cosinus^2 of the incident angle).

    • “W3”

      “W3” reflection law (cosinus^3 of the incident angle).

    • “W4”

      “W4” reflection law (cosinus^4 of the incident angle).

Note

For a scattering coefficient set to 0 (no diffuse reflection), the “Diffusion law” is set to “Specular”, and can not be modified.

Note

For a scattering coefficient set to 1 (full diffuse reflection), the “Diffusion law” is set to “Specular” by default, but can be changed.

Avertissement

Absorption and transmission loss are linked together. Since transmission is a part of the absorption (\(\alpha=\beta+\tau\), see for example SPPS documentation), the transmission coefficient \(\tau\) can not be larger than the absorption coefficient \(\alpha\). For example, for a given absorption coefficient of \(\alpha=0.2\), the transmission loss TL (\(TL=-10\log\tau\)) must be greater or equal than 7 dB (i.e. \(TL \geq -10 \log \alpha=-10 \log 0.2 \approx 7\) dB.

  • If the transmission coefficient (\(\tau=10^(-TL/10)\)) value is larger than the possible absorption, the absorption coefficient is automatically adjusted.

  • If the absorption coefficient is changed, the transmission loss \(TL=-10\log\tau\) can be automatically adjusted if necessary.

Spectrum

Spectrum are can be used either for the definition of the source emission or for the definition of the background noise at a receiver. See the section Using spectrum for understanding how to use a spectrum in the application.

Contextual menu

Right click on the “User” folder to define a new sepctrum.

Properties

User has to define the spectrum value for each frequency band, either in “dB” or in “dB(A)”.

Note

Values in in “dB” and in “dB(A)” are linked together. Changing one value, for example in dB (respectively in dB(A)), will change the dB(A) value (respectively the dB value).

Note

Changing the “Global” value will affect the value for each frequency band: all values are shifted in order to respect the global value.

Import options

“Average model remesh”

Allow to build an approximate model from the 3D scene which is imported.

Indeed, due to the sensitivity of some numerical codes within I-Simpa in regards with the “quality” of the 3D geometries, it may be possible that some calculation codes will not be functional. A possibility that is offered by I-Simpa, is to use the “original” 3D geometry to create an approximate 3D model, with a “quality” in accordance with the calculation code.

Note

Please note, that research works on the sound field modelling in room acoustics,

have shown that it is preferable to use a simple geometry with a good evaluation of the acoustical properties of surface materials, instead of a complicated geometry. In other word, if you need to build an approximate geometry, you don’t need to choose a high level of approximation.

Avertissement

Depending of the chosen options and the size of the volume, the “Average model remesh” option can require large computational times.

The realization of the approximate model is based on the marching cube technique, and will try to propose a model as close as possible from the original one. When choosing the “Average model remesh” options, two dialog boxes will be successively proposed:

Mesh correction options:

  • “Model solving”

    This option defines the resolution n of the approximation. The volume of the original model is decomposed in \(2^n\) elements in each 3D axis. For example, for n=7, we will have 128x128x128 cubic ceils in the original volume.

  • “Triangulation method”

    This option defines the type of method used for approximating model. There is currently only one possible option “Marching cube”.

  • “Remesh adaptation”

    When cubic ceils are created in the original volume, you can decide to “deform” the ceils close to the surface of the volume in order to fit as well as possible the delimiting surface of the original model (option “Vertices 6translation”). If deformation is required, choose the “None” option. important The “Vertices translation” option can require large computational time and can also produced some unwanted effects.

  • “Reduction of the number of surfaces”

    This option able to reduce the total number of faces in the approximate model, by evaluating the quality of each face. There is currently only one possible option “Edge collapse”. This method is based on the size and the shape of each face, reduced to a “Quality Constraint”, noted q, and on the “Approximation constraint”. See the following book for details: PLTMG: A Software Package for Solving Elliptic Partial Differential Equations by Randolph E. Bank.

“Repair model”

With this option, I-Simpa try to repair some elements of the 3D model (fusion of vertices, correction of non-planar surfaces…). This will assure a better compatibility with the numerical code within I-Simpa, but is still limited.

“Surface meshing”

This option allows to enhance the quality of surface elements, by re-meshing original surfaces. Default parameter are proposed (it seems to offer a good quality), but can be changed. This procedure is based on the TetGen mesh generator.

Avertissement

By using this option, it increases the numbers of face elements. The assignation of materials within I-Simpa will be more time consumer. This option should be used only if the mesh generation within I-Simpa can not be realized due to a poor quality of surface elements.

“Keep existing group”

This option should be used only when importing a new 3D geometry in the current project.

This allows to associate new faces of the new geometry to old surface groups. The method compares the location of the new surface elements from the old one, in regard with a given precision (“Association maximum distance”).

Astuce

This can be useful, if users want to load a modified geometry (with minor changes from the previous one) without re-affecting all surface materials within I-Simpa.

Recommendations to import a 3D scene

I-Simpa is very sensitive to the quality of 3D files. It will not accept a ‘bad’ geometry, with faces intersections, holes between faces… (in fact, the model will be imported, but some codes like SPPS will not be functional).

Step-by-step 3D scene creation, importation and test

It is recommended that users try to export their model in I-Simpa during the different steps of the model building:

  1. Start to built your 3D model with your CAD software (the main close surface of the model);

  2. Export the model in a 3DS file with your CAD software;

  3. Import the 3D model within I-Simpa;

  4. Generate a meshing by clicking on the ‘Meshing’ button on the icon toolbar: this will verify that your model is correctly built;

  5. if user can see the mesh inside the model, it means that the model is correct for I-Simpa and that the calculation with SPPS will be functional;

  6. if the model is not correct, return to the CAD software and try to see what is the problem (the problem is due to something in the last step of the built of the 3D model);

  7. if the model is correct, return to your CAD software (step 0) and continue your 3D modelling, by adding objects, faces… Then, continue using the same procedure.

Note

At the importation step, I-Simpa can correct some errors. During importation check the ‘Repair model’ Import options (if not already done).

Note

If you still have trouble during importation, you can also create an approximate model by using the Import options ‘Average model remesh’. It will create a simple (or simplified) model.

Astuce

Note that, when creating a 3D model for acoustic calculations, it is not necessary to create a very complex 3D model with too many faces. You will have better results with the simple shape of your 3D model, and by adjusting correctly all acoustical characteristics of the material on the face. Make simple.

Use TetGen to identify problems in 3D models

There is a way inside I-Simpa to identify problems in 3D geometries, after importing the 3D scene.

  1. Import your 3D model in I-simpa

  2. Go to the “Calculation” tab of the “Project” window

  3. Got to “Mesh” “Properties” window of the SPPS code

  4. Check the “Test mesh topology” option (see SPPS meshing options)

  5. Run the SPPS calculations

  6. Faces in error will be colorized in the “Main” window. You can find information about indexes and coordinates in the “Console” window

Displaying meshing errors within I-Simpa console

Displaying meshing errors within I-Simpa “Console” window

Define and use spectrum

Important

It is extremely important that users experiment the manipulation of spectrum before using I-Simpa. The interdependence of sound level in dB and in dB(A), as well as the interdependence of global sound level and sound level for each frequency band, although it is conformed to physical principles, is not obvious.

General information

  • Spectrum are defined in the same way for receivers and sound sources

  • Spectrum are defined only within in “Spectrum” database folder of “Project database” folder, in the “Project” tree,

  • the “Spectrum” database folder contains 2 subfolders, the “Reference” subfolder and the “User” subfolder:

  • Spectrum within the “Reference” subfolders can not be modified. This folder contains only reference built-in spectrum.

  • User can create spectrums in the “User” subfolder. Spectrum can be modified later if necessary.

Definition

Spectrum creation in the “Project” tree

In the “Spectrum” database folder, spectrum are defined simultaneously by a sound level in decibels (dB) or in decibels with the A-weigthed (dB(A)), for each frequency band of interest.

Very important rules:

  • at the spectrum creation, the global sound level (in dB) is set to 0 dB;

  • modifying the global sound level (in dB) updates automatically the ponderate global sound level (in dB(A));

  • modifying the ponderate global sound level (in dB(A)) updates automatically the global sound level (in dB);

  • modifying the global sound level, either in dB and in dB(A), updates automatically the value for all frequency band, in dB and in dB(A), by applying an uniform ponderation on all frequency band;

  • modifying one or more values for a given frequency band, affects automatically the global sound level, both in dB and in dB(A);

  • the global sound level, both in dB and in dB(A), are calculated over the 27 frequency bands between 50 and 20000 Hz.

Avertissement

User can however select only few frequency bands for the calculation. In this case, the user must set the correct sound level values for each corresponding frequency band. The global sound level that will be calculated by I-Simpa (for source spectrum) will not be the global sound level that should be obtained over the selected frequency bands. However, in the results data, since the calculation will be been done with the selected frequency bands, the global sound level at a receiver will be correct.

Examples:

  1. A first spectrum is created:

    • By default, the global sound level is automatically set to 0 dB;

    • By default, the global sound level is distributed over all frequency bands (27 third octave bands, from 50 Hz to 20 000 Hz), which gives -14.31 dB for each band (i.e. -10log(27)=-14.31 dB);

    • The A-weigthed is automatically calculated for each frequency band, leading a global sound level of -2.38 dB(A).

  2. The global sound level is set to 100 dB:

    • The sound level for each frequency band is uniformly modified and sets to 85.69 dB (i.e. 100-14.31 dB);

    • The ponderate sound level in dB(A) is automatically modified, both for each frequency band and for the global sound level.

  3. The ponderate sound level is set to 100 dB(A):

    • The ponderate sound level for each frequency band is modified, according to the pattern of the A ponderation;

    • The ponderate sound level in dB is automatically modified, both for each frequency band and for the global sound level.

  4. from the last spectrum, the sound level is modified to 50 dB for the third octave band between 500Hz and 2000Hz, and then the global sound level is set to 80 dB:

    • All sound level, both in dB and dB(A) are automatically updated.

Using spectrum in the “Data” tree

In I-Simpa, spectrum are used either for punctual receivers (element “Background noise”) and for sound sources (element “Sound power”).

  • in the “Properties” window, select the “Spectrum” in the list (the list contains all “Reference” and “User” spectrums)

  • define the total sound power “Lw” (in dB);

  • if necessary, add an “Attenuation” (in dB) either in global or in frequency band: this attenuation will be applied on the corresponding values of the sound power of the source.

Astuce

The “Attenuation” value can be useful to simulate an attenuation device on the source, without changing the source spectrum, just by adjusting the attenuation in global or in frequency band.

Avertissement

A global attenuation of 0 dB will apply an uniform attenuation of -14.31 dB for each frequency band. In you do not want to take an attenuation into account, the attenuation must be set to 0 dB for each frequency band.

Define a position using the pointer on the 3D view

Many elements of the tree “Data” require to define a “Position” (x,y,z) in the 3D geometry. Data can be defined:

  • by filling the corresponding cells (x, y and z) in the corresponding “Properties” window;

  • by using the pointer. In this last case, user has to point the “Position” element with the pointer in the tree:
    • Right click on the “Position” element;

    • Select the “Define in the 3D view” option in the contextual menu;

    • Then, in the 3D view, users point a position on a visible face; this will affect the values (x,y,z) to the “Position” element. Users can then adjust values in the corresponding cell of the spreadsheet in the “Properties” window.

Surface selection

To select one or more face elements on the 3D scene, select the pointer mode “Face selection” on the Toolbar “Selection”:

  • Left click on a surface to select a face element

  • Press CTRL button and Double left click on a surface to select all coplanar face elements

  • Press CTRL button and Select multiple face elements

When one or more surfaces are selected:

  • the selected face elements are highlighted on the 3D view;

  • the selected face elements are highlighted on the corresponding “Surfaces” group in the “Data” tree of the “Scene” tab;

  • once the face elements are selected, they can be moved from a “Surfaces” group to another (within the “Data” tree), using the pointer or using available actions after a right click on one of the selected faces.

Manipulating sources and receivers

Rotate a group of sources/receivers

I-Simpa can automatically rotate a group of punctual receivers or sound sources. Users have to specify:

  • “Rotation angle (degree)”: angle of rotation [degree];

  • “Rotation center”: center of the rotation (position (x,y,z) in [m]);

  • “Rotation vector”: axis of rotation (x,y,z) in [m].

Example: Below, an example of rotation of a receivers grid in a plane XY:

  • “Rotation angle (degree)”=45°

  • at center position “Rotation center”=[1.,1.,0.]

  • around axis “Rotation vector”=[0.,0.,1.]

Translate a group of sources/receivers

I-Simpa can automatically translate of punctual receivers or sound sources. Users have to specify:

  • “Direction (m)”: define the direction (vector) of translation.

Example: Below, an example of a translation of a receivers grid, in the direction [3.,0.,0.]:

Create a grid of receivers

I-Simpa can creates automatically 2D grids of punctual receivers. Users have to specify:

  • a column (col) vector and a row vector to define the grid plane, as well as, the spatial step between two receivers

  • the starting position (origin) of the grid,

  • and the number of rows and columns of the grid.

Grid Parameters:

  • “Col step x (m)”: define the x coordinate of the column vector;

  • “Col step y (m)”: define the y coordinate of the column vector;

  • “Col step z (m)”: define the z coordinate of the column vector;

  • “Number of cols”: define the number of columns;

  • “Number of rows”: define the number of rows;

  • “Row step x (m)”: define the x coordinate of the row vector;

  • “Row step y (m)”: define the y coordinate of the row vector;

  • “Row step z (m)”: define the z coordinate of the row vector;

  • “Starting position x (m)”: define the x coordinate of the origin of the grid;

  • “Starting position y (m)”: define the y coordinate of the origin of the grid;

  • “Starting position z (m)”: define the z coordinate of the origin of the grid;

Using directivity

This feature is experimental and is not documented.

Creating charts

Most values represented as tables in a “Properties” window can be displayed in a chart form, configurable by the user. The procedure consists of selecting cells in a table of data, then, to click with the right mouse button on the corresponding selection and to specify options representation:

“Tab name”

Name of the tab containing the created a chart.

“Name of X axis”

Name of the x-axis.

“Name of X axis”

Name of the y-axis.

“Data alignment”

Choose the orientation of

“Text label for X”

Display labels of the x-axis in a “text mode” using a linear space, or in “value mode” using the real x value.

“Default Style”

Curves representation.

Note

The choice of colors (for curves, fills, dots…) in the representation of graphics is random.

Note

The labels of the data series (in tables) are automatically considered in charts.

Chart Options

Once the chart is created, several actions are possible, using the contextual menu on the chart.

“Original Zoom”

Reset to the initla display. Use the mouse (button left) to zoom in/out.

“Export”
  • “Export to image file”: export the chart as an image file (PNG, JPG, BMP).

  • “Export to clipboard”: user can paste the chart in antoher application.

“Show/Hide curves”

Select the curves to be displayed or “Show”/”Hide” all curves.

“Display parameters”

Configure all the chart properties.

Presentation

SPPS is a sound particles-tracing code, based on geometrical, energetical and probabilistic approaches.

The simulation principle of the SPPS code (from French « Simulation de la Propagation de Particules Sonores ») relies upon tracking sound particles, carrying a amount of energy ε and emitted from a sound source, within a 3D-domain. Each particle propagates along a straight line between two time steps Δt (the whole trajectory may be curved), until collision with an object. At each collision, sound particles may be absorbed, reflected, scattered, diffused, transmitted, depending on the nature of the object.

Two algorithms can be considered:

  1. The first approach (Energetic) is to consider that the energy of the particle is constant. In function of the phenomena, the particle may disappear from the domain or follows its propagation: the number of sound particles decreases along the time.

  2. In the second approach (Random), the particle energy is varying according to the physical phenomena occurring during the propagation. In this case, the number of particles in the domain should be constant along the time. Since, in both cases, physical phenomena can be modeled according to probabilistic laws, both approaches are equivalent to Monte-Carlo methods. The accuracy of prediction is then mainly dependent of the initial number of particles.

Detailled information about SPPS code:

Using SPPS within I-Simpa

SPPS is already embedded in I-Simpa. Follow the next instructions to run a calculation with the SPPS code in I-Simpa.

Double left click on the TCR calculation code in I-Simpa to display all calculation paramaters:

Right click on the selected calculation code to display all possible actions:

  • Run calculation

  • Job list

Frequency bands

This allows to define the frequency band that will be used for the calculation. This can be done:

  • by hand, by checking/unchecking the frequency to be considered;

  • automatically (“Automatic selection”), by using the contextual menu on the element “Frequency band” of the chossen code:

    • “Unselect all”

      Uncheck all frequency bands.

    • “Select all”

      Check all frequency bands.

    • “Octave”

      Check third ocave bands that are centred on the corresponding octave bands.

      • “All”

        All octave bands on the whole frequency range

      • “Building/Road”

        All octave bands between 125Hz and 4000Hz.

    • “Third octaves”

      Check the third octave bands, considering.

      • “All”

        All thrid octave bands on the whole frequency range.

      • “Building/Road”

        All octave bands between 100Hz and 5000Hz.

Meshing

Some calculation codes may require a meshing of the domain (SPPS for example). I-Simpa used the TetGen meshing code (A Quality Tetrahedral Mesh Generator and a 3D Delaunay Triangulator). See the documentation for more information.

Within I-Simpa, TetGen can be paramatrized:

  • “Test mesh topology”

    Check/uncheck for activate the debug mode of TetGen (debug mode).

    Avertissement

    With the debug mode, the meshing is not realized.

  • “Additional parameters”

    Add parameters to the TetGen default parameters.

  • “Radius/Edge ratio”

    Defines the ratio between the radius of the sphere that would contain a mesh and the lenght of the mesh. This parameter could be useful in order to avoid long meshes.

  • “Scene correction before meshing”

    Check/uncheck for trying to repair the 3D scene if possible.

  • “User-defined paramters”

    Defines new parameters by replacing default parameters.

  • “Surface receiver constraint”.

    Check/uncheck for using a given value of the mesh surface “Surface receiver constraint (m²)”.

  • “Surface receiver constraint (m²)”

    Maximun accepted value of the mesh surface (m²) for a surface receiver. The value can be modified only if the “Surface receiver constraint” parameter is checked.

  • “Volume constraint”

    Check/uncheck for using a given maximum value of the mesh volume “Volume constraint (m3)”.

  • “Volume constraint (m3)”

    Maximun accepted value of a mesh volume (m3). The value can be modified only if the “Volume constraint” parameter is checked.

SPPS Calculation parameters

  • “Active calculation of atmospheric absorption”

    Enables calculation of atmospheric absorption.

  • “Active calculation of diffusion by fitting objects”

    Enables calculation of calculation of diffusion by fitting objects.

    Important

    If fitting zones are enabled, by checking this option, it disables the calculation of all fitting zones. If you uncheck this option, the individual configuration of each fitting zone is preserved.

  • “Active calculation of direct field only”

    Enables calculation of direct field only. There is no calculation of the reverberant field.

    Astuce

    This can be useful if you want to realize a first calculation, as a reference, of the direct field at receivers. The second calculation (direct and reverberant fields) can thus be calculated and compared to the direct field (first calculation).

  • “Active calculation transmission”

    Enables calculation of transmission through walls.

  • “Calculation method”

    Selects the calculation method.

    • “Random”

      Select the Random method.

    • “Energetic”

      Select the Energetic method.

  • “Echogram per source”

    Check to calculation an echogram for each sound source, for a given receiver. If uncheck, a global echogram is calculated by summing all source contributions.

  • “Export surface receivers for each frequency band”

    Check to export the surface receiver results, for each frequency band. If uncheck, only the global value is exported.

  • “Limit value of the particle extinction: ratio 10^n”

    For the “Energetic” mode only. It defines a limit value of the particle energy. If the decrease of the particle energy is less than this value (i.e. the particle energy is very low), the particle is removed from the domain. For example, if n=60, it means that all particles whose energy will decreases to 60dB, will be removed.

  • “Number of sound particles per source”

    Defines the number of sound particles that are generated by the source.

    Avertissement

    The computational time depends on the number of particles. If you increase the total number of particles, you drastically increase the computaional time.

  • “Number of sound particles per source (display)”

    Defines the number of particles that are used for the particle animation.

    Note

    Most of time, you need to consider only few hundreds or thousands particles for the animation. Incerasing this number, will decrease the memory resources.

  • “Random initialization number”

    Initialize the random number series. If you select a number that is different from “0”, the random number series will always be the same. The starting number of the random number series will depend on the number you will consider for this parameter.

    Avertissement

    In a multithread simulation, I-Simpa/SPPS can not control the generation of random numbers. It means that this paremeter will have no effect. Multithread simulation occurs when several frequency bands are considered in the simulation. To avoid multithreading, consider only one frequency band calculation.

  • “Receiver radius (m)”

    Defines the receiver radius (in m).

  • “Simulation length (s)”

    Defines the duration (in s) of the simulation.

  • “Surface receiver export”

    Select the kind of results that is exported.

    • “Soundmap: intensity”

      Intensity level (in dB).

    • “Soundmap: SPL”

      Sound pressure level (in dB).

  • “Time step (s)”

    Time step (in s) for the calculation.

Computational time optimization

The computationnal time depends mainly of the Number of sound particles per source. Thus, in the SPPS code, each sound particle is followed, at each “Time step” during its propagation inside the 3D domain, experiencing absorption, reflection, diffusion… and so on, during the “Simulation length” and/or untill the particles disapears when its energy is to small.

Considering a small number of sound particles may not produced relevant results to proceed an interesting acouctic analazis of the 3D model. Thus, it is necessary to consider a large number of sound particles. Assigning the good value for large is difficult and depends mainly on the scene size and the absorbent nature of the scene (surface absorption and volume absorption).

Few recommandations to evaluate the computationnal time:

  • the number of sound particles defined in SPPS (“Number of sound particles per source” parameter) is defined for each sound source. Considering N sound particles per source and M sound sources will generate N x M sound particles in the domain;

  • one calculation is done for each frequency band: considering F frequency bands will be equivalent to a calculation with F x N sound particles for one source (or F x N x M for M sources). Note that, by default, the computation is paralleleized on the processor core, for each frequency band (a frequency band for a given core). So the increase of computional time with the nimber of frequency band is not linear;

  • in the “Energetic” mode, each sound particle is “alive” during its propagation untill its energy is below a ratio of the initial energy (see “‘”Limit value of the particle extinction: ratio 10^n” parameter). Increasing n will keep the sound particles longer in the domain, which increases the computational time;

  • in the “Random” mode, each physical phenomena (absorption, diffusion) is applied by considering probabilistic approaches. Using this mode, the computational time is drastically decreased, but the quality of the results is aslo decrease. It is suggested to consider the “Random” mode at the initial step of the study, and then to change to the “Energetic” mode in order to obtain the final result.

SPPS Results

All the results are displayed in the Results tab, following a specific Tree structure. The content of the tree structure depends of the elements defined in the Scene tab, and of additionnal processes execute on the result files (such as for creating room acoustics parameters).

Comments:

  • All folders and files in the tree results can be renamed. A default name is created at the end of the calculation process.

  • Some folders may be repeated several times (for example, as many times as (AMTA) there are Punctual receivers)

Tree structure

❙— 📁 SPPS [Root folder]

❙— 📁 Date_folder [folder; AMTA Calculations]

❙— 📁 Intensity animation [folder]

❙— 📁 Frequency folder [folder; AMTA Frequencies]

❙— 📄 Intensity [file]

❙— 📁 Punctual receivers [folder]

❙— 📁 Punctual receiver name [folder; AMTA Punctual receivers]

❙— 📄 Advanced sound level [file]

❙— 📄 Punctual receiver intensity [file]

❙— 📄 Acoustics parameters [file; see]

❙— 📄 Advanced acoustics parameters [file]

❙— 📄 Schroeder curves [file]

❙— 📄 Sound level [file]

❙— 📄 Sound level per source [file]

❙— 📁 Surface receivers [folder]

❙— 📁 Frequency [folder; AMTA Frequencies]

❙— 📄 Sound level [file]

❙— 📁 Global [folder]

❙— 📄 Sound level [file]

❙— 📄 SPPS particle statistics [file]

❙— 📄 Total energy [file]

❙— 📄 config [file]

❙— 📄 projet_config [file]

Intensity

Advanced sound level

In addition to classical room Acoustics parameters, some Advanced acoustics parameters can also be calculated. The calculation of this advanced room acoustics parameters needs specific calculation of sound levels at a punctual receiver.

This Advanced sound level .gap file display the temporal evolution of the impulse response, for each frequency band, as a data table, weihgted by \(\cos \theta\) (LFC and LG) and \(\cos^2 \theta\) (LF and LG).

Punctual receiver intensity

Acoustics parameters

Given the nature of the Sound level .recp file (i.e. an echogram), the contextual menu that is associated to this Sound level .recp file allows to calculate several room acoustic parameters:

  • Sound Pressure Level (SPL) in dB

  • Sound Pressure Level (SPL) in dB(A)

  • Clarity C (in dB)

  • Definition D (in %)

  • Central Time Ts (in ms)

  • Reverberation time RT (in s)

  • Early decay time EDT (in s)

  • Stage Support ST (in dB)

Several parameters can be given by the user in order to calculate user-values of some room acoustics parameters:

  • Clarity: fix the value of the temporal limit of integration, usually 50 ms

  • Definition: fix the value of the temporal limit of integration, usually 50 ms

  • Reverberation time: fix the value of the sound level limit of integration, usually 30dB

Astuce

Multiple calculations are allowed for each paremeter, by using the semicolon “;” between parameters.

After the calculation parameters, two files are created in the corresponding folder:

  • “Acoustic parameters”

    This file provides access to the room acoustics parameters in the form of a data table.

    • The parameters are given for each frequency band of interest.

    • When allowed, the Global value (i.e. the sum of all frequency bands) is calculated and displayed at the bottom of each column.

    • When allowed, the Average value (i.e. the mean value on all frequency bands) is calculated and displayed at the bottom of each column.

Advanced acoustics parameters

In addition to classical room Acoustics parameters, some advanced parameters are also calculated, and displayed in the Advanced sound level file.

The contextual menu that is associated to sound level” file allows to calculate several room acoustic parameters:

  • Early lateral energy fraction LFC (in %)

  • Early lateral energy fraction LF (in %)

  • Early lateral energy LF (in dB)

  • Strength G (in dB)

Data display:

  • The Global value (i.e. the sum of all frequency bands) is calculated and displayed at the bottom of each column.

  • The Total value (i.e. the sum of all time step) is calculated and displayed at the end of each row.

Several parameters can be given by the user in order to calculate user-values of advanced parameters:

  • LF: fix the value of the temporal limit of integration, usually 80 ms

  • LFC: fix the value of the temporal limit of integration, usually 80 ms

Astuce

Multiple calculations are allowed for each paremeter, by using the semicolon “;” between parameters.

Schroeder curves

It displays the temporal evolution of the Schroeder’s curves [Sch65], for each frequency band, as a data table.

Astuce

User can create charts for representing data from the data table. See charts creation

Sound level (punctual receier)

Double left click on a Sound level .recp file open a new winodw with three tabs

  • “Sound Level SPL (dB)” tab

    It contains the temporal evolution of the quantity, for each frequency band, as a data table.

    • This tab is opened by default.

    • The values are represented in sound pressure levels (SPL).

    • The Global value (i.e. the sum of all frequency bands) is calculated and displayed at the bottom of each column.

    • The Total value (i.e. the sum of all time step) is calculated and displayed at the end of each row.

  • “Sound Level SPL (dB)” tab

    It provides a graphic display of the Global value.

    • The temporal evolution of the Global value is displayed, as an echogram.

    • The cumulative quantity of the Global value is displayed, according to the Schroeder’s backward integration [Sch65].

  • “Spectrum” tab

    It displays a spectrum at the punctual receiver.

Double right click on a Sound level .recp file open a contextual menu that allows to calculate Acoustics parameters.

Sound level per source

This file contains the sound level and the spectrum per sound source. Double left click on a .recps file open a new winodw with two tabs:

  • “Sound Level per source, SPL (dB)” tab

    It contains the sound level per source and f each frequency band, as a data table.

    • This tab is opened by default.

    • The values are represented in sound pressure levels (SPL).

    • The Global value (i.e. the sum of all frequency bands) is calculated and displayed at the bottom of each column.

    • The Total value (i.e. the sum of all time step) is calculated and displayed at the end of each row.

  • “Spectrum” tab

    It provides a graphic display of the spectrum contribution for each sound source.

Sound level (surface receiver)

A Surface sound level .csbin file contains the temporal evolution of a quantity that represents an acoustic intensity on a surface.

Depending of the calculation parameters, one can obtain, for each surface receiver, by default, on Global value (in the “Global” folder) and, in addition, the result for each frequency band in a corresponding folder.

A right click on a surface receiver file opens the contextual menu, with specific actions:

  • “Acoustic parameters”

    Allows to compute relevant room acoustics parameters on the surface. Depending of the selection, it creates additional files within the corresponding folder.

    • Clarity C (in dB)

    • Definition D (in %)

    • Central Time Ts (in ms)

    • Reverberation time RT (in s)

    • Early decay time EDT (in s)

    • Stage Support ST (in dB)

  • “Load animation”

    It allows to represent the spatial variation of the indicators that is selected. If the indicators contains some time dependent value, it can displayed an animation. On can interact on the animation with the “Simulation” toolbar.

    • “Instantaneous value”

      Show the value of the given indicator at each time step.

    • “Cumulative instantaneous value”

      Show the value of the given indicator at each time step, by cumulating all past steps.

    • “Total value”

      Show the total value of the given indicator. No animation.

General principle

Sound particle concept

In contrast to classical acoustic theory, where the study of the sound field is based on the propagation of a wave in a continuous material medium, the approach used in the SPPS code is geometric, and more particularly particulate: (joyce1974). In a field of complex propagation, the sound field is then decomposed into a multitude of elementary particles, called sound particles or phonons, without mutual interaction and carrying an infinitesimal energy and constant over time. These particles propagate at the speed of sound, either in straight line (homogeneous atmosphere), or with curved trajectories (in the presence of a velocity profile, atmospheric turbulence…), between two successive shocks with the obstacles and limits of the propagation medium. In a collision with an obstacle or a boundary of the propagation domain, the particles can be absorbed or reflected in a new direction of propagation. Geometric acoustics thus become a special case of particle dynamics, so that a sound field can be likened to a gas of sound particles. Under these conditions, the distribution of the energy of the sound field is assimilated to the distribution of the sound particles. Since the local density of sound energy is proportional to the local density of phonons, the only difficulty lies in determining the distribution of these sound particles over time. Although analytical approaches may be considered under certain conditions (lepolles2003), we have chosen an all-digital approach here. With the evolution of computing powers, the numerical simulation of a system composed of several hundred thousand particles is no longer a major difficulty.

Sound particles vs. sound rays

This concept is relatively similar to the traditional methods of sound beam tracing, implemented in most current closed or open environment noise prediction software. Nevertheless, even if in form these two methods are comparable, the major differences lie in the management of the sound energy carried by sound particles and sound rays. For the latter method, each sound ray carries an intensity whose amplitude decreases proportionally with the square of the propagation distance, thus simulating the acoustic radiation of a spherical source (geometric dispersion). On the other hand, in the concept of sound particles, each particle carries an elementary energy \(\epsilon\), whose amplitude does not vary according to the propagation distance.

On the other hand, all the physical phenomena occurring during propagation (reflection, absorption, diffusion, atmospheric absorption) are not considered in the same way in the two approaches. In the « sound rays » approach, these phenomena occur in the form of a weighting applied to the sound intensity carried by a ray. For example, when in contact with an absorption coefficient wall \(\alpha\), the intensity of the beam after reflection will be weighted by the coefficient \((1-\alpha)\). In the « sound particles » approach, some of these physical phenomena can be considered probabilistically. When in contact with an absorption coefficient wall \(\alpha\), the particle could for example have a probability \((1-\alpha)\) of being reflected, and a probability \(\alpha\) of being absorbed. In the latter case, it disappears from the propagation domain.

One of the major advantages of the sound particle concept lies above all in the consideration of diffuse reflections on the walls and diffusion by encumbrances. In sound ray methods, wall reflections are determined by image source methods that allow only specular reflections, perfectly deterministic, and prohibit the consideration of diffuse reflection phenomena. In the particulate approach, and as we will see below, these diffuse reflections are considered in a probabilistic way, the angle of reflection being able to be chosen according to any arbitrary law of reflection. The same applies to the consideration of diffusion by objects distributed in the propagation medium (machines in industrial premises for example). In the sound ray approach, it is necessary to know exactly the shape and position of the object in order to calculate in a deterministic way the angle of reflection of a sound ray on it. In the particle approach, scattering objects can be considered statistically, with no knowledge other than their spatial distribution and average shape, which significantly reduces costs in terms of calculating and defining the field of study. This statistical (or probabilistic) description, which can be generalized to most of the physical phenomena involved in sound propagation, is therefore the main strength of the sound particles approach compared to the « sound rays » approach.

Code principle

The principle of simulations is therefore based on the tracking of sound particles, carrying an initial energy :math: epsilon, emitted from one or more sound sources, in a volume chamber :math:` V` totally or partially closed. Each particle is propagated along rectilinear or curved paths, until it collides with a wall or scattering object. At each collision, the sound particle (or part of its energy) can be absorbed, reflected or transmitted, depending on the absorption and transmission coefficient of the wall or object. As the processing of certain physical phenomena can be performed by random number draws, this simulation procedure can therefore be likened to a Monte Carlo method: raw-latex: cite {burns1990}. The physical phenomena simulated by these draws of random numbers will be all the better respected as the number of random draws will be large, that is to say that the initial number :math: N of sound particles will also be very large. Nevertheless, more :math: N will be large, longer will be the duration of the simulations. The choice of :math: N is therefore a compromise between the computation time and the accuracy of the results, but is also a function of the geometry and acoustic characteristics of the propagation domain. For example, the more the propagation domain will be absorbing (at the walls, scattering objects, atmospheric absorption), the more it will be necessary to consider sound particles to have a satisfactory description of the physical phenomena.

In the current version of the `` SPPS`` code, two calculation modes are proposed:

  • Random Modeling: In this mode, the energy of the particle is constant. The phenomena of absorption and atmospheric absorption are considered statistically: depending on the values ​​of the atmospheric absorption and the absorption coefficients of the materials, the particles can be made to disappear completely from the propagation domain, or to remain in the domain with the same energy. The other physical phenomena (diffusion by a congestion, diffuse reflection) are also treated statistically. As the number of sound particles decreases over time, the calculation time decreases gradually. Moreover, the density of sound energy at a point of the domain is then proportional to the number of sound particles at the same point.

  • Energetic modeling: In this mode, the energy of the particle is weighted according to the values ​​of the atmospheric absorption and the absorption coefficients of the materials. The other physical phenomena (diffusion by congestion, diffuse reflection) are also treated randomly. Since in this mode, the number of sound particles is constant, the duration of the numerical simulations is longer than for the first mode. Moreover, the sound energy density at a point of the domain is then proportional to the sum of the energy of the sound particles at this same point.

Spatial meshing

Unlike conventional calculation codes based on ray and sound beam throws, the SPPS code is based on a volumetric mesh of the propagation domain.

Benefits:

  • the mesh of the propagation domain allows to optimize the propagation of sound particles in the domain. Indeed, a pre-processing makes it possible to determine for each mesh of the domain its position with respect to the limits of the domain, its position inside or outside a space requirement, as well as general properties, such as the speed of sound in the mesh and the meteorological conditions (via the height with respect to the ground for example). The tracking of a sound particle in the domain is therefore accelerated by the knowledge of the properties of the meshes adjacent to the mesh containing the particle at the current time step;

  • the volume mesh allows to realize a surface mesh of the domain boundaries, which can be used to build surface receivers, on any boundary of the domain;

  • the realization of a volumetric mesh requiring that the geometric model be perfectly closed, thus ensuring that no sound particles can disappear from the propagation domain due to an opening (faces of the model not perfectly joined for example).

Disadvantages:

  • the realization of the mesh requiring that the geometric model is perfectly closed, this supposes that the model is perfectly constructed. Calculation codes based on sound rays do not have this constraint, since they « allow » a ray to « leave » the domain and propagate to infinity.

Temporal meshing

In parallel, the monitoring of sound particles is carried out in constant time steps, and not in continuous time. It is therefore necessary to choose a sufficiently small time step so that the physical phenomena present in the sound emission and acoustic propagation processes can be applied to a given time step.

Mesh supported by the code SPPS:

  • tetrahedral mesh;

Modelling of physical phenomena in SPPS

Sound source modelling

General formalism

Acoustic directivity and probability density of sound particles emission

From a numerical modelling point of view, the problem of sound emission from a point source is to attribute to the sound particles, at a given moment (which can be the origin of time), the exact position of the source, propagation directions in accordance with the directivity of the source. For example, in the case of an omnidirectional sound source, it is necessary to verify that the sound particles, once emitted, are uniformly distributed over a sphere centred on the source (see corresponding figure: Elementary geometry for a sound source). The first solution that comes to mind is to make a deterministic discretization of the source’s radiation in spherical coordinates; the method would consist in considering emission angles \(\theta\) and \(\phi\) by constant steps. Nevertheless, such discretization of emission angles causes an artificial concentration of sound particles at the poles of the sphere symbolizing the source.

Elementary geometry for a sound source

Elementary geometry for a sound source

The direction of emission of a particle is defined in spherical coordinates by the angles \(\phi\) (azimuth) between \(0\) and \(2\pi\), and \(\theta\) between \(0\) and \(\pi\) (polar angle), or by the elementary solid angle \(d\Omega\).

It is in fact necessary to check the respect of the number of particles emitted by elementary solid angle \(d\Omega = d\phi\,\sin\theta\,d\theta\), checks the directivity of the source, either in a deterministic or random way (figure[geo_source]). In our case, we chose a random draw of the initial directions of the particles. It is then necessary to define the probability densities \(g(\phi)\) and \(p(\theta)\), respectively for the angles \(\phi\in[0.2\pi]\) and \(\theta\in[0.\pi]\), such as the probability density \(Q(\theta,\phi)\) of emission in the direction \((\theta,\phi)\) (or probability density \(F(\Omega)\) of emission in the elementary solid angle \(\Omega\)) either in accordance with the directivity of the source. In practice, \(Q(\theta,\phi)\) is nothing more than the directivity of the source. By definition, these probability densities verify the following relationship:

\[\begin{split}\begin{aligned} \int F(\Omega)\, d\Omega &= \iint Q(\theta,\phi) \,\sin\theta \, d\phi\,d\theta \\ &=\int_{0}^{2\pi} g(\phi) \, d\phi \int_{0}^{\pi} p(\theta)\,\sin\theta\,d\theta\\ &=1. \end{aligned}\end{split}\]

From the point of view of sound power, this is equivalent to considering that the power \(W\) of the source is well distributed over the surface of a sphere centered on the source:

\[\iint W\,Q(\theta,\phi) \,\sin\theta \, d\phi\,d\theta=W.\]

If the densities \(g(\phi)\) and \(p(\theta)\) are independent, they check:

(1)\[\label{cond_g} \int_{0}^{2\pi} g(\phi) \, d\phi = 1,\]

and

(2)\[\label{cond_p} \int_{0}^{\pi} p(\theta)\,\sin\phi\,d\theta=1.\]
Source power and elementary particle energy

Acoustically, for a period of time \(\Delta t\), a power source \(W\) emits an amount of energy \(E=W\times \Delta t\). From a particle concept point of view, each particle carries an elementary energy \(\varepsilon_0\). If the source emits \(N\) sound particles, the energy conservation between the two approaches therefore requires:

\[N \times \varepsilon_0 = W\times \Delta t,\]

then

\[\label{energie_elementaire} \varepsilon_0 = \frac{W}{N}\times \Delta t.\]

Omnidirectionnal source

Physical description

An omnidirectional sound source is a source that radiates in all directions with the same amplitude. The directivity of the source is similar to a sphere. The directivity coefficient \(Q\) associated with the directivity of the source is equal to \(1\).

Modeling

In the case of an omnidirectional source, the densities \(g(\phi)\) and \(p(\theta)\) being uniform, the relationships (1) and (2) verify:

\[\int_{0}^{2\pi} g(\phi) \, d\phi =\int_{0}^{2\pi} A \, d\phi = 1\]

and

\[\int_{0}^{\pi} p(\theta)\,\sin\theta\,d\theta=\int_{0}^{\pi} B\,\sin\theta\,d\theta=1,\]

where \(A=1/2\pi\) and \(B=1/2\) are two normalization constants. In practice, the method consists first of drawing an angle \(\theta\) between \(0\) and \(2\pi\) as follows:

\[\label{choix_phi} \phi=2\pi \times u \quad \in [0,2\pi]\]

where \(u\) is a random number between \(0\) and \(1\), and defined by a uniform distribution. If the angle \(\theta\) is chosen in the same way (i.e. \(\theta= \pi \times v\), \(v\) being a random number with a uniform distribution between \(0\) and \(1\)), the distribution of the emission directions does not respect the elementary solid angle consistency, since the condition ([cond_p]) is not verified. In this case, the directions around the poles would be preferred. It is actually necessary to determine the angles \(\theta\) which verify a distribution proportional to \(\sin\theta\). In this simple case, the procedure consists in applying the inverse cumulative distribution function method. According to the relationship (2), the probability \(f(\hat{\theta})\) of drawing an angle \(\theta<\hat{\theta}\) is given by:

\[\label{cdf_dist_theta} f(\hat{\theta}) = \frac{1}{2} \int_{0}^{\hat{\theta}} \sin\theta \, d\theta=\frac{1}{2} \left[\cos\hat{\theta}-1\right].\]

Knowing that this distribution is between \(0\) and \(1\), the choice of the angle \(hat{\theta}\) is made by randomly drawing a number \(v\in[0.1]\), following a uniform distribution, such as:

\[\hat{\theta} = \cos^{-1} \left(2v-1\right)\quad \in [0,\pi].\]

The propagation vectors \(\mathbf{v}(v_x,v_y,v_z)\), of standard \(c\) (sound velocity), are then defined by the relationships:

\[\begin{split}\mathbf{v}=\left\{\begin{array}{l} v_x=c\,\cos\theta\,\sin\phi\\ v_y=c\,\sin\theta\,\sin\phi\\ v_z=c\,\cos\phi \end{array}\right.\end{split}\]
Verification

The figures Distribution of emission angles \phi for an omnidirectional source and Distribution of emission angles \theta for an omnidirectional source shows an example of the distribution of angles \(\theta\) and \(\phi\) obtained according to this printing method with \(10000\) achievements. It is easy to see that the angle distribution checks the theoretical distribution. It is understood that the quality of the random draw depends on the method of generating random numbers, and that compliance with theoretical distributions increases with the number of draws.

Distribution of emission angles for an omnidirectional source.

Distribution of emission angles \(\phi\) for an omnidirectional source

Distribution of emission angles for an omnidirectional source.

Distribution of emission angles \(\theta\) for an omnidirectional source

Unidirectional source

Physical description

A unidirectional sound source is a source that radiates in a single direction of space, defined by the angles \(\theta\) and \(\phi\), at the point of emission and in the absolute reference point. The directivity coefficient associated with the directivity of the source is then defined by:

\[Q\left(\theta,\phi\right)=\delta\left(\theta,\phi\right)=\delta\left(\theta\right)\times\delta\left(\phi\right),\]

where \(\delta\) is the Dirac distribution funtion.

Modelling

The modelling of this type of source is entirely deterministic and therefore does not pose a problem. It is enough to define a vector \(\mathbf{s}(s_x,s_y,s_z)\) in the absolute reference frame of the scene, such that:

\[\begin{split}\mathbf{s}=\left\{\begin{array}{l} s_x=s\,\cos\theta\,\sin\phi\\ s_y=s\,\sin\theta\,\sin\phi\\ s_z=s\,\cos\phi \end{array}\right.\end{split}\]

Plane sources (XY, YZ and XZ)

Physical description

A “plane” type sound source is a source that radiates in a plane. By default, we consider three sources XY, YZ and XZ defined by the three reference planes \((xOy)\), \((yOz)\) and \((xOz)\) respectively.

Modelling

The procedure consists in randomly determining the direction of propagation of a particle in a plane. Using the angle convention presented in figure Elementary geometry for a sound source, we will have:

\[\begin{split}\left\{\begin{array}{llll} \text{XY plane:}& \theta=2\pi \times u\quad &\text{and}&\quad \phi=\pi/2\\ \text{YZ plane:}& \theta=0 \quad &\text{and}&\quad \phi=2\pi \times u\\ \text{XZ plane:}& \theta=\pi/2\quad &\text{and}&\quad \phi=2\pi \times u \end{array}\right.\end{split}\]

where \(u\) refers to a random number between \(0\) and \(1\). Thereafter, the propagation vector \(\mathbf{v}(v_x,v_y,v_y,v_z)\), of standard \(c\) (sound velocity), is defined by the relationships:

\[\begin{split}\mathbf{v}=\left\{\begin{array}{l} v_x=c\,\cos\theta\,\sin\phi\\ v_y=c\,\sin\theta\,\sin\phi\\ v_z=c\,\cos\phi \end{array}\right.\end{split}\]

Acoustic propagation modelling

Acoustic propagation

Physical description

In the absence of absorption and reflection on the walls of the domain or on objects, the decrease in sound intensity from an omnidirectional source is written:

\[I=\frac{Q}{4\pi\,r^2},\]

where \(r\) is the distance to the source, and \(Q\) is the directivity of the source in the direction of observation (\(Q=1\) for an omnidirectional source). This decrease reflects the phenomenon of geometric dispersion, which describes the « spreading » of a spherical wave as it propagates.

Modeling

Considering the method presented for an omnidirectional source, the geometric dispersion is automatically respected. Indeed, the proposed numerical method allows to obtain a uniform distribution of particles over an elementary solid angle. On a sphere, the particle distribution \(n(r)\) (in \(m^2\)) is therefore equal to:

\[n(r)=\frac{N}{4\pi\,r^2},\]

where \(N\) is the number of particles. The particle distribution therefore verifies the same decrease as the intensity. It should be noted, however, that the further away the observation point is from the source, the more sound particles will be required.

Verification

The figure Verification of the respect of the geometric dispersion with the SPPS code shows the numerical results of the free field propagation (the free field is simulated by considering a long corridor with perfectly absorbent limits), for an omnidirectional sound source, without atmospheric absorption (number of particles \(N=20\times 10^6\)). The agreement is excellent.

Distribution of emission angles for an omnidirectional source.

Verification of the respect of the geometric dispersion with the SPPS code

The numerical simulations are compared with the theoretical decrease (\(N=20\times 10^6\) particles). The marker presents the result of the simulation with the SPPS code. The solid line shows the theoretical geometric dispersion.

Atmospheric absorption

Physical description

During its propagation in air, a sound wave is partially attenuated by particular physical mechanisms (« classical » transmission processes, molecular absorption due to rotational relaxation, molecular absorption due to vibratory relaxation of oxygen and nitrogen) [BSPE84]. Thus, after a propagation distance \(r\), the amplitude \(p_t\) of the sound pressure decreases according to the relationship (ISO 9613-1):

\[\label{eq:att_atmos_pression} p_t= p_i \exp \left(-\frac{\ln(10)}{20}\alpha_\text{air}\times r\right)\]

where \(p_i\) is the initial pressure. Considering that the sound intensity is proportional to the square of the sound pressure,

\[\label{eq:att_atmos_pression_I} I\propto p_t^2 \propto \exp \left(-2\frac{\ln(10)}{20}\alpha_\text{air}\times r\right)\]

and writing that the intensity \(I\) of the sound wave decreases with the relationship:

(3)\[\label{eq:att_atmos} I= I_0 \exp -m\,r,\]

where \(I_0\) is the initial intensity of the sound wave. Then, the atmospheric absorption coefficient \(m\) (in Np/m) can be expressed from the atmospheric absorption coefficient \(\alpha_\text{air}\) (in dB/m), by the relationship:

\[m=\frac{\ln 10}{10}\alpha_\text{air}.\]

In SPPS code, the atmospheric absorption coefficient \(\alpha_{air}\) is calculated according to ISO 9613-1, considering the centre frequency of each frequency band of calculation according to the reference standard (cf. paragraph 8.2.1 of ISO 9613-1). This approximation is considered valid if the product of the source-receiver distance (in km) by the square of the centre frequency (in kHz) does not exceed 6 km.kHz \(^2\) for the third octave bands and 3 km.kHz \(^2\) for the octave bands. However, the propagation distance must not exceed 6 km for third octave bands and 3 km for octave bands, regardless of the centre frequency considered.

Random modelling

By choosing the “random” calculation mode, atmospheric absorption is taken into account as a probability of the sound particle disappearing during its displacement. The corresponding probability density can be defined from the relationship (3):

\[f(r)=\exp -m\,r.\]

This quantity expresses the probability that the particle will not be absorbed during its propagation distance \(r\). The probability density \(f(r)\) is well between \(1\) and \(0\) (see figure Modelling of atmospheric absorption by a random process):

  • \(f(0)=1\), the probability is maximum, the particle cannot be absorbed if it does not move;

  • \(f(\infty)=0\), the probability is zero since the particle cannot spread infinitely.

It is also easily verified that the probability of propagation is independent of the previous probability of propagation:

\[f\left(\Sigma_{n=1}^N r_i\right)=\Pi_{i=1}^N f(r_n).\]

Taking atmospheric absorption into account is relatively simple. It is sufficient to consider a uniform random number \(\zeta\) between \(0\) and \(1\), at each time step, and to compare this number to the probability density \(f(d_0)\) corresponding to an elementary displacement \(d_O=c\Delta t\) on a time step \(\Delta t\). If this number \(\zeta\) is less than \(f(d_o)\), there will be propagation. Otherwise, there will be atmospheric absorption, thus disappearing the particle. Even on a small number of particles, this method makes it possible to correctly take into account atmospheric absorption.

Modelling of atmospheric absorption by a random process.

Modelling of atmospheric absorption by a random process

The curve \(f(r)\) separates the propagation domain from the atmospheric absorption domain.

Energetic modelling

By choosing the “energetic” calculation option, the energy of the particle is weighted throughout its movement, using the relationship (3).

Verification

As an illustration, the figure Illustration of the modelling of atmospheric absorption in the SPPS code shows the sound decrease calculated by the SPPS code at \(10\) kHz for classical atmospheric conditions (\(T=20\) Celsisus, \(H=50\) %, \(P=101325\) Pa, or \(m=0.036\) m \(^{-1}\)), for both types of modelling, compared to the theoretical decrease presented to the relationship (3); the simulation is identical to the one for the verification of the respect of the geometric dispersion.. As expected, energetic modelling gives a better result than random modelling, the average deviation from the theoretical curve being \(0.17\) dB and \(0.41\) dB respectively, the calculation times being similar.

Illustration of the modelling of atmospheric absorption in the SPPS code.

Illustration of the modelling of atmospheric absorption in the SPPS code

Comparison with the theoretical decrease (with et without atmospheric absorption) Simulations performed with (\(N=20\times 10^6\) particles) at 10 kHz, for conventional atmospheric conditions: \(T=20\) Celsisus, \(H=50\) %, \(P=101325\) Pa, or \(m=0.036\) m \(^{-1}\).

Acoustic velocity profile

Physical description

In outdoor environments, acoustic propagation can be influenced by micrometeorological conditions governed by thermal (heat transfer) and aerodynamic (wind profiles) laws. The phenomena have a very strong interaction with the ground (topography, surface and subsoil temperature, hygrometry, crops, forests, obstacles, buildings, etc.). In addition, they evolve rapidly in time and space, making their analytical description and numerical modelling complex. The thermal and aerodynamic factors that influence propagation are as follows:

  • Thermal factors: heat exchanges between the ground and the lower layer of the atmosphere lead to a variation in air temperature as a function of the height above the ground, and therefore to a variation in sound velocity.

  • Aerodynamic factors: due to the roughness of the ground surface, wind speed is always higher at height than at ground level. In a given situation, the speed of sound in the presence of wind corresponds to the algebraic sum of the speed of sound in the absence of wind and the projection of the wind vector on the direction of propagation considered. This speed therefore varies according to the height above the ground.

By analogy with the laws of optics (see figure Schematic representation of the acoustic refraction in the atmosphere in the presence of a vertical velocity profile), the effect of atmospheric conditions on acoustic propagation can be described through the expression of the acoustic index \(n\) of the propagation medium. If placed in a vertical section, this index is assumed to vary with altitude \(z\) and with source-receptor distance \(r\), such that:

\[n(r,z)=\frac{c(r,z)}{c_0}=\langle n(r,z)\rangle + \mu(r,z),\]

where \(c\) the reference one. Thus, two distinct phenomena can be distinguished that affect acoustic propagation, refraction and atmospheric turbulence. These phenomena are respectively related to the deterministic parts \(\langle n\rangle\) and stochastic \(\mu\) of the propagation medium index. In practice, these refraction and turbulence phenomena co-exist and interact, leading to complex propagation conditions, as well as a very wide dispersion of the sound levels encountered in situ, all of which are identical (topography, soil type, source-receptor geometry, etc.).

Schematic representation of the acoustic refraction in the atmosphere in the presence of a vertical velocity profile.

Schematic representation of the acoustic refraction in the atmosphere in the presence of a vertical velocity profile

Acoustic velocity profile model

The average sound velocity profile thus depends on the average wind and temperature profiles. This velocity profile can be described analytically, depending on whether it follows a linear (« \(\text{lin}\) »), logarithmic (« \(\text{log}\) »), hybrid (« \(\text{log-lin}\) ») or other law. The « \(\text{log}\) » profiles thus have the advantage of translating the very strong vertical gradient of sound velocity in the immediate vicinity of the ground, but do not accurately reflect the more moderate evolution with altitude above a certain height. On the other hand, the « \(\text{lin}\) » profile minimizes the effects in the vicinity of the ground and are therefore not representative of reality when placed at very low altitude. A good compromise therefore consists in using hybrid profiles of the type « \(\text{log-lin}\) » (valid especially for a so-called « stable » atmosphere), expressed through the parameters \(a_\text{log}\) and \(b_\text{lin}\) which appear in the analytical expression of the vertical profile of the effective sound velocity:

(4)\[\label{eq:celerite_log_lin} \langle c(z)\rangle=c_0+ a_\text{log}\times \ln\left(1+\frac{z}{z_0}\right)+b_\text{lin}\times \left( z-z_0\right),\]

\(z_0\) is the roughness parameter, whose typical values range from \(10^{-2}\) m for short grass to several meters in urban areas. The vertical gradient is then expressed by deriving according to the variable \(z\):

\[\frac{\partial\langle c(z)\rangle}{\partial z}=\frac{a_\text{log}}{z_0}+b_\text{lin}.\]

The main effect of propagation in a medium of variable speed is to bend the sound rays downwards or upwards depending on whether the vertical gradient of sound velocity is positive (conditions (very) favorable to propagation) or negative (conditions (very) unfavorable to propagation) respectively. The transient state between these two states represents homogeneous propagation conditions.

  • Homogeneous: the speed \(c\) is the same at any point in the domain and equal to the reference speed \(c_0\), the latter being calculated as a function of temperature and humidity conditions by the formula:

    \[c_0=343.2\sqrt{\frac{T}{T_\text{ref}}},\]

    where \(T\) is the temperature (K), and \(T_\text{ref}=293.15\) K the reference temperature (ISO 9613-1).

  • Very unfavorable : \(a_\text{log}=-1\) and \(b_\text{lin}=-0.12\);

  • Unfavorable : \(a_\text{log}=-0.4\) and \(b_\text{lin}=-0.04\);

  • Favorable: \(a_\text{log}=+0.4\) and \(b_\text{lin}=+0.04\);

  • Very favorable: \(a_\text{log}=+1\) and \(b_\text{lin}=+0.12\).

The curvature of the radius, at the boundary of zones (I) and (II), is obtained by applying the Huygens-Fresnel construction, resulting in the following Snell-Descartes law [Sal01] (see figure Schematic representation of the acoustic refraction in the atmosphere in the presence of a vertical velocity profile):

(5)\[\label{relation_snell} \frac{\cos\gamma_1}{c_1}=\frac{\cos\gamma_2}{c_2},\]

where \(c_1\) and \(c_2\) are respectively the norms of the propagation vectors \(\mathbf{c_1}\) and \(\mathbf{c_2}\), and where the angles \(\gamma_1\) and \(\gamma_2\) are defined with respect to the horizontal axis in the plane \((xOy)\). By construction, the projection of the propagation direction in the plane \((xOy)\), defined by the angle \(\phi\) in spherical coordinates, is preserved.

Modelling

Whatever the method of calculation chosen, the speed is taken into account is identical. At each time step, the speed standard is calculated according to the chosen speed profile, based on the relationship (4). To determine the new direction of propagation, due to the change in speed, the relationship (5) must then be applied. Knowing the angle \(\theta_1\) of the initial propagation direction, the new propagation direction is defined by:

(6)\[\label{cosgamma2} \cos\gamma_2=\frac{c_2}{c_1}\cos\gamma_1=\frac{c_2}{c_1}\frac{\sqrt{c_{1x}^2+c_{1y}^2}}{c_1}.\]

The coordinates of the propagation vector are then obtained by:

\[\begin{split}\mathbf{c_2}=\left\{\begin{array}{l} c_{2x}=c_2\cos\gamma_2\cos\phi\\ c_{2y}=c_2\cos\gamma_2\sin\phi\\ c_{2z}=c_2\sin\gamma_2 \end{array}\right.\end{split}\]

with

\[\sin\phi=\frac{c_{1y}}{\sqrt{c_{1x}^2+c_{1y}^2}},\]

and

\[\cos\phi=\frac{c_{1x}}{\sqrt{c_{1x}^2+c_{1y}^2}}.\]

From a numerical simulation point of view, the calculation of \(\cos\gamma_2\) by the relationship (6) can give values higher than \(1\) which is obviously not physical. This case occurs when the curvature (turning point) of a radius is reversed. To avoid this problem and impose a change in curvature, the procedure consists in imposing the value from \(\gamma_2\) to \(1-\epsilon\) (\(\epsilon\) being a very small value) and changing the orientation of the component \(c_{2z}\).

As an example, the figure [illustration_refraction] shows two illustrations of how acoustic refraction is taken into account using this method. This figure can be compared directly with the examples given in the reference [Sal01] (figures 4.5 and 4.6).

Illustration of the modelling of acoustic refraction with SPPS in downward condition.

Illustration of the modelling of acoustic refraction with SPPS in downward condition

Illustration of the modelling of acoustic refraction with SPPS in upward condition.

Illustration of the modelling of acoustic refraction with SPPS in upward condition

Diffusion by fittings

The presence of a large number of objects on the path of a sound wave can lead to a diffusion process. This process can be simulated in a deterministic way, by modelling each object individually. When the number of objects becomes large, and these objects are of similar sizes (example of an industrial hall with many machines (without acoustic emission) or similar boxes), it may be more interesting to statistically model this fitting zone.

Physical description

In order to take into account the diffusion and absorption of diffusing (or scattering) objects distributed in the propagation medium, we considered an approach similar to that of Ondet and Barbry [OB89], which itself is based on the work of many authors [Kut81][Aul85][Aul86][Lin82], among others. In this approach,

  • the diffusing objects (or obstacles, or fittings, or scattering objects…) are considered as punctual. Sound particles are returned in all directions of space at each collision with a scattering object (except in the case of absorption). This assumption is generally valid when the wavelength is in the order of magnitude of the characteristic dimension of the obstacle;

  • the scattering phenomenon follows a Poisson process, which means that the probability of collision of a sound particle with a scattering object follows a Poisson’s law. The collision probabilities are independent of each other (the collision probability during time \(t\) and \(t+dt\) is independent of collisions before time \(t\));

  • the objects in the fitting zone do not produce particles (i.e. these objects are not sound sources).

Schematic representation of the acoustic diffusion by obstacles in a fitting zone.

Schematic representation of the acoustic diffusion by obstacles in a fitting zone

A sound wave propagating in the environment may come into contact with scattering objects, causing the wave to diffract simultaneously and, in part, to absorb it. By analogy, in the particle approach, a particle that comes into contact with a scattering object can either be absorbed or reflected in another direction of propagation (see figure: Schematic representation of the acoustic diffusion by obstacles in a fitting zone). At the macroscopic scale, i.e. considering all the sound particles simultaneously, a diffusion process occurs, characterized by:

  • the absorption coefficient \(\alpha_c\) of the scattering objects;

  • the bulk density \(n_c\) of the propagation medium, defined by the number \(N_c\) of obstacles present in the volume \(V_c\):

\[n_c=\frac{N_c}{V_c}.\]
  • the average scattering section \(q_c\), i.e. the average surface of the scattering object, seen by a particle in a given incident direction. In practice, this data is very difficult to obtain, if not impossible, since the scattering objects are of complex and different shapes. In this condition, it is common to assimilate the diffusing object to a sphere, having the same external surface \(s_c\) as the object. Whatever the angle of incidence, the visible cross-section of the sphere (mean scattering cross-section) will be equal to a quarter of the total surface area of the sphere, or:

\[q_c=\frac{s_c}{4}.\]
  • the average diffraction section per unit volume \(\nu_c\), also called the diffusion frequency, by

\[\nu_c=n_c\,q_c,\]

– if all the scattering objects are identical, or

\[\nu_c=\frac{1}{V}\sum_{p=1}^{N_c}\frac{s_{c_p}}{4}\]

– if each object diffusing \(p\) is defined by its surface \(s_{c_p}\). In practice, and in the rest of the document, the diffusing objects will be considered uniform in the same volume of diffusion. Nevertheless, within the same propagation volume, several separate diffusion volumes can be considered.

Since the scattering phenomenon follows a Poisson’s law, the probability that a sound particle will collide with scattering objects after a time \(t_k\) is equal to:

\[W_k (c\,t_k)=\frac{\left(\nu_c \, c\,t_k\right)^k}{k!}\exp\left(-\nu_c\, c\, t_k\right),\]

where \(c\, t_k\) is the distance covered during a time \(t_k\), which can be expressed from the distance \(R_p\) between two collisions (see figure: Schematic representation of the acoustic diffusion by obstacles in a fitting zone):

\[c\,t_k=\sum_{p=1}^k R_p.\]

Since the collision probabilities are independent of each other [OB89], it is easy to show that the random variables \(R_i\) (noted \(R\) afterwards) follow the following probability density \(f(R)\):

(7)\[\label{dispois} f(R)=\nu_c \exp\left(-\nu_c \, R\right).\]

The average free path \(\lambda_c\) (average distance between two collisions) is simply obtained by expressing the first moment of the above probability density, namely:

\[\lambda_c=\int_0^\infty R\, f(R)\, dR=\frac{1}{\nu_c}.\]
Modelling

By definition, the cumulative distribution function, associated with this probability density, is defined by the following relationship:

(8)\[\label{fdc} p(\hat{R})=\int_0^{\hat{R}} f(R)\, dR=1-\exp\left(-\nu_c\,\hat{R}\right).\]

This cumulative distribution function simply expresses the probability that the particle will collide with a scattering object during a long path \(\hat{R}\). This function is therefore null for \(\hat{R}=0\) and equal to \(1\) for \(\hat{R}=\infty\). The numerical simulation of the diffusion process is performed by the inverse cumulative distribution function method, obtained by reversing the relationship (8) , i.e.:

(9)\[\label{fdci} \hat{R}=-\frac{1}{\nu_c}\ln \left[ 1-p(\hat{R})\right].\]

The cumulative distribution function being between \(0\) and \(1\), it can be assimilated to a random variable \(\xi\) between \(0\) and \(1\). By drawing a succession of random variables \(\xi_i\), we can determine a succession of paths of length \(\hat{R}_i\) that satisfies the distribution function (7) of our problem:

\[\label{fdci_2} \hat{R}_n=-\frac{1}{\nu_c}\ln \left[ 1-\xi_n\right].\]

An example of a random draw using the inverse cumulative distribution method is shown in Figure [fig:verification_diffusion_encrowding]. The comparison with the theoretical distribution shows an excellent behaviour of the method.

Distribution of the distance between two collission obtained by the inverse cumulative distribution function method and comparison with the theoretical distribution.

Distribution of the \(\hat{R}_i\) paths obtained by the inverse cumulative distribution function method and comparison with the theoretical distribution

When a sound particle \(n\) enters a fitting zone, it is associated with a collision distance \(R_n\) with an object of the congestion by applying the relationship (9). As the sound particle propagates in the crowded area, a test is performed to determine if the cumulative distance \(d_n\) of the particle in the crowded area is less or more than \(R_n\). If the distance traveled \(d_n\) is greater than the collision distance \(R_n\) the particle collides with an object. In the “Energetic” mode, the energy of the sound particle is weighted by the average absorption coefficient \(\alpha_c\) of the space requirement and continues its propagation in a random direction (uniform distribution). In the “Random” mode, a new random draw on a uniform variable \(u\) allows to determine if the particle is absorbed by the diffusing object (same procedure than for considering absorption by a wall), or reflected in a uniform direction. After each collision, the cumulative propagation distance is reset to zero, and a new draw is made to determine the next collision distance. Whatever the calculation mode chosen, as long as the distance travelled by the particle is less than the collision distance, the particle continues its path without changing direction.

Wall modelling

Physical description

Absorption, dissipation and acoustic transmission

In contact with a wall (see figure Illustration of the mechanisms of reflection, absorption, dissipation (internal loss) and acoustic transmission through a wall), a sound wave will be partly reflected back into the domain for one part \(R\), partly dissipated by transforming the acoustic energy into heat in the material for the other part \(\beta\)), the rest being transmitted through the material in the adjacent domain for the other par \(\tau\). The latter coefficient is defined as the transmission factor. If \(W_i\) is the power incident on a wall, then a part \(W_r=R\,W_i\) will be reflected, a part \(W_d=\beta\,W_i\) will be dissipated in the material, and a part \(W_t=\tau\,W_i\) will be transmitted through the partition. By construction (there can be no creation of energy, nor more absorption than incident energy), the coefficients \(R\), \(\beta\) and \(\tau\) are between 0 and 1, so the energy balance of the wall is written:

\[R+\beta+\tau=1.\]
Illustration of the mechanisms of reflection, absorption, dissipation and acoustic transmission through a wall.

Illustration of the mechanisms of reflection, absorption, dissipation (internal loss) and acoustic transmission through a wall

It is usual to define the absorption coefficient \(\alpha\) of the wall as the sum of the transmitted part \(\tau\) and the dissipated part (internal loss) \(\beta\), in the form \(\alpha=\beta+\tau\), so that the above energy balance is written:

\[R=1-\alpha.\]

The absorption coefficient of a material can be measured using the standardised procedures ISO 354 for the reverberation chamber method, as well as ISO 10534-1 and ISO 10534-2 for the impedance tube method. For the sound transmission coefficient, the reader may refer to the different parts of the standards for air transmission (ISO 140).

Acoustic diffusion

On the other hand, depending on the shape, size and distribution of the wall irregularities, the sound wave can be reflected simultaneously in the specular direction and in other directions. In room acoustics, it is common to consider that a fraction \(1-s\) of the sound energy will be reflected in the direction of specular reflection, while a fraction \(s\) of the energy will be reflected in the other directions of space, according to a law of reflection characterized by irregularities in the wall [EAS01]. In the latter case, we speak of diffuse reflection, where \(s\) is called scattering coefficient.

In room acoustics, numerous theoretical and experimental studies are currently underway to characterize or measure these laws of reflection [VM00][CDAntonio16]. However, the common practice is to use Lambert’s law to describe a diffuse reflection. The value of the scattering coefficient \(s\) can be obtained by a standardized measurement procedure (ISO 17497-1).

Note

It is important to note that this scattering coefficient (ISO 17497-1), which defines the ratio between non-specular reflected energy on the total energy, is different from the diffusion coefficient \(\delta\) (ISO 17497-2), which defines the ability of the surface to uniformly scatter in all direction. In some acoustic simulation software, the diffraction coefficient \(s\) may sometimes wrongly called the diffusion coefficient.

Acoustic reflection modelling

Random modelling

First, a sound particle colliding with a wall can either be absorbed by the wall (with a probability \(\alpha\)), or reflected in a new direction of propagation (with a probability \(R=1-\alpha\)). In practice, the absorption/reflection choice is made by randomly drawing a number \(u\) between \(0\) and \(1\), following a uniform distribution:

  • If this number is less than \(\alpha=1-R\) (at the considered point), the particle is absorbed and disappears from the propagation medium.

  • If this number is greater than \(\alpha=1-R\), the particle is reflected and continues to propagate in a new direction. In this last case, to determine the type of reflection (specular or diffuse), a new random draw \(v\) is performed between \(0\) and \(1\):

    – If this number is less than the value of \(1-s\) (i.e. \(v<(1-s)\)) at the point considered, the particle is specularly reflected, in accordance with the well-known Snell-Descartes laws.

    —Otherwise (i.e. if \(v>(1-s)\)), the reflection is diffuse. In the latter case, it is necessary to determine the direction of diffuse reflection.

Energetic modelling

When a particle collides with a wall, its energy \(\epsilon\) is weighted by the reflection coefficient \(R=1-\alpha\). The choice of specular or diffuse reflection, depending on the scattering coefficient, is identical to the “Random” method: a random draw \(v\) is performed between \(0\) and \(1\). If this number is less than the value of \(1-s\), the particle is specularly reflected. Otherwise, the reflection is diffuse, in a direction to be determined. An entirely “Energetic” treatment would be possible by duplicating the particle into two particles, the first being reflected in the specular direction and the second in the diffuse direction; however this last solution is not yet implemented in the SPPS code..

Modelling of the reflection laws

Formalism

Let us consider an incident sound particle on a wall, whose incident direction is defined by the spherical coordinates \((\theta,\phi)\) (see figure Elementary geometry of a reflection by a wall). This particle has a probability of \(P(\theta,\phi;\theta',\phi')\equiv P(\Omega,\Omega')\) being reflected in the elementary solid angle \(d\Omega' =\sin\phi'\, d\phi'\, d\phi'\, d\theta'\) [Joy74][Joy75][Joy78][LP03].

Elementary geometry of a reflection by a wall

Elementary geometry of a reflection by a wall

Variables \(\phi\) and \(\phi'\) refer respectively to the angles of incidence and reflection with respect to the normal at the wall. The angles \(\theta\) and \(\theta'\) in the tangent plane, directions of incidence and reflection, are not represented (\(\phi,\phi'\in[0,\pi/2]\) and \(\theta,\theta'\in[0,2\pi]\)).

\(P(\Omega,\Omega')\,d\Omega'\) actually represents the fraction of the incident sound intensity that is reflected in the solid angle \(d\Omega'\). Let’s say \(j(\theta,\phi)\) the incident flow of particles. The flow of reflected particles \(j'(\theta',\phi')\) is expressed:

(10)\[\label{eq_flux_1} j'(\theta',\phi') \cos \phi'=\int P(\theta,\phi;\theta',\phi')\, j(\theta,\phi) \cos \phi \,d\Omega.\]

Defining the reflection law \(R(\theta,\phi;\theta',\phi')\equiv R(\Omega,\Omega')\) on the following:

\[R(\theta,\phi;\theta',\phi')=\frac{P(\theta,\phi;\theta',\phi')}{\cos(\phi')},\]

the relation (10) can be written:

\[\label{eq_flux_1b} j'(\theta',\phi') =\int R(\theta,\phi;\theta',\phi')\, j(\theta,\phi) \cos \phi \,d\Omega.\]

It is important to emphasize the difference between the law of reflection \(R\) and the probability \(P\). \(P\) refers to a probability of reflection of a sound particle by elementary solid angle, while \(R\) refers to the flow of energy reflected in a direction \(\phi'\), for an incident flow in the direction \(\phi\).

The first law of thermodynamics requires the conservation of the flow on the surface (in the absence of absorption). The law of reflection \(R(\Omega,\Omega')\) must therefore check the following condition:

\[\label{loi_2} \int P(\Omega,\Omega') \,d\Omega'=\int R(\Omega,\Omega')\cos\phi' \,d\Omega'=1,\]

or, in spherical coordinates,

\[\label{loi_2b} \iint R(\theta,\phi;\theta',\phi')\cos\phi' \,\sin\phi'\,d\phi'\,d\theta'=1.\]

The second law of thermodynamics imposes this time:

(11)\[\label{loi_1} \int P(\Omega,\Omega') \,d\Omega=\int R(\Omega,\Omega')\cos\phi \,d\Omega=1,\]

or, in spherical coordinates,

(12)\[\label{loi_1b} \iint R(\theta,\phi;\theta',\phi')\cos\phi \,\sin\phi\,d\phi\,d\theta=1.\]

On the other hand, the principle of reciprocity requires that

(13)\[\label{loi_3} R(\Omega,\Omega')=R(\Omega',\Omega).\]

Despite some recent studies, and apart from Lambert’s law widely used to model diffuse reflections [Kut16], to our knowledge there are no other laws of reflection for real walls. In the SPPS code, however, we propose arbitrary modes of reflection, more or less real, presented in figure Illustration of the reflection laws proposed in the SPPS code.

Illustration of the reflection laws proposed in the SPPS code.

Illustration of the reflection laws proposed in the SPPS code

Specular reflection
Physical description

The simplest mode of reflection is defined by specular reflection and can be written in three dimensions:

\[R(\theta,\phi;\theta',\phi')=2 \delta(\theta-\theta' \pm \pi) \,\delta(\sin^2 \phi-\sin^2 \phi'),\]

where the couples \((\theta,\phi)\) and \((\theta',\phi')\) refer respectively to the incident and reflected directions of the sound particles on the wall. Although the form of this expression is not conventional, this relationship verifies the laws of Snell-Descartes, as well as the conditions (11) to (13).

Modelling

From a numerical point of view, the simulation of this reflection law does not pose a major problem, since the angles of incidence of each particle on a wall are known. The modelling is identical for the “Random” and “Energetic” »” approaches.

Uniform reflection
Physical description

A uniform reflection law produces a distribution of reflection angles \(P(\Omega')\) that is equiprobable. This should not be confused with Lambert’s law of reflection, for which uniformity is verified by the law of reflection. In the case of a uniform law, particles are reflected uniformly throughout the half space, regardless of the angle of incidence. Under these conditions, the reflection density after normalization is written:

\[P(\Omega')d\Omega'= P(\theta',\phi')d\Omega'=\left[\frac{1}{2\pi}\,d\theta'\right] \,\left[\sin \phi' \,d\phi'\right],\]

or

\[R(\theta',\phi')=\frac{1}{2\pi\cos\phi'},\]

with \(\theta'\in[0,2\pi]\) and \(\phi'\in[0,\pi/2]\).

Modelling

From a numerical point of view, the determination of the angle of reflection is again obtained by the inverse cumulative distribution function method,

\[f(\hat{\phi})= \int_{0}^{\hat{\phi}} \sin\phi'\,d\phi'=1-\cos\hat{\phi},\]

which gives

\[\hat{\phi}=\cos^{-1}\left(1-u\right),\]

where \(u\) is a random number between \(0\) and \(1\).

Lambert reflection
Physical description

In optics, a perfectly diffuse surface is a surface that also appears bright regardless of the angle of observation, and regardless of the angle of incidence. In terms of acoustics, a perfectly diffuse surface will reflect the same energy in all directions regardless of the angle of incidence. From a mathematical point of view, this condition requires that the law of reflection \(R\) be independent of the direction of reflection, and therefore of the direction of incidence (by reciprocity). After normalization, the law of reflection is written:

\[R(\theta,\phi;\theta',\phi')=\frac{1}{2\pi}\times 2.\]

The coefficient \(1/2\pi\) is related to the normalization according to the angle \(\theta'\) (uniform distribution between \(0\) and \(2\pi\)). The second coefficient (factor \(2\)) is related to the normalization according to the angle \(\phi'\). The probability of \(P(\Omega') d\Omega'\) is therefore reduced to

\[\begin{split}\begin{aligned} P(\Omega') \, d\Omega' & = R\,\cos\phi'\,\sin\phi'\,d\theta'\,d\phi'\\ & = \left[\frac{1}{2\pi}\,d\theta'\right]\, \left[2 \cos\phi'\,\sin\phi'\,d\phi'\right], \end{aligned}\end{split}\]

where the expression \(\cos\phi'\) is related to Lambert’s law. It is easy to check that \(R\) checks the conditions (11) to (13). It is important to note the difference between a random surface and an uniform surface. The first one is conditioned by an uniform random reflection law \(R\), while the second is defined by a uniform probability \(P\).

Modelling

From a numerical point of view, the random drawing of the reflection angles (in three dimensions) must be carried out in accordance with the distribution \(P(\Omega')\), i.e. \(P(\phi')\) in our case. Applying the inverse cumulative distribution function method, the probability \(f(\hat{\phi})\) that a sound particle is reflected in an angle \(\phi'\) between \(0\) and \(\hat{\phi}\) is given by the following relationship:

\[f(\hat{\phi})=2\int_{0}^{\hat{\phi}} \cos\phi'\sin\phi'\,d\phi'=\sin^2 \hat{\phi}.\]

Since this probability is between \(0\) and \(1\), the choice of angle \(\hat{\phi}\) is made by randomly drawing a number \(u\in[0.1]\), such that:

\[\hat{\phi}=\sin^{-1}\sqrt{u}=\cos^{-1}\left(1-u\right)^\frac{1}{2}.\]

Avertissement

It is important to note that other authors [BMC90][Hod91][Lam96][XKaJ02] mention other relationships. The correct formulation depends on the angle convention. It is also possible that some of the relationships that are proposed may not be accurate.

Normal reflection
Physical description

Let us consider a law of reflection independent of the incident direction and defined only by the angle of reflection \(\phi'\) around the normal to the wall (\(\theta'\) being uniform between \(0\) and \(2\pi\)), of the form:

\[\begin{split}\begin{aligned} R(\Omega')&=R(\theta',\phi')\\ &=\frac{1}{2\pi}\times (n+1)\cos^{n-1}\phi'\\ &=\frac{n+1}{2\pi}\,w^{n-1}. \end{aligned}\end{split}\]

where \(n\) is a positive integer. The quantity noted \(w=\cos\phi'\) is none other than the projection of the direction of reflection on the normal at the wall. According to the notations in this document, the probability \(P\) will therefore be expressed:

\[\begin{split}\begin{aligned} P(\Omega')\,d\Omega'&=P(\phi')\,\sin\phi'\,d\theta'\,d\phi'\\ &=\left[\frac{1}{2\pi}d\theta'\right] \times \left[(n+1)\cos^{n}\phi'\,d\phi'\right]\\ &=\frac{n+1}{2\pi}\,w^{n}\,d\theta'\,d\phi' \end{aligned}\end{split}\]

which justifies the name « law in \(w^n\) ». This form of reflection is identical to the one introduced in (lepolles2003). It can be noted that this type of law is a generalized form of Lambert’s law (\(n=1\)) and the uniform law (\(n=0\)).

Modelling

From a numerical point of view, the random drawing of the angles of reflection is achieved by applying the inverse cumulative distribution function method. The probability \(f(\hat{\Omega})\) (i.e. the probability \(f(\hat{\phi})\) since the direction of reflection depends only on the angle with respect to normal) that a sound particle is reflected in an elementary solid angle between \(0\) and \(\hat{\Omega}\) is then given by the relationship:

\[f(\hat{\phi})= (n+1)\int_{0}^{\hat{\phi}} \cos^n\phi'\sin\phi'\, d\phi'\phi' =1-\cos^{n+1}\hat{\phi}.\]

Since this probability is between \(0\) and \(1\), the choice of angle \(\hat{\phi}\) is made by randomly drawing a number \(u\in[0.1]\), such that:

\[\hat{\phi}=\cos^{-1}\left(1-u\right)^\frac{1}{n+1}.\]

Acoustic transmission modelling

Physical description

As mentioned above, the part of the power that is not reflected by the wall is either dissipated in the wall or transmitted. The acoustic transmission is then defined by the transmission factor \(\tau\), defined as the ratio of the transmitted power \(W_t\) by the wall to the incident power \(W_i\). If there is no dissipation in the wall (i.e. everything is transmitted through the wall), then \(\tau=\alpha\). Otherwise, \(\tau<\alpha\). In practice, acoustic transmission is rather defined by the insertion loss (IL or \(R\)) of the wall, which is a function of the transmission factor through the following relationship:

\[R=10\,\log\left(\frac{W_i}{W_t}\right)=-10\,\log{\tau}.\]
Random modelling

The modelling is similar to the one used for acoustic reflection. To determine if the sound particle is dissipated or transmitted by the partition, it is necessary to draw a number \(w\) between \(0\) and \(\alpha\):

  • If this number is less than \(\tau\), the particle is transmitted and keeps its direction of propagation;

  • Otherwise the particle is “dissipated” and disappears from the propagation medium.

Energetic modelling

The energy modeling is performed by weighting the energy of the particle once transmitted by the partition, by the coefficient \(\tau\). In this case, there is no change of direction of propagation.

Verification of wall modelling

The figure Verification of the procedure for modelling absorption (dissipation and transmission) and reflection (specular and diffuse) phenomena illustrates the result of the reflection procedure (reflection=specular/diffuse, absorption=loss/transmission) in random mode, with the following acoustic parameters: scattering coefficient \(s=0.6\), absorption coefficient \(\alpha=0.8\), transmission coefficient \(\tau=10^{-R/10}=0.1\) (attenuation index \(R=10\) dB). With \(10000\) realizations, the different phenomena are found (in terms of number of realizations) with the same proportions as the imposed acoustic parameters.

Verification of the procedure for modelling absorption, transmission and reflection.

Verification of the procedure for modelling absorption (dissipation and transmission) and reflection (specular and diffuse) phenomena

In the previous figure, only the random drawing process is modelled (note that this simulation was realized with a very simplementation of the method, not the the one implemented in the SPPS code, this last one being more performant).

  • The first group “Total” corresponds to the sum of the number of achievements (initial number of particles, reflection + absorption, specular + diffus + dissipation + transmission); these three quantities therefore have the exactly same value, which the initial number of sound particles (i.e. 10000).

  • The second group corresponds to the “Reflection” process, divided into the total number of reflections (R, 2005 particles, i.e an equivalent reflection coefficient of 0.2005, which is quite the same that the initial condition of the random process \(R=1-\alpha=0.2\)), specular reflections (S, 788 particles) and diffusion (Df, 1217 particles, , i.e an equivalent scattering coefficient of 1217/2005=0.61, which is quite the same that the initial condition of the random process \(s=0.6\))).

  • The third group corresponds to the “Absorption” process, divided into the total number of absorption (A, 7995 particles, , i.e an equivalent absorption coefficient of 0.7995, which is quite the same that the initial condition of the random process \(\alpha=0.8\))), dissipation (D, 7014 particles) and transmission (T, 981 particles, , i.e an equivalent transmission coefficient of 0.0981, which is quite the same that the initial condition of the random process \(\tau=0.1\))).

Calculation of sound levels at observation points

In the SPPS code, two types of receivers are considered:

  • “Volume” receivers model the so-called « classical » point receivers. Since the notion of point receiver is not applicable in the SPPS code, since in theory the probability that a sound particle will pass through a point receiver is zero, it is necessary to give a volume to the receiver point, to count the number of particles that have passed through it, and thus deduce the energy density at the observation point. For a point receiver, the SPPS code returns the sound pressure level, at each time step of the calculation and for each frequency band considered;

  • “Surface” receivers are surface elements (like a face element of the 3D scene) on which incident sound intensities are calculated, which then makes it possible to construct acoustic maps. For a surface receiver, the code SPPS returns the sound intensity, at each time step of the calculation and for each frequency band considered.

In addition, the calculation code also determines the overall sound pressure level in the 3D model, summing the contributions of each particle, at each time step and for each frequency band.

Calculation of the sound pressure level at a volume receiver

The amount of energy \(E_\text{rec}^{j}(n)\) (in J or W.s) in the frequency band \(j\) received at a volume receiver, at the time step \(n\) (i.e. to time \(n \Delta t\)) is equal to the sum of the energies \(\varepsilon_i^{j}\) brought by each particle \(i\) in the frequency band \(j\), crossing the receiver volume during the time step \(n\) (figure[principle_receiver_volumique]):

\[E_\text{rec}^{j}(n)=\sum_i^{N_0} \varepsilon_i^{j} = \sum_i^{N_0} \frac{W}{N} \epsilon_i^{j} \times \Delta t_i,\]

where \({N_0}\) is the total number of particles passing through the receiver volume and \(\Delta t_i\) is the presence time of the particle \(i\) in the receiver volume (\(\Delta t_i<\Delta t\)), and \(\epsilon_i^{j}\) the weighting coefficient (between 0 and 1) associated with the particle \(i\) in the frequency band \(j\). If the calculation mode is « random », the coefficient \(\epsilon_i^{j}\) is constant and equal to the unit (1). If the calculation mode is « energetic », the coefficient \(\epsilon_i^{j}\) translates the cumulative loss of energy in the frequency band \(j\) of the particle \(i\) throughout its path due to the physical phenomena encountered (absorption by walls and obstructions, atmospheric absorption, sound transmission…). The presence time \(\Delta t_i\) can also be expressed as a function of the length of the path of the particle \(i\) in the receiving volume, i.e. \(\ell_i\), such as \(\Delta t_i=\ell_i/c\), \(c\) being the velocity of the particle at the observation point. Considering a « volume » receiver is defined by a spherical volume of radius \(r_\text{rec}\) (and volume \(V_\text{rec}\)), the energy density \(w_\text{rec}^{j}(n)\) (J/m\(^3\)) in the volume receiver, for the frequency band \(j\), is given by:

(14)\[\label{densite_energie_recepteur_volumique} w_\text{rec}^{j}(n)=\frac{E_\text{rec}(n)}{V_\text{rec}}= \frac{W}{N} \frac{1}{V_\text{rec}} \sum_i^{N_0} \epsilon_i^{j} \frac{\ell_i}{c}.\]

Note

The definition of the receiver volume is a crucial element for the quality and representativeness of the results. It must be large enough to count sound particles as they propagate, but not too large to make the energy density calculated at the observation point representative.

Principle of the calculation of the sound pressure level for a volume receiver.

Principle of the calculation of the sound pressure level for a volume receiver

The energy density in the volume receiver is calculated by summing the energy contributions of each particle passing through the receiver. The contribution of the particle \(i\) is calculated from the path \(\ell_i\) of the particle in the volume receiver (14).

The sound intensity \(I_\text{rec}^{j}(n)\) (in W/m\(^2\)) at the receiving point is given by:

\[I_\text{rec}^{j}(n)=c \times w^{j}_\text{rec}(n)= \frac{W}{N} \frac{1}{V_\text{rec}} \sum_i^{N_0} \epsilon_i^{j}\ell_i.\]

The sound intensity level \(L_\text{I,rec}^{j}(n)\) and the sound pressure level \(SPL_\text{rec}(n)\) (in dB) can then be derived from the sound intensity by the following relationships:

\[\label{LI_recepteur_volumique} L_\text{I,rec}^{j}(n)=10\log\left(\frac{P2_\text{rec}^{j}(n)}{\rho_0 c I_0}\right),\]

and

\[\label{SPL_recepteur_volumique} SPL_\text{rec}^{j}(n)=10\log\left( \frac{P2_\text{rec}^{j}(n)}{p_0^2}\right),\]

where \(I_0=10^{-12}\) W/m \(^2\) and \(p_0=20 \times 10^{-6}\) Pa denote the reference sound intensity and sound pressure. Each of the previous quantities (energy, energy density, intensity and sound levels) are calculated for each frequency band.

Intensity vector at a volume receiver

The vector sound intensity \(\mathbf{I}_\text{rec}^{j}(n)\) (in W/m \(^2\) or J/m \(^2\).s) at the receiving point, for the frequency band \(j\), is defined as the sum of the energy densities carried by the velocity vector \(\mathbf{v}_i\) of the particles (standard \(c_i\)) passing through the receiving volume:

Calculation of the lateral sound pressure level at a volume receiver

For the calculation of certain acoustic parameters, such as those based on lateral energy (LF with a weighting in \(|\cos\theta|\) and LFC with a weighting in \(\cos^2\theta\)), it is necessary to consider a weighting of the sound intensity as a function of the angle \(\theta\) between the observation direction of the point receiver (in principle oriented towards the sound source) and the incident direction of the particles at the receiver. As a result, the SPPS code also returns the following two quantities, homogeneous to the square of the sound pressure (i.e. in Pa\(^2\)):

\[\begin{split}\begin{aligned} P2_{\text{rec},\cos\theta}^{j}(n)&= \rho_0 c^2 \times w^{j}_{\text{rec},\cos\theta}(n)\\ &= \rho_0 c \frac{W}{N} \frac{1}{V_\text{rec}} \times \sum_i^{N_0} \epsilon_i^{j}\ell_i|\cos\theta_i|, \end{aligned}\end{split}\]

and

\[\begin{split}\begin{aligned} P2_{\text{rec},\cos^2\theta}^{j}(n)&= \rho_0 c^2 \times w^{j}_{\text{rec},\cos^2\theta}\\ &= \rho_0 c \frac{W}{N} \frac{1}{V_\text{rec}} \times \sum_i^{N_0} \epsilon_i^{j}\ell_i\cos^2\theta_i. \end{aligned}\end{split}\]

where \(\theta_i\) is the corresponding angle for the particle \(i\).

Calculation of the sound intensity level on a surface receiver

The power \(W_\text{surf}^{j}\) (in W) received by a surface element of size \(\Delta S\) of normal \(\mathbf{n}\) is equal to the sum of the energy provided by each particle \(i\) in the frequency band \(j\) per time unit \(\Delta t\), at the time step \(n\) (i.e. at time \(n\Delta t\)), either:

\[W_\text{surf}^{j}(n)=\sum_i^{N_0} \frac{\varepsilon_i^{j}}{\Delta t} \frac{\mathbf{v_i}}{c}\cdot \mathbf{n}=\frac{W}{N} \sum_i^{N_0} \epsilon_i\cos\theta_i,\]

where \(\mathbf{v_i}\) refers to the velocity vector (of norm \(c\)) of the particle \(i\), \(\theta_i\) the angle between normal \(\mathbf{n}\) of the surface and the direction of the particle, and where \({N_0}\) is the total number of sound particles colliding with the surface element \(\Delta S\).

The sound intensity \(I_\text{surf}^{j}(n)\) (in W/m \(^2\)) received by the surface element \(\Delta S\) at the time step \(n\) is equal to the power received divided by the surface, either:

\[I_\text{surf}^{j}(n)=\frac{W}{N} \frac{1}{\Delta S}\sum_i^{N_0} \epsilon_i^{j} \cos\theta_i.\]

The sound level \(L_\text{surf}^{j}(n)\) (in dB) can then be calculated by the following relationship:

\[\label{L_receiver_surface} L_\text{surf}^{j}(n)= 10\log\frac{I_\text{surf}^{j}(n)}{I_0},\]

where \(I_0=10^{-12}\) W/m \(^2\) is the reference intensity.

Principle of the calculation of the sound intensity level for a surface receiver.

Principle of the calculation of the sound intensity level for a surface receiver

Calculation of the sound pressure level on a surface receiver

Equivalent to the calculation of the sound intensity level on a surface receiver, the quadratic sound pressure \(P2_\text{surf}^{j}(n)\) (in Pa) received by the surface element \(\Delta S\) at the time step \(n\) is equal to the product of the sound intensity (without weighting the angle of incidence on the surface) by the characteristic impedance of the air \(\rho_0\) that is:

\[P2_\text{surf}^{j}(n)=\rho_0\rho_0\, c \frac{W}{N} \frac{1}{\Delta S}\sum_i^{N_0} \epsilon_i^{j}.\]

The sound pressure level \(L_\text{SPL,surf}^{j}(n)\) (in dB) can then be calculated by the following relationship:

\[\label{SPL_receiver_surface} L_\text{SPL,surf}^{j}(n)= 10\log\frac{P2_\text{surf}^{j}(n)}{p_0^2},\]

where \(p_0=20\times 10^{-6}\) Pa is the reference sound pressure.

Avertissement

Note that the calculation of a sound pressure level for a surface is quite ambiguous. It should not be comparable to grid of punctual receivers on a plane.

Calculation of the overall sound pressure level in the model

The overall sound intensity \(I_\text{global}^{j}(n)\) in the model, for the frequency band \(j\), is calculated by summing the intensities carried by all the sound particles present \(N_n\) in the model at the time step \(n\) (i.e. at time \(n\delta t\)):

\[I_\text{global}^{j}(n)= \frac{W}{N} \frac{1}{V_\text{rec}} \sum_i^{N_n} \epsilon_i^{j}\ell_i.\]

The sound pressure level \(SPL_\text{global}^{j}(n)\) (in dB) can then be calculated by the following relationship:

\[\label{SPL_global} SPL_\text{global}^{j}(n)=10\log\left( \frac{P2_\text{global}^{j}(n)}{p_0^2}\right),\]

where \(p_0=20\times 10^{-6}\) Pa is the reference sound pressure.

Verification of the SPPS code

Here were proposed some validations and verifications of the SPPS code.

Avertissement

Paid attention to the limitations of this validation. Goto this page

Presentation

TCR is a numerical code based on the Classical Theory or Reverberation.

The simulation code TCR (from French « Théorie Classique de la Réverbération ») is a numerical application of the Classical Theory of Reverberation as proposed by Sabine. It allows to obtain an evaluation of the diffuse sound field in a single room on the basis of Sabine’s relations for the reverberation time and for the sound level of the reverberated field.

More information can be obtained in the following reference book: Kuttruff, Heinrich. Room Acoustics, CRC Press (Sixth Edition, 2016).

Using TCR within I-Simpa

TCR is already embedded in I-Simpa. Follow the next instructions to run a calculation with the TCR code in I-Simpa.

Double left click on the TCR calculation code in I-Simpa to display all calculation parameters:

Right click on the selected calculation code to display all possible actions:

  • Run calculation

  • Job list

Meshing

Some calculation codes may require a meshing of the domain (SPPS for example). I-Simpa used the TetGen meshing code (A Quality Tetrahedral Mesh Generator and a 3D Delaunay Triangulator). See the documentation for more information.

Within I-Simpa, TetGen can be paramatrized:

  • “Test mesh topology”

    Check/uncheck for activate the debug mode of TetGen (debug mode).

    Avertissement

    With the debug mode, the meshing is not realized.

  • “Additional parameters”

    Add parameters to the TetGen default parameters.

  • “Radius/Edge ratio”

    Defines the ratio between the radius of the sphere that would contain a mesh and the lenght of the mesh. This parameter could be useful in order to avoid long meshes.

  • “Scene correction before meshing”

    Check/uncheck for trying to repair the 3D scene if possible.

  • “User-defined paramters”

    Defines new parameters by replacing default parameters.

  • “Surface receiver constraint”.

    Check/uncheck for using a given value of the mesh surface “Surface receiver constraint (m²)”.

  • “Surface receiver constraint (m²)”

    Maximun accepted value of the mesh surface (m²) for a surface receiver. The value can be modified only if the “Surface receiver constraint” parameter is checked.

  • “Volume constraint”

    Check/uncheck for using a given maximum value of the mesh volume “Volume constraint (m3)”.

  • “Volume constraint (m3)”

    Maximun accepted value of a mesh volume (m3). The value can be modified only if the “Volume constraint” parameter is checked.

TCR Calculation parameters

  • “Active calculation of atmospheric absorption”

    Enables calculation of atmospheric absorption.

  • “Export surface receivers for each frequency band”

    Check to export the surface receiver results, for each frequency band. If uncheck, only the global value is exported.

I-Simpa errors and messages

“Tetrahedron file is empty, the calculation can’t be done !”

Description

This errors occurs when the meshing process fails. The meshing process is required for specific numerical code within I-Simpa, particularly using the SPPS code. Most of time, the problem is that the 3D scene that is used for the meshing process, contains several errors such as holes, intersecting faces…

Solution

The 3D scene must be created and imported with a great attention in order to avoid such problems. See our recommandation for creating and importing a 3D scene

Standards

Acoustics

ISO 9613-1

ISO 9613-1:1993, Acoustics – Attenuation of sound during propagation outdoors – Part 1: Calculation of the absorption of sound by the atmosphere http://www.iso.org/iso/catalogue_detail.htm?csnumber=17426

ISO 3382-1

ISO 3382-1:2009, Acoustics – Measurement of room acoustic parameters – Part 1: Performance spaces http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=40979

NF S31-133

NF S31-133:2011, Acoustics – Outdoor noise - Calculation of sound levels https://www.boutique.afnor.org/norme/nf-s31-133/acoustique-bruit-dans-l-environnement-calcul-de-niveaux-sonores/article/678966/fa169343

ISO 354

ISO 354:2003, Acoustics – Measurement of sound absorption in a reverberation room https://www.iso.org/standard/34545.html

ISO 10534-1

ISO 10534-1:1996, Acoustics – Determination of sound absorption coefficient and impedance in impedance tubes – Part 1: Method using standing wave ratio https://www.iso.org/standard/18603.html

ISO 10534-2

ISO 10534-2:1998, Acoustics – Determination of sound absorption coefficient and impedance in impedance tubes – Part 2: Transfer-function method https://www.iso.org/standard/22851.html

ISO 17497-1

ISO 17497-1:2004, Acoustics – Sound-scattering properties of surfaces – Part 1: Measurement of the random-incidence scattering coefficient in a reverberation room https://www.iso.org/standard/31397.html

ISO 17497-2

ISO 17497-2:2012, Acoustics – Sound-scattering properties of surfaces – Part 2: Measurement of the directional diffusion coefficient in a free field https://www.iso.org/standard/55293.html

ISO 266

ISO 266:1997, Acoustics – Preferred frequencies https://www.iso.org/standard/1350.html

EN ISO 3382-1

ISO 3382-1:2009, Acoustics – Measurement of room acoustic parameters – Part 1: Performance spaces https://www.iso.org/standard/40979.html

Other

ISO 639-1

NF ISO 639-1:2003 – Codes for the representation of names of languages - Part 1 : Alpha-2 code https://www.boutique.afnor.org/standard/nf-iso-639-1/codes-for-the-representation-of-names-of-languages-part-1-alpha-2-code/article/742951/fa104093

ISO 639-2

NF ISO 639-2:1999 – Codes for the representation of names of languages - Part : alpha-3 code https://www.boutique.afnor.org/standard/nf-iso-639-2/codes-for-the-representation-of-names-of-languages-part-alpha-3-code/article/727490/fa043864

ISO 639-3

NF ISO 639-3:2007 – Codes for the representation of names of languages - Part 3 : alpha-3 code for comprehensive coverage of languages https://www.boutique.afnor.org/standard/nf-iso-639-3/codes-for-the-representation-of-names-of-languages-part-3-alpha-3-code-for-comprehensive-coverage-of-languages/article/752747/fa138697

ISO 639-4

NF ISO 639-4:2010 – Codes for the representation of names of languages - Part 4 : general principles of coding of the representation of names of languages and related entities, and application guidelines https://www.boutique.afnor.org/standard/nf-iso-639-4/codes-for-the-representation-of-names-of-languages-part-4-general-principles-of-coding-of-the-representation-of-names-of-lan/article/724011/fa138698

ISO 639-5

NF ISO 639-5:2008 – Codes for the representation of names of languages - Part 5 : Alpha-3 code for language families and groups https://www.boutique.afnor.org/standard/nf-iso-639-5/codes-for-the-representation-of-names-of-languages-part-5-alpha-3-code-for-language-families-and-groups/article/645452/fa138699

ISO 639-5

NF ISO 639-6:2010 – Codes for the representation of names of languages - Part 6 : alpha-4 code for comprehensive coverage of language variants https://www.boutique.afnor.org/standard/nf-iso-639-6/codes-for-the-representation-of-names-of-languages-part-6-alpha-4-code-for-comprehensive-coverage-of-language-variants/article/699300/fa148722

Room acoustics parameters

The acoustic quality of an environment, particularly in room acoustics, can be evaluate on the basis of a number of objective acoustic parameters. Most of the time, these parameters are obtained from the knowledge of the instantaneous sound pressure of the impulse response (IR), noted \(p(t)\), measured or calculated at a receiving point in the propagation domain. Most of the parameters presented below are proposed by the standard NF EN ISO 3382-1.

Sound level parameters

Sound pressure level \(L_\text{SPL}\)

The sound pressure level \(L_\text{SPL}\) (in dB) expresses the energy of the IR (quadratic sound pressure), in integrated form (steady-state sound level):

\[L_\text{SPL}=10\log \frac{\int_0^\infty p^2(t)\text{d}t}{p_0^2}\]

or, in time-varying state:

\[L_\text{SPL}(t)=10\log \frac{p^2(t)}{p_0^2},\]

where \(p_0=20\times10^{-6}\) Pa is the reference acoustics pressure.

Sound strength \(G\) (single sound source)

The Sound strength, noted \(G\) (in dB), is the logarithmic ratio of the acoustic energy of the IR obtained at the point of measurement, to that equal to a distance of 10 m from the sound source (NF EN ISO 3382-1):

\[G=10\log \frac{\int_0^\infty p^2(t)\text{d}t}{\int_0^\infty p^2_{10\,m}(t)\text{d}t},\]

where \(p^2_{10\,m}(t)\) is the instantaneous acoustics pressure of the IR at the refernce observation point at 10 m from the source.

Sound strength \(G\) (multiple sound sources)

When considering simultaneous sound sources, the last relation can be generalized:

\[\begin{split}\begin{aligned} G=&10\log \sum_{s=1}^{N_s}\frac{\int_0^\infty p^2(t)\text{d}t}{\int_0^\infty p^2_{s,10\,m}(t)\text{d}t}\\\nonumber =&10\log\sum_{s=1}^{N_s} 10^{G_n/10},\end{aligned}\end{split}\]

where \(s\) is the source number et \(N_s\) the number if sound sources.

Reverberation

Reverberation time \(T\)

The Reverberation time, noted \(T\) (in s), is obtained from the slope of the decay \(d\) (or decay rate, in dB/s) of the sound energy, between the points located at \(-5\) dBand \(-(5+L)\) dB under steady state conditions (NF EN ISO 3382-1). The value of \(L\) is classically chosen at \(30\) (\(T_{30}\)) and \(15\) (\(T15\) or \(RT15\)). This L value can be set under I-Simpa. The slope of the decay \(d\) (or rate of decay) is determined by linear regression on the background integration of the quadratic IR:

\[E(t)=\int_t^\infty p^2(\tau)\text{d}\tau.\]

The reverberation time \(T\) is obtained using the follwing relation (in s):

\[T=\frac{60}{d}.\]

Early decay time \(EDT\)

The Early decay time, noted \(EDT\) (in s), is obtained, like the classical reverberation time, by calculating the slope of the background integration decay curve of the quadratic IR, but this time corresponding to the first 10 decibels of the decay under the stationary state (between \(0\) and \(-10\) dB).

_images/RT_EDT_calculation.png

Illustration of the EDT and RT calculation from background integration decay curve (Schroeder curve)

Clarity and intelligibility parameters

Clarity \(C\)

Clarity \(C\) is obtained by calculating the ratio between the early energy (on the time intervals \([0,t_e]\)) and the late energy (on the time intervals \([t_e,\infty]\)). Time value \(t_e\) is defined as the early temporal limit, which is choosen as \(50\) ms (\(C50\)) or \(80\) ms (\(C80\)) (NF EN ISO 3382-1):

\[C_{t_e}=10\log\frac{\int_0^{t_e} p^2(t)\text{d}t}{\int_{t_e}^\infty p^2(t)\text{d}t}.\]

Within I-Simpa, early temporal limit \(t_e\) is a parameter.

Centre time \(t_s\)

Centre time, noted \(t_S\) (in s), is the centre of gravity of the quadratic IR (NF EN ISO 3382-1:2010):

\[t_s=\frac{\int_0^\infty t\times p^2(t)\text{d}t}{\int_0^\infty p^2(t)\text{d}t}.\]

If the time \(t\) is given in ms, thus, centre time \(t_s\) is also give in ms.

Definition \(D\)

Definition, noted \(D\) (in %), is the ratio between the early energy (on time interval \([0,t_e]\)) and the total energy (NF EN ISO 3382-1):

\[D=100\times \frac{\int_0^{t_e} p^2(t)\text{d}t}{\int_{0}^\infty p^2(t)\text{d}t}.\]

Definition \(D\) can also be obtained the Clarity (for a time value \(t_e\)):

\[C_{t_e}=10\log \left( \frac{D_{t_e}}{1-D_{t_e}}\right).\]

The value of \(t_e\) is classically taken as 50 ms (\(D50\)).

Spatialisation parameters

Apparent Source Width (ASW)

Early lateral energy fraction \(LF\)

Lateral fraction noted \(LF\) (in %) or \(J_{LF}\) (linear) is obtained by considering the orientation of the observation point to the sound source:

\[LF=100\times J_{LF}=100\times \frac{\int_{0.005}^{t_e} |\cos\theta|^2\times p^2(t)\text{d}t}{\int_{0}^{t_e} |\cos\theta|\times p^2(t)\text{d}t},\]

where \(\theta\) refers to the angle between the axis normally passing between the two ears of a listener (perpendicular to the orientation of the receiver) and the source-receiver axis.

The value of \(t_e\) is classically chosen at 80 ms (\(LF80\)), but can be parameterized in I-Simpa.

The receiving point is normally oriented towards the center of the stage or towards each source position, so that this criterion favors above all the acoustic energy coming from lateral directions.

Lateral energy fraction \(LFC\)

A weighting of the energy with the cosine of the angle, instead of square of the cosine (\(LF\)) is considered subjectively more (NF EN ISO 3382-1). One then also define the lateral energy fraction noted \(LF\) (in %) or \(J_{LF}\) (in linear) by the following relation:

\[LFC=100\times J_{LFC}=100\times \frac{\int_{0.005}^{t_e} |\cos\theta|\times p^2(t)\text{d}t}{\int_{0}^{t_e} |\cos\theta|\times p^2(t)\text{d}t},\]

The value of \(t_e\) is normally set to 80 ms (\(LFC80\)) but can be set under -Simpa. As with \(LF\), the receiving point is normally oriented towards the center of the stage or towards each source position, so that this criterion favors above all the acoustic energy coming from lateral directions.

Auditor Envelope (LEV)

Late lateral sound level

In addition, the Late lateral sound level, noted \(L_J\) or \(LG\) in dB, is obtained by combining the Sound energy \(G\) and the Early lateral energy fraction. \(LF\) (NF EN ISO 3382-1):

\[L_J=10\log \frac{\int_{t_e}^\infty |\cos^2\theta|\times p^2(t)\text{d}t}{\int_0^\infty p^2_{10\,m}(t)\text{d}t}.\]

As for the \(LF\) and the \(LFC\), the receiving point is normally oriented towards the center of the stage or towards each position source, so that this criterion favours above all the energy acoustics from lateral directions.

Scene Criteria

Early stage support \(\text{ST}_\text{Early}\)

The Early stage support noted \(\text{ST}_\text{Early}\) (in dB) is the ratio of the energy reflected in the initial 0.1 s (100 ms) to the direct sound (including ground reflection) measured at a distance of 1 m from the acoustic center of an omnidirectional sound source, the others reflective surfaces and objects being located more than 2 m from the position of the observation point.

\[\text{ST}_\text{Early}=10\log\frac{\int_{0.020}^{0.100} p^2(t)\text{d}t}{\int_{0}^{0.010} p^2(t)\text{d}t}\]

Expected values

Table A.1 of the NF EN ISO 3382-1 standard proposes recommended values for most of these acoustic parameters, for concert halls and unoccupied multi-purpose halls up to 25000 m3:

Expected values for few room acoustics parameters. From Table A.1 of the NF EN ISO 3382-1 standard.

Parameter

Frequency range

Values

\(G\)

500 à 1000 Hz

\(-\)2 to \(+\)10 dB

\(EDT\)

500 à 1000 Hz

1 to 3 s

\(C80\)

500 à 1000 Hz

\(-\)5 to \(+\)5 dB

\(D50\)

500 à 1000 Hz

30 to70%

\(t_s\)

500 à 1000 Hz

60 to 260 ms

\(LF\) or \(LFC\)

125 à 1000 Hz

5 to 35%

\(L_J\)

125 à 1000 Hz

\(-\)14 to \(+\)1 dB

Glossary

absorption coefficient

Absorption coefficient of an object or a material. The value of the absorption coefficient is a real number between 0. (no absorption, i.e. perfect reflection) and 1 (total absorption, i.e. no reflection).

scattering coefficient

The scattering coefficient is used in room acoustics software to model the surface diffusivity, such as room wall. When this coefficient is ste to 1, it means that surfaces are 100% diffuse (i.e. generate diffuse reflection only), while, when this coefficient is set to 0, sound reflection are perfectly specular.

mean free path

Mean distance between two collisions (unit: meter). The mean free path is at the basis of the Classical Theory of Reverberation, and allow to estimate the reverberant (diffuse) field and several room acoustics indicators. It statistically describes the distance between two successive wall reflections in a room.

It can also be used to model the acoustic diffusion in a volume that contains many obstacles (fittings). In this case, it statistically describes the distance between two successive collisions with the fittings.

References

Aul85

N. Auletta. Contribution à L’étude de la Propagation Du Son Dans Les Locaux Industriels Encombrés – 1ère Partie (étude Théorique). Revue d’Acoustique, 75:477–487, 1985.

Aul86

N. Auletta. Contribution à L’étude de la Propagation Du Son Dans Des Locaux Industriels Encombrés – 2ème Partie. Revue d’Acoustique, 76:5–18, 1986.

BL88

M. Barron and L‐J. Lee. Energy relations in concert auditoriums. i. The Journal of the Acoustical Society of America, 84(2):618–628, 1988. URL: https://doi.org/10.1121/1.396840, arXiv:https://doi.org/10.1121/1.396840, doi:10.1121/1.396840.

BSPE84

H. E. Bass, L. C. Sutherland, J. Piercy, and L. Evans. Absorption of sound by the atmosphere. In Physical acoustics: Principles and methods, volume 17, pages 145–232. Academic Press, Inc., 1984. URL: http://adsabs.harvard.edu/abs/1984papm…17..145B.

BMC90

P.J. Burns, J.D. Maltby, and M.A. Christon. Large-scale surface to surface transport for photons and electrons via monte carlo. Computing Systems in Engineering, 1(1):75 – 99, 1990. URL: http://www.sciencedirect.com/science/article/pii/095605219090049Q, doi:https://doi.org/10.1016/0956-0521(90)90049-Q.

CDAntonio16

Trevor Cox and Peter D’Antonio. Acoustic Absorbers and Diffusers : Theory, Design and Application. CRC Press, November 2016. ISBN 978-1-315-36921-1. URL: https://www.taylorfrancis.com/books/9781315369211 (visited on 2019-06-20), doi:10.1201/9781315369211.

EAS01

J. J. Embrechts, D. Archambeau, and G. B. Stan. Determination of the scattering coefficient of random rough diffusing surfaces for room acoustics applications. Acta Acustica united with Acustica, 87(4):482–494, 2001. URL: https://www.ingentaconnect.com/content/dav/aaua/2001/00000087/00000004/art00007.

Hod91

Murray Hodgson. Evidence of diffuse surface reflections in rooms. The Journal of the Acoustical Society of America, 89(2):765–771, 1991. URL: https://doi.org/10.1121/1.1894636, arXiv:https://doi.org/10.1121/1.1894636, doi:10.1121/1.1894636.

Joy74

W. B. Joyce. Classical-particle description of photons and phonons. Phys. Rev. D, 9:3234–3256, Jun 1974. URL: https://link.aps.org/doi/10.1103/PhysRevD.9.3234, doi:10.1103/PhysRevD.9.3234.

Joy75

W. B. Joyce. Sabine’s reverberation time and ergodic auditoriums. The Journal of the Acoustical Society of America, 58(3):643–655, 1975. URL: https://doi.org/10.1121/1.380711, arXiv:https://doi.org/10.1121/1.380711, doi:10.1121/1.380711.

Joy78

W. B. Joyce. Exact effect of surface roughness on the reverberation time of a uniformly absorbing spherical enclosure. The Journal of the Acoustical Society of America, 64(5):1429–1436, 1978. URL: https://doi.org/10.1121/1.382120, arXiv:https://doi.org/10.1121/1.382120, doi:10.1121/1.382120.

Kut16

Heinrich Kuttruff. Room Acoustics. CRC Press, October 2016. ISBN 978-1-315-37215-0. URL: https://www.taylorfrancis.com/books/9781315372150 (visited on 2019-06-20), doi:10.1201/9781315372150.

Kut81

K. Heinrich Kuttruff. Sound decay in reverberation chambers with diffusing elements. The Journal of the Acoustical Society of America, 69(6):1716–1723, 1981. URL: https://doi.org/10.1121/1.385951, arXiv:https://doi.org/10.1121/1.385951, doi:10.1121/1.385951.

Lam96

Y. W. Lam. A comparison of three diffuse reflection modeling methods used in room acoustics computer models. The Journal of the Acoustical Society of America, 100(4):2181–2192, 1996. URL: https://doi.org/10.1121/1.417927, arXiv:https://doi.org/10.1121/1.417927, doi:10.1121/1.417927.

LP03

Thierry Le Pollès. Modélisation des champs diffus en acoustique architecturale par la théorie des transports : application au milieu urbain. PhD thesis, Université du Maine, France, 2003. URL: http://www.theses.fr/2003LEMA1016.

Lin82

E. A. Lindqvist. Sound attenuation in large factory spaces. Acta Acustica united with Acustica, 50(5):313–328, 1982. URL: https://www.ingentaconnect.com/content/dav/aaua/1982/00000050/00000005/art00004.

OB89

A. M. Ondet and J. L. Barbry. Modeling of sound propagation in fitted workshops using ray tracing. The Journal of the Acoustical Society of America, 85(2):787–796, 1989. URL: https://doi.org/10.1121/1.397551, arXiv:https://doi.org/10.1121/1.397551, doi:10.1121/1.397551.

Sal01

E. M. Salomons. Computational Atmospheric Acoustics. Springer Netherlands, 2001. ISBN 978-0-7923-7161-8. URL: https://www.springer.com/gp/book/9780792371618 (visited on 2019-06-20).

Sch65

M. R. Schroeder. New method of measuring reverberation time. The Journal of the Acoustical Society of America, 37(3):409–412, 1965. URL: https://doi.org/10.1121/1.1909343, arXiv:https://doi.org/10.1121/1.1909343, doi:10.1121/1.1909343.

VM00

Michael Vorländer and Eckard Mommertz. Definition and measurement of random-incidence scattering coefficients. Applied Acoustics, 60(2):187 – 199, 2000. URL: http://www.sciencedirect.com/science/article/pii/S0003682X99000560, doi:https://doi.org/10.1016/S0003-682X(99)00056-0.

XKaJ02

Zeng Xiangyang, Chen Ke-an, and Sun Jincai. Development of a hybrid computer model for simulating the complicated virtual sound field in enclosures. Applied Acoustics, 63(5):481 – 491, 2002. URL: http://www.sciencedirect.com/science/article/pii/S0003682X01000548, doi:https://doi.org/10.1016/S0003-682X(01)00054-8.

Indices and tables