PETSc ist eine Open-Source-Suite von Datenstrukturen und -routinen für die skalierbare (parallele) Lösung wissenschaftlicher Anwendungen, die durch partielle Differentialgleichungen modelliert werden.
Ich habe mehrere herausfordernde nicht konvexe globale Optimierungsprobleme zu lösen. Derzeit verwende ich die Optimization Toolbox von MATLAB (speziell fmincon()mit algorithm = 'sqp'), was sehr effektiv ist . Der größte Teil meines Codes ist jedoch in Python, und ich würde die Optimierung gerne auch in Python durchführen. Gibt es einen …
Was kann schief gehen, wenn mit vorkonditionierten Krylov-Methoden von KSP ( dem linearen Lösungspaket von PETSc ) ein spärliches lineares System gelöst wird, wie es durch Diskretisierung und Linearisierung partieller Differentialgleichungen erhalten wird? Welche Schritte kann ich unternehmen, um festzustellen, was bei meinem Problem schief läuft? Welche Änderungen kann ich …
Soweit ich das beurteilen kann, handelt es sich bei den beiden großen generischen IT- Software-Frameworks des US-Energieministeriums um PETSc und Trilinos . Sie scheinen auf den ersten Blick ähnlich zu sein, abgesehen von Sprachunterschieden (C versus C ++). Was sind die Hauptunterschiede zwischen den beiden Frameworks und welche Faktoren sollten …
Ich verwende das nichtlineare Lösungspaket SNES von PETSc , um ein System nichtlinearer Gleichungen zu lösen, das durch Diskretisieren einer partiellen Differentialgleichung erhalten wird. Wie kann ich feststellen, warum der Löser nicht konvergiert, und was kann ich tun, um meine Gleichungen erfolgreich zu lösen?
Ich plane, mit Multigrid einige Eigenwerte und Vektoren zu berechnen, und mir ist aufgefallen, dass PETSc Multigrid auf hohem Niveau unterstützt. Die PETSc-Dokumentation besagt, dass dieser Teil von PETSc nicht verwendet werden sollte, da er bald ersetzt wird. Welche anderen Bibliotheken unterstützen Multigrid auf hohem Niveau, und wie bald wird …
Ich würde gerne wissen, ob es einen schnellen Weg gibt, den euklidischen Abstand zweier Vektoren in Oktave zu berechnen. Es scheint, dass es dafür keine spezielle Funktion gibt. Soll ich also einfach die Formel mit verwenden sqrt?
Wo immer ich es gesehen habe, sagen PETSc-Tutorials / -Dokumente usw., dass es für die lineare Algebra nützlich ist und normalerweise angibt, dass spärliche Systeme davon profitieren. Was ist mit dichten Matrizen? Ich mache mir Sorgen, für dichtes A zu lösen .Ax=bAx=bAx=bAAA Ich habe meinen eigenen Code für CG und …
Ich habe mit PETSc herumgespielt und festgestellt, dass mein Programm, wenn ich es mit mehr als einem Prozess über MPI ausführe, noch langsamer zu laufen scheint ! Wie kann ich überprüfen, was los ist?
Normalerweise schreibe ich seriellen Code, und wenn ich das tue, schreibe ich Komponententests mit einem Testframework im xUnit-Stil (MATLAB xUnit, PyUnit / nose oder Googles C ++ - Testframework). Basierend auf einer flüchtigen Google-Suche habe ich nicht viel darüber gesehen, wie Praktiker Unit-Test-Code verwenden, der MPI verwendet. Gibt es dafür …
Frage: Mit welchen Methoden kann die Sparsity-Struktur einer Finite-Elemente-Matrix genau und effizient berechnet werden? Info: Ich arbeite an einem Poisson-Druckgleichungslöser nach der Methode von Galerkin auf quadratischer Lagrange-Basis, geschrieben in C, und verwende PETSc für die Speicherung von spärlicher Matrix und KSP-Routinen. Um PETSc effizient zu nutzen, muss der globalen …
Mein System ist ein symmetrisches FE-Problem mit Lagrange-Multiplikatoren (z. B. inkompressibler Stokes-Fluss): ( ABBTC)(EINBTBC)\begin{pmatrix}A & B^T \\ B & C\end{pmatrix} Dabei ist der typische Fall (ich habe sogar darauf geachtet, dass die Gleichungen nummeriert sind, damit die Lagrange-Multiplikatoren zuletzt erscheinen). Das System ist ziemlich groß (+ 100k Zeilen).C= 0C=0C = …
Ich muss das gleiche dünne lineare System (300x300 bis 1000x1000) mit vielen rechten Seiten (300 bis 1000) lösen. Zusätzlich zu diesem ersten Problem möchte ich auch verschiedene Systeme lösen, aber mit denselben Nicht-Null-Elementen (nur unterschiedlichen Werten), das sind viele spärliche Systeme mit konstantem Sparsity-Muster. Meine Matrizen sind unbestimmt. Die Leistung …
Wie viel langsamer ist Haustierec4py vs c / c ++ / fortran? Mir ist klar, dass dies erheblich vom ausgeführten Code abhängt, aber was ist mit etwas Einfachem wie einem Matrix-Vektor-Produkt?
Hier ist eine typische Verwendung von Funktionszeigern in C. Ich möchte etwas Ähnliches in Fortran tun. Ich habe einige Ideen, aber ich würde gerne wissen, ob es einen kanonischen Weg gibt, dies zu tun. Die vom Benutzer übergebenen Funktionszeiger und Kontexte werden gespeichert und später aufgerufen. typedef PetscErrorCode (*TSIFunction)(TS,PetscReal,Vec,Vec,Vec,void*); PetscErrorCode …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.