{"id":344210,"name":"Mocca","description":"Provides a Julia based framework for the simulating pressure / temperature swing adsorption processes for CO2 capture.","url":"https://github.com/sintefmath/mocca.jl","last_synced_at":"2026-05-14T23:30:20.140Z","repository":{"id":316209254,"uuid":"587234164","full_name":"sintefmath/Mocca.jl","owner":"sintefmath","description":"A package for modelling CO2 capture processes in Julia.","archived":false,"fork":false,"pushed_at":"2026-04-23T08:42:09.000Z","size":63051,"stargazers_count":17,"open_issues_count":10,"forks_count":5,"subscribers_count":8,"default_branch":"main","last_synced_at":"2026-05-03T18:03:55.616Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://sintefmath.github.io/Mocca.jl/","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sintefmath.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-01-10T09:21:25.000Z","updated_at":"2026-05-02T15:18:47.000Z","dependencies_parsed_at":"2026-04-01T02:00:28.937Z","dependency_job_id":"ec7b1d15-62b3-4091-8d05-366c83e43a55","html_url":"https://github.com/sintefmath/Mocca.jl","commit_stats":null,"previous_names":["sintefmath/mocca.jl"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/sintefmath/Mocca.jl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sintefmath%2FMocca.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sintefmath%2FMocca.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sintefmath%2FMocca.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sintefmath%2FMocca.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sintefmath","download_url":"https://codeload.github.com/sintefmath/Mocca.jl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sintefmath%2FMocca.jl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32914533,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-11T17:09:15.040Z","status":"ssl_error","status_checked_at":"2026-05-11T17:08:45.420Z","response_time":120,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"sintefmath","name":"SINTEF Digital - Mathematics and Cybernetics","uuid":"1901550","kind":"organization","description":"","email":"TrondRunar.Hagen@sintef.no","website":"https://www.sintef.no/en/digital/departments-new/applied-mathematics/","location":"Oslo, Norway","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/1901550?v=4","repositories_count":48,"last_synced_at":"2024-04-16T16:10:52.176Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/sintefmath","funding_links":[],"total_stars":205,"followers":30,"following":0,"created_at":"2022-11-03T22:22:10.398Z","updated_at":"2024-04-16T16:11:06.427Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sintefmath","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sintefmath/repositories"},"packages":[{"id":13378129,"name":"Mocca","ecosystem":"julia","description":"A module for modelling CO2 capture processes in Julia.","homepage":"https://sintefmath.github.io/Mocca.jl/","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/sintefmath/Mocca.jl","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2026-01-01T00:00:00.000Z","latest_release_published_at":"2026-01-01T00:00:00.000Z","latest_release_number":"0.0.1","last_synced_at":"2026-03-07T18:42:35.639Z","created_at":"2026-02-04T14:18:32.125Z","updated_at":"2026-03-07T18:42:37.029Z","registry_url":"https://juliahub.com/ui/Packages/General/Mocca/","install_command":"Pkg.add(\"Mocca\")","documentation_url":"https://docs.juliahub.com/General/Mocca/stable/","metadata":{"uuid":"eb14e3ba-90c8-11ed-0ecf-1dd2ea0d109c"},"repo_metadata":{},"repo_metadata_updated_at":"2026-03-07T18:42:37.006Z","dependent_packages_count":0,"downloads":4,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":10.94362375640639,"dependent_repos_count":7.747965028640337,"dependent_packages_count":33.35845643653904,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":17.350015073861922},"purl":"pkg:julia/Mocca","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/julia/Mocca","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/julia/Mocca","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/julia/Mocca/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages/Mocca/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages/Mocca/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages/Mocca/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages/Mocca/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages/Mocca/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages/Mocca/codemeta","maintainers":[],"registry":{"name":"juliahub.com","url":"https://juliahub.com","ecosystem":"julia","default":true,"packages_count":13716,"maintainers_count":0,"namespaces_count":0,"keywords_count":0,"github":"JuliaRegistries","metadata":{"funded_packages_count":851},"icon_url":"https://github.com/JuliaRegistries.png","created_at":"2022-04-19T16:34:08.340Z","updated_at":"2026-04-03T06:47:58.091Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/namespaces"}}],"commits":{"id":11615649,"full_name":"sintefmath/mocca.jl","default_branch":"master","total_commits":252,"total_committers":6,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":42.0,"dds":0.626984126984127,"past_year_total_commits":42,"past_year_total_committers":5,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":8.4,"past_year_dds":0.5952380952380952,"last_synced_at":"2026-05-10T22:42:57.829Z","last_synced_commit":"c0479005e0d2ba5169084e7808887fa88434ceb4","created_at":"2026-02-07T01:00:23.095Z","updated_at":"2026-05-10T22:42:55.258Z","committers":[{"name":"Kjetil Olsen Lye","email":"kjetil.olsen.lye@sintef.no","login":"kjetilly","count":94},{"name":"Francesca Watson","email":"francesca.watson@sintef.no","login":"FrancescaWatson","count":76},{"name":"Olav Møyner","email":"olav.moyner@gmail.com","login":"moyner","count":55},{"name":"Andreas Brostrøm","email":"andreas.brostrom@sintef.no","login":"andreas-brostrom","count":14},{"name":"Jakob Torben","email":"Jakob.Torben@sintef.no","login":"jakobtorben","count":12},{"name":"Bjørn Ludvigsen","email":"58595057+nutspiano","login":"nutspiano","count":1}],"past_year_committers":[{"name":"Francesca Watson","email":"61835798+FrancescaWatson","login":"FrancescaWatson","count":17},{"name":"Andreas Brostrøm","email":"andreas.brostrom@sintef.no","login":"andreas-brostrom","count":14},{"name":"Jakob Torben","email":"Jakob.Torben@sintef.no","login":"jakobtorben","count":7},{"name":"Olav Møyner","email":"olav.moyner@gmail.com","login":"moyner","count":3},{"name":"Bjørn Ludvigsen","email":"58595057+nutspiano","login":"nutspiano","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/sintefmath%2Fmocca.jl/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-13T00:00:10.629Z","repositories_count":6233860,"commits_count":894205798,"contributors_count":34890863,"owners_count":1152636,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"sintefmath/Mocca.jl","html_url":"https://github.com/sintefmath/Mocca.jl","last_synced_at":"2026-04-23T13:00:25.551Z","status":"active","issues_count":1,"pull_requests_count":6,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":211726.5,"issues_closed_count":0,"pull_requests_closed_count":4,"pull_request_authors_count":2,"issue_authors_count":1,"avg_comments_per_issue":3.0,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":4,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":6,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":211726.5,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":4,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":3.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"created_at":"2025-11-12T12:00:11.424Z","updated_at":"2026-04-23T13:00:25.551Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sintefmath%2FMocca.jl","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sintefmath%2FMocca.jl/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":1},"pull_request_author_associations_count":{"COLLABORATOR":4,"NONE":2},"issue_authors":{"viniviena":1},"pull_request_authors":{"jakobtorben":4,"Copilot":2},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-13T00:00:11.310Z","repositories_count":14590477,"issues_count":34252077,"pull_requests_count":112128422,"authors_count":11261011,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":1},"past_year_pull_request_author_associations_count":{"COLLABORATOR":4,"NONE":2},"past_year_issue_authors":{"viniviena":1},"past_year_pull_request_authors":{"jakobtorben":4,"Copilot":2},"maintainers":[{"login":"jakobtorben","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jakobtorben"}],"active_maintainers":[{"login":"jakobtorben","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jakobtorben"}]},"events":{"total":{"DeleteEvent":2,"PullRequestEvent":10,"WatchEvent":6,"IssueCommentEvent":1,"PublicEvent":1,"PushEvent":57,"PullRequestReviewEvent":1,"PullRequestReviewCommentEvent":1,"CreateEvent":12,"CommitCommentEvent":1},"last_year":{"DeleteEvent":2,"PullRequestEvent":10,"WatchEvent":6,"IssueCommentEvent":1,"PublicEvent":1,"PushEvent":57,"PullRequestReviewEvent":1,"PullRequestReviewCommentEvent":1,"CreateEvent":12,"CommitCommentEvent":1}},"keywords":[],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/ci.yml","sha":null,"kind":"manifest","created_at":"2026-02-13T04:00:22.495Z","updated_at":"2026-02-13T04:00:22.495Z","repository_link":"https://github.com/sintefmath/Mocca.jl/blob/main/.github/workflows/ci.yml","dependencies":[{"id":25817179101,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":25817179107,"package_name":"julia-actions/setup-julia","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":25817179111,"package_name":"julia-actions/julia-buildpkg","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":25817179124,"package_name":"julia-actions/julia-runtest","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":25817179131,"package_name":"julia-actions/julia-docdeploy","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"julia","filepath":"docs/Project.toml","sha":null,"kind":"manifest","created_at":"2026-02-13T04:00:24.342Z","updated_at":"2026-02-13T04:00:24.342Z","repository_link":"https://github.com/sintefmath/Mocca.jl/blob/main/docs/Project.toml","dependencies":[{"id":25817179238,"package_name":"Documenter","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25817179259,"package_name":"Jutul","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25817179260,"package_name":"Literate","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25817179264,"package_name":"Mocca","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/TagBot.yml","sha":null,"kind":"manifest","created_at":"2026-02-13T04:00:22.396Z","updated_at":"2026-02-13T04:00:22.396Z","repository_link":"https://github.com/sintefmath/Mocca.jl/blob/main/.github/workflows/TagBot.yml","dependencies":[{"id":25817179096,"package_name":"JuliaRegistries/TagBot","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"julia","filepath":"Project.toml","sha":null,"kind":"manifest","created_at":"2026-02-13T04:00:23.172Z","updated_at":"2026-02-13T04:00:23.172Z","repository_link":"https://github.com/sintefmath/Mocca.jl/blob/main/Project.toml","dependencies":[{"id":25817179145,"package_name":"CairoMakie","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25817179155,"package_name":"Jutul","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25817179160,"package_name":"JutulDarcy","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25817179161,"package_name":"LinearAlgebra","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25817179166,"package_name":"Parameters","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25817179190,"package_name":"StaticArrays","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25817179196,"package_name":"Tullio","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25817179204,"package_name":"JSON","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false}]}],"score":6.473890696352274,"created_at":"2026-02-05T00:09:42.147Z","updated_at":"2026-05-14T23:30:20.142Z","avatar_url":"https://github.com/sintefmath.png","language":"Julia","category":"Emissions","sub_category":"Carbon Capture","monthly_downloads":4,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"[![Zenodo](https://zenodo.org/badge/587234164.svg)](https://zenodo.org/badge/latestdoi/587234164)\n\n# Mocca\n\n![Mocca.jl logo](docs/src/assets/mocca_small_light.png)\n\n\n[Mocca.jl](https://github.com/sintefmath/Mocca.jl) provides a [Julia](https://julialang.org/) based framework for the simulating pressure / temperature swing adsorption processes for CO2 capture. \n\nTo learn more about using Mocca please see the [documentation](https://sintefmath.github.io/Mocca.jl/dev/).\n\nCurrently 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 [Haghpanah DCB](https://github.com/sintefmath/Mocca.jl/blob/main/examples/dcb_haghpanah_2013_co2_n2.jl) and [Haghpanah Cyclic VSA](https://github.com/sintefmath/Mocca.jl/blob/main/examples/cyclic_vsa_haghpanah_2013_co2_n2.jl). For an example of setting up a simulation through defining your own parameters and potentially custom models in a script, see [Custom setup cyclic VSA](https://github.com/sintefmath/Mocca.jl/blob/main/examples/custom_setup_cyclic_vsa.jl). Additionally, we have made examples demonstrating capabilities for doing [Optimization](https://github.com/sintefmath/Mocca.jl/blob/main/examples/optimization.jl) and [History matching](https://github.com/sintefmath/Mocca.jl/blob/main/examples/history_matching.jl) in Mocca.jl.\n\nIn the future we hope to implement examples of other systems and isotherms e.g. temperature swing adsorption for Direct Air Capture (DAC).\n\n# Installation\n\nThe latest stable version of Mocca can be installed directly from Julia. First install Julia from [here](https://julialang.org/downloads/).\n\n## Working in an environment (optional)\nWe recommend running in a specific environment (similar to a virtual environment in python). More information on environments in Julia can be found [here](https://pkgdocs.julialang.org/v1/environments/).\n\nTo create an environment in Julia, navigate to the folder where you want the environment to be, start the [Julia REPL](https://docs.julialang.org/en/v1/stdlib/REPL/) and type the following at the Julia prompt:\n\n```julia\nusing Pkg\nPkg.activate(\".\")\nPkg.instantiate()\n```\n\n## Installing Mocca in your environment\n\nTo install Mocca just add the package to your current environment in the Julia REPL:\n\n```julia\nPkg.add(\"Mocca\")\n```\n\nThis will add Mocca to the current environment and install all necessary dependencies. Mocca is now installed and ready to use.\n\nTo get started try the [Custom setup cyclic VSA](https://github.com/sintefmath/Mocca.jl/blob/main/examples/custom_setup_cyclic_vsa.jl) or [Haghpanah DCB](https://github.com/sintefmath/Mocca.jl/blob/main/examples/dcb_haghpanah_2013_co2_n2.jl) 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!\n\n\n# Quick start example\nRun the following code to quickly setup and run a\nDirect Column breakthrough adsorption simulation using predefined input parameters.\n\nThe example uses some utility functions which simplify the simulation setup.\nTo see the steps used in more detail, please refer to the\n[Haghpanah DCB](https://github.com/sintefmath/Mocca.jl/blob/main/examples/dcb_haghpanah_2013_co2_n2.jl) example.\n\n```julia\nusing Mocca\n\n# Import and load input parameters\njson_dir = joinpath(dirname(pathof(Mocca)), \"../models/json/\")\nfilepath = joinpath(json_dir, \"dcb_haghpanah_2013_co2_n2_input_simple.json\")\n(constants, info ) = Mocca.parse_input(filepath)\n\n# Setup and run simulation\ncase, ts_config = Mocca.setup_mocca_case(constants, info)\nstates, timesteps = Mocca.simulate_process(case; timestep_selector_cfg = ts_config,\n    output_substates = true, info_level = 0)\n\n# Save results to CSV and plot\nMocca.export_cell_results(joinpath(Mocca.moccaResultsDir, \"dcb_haghpanah_2013_co2_n2_results.csv\"),\n    case, states, timesteps; format=\"csv\")\nf = Mocca.plot_outlet(case, states, timesteps)\ndisplay(f)\n```\n\n# Acknowledgements\n\nThe authors would like to thank Shreenath Krishnamurthy, SINTEF Industry and Gokul Subraveti, SINTEF Energy for assistance developing the code. \nThis project has received funding from the following projects:\n- SINTEF Digital Strategic Development Fund\n- FME gigaCCS administered by the Research Council of Norway (350370). \n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/344210","html_url":"https://ost.ecosyste.ms/projects/344210"}