Skip to main content

Solid body modeling tools for 2D sketched, 2D axisymmetric, and 3D revolved models

Project description

pipeline release conda-forge version conda-forge downloads pypi version pypi downloads zenodo

Description

Turbo-Turtle (LANL code O4765) is a collection of solid body modeling tools for 2D sketched, 2D axisymmetric, and 3D revolved models. It also contains general purpose meshing and image generation utilities appropriate for any model, not just those created with this package. Implemented for Abaqus and Cubit as backend modeling and meshing software. Orginal implementation targeted Abaqus so most options and descriptions use Abaqus modeling concepts and language.

Turbo-Turtle makes a best effort to maintain common behaviors and features across each third-party software’s modeling concepts. As much as possible, the work for each subcommand is performed in Python 3 to minimize solution approach duplication in third-party tools. The third-party scripting interface is only accessed when creating the final tool specific objects and output. The tools contained in this project can be expanded to drive other meshing utilities in the future, as needed by the user community.

This project derives its name from the origins as a sphere partitioning utility following the turtle shell (or soccer ball) pattern.

Documentation

Author Info

Installation

Conda

Turbo-Turtle can be installed in a Conda environment with the Conda package manager. See the Conda installation and Conda environment management documentation for more details about using Conda.

$ conda install --channel conda-forge turbo_turtle

pip

Turbo-Turtle may also be installed from PyPI with pip under the distribution name turbo-turtle: https://pypi.org/project/turbo-turtle/.

$ pip install turbo-turtle

The PyPI package has an optional dependency for the Gmsh features that may be specified during installation as

$ pip install turbo-turtle[gmsh]

Quick Start

  1. View the CLI usage

    $ turbo-turtle -h
    $ turbo-turtle docs -h
    $ turbo-turtle geometry -h
    $ turbo-turtle cylinder -h
    $ turbo-turtle sphere -h
    $ turbo-turtle partition -h
    $ turbo-turtle mesh -h
    $ turbo-turtle image -h
    $ turbo-turtle merge -h
    $ turbo-turtle export -h

Developer Instructions

Cloning the Repository

Cloning the repository is very easy, simply refer to the sample session below. Keep in mind that you get to choose the location of your local Turbo-Turtle repository clone. Here we use /projects/roppenheimer/repos as an example.

[roppenheimer@sstelmo repos]$ git clone ssh://git@re-git.lanl.gov:10022/aea/python-projects/turbo-turtle.git

Compute Environment

This project uses Conda to manage most of the compute environment. Some software, e.g. Abaqus and Cubit, can not be installed with Conda and must be installed separately.

SCons can be installed in a Conda environment with the Conda package manager. See the Conda installation and Conda environment management documentation for more details about using Conda.

  1. Create the environment if it doesn’t exist

    $ conda env create --name berms-env --file environment.yml
  2. Activate the environment

    $ conda activate berms-env

Testing

This project now performs CI testing on AEA compute servers. The up-to-date test commands can be found in the .gitlab-ci.yml file. The full regression suite includes the documentation builds, Python 3 unit tests, Abaqus Python unit tests, and the system tests.

$ pwd
/home/roppenheimer/repos/turbo-turtle
$ scons regression

There is also a separate style guide check run as

$ scons style

The full list of available aliases can be found as scons -h.

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

turbo_turtle-1.2.8.tar.gz (2.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

turbo_turtle-1.2.8-py3-none-any.whl (2.6 MB view details)

Uploaded Python 3

File details

Details for the file turbo_turtle-1.2.8.tar.gz.

File metadata

  • Download URL: turbo_turtle-1.2.8.tar.gz
  • Upload date:
  • Size: 2.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for turbo_turtle-1.2.8.tar.gz
Algorithm Hash digest
SHA256 11a3da99e2747b11f0377de92d2b6c1ce4c6b203e0d5bb46bbddf1f912c44cc3
MD5 7a19be80b44843d0ad7efc3975797162
BLAKE2b-256 1381fbec4e9125e2a62afec8b5d33de5ad9dc6396651936e4cde3a055e4432c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for turbo_turtle-1.2.8.tar.gz:

Publisher: release.yml on lanl-aea/turbo-turtle

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file turbo_turtle-1.2.8-py3-none-any.whl.

File metadata

  • Download URL: turbo_turtle-1.2.8-py3-none-any.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for turbo_turtle-1.2.8-py3-none-any.whl
Algorithm Hash digest
SHA256 bb1296810138feb67e68f82fbdf6fdfb42d214502195dd65e1c072dab06a1446
MD5 16e5a2db247af20fe965af87e8c71f9f
BLAKE2b-256 c07aa03c8b2f7601de8463eca0521ff390c8886995d2b4dda9a765787e49e667

See more details on using hashes here.

Provenance

The following attestation bundles were made for turbo_turtle-1.2.8-py3-none-any.whl:

Publisher: release.yml on lanl-aea/turbo-turtle

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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