You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Without undermining the agreed-upon Cartesian exchange format for Mols, there are other input formats and other non-QM molecule domains out there. In particular, these can interact with the main Cartesian QM domain
In Psi4 we've rewritten stuff so that all molecule parsing, basis set attaching, and molecule exchange is in (a close relative of) QCSchema up to the point at which it hits our internal C++ class. That class supports ZMat internal storage, so rather than drop that widespread functionality, we need a way of transporting the ZMat info to the constructor, hence the very generic geom_unsettled and variables fields. Psi4 has no intention of using the ZMat extension as an output format. That is, (in: Cart, ZMat) --> (out: Cart) is and remains the plan. This is possible b/c all progs accept Cart as input.
ZMatrix -- required fields are geom_unsettled and symbols
"psi4:geom_unsettled": {
"description": "(nat, ) all-string Cartesian and/or zmat anchor and value contents.",
"type": "array",
"items": {
"type": "string"
}
},
"psi4:variables": {
"description": "(nvar, 2) pairs of variables (str) and values (float). May be incomplete.",
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string",
}
}
}
Programming-wise, effective fragment potentials are very useful in complicating and clarifying dictionary-like system exchange between programs. In EFP, the full Cartesian geometry is only available through calls to an EFP library with fragment files. Instead, parsing only supplies efp fragment files and orientation hints. Most importantly, EFP and QM domains are connected (because need to freeze orientation) and are best parsed simultaneously. The output format is pure-xyzabc hints.
EFP -- required fields are fragment_files and geom_hints. I usually require hint_types, too, but that can be read off from the length of arrays in geom_hints. It's just a question of if this should be generic enough for other, perhaps overlapping-length hint-types.
"psi4:fragment_files": {
"description": "(nfr, ) lowercased names of efp fragment files (no path info).",
"type": "array",
"items": {
"type": "string"
}
},
"psi4:hint_types": {
"description": "(nfr, ) type of fragment orientation hint.",
"type": "string",
"enum": ["xyzabc", "points"]
},
"psi4:geom_hints": {
"description": "(nfr, ) inner lists have length 6 (xyzabc; to orient the center) or
9 (points; to orient the first three atoms) of the EFP fragment.",
"type": "array",
"items": {
"type": "array",
"items": {
"type": "number"
}
}
},
We have from_string parsing and validation tech for all three domains (QM Cart, ZMat, EFP) that have been working soundly with these extensions for many months and that others are free to use.
The text was updated successfully, but these errors were encountered:
This is a continuation from a split on #44
Without undermining the agreed-upon Cartesian exchange format for Mols, there are other input formats and other non-QM molecule domains out there. In particular, these can interact with the main Cartesian QM domain
In Psi4 we've rewritten stuff so that all molecule parsing, basis set attaching, and molecule exchange is in (a close relative of) QCSchema up to the point at which it hits our internal C++ class. That class supports ZMat internal storage, so rather than drop that widespread functionality, we need a way of transporting the ZMat info to the constructor, hence the very generic
geom_unsettled
andvariables
fields. Psi4 has no intention of using the ZMat extension as an output format. That is,(in: Cart, ZMat) --> (out: Cart)
is and remains the plan. This is possible b/c all progs accept Cart as input.ZMatrix -- required fields are
geom_unsettled
andsymbols
Programming-wise, effective fragment potentials are very useful in complicating and clarifying dictionary-like system exchange between programs. In EFP, the full Cartesian geometry is only available through calls to an EFP library with fragment files. Instead, parsing only supplies efp fragment files and orientation hints. Most importantly, EFP and QM domains are connected (because need to freeze orientation) and are best parsed simultaneously. The output format is pure-xyzabc hints.
EFP -- required fields are
fragment_files
andgeom_hints
. I usually requirehint_types
, too, but that can be read off from the length of arrays ingeom_hints
. It's just a question of if this should be generic enough for other, perhaps overlapping-length hint-types.We have
from_string
parsing and validation tech for all three domains (QM Cart, ZMat, EFP) that have been working soundly with these extensions for many months and that others are free to use.The text was updated successfully, but these errors were encountered: