mcms_pseudo_data

Repository containing all code used in my masters project. The project is the prediction of thermodynamic properties of binary mixtures using matrix completion methods.

https://github.com/fsmiddleton/mcms_pseudo_data

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.7%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

Repository containing all code used in my masters project. The project is the prediction of thermodynamic properties of binary mixtures using matrix completion methods.

Basic Info
  • Host: GitHub
  • Owner: fsmiddleton
  • Language: MATLAB
  • Default Branch: main
  • Homepage:
  • Size: 1.06 GB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Created over 4 years ago · Last pushed over 1 year ago
Metadata Files
Readme Citation Codeowners

README.md

Matrix completion methods for pseudo-data generation

This repo contains the code and data required to replicate the research of Matrix completion methods for pseudo-data generation of excess enthalpy data done by FS Middleton and JT Cripwell. This work is in the process of being published for an article of the same name.

Table of Contents

  1. Installation and usage
  2. Folder Structure
  3. Contact

Installation and Usage

This repo can be cloned and used locally in a Julia editor for the UNIFAC predictions, and a Matlab editor for the Matlab code for array formations and experiments. Julia can be installed locally, and Maltab can be accessed via a free online trial for 20 hours a month. \ This repo should be used by: * Creating UNIFAC predictions using UNIFACPredsJulia.jl. Run the script in your IDE as it uses UNIFACParams.xlsx to run. Add the compounds you wish to evaluate to the sheet in the Excel sheet if you want to add any. This will output to data/. * Transfer these predictions to a Matlab array using UNIFACClapeyron2Matlab.m in your Matlab editor. Ensure the temperatures you use and the functional groups are the same e are consistent with the contents of UNIFACParams.xlsx. * Create an array from experimental data stored in HEData.csv using ArrayFormation3way.m. * Complete an example experiment using Example_experiment.m and the data you created. Ensure the filename you outputted in ArrayFormation3way.m is the same filename as the filename you import in this script. Adjust the parameters as desired: r, T, fillmethod, maxiter, and thresholdperc.
\ This repo contains: * unifac: * UNIFACPredsJulia.jl utilises the compounds expressed in the Excel spreadsheet to create UNIFAC (Do) predictions using the Clapeyron library. * This output is then loaded into Matlab using UNIFACClapeyron2MATLAB.m. * data: Some mock excess enthalpy data. The data used in the research is not present here due to permissions but an example is given in HEData.csv. Please contact Jamie Cripwell at cripwell@sun.ac.za for access to the data. * The src folder: * SVD_example.m: An example of singular value decomposition (SVD) of an array and how a scree plot is formed. * ArrayFormation3way.m: A 3-way array is formed from data using this script. This calls interp_data.m. * Example_experiment.m: An example of an experiment conducted in the research. completion_2way_par.m is called here to perform array completion, which in turn calls missing_svd_par.m. find_wmse_error.m is used to find error metrics.

Folder structure

. 
├── .github/                        # Github related files
├── data/                           # Original data as an Excel sheet. Used with ArrayFormation3way 
├── src/                            # Source code files
│   ├── ArrayFormation3way.m        # Script for transforming the data into a usable sparse matrix
│   ├── completion_2way_par.m       # Function for running one set of conditions for an experiment
│   ├── Example_experiment.m        # An example of an experiment, using completion_2way_par
│   ├── fill_data3.m                # Function filling an array with predictions of the entries
│   ├── find_wmse_error.m           # Function to calculate the winsorized MSE error of predictions 
│   ├── interp_data.m               # Function for interpolating data; aids in processing raw data 
│   ├── missing_svd_par.m           # The matrix completion algorithm with thresholding
│   └── SVD_example.m/              # Example of SVD used to complete a sparse matrix and draw scree plots
├── unifac/                         # Files relating to UNIFAC (Do) predictions using the [Clapeyron library](https://github.com/ClapeyronThermo/Clapeyron.jl)
│   ├── UNIFACClapeyron2MATLAB.m    # Script for importing UNIFAC predictions into Matlab 
│   ├── UNIFACParams.xlsx           # A file of the mixtures found in the experimental data and used in the Julia script
│   └── UNIFACPredsJulia.jl         # Script creating UNIFAC (Do) predictions
├── citation.cff                    # How to cite this repo
└── README.md                       # This document :) 

Contact

Please contact Francesca Middleton, @franmiddleton, or Jamie Cripwell, @jamiecripwell, for any queries.

Owner

  • Name: FS Middleton
  • Login: fsmiddleton
  • Kind: user

Master of Engineering student at Stellenbosch University.

Citation (citation.cff)

cff-version: 1.0
message: "If you use this software, please cite it as below."
author: FS Middleton, JT Cripwell
title: "Matrix completion methods for pseudo-data generation"
version: 1.0
date-released: 2024-09-05

GitHub Events

Total
  • Delete event: 2
  • Push event: 7
  • Pull request event: 2
  • Create event: 2
Last Year
  • Delete event: 2
  • Push event: 7
  • Pull request event: 2
  • Create event: 2

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 0
  • Total pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: 10 days
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: 10 days
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • fsmiddleton (2)
Top Labels
Issue Labels
Pull Request Labels