Simulation of Planar Magnetic membranes; tweeter and midrange

For the full context, please look in this thread at diyaudio.com.

I’m new to PrePoMax, so please bear with me if I’m using the wrong vocabulary or asking very simple questions.
I’m not all new to FEA; I’ve been using FEMM4.2, simulating magnetics for loudspeakers, for many years.

A planar magnetic usually has the following components:
Steel plates,
Magnets,
Membrane,
Electric conductors.

The electric conductors are usually very thin aluminum foil bonded to the membrane.
The membrane could be PET, PEN and so on and is also very thin.

I want to use PrePoMax to simulate eigenmodes of the membrane and then the modes from applying force from the aluminum foil so that I can come up with countermeasures, as these modes most often introduce harmonic distortion.

My first problem is:
In the tweeter case I have a 12µm PEN membrane in a retainer. The free part of the membrane is 75mm in diameter, it is glued to the retainer while being tensioned.

I want to find the bare membrane’s eigenmodes.

I have managed to mesh the design, and I have a named Element set for the perimeter.

What BCs should I apply?

I assume that you are using a surface geometry and meshing with shell elements then ?

If it’s glued then it should make sense to fix the perimeter in all directions.

Keep in mind that frequency analysis can use static preload. See this tutorial: https://youtu.be/-M2BOHHkUf4?is=CMe72oos9Y9o4s5-

Also, it makes sense to utilize symmetry whenever possible. This simplifies the boundary condition setup, but you will only get the symmetric modes then.

Yes.

Ok. But I thought that I could use the Named Element set

I’ve studied the video several times. But now that I now that I’m on the right track, I will do it again.

For the simple membrane, perhaps. I can then correlate the first simulated eigenmode with the actual resonance frequency, which is around 300Hz.

But the next step is to have five thin rectangular aluminum strips vertically on the center of the membrane and then apply different amplitudes of forces in a frequency range of 2000Hz to 20000Hz.

The last step is to apply varnish, the red circle below, that covers the aluminum strips to even the modes from the force from the aluminum strips. It will be applied in a circle with a diameter of 60mm.


So the final goal is to determine the thickness of this varnish layer in order to make the inner plate behave more piston-like without adding too much weight to the membrane.

There will, of course, be real-life check-ups during the process.

You can create a node set and then select it for the boundary condition. Or select the region only when creating the boundary condition. Both workflows are valid.

Are the strips imported as separate parts lying on the membrane’s surface ? Are you compounding all the parts together (to avoid having yo use tie constraints) ?

Ok, for that you will need to follow the frequency step with the Steady State Dynamics one because loads can’t be applied in the frequency step itself. Make sure that you enable Storage for the frequency step. I have a simple tutorial for SSD analyses as well.

Ok, got it. I guess I was a little confused by the BC symbol showing up in the middle.

They are separate parts with the aluminum strips extruded on one side of the PEN membrane and the varnish layer on the other. They are exported as STL, converted to STEP-214-files and then imported into PrePomax.

In PrePoMax I converted them to shells

The PEN and Varnish plates’ perimeters are not circles but polygons.

Ok, I will check it out when I am over the first hurdles.

Compared to the video, there seems to be no pop-up menu when I right-click on the part in the view window, and there is no meshing parameters setting when I right-click on the part on the left.

Yeah, the BC symbol is shown in the center of gravity of the set. Sometimes, it might be confusing.

Just make sure that you import and use for meshing only the midsurface (or top/bottom surface if working with offsets) of the thin-walled part. Meshing the whole outer shell (of a hollowed solid) would result in duplicated material.

Fortunately, you can use the Check Model option instead of normally submitting the analysis to render the shell thicknesses.

Right, meshing options changed in later releases. Meshing Parameters are now added in the same way as other mesh items and only mesh generation is in the context menu.

Yes, I saw that. But I can’t make it work either. I get this:

But I can’t select anything.

Are you working on a laptop ? What PrePoMax and Windows version ? I’ve encountered problems with selection too, but only on some laptops.

It should work this way:

sel mesh param

It works with PrePoMax version 2.51.1 dev :grinning_face: .

The membrane consists of seven parts, two circular plates called PEN and Varnish and five rectangular aluminum strips, see the third posts.

PEN is 12µm thick and 75mm in diameter and Varnish is about 20µm but possible more later and 60mm in diameter.

The aluminum strips are 6.35µm thick.

All meshes fine except Varnish.

I have the following meshing parameters:

And I get the following results:

I’ve also noticed that PrePoMax suddenly aborts.

Are you trying to mesh it with solids ? Tetrahedrons, specifically ? If the part is so highly thin-walled then you should use at least hexahedral elements, but ideally start with a surface meshed using shell elements.

If it’s a problem with surface (shell) mesh generation then try the Shell Gmsh algorithm. But you may also need to simplify the geometry if it has very small features such as tiny holes for instance.

