|
|
| Author |
Message |
Cheng Cosine science forum Guru Wannabe
Joined: 26 May 2005
Posts: 168
|
Posted: Tue Jun 27, 2006 4:17 am Post subject:
? Helmholtz eqn in semi-inf and inf domain
|
|
|
To use finite difference to solve Helmholtz eqn
div(grad(u))+k^2(x,y,z)*u(x,y,z) = 0
with boundary conditions: u(x,y,z=0) = U(x,y), non-zeros for points (x,y)
belong to finite region R(x,y)
u(abs(x)->Inf,y,z) = 0
u(x,abs(y)->Inf,z) = 0
u(x,y,z->Inf) = 0
Here div(grad(u)) term can be discretized using standard 9-point central
difference scheme.
But how does one deal with those boundary conditions?
Thanks,
by Cheng Cosine
Jun/27/2k6 NC |
|
| Back to top |
|
 |
Gordon science forum beginner
Joined: 19 Oct 2005
Posts: 28
|
Posted: Tue Jun 27, 2006 8:00 pm Post subject:
Re: ? Helmholtz eqn in semi-inf and inf domain
|
|
|
Cheng Cosine wrote:
| Quote: | To use finite difference to solve Helmholtz eqn
div(grad(u))+k^2(x,y,z)*u(x,y,z) = 0
with boundary conditions: u(x,y,z=0) = U(x,y), non-zeros for points
(x,y) belong to finite region R(x,y)
u(abs(x)->Inf,y,z) = 0
u(x,abs(y)->Inf,z) = 0
u(x,y,z->Inf) = 0
Here div(grad(u)) term can be discretized using standard 9-point
central difference scheme.
But how does one deal with those boundary conditions?
|
You need a nonreflecting (wave-absorbing) B.C. The exact B.C. is non-local
and couples all points on your mesh boundary. The first-order approximation
is the plane wave approximation, cu_n+u_t=0 (written in the time domain),
where c is speed of propagation, n is normal, and t is time. Since this
B.C. assumes a plane wave, the approximation improves as the mesh boundary
is moved farther out. |
|
| Back to top |
|
 |
Cheng Cosine science forum Guru Wannabe
Joined: 26 May 2005
Posts: 168
|
Posted: Tue Jun 27, 2006 9:56 pm Post subject:
Re: ? Helmholtz eqn in semi-inf and inf domain
|
|
|
"Gordon" <gordo432xRemove@comcast.net> wrote in message
news:f6KdnRnDNrvREzzZnZ2dnUVZ_oidnZ2d@comcast.com...
| Quote: | Cheng Cosine wrote:
To use finite difference to solve Helmholtz eqn
div(grad(u))+k^2(x,y,z)*u(x,y,z) = 0
with boundary conditions: u(x,y,z=0) = U(x,y), non-zeros for points
(x,y) belong to finite region R(x,y)
u(abs(x)->Inf,y,z) = 0
u(x,abs(y)->Inf,z) = 0
u(x,y,z->Inf) = 0
Here div(grad(u)) term can be discretized using standard 9-point
central difference scheme.
But how does one deal with those boundary conditions?
You need a nonreflecting (wave-absorbing) B.C. The exact B.C. is
non-local and couples all points on your mesh boundary. The first-order
approximation is the plane wave approximation, cu_n+u_t=0 (written in the
time domain), where c is speed of propagation, n is normal, and t is time.
Since this B.C. assumes a plane wave, the approximation improves as the
mesh boundary is moved farther out.
|
There is no time in Helmholtz, so you mean: c*u_n+u_t =0
=> c*u_n-j*w*u = 0 <=> u_n-j*k*u = 0 ?
and this is applied to abs(x) = large, abs(y) = large, and z (>0) = large,
right?
Any way to estimate how far should one place these artificial bcs?
Lastly, what does c*u_n+u_t = 0 means?
Thanks,
by Cheng Cosine
Jun/27/2k6 NC |
|
| Back to top |
|
 |
