// w0015vert.java wing in wind tunnel, non uniform grid // data read from w0015a22.grid produced by w0015grid.java // order=5 e.g for size computation // wing has a chord of 1 meter, import java.awt.*; import java.awt.event.*; import java.io.*; // needs read_grid.java // and a data file w0015a22.grid or equavelent public class w0015vert extends Frame { double xmin = -1.0; double xmax = 2.0; double xoff = 340.0; double yoff = 500.0; double ymin = -1.25; double ymax = 1.15; double scale = 320.0; // for plotting double xminw; // from data read double xmaxw; double yminw; double ymaxw; double xadj = -0.5; // approx center for output double grid = 0.01; // grid spacing, may be computed int width = 1000; int height = 1000; // upper part for title int ixbound[] = new int[100]; // output boundary int jybound[] = new int[100]; double xg[] = new double[100]; // output grid double yg[] = new double[100]; int nxg; int nyg; int nbound; int ndel = 10; // grids outside wing String fname = "w0015a22.grid"; int neqn; // number of equations int nDOF; // number of degrees of freedom, one independent variable int ntot; // independent plus squared variables, max int order = 5; // fifth order nonuniform solution w0015vert(String gname, int tndel) { System.out.println("w0015vert.java running"); fname = gname; ndel = tndel; System.out.println("grid file "+fname+" steps "+ndel); build_vert(); neqn = 3*nDOF; // also number of linear unknowns ntot = neqn + order*order*nDOF; // maximum columns with order u*v terms System.out.println("neqn="+neqn+", ntot="+ntot+", A is "+ (neqn*ntot*8)+" bytes"); setTitle("w0015vert"); setSize(width,height); setBackground(Color.white); setForeground(Color.black); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); setVisible(true); this.addMouseListener (new mousePressHandler()); } // end constructor w0015vert void build_vert() { double x, y; // read in a wing read_grid G = new read_grid(fname); nxg = G.read_xgrid(xg); nyg = G.read_ygrid(yg); nbound = G.read_bound(ixbound, jybound); for(int k=0; k0) gname = args[0]; int tndel = 10; if(args.length>1) tndel = Integer.parseInt(args[1]); new w0015vert(gname, tndel); System.out.println("w0015vert.java ends"); } } // end class w0015vert