Main Page

From Thom Group Wiki
Jump to navigation Jump to search

# _________  # ___   ___     # ______      # ___ __ __     #
#/________/\ #/__/\ /__/\    #/_____/\     #/__//_//_/\    #
#\__.::.__\/ #\::\ \\  \ \   #\:::_ \ \    #\::\| \| \ \   #
#   \::\ \   # \::\/_\ .\ \  # \:\ \ \ \   # \:.      \ \  #
#    \::\ \  #  \:: ___::\ \ #  \:\ \ \ \  #  \:.\-/\  \ \ #
#     \::\ \ #   \: \ \\::\ \#   \:\_\ \ \ #   \. \  \  \ \#
#      \__\/ #    \__\/ \::\/#    \_____\/ #    \__\/ \__\/#
#            #               #             #               #

# _______     # ______       # ______      # __  __      # ______    #
#/______/\    #/_____/\      #/_____/\     #/_/\/_/\     #/_____/\   #
#\::::__\/__  #\:::_ \ \     #\:::_ \ \    #\:\ \:\ \    #\:::_ \ \  #
# \:\ /____/\ # \:(_) ) )_   # \:\ \ \ \   # \:\ \:\ \   # \:(_) \ \ #
#  \:\\_  _\/ #  \: __ `\ \  #  \:\ \ \ \  #  \:\ \:\ \  #  \: ___\/ #
#   \:\_\ \ \ #   \ \ `\ \ \ #   \:\_\ \ \ #   \:\_\:\ \ #   \ \ \   #
#    \_____\/ #    \_\/ \_\/ #    \_____\/ #    \_____\/ #    \_\/   #
#             #              #             #             #           #

Hello, Guten Abend, and Bienvenue to the new Thom Group Wiki. (Apparently evenings are good times to read the Wiki.)

In this Wiki you can find various pieces of useful information, such as when group meetings are, who is going to bring cake, how to run a particular calculation or perform a certain computer trick, who's using which computer in the group, and so on. You can also see how fun we are as a group by looking at our various photos.

Group Calendar

https://calendar.google.com/calendar/render?mode=day&date=20160601T153539#main_7%7Cday-1+23745+23745+23745

Group Expectations

The Group Expectations document is available on overleaf https://www.overleaf.com/read/yddfjrvpjckj


Group Meetings

Past Group Meetings here. Group Meetings (usually) take place every other Monday Friday Thursday at 3.30pm 2pm.


Easter 2024

Date Talk Cake
25th April Jack
9th May Lila
23th May Chiara/Andrew/Lijun
6th June Chiara/Andrew/Lijun

Journal Club

12pm in the cybercafe with pizza provided (alternative possible).

Past Journal Clubs here.

2023-24

Date Contributor Paper
1 Nov 2023 Lila Solid-body trajectoids shaped to roll along desired pathways
29 Nov 2023 Kripa Aligning Superhuman AI with Human Behavior: Chess as a Model System
13 Feb 2024 Bence What’s for Lunch? A systematic ordering of foods in the Soup-Salad-Sandwich phase space
12 Mar 2024 Alex

Quantum Computing Resources

Quantum Club

Quantum Computing for Quantum Chemistry Discussion Group (QCQCDG) info available at https://www.ch.cam.ac.uk/group/thom/quantum-computing-quantum-chemistry-discussion-group .

Quantum Brainstorm

Informal quantum discussions taking place at 10am on Tuesdays in the supervision area. Notes available here.

Quantum computing Open Questions

Outstanding questions, along with answers and helpful reading material, can be found here.

Summer 'Interns'

Name Project Machine
Theo Hatcher Excited States and RevQCMagic gritstone
Bence Csakany Quantum Computing on GPUs and FPGAs obsidian
Miriam Al-Hadithi LCLU Astrochemistry hylas
Peter Yang Hamiltonian decomopositions in Quantum Computing chiron

Past Summer Interns here.

Summer Dates

Name 3rd July 10th July 17th July 24th July 31st July 7th August 14th August 21st August 28th August 4th September 11th September 18th September 25th September
Alex London IChO Zurich IChO Zurich until Tuesday LJC meeting
Theo Starts Monday Finishes Friday
Bence Starts Wednesday Finishes Tuesday
Miriam Starts Wednesday (or Monday?) Finishes Friday
Peter Starts Monday Finishes Friday

Dissertations

Group List

The full timeline of all current and past group members is available here. NB autogenerated by `thom-fs-common/group/groupwiki`

An up to date list of group members is also available here.

