How to solve a nonlinear PDE in curvilinear coordinates

1 vue (au cours des 30 derniers jours)
Dumitru
Dumitru le 15 Nov 2012
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].

Réponses (1)

Richard Garner
Richard Garner le 14 Fév 2015
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?

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by