I export stl-files from Fusion and convert them to STEP AP-214 using eMachineShop’s converter.

Then I import the STEP-files to PrePoMax where I convert them to shells.

The geometry for PEN and Varnish plates is the same; only thickness and the diameter of the plates differ.

I’ve tried Shell Gmsh and it works, but I want a smaller maximum mesh size, and it doesn’t seem possible to enter it:

I just tried to mesh the PEN plate again, and then I got the same error message I got for the Varnish plate.

Can’t you export from Fusion to STEP directly ? And maybe obtain the shells (midsurfaces normally) there too ?

This workflow seems overly complicated if a single (mid)surface is the result.

Mesh size is not entered in the Shell Gmsh window - it uses the size from Meshing Parameters and local refinements.

Can you show the geometries from the sides ?

The standard workflow to model such thin-walled parts would be:

  1. Start from a solid part, extract its midsurface and export it to STEP (here using FreeCAD):

  1. Import the midsurface to PrePoMax:

  1. Mesh it with shell elements, possibly using Quasi-structured Shell Gmsh or other regular algorithm to generate quad-dominated mesh:

  1. Assign a shell section with a proper thickness:

  1. After running an analysis or Check Model procedure, you can see the shell automatically expanded to a solid layer by the solver:

1 Like

No, I only have the free version of Fusion and it cannot export STEP.

I’m using the fully fledged CAD design for SMACK to get the correct dimensions, so for me it is much more complicated to learn a new CAD program such as FreeCad for the simulation items only.

Yes, Local Mesh Size worked but I’m not sure Meshing parameters did.

Does Shell Gmsh take the Mesh size from Local Mesh Size and the Quad seting from Meshing parameters.

Sure, this is PEN and Varnish, Varnish being on the backside of the PEN membrane (negative Z):

And this is with the aluminum strips as well:

To me the layers seem to be at the right Z coordinates and with the correct thicknesses.

Generally speaking, it should take into account both global (Meshing Parameters) and local (Local Mesh Size) settings. So global size comes from Meshing Parameters, but can be locally refined with Local Mesh Size. Sometimes the latter doesn’t work as expected, though (depends also on the algorithm).

However, the Quad-dominated mesh setting in Meshing Parameters was implemented for Netgen (before support for Gmsh was added to PrePoMax). Shell Gmsh has individual settings for that (Quasi-structured quad algorithm and Simple/Blossom recombination algorithms, as well as their full quad versions).

Thanks for the screenshots and model, they confirm my suspicions - your model is not just a midsurface, but all faces of a solid part converted to shell. After assigning a shell section, it leads to duplicated material (two layers):

You should use a midsurface approach:

Here, I did it on just one strip to illustrate the workflow:

Strip midsurface.pmx (64.5 KB)

1 Like

Yepp, I can see that now. It is hard to know which parameters are changeable or not.

So I guess that should use the Quasi-structured quad.

Thanks for the clarification. Now the tricky part is to get a midsurface out of Fusion.

I got some hints that I will try:

Exporting a solid model as a shell representation (or “midsurface”) for FEA is typically done by offsetting faces and stitching them together into surfaces, or by exporting the solid as an .stl / .stp file and using dedicated simulation tools. [1, 2, 3]

To prepare your solid body for shell export in Autodesk Fusion, follow these steps:

Method 1: Generating the Midsurface in Fusion

  1. Offset Faces: Go to Design > Surface > Modify > Offset, and select the faces of your solid body. Offset them by exactly half the thickness of your material.

  2. Close the Gaps: If you have openings, use Create > Patch to seal the boundaries.

  3. Stitch into Surface: Go to Modify > Stitch, select your offset surfaces, and stitch them together to create a cohesive Surface Body.

  4. Export: Right-click the surface body in the browser tree and select Save As Mesh to export as an .stl or .3mf, or go to File > Export to save it as a STEP file (which is standard for FEA programs). [1, 2, 3, 4]

I can use Modfify/Shell, but it still requires a thickness:

Great, I will check it out.

I must get my workflow right, though, as I will make more simulations.

Mostly yes (to get a regular quad mesh), but sometimes it doesn’t work properly for more complex shapes and recombination algorithms have to be used.

Most CAD software has some form of surface offset tool, but maybe you could just model it using surfaces from the scratch. If Fusion can’t handle it, let me know and I will provide detailed instruction for FreeCAD (you can just import the geometry therr and offset it with two operations).

Yeah, this is called shell, but it still produces solid geometry, just thin-walled.

Which strip is then the correct one since you made two: Shell_Part-1 and Shell-Part-2?

Shell_part-1 has the area of the body:

And Shell_part-2 has the area of the shell, thus zero thickness.

My guess is that Shell_part-2 is the correct one.