Onboarding

Tools, software, and learning materials for new lab members.

Welcome & Onboarding Overview

Welcome to the lab! A PhD or research journey is like a marathon—building a solid foundation early on will help you move faster, go further, and work efficiently. Below are helpful tools, software, and learning materials to help you get started. You don’t need to build the knowledge at once, or every item. Begin step-by-step, starting with what you need, depending on the stage of your academic career. 


Prerequisites & Essential Tools

Development OS

Our group primarily develops in Linux. Most ML/AI and open-source research tools are also more friendly to Linux environments than Windows. In addition, coding agents (Claude Code, Codex, Cursor, etc.) are more powerful in Linux. If you are on Windows, set up Linux using one of the following:

  • WSL2 (Recommended): Runs Ubuntu directly inside Windows without dual-booting (WSL Install Guide).
  • Ubuntu: Full native Linux OS via dual-boot or a dedicated machine (Ubuntu Desktop).

For Mac users, macOS is Unix-based and natively supports terminal-based development out of the box.

Linux & Unix Shell Command Line Interface (CLI)

You will need basic shell CLI skills to navigate files, manage environments, and run workflows on both local machines and remote HPC servers.

Python & Virtual Environments

Python is our primary programming language for research, scientific computing, and numerical methods. Always manage dependencies using isolated virtual environments.

Code IDE

We primarily use Visual Studio Code (VS Code) for local development and remote server connections.

Version Control & Collaboration (Git & GitHub)

Manual tracking of code changes gets messy quickly. We use Git for version control and GitHub for code repository and team collaboration. The standard way of code sharing with your collaborators and team is through GitHub rather than email or messengers, whether it is during development or in the deployment stage. 

High-Performance Computing (Unity HPC)

Start developing prototypes on local machines, then scale up computationally demanding tasks on the Unity HPC platform.

  • Account Setup: Sign up at Unity HPC. Contact yongjin if group credentials are required during signup – our group has unlimited usage. 
  • Getting Started: Unity Documentation

AI Development Agents

We strongly encourage using AI coding agents to accelerate development. However, ensure you read and understand generated code thoroughly. If you don’t understand, don’t use it. At the end of the day, if you generate a lot of code and face errors or unexpected behavior, you will never truly be in control of the code.


Machine Learning Foundations

General ML/AI Basics

Build or refresh your foundational machine learning concepts.

Scientific Machine Learning (SciML)

We leverage SciML for physics-consistent learning and model interpretability.


Topic-Specific Learning Materials

Graph Neural Networks (GNNs)

We use graphs for physics-aware learning and physical simulations.

Graph Neural Simulators (GNS)

GNNs applied to physics-informed learning, such as granular flow simulations.

Neural Operators

Fast physics-aware surrogate modeling for high-fidelity simulations (e.g., FEM, MPM).

Agentic AI & Workflow Engineering

  • Agentic Design: Tailor AI agents to streamline research workflows.
  • Frameworks: Develop custom multi-agent applications using LangChain and LangGraph.