Trying my hand at ABEC3 again....tried a couple years ago but got busy with other things and put it down. I'm trying to model a simple sealed box and woofer using a STEP file for both. I made a 1/4 model to use symmetry in ABEC. I can get my cad file into gmesh and seem to get everything meshed fine. The model looks ok in ABEC but every time I try to solve I get: Prolems generating mesh for element "Elements - Box Exterior, 101, TD15M Sealed\Solving modified.txt." Due to nature of the error message I wonder if it's an issue with my solving script. Would anyone care to look at what I've got going on and see if anything is amiss?
Attachments
I'm not an expert but I have used it. The file you included may not be your working copy, it has no references in the project file.
Try this. The project file includes are fixed, as are references to your mesh. Still lots of work to do 🙂 Still has a problem with the external box.
Try this. The project file includes are fixed, as are references to your mesh. Still lots of work to do 🙂 Still has a problem with the external box.
Attachments
Last edited:
Any help is appreciated - thanks! That is my working copy. I'm not sure what the missing references are....it looks like you changed my reference "M" to "Alias1".
The problem was in the mesh file. Look at the end of the *.msh file, in the elements section and notice how many fields (columns) are in each element. I regenerated the mesh file from your step file using gmsh (called v2a). It solves without error now.
Still needs work on the observation scripts. I also modified the LEscript as it was missing the connection between the driver and rad imp. I reduced the mesh freq and number of freq obs to make compiles faster until more stuff is working. I use an i7-2700K (8 core) 3.5GHz as these sims can take a long time.
When you add files to the project, they need to be "registered". When you look in the Project tab you should see them listed by category.
Still needs work on the observation scripts. I also modified the LEscript as it was missing the connection between the driver and rad imp. I reduced the mesh freq and number of freq obs to make compiles faster until more stuff is working. I use an i7-2700K (8 core) 3.5GHz as these sims can take a long time.
When you add files to the project, they need to be "registered". When you look in the Project tab you should see them listed by category.
Attachments
Just a suggestion. Since this discussion is primarily about getting ABEC to run, it might be better suited in the http://www.diyaudio.com/forums/software-tools/ forum.
Ok thanks I'll take a look later today.
I thought about the software forum but didn't think it would get much traction there.
I thought about the software forum but didn't think it would get much traction there.
I had a few moments to try an obs field. When I noticed the scale is wrong, the box was ginormous with scale=1inch, so I changed it to 1mm. The observation field is 1m from origin and the outer box view was removed to see the inner pressure (pic below).
The field is "blocky" near the edges because its a low mesh freq. Enough to check things are working. Files need cleanup. 🙂
The field is "blocky" near the edges because its a low mesh freq. Enough to check things are working. Files need cleanup. 🙂
Attachments
Last edited:
You still used '1in' for scaling in the 'solving modified' file:
// MeshFileAlias=M is an alias to a mesh-file
// which is exported by GMESH.
// Since all dimensions are in mm we use Scale=1mm.
MeshFile_Properties
MeshFileAlias=Alias1
Scale=1mm
The enclosure got huge for this reason (the filed is comparably small as given in 'mm').
You may want to change this. Solving times go down as well... However, I did not check your STEP or mesh file with respect to indented dimensions (in or mm).
I add the modified solving file (extended frequency range to 1000Hz and no of frequencies to 50) and observation field file.
Christoph
PS: Opps - cross posting with DonVK
// MeshFileAlias=M is an alias to a mesh-file
// which is exported by GMESH.
// Since all dimensions are in mm we use Scale=1mm.
MeshFile_Properties
MeshFileAlias=Alias1
Scale=1mm
The enclosure got huge for this reason (the filed is comparably small as given in 'mm').
You may want to change this. Solving times go down as well... However, I did not check your STEP or mesh file with respect to indented dimensions (in or mm).
I add the modified solving file (extended frequency range to 1000Hz and no of frequencies to 50) and observation field file.
Christoph
PS: Opps - cross posting with DonVK
Attachments
Last edited:
LOL. and yes the scale was corrected. I noticed the woofer was 3.8m across, and thought "wow, that's really bold, go big or go home 🙂 "
Last edited:
Thanks for the help guys! The scaling to 1in was intentional as I'd rather not think in metric, but I forgot the observation scripts needed to be changed as well.
What I don't understand is what was wrong with my mesh? Where do you find the info you mentioned here? I'm looking at your spreadsheet but don't have a clue what I'm looking for.
What I don't understand is what was wrong with my mesh? Where do you find the info you mentioned here? I'm looking at your spreadsheet but don't have a clue what I'm looking for.
The problem was in the mesh file. Look at the end of the *.msh file, in the elements section and notice how many fields (columns) are in each element. I regenerated the mesh file from your step file using gmsh (called v2a). It solves without error now.
Yes, that was cryptic now that I read it again. It was clear to me when I wrote it
. That said, I'm not an expert on 3D mesh or gmsh.
Your original mesh file only has element type "2" =triangles, with 2 tags, and the expected 3 nodes and it was used exclusively. This is unusual, as there are no points (type=15, 1 node) or lines (type=1, 2 nodes). These other element types have different number of fields, so the number of columns will change. That's why I used a spreadsheet, I can import them using comma or space to separate the fields to make it easier to view this information. Hopefully that's clearer this time round. When I regenerated the mesh from step, I see element types of points, lines and triangles and ABEC is happy again. I attached the gmsh2 file spec so you can have a look.
I can't pinpoint specifics of a node or element causing the error. it may have been an open surface or an overlap. The ABEC error was occurring in both the inner and outer box, it was flagged and ABEC died on the outer box just because it was listed first in the file.

