Sheet Bodies for Generation of internal Surface

Hi,
I use sheet bodies for the generation of internal surfaces in a volume, do compute, for example, the magnetic flux. In doing so, I recognize, that the extracted sheet body from another body don’t get merged, which means, when I do “highlight surfaces not is_merged”, this surface is shown. Furthermore, when I compare the computed magnetic flux and the analytic solution, a deviation in the results can be observed. When I use a another approach by defining a volume and subtract this volume form another one to generate a surface for the magnetic flux computation, the result fits with the analytic one. Using webcuts would also work for this example, but for a more complex example, this becomes very cumbersome.

My question is, how are sheet bodies working and is my approach for generating internal surfaces with sheet bodies feasible?

I also add different variation for the generation of internal surfaces. The testcase is a coil with an iron core surrounded with air. In the middle of the iron core I want to create the internal surface.
For “test_magFlux_V1.jou” to “test_magFlux_V3.jou” I use sheet bodies and in “test_magFlux_V4.jou” I use a volume. For V1 to V3 the results are wrong and for V4 the results of the computation fits with the analytic one.

Best regards
Andreas

test_magFlux_V1.jou (735 Bytes)
test_magFlux_V2.jou (1.1 KB)
test_magFlux_V3.jou (1.4 KB)
test_magFlux_V4.jou (755 Bytes)

Hi Andreas,

Looking at the version 1 file, I don’t see any sheet bodies. I do see the following:

create Cylinder height 1 radius 4
move volume 2 z -0.5
subtract volume 5 from volume 1 keep_tool

Is there a typo here? Did you mean to move volume 5 that was just created? If you want to move volume 2 you should move it before you do the Boolean operation so that the surfaces will align after the Boolean operation.

I am not a magnetics simulation expert, but it does seem odd to me that you are applying a boundary condition called “S_flux” on nodes. Typically, a flux is defined over an area. Thus, you would define the boundary condition on element faces using a sideset.

Karl

Hi Karl,

thanks for the answer.
Ok, thats interesting, because the file should look like

reset

create Cylinder height 50 radius 5 
create Cylinder height 50 radius 10 

subtract volume 1 from volume 2 keep_tool
create surface circle radius 4 zplane 

create Cylinder height 100 radius 20 
subtract volume 1 2 from volume 4 keep_tool

subtract body 3 from body 1 imprint

imprint all
merge all

volume all tetmesh growth_factor 1.1
volume all scheme tetmesh
volume all size 2
mesh volume all

block 1 add volume 6
block 1 name "V_core"

block 2 add volume 2
block 2 name "V_coil"

block 3 add volume 5
block 3 name "V_air"

nodeset 1 add surface not is_merged except surface 17
nodeset 1 name "BC_outer"

nodeset 2 add surface 17
nodeset 2 name "S_flux"

body all scale 0.001

export ansys cdb "test_magFlux.cdb" overwrite

The sheet surface is created with

create surface circle radius 4 zplane

which is then subtract from body 1.

You are absolutely right, but with our FEM-Solver, we have to load a cdb-File and as far as I know sidesets are not written out, only blocks and nodesets.

Regards
Andreas

Hi Andreas,

I normally mesh the internal surface and then add the triangles using the tetmesh respect option.

surface 10 scheme trimesh
surface 10 size 2
mesh surf 10
volume 1 tetmesh respect tri in surface 10
volume all scheme tetmesh
volume all size 2
mesh vol all except 3

Your nodeset would change to

nodeset add node in surface 10

That said, your method seems to be working in this case.

A cross section of the surface elements shows triangles on surface 17 (highlighted).

If I do draw tet in tri in surface 17 The tets are correctly attached to the circle.
image

Similarly, the other tets in merged surfaces are correctly attached. This appears to be a valid mesh to me.

Karl

Hi Karl,
when I understand it correctly, you don’t subtract the sheet body from the core volume and then used the meshing strategy shown above?

In doing so, the mesh looks valid. However, when I “highlight surface not is_merged”, the nodes in this surface aren’t merged. I assume, this is the issue in the simulation. Is it somehow possible to force the merging of this surface?

Andreas

Hi Andreas,

That is correct. With the tetmesh respect option you don’t have to create the non-manifold geometry. It gets added directly into the mesh.

The surface is not merged, but the nodes are merged. If I do a coincident node check,

topology check coincident node volume all tolerance .5 draw brief result group

it shows that all there are no nodes in the volumes closer than .5 units. The image above with the tetrahedra on the circle shows that the nodes are connected to the tetrahedra on both sides. Similarly,
doing a draw tet in node in nodeset 2 shows that the tets are correctly attached to the flux source.

image

I’m not sure where the disconnect between the mesh and the analysis is occurring. I believe that the mesh is correct.

Karl

Hi Karl,

ok, I see. Then I have to check our FEM-Solver, maybe there is a bug.
Thank you very much for your help.

Andreas