CRATE v1.0.0
New Features and Improvements
This Pull Request includes a massive development of CRATE and yields the first version deemed ready for its open-source release. Besides many new code features and improvements, the new version includes a proper src/ layout, all the required Python package distribution files, a complete Sphinx documentation (with automatically generated API) and a directory of benchmarks. The coding style has also been improved, closely following the PEP8 guidelines, and a Flake8 configuration file has been included for the sake of coding style uniformity and automatic checking.
Below is a brief list of the main developments introduced in this version:
-
Massive OOP refactorization.
-
Extension of CRATE to finite strains.
-
Enrichment of available matricial and tensorial operations and procedures.
-
Improvement of FFT basic scheme implementation.
-
Enrichment of homogenized strain-stress output file.
-
Implementation of St.Venant-Kirchhoff anisotropic hyperelastic constitutive model.
-
Implementation of general isotropic elasticity.
-
Initial guess of RVE effective elastic tangent modulus available from the offline-stage.
-
ASCA equilibrium problem converted to total formulation (total strains as primary unknowns).
-
ASCA equilibrium formulation without the far-field strain was removed.
-
Add input data file option to keep the reference material properties constant.
-
The spatial discretization file directory can now be specified as a calling argument.
-
Removed some clustering algorithms implementations (not validated).
-
Removed some optimizers implementations (not validated).
-
Add new output file with the CRVE effective tangent modulus.
-
Add new input data file option to minimize the output to the essential.
-
Generalized Swift strain hardening law to Nadai-Ludwik.
Bug Fixes
Several bugs were fixed during this development cycle.