[Gmsh] double surfaces/lines between adjacent bodies

Mark van Doesburg mark.van.doesburg at technolution.nl
Wed Mar 11 17:51:10 CET 2009


Hello Matthias,

I have the same problem and am working on a solution. This solution
consists of an algorithm which uses OpenCASCADE to find all overlapping
vertices/edges and surfaces and merge them.  This includes partial
overlaps.

With a partial overlap I mean for example a small edge with overlaps a
larger edge in the middle. The algorithm will split the longer edge in
three pieces and the overlapping section is merged. As similar method
is used to merge partially overlapping surfaces.

I was creating this as part of a BRL-CAD reader for gmsh, but it is
probably usefull for all OpenCASCADE models. Unfortunately it is not
yet finished.

regards,

Mark van Doesburg

"Zenker, Dr. Matthias" <Matthias.Zenker at erbe-med.de> wrote:

	Hi Elmer and gmsh  list,

	I use gmsh and Elmer to simulate an electrical current flowing through a
	conductive medium between two electrodes. I get the geometry from my CAD
	colleagues in STEP format, import it in gmsh, mesh it, read the mesh
	with Elmer and do the FEM calculation there. Most of the time, the
	calculations are 2D. This works in principle, but there is the following
	problem: 
	Electrode and medium have common surfaces (resp. lines in 2D). When I
	get the geometry in STEP format, every part (Electrodes and Medium) has
	its own outer surface (line). This leads to double surfaces (lines)
	between the adjacent bodies. For geometry and mesh import, this is no
	problem, neither for gmsh nor for elmer - the mesh is imported OK in
	Elmer. But when I do the simulation, I see that no current flows through
	this double surface (although only one of them is defined as physical in
	gmsh, and only that one is seen in Elmer).
	Removing the double surface/line in gmsh is rather tedious (Identify the
	problematic regions where there is a double line between adjacent
	surfaces. Delete at least one of the adjacent surfaces. Delete the
	corresponding line at the interface. Delete its points. Redefine the
	surface(s) which was (were) deleted before. It gets more complicated in
	case of only partially overlapping lines which have to be partially
	reconstructed.).

	Question: How do I deal with this problem? Is there a more elegant (and
	less time consuming) way than manual removal of the double lines? (The
	autocoherence function in gmsh which is intended to remove double
	duplicate entities in geometries is switched on, but does not seem to
	have any effect.)
	I imagine that this must be a known problem, since doing simulations
	with geometries imported from 3D CAD systems is not so uncommon after
	all.
	Further it is not totally clear to me where the problem really comes
	from. I suspect non-identical mesh nodes at the interface, which inhibit
	current flow across the border.

	Ideas and suggestions are more than welcome...

	Thank you,

	Matthias

	----------------------------------------------------------------
	ERBE Elektromedizin GmbH
	Dr.rer.nat. Matthias Zenker
	Dipl. Phys.
	Grundlagenentwicklung Technologie
	Waldhoernlestrasse 17
	72072 Tuebingen
	Phone + 49 7071 - 755 226
	Fax + 49 7071 - 755 5226
	mailto:Matthias.Zenker at ERBE-med.de
	www.ERBE-med.de
	----------------------------------------------------------------


	_____________________________________________________________________
	ERBE Elektromedizin GmbH
	Firmensitz: 72072 Tuebingen
	Geschaeftsfuehrer: Christian O. Erbe, Reiner Thede
	Registergericht: Stuttgart HRB 380137