Data and Software of "Development of a Geometric Modeling Strategy for the Generation of Representative Unit Cells in 2D Braids"
Authors/Creators
- 1. Université de Liège
- 2. University of Liege
Contributors
Data collector:
Data manager:
Others:
- 1. University of Liege
- 2. GDTech SA
- 3. Université de Liège
Description
Id: Data of following publication
title = "Development of a Geometric Modeling Strategy for the Generation of Representative Unit Cells in 2D Braids",
journal = "Composite Structures",
volume =" 348",
pages = "118503",
year = "2025",
doi = "10.1016/j.compstruct.2024.118503",
author = "José Rothkegel, Benjamin Renson, Michael Bruyneel, Ludovic Noels"
Data doi on 10.5281/zenodo.10829042
pyRVE
Python Code for Geometrical Generator for Braided Composites RVE
pyRVE is a code written in Python using the GMSH API that generates the Representative Unit Cell (RUC) of braided composites. It allows the generation of the RUC of triaxial braided for Diamond and Regular patterns.
Requirements
To run, it requires:
- The GMSH Python API, which must be built with OpenCascade support.
- Choose a local installation directory;
CMAKE_INSTALL_PREFIX=$HOME/local/gmsh, andGMSHPY_INSTALL_DIRECTORY=$HOME/local/gmshe.g.; - Make that directory part of your
export PYTHONPATH=$HOME/local/gmsh/lib:$PYTHONPATH. - After compiling use
make install.
- Choose a local installation directory;
- The CM3 app dG3D if the final RVE homogenized solution is needed (https://gitlab.onelab.info/cm3/cm3Libraries).
- Make sure that the latest version of OpenCascade (OCCT) is used. Current used version in occt-V7.8.0.
Usage
File Structure
A typical run case must have a file structure, where:
brd: the files.brdand.brepare located here. The.brdis a backup of thebraidClassinstance used in the model saved usingpickle, the.brepis the Boundary Representation file that can be opened with GMSH.csv: the.csvfile saved here is the initial output of the code. It contains the actually used dimensions and the final cover factor of the braid.data: It contains.csvfiles with the material properties and the dimensions of the tows. The original model dimensions are read from here.dir: In the case of running the RVE homogenization, the directions of the tow fibers are stored here. They are saved for post processing.msh: the mesh file.mshobtained after the geometry geneartion is stores here.png: in the case of automatic post processing, png files are stored here.res: this folder is used to store the homogenization results. They have to be moved here.stp: if acitvated, a.stpfile of the geometry is stored heresvg: the projection of the geometry on the x-y plane is stored here.vtk: A copy of the mesh file without the matrix mesh is sotred here as a `.vtk`` file.
How to Run
We will consider the current file structure to run the example in 000_Base. To run the code, it can be called from the command prompt as
python3 ../../source/mainRVE.py --name <i> --pattern <pattern>
In this case, the --name refers to the index that will be given to the model, where <i> must be changed to an integer and --pattern refers to the wanted pattern to be used, where <pattern> must be changed to either dia or reg.
Note:
can also be used to reproduce the regular pattern benchmark of the paper. In that case, the volume fraction of fiber in the tows is hard coded as the provided value in the reference (i.e. 0.86). For other cases, the volume fraction is evaluated from the tow cross-sections.--namecatNote:
mainRVE.pymust be accesible from the directory where the case is being run. This example shows the usage of the current file structure.
All Command Line Options
The code can be run using further options that serve different purpouses, some serving pre processing needs and other serving run administration. The different command line options are:
- Required:
--name: it gives a suffix to the run model. It is usually an integer.--pattern: indicates the type of pattern to be used to build the geometry. The two current options arediafor diamond andregfor regular.
- Optional
-dG3D: it indicates that the homogenization of the generated RUC is to be perfomed.-GMSH: it indicates that GMSH must be open upon competion of the generation of the mesh.-loadModel: it will try to load a premade model. It will ignore--pattern.--rndPrm: it will generate randomized geometrical parameters. It can be used to generate batches of results. It takes an argument that can be2,4or6. Currently,2gives a random value fors_axialandtheta,4randomizes the same as2and addsh_axialandh_bias, and6randomizes the same as4and addsw_axialandw_bias.
- Pre-Processing
-refCF: it tells the code to generate a grid of values fors_axialandthetawhere only the cover factor is obtained. It is meant for posterior graphing purposes.
Examples
Following the run options, a few examples are indicated
- A basic mesh generation run for the basic data, considering a regular pattern, for a model named 2:
python3 ../../source/mainRVE.py --name 2 --pattern reg
- The generation of the cover factor data and export, considering a regular pattern:
python3 ../../source/mainRVE.py --pattern reg -refCF
- A run for the modified basic data, where the 2 parameters are modified randomly, considering a regular pattern, for a model named 2:
python3 ../../source/mainRVE.py --name 2 --pattern reg --rndPrm 2
- A run, where model 2 already exists in
brdfolder but not the.mshand.vtkfiles:
python3 ../../source/mainRVE.py --name 2 -loadModel
Code Structure
The code is implemented into Python files, where mainRVE.py runs the whole code. The files are:
- Braid:
braidClass.py:bzrPairClass.py:
- Geometry
bezrClass.py:bilnClass.py:patchClass.py:pntSetClass.py:pointClass.py:sctnClass.py:stripeClass.py:surfClass.py:surfOffClass.py:
- Material:
chamis.py:
- Tools:
dataIO.py:postDirection.py:tool.py:toolData.py:
curveClass.py:*
Files
000_Base.zip
Files
(58.5 GB)
| Name | Size | Download all |
|---|---|---|
|
md5:1734b6dd31fdb774ec8aa26f3ba91e0a
|
10.8 MB | Preview Download |
|
md5:9606796300b1e182a9b5b870ba5242d9
|
29.4 GB | Preview Download |
|
md5:26ab54f2b804863ad96d37ede10e9170
|
18.5 GB | Preview Download |
|
md5:c8592c5c7d7acfb91f3c745cdf9a9336
|
10.5 GB | Preview Download |
|
md5:11e846b9bba36802992f16e7cc88c30d
|
50.9 kB | Preview Download |
Additional details
Related works
- Is described by
- Journal: 10.1016/j.compstruct.2024.118503 (DOI)
Funding
- Walloon Government
- The research has been funded by the Walloon Region under the agreement no.8422-SW ViBra in the context of the 28th SKYWIN call. 8422
Software
- Repository URL
- https://gitlab.onelab.info/cm3/cm3Braiding