- #36 Feature -- as the embedded point charges aren't fully validated
and (in the QCEngine computer function of the high-level interface) only work with Psi4 anyways, they are now hidden.
Set environment variable
QCMANYBODY_EMBEDDING_CHARGES=1
to access functionality. @loriab
- #36 Utils -- when adding up results from many molecular species,
now the compensated sums
math.fsum
ornumpy.sum
are used.
- #28 Intf -- low-level "core" interface renamed from
ManyBodyCalculator
toManyBodyCore
. The old name will continue to work for a few months. Also, its file changed frommanybody.py
tocore.py
but it was already a top-level import. @loriab - #30 Intf -- low-level "core" interface now requires named arguments beyond the first recognizable ones (mol, bsse_type, levels). @loriab
- #32 Intf -- "high-level" interface now no longer stores QCVariables (or any other results dicts) in extras @loriab
- #32 Utils --
qcmanybody.utils.collect_vars
now returns with keys from ManyBodyResultProperties rather than QCVariables. @loriab - #32 Utils -- arguments rearranged in
qcmanybody.tests.utils.run_qcengine
(use serial backend for core interface) to align withManyBodyCore
init arguments. @loriab
- #32 Schema -- a new function
ManyBodyResultProperties.to_qcvariables()
returns a translation map to QCVariables keys. @loriab - #32 Schema -- a new function
qcmanybody.utils.translate_qcvariables(map)
switches between QCVariable and QCSchema keys. @loriab - #33 Schema --
ManyBodySpecification.extras
added. @loriab - #34 Schema -- Add schema_version to
AtomicSpecification
,ManyBodySpecification
,ManyBodyKeywords
,ManyBodyInput
, andManyBodyResultProperties
. @loriab
- #28 Intf -- high-level interface is now importable from the top level module. @loriab
- #29 Maint -- QCEngine is needed only for the continuous running function of the high-level interface, so making it an optional dependency. @loriab
- #30 Intf -- low-level "core" interface now accepts a molecule in
partial schema dictionary format rather than requiring a constructed
qcelemental.Molecule
object. If the molecule is a single large fragment, an error is thrown. @loriab - #30 Docs -- add end-to-end demos in test_examples. @loriab
- #31 Schema -- add "none" as a bsse_type alias to "nocp". @loriab
- #34 Schema -- Allow environment variable QCMANYBODY_MAX_NBODY to
influence the body-level to which
ManyBodyResultProperties
is defined added. @loriab - #34 Schema -- added discriminator to input for
GeneralizedOptimizationInput
andGeneralizedOptimizationResult
models to allow input from dicts (rather than models) in OptKing. Further specialized QCElemental. @loriab - #34 Schema --
ManyBodyResultProperties
is still only explicitly enumerated up to tetramers, but now it allows through higher-body fields when they match a pattern. @loriab - #34 Maint -- start testing optimizations through QCEngine. @loriab
- #34 Util -- add
labeler(..., opaque=False)
option to produce eye-friendly(1)@(1, 2)
style lablels as well as the semi-opaque internal style. Also always convent single ints to tuples now. Functiondelabeler
can decode the new style. @loriab - #34 Intf -- sort "core"
nbodies_per_mc_level
dictionary so model chemistries are in a predictable 1b, 2b, ..., supersystem order. Check that high-level (different data structure) agrees. - #34 Util -- add short ordinal model chemistry level (e.g., §A) to the
format_calc_plan
andprint_nbody_energy
summaries. @loriab - #34 Util -- add function
modelchem_labels
to associate n-body level, model chemistry level, one-char ordinal modelchem label, and n-bodies-covered modelchem label. @loriab
- #27 Intf -- move high-level interface from
qcmb.qcng_computer.ManyBodyComputerQCNG
toqcmb.computer.ManyBodyComputer
. Suppressed remaining printing. @loriab
- #25 Schema -- added a new field
ManyBodyResults.component_results
to store subsystemAtomicResult
s (or other Result if layered computation). By default this is not stored, but it can be withManyBodyInput.protocols.component_results = "all"
. @loriab - #25 Schema -- added
GeneralizedOptimizationInput
andGeneralizedOptimizationResult
models as temporary extensions ofOptimizationInput/Result
when the optimizer can runManyBodyInput
s through QCEngine, not justAtomicInput
s. Needs special QCElemental, QCEngine, and OptKing to work for now. @loriab
- #22 Intf -- move high-level interface to main directory and remove
unused functions. Most common route into interface is now:
qcmb.ManyBodyComputerQCNG.from_manybodyinput
. @loriab - #25 Schema --
AtomicSpecification.protocols
set inManyBodySpecification.specification
will now be observed. @loriab - #26 Schema -- add
AtomicSpecification.extras
. @loriab
- #25 Schema --
ManyBodyKeywords.embedding_charges
now default to None rather than empty dict. @loriab
- #21 Docs -- installation and molecule. @bennybp
- #24 Intf -- release "frozen" pydantic on high-level ManyBodyComputerQCNG, so core-interface ManyBodyCalculator can live on the class. @loriab
- #26 Cleanup -- remove most debug printing. @loriab
- Runs CP, NoCP, VMFC energies, gradients, and Hessians. @bennybp @loriab