For the isolated molecule such as CO2 which is D infinity h, what is the symmetry group? I could not find this one in the manual
Recent Topics
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:
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+00The 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 ClThen 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.
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:
aerba Christmas is already in the air indeed!
aerba, Thank you very much for your reply!
Unfortunately, I don't speak English very well, which is why I may have phrased my question incorrectly.
My question was that the function OPTGEOM does not work correctly with RUNCONFS. I had already tried the steps you suggested.
However, I was able to figure out the problem. For geometric optimization, I just needed to specify the keyword more correctly:
CRYSTAL 0 0 0 194 3.065 17.656 4 22 0 0 0.5 14 0 0 0.75 22 0.666666 0.333333 0.364919 6 0.333333 0.666666 0.427507 SCELCONF 1 0 0 0 1 0 0 0 1 RUNCONFS ATOMSUBS 22 273 OPTGEOM MAXCYCLE 500 ENDOPT END ENDI'll leave it here, maybe it will be useful to someone in the future.
Nevertheless, thank you very much for your responsiveness
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,
Hi Prof. Erba,
Thanks for the reply. From the file, I could see there are value from energy " -7.9324E-01" (Line No: 81826). I could plot the data using Python, Xmgrace. With CRYSPLOT somehow the data loading is slow and my browser hangs so I am not able to check it. But definitely there is data.
I requested for COHP between Ni and three nearby oxygen. In the file there are 5 columns, so if I am not mistaken it corresponds to "Energy - Next three columns in the order I request - Final Column of DOS ?" (Because the last column data when plotted matches the DOS)
Thanks & Regards,
Rams
Hi,
jquertin said in SCF fails spinlock with POB-DZVP-REV2:
In the case of SPINLOCK, the manual clearly explain that the NSPIN value is the difference in number of alpha and beta electrons. For SPINLOC2, the text only refers to the spin while the table gives the same definition for SPIN as for NSPIN (in SPINLOCK).
The argument SPIN of SPINLOC2 still represents a number of electrons, as in SPINLOCK.
jquertin said in SCF fails spinlock with POB-DZVP-REV2:
Furthermore, in the calculation, if using SPINLOC2 with 6 or 6.0 as the spin (as defined in the table), crystal defaults to SPINLOCK.
That's right. SPINLOC2 requires a non integer argument. For integer arguments it reduces to SPINLOCK.
jquertin said in SCF fails spinlock with POB-DZVP-REV2:
In short, if I define SPINLOC2 SPIN as 3 (1/2 * 6) or 3.0, crystal defaults to SPINLOCK with NSPIN 3 which is actually half of what I want.
In both SPINLOCK and SPINLOC2, the argument is meant as a number of electrons. Thus, if you have 6 extra up electrons with respect to down electrons, the input value should be 6, not 3. For integer values, SPINLOC2 is of no use.
Hope this clarifies things a little,
Hi Chris,
The reason you only see a few k-points printed is indeed that the printing options are not fully supported in parallel execution. In a parallel run, each MPI process handles a subset of the k-points, and only process 0 writes to the output file. As a result, you’ll only see the k-points assigned to process 0, which can be just a few, or even none, depending on how they are distributed.
By default, the code distributes k-points in a round-robin fashion starting from the last process, so the gamma point is typically assigned to the last process and therefore never printed in a parallel execution.
This behavior applies to both options 66 and 67.
Try running the following input:
NEWK 4 4 1 2 66 999 67 999 ENDHowever, you’ll need to run it on a single process for the eigenvectors to be printed correctly.
If the calculation is too expensive to run on a single process, we may need to find an alternative approach to extract those values (though that won’t be straightforward).
Dear prof. Erba,
Have You got any time to look into the source maybe? 🙂
Quite interestingly, I have recently noticed that in some other QC code values for the components change a lot (by up to 60%) from run to run, except for the dipole orientation (when the molecular dipole is aligned with z axis). Is (or could be) the reorientation You are referring to connected with this? Seems like something similar to the struggle fir gauge invariance in NMR calculations...
Hi,
We provide a distribution of precompiled object files that can be linked on this architecture. You should be able to build and run CRYSTAL23 successfully using those.
We do not have specific performance optimization data or configuration recommendations for the KNL platform. Performance is highly dependent on the system setup and workload characteristics, so we recommend running a few short benchmarks to identify the best configuration for your case.
As regards OpenMP, the optimal number of threads depends on your memory limitations; however, we recommend not exceeding 8 threads per MPI process.
Let me know if you have any further questions.
Dear CRYSTAL community,
From Monday 15 to Thursday 18 December 2025, the 39th Winter School in Theoretical Chemistry will take place in Helsinki, Finland.
This year’s focus is on Electronic Structure Theory! The School is organised by the Department of Chemistry, University of Helsinki, and is open to everyone in academia: students, postdocs, and professors. Best of all, it’s free of charge!
📍 Location:
Helsinki - Finland
City Center Campus of the University of Helsinki
🎓 Lecturers:
Jacques Desmarais [Jacques] (University of Turin)
Janus Juul Eriksen (Technical University of Denmark)
Arno Förster (VU Amsterdam)
Christof Holzer (Karlsruhe Institute of Technology)
Ida-Marie Høyvik (Norwegian University of Science and Technology)
Stanislav Komorovsky (Slovak Academy of Sciences)
Frank Neese (Max Planck Institut für Kohlenforschung)
📝 More info & Registration:
For full details, registration form, and updates, please check the official Winter School page.
Don’t miss this opportunity to meet leading experts, learn the latest in electronic structure theory, and connect with fellow scientists from around the world! 🌍
-
-
PROPERTIES
Discuss features, updates, and general use of the PROPERTIES module
-
Technical Aspects
Seek assistance, discuss troubleshooting tips for any technical problem you encounter and report bugs
-
Visualisation Tools
Discuss tools and techniques for visualizing simulated data
-
Community and Events
Communications for the community and updates on upcoming events