kcp.x error

20 views
Skip to first unread message

Simil Thomas

unread,
Mar 27, 2024, 11:33:34 AMMar 27
to koopmans-users

In my koopman work flow , I am getting error, "Out Of Memory" while running kcp.x, . I increased the number of nodes to 20, but the error is same. I see that super cell size is nearly 25A25A25A in length in cp input. Wannierization completed as shown below. Do you think is there any other reason for the job failure.

Initialization of density and variational orbitals Wannierization
Running wannier/scf... done Running wannier/nscf... done Running wannier/block_1/wann_preproc... done Running wannier/block_1/pw2wan... done Running wannier/block_1/wann...CalculatorNotConvergedWarning: /lustre/scratch/thoms0a/qe/koopman/Rb3InCl6/koopman-input/init/wannier/block_1/wann did not converge; proceed with caution

done
Running wannier/block_2/wann_preproc... done
Running wannier/block_2/pw2wan... done
Running wannier/block_2/wann...CalculatorNotConvergedWarning: /lustre/scratch/thoms0a/qe/koopman/Rb3InCl6/koopman-input/init/wannier/block_2/wann did not converge; proceed with caution
done

Folding to supercell
Running block_1/w2kcp... done Running block_2/w2kcp... done

Running init/dft_dummy...UserWarning: Small box parameters "nrb" not provided in input: these will be automatically set to safe default values. These values can probably be decreased, but this would require convergence tests.
Estimated real mesh dimension (nr1, nr2, nr3) = 240 225 250
Small box mesh dimension (nr1b, nr2b, nr3b) = 30 30 30

failed


Answer from koopman team:

think this could well be an issue related to not enough RAM. We are aware of the high RAM demanding of the supercell implementation (kcp.x) and working to find a solution.
For the moment you can try to reduce the number of tasks per nodes (while keeping constant the number of nodes), or use the PC implementation of KI by switching from method = dscf to method = dfpt (only works for functional = ki) in your input file. This is a simplified KI implementation but less time and memory demanding.

Simil Thomas

unread,
Mar 27, 2024, 4:15:41 PMMar 27
to koopmans-users
Dear Team,

One of the jobs in koopman's flow was interrupted and I manually ran the job changing the number of processors etc.
Is it possible to continue koopman workflow from the last completed step?

Edward Linscott

unread,
Mar 27, 2024, 5:14:18 PMMar 27
to koopmans-users
Yes -- simply add "from_scratch": false to the workflow block in your input file.
Best wishes,
Edward

Simil Thomas

unread,
Apr 4, 2024, 3:16:46 AMApr 4
to koopmans-users
Dear all,

I have completed koopman workflow and plot band structure from

wf = read('test.kwf')
koopmans_calc = wf.calculations[-1].

However, when I tried to plot, PBE band structure
[pbe_calc] = [c for c in wf.calculations if c.parameters.get('calculation', None) == 'bands']
results from .kwf file, I am getting an error:

ValueError: too many values to unpack (expected 1)

I am using  the example script from the website. Is there any modifications are required on the above?

with regards
Simil

Edward Linscott

unread,
Apr 4, 2024, 3:35:10 AMApr 4
to koopmans-users
Dear Simil,

The error "too many values to unpack (expected 1)" is a standard python error (see e.g. this guide); in this case it looks like there is more than one calculation in wf.calculations that matches the condition c.parameters.get('calculation', None) == 'bands'. This line of code was designed to pick out the DFT bands calculation from the list of calculations one obtains in tutorial 3 (which is where I think you got this line of code from?). For other workflows, multiple calculations might match this condition, resulting in this error. 

In order to fix your script, you will need to change the criteria to be more selective in order to isolate the PBE calculation. To work out what you need to do, I would suggest inspecting the contents of wf.calculations by hand (e.g. run python interactively, load the wf, and then inspect wf.calculations. You could also inspect the object [c for c in wf.calculations if c.parameters.get('calculation', None) == 'bands'].) How many calculations do you see? Which corresponds to the calculation that you want to plot the bandstructure of? Then modify the script so that you save the calculation you want to plot as pbe_calc.

Good luck!
Edward
Reply all
Reply to author
Forward
0 new messages