Skip to content

Commit 5211a2d

Browse files
committed
Update input for PCM
1 parent 063eae0 commit 5211a2d

18 files changed

+318
-283
lines changed

doc/users/user_ref.rst

+73-70
Original file line numberDiff line numberDiff line change
@@ -860,6 +860,79 @@ User input reference
860860

861861
**Default** ``user['SCF']['kain']``
862862

863+
:Solvent: Parameters for the Self-Consistent Reaction Field optimization.
864+
865+
:red:`Sections`
866+
:Permittivity: Parameters for the permittivity function.
867+
868+
:red:`Keywords`
869+
:epsilon_in: Permittivity inside the cavity. 1.0 is the permittivity of free space, anything other than this is undefined behaviour.
870+
871+
**Type** ``float``
872+
873+
**Default** ``1.0``
874+
875+
:formulation: Formulation of the Permittivity function. Currently only the exponential is available.
876+
877+
**Type** ``str``
878+
879+
**Default** ``exponential``
880+
881+
**Predicates**
882+
- ``value.lower() in ['exponential']``
883+
884+
:red:`Sections`
885+
:epsilon_out: Parameters for the continuum solvent outside the cavity.
886+
887+
:red:`Keywords`
888+
:nonequilibrium: Whether to use the nonequilibrium formulation of response, *i.e.* use the dynamic permittivity for the calculation of the response reaction field. Defaults to false.
889+
890+
**Type** ``bool``
891+
892+
**Default** ``False``
893+
894+
:static: Static permittivity outside the cavity. This is characteristic of the solvent used.
895+
896+
**Type** ``float``
897+
898+
**Default** ``1.0``
899+
900+
:dynamic: Dynamic permittivity outside the cavity. This is characteristic of the solvent used and relevant only in response calculations. Defaults to the same value as `epsilon_static`.
901+
902+
**Type** ``float``
903+
904+
**Default** ``user['PCM']['Solvent']['Permittivity']['epsilon_out']['static']``
905+
906+
:DebyeHuckelScreening: Parameters for the Debye-Huckel screening factor
907+
908+
:red:`Keywords`
909+
:ion_strength: Ionic strength of the electrolyte in mol/L. This represents the concentration of the ions in the bulk solvent.
910+
911+
**Type** ``float``
912+
913+
**Default** ``1.0``
914+
915+
:ion_radius: Amount with which the vdw-radius of the atoms will be increased. The screening factor will have an area of effect that is often going to be larger than the vdw-cavity, but centered in the same atoms.
916+
917+
**Type** ``float``
918+
919+
**Default** ``0.0``
920+
921+
:ion_width: Width of the transition between the solute and the ion accessible part.
922+
923+
**Type** ``float``
924+
925+
**Default** ``0.2``
926+
927+
:formulation: formulation of the debye-huckel screening factor. Currently only the variable factor is implemented. ``variable``: implement the screening functions as k = (1-C_ion)k_out
928+
929+
**Type** ``str``
930+
931+
**Default** ``variable``
932+
933+
**Predicates**
934+
- ``value.lower() in ['variable']``
935+
863936
:Cavity: Define the interlocking spheres cavity.
864937

865938
:red:`Keywords`
@@ -896,76 +969,6 @@ User input reference
896969

897970
**Default** ``0.2``
898971

899-
:Permittivity: Parameters for the permittivity function.
900-
901-
:red:`Keywords`
902-
:epsilon_in: Permittivity inside the cavity. 1.0 is the permittivity of free space, anything other than this is undefined behaviour.
903-
904-
**Type** ``float``
905-
906-
**Default** ``1.0``
907-
908-
:formulation: Formulation of the Permittivity function. Currently only the exponential is available.
909-
910-
**Type** ``str``
911-
912-
**Default** ``exponential``
913-
914-
**Predicates**
915-
- ``value.lower() in ['exponential']``
916-
917-
:red:`Sections`
918-
:epsilon_out: Parameters for the continuum solvent outside the cavity.
919-
920-
:red:`Keywords`
921-
:nonequilibrium: Whether to use the nonequilibrium formulation of response, *i.e.* use the dynamic permittivity for the calculation of the response reaction field. Defaults to false.
922-
923-
**Type** ``bool``
924-
925-
**Default** ``False``
926-
927-
:static: Static permittivity outside the cavity. This is characteristic of the solvent used.
928-
929-
**Type** ``float``
930-
931-
**Default** ``1.0``
932-
933-
:dynamic: Dynamic permittivity outside the cavity. This is characteristic of the solvent used and relevant only in response calculations. Defaults to the same value as `epsilon_static`.
934-
935-
**Type** ``float``
936-
937-
**Default** ``user['PCM']['Permittivity']['epsilon_out']['static']``
938-
939-
:D_H_screening: Parameters for the Debye-Huckel screening factor
940-
941-
:red:`Keywords`
942-
:ion_strength: Ionic strength of the electrolyte in mol/L. This represents the concentration of the ions in the bulk solvent.
943-
944-
**Type** ``float``
945-
946-
**Default** ``1.0``
947-
948-
:ion_radius: Amount with which the vdw-radius of the atoms will be increased. The screening factor will have an area of effect that is often going to be larger than the vdw-cavity, but centered in the same atoms.
949-
950-
**Type** ``float``
951-
952-
**Default** ``0.0``
953-
954-
:ion_width: Width of the transition between the solute and the ion accessible part.
955-
956-
**Type** ``float``
957-
958-
**Default** ``0.2``
959-
960-
:formulation: formulation of the debye-huckel screening factor. Currently only the variable factor is implemented. ``variable``: implement the screening functions as k = (1-C_ion)k_out
961-
962-
**Type** ``str``
963-
964-
**Default** ``variable``
965-
966-
**Predicates**
967-
- ``value.lower() in ['variable']``
968-
969972
:Constants: Physical and mathematical constants used by MRChem
970973

