path = os.path.abspath("results/slab/harm1") files = os.listdir(os.path.abspath(path)) soln = np.load(path + "/" + files[0]).item()["soln"] soln_init_cond = np.load(path + "/" + files[0]).item()["init_cond"] params.Y = float(files[0][files[0].index("_") + 1:-4]) NN = [] acc = soln_init_cond[2:4] dt = 10. / 2e4 for i in range(0, soln[:, 0].size)[0:2]: r = soln[i, 0:2] N = soln[i, 2:4] X = p.X(r) Y = mf.Yabs(r) Nz, Nx = N acc = acc + e.f(soln[i, 0:2].reshape(2, 1), soln[i, 2:4].reshape( 2, 1)) * dt * 200 #print acc[1] NN.append(acc) nz, nx = ri.nz(r.reshape(2, 1), N.reshape(2, 1)), ri.nx(r.reshape(2, 1), N.reshape(2, 1)) if np.abs(nx) < 1: print soln[i, 1], disp_rel(X, Y, p.gamma(10), nz, nx), cold_disp_rel(X, Y, nz, nx, "Xm") else: print soln[i, 1], ebw.disp_rel(X, Y, p.gamma(10), nz, nx), cold_disp_rel(X, Y, nz, nx, "Xm") NN = np.array(NN)
def dD_dX(X, Y, gamma, Nz, Nx): dX = 1e-6 return (disp_rel(X + dX, Y, gamma, Nz, Nx) - disp_rel(X, Y, gamma, Nz, Nx)) / dX
def dD_dgamma(X, Y, gamma, Nz, Nx): dgamma = 1e-6 return (disp_rel(X, Y, gamma + dgamma, Nz, Nx) - disp_rel(X, Y, gamma, Nz, Nx)) / dgamma
def dD_dNx(X, Y, gamma, Nz, Nx): dNx = 1e-6 return (disp_rel(X, Y, gamma, Nz, Nx + dNx) - disp_rel(X, Y, gamma, Nz, Nx)) / dNx
def dD_dNz(X, Y, gamma, Nz, Nx): dNz = 1e-6 return (disp_rel(X, Y, gamma, Nz + dNz, Nx) - disp_rel(X, Y, gamma, Nz, Nx)) / dNz
def dD_dY(X, Y, gamma, Nz, Nx): dY = 1e-6 return (disp_rel(X, Y + dY, gamma, Nz, Nx) - disp_rel(X, Y, gamma, Nz, Nx)) / dY