Thom Group Retreat, Wales, Lent 2023
Thom Group Retreat, Snowdon, Lent 2023
Thom Group Retreat, Snowdon, Lent 2023
Thom Group photo Summer 2022
Thom Group photo - taken by Nathan Pitt, ©University of Cambridge, August 2021

Front row, left to right: Anna Bui, Brian Zhao, Bang C. Huynh, Arta Safari, Maria-Andreea Filip
Back row, right to left: David Izuogu, Kripa Panchagnula, Zian Wang, Dr Alex Thom
Not in picture: Fabio Albertani, Nicholas Lee, Tarik Benyahia, César Feniou, Benjamin Mokhtar


Thom Group photo - taken by Nathan Pitt, ©University of Cambridge, May 2019
Thom Group photo - taken by Nathan Pitt, ©University of Cambridge, November 2017

Computing Resources

- Group computers available.

- Clusters available.

- Storage available.

Computing Setup Guide

Anaconda takes up a lot of space on /home so it's worth running

  mv ~/.conda /scratch/$USER/.conda
  ln -s /scratch/$USER/.conda ~/.conda

Introduction to basic shell commands

- There are a number of tutorials available which document basic operations that are useful including:

  1. General bash commands
  2. Setting up cygwin
  3. Setting up ssh keys and general bash commands what are helpful
  4. Setting up ssh config files
  5. using GIT
  6. The Ten Git-mmandments
  7. Useful cerebro queue commands
  8. Some vim tidbits

Currently undergoing construction.

How to connect to department machines

On Mac/WSL

  1. Check you have an Admitto account and collect your password from https://www.ch.cam.ac.uk/computing/admitto-service
  2. In the terminal run the command ssh -X crsid@citadel.ch.cam.ac.uk
  3. When prompted input your Admitto username (crsid) and password
  4. Once this has worked run the command ssh -X crsid@machinename in the terminal to log into a particular machine

Set up logging in without a password:

  1. Generate an ssh key by running the command ssh-keygen in the terminal, as described in detail in the section "Introduction to basic shell commands"
  2. Use cd ~/.ssh to navigate to the directory holding the keys, and copy the text from the file "id_rsa.pub" beginning with ssh-rsa. This is your public ssh key
  3. Log into the department citadel machine, and create / navigate to a directory called .ssh
  4. Use chmod 700 .ssh to set permissions for the directory
  5. Input vi authorized_keys to open up the vi text editor. Press i, then paste in your public ssh key. Press escape, then type :wq and press enter to write and quit the editor
  6. Log into the particular machine you want to ssh to, and repeat steps 3 to 5
  7. Exit back to your machine and navigate to the home directory
  8. Input vi .ssh/config to open the vi text editor. Press i, then paste in the following, with your crsid and machine name in the places given:
  Host citadel
     User crsid
     Hostname citadel.ch.cam.ac.uk
     ForwardAgent yes
     ProxyCommand none
  Host machinename
     Hostname machinename
     ProxyCommand ssh citadel -W %h:%p
     User crsid
     ForwardAgent yes
     ServerAliveInterval 60
     ServerAliveCountMax 10


Press escape, then input :wq followed by enter to exit the editor. You can now log straight into citadel with ssh citadel or straight into your machine with ssh machinename. The last two commands stop the ssh being killed if you are idle for too long. The ServerAliveInterval is how many seconds to ping a null packet, and the ServerAliveCountMax are how many consecutive times it needs to fail for the ssh to be killed.


File Transfer Protocol

You may want to transfer files between department machines and your computer. The standard way is to scp via the terminal with commands :

UPLOAD :       
scp -o ProxyCommand="ssh crsid@citadel.ch.cam.ac.uk nc machinename 22" LocalPath/FileName crsid@machinename.ch.cam.ac.uk:/RemotePath
DOWNLOAD :     
scp -o ProxyCommand="ssh crsid@citadel.ch.cam.ac.uk nc machinename 22"  crsid@machinename.ch.cam.ac.uk:/RemotePath/FileName LocalPath

However, a more convenient way is to set up a File Transfer Protocol (FTP) between machines. It can come with a graphic user interface, where you can drag and drop files from the department machine to your computer.

Windows

I recommend the WinSCP software. You can download it from here. Once installed, click New Session, and choose SFTP protocol with :

Hostname = machinename
Port number = 22
Username = crsid
Leave 'Password' entry empty.

Then click on Advanced..., Tunnel tab, check the Connect through SSH tunnel tickbox and enter:

Hostname = citadel.ch.cam.ac.uk
Port number = 22
Username = crsid
Leave 'Password' entry empty.

Click OK and click Save, and finally Login. Enter your admitto password twice. You can now navigate in the directories of the remote machine on the right tab, and of your local computer on the left tab, and you can transfer files between the two with a drag and drop. Enjoy !


