Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.

strange boundary condition of "general form PDE "

Please login with a confirmed email address before reporting spam

Hi, everyone

I found a strange problem when solve a PDE with "general form".
The setting are:
“gamma”=u
f=2*x
da=0
ea=0
It is a very simple problem and the result should be u=x^2

When I set the boundary condition of "x=1 u=1", correct result can be obtained. However, when I set the boundary condition of "x=0 u=0", the result is oscillating. I considered that the correct result should be obtained only with discretional one of the boundary conditions.

It is so strange, why?
The version of Comsol is 4.0.

youf.


8 Replies Last Post 19 oct. 2010, 07:24 UTC−4
Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 18 oct. 2010, 02:44 UTC−4
Hi

why is it so strange ?

try to change your mesh and see how it changes,

then use linear elements to not have the 2nd order elements

then I would say solve the issue analytically for your r=0 flux= 0 at "1" case and think over it

Your conclusions ...?

--
Good luck
Ivar
Hi why is it so strange ? try to change your mesh and see how it changes, then use linear elements to not have the 2nd order elements then I would say solve the issue analytically for your r=0 flux= 0 at "1" case and think over it Your conclusions ...? -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 18 oct. 2010, 03:23 UTC−4
Hi,Ivar

Thank you for your help very much!

Then I can not overcome the error.

If I only use the boundary condition of "x=1 u=1", the result is correct. But if I only use the condition of "x=0 u=0", the result is wrong. But the two conditions are equivalent. It is why so strange.

Using the condition "x=0 u=0", change the mesh, the result oscillate still.

I think I already used the linear elements.

strange!

youf.

Hi,Ivar Thank you for your help very much! Then I can not overcome the error. If I only use the boundary condition of "x=1 u=1", the result is correct. But if I only use the condition of "x=0 u=0", the result is wrong. But the two conditions are equivalent. It is why so strange. Using the condition "x=0 u=0", change the mesh, the result oscillate still. I think I already used the linear elements. strange! youf.

Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 18 oct. 2010, 04:12 UTC−4
Hi

my conclusions are rather that these BC are NOT equivalent and that the second one "oscilalting" is not a clean BVP, there are probably 2 solutions that COMSOL cannot choose from, alone, check it out by hand

Always ask yourself if the BVP is correct when you see "oscillations" related to the mesh, it's most likely that you have two solutions, or just that you have missed one of your BC conditions

--
Good luck
Ivar
Hi my conclusions are rather that these BC are NOT equivalent and that the second one "oscilalting" is not a clean BVP, there are probably 2 solutions that COMSOL cannot choose from, alone, check it out by hand Always ask yourself if the BVP is correct when you see "oscillations" related to the mesh, it's most likely that you have two solutions, or just that you have missed one of your BC conditions -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 18 oct. 2010, 05:09 UTC−4
Hi,Ivar

Thank you very much!

I understund your advice entirely. I will try again.

youf.
Hi,Ivar Thank you very much! I understund your advice entirely. I will try again. youf.

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 18 oct. 2010, 06:16 UTC−4
Hi, Ivar

I still not understand the Comsol' computing principle.

I change the parameters of my model. I am using the "general form PDE" and the BC is "Birichlet Boundary condition" with V4.0.

