Molcas Forum

Support and discussions for Molcas and OpenMolcas users and developers

You are not logged in.

Announcement

Welcome to the Molcas forum.

Please note: The forum's URL has changed. The new URL is: https://molcasforum.univie.ac.at. Please update your bookmarks!

You can choose an avatar and change the default style by going to "Profile" → "Personality" or "Display".

#1 2025-11-12 08:32:51

Brohmsen
Member
Registered: 2025-11-12
Posts: 3

Functional list for MCPDFT

Dear Molcas community,

I have a question regarding MCPDFT. I'm trying it for a Ni-complex with carbene ligands. Already RASSCF worked out quite well in terms of vertical excitation energies (off by 0.2 eV) but due to the fact that this complex has no symmetry at all the perturbation theory on top is taking some time and therefore I wanted to try MCPDFT. I got it running but have trouble finding the right functional because the ones I tried (tPBE, ftPBE, tM06L, tM23 and tPBE0; tB3LYP is running right now) all with X-MCPDFT as well as C-MCPDFT are overcorrecting and the results got worse (highest deviation is 0.8 eV). Is there any list where I can see, which functionals are already avaiable for MCPDFT ? I also wanted to try TPSSh or something with even more HF-exchange as PBE0 for example, which is implemented in LibXC, but MCPDFT can not find it and tells me that I have an undefined functional type.

Best,
Brohmsen

Offline

#2 2025-11-12 09:55:58

Ignacio
Administrator
From: Uppsala
Registered: 2015-11-03
Posts: 1,165

Re: Functional list for MCPDFT

For Libxc functionals, refer to https://libxc.gitlab.io/functionals/, you can use those directly:

&SCF
  KSDFT = HYB_MGGA_XC_TPSSH

or by using the different pieces with appropriate factors:

&SCF
  KSDFT = 3
     1.0 MGGA_C_TPSS
     0.9 MGGA_X_TPSS
     0.1 HF_X  * Not a Libxc keyworb, but an OpenMolcas alias for "exact" exchange

In the case of MCPDFT, you have to use a single keyword, so you'd like to use "Functional = t:HYB_MGGA_XC_TPSSH". But MCPDFT does not support hybrid functionals directly, you'd have to use the Lambda keyword:

&MCPDFT
  Functional = t:MGGA_XC_TPSS
  Lambda = 0.1

However, "MGGA_XC_TPSS" is not defined in Libxc. So you'd have to define it yourself by modifying $MOLCAS/data/functionals.txt, adding for example:

TPSS 2
      1.0 MGGA_C_TPSS
      1.0 MGGA_X_TPSS

(I call it TPSS instead of MGGA_XC_TPSS to make it clear it's not a Libxc keyword.) Then you can use it with

&MCPDFT
  Functional = t:TPSS
  Lambda = 0.1

I don't know if that scales only the exchange part or both exchange and correlation... I assume it does the "right" thing in the MCPDFT context.

By the way, for a list of all the aliases defined in the functionals.txt file you can run "pymolcas help_func".

Offline

#3 2025-11-12 15:28:09

Brohmsen
Member
Registered: 2025-11-12
Posts: 3

Re: Functional list for MCPDFT

Ok, I will try that then and do some test. Thanks.

Offline

Board footer

Powered by FluxBB 1.5.11

Last refresh: Today 09:46:13