Hi, everyone, I tried to define the regions for my BCs using nodal sets, i.e. I would like to select different portions of the surface of my domain. I was almost able to do it using nodal sets in the Abaqus (.inp) mesh format. Here is my testing file:
*HEADING Abaqus DataFile Version 6.14 written by meshio v5.3.0 *NODE 1, 0.0000000000000000e+00, 0.0000000000000000e+00, 0.0000000000000000e+00 2, 1.0000000000000000e+00, 0.0000000000000000e+00, 0.0000000000000000e+00 3, 0.0000000000000000e+00, 1.0000000000000000e+00, 0.0000000000000000e+00 4, 1.0000000000000000e+00, 1.0000000000000000e+00, 0.0000000000000000e+00 5, 0.0000000000000000e+00, 0.0000000000000000e+00, 1.0000000000000000e+00 6, 1.0000000000000000e+00, 0.0000000000000000e+00, 1.0000000000000000e+00 7, 0.0000000000000000e+00, 1.0000000000000000e+00, 1.0000000000000000e+00 8, 1.0000000000000000e+00, 1.0000000000000000e+00, 1.0000000000000000e+00 *ELEMENT, TYPE=C3D8RH 1,1,2,4,3,5,6,8,7 *NSET, NSET=1 5,6,7,8 *NSET, NSET=0 1,2,3,4,5,6,7,8
Now if I try to define a region by 'vertices of set 1' I get 'ValueError: undefined vertex set! (1)'. It seems to me that only some previously defined regions are considered in this case.
If I define it by 'vertices of group 0', the regions are defined without an error, but do not contain the correct vertices (top: [4 5 6 7], bottom: [0 1 2 3] - i.e. four nodes are missing from the bottom region). I traced this down to MeshioLibIO.read (lines 385-394), where sets (m.point_sets, which contain the correct nodes) are converted into groups (ngroups, only one group per node).
Is there some way how to make this work? Thanks, Jan
Hi Jan,
conversion from point sets into ngroups array in MeshioLibIO.read()`
works only for disjoint sets. There is no easy way to convert nodal sets
to a single array in general.
You can work around this, for sets A and B, by defining the intersection AB = A \cup B and three disjoint sets A - AB, B - AB, and AB. Then you define regions as follows:
'A0': 'vertices of set 0',
'B0': 'vertices of set 1',
'AB': 'vertices of set 2',
'A': 'r.A0 +v r.AB',
'B': 'r.B0 +v r.AB',
Yes, it is not comfortable, but I can not think of a better way.
Regards Vladimir
On 15. 06. 22 14:42, Jan Heczko wrote:
Hi, everyone, I tried to define the regions for my BCs using nodal sets, i.e. I would like to select different portions of the surface of my domain. I was almost able to do it using nodal sets in the Abaqus (.inp) mesh format. Here is my testing file:
*HEADING Abaqus DataFile Version 6.14 written by meshio v5.3.0 *NODE 1, 0.0000000000000000e+00, 0.0000000000000000e+00, 0.0000000000000000e+00 2, 1.0000000000000000e+00, 0.0000000000000000e+00, 0.0000000000000000e+00 3, 0.0000000000000000e+00, 1.0000000000000000e+00, 0.0000000000000000e+00 4, 1.0000000000000000e+00, 1.0000000000000000e+00, 0.0000000000000000e+00 5, 0.0000000000000000e+00, 0.0000000000000000e+00, 1.0000000000000000e+00 6, 1.0000000000000000e+00, 0.0000000000000000e+00, 1.0000000000000000e+00 7, 0.0000000000000000e+00, 1.0000000000000000e+00, 1.0000000000000000e+00 8, 1.0000000000000000e+00, 1.0000000000000000e+00, 1.0000000000000000e+00 *ELEMENT, TYPE=C3D8RH 1,1,2,4,3,5,6,8,7 *NSET, NSET=1 5,6,7,8 *NSET, NSET=0 1,2,3,4,5,6,7,8
Now if I try to define a region by 'vertices of set 1' I get 'ValueError: undefined vertex set! (1)'. It seems to me that only some previously defined regions are considered in this case.
If I define it by 'vertices of group 0', the regions are defined without an error, but do not contain the correct vertices (top: [4 5 6 7], bottom: [0 1 2 3] - i.e. four nodes are missing from the
bottomregion). I traced this down toMeshioLibIO.read(lines 385-394), where sets (m.point_sets, which contain the correct nodes) are converted into groups (ngroups, only one group per node).Is there some way how to make this work? Thanks, Jan
SfePy mailing list -- sfepy@python.org To unsubscribe send an email to sfepy-leave@python.org https://mail.python.org/mailman3/lists/sfepy.python.org/ Member address: vlukes@kme.zcu.cz
participants (2)
-
Jan Heczko -
Vladimír Lukeš