/* * @(#)Graph.java 1.9 99/08/04 * MODIFS PYL juillet Aout 2005!!!!!!!!!! * * This software is designed or intended for use in on-line control of * aircraft, air traffic, aircraft navigation or aircraft communications; or in * the design, construction, operation or maintenance of any nuclear * facility. Licensee represents and warrants that it will not use or * redistribute the Software for such purposes. */ //javac guiSAG.java Kul.java ;java guiSAG //javac guiSAG.java Kul.java; open index.html import java.util.*; import java.awt.*; import java.applet.Applet; import java.awt.event.*; import javax.swing.*; import java.io.*; class Kul extends Thread { public double t; private double dt=0; public double dx,dy; public double T[][]; public double qw[]; public double To[][]; public double Ti[][]; public double T0=0,T1; public double Tx0,Tx1,T0y,T1y; public boolean slopex,slopey,mixtex,mixtey,valx,valy,symx,symy; public double Ts=0; public double q=0; public double h=1; public double Wx,Haut,wm,wo; public double erreur; public double omega; public int n; boolean pleaseWait = true; private int property; public int getProperty ( ){ return property; } public void setProperty (int value){ property = value; } public void setdt (double value){ dt = value;System.out.println("------------>>>dt"+dt); } public double getdt ( ){/*System.out.println("-------------<< T1y=(h*n*dy+1)/((h*n*dy+1)); Tx1=1; T0y=0; Ts=0; q=0; slopex= true; mixtex= false; valx = false; symx = false; slopey= false; mixtey= true; valy = false; symy =false; System.out.println("val"); } public void clBqs( ) { Tx0=0; T1y=0; Tx1=1; T0y=0; Ts=0; q=0; slopex= true; mixtex= false; valx = false; symx = true; slopey= false; mixtey= true; valy = false; symy =false; System.out.println(" sym"); } double exacte(double y) { return (h*y+1)/((h*n*dy+1)); } public void prems() { int i,j; System.out.println("initialisation de tableaux a "+n+ " points"); t=0; // n=256/2;//370; if(n<2){n=256*2;} Haut=20; Wx=14; wo=.5; wm=1; dx=Wx/n; dy=Haut/n; omega=0; h=1; System.out.println(" initialize "+dx+"prems"); To = new double[n+1][n+1]; T = new double[n+1][n+1]; Ti = new double[n+1][n+1]; qw = new double[n+1]; for(i=0;i<=n;i++){ for(j=0;j<=n;j++) {To[i][j]=exacte(j*dy);//(h*j*dy+1)/((h*n*dy+1)); T[i][j]=To[i][j];Ti[i][j]=To[i][j];}} tridiag.n=n; tridiag.prems(); } public void run() { int i,j,it=0; double phase=0,dT; System.out.println("params " + dt + " " +dy +" dt/dy^2=" ); while (!interrupted()) { //System.out.println(pleaseWait); tridiag.dt=dt; if(dt>0){ phase=phase+omega*dt; t=t+dt; dx=Wx/n; tridiag.dx=dx; tridiag.slope=slopex; tridiag.mixte=mixtex; tridiag.val =valx; tridiag.sym =symx; //for(i=0;i<=n;i++){Ti[i][0]=Tx0;} for(j=1;j(wo)/2)&&(x<(wm+wo/2)) || (x<-(wo)/2)&&(x>-(wm+wo/2)) ){tridiag.Bi=1000000000000000000.0;} for(j=1;jerreur){erreur=dT;} //erreur=erreur+dT*dT; }} erreur=Math.log(erreur+0.0000000000000000001)/Math.log(10); //System.out.println(erreur); for(i=0;i<=n;i++){ for(j=0;j<=n;j++){To[i][j]=T[i][j];}} for(i=1;i