/*
* @(#)Graph.java 1.9 99/08/04
* MODIFS PYL juillet Aout 2005!!!!!!!!!!
*
* This software is not 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 Lx,Haut,wm,wo;
public double erreur;
public double omega;
public int n;
// public tridiag tridiagC;
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;
//pleaseWait = true;
t=0;
n=256/2;//370;
n=256;
Lx=10;Haut=20;
Lx=7;
wo=.5;
wm=1;
dx=Lx/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 + " " +dx +" dt/dx^2="+(dt/dx/dx));
while (!interrupted()) {
//System.out.println(pleaseWait);
tridiag.dt=dt;
if(dt>0){
phase=phase+omega*dt;
t=t+dt;
dx=Lx/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)&&(i*dx<(wm+wo/2))){tridiag.Bi=10000000000000000.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