Obliqua

A Julia package to calculate the tidal deformation (i.e., tidal Love numbers) of solid, partially-solid, and liquid planetary mantles and the associated volumetric tidal dissipation and global heating rates.

License: MIT Codecov Unit Tests Integration Tests Total Tests

Documentation

The documentation for Obliqua is hosted on the PROTEUS website. The documentation includes a user guide, installation instructions, and examples of how to use the package. Additionally, the documentation provides information on the underlying theory and algorithms used in Obliqua. The Obliqua package is designed to be used in conjunction with the PROTEUS simulation framework, and the documentation includes information on how to integrate Obliqua with PROTEUS.

📖 Obliqua Documentation   •   🌌 PROTEUS Framework


Get started

📥 Install Obliqua

Set up the package and its dependencies within the Julia environment.

🎓 New to Obliqua?

Start with the quick-start guide to calculate basic tidal Love numbers.

🌍 Ready for science?

Run full planet-mantle dissipation models integrated with PROTEUS.


Repository structure

The repository structure is laid out below. The main components of the repository are the source code, documentation, tests, and examples. The source code is located in the src/ directory, while the documentation is located in the docs/ directory. The tests are located in the test/ directory, and the examples are located in the examples/ directory.

📁 Click to view repository structure
Obliqua/
├── 📂 src/
│   ├── 📄 common.jl
│   ├── 📄 constants.jl
│   ├── 📄 fluid0d.jl
│   ├── 📄 Hansen.jl
│   ├── 📄 interior.jl
│   ├── 📄 load.jl
│   ├── 📄 Obliqua.jl
│   ├── 📄 plotting.jl
│   ├── 📄 solid0d.jl
│   ├── 📄 solid1d_equil_relax.jl
│   ├── 📄 solid1d_mush_relax.jl
│   ├── 📄 solid1d_mush.jl
│   ├── 📄 solid1d_relax.jl
│   ├── 📄 solid1d.jl
│   └── 📄 SphericalHarmonics.jl
├── 📂 examples/
│   ├── 📄 hansen_k_table.ipynb
│   └── 📄 visualize_output.ipynb
├── 📂 docs/
│   ├── 📂 src/
│   ├── 📄 make.jl
│   └── 📝 Project.toml
├── 📂 out/
├── 📂 res/
│   ├── 📂 config
│   └── 📂 interior_data
├── 📂 test/
│   ├── 📄 runcoverage.jl
│   ├── 📄 runprofiler.jl
│   ├── 📄 runtests.jl
│   ├── 📄 test_common.jl
│   ├── 📄 test_constants.jl
│   ├── 📄 test_fluid0d.jl
│   ├── 📄 test_obliqua.jl
│   ├── 📄 test_setup.jl
│   ├── 📄 test_solid0d.jl
│   ├── 📄 test_solid1d_equil_relax.jl
│   ├── 📄 test_solid1d_mush_relax.jl
│   ├── 📄 test_solid1d_mush.jl
│   ├── 📄 test_solid1d_relax.jl
│   ├── 📄 test_solid1d.jl
│   └── 📝 test.toml
├── 🚫 .gitignore
├── 📦 package.json
├── 📝 README.md
├── 📝 LICENSE.txt
├── 📝 CODE_OF_CONDUCT.md
└── 📝 Project.toml

Source code

The source code for Obliqua is organized into several modules, each responsible for a specific aspect of the functionality. The main modules include:

  • common.jl: Common functions and utilities used throughout the package.
  • constants.jl: Physical constants and parameters used in the calculations.
  • fluid0d.jl: 0D fluid model.
  • Hansen.jl: Hansen coefficients for tidal dissipation.
  • interior.jl: Complementary models for the interior properties of planets.
  • load.jl: Load interior data functions.
  • Obliqua.jl: Main module for the Obliqua package.
  • plotting.jl: Functions for plotting and visualization.
  • solid0d.jl: 0D solid model.
  • solid1d_equil_relax.jl: 1D solid equilibrium tide model using relaxation based solver.
  • solid1d_mush_relax.jl: 1D solid porovisco-elastic model using relaxation based solver.
  • solid1d_mush.jl: 1D solid porovisco-elastic model using shooting method.
  • solid1d_relax.jl: 1D solid visco-elastic model using relaxation based solver.
  • solid1d.jl: 1D solid visco-elastic model using shooting method.
  • SphericalHarmonics.jl: Spherical harmonics functions.

All source code is written in the Julia programming language and is availible on GitHub.

💻 Obliqua Github

This software is available under the MIT license. Different components within the PROTEUS framework carry different licenses. Please find information about the use of licenses within the PROTEUS framework on the PROTEUS licence page.


Integrations

This project is being developed in close collaboration with the PROTEUS similation framework. Obliqua can be used seamlessly within PROTEUS to model tidal dissipation and Love number evolution in planetary interiors.

For detailed instructions on installing and using Obliqua in combination with PROTEUS, refer to the installation guide in the Obliqua documentation.