Giter VIP home page Giter VIP logo

phd-thesis's Introduction

PhD Thesis

This is a repository reflecting the current state of my PhD thesis and the project management surrounding completing the write-up.

Compilation

The thesis is being automatically built using travis-ci with the resulting files uploaded as a release on GitHub.

To compile yourself requires the installation of Miniconda which allows for all dependencies to be installed using

conda env create

followed by

conda activate thesis

to activate the environment containing the dependencies.

Note that to update the dependencies the command

conda env update

is required.

The build itself is completed with

make

which generates a file thesis.tex in the current directory.

Linting

In addition to the tools to build the thesis, I have a range of tools to identify poor writing. These tools are not all perfect, with a degree of false positives, and not entirely suited to academic writing, however they do make me look harder at certain aspects of what I write.

These tools require that nodejs is installed which is one of the dependencies installed using conda above. With the thesis conda environment activated running the command

npm install

will install all the packages required for these checks.

The command

make lint

will then run all the checks for the files.

These checks can also be configured to show up in your text editor, making it much easier to see and fix each of the issues which are highlighted.

Common Issues

If there is an error

biber: error while loading shared libraries: libcrypt.so.1:
cannot open shared object file: No such file or directory

installing libraries for backwards compatibility is required, for example on fedora 30

dnf install libxcrypt-compat

is required for biber 2.5 to run.

Another error is

biber: error while loading shared libraries: libnsl.so.1:
cannot open shared object file: No such file or directory

which can be resolved by installing libnsl, a library that was previously part of glibc.

dnf install libnsl

phd-thesis's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar malramsay64 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

phd-thesis's Issues

Have backlinks in bibliography

It is really frustrating having to go from text to bibliography and back. To simplify this process there should be links within the bibliography back to the pages where the citations appear to make this process easier.

Change font for Altair figures

Some of the unicode symbols (namely a subsript m) are missing from whatever font is
being used in the svg file for the Altair figures. I need to check the font being used,
and it might be a good idea to match the font of the thesis.

Expand Error calculations

The error calculations 2.2.2 are rather sparse and could do with a lot more explanation of the process.

Fix install instructions in README

There is a bug in the install command, using conda env update instead of create.

Furthermore, there is no documentation of the npm packages I am using for editing.

Include image with positions of each atom

There should be an image with the position of each of the atoms in the molecule, includign the virtual R atom. This will assist in the description of the molecule in the methods section.

Introduce the idea of independent configurations

Much of the work I have done in the statistics of the dynamics calculations assumes that configurations are independent. This is rather different to the standard statistical methods which use a linear sequence of steps. This is mostly so the statistical methods which I use later can be considered valid.

Energy of each crystal structure and their packing fraction

Getting the energy of each crystal structure and the packing fraction as a way of comparing the validity of using packing fraction as a proxy for free energy.

Additionally it shouldn't hurt to include my updated results from the packing.

Convert dot points in Dynamics chapter into paragraphs

There are still a number of sections which just contain dot points. This is intended as a broader tracking issue of all the writing that is required with items ideally being checked off fairly regularly.

Introduction

  • Introduction to Glasses (in Introduction chapter)
  • Characteristic Temperatures
  • Dynamics of Supercooled liquids and glasses (in introduction chapter)
  • Dynamics in experimental systems (in introduction chapter)
  • Un-structured section at the end

Methods

  • Simulations
  • Choice of program (in methods)
  • Simulation details
  • Initialise simulation details
  • Equilibration
  • Production
  • Diffusion constant
  • Exponential Relaxation times
  • Maximum time relaxation

Results

  • Rotational Heterogeneity
  • Rotational and Translational Heterogeneity
  • Single Particle Diffusion
  • Reversible relaxations
  • Comparison of relaxation times
  • Timescale of motions
  • Possible investigations

Write up Projects section

This should give a broad overview of each of my different projects, including how they relate to other projects and what they achieve.

Describe methods of quaternion distance

There are many different quaternion distance methods described in @Huyng2009. There should be some description of why this particular method is correct.

Additionally the computational complexity should be discussed.

Calculation of Relaxation time

Include how each of the relaxation times were calculated. Including the calculation of the actual value and the estimation of the error associated with that value.

Investigate html output of thesis

This would require some changes, and templating. Additionally all the images would need to be included as svg rather than pdf. By using pandoc most of the infrastructure is already in place, just going to need some high level structural things and relatively minor changes.

Analysis of packing results

Are the results of the shape packing close enough to those using a LJ potential? Include
a comparison of the results.

Document how the different dynamics quantities are calculated

This should include the equations for the calculations and how I am averaging the quantities and how I am calculating the mean values.

This also includes the relaxation quantities.

  • Diffusion Constant
  • Structural relaxation
  • Rotational relaxation
  • Gamma relaxation
  • non-gaussian relaxation

Introduce Poise the unit in Dynamics

Most of the measurements of viscosity use the unit of measurement Poise, which should be discussed in the introduction. In particular information about the viscosity of glasses, particularly since this will probably include the Angell plot.

Document calculation of errors

There are many errors within molecular dynamics calculations. This should document

  • sources of errors, where they come from and why
  • Methods of estimating the different types of errors
  • Introduction to bootstrapping
  • How I am calculating these different errors

Use parentheses to denote within exponential

I have been using the code \exp{ei\theta} and similar to denote the exponential, however this has issues in that it doesn't surround the text in any grouping symbol. Instead I should be using \exp(ei\theta) so the parentheses show up.

Add pre-commit hooks

This should add all writing checks as pre-commit hooks. This means that they shouldn't get through to the CI to fail there.

Styling of backlinks

While #54 introduced backlinks to the bibliography, the links are not styled particularly clearly. This should format them in a way which is clear and readable. Also making note that it is a link.

Consolidate Crystal detection in the Machine Learning chapter

Currently there is a component on the Crystal detection in the Methods chapter and in the Machine learning chapter. These should all be consolidated into the machine learning chapter which would be a more sensible place to put it.

Additionally the discussion on alternative methods, like the orientational order parameter will be useful in the crystallisation chapter where I will be looking at free energy.

Use the svg filter for pandoc over renaming files

By using a filter for pandoc to convert the svg images into pdfs, I am able to choose the output format depending on the document format, which solves many of the issues in #5
The only change should be the inclusion of an additional processing file, since it is currently not installable.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.