// pdedef232.java second test for accuracy from user web input public class pdedef232 { public int nx=5; public int ny=6; public int nz=7; public pdedef232() { } // default constructor public void coefs(double coef[]) { double xmin=0.0; double xmax=1.0; double ymin=0.1; double ymax=1.1; double zmin=0.2; double zmax=1.2; coef[0] = xmin; coef[1] = xmax; coef[3] = ymin; coef[4] = ymax; coef[6] = zmin; coef[7] = zmax; } // end ccoefs public double ccxx(double x, double y, double z) { return x; } // end ccxx public double ccyy(double x, double y, double z) { return y; } // end ccyy public double cczz(double x, double y, double z) { return 2.0*z; } // end cczz public double ccxy(double x, double y, double z) { return 3.0*y*z; } // end ccxy public double ccxz(double x, double y, double z) { return 4.0*x*z; } // end ccxz public double ccyz(double x, double y, double z) { return 5.0*x*z; } // end ccyz public double ccx(double x, double y, double z) { return 6.0*x*x; } // end ccx public double ccy(double x, double y, double z) { return 7.0*y*y; } // end ccy public double ccz(double x, double y, double z) { return 8.0*x*y; } // end ccz public double ccc(double x, double y, double z) { return 9.0*x*y*z; } // end ccc public double ub(double x, double y, double z) //ub(double x, double y, double z) for boundary { return x*x*y+2.0*y*y*z+3.0*x*z*z; } // end ub public double f(double x, double y, double z) // RHS f(double x, double y, double z) { return 2.0*x*y + 4.0*y*z + 12.0*x*z + 26.0*y*z*x + 24.0*x*z*z + 6.0*x*x*(2.0*x*y + 3.0*z*z) + 7.0*y*y*(x*x + 4.0*y*z) + 8.0*x*y*(2.0*y*y + 6.0*x*z) + 9.0*x*y*z*(x*x*y + 2.0*y*y*z + 3.0*x*z*z); } // end f } // end class pdedef232 //# pde23js.mws for testing pde23form etc //> u(x,y,z):=x*x*y+2.0*y*y*z+3.0*x*z*z; # ub(x,y,z) for testing // 2 2 2 // u(x, y, z) := x y + 2.0 y z + 3.0 x z // //> ux(x,y,z):=diff(u(x,y,z),x); // 2 // ux(x, y, z) := 2 x y + 3.0 z // //> uy(x,y,z):=diff(u(x,y,z),y); // 2 // uy(x, y, z) := x + 4.0 y z // //> uz(x,y,z):=diff(u(x,y,z),z); // 2 // uz(x, y, z) := 2.0 y + 6.0 x z // //> uxx(x,y,z):=diff(ux(x,y,z),x); // uxx(x, y, z) := 2 y // //> uyy(x,y,z):=diff(uy(x,y,z),y); // uyy(x, y, z) := 4.0 z // //> uzz(x,y,z):=diff(uz(x,y,z),z); // uzz(x, y, z) := 6.0 x // //> uxy(x,y,z):=diff(ux(x,y,z),y); // uxy(x, y, z) := 2 x // //> uxz(x,y,z):=diff(ux(x,y,z),z); // uxz(x, y, z) := 6.0 z // //> uyz(x,y,z):=diff(uy(x,y,z),z); // uyz(x, y, z) := 4.0 y // //> f(x,y,z):=x*uxx(x,y,z)+ // y*uyy(x,y,z)+ // 2.0*z*uzz(x,y,z)+ // 3.0*y*z*uxy(x,y,z)+ // 4.0*x*z*uxz(x,y,z)+ // 5.0*x*z*uyz(x,y,z)+ // 6.0*x*x*ux(x,y,z)+ // 7.0*y*y*uy(x,y,z)+ // 8.0*x*y*uz(x,y,z)+ // 9.0*x*y*z*u(x,y,z); // //f(x, y, z) := 2.0 x y + // 4.0 y z + // 12.0 x z + // 26.0 y z x + // 24.0 x z*z + // 6.0 x x (2 x y + 3.0 z z) + // 7.0 y y (x x + 4.0 y z) + // 8.0 x y (2.0 y y + 6.0 x z) + // 9.0 x y z (x x y + 2.0 y y z + 3.0 x z z )