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).
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
- Deformation process modeling and design
- Microstructure-sensitive design and multiscale modeling of deformation processes
- Solidification and crystal growth process modeling and design
- Electronic structure calculations
- Stochastic modeling libraries
- Bayesian inference libraries
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.
- PCA based Representation of Polycrystal Microstructures: Representation of 3D microstructures in their PCA eigenbases. It includes construction of a reduced-order surrogate microstructure space.
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.).
- 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.
Microstructure-sensitive design and multiscale modeling of deformation processes
- Polycrystal plasticity using orientation
distribution functions (last release 3/29/2008): A Petsc
based material point simulator for polycrystal plasticity in Rodrigues space for FCC, BCC and HCP metals.
- Multiscale Deformation Process Modeling (last release 4/15/2008): A Petsc based library for multiscale modeling of deformation processes (forging, extrusion, etc.) using polycrystal plasticity (Rodrigues representation).
- Polycrystal plasticity using discrete grain aggregates (last release 4/15/2008): A Petsc based material point simulator for polycrystal plasticity using discrete aggregates. It includes texture and grain size effects as well as tools for meshing of realistic 3D polycrystals.
- Multiscale Deformation Process Modeling (last release 4/15/2008): A Petsc based library for multiscale modeling of deformation processes (forging, extrusion, etc.) using polycrystal plasticity (Rodrigues representation).
Solidification and crystal growth process modeling and design
- Directional Solidification/Crystal Growth Solver (last release 7/15/2008): Direct and
design (adjoint-based) simulators for crystal growth including magnetic fields.
- Level Set Crystal Growth Modeling (last release 2/28/2008): A Petsc based level set computation of crystal growth in an undercooled melt. It includes alloy systems.
- Multiscale Solidification modeling (last release 2/28/2008): A Petsc based level set computation of multiscale crystal growth in an undercooled melt.
- Level Set Crystal Growth Modeling (last release 2/28/2008): A Petsc based level set computation of crystal growth in an undercooled melt. It includes alloy systems.
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.
- 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
- Random Number Generator (last release 7/28/2008):
An advanced pseudo-random generator for the Uniform and Gaussian distributions.
- Histogram (last release 7/28/2008): A library to plot the PDF of a random distribution given a set of samples.
- Askey Polynomial Chaos (last release 7/28/2008): A stand alone C++ library for the computation of orthogonal polynomials needed in gPCE calculations.
- Sparse Grid Collocation (last release 7/23/2008): An adaptive hierarchical sparse grid toolbox for high-dimensional interpolation, multidimensional integration and high-dimensional sparse grid collocation method. This library requires MPI.
- Solution of Stochastic PDEs Using Sparse Grid Collocation (last release 3/21/2008): Solution of stochastic PDEs using the hierarchical sparse grid toolbox. This library requires MPI and the MPDC-Finite element libraries for solving PDEs.
- MC-Sobol (last release 3/21/2008): An MPI-based implementation of the Monte Carlo-Sobol sampling algorithm.
- Modeling Fluid Flow in Random Heterogeneous Media Using gPCE (last release 7/28/2008): A second-order projection finite element method for solving 2D and 3D flows in random porous media using the gPCE method. This library requires the Askey Chaos, Random number generator and Histogram libraries. Also MPI and the MPDC-Finite element libraries for solving PDEs are needed. A stand alone deterministic 2nd order projection FEM solver for flows in porous media is also included. It can be used in conjuction with the sparse grid collocation method for modeling flow in random media.
- Non-linear Model Reduction for Stochastic Input Models (last release 7/15/2008): A manifold learning approach to data-driven non-linear model reduction of stochastic inputs. Applications provided to topology and property reduction for modeling diffusion in random heterogeneous media.
- Modeling Fluid Flow in Random Heterogeneous Media Using a Variational Multiscale Approach and Sparse Grids (last release 7/15/2008): This is a collocation approach to multiscale flow in random heterogeneous media. The deterministic single scale mixed FEM solver can be used as a stand alone code (mainly for validation purposes). The deterministic multiscale mixed FEM code can be used as a stand alone code for problems that exhibit deterministic multiscale permeability features (it uses the single scale mixed simulator that is included within this software). The stochastic code requires (software included) the adaptive sparse grid Smolyak software and the deterministic multiscale mixed FEM solver given above.
- Stochastic inverse design using sparse grid collocation (last release 7/15/2008): A sparse grid collocation approach to modeling stochastic inverse problems. The examples provided include inverse heat conduction problems in random heterogeneous media.
- Histogram (last release 7/28/2008): A library to plot the PDF of a random distribution given a set of samples.
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
- Mixed FEM for Porous Media Flows (last release 6/26/2012): A C++ library using a mixed FEM framework based on FEniCS. This README file provides more information on the examples included. Compile on HOPPER using the attached CMakeLists.txt file. This requires installation of the FEniCS and associated libraries.
