theochem / gbasis

Python library for analytical evaluation and integration of Gaussian-type basis functions and related quantities.
http://gbasis.qcdevs.org/
GNU Lesser General Public License v3.0
34 stars 21 forks source link

GSoC 2024: Improve Performance Using Screening #167

Open PaulWAyers opened 5 months ago

PaulWAyers commented 5 months ago

Description

Use screening based on the overlap between basis functions to improve performance.

:books: Package Description and Impact

For large molecules, textbook expressions for quantities expanded in Gaussian basis functions (e.g., the electron density) or integrals based on Gaussian basis functions (e.g., the kinetic-energy integral) typically include many negligible terms. By screening out these terms, and only evaluating terms that are nonnegligible, the performance of GBasis can be greatly enhanced.

:construction_worker: What will you do?

In GBasis we provide a utility for screening these terms using their overlap, is_overlap_included. When this expression is small, one can also neglect other one-electron integrals. A generalization of this approach allows fast evaluation of spatial quantities and 2-electron integrals. Your main goal would be to screen 1-electron integrals and the evaluation of quantities at (grid) points using overlap screening and its generalization.

:checkered_flag: Expected Outcomes

  1. Adapt is_overlap_included to screen other one-electron integrals.
  2. Extend is_overlap_included to three functions, which allows screening spatial evaluations.
  3. Write tests to ensure correctness and assess performance.
  4. :trophy: An ambitious stretch goal is to implement screening of 2-electron integrals.
Required skills Python, OOP
Preferred skills Be comfortable with math, physics. Experience with scientific programming, quantum chemistry would be huge plus
Project size 350 hours, Large
Difficulty Medium 😉

:raising_hand: Mentors

Marco Martínez-González mmg870630_at_gmail_dot_com @marco-2023
Valerii Chuiko valerachuiko_at_gmail_dot_com @RichRick1
Paul Ayers ayers_at_mcmaster_dot_ca @PaulWAyers
praptisharma28 commented 4 months ago

Dear @PaulWAyers ,

I hope this message finds you well. I do full stack web development and open source contributions and I'm eager to contribute to your GitHub repositories and projects as well. My technology stack include HTML, CSS, Django, JavaScript, SQL (MySQL/NoSQL), Python, C, C++. I am also comfortable with MERN stack. Could you direct me to repositories needing these skills or suggest specific tasks for contribution? I'm enthusiastic about collaborating and adding value to this project.

Thank you, Prapti Sharma B. tech. 2nd year student Github Username: @praptisharma28 Location: India

Sakshamgupta90 commented 4 months ago

Hi @PaulWAyers I am Saksham Gupta, a final year student from India. I find this project interesting and I would like to work on it. It would be very appreciated, if you could suggest some more information on how to get started with this project.

Looking forward to your reply! Thanks:)

marco-2023 commented 3 months ago

Dear Saksham Gupta (@Sakshamgupta90) and Prapti Sharma (@praptisharma28),

We are delighted by your interest in our project! To gain a better understanding of the project's codebase, we recommend reading Pull Requests #146 and #147, which serve as tutorials. These will provide you with insights into the package's functionalities.

Thank you for your enthusiasm and dedication.

Warm regards, Marco

3laaHisham commented 3 months ago

Hello Everyone @PaulWAyers @marco-2023,

I hope you are in good health. I am writing to express my interest in the Gbasis Project as part of the GSoC program.

I am Alaa Hisham, a fourth-year computer science and engineering student at The German University in Cairo, Egypt.

After some review of the project, I am confident in my ability to understand, plan, and contribute to the project. I am very proficient with: Python and OOP, Along with scientific programming, especially NumPy, as I have used it for a machine learning specialization. In addition, due to my engineering background, I am well-practiced with math and physics and comfortable with chemistry.

I have spent the past week immersing myself in your codebase, delving into the GBasis tutorials and documentation, and installing the package to understand the end-user perspective. I focused to simplify the process by abstracting the QC from the programming, and I am pleased with the progress made.

As I work towards contributing to GBasis and crafting my proposal, I will provide updates and seek your feedback

Thanks for your consideration and I am excited to work with you!