Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.

Acoustic far field calculation with rotationally symmetric 3D geometry

Please login with a confirmed email address before reporting spam

For large 3D acoustics problems when a far-field calculation is required, it is straightforward to save computation resources by create the pfar variable on a 1/2, 1/4, or 1/8 size domain boundary and using the check boxes for "symmetry in the x=0 plane", or "symmetry in the y=0 plane", or "symmetry in the z=0 plane" where applicable.

However, in the case where the geometry is not conveniently symmetric along these planes, e.g. rotationally symmetric or symmetric in 60 degree sections perhaps, is there a way to exploit this type of symmetry?


3 Replies Last Post 15.03.2018, 01:32 GMT-4
Mads Herring Jensen COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 7 years ago 06.03.2018, 04:01 GMT-5
Updated: 7 years ago 06.03.2018, 09:59 GMT-5

Dear Liam

The only approach that would work in such a case is to map (using one of the mapping extrusion operators) from your "non-fitting geometry" to a component where the geometry is fitting (say full 3D). Here you can add a "dummy" acoustics interface to enable the far-field calculation feature. Unfortunately, there is no out-of-the-box solution. I will take note of your question for future improvements to the functionality.

Best regards,

Mads

Dear Liam The only approach that would work in such a case is to map (using one of the mapping extrusion operators) from your "non-fitting geometry" to a component where the geometry is fitting (say full 3D). Here you can add a "dummy" acoustics interface to enable the far-field calculation feature. Unfortunately, there is no out-of-the-box solution. I will take note of your question for future improvements to the functionality. Best regards, Mads

Please login with a confirmed email address before reporting spam

Posted: 7 years ago 07.03.2018, 02:32 GMT-5

Mads,

Thank you kindly for your reply. I tried your suggestion but unfortunately, I am not skilled enough to succesfully implement the concept you described.

I will start with describing that I have a 3D section which is rotationally symmetric with 10 sections ("pieces of cake"), and I have satisfactorially simulated this.

From what you describe (I assume) I need to add a new component (2) of the full 10 sections, and use 10x mapping operators between the first and second component. If I do this I can for example acess the solution from component 1 using linext1(p), linext2(p) to show 3D plots of all the mapped sections.

However, what you suggest with a dummy acoustics interface I don't quite understand. If I add another acoustics interface I introduce a variable 'p2', and I can define a far-field variable 'pfar' on an enclosing surface in 'geometry 2' which will calculate farfield response based on 'p2' . What I don't understand is how I can get pfar to base its calcualtions on 'p' (or linext1(p), linext2(p), etc...) and not 'p2'.

Or, perhaps I need to perform some 'p2 = 'linext1(p)', 'p2= 'linext2(p)' etc... operation in component 2, if so it is not obvious how I should do this. Perhaps, this now requires some calculation, and mesh for component2'? If so, what kind of mesh guidelines should I follow (e.g. coarse, same as component1,...?).

Mads, Thank you kindly for your reply. I tried your suggestion but unfortunately, I am not skilled enough to succesfully implement the concept you described. I will start with describing that I have a 3D section which is rotationally symmetric with 10 sections ("pieces of cake"), and I have satisfactorially simulated this. From what you describe (I assume) I need to add a new component (2) of the full 10 sections, and use 10x mapping operators between the first and second component. If I do this I can for example acess the solution from component 1 using linext1(p), linext2(p) to show 3D plots of all the mapped sections. However, what you suggest with a dummy acoustics interface I don't quite understand. If I add another acoustics interface I introduce a variable 'p2', and I can define a far-field variable 'pfar' on an enclosing surface in 'geometry 2' which will calculate farfield response based on 'p2' . What I don't understand is how I can get pfar to base its calcualtions on 'p' (or linext1(p), linext2(p), etc...) and not 'p2'. Or, perhaps I need to perform some 'p2 = 'linext1(p)', 'p2= 'linext2(p)' etc... operation in component 2, if so it is not obvious how I should do this. Perhaps, this now requires some calculation, and mesh for component2'? If so, what kind of mesh guidelines should I follow (e.g. coarse, same as component1,...?).

Please login with a confirmed email address before reporting spam

Posted: 7 years ago 15.03.2018, 01:32 GMT-4

For the benefit of the community I will share in detail how I solved this problem.

