• Stars
    star
    211
  • Rank 182,689 (Top 4 %)
  • Language
    C++
  • License
    Other
  • Created about 10 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A parallel, extensible finite element code to simulate convection in both 2D and 3D models.

ASPECT - Advanced Solver for Problems in Earth's ConvecTion

License GPL2+: Online Documentation DOI pdf manual Docker image: Tester image:

About

ASPECT is a code to simulate convection in Earth's mantle and elsewhere. It has grown from a pure mantle-convection code into a tool for many geodynamic applications including applications for inner core convection, lithospheric scale deformation, two-phase flow, and numerical methods development. The project is supported by CIG (http://geodynamics.org).

Installation instructions

The steps to install the necessary dependencies and ASPECT itself are described in the Installation instructions section of the ASPECT manual. If you encounter problems during the installation, please consult our wiki for typical installation problems or specific instructions for MacOS users, before asking your question on the mailing list.

In short, ASPECT is configured using CMake and has the following requirements:

  • CMake 3.1.0
  • GCC, Clang, or Intel compiler with C++14 support
  • deal.II 9.4 or newer configured with:
    • MPI, Trilinos, p4est (required)
    • BLAS/LAPACK, zlib (strongly recommended)
    • HDF5 (optional)
  • optional: PerpleX, LIBDAP, NETCDF

Running and extending ASPECT

Instructions on how to run and extend, as well as on how to interpret the output of ASPECT can also be found in the ASPECT manual. This manual also discusses the structure of the source code.

For getting started, you can also watch recordings from our tutorials.

Contributing to ASPECT

ASPECT is a community project that lives by the participation of its members — i.e., including you! It is our goal to build an inclusive and participatory community so we are happy that you are interested in participating! We have collected a set of guidelines and advice on how to get involved in the community and keep them in the CONTRIBUTING.md file in ASPECT's repository.

More information

For more information see:

  • The official website at https://aspect.geodynamics.org

  • The current Online Documentation

  • The current PDF Manual

  • How to cite ASPECT

  • For questions on the source code of ASPECT, portability, installation, new or existing features, etc., use the ASPECT forum. This forum is where the ASPECT users and developers all hang out.

  • See the Future Plan Board for a high level overview of items in development.

  • ASPECT is primarily based on the deal.II library. If you have particular questions about deal.II, contact the deal.II discussion groups.

  • ASPECT is being developed by a large, collaborative, and inclusive community. It is currently maintained by the following people:

  • The following people have significantly contributed and furthered ASPECT's goals and are therefore Principal Developers:

    • Jacky Austermann
    • Wolfgang Bangerth
    • Juliane Dannberg
    • Menno Fraters
    • Rene Gassmoeller
    • Anne Glerum
    • Timo Heister
    • Bob Myhill
    • John Naliboff
    • Cedric Thieulot
  • A complete and growing list of the many authors that have contributed over the years can be found at GitHub contributors.

  • If you have specific questions about ASPECT that are not suitable for public and archived mailing lists, feel free to contact the maintainers or principal developers.

License

ASPECT is published under GPL v2 or newer.

More Repositories

1

pylith

PyLith is a finite element code for the solution of dynamic and quasi-static tectonic deformation problems.
C++
146
star
2

sw4

SW4 (Seismic Waves, 4th order) implements substantial capabilities for 3-D seismic modeling, with a free surface condition on the top boundary, absorbing super-grid conditions on the far-field boundaries, and an arbitrary number of point force and/or point moment tensor source terms.
C++
124
star
3

seismic_cpml

SEISMIC_CPML is a set of sixteen open-source Fortran90 programs to solve the two-dimensional or three-dimensional isotropic or anisotropic elastic, viscoelastic or poroelastic wave equation using a finite-difference method with Convolutional or Auxiliary Perfectly Matched Layer (C-PML or ADE-PML) conditions, developed by Dimitri Komatitsch and Roland Martin from CNRS, France.
Fortran
113
star
4

axisem

AxiSEM is a parallel spectral-element method to solve 3D wave propagation in a sphere with axisymmetric or spherically symmetric visco-elastic, acoustic, anisotropic structures.
Fortran
60
star
5

Rayleigh

