Strain energy minimization of geodesic based parameterizations over 3D surfaces for optimization of fiber layup orientations. Created to be part of the De-La-Mo automatic defect insertion into FEM package developed at Iowa State University.
AutoFiber is Copyright (C) 2016-2018 Iowa State University Research Foundation, Inc. It is published under the Apache 2.0 license. See the LICENSE file for details.
This is repository is located on Github.
autofiber/
: Contains the python package autofiber.demos/
: Contains a variety of demo models and a script, test.py which demonstrates usage on each model.docs/
: Contains various documentation materials. Complete documentation can be obtained here.
generator.py
: Main control script which generates geodesic start points, calculates geodesic paths, computes the geodesic parameterization, and employs the strain energy minimization.geodesic.py
: Contains the functions necessary for computing the geodesic trajectories and parameterizations.optimization.py
: Contains the definition for the strain energy function and gradient as well as the RMSprop algorithm used to minimize the strain energy function.analyze_uv.py
: Spatialnde helper script that defines mesh adjacency indexes.
- Tested with Python 2.7-3.7
spatialnde
: 3D model loader and image projection package
Created by Dr. Stephen D. Holland at Iowa State University
SpatialndeNumpy
Matplotlib
- optional for plotting
Once all dependencies are installed run:
python setup.py build
python setup.py install
To include as a dependency in your project consider using git's subtree capabilities. The De-La-Mo project showcases this ability and can be seen in the relevant repository. In order to install AutoFiber alongside your project add the following to your projects setup.py:
package_dir={
'autofiber': 'autofiber/autofiber'
},
packages=["autofiber"],
This will then allow you to import the AutoFiber class in your project as such:
from autofiber.generator import AutoFiber
Take a look at test.py for an in-depth explanation of the relevant API calls and how they work for a variety of models.
A short tutorial with explanations of API and images of results is located here.
A function has been created and implemented in De-La-Mo to allow for automatic insertion of computed fiber orientations into Abaqus. See the De-La-Mo project for more information.