Solving for acoustic phase on a boundary from a source near it

Please login with a confirmed email address before reporting spam

Hello, I am modeling an acoustic source in water and using the deformation geometry to model a water wave above it. My goal is to understand the phase of the acoustic wave at the water/air boundary. I am using the transient pressure acoustics where I can set the pressure amplitude. From this I can probe at the boundary section with the arg() operator to get phase, but the phase just switches between 0 and 3.14 radians (see attached image for response at a single probe point in the water). Is there a way to get a more granular phase output? Or what am I missing in terms of how COMSOL solves these pressure models?

Thanks for any advice you have Troy



3 Replies Last Post Jun 19, 2024, 7:34 a.m. EDT
Mark Cops COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 5 months ago Jun 18, 2024, 11:34 a.m. EDT

Hi Troy, I tried compiling the .java file and opening the .class file but most of the details were lost. It would be best to post the .mph file directly.

The arg() operator is used for finding the phase angle of a complex number. If you are running a time dependent acoustic study, all quantities are real valued and therefore it is meaningless to use the arg() operator.

One thing to consider when modeling the problem is if the speed of sound in the water is much faster than the bulk water wave speed? This could allow you to decouple the problem - solve for a time harmonic pressure field at one instant when the wave profile is "frozen" in time.

-Mark

Hi Troy, I tried compiling the .java file and opening the .class file but most of the details were lost. It would be best to post the .mph file directly. The arg() operator is used for finding the phase angle of a complex number. If you are running a time dependent acoustic study, all quantities are real valued and therefore it is meaningless to use the arg() operator. One thing to consider when modeling the problem is if the speed of sound in the water is much faster than the bulk water wave speed? This could allow you to decouple the problem - solve for a time harmonic pressure field at one instant when the wave profile is "frozen" in time. -Mark

Acculution ApS Certified Consultant

Please login with a confirmed email address before reporting spam

Posted: 5 months ago Jun 19, 2024, 3:35 a.m. EDT

As Mark said, arg is for complex numbers. For real numbers, there would only be two possible results; 0/2pi for positive numbers, and pi for negative numbers. So consider doing the analysis directly in the frequency domain, or converting the time domain results to the frequency domain if applicable.

-------------------
René Christensen, PhD
Acculution ApS
www.acculution.com
info@acculution.com
As Mark said, arg is for complex numbers. For real numbers, there would only be two possible results; 0/2pi for positive numbers, and pi for negative numbers. So consider doing the analysis directly in the frequency domain, or converting the time domain results to the frequency domain if applicable.

Please login with a confirmed email address before reporting spam

Posted: 5 months ago Jun 19, 2024, 7:34 a.m. EDT
Updated: 5 months ago Jun 19, 2024, 7:37 a.m. EDT

Hi Troy, I tried compiling the .java file and opening the .class file but most of the details were lost. It would be best to post the .mph file directly.

The arg() operator is used for finding the phase angle of a complex number. If you are running a time dependent acoustic study, all quantities are real valued and therefore it is meaningless to use the arg() operator.

One thing to consider when modeling the problem is if the speed of sound in the water is much faster than the bulk water wave speed? This could allow you to decouple the problem - solve for a time harmonic pressure field at one instant when the wave profile is "frozen" in time.

-Mark

Hi Mark, Thank you for your thoughts. I didnt realize the values were only real in a time domain study. That's helpful to know. I'll investigate if solving this problem with a stationary geometry in the frequency domain will work for my needs. Thanks again for the information.

Troy

>Hi Troy, >I tried compiling the .java file and opening the .class file but most of the details were lost. It would be best to post the .mph file directly. > >The arg() operator is used for finding the phase angle of a complex number. If you are running a time dependent acoustic study, all quantities are real valued and therefore it is meaningless to use the arg() operator. > >One thing to consider when modeling the problem is if the speed of sound in the water is much faster than the bulk water wave speed? This could allow you to decouple the problem - solve for a time harmonic pressure field at one instant when the wave profile is "frozen" in time. > >-Mark Hi Mark, Thank you for your thoughts. I didnt realize the values were only real in a time domain study. That's helpful to know. I'll investigate if solving this problem with a stationary geometry in the frequency domain will work for my needs. Thanks again for the information. Troy

Reply

Please read the discussion forum rules before posting.

Please log in to post a reply.

Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.