{"id":28780962,"url":"https://github.com/andreww/slurry","last_synced_at":"2026-02-12T01:32:40.648Z","repository":{"id":247373607,"uuid":"260685569","full_name":"andreww/slurry","owner":"andreww","description":"Simple calculations on a slurry in the F-layer","archived":false,"fork":false,"pushed_at":"2025-02-24T14:18:59.000Z","size":266820,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-17T18:09:58.896Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andreww.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-02T12:47:19.000Z","updated_at":"2025-02-11T08:52:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"0813b7a4-64fa-41ca-8472-70143ac49866","html_url":"https://github.com/andreww/slurry","commit_stats":null,"previous_names":["andreww/slurry"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/andreww/slurry","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreww%2Fslurry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreww%2Fslurry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreww%2Fslurry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreww%2Fslurry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andreww","download_url":"https://codeload.github.com/andreww/slurry/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreww%2Fslurry/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260585814,"owners_count":23032246,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-17T18:08:57.232Z","updated_at":"2026-02-12T01:32:35.629Z","avatar_url":"https://github.com/andreww.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Supplementary material: modelling the F-layer in Earth’s core as a non-equilibrium slurry\n\nThese files are part of the supplementary material for the manuscript\n\"Modelling the F-layer in Earth’s core as a non-equilibrium slurry\"\nby A. M. Walker, C. J. Davies, A. J. Wilson and M. I. Bergman\nto be submitted to *Proceedings of the Royal Society A*. A preprint\nof this manuscript can be found [EarthArXiv](https://eartharxiv.org/).\n\nThe files are source code files in python which implement the\nmodel described in the manuscript along with Jupyter notebook\nfiles that demonstrate aspects of the model, provide additional\ninformation on its derivation, and generate the figures shown in\nthe paper. All software is made available under an MIT license\nwhich permits reuse subject to conditions found in the\n[LICENSE](./LICENSE) file. \n\n## Jupyter notebooks\n\nThis repository contains the following notebooks implementing or\ndescribing the model:\n\n* **[1_thermodynamic_model.ipynb](./1_thermodynamic_model.ipynb)**: details of the thermodynamic model reproducing key figures from Komabayashi 2014, and Figure 2 from the manuscript. The notebook uses **thermodynamic_model.py** and **feo_thermodynamics.py**, two python modules implementing the model of Komabayashi 2014.\n* **[2_falling.ipynb](./2_falling.ipynb)**: details of the calculation of the falling velocity of the particle and boundary layer analysis. Code to generate Figure 3. The notebook uses **falling.py**, a python module implementing the self-consistent calculation of falling velocity and Re, and the calculation of boundary layer thickness.\n* **[3_growth.ipynb](./3_growth.ipynb)**: Growth rate calculation with and without a boundary layer. Code to generate Figure 4. The notebook makes use of **growth.py**, a python module implementing the calculation of crystal growth rate as well as feo_thermodynamics.py.\n* **[4_particle_evolution.ipynb](./4_particle_evolution.ipynb)**: Calculation of the coupled growth rate and falling velocity for a single particle. Generation of Figure 5. Makes use of **particle_evolution.py**, feo_thermodynamics.py, growth.py and falling modules. \n* **[5_nucleation.ipynb](./5_nucleation.ipynb)**: Calculation of nucleation rate and generation of Figure 6. Makes use of **nucleation.py** and feo_thermodynamics.py modules.\n* **[6_prem.ipynb](./6_prem.ipynb)**: Demonstration of an implementation of the provisional reference Earth model used to calculate pressure and gravitational acceleration in the F-layer. The implementation is in the **earth_model.py** and **peice_poly.py** modules.\n* **[7_f_layer_solution.ipynb](./7_f_layer_solution.ipynb)**: This notebook shows the calculation of a single case of our F-layer model including nucleation, falling and growth of particles, and evaluation of output number density of crystals. The notebook is not used to generate any figures in the paper, but may be of use for exploring model behaviour.\n* **[8_plot_flayer_figures.ipynb](./8_plot_flayer_figures.ipynb)**: Plot summary figures (Figures 1(c), 7 and 8) showing the range of \"Earth like\" models of the F-layer. This notebook relies of a collection of model runs to be pre-computed (see notes below). Table 2 of the SI file is also created by this notebook. The notebook makes use of the **plotting.py** and **bulk_case_runner.py** modules.\n\n## F-layer cases\n\nFor the cases reported in the manuscript (in Table 1 of the SI, and in Figures 7 amd 8) we ran the models in \"batch\" mode,\nstored the results, and use the final notebook to plot these. The command line programme used to run a single set of cases \n(fixed parameters, but a grid search over DT and DX looking for \"Earth like\" models) is `layer_models.py` which is intended\nto run in a directory and populate this with output for different temperature and composition profiles. These directories\n(and the input parameter sets) are set up by `cases/run_cases.py` which copies and modifies the files in `cases/template`\nbefore launching the shell script `cases/template/run.sh`. It takes a week or two (on a M1 Mac Min) to run all cases\nand this process generates approximatly 4 GB of data once compressed. We do not include this data alongside the code.\n\n## Other files and further development\n\nSome of the code (and notebooks inside `development_work`) are not used to create the models presented in this manuscript.\nThese represent several alternitive lines of development and possible future work. Notably, much of the code in the repository\nis in need of refactoring ahead of further development of the work presented here. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreww%2Fslurry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandreww%2Fslurry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreww%2Fslurry/lists"}