In view of a previously failed attempt #49, I take another approach now. Instead of manipulating the exported mesh, I make use of the topology I have at my disposal when dealing with the grains. This is a double-edged weapon:
I can count on the capabilities of the Salome platform, and possibly create a Salome plugin that will be useful for other people as well
because of the dependencies, the functionalities will only be available from the Python interpreter shipped by Salome. I do not consider it as a big issue: the med module already depends on Salome.
Requirements:
only support functionalities that we need:
it must work for junctions (where three or more interfaces meet) and for closed interfaces as well
including these elements are only supported along the interfaces, and not between arbitrary pairs of 2D elements
the cohesive zone insertion algorithm should be loosely coupled to the rest of the salome module, i.e. it should be factored out to its own class, such as CohesiveZone.
export the cohesive elements to a valid Abaqus input file: take care of the
orientation of the cohesive elements: the top and bottom should match for a given interface
CCW orientation of the elements
in the (not so) distant future, creating a GUI around the cohesive element insertion algorithm would help the users. I don't think that would be a huge work: as soon as I have the functions, I can simply create a dialogue box in Qt (which is shipped with Salome).
In view of a previously failed attempt #49, I take another approach now. Instead of manipulating the exported mesh, I make use of the topology I have at my disposal when dealing with the grains. This is a double-edged weapon:
med
module already depends on Salome.Requirements:
salome
module, i.e. it should be factored out to its own class, such asCohesiveZone
.