// buypower.java buying power with nonrenewable autocatalytic growth // adapted from a program in basic by H.T. Odum & E. Odum, 1994. import java.applet.Applet; import java.awt.*; /* */ public class buypower extends Applet { Label prompt1,prompt2,prompt3; TextField input1,input2,input3; double f,k3,k4; Button drawbutton; public void init() { prompt1 = new Label("F Fuel in the system: "); input1 = new TextField("100",4); add(prompt1);add(input1); prompt2 = new Label("K3 Conversion of fuels: "); input2 = new TextField("5",4); add(prompt2);add(input2); prompt3 = new Label("K4 Use of renewable energy"); input3 = new TextField("7",4); add(prompt3);add(input3); drawbutton = new Button("Draw"); add(drawbutton); } public boolean action(Event e, Object o) { f=1.0*(float)Integer.parseInt(input1.getText()); k3=0.001*(float)Integer.parseInt(input2.getText()); k4=0.01*(float)Integer.parseInt(input3.getText()); repaint(); return true; } public void paint(Graphics g) { double t, j,pw,q,m,r,p,pr; double k0,k1,k2,k5; double t0,q0,f0,p0,dt,df,dq; j=1; pw=0.01; q=0.01; m=2; k0=0.02; k1=0.00041; k2=0.00066; k5=0.05; t0=0.5; q0=1; f0=1.6; p0=3; dt=0.1; t=0; p=0; pr=0; g.drawRect(0,90,320,210); do { g.setColor(Color.blue); //if (300-p*p0>90) g.drawOval((int)t,(int)(300-p*p0),1,1); //else g.drawOval(t,90,1,1); g.setColor(Color.green); //if (300-q*q0>90) g.drawOval((int)t,(int)(300-q*q0),1,1); //else g.drawOval(t,90,1,1); g.setColor(Color.red); //if (300-pr>90) g.drawOval((int)t,(int)(300-pr),1,1); // else g.drawOval(t,90,1,1); g.setColor(Color.magenta); //if (300-f*f0>90) g.drawOval((int)t,(int)(300-f*f0),1,1); // else g.drawOval(t,90,1,1); r=j/(1+k1*f*q+k0*q); p=k3*r*f*q+k4*r*q+pw; pr=100/p; df=-k2*f*r*q; dq=p-k5*q; q=q+dq*dt; f=f+df*dt; t=t+dt; } while ((int)t<320); } } // Camila Duarte & E. Ortega, January 30th, 2001