Castep Software Free Download
The code was first licensed by Cambridge Enterprise to Cambridge-based software company Molecular Simulations Inc. This was then acquired by Accelrys in 1995, and has recently been acquired again by Biovia, which is part of Dassault Systémes. CASTEP has recently passed $30 million in sales.
When CASTEP came along, for the first time you could learn something about the system before the system is even made.
Widely used in the oil and gas, chemical and semiconductor manufacturing industries, CASTEP can be used, along with other techniques, to enhance the efficiency of processes, and help identify the origin of failures in devices and products.
The code uses the principles of quantum mechanics to describe phenomena at the atomic level. Using quantum mechanics enables different properties of a material to be determined in a computer, allowing researchers to peer inside a figurative Schrödinger’s box.
CASTEP file is a CASTEP Data.CASTEP is a full-featured materials modelling code based on a first-principles quantum mechanical description of electrons and nuclei. It uses the robust methods of a plane-wave basis set and pseudopotentials. Castep free download. Jmol Over 10,000,000 page views! Jmol/JSmol is a molecular viewer for 3D chemical structures that runs in. The CASTEP Developers' Group (CDG) and Cambridge Enterprise are excited to announce a cost-free worldwide source code license to CASTEP and NMR CASTEP for academic use. The CDG looks forward to welcoming a global community of CASTEP users and developers. Click here to download.
The software is based on density functional theory, which is used to describe the systems of electrons in which the energy is directly related to the density of those particles. Researchers can ‘pour’ electrons into the CASTEP box and the software works out how the electrons will be distributed and, from this, determines the energy of the system. It can also tell whether the atoms are located where they should be or not, and can help to move the atoms to more favourable arrangements if desired. CASTEP can also predict many different spectra, such as infrared or nuclear magnetic resonance (NMR), allowing many different characteristics to be determined using a single piece of equipment.
“When CASTEP came along, for the first time you could learn something about the system before the system is even made,” says Professor Payne. “It was basically the first materials code where all of the complexity was taken out and you were left with a black box that is rigorous, robust and reliable.” It was also the first such code to be made available on parallel computers, allowing many processors to be used simultaneously, providing access to much larger and more complex systems.
Now over 15 years old, it is unusual for a piece of software to be so long-lived. “Software can have that sort of lifespan, but you can’t stand still,” says Professor Payne. “The thing about academic software is if you do it right, there need not be any delay between academics developing new capabilities and functionalities for the software and providing exactly the same capabilities to the commercial customers.”
Professor Payne attributes the product’s success to a continuous process of development and improvement which included a complete re-write of the code that was done by the CASTEP Developers Group between 2000 and 2003. “In contrast to the code re-writes in the ASCI programme in the United States, in which each re-write cost $25 million, CASTEP was re-written by six people in their spare time at a fraction of that cost.” The code is free for any UK-based academics to use, and more than 750 academic papers based on CASTEP calculations were published in 2012. Commercial sales and a recently launched low cost European academic release are handled by Accelrys.
A potential area of future growth for CASTEP is in the pharmaceutical industry, where it is starting to be used in combination with solid-state NMR to detect impurities in drug molecules.
Since the development of CASTEP, the cost of performing calculations has become so low that tens of thousands, or even millions, of calculations can be performed. There are now significant opportunities for exploiting this using the data mining techniques developed in other fields. With the volume of calculations that are now possible, researchers may soon be able to design a new material based on the properties they would like it to have, rather than determining the properties of a material which already exists.
However, Professor Payne says CASTEP cannot solve the paradoxes of quantum mechanics or deal with all the complexities of materials behaviour on its own. “CASTEP is a tool to help us understand very complicated problems,” he says. “Occasionally, it can solve the problem by itself, but the reality is the more tools you can bring to bear on such complex problems, the better.”
Photo credit: MS-DOS Blue Horizontal by Kjetil Korslien via Flickr
SYNOPSIS
DESCRIPTION
OPTIONS
FORMATS
OPERATION
NOTES
EXAMPLES
VIEWERS
BUGS
ACKNOWLEGEMENTS
SEE ALSO
NAME
c2x - convertsvarious crystal formats including density grid data
SYNOPSIS
c2x[-OPTIONS] [--FORMAT] [--OPERATION] infile [outfile]
DESCRIPTION
c2xconverts primarily a CASTEP .check file to various outputformats, additionally extracting densities (charge, spin,band or psi) and forces. It can also read CASTEP .cell filesand PDB files, Onetep .dat files, and several input andoutput files from Abinit, Quantum Espresso and VASP, withsome support for Siesta too. It is a sort of Babel withsupport for gridded data and .check files, and the abilityto transform cells and perform simple analysis (integration,interpolation, dipole moment calculation, band parityidentification).
It may havebeen compiled to give access to symmetry functions fromspglib too.
An input filewhose name ends ’.pdb’ is assumed to be in pdbformat, ending in ’.cif’ is assumed to be in cifformat, ending in ’.res’ is assumed to be inshelx97, ending ’.cub’ or ’.cube’ isassumed to be in cube format, ending ’.in’ isassumed to be an Abinit or Quantum Espresso input file,ending ’.xml’ is assumed to be a QuantumEspresso output file, ending in ’.xsf’ isassumed to be in xsf format, and ending in ’.xv’or ’XV’ is assumed to be in Siesta’s XVformat. Input files ending CHG, CHGCAR, POSCAR, CONTCAR,LOCPOT or WAVECAR are assumed to be in VASP 5.x format.Input files ending in DEN, POT or WFK are assumed to be inAbinit format. Otherwise, if the first byte is either zero,10 or 30 it is assumed to be a .check file, else it isassumed to be a .cell file. It can also read .orbitals files(which are identical to .check files in format), and.castep_bin files (which lack wavefunctions). Furthermore,it can read .chdiff files and .cst_esp files. In these casesit needs a .cell or a .check file as well in order to obtainunit cell information.
OPTIONS
-a | rotate as though outputing inabc format, i.e. place a along x axis, b in xy plane, andabc form a right hand set. Useful if one wants a dx fileconsistent with a pdb file. See also -3. |
-A | accumulate (sum) bands requested by -b= or-B=. |
-b[=range]
include specified bands as psi(real).
-B[=range]
include specified bands asdensities (psi*conjg(psi)).
-c | include charge density (units electrons per cubicAngstrom). |
-C | find 'compact' (near-cubic) set of cellvectors. |
-d | read also a corresponding .chdiff file, and output itscontents. The filename given must still be that of a .cellor .check file, as a .chdiff file contains no axes. |
-D=[x,y,z]
if charge density read (-c),calculate dipole moment about fractional co-ordinates x,y,z,or 0.5,0.5,0.5 if co-ordinates not given. Assumes densityhas been read as eA^-3.
-Da=[x,y,z]
as above, but also reportpost-hoc energy correction for slab geometry for the a axisbeing the non-periodic axis. Valid values of a: a, b andc.
-Dm=[x,y,z]
as above, but also reportpost-hoc energy correction for a molecule in a cubic box, orfor a molecule in a tetragonal box if dipole moment isparallel to c.
-e | read also a corresponding .cst_esp file, and output itscontents. The filename given must still be that of a .cellor .check file, as a .cst_esp file contains no axes. |
-e=tol | set symmetry tolerance to given number of Angstroms |
-E[=[-][mu]]
calculate electrostaticpotential, assuming that an electron density has been read(implies -c). Ions are treated as Gaussian blobs of chargeof extent exp(-mu^2r^2). If the ionic charge differs fromthe atomic number, a further localised smoothing of theatomic potential occurs, unless the first character afterthe = is -.
--formats
list supported formats
-H | shift atoms by half a grid cell. For use with xplor dataformat, see below. |
-i=nx,ny,nz
Fourier interpolate ontospecified grid size. New grid may be coarser or finer thanoriginal. Any dimension given as zero is replaced by oldgrid size. If reading wavefunction, any grid truncation isdone after transforming back to real space and converting todensity etc.
-I[=range]
report whether bands haveinversion, and parity under inversion. If combined with -bor -B, the last range given is used.
-k[=range]
include given kpoints for bands(default range is 1).
-l | if k-points are to be included in a .cell file,explicitly list them rather than using the MP generationparameters. |
-L | output in abc format assuming that abc describes aleft-handed set of axes. Do not use this unless youunderstand why you should not! |
-m[=a,b,c]
assume input is molecule, notcrystal. Try to avoid outputing a cell, shift if someco-ordinates are negative, or if a,b,c given shift by thosenumbers of FFT grid cells.
-m[=a,b,c]
assume input is molecule, notcrystal. Try to avoid outputing a cell, shift atoms byfractional co-ordinates given.
-n | discard symmetry information, and, if output is XSF,discard forces. Give twice to discard k-points too. |
-N | normalise by reducing fractional coords to 0<=x<1.In conjunction with -m, do output a cell. |
-O | print band occupancies and evalues to stderr. |
-P | find primitive cell with own internal algorithm, notspglib. |
-P=p1:p2:nn
output data as line of nnpoints from p1 to p2. Express p’s as either fractionalco-ordinates in the form (x,y,z), or an atom position as,e.g., Si3 for silicon atom number 3, or simply Si for thefirst Si atom. Using a 0 (zero) for a p is equivalent to(0,0,0), and the three cell axes'(0,0,0):(1,0,0):ngx+1' (etc.) can be specified asa, b and c.
-P=p1:rl:nn
output data with cylindricalaveraging. p1 is the centre of the cylinder, rl (literal'r', followed by a length, suffixed by'B' if Bohr) is the radius, and nn the number ofpoints. The axis of the cylinder must be the c axis, andalpha and beta must be 90 degrees. Data are averaged over cand theta.
-R | don’t attempt to rescale densities, but outputthem raw. Charge density becomes electrons per unit cell ifreading from Castep, for instance. Also do not attempt toadjust radius to maintain bond length on nanotubecreation. |
-R=x | rescale grid data by factor x, not whatever factor (ifany) would normally be used. If the factor is suffixed by an'x', do include c2x’s usual conversionfactor too. |
-s | include spin density. |
-S[=range]
include specified spins orspinors for bands (default range is -, and the spins arenumbered 0 and 1).
-t=(x1,y1,z1)(x2,y2,z2)[(x3,y3,z3)]
rotate co-ordinate system sothat the first vector becomes the second. First vector givenin relative co-ordinates. If third axis given, it is used asthe rotation axis. Else the rotation axis will beperpendicular to the two axes given.
-T=(x1,y1,z1)(x2,y2,z2)[(x3,y3,z3)]
rotate co-ordinate system sothat the first vector becomes the second. All vectors givenin absolute co-ordinates. If third axis given, it is used asthe rotation axis. Else the rotation axis will beperpendicular to the two axes given.
-u | use atomic units (Bohrs) when writing .cell files and 1Ddata. Scale densities from A^-3 to Bohr^-3 when writing.cube files. |
-U | scale densities from Bohr^-3 to A^-3 when reading .cubefiles. |
-v | be verbose. Far too much output can be generated ifspecified more than twice. |
--version
print version information. Ifpreceeded by -v, also print internal conversion factors.
-w | weight bands by occupancies, or sqrt(occ) if notcalculating density. |
-w=k | weight bands by k-point weight, but not occupancy. |
-W | weight bands by occupancies and k-point weight, or sqrtthereof if not calculating density. |
-x=(x1,x2,x3)(y1,y2,y3)(z1,z2,z3)
expand unit cell to new cellspecified in terms of the old cell axes.
-x=ixjxk
expand cell with a trivialtiling.
-X=(x1,x2,x3)(y1,y2,y3)(z1,z2,z3)
expand unit cell to new cellspecified in absolute co-ordinates.
-X[abc]=x
change given axis/axes to newlength by inserting / removing vacuum around the origin.Removing non-existent vacuum will produce nonsense. Lengthmay be suffixed with B (for Bohr) or nm.
-y=i,j[:x]
make nanotube. The input cellmust have c perpendicular to the ab plane, and c as thenonperiodic direction of the sheet to be rolled. Thecircumference is then defined by the vector i*a+j*b. Thevector along the tube’s length found automatically,and the size of the cell perpendicular to the tube’slength is given by the optional parameter x, which may besuffixed with B (for Bohr) or nm.
-z=p1 | print to stdout data at given point, and set output typeto null. For specification of p1, see -P= option. |
-Z=p1 | ditto, but assume that data represents an electrondensity in A^-3, and also output Perdew Zunger 81 XCenergy. |
-3 | when moving from a left hand set of axes to a right handset, rather than exchanging the 2nd and 3rd axes, preservethe 3rd and exchange the 1st and 2nd. This transformation isrequired if the input is cartesian and left handed, and anabc output is requested. Specifying this flag twice willcause the 1st and 3rd axes to be exchanged. |
FORMATS
The followingoutput formats are recognised.
--abinit
Abinit .in file. The output isinsufficient to be a valid input file to Abinit, but caneasily be made so.
--bands
CASTEP .bands file, no sortingof bands.
--bxsf | XCrysDen / FermiSurfer file for plotting Fermi surfaces.A symmetry-reduced kpoint set will be expanded. |
--ccp4 | CCP4 density map format. Note no atomic positions can berecorded in this format, and c2x will always produce aright-hand set of axes unless the input is a lhs and theoption -L is given. |
--cell | CASTEP .cell, cartesian cell, fractionalco-ordinates. |
--cell_abc
CASTEP .cell, abc cell,fractional co-ordinates.
--cell_abs
CASTEP .cell, cartesian cell,absolute co-ordinates.
--cell_abc_abs
CASTEP .cell, abc cell,absolute co-ordinates.
--chgcar
VASP 5.x chgcar output.
--cif | a very basic and rigid format which may be compatiblewith some CIF-reading software. |
--cml | Chemical Markup Language. |
--cube | Gaussian cube. Atoms and at most one data set. |
--dx | Data Explorer. Data set only. |
--denfmt
CASTEP formatted density
--fdf | Siesta. If a density has been read, a corresponding .RHOfile will be written. |
--gcoeff
An ASCII wavefunctioncoefficient representation
--gcoeff_sorted
The same, sorted by |g|
--gnu | Gnuplot command file for 1D data. |
--null | Null output. Throw away all output, but still write someuseful information the input to stderr. |
--one | Onetep .dat, very similar to .cell. Also one_abc,one_abs, and one_abc_abs. |
--pdb | PDB |
--pdbn | PDB, but label the atoms with element symbol and numberwithin that species, e.g. C8, H24, Ca2, rather than justwith element symbol. The whole string can contain no morethan four characters, so * is used for the numeric part ifit would not otherwise fit. |
--py | a python dictionary, compatible with the Atoms datastructure from ASE. |
--pya | a python ASE Atoms data structure. |
--qe | Quantum Espresso. Non colinear spins not supported. |
--qef | Ditto, atoms in fractional co-ordinates. |
--shelx
a subset of the SHELX97format.
--vasp | VASP 5.x output (poscar or chg). |
--xplor
Xplor format. Data set only.The grid used in this format is offset by half a grid cellcompared to Castep, and as interpolating is inexact, thisprogram does not in this case. Also the grid axes aredescribed in terms of a, b, c, alpha, beta, gamma, soinformation about orientation in space is lost. To produce acompatible pdb file of atomic co-ordinates, specify-Hc when creating the pdb file.
--xsf | XCrysDen format. Default. The only format in whichmultiple data sets are supported. |
--xv | Siesta’s .XV format (positions only, velocitieswritten as zero). Will also write a .RHO file if grid datahave been read. |
--xyz | XYZ format. Atoms only, no unit cell. |
Where a rangeis required, it can be specified as a single integer, twointegers separated by a hyphen (all integers in the givenrange), or a comma-separated list of any of these elements.Only for the xsf output format is a range including morethan a single integer meaningful.
OPERATION
If c2x has beencompiled with spglib, the following spglib operations areavailable.
Castep software, free download Cnet
--int | call spg_get_dataset() andreport international symbol |
--list | call spg_get_dataset() and list symmetry ops |
--point
call spg_get_dataset() followedby spg_get_pointgroup()
--primitive
call spg_find_primitive(),equivalent to spg_standardize_cell(to_primitive=1,no_idealize=0). This may rotate the cell to a standardisedorientation.
--primitive_nr
callspg_standardize_cell(to_primitive=1, no_idealize=1), soprimitive no rotation
--refine
call spg_refine_cell()
--schoen
call spg_get_schoenflies()
--snap | call spg_standardize_cell() then expand back to asnapped version of the original cell |
--snap_tr
ditto, but include anytranslation introduced by spglib
--standardise
callspg_standardize_cell(no_idealize=1)
--std_ideal
callspg_standardize_cell(no_idealize=0)
--symmetry
call spg_get_dataset() and keepsymmetry ops
NOTES
For the pdbformats, just the unit cell and atomic positions are read orwritten. For the dx and xplor formats, just a single dataset is written. For the Gaussian cube format atomicpositions and at most one data set are recorded, and for theXCrysDen format the unit cell, atomic positions, forces, andany number of data sets are recorded.
When reading a.geom file and writing a format containing a single frame,the last frame is written.
Note that thepdb format offers a very low precision for storingco-ordinates, and, because it stores the unit cell in abcformat, and the atoms in absolute coordinates, a rotation islikely to be required to place a on the cartesianx axis, etc. If so, it will be done automatically.The same is true for the abc varients of the cell format andfor the Xplor and cif file formats. This rotation can bespecified explicitly for other formats. Additionally theaxes must form a right-handed set. If this is not the case,two axes will be interchanged. By default, b andc are exchanged, but the flag -3 will causea and b to be exchanged instead.
The cif readerreads little more than c2x’s cif output. It is verybasic, and will fail to read correctly a large number ofvalid cif files. There is currently no intention to producea proper cif reader.
software, free download For Windows
When outputtingpsi it is assumed that it is possible to make psi real byunwinding any phase produced by the k-point, and thenmultiplying all points by the same arbitrary complexconstant. If this is not so, the band was probably nonsenseanyway. The final choice of a factor of -1 is arbitrary.This scheme produces nonsense if one attempts to plot adegenerate band.
When doing theconversions resulting from -x, a new grid will be chosen ofsimilar density to the old, and the data interpolated ontothe new using trilinear interpolation. Extrapolating psis(rather than densities) is meaningless except at gamma, forthe phase due to the k point is not considered.
Densities bydefault are in Angstroms**-3, and psis in Angstroms**-1.5,save that .RHO files are written in Bohr**-3 asexpected.
EXAMPLES
To extract thecharge density in xsf format
c2x -cinput.check output.xsf
To extract thefirst four bands as psi at the second k-point in xsfformat
c2x -b=1-4 -k=2input.check output.xsf
To convert acheck file to a pdb file
c2x --pdbinput.check output.pdb
To convert acell to something containing two repeat units in the a and bdirections, and one in the c direction
c2x --cell-x=’(2,0,0)(0,2,0)(0,0,1)’ in.cell out.cell
or, from c2xversion 2.30,
c2x --cell-x=2x2x1 in.cell out.cell
Assuming theabove cell was a 3.5A cube, the same in absoluteco-ordinates
c2x --cell-X=’(7,0,0)(0,7,0)(0,0,3.5)’ in.cellout.cell
To change acell containing one layer of bulk in the c direction to onecontaining four layers, and sufficient vacuum to make atotal length of 30A
c2x --cell-x=1x1x4 -Xc=30 in.cell out.cell
VIEWERS
This code waswritten with the following viewers in mind. For densities,xcrysden, VESTA and jmol, for structures gdis.
BUGS
None known.
Please reportothers to MJR.
ACKNOWLEGEMENTS
If you wish tocite, please do so as 'C2x: a tool for visualisationand input preparation for Castep and other electronicstructure codes', MJ Rutter, Computer PhysicsCommunications, vol 225 pages 174-179 (2018).
Details ofspglib can be found at https://atztogo.github.io/spglib/
software, free download Games
SEE ALSO
Castep software, free download For Windows 7
babel(1)
https://www.c2x.org.uk/