example problem--possible bug. Log Out | Topics | Search
Moderators | Register | Edit Profile

FlexPDE User's Forum » User Postings » example problem--possible bug. « Previous Next »

Author Message
Top of pagePrevious messageNext messageBottom of page Link to this message

gqzhang (zgqfem)
Member
Username: zgqfem

Post Number: 9
Registered: 07-2003
Posted on Tuesday, September 02, 2003 - 08:45 pm:   

I do not know if there is difference when the order of equations after the keyword "equations" is exchanged. Theoretically, it should be true for decoupling consideration for multiple-field problems. In a pde software like flexpde as stated, the users will not be required to care about the algorithms.
I tried several multiple-field examples provided in demo directoris, some produce the same results before and after exchanging orders, but there is one exception--samples/steady_state/stresss.pde: the origional one works, but when I put the equations in this order:
dx[C11*dx(Up)+C12*dy(Vp)-b*Tp] { the U-displacement equation }
+ dy[C33*(dy(Up)+dx(Vp))] = 0.

dx[C33*(dy(Up)+dx(Vp))] { the V-displacement equation }
+ dy[C12*dx(Up)+C22*dy(Vp)-b*Tp] = 0.
dx[k*dx(Tp)] + dy[k*dy(Tp)] + Q = 0. { the heat equation }
There is an error which puzzled me too much.

Thanks much.
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 30
Registered: 06-2003
Posted on Wednesday, September 03, 2003 - 12:34 am:   

FlexPDE assumes that the ordering of equations is the same as the ordering of the declaration of variables, so that the first equation is assumed to define the first variable. (see EQUATIONS in the Help Index).

If you have
VARIABLES a,b
and
EQUATIONS
div(grad(a))=a
div(grad(b))=b
then the self-dependences will create entries on the diagonal of the coupling matrix.

Changing the order of the equations causes a permutation of the diagonal blocks of the coupling matrix, and can make the system ill-conditioned or singular.

In future versions, FlexPDE will require the specific form of equations,
a: div(grad(a))=a
b: div(grad(b))=b
In this form, the order is unimportant, because the row indexing is explicit.

Add Your Message Here
Post:
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Password:
Options: Enable HTML code in message
Automatically activate URLs in message
Action:

Topics | Last Day | Last Week | Tree View | Search | Help/Instructions | Program Credits Administration