/*
 * @(#)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 guiChal.java Kul.java ;java guiChal  
//javac guiChal.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 dt;
 public double t;
 public double dx;
 public double T[];
 public double To[];
 public double T0=0;
 public double T1=0;
 public double Ts=0;
 public double omega;
 public int n;
 public int cours=0;
 
 public void Kul( )
 {    
 }
 
 public void cl00( )
 {    
 T0=0;
 T1=0;
 Ts=0;
 }

 public void cl10( )
 {    
 T0=1;
 T1=0;
 Ts=0;
 }
 
public void cl01( )
 {    
 T0=0;
 T1=1;
 Ts=0;
 } 
 
 public void clt0( )
 {    
 T0=0;
 T1=0;
 Ts=1;
 } 
  
 public void cl11( )
 {    
 T0=1;
 T1=1;
 Ts=0;
 } 
 
 public void prems()
 { int i;
   System.out.println(" initialize "); 
   To = new double[n+1];
   T  = new double[n+1];
   for(i=0;i<=n;i++)
		{To[i]=1;T[i]=To[i];}
    }
 
   public void run() {
   int i,it;
   System.out.println("params " + dt + " " +dx +" dt/dx^2="+(dt/dx/dx));
	
	while (!interrupted()) {
		System.out.println(" t= " + t + "pouett =" + T[n/2] );
		for(it=1;it<10;it++)
		{
		T[0]=T0+Ts*Math.sin(omega*t);
		T[n]=T1;
		t=t+dt;
		for(i=1;i<n;i++)
		{
		To[i]=T[i] + dt/dx/dx*(T[i-1]-2*T[i]+T[i+1]);
		}
		T=To;
		}
		try {
		Thread.sleep(100);
	    } catch (InterruptedException e) {
		break;
	    }
	}
	
}


 }