How to solve a nonlinear PDE in curvilinear coordinates
1 次查看(过去 30 天)
显示 更早的评论
I need to a solve a nonlinear Poisson equation, with very complicate coefficients which involves trigonometrical functions. Using PDEtoolbox, it will only solve in Cartesian coordinates, how can I solve this equation in general curvilinear coordinates? - the problem is in 2D, my variables [u,v] are defined on D=[2,2*pi].
回答(1 个)
Richard Garner
2015-2-14
Since you say that it is a nonlinear Poisson equation, then I presume it's something like this: del(h(u,r,theta)*del(u))=g(u,r,theta), where f and g are complicated functions of u,r, and theta. (Are r and theta the same as your u and v variables? Or are your u and v variables dependent variables and therefore you have a system of equations?) Anyway, the principles are the same. You can solve this equation in cartesian x,y coordinates and just specify the correct domain over which you are doing the problem. Perhaps this is a circle centered at the origin of appropriate radius? Then you specify boundary condition on the radius of this circle in terms of x,y. In boundary conditions and in the h and g functions, write r as sqrt(x^2+y^2) and theta as atan(y/x). Actually, atan2(y,x) might be better to get the correct quadrant. Perhaps you can simplify if for example theta only occurs as cos(theta) and sin(theta). In this case the former is x/sqrt(x^2+y^2) and latter is y/sqrt(x^2+y^2). Have I answered the question, or have I misunderstood what you are asking?
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Geometry and Mesh 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!