- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Hi~

My problem looks like u/x+u/y=-F(x,y). Boundary conditions are u/x=0|(x=0,x=Lx) and u/y=0|(y=0,y=Ly). This is the Poisson equation. Because the Poisson problem is a special case of the Helmholtz problem. I want to use d_Helmholtz_2D(f, bd_ax, bd_bx, bd_ay, bd_by, bd_az, bd_bz, &xhandle, &yhandle, ipar, dpar, &stat)to solve the eqution with =0. Poisson Library uses the standard five-point finite difference approximation on this mesh to compute the approximation to the solution .It asks for f ,but I have no ideas on setting f on the boundary . In my opinion it is poisson eqution with the Neumann boundary condition,so should I set f=0 in the boundary?Or any advise?Thank you!!

Link Copied

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Hi,

Poisson library calculates approximate solution of both internal point and boundary point so you need to set correspondent values of rhs for boundary. If you know values of rhs (right-hand-side of initial differential equation) only inside domain you could continue it on boundary.

With best regards,

Alexander Kalinkin

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Thank you ~Alexander Kalinkin

In my poisson equation ,rhsare obtained by M(x,y)/x+N(x,y)/y ,and M(x,y) and N(x,y) are known in all points.I will use FDM to deal with M(x,y)/x+N(x,y)/y....Sorhs on the boundary arerelated to the Nboudary condition ? I don't know how to figure it out...Help me please~

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Thank you very much !!I've got it~

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Another question...

I 've used matlab to solve the 3D poisson equation with N BCs in my programme(poisson equation is only a part of it),but it failed,and matlab was always out of memorybecause of its limitations.SoIwant to solve 3D poisson equation with MKL d_Helmholtz_3D .Matlab is major ,and I use C++ to connect matlab with MKL d_Helmholtz_3D.

The question is if it is easy to do ?Any examples?And what about the memory?3D may be 500*250*250...So any advises?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

You may misuderstand me...We use [LA,UA]=luinc(A,1e-6) and p=bicgstab(A,b,MinErr,1000,LA,UA)in matlab to solve3D poisson equtionand itturns out to be out of memory becauseof luinc.

My question is when I use matlab with C++,MKL to solve 3D poisson equation with MKL,is the memory a problem?That is when I do it ,how much memory the computer needs to solve 3D(maybe 500*250*250) poisson equations~Thank you

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Oh,

Ive understood you. The largest arrays in poisson library are solution and rhs vectors. Their size is a size of the problem so in your case it is equal 500*250*250 = 30*10^6 elements. In double precision you need to have about a half of Gb to allocate them. Size of internal arrays is significantly smaller so I think that for your problem it is enough to have 1Gb of RAM.

With best regards,- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Hi

If fact ,I have same trouble in setting ispar(40 through 59)

ispar(40 through 59)====Contain the first twenty elements of the ipar array of the first Trigonometric Transform that the Solver uses. (For details, see Common Parameters in the "Trigonometric Transform Routines" section.)

ipar[0] of the first Trigonometric TransformContains the size of the problem to solve is said to be the size of the problem...It confuses me?What is the size ?In 2D problem ,when using TTF ,the size is(nx+1)*(ny+1)(nx and ny are the number of mesh intervals)?Inotice that ipar[0] should be an eveninteger?Any ideas?

Thank you

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Thank you ~

I got you meanings.

d_init_Helmholtz_2D( &ax,& bx, &ay, &by,& nx, &ny, BCtype,& q, ipar, dpar, & stat);

d_commit_Helmholtz_2D(f, bd_ax, bd_bx, bd_ay, bd_by, &xhandle, ipar, dpar,&stat);

d_Helmholtz_2D( f, bd_ax, bd_bx, bd_ay, bd_by, &xhandle, ipar, dpar,&stat);

free_Helmholtz_2D( &xhandle,ipar, &stat);

So~What about dpar ipar?I also have difficuties in setting xhandle~

If it is no need to set the parameters related with TT routine ?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

d_init_Helmholtz_2D( &ax,& bx, &ay, &by,& nx, &ny, BCtype,& q, ipar, dpar, & stat);

d_commit_Helmholtz_2D(f, bd_ax, bd_bx, bd_ay, bd_by, &xhandle, ipar, dpar,&stat);

I can get ipar ,dpar, stat,and xhandle (which are output patarmaters)automatically??- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Hi~Thank you so much~I get it.

I tried the example in the folder...It seems that there are some problems with linkers. I use Intel MKL 10.3.xand Microsoft* Visual Studio 2008.And Select Build Components I choose sequential...But it turns out

MKLtest.exe: E:\Vc++\MKLtest\Debug\MKLtest.exe

MKLtest.exe: C:\WINDOWS\system32\ntdll.dll

MKLtest.exe: C:\WINDOWS\system32\kernel32.dll

MKLtest.exe: C:\Program Files\Intel\ComposerXE-2011\redist\ia32\mkl\mkl_sequential.dll

MKLtest.exe: C:\WINDOWS\system32\msvcrt.dll

MKLtest.exe: C:\Program Files\Intel\ComposerXE-2011\redist\ia32\mkl\mkl_core.dll

MKLtest.exe: C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456\msvcr90d.dll

MKLtest.exe: C:\Program Files\Intel\ComposerXE-2011\redist\ia32\mkl\mkl_p4m.dll

MKLtest.exe: C:\Program Files\Intel\ComposerXE-2011\redist\ia32\mkl\libimalloc.dll

MKLtest.exe: C:\Program Files\Intel\ComposerXE-2011\redist\ia32\mkl\libimalloc.dll

It is Chinese...Maybe...Any adviser?What is the problem?Thank you

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page