Mocca

Provides a Julia based framework for the simulating pressure / temperature swing adsorption processes for CO2 capture.
https://github.com/sintefmath/mocca.jl

Category: Emissions
Sub Category: Carbon Capture

Last synced: about 20 hours ago
JSON representation

Repository metadata

A package for modelling CO2 capture processes in Julia.

README.md

Zenodo

Mocca

Mocca.jl logo

Mocca.jl provides a Julia based framework for the simulating pressure / temperature swing adsorption processes for CO2 capture.

To learn more about using Mocca please see the documentation.

Currently there is an implementation of a 4-stage vacuum swing adsorption process for CO2 capture, from a two-component flue gas, using Zeolite 13X and a dual-site Langmuir model. See Direct Column Breakthrough simulation and Cyclic Vacuum Swing Adsorption simulation. Additionally, we have made examples demonstrating capabilities for doing Optimization and History matching in Mocca.jl.

In the future we hope to implement examples of other systems and isotherms e.g. temperature swing adsorption for Direct Air Capture (DAC).

Installation

The latest stable version of Mocca can be installed directly from Julia. First install Julia from here.

Working in an environment (optional)

We recommend running in a specific environment (similar to a virtual environment in python). More information on environments in Julia can be found here.

To create an environment in Julia, navigate to the folder where you want the environment to be, start the Julia REPL and type the following at the Julia prompt:

using Pkg
Pkg.activate(".")
Pkg.instantiate()

Installing Mocca in your environment

To install Mocca just add the package to your current environment in the Julia REPL:

Pkg.add("Mocca")

This will add Mocca to the current environment and install all necessary dependencies. Mocca is now installed and ready to use.

To get started try the quick start or Direct Column Breakthrough simulation examples. Bear in mind that the first time you run the code in the Julia REPL it may take several minutes to run as Julia needs to compile all the necessary code. As long as you do not close the REPL, the second time you run the code will be much quicker!

Quick start example

Run the following code to quickly setup and run a
Direct Column breakthrough adsorption simulation using predefined input parameters.

The example uses some utility functions which simplify the simulation setup.
To see the steps used in more detail, please refer to the
Simulate DCB example.

using Mocca

# Import and load input parameters
json_dir = joinpath(dirname(pathof(Mocca)), "../models/json/")
filepath = joinpath(json_dir, "haghpanah_DCB_input_simple.json")
(constants, info ) = Mocca.parse_input(filepath)

# Setup and run simulation
case, ts_config = Mocca.setup_mocca_case(constants, info)
states, timesteps = Mocca.simulate_process(case; timestep_selector_cfg = ts_config,
    output_substates = true, info_level = 0)

# Save results to CSV and plot
Mocca.export_cell_results(joinpath(Mocca.moccaResultsDir, "haghpanah_DCB_results.csv"),
    case, states, timesteps; format="csv")
f = Mocca.plot_outlet(case, states, timesteps)
display(f)

Acknowledgements

The authors would like to thank Shreenath Krishnamurthy, SINTEF Industry and Gokul Subraveti, SINTEF Energy for assistance developing the code.
This project has received funding from the following projects:

  • SINTEF Digital Strategic Development Fund
  • FME gigaCCS administered by the Research Council of Norway (350370).

Owner metadata


GitHub Events

Total
Last Year

Issue and Pull Request metadata

Last synced: 3 days ago

Total issues: 1
Total pull requests: 0
Average time to close issues: N/A
Average time to close pull requests: N/A
Total issue authors: 1
Total pull request authors: 0
Average comments per issue: 1.0
Average comments per pull request: 0
Merged pull request: 0
Bot issues: 0
Bot pull requests: 0

Past year issues: 1
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 1
Past year pull request authors: 0
Past year average comments per issue: 1.0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/sintefmath/mocca.jl

Top Issue Authors

  • viniviena (1)

Top Pull Request Authors


Top Issue Labels

Top Pull Request Labels


Package metadata

juliahub.com: Mocca

A module for modelling CO2 capture processes in Julia.

  • Homepage: https://sintefmath.github.io/Mocca.jl/
  • Documentation: https://docs.juliahub.com/General/Mocca/stable/
  • Licenses: MIT
  • Latest release: 0.0.1 (published about 1 month ago)
  • Last Synced: 2026-02-07T18:14:35.210Z (2 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 2 Total
  • Rankings:

Score: -Infinity