energy2f_B = -eps2f * vdz(z) * np.real(dUdx * np.conj(Udx) + 4.0 * dUdy * np.conj(Udy) + dUdz * np.conj(Udz)) energy2f_C = kx * np.imag(W * np.conj(Ugx)) - np.real(dW * np.conj(Ugz)) energy2f_D = (vgx - vdx) * np.real( Q * np.conj(Ugx)) + 4.0 * (vgy - vdy) * np.real(Q * np.conj(Ugy)) energy2f_D += np.abs(Ugx - Udx)**2 + 4.0 * np.abs(Ugy - Udy)**2 + np.abs(Ugz - Udz)**2 energy2f_D *= -eps2f / stokes energy2f_E = (eps2f / stokes) * vdz(z) * np.real( Q * np.conj(Ugz)) #buoyancy in 2fluid if viscosity_pert == True: dFx = d2Ugx - (4.0 / 3.0) * kx * kx * Ugx + ( 1.0 / 3.0) * 1j * kx * dUgz + dln_rhog(z) * (dUgx + 1j * kx * Ugz) dFx -= W * (d2vgx + dln_rhog(z) * dvgx) dFx *= alpha dFy = d2Ugy - kx * kx * Ugy + dln_rhog(z) * dUgy dFy -= W * (d2vgy + dln_rhog(z) * dvgy) dFy *= alpha dFz = (4.0 / 3.0) * d2Ugz - kx * kx * Ugz + ( 1.0 / 3.0) * 1j * kx * dUgx + dln_rhog(z) * ( (4.0 / 3.0) * dUgz - (2.0 / 3.0) * 1j * kx * Ugx) dFz *= alpha energy2f_F = np.real(dFx * np.conj(Ugx) + 4.0 * dFy * np.conj(Ugy) + dFz * np.conj(Ugz)) else:
dUdx = np.gradient(Udx, z) dUdy = np.gradient(Udy, z) dUdz = np.gradient(Udz, z) energy2f_tot = eps2f*(np.abs(Udx)**2 + 4.0*np.abs(Udy)**2 + np.abs(Udz)**2) energy2f_tot+= (np.abs(Ugx)**2 + 4.0*np.abs(Ugy)**2 + np.abs(Ugz)**2) energy2f_A =-eps2f*np.real(Udz*np.conj(dvdx*Udx + 4.0*dvdy*Udy + dvdz(z)*Udz)) energy2f_A +=-np.real(Ugz*np.conj(dvgx*Ugx + 4.0*dvgy*Ugy)) energy2f_A2 = -eps2f*np.real(Udz*np.conj(4.0*dvdy*Udy)) - np.real(Ugz*np.conj(4.0*dvgy*Ugy)) energy2f_B =-eps2f*vdz(z)*np.real(dUdx*np.conj(Udx) + 4.0*dUdy*np.conj(Udy) + dUdz*np.conj(Udz)) energy2f_C = kx*np.imag(W*np.conj(Ugx)) - np.real(dW*np.conj(Ugz)) energy2f_D = (vgx - vdx)*np.real(Q*np.conj(Ugx)) + 4.0*(vgy - vdy)*np.real(Q*np.conj(Ugy)) - vdz(z)*np.real(Q*np.conj(Ugz)) energy2f_D += np.abs(Ugx - Udx)**2 + 4.0*np.abs(Ugy - Udy)**2 + np.abs(Ugz - Udz)**2 energy2f_D *= -eps2f/stokes dFx = d2Ugx - (4.0/3.0)*kx*kx*Ugx + (1.0/3.0)*1j*kx*dUgz + dln_rhog(z)*(dUgx + 1j*kx*Ugz) dFx-= W*(d2vgx + dln_rhog(z)*dvgx) dFx*= alpha dFy = d2Ugy - kx*kx*Ugy + dln_rhog(z)*dUgy dFy-= W*(d2vgy + dln_rhog(z)*dvgy) dFy*= alpha dFz = (4.0/3.0)*d2Ugz - kx*kx*Ugz + (1.0/3.0)*1j*kx*dUgx + dln_rhog(z)*((4.0/3.0)*dUgz - (2.0/3.0)*1j*kx*Ugx) dFz*= alpha energy2f_E = np.real(dFx*np.conj(Ugx) + 4.0*dFy*np.conj(Ugy) + dFz*np.conj(Ugz)) energy2f_D1 = -eps2f/stokes*(vgx - vdx)*np.real(Q*np.conj(Ugx)) energy2f_D2 = -eps2f/stokes*4.0*(vgy - vdy)*np.real(Q*np.conj(Ugy)) energy2f_D3 = eps2f/stokes*vdz(z)*np.real(Q*np.conj(Ugz))
energy2f_tot+= (np.abs(Ugx)**2 + 4.0*np.abs(Ugy)**2 + np.abs(Ugz)**2) #energy2f_tot/= (1.0 + eps2f) energy2f_A =-eps2f*np.real(Udz*np.conj(dvdx*Udx + 4.0*dvdy*Udy + dvdz(z)*Udz)) energy2f_A +=-np.real(Ugz*np.conj(dvgx*Ugx + 4.0*dvgy*Ugy)) energy2f_A2 = -eps2f*np.real(Udz*np.conj(4.0*dvdy*Udy)) - np.real(Ugz*np.conj(4.0*dvgy*Ugy)) energy2f_B =-eps2f*vdz(z)*np.real(dUdx*np.conj(Udx) + 4.0*dUdy*np.conj(Udy) + dUdz*np.conj(Udz)) energy2f_C = kx*np.imag(W*np.conj(Ugx)) - np.real(dW*np.conj(Ugz)) energy2f_D = (vgx - vdx)*np.real(Q*np.conj(Ugx)) + 4.0*(vgy - vdy)*np.real(Q*np.conj(Ugy)) energy2f_D += np.abs(Ugx - Udx)**2 + 4.0*np.abs(Ugy - Udy)**2 + np.abs(Ugz - Udz)**2 energy2f_D *= -eps2f/stokes energy2f_E = (eps2f/stokes)*vdz(z)*np.real(Q*np.conj(Ugz))#buoyancy in 2fluid if viscosity_pert == True: dFx = d2Ugx - (4.0/3.0)*kx*kx*Ugx + (1.0/3.0)*1j*kx*dUgz + dln_rhog(z)*(dUgx + 1j*kx*Ugz) dFx-= W*(d2vgx + dln_rhog(z)*dvgx) dFx*= alpha dFy = d2Ugy - kx*kx*Ugy + dln_rhog(z)*dUgy dFy-= W*(d2vgy + dln_rhog(z)*dvgy) dFy*= alpha dFz = (4.0/3.0)*d2Ugz - kx*kx*Ugz + (1.0/3.0)*1j*kx*dUgx + dln_rhog(z)*((4.0/3.0)*dUgz - (2.0/3.0)*1j*kx*Ugx) dFz*= alpha energy2f_F = np.real(dFx*np.conj(Ugx) + 4.0*dFy*np.conj(Ugy) + dFz*np.conj(Ugz)) else: energy2f_F = np.zeros(z.size) energy2f_A /= sgrow#*(1.0 + eps2f)
Udz * np.conj(dvdx * Udx + 4.0 * dvdy * Udy + dvdz(z) * Udz)) energy2f_A += -np.real(Ugz * np.conj(dvgx * Ugx + 4.0 * dvgy * Ugy)) energy2f_A2 = -eps2f * np.real(Udz * np.conj(4.0 * dvdy * Udy)) - np.real( Ugz * np.conj(4.0 * dvgy * Ugy)) energy2f_B = -eps2f * vdz(z) * np.real(dUdx * np.conj(Udx) + 4.0 * dUdy * np.conj(Udy) + dUdz * np.conj(Udz)) energy2f_C = kx * np.imag(W * np.conj(Ugx)) - np.real(dW * np.conj(Ugz)) energy2f_D = (vgx - vdx) * np.real(Q * np.conj(Ugx)) + 4.0 * ( vgy - vdy) * np.real(Q * np.conj(Ugy)) - vdz(z) * np.real(Q * np.conj(Ugz)) energy2f_D += np.abs(Ugx - Udx)**2 + 4.0 * np.abs(Ugy - Udy)**2 + np.abs(Ugz - Udz)**2 energy2f_D *= -eps2f / stokes dFx = d2Ugx - (4.0 / 3.0) * kx * kx * Ugx + ( 1.0 / 3.0) * 1j * kx * dUgz + dln_rhog(z) * (dUgx + 1j * kx * Ugz) dFx -= W * (d2vgx + dln_rhog(z) * dvgx) dFx *= alpha dFy = d2Ugy - kx * kx * Ugy + dln_rhog(z) * dUgy dFy -= W * (d2vgy + dln_rhog(z) * dvgy) dFy *= alpha dFz = (4.0 / 3.0) * d2Ugz - kx * kx * Ugz + ( 1.0 / 3.0) * 1j * kx * dUgx + dln_rhog(z) * ((4.0 / 3.0) * dUgz - (2.0 / 3.0) * 1j * kx * Ugx) dFz *= alpha energy2f_E = np.real(dFx * np.conj(Ugx) + 4.0 * dFy * np.conj(Ugy) + dFz * np.conj(Ugz))