CASUP - Cellular Automata library for SUPercomputers

CASUP on SourceForge Download CASUP
Download CASUP
Download CASUP

CASUP is a general purpose cellular automata (CA) library for supercomputers and HPC. CASUP provides routines for domain decomposition, halo exchange, collective ops, remote calls, etc. Fortran 2008 and 2018 coarrays are used extensively, as well as MPI, OpenMP and do concurrent. CASUP is distributed under 2 clause BSD-style license. See LICENSE included with the distribution. CASUP can be used on its own or coupled with a continuum mechanics solver, e.g. FE, either commercial: ABUMPACK or free open source: ParaFEM, to understand the influence of tensor fields (temperature, stress, strain, strain rate, pressure, etc.) on microstructure evolution, solidification, recrystallisation, ductile damage and brittle fracture, magnetisation, etc.

Note that the library was previously named CGPACK (cellular grains package). New name reflects the fact that the library now has a much wide applicability.

Supported by:

Bristol University logo EPCC logo EPSRC logo SSI logo POP logo PRACE logo

Progress log

MAY-2017 | APR-2017 | MAR-2017 | DEC-2016 | NOV-2016 | SEP-2016 | AUG-2016 | JUL-2016 | JUN-2016 | MAY-2016 | APR-2016 | MAR-2016 | NOV-2015 | SEP-2015 | JUN-2015 | APR-2015 | MAR-2015 | FEB-2015 | JAN-2015 | OCT-2014 | JUL-2014 | APR-2014 | JUL-2013 | JUN-2013 | MAY-2013 | APR-2013 | MAR-2013 | FEB-2013 | JAN-2013

Feedback and support

With any questions, bug reports, feedback and any other comments please submit a ticket.


Publications etc.

A sample of modelling results possible to achieve with CGPACK

Cleavage propagation animations, see JUL-2014 coarray diary for details.

Running crack in a 100-grain model. One frame per 30 cleavage iterations, 10 frames = 300 cleavage progapation iterations in total.

Running crack in 100-grain model

Another view of the same crack. Purple are cracks, gray are GB. 3D crack artefacts are gray because crack potentially occupies the whole grain and all you see from it is just GB.

Another view of the same crack

Same crack with rotating model. 3D and 1D crack artefacts are present. This is one of the problems with the current cleavage propagation model.

Same crack, rotating model

Another example, still 100 grains

A model with 100 grains

A model with 100 grains

GB in a 100-grain model

GB in a 100-grain model

Crack in a 100-grain model after 300 iterations

Crack in a 100-grain model, 300 iterations

Grain competition stats

Changing grain size histograms during competition. This is a multi-page PDF

Changing grain size histograms during competition

Resolution analysis. Multiple runs of the same model. This is a multi-page PDF

Multiple runs of the same model

Grain competition animation.

Grain competition animation

Examples of grain structures

300x300x300 cell array, 100 grains, equiaxed microstructure

Equaxed microstructure

300x300x300 cell array, 50 grains, solidification from the boundary

Solidification from the boundary

200x200x200 cell array, 500 grains, bi-modal microstructure

bi-modal microstructure

No self-similar boundary conditions (fixed boundary). The full surface of one grain is shown protruding from the cross-section of the microstructure.

Columnar grains examples

150x150x150 array, 50 grains, showing the nucleation plane.

Nucleation on a specified plane

The same plane after solidification

Uniaxial solidification

3D view of solidified microstructure, showing columnar grains along X.

Uniaxial solidification - 3D view

Single grains

200x200x200 array, 50 grains. No self-similar boundary condition.

columnar grains - slice with one
         grain shown fully in 3D

Animated single grain rotated in space. Faces, edges and vertices can be identified.

Animated single grain rotated in space.

We use Paraview for visualisation.

A volume of material shortly after grain nucleation. Note that the bulk of the volume is not filled yet. rotated cube of material 1

A volume of material at the end of the grain growth. Only the surface of this volume is shown. rotated cube of material 2

A volume of material at the end of grain growth. This is volume visualisation. rotated cube of material 3

Other Fortran related projects

validate this page