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
Linux & Unix Shell
Our group pursues open-source development and the ecosystem. Most ML/AI tools and open-source software are developed in Linux environments. Learn basic Linux and shell skills for both local and HPC workflows.
- Unix Tutorial: Linux/Unix Tutorial
- Shell Basics: Unix Shell Novice Guide
Python & Virtual Environments
Python is our primary programming language for research, scientific computing, and numerical methods. Always manage dependencies using isolated virtual environments.
- Numerical Python Guide: Python Programming & Numerical Methods
- Virtual Environments: Python venv Tutorial
Code IDE
We primarily use Visual Studio Code (VS Code) for local development and remote server connections.
- VS Code: Download & Setup
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.
- Git Interactive Learning: Learn Git Branching
- Git & GitHub Guide: Git & GitHub for Engineers
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.
- Cursor IDE: Cursor
- Claude Code: Claude Code
Machine Learning Foundations
General ML/AI Basics
Build or refresh your foundational machine learning concepts.
- Introduction Course: Coursera Machine Learning Specialization
Scientific Machine Learning (SciML)
We leverage SciML for physics-consistent learning and model interpretability.
- SciML Modules: Scientific ML Overview
Topic-Specific Learning Materials
Graph Neural Networks (GNNs)
We use graphs for physics-aware learning and physical simulations.
- Introduction: A Gentle Introduction to Graph Neural Networks
Graph Neural Simulators (GNS)
GNNs applied to physics-informed learning, such as granular flow simulations.
- Paper: GNS Paper (Computers and Geotechnics)
- Code Repository: GeoElements GNS Repository
Neural Operators
Fast physics-aware surrogate modeling for high-fidelity simulations (e.g., FEM, MPM).
- DeepONet: DeepONet Module
- Fourier Neural Operator (FNO): FNO Module
Agentic AI & Workflow Engineering
- Agentic Design: Tailor AI agents to streamline research workflows.
- Frameworks: Develop custom multi-agent applications using LangChain and LangGraph.