Einzelnen Beitrag anzeigen

Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Iterationsproblem

  Alt 9. Dez 2012, 15:33
Ich weiß jetzt wieder, wie ich’s damals gemacht habe. Oh Mann, eh.

Wie wir schon sagten, es gibt eine Lösung, wenn Nx < 0 und (My/Nx/d)^2 + (Mz/Nx/b)^2 <= 1/9

Am Anfang hat man A = b*d. Dann berechnet man in den Eckpunkten die Spannungen. Wechselt in 2 betrachteten Punkten das Vorzeichen, dann berechnet man den Nullpunkt der Line zwischen diesen beiden Punkten und das ist dann ein korrigierter Eckpunkt der Fläche. Abbruchkriterium ist, wenn sich die Koordinaten der Punkte der Fläche nicht mehr ändern.

Kleiner Ausschnitt aus’m Katastrophencode:

Punkte sind array [1..2, 1..Count]

Delphi-Quellcode:
  J:= 1;
  for K:= 1 to CountAlt do
  begin
    if K = CountAlt then
      I:= 1
    else
      I:= K + 1;
    if Sigma[K] <= 0 then
    begin
      PNeu[1, J]:= P[1, K];
      PNeu[2, J]:= P[2, K];
      Inc(J);
    end;
    if (Sigma[K] * Sigma[I]) < 0 then
    begin
      PNeu[1, J]:= P[1, K] + Sigma[K] * (P[1, I] - P[1, K]) / (Sigma[K] - Sigma[I]);
      PNeu[2, J]:= P[2, K] + Sigma[K] * (P[2, I] - P[2, K]) / (Sigma[K] - Sigma[I]);
      Inc(J);
    end;
  end;
  CountNeu:= J;
Da Spannungen immer bezüglich Xsi/Eta berechnet werden müssen, ist das eine blöde Transponiererei von X/Y nach jeweils Xsi/Eta, das ist alles.

Alles?

Wirklich alles?

Ich fürchte nicht, ich hab' jetzt aber erst mal keinen Bock mehr..

Gruß und schönen Sonntag

Thomas
  Mit Zitat antworten Zitat