QCVariables: setting and accessing

API and conventions to access and program with QCVariables.

Operation

Py-side Globals [1] [5]

Py-side Wavefunction [1] [5]

C-side Globals [3] [4]

C-side Wavefunction [5]

access var

variable()

variable()

val = P::e.globals["KEY"]; val = P::e.arrays["KEY"];

Wavefunction::scalar_variable("kEy") Wavefunction::array_variable("kEy")

access all vars

variables()

variables()

P::e.globals; P::e.arrays;

Wavefunction::scalar_variables() Wavefunction::array_variables()

is var set?

has_variable()

has_variable()

P::e.globals.count("KEY"); P::e.arrays.count("KEY");

Wavefunction::has_scalar_variable("kEy") Wavefunction::has_array_variable("kEy")

set a var value [2]

set_variable()

set_variable()

P::e.globals["KEY"] = val; P::e.arrays["KEY"] = val;

Wavefunction::set_scalar_variable("kEy") Wavefunction::set_array_variable("kEy")

unset var

del_variable()

del_variable()

P::e.globals.erase("KEY") P::e.arrays.erase("KEY")

Wavefunction::del_scalar_variable("kEy") Wavefunction::del_array_variable("kEy")

unset all vars

clean_variables()

register var with docs [6]

core.set_variable("GIBBS", G) # P::e THERMO or # wfn.set_variable("ROOT n") # P::e ADC

P::e.globals["CC T1 DIAG"] = val; or // P::e.globals["CCSD ROOT n"];