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.
Developer
Developer of the CRYSTAL code!
Posts
-
D infinity h symmetry -
D infinity h symmetryHi 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 ComponentsHi Orion,
Looking at your input, I think you want to plot the orbital projected electronic DOS (in CRYSTAL this is done with theDOSSkeyword,PDOSin 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_nThe 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+00The indeces are the numbers befor each orbital shell (
1 2-5 6-9 10-13 14-18).
The notation2-5means indices2through5, 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> ENDKeep 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 fragmentDear 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 ENDaerba Christmas is already in the air indeed!
-
SCF convergence ferromagnetic MIL-127As a general suggestion, I would recommend adding
SMEAR, and possibly enabling DIIS, which can also be helpful. However, when usingSPINLOCK, be careful, you should only turn DIIS on after SPINLOCK is disabled, so make sure to useTHREDIISinstead.You can also try increasing
FMIXINGto around 90 or 95, and using slightly higherTOLINTEGvalues.Additionally, increasing
SHRINKto 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-127Hi 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 fragmentHi,
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!


-
SCANMODE io error Read_int_1dHi,
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)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.jpgTitle 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]- 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]

-
Double Walled Naontubes X(n1,0)@Y(n2>>n1,0)the ZnO@GaN were done exactly in this way... if you roll up a two-layers slab you end with a double wall nanotube