971974
:red:`Keywords`

python/mrchem/helpers.py

+10-10
Original file line numberDiff line numberDiff line change
@@ -138,24 +138,24 @@ def _reaction_operator_handler(user_dict, rsp=False):
138138
"dynamic_thrs": user_dict["PCM"]["SCRF"]["dynamic_thrs"],
139139
# if doing a response calculation, then density_type is set to 1 (electronic only)
140140
"density_type": 1 if rsp else density_type,
141-
"epsilon_in": user_dict["PCM"]["Permittivity"]["epsilon_in"],
142-
"epsilon_static": user_dict["PCM"]["Permittivity"]["epsilon_out"]["static"],
143-
"epsilon_dynamic": user_dict["PCM"]["Permittivity"]["epsilon_out"]["dynamic"],
144-
"nonequilibrium": user_dict["PCM"]["Permittivity"]["epsilon_out"][
141+
"epsilon_in": user_dict["PCM"]["Solvent"]["Permittivity"]["epsilon_in"],
142+
"epsilon_static": user_dict["PCM"]["Solvent"]["Permittivity"]["epsilon_out"]["static"],
143+
"epsilon_dynamic": user_dict["PCM"]["Solvent"]["Permittivity"]["epsilon_out"]["dynamic"],
144+
"nonequilibrium": user_dict["PCM"]["Solvent"]["Permittivity"]["epsilon_out"][
145145
"nonequilibrium"
146146
],
147-
"formulation": user_dict["PCM"]["Permittivity"]["formulation"],
147+
"formulation": user_dict["PCM"]["Solvent"]["Permittivity"]["formulation"],
148148
"kappa_out": 0.0,
149-
"ion_radius": user_dict["PCM"]["D_H_screening"]["ion_radius"],
150-
"ion_width": user_dict["PCM"]["D_H_screening"]["ion_width"],
151-
"DHS-formulation": user_dict["PCM"]["D_H_screening"]["formulation"],
149+
"ion_radius": user_dict["PCM"]["Solvent"]["DebyeHuckelScreening"]["ion_radius"],
150+
"ion_width": user_dict["PCM"]["Solvent"]["DebyeHuckelScreening"]["ion_width"],
151+
"DHS-formulation": user_dict["PCM"]["Solvent"]["DebyeHuckelScreening"]["formulation"],
152152
}
153153

