Dear ywang,
the issue is due to formatting: the number of atoms must be on a separate line, not at the end of the previous one. I have just checked this, and the input works correctly once formatted properly.
Best,
Developer of the CRYSTAL code!
Dear ywang,
the issue is due to formatting: the number of atoms must be on a separate line, not at the end of the previous one. I have just checked this, and the input works correctly once formatted properly.
Best,
Dear user,
the error message reported in the output (i.e., "ERROR **** geometry **** FORMAT ERROR IN INPUT DECK") clearly indicates an issue in the input file. In particular, in the geometry block, after specifying the lattice parameters and before listing the fractional coordinates of the atoms, you must include the number of atoms in the primitive cell (which, in your case, is 6).
Hope this helps.
Best regards,
Let me just add that we do have a development version of the code for HSE+SOC, which we plan to include in the next release.
Hi masoud37,
Unfortunately, range separated hybrids (as HSE06) are not supported in two-components calculations (ie SOC), as stated at page 166 of the User manual.
Please consider using a global hybrid instead, as PBE0 or any other "custom" percentage of exact exchange in any GGA functional using the keyword HYBRID (refer to page 135 of the manual).
Hope this helps.
Thanks!
Could you share also the .d12 CRYSTAL input that generated the .f9 file?
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! 
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)
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.
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.
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:
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.