Physics of Soft Matter Lab at Harvey Mudd College
Welcome to PoSMLab! Here you will find an introduction to our group and useful onboarding information.
Most of our analysis and simulation code is written in MATLAB. If you don’t have MATLAB installed, please follow the HMC Instructions for Installing MATLAB on your computer
If you are relatively new to MATLAB, a good place to start is the two-hour MATLAB onramp course. If you’re looking for some more advanced topics, you could also check out the MATLAB ordinary differential equation course that is helpful for some of our simulation work.
We are starting to use Github to organize and collaborate on projects (even ones that aren’t heavy on coding). If you haven’t done so already, create a Github account and let Mark know your username so you can be added to the posmlab organization on Github.
If you haven’t used Github before, install the Github Desktop App to help step you through the actions.
Note for Github pros: for most of our repositories we use a Centralized Workflow and make commits directly to main/master.
The Github platform uses Markdown to style text. This Markdown Guide is helpful if you’re new to using Markdown.
We use Slack to communicate as a whole team. (especially in the summer when we are working full time). When you are actively working on a posmlab project, try to get in the habit of logging into Slack.
Make sure that you are added to the posmlab Slack workspace.
The shared posmlab Google Drive folder is a place to store large files/data.
The “poslmab/Papers” folder is currently where we store pdf files of relevant literature. Please add any new papers here with the naming convention below and place copies of relevant literature in that folder.
Number of authors | Filename Format | Example |
---|---|---|
1 | Authorlastname Journalname Year.pdf | Doe Phys Rev Lett 2015.pdf |
2 | Firstauthorlastname and Secondauthorlastname Journalname Year.pdf | Lee and Doe Science 2018 |
3+ | Firstauthorlastname et al Journalname Year.pdf | Lee et al Nature 2017 |
Once saved in Google Drive, you can right click on the document and “Get shareable link” to provide easy access from other sources (e.g. Github repository readme file).
When starting remind Mark that he needs to:
Group Accounts:
Service | Name |
---|---|
Gmail | physicsofsoftmatter@gmail.com |
posm_lab | |
Squarespace (managed by Mark) | posmlab.org |
Google Drive | posmlab shared drive |
Slack | posmlab.slack.com |
Github | github.com/posmlab |
A VPN connection to HMC is needed for remote access of lab computers, accessing journal articles online that have a paywall (and other HMC specific things too). Follow this guide to connecting to HMC by VPN. But remember, if you don’t need these specific functions, make sure you aren’t connected via VPN because it will slow down your network access.
If you need more computational power than your personal device can handle, there are two computers in Galileo B101 connected via remote access: “Happy” and “Grumpy” (yes, all of our computers are 7 dwarf themed).
You will need a Remote Desktop Client
Computer Name | IP Address | |
---|---|---|
Happy | 134.173.33.109 | |
Grumpy | 134.173.33.107 |
Ask Mark for the username and passwords.
To get a sense of some of the dynamics research we are doing, please watch this video on the Rockwell Retro Encabulator.
A common reaction to that video is going from an initial curiosity, to confusion, then finally amusement. But what does this have to do with doing research as an undergrad?
Entering a new area of research is difficult for anyone! You are about to be confronted with a lot of new information, and a lot of it you won’t understand right away. That’s part of the process and totally okay.
Our group culture is one where not knowing and seeking clarification is a strength. Even questions that you feel you should know the answer to already, or seem obvious to others are important to ask. If you don’t understand something, it’s probably because it wasn’t explained well! Here’s what we ideally do in posmlab if we don’t fully understand:
Also note that in posmlab, Mark is a teammate/collaborator/advisor not a boss/supervisor. Openly questioning his advice is encouraged! To promote an open and equal discussion please refer to Mark on a first-name basis in our research group (rather than Prof. Ilton).
Generally, our group culture has been one where we are supportive of one another, take interest in what others in the group are doing, and are willing to put our work aside momentarily to help someone else out!
Part of the process of doing science is reading scientific papers related to our work. Reading a scientific paper can be a fairly daunting task. A good resource is How to Read a Paper - The Three Pass Approach. Depending on what you are trying to get from a paper (a high-level overview? the main ideas?), you may only need to perform one or two passes of the paper. The key idea is to start with a bird’s eye view on your first reading, and then zooming in to more granular details on subsequent passes.
We will often use a “Journal Club” as a format for sharing and discussing scientific papers. Aptly described as a “nerdy book club” by Prof. Mendelson in Engineering, Journal Clubs are a great way to ensure that you are sharpening your ability to read primary literature. If you haven’t done this before, check out 5 quick tips for your first JC.
At some point, it will come time for you to write-up your work. Remember that the main product of academic research is a scientific paper. If you think about (and actively work on) writing a paper based on your work, it can more effectively direct your efforts. Although it is written about chemistry research, this guide to Writing a Paper is a good read. The paper Ten simple rules for structuring papers has some helpful tips as well.
With the logistics out of the way, let’s dig into the research topics we study! Below is a step-by-step guide to getting acquainted with the research we do in posmlab.
1) Watch this short PoSMLab Introduction video
2) Read more examples of ultra-fast organisms that use elastic energy to drive movement. Contribute to that document by adding more information from a primary literature source for one organism (your first contribution to a posmlab Github repository!).
3) Read more examples of engineered microrobotic devices inspired by nature. Contribute to that document by adding more information from a primary literature source for one device.
4) Look at Fig. 1 of Roberts and Azizi JEB 2011: What are the three main functions of biological springs? Which one are we focused on in our research? Optional: skim the full paper Roberts and Azizi JEB 2011.
5) Do a careful reading of Longo et al JEB 2019 which lays out a framework for Latch-mediated Spring-actuated (LaMSA) systems. Come up with three questions that you would like answered (could be clarifying questions, conceptual questions, research questions, or even just highlighting places that are confusing).
6) Watch the video when does a spring beat a motor?.
Your next steps depend on what are of posmlab you are joining (ask Mark if you’re unsure!):
7) Review concepts of stress and strain and how the Young’s modulus of a material relates to the spring constant in Hooke’s law.
8) Arrange a time with Mark to talk through spring properties (part 1). (about 1 hour)
9) Derive \(v_{to}\), \(a_{max}\), \(\Delta t\), and \(P_{max}\) as a function of \(E\), \(A\), \(L\), \(\rho\), and \(\epsilon\) for uniaxial extension.
10) Talk through spring properties (part 2) with Mark.
11) Read Ilton et al Soft Matter 2019. What are some possible next directions that follow up on this work?
12) Read Cai et al Advanced Materials 2015. What are some advantages and unique features of this chemistry/architecture? In case you need it, here is the supplementary info to Cai et al.
13) Read Vatankhah-Varnosfaderani et al Nature 2017. What is the “biological triangle”? What network parameters do they modify? How do these parameters affect the material properties (\(E\), \(\lambda_\mathrm{max}\))?
14) You’re ready to get started! See the document Summer 2022 Materials Team Projects.pdf and then check out the “posmlab/Polymers” shared Google Drive (read the README.md files!) and then talk to Mark and the other members of the team about first steps.
7) Read Aguilar et al Rep Prog Phys 2016 (warning: it’s long!). Choose one specific aspect from this paper you find particularly interesting and prepare a short 5-10 minute journal-club style presentation on the topic for the rest of the group.
8) Read Divi et al Royal Society Interface 2020. What does a rounded latch enable? What are some trade-offs?
9) Get familiar with the high speed camera. You will want to read the high speed camera SOP (SOP = standard operating procedure, we have lots of these). Use one of the high speed cameras to film something fun! Upload your results to the posmlab/Fun Videos directory and let others know. We all love watching fun high speed videos. Tanvi’s dog drinking water is a fan favorite!
10) Make your first measurement of a robotic jump! You’ll want to talk to Amber about this in particular. This will require hands-on training from Amber.
7) Motor Model: Derive the take-off velocity for a mass \(m\) that starts at rest and is driven by a motor that has a range of motion \(d\) and a force-velocity trade-off
\(F = F_{max}(1-v/v_{max})\).
Here \(F_{max}\) and \(v_{max}\) are the motor’s maximum force and velocity, respectively. Do this for \(F_{max} = 20\) N, \(v_{max} = 5\) m/s, and \(d = 5\) mm.
Start with Newton’s second law \(m \frac{dv}{dt} = F_{max}(1-v/v_{max})\)
You should end up with a transcendental equation, so you will need to use a numerical approach.
See motor-driven-motion.pdf for a mathematical derivation and motordrivenmotion.m for an implementation of the numerial solution in MATLAB.
You should end up with a graph that looks like:
8) Spring Model: Derive the take-off velocity \(v_{to}\) for a mass \(m\) that starts at rest and is driven by a spring of stiffness \(k\). The spring is loaded by the same motor as the one in the “Motor Model” above. As an added bonus, what are the maximum acceleration (\(a_{max}\)), launch duration (\(\Delta t\)) (sometimes referred to as take-off time \(t_{to}\)), and maximum power deliver to the mass (\(P_{max}\)). Remember \(P(t) = F(t)\,v(t) = m \,a(t)\, v(t)\).
9) How would the Spring Model change if the spring had a mass \(m_s\)?
Consider the simplified case where the spring mass is much smaller than the load mass (\(m_s << m\)), so that the strain is uniform in the spring throughout the entire release. What is the velocity of each segment of the spring as a function of the velocity of the end of the spring? Conserve total energy (including kinetic energy from both the load mass and the spring mass) to get the take-off velocity
The answer is the same, but mass \(m\) gets replaced by an effective mass \(m_{eff} = m + m_s/3\). See this note for a rough sketch of the argument. If you come up with a more fully explained solution, be sure too edit this document and add your contribution!
10) Read Cook et al Integrartive Organismal Biology 2022. This paper presents the simplified LaMSA model that we are currently using in posmmlab. Re-derive the equations of motion in the supplementary information at the end of that paper.
11) Download our MATLAB LaMSA Template Model Software. Get the model to run on your computer, and start to play around with the components and parameters. Reproduce Figure 4A of Ilton et al Science 2018 using the software.
12) Read more about muscle modeling to understand how muscle motors are implemented in the MATLAB LaMSA Model.
13) To understand how we use our MATLAB LaMSA Model to answer questions in biology, watch Prof. Phil Anderson’s 2022 SICB talk
14) If you are working on larval mantis shrimp modeling, watch Jacob Harrison’s 2022 SICB talk
15) For an overview of current projects, see the Summer 2022 Modeling directory