****** CASTEP ****** .. py:class:: CASTEP This interface supports energy and gradient evaluations with the `CASTEP `_ electronic structure package (version 23.1.1 or later) A CASTEP :ref:`Theory ` object can be specified as follows:: my_frag = Fragment(...) my_theory = CASTEP(frag=my_frag, functional='lda', ...) which would then be called as ``theory=my_theory`` in subsequent tasks (see :ref:`Tasks `). General options =============== .. py:attribute:: basis_de_dloge (default: 0.0) Derivative of total energy with respect to the natural log of the basis cutoff energy. used only if finite_basis_corr : 1 (manual) Allowed types of value: * A python :py:class:`str` specifying the :py:class:`float` value of the correction and [an optional] unit. for example: ``basis_de_dloge='-1.2345 eV'`` .. py:attribute:: basis_precision (default: ``'FINE'``) Level of convergence of atomic energies with respect to the plane wave cutoff energy. Allowed types of value: * A Python :py:class:`str`. One of: ``'COARSE'``, ``'MEDIUM'``, ``'FINE'``, ``'PRECISE```, ``'EXTREME'`` .. py:attribute:: cut_off_energy (default: ``'125 eV'``) Cutoff energy for the plane wave basis sets. Allowed types of value: * A Python :py:class:`str` value of the energy with [an optional] unit, for example: ``cut_off_energy='500 ha'`` .. py:attribute:: elec_convergence_win (default: ``'2'``) The size of the convergence window during a linear response to electric field calculation. The linear response convergence criteria must be met for EFIELD_CONVERGENCE_WIN iterations before acceptance. Allowed types of value: * A Python :py:class:`str` or :py:class:`int` value, for example: ``elec_convergence_win=5`` or ``elec_convergence_win='5'`` .. py:attribute:: elec_energy_tol (default: ``'10e-05 eV'``) Tolerance for accepting convergence of the total energy in an electronic minimization Allowed types of value: A Python :py:class:`str` value specifying a :py:class:`float` value with [an optional] unit, for example: ``elec_energy_tol='10e-06 eV'`` .. py:attribute:: electronic_minimizer Method used to minimize electronic states. (default: ``CG``) Available options are: ``'SD'``, ``'CG'`` .. py:attribute:: finite_basis_corr (default: 2) Specifies whether or not to apply a finite basis set correction to energy and stress when cell parameters change. Allowed values are: ``0`` - no correction, ``1`` - manual correction using ``basis_de_dloge`` ``2`` - automatic correction using ```finite_basis_npoints``` and ```finite_basis_spacing``` .. py:attribute:: finite_basis_npoints (default: ``3``) Number of points used to estimate the BASIS_DE_DLOGE in automatic calculation of the finite basis set correction. Only used if finite_basis_corr : 2. Integer values are allowed. .. py:attribute:: finite_basis_spacing (default: ``5.0 eV``) : Spacing of cutoff energies used to estimate the BASIS_DE_DLOGE in automatic calculation of the finite basis set correction. only used if finite_basis_corr : 2. Allowed types of values: A Python :py:class:`str` value specifying a :py:class:`float` value with [an optional] unit, for example: ``'10.0 eV'`` .. py:attribute:: fix_occupancy (default: ``True``) Specifies whether or not the occupancies of the bands remain fixed. .. py:attribute:: grid_scale (default: ``2``) Size of the standard grid, relative to the diameter of the cutoff sphere. Allowed types of values: A Python :py:class:`float` or :py:class:`str` specifying the float value. for example: ```'2.0'``` .. py:attribute:: maxiter (default: 60) Equivalent to max_scf_cycles. Maximum number of SCF cycles performed in an electronic minimization. Any integer value is allowed. For example: ```maxiter=20``` or ```maxiter='20'``` .. py:attribute:: metals_method (default: ``EDFT``) Determines the electronic minimization method used in the self-consistent calculation. Allowed values are ``DM``, ``EDFT``, ``NONE`` .. py:attribute:: mixing_scheme (default: ``Broyden``) The mixing scheme used in the density mixing procedure Allowed values are ``Kerker``, ``Linear``, ``Broyden``, ``Pulay`` .. py:attribute:: nbands Maximum number of bands at any k-point and spin. Allowed types of value: Integer .. py:attribute:: num_dump_cycles (default ``0`` - no data will be written ) Number of SCF cycles between updates to the wavefunction and density data file Allowed types of value: Integer. .. py:attribute:: opt_strategy (default ``default`` - Best balance between performance and memory usage) Optimization strategy used. Allowed values are ``Speed``, ``Default``, ``Memory``. .. py:attribute:: input (default: ``('_castep.cell', '_castep.param')`` List containing names of CASTEP input files .. py:attribute:: output (default: ``'_castep.out'``) Name of CASTEP output file .. py:attribute:: pseudopotential (default: Default pseudopotential generated on the fly by CASTEP) Input for the CASTEP input ``species_pot``, the data block containing the names of the pseudopotential files associated with each species Allowed Types of value: A Python :py:class:`str` which specifies either: * One of the allowed keywords ```QC5, HARD, MS, C7, C8, C9, NCP9, C17, NCP17, C18, NCP18, C19, NCP19, SOC19, NCP``` . The keyword chooses definition of the pseudopotential which is to be generated at runtime. or: * A comma separated list of the pseudopotential files to be used for each element. Filenames should be in the format ``element_filename`` For example: ```pseudopotential= 'H_pseudo.usp, O_pseudo.usp' ``` . If any element is not specified, it is assigned the default value. .. py:attribute:: rand_seed (default: ``0``) Controls the initialization of random number seeds. Allowed type of value: integer * If ``0`` is used, the seed for random number generation is selected pseudorandomly. * Any other integer value is used as seed for the random number generator. .. py:attribute:: smearing_width (default: ``'300 K'``) width of the Fermi-surface smearing if the system is being treated as a metal Allowed type of value: A Python :py:class:`str` which specifies a :py:class:`float` value with [an optional] unit: for example, ``smearing_width='275.4 K'`` .. py:attribute:: write_checkpoint (default: ``None``) Write periodic backup A Python :py:class:`str` : ``None``, ``MINIMAL``, ``BOTH``, ``ALL``, ``FULL`` .. py:attribute:: write_formatted_density (default: ``False``) Whether the final electron density is written to an ASCII file called seedname.den_fmt