154154
# ionic solvent continuum model
155155
ionic_model = user_dict["WaveFunction"]["environment"].lower().split("_")[-1]
156156
if ionic_model in ("pb", "lpb"):
157-
permittivity = user_dict["PCM"]["Permittivity"]["epsilon_out"]["static"]
158-
ionic_strength = user_dict["PCM"]["D_H_screening"]["ion_strength"]
157+
permittivity = user_dict["PCM"]["Solvent"]["Permittivity"]["epsilon_out"]["static"]
158+
ionic_strength = user_dict["PCM"]["Solvent"]["DebyeHuckelScreening"]["ion_strength"]
159159
kappa_out = compute_kappa(user_dict["Constants"], permittivity, ionic_strength)
160160
reo_dict |= {
161161
"kappa_out": kappa_out,

python/mrchem/input_parser/docs/user_ref.rst

+73-70
Original file line numberDiff line numberDiff line change
@@ -860,6 +860,79 @@ User input reference
860860

861861
**Default** ``user['SCF']['kain']``
862862

863+
:Solvent: Parameters for the Self-Consistent Reaction Field optimization.
864+
865+
:red:`Sections`
866+
:Permittivity: Parameters for the permittivity function.
867+
868+
:red:`Keywords`
869+
:epsilon_in: Permittivity inside the cavity. 1.0 is the permittivity of free space, anything other than this is undefined behaviour.
870+
871+
**Type** ``float``
872+
873+
**Default** ``1.0``
874+
875+
:formulation: Formulation of the Permittivity function. Currently only the exponential is available.
876+
877+
**Type** ``str``
878+
879+
**Default** ``exponential``
880+
881+
**Predicates**
882+
- ``value.lower() in ['exponential']``
883+
884+
:red:`Sections`
885+
:epsilon_out: Parameters for the continuum solvent outside the cavity.
886+
887+
:red:`Keywords`
888+
:nonequilibrium: Whether to use the nonequilibrium formulation of response, *i.e.* use the dynamic permittivity for the calculation of the response reaction field. Defaults to false.
889+
890+
**Type** ``bool``
891+
892+
**Default** ``False``
893+
894+
:static: Static permittivity outside the cavity. This is characteristic of the solvent used.
895+
896+
**Type** ``float``
897+
898+
**Default** ``1.0``
899+
900+
:dynamic: Dynamic permittivity outside the cavity. This is characteristic of the solvent used and relevant only in response calculations. Defaults to the same value as `epsilon_static`.
901+
902+
**Type** ``float``
903+
904+
**Default** ``user['PCM']['Solvent']['Permittivity']['epsilon_out']['static']``
905+
906+
:DebyeHuckelScreening: Parameters for the Debye-Huckel screening factor
907+
908+
:red:`Keywords`
909+
:ion_strength: Ionic strength of the electrolyte in mol/L. This represents the concentration of the ions in the bulk solvent.
910+
911+
**Type** ``float``
912+
913+
**Default** ``1.0``
914+
915+
:ion_radius: Amount with which the vdw-radius of the atoms will be increased. The screening factor will have an area of effect that is often going to be larger than the vdw-cavity, but centered in the same atoms.
916+
917+
**Type** ``float``
918+
919+
**Default** ``0.0``
920+
921+
:ion_width: Width of the transition between the solute and the ion accessible part.
922+
923+
**Type** ``float``
924+
925+
**Default** ``0.2``
926+
927+
:formulation: formulation of the debye-huckel screening factor. Currently only the variable factor is implemented. ``variable``: implement the screening functions as k = (1-C_ion)k_out
928+
929+
**Type** ``str``
930+
931+
**Default** ``variable``
932+
933+
**Predicates**
934+
- ``value.lower() in ['variable']``
935+
863936
:Cavity: Define the interlocking spheres cavity.
864937

865938
:red:`Keywords`
@@ -896,76 +969,6 @@ User input reference
896969

897970
**Default** ``0.2``
898971

899-
:Permittivity: Parameters for the permittivity function.
900-
901-
:red:`Keywords`
902-
:epsilon_in: Permittivity inside the cavity. 1.0 is the permittivity of free space, anything other than this is undefined behaviour.
903-
904-
**Type** ``float``
905-
906-
**Default** ``1.0``
907-
908-
:formulation: Formulation of the Permittivity function. Currently only the exponential is available.
909-
910-
**Type** ``str``
911-
912-
**Default** ``exponential``
913-
914-
**Predicates**
915-
- ``value.lower() in ['exponential']``
916-
917-
:red:`Sections`
918-
:epsilon_out: Parameters for the continuum solvent outside the cavity.
919-
920-
:red:`Keywords`
921-
:nonequilibrium: Whether to use the nonequilibrium formulation of response, *i.e.* use the dynamic permittivity for the calculation of the response reaction field. Defaults to false.
922-
923-
**Type** ``bool``
924-
925-
**Default** ``False``
926-
927-
:static: Static permittivity outside the cavity. This is characteristic of the solvent used.
928-
929-
**Type** ``float``
930-
931-
**Default** ``1.0``
932-
933-
:dynamic: Dynamic permittivity outside the cavity. This is characteristic of the solvent used and relevant only in response calculations. Defaults to the same value as `epsilon_static`.
934-
935-
**Type** ``float``
936-
937-
**Default** ``user['PCM']['Permittivity']['epsilon_out']['static']``
938-
939-
:D_H_screening: Parameters for the Debye-Huckel screening factor
940-
941-
:red:`Keywords`
942-
:ion_strength: Ionic strength of the electrolyte in mol/L. This represents the concentration of the ions in the bulk solvent.
943-
944-
**Type** ``float``
945-
946-
**Default** ``1.0``
947-
948-
:ion_radius: Amount with which the vdw-radius of the atoms will be increased. The screening factor will have an area of effect that is often going to be larger than the vdw-cavity, but centered in the same atoms.
949-
950-
**Type** ``float``
951-
952-
**Default** ``0.0``
953-
954-
:ion_width: Width of the transition between the solute and the ion accessible part.
955-
956-
**Type** ``float``
957-
958-
**Default** ``0.2``
959-
960-
:formulation: formulation of the debye-huckel screening factor. Currently only the variable factor is implemented. ``variable``: implement the screening functions as k = (1-C_ion)k_out
961-
962-
**Type** ``str``
963-
964-
**Default** ``variable``
965-
966-
**Predicates**
967-
- ``value.lower() in ['variable']``
968-
969972
:Constants: Physical and mathematical constants used by MRChem
970973

971974
:red:`Keywords`

0 commit comments

Comments
 (0)