Timeline for NDSolve FEM-Solver fails for simple PDE
Current License: CC BY-SA 4.0
24 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Mar 4 at 8:32 | answer | added | Ulrich Neumann | timeline score: 1 | |
Mar 4 at 8:04 | answer | added | user21 | timeline score: 4 | |
Mar 2 at 15:26 | comment | added | Alex Trounev |
@UlrichNeumann Please compare your solution obtained with Galerkin method with f[x,y] from NDSolve and with my solution u1[x,y] .
|
|
Mar 2 at 12:37 | comment | added | Ulrich Neumann | @AlexTrounev Which solution, from my last comment or from my answer, has large error ? | |
Mar 2 at 12:35 | comment | added | Alex Trounev |
@UlrichNeumann In a case of NDSolve with Automatic option we use pde at y==0 and y==1. These conditions equal to ``NeumanValue[0,y==0||y==1] in a case of FEM. See my answer. Your solution has high error since you are not used boundary conditions at $y=0,1$ .
|
|
Mar 2 at 7:42 | comment | added | Ulrich Neumann |
@AlexTrounev I don't undersatnd "it is not right". Look at NDSolveValue[{Derivative[2, 0][f][x, y] == y^2*f[x, y], {f[1, y] == 1, Derivative[1, 0][f][1, y] == 1}}, f, {x, 0, 1}, {y, 0, 1}] which gives the correct solution without additional bc using a not-FEM solver.
|
|
Mar 2 at 1:05 | answer | added | Alex Trounev | timeline score: 4 | |
Mar 1 at 22:12 | comment | added | Alex Trounev |
@UlrichNeumann It is not right. Probably we can use pde at the border y==0 and y==1 .
|
|
Mar 1 at 20:37 | comment | added | Ulrich Neumann |
@AlexTrounev Only boundary conditions at x==1 , see constraints RB1 = Map[fi[[#]] == 1 &, indexR1]; in NMinimize
|
|
Mar 1 at 20:28 | comment | added | Alex Trounev | @UlrichNeumann What boundary conditions you used at $y=0, 1$? | |
Mar 1 at 20:05 | comment | added | Ulrich Neumann |
@AlexTrounev Thank you for your reply. I only introduced Gaussian quadratur to make code faster. But it seems to work. Meanwhile I try(actual without success ;-) ) to use Mathametica DiscretizePDE functionality to make code run faster...
|
|
Mar 1 at 19:48 | comment | added | Alex Trounev | @UlrichNeumann Thank you very much for your code (+1). It looks like your code is not optimized yet. It takes about 3 min on the mesh of 158 triangle elements only. | |
Mar 1 at 17:13 | comment | added | Ulrich Neumann | @user21 Now my notebook is available, see link in my answer. Hope it's selfexplaining | |
Mar 1 at 17:12 | history | edited | Ulrich Neumann | CC BY-SA 4.0 |
added 88 characters in body
|
Mar 1 at 16:58 | comment | added | user21 | As a side note, there is a note about this not being possible currently, but who knows maybe you can - I just can not imagine how it's done right now. | |
Mar 1 at 16:58 | comment | added | Ulrich Neumann | It is long code. Perhaps I can save the notebook in the Mathematica cloud? | |
Mar 1 at 16:55 | comment | added | user21 | What do you mean with 'file' in your post you mentioned code. Could you not share that? | |
Mar 1 at 16:54 | comment | added | Ulrich Neumann | @user21 Thanks, I try to share the file but am unsure how to do it... | |
Mar 1 at 16:51 | comment | added | user21 | I would like to see the code. Also, note that Dirichlet conditions apply at points while NeumannValues apply at edges (in 1D these are also points) | |
Mar 1 at 13:09 | comment | added | Ulrich Neumann | @Nasser Thanks for your reply. Galerkin method gets by without this restriction I think. First partial integration "processes" the Neumann condition, then the unknowns of Dirichlet condition are inserted. This leads to the final set of equations. | |
Mar 1 at 12:28 | comment | added | Nasser | Neumann and Dirichlet bcs are defined at the same place? from Neumann condition and Dirichlet condition at the same point one of the answers says applying Dirichlet boundary conditions will override your Neumann boundary conditions in the case of the finite element method | |
Mar 1 at 12:03 | history | edited | Ulrich Neumann | CC BY-SA 4.0 |
deleted 1385 characters in body
|
Mar 1 at 11:27 | history | edited | Ulrich Neumann | CC BY-SA 4.0 |
added 1 character in body
|
Mar 1 at 11:18 | history | asked | Ulrich Neumann | CC BY-SA 4.0 |