Skip to content

A collection of solid body modeling tools for 2D sketched, 2D axisymmetric, and 3D revolved models.

License

Notifications You must be signed in to change notification settings

lanl-aea/turbo-turtle

Repository files navigation

Turbo Turtle

pipeline release conda-forge version conda-forge 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

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

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
    

Copyright Notice

Copyright (c) 2024, Triad National Security, LLC. All rights reserved.

This program was produced under U.S. Government contract 89233218CNA000001 for Los Alamos National Laboratory (LANL), which is operated by Triad National Security, LLC for the U.S. Department of Energy/National Nuclear Security Administration. All rights in the program are reserved by Triad National Security, LLC, and the U.S. Department of Energy/National Nuclear Security Administration. The Government is granted for itself and others acting on its behalf a nonexclusive, paid-up, irrevocable worldwide license in this material to reproduce, prepare derivative works, distribute copies to the public, perform publicly and display publicly, and to permit others to do so.

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://[email protected]:10022/aea/python-projects/turbo-turtle.git

Compute Environment

This repository requires Abaqus and Cubit to be installed and on the system PATH. If you use an AEA linux computer, then the project continuous-integration environment is available as a development environment.

On an AEA Linux Machine

[roppenheimer@sstbigbird turbo-turtle]$ module use /projects/aea_compute/modulefiles
[roppenheimer@sstbigbird turbo-turtle]$ module load turbo-turtle-dev

Local development environment

You can also create a local environment with the Conda package manager as

[roppenheimer@mymachine turbo-turtle]$ conda env create --file environment.yml --name turbo-turtle-dev
[roppenheimer@mymachine turbo-turtle]$ conda activate turbo-turtle-dev

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 flake8 black-check

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

About

A collection of solid body modeling tools for 2D sketched, 2D axisymmetric, and 3D revolved models.

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  

Languages