• Search Engineering
  • Search University of Warwick
  • Search for people at Warwick
  • Search Student Blogs
  • Search Warwick Blogs
  • Search past exam papers
  • Search video
   Computational Science and Engineering Laboratory
"To address critical material
needs through innovative computational 
research, education & outreach"
Doctoral & MS dissertations supervised Archival Journal Publications Lectures & Colloquia Books Edited Refereed Conference Publications Other Conference Presentations Technical Reports
Positions Available Suggested Curriculum for Doctoral Studies
MPDC Scientific Computing Libraries

The software listed on this web site is aimed at members of the MPDC laboratory and research collaborators and sponsors from academia, industry and government laboratories. For access to any of the software packages listed below, our collaborators should send a request to Prof. N. Zabaras. Use of the software listed here is only allowed for academic and open research unless is otherwise specified.

As part of a broad software dissimination effort, we plan to gradually transition our computational work to a fully parallel C++ format based on open MPI and the PETSc platform. This documentation process was intiated in February, 2008 and as such the software listed here represents only a small portion of our research activities. For MPDC members and others users of this software, the following document for a unified preparation of software libraries should be consulted.

MPDC Linux Cluster: Information for installation and updates (internal use only)

The links below concern installation of the MPDC Linux cluster and are addressed only to the MPDC cluster manager and internal users.

  • Red Hat Enterprise Linux AS (Taroon Update 3) for I386 (Intel): This is the version currently installed in the MPDC cluster.

  • MPICH2: High-performance and widely portable implementation of the Message Passing Interface (MPI) standard.

  • OSCAR: Contains open source cluster application resources. It installs and configures all required software for the cluster such as ganglia, C3, and TORQUE job system.

  • PETSc: The Portable, Extensible Toolkit for Scientific computing (PETSc) is a freely available package for solving large linear and nonlinear systems of equations. Petsc will download and install BLAS, LAPACK, MPICH2 if they are not already installed in your system.
  • Cluster Installation: A detailed summary of the installation and needed software/hardware updates of the MPDC cluster are provided here.

Background software needed for MPDC applications

The required software packages for compiling and linking the MPDC applications are listed below. This software is available free to the broad scientific community and can be downloaded from the indicated sites. As this software updates become available, we will make a considerable effort to upgrade the MPDC library applications. The particular background software needed for each of the MPDC application modules are clearly indicated in the links below.

  • FEM-Library (last update 4/09/08): An in house library based on the PETSc platform for parallel finite element computations. A tutorial and a number of examples for learning and testing the utilization of this library is given here.

  • Geometric Modeling: A set of libraries for geometric discretization and domain decomposition using the finite element method. These libraries are based on TetGen (a quality tetrahedral mesh generator and 3D Delaunay triangulator), NetGen (automatic mesh generator) and Triangle (a 2D quality mesh generator and Delaunay triangulator).
MPDC software libraries currently available for download

A list is provided below of currently released MPDC software modulus together with their documentation. Some of these packages require integration with other software as indicated. Follow the links below for the MPDC application software of interest.

Microstructure Modeling

  • Microstructure Reconstruction - GRF: Reconstruction of 3D microstructures from 2D images using Gaussian Random Fields.
  • PCA based Representation of Polycrystal Microstructures: Representation of 3D microstructures in their PCA eigenbases. It includes construction of a reduced-order surrogate microstructure space.
  • Phase Field Model of 3D Grain Growth for Polycrystal Microstructures (last release 5/31/2008): This is an independent suite of tools for simulating grain growth process in metallic polycrystal microstructures using the phase-field technique.
  • MaxEnt (last release 5/31/2008): This is a suite of tools for performing constrained Maximum-entropy optimization using the conjugate gradient method and Gibbs sampling scheme.
  • Construction of 3D Polycrystal Microstructures with Desired Grain size distribution (last release 5/31/2008): A software library for reconstructing polycrystalline microstructure from its grain size distribution.

Deformation process modeling and design

  • Constitutive Modeling (last release 3/28/2008): A stand alone C++ library for the implementation and time-integration of phenomenological state-variable based constitutive models for metallic materials. A driver for a material point simulator with a number of examples is included.
  • Kinematic Modeling (last release 4/04/2008): A Petsc based finite element code for modeling large deformations. It requires MPI, Petsc and the MPDC-FEM library.
  • Contact and Friction Modeling (last release 4/04/2008): Petsc based finite element classes for modeling contact and friction in deformation processes. It is needed in the analysis of large deformation processes that involve contact and friction. It requires MPI, Petsc and the MPDC-FEM library.
  • Large Deformation Process Analysis (last release 4/04/2008): A Petsc based code for deformation processes (forging, extrusion, etc.) using state-variable based constitutive models. It needs to be compiled together with the Constitutive Modeling, Kinematic Modeling, and Contact and Friction Modeling classes. It requires MPI, Petsc and the MPDC-FEM library.
  • Sensitivity Constitutive Modeling (last release 3/18/2008): A Petsc based code for computing sensitivities at a material point for phenomenological state-variable based constitutive models of metallic materials. A driver for a material point sensitivity simulator is also included. It requires the Constitutive Modeling class, MPI and Petsc.
  • Sensitivity Contact Modeling (last release 3/18/2008): A Petsc based finite element code for computing sensitivity fields related to contact and friction models. It is required in sensitivity and design analysis of large deformation processes.
  • Sensitivity Kinematic Modeling (last release 3/18/2008): A Petsc based finite element code for computing sensitivity fields in large deformations for state-variable based constitutive models. It requires Constitutive Modeling, Kinematic Modeling, MPI, Petsc and the MPDC-FEM library.
  • Large Deformation Process Sensitivity Analysis (last release 3/28/2008): A Petsc based code for computing sensitivities in deformation processess (forging, extrusion, etc). It includes sensitivities with respect to preform, die and other process parameters. It requires Constitutive Modeling, Kinematic Modeling, Large Deformation Analysis, MPI, Petsc and the MPDC-FEM library.
  • Design of Deformation Processes (last release 2/28/2008): A Petsc based code for the design of multi-stage deformation processes (forging, extrusion, etc.).

Microstructure-sensitive design and multiscale modeling of deformation processes

Solidification and crystal growth process modeling and design

Electronic structure calculations

  • Multibody energy expansions (last release 2/28/2008): A C++ library using a finite element interpolation framework. It can be coupled with any ab initio software.
  • Multibody energy expansions (last release 7/15/2008): A C++ library using the multidimensional Smolyak algorithm based interpolation software provided here. It can be coupled with any ab initio software.

Stochastic Modeling Libraries

Bayesian Inference Libraries

  • Smolyak-I: A sparse grid collocation toolbox for modeling stochastic PDEs in multidimensional random spaces. This library can run in C++ independently of Petsy. The software can be downloaded here and a short description of its installation and use are discussed in this document.

  • Stochastic variational multiscale methods for transport in highly heterogeneous media -- spectral stochastic and stochastic support methods.

FEniCS C++

  • FEnics C++ Library (last release 6/26/2012): Installation information is given here. Python script downloads and compiles FEniCS and all its dependencies. Currently it compiles a serial static version without MPI support (you only need to set up some environment libraries). We will provide the parallel version here soon. Then your run the script and you wait for 3-4 hours until it is completed. The script will work only on Hopper.

Multiphase Flows in Heterogeneous Media