xiaohongshu
xiaohongshu
eln
Professional scientific documentation in org-mode electronic lab notebooks with date-based organization, comprehensive record-keeping of hypotheses, methods, results, reasoning, and outcomes for reproducible research
Full skill instructions
This skill provides expert guidance for maintaining professional electronic lab notebooks using org-mode, following best practices for scientific documentation, reproducibility, and research integrity.
Use this skill when:
Entries are organized by date in a hierarchical structure:
notebook/
├── 2025/
│ ├── 01-January/
│ │ ├── 2025-01-15.org
│ │ └── 2025-01-20.org
│ └── 02-February/
│ └── 2025-02-03.org
Each entry should contain:
Documentation should enable anyone (including future you) to:
Each day's work goes in a dated file:
2025-01-15.org # Single day's work
research-notebook/
├── 2025/
│ ├── 01-January/
│ │ ├── 2025-01-15.org
│ │ ├── 2025-01-16.org
│ │ └── data/
│ │ └── 2025-01-15/
│ │ ├── experiment_results.csv
│ │ └── analysis.png
│ └── 02-February/
├── templates/
│ ├── experiment-template.org
│ └── calculation-template.org
├── index.org # Master index
└── README.org # Project overview
#+TITLE: Lab Notebook - 2025-01-15
#+AUTHOR: Your Name
#+DATE: [2025-01-15 Wed]
#+FILETAGS: :experiment:catalyst:
#+STARTUP: overview
* Daily Summary
Brief overview of what was accomplished today.
* Entry 1: Hypothesis Testing - CO Adsorption on Pt
:PROPERTIES:
:ID: 2025-01-15-001
:PROJECT: Catalyst_Screening
:STATUS: In_Progress
:RELATED: [[file:2025-01-10.org::*Previous Results]]
:END:
** Objective
What are you trying to accomplish and why?
** Hypothesis
Clear statement of what you expect and the reasoning.
** Background/Context
- Why is this important?
- What previous work led to this?
- What are the key questions?
** Methods
*** Computational Setup
Detailed description of how the work was performed.
#+BEGIN_SRC python
# Include actual code used
from ase.build import fcc111
slab = fcc111('Pt', size=(4,4,4), vacuum=10.0)
#+END_SRC
*** Parameters
- DFT functional: PBE
- Energy cutoff: 400 eV
- k-points: 4×4×1
- Convergence: 0.05 eV/Å
** Results
*** Observations
What actually happened? Include data, figures, output.
#+BEGIN_SRC python :results file
# Analysis code
import matplotlib.pyplot as plt
# ... plotting code ...
plt.savefig('data/2025-01-15/adsorption_energy.png')
return 'data/2025-01-15/adsorption_energy.png'
#+END_SRC
#+RESULTS:
[[file:data/2025-01-15/adsorption_energy.png]]
*** Data
| Metal | E_ads (eV) | Site |
|-------+------------+-------|
| Pt | -1.82 | fcc |
| Cu | -0.95 | hcp |
| Au | -0.45 | ontop |
** Analysis
*** Interpretation
What do these results mean?
*** Comparison with Literature
How do results compare with expected values?
*** Unexpected Findings
Anything surprising or anomalous?
** Conclusions
- Key findings
- Hypothesis supported/rejected
- Confidence level in results
** Issues/Problems
Document any problems encountered and how they were resolved.
** Next Steps
- [ ] Validate with different functional
- [ ] Test larger surface models
- [ ] Calculate reaction barriers
** References
- Previous work: [[file:2025-01-10.org::*Initial Screening]]
- Literature: Smith et al. (2024) DOI:10.1021/xxxxx
- Code: [[file:~/projects/catalyst-screening/run_calculations.py]]
* Entry 2: Another Task
...
:PROPERTIES:
:ID: unique-identifier
:PROJECT: Project_Name
:STATUS: Planning|In_Progress|Complete|On_Hold
:STARTED: [2025-01-15 Wed]
:COMPLETED: [2025-01-15 Wed]
:RELATED: [[link-to-related-entry]]
:DATA: [[file:./data/2025-01-15/results.csv]]
:END:
Use tags for categorization and filtering:
#+FILETAGS: :experiment:simulation:catalyst:DFT:
* Entry Title :important:urgent:
Common tag categories:
# Internal links
[[file:2025-01-10.org::*Previous Results]]
[[id:2025-01-15-001]]
# External links
[[file:~/data/experiment_001.csv][Data file]]
[[https://doi.org/10.1021/xxxxx][Smith et al. 2024]]
# Code links
[[file:~/projects/analysis/plot_results.py]]
#+BEGIN_SRC python :results output :session analysis :exports both
import pandas as pd
import matplotlib.pyplot as plt
# Reproducible analysis code
data = pd.read_csv('data/2025-01-15/results.csv')
print(f"Mean energy: {data['energy'].mean():.3f} eV")
#+END_SRC
#+RESULTS:
: Mean energy: -1.234 eV
| Parameter | Value | Units | Notes |
|----------------+-----------+-------+--------------------|
| Temperature | 300 | K | Room temperature |
| Pressure | 1 | atm | Standard |
| Coverage | 0.25 | ML | 1/4 monolayer |
#+TBLFM: @2$4=Calculated from geometry
** Next Steps
- [ ] Run convergence test for k-points
- [ ] Compare with experimental data from Lee et al.
- [X] Calculate adsorption energy
- [ ] Write up results for group meeting
** TODO Validate results with different functional
DEADLINE: <2025-01-20 Fri>
:PROPERTIES:
:EFFORT: 2h
:END:
# Active timestamps (appear in agenda)
* Meeting with advisor
<2025-01-20 Fri>
# Inactive timestamps (documentation only)
Calculation started [2025-01-15 Wed]
# Date ranges
Project duration: <2025-01-10 Mon>--<2025-01-30 Mon>
* DFT Calculation - Surface Relaxation
:PROPERTIES:
:ID: 2025-01-15-001
:PROJECT: Catalyst_Screening
:TYPE: Calculation
:STATUS: Complete
:END:
** Objective
Optimize the geometry of clean Pt(111) surface.
** Methods
- Calculator: VASP
- Functional: PBE
- ENCUT: 400 eV
- k-points: 6×6×1 Monkhorst-Pack
- Convergence: Forces < 0.05 eV/Å
#+BEGIN_SRC bash
# Command used
vasp_std > vasp.out
#+END_SRC
** Results
- Final energy: -123.45 eV
- Relaxation time: 2.5 hours
- Converged in 45 ionic steps
[[file:./data/2025-01-15/surface_relaxation.png]]
** Analysis
Surface atoms relaxed inward by 0.03 Å (0.8% contraction).
This agrees with literature values (Smith 2023: 0.02-0.04 Å).
** Conclusion
Surface structure validated. Ready for adsorbate calculations.
** Next Steps
- [ ] Add CO adsorbate at FCC site
- [ ] Calculate adsorption energy
* Literature Review - CO Oxidation Mechanisms
:PROPERTIES:
:ID: 2025-01-15-002
:TOPIC: Catalysis
:STATUS: Complete
:END:
** Paper
Smith, J. et al. (2024) "CO Oxidation on Platinum Surfaces"
J. Phys. Chem. C, DOI: 10.1021/xxxxx
** Key Findings
- CO adsorption energy on Pt(111): -1.5 to -1.8 eV (experimental)
- Preferred site: FCC hollow
- Barrier for CO → CO₂: 0.8 eV
** Relevance to Our Work
Their experimental values provide validation targets for our DFT calculations.
Our predicted -1.82 eV is in excellent agreement.
** Questions Raised
- How does coverage affect binding energy?
- What about stepped surfaces?
** References to Follow Up
- [ ] Lee et al. (2023) - Coverage effects
- [ ] Zhang et al. (2024) - Step sites
* Analysis - Comparing Different Functionals
:PROPERTIES:
:ID: 2025-01-15-003
:PROJECT: Method_Validation
:STATUS: Complete
:END:
** Objective
Compare PBE, PBE+D3, and RPBE for CO adsorption energies.
** Data Sources
- PBE: [[file:2025-01-10.org::*PBE Results]]
- PBE+D3: [[file:2025-01-12.org::*Dispersion Results]]
- RPBE: [[file:2025-01-14.org::*RPBE Calculations]]
** Analysis Code
#+BEGIN_SRC python :results file
import pandas as pd
import matplotlib.pyplot as plt
# Compile results
data = {
'Functional': ['PBE', 'PBE+D3', 'RPBE'],
'E_ads': [-1.82, -2.15, -1.45],
'Experiment': [-1.6, -1.6, -1.6]
}
df = pd.DataFrame(data)
# Plot
plt.figure(figsize=(8, 5))
plt.bar(df['Functional'], df['E_ads'], alpha=0.7, label='Calculated')
plt.axhline(y=-1.6, color='r', linestyle='--', label='Experiment')
plt.ylabel('Adsorption Energy (eV)')
plt.legend()
plt.tight_layout()
plt.savefig('data/2025-01-15/functional_comparison.png', dpi=300)
return 'data/2025-01-15/functional_comparison.png'
#+END_SRC
#+RESULTS:
[[file:data/2025-01-15/functional_comparison.png]]
** Findings
| Functional | E_ads (eV) | Error vs Expt (eV) |
|------------+------------+--------------------|
| PBE | -1.82 | -0.22 |
| PBE+D3 | -2.15 | -0.55 |
| RPBE | -1.45 | 0.15 |
#+TBLFM: $3=$2-(-1.6);%.2f
** Conclusions
- PBE gives reasonable agreement (within 0.22 eV)
- PBE+D3 overbinds significantly
- RPBE underestimates binding
- **Decision**: Use PBE for production calculations
** Impact on Previous Work
Need to note that PBE tends to overbind slightly when reporting results.
* Group Meeting - Project Discussion
:PROPERTIES:
:ID: 2025-01-15-004
:TYPE: Meeting
:ATTENDEES: Prof. Smith, Jane Doe, John Smith
:END:
** Agenda
1. Progress updates
2. Results discussion
3. Next steps
** My Update
Presented CO adsorption results on Pt(111):
- E_ads = -1.82 eV (PBE)
- Good agreement with experiment (-1.6 eV)
** Feedback
- Prof. Smith: Test with larger surface to check size effects
- Jane: Compare with her experimental values (coming next week)
- Need to include dispersion for comparison
** Action Items
- [ ] Run calculations with 6×6×4 slab
- [ ] Prepare summary for Jane's experimental comparison
- [ ] Read paper Prof. Smith suggested: Zhang et al. 2024
** Next Meeting
<2025-01-22 Wed 10:00>
* Troubleshooting - VASP SCF Convergence Issues
:PROPERTIES:
:ID: 2025-01-15-005
:TYPE: Problem
:STATUS: Resolved
:END:
** Problem
VASP calculation not converging after 100 SCF steps.
Error message:
#+BEGIN_EXAMPLE
WARNING: Sub-Space-Matrix is not hermitian in DAV
#+END_EXAMPLE
** Attempted Solutions
1. Increased NELM to 200 - Still failed
2. Changed ALGO from Fast to Normal - No improvement
3. Reduced SIGMA from 0.2 to 0.1 - Failed
4. **Solution**: Used ISMEAR=0 (Gaussian smearing) instead of ISMEAR=1
** Root Cause
System has a band gap. Methfessel-Paxton smearing (ISMEAR=1) is inappropriate.
Gaussian smearing (ISMEAR=0) is better for molecules and systems with gaps.
** Resolution
Changed INCAR:
#+BEGIN_EXAMPLE
ISMEAR = 0
SIGMA = 0.05
#+END_EXAMPLE
Calculation converged in 45 SCF steps.
** Lessons Learned
- Always check if system has a gap before choosing smearing
- For molecules/insulators: Use ISMEAR=0 or ISMEAR=-5
- For metals: ISMEAR=1 or 2 is appropriate
** References
- VASP Wiki: [[https://www.vasp.at/wiki/index.php/ISMEAR]]
Start each file with a brief summary:
* Daily Summary
Today focused on validating DFT functional choice for catalyst project.
Compared PBE, PBE+D3, and RPBE against experimental data. Concluded
that PBE gives best agreement. Started large-scale screening of FCC
metals.
Key accomplishment: Validated methodology for production runs.
Main challenge: VASP convergence issues with molecular systems (resolved).
** Results
Expected: E_ads ≈ -1.5 eV
**Observed: E_ads = -0.45 eV**
This is significantly different from literature values.
** Analysis of Discrepancy
Possible causes:
1. Wrong adsorption site? → Checked: FCC is correct
2. Insufficient k-points? → Tested 8×8×1: -0.46 eV (no change)
3. Functional issue? → Literature used PBE, we used PBE
4. **Surface coverage?** → Our 1/16 ML vs literature 1/4 ML
** Resolution
Rerun with higher coverage to match literature conditions.
Original calculation still valid for low-coverage limit.
** Computational Details
Code version: catalyst-tools v2.3.1
Git commit: a3f5e2b
#+BEGIN_SRC bash
git log -1 --oneline
#+END_SRC
#+RESULTS:
: a3f5e2b Fix convergence criteria in optimizer
** Data Files
- Raw output: [[file:./data/2025-01-15/OUTCAR]]
- Processed data: [[file:./data/2025-01-15/results.csv]]
- Analysis notebook: [[file:./data/2025-01-15/analysis.ipynb]]
- Archived: ~/archives/2025/january/calculation_001.tar.gz
MD5 checksums:
- OUTCAR: 5d41402abc4b2a76b9719d911017c592
- results.csv: 7d793037a0760186574b0282f2f435e7
** Related Work
- Background: [[file:2025-01-05.org::*Literature Review]]
- Previous attempt: [[file:2025-01-12.org::*Failed Calculation]] (explains why approach changed)
- Follow-up: [[file:2025-01-18.org::*Extended Analysis]]
- Project overview: [[file:../index.org::*Catalyst Screening Project]]
Every computational entry should enable reproduction:
** Reproducibility Information
- [X] Software versions documented
- [X] Input files included or linked
- [X] Random seeds specified (if applicable)
- [X] Computational environment described
- [X] Data processing code included
- [X] Analysis scripts provided
- [X] Key outputs archived
Environment:
- VASP: 6.4.2
- Python: 3.11.4
- ASE: 3.23.0
- NumPy: 1.24.3
# Search by tag
C-c / m # Match tags
Search: experiment+DFT-failed
# Search by TODO
C-c / t # Show TODOs
# Search by text
C-c / r # Regex search
# Org-agenda
C-c a s # Search across all agenda files
#+TITLE: Research Notebook Index
#+STARTUP: overview
* Projects
** [[file:2025/01-January/2025-01-15.org::*Catalyst Screening][Catalyst Screening Project]]
Started: [2025-01-05]
Status: Active
** Method Validation
Started: [2025-01-10]
Status: Complete
* Key Results
** [[file:2025/01-January/2025-01-15.org::*Functional Comparison][Best DFT Functional for CO Adsorption]]
Result: PBE preferred (error < 0.25 eV)
* Important Techniques
** [[file:2025/01-January/2025-01-12.org::*Convergence Testing][How to Test k-point Convergence]]
* Short Description
:PROPERTIES:
:ID: YYYY-MM-DD-NNN
:END:
** What I Did
** Why
** Results
** Next Steps
* Project - Specific Task
:PROPERTIES:
:ID: YYYY-MM-DD-NNN
:PROJECT: Project_Name
:STATUS: In_Progress
:END:
** Objective
** Hypothesis
** Methods
** Results
** Analysis
** Conclusions
** Next Steps
#+BEGIN_SRC python :results output :session :exports both
from ase.build import molecule
from ase.optimize import BFGS
mol = molecule('H2O')
# ... calculation code ...
print(f"Optimized energy: {mol.get_potential_energy():.3f} eV")
#+END_SRC
#+BEGIN_SRC bash :results output
cd ~/calculations/calc_001
grep "energy" OUTCAR | tail -1
#+END_SRC
#+RESULTS:
: free energy = -123.456789 eV
#+CAPTION: CO adsorption energy vs coverage
#+NAME: fig:ads_energy
#+ATTR_ORG: :width 400
[[file:./data/2025-01-15/adsorption_plot.png]]
See Figure [[fig:ads_energy]] for trends.
When helping with ELN:
* Project Initiation - Catalyst Screening Study
:PROPERTIES:
:ID: 2025-01-15-001
:PROJECT: Catalyst_Screening
:STATUS: Planning
:END:
** Project Goal
Identify optimal catalyst for CO oxidation through computational screening.
** Background
[Literature review, motivation]
** Approach
1. Validate methodology with Pt(111) benchmark
2. Screen FCC metals (Cu, Ag, Au, Pt, Pd, Ni)
3. Analyze trends using d-band model
4. Validate top candidates with experiments
** Success Criteria
- Identify 2-3 promising candidates
- Error < 0.3 eV vs experiment
- Complete by [2025-02-28]
** Initial Tasks
- [ ] Set up calculation framework
- [ ] Run Pt(111) benchmark
- [ ] Compare functionals
* Failed Attempt - NEB Calculation
:PROPERTIES:
:ID: 2025-01-15-006
:STATUS: Failed
:END:
** Objective
Calculate CO diffusion barrier on Pt(111).
** Approach
NEB with 7 images, climbing image method.
** Problem
Images diverged after 20 steps. Final image forces > 5 eV/Å.
** Analysis
Initial path guess was poor - CO moved through bulk instead of surface.
** Lessons Learned
- Need better initial path interpolation
- Check geometry of intermediate images before optimization
- Use more images (9-11) for surface diffusion
** Next Attempt
Will use improved path generation script and verify geometries.
Scheduled for [[file:2025-01-16.org][tomorrow]].
#+TITLE: January 2025 Summary
#+DATE: [2025-01-31]
* Overview
Completed validation of DFT methodology for catalyst project.
Screened 6 FCC metals for CO adsorption. Identified Pt and Pd as
most promising candidates.
* Key Accomplishments
- Validated PBE functional (error < 0.25 eV)
- Completed metal screening
- Resolved VASP convergence issues
* Data Generated
- 24 DFT calculations
- 180 GB raw data (archived to ~/archives/2025/january/)
- 6 publications figures prepared
* Next Month Goals
- Begin reaction barrier calculations
- Compare with experimental data from collaborators
- Draft results section for paper
Create comprehensive summaries for easy retrieval and reporting.
xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience