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

Link Copied

- 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

The resolution is simple. Simply specify the value at one point, say, (a

_{x}, a

_{y}) to be any value that you like, such as zero.

Another artifice is to use v = u/x ( or, if better suited, u/y) as the dependent variable.

- 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

*> My problem looks likeu/x+u/y=-F(x,y)*

That is the Poisson equation, not the Helmholtz equation -- the latter has the additional term

*q . u*in it, where

*q*is a constant. Please clarify which equation you want to solve.

And, when you wrote in your first post that

*> The problem is that my function is not defined on boundaries*

did you refer to

*u*or to

*F*as "my function" ?

In the problem that you want to solve, is

*F*known as an analytical expression? If not, how is it known?

- 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

Gents,

It's seems we have some misunderstanding. For differential problem one doesnt know values of rhs on boundary of domain. But for algebraic problem that comes from differential one need to set value on boundary (for example continue rhs from domain to its 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

Ilia,

MKL uses a standard 5-point approximation of 2D Helmholtz problem. But Poisson library from MKL requires values of rhs on Neumann boundary to find values of solution on this boundary. So, if you want to use Helmholtz functionality you need to implement next trick:

If want to solve Helmholtz equation in domain (a_x, b_x)*(a_y, b_y) with nx and ny mesh intervals correspondently then call Poisson library with parameters as follows:

ax_new = a_x+(bx-ax)/nx;

bx_new = b_x-(bx-ax)/nx;

ay_new = a_y+(by-ay)/ny;

by_new = b_y-(by-ay)/ny;

nx_new = nx-2;

ny_new = ny-2;

d_init_Helmholtz_2D(&ax_new, &bx_new, &ay_new, &by_new, &nx_new, &ny_new, BCtype, &q, ipar, dpar, &stat);

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

ets

With best regards,

Alexander Kalinkin

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