Personal tools
You are here: Home Forum How to use Salome? Internal Compound Mesh Edge Numbering

Internal Compound Mesh Edge Numbering

Up to How to use Salome?

Internal Compound Mesh Edge Numbering

Posted by Philip Wardlaw at October 30. 2012

Hi there,

When making compound meshes, the external edge numbering of the sub-meshes is incorporated into new mesh. The result is internal edge numbering. I am creating the meshes for use with the deal.II software library, which strictly forbids internal edge numbering. Is there an easy solution for removing internal edge numbers, other than doing it manually?

Thanks in advance,

Phil

 

Re: Internal Compound Mesh Edge Numbering

Posted by Saint Michael at October 31. 2012

HI Phil

Do you mean that you need 1D elements but those inside the mesh are in the way? Or you need not 1D elements at all?

St.Michael

Edge Numbering

Posted by Carlos Lopez at September 23. 2013

Hi All,

I need to group edges of a box partitioned with several parallel planes in groups of x direction, y direction and z direction in a python script.

I can not realise in which order they are numbered by Salome, I did manage with surfaces but can not find the way to do it with edges.

I need the groups to give different max length to the wire discretisation algo to be able to choose the number of segments or cells created in each direction.

Thanks in advance,

Carlos.

Re: Internal Compound Mesh Edge Numbering

Posted by Saint Michael at September 24. 2013

Hi Carlos

You can get edge direction this way:

dx,dy,dz = geompy.VectorCoordinates( edge )

St.Michael

Re: Edge Numbering

Posted by Carlos Lopez at September 24. 2013

Ok, I found the way.

Listing the edges with "listEdges = geompy.SubShapeAllSortedCentres(MultiLay, geompy.ShapeType["EDGE"])"

and then making the groups with the ID list it works.

 

It remains one question,

To apply different sizes to different directions in the 3D mesh of the box, y make 3 sub-meshes with the groups of edges generated as above.

The 3D mesh computes OK but the sub-meshes, even having the correct number of elements, the show the "!" sign.

Reading the documents, apparently I should make 3 meshes and not 3 sub-meshes, but then to apply the hypothesis on the 3D mesh I have to make 1 group for each mesh, as the algo  only accepts groups.

Is it important and should be done with 3 separate 1D meshes (one for group of edges) and then make individual  groups or the result is correct??

Thank you.

Previously Carlos Lopez wrote:

Hi All,

I need to group edges of a box partitioned with several parallel planes in groups of x direction, y direction and z direction in a python script.

I can not realise in which order they are numbered by Salome, I did manage with surfaces but can not find the way to do it with edges.

I need the groups to give different max length to the wire discretisation algo to be able to choose the number of segments or cells created in each direction.

Thanks in advance,

Carlos

 

Re: Internal Compound Mesh Edge Numbering

Posted by Carlos Lopez at September 24. 2013

Sorry I did not see your answer when I answer myself.

Thank you St. Michael, but how can I filter the edges to separate them in groups. I dont see any filtering option in group generation or tui.

I Apologise for my ignorance.

 

Previously Saint Michael wrote:

Hi Carlos

You can get edge direction this way:

dx,dy,dz = geompy.VectorCoordinates( edge )

St.Michael

 

Re: Internal Compound Mesh Edge Numbering

Posted by Saint Michael at September 24. 2013

how can I filter the edges to separate them in groups. I dont see any filtering option in group generation or tui.

You can distribute all edges among 3 python lists and then create 3 compounds from them. No need to create groups.

The 3D mesh computes OK but the sub-meshes, even having the correct number of elements, the show the "!" sign.

Don't bother about "!" if the mesh is as you need.

St.Michael

Powered by Ploneboard
Document Actions