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.
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.