Skip to main content

A set of python modules for machine learning and data mining on DFT calculations

Project description

DFT-Clustering

This program takes the output of DFT calculations carried out in the the computational platform StoBe for the simulation of NEXAFS to generate an optical tensor model derived from first principles. The result is a set of peaks that make up an optical model using a tensor based formalism that can be used to carry out simultaneous fits on angle resolved NEXAFS for the extraction of the molecular tilt angle. These peaks can then be used to obtain optical constants that could be subsequently used in the analysis of Resonant Soft X-Ray Scattering (R-SoXS) and Resonant X-Ray Reflectivity (XRR).

Build Requirements

[!NOTE] This software is developed to be used by the STOBE dft calculation platform. Calculations must be compleated using STOBE.

The python helper functions used to require a STOBE to be installed in a particular method. This has been changed. Now the python helpers look for the following environment variable.

STOBE='\path\to\stobe\root\`

And they require the followign binaries to be in a bin accessable by the current user.

StoBe.x
xrayspec.x

These must be set, or StoBe will fail to instantiate the calculator.

Install Instructions

On Windows, download the latest release from the releases tab. Unzip the file and run the installer. The installer will install the necessary files in the appropriate directories.

Algorithm Specifications

The algorithm works by defining the following parameters:

  1. An energy cutoff that defines what is the maximum DFT transition energy to consider
  2. An oscillator strength threshold that filters transitions that do not have a sufficiently high intensity from subsequent steps
  3. A peak overlap threshold that determines whether two transitions can be clustered together depending on the overlap area between them.

These peak overlaps can then be subsequently used to generate a more compact set of peaks (i.e. transition clusters) that are representative of all the transitions initially calculated by the TP-DFT. The transition clusters are then combined with angle-resolved NEXAFS measurements in order to generate a quantitatively accurate optical model derived from first principle calculations.

Finally, the transition clusters that comprise the optical model can be used to identify the chemical, energetic and orientational character of the various NEXAFS features in addition to allow these NEXAFS features to be associated with specific MOs calculated from the TP-DFT.

The code runs on IGOR 8, however a Python implementation may be developed in the future. Also, the code takes StoBe output files as input, however, as long as the computational platform provides transition energies, transition intensities and the components of the transition dipole moment, then the loading function can be modified to accomodate other platforms.

The accompanying python files are there to:

  1. Facilitate the procedural generation of the .run files for a Transition Potential calculation carried out in StoBe
  2. Extract the Mulliken Population Analysis from the StoBe output files that can be subsequently loaded into IGOR to aid in the chemical characterization of NEXAFS transitions.

Setup Help

Setup

  1. Navigate to the following directory: Documents > Wavemetrics > Igor Pro 8 User Files
  2. Place the file clusteringPanel v1.ipf in the folder named "Igor Procedures"
  3. Navigate to the folder Documents > Wavemetrics > Igor Pro 8 User Files > User Procedures
  4. Place the contents of the folder "DFT_Clustering" inside the "User Procedures" directory
  5. Open an IGOR instance. There should be a tab titled Macros there. Within the dropdown menu in Macros there should be an option titled "Clustering Algorithm" which will load in the control panel for the algorithm.

Bug reporting/Help

For any concerns email me at victor.murcia@wsu.edu

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dft_learn-0.1.0.tar.gz (17.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dft_learn-0.1.0-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file dft_learn-0.1.0.tar.gz.

File metadata

  • Download URL: dft_learn-0.1.0.tar.gz
  • Upload date:
  • Size: 17.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.13

File hashes

Hashes for dft_learn-0.1.0.tar.gz
Algorithm Hash digest
SHA256 edcaf9712c4e42715f5e0a985ecd60e490154d853706b8cbab057f06ee81649a
MD5 e80d91d6bb00ed91c9be3170adb2b9b1
BLAKE2b-256 fdb6b71119d33533dcad764a4e38d3ccc9ce10a83cbc05722d1a765eacf68a49

See more details on using hashes here.

File details

Details for the file dft_learn-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: dft_learn-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 17.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.13

File hashes

Hashes for dft_learn-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dadf0da323641fbca4faa90d4ae9589e0786c2696bbb8bad8814161b040d38a2
MD5 771e6f3e69688142e0034c196b305c18
BLAKE2b-256 7748693b5b94e6a1d6b5fb75f51a9676a48dba07b7e6a9cc9bc817816890722d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page