Releases: bessagroup/CRATE
CRATE v0.5.0
Description
Generalization of the clustering scheme underlying the computation of the Cluster-reduced Representative Volume Element (CRVE), bringing new interfaces to implement additional cluster analysis' features and clustering algorithms.
New Features and Improvements
-
General clustering scheme. A fairly general clustering scheme can now be prescribed (specification documented in CRATE's input data file in the section Clustering scheme) to generate the Cluster-reduced Representative Volume Element (CRVE). It is possible to prescribe one or more RVE clustering solutions where each is obtained with a given clustering algorithm and based on a specified set of physical-based clustering features. If more than one RVE clustering solution is prescribed, then a clustering ensemble strategy or method must be prescribed (specification documented in CRATE's input data file in the section Clustering ensemble method) in order to get a unique RVE clustering solution (consensus clustering solution).
-
Refactoring and OOP reimplementation. Both old
clusteringdata
andclustering
modules have been completely refactored and implemented under the OOP paradigm. The implemented classes deal effectively with the general clustering scheme previously described and bring two major advantages: (1) it is now pretty easy to implement new physical-based clustering features to be used as a basis for the RVE cluster analysis and (2) it is equally straightforward to implement (from scratch or from open sources) additional clustering algorithms. An interface has also been implemented for the homogenization-based multiscale methods required to compute the RVE local elastic strain response database. Despite being working properly, this interface still needs to be further improved in a later version. -
Output update. The output to the default standard output device (generally the terminal command window), stored in the output
.screen
file, has been updated and provides more information about the computation of the cluster analysis' features and the generation of the CRVE.
Bug Fixes
None
CRATE v0.4.0
Description
Significant efficiency upgrade associated with the computation of the clustering interaction tensors (accounting for cluster-symmetry).
New Features and Improvements
- Cluster interaction tensors cluster-symmetry. The cluster interaction tensors are symmetric relative to the associated clusters when weighted with the corresponding cluster volume fractions. The implementation of the cluster interaction tensors computation has been updated to take into account this cluster-symmetry. By avoiding the explicit computation of all cluster interaction tensors, the new implementation leads to a significant decrease of the computational time required to perform this operation: the speedup mainly depends on the problem dimension and on the total number of clusters, increasing with an increase of either one of these parameters.
Bug Fixes
None
CRATE v0.3.0
Description
This release brings a powerful algorithmic technique in order to deal with convergence failures arising from different sources (equilibrium iterative scheme, self-consistent iterative scheme, state update, etc.): macroscale loading subincrementation. Instead of simply aborting the analysis under such circumstances, a macroscale increment cut procedure is raised with the goal of achieving the solution through a more discretized loading path. Given that the loading incrementation is dinamically adapted during the solution procedure, this technique may also significantly improve the efficiency of nonlinear microscale equilibrium analyses by reducing the total number of load increments to perform the complete analysis.
New Features and Improvements
-
Macroscale loading subincrementation. In order to deal with potential convergence failures (equilibrium iterative scheme, self-consistent iterative scheme, state update, etc.), an automatic subincrementation strategy has been implemented. When a converge failure occurs, the current macroscale load increment magnitude is cut in half in an attempt to ease the solution convergence by performing a smaller step in the deformation path. Each time the increment magnitude is cut in half, the subincrementation level is incremented by 1, being decremented by 1 when the increment magnitude is doubled. The level 0 corresponds to the actual prescribed increment magnitude.
-
Progressive subincrementation. The subincrementation procedure follows a progressive recovery strategy to be as efficient as possible. When a convergence failure occurs, the required number of increment cuts is performed until convergence is (hopefully) achieved, incrementing the subincrementation level accordingly. However, when both subincrements resulting from an increment cut converged, the following increment magnitude is doubled (subincrementation level is decremented by 1) in order to recover towards the prescribed increment magnitude (level 0).
-
Subincrementation limits. Two parameters are implemented to control the extent of the subincrementation scheme. The first is the maximum subincrementation level (specification documented in CRATE's input data file in the section Maximum loading subincrementation level) and the second is the maximum number of consecutive increment cuts (specification documented in CRATE's input data file in the section Maximum loading consecutive increment cuts). Both these parameters are optional and assume default values if not specified.
-
Output update. The output to the default standard output device (generally the terminal command window), stored in the output
.screen
file, has been updated to account for the new macroscale loading subincrementation strategy. When the subincrementation level is greater than 0 (i.e., the increment magnitude is lower that the prescribed one), the current subincrementation level is displayed after the global increment number. -
Vanished errors. Some previously implemented errors have been removed because the convergence failure handling is now done by activating the increment cut procedure.
Bug Fixes
None
CRATE v0.2.0
Description
This release essentially brings enhancements associated to the macroscale loading constraints: (1) it is now possible to enforce general non-monotonic loading paths of strain and/or stress constraints by specifying one or more loading subpaths; (2) a completely general incrementation scheme is now available for one or more loading subpaths; (3) the (pseudo-)time associated with the macroscale loading enforcement can now be prescribed. The output to the default standard output device is also being updated to include further information about the current loading increment status!
New Features and Improvements
-
Non-monotonic loading paths. It is now possible to enforce general non-monotonic loading paths of strain and/or stress macroscale constraints. The global loading path is now composed by one or several loading subpaths, being each loading subpath completely general (strain/stress components prescriptions) and independent from each other. The specification of the macroscale loading is documented in CRATE's input data file in the section Macroscale loading.
-
General incrementation option. Besides the previous macroscale loading incrementation option (keyword
Number_of_Load_Increments
, whereby it is prescribed an equal-magnitude number of increments in all loading subpaths, it is now possible to prescribe a completely general incrementation scheme for each loading subpath (keywordIncrement_List
). The specification of the macroscale loading incrementation is documented in CRATE's input data file in the section Load Incrementation. -
Loading (pseudo-)time. The (pseudo-)time associated with the macroscale loading incremental enforcement can now be optionally prescribed either explicitly (through the
Increment_List
incremental scheme) or through the keyword `Loading_Time_Factor' (coefficient that is multiplied by the incremental load factor to get the incremental load time). Unless overwritten by any of the previous options, the incremental load time is made equal to the incremental load factor. The specification of the macroscale loading (pseudo-)time is documented in CRATE's input data file in the section Loading Time. -
Output update. The output to the default standard output device (generally the terminal command window), stored in the output
.screen
file, has been updated to account for the new macroscale loading enforcement features. Besides the global increment number, each macroscale increment header now contains useful data from the current loading subpath (subpath id, increment, total and incremental load factors, total and incremental times).
Bug Fixes
None
CRATE v0.1.0
Description
This is the first release of CRATE, a hopefully stable version that serves as a solid foundation for future developments.
New Features and Improvements
None
Bug Fixes
None