Skip to content

Conversation

@tutou2356
Copy link

Files Added

  1. s-type BFit data processor (scripts/bfit_data_processor.py)

    • Processes promolecular coefficients and exponents from BFit data files
  2. UniformGrid vs CubicProTransform comparison test(scripts/electron_density_integration.py)

    • Compares two grid integration methods for molecular systems
    • Analyzes transform grid integration error variations with different grid sizes
    • Tests 5 molecular systems: He, H2, HCl, CH4, H2O

- BFit data processor for s-type orbital data
- UniformGrid vs CubicProTransform comparison test
- Grid size performance analysis for 5 molecular systems
Copy link
Contributor

@Ali-Tehrani Ali-Tehrani left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @tutou2356, this is alot better, and exactly finishes the last bit of Phase 1! Thank you for starting a fresh PR, cleaning up the files, and removing duplicates. Please before our next meeting, address the PR comments that I have written, and be prepared to showcase some results and explain the decisions you made surround the code. This will help us with our midterm evaluations. As always, if you need any help or questions, feel free to send an email or put on private discussions.

return None, f"UniformGrid error: {str(e)}"


def create_promol_params(bfit_processor, symbols, coords, deps):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is good function to have, and I would make it part of BFitDataProcessor, as a function there. We can think of BFitDataProcessor to be the middle object between BFit and PromolParams.

Add grid construction time and integration time columns to uniform vs transform comparison table, simplify duplicate code in test_grid_sizes function
This commit introduces Adaptive1DGrid, a class for adaptive numerical integration on the [-1, 1] interval.

The implementation uses a segment-based strategy, where the grid refines locally by bisecting the segment with the largest integral contribution. Each segment is built upon a Gauss-Legendre quadrature rule.
@tutou2356 tutou2356 force-pushed the electron-density-tools branch from cf31254 to aa7e243 Compare July 24, 2025 17:14
Adds the AdaptiveUniformGrid wrapper class to provide
recursive subdivision of a uniform grid.
- Rename bfit_data_processor.py to utils_promol.py and move to src/grid/
- Rename electron_density_integration.py to test_CubicProTransform.py and move to src/grid/tests
- Add PromolMolecule class that integrates BFit data with CubicProTransform
-Filter tiny coefficients for numerical stability
-Added a Jupyter Notebook that serves as an overview of the project
@Ali-Tehrani Ali-Tehrani changed the title Add electron density integration tools and BFit data processor GSOC 2025: Add electron density integration tools and BFit data processor Sep 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants