Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ENH: Adds conv thresh for supermolec complex opt #776

Merged
merged 4 commits into from Aug 13, 2017

Conversation

dsirianni
Copy link
Contributor

@dsirianni dsirianni commented Aug 7, 2017

Description

Adds convergence threshold option for geometry optimization of supermolecular complexes which is slight relaxation of g_convergence gau_tight criteria which allows for:

  • tight convergence of energy and forces, and
  • relaxed convergence of max_disp and rms_disp displacement criteria.

These criteria allow for successful optimization on flat potential surfaces, especially those associated with interfragment (supermolecular) geometry optimizations.

Todos

Adds interfrag_gau_tight value to g_convergence OPTKING convergence threshold control keyword.

  • User-Facing for Release Notes
    • Basic users can use keyword to achieve quality geometry optimizations of supermolecular complexes, without manual manipulation of individual g_convergence components.

Questions

  • interfrag_gau_tight vs. gau_tight_interfrag? One one hand, it's a modification of gau_tight, but on the other hand, it has no counterpart within the Gaussian package.

Status

  • Ready to go

Opt_params.conv_max_disp = 6.0e-4; Opt_params.i_max_disp = true;
Opt_params.conv_rms_disp = 4.0e-4; Opt_params.i_rms_disp = true;
}
if (Opt_params.general_conv == "GAU_VERYTIGHT") {
Copy link
Member

Choose a reason for hiding this comment

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

why if not else if?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Whoops, that was meant to be an else if.

Copy link
Member

Choose a reason for hiding this comment

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

else if (Opt_params.general_conv == "GAU_VERYTIGHT") {
else if (Opt_params.general_conv == "INTERFRAG_GAU_TIGHT") {
Opt_params.i_untampered = true;
Opt_params.conv_max_DE = 1.0e-6; Opt_params.i_max_DE = true;
Copy link
Member

Choose a reason for hiding this comment

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

since you're changing two convcrit (disp) and actually adding one (dE), I might advocate just INTERFRAG_TIGHT or INTERMOL_TIGHT.

@CDSherrill
Copy link
Member

CDSherrill commented Aug 7, 2017 via email

@@ -2419,7 +2419,7 @@ int read_options(const std::string &name, Options & options, bool suppress_print
/*- Set of optimization criteria. Specification of any MAX_*_G_CONVERGENCE
or RMS_*_G_CONVERGENCE options will append to overwrite the criteria set here
unless |optking__flexible_g_convergence| is also on. See Table :ref:`Geometry Convergence <table:optkingconv>` for details. -*/
options.add_str("G_CONVERGENCE", "QCHEM", "QCHEM MOLPRO GAU GAU_LOOSE GAU_TIGHT GAU_VERYTIGHT TURBOMOLE CFOUR NWCHEM_LOOSE");
options.add_str("G_CONVERGENCE", "QCHEM", "QCHEM MOLPRO GAU GAU_LOOSE GAU_TIGHT INTERFRAG_GAU_TIGHT GAU_VERYTIGHT TURBOMOLE CFOUR NWCHEM_LOOSE");
Copy link
Member

Choose a reason for hiding this comment

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

going to have to change kw here, too.

Copy link
Member

Choose a reason for hiding this comment

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

@dsirianni Can you patch this so we can get it in?

Copy link
Member

@dgasmith dgasmith left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Member

@loriab loriab left a comment

Choose a reason for hiding this comment

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

LGTM

@dgasmith dgasmith merged commit ffb1c0d into psi4:master Aug 13, 2017
@dsirianni dsirianni deleted the interfrag_gtight branch August 13, 2017 18:30
@loriab loriab added this to the Psi4 1.2 milestone Apr 13, 2018
@dgasmith dgasmith mentioned this pull request Apr 13, 2018
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.

None yet

5 participants