2D mantle convection code that uses Lagrangian tracer particles for the advection of tempertaure and compostion. Tracer information is projected onto a fixed Eulerian grid to calculate quantites such as thermal diffusion.
-
$\lambda$ = aspect ratio -
$x$ = horizontal position ($x \in [0,\lambda]$ ) -
$z$ = vertical position ($z \in [0,1]$ , increasing upward) -
$t$ = time -
$\psi$ = stream function -
$\mathbf{v}$ = velocity -
$C$ = composition -
$T$ = temperature -
$H$ = internal heating rate -
$\eta$ = viscosity
- Linux script for compiling Fortran source files
- Executable for ProjecTracer code
- Linux script for submitting local OpenMP jobs
- Contains Fortran source files for the calculation of
$H$ for certain problems - See https://github.com/seantrim/exact-thermochem-solution for details
- Fortran source code files for ProjecTracer code
- Gnuplot scripts for analysis and visualization
- Specify physical parameters, boundary conditions, and code options (e.g., aspect ratio, Rayleigh numbers, Courant number, etc.) in inputs.nml
- Entries in the Fortran namelist inputs.nml are fully commented
- Specify initial conditions for
$T$ and$C$ in initial_conditions.f90- Variable
$H$ is specified incompute_heating
subroutine in energy.f90
- Variable
- Compile source code using compile_script.sh
- Linux:
$ source compile_script
- This produces the executable ProjecTracer
- gfortran 11.3.0 or later is recommended
- Other compilers may be possible but results should be tested
- Linux:
- Run ProjecTracer from the command line
- Specify number of OpenMP processes in run_job.sh then run the script
- Linux:
$ source run_job.sh
- Job will run in the background
This repository is subject to the GPLv3 license.
The routines contained within xelbdj2_all_routines.f90 and xgscd_routines.f90 are adapted from routines by Toshio Fukushima available under the CC BY-SA 4.0 license. Original versions of these routines can be found at http://dx.doi.org/10.13140/RG.2.2.27011.66085 and https://www.researchgate.net/publication/233903220_xgscdtxt_Fortran_program_package_to_compute_the_Jacobian_elliptic_functions_snum_cnum_dnum.