// pde_bihar44t_eq.java discretization solution biharmonic 4th order 4D // // solve uxxxx(x,y,z,t) + uyyyy(x,y,z,t) + // uzzzz(x,y,z,t) + utttt(x,y,z,t) + // 2*uxx(x,y,z,t) + 2*uyy(x,y,z,t) + 2*uzz(x,y,z,t) + // 2*utt(x,y,z,t) + 2*u(x,y,z,t) = f(x,y,z,t) // // f(x,y,z,t) := 72*t+24*x^2*t+48*(y-z)^2*t+2*(x^4+(y-z)^4)*t // // in the hyper cube xmin< x maxerr) maxerr = err; avgerr = avgerr + err; System.out.println("ug["+i+","+ii+","+iii+","+iiii+"]="+ ug[i4]+", Ua="+Ua[i4]+", err="+(ug[i4]-Ua[i4])); } } } } System.out.println("xmin="+xmin+", xmax="+xmax+", hx="+hx+", nx="+nx); System.out.println("ymin="+ymin+", ymax="+ymax+", hy="+hy+", ny="+ny); System.out.println("zmin="+zmin+", zmax="+zmax+", hz="+hz+", nz="+nz); System.out.println("tmin="+tmin+", tmax="+tmax+", ht="+ht+", nt="+nt); System.out.println(" maxerr="+maxerr+", avgerr="+ avgerr/(double)(nxyzt)); System.out.println(""); } // end pde_bihar44t_eq constructor int s(int i, int ii, int iii, int iiii) // index 1..nx-1 etc { return (i-1)*(ny-2)*(nz-2)*(nt-2) + (ii-1)*(nz-2)*(nt-2) + (iii-1)*(nt-2) + (iiii-1); } // end s // PDE problem definition functions f and ub double F(double x, double y, double z, double t) { return 72.0*t+24.0*x*x*t+48.0*(y-z)*(y-z)*t+2.0*(x*x*x*x+ (y-z)*(y-z)*(y-z)*(y-z))*t; } double ub(double x, double y, double z, double t) { return (x*x*x*x+(y-z)*(y-z)*(y-z)*(y-z))*t; } void discretize(int i, int ii, int iii, int iiii) // sets kg[s(i,ii,iii,iiii)][s(j,jj,jjj, jjjj)...] // this code unique to this specific PDE { int i4; double val; i4 = s(i,ii,iii,iiii); // equation index // for each term in each equation // for uxxxx d^4u/dx^4 for(int j=0; j