Skip to content

WIP: Task class#218

Open
nakul680 wants to merge 10 commits intofaccts:feature/simple-tasksfrom
nakul680:simple_keyword_lookup
Open

WIP: Task class#218
nakul680 wants to merge 10 commits intofaccts:feature/simple-tasksfrom
nakul680:simple_keyword_lookup

Conversation

@nakul680
Copy link
Copy Markdown
Collaborator

Closes Issues

Closes #
...

Description

  • Implements TaskParams and Task classes
  • Implement way to lookup simple keywords from strings

Release Notes

(Project adheres to Keep a Changelog; Every entry should start in upper-case and end with (#<pr-id>); Remove sections that don't apply)

Added

Changed

  • ...

@nakul680 nakul680 self-assigned this Mar 16, 2026
@nakul680 nakul680 requested a review from a team as a code owner March 16, 2026 16:31
@timmyte
Copy link
Copy Markdown
Contributor

timmyte commented Mar 17, 2026

@nakul680
Did you also take into account, that we substitute some letters/characters in the original names and that both key and value could be used to lookup the respective enum member, e.g.

G6_311GSTARSTAR = SimpleKeyword("6-311g**")

Searching for G6_311GSTARSTAR or 6-311g** should both yield the same enum member.

@nakul680 nakul680 force-pushed the simple_keyword_lookup branch from 29019e7 to 790a499 Compare March 25, 2026 08:46
@nakul680 nakul680 force-pushed the simple_keyword_lookup branch from 10f331e to 9fa47b5 Compare March 25, 2026 15:58
@nakul680
Copy link
Copy Markdown
Collaborator Author

nakul680 commented Apr 1, 2026

  • Changed TaskParams to Settings, which have child classes 'TaskSettingsandMethodSettings`.
  • Task class renamed to SimpleTask, added method_settings and task_settings parameters.
  • validate() function in Settings class has been repurposed to contain cross-validation logic (which is not implemented yet) , as validate_field() function already handles all validation
  • Added documentation
  • created new file method_settings.py I think all child classes of MethodSettings i.e the 4 major groupings like DftSettings, WftSettings etc. should live here since they are not task-dependant.

@nakul680
Copy link
Copy Markdown
Collaborator Author

nakul680 commented Apr 13, 2026

Latest changes:

  • Introduction of new groupings like ScfConvergence , ScfThreshold etc. These are now the base classes holding keyword of this type, and the larger grouping Scf will inherit from these classes.
  • Fleshed out DftSettings class , added cross validation in case of specific methods, and added logic to look for dispersion correction keywords.
  • added strict flag to avoid overwriting existing working directories.
  • solvent, solvation_model are now optional keywords.
  • added aliasing for simple keywords to allow for a better API

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