-
Notifications
You must be signed in to change notification settings - Fork 1
Simple api #21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Simple api #21
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR introduces a simplified API for Mocca.jl with the following key objectives:
- Input and model setup from JSON and Julia dictionaries
- Unified interface for cyclic and DCB models with flexible cycle/stage specification
- Simplified functions for plotting results
- CSV output with file overwrite protection
Reviewed changes
Copilot reviewed 34 out of 39 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| test/state_initialization.jl | Updated to use new setup_process_state, setup_process_model, and setup_process_parameters functions |
| test/jutul_integration.jl | Refactored to use simplified model setup API |
| test/data_input.jl | New test file for JSON/dict input parsing functionality |
| test/runtests.jl | Added test suite for input parsing |
| src/input_output/parse_input.jl | New file implementing JSON/dict parsing with support for both detailed and simple formats |
| src/input_output/setup_mocca_case.jl | New function to create complete simulation cases from parsed input |
| src/input_output/export_cell_results.jl | New CSV export function with overwrite protection |
| src/input_output/plot_outlet.jl | New simplified plotting function for outlet cell |
| src/init/init_adsorption_column.jl | Refactored with new setup_process_* functions and force setup |
| src/init/constants.jl | Added new adsorptionConstants and processInfo structs |
| src/utils.jl | Added simulate_process and setup_process_simulator functions |
| src/systems/TwoComponentAdsorption.jl | Added constructor accepting constants struct |
| src/core_types/core_types.jl | New file defining core abstract types |
| src/Mocca.jl | Updated exports and includes for new API |
| models/json/*.json | New JSON input files for DCB and cyclic simulations |
| models/julia/model_library.jl | New Julia dict-based input definitions |
| examples/*.jl | Updated examples to use new simplified API |
| docs/make.jl | Added notebook generation |
| Project.toml | Added JSON/JSON3 dependencies |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Checks failed because I forgot to update the history_matching.jl example. I will fix this! |
This PR introduces the following new features:
This PR incorporates and supersedes #19