Author |
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. |
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. |
|