heco
A julia package for linear Homogenization using FFT technique with CPU/GPU.
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 7 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.2%) to scientific vocabulary
Keywords
Repository
A julia package for linear Homogenization using FFT technique with CPU/GPU.
Basic Info
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
Heco.jl
Heco.jl (Homogenization of Elastic COmposite materials) is a Julia package for performing FFT-based linear homogenization of multi-phase elastic materials. It supports both real and complex materials, with efficient implementations for CPU and GPU architectures.
Although Heco.jl is applicable to a wide range of materials, it was initially developed with a focus on unidirectional composites featuring transversely isotropic fibers—such as carbon-fiber-reinforced systems.
If you use Heco.jl in your work, please consider citing the following:
📖 Valmalette, R. (2025). Heco.jl: A Real and Complex CPU–GPU Solver for FFT-Based Linear Homogenization. Zenodo. https://doi.org/10.5281/zenodo.15349930
⚙️ Installation
First, install Julia.
To install Heco.jl, run the following command in the Julia REPL:
julia
julia> ]add "https://github.com/h06e/Heco"
[!tip] GPU acceleration requires an NVIDIA GPU with CUDA support. If no compatible GPU is available, the package can still be used via the CPU implementation. Some warning messages may appear when running in CPU-only mode.
📘 Recommendation:
For a complete and interactive walkthrough, download the notebook available at:
examples/basics.ipynb
It presents a full example of using Heco.jl, including microstructure generation, material setup, homogenization, and result visualization.
✨ Features
🧩 Microstructure Generation
Heco.jl includes a basic Representative Volume Element (RVE) generator tailored for continuous fiber composites. The generator uses a particle-based method, which is particularly efficient for high fiber volume fractions.

🛠️ Material Behavior
The package currently supports linear elastic materials: - Isotropic - Transversely isotropic (with the symmetry axis aligned with the 3rd axis)
Elasticity tensors can be either real or complex-valued. Complex tensors are typically used for modeling viscoelastic behavior in the Laplace-Carson domain.
⚡FFT-Based Solver
The solver is built upon the foundational Moulinec and Suquet (1994) scheme. Its key features include: - Support for strain-controlled or stress-controlled loading (non-mixed modes). - Compatibility with isotropic or transversely isotropic reference media (aligned along the 3rd axis). - Convergence criteria based on the methods of Bellis and Suquet (2019), as well as stress-criteria criteria for stress-controlled loading.
Owner
- Name: Robin Valmalette
- Login: h06e
- Kind: user
- Repositories: 1
- Profile: https://github.com/h06e
Citation (CITATION.bib)
@software{valmalette_2025_15349930,
author = {Valmalette, Robin},
title = {Heco.jl: A Real and Complex CPU–GPU Solver for
FFT-Based Linear Homogenization
},
month = may,
year = 2025,
publisher = {Zenodo},
doi = {10.5281/zenodo.15349930},
url = {https://doi.org/10.5281/zenodo.15349930},
}
GitHub Events
Total
- Public event: 1
- Push event: 3
- Create event: 1
Last Year
- Public event: 1
- Push event: 3
- Create event: 1