Beispiel #1
0
    def parameters(cls, ground_state_density=None, **kwargs):
        if ground_state_density is None or ground_state_density == "mp2":
            return CtxMap()  # No work needed here
        elif ground_state_density not in ["mp3", "dyson"]:
            raise ValueError("Unrecognised value for "
                             f"ground_state_density: {ground_state_density}")

        adc_variant = kwargs.get("adc_variant", [])
        if adc_variant != []:
            raise ValueError("Right now Dyson-expansion method only works for "
                             "ADC without special variants.")

        params = CtxMap({"iterated_density": "1"})
        tdem = params.submap("iterated_density")

        # Choose some hard-coded parameters for the density iterations
        tdem["direct"] = "0"
        tdem["convergence"] = str(kwargs.get("conv_tol", 1e-6) / 100)
        tdem["maxiter"] = "1000"
        # TODO Also needs m_n6_prereq_im.insert("oovv");

        if ground_state_density == "mp3":
            tdem["order"] = "3"
        else:
            tdem["order"] = "3+"
        return params
Beispiel #2
0
 def parameters(cls, **kwargs):
     return CtxMap({
         "mp2": "1",
         "mp2/opdm": "1",  # Note: This is always needed
         "mp2/prop": "1",
         "mp2/prop/dipole": "1",
         "mp2/prop/rsq": "0"
     })
Beispiel #3
0
    def parameters(cls, **kwargs):
        adc_variant = kwargs.get("adc_variant", [])

        # Determine the variant string
        variant = cls.name
        if variant == "adc2":
            variant = "adc2s"
        if "ri" in adc_variant:
            variant = "ri_" + variant
        if "sos" in adc_variant:
            variant = "sos_" + variant
        if "cvs" in adc_variant:
            variant = "cvs_" + variant

        params = CtxMap({"adc_pp": "1"})
        params["adc_pp/" + variant] = "1"
        cls.add_common_adc_params_to(params.submap("adc_pp/" + variant),
                                     **kwargs)
        return params
    def parameters(cls, **kwargs):
        adc_variant = kwargs.get("adc_variant", [])
        if adc_variant:
            raise ValueError("Right now IP-ADC has no variants implemented.")

        # Determine the variant string
        assert cls.name[0:2] == "ip"
        variant = cls.name[2:]
        # TODO Stuff in PP adc tree
        # if "ri" in adc_variant:
        #     variant = "ri_" + variant
        # if "sos" in adc_variant:
        #     variant = "sos_" + variant
        # if "cvs" in adc_variant:
        #     variant = "cvs_" + variant

        params = CtxMap({"adc_ip": "1"})
        params["adc_ip/" + variant] = "1"
        cls.add_common_adc_params_to(params.submap("adc_ip/" + variant),
                                     **kwargs)
        return params
Beispiel #5
0
 def parameters(cls, **kwargs):
     return CtxMap({
         "gen_prereq/pi3": "1",
         "gen_prereq/pi4": "1",
         "gen_prereq/pi5": "1",
     })
Beispiel #6
0
 def parameters(cls, **kwargs):
     return CtxMap({"mp1": "1"})  # "1" == true
Beispiel #7
0
 def parameters(cls, **kwargs):
     return CtxMap({
         "hf/prop": "1",
         "hf/prop/dipole": "1",
         "hf/prop/rsq": "0"
     })
Beispiel #8
0
 def parameters(cls, **kwargs):
     return CtxMap({"mp3": "1"})
Beispiel #9
0
 def parameters(cls, **kwargs):
     return CtxMap({"gen_prereq/pib": "1"})