Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.2%) to scientific vocabulary
Last synced: 9 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: mk8819
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 5.89 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 2
Created over 2 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License Citation

README

         BBBB   YY   YY  NN    N   DDD
         B   B   YY YY   N N   N   D  D
         BBBB      Y     N  N  N   D   D
         B   B     Y     N   N N   D  D
         BBBB      Y     N    NN   DDD 

README
   ----------------------------------------------

   This is the development version of BYND. 
   BYND is a code which combines approximate frequency
   results with exact short time dynamics to achieve
   an efficent calculation of electronic excitation
   spectra.

   BYND is totally independet of the underlying
   electronic structrue method/code.
   
   The only requirement is a time-dependent
   dipole signal (short time dynamics) and
   a sufficient accurate initial guess for the
   excitation spectrum.


STRUCTURE
   ----------------------------------------------
   / Main code:

   BYND essentially consists of two routines:

      1. src/simple_line_search.py
         -> perform_line_search_tensor_off_diagonal

      2. src/continuum_amplitudes.py
         -> get_continuum_freq

   These routines do not depend on the electronic 
   structure code. As long the data is provided
   correctly.

   These two routines use helper routines to 
   perform the task which are located in:

      src/helpers_line_search.py

         -> update_amplitudes_tensor
         -> sort_amplitudes_tensor
         -> objective_tensor
         -> generate_signal_tensor
         -> get_search_grid

   That is all. All other routines are helper 
   functions to handle the data structure of 
   the FHIaims RT-TDDFT routines.

   ----------------------------------------------
   / examples:

      examples/optimize_frequencies.py

   This is an example for how to perform a
   calculation with BYND. Note, this example
   takes long time dynamics and cuts out a
   very short time signal. All operations
   are performed using this short time signal.
   In the end the long time signal is then used to
   compare the exact result with the result obtained 
   from BYND. For a real scenary the long time
   dynamics signal is not known.

   This script is essentially some sort of wrapper
   around different functions which mostly handles I/O
   operations. At the heart of the script is 
   the function call to 
   'perform_line_search_tensor_off_diagonal'
   and 'get_continuum_freq'. This is where the
   optimization is happening.

   The script assumes that all files which are
   present in data/ are in the same folder.

   ----------------------------------------------
   / helpers:

   This folder contains only helper functions
   which are there for I/O or for calculating
   the final excitation spectrum.
   This is highly specific for FHIaims and needs
   to be adabted/changed if one uses other
   electronic structure codes.

      helpers/get_spectrum_time_domain.py

      helpers/helpers_rt_tddft_fhiaims_utilities.py

      helpers/spectrum_helpers.py

      helpers/plot_spectrum.py
      -> simple script to plot the BYND
         results compared to the exact
         long time dynamics result

   ----------------------------------------------
   / data:

   Contains all relevant data to perform a simple
   example. 

      -> sma_tddft.data
         SMA frq and osci. strength

      -> trans_mom_sma.data
         SMA trans. dipole moments

      -> x.rt-tddft.dipole.dat
         RT-TDDFT dipole data E-field puls in x

      -> x.rt-tddft.ext-field.dat
         RT-TDDFT applied external field

      -> y.rt-tddft.dipole.dat
         RT-TDDFT dipole data E-field puls in y

      -> z.rt-tddft.dipole.dat
         RT-TDDFT dipole data E-field puls in z

   ----------------------------------------------
   Notes on how to use the example script:

   - copy all files in data/ into the folder where
     optimize_frequencies.py is located. It might
     be necessary to adjust the system paths in
     optimize_frequencies.py so that the script
     can find all necessary helper functions.

   - Then simply run the script e.g.
     python3 optimize_frequencies.py

   - The script should perform all necessary 
     calculations. In the end you should
     have spectrum_bynd_vs_exact.pdf in your
     folder which compares the spectrum of
     a long-time RT-TDDFT simulation with the
     spectrum obtained from BYND.

   

Owner

  • Login: mk8819
  • Kind: user

Citation (CITATION.cff)

@software{github_bynd,
  author = {Kick, Matthias and Van Voorhis, Troy},
  doi = {10.5281/zenodo.12771684},
  month = {7},
  title = {{Super-resolution techniques to simulate electronic spectra of large molecular systems}},
  url = {https://github.com/mk8819/bynd},
  version = {0.1.1},
  year = {2024}
}

GitHub Events

Total
Last Year

Dependencies

requirements.txt pypi
  • matplotlib ==3.1.2
  • numpy ==1.21.2
  • scikit-image ==0.19.3
  • scikit-learn ==1.1.2
  • scikit-optimize ==0.9.0
  • scipy ==1.7.1
  • sklearn ==0.0.post1