Codes and Databases
Advanced Materials Characterisation,
Simulation of Plasticity and Fracture processes,
and Material Design
The development of new state-of-the-art scientific codes and software is at the heart of our research methodology.
Two codes related to the recent EPSRC UK project PRISB -
PCC Processing Design (C++ code) and
PCC Voronoi Analyser (Python code) - are
based on the new theoretical achievements of our scientific group providing a solid foundation for the future development of
the discrete methods in materials science and mechanics of solids, simultaneously opening new horizons for their incorporation both into
the conventional FEM packages (ANSYS, Abaqus) and microstructure characterisation tools such as MTEX).
Their unique capabilities already cover a wide range of materials characterisation and design tasks, including combinatorial and topological measures
of defect material microstructures (both for 2D EBSD and 3D tomography data), analysis of grain clusters and long-range mesoscale correlations of grain orientations,
prediction of the texture evolution during severe plastic deformation of metals, and genetic algorithms for materials design tasks.
Follow our updates! Currently, our research group is working hard on improving documentation and further developing MATERiA codes and related databases for effective
use on computation clusters, including the UK's Tier 2 and Tier 1 HPC facilities.
PCC Processing Design (CPD code: GitHub repository)
C++ software designed to deliver an entirely discrete, combinatorial representation of complex multidimensional and multiscale defect microstructures, along with detailed characterisation of their evolution
during various processing routes. Additionally, it can be utilized as a highly efficient design tool for microstructure optimisation in composite materials. The key methodological feature is the use of polytopal
(polygons in the 2D case or polyhedra in 3D) cell complexes (PCCs) as objects of algebraic topology, which provide a convenient discrete space for large-scale design of realistic material defect microstructures of
different dimensions, such as point and line defects, interfaces, and various volumetric phases.
PCC Voronoi Analyser ( VCA code: GitHub and PiP repositories)
The Python code addressed the practical needs of creating discrete (combinatorial) cell complexes (PCCs) based on the either regular (cubic or octahedron) or
Laguerre-Voronoi tessellations of space provided by the Neper software. In particular, Voronoi tessellations with the corresponding PCCs provide a very close representation
of the real material microstructures and are widely used in molecular dynamics and other types of simulations. Such cell complexes arise from the tessellations of spatial domains around arbitrary sets of points, which ensure
that each PCC's 1-cell is in the co-boundary of exactly three PCC's 2-cells and three 3-cells, and each PCC's 0-cell is in the boundary of exactly four PCC's 1-cells, six 2-cells and four 3-cells.
In addition, several Jupiter notebooks *.ipynb (Data Spell from JetBrains can be highly recommended for their opening)
implementing several advanced charcterisation and modelling tasks.
MATERiA software project & PCC database
An international software project aiming to develop solutions for the entirely discrete representation and studying evolution of material microstructures inspired by the concepts of combinatorics and algebraic topology, including polytopal cell complexes (PCCs).
In particular, it contains the most extensive collection of Polytonal Cell Complexes as an entirely discrete combinatorial spaces (sets of incidence and adjacency matrices) representing polycrystalline material microstructures of various types.
Some examples demonstrate their applications in simulating the evolution of microstructure and the fracture of metals and ceramic composites.
Private GitHub code repositories of the group members
Elijah Borodin:
- Shock-Waves propagation (1-dimensional, finite-difference methods (FDM); Fortran, C++, and Mathematica codes)
- Marangoni convection and Ddiffusion in solids (2-dimensional, finite-difference methods (FDM); Fortran and C++ codes)