Skip to main content

PolyTex is an open-source toolkit for geometry modeling of fiber tow-based textiles based on volumetric images.

Project description

PolyTex: A parametric textile geometry modeling package

About this project

PolyTex is an open-source toolkit for geometry modeling of woven textiles based on volumetric images. It provides functionality such as geometrical feature extraction, local variability analysis and textile geometry modeling. A meshing module was implemented to generate voxel meshes. Generation of tetrahedral conformal meshes will be implemented in future release. Local material properties are assigned to each cell in the generated mesh, such that the anisotropic and heterogeneity are reflected. This image-based model is commonly referred to as a "Digital Material Twin". The toolkit is designed to provide material scientists with accurate numerical models to predict composite behaviors while not requiring extensive experience in image processing and mesh generation. Hence, Application programming interface (API) for OpenFOAM and Abaqus is provided.

We release this toolbox as an open-source project aiming to facilitate the application of numerical simulations based on digital material twins to engineering problems. In this regard, the project is well documented (https://polytex.readthedocs.io/) and we would appreciate any contributions from the community (e.g. comments, suggestions, and corrections aimed at improving the software and documentation).

Our issue tracker is at https://github.com/binyang424/PolyTex/issues. Please report any bugs that you find or fork the repository on GitHub and create a pull request. We welcome all changes, big or small, and we will help you make the pull request if you are new to git.

PolyTex is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

PolyTex is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE for more details.

Installation

To install PolyTex using PyPI, run the following command:

$ pip install polytex

To install PolyTex from the source, begin by cloning the repository using git:

$ git clone https://github.com/binyang424/PolyTex.git

If you are unfamiliar with Git, you can refer to our tutorial Git for beginners. Alternatively, you can download a specific branch of the source code from GitHub as a .zip file at https://github.com/binyang424/PolyTex.

Once the repository is cloned, navigate to the root directory of the PolyTex repository where the setup.py file is located, and execute the following command:

$ python setup.py install

To install PolyTex using the wheel file, navigate to the subdirectory ./dist/ of the downloaded PolyTex repository, and run:

$ pip install polytex-<version>.whl

Contributing to PolyTex

Thank you for considering contributing to PolyTex! This project thrives on community contributions, and we appreciate your help.

How Can You Contribute?

  • Reporting Bugs: If you find a bug, please open an issue at https://github.com/binyang424/PolyTex/issues. Provide as much detail as possible, including your environment, steps to reproduce, and the expected vs. actual behavior.

  • Suggesting Enhancements: Have an idea for a new feature or an improvement? Feel free to open an issue and discuss it with the community.

  • Code Contributions: If you want to contribute code to PolyTex, fork the repository, create a new branch for your changes, and submit a pull request. Follow the coding standards and make sure your changes are well-tested.

Getting Started

  1. Fork the PolyTex repository.

  2. Clone your forked repository to your local machine:

    $ git clone https://github.com/your-username/PolyTex.git
    
  3. Create a new branch for your changes:

    $ git checkout -b feature/your-feature
    
  4. Make your changes and commit them:

    $ git add .
    $ git commit -m "Add your commit message here"
    
  5. Push your changes to your fork:

    $ git push origin feature/your-feature
    
  6. Open a pull request on the PolyTex repository.

Code Style

Follow the established code style in the project. Make sure your code is well-documented and includes tests when applicable. See style guide for docstrings used with the numpydoc extension for Sphinx.

License

By contributing to PolyTex, you agree that your contributions will be licensed under the project's LICENSE.

Citation

To cite PolyTex in publications use:

  • Bin YANG, Yuwei Feng, Cédric BÉGUIN, Philippe CAUSSE and Jihui WANG. Open Source Tool for Micro-CT Aided Meso-scale Modeling and Meshing of Complex Textile Composite Structures. Submitted to Composites Science and Technology (2024).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

polytex-0.4.2.tar.gz (114.2 kB view details)

Uploaded Source

Built Distribution

polytex-0.4.2-py3-none-any.whl (124.4 kB view details)

Uploaded Python 3

File details

Details for the file polytex-0.4.2.tar.gz.

File metadata

  • Download URL: polytex-0.4.2.tar.gz
  • Upload date:
  • Size: 114.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.4

File hashes

Hashes for polytex-0.4.2.tar.gz
Algorithm Hash digest
SHA256 ec7d7c8d942538f99def80a317e560f4e124cd787a52324de7a245fec71a6f76
MD5 1fe6546c5c3d421d149ec650c7e5197c
BLAKE2b-256 6da5fb74614abd8fae9145c9362270073070c250bbf4e694fb72e5d3dfc5b78a

See more details on using hashes here.

File details

Details for the file polytex-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: polytex-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 124.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.4

File hashes

Hashes for polytex-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2f75923b5db2d43cb52d1f5a991172589807845c68e4aa4700a024ab435bf1dc
MD5 0faae63765a50fd2e723fca0c7c76776
BLAKE2b-256 e58b0003cf1b725978bcacbd4489b5eff2e745aef94bb7a78366fd7ca6eaa85e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page