Actively adding features to support improved science or performance by community contributors.

Code changes:


Bug reports:
Github Issue Tracker

GNU Public License


CitcomS is a finite element code designed to solve compressible thermochemical convection problems relevant to Earth's mantle.

Written in C, the code runs on a variety of parallel processing computers, including shared and distributed memory platforms.

Current Release

Source Packages


This version of CitcomS removes the Python related code and adds several features to improve usability and stability. New features/changes include: removed Python sections of CitcomS, wrote Python to standard parameter file conversion tool (Py2C), converted Python cookbooks parameter files to original style parameter files, added output of parameters to a pidXXXXXX style file, updated the manual to correspond to the new changes

View Prior Source Releases

[show] [hide]


This release of CitcomS 3.2 has numerous changes from 3.1.1. These include improved implementations of internal stress, radial layer dependent viscosity, and velocity boundary conditions. Improvements have also been made in solver convergence controls, VTK output and several bug fixes. Finally, the Pyre configuration option has been turned off by default, though it can be enabled during configuration. See the NEWS file in the package for more details. This release is slightly backward incompatible with v3.0. See the History section in the manual for more details.


This release of CitcomS 3.1 adds the ability to convert temperature and composition to seismic velocities. The seismic velocities output can be uploaded to CIG seismic portal for SPECFEM3D simulation to generate synthetic seismograms. Other enhancements in bug-fix version 3.1.1 include: Allowing tracers in global model with nproc > 2; Simplified convergence control for Stokes solver; The norms of div(u), u, and p are no longer dependent on the grid size; Adding self-gravitational effect on geoid and adding Consistent-Boundary-Flux (CBF) method to compute dynamic topography; Adding GMT/NetCDF grd input for surface velocity boundary conditions, initial temperature, material dependence and local Rayleigh number in surface layers; Adding capability to read in time- and geographic-dependent, top surface temperature boundary conditions; Allowing multi-component chemical viscosity; Optimizing the speed (Cookbook 8 becomes 13% faster than v3.0); Better convergence for the coupled solver case; Several bugs are fixed. See the NEWS file in the package for more details. This release is slightly backward incompatible with v3.0. See the History section in the manual for more details.


Latest release.


Latest release.


Latest release.


Latest release.


Latest release.


Latest release.


Latest release.


Latest release.

User Resources

User Manual

The CitcomS user manual is available online.

Community Wiki

Visit the CitcomS Wiki page for additional support with building, using, or modifying CitcomS.

CitcomS Publications List

User-submitted research publications using CitcomS.

Mailing List

Browse the CIG Mantle Convection Mailing List Archive to find known issues or to troubleshoot common problems, or E-mail the CIG Mantle Convection Mailing List with details of your problem or suggestion.

Developer Resources

Development Version

If you are interested in getting the development version of this code from the CIG repository, use the following git command:

git clone --recursive

You can also browse the history of modifications in the Git repository.

Issue/Bug Tracker on Github

Browse and/or submit new issues at our Github Issues Tracker.

Doxygen Documentation

Auto-generated Doxygen documentation is available for the Development and Release codebases.

CitcomS Users Map

Shows location of all users who downloaded CitcomS in the past year (image updated daily.)

map showing location of all users who downloaded CitcomS in the last year (image updated daily)

Contact Us | Site Map | Sign In