Laplace with Neumann BC, FEA Log Out | Topics | Search
Moderators | Register | Edit Profile

FlexPDE User's Forum » User Postings » Laplace with Neumann BC, FEA « Previous Next »

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

fearrr (fea)
New member
Username: fea

Post Number: 1
Registered: 02-2005
Posted on Wednesday, February 02, 2005 - 08:11 am:   

Hello!
Consultation is necessary, please.
There is 2d boundary problem on Omega domain:

D(u)=0

Boundary condition (Neumann?) on border curve G:

du/dn = 2*x*y*cos(n,x) + y*y*cos(n,y)

where n - outward normal to G;
D - Laplace operator;
u - unknown function u=u(x,y).

In discretization by finite elements method (FEA) the problem is reduced to system equations:

A*u=F

How to generate these matrixes in this case (especially interests vector F)?
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 312
Registered: 06-2003
Posted on Wednesday, February 02, 2005 - 02:52 pm:   

Have you read the FlexPDE tutorial (User Guide)?

The problem you pose is exactly the one used as an example in the tutorial.

See the User Guide, or click "Product Info", then "Tutorial" on the web site.

[The bottom line is that you don't generate "these matrices". FlexPDE does. You merely state your PDE.]

[And incidentally, the problem you have stated is underdetermined. With only derivative boundary conditions, there are an infinite number of solutions, differing by an additive constant.]
Top of pagePrevious messageNext messageBottom of page Link to this message

fearrr (fea)
New member
Username: fea

Post Number: 2
Registered: 02-2005
Posted on Wednesday, February 02, 2005 - 03:09 pm:   

I read help, but I make this by fortran...
Can I print this matrix by FlexPDE?
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 313
Registered: 06-2003
Posted on Wednesday, February 02, 2005 - 04:10 pm:   

There are a large number of text books that will show you how to construct finite element matrices. Some, like "Application and Implementation of Finite Element Methods" by J.E.Akin (Academic Press, 1982) include FORTRAN source listings.
Top of pagePrevious messageNext messageBottom of page Link to this message

Tong Liu (siegfried)
Member
Username: siegfried

Post Number: 4
Registered: 02-2006
Posted on Tuesday, February 28, 2006 - 09:21 pm:   

I am a novice user.Could you tell me which example in the tutorial describes this problem? Thank you very much!
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 555
Registered: 06-2003
Posted on Wednesday, March 01, 2006 - 12:46 am:   

I don't understand this question.

The Tutorial (User Guide in the installed help) gradually builds up a script for a sample problem. The problem used as an example is a Laplace equation.

"User Guide | Basic Usage | Putting it all together" shows the first complete listing of this script. Later sections show various modifications to boundary conditions, parameters or geometry, but it's always a Laplace equation.
Top of pagePrevious messageNext messageBottom of page Link to this message

Tong Liu (siegfried)
Member
Username: siegfried

Post Number: 6
Registered: 02-2006
Posted on Wednesday, March 01, 2006 - 08:24 pm:   

Please excuse me. I do not describe my problem exactly. I do not remember there is a function could express cos(n,x) and cos(n,y) in the equation du/dn = 2*x*y*cos(n,x) + y*y*cos(n,y)
where n - outward normal to the domain. And I think I cannot obtain du/dn everywhere on the domain. I only know that on the natural BC, NATURAL(u)=du/dn.
Am I right?
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 557
Registered: 06-2003
Posted on Thursday, March 02, 2006 - 08:47 pm:   

The NATURAL boundary condition specifies the integrand of the surface terms generated by integrating second-order terms by parts.

If the only second-order terms are divergences, this is equivalent to the Divergence Theorem.

If the equation is Div(K*Grad(U)) + S = 0, then NATURAL(U) provides the value of the outward normal component of K*Grad(U), which is the outward normal of the negative of the thermal flux, or the INWARD flux. Notice that the sign of this term follows directly from the sign of the divergence in the PDE (when on the left side of the equation).

If K=1, then NATURAL(U) = dU/dn.

You don't need to know sines and cosines, all you need to know is the normal flux.

Top of pagePrevious messageNext messageBottom of page Link to this message

Tong Liu (siegfried)
Member
Username: siegfried

Post Number: 7
Registered: 02-2006
Posted on Thursday, March 02, 2006 - 09:52 pm:   

I see, thank you. But, can I specify a Cauchy or mixed BC such as {du/dn=0&u=0} or a*du/dn+b*u=0 in flexpde?This condition may be useful in some problem.
Top of pagePrevious messageNext messageBottom of page Link to this message

Tong Liu (siegfried)
Member
Username: siegfried

Post Number: 8
Registered: 02-2006
Posted on Thursday, March 02, 2006 - 09:57 pm:   

I see, thank you. But, can I specify a Cauchy or mixed BC such as {du/dn=0&u=0} or a*du/dn+b*u=0 in flexpde?This condition may be useful in some problem.
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 559
Registered: 06-2003
Posted on Thursday, March 02, 2006 - 11:43 pm:   

You cannot impose two conditions on any boundary (each nodal value has one equation).

But you will notice from the documentation of Boundary conditions that the BC statements are of the form
NATURAL(<variable>) = <expression>
VALUE(<variable>) = <expression>

<expression> is very general. This is a scripting language, after all.

You can say NATURAL(u) = -b*u/a
If your equation is Div(grad(u)), then this BC statement means a*du/dn+b*u=0.

The VALUE condition is somewhat more restrictive, so if you say VALUE(u) = -(a/b)*NORMAL(GRAD(u)), which in principle means a*du/dn+b*u=0, you will get a diagnostic on the NORMAL. But in general, you can use implicit dependencies in VALUE conditions.

If you use your imagination, you can think of many kinds of boundary conditions that can be imposed using the available structures. Try them and see what happens.

You should take a look at the documentation and try some of the example problems, rather than asking me to write you a private tutorial.

Top of pagePrevious messageNext messageBottom of page Link to this message

Tong Liu (siegfried)
Member
Username: siegfried

Post Number: 9
Registered: 02-2006
Posted on Friday, March 03, 2006 - 01:28 am:   

I'm so sorry to trouble you. I think I have used the BC structure you mentioned above. But I did not realize that it is a cauchy BC. I will review the guide once more. Thank you for your patience.Thank you.

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