Skip to content
  • Home
  • Recent
Collapse
Brand Logo
CRYSTAL23
Latest v1.0.1
Tutorials Try the Demo Get a License
Tutorials Try the Demo Get a License Instagram

Developer

Developer of the CRYSTAL code!

Private

Posts


  • PDOS Projection for Individual Orbital Components
    GiacomoAmbrogioundefined GiacomoAmbrogio

    Hi Orion,
    Looking at your input, I think you want to plot the orbital projected electronic DOS (in CRYSTAL this is done with the DOSS keyword, PDOS in CRYSTAL normally refers to phonon DOS).

    To obtain separate px py pz projections, the correct approach is:
    set the first parameter of DOSS to 2 (because you want two separate projections).
    After the main DOSS line, you must then add one line per projection, specifying which atomic orbitals (AOs) belong to each projection.
    Each line has the form:

    n AOs    index_1    index_2    ...    index_n
    

    The AO indices correspond to the ones printed in the CRYSTAL output. To find them, search in the SCF output for "LOCAL ATOMIC FUNCTIONS BASIS SET", you will see a table with all the basis set, that will look like this:

    *******************************************************************************
       ATOM   X(AU)   Y(AU)   Z(AU)  N. TYPE  EXPONENT  S COEF   P COEF   D/F/G COEF
    *******************************************************************************
      1 O   -2.793  -4.838  -4.110
                                     1 S
                                            8.589E+03 1.895E-03 0.000E+00 0.000E+00
                                            1.297E+03 1.439E-02 0.000E+00 0.000E+00
                                            2.993E+02 7.073E-02 0.000E+00 0.000E+00
                                            8.738E+01 2.400E-01 0.000E+00 0.000E+00
                                            2.568E+01 5.948E-01 0.000E+00 0.000E+00
                                            3.740E+00 2.808E-01 0.000E+00 0.000E+00
                              2-     5 SP
                                            4.212E+01 1.139E-01 3.651E-02 0.000E+00
                                            9.628E+00 9.208E-01 2.372E-01 0.000E+00
                                            2.853E+00-3.274E-03 8.197E-01 0.000E+00
                              6-     9 SP
                                           9.057E-01 1.000E+00 1.000E+00 0.000E+00
                             10-    13 SP
                                            2.556E-01 1.000E+00 1.000E+00 0.000E+00
                             14-    18 D
                                            1.292E+00 0.000E+00 0.000E+00 1.000E+00
    

    The indeces are the numbers befor each orbital shell (1 2-5 6-9 10-13 14-18).
    The notation 2-5 means indices 2 through 5, because that shell contains 4 AOs.
    From these blocks you must identify the p-type orbitals for each atom (Zn and Cl). The p shells will appear in groups of three basis functions (px, py, pz).

    So, in your system:

    • Locate the Zn atom in this printed basis list
    • Identify the block corresponding to its p orbitals
    • Extract the AO indices for px, py, pz
    • Do the same for Cl

    Then you define one projection per line. For example, structurally something like:

    NEWK
    12 12
    1 0
    DOSS
    2 100 3 6 1 12 0
    3 <list of Zn p AOs>
    3 <list of Cl p AOs>
    END
    

    Keep in mind that, if your basis is double- or triple-Z, each p shell appears as a separate triplet of AOs (one triplet per Z). To correctly project all p you must include the corresponding AOs from every p-shell triplet for that atom.

    Let me know if you manage to do this, or if you need further help.


  • extract asymmetric fragment
    dmitoliundefined dmitoli

    Dear Jonas,

    I tried using pymatgen to extract the point-symmetry information from your .xyz file (see the Python script below):

    from pymatgen.core import Molecule
    from pymatgen.symmetry import analyzer
    
    bigstructure = Molecule.from_file("yourfile.xyz")
    PGstructure = analyzer.PointGroupAnalyzer(bigstructure)
    sym_mol = PGstructure.get_equivalent_atoms()
    
    print(sym_mol["eq_sets"])
    

    This returns a Python data structure containing the symmetry-irreducible sets of atoms (only 6 for this system, which is indeed of Ih point group!).
    When preparing the CRYSTAL input, be careful with the orientation of your asymmetric unit. In my case, for example, I had to change the sign of the x and y coordinates to make the symmetry consistent with CRYSTAL’s conventions.
    Icosahedral point groups are available in CRYSTAL (Ih is point group number 47 in CRYSTAL), so the input fort this molecular cage reads:

    Symm. structure 
    MOLECULE
    47
    6
    8       2.605032231   -11.914271806    11.762689798
    6       4.344538598    15.664236912     4.366798884
    6       3.427479683    14.428996321     8.326818862
    6      -8.906580884     1.370529673    14.411150640             
    1       2.632960331    14.962480562     7.832453804    
    5      -8.776255231    -2.916256114    14.200279302     
    COORPRT
    TESTGEOM
    END
    

    aerba Christmas is already in the air indeed!


  • SCF convergence ferromagnetic MIL-127
    GiacomoAmbrogioundefined GiacomoAmbrogio

    As a general suggestion, I would recommend adding SMEAR, and possibly enabling DIIS, which can also be helpful. However, when using SPINLOCK, be careful, you should only turn DIIS on after SPINLOCK is disabled, so make sure to use THREDIIS instead.

    You can also try increasing FMIXING to around 90 or 95, and using slightly higher TOLINTEG values.

    Additionally, increasing SHRINK to 2 2 could be helpful. If the system goes through a metallic state, this adjustment can improve the Fermi surface (computational cost should not increase significantly).

    The input file should be similar to this: INPUT.d12

    As an additional note, targeting a high-spin state with all Fe atoms having +5 spin may not be physically reasonable for this type of MOF. Such a configuration could lead to severe instability in the electronic structure, which often manifests as SCF convergence issues. It might be worth checking whether a lower or mixed-spin configuration is more appropriate for the system.


  • SCF convergence ferromagnetic MIL-127
    GiacomoAmbrogioundefined GiacomoAmbrogio

    Hi Wim,

    Could you please provide the geometry of your system? An output file would also be very helpful.

    In the meantime, please have a look at this thread.


  • extract asymmetric fragment
    aerbaundefined aerba

    Hi,

    Jefferson Maul has managed to generate this .cif file with 4 symmetry operators. As you suggest, there are probably more but this is what he could extract so far.

    Beautiful system by the way: looks like a Christmas tree bauble! 🎄

    Screenshot 2025-11-04 alle 08.17.24.png


  • SCANMODE io error Read_int_1d
    aerbaundefined aerba

    Hi,

    job314 said in SCANMODE io error Read_int_1d:

    So it turns out having fort.13 and fort.20 is not optional for restart.

    Yes, the lack of these two files was the origin of the I/O error.

    job314 said in SCANMODE io error Read_int_1d:

    PS. I would also like to ask developers to allow uploading compressed files to this forum

    Now also .zip, .tar, .tgz, .tar.gz files can be uploaded.

    Cheers,


  • Double Walled Naontubes X(n1,0)@Y(n2>>n1,0)
    SilviaCasassaundefined SilviaCasassa

    hello 🙂
    about VLAB I'll ask to the developer...
    As for the MULTIWALL nanotubes.. there is another procedure you can follow, which use the keyword MULTIWALL. These are the steps, using as a test system a graphene sheet:
    1) build a two-wall nanotube ---> see 2wall.jpg

    Title
    SLAB
    77
    2.47
    1
    6 0.33333333 0.6666666667 0.000000
    NANOMULTI
    2
    WALL
    1
    ROLLINGV
    6 6
    WALL
    2
    ROLLINGV
    12 12
    NANOJMOL
    ENDWALL
    [Basis Set]
    
    1. use the MULTIWALL.DAT file as a fort.34 and restart with the EXTERNAL keyword substituting one of the two wall with different atom(s). In this case, the inner wall becomes a nitrogen wall, see ---> ext2wall.jpg
    Title
    EXTERNAL
    ATOMSUBS
    24
    1 7
    2 7
    3 7
    4 7
    5 7
    6 7
    7 7
    8 7
    9 7
    10 7
    11 7
    12 7
    13 7
    14 7
    15 7
    16 7
    17 7
    18 7
    19 7
    20 7
    21 7
    22 7
    23 7
    24 7
    END
    [Basis Set]
    

    2wall.jpg
    ext2wall.jpg


  • Double Walled Naontubes X(n1,0)@Y(n2>>n1,0)
    SilviaCasassaundefined SilviaCasassa

    the ZnO@GaN were done exactly in this way... if you roll up a two-layers slab you end with a double wall nanotube


  • Double Walled Naontubes X(n1,0)@Y(n2>>n1,0)
    SilviaCasassaundefined SilviaCasassa

    goodmorning,

    ok... now I understand better. This is an example. I chose the space group 73 because the 78 has a mirror plane... I don't know which kind of lattice do you want to simulate ...neither if the two lattice (BeO and MgO) are commensurable ...but the idea is to build a two-layers slab, one layer of MgO and the other layer of BeO and then roll the slab
    The lattice parameter is chosen randomly ...

    Title
    SLAB
    73
    3.47
    4
    8 0.5 0.0 0.000000
    4  0.0 0.0 0.0000
    12 0.5 0.0 2.200000
    8  0.0 0.0 2.2000
    SWCNT
    10 10
    TESTGEOM
    END
    END
    

  • Double Walled Naontubes X(n1,0)@Y(n2>>n1,0)
    SilviaCasassaundefined SilviaCasassa

    Hello,
    thank you for your question. Could you be more precise? I don't understand exactly what you mean but this is the input file for a double wall nanotube created starting from a graphene layer:

    title
    SLAB
    77 
    2.47
    1
    6 0.33333333 0.6666666667 0.000000
    NANOMULTI
    2
    WALL
    1
    ROLLINGV
    6  6
    WALL
    2
    ROLLINGV
    12    12
    NANOJMOL
    ENDWALL
    END
    END
    

    you can have a look at the Tutorial, on the Crystal web page:
    https://tutorials.crystalsolutions.eu/tutorial.html?td=mwnanotube&tf=MW_tutorial

    I hope it helps...

Member List

CrystalSupportundefined CrystalSupport
ldonaundefined ldona
Chiaraundefined Chiara
Jacquesundefined Jacques
bcivalleriundefined bcivalleri
aerbaundefined aerba
SilviaCasassaundefined SilviaCasassa
dmitoliundefined dmitoli
GiacomoAmbrogioundefined GiacomoAmbrogio
  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • Home
  • Recent