def ddCOSMO(method_or_mol, solvent_obj=None, dm=None): '''Initialize ddCOSMO model. Examples:: >>> mf = ddCOSMO(scf.RHF(mol)) >>> mf.kernel() >>> sol = ddCOSMO(mol) >>> mc = ddCOSMO(CASCI(mf, 6, 6), sol) >>> mc.kernel() ''' from pyscf import gto from pyscf import scf, mcscf from pyscf import tdscf if isinstance(method_or_mol, gto.mole.Mole): return DDCOSMO(mol) elif isinstance(method_or_mol, scf.hf.SCF): return ddcosmo.ddcosmo_for_scf(method_or_mol, solvent_obj, dm) elif isinstance(method_or_mol, mcscf.mc1step.CASSCF): return ddcosmo.ddcosmo_for_casscf(method_or_mol, solvent_obj, dm) elif isinstance(method_or_mol, mcscf.casci.CASCI): return ddcosmo.ddcosmo_for_casci(method_or_mol, solvent_obj, dm) elif isinstance(method_or_mol, (tdscf.rhf.TDA, tdscf.rhf.TDHF)): raise NotImplementedError('Solvent model for %s' % method_or_mol) else: return ddcosmo.ddcosmo_for_post_scf(method_or_mol, solvent_obj, dm)
def ddCOSMO(method_or_mol, solvent_obj=None, dm=None): '''Initialize ddCOSMO model. Examples: >>> mf = ddCOSMO(scf.RHF(mol)) >>> mf.kernel() >>> sol = ddCOSMO(mol) >>> mc = ddCOSMO(CASCI(mf, 6, 6), sol) >>> mc.kernel() ''' from pyscf import gto from pyscf import scf, mcscf from pyscf import tdscf if isinstance(method_or_mol, gto.mole.Mole): return ddcosmo.DDCOSMO(method_or_mol) elif isinstance(method_or_mol, scf.hf.SCF): return ddcosmo.ddcosmo_for_scf(method_or_mol, solvent_obj, dm) elif isinstance(method_or_mol, mcscf.mc1step.CASSCF): return ddcosmo.ddcosmo_for_casscf(method_or_mol, solvent_obj, dm) elif isinstance(method_or_mol, mcscf.casci.CASCI): return ddcosmo.ddcosmo_for_casci(method_or_mol, solvent_obj, dm) elif isinstance(method_or_mol, (tdscf.rhf.TDA, tdscf.rhf.TDHF)): return ddcosmo.ddcosmo_for_tdscf(method_or_mol, solvent_obj, dm) else: return ddcosmo.ddcosmo_for_post_scf(method_or_mol, solvent_obj, dm)
def ddpcm_for_casscf(mc, solvent_obj, dm=None): if solvent_obj is None: solvent_obj = DDPCM(mc.mol) return ddcosmo.ddcosmo_for_casscf(mc, solvent_obj, dm)