A fast and deterministic python implementation to convert Lamination Parameters (LPs) into production-friendly Stacking Sequences (SS) using FFTs and a Branch-and-Bound algorithm.
This work is based on the method submitted to the Journal of Composite Structures (2025).
The raw data required to reproduce findings in the aforementioned article are available to download from
- Deterministic and highly-efficient alternative to Genetic Algorithms for LP-to-SS conversion
- Requires less than 1% of the time taken by state-of-the-art methods for comparable results
- Ingenious use of Fast Fourier Transforms (FFT) for rapid Fibre Angle Distribution (FAD) design
- Use of Branch-and-Bound to design Stacking Sequence (SS) from the given FAD
- Ir. Rakshith Manikandan
- M.Sc. Sascha Dähne
- Dr.-Ing. David Zerbst
Conventionally used methods for converting LPs to SS—such as Genetic Algorithms or Branch-and-Bound approaches—struggle with scalability as the number of plies and allowable orientations increases, all the while enforcing design guidelines.
Hence, LP2SS proposes a partitioned approach that is more informed and efficient:
- First, determine the Fibre Angle Distribution (FAD)—i.e., how many plies belong to each orientation. This was accomplished with the ingenious use of Fast Fourier Transforms (FFTs).
- Then, design a Stacking Sequence (SS) from the FAD that complies with Out-of-Plane LPs and manufacturing guidelines. The use of FFTs to know avaiulable fibre angles beforehand, significantly reduces computational overhead for the Branch-and-Bound.
This paritioned approach leads to: lp2ss.py = lp2fad.py + fad2ss.py. As such, the following codes are in the src:
lp2fad/: FFT-based implementation for converting In-Plane LPs (VA) into FADs.fad2ss/: Branch-and-Bound algorithm for converting FADs into stacking sequences that match Out-of-Plane LPs (VD).relay_src/andrelay_front_end_to_lp2ss/: Open-source tools for enforcing design guidelines, and interfacing with fad2ss.
Four tutorials are provided to guide users:
- run_tutorial_1_lp2fad.py: Convert In-Plane LPs (VA) into FADs with relevant design guideline enforcement
- run_tutorial_2_fad2ss.py: Convert a FAD into SS while matching Out-of-Plane LPs (VD) and enforcing desired design guidelines
- run_tutorial_3_lp2ss.py: Convert a single LP set (VA and VD) into an SS, while enforcing desired design guidelines
- Python IDE ≥ 3.12
- Libraries:
numpy,pandas,matplotlib
Clone the repository and run:
pip install .
The implementation has been validated using publicly available benchmark datasets and extended with newly-introduced datasets for more rigorous testing. This ensures LP2SS efficiently and accurately translates conceptual stiffness requirements into guideline-compliant SS, regardless of laminate size or angles used ([Δ45°] or [Δ15°]).
While LP2SS has been thoroughly tested, bugs may still arise. If you encounter any issues or have suggestions for improvement, feel free to reach out:
If you decide to use LP2SS in your work or project, we’d love to hear about it—please feel free to get in touch!
The long-term goal is to enable the efficient design of variable stiffness composite laminates, where stacking sequences vary spatially to meet structural performance demands. While LP2SS currently supports the design of SS for a given set of stiffness requirements, they will be coupled with methods that blend/patch together different SS to make a variable stiffness composite strtucture.
LP2SS © 2025 by Rakshith Manikandan is licensed under multiple licenses:
- Source code and accompanying material: Apache License 2.0
- Documentation and resulting plots: Creative Commons Attribution 4.0 International (CC BY 4.0)
- Datasets: Creative Commons Attribution 4.0 International (CC BY 4.0)
- Other insignificant files: Creative Commons CC0 1.0 Universal (CC0-1.0)
Please see the individual files for more accurate and specific licensing information.
The src/relay_src directory contains code originally released under the MIT license by Noémie Fedon.
We have included the original LICENSE file in that directory. Modifications made by us are covered under Apache 2.0 as noted in the headers.
If you use LP2SS in any design or research, please cite the corresponding research article published in Composite Structures (2025):

The FFT-based method for FAD design was a part of the main developer's MSc thesis at TU Delft (Faculty of Aerospace Engineering) and later extended for practical laminate design at the DLR-Institute of Lightweight Systems.
