필터 지우기
필터 지우기

Strange behaviour of pde-toolbox in labeling or a bug?

조회 수: 1 (최근 30일)
Mohammad Monfared
Mohammad Monfared 2013년 10월 18일
댓글: Mohammad Monfared 2013년 10월 21일
Hi, I'm new to pde-toolbox but this is kinda weird to me:
let's draw some rectangles in PDE Tollbox like:
but when I export Geometry Description and ... from Draw menu to matlab workspace and then decompose them using:
[g,bt] = decsg(gd,sf,ns) ;
plotting the resulted geometry by:
pdegplot(g)
this is what I get:
as could be seen, labels are randomly changed! any idea of what is happening here?
I'm using Matlab R2012b.

채택된 답변

Bill Greene
Bill Greene 2013년 10월 18일
Hi,
Your geometry is unusual in that none of the rectangles intersect each other. The algorithm in function decsg is designed to generally compute the intersections among the input entities and produce a completely new set of regions that are only related to the input entities. Generally, the number of output entities does not match the number of input entities and, as you have discovered, decsg assigns region numbers to these output entities in a way that is not easy to predict.
Bill
  댓글 수: 2
Mohammad Monfared
Mohammad Monfared 2013년 10월 18일
Thanks for your response Bill,
As a matter of fact the domain of my problem consists of many rectangular sub-domains which their side borders coincide with the neighboring sub-domains. Constructing 'c' and 'a' matrices, I need to know each sub-domain number to assign the correct values. For example for sub-domain 'R6' I have a sub-domain-number related function, 'F6' to assign.
So how can I access to the predefined(unchanged) sub-domain names(/numbers)? (as I know a common way is to use the 4th row of matrix 't' from 'initmesh' outputs, right?)
Mohammad Monfared
Mohammad Monfared 2013년 10월 18일
the problem domain and their changed sub-domain labels:

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Bill Greene
Bill Greene 2013년 10월 19일
Hi,
The way I have dealt with the problem of defining coefficient matrices when I have had geometries similar to yours is to simply ignore the sub-domain numbers. I write a function to define the coefficient as shown in this doc page:
This page also shows how you can compute the centroid of each triangle inside this function. Then you simply assign coefficient values based on this location. In your case you can use the x-coordinate to determine which rectangle the element is in.
Hope that helps.
Bill
  댓글 수: 3
Bill Greene
Bill Greene 2013년 10월 20일
Without knowing the physics of your problem, I can't really say much definitive. It is not uncommon to have a single scalar equation for u and a "c" coefficient that has different terms in the x and y directions to reflect different properties in those directions. But, for a single PDE, the "a" coefficient is also a scalar. If you have more than one value for "a", I would guess you are missing an equation. That would mean u is a vector with two components.
Bill
Mohammad Monfared
Mohammad Monfared 2013년 10월 21일
편집: Mohammad Monfared 2013년 10월 21일
This is the equation of my interest actually:
the water flow equation in a porous media. Domain is in x-z plane.
How can I model it by Pde toolbox?
thanks,
Mohammad

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Geometry and Mesh에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by