Parareal Algorithmus



  • Ich möchte für ein Master-Projekt den Parareal-Algorithmus (vgl https://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&uact=8&ved=0CDIQFjAC&url=http%3A%2F%2Fwww.idi.ntnu.no%2F~elster%2Fnotur-cluster03%2FNOTUR_ET_Cluster_A4_ntnu_staff_ronquist.pdf&ei=vqfDU-P1M6f_4QTN2YC4Bw&usg=AFQjCNF0BHoY5kZWNC7OJpltCeg8XQ5z0g&bvm=bv.70810081,d.bGE) implementieren.

    Es geht dabei um die zeitparallele Lösung von ODE-Systemen.

    Meine Frage ist nun eher:
    Wie sollte ein brauchbares Interface aussehen oder prinzipiell. Wie strukturiere ich das Programm?

    Der Aufbau von odeint ist mir zu kompliziert, weil zu Template-lastig.
    Hat jemand ein paar Tipps für mich?

    Oder einen Link zu einer bestehenden Implementierung?



  • Nein, so geht das hier nicht. Zumal das deine Masterarbeit ist.

    Du sollst dich in den Algorithmus einarbeiten, ihn verstehen etc. und implementieren.

    Erstens hier im Subforum zu C++ kannst du fragen, wenn du konkrete Fragen zu etwas hast und nicht wie du ein Softwareprojekt im Allgemeinen anfängst/umsetzt.

    Zweitens, die Fragen, die du stellst, sind genau die, vor denen jeder Entwickler am Anfang steht. Und die kann auch nur jeder Entwickler mit sich (bzw seinem team) klären, denn wir wissen ja gar nicht, was dein System können soll und wie der Algorithmus damit zusammen hängt. (Zumal ich denke, dass die wenigsten hier diesen Parareal Algorithmus kennen und wissen wie er arbeitet und wofür er da ist.)

    Frag spezifischer!

    Edit: ok, er ist für Differentialgleichungen da.



  • Um es GANZ einfach zu machen:

    Welche Klassen, Funktionen würdet ihr von einer Bibliothek zur Lösung von Anfangswertproblemen von Differentialgleichungen erwarten?

    BZW: wie sieht ein allgemein anerkanntes Interface aus?

    So etwas in der Art von Maple vielleicht?

    dsolve({ODE, ICs}, y(x), options)
    


  • Wer odeint zu kompliziert findet, hat sie nicht mehr alle (oder keine Ahnung von Thema). Mach doch erstmal DEINE Hausaufgaben.



  • Mh so auf den ersten Blick sieht das Interface recht simpel aus, vor allem wenn man weiss wofür es ist und was es macht. (Ich persönlich bin bisher quasi noch nicht mit Differentialgleichungen in Berührung gekommen, daher scheide ich aus :D).

    Ich kann mir aber vorstellen, dass sowohl Boost als auch die ganzen Templates einen im Regen stehen lassen, wenn man was falsch macht. (Naja eher mit Fehlermeldungen zuballern :D)


Log in to reply