Forum
Tipps
News
Menu-Icon

Java Code ins Fortran

hallo allerseits,

ich bin eine maschinenbaustudentin und müßte ein FDM-Code zu einem Diffusionsvorgang schreiben.
Hierzu habe ich erstmal einfachere java-programme geschrieben.
müßte aber das ganze ins fortran übersetzen, habe leider davon nicht so viel ahnung!

ich hoffe sehr, daß es jemand unter euch gibt, der mir helfen kann!!

mein java-programm, was ins fortran übersetzt werden müßte wäre:


import java.text.*;
class Diffusion //
{ public static void main( String args[ ] )
  {double u[ ],uneu[ ]; // Werte der Funktion u(x,t) , hier nur x-Variable
   int nx; // Anzahl Intervalle x-Achse
   int nt; // Anzahl Teile t-Achse
   double xanfang,xende; // Anfang und Ende des x-Bereiches
   double tanfang,tende; // Anfang und Ende des t-Bereiches
   double ua,ue; // Hier: Randwerte vorgeschrieben:am Anfang bzw. Ende
   double faktor; // dudt = faktor d2udx2
   double dx,dt,t;
   // Hilfsvariablen
   int i,j,k;
   double hilf,x,y,dudt;
   String sy;
    NumberFormat def = NumberFormat.getInstance( );
    def.setMaximumFractionDigits(3);
    def.setMinimumFractionDigits(3);
   // Werte belegen:
   ua=0;
   ue=1;
   nx=20;
   nt=10000;
   xanfang=0.0;
   xende=1.0;
   tanfang=0;
   tende=10;
   faktor=1;
   dx=(xende-xanfang)/nx;
   dt=(tende-tanfang)/nt;
   u=new double[nx+1];
   uneu=new double[nx+1];
     // Zu Randbedingungen kompatible Anfangsfunktion
   for(i=0; i<=nx;i++)
    { x=xanfang+i*dx;
      y=x*x*x;
      u=y;
    }
   // 1. Testausdruck
   for( k=0; k <=nx; k++ )
   { sy=def.format(u[k]); System.out.print(sy+" ");               }
   System.out.println("");
   // Zeitschleife
   for(i=1; i <= nt; i++ )
    { for(j=1; j < nx; j++ )
       { dudt=(u[j+1]-2*u[j]+u[j-1])/dx/dx*faktor;
         uneu[j]=u[j]+dudt*dt;
       }
      if( i % 100 == 0 ) // Ausdruck;
        { t=tanfang+i*dt;
          System.out.println(" t = "+t);
          for( k=0; k <=nx; k++ )
           { sy=def.format(u[k]); System.out.print(sy+" ");               }
          System.out.println("");
        }
      // Umspeichern
      for( k=1; k < nx; k++ )
        u[k]=uneu[k];  
    }
 }
}

ich wäre für jeden konstruktiven Beitrag vom Herzen dankbar.

liebe Grüße
Bahar   ;)

« Bilder in html einfügenStrings an bestimmten Zeichen aufteilen »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Blende
Die Blende, oder auch fotografische Blende, ist eine mechanische Vorrichtung und Teil des Objektives bei Foto- und Videokameras. Dieser Teil des Objektivs kontrolliert di...