The equation is "du/dx=2*x", the boundary condition is "when x=1, u=1" x(-[1,2]. What I want is only obtain the final result "u=x^2". The result is very obvious and the principle is very simple.

However, the result is oscillating. In your opinion, the BC is error. So I change the BC to "when x=1, u=-3", it just stop oscillating but the final result change to "u=x^2-4". The result is not what I want. Alike, only set BC of "when x=2, u=3", it will stop oscillating and the final result turn to "u=x^2-1", which is not what I want neither.

So my conclusion is that the "computing region", such as x(-[1,2], and the point, which is choosed to be boundary, are very important. Because they directly determine the final result.

So, it is no way to solve the problem of "The equation is "du/dx=2*x", the boundary condition is "when x=1, u=1" x(-[1,2]" with Comsol. Because the reslut is oscillating, which means the BC is error. But if change the BVP to stop oscillatation, the result is not what I want. In fact, we can got the "u=x^2" by hand in faith.

contradiction.

Then how to solve the problem?

what's your opinion?

Thank you very much!

youf.
Hi, Ivar I still not understand the Comsol' computing principle. I change the parameters of my model. I am using the "general form PDE" and the BC is "Birichlet Boundary condition" with V4.0. The equation is "du/dx=2*x", the boundary condition is "when x=1, u=1" x(-[1,2]. What I want is only obtain the final result "u=x^2". The result is very obvious and the principle is very simple. However, the result is oscillating. In your opinion, the BC is error. So I change the BC to "when x=1, u=-3", it just stop oscillating but the final result change to "u=x^2-4". The result is not what I want. Alike, only set BC of "when x=2, u=3", it will stop oscillating and the final result turn to "u=x^2-1", which is not what I want neither. So my conclusion is that the "computing region", such as x(-[1,2], and the point, which is choosed to be boundary, are very important. Because they directly determine the final result. So, it is no way to solve the problem of "The equation is "du/dx=2*x", the boundary condition is "when x=1, u=1" x(-[1,2]" with Comsol. Because the reslut is oscillating, which means the BC is error. But if change the BVP to stop oscillatation, the result is not what I want. In fact, we can got the "u=x^2" by hand in faith. contradiction. Then how to solve the problem? what's your opinion? Thank you very much! youf.


Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 18 oct. 2010, 08:17 UTC−4
Hi

Arent you mixing a little point 1 and point 2 at coordinates x=1 and x=2 respectively ?

If you as for du/dx=2*x the reply is obviously u=x^2+C but C is to be defined by a boundary condition

if you say at x=2 Dirichelet BC u=3 then C must be =-1 and at x=1 u=0

if you say at x=2 Dirichelet BC u=-3 then C must be =-7 or +5 as at x=1 u!=0=+/-6

In the PDE (g) node set the discretisation to lagrange LINEAR to see better

I believe you are forgetting the other "Zero Flux" condition on "1"

Try to plot the limit curves and the first derivative "ux" too

--
Good luck
Ivar
Hi Arent you mixing a little point 1 and point 2 at coordinates x=1 and x=2 respectively ? If you as for du/dx=2*x the reply is obviously u=x^2+C but C is to be defined by a boundary condition if you say at x=2 Dirichelet BC u=3 then C must be =-1 and at x=1 u=0 if you say at x=2 Dirichelet BC u=-3 then C must be =-7 or +5 as at x=1 u!=0=+/-6 In the PDE (g) node set the discretisation to lagrange LINEAR to see better I believe you are forgetting the other "Zero Flux" condition on "1" Try to plot the limit curves and the first derivative "ux" too -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 19 oct. 2010, 02:33 UTC−4
Hi, Ivar

Thank your for your patient guidance this days very much!

I am sure that my negligence is forgetting the "Zero Flux" condition. However, I think the conditon is needless but can not be deleted. By this time, I can not got the entitative meaning of the special condition which can not be refered from my books. Can you give some threads of the "Zero Flux" condition? Thank you.

youf.
Hi, Ivar Thank your for your patient guidance this days very much! I am sure that my negligence is forgetting the "Zero Flux" condition. However, I think the conditon is needless but can not be deleted. By this time, I can not got the entitative meaning of the special condition which can not be refered from my books. Can you give some threads of the "Zero Flux" condition? Thank you. youf.

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 19 oct. 2010, 07:24 UTC−4
Hi, Ivar

I has understood the meaning of "Zero flux" by try and try agian. Explained simply, "Zero flux" is a confine conditon which restrict "gamma" must be zero at the poiont which is not be defined (not be shadowed) by "Dirichlet condition" or other boudary condition.

Thank you for your nice advices.

youf.
Hi, Ivar I has understood the meaning of "Zero flux" by try and try agian. Explained simply, "Zero flux" is a confine conditon which restrict "gamma" must be zero at the poiont which is not be defined (not be shadowed) by "Dirichlet condition" or other boudary condition. Thank you for your nice advices. youf.

Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.