Computational Science

Fragen und Antworten für Wissenschaftler, die Computer verwenden, um wissenschaftliche Probleme zu lösen


1
OpenFoam gegen FiPy
Ich muss ein automatisiertes Lösungspaket mit endlichem Volumen für ein Projekt, an dem ich arbeite, lernen und verwenden und habe es auf diese beiden Pakete eingegrenzt. Ich habe mich gefragt, ob jemand Erfahrung mit beiden Paketen hat und vielleicht einen Vergleich kommentieren könnte. Angesichts des ähnlichen Ziels beider Pakete bin …

2
Wie kann man die steife Gleichung in diesem Restricted Three Body Problem numerisch lösen?
Ich bin bei der Lösung des Circular Restricted Three Body-Problems auf eine steife Gleichung gestoßen. [Ein Objekt bewegt sich unter Berücksichtigung des Effekts der Gravitationskräfte, die durch zwei in einem 2D-Raum fixierte Gravitationsquellen verursacht werden.] Die Gleichungen sind folgende: x′′=−GM1(x−x1)(x−x1)2+y2√3−−GM2(x−x2)(x−x2)2+y2√3x″=−GM1(x−x1)(x−x1)2+y23−−GM2(x−x2)(x−x2)2+y23x''=-\frac{GM_1 (x-x_1)}{\sqrt{(x-x_1)^2+y^2}^3}--\frac{GM_2 (x-x_2)}{\sqrt{(x-x_2)^2+y^2}^3} y′′=−GM1y(x−x1)2+y2√3−−GM2y(x−x2)2+y2√3y″=−GM1y(x−x1)2+y23−−GM2y(x−x2)2+y23y''=-\frac{GM_1 y}{\sqrt{(x-x_1)^2+y^2}^3}--\frac{GM_2 y}{\sqrt{(x-x_2)^2+y^2}^3} Weder die Euler-Methode noch Runge …
8 ode  simulation 

1
Welchen Algorithmus für die parallele dichte Matrixinversion auf höchstens 8 Kernen verwenden?
Ich muss eine parallele dichte Matrixinversion für eine Sprache implementieren, die ich verwende und für die anscheinend keine Bibliothek vorhanden ist (insbesondere IDL mit IDL Bridge für die Nachrichtenübermittlung). Ich bin mit parallelen Programmiermethoden durch Erfahrung mit MPI in C ++ vertraut, allerdings hauptsächlich für parallele FFT- und N-Body-Methoden. Ich …

9
Muss ich C lernen?
Ich bin ein Doktorand in Scientific Computing und habe in den letzten Monaten viel Zeit damit verbracht, Python und C ++ richtig zu lernen. Ich habe das Gefühl, dass ich C ++ gut gelernt habe und mit Python tun kann, was ich will, wenn ich ein gutes Nachschlagewerk habe. Ich …

2
Approximation der partiellen Ableitung einer Funktion der stochastischen Variablen
Sei ein Ito-Prozess wobei ein Wiener-Prozess ist.XtXtX_tdXt=a(Xt,t)dt+b(Xt,t)dWtdXt=a(Xt,t)dt+b(Xt,t)dWt dX_t=a(X_t,t)dt + b(X_t,t)dW_t WtWtW_t Eine numerische Annäherung der Lösung dieser Gleichungen wird von Milstein vorgeschlagen: XT=Xt+a(Xt,t)Δt+b(Xt,t)ΔWt+12b(Xt,t)∂b(Xt,t)∂x(ΔW2t−Δt)XT=Xt+a(Xt,t)Δt+b(Xt,t)ΔWt+12b(Xt,t)∂b(Xt,t)∂x(ΔWt2−Δt) X_T=X_t+a(X_t,t) \Delta t+ b(X_t,t)\Delta W_t+ \frac{1}{2}b(X_t,t) \frac{\partial{b(X_t,t)} }{\partial{x}} \left( \Delta W_t^2 - \Delta t\right) wo Δt=T−tΔt=T−t\Delta t = T-t ΔWt=WT−WtΔWt=WT−Wt\Delta W_t = W_T-W_t Gemäß der Literatur kann …

1
Nichtlineare Wellengleichung - Finite Elemente oder endliche Differenz
Ich würde gerne wissen, was für die Lösung nichtlinearer hyperbolischer Gleichungen, Finite-Elemente- oder Finite-Differenzen-Methoden vorteilhafter ist. Welche Methode ist besser, um Schocks zu erfassen? Ist es möglich, eine detaillierte Antwort / Referenzen zu geben? Außerdem möchte ich Probleme mit nicht reflektierenden Randbedingungen in unendlichen Wellenleitern lösen. Kann ich in solchen …

1
Testen und Visualisieren großer Index-Arrays
Ich werde bald eine diskontinuierliche Knoten-Galerkin-Methode implementieren, und nachdem ich dies getan habe, bevor ich die grundlegenden Indizierungsarrays kenne, die ich angesichts eines Netzes und von Polynomdaten berechnen muss. Das Problem, auf das ich im vorherigen Code gestoßen bin, waren subtile Fehler, die ich bei der Berechnung von Dingen wie …

2
Rechenverhältnis trigonometrischer Funktionen
Ich muss die Funktionen berechnen: und g(x)=sinaxf( x ) = Sünde- 1xxf(x)=Sünde- -1⁡xx f(x) = \frac{\sin^{-1}x}{x} wobeia∈[0,1]undx∈[0,πG( x ) = Sündea xSündexG(x)=Sünde⁡einxSünde⁡x g(x) = \frac{\sin a x}{\sin x} a ∈ [ 0 , 1 ]ein∈[0,1]]a\in[0,1]und ist oft sehr klein (x≪1). Gibt es allgemeine Möglichkeiten, hochgenaue Algorithmen für "spezielle" Funktionen wie …



2
Großes Array in GMP
Wenn ich ein großes Array verwenden möchte, z. B. mpz_t A [100000], wurde während der Kompilierung "Segmentierungsfehler (Core Dumped)" angezeigt. Gibt es einen einfacheren Weg, dies zu lösen?


1
Verwendung des algebraischen Multigrids zur Vorkonditionierung von Konvektionsdiffusionsoperatoren
Ich habe einen Navier Stokes implementiert, der auf FEM-Diskretisierung und PETSc basiert, um das lineare Gleichungssystem zu lösen. Um ein effizientes Lösungsverfahren zu erstellen, folge ich dem Artikel "Effiziente Vorkonditionierung der linearisierten Navier-Stokes-Gleichungen für inkompressiblen Fluss" (Silvester et al.), Der einen Schur-Komplement-Ansatz vorschlägt. Es funktioniert ganz gut in dem Sinne, …

3
fmincg Implementierung in Python
Ich versuche, neuronale Netze in Python erneut zu implementieren. Ich habe die Kostenfunktion und den Backpropagation-Algorithmus korrekt implementiert. Ich habe sie überprüft, indem ich den entsprechenden Octave-Code ausgeführt habe. Wenn ich jedoch versuche, die scipy.optimize.fmin_cgFunktion zu verwenden, dauert die Ausführung der Iterationen sehr lange. Es wird mit einer Warnung beendet …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.