Partial DOS Crash  [SOLVED]

Total energy, geometry optimization, DFT+U, spin....

Moderator: bguster

Locked
bhanken
Posts: 3
Joined: Sat Jan 04, 2014 12:01 am

Partial DOS Crash

Post by bhanken » Wed Jan 08, 2014 7:42 pm

Hi Everyone,

I'm new to ABINIT and having some trouble. I'm trying to run partial DOS calculations for my system (using iscf=-3 from a previously converged density) when I run into this error:

At line 232 of file ../../../src/62_occeig/tetrahedron.F90
Fortran runtime error: Bad unit number in OPEN statement


It does this several times, and afterward gives an mpi crash. I'm left with several empty ".wfc.out_DOS_AT#" files (albeit a few shy of the number that should be there).

Notably, when I run the same job with circa 30% of the atoms, it has no problems and completes as expected. I've tried turning off mpi_io and using nodes with considerably more memory to no avail. Any help, suggestions, or intuition about this would be greatly appreciated!

User avatar
gmatteo
Posts: 291
Joined: Sun Aug 16, 2009 5:40 pm

Re: Partial DOS Crash

Post by gmatteo » Thu Jan 09, 2014 8:22 am

Dear bhanken,

The error might be due to the fact that Abinit is trying to open more files than the maximum number
of open file descriptors supported by your operating systems.
How many atoms are you specifying in the input file (natspsh)?
What is the maximum number of open file descriptors supported by your OS
(use "ulimit -n" to get this value and "ulimit -n unlimited" to remove the limit, if possible)
What happens if you decrease the value of natsph?

Matteo

bhanken
Posts: 3
Joined: Sat Jan 04, 2014 12:01 am

Re: Partial DOS Crash

Post by bhanken » Sat Jan 11, 2014 5:26 pm

How many atoms are you specifying in the input file (natspsh)?


I've been leaving it to the default (natoms, as I understand) which is 102.

What is the maximum number of open file descriptors supported by your OS


From ulimit -n, I get 1024 - is this not enough? Is this a memory allocation, or the literal number of files?

What happens if you decrease the value of natsph?


I decreased the number of natsph for the simulations having trouble (102 atoms) down to 30, and the job completed correctly. So it does seem to be an issue with the actual writing out, and not the job, I'm just still not sure if it's tied to the number of file descriptors or something else?

Thanks so much for your response and help, I'd greatly appreciate any further thoughts you might have.

-Ben

User avatar
gmatteo
Posts: 291
Joined: Sun Aug 16, 2009 5:40 pm

Re: Partial DOS Crash  [SOLVED]

Post by gmatteo » Sat Jan 11, 2014 5:39 pm

Apply this patch and recompile with make ("make clean" is not needed)

=== modified file 'src/14_hidewrite/m_io_tools.F90'
--- src/14_hidewrite/m_io_tools.F90 2013-12-13 21:00:48 +0000
+++ src/14_hidewrite/m_io_tools.F90 2014-01-11 16:38:04 +0000
@@ -69,7 +69,7 @@
integer,parameter :: STDIN=std_in
integer,parameter :: STDOUT=std_out_default
integer,parameter :: MIN_UNIT_NUMBER=10 ! Fortran does not define the range for logical unit numbers (they not be negative)
- integer,parameter :: MAX_UNIT_NUMBER=99 ! The following values should be safe
+ integer,parameter :: MAX_UNIT_NUMBER=1024 ! The following values should be safe
integer,parameter :: IO_MAX_LEN=500
character(len=1),parameter :: BLANK=' '

bhanken
Posts: 3
Joined: Sat Jan 04, 2014 12:01 am

Re: Partial DOS Crash

Post by bhanken » Mon Jan 13, 2014 3:07 pm

Excellent, worked perfectly! Thank you very much, Matteo.

Locked