❅
❅
❅
❅
❅
❅
❅
❅
❅
❅
❅
❅
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


  • malloc during BOLTZTRA (Pproperties)
    aerbaundefined aerba

    Thanks!
    Could you share also the .d12 CRYSTAL input that generated the .f9 file?


  • How create band structure in P1 symmetry
    aerbaundefined aerba

    Hi,

    Let me just add that of course in P1 there are no special high-symmetry points to guide you in the definition of the path, so you need to be a little creative. For instance, you can start from Gamma (0 0 0) and go to the edge of the FBZ along the b1 reciprocal lattice (1/2 0 0), to then go to (1/2 1/2 0), then to (0 1/2 0) then back to Gamma (0 0 0) and then to the edge along the b3 reciprocal lattice (0 0 1/2). Or something else! 🙂


  • segmentation fault with double free or corruption during SCF
    GiacomoAmbrogioundefined GiacomoAmbrogio

    Hi andrejsc,
    There is no "hardcoded" switch in the TOLINTEG keyword, I suspect that the quote from the manual comes from the "old days", when a threshold of \( 10^{-20} \) was considered absurdly small. However, with advances in hardware and the increasingly complex structures we want to compute, such thresholds are sometimes necessary.

    A small note: don't warry about going past machine precision with these small numbers. All evaluations of integral thresholds in the code are performed at the logaritmic level (ie only on the exponent), so you should be fine even with a value of 1 million in TOLINTEG (though maybe not fine in terms of computation time)


  • D infinity h symmetry
    dmitoliundefined dmitoli

    If you fear that a reduced symmetry might influence the thermodynamic results, you can simply run the calculation without imposing any symmetry at all. For a 3-atom system like CO₂ the computational cost is so minimal that you can run both symmetry-free and \(D_{4h}\) calculations. Comparing the two results should give you an indication of whether the imposed symmetry has any impact on the quantities you are interested in.


  • D infinity h symmetry
    dmitoliundefined dmitoli

    Hi Jonas,

    CRYSTAL does not implement point groups with infinite-order rotations, so \(D_{\infty h}\) cannot be used directly. For linear molecules like CO₂, the practical approach is to approximate the symmetry using a finite-order rotation group.

    In this case, \(D_{4h}\) (i.e., 24) is a good option in CRYSTAL. It preserves the key degeneracies of linear molecules, including the doubly degenerate bending modes of CO₂. Using a lower-symmetry group like \(D_{2h}\) would artificially lift these degeneracies.


  • 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

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