knowles-group / gmb

0 stars 1 forks source link

Naming and option structure, and integration into Molpro #1

Open pjknowles opened 3 years ago

pjknowles commented 3 years ago

In GitLab by @KnowlesPJ on Apr 22, 2021, 11:58

Integration into Molpro is done most straightforwardly as with gci. gci has command-line options key1=value1, key2=value2,... which are subverted in the Molpro environment - see https://gitlab.com/molpro/gci/-/blob/09a4c927b394446070a34960a342eb2ae19221e3/src/molpro/gci/gciOptions.cpp#L46-54 - and become Molpro options which have to be declared in Molpro's registry.

For an EOM calculation, do we want to do this in two separate runs, with the ground state saved to a file, or all in one? All in one is simpler.

We need a good name for the program, which will become the Molpro command name. ccgeneral ? SecondQuantization ?

Options:

ccgeneral, method="ccsd", states=[-6.1,-3.2]
ccgeneral, vibrations=[22,36], excitation_levels=????

https://www.molpro.net/manual/doku.php?id=time-dependent_density_functional_theory

pjknowles commented 3 years ago

In GitLab by @KnowlesPJ on Apr 23, 2021, 10:13

Further possible names for the program/namespace: manybody; mb; bbo; tensorcc; generalmanybody; gmb

pjknowles commented 3 years ago

In GitLab by @KnowlesPJ on Apr 23, 2021, 10:33

#ifndef GCIOPTIONS_H
#define GCIOPTIONS_H
#include <molpro/Options.h>
namespace molpro::gci {
class Options : public molpro::Options {
public:
  explicit Options(std::string input = "") : molpro::Options("GCI", std::move(input)) {}
};
} // namespace molpro::gci

#endif // GCIOPTIONS_H
pjknowles commented 3 years ago

In GitLab by @KnowlesPJ on Apr 29, 2021, 11:24

Following the discussion on 2021-04-28, we are pursuing in the first instance a simplified model where the calculation is defined by

On that basis, we might say something at the Molpro level like

gmb ansatz=ccsd cavityfrequency=[0.1,0.2] cavitycoupling=[0.05,0.05] cavityaxis=[0,0,1] vibration=[34,36] states=[-6.1,-3.2]

This is not perfect - really we are trying to define each cavity by a struct { double frequency, coupling; array<double,3> axis;} but the input format has to be flatter.

gmb has to be passed all these options plus, for each particle type, information to allow construction of the hamiltonian:

pjknowles commented 3 years ago

In GitLab by @KnowlesPJ on Apr 22, 2021, 11:58

moved from secondquantization#5

pjknowles commented 3 years ago

In GitLab by @KnowlesPJ on Apr 29, 2021, 11:25

marked the task Move the option processing code from gci into molpro/utilities so that it can be used by both. as completed