| name | matlantis |
| description | Guide for writing Python code using Matlantis, Matlantis Corp.'s cloud-based atomistic simulation platform powered by neural network potentials (PFP). Use this skill whenever the user asks about Matlantis, PFP (Preferred Potential), matlantis-features, pfp-api-client, MTCSP, or any atomistic/molecular simulation on the Matlantis platform. Also trigger when code involves imports like pfp_api_client, matlantis_features, or mtcsp_api_client.
|
What is Matlantis
Matlantis 㯠Matlantis(æ ª) ãæäŸããã¯ã©ãŠãããŒã¹ã®ååã·ãã¥ã¬ãŒã·ã§ã³ãã©ãããã©ãŒã ã§ãã
ã³ã¢ãšãªãã®ã¯ PFP (Preferred Potential) ã§ãã°ã©ããã¥ãŒã©ã«ãããã¯ãŒã¯ããŒã¹ã®æ±çšååéããã³ã·ã£ã«ã§ãã
DFT ã«è¿ã粟床ãäœã³ã¹ãã§å®çŸããå€§èŠæš¡ïŒ10,000åå以äžïŒã»é·æéïŒæ°çŸäžã¹ãããïŒã®åååŠèšç®ãå¯èœã§ãã
Matlantis ã¯ã¯ã©ãŠãäžã® JupyterLab ã§åäœããå
šãŠã®èšç®ã¯ PFP ã® API ãµãŒããŒãçµç±ããŸãã
Environment Preflight
Python ã䜿ãã³ãŒãçæã»å®è¡ã»ãããã°ã«å
¥ãåã«ãå¿
ã Python ã䜿ããã確èªããŠãã ããã
python --version > /dev/null 2>&1
python --version > /dev/null 2>&1 ãæåããå Žå: ãã®ãŸãŸ Python é¢é£ã®äœæ¥ãé²ããŠãã ããã
python --version > /dev/null 2>&1 ã®çµäºã³ãŒãã 1 ã®å Žå: Python ã¯ãŸã 䜿ããªãåæã§åŠçãæ¢ããæ¬¡ã®ããã«æ¥æ¬èªã§æ¡å
ããŠãã ããã
- ãŸãæŠèŠãšããŠãPython ç°å¢ãæå¹ã«ãªã£ãŠããŸããããã£ãã Claude ãçµäºãã䜿ããã Python ç°å¢ãæå¹åããŠãã Claude ãåèµ·åããŠãã ããããšäŒããã
- ãã®ããã§ãåŒæ°ãŸã§å«ãããã«ã³ãã³ããæ¡å
ãããçŸåš
python313 ãš python311 ã® 2 ã€ã®ç°å¢ãå©çšã§ããŸãã
- Python 3.13 ç°å¢ã䜿ãããå Žå:
use_venv python313 ãã¿ã€ãããŠãã claude ãèµ·åããŠãã ããã
- Python 3.11 ç°å¢ã䜿ãããå Žå:
use_venv python311 ãã¿ã€ãããŠãã claude ãèµ·åããŠãã ããã
äžèšã®æ¡ä»¶ãæºãããªãç¶æ
ã§ã¯ãPython ã³ãŒãã®å®è¡ã Python åæã®è¿œå 調æ»ãç¶ããŠã¯ãããŸããã
Library Architecture
pfp-api-client <- Core: PFP server API (energy, forces, stress)
+-- ASECalculator <- ASE integration (the standard interface)
matlantis-features <- High-level: property computation (optimization, MD, elasticity, phonon, etc.)
mtcsp-api-client <- Crystal structure prediction (convex hull, derivative structures)
matlantis-group-drive-client <- Shared file storage
pfcc-extras <- Utilities for modeling and analysis
å
šãŠã ASE (Atomic Simulation Environment) ã®äžã«æ§ç¯ãããŠããŸããASE ãç¥ã£ãŠããã° Matlantis ã䜿ããŸãã
PFP: èšç®ã¢ãŒãã®éžæ
èšç®ã¢ãŒãã®éžæãããŒãã£ãŒããã¢ãŒãäžèŠ§ïŒæ§ã¢ãŒãåã»ããŒãžã§ã³äŸåå
çŽ æ°ïŒã察å¿å
çŽ ãPFP ã®é©çšç¯å²å€ã¯
pfp ã¹ãã« ãåç
§ããŠãã ããã
Calculator ã®åºæ¬ã»ããã¢ãã
from pfp_api_client.pfp.calculators.ase_calculator import ASECalculator
from pfp_api_client.pfp.estimator import Estimator, EstimatorCalcMode
estimator = Estimator(model_version="v9.0.0", calc_mode=EstimatorCalcMode.R2SCAN)
calculator = ASECalculator(estimator)
from ase.build import bulk
atoms = bulk("Si")
atoms.calc = calculator
energy = atoms.get_potential_energy()
forces = atoms.get_forces()
stress = atoms.get_stress()
matlantis-features äœ¿çšæã® estimator_fn ãã¿ãŒã³
matlantis-features ã® Feature 㯠estimator_fnïŒãã¡ã¯ããªé¢æ°ïŒãåãåããŸãã
Estimator ã€ã³ã¹ã¿ã³ã¹ãçŽæ¥æž¡ããŠã¯ãããŸããã
from matlantis_features.utils.calculators import pfp_estimator_fn
from pfp_api_client.pfp.estimator import EstimatorCalcMode
estimator_fn = pfp_estimator_fn(
model_version="v9.0.0",
calc_mode=EstimatorCalcMode.R2SCAN,
)
Critical Rules & Common Pitfalls
å¿
å®ã«ãŒã«
- Estimator ã®å
±æçŠæ¢: Estimator ã€ã³ã¹ã¿ã³ã¹ãè€æ°ã® Calculator ã Feature ã§å
±æããªãã§ãã ãããå¿
ãåå¥ã«çæããŸãã
MultiCalculatorUseDetected ãšã©ãŒã®åå ã«ãªããŸãã
- estimator_fn ã®äœ¿çš: matlantis-features äœ¿çšæã¯
estimator_fnïŒãã¡ã¯ããªé¢æ°ïŒãæž¡ããŠãã ãããEstimator ã€ã³ã¹ã¿ã³ã¹ãçŽæ¥æž¡ããšäºæããªãåäœã«ãªããŸãã
- calculator.reset():
Atoms ãªããžã§ã¯ããã€ã³ãã¬ãŒã¹ã§å€æŽããåŸã¯ calculator.reset() ãåŒãã§ãã ãããCalculator ã¯çµæããã£ãã·ã¥ããŠããŸãã
- PBC ã®èšå®: çµæ¶ã»ã¹ã©ãç³»ã§ã¯
atoms.pbc = True ãèšå®ããŠãã ãããPBC ãªãã§ã¯åšæç³»ã®èšç®çµæãäžæ£ã«ãªããŸãã
Notebook å®è¡ããªã·ãŒ
Notebook å®è¡ã䌎ãäŸé Œã§ã¯ãforeground å®è¡ãšbackground å®è¡ã®äž¡æ¹ãéžã¹ãããšãæç€ºããŠãã ããã
| å®è¡æ¹åŒ | 䜿ãã©ãã | ä»£è¡šææ®µ |
|---|
| foreground å®è¡ | çæéã®ç¢ºèªã察話çã«æ§åãèŠãªããé²ãããå Žå | jupyter nbconvert --to notebook --execute ... |
| background å®è¡ | é·æéèšç®ãé¢åžããã©ãŠã¶ãéããŠãç¶ç¶ãããå Žå | mtl-bg-job run input.ipynb output.ipynb |
以äžãå¿
ãå®ã£ãŠãã ããã
- éžæè¢ã®æç€º: Notebook ãå®è¡ããææ¡ã§ã¯ãforeground ãš background ã®äž¡æ¹ã®éžæè¢ãããããšãæç€ºããŠãã ããã
- background æå®æã¯
mtl-bg-job ãåªå
: ãŠãŒã¶ãŒããããã¯ã°ã©ãŠã³ããžã§ãã§ããbackground ã§ããRun in Backgroundããªã©ãšæå®ããå Žåãmtl-bg-job run ã䜿ã£ãŠãã ããã
nbconvert 㯠foreground å°çš: jupyter nbconvert --to notebook --execute --inplace ... 㯠foreground å®è¡ã®éžæè¢ãšããŠã®ã¿æ±ã£ãŠãã ãããbackground æå®æã«ã¯äœ¿ããªãã§ãã ããã
- é·æéèšç®ã§ã¯ background ãæšå¥š: MDãphononãQHAã倧éã¹ã¯ãªãŒãã³ã°ãé·ã post-processing ã§ã¯ background å®è¡ãæšå¥šããŠãã ããã
- æ¹åŒæªæå®ã§ã background ãé ããªã: ãŠãŒã¶ãŒãåã«ãå®è¡ããŠãã ããããšèšã£ãå Žåããforeground ã ãã«æ±ºãæã¡ãããbackground å®è¡ã®éžæè¢ãããããšãäŒããŠãã ããã
- backgroundã§å®è¡ããå Žåã«ipynb圢åŒã«ãããã倿ããªã: backgroundå®è¡ããå Žåãæ¢ã«
.py 圢åŒã§ã³ãŒããçæãããŠããå Žåã¯ããããã .ipynb ã«å€æããªãã§ãã ããã
- Notebook ã® kernel ã¯æ¢ååã䜿ã:
.ipynb ãæ°èŠäœæã»æŽæ°ããå Žåãmetadata.kernelspec.name ã«ã¯ python313 ã python311 ã®ãããªæ¢å kernel åãèšå®ããpython3 ã®ãããªæ±çšåãæ°èŠã«æžã蟌ãŸãªãã§ãã ããã
mtl-bg-job ã® kernel ãšã©ãŒã¯å³ãã©ãŒã«ããã¯: mtl-bg-job run ã kernel '...' is not available ã§å€±æããå Žåã¯ãå©çšå¯èœãªæ¢å kernel ãéžã³ãmtl-bg-job run --kernel <existing-kernel> ... ã§åå®è¡ããŠãã ããã
ããããèœãšã穎
| èœãšã穎 | çç¶ | å¯ŸåŠ |
|---|
| èšç®ã¢ãŒãã®äžäžèŽ | çµæãäžæ£ïŒãšã©ãŒã«ãªããªãïŒ | ãããŒãã£ãŒãã«åŸãç³»ã«åã£ãã¢ãŒããéžæ |
| ç°ãªãã¢ãŒãéã®ãšãã«ã®ãŒæ¯èŒ | ãšãã«ã®ãŒå·®ãç¡æå³ | åäžã¢ãŒãã§çµ±äž |
| WB97XD ãåçž®çžã«äœ¿çš | 粟床ã倧å¹
äœäž | æ¶²äœã»åºäœã«ã¯ R2SCAN_PLUS_D3 çãäœ¿çš |
| D3 è£æ£ã®æªé©çš | ååéçžäºäœçšã®éå°è©äŸ¡ | ååçµæ¶ã»æ¶²äœã»åžçã»å±€ç¶ç©è³ªã«ã¯ *_PLUS_D3 ãäœ¿çš |
| ã»ã«æé©åã®æ¬ èœ | æ Œå宿°ãæªæé©å | çµæ¶ã«ã¯ filter=True ãŸã㯠UnitCellASEFilter ãäœ¿çš |
| fmax ãäžé©å | åæäžè¶³ãŸãã¯èšç®éå€ | æ¬çª: 0.01 eV/Aãç°¡æ: 0.05 eV/A |
| ãã©ãã³ã®ã¹ãŒããŒã»ã«äžè¶³ | çµæãäžæ£ç¢º | supercell=4-6 ããéå§ãå¿
èŠã«å¿ãå¢å |
| å
¥åãµã€ãºè¶
é | Too many atoms ãšã©ãŒ | atoms.calc.results['calc_stats'] ã§ç¢ºèª |
| PBE_U ãéé
žåç©ã«é©çš | äžé©åãªè£æ£ | é
žåç©ä»¥å€ã®é·ç§»éå±ã¯ PBE ãäœ¿çš |
PFP ãšã©ãŒãªãã¡ã¬ã³ã¹
| äŸå€å | åå | å¯ŸåŠ |
|---|
RetriesExceeded | ãµãŒããŒå詊è¡åæ°è¶
é | max_retries å¢å ãŸãã¯ãµãŒããŒç¶æ³ç¢ºèª |
ConcurrentUseDetected | ASECalculator ãžã®äžŠåã¢ã¯ã»ã¹ | ã¹ã¬ããããšã«åå¥ã€ã³ã¹ã¿ã³ã¹çæ |
MultiCalculatorUseDetected | Estimator ã®è€æ° Calculator å
±æ | Calculator ããšã«åå¥ Estimator çæ |
Too many atoms | ååæ°äžéè¶
é | ååæ°ãåæž |
Too many neighbors | è¿åæ°äžéè¶
éïŒé«å¯åºŠç³»ïŒ | ååæ°åæžãŸãã¯å¯åºŠäœäž |
Cell is too small | PBC ã«å¯Ÿãã»ã«ãå°ãããã | ã»ã«ãµã€ãºç¢ºèª |
Too big for GPU memory | GPU ã¡ã¢ãªäžè¶³ | åŸ
æ©åŸåå®è¡ãå
¥åæ§é åæž |
é¢é£ã¹ãã«
以äžã®åå¥ã¹ãã«ãã¿ã¹ã¯ã«å¿ããŠåçã«èªã¿èŸŒãŸããŸãã
åã¹ãã«ã¯ç¬ç«ãã SKILL.md ãæã¡ãããªã¬ãŒæ¡ä»¶ã«åºã¥ããŠèªåçã«ã³ã³ããã¹ãã«è¿œå ãããŸãã
| ã¹ãã« | å
容 | ãŠãŒã¹ã±ãŒã¹ |
|---|
setup/ | Calculatoråæåãæ§é I/O | å
šãŠã®èšç®ã®åºçºç¹ |
pfp/ | PFPã¢ãã«ã»calc_modeéžæã»é©çšç¯å² | ã¢ãŒãéžææãPFPã§äœãã§ããããç¥ãããå Žå |
ase-basics/ | ASE Atomsåºæ¬æäœ | æ§é ã®äœæã»ç·šéã®åºç€ |
modeling/ | æ§é ã¢ããªã³ã° | 衚é¢/åå/æ¶²äœ/HEAçã®æ§é æ§ç¯ |
optimization/ | æ§é æé©å | å®å®æ§é ã®æ¢çŽ¢ |
dynamics/ | åååååŠ | æé枩床ã§ã®æéçºå± |
reaction/ | åå¿çµè·¯æ¢çŽ¢ | NEB/ReactionString/é·ç§»ç¶æ
|
adsorption/ | åžç | åžçæ§é æ§ç¯/åžçãšãã«ã®ãŒ/ãµã€ãæ¢çŽ¢ |
property-analysis/ | ç©æ§èšç® | 匟æ§/ãã©ãã³/æ¡æ£/ç²åºŠ/ç±äŒå° |
visualization/ | å¯èŠå | æ§é ã»è»è·¡ã®è¡šç€º |
external-data/ | å€éšããŒã¿é£æº | PubChem/Materials Project/VASP/Gaussian |
storage/ | Group Driveã¹ãã¬ãŒãž | ããŒã¿ã®æ°žç¶ä¿åã»ããŒã å
±æ |
background-job/ | ããã¯ã°ã©ãŠã³ããžã§ã | é·æéèšç®ã®å®è¡ã»ç®¡ç |
pfcc-extras/ | pfcc_extrasãŠãŒãã£ãªã㣠| ãžã§ãã¹ã±ãžã¥ãŒãªã³ã°ã»å ç©ã»è»è·¡å€æ |
integrated-workflows/ | çµ±åã¯ãŒã¯ãã㌠| ã¹ã¯ãªãŒãã³ã°/åžç/æ¬ é¥ãã€ãã©ã€ã³ |
ssh/ | SSHæ¥ç¶ | ããŒã«ã«PCããMatlantisãžã®SSHæ¥ç¶ |
Reference Navigation Guide
å
šãŠã®è©³çްããã¥ã¡ã³ã㯠references/ ãã£ã¬ã¯ããªã«ãããŸãã
Getting Started
references/guidebook/ - ãã©ãããã©ãŒã å©çšã¬ã€ã
references/tutorials/ - ASEåºç€ããMDãŸã§ã®7ç« ãã¥ãŒããªã¢ã«
Model Theory
references/theory/pfp-description/ - PFPã¢ãŒããã¯ãã£ãèšç·ŽããŒã¿ã察å¿å
çŽ
references/theory/d3-description/ - D3åæ£è£æ£ã®è©³çް
references/theory/pfp-validation/ - PFP粟床ãã³ãããŒã¯
references/theory/d3-validation/ - D3ãã©ã¡ãŒã¿æé©åçµæ
references/theory/mtcsp/ - MTCSPçµæ¶æ§é äºæž¬ã®æŠèŠ
API Reference
references/api/pfp-api-client/ - pfp_api_client ã¢ãžã¥ãŒã«ããã¥ã¡ã³ã
references/api/matlantis-features/ - matlantis_features ã¢ãžã¥ãŒã«ããã¥ã¡ã³ãïŒæå€§ã»ã¯ã·ã§ã³ïŒ
references/api/mtcsp-api-reference/ - MTCSP API ããã¥ã¡ã³ã
references/api/matlantis-group-drive-client/ - Group Drive ã¯ã©ã€ã¢ã³ãããã¥ã¡ã³ã
Examples
references/examples/ - å
ŒΊٕΌ
šäž»èŠæ©èœã®ã©ã³ããã«ããŒãããã¯ïŒ
references/community-examples/ - ã³ãã¥ããã£è²¢ç®äŸïŒè§Šåª/黿± /ããªããŒ/最æ»å€çïŒ
API ããã¥ã¡ã³ãã®æ€çŽ¢æ¹æ³
references/api/matlantis-features/ å
ã® generated/ ãã£ã¬ã¯ããªã«ã¯ã©ã¹å¥APIããã¥ã¡ã³ãããããŸãã
ã¯ã©ã¹åã§ãã¡ã€ã«ãæ€çŽ¢ããŠãã ããïŒäŸ: matlantis_features.features.common.opt.BFGSASEOptFeature.mdïŒã
tips/ ãã£ã¬ã¯ããªã«ã¯é«åºŠãªäœ¿çšãã¿ãŒã³ããããŸãã
ãµããŒãã»ãåãåãã
ã¹ãã«ãã¡ã€ã«ã«é¢ããããèŠæã»ã質åãããå Žåã¯ãMatlantis ãµããŒãçªå£ãžãåãåãããã ãã: https://matlantis.zendesk.com/hc/ja