Tue 22 Oct 2013 04:52:33 PM UTC, comment #2:
In most of our element numbering, we have used the rule that higher order elements have the nodes of the lower order element as its first nodes. Thus a Quad8 has the Quad4 nodes as its first four nodes. This is easy for export to some simulation programs (Abaqus,..) using the same ordering.
We have some elements ordered differently: Line3, Line4, Hex27.
These follow a sequential ordering, first in 0-direction, then 1, then 2. Elements with this ordering are much easier to produce, and since Abaqus does not have a Hex27, there was no problem to do it that way.
Now we should probably decide whether to stick with the first rule (and change Line3, Line4, Hex27), or change all the other elements to a more pyFormex-friendly ordering and add an order selector to the Abaqus exporter. The latter is clearly more work and still it will only provide nice numbering for Lagrangian quadrilateral types (Line3, Quad9, Hex27,...) but not
for triangular or serendipity (Quad8, Hex20) elements.
On the other hand, if we want to export to some other simulation code we probably we also have to add a node scheme translator, so it might be good to add it already.
For once, I will let other voices chime in and we will take a democratic decision ;)
Meanwhile, I suggest to implement the change Sander suggested, so that extruding the Line3 to Quad9 at least works.
And maybe someone have a look at how Abaqus numbers the quadratic and cubic (if any) line elements.
|
Mon 21 Oct 2013 02:29:09 PM UTC, comment #1:
The issue derives from the fact that line3 refers to a different numbering of the vertices (I am not sure if it is changed from previous versions). It can be solved in 2 ways : change to the quad9 numbering as proposed by sander or change line3 as follows
Line3 = createElementType(
'line3',"A 3-node quadratic line segment",
ndim = 1,
vertices = [ ( 0.0, 0.0, 0.0 ),
( 1.0, 0.0, 0.0 ),
( 0.5, 0.0, 0.0 ),
],
drawgl2faces = [('line2', [ (0,2), (2,1) ])],
)
I dont know which change will affect other element definitions. Benedict should suggest which way is better
|
Mon 21 Oct 2013 10:17:58 AM UTC, original submission:
Extrusion is now (in elements.py):
2: (Quad9, [0,1,7,6,2,4,8,3,5]), }
For me this doesn't work and seems to be a bug, a correct ordering is:
2: (Quad9, [0,2,8,6,1,5,7,3,4]), }
Can someone confirm this bug/fix?
|