# README for Paper: Large Decrease in Melting Point of Benzoquinones via High-n Eutectic Mixing Predicted by a Regular Solution Model
## Repository Structure
- Assumes that all of the data files are in a folder ../data/ which is organized into subfolders named with the YYYYMMDD date.
- Also assumes that there is another folder ../plots/ which has subfolders for different plots.
- Also assumes that there is another folder ../pub_out/
Virtual Environment Information:
Make sure you have conda installed on your computer and up to date
Following these instructions: https://uoa-eresearch.github.io/eresearch-cookbook/recipe/2014/11/20/conda/
To create a new virtual environment:
- In the terminal, type: conda create -n eutecticquinones python=3.7 anaconda
- You can replace eutecticquinones with whatever you want your virtual environment to be called, as long as it is a single word (no spaces)
- To activate virtual environnment, in the terminal, type: conda activate eutecticquinones
- You should see (eutecticquinones) in front of your command line input now
- When (if) in vscode, make sure you select the right interpreter by clicking on Python X.X.X in the bottom left corner, then selecting the (eutecticquinones) interpreter from the top menu. You can also navigate to this by pressing command+shift+p and typing interpreter -> select interpreter -> choose the one in the virtual environment. You might need to restart VSCode to get it to show up.
Python version: 3.7
This installation of python already includes all the necessary packages required for this code (see below for details). If any of the packages are not installed in your version of python, you can look up how to install them with conda
Python version: 3.7
- Packages that are used in this code:
- os
- platform
- csv
- ast
- re
- time
- sys
- itertools
- math
- copy
- pandas
- numpy
- matplotlib
- scipy
# Data Files:
- Included are the raw data files for the Q2-Q5 Binary system (at the 50-50 composition) and the Q2-Q5-Q6 Ternary system (at the eutectic composition calculated by both the ideal solution model and the regular solution model, and including the 50-50 binary mixtures of each "pair" in this sytem)
# script and data are in separate folders in some main folder,
# i.e. the script is in "../mainfolder/script/"
# and the data is in "../mainfolder/data/20190521/"
# (where the date for each run is a separate folder in the data folder)
# and there is another folder for outputs, "../mainfolder/pub_out/"
# TODO: Include the csv with the data files that we're including in the repository
# TODO: Decide how to update below comment
# The input spreadsheet (spreadsheet_name) should be of the same form as the provided "DSC experiments - DSC_publish.csv"
# New lines can be added to this spreadsheet with new DSC data files
# To analyze new DSC data files, add the data files to the spreadsheet in the same way as the existing columns
##########################
##### INPUTS
##########################
# Input type: either put 'single' for analysis of a single run,
# or 'loop' for analysis of all the runs in the spreadsheet
input_type='single'
# Fill in the filename if looking at a single input
the_filename='20200903_Q2-Q4-Q5_1-1-1.txt'
# If you want to play around with the fit parameters here, set this to True
# (Only matters for input_type = single)
# Otherwise, if False, the fit parameters in the spreadsheet will be used, and if there is nothing
# there, then the default will be 1 for the fit_nums and 0.001 for s
use_these_fit_parameters=False
fit_num_left=8
fit_num_right=1
s=0.001
# Input list
#### If you want to run all of the experiments in the DSC experiments - DSC_publish.csv, comment out the below line uncomment the "filenamelist = 'all'" line. ####
#### If you only want to run a select few experiments, write them in a txt file and include that file in the main folder of this repository (same level this scipt)
#### This file goes in the Analysis_Files subfolder
# filenamelist = 'list_publish_select.txt'
filenamelist='all'
# Input spreadsheet - this is the spreadsheet that contains all the information about the DSC experiments. An example file is included
# Read in interaction energies into a symmetric matrix, ordered by melting point
AData=[]
forcomp1incompList:
interaction_params=[]
forcomp2incompList:
# interaction_params.append(0) #uncomment/comment for ideal solution
# TODO: above line is the only line needed for an ideal solution. Add variable at top of script selecting whether to run ideal or regular solution model calculation
ifcomp1==comp2:
interaction_params.append(0)
else:
# note the order of the components in the file is random, so which one is comp1 or comp2 has to be checked