# FAIR4RS Project: MatlabPNM
**Name:** Leila Hashemi
**Project Name:** Pore Network Simulator
**Code Repository: [MatlabPNM on GitHub](https://github.com/leilahashemi/MatlabPNM)**
[https://github.com/leilahashemi/MatlabPNM]
**Scientific and Software Background**
I am a PhD student at CiTG-EWI, specializing in flow transport in porous media for geoscience applications. I have experience in programming with MATLAB and recently started using C++ to develop a pore-scale simulator for flow simulations in my research projects. I have published my pore-scale simulator on GitHub.
**Project Description:**
Pore scale modeling is a valuable tool for studying flow transport in porous media. This project focuses on applying the FAIR principles to a developed pore-scale simulator.

## Progress Update
:::success
Throughout the FAIR4RS program, I have made significant progress in improving my repository. Comparing the [old version](https://github.com/mhgolestan/MatlabPNM/tree/v2.0.0-rc0) with the [updated version](https://github.com/leilahashemi/MatlabPNM).
:::
**Repository Project Management**
- [Categorized tasks into completed and pending on the project board](https://github.com/users/leilahashemi/projects/4/views/3)
**Code Structure**
- Created `src` and `doc` folders to organize the code
**Documentation**
- Updated the [readme file](https://github.com/leilahashemi/MatlabPNM/blob/master/README.md) with relevant project information
- Added a [user manual file](https://github.com/mhgolestan/MatlabPNM/blob/master/doc/User_Manual.md)
- Implemented docstring comments and generated [Sphingx documentation](https://leilahashemi.github.io/MatlabPNM/)
- ncluded documentation badges using [shields.io](https://shields.io/)
- Set up automated documentation generation using GitHub Actions, the [documentation workflow file](https://github.com/leilahashemi/MatlabPNM/blob/master/.github/workflows/documentation.yaml)
**Testing**
- Added test cases and integrated them with GitHub Actions, the [test workflow file](https://github.com/leilahashemi/MatlabPNM/blob/master/.github/workflows/PNM_matlab.yml)
- Integrated code coverage reporting with [Codecov](https://app.codecov.io/gh/leilahashemi/MatlabPNM)
**License & Citations**
- Added a [CITATION file](https://github.com/leilahashemi/MatlabPNM/blob/master/CITATION.cff) for easy citation
- Included a [LICENSE file](https://github.com/leilahashemi/MatlabPNM/blob/master/LICENSE) to specify the project's license
## Future Plans
:::info
This project aims to lay the foundation for developing pore network modeling, starting from simple network and single-phase flow simulations and progressing towards complex and large networks involving multicomponent multiphase flow.
:::
- [x] Create a settings file for customizable parameters
- [x] Implement the error handling
- [x] Collaborate with other researchers through a collaboration card
- [ ] Enhance code documentation for improved clarity and understandability
- [ ] Increase code coverage to reach 75%
- [x] Develop an application, plugin, or package for easier utilization
- [ ] Create a Python version or wrapper for the existing MATLAB code
- [ ] Archive or publish the Pore Network Simulator to make it more accessible
By following this plan, I aim to advance the capabilities of the Pore Network Simulator and contribute to the field of flow simulations in porous media.
---
## Feedback for the FAIR4RS program
**Top**
Combination of structured learning and project work, experienced mentors, learning from each other.
**Tip**
For improvement: Consider offering flexible program durations to accommodate participants' schedules.
- General impression: Valuable service for supporting researchers to improve software quality.
- Useful content: Code Refinery workshop, practical examples, and case studies on FAIR principles.
- Effective activities: Hands-on project work, guidance from mentors, interactive discussions.
- Content improvement: Include more domain-specific examples and case studies.
- Improvement in activities and scheduling: Offer flexible program durations to accommodate participants' availability.
- Expectations met: Program exceeded expectations, provided knowledge and tools to incorporate FAIR principles.