Jakub Martinka
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note No publishing access yet

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.

      Your account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

      Your team account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

      Explore these features while you wait
      Complete general settings
      Bookmark and like published notes
      Write a few more notes
      Complete general settings
      Write a few more notes
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note No publishing access yet

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.

    Your account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

    Your team account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

    Explore these features while you wait
    Complete general settings
    Bookmark and like published notes
    Write a few more notes
    Complete general settings
    Write a few more notes
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # Otevřená věda # Počítačové simulace molekul po absorpci záření s využitím strojového učení :::danger __Cíl stáže__: teoretickými metodami studovat fotochemii molekuly ::: ___ ## Projects - __Jak získat přístup k odborným článkům?__ (= není to úplně správný způsob, jak se k článkům dostat, ale protože nemáte oficiální afiliaci k Univerzitě/Akademii, je to pro Vás, mimo placení poplatků, jediná cesta): - Otevřte https://sci-hub.se/ - Vložte DOI kód: `https://doi.org/<doplň DOI>` - __Papery na software + review__: - [Quantum Chemistry in the Age of Machine Learning](https://pubs.acs.org/doi/abs/10.1021/acs.jpclett.9b03664) - [MLatom 3: A Platform for Machine Learning-Enhanced Computational Chemistry Simulations and Workflows](https://pubs.acs.org/doi/full/10.1021/acs.jctc.3c01203) - [MLatom doc](http://mlatom.com/docs/index.html) - [Newton-X Platform: New Software Developments for Surface Hopping and Nuclear Ensembles](https://pubs.acs.org/doi/10.1021/acs.jctc.2c00804) - __Molekuly__: - A) __Silaethylene__ <img src="https://hackmd.io/_uploads/S1jsv9VQA.png" width="200"/> - [Experimental work](https://doi.org/10.1002/anie.198105971) - [Excited-state potential energy surfaces of silaethylene: a MRCI investigation ](https://www.tandfonline.com/doi/full/10.1080/00268970412331333573) - [Multiple pathways in the photodynamics of a polar $\pi$-bond: A case study of silaethylene](https://doi.org/10.1016/j.cplett.2005.11.015) - B) __3-(Hydroxymethyl)naphthalen-2-ol__ <img src="https://hackmd.io/_uploads/H1C0v5V7C.png" width="300"/> - [References](https://pubchem.ncbi.nlm.nih.gov/compound/3-_Hydroxymethyl_naphthalen-2-ol#section=Consolidated-References) - [Photoreactive Polymer Brushes for High-Density Patterned Surface Derivatization Using a Diels–Alder Photoclick Reaction](https://pubs.acs.org/doi/10.1021/ja210350d) = 300 nm nebo 350 nm - [Patterned Surface Derivatization Using Diels–Alder Photoclick Reaction](https://pubs.acs.org/doi/10.1021/ja205652m) - [Light-Induced Hetero-Diels−Alder Cycloaddition: A Facile and Selective Photoclick Reaction](https://pubs.acs.org/doi/10.1021/ja200356f) = 275 nm nebo 324 nm - [Photochemical Generation and the Reactivity of o-Naphthoquinone Methides in Aqueous Solutions](https://pubs.acs.org/doi/10.1021/ja9031924) - [Photolabile protection of alcohols, phenols, and carboxylic acids with 3-hydroxy-2-naphthalenemethanol](https://pubs.acs.org/doi/10.1021/jo801302m) - [Photo-activatable Reagents for Bioorthogonal Ligation Reactions](https://link.springer.com/article/10.1007/s41061-023-00447-4) = 300 nm absorpce - [Competing photochemical reactions of bis-naphthols and their photoinduced antiproliferative activity](https://link.springer.com/article/10.1039/c8pp00532j) - C) __Cycl[3,3,3]azine__ & __Cycl[3,3,3]borane__ & __Heptazine__ <img src="https://hackmd.io/_uploads/SJWcSqV70.png" width="200"/><img src="https://hackmd.io/_uploads/HyLzsCRBA.png" width="200"/><img src="https://hackmd.io/_uploads/SJNdjR0rA.png" width="200"/> - [The inverted singlet–triplet gap: a vanishing myth?](https://doi.org/10.3389/fchem.2023.1239604) - [Singlet–Triplet Inversion in Heptazine and in Polymeric Carbon Nitrides](https://doi.org/10.1021/acs.jpca.9b06215 "DOI URL") - [Large Inverted Singlet–Triplet Energy Gaps Are Not Always Favorable for Triplet Harvesting: Vibronic Coupling Drives the (Reverse) Intersystem Crossing in Heptazine Derivatives](https://doi.org/10.1021/acs.jpca.1c09150) - [Inverted Singlet–Triplet Gaps and Their Relevance to Thermally Activated Delayed Fluorescence](https://doi.org/10.1021/acs.jpclett.9b02333) - [On the origin of the inverted singlet–triplet gap of the 5th generation light-emitting molecules](https://pubs.rsc.org/en/content/articlelanding/2022/cp/d2cp02364d) - [Role of Spin Polarization and Dynamic Correlation in Singlet–Triplet Gap Inversion of Heptazine Derivatives](https://pubs.acs.org/doi/10.1021/acs.jctc.3c00781) - [Delayed fluorescence from inverted singlet and triplet excited states](https://www.nature.com/articles/s41586-022-05132-y) - [Picosecond Fluorescence from the Second Excited Singlet State of Cycl[3.3.3]azine, a Bridged 12$\pi$-Perimeter Annulene. Spectra and Kinetics for $S_2-S_0$ and $S_2-S_1$ Transitions](https://pubs.acs.org/doi/10.1021/j150651a028) - [A Series of Singlet-Triplet InVerted TADF Fluorescent Probes with High Stability, Low Molecular Weight, and Synthesis Accessibility](https://doi.org/10.1002/adts.202200863) - [Next generation quantum theory of atoms in molecules for the design of emitters exhibiting thermally activated delayed fluorescence with laser irradiation](https://doi.org/10.1002/jcc.26783) - [Triangular boron carbon nitrides: an unexplored family of chromophores with unique properties for photocatalysis and optoelectronics](https://doi.org/10.1039/D1CP02026A) <img src="https://hackmd.io/_uploads/SJYduc4XR.png" width="400"/> - D) [__Cytosine__](https://cs.wikipedia.org/wiki/Cytosin) <img src="https://hackmd.io/_uploads/r1ZxK0vX0.png" width="200"/> - [Vertical Excitation Energies and Lifetimes of the Two Lowest Singlet Excited States of Cytosine, 5-Aza-cytosine, and the Triazine Family: Quantum Mechanics–Molecular Mechanics Studies](https://pubs.acs.org/doi/10.1021/acs.jctc.2c01262) - __How to:__ - nastavit cesty k Turbomole: ```bash export TURBODIR="/usr/local/programs/turbomole/tm-7.3/arch/TURBOMOLE" export TURBO="/usr/local/programs/turbomole/tm-7.3/arch/TURBOMOLE/bin/em64t-unknown-linux-gnu/" export PATH="/usr/local/programs/turbomole/tm-7.3/arch/TURBOMOLE/bin/em64t-unknown-linux-gnu_smp/:$PATH" export PATH="/usr/local/programs/turbomole/tm-7.3/arch/TURBOMOLE/bin/em64t-unknown-linux-gnu/:$PATH" export PATH="/usr/local/programs/turbomole/tm-7.3/arch/TURBOMOLE/scripts:$PATH" ``` - udělat Turbomole input (ADC(2)) ```bash define # run in terminal, turbomole has to be in your PATH . . a coord # addition of coordinates, which has to be in TM format * no b all <basis_set_name> # for example def2-TZVP, aug-cc-pVTZ * eht # <enter> for rest of the section cc freeze * # This will set default freezing, which should be ok cbas * # This will set auxiliary basis set for ri ricc2 adc(2) * exci irrep a 3 # This will add line into control, which has to be changed manually * * * # end of define # In control, this has to be set for: # a) in case of singlet (S0, S1) calculation irrep=a multiplicity= 1 nexc= 1 npre= 2 nstart= 2 # b) in case of triplet (S0, T1) calculation irrep=a multiplicity= 3 nexc= 1 npre= 2 nstart= 2 qsub pmold4turbo # submission of a job to gpu cluster # qstat # qdel ``` - udělat Turbomole input (DFT), výpočet frekcencí ```bash define # run in terminal, turbomole has to be in your PATH . . a coord # addition of coordinates, which has to be in TM format * no b all <basis_set_name> # for example SVP * eht # <enter> for rest of the section dft on func b3-lyp * * # end of define qsub pmold4turbo # dscf > dscf.out # aoforce > aoforce.out ``` - Zadávání výpočtů: ```bash qsub <script name> # submituje job na klastr qstat # zobrazi bezici joby, qstat -u '*' zobrazi vsechny joby qdel <JOB_ID> # smaze job s JOB_ID - to zjistite pomoci qstat ``` - Optimalizace geometrie: > O co jde? Hledáme uspořádání atomů (molekulovou geometrii) s nejnižší energií. V případě dvou atomů, dostaneme PES jako křivku, pro molekuly s více atomy, je však situace složitější, PES je vícedimenzionální a musíme použít speciální metody pro hledání tzv. optimální geometrie. Další informace jsou popsány v kapitole 7 Turbomole tutoriálu: [ZDE](https://www.turbomole.org/wp-content/uploads/2019/10/Tutorial_7-4.pdf). 1. Připravit input pro běžný singlepoint výpočet - excitované stavy by zde neměly hrát roli - optimalizujeme geometrii v základním stavu a příkaz `ricc2` se vůbec neprovede, pouze `dscf` 2. V submitovacím skriptu `pmold` máme pro singlepoint příkazy `dscf` a `ricc2`, tyto příkazy je potřeba odstranit (nebo z nich udělat komentář přidáním `#` na začátek řádky) a přidat `jobex > jobex.out` 3. Poté se optimalizace standardně pošle na klastr: `qsub pmold` 4. Optimalizovaná geometrie bude v souboru `coord` - je dobre si ji někam nakopírovat a pojmenovat přehledně - typicky `coord_eq` 5. Je taky dobré opticky zkontrolovat, že proběhla optimalizace úspěšně převedením do kartézských souřadnic `t2x`, což vypíše xyz souřadnice a ty po uložení zobrazit `molden`em - Výpočet vibračních frekvencí (tzv. normálních módů): > O co jde? Vibrační frekvence potřebujeme k vygenerování počátečních podmínek (tedy souboru geometrií a rychlostí), což potřebujeme pro zahájení molekulové dynamiky nebo výpočtu spektra. Další informace jsou popsány v kapitole 8 Turbomole tutoriálu: [ZDE](https://www.turbomole.org/wp-content/uploads/2019/10/Tutorial_7-4.pdf). Jak normální módy vypadají se můžete podívat [ZDE](https://www.chem.purdue.edu/jmol/vibs/index.html) 1. Připravit input pro běžný singlepoint výpočet - excitované stavy by zde neměly hrát roli - ale potřebujeme pro výpočet použít ==__optimalizovanou geometrii__== 2. V submitovacím skriptu `pmold` máme pro singlepoint příkazy `dscf` a `ricc2`, tyto příkazy je potřeba odstranit (nebo z nich udělat komentář přidáním `#` na začátek řádky) a přidat `aoforce > force.out` 3. Poté se výpočet standardně pošle na klastr: `qsub pmold` 4. Frekvence budou v souboru `force.out` a je potřeba zkontrolovat, zda prvních 6 frekvencí je rovno nule (například příkaz `grep "frequency " force.out`), druhá možnost je, že se nám optimalizace nezdařila a jedna z frekvencí je komplexní číslo. V takovm případě je potřeba provést optimalizaci znovu. Kontrola zda ta báze je v turbomole: https://www.cosmologic-services.de/basis-sets/basissets.php ___ ### #1 Spectrum (Z) :::info __Central aim__: Simulovat spektrum vybrané molekuly metodou NEA (nuclear ensemble approach), vyzkoušet způsoby jeho zlepšení pomocí různých technik strojového učení (ML) ::: :::success __Hypothesis__: ML dokáže zlepšit kvalitu absorpčního spektra ::: #### :bookmark_tabs: Crucial papers - [Machine Learning for Absorption Cross Sections](https://pubs.acs.org/doi/10.1021/acs.jpca.0c05310) #### :information_source: Info ||| | --- | --- | | Geometrie | `/home/jakubm/WORK/napthalen-2-ol/` | | Submitovaci skript | `/home/jakubm/TEMPLATES/pmold4turbo` | | Cyclazine poč. podm. | `/home/jakubm/WORK/CYCLAZINE/SPEC/final_output` | | Heptazine poč. podm. | `/home/jakubm/WORK/HEPTAZINE/SPEC/final_output` | | Cycloboran poč. podm. | `/home/jakubm/WORK/BORAZINE/SPEC/final_output` | | Single point input | `-\|\|-/SPEC/input/` | | Skript na single-point | `/data/theoch/jakubm/_SPEC_ADC2_CAS/SPECTRUM/skript.sh`| #### :pencil2: List of tasks - [x] Udělat benchmark metod - vybrat tu, která má nejlepší poměr čas/přesnost - [x] Optimalizovat geometrii - nalezení minima na PES - [x] Analýza excitovaných stavů - vertikální excitační energie v optimální geometrii - [x] Vygenerovat počáteční podmínky: - [ ] Simulovat spektrum metodou NEA - [ ] (* spustit molekulovou dynamiku) - [ ] Vyzkoušet predikce spektra s využitím MLatomu - [ ] Použít strojové učení k natrénování modelu a zlepšit přesnost spektra s jeho využitím #### :question: Additional information/questions #### :trophy: Results (Napthalenol): | Báze | Čas | $S_0$ | $S_0\rightarrow S_1$ | | --- | --- | --- | --- | | Def2-SVP |2:1| -571.64302328563 | 4.14368 | | Def2-TZVP |27:57|-572.27960979494 | 4.03361 | | Def2-TZVPP |39:4|-572.28543507094 | 4.02771 | | Def2-QZVP |434:21|-572.30946004536 | 4.00831 | | Def2-QZVPP |432:53|-572.30946004536 | 4.00831 | | aug-cc-pVDZ |37:23|-572.14442626029 | 4.01733 | | aug-cc-pVTZ |195:18|-572.27170375574 | 3.99862 | | aug-cc-pVQZ |3711:12|-572.30483048122| | | | Báze | Čas | $S_0$ | $S_0\rightarrow S_1$ | $S_0\rightarrow S_2$ | $S_0\rightarrow S_3$ | $S_0\rightarrow T_1$ | $S_0\rightarrow T_2$ | $S_0\rightarrow T_3$ | | --- | --- | --- | --- | --- | --- | --- | --- | --- | | Def2-SVP |1:33 |-571.64302328867 |4.14367 |4.71982 |5.81101 |2.97060 |4.04544 |4.47024 | | ==Def2-TZVP== |==21:45== |==-572.27960979555== |==4.03361== |==4.52758== |==5.63574== |==2.93829== |==3.95174== |==4.37208== | | Def2-TZVPP |30:11 |-572.28543507111 |4.02771 |4.52223 |5.62971 |2.93436 |3.94775 |4.36608 | | Experiment |X|X| | | | ___ ### #2 Study of excited states (O) :::info __Central aim__: Studovat chování vybrané molekuly v excitovaném stavu (Jak dlouho bude excitovaná? Jaké strukturní změny s tím budou spojeny?) ::: :::success __Hypothesis__: Je lepší používat předtrénovaný model AIQM1 než standardní přístup kvantově chemickými metodami? ::: :::spoiler Papers - [The inverted singlet–triplet gap: a vanishing myth?](https://doi.org/10.3389/fchem.2023.1239604) - molecules with inverted S-T gap (INVEST molecules) violate the Hund's rule (that T is lower than S, because of exchange interaction of unpaired electrons) - singlet-triplet gap (STG) only if they have very similar spatial part of the wavefunction - STG is defined to be positive, when triplet is lower - STG is related to intersystem crossing (ISC), which is relevant for the thermally activated reverse intersystem crossing (RISC) - from T to S and then by fluorescence into the S0 = thermally activated delayed fluorescence (TADF), which is relevant to OLEDs: [PAPER1](https://pubs.rsc.org/en/content/articlelanding/2022/sc/d1sc07180g), [PAPER2](https://academic.oup.com/chemlett/article/50/5/938/7350928) - ==heptazines== and ==cycl[3.3.3]azines== are being studied now: [PAPER1](https://pubs.acs.org/doi/10.1021/acs.jpca.9b06215), [PAPER2](https://pubs.acs.org/doi/10.1021/acs.jpclett.9b02333), [PAPER3](https://chemistry-europe.onlinelibrary.wiley.com/doi/10.1002/cphc.202000926), [PAPER4](https://www.frontiersin.org/journals/chemistry/articles/10.3389/fchem.2022.999856/full) - ==heptazine==: - `ADC(3) cc-pVDZ (−0.109 eV)` [PAPER](https://doi.org/10.1016/j.matt.2021.02.017) - `NEVPT2(6,6) def2-SV(P) (−0.344 eV)` PAPER: `-||-` - `EOM-CSSD cc-pVDZ (CanO, −0.180 eV), (NatO, −0.214 eV)` PAPER: `-||-` - `TDDFT` positive STgap [PAPER1](https://doi.org/10.1016/j.cplett.2021.138827), [PAPER2](https://doi.org/10.1002/cphc.202000926), [PAPER3](https://doi.org/10.1039/D2CP02364D) - `DFT/MRCI (−0.01 eV)` [PAPER](https://doi.org/10.1021/acs.jpca.1c09150) - Experiemental evidence on small negative STgap time-resolved photoluminescence and transient absorption spectroscopy [PAPER1](https://doi.org/10.1021/acs.jpca.9b06215), [PAPER2](https://www.nature.com/articles/s41586-022-05132-y) - 'Recent theoretical calculations of rate constants demonstrated the efficiency and temperature dependence of TADF do not exclusively depend on STG; moreover, the rates were determined by an interplay of vibrionic effects and near-zero STGs' [PAPER](https://pubs.acs.org/doi/10.1021/acs.jpca.1c09150) - 'stabilization of the singlet state has been attributed to energetically low-lying doubly excited singlet configurations, with which the singlet state can interact but not the triplet state' [PAPER](https://pubs.acs.org/doi/10.1021/acs.jpclett.9b02333) - excitation into $S_1$ (HOMO-LUMO) is symmetry-forbidden (spectroscopically dark) - for heptazine, cycl[3.3.3]azine and cycl[3.3.3]borane - ADC(3)/cc-pVTZ level heptazine (−0.06 eV), cycl[3.3.3]azine (−0.07 eV) and cycl[3.3.3]borane (-0.10 eV) ==this paper== - ADC(2)-x heptazine (−0.16 eV), cycl[3.3.3]azine (−0.11 eV) and cycl[3.3.3]borane (-0.15 eV) - ==this paper== - ADC(2) heptazine (−0.24 eV), cycl[3.3.3]azine (−0.14 eV) and cycl[3.3.3]borane (-0.20 eV) - dynamic correlation (via inclusion of doubles) stabilizes singlet over triplet ==this paper== - $\Delta$CCSD/cc-pVTZ heptazine (−0.382 eV), cycl[3.3.3]azine (−0.303 eV) and cycl[3.3.3]borane (-0.364 eV) - $\Delta$CCSD(T)/cc-pVTZ heptazine (0.039 eV), cycl[3.3.3]azine (0.025 eV) and cycl[3.3.3]borane (0.017 eV) - inclusion of triples capture higher-order correlation effects related to the entanglement of the hole and particle in the corresponding exciton - the possible error introduced by singlet–triplet state mixing, i.e., spin contamination, is expected to lead to an underestimation of the absolute values of the calculated gaps. - ADC(1) - positive STG ==this paper== - number of nitrogens has negligible influence on STG - They exhibit a negligible multi-configurational characteristic - 'Seemingly, the description of the excitons is not yet converged at the level of ADC(2) ... demonstrating that at least a third-order treatment of the states in question is required for their proper theoretical description' - von Neumann entanglement entropy (quantifies the correlation between the electron and hole, and it can, thus, serve as a criterion for how well excited states are described at a certain level of the theory) ==this paper 3.2== - when we use larger basis set, the STG tends to go to positive values (for $\Delta$CCSDT(T) and ADC(3)) - As noted previously, the efficiency of TADF depends on the details of the dynamical processes and not solely on the STG [PAPER](https://doi.org/10.1021/acs.jpca.1c09150) - [Singlet–Triplet Inversion in Heptazine and in Polymeric Carbon Nitrides](https://doi.org/10.1021/acs.jpca.9b06215 "DOI URL") - [Large Inverted Singlet–Triplet Energy Gaps Are Not Always Favorable for Triplet Harvesting: Vibronic Coupling Drives the (Reverse) Intersystem Crossing in Heptazine Derivatives](https://doi.org/10.1021/acs.jpca.1c09150) - [Inverted Singlet–Triplet Gaps and Their Relevance to Thermally Activated Delayed Fluorescence](https://doi.org/10.1021/acs.jpclett.9b02333) - [On the origin of the inverted singlet–triplet gap of the 5th generation light-emitting molecules](https://pubs.rsc.org/en/content/articlelanding/2022/cp/d2cp02364d) - [Role of Spin Polarization and Dynamic Correlation in Singlet–Triplet Gap Inversion of Heptazine Derivatives](https://pubs.acs.org/doi/10.1021/acs.jctc.3c00781) - [Delayed fluorescence from inverted singlet and triplet excited states](https://www.nature.com/articles/s41586-022-05132-y) - [Picosecond Fluorescence from the Second Excited Singlet State of Cycl[3.3.3]azine, a Bridged 12$\pi$-Perimeter Annulene. Spectra and Kinetics for $S_2-S_0$ and $S_2-S_1$ Transitions](https://pubs.acs.org/doi/10.1021/j150651a028) - [A Series of Singlet-Triplet InVerted TADF Fluorescent Probes with High Stability, Low Molecular Weight, and Synthesis Accessibility](https://doi.org/10.1002/adts.202200863) - [Next generation quantum theory of atoms in molecules for the design of emitters exhibiting thermally activated delayed fluorescence with laser irradiation](https://doi.org/10.1002/jcc.26783) - [Triangular boron carbon nitrides: an unexplored family of chromophores with unique properties for photocatalysis and optoelectronics](https://doi.org/10.1039/D1CP02026A) ::: #### :information_source: Info ||| | --- | --- | | Geometrie | `/home/jakubm/WORK/CYCLAZINE/SP_adc/` | | Submitovaci skript | `/home/jakubm/TEMPLATES/pmold4turbo` | | Cesta k Borazine IC | `home/novak/OV/SES/cyclborane` | #### :pencil2: List of tasks - [x] Nalinkovat si turbomole do ~/.bashrc - [x] Udělat benchmark bází - pomocí define vytvořit inputy (lišit se budou jen báze) a do tabulky doplnit dlku výpočtu (dscf + ricc2) - [x] Doplnit do tabulky hodnotu $S_0$ `total energy` v dscf.out - [x] Doplnit do tabulky hodnotu $S_0\rightarrow S_1$ v [eV] `ADC(2) excitation energies` v ricc2.out - to jsou tzv. vertikální excitační energie, neboli rozdíl $E$ mezi stavy - [x] Pro zvolenou bázi (po diskuzi) optimalizovat geometrii = připraví se input a zavolá se `jobex` - to vede k nalezení minima na PES - [x] Vygenerovat počáteční podmínky - [ ] Spustit trajektorie vybranou metodou - [ ] Analýza trajektorií - [ ] Spustit trajektorie s předtrénovaným modelem AIQM1 #### :question: Additional information/questions #### :trophy: Results: ##### Cyclazine | Báze | Čas (hh:mm:ss) | $S_0$ | $S_0\rightarrow S_1$ | $S_0\rightarrow T_1$ | $T_1\rightarrow S_1$ | | --- | --- | --- | --- | --- | --- | | Def2-SVP | 00:05:46 | -513.69013429312 | 1.03436 | 1.21585 | -0.18149 | | Def2-TZVP | 00:39:17 | -514.24265016979 | 0.99233 | | | | Def2-TZVPP | 01:12:34 | -514.24598741377 | 0.99557 | | | | aug-cc-pVTZ | 07:39:16 | -514.23447326729 | 3.21594 | | ##### Borazine: Energie optimalizované geometrie: $E_0=-486.8669618797$ au | Báze | Čas (hh:mm:ss) | $S_0$ | $S_0\rightarrow S_1$ | $S_0\rightarrow T_1$ | $T_1\rightarrow S_1$ | | --- | --- | --- | --- | --- | --- | | Def2-SVP | 00:10:04 | -483.92635394275 | 1.20516 | 1.40618 | −0.20102 | | Def2-TZVP | 01:36:20 | -484.44999606744 | 1.22316 | 1.38621 | −0.16305 | | Def2-TZVPP | 02:17:44 |-484.45320232212 | 1.21846 | 1.38220 | −0.16374 | | aug-cc-pVTZ | 07:48:36 | -484.44284375813 |1.22039 | 1.38229 | −0.1619 | ___ ### #3 Machine learning (H) :::info __Central aim__: Určit důležité vlastnosti tréninkové sady pro excitované stavy (Jak moc jsou body v okolí kónických intersekcí důležité pro fit PES? Jakou roli hraje vzorkování trénovací sady?) ::: :::success __Hypothesis__: Tréninková sada by pro správný fit excitovaných stavů měla obsahovat body v okolí kónických intersekcí ::: #### :bookmark_tabs: Crucial papers - [Deep Learning for Nonadiabatic Excited-State Dynamics](https://pubs.acs.org/doi/10.1021/acs.jpclett.8b03026) #### :information_source: Info ||| | --- | --- | | Dataset | `/data/theoch/mahesh/DATA/Cytosine/DATA/sample_149/`| | Počet bodů | `17999700 (train: 17879702, test: 119998)` | | Energie stavů | `energy1.dat, energy2.dat, energy3.dat` | | Formát `energyN.dat` | `<Krok v trajektorii> <energie v kcal/mol> <energie v au>` | | Geometrie | `geometry.dat` - $xyz$ jsou v au | | CI struktury | [Optimalizované CI struktury - str. 12 (v au)](https://pubs.acs.org/doi/suppl/10.1021/acs.jctc.2c01262/suppl_file/ct2c01262_si_001.pdf) | |Inspirace jak vypada profesionalni kod|`/home/jakubm/WORK/mlatom_3/mlatom/devtests/namd/fssh/fssh_temp/run_fssh.py`| #### :pencil2: List of tasks - [ ] trajektorie cytosinu obsahuji otevrenou/zavrenou konfiguraci - je potreba zjistit, jak moc je otevrena konfigurace reprezentovana v trajektoriich. Pro urceni, zda se jedna o otevrenou/zavrenou konfiguraci by bylo dobre vykreslit vzdalenost mezi atomy kruhu, tzn. $atom_1-atom_2$, $atom_2-atom_3$, $atom_4-atom_5$, $atom_5-atom_6$, $atom_6-atom_1$ - tyto hodnoty vykreslit jako funkci casu - pokud se jedna hodnota bude zvertsovat, znamena to, ze se kruh otevrel (je mozne pouzit ten skript, ktery pocita vzdalenosti atomu a pouzit `awk '{print $<poradi sloupce>}'` pro vypsani pouze vzdalenosti, ktere nas zajimaji) - [ ] Napsat pythonovský skript, který z tréninkové sady pro Cytosin identifikuje geometrie v blízkosti kónických intersekcí - [ ] Vytvorit soubory (celkem 2) s CI geometriemi (prevzit z [paperu](https://pubs.acs.org/doi/suppl/10.1021/acs.jctc.2c01262/suppl_file/ct2c01262_si_001.pdf)) - __pozor__ geometrie v datasetu maji jine poradi atomu nez CI geometrie, musi se tedy preusporadat, aby bylo stejne poradi, protoze pro selekci bodu (ktere jsou blizko CI) chceme porovnavat $\mathbf{x}= (r_{12},r_{13},...)$. Pro identifikaci, ktery atom je ktery, staci vytvorit kopii `geom_CI.xyz` (= souboru s CI geometrii) a odstranit jeden atom a podivat se pomoci `moldenu`, ktery atom chybi. - [x] Vytvorit si maly dataset (napr. 5 geometrii), pro ktere se otestuje, zda program spravne konvertuje geometrii na $\mathbf{x}$ a porovna ji s CI strukturou - [ ] Zjistit jak rychly je program (predpokladam, ze to bude v pythonu) pro velke datasety - nebude lepsi to napsat v __C/C++__? - [ ] Určit optimální velikost sady pro fit PES - [ ] Rozhodnout, který způsob vzorkování, je důležitý random x farthest point #### :question: Additional information/questions ```bash for i in `seq 1 50`; do cd TRAJ$i/TEMP/SAVED_FILES; n=$(ls geom* | wc -w); for j in `seq 0 $((n-1))`; do cat geom_$j >> ../../../geoms.dat ;done;cd ../../..;done ``` #### :trophy: Results: ___ ## Domací úkol ___ ## Questions - (Jakub) Příklad: Co je to $\hat{H}$ v Schrödingerově rovnici? > $\hat{H}$ je Hamiltonův operátor (neboli Hamiltonián). Jedná se o operátor vyjadřující celkovou energii systému (tedy součet kinetické energie $\hat{T}$ a potenciálni energie $\hat{V}$ - značení je v kvantové mechanice trochu rozdílné, než v klasické). Zcela obecně můžeme pro systém $N$ jader a $n$ elektronů (v tzv. přirozených jednotkách) zapsat Hamiltonián jako: > $$\hat{H} = -\frac{1}{2}\sum_{A=1}^N\frac{1}{M_A}\nabla_A^2 -\frac{1}{2}\sum_{i=1}^n\nabla_i^2 +\sum_{A=1}^N\sum_{B>A}^N \frac{Z_AZ_B}{R_{AB}} -\sum_{i=1}^n\sum_{A=1}^N \frac{Z_A}{r_{iA}} +\sum_{i=1}^n\sum_{j>i}^n \frac{1}{r_{ij}}$$, kde $\nabla_A=(\frac{\partial}{\partial x},\frac{\partial}{\partial y},\frac{\partial}{\partial z})$ > Pro atom vodíku H (tedy systém jeden $p^+$ a jeden $e^-$) má Hamiltonián tvar: > $$\hat{H} = -\frac{1}{2}\nabla_{p^+}^2 -\frac{1}{2}\nabla_{e^-}^2 -\frac{1}{r_{e^-p^+}}$$ ## Seznam zkratek | Slovo | Definice | | --- | --- | | PES | hyperplocha potenciálni energie | | ML | machine learning | | NEA | nuclear ensemble approach | | KRR | kernel ridge regression | | au | atomove jednotky (atomic units)| --- ## Bash cheat sheet: - `vim <name>` - textový editor ([hra na procvičení vimu](https://vim-adventures.com/)) - [jak ho zavřít](https://stackoverflow.com/questions/11828270/how-do-i-exit-vim)? `:q` nebo `ZZ` ![Screenshot from 2024-01-15 01-36-43](https://hackmd.io/_uploads/H1dvAxMFa.png) | příkaz | definice | | --- | --- | | `pwd` | vypíše jméno pracovního adresáře | | `cd [adresář]` | změní pracovní adresář | | `ls [-ladL] <adresář>` | vypíše obsah adresáře | | `mkdir [-p] <adresář>` | vytvoří adresář/adresáře | | `rmdir <adresář>` | smaže prázdný adresář | | `rm [–r] <název>` | smaže soubor [adresář] (nemusí být prázdný) | ___ ## Poznámky ze skupinových meetingů: ### 1. Uvodní skupinový meeting (12. 1. 2024, 16:30-19:00): - Intro, představení, očekávání, návrh temat 1. Kvantová chemie (pro elektrony) 1. Schrödingerova rovnice: - $\hat{H}\Psi=E\Psi$ - nejde rešit přesně, musíme použít aproximace - rešením získáme celkovou energii ($E$) a vlnovou funkci ($\Psi$) - kvadrát absolutní hodnoty funkce je hustota pravděpodobnosti výskytu elektronů, neboli: $|\Psi(x,y,z)|^2=\rho(x,y,z)$ - Kodaňská interpretace kvantové mechaniky 2. Hyperplocha potenciální energie (PES) - je to potenciální energie uspořádání jader $E=f(\vec{R})$ 2. Molekulová dynamika (pro jádra) - Newtonovy pohybové rovnice - rešíme $-\frac{\partial V}{\partial \vec{r}}=F=ma=m\frac{d^2\vec{r}}{d t^2}$ dynamický vývoj polohy jader v čase 3. Fotochemie - Fotochemické procesy - molekula je reprezentována bodem na PES a časový vývoj odpovídá pohybu jeho pohybu po PES 4. Strojové učení - Z napočítaných dat sestavíme tréninková sada: $\{E,\Psi\}$ - Přesnost ML modelu určíme rozptylovými grafy 5. Soft skills - Dokumenty, prezentace - $\LaTeX$ - Práce s literaturou JabRef - Vizualizace dat - gnuplot/Python/Jupyter notebook ### Call #1 (23. 1. 2024, 17:30-18:30): - Editace `~./bashrc`, například: `export NX="<cesta k adresari>"` - `qsub, qdel, qstat` - pro submitovaní jobů ### 2. Druhý skupinový meeting (): - Definice derivace, hledání minima (příklady: $x^2, x^3-3x$) - Kvantově chemické výpočty programem Gaussian metodou Hartre-Fock ### Individuální meeting - Výsledky disociačních křivek ### 3. Druhý skupinový meeting (30. 4. 2024 17:00-18:30): - Jupyter Notebooku - ML fit $H_2$ křivky - Roadmap projektů - Absorpční spektra - Neadiabatická molekulová dynamika - Strojové učení ___ ### Archiv domácích úkolů #### #1 bash Základní info: - pokud chcete použít předchozí příkaz, nemusíte ho psát znova, stačí použít šipky nahoru/dolů - k zobrazení nápovědy nějakého příkazu můžete použít `man <prikaz>` 1. Manipulace se soubory a adresáři 1. Vytvořte adresář s názvem `bash` příkazem `mkdir <jmeno>` (make directory), název se vám ale nelíbí, takže ho změňte na `testing_bash` příkazem `mv <stary> <novy>` (move) 2. Přejděte do adresáře příkazem `cd <jmeno>` (change directory) a ověřte, že je prázdný `ls` (list), zkuste také příkaz `cd` bez jména adresáře, vrátíte se zpět do domovského adresáře, což si můžete ověřit příkazem `pwd` (print working directory), zpět se vrátíte `cd -` nebo `cd <jmeno>`. 3. Vypište si na standardní výstup text příkazem `echo "Test 1"`, poté zkuste znovu, ale přesměrujte jej do souboru `echo "Test 1" > test.txt`. 4. Ověřte, že se vám soubor vytvořil, vyzkoušejte různé pepínače, např.: `ls -l`, `ls -a`, `ls -lh` 5. Zkuste `echo "Test 2" > test.txt` a podívejte se, na obsah souboru, poté zkuste `echo "Test 2" >> test.txt` - teď by mělo být jasné jaký je rozdíl mezi `>` a `>>`. 6. Zkopírujte si soubor `dyn.out` z `/home/jakubm/OtevrenaVeda/` příkazem `cp <cesta k souboru> <cesta kam>`, 7. Vytvořte si ještě jednu kopii s názvem `dyn.out_bk` (zkontrolujte pomocí `ls`), původní soubor smažte pomocí `rm` (remove) 8. Soubor si přejmenujte na `dyn.out` pomocí `mv`. 2. Práce s textem 1. Soubor `dyn.out` obsahuje část trajektorie na, na kterou jsme se dívali, do souboru se můžete podívat pomocí `vim` můžete si zkusit něco změnit poté co se dostanete do editačního módu stiskem `i`. Soubor ale nechceme měnit, takže bez úprav můžete odejít pomocí stisku `Esc` a `:q!` 2. Na trajektorii se můžete podívat pomocí jednoduchého programu `molden <jmeno>`, soubor je ale ve špatném formátu a nic se vám nenačte, zavřete tedy pomocí lebky (křížek nefunguje) a použijte perlový skript pro transformaci `/home/jakubm/NX-2.4-B06/bin/dynout2xyz.pl`, vytvořil se vám soubor dyn.xyz, nyní bychom se chtěli podívat, co se s ním stalo. Můžeme použít vim, ale je i jednodušší způsob 3. Příkazem `cat <jmeno>` (concatenate) zobrazte obsah souborů. Zjistili jste, že jsou velmi dlouhé a chtěi byste zobrazit pouze první řádky, ppoužijte příkazy `head <jmeno>` a `tail <jmeno>`, zkuste také kolik prvních řáků chcete zobrazit `head -20 <jmeno>`. Zjistili jste, že `dyn.out` obsahuje nějaké řádky navíc, zkuste nyní použít `molden` pro zobrazení trajektorie, vyzkoušejte si jaké má funkcionality. 4. Zajímá nás potenciální energie, která je v `dyn.out` vždy pod souřadnicemi a rychlostmi molekuly. Můžete si všimnout, že na začátku řádky se vždy nachází znak `%`, toho můžeme šikovně využít příkazem `grep "%" dyn.out` (global regular expression print). Poslední řádek je potenciální energie, chtěli bychom tento sloupeček uložit do nějakého souboru, začneme tedy příkazy řetězit to se udělá pomocí `|` mezi příkazy, tedy: `grep "%" dyn.out | awk '{print $5}` - tím říkáme, že chceme vytisknout 5. sloupec. Chceme jej ale do souboru, takže přidejte `> jmeno`. 5. Chtěli bychom se podívat, jak se nám potenciální energie mění podél trajektorie, použijte program `gnuplot`, dostanete se do prostredi, kde muzete zadat `plot '<jmeno souboru>' using 1` a zobrazí se vám vývoj v čase - to je jednoduchý způsob jak si rychle kontrolovat výsledky. 3. Psaní skriptů 1. Je výhodné jednotlivé příkazy psát do spustitelných souborů - psát skripty. Vytvořte si proto soubor `make_dirs.sh` a do nej napište příkazy pro vytvoření 20 adresářů pojmenovaných `GEOM_N` kde `N` bude číslo adresáře. Nejdřív musíte soubor udělat "spustitelným", podívejte se nejřív na práva příkazem `ls -l` levá písmena označují práva pro `r = read`, `w = write`, `x = execute`, použijte `chmod +x make_dirs.sh`. Když vypíšete `ls -l` měl by se vám soubor zobrazit jinou barvou a uvidíte, že jsou všude `x` a je tedy spustelný. 2. Použijte `for` cyklus, zkuste si nejdriv spustit `./make_dirs.sh` (všimněte si, že na prvním řádku říkáme, že používáme bash, stejně tak je možné napsat skript v pythonu): ``` #!/bin/bash for i in {1..20}; do echo "${i}" # tohle je komentar done ``` 3. Napište skript, který do vytvořených adresářů nakopíruje příslušné geometrie tak, jak jdou v souboru `dyn.out` po sobě, tedy to co je pod: `New geometry:`. Dále bychom v jednotlivých adresářích chtěli separátní soubory pro kinetickou, potenciální a celkovou energii (tedy to co jsme si dřív tzv. vygrepovali). V adresáři tedy budeme mít: `geom.dat`, `en_pot.dat`, `en_tot.da`, `en_kin.dat`. #### #2 Gaussian 1 Užitečné odkazy: - [Tabulované hodnoty](https://cccbdb.nist.gov/exp2x.asp?casno=1333740&charge=0) - [Převod jednotek](https://www.justintools.com/unit-conversion/energy.php?k1=atomic-unit-of-energy&k2=electron-volt) Každý bude mít jiné parametry výpočtů: - HS: - RHF/STO-3G - RHF/3-21G - ON: - RHF/cc-pVDZ - UHF/STO-3G - ZL: - UHF/3-21G - UHF/cc-pVDZ 1. Přečtěte si kapitoly o variačním principu v kvantové chemii. (např. v [Jensen 3.2](http://ktrungthuy.free.fr/SACH-BOOKS/Computational%20Chemistry/Introduction%20to%20computational%20chemistry.pdf), [Slavicek 9.1](https://photox.vscht.cz/old/files/Kvantova_chemie_27-04-2020_COLOR.pdf), [Cramer 4.4.2](http://lqtc.fcien.edu.uy/cursos/Fq2/2009/libros/Essentials%20of%20Computational%20Chemistry%20Theories%20and%20Models%202d%20Ed%20-%20Christopher%20J.%20Cramer.pdf)), [Wikipedie](https://en.wikipedia.org/wiki/Variational_method_(quantum_mechanics)) a pokuste se odpovědět na otázky (je to obtížné, pokud něčemu nerozumíte, zkuste se zeptat ChatGPT): 1. Popište variační princip v kvantové chemii, co to je a proč je důležitý? 2. Jaké parametry se v rámci variačních metod minimalizují? - v následujích úlohách se snažte používat skripty v bashi (např. pro vytvoření souborů s geometriemi, zadávání výpočtů a extrakci výsledných hodnot) 2. Vytvořte 25 souborů se souřadnicemi molekuly H$_2$, místo $x$ doplňte $\{0.3, 0.4, ..., 2.7\}$ (dávejte si pozor, že desetinná čísla obsahují tečky, nikoliv čárky) ``` %Chk=h2 # RHF/STO-3G Geom=NoCrowd Guess=Mix vodik disociace 0 1 H 0.0 0.0 0.0 H x 0.0 0.0 ``` 3. Samotné výpočty provádějte buď v jednom adresáři nebo každý ve vlastním. Spusťte výpočet metodou HF (`G16 <input_file> 1`) pro zadané metody (RHF/UHF) a báze (STO-3G, 3-21G, cc-pVDZ) 4. Z outputových souborů vytáhněte energie a zobrazte je do grafu, kde na $x$ bude vzdálenost H$_2$ a $y$ bude (elektronová) energie. 5. Identifikujte, jaká vzdálenost odpovídá nejnižší energii a výsledek porovnejte s experimentální hodnotou. (jednak identifikujte, jaký výpočet, a tedy jaká vzdálenost, odpovídá nejnižší energii, jednak proložte body křivkou a určete minimum) 6. Určete disociační energii (tedy energii, kterou musíme dodat, aby došlo k disociaci molekuly) a porovnejte ji s experimentalní hodnotou. 7. Porovnejte výsledky pro různé báze (STO-3G, 3-21G, cc-pVDZ). Jaký vliv má velikost báze na přesnost výsledku? (Jak na disociační energii, tak na vzdálenosti) 8. Porovnejte výsledky obou metod: RHF, UHF. Jak se liší a co která popisuje správně. 9. Která báze dává nejlepší výsledky? Souvisí to nějak s variačním principem? 10. (BONUS) Pokud chcete zkusit nějaký přesnější výpočet, zkuste použít místo `RHF` `CCSD` jedná se o rodinu nejpřesnějších metod vyvinutých českými kvantovými chemiky, tzv. [metoda spřažených klastrů](https://cs.wikipedia.org/wiki/Metoda_v%C3%A1zan%C3%BDch_klastr%C5%AF). 11. (BONUS) Pokud máte hotovo, ale chtěli byste se dozvědět něco o zajímavějších molekulách, zkuste postup zopakovat pro molekuly O$_2$ a N$_2$. (Můžete použít klíčové slovo `Scan` a vše provést v jednom výpočtu). Např.: ``` # UHF/STO-3G Scan Geom=NoCrowd Guess=Mix NoSymm disociace 0 1 o o 1 hh2 hh2 = 2.5 20 -0.1 ``` #### #3 Gaussian 2 - Už víte, jak zadávat výpočty Gaussianem a udělali jsme si sken hyperplochy potenciální energie pro molekulu vodíku. Teď se trochu podíváme ještě na teorii chemické vazby. 1. Zkuste se zamyslet, zda vzdálenost atomu v molekule $H_2^+$ bude větší či menší než u $H_2$ a proč (souvisí to částečně s Coulombovskou interakcí nábojů). ``` h2 1 2 # 1 - naboj, 2 - multiplicita, spocita se: M=2S+1, celkovy spin je nyni S=1/2, tedy M=2 (dublet) h h 1 hh2 ``` 2. Zjistěte, zda je ion $H_2^+$ stabilní molekulou. Výpočtem zjistěte jeho disociační energii (nejpřesnější výsledek dostanete metodou CID v bázi cc=pVQZ) a porovnejte ji s $H_2$ (4.46 eV, [Cheng et. al.](https://doi.org/10.1103/PhysRevLett.121.013001)). Odpovídá to silnější nebo slabší vazbě? 3. Výpočtem zjistěte, zda může existovat molekula $He_2$ a $He_2^+$. 4. Spočtěte první 2 excitované stavy molekuly vodíku $H_2$. Co nastane v situaci, kdy $H_2$ absorbuje záření a jeden elektron přejde na vyšší hladinu (použijte k tomu klíčové slovo TD)? Zkuste udělat výpočty jak pro paralelní, tak antiparalelní spiny (tyto stavy se liší multiplicitou M=1 singlet - antiparalelni spiny, M=3 triplet = paralelni spiny) ``` TD=(Root=1,NStates=2) ```

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password
    or
    Sign in via Google Sign in via Facebook Sign in via X(Twitter) Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    By signing in, you agree to our terms of service.

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully