This README file was generated on 2024-05-20 by Athanassios Z. Panagiotopoulos GENERAL INFORMATION 1. Title of Dataset: Data and Codes for "Solvent Selectivity controls Micro- versus Macrophase Separation in Multiblock Chains" 2. Author Information Name: Athanassios Z. Panagiotopoulos Institution: Princeton University Email: azp@princeton.edu 3. Funding sources: Financial support for this work was provided by the Princeton Center for Complex Materials (PCCM), a U.S. National Science Foundation Materials Research Science and Engineering Center (Award DMR-2011750). REFERENCE Detailed technical descriptions of the computational methodology, model, and results are provided in the following publication, which also includes additional references: A. Z. Panagiotopoulos, "Solvent Selectivity controls Micro- versus Macrophase Separation in Multiblock Chains," (2024). https://arxiv.org/abs/2405.12054 SHARING/ACCESS INFORMATION The simulation codes have been developed in the Panagiotopoulos research group. GNU General Public License v3.0 (for codes) Creative Commons License CC-BY 4.0 (for data) DATA & FILE OVERVIEW The codes and data files are for grand canonical Monte Carlo simulations of linear chains, as detailed in the articles referenced under "METHODOLOGICAL INFORMATION" below. The files in the dataset are described below. 1. Excel spreadsheet [Runs.xlsx]: provides detailed information on runs performed and data obtained. This file is akin to a Òlab notebookÓ and provides a roadmap to recreating any data using the codes provided. Two tabs are present within the spreadsheet, one with the main results for critical parameters and one for phase coexistence calculations. Note that the definition of the solvent selectivity parameter c in the spreadsheet is different from the published paper: the spreadsheet uses c between 0.5 and 1 and the published paper transforms linearly to get c values between 0 and 1 (c' = 2c-1). 2. Code files in FORTRAN 90, containing compilation instructions for the gfortran GNU compiler as comments: linear.f90 Grand canonical simulation of linear chains, uses inp.txt + H4T4.txt as input produces histogram files for processing by the entropy codes entropy.f90 Approximate histogram reweighing code, uses input_hs.dat as input and produces input_hs2.dat to be used by entropy2.f90 entropy2.f90 Ferrenberg-Swedsen histogram reweighing code, uses input_hs2.dat entropy3.f90 Optimization of critical parameters, requires 3. Sample input and output files: inp.txt Sample commented screen input file for linear.out (this is a shorter run than what is needed for production of high-quality results, for testing purposes) H4T4.txt Polymer sequence file, needed for linear code input_hs.dat Input file for entropy code ising.dat Tabulated universal 3D Ising distribution for entropy2 code entr2_par.dat Parameter file for entropy2 code entr3_par.dat Parameter file for entropy3 code METHODOLOGICAL INFORMATION The overall workflow for generating data is as follows, illustrated here for the H4T4 c=0.6 system: 1. Compile the linear.f90, entropy.f90, entropy2.f90, and entropy3.f90 source code files above using a FORTRAN 90 compiler on your target machine (e.g., gfortran). Compilation instructions are included as comments within the .f90 ource code files. 2. Run the main code, using the inp.txt file provided. Run should take ~4 min on an Apple M2 processor and produces several output files, including the "scr10.dat" file in this data set: ./linear.out < inp.txt 3. Combine separate results from the 4 independent runs using the entropy code, which requires as input the file input_hs.dat included in the data set. The entropy code allows for histogram reweighting at other conditions and also can compute the equation of state and coexistence curves. It does not perform a full self-consistent combination of the histograms, but is significantly faster than entropy2, which does provide a full Ferrenberg-Swedsen calculation. The entropy code produces the input_hs2.dat file that is used in the next step: ./entropy.out 4. If needed, perform additional runs using linear.out to get close to the system critical point. In this example, this is not needed because the data are obtained near the critical conditions. The entropy code can help decide on the proper conditions for doing subsequent runs, as it produces extrapolated histograms P(N) at any desired new temperature and chemical potential. 5. Run entropy2.out to obtain the Ferrenberg-Swedsen weights. The code requires file Òentr2_par.datÓ for input of parameters. It is important to seek conditions of T, \mu, and values of s and Ncrit that result in a distribution reasonably close to the Ising before the next step. 6. Optimize the critical parameters using entropy3. This code requires file Òentr3_par.datÓ for "fixed" parameters as well as interactive input.