Mac/Linux

You can download FileZilla for MacOS or linux. The problem is that FileZilla does not support tunnel ssh. To open the connection, you need to use a ssh client like puTTY. On MacOS please follow this guide.

On Linux you can do :

sudo apt-get install -y putty

Open it by typing putty on the terminal. The interface should open. Type the following entries :

in the SSH/Tunnels tab :

Source Port = 3111 
Destination = machinename:22 
local 
auto

and click Add. (source port can be any number > 1024)

in the session tab :

Host Name = citadel.ch.cam.ac.uk 
port = 22 
connection type = SSH

Enter a name for this connection in the saved sessions entry, and click Save.

Now click Open. A terminal should open, type your crsid and your admitto password, you're now logged into Citadel (it's normal that it's not your machine).

Now open FileZilla, and enter :

Host = sftp://localhost
username = crsid
password = admitto password
port = 3111 

and click Quickconnect. (port needs to be the same as source port in puTTY).

A window will open (Unknown host key), click OK. Hopefully the connection is successful.

You can now navigate in the directories of the remote machine on the right tab, and of your local computer on the left tab, and you can transfer files between the two with a drag and drop. Enjoy !

Using VSCode Remote

Windows

  1. Find your wsl ssh config file as a Windows path, for example '\\wsl.localhost\Ubuntu\home\<name>\.ssh\config
  2. Make sure you have the 'Remote SSH' extension installed in VSCode
  3. In your config file, instead of using the layout above, change it to
  Host citadel
     User <crsid>
     Hostname citadel.ch.cam.ac.uk
     ForwardAgent yes
     ProxyCommand none
  Host <machinename>
     Hostname <machinename>
     ProxyJump citadel
     User <crsid>
     ServerAliveInterval 60
     ServerAliveCountMax 10

(this has removed the ForwardAgent and ProxyCommand lines and replaced with ProxyJump instead)

  1. In VSCode, set your ssh config file manually to your path. Your wsl ssh folder can be copied into a Windows path (C:\Users\<user>\<blah>)if VSCode is not happy with the wsl path.
  2. At the bottom left, the green arrows is where you will be able to connect to remote machines. Click on it, and it should recognise all the hosts in your config file
  3. Select your host, and you will need to enter your password twice

Installing Slack on department machines

Ubuntu

  1. Download "Slack.deb" from:
  https://slack.com/intl/en-gb/downloads/linux
  1. Make a directory and run dpkg replacing the with the appropriate file name.
  mkdir /scratch/crsid/slack
  dpkg -x Slack.deb /scratch/crsid/slack
  1. Install the desktop shortcut by pasting the following text into ~/.local/share/applications/slack.desktop
  [Desktop Entry]
  Type=Application
  Exec=/home/crsid/scratch/slack/usr/lib/slack/slack %U
  Icon=/home/crsid/scratch/slack/usr/share/pixmaps/slack.png
  Name=Slack
  Terminal=false
  StartupWMClass=Slack
  Comment=Slack Desktop
  GenericName=Slack Client for Linux
  StartupNotify=true
  Categories=GNOME;GTK;Network;InstantMessaging;
  MimeType=x-scheme-handler/slack;
  1. Log out then in and it should show up in the search bar (Windows button). Right click to pin to favorites (task bar)

Make sure you've replaced "crsid" with your crsid.

Useful Software

  1. Using QChem
  2. Using QCMagic
  3. SimpleDMC
  4. MRCC
  5. GAMESS

Useful Information

  1. Guidelines on Code Review
  2. How to do things relating to HANDE
  3. How to run PySCF or other Python software on Archer
  4. How to run QChem on darwin
  5. Where to get Travel Money
  6. Backed-up Storage
  7. How to get IQMol to run a local version of Q-Chem via SSH
  8. Slow ubuntu dash
  9. Persistent X sessions for remote working
  10. Paper submission
  11. Getting Started with cerebro
  12. Things to do before leaving
  13. The Ten Git-mmandments: what NOT to do
  14. Mathematical Physics Lectures by Frederic Schuller: Geometrical Anatomy of Theoretical Physics and Lectures on Quantum Theory
  15. Mathematical Physics Lectures by Carl Bender: Perturbation and Asymptotic Series

Archiving data for the university repository

To-do list for the Thom Group Website

Group Activities

To-do list for the Wiki

- Sandbox for safe editing : Sandbox

- A pretty picture

- A "How to:" page on setting up cygwin, ssh keys and general bash commands what are helpful

- A "How to:" page on using qchem

- A Pretty picture for the $wgLogo