Voxel Mesh - only generates part of yarn

General discussion about TexGen.

Moderators: Martin, Developers

eswe004
Regular
Posts: 17
Joined: Sun May 20, 2012 10:36 pm

Voxel Mesh - only generates part of yarn

Post by eswe004 »

Hi,

I've created a textile in TexGen which models tows that are stitched together. When I export this as an Abaqus voxel file and use HyperMesh to transform this into a fluent .cas file for use in Ansys I have an issue where part of the stitching yarns are missing.

I've attached images of the top and bottom of the model in TexGen and the mesh in Ansys which shows the differences in the thin stitching yarn used.

Increasing the size of the stitching yarns didn't stop parts of them missing.

The export options are:
X voxel count: 200
Y voxel count: 200
Z voxel count: 100
Output Matrix
Periodic Boundary Conditions: Material Continuum
Element Type: C3D8R

Any help would be much appreciated.

Thanks,
Attachments
TexGenBottom.PNG
TexGenBottom.PNG (193.32 KiB) Viewed 22543 times
AnsysTop.PNG
AnsysTop.PNG (216.36 KiB) Viewed 22543 times
AnsysBottom.PNG
AnsysBottom.PNG (207.47 KiB) Viewed 22543 times
louisepb
Project Leader
Posts: 998
Joined: Tue Dec 08, 2009 2:27 pm
Location: Nottingham

Re: Voxel Mesh - only generates part of yarn

Post by louisepb »

Hi,

Apologies for the delay in replying - I wasn't at work last week.

The most likely reason for part of the stitching yarn being missing is that the number of voxels is not large enough. When the voxels are generated the voxel is assigned to a particular yarn/matrix based on the centre point of the voxel. The number of voxels needs to be high enough to guarantee that enough of the voxel centres are within the thin yarn to give a continuous yarn. Have you tried viewing the input file in abaqus to see which of the voxels have been assigned to which yarn/matrix? (You may also be able to do this in Hypermesh but I'm not a user so am not sure about that).

Let me know if changing the voxel resolution doesn't solve the problem.

Best regards,
Louise
rvarunraj
Posts: 8
Joined: Mon Jun 15, 2015 2:19 pm

Re: Voxel Mesh - only generates part of yarn

Post by rvarunraj »

Hi Louise,

I wish to ask regarding exporting the voxel mesh.When i generate a voxel file it generates an orientation file.In this file the element number are written directly written as 1,2,3 and so on.When i try to run this in abaqus it does not find this numbering as it asks me to enter the elements numbers as Part-1-1.1,Part-1-1.2,Part-1-1.3...(Where Part-1-1 is the instance name).Is there a way around it as i might have to change this everytime i export .Secondly is .eld file only for information as i have not seen it being used by abaqus .

Thanks in advance

Regards,
Varun
louisepb
Project Leader
Posts: 998
Joined: Tue Dec 08, 2009 2:27 pm
Location: Nottingham

Re: Voxel Mesh - only generates part of yarn

Post by louisepb »

Hi Varun,

I'm not sure why abaqus is asking for element numbers to be entered. I haven't come across this before. The .ori and.eld files will only be loaded if you run from the command line not from CAE so could this be the problem?

The volume fractions in the eld file will only be used if you have set up a user subroutine specifying material properties for different volume fractions.

Hope that helps,
Louise
rvarunraj
Posts: 8
Joined: Mon Jun 15, 2015 2:19 pm

Re: Voxel Mesh - only generates part of yarn

Post by rvarunraj »

Hi Louise,

I don't know how to run it from command line with the orientation files could you help me with that .Actually there are no section assignments to my model as well in abaqus may be because i assign the material properties in abaqus.I am not sure whether i am doing everything right or not with voxel generation.

Thanks,
Varun
louisepb
Project Leader
Posts: 998
Joined: Tue Dec 08, 2009 2:27 pm
Location: Nottingham

Re: Voxel Mesh - only generates part of yarn

Post by louisepb »

Hi Varun,

There is a tutorial on the TexGen webpage here: http://texgen.sourceforge.net/workshop/ ... alysis.pdf

There are also several other threads on the forum which discuss this.

Best regards,
Louise
rvarunraj
Posts: 8
Joined: Mon Jun 15, 2015 2:19 pm

Re: Voxel Mesh - only generates part of yarn

Post by rvarunraj »

Hi,

thanks a lot for the reply i will go through the forum then once

Regards
Varun
rvarunraj
Posts: 8
Joined: Mon Jun 15, 2015 2:19 pm

Re: Voxel Mesh - only generates part of yarn

Post by rvarunraj »

Hi Louise,

I have submitted a python script for voxel mesh generation of an RVE of the size (50,50,50) using Abaqus Python 6.14 in linux .Currently it shows it is running for almost 70 hours and counting.The input file generated till now is of 70 kb odd and was updated as soon as i ran the script and since then there has been no update to the input file. I feel confused as earlier when i was generating voxel meshes for a simpler model it used to atleast update the input file sporadically even for refined mesh of the size(200,200,200) till it was finished.

What I wish to know is it normal,as I feel that may be texgen is stuck.Is there a way to know the progress of the job.Maybe it would be handy if you could give a brief idea on what could be the flow of savetoabaqus() function in texgen.

Sorry the query seems to be vague but i just wish confirm the normalcy of the stuff going on.

Thanks in advance
Regards
R Varun Raj
louisepb
Project Leader
Posts: 998
Joined: Tue Dec 08, 2009 2:27 pm
Location: Nottingham

Re: Voxel Mesh - only generates part of yarn

Post by louisepb »

Hi Varun,
A 50x50x50 voxel mesh should be generated in a few minutes depending on how many yarns there are in your model. The thing which takes the time is interrogating the model to get the orientation and other yarn information. I think it must have got stuck. You could try isolating the yarns and running your script to see if you can work out which part of your model is causing a problem.

If you're happy reading a bit of C++ code you can see what SaveToAbaqus does here: http://texgen.sourceforge.net/api/_voxe ... tml#l00265 (even if not you should be able to get the gist of what it's doing)

