Hi
I was wondering if there is a easy to follow documentation to see how the import to Abaqus module in TexGen works. I read the documentation about geometry and mesh generation from the website. But I don't know for example how can I refine my mesh and then generate mesh data for Abaqus. Or what if I want to have access to my node locations, the defined contact pairs, etc.
I really appreciate it if you could help me on that. I found some scattered data in this forum but there was no source to fully understand how we can make the Abaqus input file of our own by this software.
Bests,
Mojtaba Komeili
Modifying the Steps for generating Abaqus files
Moderators: Martin, Developers
Re: Modifying the Steps for generating Abaqus files
Hi,
Can I suggest that you read the following threads on the forum?
Hexahedral meshing: http://texgen.sourceforge.net/phpBB3/vi ... p?f=1&t=82
Textile Export: http://texgen.sourceforge.net/phpBB3/vi ... ?f=1&t=664
TexGen 3.4.0 export to ABAQUS 6.10-1 : http://texgen.sourceforge.net/phpBB3/vi ... ?f=1&t=487
Hopefully these will answer your questions. If not, feel free to post another question.
Best regards,
Louise
Can I suggest that you read the following threads on the forum?
Hexahedral meshing: http://texgen.sourceforge.net/phpBB3/vi ... p?f=1&t=82
Textile Export: http://texgen.sourceforge.net/phpBB3/vi ... ?f=1&t=664
TexGen 3.4.0 export to ABAQUS 6.10-1 : http://texgen.sourceforge.net/phpBB3/vi ... ?f=1&t=487
Hopefully these will answer your questions. If not, feel free to post another question.
Best regards,
Louise
Re: Modifying the Steps for generating Abaqus files
Hi Louise
Thanks a lot for your help. Although all these threads you suggested are about meshing and was helpful to improve my knowledge about TexGen (I'm quite new) but I still don't find my answer.
To describe more about what I'm going to do, I'm trying to do a parametric design on dry fabrics (2D textiles) using Abaqus. Right now I'm trying to develop a Python code that can generate my geometry and Abaqus input file altogether and get the outputs for a GA optimization algorithm also written in Python.
Basically, I need to write something like your Abaqus export function in GUI version of TexGen. I know how to describe the geometry (that part was very well documented, thanks). However, refining the mesh, establishing periodic boundary conditions, contact pairs etc is going to be a bit terrifying. I believe there are some functions you have in TexGen to help me get those data and prepare my own input file by Python code. I could find a few things in the description of classes. But, you might agree with me they are so vague for somebody who has not been engaged in developing this code.
Here are a some of my most important questions after having the geometry made:
1- How to refine this mesh? Resolution option in geometry just makes the nodes on the yarns surface more but the meshing inside the yarn is not that good.
2- How do I get list of my nodes on peripheral surfaces to use them in *Equation?
3- How do I get the node numbers in the edge of unit cell (as you know they can not belong to both periodic boundaries and separate equations should be defined for them)
4- How to get the contact surfaces (nodes list)?
5- This one is extra from the input file generator of TexGen. I would like to make a set of nodes that are on the cross over points of yarns (It should look like a line passing through the yarns at cross over point). It is needed to keep yarns from sliding on each other. I wonder if this is possible in TexGen or not?
Thanks in advance for your valuable helps.
Bests,
Mojtaba Komeili
Thanks a lot for your help. Although all these threads you suggested are about meshing and was helpful to improve my knowledge about TexGen (I'm quite new) but I still don't find my answer.
To describe more about what I'm going to do, I'm trying to do a parametric design on dry fabrics (2D textiles) using Abaqus. Right now I'm trying to develop a Python code that can generate my geometry and Abaqus input file altogether and get the outputs for a GA optimization algorithm also written in Python.
Basically, I need to write something like your Abaqus export function in GUI version of TexGen. I know how to describe the geometry (that part was very well documented, thanks). However, refining the mesh, establishing periodic boundary conditions, contact pairs etc is going to be a bit terrifying. I believe there are some functions you have in TexGen to help me get those data and prepare my own input file by Python code. I could find a few things in the description of classes. But, you might agree with me they are so vague for somebody who has not been engaged in developing this code.
Here are a some of my most important questions after having the geometry made:
1- How to refine this mesh? Resolution option in geometry just makes the nodes on the yarns surface more but the meshing inside the yarn is not that good.
2- How do I get list of my nodes on peripheral surfaces to use them in *Equation?
3- How do I get the node numbers in the edge of unit cell (as you know they can not belong to both periodic boundaries and separate equations should be defined for them)
4- How to get the contact surfaces (nodes list)?
5- This one is extra from the input file generator of TexGen. I would like to make a set of nodes that are on the cross over points of yarns (It should look like a line passing through the yarns at cross over point). It is needed to keep yarns from sliding on each other. I wonder if this is possible in TexGen or not?
Thanks in advance for your valuable helps.
Bests,
Mojtaba Komeili
Re: Modifying the Steps for generating Abaqus files
Hi Mojtaba,
The code within TexGen which generates the Abaqus input file for dry fibres is SimulationAbaqus.cpp. The API documentation describes the functions within this which have Python wrappers and which you could therefore call from a Python script. If you want to see the C++ code without downloading everything from the repository then just look at the detailed description of the function in the documentation and click on the link to the .cpp file.
To try and answer your questions:
1. The resolution of the mesh is governed by the number of nodes around the circumference of the cross section and the number of slave nodes along the length of the yarn. You can change both of these with the SetResolution function. You can set different resolutions for each yarn. If you want a preview of the mesh choose the Rendering->Render Textile Volume option. The mesh which is displayed is the same as that output by the dry fibre export function.
A detailed description of the meshing theory is in section 2.9 here http://etheses.nottingham.ac.uk/303/1/thesis-final.pdf
2. There is a function CreatePeriodicBoundaries which calls a function GetNodePairs. This basically iterates through the nodes and finds another node which is in the same position + the repeat vector.
3.Not sure what the difference is between this and no.2? ( or have I misunderstood what you were after in 2?)
4.There is are two functions CreateContacts which create upper and lower yarn pairs. These functions only work if the textile has been created using the WeaveWizard and hence contain the information about the weave pattern generated. There are currently no functions to work out which nodes are on which surfaces of each yarn - I'm afraid you'd need to write something to do that.
5.There is currently no function in TexGen to do this. I guess you'd need to write some code to find which nodes on each yarn are closest to each other. If you have the weave pattern information generated by the weave wizard then you could narrow down the number of nodes to search through.
Hope that helps,
Louise
The code within TexGen which generates the Abaqus input file for dry fibres is SimulationAbaqus.cpp. The API documentation describes the functions within this which have Python wrappers and which you could therefore call from a Python script. If you want to see the C++ code without downloading everything from the repository then just look at the detailed description of the function in the documentation and click on the link to the .cpp file.
To try and answer your questions:
1. The resolution of the mesh is governed by the number of nodes around the circumference of the cross section and the number of slave nodes along the length of the yarn. You can change both of these with the SetResolution function. You can set different resolutions for each yarn. If you want a preview of the mesh choose the Rendering->Render Textile Volume option. The mesh which is displayed is the same as that output by the dry fibre export function.
A detailed description of the meshing theory is in section 2.9 here http://etheses.nottingham.ac.uk/303/1/thesis-final.pdf
2. There is a function CreatePeriodicBoundaries which calls a function GetNodePairs. This basically iterates through the nodes and finds another node which is in the same position + the repeat vector.
3.Not sure what the difference is between this and no.2? ( or have I misunderstood what you were after in 2?)
4.There is are two functions CreateContacts which create upper and lower yarn pairs. These functions only work if the textile has been created using the WeaveWizard and hence contain the information about the weave pattern generated. There are currently no functions to work out which nodes are on which surfaces of each yarn - I'm afraid you'd need to write something to do that.
5.There is currently no function in TexGen to do this. I guess you'd need to write some code to find which nodes on each yarn are closest to each other. If you have the weave pattern information generated by the weave wizard then you could narrow down the number of nodes to search through.
Hope that helps,
Louise
Re: Modifying the Steps for generating Abaqus files
Hi Louise,
I'm referring to Mojtaba query No. 4 and your answer for that question. You mentioned that the contact will be generated once the textile information is created in WeaveWizard. So, do you have the .cpp file for the generation of the geometry in WeaveWizard? I'm glad if it would be my reference in order to generate my patterns.
Thanks.
Yanie
I'm referring to Mojtaba query No. 4 and your answer for that question. You mentioned that the contact will be generated once the textile information is created in WeaveWizard. So, do you have the .cpp file for the generation of the geometry in WeaveWizard? I'm glad if it would be my reference in order to generate my patterns.
Thanks.
Yanie
Re: Modifying the Steps for generating Abaqus files
Hi Yanie,
The WeaveWizard creates a CTextileWeave object which contains a 2d array m_Pattern. This contains the information of whether the top yarn is in the x or y direction. The SimulationAbaqus.cpp file accesses this information to create the contacts. They are not automatically created when a textile is created using the WeaveWizard.
The Core Module Diagram here http://texgen.sourceforge.net/api/ shows you how the classes fit together. The API documentation gives more detail of the classes. These can either be accessed from your own C++ program or from a Python script. There are links to the .cpp and .h files in the class descriptions.
Louise
The WeaveWizard creates a CTextileWeave object which contains a 2d array m_Pattern. This contains the information of whether the top yarn is in the x or y direction. The SimulationAbaqus.cpp file accesses this information to create the contacts. They are not automatically created when a textile is created using the WeaveWizard.
The Core Module Diagram here http://texgen.sourceforge.net/api/ shows you how the classes fit together. The API documentation gives more detail of the classes. These can either be accessed from your own C++ program or from a Python script. There are links to the .cpp and .h files in the class descriptions.
Louise
Re: Modifying the Steps for generating Abaqus files
Hi Louise,
Thus, it means that in order to modify the patterns and create a parametric study on patterns, I need to modify the CTextileWeave function. Am I right?
Anyway, I already had a look to the Core Module Diagram and need to thoroughly focus on the relevant files.
Thanks for your fast reply. You are really efficient.
Yanie
Thus, it means that in order to modify the patterns and create a parametric study on patterns, I need to modify the CTextileWeave function. Am I right?
Anyway, I already had a look to the Core Module Diagram and need to thoroughly focus on the relevant files.
Thanks for your fast reply. You are really efficient.
Yanie
Re: Modifying the Steps for generating Abaqus files
Hi Yanie,
You shouldn't need to modify the CTextileWeave class. You use it to create different patterns by passing it different parameters for the different patterns. There's an example of a script using the class here http://texgen.sourceforge.net/index.php ... ate_Models.
Louise
You shouldn't need to modify the CTextileWeave class. You use it to create different patterns by passing it different parameters for the different patterns. There's an example of a script using the class here http://texgen.sourceforge.net/index.php ... ate_Models.
Louise