Beispiel #1
0
            n2 = nfo2.xreplace({**dico0,**dico1}).doit().xreplace({**dico0,**dico1})
            tx2 = tfox2.xreplace({**dico0,**dico1}).doit().xreplace({**dico0,**dico1})
            ty2 = tfoy2.xreplace({**dico0,**dico1}).doit().xreplace({**dico0,**dico1})

        # Calculus for each order i
        for i in range(1,order+1):
            print("ORDER",i)

            if Bound_nb ==2:
                U,B,p,psi,psi_2b = makeVar()
            if Bound_nb ==1:
                U,B,p,psi = makeVar()

            # Solve the mass conservation equation
            if i ==1:
                rho= rho0.xreplace({**dico0,**dico1})
            rho = rho + e**i*Symbol('rho'+str(i))*ansatz0.xreplace({kxl:i*kxl,kyl:i*kyl,omega:i*omega})
            print(rho)
            Eq_rho = diff(rho,t)+ U.dot(gradient(rho))
            print(Eq_rho)
            Eq_rho1 = taylor(Eq_rho,i,{**dico0,**dico1})
            print(Eq_rho1)
            r1 = list(solveset(Eq_rho1,Symbol('rho'+str(i))))[0]
            rho = rho.xreplace({Symbol('rho'+str(i)):r1})
            

            ansatz = (exp(I*(i*omega*t+i*kxl*x+i*kyl*y+kz*z))).xreplace({**dico0,**dico1})

            ### TEST OF ORDER0 ###
            # print("we test the order 0...")
            # M0,rme0,r10 = makeMatrix(U0 *u0,qAl*b0,p0,0,{**dico0,**dico1},vort=True)