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
- Repositories: 1
- Profile: https://github.com/mk8819
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