» über uns

Der ABEC Thread...

Druckbare Version

  • 02.11.2017, 21:17
    nui
    Zitat:

    Zitat von java4ever Beitrag anzeigen
    "Only periodic solutions to the wave equation are considered,

    Schade

    Zur Fehlersuche wäre es auch nur so bedingt nützlich, wenn dort ein anderer Solver zugrunde läge.

    Zitat:

    Zitat von java4ever Beitrag anzeigen
    Feedback ist immer gerne gesehen. Entweder direkt oder hier über mich, geht auch.

    Werde ich mir merken. Mir fällt da gerade nur eine Kleinigkeit ein, das Spiegeln von BE_Spectrum mit einer PolarRange. Wäre ein kleiner Gewinn an Performance.

    Zitat:

    Zitat von java4ever Beitrag anzeigen
    Tut es. Entweder manuell oder automatisch.
    Das ist der Grund, warum man mit dem Design von Hörnern auch gut Geld verdienen kann.

    Apropos automatisch. Du hattest mal ein Optimierungsskript für Waveguides erwähnt. Was ist denn daraus geworden?
  • 02.11.2017, 21:54
    java4ever
    Zitat:

    Zitat von nui Beitrag anzeigen
    Werde ich mir merken. Mir fällt da gerade nur eine Kleinigkeit ein, das Spiegeln von BE_Spectrum mit einer PolarRange. Wäre ein kleiner Gewinn an Performance.

    Das kann man doch gemütlich im PostProcessing in VACS machen?


    Zitat:

    Zitat von nui Beitrag anzeigen
    Apropos automatisch. Du hattest mal ein Optimierungsskript für Waveguides erwähnt. Was ist denn daraus geworden?

    Das läuft soweit, aber mit einer anderen Software.
    Ist aber unglaublich komplex da eine sinnvolle Lösung zu bekommen.
    Grund 1: Die Auswahl der Parameter.
    Nimmt man Beispielsweise mal Interpolationskurve für die Kontur:
    Anzahl der Punkte, obere und untere Schranken, Verhindern eines Hinterschnitts, fixierung der Axialen Richtung der Punkte, etc...
    Grund 2: Die Anzahl der Parameter
    Die Anzahl der Parameter ist praktisch frei variierbar, was es nicht unbedingt einfacher macht.
    Grund 3: Die Funktion an sich.
    Die Funktion (Ziel vs Ist der Abstrahlung) ähnelt der Eggholder function, hat also viele lokale Minima und ist generell ein Graus zum Optimieren, weil sich Solver gerne festfahren.

    Gruß
  • 02.11.2017, 22:53
    nui
    Zitat:

    Zitat von java4ever Beitrag anzeigen
    Das kann man doch gemütlich im PostProcessing in VACS machen?

    Ich würde ganz gerne weniger in Vacs rumfummeln, als noch mehr. :)

    Aber das erinnert mich an eine Frage die ich hatte. Kann in ich die "Direktivität" berechnen lassen? Könnte Frequency response der aktuell ausgewählten Achse minus Power response (adjusted to point source) entsprechen, aber darauf würde ich nicht unbedingt wetten.

    Zitat:

    Zitat von java4ever Beitrag anzeigen
    Das läuft soweit, aber

    Unterstützt die Optimierung auch achsenasymmetrische konturen?

    Hast du Beispielergebnisse? Ist was erfolgreiches oder vielleicht etwas unterhaltsames dabei? :p
    Ich bin jedenfalls interessiert daran.
  • 03.11.2017, 06:51
    JFA
    Zitat:

    Zitat von java4ever Beitrag anzeigen
    "Only periodic solutions to the wave equation are considered, thus the time-dependent velocity potential Ψ(p,t) can be reduced to a sum of components each of the form
    ψ(p,t) = Reϕ(p)e^(−iωt )"
    Heißt in Kurzform: Die e^(-iωt) Periodizität der Lösung an jedem Punkt wird vorausgesetzt (nicht ganz passend, aber passend für das Forum...)
    Das heißt im Umkehrschluss aber, dass wir aufgrund dieser Bedingung die statischen Lösungen in eine periodische Animation umwandeln können, erfordert nur viel Rechenaufwand und einen nicht gerade unerheblichen Implementierungsaufwand.

    https://wikimedia.org/api/rest_v1/me...cbebc3f0bdc39c


    Ok, die Rechnerei ist dann doch etwas aufwändiger, weil n=3, aber ihr wollt euch doch nicht anstellen, oder?

    Alle möglichen Problemchen lassen sich durch Felder visualisieren, wenn auch manchmal weniger anschaulich. Kantenbrechung? Feld(er) senkrecht zur Kante, hinter der Kante (von der Schallquelle aus gesehen) gibt es bei Brechung eine Abschattung.

    Genauso im Waveguide/Horn: Ein Feld horizontal, ein Feld vertikal, eines auf dem Interface, schon sieht man ziemlich gut, was sich da drin abspielt.
  • 03.11.2017, 12:48
    nui
    Ich hatte meine Probleme letztlich auch teilweise mit Fields lösen können, aber auch nur teilweise. Ich hab nur die Vermutung aussgesprochen, dass manche Macken und Zusammenhänge mit einer Animationen einfach direkt und offensichtlich werden. Der entscheidende Unterschied in visueller Hilfestellung wäre vielleicht die erste Welle. Wir haben in ABEC und Fields ja eher etwas wie eine relativ stabile periode oder sowas, sowas wie ein Endergebnis, wenn ich das nicht falsch verstanden habe und das wäre ja auch vernünftig.

    Wenn ich aber zB Ausschlöschungen auf 0°-Achse einer waveguide relativ zum Mikrofonabstand habe würde mir die erste Welle das vielleicht direkt zeigen. Oder wenn ich meine Interfacenormale, Driving Direction oder meine Subdomains verbockt habe, würde mir das teilweise sofort auffallen, wenn ich sehen könnte, wie die Welle völlig abgefahrenen Blödsinn veranstaltet. Ebenso könnte ich mir anschauen wie lang der akustische Weg einer gefalteten Transmissionline oder (tapped-)horn wirklich ist und ein visuelles Verständnis gewinnen.
    Es wäre lediglich ein optisches Tool für weitere Informationen.

    Dies lässt sich vermutlich alles irgendwie von Fields oder sonstigen "Messungen" ableiten, aber das alleine überzeugt mich aktuell nicht davon, dass eine weitere Stütze nicht nützlich wäre.
  • 15.02.2018, 18:46
    tiki
    Wanddämpfung in ABEC
    Hallo,

    herzlichen Dank für die ausführliche Behandlung der ABEC-Bedienung! Das kommt mir sehr entgegen bei der eigenen SBA-/DBA-Simulation.
    Gelegentlich wird die Wanddämpfung erwähnt, die ABEC in der Solvingdatei verarbeitet. Z.B.:

    WallImpedance "Damping of Wozi"
    RefElements="Wozi"
    ImpType=Reflection
    Value=0.98

    Ich habe keine Angabe zu halbwegs realen Zahlen für Wohnräume im Tieftonbereich gefunden. Welchen Wert kann man Value zuweisen? Gibt es einen einfachen Zusammenhang zwischen Nachhallzeit und diesem Wert?

    Danke und Gruß, Timo
  • 15.02.2018, 19:52
    Gaga
    Hallo Timo,

    zur Dämpfungseigenschaft von unterschiedlichen Materialien und Oberflächen gibt es im Netz eine ganze Reihe von Daten.

    - Sengpiel: Absorptionsgrad alpha...
    - Absorption Coefficients...
    - Schallabsortionsgrad...

    Die Reflexion ist entsprechend reziprok zum angegebenen Absorptionsgrad (siehe hier):
    Zitat:

    Die Schallabsorption wird durch den Schallabsorptionsgrad alpha (α) ausgedrückt, welcher einen Wert zwischen 0 und 1,00 haben kann. Null bedeutet keine Absorption (100 % Reflexion) und 1,00 bedeutet vollständige Absorption (0 % Reflexion). Weitere wichtige Indikatoren der Schallabsorption sind:...
    und hier:
    Zitat:

    Der Schallabsorptionsgrad lässt sich auf zwei unterschiedliche Arten ermitteln - im Hallraum und mit der Kundtschen Rohrmethode. Messungen im Hallraum erfolgen in einem großen Raum mit einem diffusen Schallfeld, damit die Einfallswinkel des Schalls auf die Prüfoberfläche gleichmäßig verteilt sind. Das Messverfahren folgt der internationalen Norm DIN EN ISO 354 und bildet in der Regel die Basis für gesicherte Produktinformationen. (Messungen nach dem entsprechenden US-Standard ASTM C 423 ergeben oft etwas höhere Werte). Die Schallabsorption wird ausgedrückt durch den Schallabsorptionsgrad α oder die Schallabsorptionsklasse (A bis E) gemäß DIN EN ISO 11654.
    Ich denke es ist ein guter Anfang, wenn Du mit den an die oben verlinkten Tabellen angelehnten Werten loslegst.

    Gruß,
    Christoph
  • 16.02.2018, 10:34
    tiki
    Danke Christoph,
    tatsächlich gibt es viele Werte, auch wenn sie teils widersprüchlich sind, vielleicht, weil schwer zuverlässig zu bestimmen.
    Für die normalen Wände und den korkbelegten Fußboden kommt man bis 150Hz wohl mit 9.99 als Reflektions- bzw. 0.01 als Absorptionskoeffizient zunächst hin.
    Vielen Dank und Gruß, Timo
  • 25.02.2018, 10:27
    incoggnito2
    Servus Zusammen,

    probiere aktuell mal wieder ein Gehäuse in ABEC zu simulieren.

    Möchte einen einfachen Tieftöner in ein Kugelgehäuse mit einem vorgesetzten Breitbänder in ABEC simulieren. (Viertelmodell)
    Irgendwie wird mir nach Dim=CircSym nix mehr in "Drawing" angezeigt.:confused:

    Bin mir außerdem noch unschlüssig, wie ich die Treiber richtig auf das Gehäuse-Mesh setzen kann.

    Hier der aktuelle Stand meiner Bemühungen(17:20Uhr):
    https://www.dropbox.com/sh/rf2uhb27q...9CxN0a7za?dl=0
    Vielleicht kann jemand helfen?

    Viele Grüße
    Inco

    PS:@Mod:Falls es besser ist einen eigenen Thread aufzumachen,dann bitte einfach verschieben.
  • 26.02.2018, 19:06
    incoggnito2
    Guten Abend,

    der Solver hat sich nun erstmal ohne Fehlermeldung starten lassen und rechnet jetzt ein paar Stunden. Derweil kann ich noch ein paar Fragen los werden:

    - Woher bekommt man den Wert für expoRe und expoLe, wenn man kein Akbak installieren kann? (hab Win10)

    - Wenn man für das Gehäuse ein externes Mesh erstellt und die Membran via Edge Length vernetzt ist, welchen Einfluss hat die Meshing Frequency im Solver noch? (würde vermuten keinen)

    - Wieso wird vor dem Treiber noch die Fläche der Baffle angezeigt, ist das ein Grafikfehler oder hab ich da was falsch gemacht?

    - Wieso wird bei CircSym die Geometrie ausgeblendet? ...
    Wenn ich das richtig verstanden habe, müsste dass die Wellengleichung für mein rotationssymetrisches Teil viel schneller Lösen?

    -Muss die Rückseite des Treibers zwingend auf der inneren Baffle aufliegen, oder damit abschließen?

    Viele Grüße
    Inco

    PS: Der Link zum Modell auf Dropbox ist weiterhin aktuell.
  • 26.02.2018, 20:44
    Gaga
    Hallo Inco,

    Zitat:

    PS:@Mod:Falls es besser ist einen eigenen Thread aufzumachen,dann bitte einfach verschieben.
    Nee, Deine Frage passt doch perfekt hier her. :ok:

    Zitat:

    Irgendwie wird mir nach Dim=CircSym nix mehr in "Drawing" angezeigt.:confused:
    Guck mal hier im Thread nach - Nils hatte an einer stelle darauf hingewiesen, dass es mit der CircSim-Funktion in ABEC noch Probleme gibt. Ich hatte dann davon abgesehen, mit CircSim zu arbeiten. Vielleicht liest er hier mit und kann Dir einen Hinweis geben.

    Zitat:

    PS: Der Link zum Modell auf Dropbox ist weiterhin aktuell.
    Vielen Dank. Ich habe Dein Modell runtergeladen, komme aber frühestens am Wochenende dazu, mich damit zu beschäftigen. Melde mich dann...

    Grüße,
    Christoph
  • 27.02.2018, 04:49
    incoggnito2
    Moin Christoph,

    Zitat:

    Guck mal hier im Thread nach - Nils hatte an einer stelle darauf hingewiesen, dass es mit der CircSim-Funktion in ABEC noch Probleme gibt. Ich hatte dann davon abgesehen, mit CircSim zu arbeiten. Vielleicht liest er hier mit und kann Dir einen Hinweis geben.
    OK, falls es noch nicht geht freue mich um so mehr auf eine neue Version mit GPU-Beschleunigung.:D

    Zitat:

    Vielen Dank. Ich habe Dein Modell runtergeladen, komme aber frühestens am Wochenende dazu, mich damit zu beschäftigen. Melde mich dann...
    Nö, ich hab zu danken :thumbup:
    Hab heute morgen die Ergebnisse bis 2khz erhalten... Sieht interessant aus...
    Der BB hat wohl noch keinen Saft bekommen... egal der Crossover fehlt sowieso noch...
    Lass heute während ich arbeiten bin gleich mal das Netz bis 10kHz rechnen und stell es dann nochmal online... Zieh dir am Woe am besten nochmal die aktuellste Version ;)

    Beste Grüße
    Andi
  • 03.03.2018, 07:59
    incoggnito2
    Hallo,

    habe das Modell nochmals vollständig überarbeitet:
    https://www.dropbox.com/sh/rf2uhb27q...9CxN0a7za?dl=0

    Das Ergebnis sieht nicht ganz schlecht aus. (Lasse mich aber gern eines besseren belehren :D)
    Arbeite heute noch an dem Contour-Plot und der Umsetzung der Frequenzweiche.

    Viele Grüße
    Inco
  • 03.03.2018, 09:02
    Gaga
    Hi Inco,

    danke für den Download! Schaue ich mir später an...

    Grüße,
    Christoph
  • 03.03.2018, 17:11
    incoggnito2
    Ok, ich hoffe du findest meine Fehler :o ... bekomme immer nur die Antwort vom Tieftöner ... schätze mal, ich mach da irgendwas im LE-Skript falsch.
    Würde gerne die zwei hinterlegten Treiber mit einer 6dB Weiche bei 800Hz verheiraten.
  • 03.03.2018, 20:55
    Gaga
    Hi Inco,

    Zitat:

    Ok, ich hoffe du findest meine Fehler :o ... bekomme immer nur die Antwort vom Tieftöner ... schätze mal, ich mach da irgendwas im LE-Skript falsch.
    So weit ich das sehen kann, ist das LE-Skript ok.

    Ich vermite das Problem liegt daran, dass Du 2 'Exterior Subdomains' definiert hast, obwohl TT und HT auf die selbe Subdomaine abstrahlen. Ich habe das hier geändert, indem ich die Definition der Subdomain 3 rausgenommen habe und dem HT die Subdomein 1 zugeordnet habe:
    Zitat:

    // Midrange Tweeter
    //Subdomain_Properties "Exterior-Midhigh"
    // Subdomain=3
    // ElType=Exterior

    Subdomain_Properties "Interior-Midhigh"
    Subdomain=4
    ElType=Interior

    Elements "Exterior_MH-Enclosure"
    SubDomain=1
    MeshFileAlias="M1"
    101 Mesh Include 24,25
    102 Mesh Include 23 SwapNormals

    Elements "Exterior_MH-Baffle"
    Color=1,0,0
    SubDomain=1
    Meshfilealias=M1
    101 Mesh include 31
    Leider konnte ich nicht testen, da mein Compi gerade ein Leistungsproblem hat, mache das aber, sobald das gelöst ist.

    Dann ist mir aufgefallen, dass Du bei der Dämpfung im Gehäuse-Inneren...
    Zitat:

    WallImpedance
    RefElements="Interior-Enclosure"
    ImpType=Damping
    Value=0.005

    WallImpedance
    RefElements="Interior-Baffle"
    ImpType=Damping
    Value=0.005

    WallImpedance
    RefElements="Interior_MH-Enclosure"
    ImpType=Damping
    Value=0.005

    WallImpedance
    RefElements="Interior_MH-Baffle"
    ImpType=Damping
    Value=0.005
    ...eine sehr geringe Dämpfung angegeben hast:
    Zitat:

    ImpType=Damping
    Value= is a floating point value between 0...1.0.

    Value=0 means no damping and Neumann boundary conditions, which is the default in ABEC.

    Value=1 means 100% damping, which are boundary conditions equivalent to an impedance of a free traveling plane-wave: Zs = ρc.
    Ist vielleicht zunächst einfach so beabsichtigt, Du solltest damit jedoch eine ordentliche Resonanz im Kugelgehäuse sehen.

    Ich habe auch noch nie den Membranrückseiten eine Dämpfung zugeordnet. Ich weiß nicht, ob dies ein Problem ist, würde dies jedoch selber nicht machen, sondern auschließlich den Gehäuse-Innenwänden eine Dämpfung zuordnen.

    Eine 6dB-Weiche schreibe ich Dir noch auf für's LE-Skript...

    Grüße,
    Christoph
  • 04.03.2018, 00:16
    java4ever
    Liste der Anhänge anzeigen (Anzahl: 1)
    Zitat:

    Zitat von Gaga Beitrag anzeigen
    Ich vermite das Problem liegt daran, dass Du 2 'Exterior Subdomains' definiert hast, obwohl TT und HT auf die selbe Subdomaine abstrahlen. Ich habe das hier geändert, indem ich die Definition der Subdomain 3 rausgenommen habe und dem HT die Subdomein 1 zugeordnet habe:

    Das sollte eigentlich kein Problem sein, ist aber eine mögliche Fehlerquelle.
    Zitat:

    Zitat von Gaga Beitrag anzeigen
    Leider konnte ich nicht testen, da mein Compi gerade ein Leistungsproblem hat, mache das aber, sobald das gelöst ist.

    Bald wirds schneller, versprochen ;)
    Zitat:

    Zitat von Gaga Beitrag anzeigen
    Ich habe auch noch nie den Membranrückseiten eine Dämpfung zugeordnet. Ich weiß nicht, ob dies ein Problem ist, würde dies jedoch selber nicht machen, sondern auschließlich den Gehäuse-Innenwänden eine Dämpfung zuordnen.

    Dazu ein absolutes Nein!
    Denn: Sowohl das Driving der Membran ist eine Geschwindigkeitsrandbedingung als auch die Impedanz...
    Das beißt sich und geht nur über krude Vibroakustikansätze.

    Hab' das gerade mal für 200 Frequenzen bis 5kHz durchgerechnet (00:05:04, mit Luft nach oben ;))

    Beste Grüße
  • 04.03.2018, 08:30
    nailhead
    Zitat:

    Zitat von java4ever Beitrag anzeigen

    Bald wirds schneller, versprochen ;)

    Hab' das gerade mal für 200 Frequenzen bis 5kHz durchgerechnet (00:05:04, mit Luft nach oben ;))

    Beste Grüße

    :eek::eek: Woooow! Ach du heiliges Kanonenrohr! :eek: Hast du das also mit einer Beta Version für GPU solving gemacht? WEißt du schon näheres, wann es etwa kommen soll? Kann man auch schon sagen, wie es im Vergleich zu CPU solving ist? Sprich Mittelklasse CPU vs. Mittelklasse GPU? Welche Grafikkarten eignen sich besonders dafür?

    Grüße
  • 04.03.2018, 09:43
    java4ever
    Zitat:

    Zitat von nailhead Beitrag anzeigen
    :eek::eek: Woooow! Ach du heiliges Kanonenrohr! :eek: Hast du das also mit einer Beta Version für GPU solving gemacht? WEißt du schon näheres, wann es etwa kommen soll? Kann man auch schon sagen, wie es im Vergleich zu CPU solving ist? Sprich Mittelklasse CPU vs. Mittelklasse GPU? Welche Grafikkarten eignen sich besonders dafür?

    Grüße

    Hüstel... Ja, es ist eine interne Beta (CPU basiert).
    Ich kann absolut nicht voraussagen, wann GPU Solving kommen wird. Dazu gibt es aktuell zu viele Unbekannte.
    Wenn GPU Solving kommt, dann vermutlich auch vorerst nur mit eingeschränkten Möglichkeiten, die nach und nach erweitert werden.
    Eine Mittelklasse GPU (AMD R9 390X) ist aktuell etwa um Faktor 2-4x schneller, als eine Oberklasse CPU (AMD Ryzen Threadripper 1950X).
    Grundsätzlich eignen sich Grafikkarten ab der Mittelklasse dafür. Ab 6GB VRAM wird es sinnvoll.
    Anmerkung: Bis das auf jedem GPU Modell ordentlich läuft, dauert es. Vor allem, da wir natürlich nicht einfach jede Generation kaufen können, um da rumzuoptimieren.

    Der Wermutstropfen: Es steht noch nicht fest, ob die GPU Möglichkeiten für Free-User überhaupt oder in welchem Umfang freigeschaltet werden, da da doch beträchtlich(!!) Arbeit hintersteckt.
    Generell wird vermutlich zweigleisig gefahren: Einmal der "alte" ABEC Solver und einmal ein neuer, der parallel entwickelt wird und auf einer anderen Formulierung beruht.
    Bezüglich der CPU-basierten Variante des neuen Solvers sieht es aber gut aus für Free-User.

    Noch eine Anmerkung: Der Code wird vermutlich auf AMD Prozessoren nochmal effizienter laufen, als auf Intel Prozessoren, schlicht, weil aktuell keine moderne Intel-Maschine zur Verfügung steht, auf der optimiert werden könnte.

    Grüße
  • 04.03.2018, 10:05
    Gaga
    Hi Java,

    Zitat:

    Bezüglich der CPU-basierten Variante des neuen Solvers sieht es aber gut aus für Free-User.
    :ok::thumbup:

    Gruß,
    Christoph
Powered by vBadvanced CMPS v4.3.0