Enforcing an specific occupation of d orbitals

117 views
Skip to first unread message

oandr...@gmail.com

unread,
Nov 8, 2024, 4:32:17 AM11/8/24
to cp2k
Dear Forum, 

I am currently , trying to provide an starting electronic configuration to enforce the initial occupation of electrons in Fe. 

I came accross with the option 
ENFORCE_OCCUPATION for DFT+U 

I was wondering if is possible to provide an initial occupation for the d orbitals in Fe 
using the option 


ORBITALS: integer= 0

Aliases: M

Usage: ORBITALS 0 +1 -1



For example if i would like a particular occupation like:

spin up      dz2=  1 dxz=  1, dyz=  1, dx2-y2=  1 dxy=  0,

spin down  dz2= 0 dxz=  0, dyz=  1, dx2-y2=  1 dxy=  0,


Like the control there is quantum espresso, starting_ns_eigenvalue  


Is there any way to impose such starting occupation?


Best


Andres Ortega-Guerrero

nanotech@surfaces 

EMPA



Krack Matthias

unread,
Nov 8, 2024, 5:23:17 AM11/8/24
to cp...@googlegroups.com

Hi Andres

 

Yes, you can specify a list of orbitals by their M values for the chosen L value. By default, the orbitals are filled one by one with the available electrons. With SMEAR the electronic density is smeared in the selected orbitals for a given number of SCF steps (MAX_SCF) or until a certain SCF convergence threshold (EPS_SCF) is reached. Different orbitals, M values, can be selected for spin up and spin down.

 

HTH

 

Matthias

 

From: cp...@googlegroups.com <cp...@googlegroups.com> on behalf of oandr...@gmail.com <oandr...@gmail.com>
Date: Friday, 8 November 2024 at 10:32
To: cp2k <cp...@googlegroups.com>
Subject: [CP2K:20877] Enforcing an specific occupation of d orbitals

Dear Forum, 

 

I am currently , trying to provide an starting electronic configuration to enforce the initial occupation of electrons in Fe. 

 

I came accross with the option 

ENFORCE_OCCUPATION for DFT+U 

 

I was wondering if is possible to provide an initial occupation for the d orbitals in Fe 

using the option 

 

 

ORBITALS: integer= 0Á

Aliases: M

Usage: ORBITALS 0 +1 -1

 

 

For example if i would like a particular occupation like:

spin up      dz2=  1 dxz=  1, dyz=  1, dx2-y2=  1 dxy=  0,

spin down  dz2= 0 dxz=  0, dyz=  1, dx2-y2=  1 dxy=  0,



Like the control there is quantum espresso, starting_ns_eigenvalue  

 

Is there any way to impose such starting occupation?



Best



Andres Ortega-Guerrero

nanotech@surfaces 

EMPA

 

 

--
You received this message because you are subscribed to the Google Groups "cp2k" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cp2k+uns...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cp2k/2a6cae23-4c80-47c5-9d27-6baaba97af6bn%40googlegroups.com.

oandr...@gmail.com

unread,
Nov 8, 2024, 8:22:55 AM11/8/24
to cp2k
Dear Mathias , 

Thank for your response , 

I was wondering if you could maybe give an example ? I am still a lil lost on how is the format to represent what I got and/or the order 

best 

Andres Ortega-Guerrero
nanotech@surface 
EMPA

Krack Matthias

unread,
Nov 8, 2024, 8:55:59 AM11/8/24
to cp...@googlegroups.com

You can enforce an equal occupation of e.g. d(-2) d(-1) d(+1) in the first 5 SCF iterations with

L 2

&ENFORCE_OCCUPATION on

  MAX_SCF 5

  # d(xy), d(yz), d(xz)

 ORBITALS -2 -1 +1

  SMEAR

&END

 

Note, that some DFT+U input parameters are only available with CP2K/SIRIUS (pwdft) and vice versa.

 

oandr...@gmail.com

unread,
Nov 8, 2024, 9:05:43 AM11/8/24
to cp2k
Dear Matthias ,
Many thanks! 

If i may , I will ask a follow up , How do you distinguish between spin and spin down?

best

Andres 

Krack Matthias

unread,
Nov 8, 2024, 9:11:01 AM11/8/24
to cp...@googlegroups.com

You have to specify different atomic kinds for spin up and spin down, e.g. Fe_a and Fe_b, with different (complementary) &ALPHA ad &BETA sections in the &BS section for the initial guess.

 

oandr...@gmail.com

unread,
Nov 8, 2024, 10:32:47 AM11/8/24
to cp2k
Dear Matthias , 

Thank you , 
Here I have defined two types of Fe , where in Fe1 
I would like that Fe1 spin occupation is 
   spin up      dz2=  1 dxz=  1, dyz=  1, dx2-y2=  1 dxy=  0,

  spin down  dz2= 0 dxz=  0, dyz=  1, dx2-y2=  1 dxy=  0,


And for Fe2 

   spin up      dz2=  0 dxz=  0, dyz=  1, dx2-y2=  1 dxy=  0,

  spin down  dz2= 1 dxz=  1, dyz=  1, dx2-y2=  1 dxy=  0,


I dont understand how can i distinguish in ORBITALS between spin up and down. 


Here is the input 


&KIND "Fe1"
       BASIS_SET "TZV2P-MOLOPT-PBE-GTH-q16"
       POTENTIAL "GTH-PBE-q16"
      &DFT_PLUS_U
        L 2
        U [eV] 6.0
        &ENFORCE_OCCUPATION on
                MAX_SCF 5
        #For spin Up dz2=  1 dxz=  1, dyz=  1, dx2-y2=  1 dxy=  0,
        NELEC 4 2
        ORBITALS -1 0 +1 +2
        SMEAR
        &END
        &END DFT_PLUS_U
       &BS T
         &ALPHA
           NEL -2 2
           L 0 2
           N 4 3
         &END ALPHA
         &BETA
           NEL -2 -2
           L 0 2
           N 4 3
         &END BETA
       &END BS
   &END KIND
   
   &KIND "Fe2"
       BASIS_SET "TZV2P-MOLOPT-PBE-GTH-q16"
       POTENTIAL "GTH-PBE-q16"
      &DFT_PLUS_U
        L 2
        U [eV] 6.0
        &ENFORCE_OCCUPATION on
        NELEC 2 4

        MAX_SCF 5
        # d(xy), d(yz), d(xz)
        ORBITALS -1 0 +1 +2
        SMEAR
        &END
        &END DFT_PLUS_U
       &BS T
         &ALPHA
           NEL -2 -2
           L 0 2
           N 4 3
         &END ALPHA
         &BETA
           NEL -2 2
           L 0 2
           N 4 3
         &END BETA
       &END BS
     &END KIND

best

Andres Ortega-Guerrero

Krack Matthias

unread,
Nov 8, 2024, 11:18:12 AM11/8/24
to cp...@googlegroups.com

Dear Andres

 

Such an explicit 0 or 1 occupation pattern cannot be enforced after the first SCF iteration step. Only the distribution of the available density in the selected orbital shell can be influenced with the keywords ORBITALS (which orbitals are occupied) and NELEC (distribution between the spin channels). You can use this print key for tracing the orbital occupations of the selected shell.

 

Best

 

Matthias

 

oandr...@gmail.com

unread,
Nov 11, 2024, 6:58:18 AM11/11/24
to cp2k
Dear Matthias, 

Thank you! 

best
Andres 

Reply all
Reply to author
Forward
0 new messages