qlaunch rapidfire --nlaunches infinite -m 50
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
This website serves as the group handbook for the Persson Group at the University of California, Berkeley and Lawrence Berkeley National Laboratory.
The purpose of this handbook is to:
1) serve as a living repository for knowledge within the group
2) assist new group members in onboarding
While the Onboarding Guides and the Group Librarian have the ultimate responsibility of overseeing the handbook (see Group Jobs), maintaining and improving the group handbook is the responsibility of all group members. Our newest group members often have the most valuable insight in improving the onboarding process and where there may be critical gaps in the handbook. Please see Contributing for guidelines on making contributions. Note that the handbook can be dynamically searched from within the group Slack by writing /gitbook SEARCH_QUERY
.
We would like to especially thank Anubhav Jain, whose wonderful group handbook (Jain Group Handbook) inspired much of the content you see here.
Our group studies the physics and chemistry of materials using atomistic computational methods and high-performance computing technology. Most of our research is focused on materials for energy applications, such as battery electrode materials, electrolytes, photocatalysts, thermoelectrics, etc. We are co-located at Lawrence Berkeley National Laboratory (LBNL) and the University of California, Berkeley, just down the hill from the Lab. Our main workspaces are located at LBNL, but we have a number of additional desks available on campus for students to use in between classes, which are located in the Graduate Student Bay of Hearst Memorial Mining Building (HMMB).
Some of the regular things we do as a group are:
Happy Hour. We meet up for food & drinks most Thursday evenings.
Group retreats/outings. Past activities include "beach olympics", Halloween costume parties, paintball, cardboard boat races in Kristin's pool, picnics, trips to SF, and more!
Group Time. A meeting every other week hosted by members of the group that covers important topics within our Group Agreements.
Birthday celebrations. We celebrate birthdays in the group at our big group meeting.
Farewell dinners. We celebrate group members who are graduating or leaving the group.
Winter holiday party. This is often a joint party with the Ceder Group.
Instructions and tips for the first time you come onsite to LBL.
Before arriving onsite, please be sure you completed the Human Resources Orientation checklist in Before you Arrive.
To get onsite access at LBNL, you will need to have your LBNL Badge. If you need to obtain it for the first time or if it is expired, you can email siteaccess@lbl.gov to set up an appointment to get one, or set up an appointment using this link. On the day of your appointment, hop on an LBNL shuttle and show the driver your temporary badge (obtained from an email from siteaccess@lbl.gov). You will be dropped off at B65, the badge office.
LBNL has constantly changing and adapting policies in response to COVID-19 based on the current situation. Please refer to https://covid.lbl.gov/home to get up-to-date information on Covid Lab Safety Requirements.
The Cal 1 card can gives you after-hours and weekend access to the Hearst Memorial Mining Building. Be sure to email Ariana Castro and/or Catalina Estrada for site access.
The most up to date information on using the shuttle system can be found here. Note there is a helpful app for tracking the shuttles in real time. The shuttles also have bike racks so it is common for people to use the shuttles to come onsite and then bike home.
The Blue route is best for getting to and leaving from B33. The closest stop to B33 for coming onsite is B26. To leave from B33, the best stop is B48 (the firehouse) but B54 (the cafeteria) is also an option.
For getting to the Molecular Foundry (B76), the closest stop is B62, 66, 67. This stop is accessible through both the Blue route and Orange route.
If you are onsite at LBL in B33, people in the group often gather to eat lunch around 12 or 12:30pm. There are picnic tables outside B33 for outdoor eating.
Many people bring food from home (B33 has a kitchen including a fridge, microwave, and toaster oven) but you can also buy food at the LBNL cafeteria in B54.
The cafeteria is currently closed (2023) but there are food trucks at B91!
Use LBNL Ebuy (not Ebay) wherever possible - you need to be on the lab network (onsite via an ethernet cable) or be connected via the VPN
Use Amazon, etc. to buy various components if not available via EBuy
The laptop is government property; you are expected to return it to the group when you are done working at LBNL. Note that Mac computers make it very simple to transfer everything over to your next computer.
You are free to take your laptop home, on trips, etc., unless you are an intern in which case other restrictions may apply from the internship program.
The lab receives your computer and tags it before sending it over to you.
You must back up your computer very regularly (at least once per week, ideally continuously). This is simple using the Time Machine app. Just plug your backup drive into your monitor so when you connect to your monitor, you also back up. If there are (for some reason) errors in backing up, fix that issue immediately. There are zero excuses for not doing this.
Provide all the details of your selections in an email and send to Shannon Dowling. If all looks okay, she will give you a project and activity ID.
Go to eBuy, and for items available there, add them to your cart and submit the requisition with the project and activity ID. Ask Shannon about which SAS approver to list if you are unsure (the SAS approver can vary by project and activity ID).
For items not available on eBuy, contact esdradmin@lbl.gov (and cc Kristin and Shannon Dowling) to obtain a procurement form. Fill it out with item details (Vendor, website, price, etc.) and send it back.
If you select the overnight shipping option (ask Kristin about this and the related extra costs) most parts, except the computer, will arrive within a week to 10 days. The computer needs to be tagged by the lab, so with overnight shipping, it should arrive within 2 weeks. Ideally, you will select your computer well before arriving at the lab and won’t need overnight shipping.
Use BearBuy
More details coming to this documentation soon.
Going to a conference, DOE meeting, or other visit? Find more info below.
There are a lot of great reasons to go to scientific conferences:
you keep up to date on developments in the field
you will get to know the people in the field
you are broadcasting your work to the research community. Many if not most people learn about new research by hearing about it at a conference. Thus, if you want people to know about your work, you must be willing to tell people about it.
If you are first-year student, you can simply attend a conference (no poster/talk required). After your first year, you are expected to present a poster/talk.
You should identify conferences you’d like to attend several months (ideally >6 months) in advance.
Abstract deadlines often come early. For example, the deadline for MRS Spring 2023 (April 10-14, 2023) was almost a full six months before: October 27, 2022!
Once you have identified a conference you’d like to attend, please take the following actions:
Tell Kristin about the conference and what project you’d like to present as soon as possible
Submit a conference travel request form. This form is a very basic and takes a few minutes to fill out. If you do not submit the travel request form several months in advance, you may not receive LBNL approval to attend.
Work with Kristin to submit an abstract. You should send her the proposed abstract (with all details - title, authors, text, figures, etc.) with at least 3 days advance notice.
Once you have received approval to attend the conference, you can begin taking the normal steps to book travel.
If you haven’t done so already, make sure your travel profile (e.g., your frequent flier programs) are completed for the lab. E-mail esdradmin@lbl.gov if you don’t have a travel profile yet. You will need to set this up to get access to Concur.
Flights, rental cars, and hotels can be booked easily through Concur (see below).
Note: your username for Concur is YOUR_EMPLOYEE_ID@lbl.
You should not have to pay upfront for anything booked Concur. Flights will be automatically ticketed (and paid for) by the lab. For rental car and hotels, you will need to pay out of pocket and be reimbursed later.
If you are planning to combine vacation and travel, remember the lab’s policy of taking only one vacation day per two work days. Note that days spent traveling to and from the conference count as work days.
In terms of travel receipts and reimbursement:
You do not need to save receipts for meals. You will receive a per diem instead. You also do not need receipts for taxi rides under $75, although you may want to submits them anyway when you have them.
If you are traveling with outside funding (e.g., the conference organizers are going to reimburse you), save all receipts and tickets as they may be needed for reimbursement.
The proper way to request reimbursements for trips within the US is through the esdradmin site’s “Travel:Domestic” tab. If you have trouble, you can email esdradmin@lbl.gov.
MSD point of contact: Jasmin Harris (jaharris@lbl.gov)
As for international trips including Canada, you should get in touch with the ESDR admin person that you work with. That person will provide you a corresponding form and help you through the (more complex) process of international-travel reimbursement.
For those funded by MSD, select Yuan Ting Lin Hou (Tracy Hou) as your travel approver in TREX. Guidelines for using TREX and creating an expense report:
https://ocfo.lbl.gov/trex-information/trex-guidance/
https://drive.google.com/file/d/1jwsbc3fQZsOrADmL4oUYL5Wa-L4vHuSC/view.
ERSO handles administrative matters for the College of Engineering at UC Berkeley. Individuals can pay out of pocket for travel expenses and then submit a reimbursement request through the ERSO intranet. Unlike LBL, approval for attending a conference is not required with UC Berkeley.
Travel Policy Key Points: https://travel.berkeley.edu/understand-policy/key-points-travel-policy
ERSO Reimbursement: https://www.erso.berkeley.edu/web/before-you-submit#travel-1
ERSO Travel Website: https://www.erso.berkeley.edu/web/travel
Checklists for your first day and week in the group.
Welcome to Berkeley and the Persson Group! Here is a checklist to help you get started once you have recieved your access to LBL either as an employee or affiliate.
UC Berkeley UCPath Payroll, benefits, and HR system
Very Basics & High Priority Administrative Tasks
The Onboarding Team will communicate with you by email to coordinate having a group member meet you the first time you arrive in Building 33. They will help you find your desk and provide a short walk through to become familiar with the building and introduce you to other group members. Once you make your way to Building 33, ask around to find the group member you are looking for if you are having trouble.
Follow the instructions received during your orientation or by email to activate your Berkeley Lab Identity Account (aka LDAP). This log-in will be used for most LBL online resources. Connect to the internet using the lbnl-visitor WiFi network (it is open access).
Try out your newly created LDAP log-in. Connect to the lbnl-employee WiFi network, open your @lbl.gov email, google calendar, etc.
Send out an email introducing yourself to perssongroup@lbl.gov (this is the email list for everyone in the Persson group) from your @lbl.gov email address. This is a tradition to help welcome new group members since it can take some time to meet everyone in person. This also serves as a notice for the group to help initiate various onboarding tasks. This works for graduates (Ph.D. and Master's students), postdocs, undergraduates, short-term visiting scholars, and summer interns. Here is an example introduction email (note permissions to view these documents are tied to your @lbl.gov google account).
Request access to building 33 for your LBL badge by using this self-serving website. You should select "33 Perimeter" and "33 1st floor Office / lab area." You will also need access to "LBNL Business Need Access" and "LBNL Gates/50 Complex/Library," but these should be assigned to you by default and no specific request should be needed.
By default, you will NOT have off-hours site access to Building 33 (i.e. from 5:30pm to 7am on weekdays, on weekends, holidays) unless a request is submitted.
Prioritize completing the GERT (General Employee Radiological Training) before the end of your first day.
Get your project/funding specific information for making purchases:
Purchasing with LBL Funds: Ask Sonia Dominguez for the project id, activity id, and SAS Approver associated with your funding to use Ebuy.
Purchasing with UC Berkeley Funds: To make purchases using UC Berkeley funds, you will need the chart string associated with that funding source which can be obtained from UC Berkeley Research Administration Staff for the College of Engineering. Email Miriam Kader including that your PI is Kristin Persson and ask for the chart string associated with your funding source.
Begin setting up your desk (ideally before completing the ergonomic self-assessment). Order a computer as soon as possible if you have not done so already. See Getting a Computer and Workspace Set-up for guidelines on selecting a computer, needed accessories, and other equipment.
When you are ready, check-out Purchasing for more information on placing your order.
Ask Bryant Li (or the Onboarding Team) about checking out the the group's inventory of unclaimed items.
Any personal orders under $300 can be made without approval. Orders over $300 that aren't for a group role (like buying ink for the printers) should be approved by Sonia and Shannon.
Also start working through the other checklists and information below when possible
Send an email to Theo Jaffrelot Inizan (theo.jaf@lbl.gov) requesting to be added to the Persson Group email lists and team google drive (if you do not have access already). Use the subject line "Onboarding: [YOUR NAME]".
Complete all LBL/UC Berkeley training courses including the ergonomic self-assessment. Note the GERT must be completed on your first day. Also note that UC Berkeley required training courses will not be assigned until after your UCPath profile is set up, which can take 1-2 weeks after your start date.
Orient yourself with LBL's calendar system (Google Calendar). Update your LBL calendar with your schedule so other group members can view your availability.
Check to ensure your calendar is populated with needed meetings (group meetings, subgroup meetings, etc.) Contact a meeting organizer to invite you to needed calendar events.
Join the Berkeley Theory Slack workspace using your @lbl.gov email. This Slack workspace provides a way for multiple groups and researchers at LBL to communicate about computational materials research, The Materials Project, and other collaborative efforts. Feel free to introduce yourself in the #introductions
channel.
Join the Persson Group Huddle Slack workspace using your @lbl.gov email. This workspace is just for the Persson group.
Send an email to Vir Karan (virkaran@lbl.gov) with a headshot and tiny bio for the group website (bit of humor in the tiny bio is very welcome).
Explore the group’s Team Google Drive. Note some of these documents populate the group handbook where access is limited to group members.
Add your name and information to the Persson Group roster
Print out an updated name tag for your desk. If needed, work with Shannon to update the name tag for your office.
Meet with Kristin to plan an appropriate introduction for your specific research, project management, subgroup, etc.
Ask to read the proposal that funds your work. This will help explain the impact of your project, the long-term plans and goals, and how your project fits in with other efforts.
Get familiar with your subgroup and any other individuals you will be working closely with for your research.
Generally take the time to learn about other group member's research focuses and areas of expertise to get a sense of who may be your best resource for different questions and who you may be supporting if you are a more senior group member.
Install the lab VPN for connecting to the lab network from home. For example, this lets you download research articles from home. See https://software.lbl.gov for instructions on installation.
Contact Howard Li about getting user accounts set-up for any computing resources you may be using (NERSC, Savio, VASP, etc.).
Get connected to the printer. The printer is located in 143C and instructions for how to connect can be found on the internal group site. Julian Self is the current printer czar and can advise you if you are having any difficulties.
Begin setting up your research computer. See setting up you computer and our internal group site for some installation tutorials and recommended softwares.
LBL employees (staff, postdocs, and graduate students) must enter their time on a regular basis using the LETS payroll system (total hours for a single month are reported). You will need the project ID and activity ID associated with the funding source for your income/stipend. Sonia Dominguez sends time entering instructions before each payroll deadline and can address any related questions.
UC Berkeley employees (staff, postdocs, and graduate students) must enter their time monthly using the CalTime payroll system.
Note: Sometimes your initial leave balances (24 PTO days and 12 Sick Days) do not populate correctly in CalTime until after the 2nd paycheck processes. If this is an issue (i.e., if you need to use leave during your first pay period), contact ersopayroll@erso.berkeley.edu.
Information on UCPath Payroll and Benefits System
Graduate Students: UC Berkeley's ERSO (Engineering Resrouce Support Organization) handles processing GSR appointment requests. These appointments are used to issue stipends (no need to report hours in a payroll system) so keep an eye out for email reminders each Fall, Spring, and Summer.
Advice on purchasing laptop for your research.
Purchasing a new computer is budgeted for when hiring long-term appointments (graduate student, postdoc, staff). Short-term appointments (undergraduate students, internships, etc.) will not involve a computer purchase unless otherwise stated as a computer can be borrowed from the group’s inventory instead.
It typically takes 2-3 weeks (and in Fall 2024, it took 20 days ) for a computer to arrive so it is recommended to prioritize placing an order either before your arrival or as soon as possible after you start.
If you are planning to purchase a computer through LBNL, please find the estimated timeline and some general guidelines here. You do not need to use this computer request form. See below on purchasing the laptop.
Note: The points in this section come mainly from the Hacking Materials Group handbook.
Buying a high end Macbook Pro is highly advised although not mandatory. In our experience, Macs offer the best systems for our work and having the same operating system within our group makes it easier to troubleshoot and share code. Using computers with similar hardware can also make it easier to share and pass down computer accessories and equipment. While we want to be conscious of cost and avoid wastefulness, the value of using well performing equipment that better supports our productivity, collaborative group culture, and reduces wasted time adds value which greatly outweighs the initial financial cost. If you would like to get anything other than a Macbook Pro, please consult more senior group members first.
You can use the Apple website to browse details and see what is available in through the supplier, Anacapa, in Ebuy and Bearbuy. Many group members use a 14” or 16" Macbook Pro with an M2 Pro or M3 Pro chip. The 14" is as powerful as the 16" and has improved mobility. However, the battery life of the 16'' laptop is slightly longer.
If you are ordering a computer before your arrival, you will need to coordinate with Shannon Dowling (srdowling@lbl.gov) to handle the purchase. Please send an email with the details of your selections. You may also need to ask Kristin for a project funding source.
Otherwise, if you are ordering a computer after you have started, you can make arrangements yourself. See purchasing for more information.
This section and its subpages describe how to set up and run calculations on various computing resources that our group has access to, as well as how to backup your data.
Our group’s main computing resources are:
(the LBNL supercomputing center, one of the biggest in the world)
/ Berkeley Research Computing (BRC)
/ Berkeley Lab Research Computing (LRC)
(the NREL supercomputing center)
Argonne Leadership Computing Facility (sometimes)
Oak Ridge Leadership Computing Facility (sometimes)
At any time, if you feel you are computing-limited, please contact Kristin so she can work with you on finding solutions.
You should back-up your Mongo DB data frequently. The Mongo DB NERSC offers is not backed-up automatically. It's important to run regular backups during the course of your research. For Mongo DB you can:
use the “mongodump” command line tool, tutorials available online — it’s a one line command
module load mongodb; mongodump --host=<host e.g. mongo01.nersc.gov> --port=27017 --username=<username> --password="<password>" --db="<db_name>" --authenticationDatabase="<db_name (same as --db flag)>" --out="<path to directory>"
You should back-up your "scratch" directory data frequently.
Each cluster has different methods of deleting old data on your scratch directory:
You can use one of the following popular tools for backing up raw data in our group:
Both of these tools can help backup your raw calculation files to your Google Drive, or Box Drive, or even external hard drives.
Other Persson group members and the NERSC website are both excellent resources for getting additional help. If that fails, you can reach out to the NERSC Operations staff:
1-800-666-3772 (or 1-510-486-8600)
Computer Operations = menu option 1 (24/7)
Account Support = menu option 2, accounts@nersc.gov
HPC Consulting = menu option 3, or consult@nersc.gov
Special thanks to the original authors of this page: Kara Fong, Eric Sivonxay, and John Dagdelen
A brief guide on things to do before your first day in the group.
A member of the Persson Group Onboarding Team will reach out before your expected start date to share this group handbook and coordinate other onboarding efforts to welcome you to the Persson Group. Although many things can only be taken care of after arriving, here are a few simple things you can do in advance.
If you have not been contacted by the Persson Group Onboarding Team at least one week before your arrival, please reach out to the relevant Onboarding Guide (see ). We try our best to reach out proactively, but there may have been a miscommunication or oversight on our end if we haven't reached out to you before your arrival.
Several administrative and research details in onboarding are unique to each group member. Some of the following information may have been communicated during your hiring process, but please reach out to Shannon Dowling (srdowling@lbl.gov) to set up a meeting with Kristin if you are unsure. You can also contact members of the Onboarding Team.
What project(s) will I be working on?
What funding source will support my work?
Will I be hired as a UC Berkeley employee (and LBL affiliate) or LBL employee?
Which subgroup(s) will I be joining? Who will I be working most closely with?
You might not have answers to any or all of these questions when you arrive! That's OK! In the meantime, you can also browse the '' tab in group resources for helpful tutorials and additional information about software / codes frequently used within our group.
Many administrative matters (HR orientation, payroll, purchasing, etc.) will vary depending on if you are a UC Berkeley or LBL employee. This information will help you navigate joining the Persson Group such as understanding which administrative systems you will use and who can help you become orientated with your research/work.
If you are an undergraduate research assistant and are getting course credits for your research work, please check with Kristin and your department about the course requirements (workload, final deliverable, etc.) at the beginning of the semester.
As mentioned above, the HR processes and orientation will vary depending on whether your financial support will come from UC Berkeley or LBL-controlled funding sources. Please refer to the relevant information below depending on your situation.
There are a few steps that must be completed before your LBL new hire orientation can be scheduled (completing a formal application, background check, etc.). Contact Sonia Dominguez (scdominguez@lbl.gov) with any questions or status update requests for matters on the Persson Group end during this time.
Once everything has been successfully processed, you should receive an email from LBL HR regarding an in person new hire appointment with a general national lab orientation and to complete new hire paperwork. This appointment is held at the national lab and further instructions will be sent regarding location, accessing the lab, and getting your badge afterwards.
Quick links:
- try to complete the General Employee Radiological Training (GERT) on your first day
- timekeeping software (still needed if you're paid weekly / monthly!)
- register for and view healthcare benefits
Once your hiring paperwork with UC Berkeley has been processed, you should receive an email regarding an in person new hire appointment with UC Berkeley HR to complete new hire paperwork. After this appointment, it may take 1-2 weeks for your information to be
Proceed to follow the instructions for LBL Affiliates Due to Kristin's joint appointment, all graduate students and postdocs hired through UC Berkeley also have LBL Affiliate status to access the group's offices and resources at the national lab.
On the Persson Group end, a LBL Affiliate appointment must be processed by our group's assistant, Shannon Dowling, before you can obtain your LBL badge.
Once your appointment has been processed, you will receive email instructions from LBL for getting your LBL badge and setting up your LDAP account (used for authentification for national lab resources). Unlike LBL employees, no in person orientation with LBL is required. Note that your LBL Affiliate appointment does not depend on having a Calnet ID or Cal 1 Card; this can be processed immediately after you complete your UC Berkeley hiring paperwork.
If your start date is coming up soon, but you have not received any email instructions from LBL, contact Shannon Dowling asking for an update on the status of your affiliate appointment.
Short-term appointments (undergraduate students, internships, etc.) will not involve a computer purchase unless otherwise stated. Instead, an excellent computer can be borrowed from the group’s inventory.
Postdoc & Staff Onboarding: Theo Jaffrelot Inizan, 33-143B (theo.jaf@lbl.gov)
Graduate Student Onboarding: Bryant Li, 33-143F (bryantli@lbl.gov)
LBL Administrative Assistance: Shannon Dowling, 33-122B (srdowling@lbl.gov)
LBL Funding & Payroll Assistance: Sonia Dominguez, 33-122B (scdominguez@lbl.gov)
UC Berkeley Administrative Assistance: David Anderssen, Krystle Bartholomew, or Vincent Ianniello, ERSO HR Operations, 199ME Cory Hall (ersohrops@erso.berkeley.edu)
UC Berkeley Funding & Payroll Assistance: Miriam Kader, 353 Cory Hall (mkader@berkeley.edu)
Desk Assignments: Bryant Li, 33-143F (bryantli@lbl.gov)
Onboarding buddy: the onboarding guide will assign an onboarding buddy to the incoming postdoc/graduate student. The onboarding buddy can help the onboarding guide to answer questions and help our new members get familiar with the workplace.
Get a free education license for , right click your database, and click export or,
Savio deletes data older than
Lawrencium does
Cori has a
For NERSC users, the data archive system is an excellent resource for putting your data long-term. There are command line tools for you to directly compress your large directory and send to HPSS in your scratch nodes. Alternatively, you could also use Globus (listed below) to transfer your data, but note that you have to compress your folders first rather than moving thousands of small documents over. This could be an alternatvie to moving data to /project directory under matgen nodes, because the latter would use up lots of inodes
and NERSC will complain. The only downside is that others couldn't access your easily in HPSS.
populated into UC Berkeley's HR and payroll system ().
See for information on how to get your Cal1 card (which serves as an ID card for UC Berkeley). Postdocs will need to wait until after your new hire paperwork meeting and after you have an active profile in UCPath to go to the Cal1 Card Office.
For information on setting-up your CalNet ID . Your CalNet ID is used for authentification for UC Berkeley resources. Postdocs will need to wait until after their UC Berkeley new hire paperwork and UCPath information has been processed before they can activate their CalNet ID.
Most long-term appointments (graduate student, postdoc, staff) involve purchasing a new computer. It typically takes at least 2 weeks for a computer to arrive. To avoid delays once you start from waiting to receive your computer, you can make arrangements to order one in advance. Work with Shannon to handle the purchase (your access to purchasing resources is granted after your arrival). Visit the section of the handbook for group guidelines on computer selection and purchasing.
: See People's page for Group Member emails
An overview of our group's recommendations regarding paper submission to scientific journals.
At some point in every project, you will have gotten far enough along and gathered enough results to be able to start the process of writing a paper. Assuming Kristin has given you the go-ahead, it is a good idea to start your writing process with an outline or a "skeleton" draft of what you anticipate the paper will look like. For a paper skeleton, it's helpful to have most of these things covered:
An idea for a title
A list of expected coauthors
Sketches or first attempts at most of your figures
Topic sentences for each paragraph in the paper
Background ideas and key papers that you plan to reference
Information about your methods (e.g., VASP parameters)
Key discussion points
Some conclusions and takeaways
An idea of what will go into the Supplementary Information (SI)
Ideas for which journal(s) you may want to submit to
Once you have a paper skeleton, you should contact Kristin for preliminary feedback before you undertake the process of writing the full draft. This step could save you a lot of time later down the road. It is important that you both agree on what the narrative of the paper will be before you start writing.
You may choose to write your draft in your preferred software, but we recommend using Microsoft Word or LaTeX to make it easier to collaboratively edit and format later for journal submission. Note that as a UC Berkeley student or LBL employee you can get free access to Overleaf Pro, an online LaTeX editor that allows for collaborative live editing and automatically tracks your changes.
When your paper is nearing completion, and assuming you were already in agreement with Kristin about the paper skeleton, make sure to provide all coauthors with a significant amount of time to read through your paper and make edits. Ideally, you will provide at least a few weeks to do so. Depending on your coauthors' schedules, it may be possible to accelerate this step (e.g., 1 week), but you should not count on this. Always make sure to provide ample time for feedback -- your coauthors will thank you later! :)
Before submitting to any journals, you should first speak with Kristin (and your coauthors) about their recommendations for where to submit your work. Journal selection can often be a matter of personal preference, but certain journals are often associated with different types of projects and different levels of impact. As you go throughout your career, you will gain intuition on the world of scientific publishing and which journal(s) make the most sense for your work. Kristin, as well as older members in the group, can help guide you in getting started.
A major point of consideration in selecting journals is whether or not that journal is open-access. As outlined in our Group Agreements (#10), we believe that science should be open and accessible to all. Journals that are open-access do not have paywalls and will allow anyone to access the published version of the article. Some journals which are normally behind paywalls may allow you to make your article open-access for an extra fee. You should discuss with Kristin if it would be feasible (and sensible) to pay extra for publishing in an open-access format. Note that it is still possible to share your work openly; please see the following section on preprints.
Here is a selection of scientific journals where some of our group's work has been published, in no particular order:
Chemistry of Materials
Nature Communications
Science Advances
Computational Materials Science
Inorganic Chemistry
ACS Applied Materials & Interfaces
ACS Energy Letters
Journal of the American Chemical Society
Chemical Reviews
Chemical Science
Journal of the Electrochemical Society
npj Computational Materials
Journal of Materials Chemistry A
Phys. Rev. Materials
RSC Advances
Materials Today
Journal of Physical Chemistry C
Scientific Reports
Scientific Data
Nature Reviews Materials
Advanced Materials
Nature
A preprint is a copy of your paper before it enters the peer-review process. A preprint may follow the style/format of a particular journal, but it will not contain any of the special formatting that occurs upon publishing in a journal (i.e., the publisher's version). As author of a paper, you own the copyright to your own preprint, but once the paper has entered the peer-review process at a journal, your work is subject to the copyright policy of that journal. Make sure to check out the specific copyright policies of the journal you are interested in publishing in!
Sharing a preprint to websites like ArXiv or ChemRxiv is a great way to quickly distribute your work to a wide audience, and helps contribute to our group's mission to make science accessible and open to all (Group Agreements #10).
For special (and potentially high-impact) papers, you may want to consider hiring a professional artist to create cover art illustration. Kristin recommends the following studio:
If you are interested, please contact Kristin to discuss art ideas/options for your paper.
Congratulations on successfully getting through this lengthy process! Now that your article is published, make sure to:
Alert the group site Webmaster(s) about your recently published journal article (and provide them with a copy)
Contact the group's Social Media Chair (currently John) so that we can share your work on Twitter!
Feel free to share your article on your own social media, including retweeting the group and publisher
Consider contacting the MSE department (or your specific department) about the publication if you think it is worth sharing on one of the departmental news websites
Celebrate your success and pass on what you've learned to other group members as they go through this process themselves :)
Using Conda environments on NERSC systems
Conda envs are a great way to manage package/library versions. Frequently we need a specific configuration and package versions for one project's needs can conflic with another project's needs. Conda envs allow us to create separate "environments" where you can be free to install any package version you like without it affecting anything outside of the environment.
By default, conda
is not on PATH and you may get an error when trying to call `conda ...`.
Get it on PATH
by:
Note: you can that line to your ~/.bash_profle
to prevent you having to do this each time you log in.
To create a new named conda enviornment, use the following commands. In this example we create an enviornment named my_env
with python 3.8
conda create -n my_env python=3.8
To enter your environment, activated it using its name:
conda activate my_env
To list your available enviornments:
conda env list
By default, if we create a new enviroment, it will be stored in the $HOME
directory (e.g. /global/homes/m/<username>/.conda/envs
). Each of us has a quota of 40G for $HOME
, and sometimes conda environments can get quite big, which can cause out-of-quota problem. So, let's change the default environment directory to avoid this.
You should have access to /global/common/software/matgen/
(or /global/common/software/jcesr
, depending on the account
you have access to). Create a directory under your username (to store all your software), e.g.
Within your directory, create a directory to store conda environemts (assuming we want to store it at .../<username>/conda/envs
):
Then, config conda to prepend to envs_dirs
what we've created:
This is all you need to do.
To ensure it's successful, you can view conda settings by
You will find something like
Alternatively, you can open ~/.condarc
to see all the changes you've made. You can even directly edit it to remove the changes or add new ones.
When you install a package, the package will first be downloaded to $HOME
, (e.g. /global/homes/m/<username>/.conda/pkgs
). You can change the default package storage directory as well:
Agian, you may need to change matgen
to the accout you have access to, and, of course, change <username>
to your username.
A brief guide on how to set up your workspace for ergonomic comfort and optimal productivity.
An optimal workspace set-up is essential for making sure you can consistently contribute your best efforts. Remember, just as experimental groups invest their resources in chemicals, new lab instruments, equipment time, etc. to do their research, as computationalists, we invest in office items, software, computers, and other related tools that will make our group members more effective. So if you will use it, buy it. Don't worry so much about if you "need" vs. "want" it.
Please feel free to decorate your workspace with photos, posters, or other personal touches.
An effective workspace should help maximize your productivity. You will spend a great deal of time working in this space so it is worth investing in any equipment needed for you to work more efficiently and comfortably. Order any peripherals and ergonomic devices (e.g. wrist pads) such as:
An external monitor: One big display screen is usually better from an ergonomic perspective than dual monitors. Note that Mac OS include features such as "Split View" (split your display between showing two different windows side by side) and “Spaces” (quickly shift between desktops displaying different sets of windows and open apps).
A keyboard: The Apple Wireless Keyboard is a popular option. Some prefer mechanical keyboards. If you prefer a larger or ergonomic keyboard, you can certainly get that.
A mouse/trackpad: The Apple Magic Trackpad can be a popular option for those who value consistency between their laptop and desk workstation. And it also offers additional functionality and customization built in for Mac OS (e.g. gestures). After a while you get used to doing everything on your trackpad even if you were previously very productive/accurate with a mouse on Windows. However, many group members get by just fine with a mouse (especially the Apple Magic Mouse, which has some gesture support.)
An external hard drive (compatible with Time Machine for backing-up your computer). 4TB is a good size.
Some recommend a USB-C G-Drive that also doubles as a charger.
An extra computer charger
An HDMI adapter dongle
USB to USB-C adaptor (if you have personal electronics that rely on USB connections)
Computer docking station (optional)
An ethernet cable adapter dongle
A presentation tool or clicker, e.g., Logitech R800 (optional)
Remember to be mindful of selecting cables and devices that have compatible ports/connectors and purchasing appropriate adaptors when necessary. There are also many spare adapters/monitors/keyboards etc. in the offices, so please see if you can reuse them before purchasing one, in order to avoid waste.
There is a separate handbook for members of the group who are working on the Materials Project (MP), which includes info about production, builders, the API, etc.
Please find this handbook here: https://app.gitbook.com/@materialsproject/s/handbook/
The MP Handbook has restricted access but it is accessible to anybody working on MP, including collaborators outside the Persson Group. Please contact an MP staff member for access.
Find solutions to frequently encountered issues here
e.g. "home directory over quota"
,
We are limited to 40 GB of files in our home directories. This error indicates you have to many files.
Run showquota
or myquota
to see your file system space usage. If 'home' is 40GB or greater that's your issue.
Run du -sh *
in your home directory and look for any large directories.
Run du -sh .[^.]*
in your home directory and look for any large dot directories. Common issues are large .cache
directory and large .conda
directory
Alternatively, you can use the Ncurses Disk Utility tool via shifter to view your home directory usage with an ncurses GUI:
Quick solution: conda clean --all
Quick solution: Delete it! rm -rf .cache
This page describes setup for running calculations at NERSC's Perlmutter HPC.
Ask Kristin about whether you will be running at NERSC and, if so, under what account / repository to charge.
Request a NERSC account through the NERSC homepage (Google “NERSC account request”).
A NERSC Liason or PI Proxy will validate your account and assign you an initial allocation of computing hours.
At this point, you should be able to log in, check CPU-hour balances, etc. through “NERSC NIM” and “My NERSC” portals
In order to log in and run jobs on the various machines at NERSC, review the NERSC documentation.
In order to load and submit scripts for various codes (VASP, ABINIT, Quantum Espresso), NERSC has lots of information to help. Try Google, e.g. [“NERSC VASP”]().
... * Note that for commercial codes such as VASP, there is an online form that allows you to enter your VASP license, which NERSC will confirm and then allow you access to. Log in to , select "Open Request", and fill out the "VASP License Confirmation Request" form.
Please make a folder inside your project directory and submit all your jobs there, as your home folder has only about 40GB of space. For example, for matgen project, your work folder path should be something like the following:
/global/cfs/projectdirs/matgen/
YOUR_NERSC_USERNAME
You can also request a mongo database for your project to be hosted on NERSC. Google [“MongoDB on NERSC”]() for instructions. Patrick Huck can also help you get set up and provide you with a preconfigured database suited for running Materials Project style workflows.
(Optional)
This tutorial provides a brief overview of setting yourself up to run jobs on NERSC. If any information is unclear or missing, feel free to edit this document or contact Kara Fong.
Contact the group’s NERSC Liaison (currently Rohith Srinivaas Mohanakrishnan and Howard Li, see [Group Jobs list]()). They will help you create an account and allocate you computational resources. You will then receive an email with instructions to fill out the Appropriate Use Policy form, set up your password, etc.
Download the script from NERSC to your home folder
At the terminal type ./sshproxy.sh -u <nersc_username>
Enter your password and OTP
You should now be able to log in without authenticating for 24 hours!
You can set up an alias for Perlmutter, or you can ssh into Perlmutter by running the following command in the terminal
ssh perlmutter-p1.nersc.gov
For small files, you can use SCP (secure copy). To get a file from NERSC, use:
To send a file to NERSC, use:
Running and monitoring jobs:
The following instructions are for running on Perlmutter.
Most jobs are run in batch mode, in which you prepare a shell script telling the batch system how to run the job (number of nodes, time the job will run, etc.). NERSC’s batch system software is called SLURM. Below is a simple batch script example, copied from the NERSC website:
To submit your batch script, use sbatch myscript.sl
in the directory containing the script file.
Below are some useful commands to control and monitor your jobs:
For Perlmutter GPU, the job scripts will look similar:
For more options in the executable, please refer to NERSC documentation. To work with the high-throughput infrastructure, please refer to "Fireworks & Atomate" in this handbook.
You specify which queue to use in your batch file. Use the debug queue for small, short test runs, and the regular queue for production runs.
In atomate, by using --maxloop 3 for example when setting rocket_launch in your my_qadapter.yaml, after 3 trials in each minute if there are still no READY jobs available in your Launchpad Fireworks would stop the running job on NERSC to avoid wasting computing resources. On the other hand, if you have Fireworks available with the READY state and you have been using crontab for a few days, even if the jobs you submitted a few days ago start running on NERSC, they would pull any READY Fireworks and start RUNNING them reducing the turnaround from a few days to a few hours! So how to setup crontab? Please follow the instructions here: 1. ssh to the node where you want to setup the crontab; try one that is easy to remember such as cori01 or edison01; for logging in to a specific node just do for example “ssh cori01” after you log in to the system (Cori in this example).
Type and enter: scrontab -e
Now you can setup the following command in the opened vi editor. What it does is basically running the SCRIPT.sh file every 120 minutes of every day of every week of every month of every year (or simply /120 *):
Setup your SCRIPT.sh like the following: (as a suggestion, you can simply put this file and the log file which keeps a log of submission states in your home folder):
DISCLAIMER: Only use job packing if you have trouble with typical job submission. The following tip is not 100% guaranteed to work., and is based on limited, subjective experience on Cori. Talk to Alex Dunn (ardunn@lbl.gov) for help if you have trouble.
The Cori queue system can be unreasonably slow when submitting many (e.g., hundreds, thousands) of small (e.g., single node or 2 nodes) jobs with qos-normal priority on Haswell. In practice, we have found that the Cori job scheduler will give your jobs low throughput if you have many jobs in queue, and you will often only be able to run 5-30 jobs at a time, while the rest wait in queue for far longer than originally expected (e.g., weeks). While there is no easy way to increase your queue submission rate (AFAIK), you can use FireWorks job-packing to “trick” Cori’s SLURM scheduler into running many jobs in serial on many parallel compute nodes with a single queue submission, vastly increasing throughput.
You can use job packing with the “multi” option to rlaunch. This command launches N parallel python processes on the Cori scheduling node, each which runs a job using M compute nodes.
The steps to job packing are: 1. Edit your my_qadapter.yaml file to reserve N * M nodes for each submission. For example, if each of your jobs takes M = 2 nodes, and you want a N = 10 x speedup, reserve 20 nodes per queue submission. 2. Change your rlaunch command to:
To have each FireWorks process run as many jobs as possible in serial before the walltime, use the --nlaunches 0 option. To prevent FireWorks from submitting jobs with little walltime left (causing jobs to frequently get stuck as “RUNNING”), set the --timeout option. Make sure --timeout is set so that even a long running job submitted at the end of your allocation will not run over your walltime limit. Your my_qadapter.yaml should then have something similar to the following lines:
Typically, setting N <= 10 will give you a good N-times speedup with no problems. There are no guarantees, however, when N > 10-20. Use N > 50 at your own risk!
By default, premium QOS access is turned off for everyone in the group. When there is a scientific emergency (for example, you need to complete a calculation ASAP for a meeting with collaborators the next day), premium QOS can be utilized. In such cases, please contact Howard (hli98@lbl.gov or on Slack) to request premium QOS access. The access will be then turned off automatically after three weeks or after the emergency has been dealt with.
This page describes how to get set up to run calculations at LRC on the Lawrencium cluster.
Lawrence Berkeley National Laboratory's Laboratory Research Computing (LRC) hosts the Lawrencium supercomputing cluster. LRC operates on a condo computing model, in which many PI's and researchers purchase nodes to add to the system. Nodes are accessible to all who have access to the system, though priority access will be given to contributors of the specific nodes. BRC provides 3 types of allocations: Condo - Priority access for nodes contributed by the condo group. PI Computing Allowance (PCA) - Limited computing time provided to each PI member using Lawrencium.
Please make sure you will actually be performing work on Lawrencium before requesting an account. To get an account on Lawrencium, navigate to , register an account and wait for approval form the LRC team. and the to a one-time password token generator and your account. You will also need to .
You must use the SSH protocol to connect to Lawrencium. Make sure you have SSH installed on your local computer (you can check this by typing which ssh
). Make sure you have a directory named $HOME/.ssh on your local computer (if not, make it).
After your account is made, you'll need to set up 2-factor authentication. We recommend using Google Authenticator, although any OTP manager will work.
You should now be ready to log on!
To access your shiny new Lawrencium account, you'll want to SSH onto the system from a terminal.
You will be prompted to enter your pin+OTP (e.g. <your_pin><OTP>
without any spaces). This will take you to your home directory. You may also find it useful to set up an alias for signing on to HPC resources. To do this, add the following line to your bash_profile:
Now you will be able to initialize a SSH connection to Savio just by typing lawrencium
in the command line and pressing enter.
Under the condo accounts condo_mp_cf1 (56 cf1 nodes) and condo_mp_es1 (1 gpu node), we have exclusive access to certain Lawrencium nodes. If you do not know which of these node groups you are supposed to be running on, you probably shouldn't be running on Lawrencium. Additionally, we have the ability to run on ES1 GPU nodes at low priority mode (es_lowprio).
Software within LRC is managed through modules. You can access precompiled, preinstalled software by loading the desired module.
To view a list of currently installed programs, use the following command:
To view the currently loaded modules use the command:
Software modules can be removed by using either of the following two commands:
To run on the nodes, use the following job script, replacing with the desired job executable name.
In addition to using Persson owned nodes (lower wait times, limited capacity), you can also submit directly to the main LRC queue. For jobs that aren't on a time crunch low-turnaround time, this can be a great option because it will not saturate our condo nodes. All of the instructions are identical to above except the accoutn should be set to pc_mp
instead of lr_mp
.
To run an interactive session on the GPU node, use the following two commands to provision and log in to the node: salloc --time=24:00:00 --nodes=1 -p es1 --gres=gpu:2 --cpus-per-task=8 --qos=condo_mp_es1 --account=lr_mp
srun --pty -u bash -i
Permanent Solution:
Is this safe to do? Yes () but you may want to move a backup of the directory to a project directory if you're worried about it.
Once your account is set up, you can manage it at NERSC's [iris]().
You must use the SSH protocol to connect to NERSC. Make sure you have SSH installed on your local computer (you can check this by typing which ssh
). You will also need to . This will allow you to generate "one time passwords" (OTPs). You will need append a OTP to the end of your NIM password each time you log on to a NERSC cluster.
We also advise you to configure the NERSC so that you only have to log into NERSC with a OTP once per 24 hours (helpful if you are scp-ing things). To do this:
To move a larger quantity of data using a friendlier interface, use .
You can also "mount" NERSC's filesystem in VSCode following the [guide here]()
Here, the first line specifies which shell to use (in this case bash). The keyword #SBATCH is used to start directive lines ( for a full description of the sbatch options you can specify). The word “srun” starts execution of the code.
In order to automatically manage job submission at NERSC, you can use [scrontab](). You can submit jobs periodically even when you are not signed in to any NERSC systems and perhaps reduce the queue time from 5-10 days to a few hours. This is possible because of the way jobs are managed in atomate/fireworks. Please make sure you feel comfortable submitting individual jobs via atomate before reading this section.
The last line of this 3-line file is really what submitting your job inside your production folder with the settings that you set in FW_config.yaml file. See for more info.
Please make sure to set your PRODUCTION_FOLDER under /global/project/projectdirs/ that has much more space than your home folder and it is also backed up. Make sure to keep an eye on how close you are to disk space and file number limitations by checking periodically.
Jupyter notebooks are quickly becoming an indispensable tool for doing computational science. In some cases, you might want to (or need to) harness NERSC computing power inside of a jupyter notebook. To do this, you can use NERSC’s new Jupyterhub system at . These notebooks are run on special jupyter nodes on Perlmutter, and can also submit jobs to the batch queues (see [here]() for details). All of your files and the project directory will be accessible from the Jupyterhub, but your conda envs won’t be available before you do some configuration.
To set up a conda environment so it is accessible from the Jupyterhub, activate the environment and setup an ipython kernel. To do this, run the command “pip install ipykernel”. More info can be found at .
GPU Computing Node |
Processors | Dual-socket, 4-core, 2.6GHz Intel 4112 processors (8 cores/node) |
Memory | 192GB (8 X 8GB) 2400Mhz DDR4 RDIMMs |
Interconnect | 56Gb/s Mellanox ConnectX5 EDR Infiniband interconnect |
GPU | 2 ea. Nvidia Tesla v100 accelerator boards |
Hard Drive | 500GB SSD (Local swap and log files) |
This page describes how to get setup at the Berkeley Research Computing center (BRC) on Savio.
Berkeley Research Computing (BRC) hosts the Savio supercomputing cluster. Savio operates on a condo computing model, in which many PI's and researchers purchase nodes to add to the system. Nodes are accessible to all who have access to the system, though priority access will be given to contributors of the specific nodes. BRC provides 3 types of allocations: Condo - Priority access for nodes contributed by the condo group. Faculty Computing Allowance (FCA) - Limited computing time provided to each Faculty member using Savio.
Please make sure you will actually be performing work on Savio before requesting an account. To get an account on Savio, navigate to the BRC portal, register an account, make sure to select the appropriate allocation, and wait for approval from the BRC team. Typically, most students and postdocs will be running on co_lsdi. For more information, visit (Berkeley Research Computing)[http://research-it.berkeley.edu/services/high-performance-computing]
After your account is made, you'll need to set up 2-factor authentication. This will allow you to generate "one time passwords" (OTPs). You will need append a OTP to the end of your NIM password each time you log on to a NERSC cluster. We recommend using Google Authenticator, although any OTP manager will work.
You must use the SSH protocol to connect to BRC. Make sure you have SSH installed on your local computer (you can check this by typing which ssh
). Make sure you have a directory named $HOME/.ssh on your local computer (if not, make it).
We also advise you to configure a ssh socket so that you only have to log into BRC with a OTP only once per session (helpful if you are scp-ing things). To do this:
Create the directory ~/.ssh/sockets
if it doesn't already exist.
Open your ssh config file /.ssh/config
(or create one if it doesn't exist) and add the following:
After your account is made, you'll need to set up 2-factor authentication. We recommend using Google Authenticator, although any OTP manager will work.
You should now be ready to log on!
To access your shiny new savio account, you'll want to SSH onto the system from a terminal.
You will be prompted to enter your passphrase+OTP (e.g. <your_password><OTP>
without any spaces). This will take you to your home directory. You may also find it useful to set up an alias for signing on to HPC resources. To do this, add the following line to your bash_profile:
Now you will be able to initialize a SSH connection to Savio just by typing savio
in the command line and pressing enter.
Under the condo account co_lsdi, we have exclusive access to 28 KNL nodes. Additionally, we have the ability to run on other nodes at low priority mode.
Software within BRC is managed through modules. You can access precompiled, preinstalled software by loading the desired module.
To view a list of currently installed programs, use the following command:
To view the currently loaded modules use the command:
Software modules can be removed by using either of the following two commands:
Accessing In-House software packages
The Persson Group maintains their own versions of popular codes such as VASP, GAUSSIAN, QCHEM and LAMMPS. To access these binaries, ensure that you have the proper licenses and permissions, then append the following line to the .bashrc file in your root directory:
To run on the KNL nodes, use the following job script, replacing with the desired job executable name. To run vasp after loading the proper module, use vasp_std, vasp_gam, or vasp_ncl.
To run on Haswell nodes, use the following slurm submission script:
You should coordinate the specific days of vacation and personal time off with Kristin, especially for an extended absence.
Graduate students researchers are allotted 12 days of personal time off per year (1 per/month) and graduate student instructors are allotted 3 days of personal time off per semester, as given by the UAW 2865 contracts. Additionally, graduate students are entitled to take off all holidays observed by LBNL. You should email Kristin well in advance (at least one month) with the days you plan to take off.
After discussing with Kristin, please add your PTO to the Persson Group Vacation Calendar. If you do not have access to this calendar, email Shannon for access and add it to your list of calendars.
Postdocs will receive a set number of vacation / personal time off (PTO) days that will be outlined in your hiring package. For union postdocs, the union has currently negotiated 24 PTO days per year along with other benefits.
As a new postdoc, you should submit a Postdoc time sheet each month to the Payroll team at 197M Cory Hall, ersopayroll@erso.berkeley.edu. This time sheet is used only to record the Personal Time Off and Sick Leave that you use. According to UC Postdoc policy, you are granted 24 days of Personal Time Off and 12 days of Sick Leave per 12-month appointment.
This page describes how to get setup at the National Renewable Energy Laboratory (NREL) on Kestrel.
If you encounter an error with NREL, there is most likely documentation on https://nrel.github.io/HPC/Documentation/Systems/Kestrel/.
Visit website https://www.nrel.gov/hpc/user-accounts.html to get started on making a user account. You will need to setup a MFA before proceeding.
Send an email to HPC-Help@nrel.gov to get added on the correct projects. Ask Kristin or the NREL coordinators of the group to see which projects you belong to.
For the purposes of this example, assume your NREL account username is: johndoe
Once in, the command line will prompt you to type in your account password+OTP.
Use this for loggin into the NREL HPC systems. From there, you can connect to any other NREL HPC system like Swift, Eagle, etc.
I personally would recommend setting up miniconda instead of using their default conda modules. If you would like to use their default conda module, execute module load conda
and proceed to the conda install steps.
You can find these install instructions on https://docs.anaconda.com/miniconda/#quick-command-line-install
You should now see a (base)
or (miniconda)
on the lefthand side of your command prompt.
Warning: This is different for every user. Please check with your mentor before proceeding.
The following conda setup is designed for VASP users who will be using atomate2 with fireworks.
Please refer to https://materialsproject.gitbook.io/persson-group-handbook/computing/atomate-setup/setup#set-up-an-environment for setting up the fireworks yaml files and the fw_config directory.
In addition, also setup these two additional files:
Please use trajectory store version if you need to run AIMD/MD type calculations with atomate2
We generally run 2 versions of VASP - 5.4.4 and 6. VASP 6 is used primarily on nodes operating on the Knights Landing (KNL) CPU architecture, while VASP 5.4.4 is generally used on all other CPUs.
NERSC maintains compiled, and optimized versions of the vasp binaries. To get access to these binaries, you must be added to the group VASP license. If/when you determine that your research requires the use of VASP, please contact Kristin and request to be added to the VASP License. We currently have two sets of licenses i) UC Berkeley Affiliated (Purchased through VASP Software GmbH) and ii) LBNL Affiliated (Purchased through Materials Design). Once you have been added to one of the licenses, fill out the VASP License Confirmation Request to get access to the binaries on NERSC machines.
More information can be found in the NERSC documentation
The potcar files can be found in the following directory.
*Note*: Users with only jcesr access will need to request access to matgen to access these POTCARs. Contact the NERSC Resource Manager and request to be added to the 'matgen' UNIX group.
When running vasp on savio, we have access to our own compilations. To access the vasp binaries on savio, add the following line to your .bashrc file.
POTCARs are located at:
For issues with these compilations, please contact Eric Sivonxay (esivonxay@lbl.gov)
When running vasp on Lawrencium, we have access to our own compilations. To access the vasp binaries on Lawrencium, add the following line to your .bashrc file.
Pre-release versions of the VASP modules are located at export /clusterfs/mp/temp_modfiles
POTCARs are located at:
For issues with these compilations, please contact Eric Sivonxay (esivonxay@lbl.gov)
Special thanks to the original authors of this page: Eric Sivonxay
This page describes how to set up your new computer with the software our group members commonly use.
The best way to manage Python installations these days is a “conda env”. This will allow you to manage different Python “environments”, where each environment is a set of libraries that you have installed. For example, you can have one environment that uses Python 2.7 and has certain library versions installed, and another environment that uses Python 3.5 and has other libraries installed. Another advantage of conda environments is that you can apply the same procedure on NERSC and other computing centers that support conda.
To do this, follow the online instructions on installing a conda environment and see modifications below:
(probably) prefer to install the “miniconda” version rather than anaconda
(probably) prefer to install “miniconda 3” rather than “miniconda 2”. Both will work fine and allow you to do everything the other one does so don’t stress too much about this decision.
When creating environments, use a command like this (note that this also installs recommended libraries):
If you want a reference guide to conda commands, try: https://docs.conda.io/projects/conda/en/latest/user-guide/cheatsheet.html
Our group has a set of base codebases used for performing high-throughput calculations. Note that if your project does not involve high-throughput calculation, you may need only one or two of these libraries installed – ask your subgroup head if you are unsure.
After activating a conda environment, install the following packages using a combination of git clone >>REPO_NAME<< and python setup.py develop. Start with:
You might need to generate an ssh key for the git clone command to work: ssh-keygen -t rsa -b 4096 no password is probably OK unless you are security conscious add your SSH key to your Github profile
Then:
Repeat the process above for the remaining libraries:
Repeat the same process for a couple of other libraries on the hackingmaterials github site:
If you want, you can automatically source activate your environment in your .bash_profile file. This will automatically load your environment when you open a Terminal. Otherwise, you will start off in your default Mac Python.
Bring the now-empty box to 143C, write your name on it, and add it to the tower.
Set up your Time Machine backup (make sure you have purchased or received an external hard disk).
You can also set up an online backup plan (e.g., Crashplan or Backblaze) to provide you with a second backup.
Install MongoDB.
Install Docker.
Purchase Microsoft office from LBNL software distribution; if you are a UC Berkeley student/employee you can get this, and lots of other software, for free: UC Berkeley Software Catalog
Things to be aware of in the first months in your new position.
It's important that you establish California residency in your first semester. If you don't complete the necessary tasks on time, you will be classified as a out-of-state student for the following academic year which results in higher tuition costs.
Although the deadline for filing your Statement of Legal Residence (SLR) is in June, you must complete all necessary conditions for residency (getting your CA drivers license, registering your car in CA, etc) before the end of your first semester.
: Postdocs have the option to join the union which aims to improve wages, hours, benefits, and other employment aspects for its members. You are welcome to ask other postdocs for their opinions based on their experiences with the union as well.
Join the postdoc Slack for general discussions for postdoc life at LBL
LBL sends out daily emails and offers other notification options through . In the past, some affiliates were not automatically signed-up for Elements announcements and missed important time sensitive information contained in these updates.
This page describes the setup procedure for using fireworks and atomate on high performance computing systems. These instructions are intended for first time users.
Please see the following subsections on fireworks/atomate setup and usage:
Use of pymatgen.io.openmm is no longer recommended. It has been superceded by workflows in atomate2. Once the tutorials are complete, someone ought to update this page :) Points of contact for MD questions: 1. Orion (leaving August 2024) 2. Nessa 3. Rohith
Our group has a robust infrastructure for setting up and running molecular MD simulations. The core of this infrastructure is in the Pymatgen . Once you have installed that package and its dependencies, you should be able to use the following code. For a quick install of the dependencies, execute these commands:
First, you should import all of the functions and objects that we'll use below.
A pymatgen InputSet
contains all of the files needed to set up and run a simulation. Writing those files by hand would be incredibly tedious, so we use a Generator
to create the InputSet
. The Generator
is instantiated with simulation properties as input, like temperature and force field. Once it is created, it can generated many InputSets
with different sets of molecules.
An InputSet
is created by calling generator.get_input_set()
and providing the molecules (as smiles) and the density of the solution. When this happens, a ton of code is run behind the scenes that sets up the simulation.
We might not want to run our simulation immediately! For example, we might want to upload it to a supercomputer. We can easily do this by saving all of the files with input_set.write_input
.
It is equally easy to load an InputSet
from a directory.
An InputSet
can create a dynamic OpenMM Simulation
object. This simulation object can be run and modified using the OpenMM software package.
Once we have a simulation, we will first need to minimize the energy, otherwise the simulation box will explode. Once that's done, we can start the simulation!
Congratulations! You ran your first OpenMM simulation!
By default, an OpenMM Simulation
will not output any information. If we want data, we will need to add OpenMM Reporters
to write out the trajectory and simulation state. In the next cell, I attach the most useful reporters, StateData
, which writes state information, DCDReporter
, which saves the trajectory, and PDBReporter
, which saves the topology.
200 is an extremely short time interval, in reality, you would want to use something like 1,000 for the StateDataReporter and 10,000 for the DCD reporter. Next we can run the simulation and see that it ran. We are using a short time interval here because this is just a demonstration.
A real molecular dynamics simulation is slightly more complex than the toy examples we've covered here. We first need to equilibrate the pressure of the simulation, which will change the volume until the simulation contents are at atmospheric pressure. Then we need to anneal the simulation by heating it to 400K to make sure we find a true equilibrium. Fortunately, the Pymatgen code has very convenient functions for doing both of these things. A real simulation would look something like below (though in reality we would run it for many more timesteps).
In 2020, the Persson Group came together and drafted a list of Group Agreements. These are now listed on the official group website:
The agreements are a set of values that all members of the Persson Group, as it stood in 2020, agreed upon. The agreements are not intended as "rules", but as things that were important to us at the time and that we wanted to prioritize moving forward. However, the agreements list is a living document; future iterations of the group may decide to edit and establish different group agreements!
This page provides an overview of software used by our group. Detailed descriptions of simulation codes and other python codes (i.e., fireworks, atomate) are on following pages in this section.
We contribute to and maintain many Python packages. Many of these can be found under the materialsproject organization on GitHub:
- for representing and analyzing crystal structures, as well as setting up/performing manual calculations
- code for the Materials Project API
- for executing and managing calculation workflows on supercomputing resources. This helps you keep a calculation dashboard
- Python library for writing computational workflows
- instead of directly running an executable like VASP, one can wrap the executable in custodian to detect and fix errors
- repository for materials science workflows.
- new successor to atomate, written using jobflow. We recommend this package when possible.
- for building modular, scalable data pipelines
- builders and API for Materials Project data (built upon maggma)
- for data mining / ML on materials science data
Additional software used by many members of our group include:
- Molecular visualization software especially good for crystals
- Molecular visualization software especially good for molecular dynamics trajectories. We have a group license for the pro version. If you feel you'll be actively using OVITO Pro, please contact Qian Chen for the group license key.
- graphical molecule builder and viewer that integrates tightly with Q-Chem
- graphical molecule builder and viewre
- You can obtain a free academic license . There is also a free version with more limited capabilities, but it works fine for simple use cases.
- molecular visualization program
- Modern, flexible and extensible text editor from Microsoft. Compatible with Github Copilot!
- Python text editor from JetBrains. Free with Github Student Developer Pack
- Alternative to native Terminal. Has more features and allows for greater customization.
If you are a Windows user, consider making use of the following:
To learn how to use the software stack, you can consult the documentation of the individual codebases as well as review the following resources:
If you have a specific question, sometimes the easiest solution is to post it to the Slack group and crowdsource the answer!
If you have problems with software, and in particular the software maintained by our group and our collaborators, you should contact the appropriate help group. The documentation for the software will list what that channel is; if not, try the Github Issues page. If you are reaching out for help, try to provide everything needed to quickly reproduce and debug the problem (files, test code, etc).
Two other ways to get software help that are more self-guided are:
If you are having trouble using a particular class or function, look for unit tests within the code, which often demonstrate how to use the class or function
If the class or function has a unique name (e.g., MaterialsProjectCompatibility), another option is to both Google and search on github.com for the particular class/function. The github.com search will often reveal code snippets from users all around the world.
Looking for a place to host your code? Our group has an organization on Github here:
Please contact Hui Zheng to be added to the organization.
As someone who is affiliated with UC Berkeley, did you know that you can get free Github Pro and a ton of free software (e.g., GitKraken, Pycharm, Github Copilot)?
This is totally worth the time to sign up. You can find the application below:
-------
Special thanks to the original authors of this page: John Dagdelen and Eric Sivonxay
or
(WSL/WSL2) (highly recommended!)
The 2018 Materials Project workshop (note that MatMethods is now called atomate):
The 2014 Materials Virtual Lab presentations:
The Materials Project YouTube tutorials:
More Information to come
Set up a conda environment for machine learning.
The group has some deidicated GPU nodes on Lawrencium that you can use. More information here.
This page gives a brief guidance on setting up a new conda
environment for running machine learning jobs on perlmutter
. But you may find general info on:
how to change default conda
settings (e.g. environment directory and package directory to avoid home directory out-of-quota problem)
how to clone an existing conda
environment
example slurm script to submit a job to perlmutter
First, log in to perlmutter
(without typing the $
, same below)
By default, conda
is not on PATH.
Get it on PATH
by:
Let's create an environment called matml,
short for materials machine learning.
We can do $ conda create --name matml
to create it, and then $ conda install python <other_package_name>
to install packages. But if you intend to use PyTorch
or TensorFlow,
there are pre-installed versions on perlmutter
that are built from source. These could be optimized for the hardware, so it would be better to use them. NERSC
folks have already put them in a conda environment, and we just need to clone it.
First, check what versions are available (using pytorch
as an example, but it is similar for tensorflow
)
Then pick the version we want to use (e.g. pytorch/1.10.0,
jot it down, you will use it later) and load it
The purpose of which python
is to find out the path to the pytorch conda environment, and you will see something like /global/common/software/nersc/shasta2105/pytorch/1.10.0/bin/python
. This means the conda environment is at /global/common/software/nersc/shasta2105/pytorch/1.10.0
(NOTE, /bin/python
is excluded).
Finally, clone the pytorch conda environment using its path to create the matml
environment,
Assume you have finished the above steps, and logged out of perlmutter.
The next time you log back in, the first thing is to get the necesary modules loaded:
and activate your environment:
Note, the order of the above three commands matters here. The purpose is to ensure the correct python on your PATH
. Make sure to load python
first, then the torch environment (e.g. pytorch/1.10.0
), and finally activate your own conda environment. You can check it by $ which python,
and make sure it is from the matml
enviroment (e.g. /global/common/software/matgen/<username>/conda/envs/matml/bin/python
).
To test that everying works
Create a python script, named, e.g. my_first_torch_job.py
Create a slurm batch script for it, named, e.g. submit.sh
Submit your job (Ensure no conda environment is activated, otherwise module load python
in submit.sh
won't work. Use $ conda deactivate
to deactivate if you are in an environment. Alternatively, you can log out and log in again before running the below command):
If you find something wrong, please fix it. If you are unsure, let Mingjian Wen know and he can probably help.
Talk to Rishabh, Jingyang, or Ryan if you have LAMMPS questions!
More Information to come
Create the molecule in Avogadro or wherever you want to
Then use antechamber to get the partial charges. Antechamber is part of AmberTools. Installation instructions are available in their manual
The relevant command:-
antechamber -fi pdb -fo prepi -i <infile.pdb> -o output.prepi -c bcc -j 4 -at gaff -nc -1
The -nc
flag is the net charge in the molecule. It will error out if not invoked for ions.
Sometimes it might be advisable to take partial charges and LJ pair coefficients directly from papers. This is especially important if you are trying to benchmark your results against previous publications. For instance, in case of TFSI-, antechamber
partial charges are significantly different than partial charges available in previous publications - https://pubs.acs.org/doi/full/10.1021/jp0686893
In short, antechamber
is a good starting point, but it is always advisable to tread carefully with partial charges in MD. Also remember, that these charges are not scaled. Why is charge scaling important? Go here – ‘Kirby, B. J.; Jungwirth, P. Charge Scaling Manifesto: A Way of Reconciling the Inherently Macroscopic and Microscopic Natures of Molecular Simulations. J. Phys. Chem. Lett. 2019, 10 (23), 7531–7536. https://doi.org/10.1021/acs.jpclett.9b02652.’
Open the .pdb file in VMD. Use Extensions -> TK console
to open the TCL scripting menu
Then use this sequence of commands to get the bonds, angles, dihedrals and most importantly, the box size
topo retype bonds
topo guessangles
topo guessdihedrals
set sel [atomselect top all]
set center [measure center $sel weight none]
$sel moveby [vecscale -1.0 $center]
set minmax [measure minmax $sel -withradii]
set box [vecscale 1.1 [vecsub [lindex $minmax 1] [lindex $minmax 0]]]
pbc set $box
Once all these TCL commands execute without any errors, we can get the lammps data file using: -
topo writelammpsdata <lammps.data> full
[Note: we can change the atom type to something else like atomic depending on the system, but mostly for molecular systems, full will be the way to go]
This is just a skeletal data file with the relevant bonds, angles, and dihedrals. No parameters are currently in this datafile. Sadly, the grunt work starts here. On paper, we can use the moltemplate package to get all the parameters, but it has never worked reliably (at least for me) . The work around is to visit the relevant force field parameter page on the moltemplate GitHub. For instance, for GAFF go to, https://github.com/jewettaij/moltemplate/blob/master/moltemplate/force_fields/gaff.lt and extract all the parameters (LJ, bond, angle, dihedral) from there. Remember to benchmark your LJ parameters.
Here is what a finished file will look like
module load ms/lammps/3Mar20-mpi
author: Bryant Li
The GPU parallelized versions that works with KOKKOS
is still a work in process. Most of the time, there is a default module load lammps on each super computer. This is specifically designed for those we needs to compile LAMMPs with an external package.
Please refer to https://docs.lammps.org/Build_extras.html for what LAMMPs can accommodate.
Below is an example with PyACE:
Useful links:
https://docs.lammps.org/Build_extras.html#ml-pace https://github.com/ICAMS/lammps-user-pace/ https://pacemaker.readthedocs.io/en/latest/pacemaker/quickstart/#lammps Note: if doesn't work/not fast enough, try to speed it up with this: https://docs.nersc.gov/development/programming-models/kokkos/
After executing the last line in the command prompt, you will have an lmp
binary in the lammps/build. directory. You can set up a submit script like below:
Below is an example with pair_allegro. WARNING!!!! ONLY WORKS FOR CPU.
Prereqs:
Conda env setup:
Make lammps:
Module list at the time:
GPU Setup (THIS HASN'T WORKED FOR pair_allegro; due to a PyTorch error. You may have better luck if you use a different external code).
module list:
Prereqs:
Conda env setup:
Make lammps:
The group meeting schedule is available on the group's Google doc.
Gaussian is available on Savio. Anyone wanting to use Gaussian on Savio must sign Exhibit A. Print out two copies of the form and sign both (i.e. they should not be signed electronically). Then provide both physical copies to Alice. If you are remote, an e-mailed copy will suffice for the time being.
The information here is an overview of major points in our GSI and GSR contracts; it is not fully comprehensive but covers many aspects of the most common issues you might face in your workplace.
GSRs, GSIs, and post-docs are all eligible to join the union, UAW 4811, and are protected by union contracts. However, a contract is only ever as strong as our ability to enforce it---we must actively keep the University accountable to its workers by ensuring that, if and when our rights guaranteed by the contract are violated, we work together to protect each other.
If you are facing any challenges in your workplace, whether that be with your research lab or a class you are teaching or otherwise, know that you do not have to go through it alone. If you have any issues in your workplace or think your working rights are being violated, and you would like to discuss what options for recourse you might have, you can always contact a union representative at organize@uc-uaw.org or your MSE department stewards (Mackinzie Farnell and Yoshi Chiu at mackinzie_farnell@berkeley.edu and yoshi_chiu@berkeley.edu).
GSIs and GSRs have the right to timely, correct pay. If there are any issues with your pay, whether it is late or the incorrect amount, you have the right to receive your full paycheck, in addition to damages of $200 plus 25% of the paycheck amount.
For GSIs employed at 50% FTE, workload must be limited to 340 hours per semester. Additionally, during any given week, GSIs cannot be required to work more than 40 hours or more than 8 hours per day. The number of hours worked in excess of twenty (20) hours per week may not total more than 77 hours per semester. If you are expecting to exceed this workload maximum, you should communicate to your faculty supervisor prior to exceeding the maximums. Remedies to workload violations include increasing your appointment percentage (i.e., paying more) or modifying the work assignment to be commensurate with your appointment.
For GSRs, workload must be reasonable and related to the program's research needs, and commensurate to the appointment percentage. For GSRs employed at 50% FTE, this is 20 hours of work outside of your academic obligations. In MSE, GSRs are hired at 100% FTE during the summer--any work in excess of 40 hours per week is a definite workload violation. If you are working significantly more than 40 hours per week on research obligations, you are likely exceeding appropriate workloads for your position. Violations of workload are subject to an expedited grievance process.
In addition to holidays observed by the University, which you cannot be required to work on:
GSRs have up to 12 work days per year (1 per month) of personal time off
GSIs have up to 3 work days per semester of personal time off
GSIs and GSRs have up to 8 weeks of paid leave, which can be parental leave, for their own health, or to take care of health of a family member
GSIs and GSRs have up to 5 days of bereavement leave, due to death of a family member
If you are required to work on a University observed holiday, for example, to monitor a critical experiment, you have the right to take an alternative day off.
For GSIs and GSRs, you have the right to a workplace environment that is safe, respectful, and free of any harassment or abusive conduct. The types of abusive conduct which we are protected against is expansive--if you feel that you are being treated poorly, or are made uncomfortable or unsafe at work, you have the right to be protected. Remedies for violations of our right to a respectful work environment are equally expansive, and could include eliminating 1:1 meeetings, having a union representative present at all meetings, having third party reviews of recommendation letters, non-contact orders, facilitated placements into new labs, and more. Protecting yourself from abusive behavior will not jeopardize your academic career--please reach out to a union representative if you need help.
For any meetings in which a worker could reasonably expect disciplinary action, the worker has the right to have a union representative present with them during the meeting.
Workers have the right to safe working conditions, and the right to refuse working in unsafe working conditions. For example, labs and workspaces must have available and functioning safety equipment and have any maintenance issues be promptly addressed.
Workers have the right to secure appropriate accomodations that address their equitable access to work place. When appropriate accomodations are not yet in place, workers have the right to interim accomodations as they engage in an interactive process with the University to develop appropriate accomodations. Medical documentation is not needed to secure accomodations; the University may request that the worker make a good-faith attempt to secure documentation for a particular accomodation, and the documentation can be procured from any relevant medical provider.
Any GSI or GSR positions offered to you, informally or formally, verbal or in writing, must be kept available to you. Positions cannot be taken away from you--if you have a position taken away, you have the right to be employed in a commensurate position or for the wages in damages.
The central email for the GSI and GSR unions at Berkeley is organize@uc-uaw.org-- any issue, question or concern you might have could be sent there, and a fellow member of our union will get in touch with you to help address whatever you might be facing. In the MSE department, your union stewards are Mackinzie Farnell (mackinzie_farnell@berkeley.edu) and Yoshi Chiu (yoshi_chiu@berkeley.edu).
If there is an issue to be resolved, we can help file a grievance to remedy any issues and obligate the University to enforce the contract appropriately. The beginning of the grievance process is informal, and ideally, workplaces issues are addressed quickly at the informal stage. Should the informal stage not be sufficient to resolve a work place issue you might face, the grievance process proceeds more formally between the Union and the University. The grievance process is centered on the worker--any remedies suggested are designed specifically for the worker, to the extent that they seek a remedy, and to the extent to which they are comfortable filing a formal grievance. If you feel that your rights have been violated and are interested in pursuing the grievance process, reach out to a union representative; it could also be helpful for you to take personal notes and documentation concerning the rights violation.
This page describes how to set up fireworks and atomate.
This page is intended to help you get set-up the first time you are using fireworks and atomate so you can learn how these softwares work. This set-up is not ideal for most research applications. Please refer to Fireworks: Advanced Usage if you are looking for practical advice and tips on how to run calculations once you understand the basics of fireworks.
Note: These instructions are based on the original version of atomate. atomate2 is a rising code that is still in development. Generally these research codes are under continuous improvement, so if something isn't working here please ask! It is likely the documentation needs to be updated.
Create the conda environment:
Note: cms is an abbreviation for "computational materials science," but feel free to pick your own environment name!
Activate the environment and install the base libraries:
To install atomate2 on the environment, use one of the following:
(For Most People) If you are just using atomate and fireworks, with no plans to develop code/ workflows, use the following:
For developers:
Note: You will want to follow the steps in this section on both your local computer and the supercomputer where you will be running your calculations (e.g. making a fw_config folder in your home directory that contains the 3 files: FW_config.yaml, db.json, and my_launchpad.yaml) so you can easily interface with fireworks from both your local computer and the supercomputer.
Make directory in your home directory called fw_config:
Now create 3 files: FW_config.yaml, db.json, and my_launchpad.yaml with the following contents. Make sure you replace YOUR_USERNAME with your username; on NERSC you will also need to find your home folder, which is typically under another higher folder with the name of the FIRST LETTER of your username. Note: you can view your filesystem online. Also, consider setting up access to your NERSC filesystem locally on your computer: Check out "Mounting NERSC's file system locally" here:#running-jobs-on-nersc
Available queues, partitions, and qos descriptions can be found at the following links:
Note: specifying singleshot in the queue adapter will limit each reserved job to running only one firework (even if other fireworks are ready and could run with your remaining wall time). This can be changed to rapidfire but this may result in lost runs (fireworks that do not complete because they run out of wall time).
Append the following lines to the .bashrc or .bashrc.ext file, which is located in your home directory, e.g. /global/homes/s/sivonxay:
Note: the line alias cdconfig='cd ~/fw_config'
is optional but is recommended so you can more easily locate the directory with your configuration files stored by typing cdconfig into the command line.
Go to materialsproject.org and get an API key. Make sure you are using the environment setup above to run these commands in terminal with your cms python environment activated.
Running these commands will create a .pmgrc.yaml file (if it doesn’t exist already) containing these configuration settings in your home directory
The Materials Project Workshop has some great sessions introducing how to use fireworks and atomate. It might be helpful to watch the youtube recordings before trying out launching your own calculations!
2019 MP Workshop: Atomate Basics
2021 MP Workshop: Automating DFT
First, let's confirm that you have your fireworks configuration set-up correctly to point to the right MongoDB database for your launchpad. Check your default fireworks configuration file with echo.
Copy the file path printed out and check the contents of the specified FW_config.yaml file to find your FW_CONFIG_DIR
using cat.
You should see something like this printed out. Copy the file path specified by CONFIG_FILE_DIR
.
CONFIG_FILE_DIR: /HOME_DIRECTORY_PATH/fw_config
QUEUE_UPDATE_INTERVAL: 5
ECHO_TEST: "cms fw_config activated"
Print out the contents of the my_launchpad.yaml
file in your CONFIG_FILE_DIR
using cat.
If you do not see something that resembles your my_launchpad.yaml
file written earlier, there may be something wrong with your fireworks configuration that needs to be resolved before moving forward.
BE EXTREMELY CAREFUL WHEN RUNNING THIS RESET COMMAND. It will wipe all existing entries in your fireworks database in the fireworks, workflows, and launches collections. You must activate your python environment where fireworks is installed before running this command in terminal.
The following code blocks are python code that should be run in jupyter or via python from the terminal. Make sure you have the environment setup above activated. The computer running the code should have access to mongodb07.NERSC.gov; this can be disregarded when running directly on NERSC or when connected to to the LBNL intranet. For computers outside of LBNL, a VPN will need to be used.
Run the following python code in a jupyter notebook or by creating a file named make_workflow.py
and running the command python make_workflow.py
in terminal:
This adds a static energy calculation for Hexagonal Lu to your job database.
To check if this workflow has been added to your launch pad, run this command in terminal:
You can also check if this workflow has been added successfully by looking at your MongoDB fireworks
collection or the launchpad webgui.
Use qlaunch command to reserve jobs with SLURM’s scheduler. qlaunch has 3 modes: singleshot, rapidfire, and multi. Singleshot is used to launch one job, rapidfire is used to launch multiple jobs in quick succession, and multi creates one job with multiple fireworks runs. You’ll probably want to use rapidfire (where it is important to add the --nlaunches flag to specify how many fireworks to run). Here is example code for launching one job from the command line.
Note: Make sure you are in the directory you want your calculations to be run from before you run these commands, you may want to create a new folder for this. Do not run these commands from your home directory.
Status of running fireworks can be determined by using the command:
If a firework has failed or fizzled, you can rerun it by returning its state to ready to be launched again.
Many prefer to view their jobs in the web GUI using the following command on their local computer in terminal with your python environment activated. Note this requires having your FW_CONFIG_FILE
variable set-up to point correctly to your MongoDB database through the my_launchpad.yaml
file. Otherwise you must run this command in a folder contain your my_launchpad.yaml
file.
If you have not yet made a local copy your my_launchpad.yaml
file, you can download it.
Download and install Robo 3T from the following link
For security reasons, if you want to connect to the database, you will either:
Have to connect via the NERSC network, e.g. enter your details in the "SSH" tab and connect via a data transfer node such as dtn01.nersc.gov.
Have to connect via the LBL network, e.g. by being on-site or using the LBL VPN. In this case you will have to add -ext
to your database addressed, for example mongodb03-ext.nersc.gov
Special thanks to the original authors of this page: Eric Sivonxay, Julian Self, Ann Rutt, and Oxana Andriuc
This page builds upon the Fireworks + Atomate Setup page to provide practical tips and advice for more advanced use cases which may be helpful once your start running a larger number of calculations.
Note: atomate2 is a rising code that is still in development. Generally these research codes are under continuous improvement, so if something isn't working here please ask! It is likely the documentation needs to be updated.
For more information on best practices for running VASP on multiple nodes (i.e. how to set vasp_cmd in my_fworker.yaml based on the number of nodes requested in my_qadapter) see the NERSC vasp training.
Follow this flowchart to decide how many nodes to request, the number of parallel processes to use, and the number of cores to use for each parallel process. The rule of thumb to remember is that you should use all of the cores for every node that you request. For example, if there are 256 cores per node, you request N nodes, n processes, and c cores/process, then the following relationship must hold:
Specify in my_qadapter.yaml and specify and in my_fworker.yaml within your configuration folder.
In research you may need the ability to run different types of calculations where you will want to easily switch between various set-ups. This section builds upon the previous content to extend it for setting-up running fireworks with multiple configurations.
For demonstrations purposes, here we will illustrate how to set-up two fireworks configurations for switching between running calculations with 1 node vs. 4 nodes. We will make a few other assumptions based on common best practices:
You have applied tags ("1N"
or "4N"
) to specify which fireworks should be run with the 1N vs. 4N firework configuration
You have created separate python environments (cms_1N
and cms_4N
) for running each type of calculation
These basic steps can be adapted for making many more different custom fireworks configurations for every type of calculation you need!
Based on the Getting Started Fireworks Configuration section you should have a directory for your fireworks configuration files named fw_config
in your home directory.
The db.json
file in your fw_config
directory set-up in the previous section can be used as is assuming you want all your results to be saved in the same database for your various fireworks configurations.
We will need to create a directory for each firework configuration with the specific files that will outline the settings for that configuration (e.g. FW_config.yaml
, my_fworker.yaml
, my_launchpad.yaml
, my_qadapter.yaml
). We will have a directory named 1N
for the single node configuration and another directory named 4N
for the four node configuration. So the fw_config
directory in your home directory should contain the following:
db.json (file)
1N (directory)
4N (directory)
Now within the 1N
and 4N
directories you will need to create the following firework configuration files with the specific settings you want for each fireworks configuration. Note given the variations between different supercomputers, specifics such as file paths, VASP commands, etc. have been omitted here and the format for NERSC has been used. If needed, see the Getting Started Fireworks Configuration section for examples of appropriate firework configuration files (FW_config.yaml
, my_fworker.yaml
, my_launchpad.yaml
, my_qadapter.yaml
) for each specific supercomputer system.
Now that you have your firework configuration files set-up, we need the ability to specify which firework configuration we want to use upon launching queue jobs. This is done based on the value of the bash environment variable FW_CONFIG_FILE
. You can print out what is the value of this variable by typing the following command...
echo $FW_CONFIG_FILE
Note that in the Getting Started Fireworks Configuration instructions, you were instructed to modify your .bashrc or .bashrc.ext file located in your home directory to automatically activate a fireworks configuration by default. Here you should modify that file so you can type a command to activate a specific fireworks configuration such as 1N_fw_config
or 4N_fw_config
by adding the following lines:
Now you should be ready to use either firework configuration to launch jobs into the supercomputer queue! Here are some examples of what you might do...
We recommend using a tmux or screen when submitting jobs to preserve queue submission when the main ssh session is terminated. This allows one to keep the queue saturated with jobs. For example, for tmux:
To exit the tmux session, press the “control” and “b” keys together, followed by “d”.
To re-enter the tmux session:
For more tmux commands, see the tmux cheatsheet.
Use qlaunch command to reserve jobs with SLURM’s scheduler. Qlaunch has 3 modes; singleshot, rapidfire, and multi. You will want to use rapidfire. Some useful flags to set are:
-m
to specify maximum # of jobs in queue at any given time
--nlaunches
to specify how many fireworks to run.
When you are running many fireworks in rapidfire mode, jobs may hang and not complete. This is referred to as "lost runs" in fireworks. To check for lost runs, use the command:
To rerun these jobs, add the --rerun flag to the command.
You can easily reset all fizzled fireworks back to the ready state to be run again with this command in terminal.
When you are running many fireworks, sometimes a calculation that fizzled the first time will successfully complete if you just rerun it. You can check the error message for why a firework fizzled through the MongoDB launches
collection through the following path in the document:
action -> stored_data -> _exception -> _stacktrace
Checking the error can help you decided whether simply rerunning the firework may work.
If you have hundreds or thousands of calculations to run, you may be interested in "job packing" to take advantage of the big job discount offered by NERSC or improve your queue wait times by reducing the number of jobs you submit to slurm (e.g. 1x 1024 node job will be scheduled faster than 1024x single node jobs). The group has python scripts that will automatically distribute running fireworks when multiple nodes are requested for a job. Consult Jason Munro for access to these github job packing scripts and an introduction if you are interested in setting up job packing for running calculations.
Info about 1) mentoring, 2) big group meeting, 3) subgroups, and 4) group time.
Individual meetings with Kristin are the best venue for seeking detailed feedback on your projects and giving updates. To set-up a meeting with Kristin, email Shannon Dowling (srdowling@lbl.gov) with when you want to meet and your preferred meeting format (Zoom, B33-143D, Molecular Foundry, 67-3115A, or on campus in HMMB 384). You can either include you availability (via your LBL calendar is one option) or Shannon will respond with available times. If you are meeting in person, the location will often be specified in the calendar event.
It is up to individual group members to schedule these meetings as often as needed. First and second year students are particularly encouraged to schedule regular meetings with Kristin. You should be able to get a meeting as long as you schedule it at least 1 week in advance. If you are having trouble getting a meeting within that timeframe, email Kristin and Suksham (temp).
Mentoring in the Persson group goes many directions (Kristin ↔︎ students, staff ↔︎ postdocs, students ↔︎ staff, students ↔︎ students etc.) and you are encouraged to cultivate collaborative and mentoring relationships with colleagues throughout the group. Mentoring and supporting one another is a core part of our responsibilities as group members.
Mentoring is not hierarchical. More senior colleagues can be valuable sources of feedback and advice, but you are not obligated to listen to them! Ultimate decision making rests with Kristin, other feedback is advisory only.
Everyone in the group should feel that they have at least two other group members (in addition to Kristin) they can talk to about their work. If you do not feel this way, please contact Kristin, or any postdoc or staff member. In addition, if you feel like you are not getting mentorship you need for a specific aspect of your project within the group, let us know and we can help you find someone to talk with, whether inside or outside the group.
Big group meeting and subgroup meetings are designed to provide other avenues for feedback and to foster mentoring and collaboration at all levels of the Persson group.
Big group presentations are an opportunity for one group member (student, postdoc, or staff) to give a longer, seminar-style presentation and for other group members to see what colleagues they may not interact with frequently are working on.
All group members are expected to attend the big group meeting. If you have a conflict, please do your best to let Kristin know in advance via email.
Big group meetings typically occur every other week and Kristin always attends.
The group meeting organizer will designate a group member to present at each meeting on a rotating . Given the size of our group, each person can expect to present at big group meeting about once every one to two years.
At the beginning or the end of each meeting, we will have 5-10 minutes for announcements and informal discussion on important topics relevant to the group (e.g., computing hours).
The primary purpose of subgroups is to provide a forum for discussing best practices and problem-solving with your peers.
Members are not expected to make formal presentations at subgroup meetings, but are expected to periodically share what they are working on (including what they may be stuck on or struggling with) and ask questions of their peers.
Subgroup members that want to speak at a meeting are encouraged to contact their subgroup organizer about 3 days in advance of the meeting to claim time on the agenda.
Subgroup organizers are encouraged to send email reminders containing a brief agenda or list of speakers 1-2 days in advance of the meeting. The subgroup organizer is also responsible for moderating the meeting to make sure everyone who asked to speak gets time to do so.
Members are expected to make an effort to listen, ask questions, and provide feedback to their peers, even if their peers’ projects are not directly related to their work. Learning to communicate across gaps in one’s own knowledge is an important skill!
All group members are expected to regularly attend at least one research subgroup meeting every 2 weeks. You may drop in and out of different subgroups on different weeks as you see fit, as long as you are meeting attendance criteria.
Every subgroup will be attended by at least two postdocs or staff members.
Kristin’s attendance is not mandatory, but will typically be indicated ahead of time by calendar invite.
As long as working remotely is the norm, subgroup meetings should include ~15 min of unstructured social time at the start or end as a way of maintaining our sense of community and fighting isolation.
If subgroups get too large (regularly attended by more than ~8-10 people), they will be split into smaller subgroups.
Research subgroups are organized by theme according to different methods (see below)
Periodic Bulk DFT (i.e., VASP): Jianli Cheng
Nanostructure DFT (i.e., 2D/1D/0D materials, inorganic clusters, surfaces, defects): Ruoxi Yang
Molecular DFT (i.e., Gaussian/QChem): Evan Spotte-Smith
MD and Electrolytes: Orion Cohen
Machine Learning: John Dagdelen
Interfaces: Evan Spotte-Smith
DFT for Diffusion: Qian Chen
Wellness (#5, #1)
Diversity, Equity, & Inclusion (#1, #2, #3, #6, #9)
Learning & Help (#4, #7, #9)
Science Best Practices (#1, #6, #8, #9, #10)
During the summer, Group Time is dedicated to supporting various group roles and other functions that help the group run smoothly (e.g. hackathon to update the group handbook, preparing for the MP workshop, revisiting and reflecting on the group agreements, etc.)
Every group member is expected to contribute to planning (at least) one Group Time session approximately once a year. When the Group Time Coordinators plan the schedule, each session is assigned one of the four themes and at least one lead organizer. Organizers can work individually or in small groups of 2-3. Organizers are then responsible for selecting a specific topic within their assigned theme for their session.
Here are some examples of possible Group Time activities that reinforce our group values.
Non-work related socializing builds community and role models taking breaks to enhance individual wellness (#5)
Learning about diversity, equity, and inclusion topics provides exposure to perspectives different than our own to cultivate a open worldview (#2)
Coding power hours create a welcoming environment to ask for help and space for learning together (#4, #7)
Sharing papers and articles that may not come up in our regular research interactions offers is a way to explore the context in which we perform our work (#9)
Grad school can be difficult. We are a community: all members of the group share many common experiences, and we can help each other. If you need help, please ask! You can ask your peers, your advisor, or your mentors.
If you want help finding additional academic mentorship please ask.
For issues that need professional help, the UC has many resources available including . Many members of the group have used these or similar resources.
UC Berkeley has hundreds of student groups, many of which are open to LBL employees/postdocs too:
Berkeley Energy and Resources Collaborative (BERC)
Berkeley Science Policy Group (SPG)
Cal Hiking and Outdoors Group (CHAOS)
Berkeley Art Studio
Cal Aquatics / Cal Sailing Club
UC Jazz Ensembles
UC Martial Arts Program
[WIP] Collection of professional development opportunities for group members in the field of sustainable materials science and beyond. This is meant to be a living document, please add to it!
We have an internal collection of on our group Google Drive, with the following topics:
UCB Courses
Conferences/workshops
Science outreach & communication
Berkeley organizations
Fellowships/scholarships/awards
Textbooks
Steve Whitesides - "" [article]
Meny Elimelech - "" [presentation]
[book]
[book]
[book] and handouts availabe at the link - Authored by the consultant who conducts presentation training for the LBNL SLAM
Berkeley Lab K-12
BASIS, CRS
Be a Scientist, CRS
UC Berkeley "Grad Slam" Competition
LBNL Postdoc Slam Competition
Exploring your Universe Symposium
Cycle for Science
National Science Policy Network (NSPN)
Skype a Scientist
Materials Research Society (MRS): Fall and Spring meetings, smaller conferences too
The Minerals, Metals & Materials Society (TMS)
European Materials Research Society (e-MRS): Fall and Spring Meetings
Electrochemical society (ECS)
American chemical society (ACS)
American Physical Society (APS)
IEEE Photovoltaics Specialists Conference (PVSC)
Gordon Research Conferences
There are so many short courses, summer schools and workshops out there! We recommend just googling "summer school" and the topic you are interested in. Here is a collection of some courses or workshops that group members have attended:
These are 1-unit courses you can take for pass/no-pass or just audit for fun!
NSF Graduate research fellowship (NSF GRFP), 3 years of funding, can apply before or in beginning of PhD
NDSEG, 3 years of funding, can apply before or in beginning of PhD
n.b. do NOT submit application until ALL letters of rec are in
ThinkSwiss Research Scholarship
Kavli Philomathia fellowship (Nanoscience), 1 year of funding and research stipend, can apply in 3rd year and later during PhD
This page contains information regarding group members' research interests and expertise. This can include what one works on, which packages/techniques one is familiar with, etc.
The following table shows group members' expertise. Please consult this table if you need help/mentoring on a specifc topic or package, or if you just would like to know what everyone's working on.
Name | Research Topics | Expertise | Notes |
---|
Although a lot of computing tasks can only be performed after setting up your workstation, there are available online resources and tutorials which can enable you to get used to the different tools and software architectures used within the group.
One valuable resource is the recorded MP workshops from previous years which are available on YouTube :-
Additionally links to the detailed documentation of multiple relevant topics are provided below:
- Additional webinars on
Resources for the group at our LBL office in B33.
The group owns two printers: 1) HP LaserJet Pro 500 Color MFP M570dn, and 2) Canon MF731C. Both printers are located in or outside of 33-143C. They support color printing, two-sided printing, and scanning. We recommend using the HP printer when possible (with option to use the Canon as backup).
First, ensure you are connected to the lbnl_employee wireless network.
On your laptop, navigate to your printer settings. On MacOS, this should be called Printers & Scanners.
You should be able to add the printer by clicking on the + button on the bottom left. This will then open up a popup window. Click the globe, and type in the printer's DHCP address with HP JETDIRECT -SOCKET selected. The most up-to-date IP address is posted on a sticky note on the printer.
This should automatically select the correct driver. See image below to ensure you have input the correct settings. Finally, click "Add". If no errors arise, you should be good to go!
Once connected, you should now be able to view various stats about the printer. For example, you can view toner supply levels by clicking on the settings icon from within the specific printer:
Common issues and fixes
Make sure you are connected to lbnl-employee wifi
If the printer screen is stuck on "Initializing", restart the printer and press the BOTTOM LEFT quadrant of the screen as the printer boots up until you see "Permanent Storage Init." Then release your finger and wait until the Language Selection Menu. Then continue to set up the printer and wait for it to finish calibration (~5-10 min) .
Ordering replacement toner:
Whoever is assigned to the Printer Support group job should monitor toner levels and order new toner cartridges as needed using the appropriate project ID (talk to a project manager first before ordering).
The cartridges used by the printer are the following HP 507A cartridges. You may be able to acquire refurbished toner cartridges instead of new ones.
The group has access to a Canon MF731C printer, which was primarily used before the HP printer was purchased.
To install the printer, please use the address Canone79de6.dhcp.lbl.gov with the driver installed. The printer type is Canon MFC731C (AKA MFC733C). It can print two sided (duplex) as well as color.
Note: you may need to install a driver for you computer from here first:
As this printer is not frequently used, it may require some reconfiguration -- please contact the Printer Support person for assistance.
The group has several leftover cables, monitors, and more. If you grab something from here (or want to donate something, please add it to the list)
Creative USB Webcam VFO780
Power cable (3-prong)
Power cable (2-prong)
Power cable (AUSTRALIAN, 3-prong)
MiniDisplayPort to MiniDisplayPort
2x MiniDisplayPort to DisplayPort
2x DisplayPort to DisplayPort
2x USB-A to USB-C
2x USB-B (?) to USB-A
MiniHDMI to HDMI
USB-A to Micro-B 3 (SUPER-SPEED)
USB-A USB-B 3.0
USB-A to Micro-USB
DVI to DVI
NetGear ProSafe 8 Port Gigabit Switch (Model GS108)
Aux audio cable (1/8th inch)
Logitech wifi receiver for mouse (USB-A)
If you would like to mentor an undergraduate student and have a research project in mind, please follow the steps outlined in this found on the Persson Group Google Drive. There is also an FAQ that should answer any questions you have about the process.
Please be sure to refer to the information below if you are currently mentoring an undergraduate student or if their appointment will be ending soon:
If your UGR is loaning a laptop, please let the undergraduate coordinator and Sonia know the UGR’s name, email address, and DOE tag number found on the sticker below the keyboard.
Please make sure that the UGR is filling out their time cards! They should also be within the hours/week requested when applying for the UGR project to ensure that Sonia’s funding use projections are on track.
Toward the end of each semester, the undergraduate coordinator will reach out to confirm if your UGR appointment is ending or should be extended. Please reply promptly to prevent any administrative and research pay delays!
If your UGR is ending their appointment, please be sure to do the following:
Return loaner laptops or any other devices. This is very important because these have Department of Energy tags and must be returned
If the UGR has an account on a supercomputer (ie: Lawrencium, NERSC, Savio, Peregrine):
Make sure all data is backed up. We do not want to lose any important data!
Request user accounts to be deleted if they will no longer be an active user. Otherwise, Kristin will continue to pay for account recharges that are not being used.
If you have any questions, please contact the undergraduate coordinator (Jiyoon Kim - jiyoonkim@lbl.gov).
Job |
---|
All discussion within and outside subgroups should adhere to the standards of conduct in the .
Subgroup meetings occur bi-weekly and will be posted on the along with the big group meeting. To subscribe to the perssongroup calendar, access the aforementioned link (make sure to be logged in using your LBL account) and click the "+" button in the bottom right-hand corner. If it doesn't automatically add to your calendar, temporarily sign out of any other Google accounts in your browser.
The group holds an optional (although attendance is encouraged!) "Group Time" meeting where we discuss non-research matters that are of value for our group culture. The purpose of Group Time is to help group members bring the into their daily work and reflect upon the agreements on a regular basis. For convenience, Group Time is scheduled to take place on the same day as group meeting.
During the fall and spring, Group Time meetings rotate through various topics that relate to the following themes which have been selected based on our .
Group Time meetings are scheduled in a similar manner to group meeting where there is a of organizers/presenters assigned by the Group Time Coordinators which can be found in the Group Time google drive folder.
If you have an idea for a future Group Time topic, we invite you to share it ! This is a living document of ideas for brainstorming Group Time topics for organizers to reference.
- 3 minute thesis-style science communication competition for LBNL postdocs
- 3 minute thesis-style science communication competition for grad students
Here are some annual conferences group members have attended. See page for info on how to apply and get reimbursed for conferences.
Workshop | Info | Group member(s) who have gone |
---|
Examples of successful and unsuccessful fellowships are in the . Add your own to help future students!
If you run into any issues, please contact whoever currently is assigned to the Printer Support group job role (see ).
Group Jobs Manager: Assign all group jobs, create/remove/transfer jobs as needed, manage job transitions between new group members and alumni
Open
Desk Manager: Assign desk spaces at LBL and on campus
Bryant Li
Onboarding Guide (Grads): Assist new graduate students in getting started at LBL; create & manage onboarding resources and welcome events
Mackinzie Farnell
Onboarding Guide (Postdocs/Staff): Assist new postdocs/staff in getting started at LBL, create & manage onboarding resources and welcome events, add new members to Google Group
Théo Jaffrelot Inizan
Postdoc HR: Coordinate interview process for new postdocs, programming challenge evaluation
Max Gallant
Seminar Scheduler: Maintain schedule for "big" group meetings; schedule additional talks/seminars that may benefit the group
Aaron Kaplan
Undergraduate Coordinator: Facilitate connection between undergraduates and available projects within the group
Jiyoon Kim
Job
Name(s)
Group Librarian: Manage group handbook, Google Drive, and educational resources
Jingyang Wang
Group Supplier: Maintain group printer and regular resupply toner; manage Slack Pro subscription for PerssonHuddle workspace
Hongqian Zheng, Wayne Zhao
Group Webmaster: Update the Persson Group public website
Vir Karan
MP Docs Manager: Schedule MP Docs hackathons and coordinate MP presence on Wikipedia
Ruoxi Yang
MP Swag Coordinator: Coordinate the design and ordering of MP swag, including t-shirts, mugs, etc.
Prathami Kamath
Production Gatekeeper: Assist with production jobs and group data management
Patrick Huck
Publications Manager: Assist HR in compiling publications for reports
Jingyang Wang
Tech Maven: Assist in setup of audio/video for Group Meeting (particularly in conference room 33-106); manage Google group (email list)
Théo Jaffrelot Inizan
Workstation Manager: Assist Kristin in managing the workstation inventory allotted from MSD and ETA. Keep track of laptops (LBL/Berkeley) and large assets with a DOE tag
Solomon Oyakhire
Group historian: schedule biannual group photo, emails for birthdays
Mona Abdelgaid
Job
Name(s)
Builder Guru: Manage database builders (Emmet); train new people in builders
Tyler Mathis and Karlo Berket
MD Wizard: Assist with setup and running of molecular dynamics simulations
Nessa and Rohith
ML Accelerator: Assist with setup on GPU nodes and running of machine learning workflows
Bryant Li (looking for accelerator in training!)
NERSC Resource Manager: Distribute computing time, monitor/plan group usage, submit annual proposals for compute time, and manage user access to the jcesr/matgen project directories and resources
Rohith Srinivaas Mohanakrishnan and Howard Li
NREL Point of Contact: Monitor computing time, write NREL HPC proposals, and interface with NREL staff
Nessa Majaya (silimorphous and drxkp) and Bryant Li (bmrkp)
Savio/Lawrencium Support: Manage accounts, assist users with job/system setup
Bryant Li
Job
Name(s)
Group Chef: Provide food/snacks for the group; work with other chefs to cover food for 1) group meetings, 2) group time, 3) communal snacks/coffee
Bryant Li, Wayne Zhao (looking for sous-chefs!)
Kavli Representative: Attend Kavli ENSI meetings once per month, prepare materials for distribution/presentation at Kavli events, facilitate collaborations between Kavli member groups, assist students in applying to Kavli awards and fellowships
Roberta Pascazio
Social Chairs: Plan major group outings & retreat
Max Gallant, Wayne Zhao, Nagappan Nataraja Chockalingam
Social Media Manager: Manage the group's social media account on Twitter and assist in outreach
Aaron Kaplan
Alumni Relations Officer: create and administer exit surveys to departing group members, maintain contact information for alumni, manage alumni social network group (e.g., LinkedIn), and invite alumni to give talks
Matsci.org Moderator: Ensure timely response to questions on the Matsci.org forums (e.g.,
Jingyang W. |
Aaron K. |
Jiyoon K. | Multivalent-ion cathodes & solid-state diffusion | VASP, AIMD, NEB, ApproxNEB |
Howard L. | LIB cathodes diffusion | VASP, pymatgen-diffusion, NEB, ApproxNEB, InsertionElectrode |
Max G. |
Bryant L. | Solid State Batteries, Solid State Electrolytes + Li Metal Anode, Solid State Interphase, Machine Learning Interatomic Potentials | VASP, AIMD, Interface DFT, MPMorph, PyACE, LAMMPs |
Mackinzie F. | Metal oxide passivation films (zirconium + aluminum oxide) | atomate2 defects workflow + pymatgen-analysis-defects |
Wayne Z. |
Nessa M. |
Patrick H. |
Ruoxi Y. |
Tyler M. |
Rohith S.M. |
Vir K. | Solid state synthesis, high temperature diffusion | VASP, AIMD, PyACE |
Prathami K. |
Theo J. I. |
Hongqian Z. |
Solomon O. |
Roberta P. |
Galio G. |
Nagappan N. C. |
Oliver H. | SEI for Li Ion Battery Anodes (CRN, QChem DFT, some ML) |
Mona A. |
Resources and requirements specific to graduate students taking research credit courses.
Graduate students are required to enroll in 12 units of classes each semester. Make sure to set this up no later than two weeks into the semester.
You must take often take one unit of the 298 course (with Kristin Persson) and typically 7 or more units of the 299 research credit course (also with Kristin Persson). You are welcome to take more units to meet the minimum number of units to be a full-time student (12 units).
Kristin has prepared a syllabus for 298/299. Note that you will be required to submit a research report each semester according to the syllabus guidelines. You can view more details about on our Google Drive (this link).
Past graduate students have compiled a list of course recommendations based on classes they have taken. It can be a helpful resource as you decide what classes to take and get ideas for courses you may have not otherwise considered!
If you've taken a class you've enjoyed, we highly recommend contributing to the spreadsheet.
This page describes the process for taking the Berkeley MSE department's Qualifying Exam (QE) for the PhD program, which is a ~3hr oral presentation and Q&A on your dissertation topic.
Before starting the logistical steps of arranging for your QE, it is best to begin by consulting Kristin. Whether over the course of one or several meetings, you will want to have settled on your thesis project, discussed the state of your current work, and reviewed the plan for your proposed future work intended to complete your thesis. You may also want to to solicit feedback on suitable committee members and topics for your exam. Most MSE students plan to take their QE in their 2nd, 3rd (most common), or 4th year but the timing largely depends on when you feel "ready."
Below is a sample timeline for when you are ready to commit to a QE date and start the logistical scheduling phase. Note this timeline allows for amble preparation and can be condensed if needed. However, you will be doing yourself a favor by avoiding unnecessary stress if you avoid working under a compressed timeline by planning ahead!
5 months before: Read about the QE requirements in the MSE Graduate Student Manual. Email individual potential committee members asking if they are willing to serve for your QE and for their availability for scheduling.
4 months before: Confirm your scheduled exam date with your finalized committee. Fill out the "White Card" form and send it to your Major Field Advisor and the MSE ACC chair for approval. Complete the Higher Degree Committees eForm on Cal Central. Email Ariana your signed White Card and QE date & time. She will also make a room reservation for HMMB 314 and help submit your Cal Central eForm correctly.
3 months before: Meet with each of your committee members to introduce yourself, explain your research, and ask for their individual feedback and thoughts on your research. These meetings are typically 30 minutes long and you will want to prepare a short presentation (~15 mins long) describing your work.
2 months before: Work on first drafts of your QE presentation (~30 mins long) and written proposal (5-10 pages long). Start studying. Make a plan for scheduling your practice qualifying exams and collect the emails of who you intend to invite to participate.
4 weeks before: Start having practice qualifying exams (somewhere in the range of 2-5 is common). It can be helpful to have a few days to make revisions, follow-up on questions, and reflect on feedback after each practice QE.
2-3 weeks before: Email your committee your final written proposal and a reminder about your upcoming exam.
Ariana emails out a blank copy of the White Card form along with important academic deadlines each semester. You will need to specify your committee members and completed/planned courses on the form. In the past there have been reports of difficulties with getting minors approved so you may want to consider emailing your Major Field Advisor and the MSE ACC Chair much earlier to document approval of your minors after you have decided what classes you want to take.
Your White Card form must be approved by the Major Field Advisor and MSE ACC Chair. Send Ariana a copy of your approved form for your student records.
You get to set the 3 topics for your QE that must be approved by your committee chair. You want to select topics that are clearly related to your research and also represent knowledge areas that you find helpful to study to further your work. It can be challenging coming up with topics that have the right balance of specificity.
Too specific topic example: Magnesium intercalation cathodes
Too broad topic example: Batteries
Good topic example: Intercalation electrodes
Complete the Higher Degree Committees Form on CalCentral at least 2 weeks before your scheduled exam date. Reach out to Ariana with any questions. She will also help ensure that you are submitting this form correctly.
The MSE Graduate Student Manual contains the official requirements for the composition of your qualifying exam committee. Your committee must have 4 members. 2 members must come from MSE. 1 member must come from outside MSE. You may have 1 committee member who is not a UC Berkeley professor (e.g. a LBNL staff scientist).
Generally you want to select committee members who will be able to give your helpful feedback on your research. The QE is a great opportunity to have the undivided attention of and feedback from experts in certain topics! In addition to research expertise, another common consideration is who will be a respectful examiner that you will enjoy interacting with.
Start by emailing the professor you would like to chair the committee for your QE. Your message should contain a title or brief overview of your research area (if they are unfamiliar with your work), 3 proposed QE topics, and the timeframe in which your hope to hold your QE. Your committee chair may have feedback to help improve/refine your exam topics to consider before finalizing them.
Professors vary in email responsiveness and how they handle scheduling (for example, some professors have administrative staff to help manage their calendar). It can be helpful to ask around to find out the best way to approach a specific professor.
One strategy for scheduling is to start with your committee member with the worst availability. If you request 3 hour windows of availability in a 4-6 week period, there may only be a handful of options for a busy professor. If you use this as a starting point, you can request for these time periods to be held while you check for the availability of all your committee members. If in the end you wind up with multiple options, that's great! While uncommon, keep in mind that it can be helpful to have a back-up date in case rescheduling becomes necessary.
Note that scheduling can be the biggest logistical challenge for the QE. If your priority is having certain committee members, it helps to plan far in advance (3-4+ months) to ensure you can find a time when everyone is available. If your priority is having your exam in a certain timeframe, you may need to compromise on who serves on your committee due to availability restrictions.
Read the Graduate Student Manual for its recommendations on the written proposal. The recommended length is 5-10 pages and your proposal should include citations. The written proposal may not be reviewed very thoroughly by your committee but the process of creating it can be helpful for you in preparing for your exam. Overall spend the time putting it together that is helpful for you but do not stress about obtaining publication quality work. Examples of QE materials from group members who have previously passed are available in the Persson Group google drive.
Your QE presentation should take about 30 minutes uninterrupted. Some common sections for your QE presentation are background, the research you have completed so far, your research goals, and your proposed future work. Examples of QE materials from group members who have previously passed are available in the Persson Group google drive.
Effectively studying can be a challenge in preparing for the exam. Common approaches are reviewing textbooks, relevant literature (particularly anything you are citing in your materials), code documentation, informative reviews, or notes from classes. Questions from your practice quals can also be very helpful for providing direction on what topics you need to brush up on. Overall remember to stay focused on materials that are relevant to your research and QE topics. This is a good opportunity to review fundamentals or clear up confusions you haven't been able to resolve previously that will help you feel like an expert in your research area.
The exam is scheduled for a 3 hour period but typically it will take less than 2 hours. The QE will start by your committee chair asking you to briefly introduce yourself. After your introduction, the committee will privately meet to prepare before starting your presentation. You will then be invited to give your presentation and your committee will ask you questions throughout. Interruptions may be requesting clarifications, asking questions about your research, comments offering feedback, or questions intended to test your on your topic areas. At the end of your presentation there may be an additional questioning period to ensure the committee has all the information needed for their deliberation. Once satisfied, the committee will meet privately to decide whether or not you pass so you should expect to wait alone 5-10+ minutes alone. After their deliberation is complete, your chair will announce the results of your exam and share any feedback from the committee.
The QE is a big milestone during graduate school! It can be nice to have a plan to treat yourself or meet with friends after completing it. Regardless of outcome, you put in significant work to prepare for your QE so some rest and relaxation afterwards is well deserved!
You will be notified by your committee Chair at the conclusion of your exam if you have passed the QE. If you passed -- congratulations!!! Make sure to submit the Higher Degree Committees Advancement to Candidacy form. You will have to specify 3 members of your new dissertation committee. According to the MSE department (as written by Ariana Castro):
"The form asks you to propose your dissertation committee. Please consult with your advisor to obtain nominees for your dissertation committee. This committee consists of the research supervisor, a second MSE faculty member (normally one of your research guidance committee members), and one member from outside MSE (ASR). All must be members of the Berkeley Academic Senate. You can change your committee members later if needed. If you are ready to advance to candidacy, please submit the form online, a $90 charge will be reflected in your CalCentral account."
If you did not pass your exam, you will be provided with some feedback and will be asked to reattempt the exam. Do not fret; with some further preparation, you will get it this time!
Materials Project Workshop | Hosted by us, end of summer |
This week-long school oscillates between CalTech and Sicily every year. | Rachel –– I went to it in Sicily in 2018. It was delightful and I got class credit! They offer scholarships too |
American Vacuum Society (AVS) Sputtering Short Course | Three day long course on sputter deposition for materials synthesis. | Rachel –– attended in 2017 |
SSRL School on Synchrotron X-Ray Scattering Techniques | Rachel –– attended in 2015(?) |
A guide to getting to the PhinisheD line in the Persson group! Remember that everyone's academic and research path is unique and there are no set timelines for finishing a PhD.
Disclaimer: The initial version of this document was written by Rachel WR, and has a bias of my own experience in AS&T/MSE. Therefore this may contain misinformation for folks in other departments or with other experiences, so please change/update this if that is the case! Also, always defer to Kristin if you have any specific questions about your requirements in the group.
This is a decision that you should come to in agreement with your advisor, with the department, and in alignment with your own goals. It’s helpful to check in with Kristin about your graduation timeline up to a year before you are planning to be done. Things to consider:
Have you met the graduation requirements of your department? (courses, teaching, etc)
Have you met the graduation requirements from Kristin? (note: set up a meeting with Kristin to be clear on what these are)
Do you feel like you've met your goals for grad school and are ready to move on?
Are you ready to write up your dissertation?
Note: UC Berkeley notoriously does not require a thesis defense as a graduation requirement!
In MSE and AS&T there are few rules about what a dissertation should look like, so much of the content and structure of your dissertation is up to you. To graduate with a doctorate in the Persson group, your thesis must include at least 2 first-authored papers (or papers in progress), but what else to include is rather arbitrary. In Berkeley MSE, theses have ranged from ~60 pages to >400 pages, each of which results in a PhD degree (fun fact: the longest PhD thesis was 2,200 pages, on the development of sailing ⛵️). Therefore, much of the thesis is personal and is based around what you want out of it.
To just let me gtfo asap?
To write something I can be proud of?
To serve as a testament to what I’ve done in grad school?
If aiming for an academic career, it may be useful to have more than 2 first-authored papers and a more in-depth lit-review
If you want to get out asap, a thesis with an intro + 2 first authored papers + conclusion is fine!
“Staple papers together” method
Already have papers (published or ready to submit)
Write a quick intro and conclusion and call it a day
Include unpublished work
You can include work that is not ready for publication yet, but rather is a draft.
If you are not planning to publish this work, a thesis may be a good place for it to live so that it can see the light of day. If you are planning to publish this work at some point, you’ll want to embargo your thesis.
If you don't embargo your thesis and then publish that same work in a journal it will be considered “plagiarism” (see below)
Include extra stuff (see Content to Include)
Depending on your intentions and a conversation with Kristin, you can come up with an outline/draft of what content will go into your thesis.
(not a requirement, but can be helpful)
Note: There are many different approaches to writing an outline. One method that has worked well for me to develop a narrative is called the ABT method (and, but, therefore). Here are some resources for anybody interested:
Excerpt from my thesis outline using the ABT method
Randy Olson's TED talk on the ABT method
The famous Watson and Crick DNA paper that's a classic ABT story
Schedule a meeting to set up a plan with Kristin and go over your outline
Optional: you can go over your outline with your committee if that's useful for you, but this is not a requirement
Required content to include (see link for more info on UC Berkeley guidelines)
Abstract
Table of contents
Introduction
At least two chapters of research content
Conclusion
Possible extra stuff to include –– this is your chance to write anything!
Literature review
Methods chapter
Acknowledgments
Appendices with details
Analysis of CO2 impact of a PhD
Discussion of outreach or extracurricular activities during PhD
“Lessons learned” or reflections/commentary on your work and the scientific process
Unpublished work and/or less successful projects (e.g. I included “failures” from my research that I wouldn’t publish anywhere but that I thought would be useful for the materials discovery community)
Code or Applications that you developed in your time here
Fun add-ons, e.g. art or poems about your work (seriously, you can do anything!
Or nothing! (really, it's up to you)
Formatting and faff
A lot of the formatting is up to you, but the Grad Division's website contains formatting guidelines you have to follow in your thesis. I will not repeat these here, but here are some useful tips for formatting.
Here is a link to a LaTeX template for the thesis that contains almost all the formatting requirements https://www.overleaf.com/latex/templates/uc-berkeley-thesis-template/mfzmtxfqvtxx
There are some changes you need to make to this template:
1) The word "by" on the title page needs to be capitalized to "By"
2) When you write your department, if it is in the college of engineering, it needs to be preceded by "Engineering - ". For example instead of "Materials Science and Engineering" you should write "Engineering - Materials Science and Engineering".
3) You may find that some parts of your thesis don't obey the the 1 inch margins. If they don't, the thesis folks will email you telling you to fix them. Here are some margin tips:
Make sure you make you set your figures less than or equal to 6.5 inches.
Add \usepackage{xurl}
to make urls in your references respect your margins.
Add \usepackage{hyphenat}
and replace -
with \hyp{}
to force hyphenated words to respect margins.
In some places in my references I had to manually add \hyp{}
to force random things like ISBN numbers to respect margins and break onto the next line.
In your thesis text, take ownership of what you have done! There’s no requirement to write in first person, but I found it useful to use “I” to distinguish what I had done and what collaborators had helped with
On that note, make sure you clearly state when work is yours, when it’s a collaboration (if so, what did you do?), when you’re reporting work somebody else has done, and when you’re referring to the literature
Again, carefully follow the formatting rules on the Grad Division’s website (there are some strange ones, e.g. page numbering in the abstract, TOC, and intro
Look at former group members theses on ProQuest to see examples.
Your committee with be responsible for reading and signing off on your dissertation. Although in many graduate students’ experiences, committee members don’t carefully read through the thesis, they may –– so you still need to prepare accordingly. Also make sure to be respectful of your committee members' time, and plan ahead.
Here are some suggestions from group members' experiences choosing and working with a committee.
Pick a committee you would actually like to have feedback from!
Note: Your thesis committee does not have to be the same as your qual committee
Several months before you plan to send your dissertation, ask committee members whether they are willing to be on your committee.
They will likely say yes, but do not expect them to say yes.
Send a thank-you email if they do agree to be on your committee
Check / update committee form on CalCentral Check
Dissertation Committee on CalCentral (by beginning of term): Ensure that all members listed are correct and show as “active”. If you have a committee member outside of the university, double-check that their email address is correct as well, as the final signature eForm will be routed to this email address for their approval. If your committee is not up to date, you can change it at any time by going to CalCentral > My Dashboard > Submit a Form > Higher Degrees Committee eForm > Committee type “Doctoral”.
If one of your selected committee members is not on the academic senate (e.g. I had my mentor from NREL on my committee), you'll have to upload their CV and get advanced permission. Make sure to do this asap
Ask committee members how long they will need to read your thesis and either approve it or send comments, in order to be able to reasonably plan your timeline
Be prompt, send them your thesis with enough time for them to read it
Don’t hesitate to send follow-up emails if they do not respond. They are busy and, in the experience of our group members, they often don’t respond the first time =D
Have a plan and timeline with Kristin, and a backup plan! Here are some strategies [TO DO: get Kristin's approval on this part of the doc]
Ask Kristin how long she will need to read your thesis and send comments (she’s said 1-2 weeks or 3 weeks to us in the past; however, this will change depending on her timeline/bandwidth in a given semester, so be sure to ask her explicitly)
Figure out if you will submit before the Spring, Summer, or Fall campus-wide deadlines (check the deadline here)
Your thesis has to be approved by your committee and submitted to the Grad Division on or before the campus-wide deadline.
All edits or requested changes from committee member revisions must be added to your document before this date
Note: However, if the Grad Division requests changes after this date, you can make those changes and resubmit without getting penalized
Then count backwards based on how much time your committee will need to read, how much time Kristin will need to read, and an estimate of how much time you’d need to implement changes
Deadline MINUS committee edits MINUS committee reading time MINUS Kristin edits MINUS Kristin reading time MINUS possible buffer time
E.g. for me, Aug 13 2021 – (2 weeks for committee edits) – (2 weeks for committee reading time) – (3 weeks for Kristin edits) – (3 weeks for Kristin reading time) – (1 week buffer in case life happens) = final draft to Kristin May 28, 2021
Note that I (Rachel) still missed my deadline (twice...), and lived to tell about it. A deadline should be a guideline, but sometimes life happens, and if you miss the deadline you can still get a PhD.
You have to include the proper permissions or it’s considered “plagiarism.” Permissions are a doozy… sp I’d recommend to start that early. Here is a summary of the types of permissions you'll need, from my experience.
If you are using work that has been published or is a collaboration with others, you need to get written permission from your co-authors that it is ok to use this work in your thesis (even if you are the lead author!)
Last I checked, this can just be done over email. E.g., you can write an email to coauthors requesting they respond to an email
I didn’t know this and had co-authors sign PDFs stating their permission. There’s no formal template how to do this, but here are some templates I wrote that you could use:
If you are using work that has been published, depending on the journal you may have to get written permission from the journal to reproduce or adapt the content (yes, even though it’s your work…). Note that this is the same process you'd follow if you're reproducing something from the literature in a written manuscript or review article.
Here’s an overview of how to go about this process (it varies by journal):
Create an account at Copyright Clearance Center (CCC)
Go through the checklist.
If the link takes you to a form to fill out, select “republish in a thesis or dissertation” as type of use (TOU) and go through the checklist and it should be free. Once you fill out the form, it should take you to an order confirmation page. Take a screenshot of that page and save it. This is the route for most Elsevier, IEEE, (others?) journals
For open access journals and some others, the link will send you to a page that says “Permission/license is granted for your order at no charge.” Take a screenshot of this.
If the link says “Please contact the publisher directly to request permission for this type of use” (e.g. for ACS journals), then try going to the webpage your paper is published on and find a “permissions” form pertaining to that journal. Or if in doubt contact somebody from the journal.
Submit the PDFs of author and journal permissions when you file your thesis (TODO: I forget which stage this is?)
Submit your thesis on ProQuest (this is what will go into the archives)
You have to embargo thesis if you use unpublished work or it’s considered “plagiarism” when you publish your work, so strategize about how you want to do this and make a plan with Kristin
You can embargo for up to two years, and request an extension if you need to embargo for longer
Downside (or upside depending on your relationship with your thesis?) to embargoing is that your thesis is not available for anybody to read
Always really good to be explicit and clear with your committee about expectations and deadlines
You fellow group members and colleagues can be a huge resource!
Since committee may not read your thesis in detail, it can be useful to ask colleagues (in the group or elsewhere) to read through intro or other parts not in papers.
Find an intro-read through buddy! It was useful to have my intro read by folks who were not in my research field to assess whether it made sense
Accountability writing groups are useful, too. Make one!
Start on the acknowledgments early!! It was really useful for me to reflect on gratitude and write this before I was burned out on thesis writing
(TO DO: add some tips for choosing a title)
Check the degree progress section at in your CalCentral profile at: https://calcentral.berkeley.edu/academics
Plan with Kristin which semester will be your last semester, and whether you will be a full-time enrolled student or on filing fee
If you plan to file at the end of a semester and/or will be taking courses or researching full time, makes sense to enroll as a full-time student
If you plan to file in the middle of a semester and not be a full-time student, filing fee is likely your best option
CAUTION: make sure you look up the deadline and select to go on filing fee before the deadline! If you miss it, it’s a massive headache to go on filing fee retroactively
Filing fee does not cover health insurance. If you will be on filing fee, make a plan with Kristin about how your health insurance will be paid
Also have a backup plan in case something gets delayed and you have to file late (e.g. you need to make changes for the committee, or life happens)
You will likely be working with Sonia Dominguez (LBL) or Miriam Kader (UC Berkeley) on this status change, and will want to contact your department administrator (Ariana Castro if you’re in MSE or AS&T) to discuss details
Note: this section is borrowed from the UC Berkeley Math Department's page (TODO: update this for MSE, AS&T, and Chem/ChemE?)
Update Expected Graduation Term to current term (by beginning of term): Expected Graduation Term (EGT) must be set to the term in which you plan to graduate in order for you to be added to the campus degree list. Students can update their EGT by going to CalCentral > My Dashboard > Submit a Form > Change of Expected Graduation Term Request.
Check Academic Progress Report for incomplete milestones (by beginning of term): The Academic Progress Report (APR) shows all milestones required to complete a degree. Check your APR to ensure that only the dissertation filing milestone is incomplete. If any other milestones show as incomplete, please contact your GSAO. You can view your APR at CalCentral > My Academics > Degree Progress > View Academic Progress Report.
Submit Departmental Intent to Graduate Form (by departmental deadline): Advising staff will send this prior to the deadline each semester, generally in February and October for spring and fall respectively, but you are welcome to submit as soon as the semester in which you intend to graduate begins.
Review CalCentral incomplete tasks and complete any outstanding forms or surveys (at least three weeks prior to filing): A list of incomplete tasks can be found on your CalCentral dashboard.
UC Berkeley notoriously does not require a thesis defense as a graduation requirement. However, if you feel this is anticlimactic and would like to give a talk to summarize your experience in grad school, many departments offer the option of planning an "exit talk."
MSE: MSE is just starting this tradition, and is opening up slots in the departmental seminar for graduating students to give talks. If you are interested in doing so, please reach out to Prof. Zak Al Balushi or Ariana Castro.
AS&T: AS&T has a tradition of voluntary exit talks in their seminar series. If you are interested, reach out to Prof. Junqiao Wu or Ariana Castro.
Chem/ChemE: [someone please add this]
If you are applying for jobs before you graduate, you may need to get proof of graduation before you recieve your official diploma.
(TBD)
Grad Division Dissertation Writing and Filing: https://grad.berkeley.edu/academic-progress/doctoral/dissertation/#procedure-for-filing-your-dissertation
ProQuest: https://www.etdadmin.com
How to get permissions via Copyright Clearance Center: https://www.copyright.com/get-permissions/
UC Berkeley Math Department dissertation steps (MSE doesn’t have a guide like this in their handbook, to my knowledge): https://math.berkeley.edu/programs/graduate/dissertation-filing
All Persson group members are encouraged to contribute to the handbook. Feel free to add pages and reorganize as needed, just use your best judgement. Use this link to edit the handbook and contact the Group Librarian if you need edit privileges.
Please keep in mind these guidelines for contribution:
The handbook is a collaborative investment. You have knowledge that will help a group member, please share it! A thorough, up-to-date handbook benefits all of us.
Contributions won't be perfect. Don't let perfect be the enemy of good! You are encouraged to add your knowledge to the handbook even if the format isn't highly polished.
Private resources should link to Google Drive. If content belongs in the handbook but isn't appropriate for public release, put the document on the Persson Group Google Drive and include a link in the Handbook.
Add work-in-progress to the table below. If you are working on something let everyone know in the Group Handbook Tasks table.
The table below catalogs the areas where the handbook needs improvement. Please add tasks as you see fit and add yourself as a volunteer if you can contribute.
The group roster is available on the group's .
International School of materials for sustainale development & energy
Type in the paper you want to get permissions for in the search bar and click “Request permission” (if it doesn’t appear here, follow steps below)
Group Handbook Tasks
Volunteer(s)
Update / split up computing guides, currently one very long page
Alex (for Savio)
Update application guide (Vasp)
Aaron
Add application guide (Gaussian)
Add application guide (Qchem)
Add application guide (Lammps)
Add application guide (GROMACS)
Add useful LBL links page
Aaron
List of members areas of expertise / who can answer questions (send email/slack to group to edit this page)
Howard
Migrate public content from internal site and google drive to handbook
Orion
Update instructions for VASP on Lawrencium
Matt McD.
Set up directions for NREL computing (Swift)
Matt
Set up directions for NREL computing (Eagle)
Update dissertation section
Jordan
new leave policy given new GSI/GSR contract
Mackinzie
conference travel section
Ruoxi (add point of contact for MSD)
page generally outlining the rights GSRs have under the contract
Mackinzie
update Data back up
Ruoxi
running jobs on Perlmutter
Howard
Mongodb, database management
update "getting started" and set up
Aaron
"before you arrive", add that some students don't have a project for awhile.
Wayne
high throughput routine for codes that use ASE calculators
Jingyang
getting a computer