Rayleigh: Pseudo-spectral MHD
Fortran
56
star
6

burnman

BurnMan is a library for modeling mantle thermodynamics and thermoelasticity constrained by mineral physics experiments.
Python
53
star
7

citcoms

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

relax

Relax implements a semi-analytic Fourier-domain solver and equivalent body forces to compute quasi-static relaxation of stress perturbation.
Fortran
25
star
9

selen

SELEN: a program for solving the "Sea Level Equation".
Fortran
23
star
10

mineos

Mineos computes synthetic seismograms in a spherically symmetric non-rotating Earth by summing normal modes.
Fortran
23
star
11

calypso

Calypso performs magnetohydrodynamics (MHD) simulation in a rotating spherical shell, modeled as Boussinesq fluid driven by thermal or compositional buoyancy.
Fortran
14
star
12

best_practices

Software development and training best practices.
TeX
13
star
13

hc

HC is a global mantle circulation solver following Hager & O'Connell (1981) which can compute velocities, tractions, and geoid for simple density distributions and plate velocities.
C
12
star
14

vq

Virtual Quake is a boundary element code designed to investigate long term fault system behavior and interactions between faults through stress transfer.
C++
12
star
15

plasti

Plasti is a 2D ALE (Arbitrary Lagrangian Eulerian) code donated to CIG by Sean Willett and Chris Fuller of the University of Washington. The code originated at Dalhousie University in Canada.
Fortran
12
star
16

pylith_benchmarks

Benchmark data and results for PyLith.
Python
9
star
17

pylith_installer

Installer code for PyLith.
Python
8
star
18

ellipsis3d

Ellipsis3d is a three-dimensional version of the particle-in-cell finite element code Ellipsis, a solid modeling code for visco-elastoplastic materials. The particle-in-cell method combines the strengths of the Lagrangian and Eulerian formulations of mechanics while bypassing their limitations.
C
7
star
19

snac

SNAC (StGermaiN Analysis of Continua) is an updated Lagrangian explicit finite difference code for modeling a finitely deforming elasto-visco-plastic solid in 3D.
C
7
star
20

software_template

This is an example repository that follows the best software practices of the Computational Infrastructure for Geodynamics (CIG)
Dockerfile
7
star
21

spatialdata

SpatialData provides an interface to Proj.4 (cartographic projections library) for converting coordinates among a variety of geographic projections.
C++
6
star
22

sw4lite

Testing numerical kernels in SW4
C
6
star
23

mag

MAG is a serial version of a rotating spherical convection/magnetoconvection/dynamo code, developed by Gary Glatzmaier and modified by Uli Christensen and Peter Olson.
IDL
6
star
24

gale

Gale is a 2D/3D code for the long-term tectonics community. The code solves problems related to orogenesis, rifting, and subduction.
C++
5
star
25

citcomcu

CitcomCU is a finite element parallel code capable of modeling thermochemical convection in a three dimensional domain appropriate for convection within the Earth's mantle.
C
4
star
26

conman

ConMan is a finite element program for the solution of the equations of incompressible, infinite-Prandtl number convection in two dimensions, originally written by Scott King, Arthur Raefsky, and Brad Hager.
Fortran
4
star
27

lithomop

LithoMop is a finite element code for the solution of visco-elastic/plastic deformation that was designed for lithospheric modeling problems.
Fortran
4
star
28

pythia

Pythia refers to the Pyre framework and a collection of packages that interact with it, such as an interface to the ACIS solid modeling package.
Python
3
star
29

flexwin

The FLEXWIN software package automates the time-window selection problem for seismologists. It operates on pairs of observed and synthetic single component seismograms, defining windows that cover as much of a given seismogram as possible, while avoiding portions of the waveform that are dominated by noise.
Fortran
3
star
30

pylith_parameters

Web application for viewing and editing PyLith parameters.
JavaScript
2
star
31

autoconf_cig

Autoconf M4 macros for CIG codes
M4
2
star
32

pylith-tutorials

TeX
1
star
33

cigma

The CIG Model Analyzer (Cigma) is a suite of tools that facilitates the comparison of numerical models, and performs error analysis, benchmarking, and code verification.
C++
1
star
34

cig_backend

CIG Backend Code
PHP
1
star