Gordon science forum beginner
Joined: 19 Oct 2005
Posts: 28
|
Posted: Wed Jun 28, 2006 2:51 am Post subject:
Re: ? Helmholtz eqn in semi-inf and inf domain
|
|
|
Cheng Cosine wrote:
| Quote: | "Gordon" <gordo432xRemove@comcast.net> wrote in message
news:f6KdnRnDNrvREzzZnZ2dnUVZ_oidnZ2d@comcast.com...
Cheng Cosine wrote:
To use finite difference to solve Helmholtz eqn
div(grad(u))+k^2(x,y,z)*u(x,y,z) = 0
with boundary conditions: u(x,y,z=0) = U(x,y), non-zeros for points
(x,y) belong to finite region R(x,y)
u(abs(x)->Inf,y,z) = 0
u(x,abs(y)->Inf,z) = 0
u(x,y,z->Inf) = 0
Here div(grad(u)) term can be discretized using standard 9-point
central difference scheme.
But how does one deal with those boundary conditions?
You need a nonreflecting (wave-absorbing) B.C. The exact B.C. is
non-local and couples all points on your mesh boundary. The
first-order approximation is the plane wave approximation,
cu_n+u_t=0 (written in the time domain), where c is speed of
propagation, n is normal, and t is time. Since this B.C. assumes a
plane wave, the approximation improves as the mesh boundary is moved
farther out.
There is no time in Helmholtz, so you mean: c*u_n+u_t =0
=> c*u_n-j*w*u = 0 <=> u_n-j*k*u = 0 ?
and this is applied to abs(x) = large, abs(y) = large, and z (>0) =
large, right?
|
Yes.
| Quote: | Any way to estimate how far should one place these artificial bcs?
|
The distance is problem-dependent, so you should do some experimenting. Try
one wavelength, then two, to get some experience with your problem.
| Quote: | Lastly, what does c*u_n+u_t = 0 means?
|
Outgoing waves do not reflect in 1-D if this B.C. is imposed. A mechanical
analogue to this B.C. is the dashpot. |
|
| Back to top |
|
 |
Cheng Cosine science forum Guru Wannabe
Joined: 26 May 2005
Posts: 168
|
Posted: Wed Jun 28, 2006 3:40 am Post subject:
Re: ? Helmholtz eqn in semi-inf and inf domain
|
|
|
"Gordon" <gordo432xRemove@comcast.net> wrote in message
news:7padnaba_to5czzZnZ2dnUVZ_s6dnZ2d@comcast.com...
| Quote: | Cheng Cosine wrote:
"Gordon" <gordo432xRemove@comcast.net> wrote in message
news:f6KdnRnDNrvREzzZnZ2dnUVZ_oidnZ2d@comcast.com...
Cheng Cosine wrote:
To use finite difference to solve Helmholtz eqn
div(grad(u))+k^2(x,y,z)*u(x,y,z) = 0
with boundary conditions: u(x,y,z=0) = U(x,y), non-zeros for points
(x,y) belong to finite region R(x,y)
u(abs(x)->Inf,y,z) = 0
u(x,abs(y)->Inf,z) = 0
u(x,y,z->Inf) = 0
Here div(grad(u)) term can be discretized using standard 9-point
central difference scheme.
But how does one deal with those boundary conditions?
You need a nonreflecting (wave-absorbing) B.C. The exact B.C. is
non-local and couples all points on your mesh boundary. The
first-order approximation is the plane wave approximation,
cu_n+u_t=0 (written in the time domain), where c is speed of
propagation, n is normal, and t is time. Since this B.C. assumes a
plane wave, the approximation improves as the mesh boundary is moved
farther out.
...
Any way to estimate how far should one place these artificial bcs?
The distance is problem-dependent, so you should do some experimenting.
Try one wavelength, then two, to get some experience with your problem.
|
So when wavelength is several mm, and the domain is several cm, the domain
is large enough? But when wavelength is 1 m or several m, then domain of
several
cm is not acceptable at all? Since there is accuracy issue, one cannot use
grid size
that is too coarse, this kind of bc approximation is not feasible for long
wavelength,
e.g. wavelength of meters?
One of my friend told me some ppl solve this problem using two methods.
Represent the solution via finite differences over a finite region,
and via use of Green's theorem, over the exterior of the region.
The 1st part is easy to understand, except bcs of that finite region remain
unknown.
But cannot understand the 2nd part that uses Green's theorem. Could anyone
explain
more?
| Quote: | Lastly, what does c*u_n+u_t = 0 means?
Outgoing waves do not reflect in 1-D if this B.C. is imposed. A
mechanical analogue to this B.C. is the dashpot.
|
This is confusing. In 1D eqn is:
diff(u, z&2)+k^2(z)*u(z) = 0
with boundary conditions: u(z=0) = U, non-zeros for z = 0
u(z->Inf) = 0
Since wave number k remains a function, won't be there reflections at
those interfaces when k(z) changes? Say, k is a piecewise constant
function of z, won't there be reflections at interfaces?
Thanks,
by Cheng Cosine
Jun/27/2k6 NC |
|
| Back to top |
|
 |
Google
|
|
| Back to top |
|
 |
|
|
The time now is Sat Jan 10, 2009 3:11 am | All times are GMT
|
|
Credit Cards | Advertising | Mortgage Loans | Web Advertising | Remortgages
|
|
Copyright © 2004-2005 DeniX Solutions SRL
|
|
Other DeniX Solutions sites:
Electronics forum |
Medicine forum |
Unix/Linux blog |
Unix/Linux documentation |
Unix/Linux forums
|
Powered by phpBB © 2001, 2005 phpBB Group
|
|