Skip to content

Technical Aspects

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

17 Topics 85 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
    35 Posts

    Hi,

    I am doing a frequency with intensities calculation on an Iron complex with four Fe atoms in the unit cell. I am trying to do the ferromagnetic state with HSE06-D3 functional and the POB-tzvp-rev2 basis. I have optimised the cell, copied the optimised cell to fort.34 and copied the fort.9 file of the optimised calculation to fort.20, ready for a frequency calculation with intensities.

    The calculation is being run on 24 cores on a single node, with up to 4GBs of memory /core. The run uses intel mpi for interprocess communication.

    After reporting the hyperpolarisability and electric susceptibility tensors (Beta and Chi), the program crashes with:

    COMPUTING IR TENSOR ALONG DIRECTION X forrtl: severe (67): input statement requires too much data, unit 2, file /mnt/scratch/chmjke/SpinCrossover/CRYSTAL/HSE06/AFM2/fort.2.pe15

    I attach the input file: frequencies.d12
    A tar file of the output and fort.34: info.tgz

    Any help would be grateful received.
    Thanks John

  • Technical and scientific tips on interfacing CRYSTAL with other software

    0 Topics
    0 Posts
    No new posts.