Skip to content

Technical Aspects

Seek assistance, discuss troubleshooting tips for any technical problem you encounter and report bugs

17 Topics 87 Posts

Subcategories


  • Scripts, Objects, Libraries

    4 Topics
    13 Posts

    Hi Jack,
    compiling from objects on Apple Silicon is possible, but there are two critical requirements:

    You must use OpenMPI built with the same GNU Fortran version used to compile the object files (in particular gfortran 12.1)

    You must use the MPI compiler wrappers (mpif90, mpicc, mpicxx) instead of the plain compilers for the final linking stage

    The default include file is almost correct. The only necessary changes are the compiler definitions. Replace the first lines with:

    F90 = mpif90 LD = $(F90) PLD = mpif90

    Keep the rest unchanged.

    Important notes

    The OpenMPI you use must be built against gfortran 12.1. You can check with:

    mpif90 --show

    or

    mpif90 --version

    and verify that it points to gfortran-12.

    Do not mix different GNU Fortran versions (e.g. gfortran 13 or Apple clang).
    A mismatch here is the most common cause of runtime failures.

  • Pcrystal, MPPcrystal, MPI, OpenMP, GPUs

    7 Topics
    37 Posts

    Hi Jack,

    the parallel version of CRYSTAL23 shipped for Apple Silicon is built with OpenMPI 4.1.1, therefore it is essential that the code is executed using the same mpirun version (or at least the same major version, ie 4.x.x).

    If a different OpenMPI installation is used (for example the Homebrew 5.x one), the program may start but fail internally, leading to errors such as the abnormal SCF termination you originally observed.

    Concerning the message ls: No match. this is just a standard shell warning printed when the ls command does not find the files it is looking for.
    It is probably produced by the run script when it tries to list some output or scratch files that may not exist (for example if the job stops before all files are written).

    It is not an error of CRYSTAL itself.

    You may try searching inside the run script to locate the line containing the ls command. From the path and filename it is trying to list, you can understand whether the file is genuinely not produced or if the script is looking in the wrong path.

    Hope this helps.

  • Report bugs with reproduciple example

    6 Topics
    37 Posts

    JohnKendrick
    I have had the same problem in a slightly different task. I have found a solution, but it may not work for your particular task: I have reduced the number of k-points.
    I am modelling Mn5+ ion in a AlPO4 cell in which one P is replaced by Mn.
    My input is

    EXTERNAL FREQCALC ANALYSIS INTENS INTRAMAN INTCPHF END END BASISSET POB-TZVP-REV2 DFT WC1LYP SPIN END EXCHSIZE 44000000 BIPOSIZE 44000000 SHRINK 6 6 TOLINTEG 9 9 9 12 20 MAXCYCLE 400 TOLDEE 10 SPINLOCK 2 -6 ATOMSPIN 1 10 1 SLOSHING END

    The same input with

    SHRINK 8 8

    Produced the same error as yours, regardless of convergence tools (DIIS / NODIIS (in CPHF block) / buffer sizes / etc):

    ELECTRIC FIELD APPLIED ALONG CARTESIAN DIRECTIONS XX [some lines omitted] BECKE WEIGHT FUNCTION RADSAFE = 2.00 TOLERANCES - DENSITY:10**- 6; POTENTIAL:10**- 9; GRID WGT:10**-14 RADIAL INTEGRATION - INTERVALS (POINTS,UPPER LIMIT): 1( 75, 4.0*R) ANGULAR INTEGRATION - INTERVALS (ACCURACY LEVEL [N. POINTS] UPPER LIMIT): 1( 4[ 86] 0.2) 2( 8[ 194] 0.5) 3( 12[ 350] 0.9) 4( 16[ 974] 3.5) 5( 12[ 350]9999.0) TTTTTTTTTTTTTTTTTTTTTTTTTTTTTT MOQGAD TELAPSE 7695.33 TCPU 7664.63 forrtl: severe (67): input statement requires too much data, unit 81, file /scratch/tmp_p267436_student/fort.81.pe11

    All running on a single machine: Dell EMC C6400 Server (2x20-Core Intel XEON Gold 6148 2.40GHz, 192GB RAM, 3x480GB SSD).

  • Technical and scientific tips on interfacing CRYSTAL with other software

    0 Topics
    0 Posts
    No new posts.