# [petsc-dev] I have a question about PETSc example.

Jung, Ki Won KiWon.Jung at pnnl.gov
Thu May 28 20:06:25 CDT 2015

Dear Barry,

Thank you for forwarding this e-mail to other users.

Regarding the version of PETSc, we would not adhere to a specific version of PETSc as you suggested. The only reason why PETSc 3.2p6 has been used for studying and evaluating another code (2D Helmholtz) because it utilizes 3.2p6. However, since it is a non-native PETSc code and does not work as it should be, I and my colleague do not need to stick to 3.2p6.

As you mentioned, by Helmholtz equation, I meant the equation that you showed:
-delta u - sigma1*u + i*sigma2*u = f,
where sigma1 would be roughly k^2 (i.e., by ignoring -alpha^2) and sigma2 would be 2*k*alpha. u, alpha, and k are the acoustic pressure, the absorption coefficient, and the wavenumber, respectively. Assuming that the frequency range that we are interested in lies between 100 and 1000 Hz, sigma1 would be between 0.175 and 1.754E1 (i.e., assuming the speed of sound is 1500 m/s). I haven't calculated sigma2, but it would be much smaller than sigma1 due to the fact that alpha is much smaller than k. Another thing to be noted is that what we are trying to do is to incorporate the speed of sound profile as a function of position for the problem.

For now, we are not thinking about any interaction of sound with ocean bottom yet, although it is near a shoreline. Except the shoreline, all the sides would be open boundary condition by using radiating boundary condition such as PML. The top should be the pressure release boundary condition (i.e., the acoustic pressure would be zero at the surface) and the bottom could be a rigid boundary condition due to lack of density information in the equation. However, all of these are vague ideas for now and could be changed in the future.

Please let me know if something is missing.

Thank you,

Ki Won

-----Original Message-----
From: Barry Smith [mailto:bsmith at mcs.anl.gov]
Sent: Thursday, May 28, 2015 5:31 PM
To: Jung, Ki Won; For users of the development version of PETSc
Subject: Re: I have a question about PETSc example.

I am forwarding this to the other PETSc developers since they know more about these types of problems then I do.

> On May 28, 2015, at 6:58 PM, Jung, Ki Won <KiWon.Jung at pnnl.gov> wrote:
>
> Dear Dr. Barry Smith,
>
> My name is KiWon Jung working as a postdoctoral research associate at Pacific Northwest National Laboratory located in Richland, WA.
> My specialty is physical acoustics and I earned my Ph.D. in Acoustics at Pennsylvania State University.
> I have used several finite element modeling softwares for years, but I started building a code that will propagate sound wave in ocean using 3D Helmholtz equation approach based on the use of PETSc. (specifically we are trying to use PETSc 3.2p6 which is readily available on our computers for now.)

Please DO NOT DO THIS. It is straightforward to install the latest version of PETSc; it will just lead to headaches to use an older version that we do not support and then have to change your code to work with a newer version. Just get the latest release and install it.

>
> Because I am new to PETSc, I am trying to learn how to formulate my problem using different preconditioners, parallel computing, or multigrid scheme by reading and running examples available in tutorial directory. Luckily, I was able to find some relevant examples such as 2D Helmholtz problem, but I hope that I could get some example of 3D Helmholtz problem. I have been looking for an example using Google, but I was unable to find one.
>
> My colleague suggests that I should contact you and that is why I am sending you this e-mail.
> If you have some examples of 3D Helmholtz using PETSc or know someone who has done the same thing using PETSc, I would very much appreciate if you kindly let me know.

If you provide additional information it will help us to provide guidance. By Helmholtz do you mean

-delta u - sigma1*u + i*sigma2*u = f,

and what range of values of sigma1 and sigma2 matter for your "propagate sound wave in ocean"?

What geometry do you need to handle? The ocean bottom? the shore line? objects in the ocean such as ships? the ocean surface? Do you have any "far field boundary conditions?

Ideally you could use a higher order (spectral?) method and not just a second order method like in our examples.

Depending on the problem Helmholtz can be notoriously difficult for multigrid and is, I would say, a research area.

Once we have more information about the details above we can make suggestions as to particular publications to look at initially.

Barry

>
> Thank you for your time.
>
> Sincerely,
>
> KiWon Jung