My original model is (in COMSOL 5.1a) a 3D pressure acoustics frequency domain simulation, consisting of 10 rotationally symmetric sections in the xy plane with symmetry in the z plane. The domain extent is hemispherical, of radius Ra, with an additional spherical PML

Initially the model can be solved for a single 1/10 hemisphere section using periodic boundary conditions (component1)

To achieve far-field mapping in full 3D, as Mags suggests I created a second component (component2) whereby the single section geometry of component1 can map onto a full 3D geometry. I found that I could most efficiently achieve this with a spherical shell geomtery of outer radius Ra, and inner radius Ra-De, where De is a short distance representing a thin layer. When meshing the geometry the domain is 1 element thick using swept elements.

In order to facilite the mapping some modifications were necessary in the model in component1. Firstly, in the geometry, a extra spherical layer was created, thickness De, just below the radius Ra. This is to create a boundary in geometry1 which maps precisely to the equivalent boundary in geometry2. Secondly 10x linear extrusion operators were created to map geometry 1 to each rotated section. An important point is that the source of the mapping should consist of the inner and outer boundaries of the 1/10 hemisphere shell of geometry1, not the full domain.

As Mags suggested a "dummy" pressure acoustics interface is necessary to access the far-field functionality. Within the acoustics interface in componentt2 we should we require the mapping of acoustic pressure from component1. This is acheived by creating 10x pressure boundary conditions for the inner and outer faces of the spherical shell geometry where the boundary condition is p2= linext1(p), p2= linext2(p), p2= linext3(p)... etc as appropriate. With the addition of the pfar far-field variable (and checking "Symmetry in the z=0 plane").

Finally, when solving it seems that the two components should be solved seperately. I found that I could do this by having 2 steps in a single study, whereby only component1.acpr is active in the first step, and only component2.acpr2 is active in the second step. In order that the result from the first step is available to the second step, I checked the box "Values of variables not solved for" under the menu "Values of Dependant Variables" in the second study step. I chose "Method: Solution"; "Study: [same study - infers the previous step]"; "Parameter value (freq (Hz)): All"

I found that this gave me the expect results compared to the full 3D simulation.

For the benefit of the community I will share in detail how I solved this problem. My original model is (in COMSOL 5.1a) a 3D pressure acoustics frequency domain simulation, consisting of 10 rotationally symmetric sections in the xy plane with symmetry in the z plane. The domain extent is hemispherical, of radius Ra, with an additional spherical PML Initially the model can be solved for a single 1/10 hemisphere section using periodic boundary conditions (component1) To achieve far-field mapping in full 3D, as Mags suggests I created a second component (component2) whereby the single section geometry of component1 can map onto a full 3D geometry. I found that I could most efficiently achieve this with a spherical shell geomtery of outer radius Ra, and inner radius Ra-De, where De is a short distance representing a thin layer. When meshing the geometry the domain is 1 element thick using swept elements. In order to facilite the mapping some modifications were necessary in the model in component1. Firstly, in the geometry, a extra spherical layer was created, thickness De, just below the radius Ra. This is to create a boundary in geometry1 which maps precisely to the equivalent boundary in geometry2. Secondly 10x linear extrusion operators were created to map geometry 1 to each rotated section. An important point is that the source of the mapping should consist of the inner and outer boundaries of the 1/10 hemisphere shell of geometry1, not the full domain. As Mags suggested a "dummy" pressure acoustics interface is necessary to access the far-field functionality. Within the acoustics interface in componentt2 we should we require the mapping of acoustic pressure from component1. This is acheived by creating 10x pressure boundary conditions for the inner and outer faces of the spherical shell geometry where the boundary condition is p2= linext1(p), p2= linext2(p), p2= linext3(p)... etc as appropriate. With the addition of the pfar far-field variable (and checking "Symmetry in the z=0 plane"). Finally, when solving it seems that the two components should be solved seperately. I found that I could do this by having 2 steps in a single study, whereby only component1.acpr is active in the first step, and only component2.acpr2 is active in the second step. In order that the result from the first step is available to the second step, I checked the box "Values of variables not solved for" under the menu "Values of Dependant Variables" in the second study step. I chose "Method: Solution"; "Study: [same study - infers the previous step]"; "Parameter value (freq (Hz)): All" I found that this gave me the expect results compared to the full 3D simulation.

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.