A configurable implementation of a matrix method to approximate the pressure field in acoustic levitation devices
SALT was tested in a virtual environment using python 3.7.4, its only dependencies are matplotlib
and numpy
.
Use github desktop and copy-paste the URL of this repo or just download the zip-file manually.
Launch the application by running the file main.py
, simply by double clicking the file or navigating to the folder where it is located in and typing python main.py
in your command prompt or terminal.
Choose components: The top component can be either an array or a transducer while the bottom component can be either an array or a reflector. The difference between arrays/transducers and reflectors is that they do not simulate excitation of the acoustic field.
Convaity: Checked by default, if uncheck results in a flat array/transducer/reflector and thus the radius of curvature slider has no effect.
Vertical offset: Determines the distance between the center of the array/transducer/reflector from the origin. E.g. the total distance between two arrays with this value set to 64mm on both sides is 128mm.
Radius of curvature: The radius of a sphere which the surface of the transducers will lie on.
Maximum size of the socket: The size of the socket determines how many rows of transducers can be put in an array, experimenting with the relation between this and radius of curvature is encouraged to understand how to define a geometry that works.
Phase shift: The phase component of the wave.
Adjust frequency: Fine tune the frequency at which you wish to excite the acoustic field.
Configure array: Almost any combination of number of rows and density on each row is available, experiment!
Options: To familiarize oneself with how to configure the acoustic trap it is recommended to use the "display geometry" option, before running the simulation. When the simulation is run, the terminal window from where the GUI was launched will print messages on the progress of the simulation. When the simulation is done two plots will appear, one is a contour/surface plot of the acoustic radiation pressure, the other is the profile of the acoustic radiation pressure.
When the simulation is done three text files will be created containing comma-seperated values, one will contain the points on the contour-plot called acoustic_radiation.txt, one contains the values on the x-axis of the profile of the radiation pressure (xPlot.txt) and one profile.txt contains the values on the y-axis of the acoustic radiation profile.
Among many things that can be added are:
Convex shape arrays
Square/rectangular arrays with novel arrangement patterns
Mathematics coded in C for faster execution, better scaleability.