Your original mesh file only has element type "2" =triangles, with 2 tags, and the expected 3 nodes and it was used exclusively. This is unusual, as there are no points (type=15, 1 node) or lines (type=1, 2 nodes). These other element types have different number of fields, so the number of columns will change. That's why I used a spreadsheet, I can import them using comma or space to separate the fields to make it easier to view this information. Hopefully that's clearer this time round. When I regenerated the mesh from step, I see element types of points, lines and triangles and ABEC is happy again. I attached the gmsh2 file spec so you can have a look.
I can't pinpoint specifics of a node or element causing the error. it may have been an open surface or an overlap. The ABEC error was occurring in both the inner and outer box, it was flagged and ABEC died on the outer box just because it was listed first in the file.
Attachments
Last edited:
Have you read Gaga's post on the German forum? I translated them into English and they helped me a lot. ABEC is still an exceptionally difficult program to learn though.
Hi,
The meshing step, i.e. quality of the mesh is indeed critical for ABEC simulations.
From the thread mentioned by Patrick Batemen a stepwise description how to move from a CAD-file (STEP-file) to gmesh and to ABEC:
- Get a step-file from a CAD program, post #248.
- Get a mesh-file in gmesh, post #250.
- Import the mesh to ABEC, post #252.
There are some hints on favorable settings in gmesh in other posts, e.g. set element size (fineness of the mesh) in gmesh exclusively via 'Element Size Factor' or activate 'optimise hexa netgen' for meshing.
I can summarize my preferred settings here if interested (not necessarily the best for all applications though, but may be a good start).
Christoph
The meshing step, i.e. quality of the mesh is indeed critical for ABEC simulations.
From the thread mentioned by Patrick Batemen a stepwise description how to move from a CAD-file (STEP-file) to gmesh and to ABEC:
- Get a step-file from a CAD program, post #248.
- Get a mesh-file in gmesh, post #250.
- Import the mesh to ABEC, post #252.
There are some hints on favorable settings in gmesh in other posts, e.g. set element size (fineness of the mesh) in gmesh exclusively via 'Element Size Factor' or activate 'optimise hexa netgen' for meshing.
I can summarize my preferred settings here if interested (not necessarily the best for all applications though, but may be a good start).
Christoph
Don - I'll take a look at what you're talking about later.
Yep! Found that a couple years ago and it has been a huge help. I've been going back through it a ton lately. Google translate works fine.
I'd appreciate that.
Have you read Gaga's post on the German forum? I translated them into English and they helped me a lot. ABEC is still an exceptionally difficult program to learn though.
Yep! Found that a couple years ago and it has been a huge help. I've been going back through it a ton lately. Google translate works fine.
I can summarize my preferred settings here if interested (not necessarily the best for all applications though, but may be a good start).
Christoph
I'd appreciate that.
Hi,
Just ask if something gets messed up with google translate in the ABEC thread - I'm happy to translate the respective parts.
Will summarize my preferred gmesh-settings here these days as well. Just busy right now...
Christoph
Just ask if something gets messed up with google translate in the ABEC thread - I'm happy to translate the respective parts.
Will summarize my preferred gmesh-settings here these days as well. Just busy right now...
Christoph
OK, here is how I actually use Gmsh.
Disclaimer 1: I'm using version 3.0.4 for OSX, other versions might look a bit different.
Disclaimer 2: This may not be the best option to mesh for all situations. I just works fine for me.
Disclaimer 3: You probably know most of the steps. I explain in some detail anyway in order to make it clearer for ABEC beginners....
Here we go.
The respective *.step-file has been opened in Gmsh.
I then apply following settings choosing 'Tools' and 'Options'.
Options 1
Within the 'Options' Window I choose 'Mesh' - 'General' and
- 'MeshAdapt' as 2D algorithm:
Moreover I define the mesh-resolution here by giving a number for the 'Element size factor'. The lower the number, the higher the resolution of the mesh.
Options 2
Before meshing, I select 'Optimize quality of tetrahedra with Netgen' under 'Tools' - 'Options' - 'Mesh' - 'Advanced':
Mesh
I do meshing via 'Mesh' - '2D'
Surface numbers
Surfaces labels can be seen choosing 'Surface labels' under 'Options' - 'Geometry' - 'Visibility'
You'll need these numbers in the 'Elements' Script in ABEC in order to reference the respective surfaces.
Save mesh:
Not much to comment here. The mesh file can then be imported to ABEC. The size of the 'XY.mesh' file gives a good indication on how long your computer will need to solve the file in ABEC.
Hope this helps.
Christoph
Disclaimer 1: I'm using version 3.0.4 for OSX, other versions might look a bit different.
Disclaimer 2: This may not be the best option to mesh for all situations. I just works fine for me.
Disclaimer 3: You probably know most of the steps. I explain in some detail anyway in order to make it clearer for ABEC beginners....
Here we go.
The respective *.step-file has been opened in Gmsh.
I then apply following settings choosing 'Tools' and 'Options'.
Options 1
Within the 'Options' Window I choose 'Mesh' - 'General' and
- 'MeshAdapt' as 2D algorithm:
Moreover I define the mesh-resolution here by giving a number for the 'Element size factor'. The lower the number, the higher the resolution of the mesh.
Options 2
Before meshing, I select 'Optimize quality of tetrahedra with Netgen' under 'Tools' - 'Options' - 'Mesh' - 'Advanced':
Mesh
I do meshing via 'Mesh' - '2D'
Surface numbers
Surfaces labels can be seen choosing 'Surface labels' under 'Options' - 'Geometry' - 'Visibility'
You'll need these numbers in the 'Elements' Script in ABEC in order to reference the respective surfaces.
Save mesh:
Not much to comment here. The mesh file can then be imported to ABEC. The size of the 'XY.mesh' file gives a good indication on how long your computer will need to solve the file in ABEC.
Hope this helps.
Christoph
Attachments
Christoph - that helps a ton thanks! I've been flying pretty blind in Gmesh with only some very basic guidelines from the German forum and I probably misinterpreted something along the way 🙄
I just re-meshed my drawing with your suggestions and ABEC solved no problem.
I just re-meshed my drawing with your suggestions and ABEC solved no problem.
- Status
- Not open for further replies.
- Home
- Loudspeakers
- Multi-Way
- ABEC experts - help!