If you narrow it down to one yarn and still can't see what the issue is send me your script and I'll run it in debug to try and work out where it's getting stuck.

Hope that helps,
Louise
rvarunraj
Posts: 8
Joined: Mon Jun 15, 2015 2:19 pm

Re: Voxel Mesh - only generates part of yarn

Post by rvarunraj »

Hi Louise ,

As we discussed last time for generating voxel meshes faster i should reduce the number of points and take care of the up vector when the yarn moves in the z direction .I did that for a simpler and symmetric hexagonal model i am working on right now and i see an under representation of loop feature in the voxel mesh.

Here is the input file for the Voxel mesh size 200X200X100
https://gigamove.rz.rwth-aachen.de/d/id/5RgWp7HzC5J9hU

and Here are the images of the same knit but of the size 300X300X150
https://gigamove.rz.rwth-aachen.de/d/id/yufJTM5E3icVXo
https://gigamove.rz.rwth-aachen.de/d/id/4vmg34YQCwGdxV

Here is the Tg3 file of the knit

https://gigamove.rz.rwth-aachen.de/d/id/zxtUXgrQbbVQ52

I think it is because of my upvector implementation which i did this way:

def upvector(node1,node2,node3):

uvector = XYZ(0,0,1)



gradx = node2.x - node1.x
grady = node2.y - node1.y
gradz = node2.z - node1.z



# Checking For assigning the upvector based on the code sent by louise brown


# If gradz is the max
if (math.fabs(gradz) > math.fabs(gradx)) or (math.fabs(gradz)>math.fabs(grady)) : # Checking for the First horizontal vector so in this case Y vector becomes the
if math.fabs(gradx) > math.fabs(grady) : # Checking for the second horizontal vector so in this case Y vector becomes the
if gradz>= 0:
uvector.x = 0
uvector.y = -1
uvector.z = 0
else :
uvector.x = 0
uvector.y = 1
uvector.z = 0
else :
if gradz>= 0:
uvector.x =-1
uvector.y = 0
uvector.z = 0
else :
uvector.x = 1
uvector.y = 0
uvector.z = 0
return uvector


It would be great help again as always if you show me the way ahead on this

Thanks a lot in Advance

Regards Varun
louisepb
Project Leader
Posts: 998
Joined: Tue Dec 08, 2009 2:27 pm
Location: Nottingham

Re: Voxel Mesh - only generates part of yarn

Post by louisepb »

Hi Varun,
Sorry to have taken a while to reply, I've been on holiday. I'm afraid that I'm still looking into this one. I don't think that it's an issue with the up vectors. I changed one of them so that the apparent twist in the surface mesh is eliminated at one of the places where the mesh is missing but the problem is still there. I think it must be a bug in the function which calculates whether the mid-point of the voxel is inside the yarn (and therefore whether it outputs it as a yarn voxel). I need to narrow it down to a small area which I can then try and debug.

I'll let you know when I make some progress.
Best wishes,
Louise
rvarunraj
Posts: 8
Joined: Mon Jun 15, 2015 2:19 pm

Re: Voxel Mesh - only generates part of yarn

Post by rvarunraj »

Hi Louise,

Sure, thanks a lot for your reply and time .

I am surprised it is not because of the Up vectors .

Regards
Varun
rvarunraj
Posts: 8
Joined: Mon Jun 15, 2015 2:19 pm

Re: Voxel Mesh - only generates part of yarn

Post by rvarunraj »

Hi Louise,

I was wondering was there a solution to the missing parts of the yarn problem . I am really looking forward to use it . I could probably try to implement any suggestion if there from your side .

Thanks in Advance

With Best Regards
Varun
louisepb
Project Leader
Posts: 998
Joined: Tue Dec 08, 2009 2:27 pm
Location: Nottingham

Re: Voxel Mesh - only generates part of yarn

Post by louisepb »

Hi Varun,

I have just had another look at this and think it may be an issue with the function which finds whether a point is inside a yarn. This uses the node normals and I think that there may be a problem with the normals pointing in different directions. I tried adding an extra node in the problem area and this seems to cure the problem (node 3 in the attached file). Hopefully this will give you a solution in the short term and, in the meantime, I'll try and work out what the issue is.

Hope that helps,
Louise
Attachments
Hexagonal KnitSectionExtraNode.zip
(1.22 KiB) Downloaded 190 times
rvarunraj
Posts: 8
Joined: Mon Jun 15, 2015 2:19 pm

Re: Voxel Mesh - only generates part of yarn

Post by rvarunraj »

Hi Louise,

I see what you did.It seems much better but, there is still a cup shaped notch at the root of the loop.I am attaching the image with this post


https://gigamove.rz.rwth-aachen.de/down ... rLXPY2GLjz

I also checked the UP vectors for the nodes near this problematic area and they had kind of an arbitrary UP Vectors.I thought it is easiest to assign UP Vectors to one of the canonical vectors 0 0 1,0 1 0 or 0 0 1.

I chose the mesh to be really fine so that I could rule out the artificats observed due to coarse meshes in voxel assignment to the yarns.

Thanks Again in Advance!

Regards,
Varun
Post Reply