ADSLib – Acoustic Duct Simulation Library ASPack – Acoustic Simulation Package EADS.Lib – European Acoustic Duct Simulation Library ARTSIM - Acoustic Real-Time Simulation Package A European Collaboration based on the Open Source Concept EMAS – European Musical Acoustics Simulation Library ARTSPAC – Acoustic Real-Time Simulation Package ADSS – Acoustic Duct Simulation Software
Goal of the project Simulation package for arbitrary topologies of acoustical ducts with realistic termination conditions.
Applications • Computer Optimization of Wind Instruments • Interactive Design of Wind Instruments • Accurate Modeling of arbitrary topologies (e.g. ventilation duct systems, exhaust systems) • Bore reconstruction • Surface condition related loss reconstruction • Determination of true termination impedance
Final Stage • Single Mode, Multi Mode, 2D+3D CFD • Frequency Domain, Time Domain • Basic building blocks • straight and bent tubes and cones • various kinds of side holes, bells • various realistic (measured) termination conditions • loss coefficients related to certain surface conditions • Easy interactive I/O, numerical & semi-graphical
Primary Concepts • Efficiency – never calculate something twice • Flexibility – allow any shape with shunt impedances (tone holes) • Extendibility – add new models at any time without invalidating application software • Generality – don’t restrict future models in any way, allow mixed mode simulation • Portability – generate code from abstract descriptions, don’t rely on specific compiler/OS • Team Development – strict interfaces
Efficiency • Hierarchical representation with pre-calculated propagation matrices of whole sections which are rarely modified. • Impedance cache for each section to avoid recalculation in case of constant upstream conditions. • Notification mechanism invalidates only those cache entries which are affected by the change of a geometric or acoustical property value.
Example: Pressing a key Key up/down switches termination conditions ZUp A 3 A 1 A 2 ZIn ZBell ZOpen Input Impedance known by CFD (e.g. Lattice-Boltzmann) ZTerm= const !
Example: Pressing a key Key up/down switches termination conditions ZDown A 3 A 1 A 2 ZIn ZBell ZOpen Input Impedance known by CFD (e.g. Lattice-Boltzmann) ZTerm= const !
Extendibility, Generality • Object oriented approach (inheritance of functionality, partial overload, new properties) • Generic application interface • Enumeration of model capabilities • Model communicates its properties by name, type and description • Application can register any property for subsequent modifications • Generic model and wave datatypes
Portability • ANSI C++ • No OS dependent libraries • Generic graphical output • Simple application interface compatible with VB, C++, Java, Delphi… • Open Source policy allows everybody to create its own applications from tested and proven technologies.
Team Development • UML Design • Abstract description of class dependencies enforces interface discipline • Documentation already on abstract level • Skeleton code generation for C++ includes all comments • Version control system
0,0mm Real-Time Simulation
0,2mm Real-Time Simulation