aiida_crystal17.calculations.cry_main module

Plugin to create a CRYSTAL17 output file from input files created via data nodes

class aiida_crystal17.calculations.cry_main.CryMainCalculation(**kwargs)[source]

Bases: aiida.orm.implementation.django.calculation.job.JobCalculation

AiiDA calculation plugin wrapping the runcry17 executable.

classmethod get_linkname_basisset(element)[source]

The name of the link used for the basis set for atomic element ‘element’. It appends the basis name to the basisset_prefix, as returned by the _get_linkname_basisset_prefix() method.

Parameters:element – a string for the atomic element for which we want to get the link name
input_schema = {u'$schema': u'http://json-schema.org/draft-04/schema#', u'additionalProperties': False, u'description': u'Allowed Inputs For CRYSTAL17 .d12 file', u'properties': {u'basis_set': {u'additionalProperties': False, u'description': u'Basis sets input and control', u'properties': {u'CHARGED': {u'description': u'forces the overall system to be neutral even when the number of electrons in the reference cell is different from the sum of nuclear charges, by adding a uniform background charge density to neutralize the charge in the reference cell.', u'type': u'boolean'}}, u'title': u'Block 2', u'type': u'object'}, u'geometry': {u'additionalProperties': False, u'description': u'Geometry input, manipulation and optimisation control', u'properties': {u'info_external': {u'description': u'keywords for external output', u'items': {u'enum': [u'COORPRT', u'EXTPRT', u'FINDSYM', u'STRUCPRT', u'SYMMOPS'], u'type': u'string', u'uniqueItems': True}, u'type': u'array'}, u'info_print': {u'description': u'keywords for printing', u'items': {u'enum': [u'ATOMSYMM', u'MAKESAED', u'PRSYMDIR', u'SYMMDIR', u'SYMMOPS', u'PRINTCHG'], u'type': u'string', u'uniqueItems': True}, u'type': u'array'}, u'optimise': {u'additionalProperties': False, u'description': u'optimisation block inputs', u'properties': {u'convergence': {u'additionalProperties': False, u'description': u'optimisation convergence criteria', u'properties': {u'FINALRUN': {u'description': u'run final Wf single point scf with optimized geometry', u'maximum': 4, u'minimum': 1, u'type': u'integer'}, u'MAXCYCLE': {u'description': u'max number of optimization steps', u'minimum': 1, u'type': u'integer'}, u'TOLDEE': {u'description': u'total energy difference between two steps', u'minimum': 1, u'type': u'integer'}, u'TOLDEG': {u'description': u'RMS of the gradient', u'exclusiveMinimum': True, u'minimum': 0, u'type': u'number'}, u'TOLDEX': {u'description': u'RMS of the displacement', u'exclusiveMinimum': True, u'minimum': 0, u'type': u'number'}}, u'type': u'object'}, u'gradient': {u'description': u'the minimisation gradient to use', u'enum': [u'NUMGRATO', u'NUMGRCEL', u'NUMGRALL'], u'type': u'string'}, u'hessian': {u'description': u'the initial hessian matrix to use', u'enum': [u'HESSIDEN', u'HESSMOD1', u'HESSMOD2', u'HESSNUM'], u'type': u'string'}, u'info_print': {u'description': u'keywords for printing', u'items': {u'enum': [u'PRINTFORCES', u'PRINTHESS', u'PRINTOPT', u'PRINT'], u'type': u'string', u'uniqueItems': True}, u'type': u'array'}, u'type': {u'description': u'the optimisation type', u'enum': [u'FULLOPTG', u'CELLONLY', u'INTREDUN', u'ITATOCEL', u'CVOLOPT'], u'type': u'string'}}, u'type': [u'object', u'boolean']}}, u'title': u'Block 1', u'type': u'object'}, u'scf': {u'additionalProperties': False, u'dependencies': {u'dft': {u'not': {u'required': [u'single']}}, u'single': {u'not': {u'required': [u'dft']}}}, u'description': u'Single particle Hamiltonian and SCF control', u'properties': {u'dft': {u'additionalProperties': False, u'description': u'the exchange-correlation functional to use', u'properties': {u'SPIN': {u'description': u'whether to use spin polarisation', u'type': u'boolean'}, u'grid': {u'description': u'the (pruned) integration grid', u'enum': [u'OLDGRID', u'LGRID', u'XLGRID', u'XXLGRID'], u'type': u'string'}, u'grid_weights': {u'description': u'the grid point weights of the integration grid', u'enum': [u'BECKE', u'SAVIN'], u'type': u'string'}, u'numerical': {u'additionalProperties': False, u'definition': u'Numerical accuracy and computational parameters control', u'properties': {u'LIMBEK': {u'description': u'size of local arrays for integration weights', u'exclusiveMinimum': True, u'minimum': 0, u'type': u'integer'}, u'TOLLDENS': {u'description': u'density tolerance', u'exclusiveMinimum': True, u'minimum': 0, u'type': u'integer'}, u'TOLLGRID': {u'description': u'grid weight tolerance', u'exclusiveMinimum': True, u'minimum': 0, u'type': u'integer'}}, u'type': u'object'}, u'xc': {u'description': u'the exchange-correlation functional', u'oneOf': [{u'items': [{u'enum': [u'LDA', u'VBH', u'BECKE', u'PBE', u'PBESOL', u'PWGGA', u'mPW91', u'SOGGA', u'WCGGA'], u'type': u'string'}, {u'enum': [u'PZ', u'VBH', u'VWN', u'LYP', u'PBE', u'PBESOL', u'PWGGA', u'PWLSD', u'WL'], u'type': u'string'}], u'additionalItems': False, u'type': u'array'}, {u'enum': [u'SVWN', u'BLYP', u'PBEXC', u'PBESOLXC', u'SOGGAXC', u'B3PW', u'B3LYP', u'PBE0', u'PBESOL0', u'B1WC', u'WC1LYP', u'B97H', u'PBE0-13', u'HSE06', u'HSESOL', u'SC-BLYP', u'HISS', u'RSHXLDA', u'wB97', u'wB97X', u'LC-wPBE', u'LC-wPBESOL', u'LC-wBLYP', u'LC-BLYP', u'CAM-B3LYP', u'M06L', u'B2PLYP', u'B2GPPLYP', u'mPW2PLYP', u'DHYBRID'], u'type': u'string'}, {u'additionalProperties': False, u'maxProperties': 1, u'type': u'object', u'properties': {u'LSRSH-PBE': {u'minItems': 3, u'items': [{u'exclusiveMinimum': True, u'minimum': 0, u'type': u'number', u'description': u'value of the length scale separation, w'}, {u'exclusiveMinimum': True, u'minimum': 0, u'type': u'number', u'description': u'value of the coefficient for the SR-HF exchange term'}, {u'exclusiveMinimum': True, u'minimum': 0, u'type': u'number', u'description': u'value of the coefficient for the LR-HF exchange term'}], u'additionalItems': False, u'type': u'array'}}, u'minProperties': 1}]}}, u'required': [u'xc'], u'type': u'object'}, u'fock_mixing': {u'description': u'convergence acceleration tool', u'oneOf': [{u'enum': [u'DIIS', u'DIISALLK', u'SLOSHING', u'NODIIS', u'ANDERSON'], u'type': u'string'}, {u'additionalProperties': False, u'maxProperties': 1, u'type': u'object', u'properties': {u'BROYDEN': {u'minItems': 3, u'items': [{u'exclusiveMinimum': True, u'minimum': 0, u'type': u'number', u'description': u'W0 parameter in Anderson\u2019s paper'}, {u'exclusiveMinimum': True, u'minimum': 0, u'type': u'integer', u'description': u'percent of Fock/KS matrices mixing when Broyden method is switched on'}, {u'minimum': 2, u'type': u'integer', u'description': u'SCf iteration after which Broyden method is active'}], u'type': u'array', u'maxitems': 3}}, u'minProperties': 1}]}, u'k_points': {u'items': {u'minimum': 1, u'type': u'integer'}, u'maxItems': 2, u'minItems': 2, u'type': u'array'}, u'numerical': {u'additionalProperties': False, u'definition': u'Numerical accuracy and computational parameters control', u'properties': {u'BIPOLAR': {u'additionalItems': False, u'description': u'Bipolar expansion approximation control', u'items': [{u'exclusiveMinimum': True, u'minimum': 0, u'type': u'integer', u'description': u'overlap threshold for Coulomb'}, {u'exclusiveMinimum': True, u'minimum': 0, u'type': u'integer', u'description': u'overlap threshold for Exchange'}], u'minItems': 2, u'type': u'array'}, u'BIPOSIZE': {u'description': u'Size of buffer for Coulomb integrals bipolar expansion', u'exclusiveMinimum': True, u'minimum': 0, u'type': u'integer'}, u'EXCHPERM': {u'description': u'use permutation of centers in exchange integrals', u'type': u'boolean'}, u'EXCHSIZE': {u'description': u'Size of buffer for Exchange integrals bipolar expansion', u'exclusiveMinimum': True, u'minimum': 0, u'type': u'integer'}, u'FMIXING': {u'description': u'Fock/KS matrix (cycle i and i-1) mixing', u'minimum': 0, u'type': u'integer'}, u'ILASIZE': {u'description': u'Maximum size of array ILA for 2-electron integral calculation', u'exclusiveMinimum': True, u'minimum': 0, u'type': u'integer'}, u'INTGPACK': {u'description': u'Choice of integrals package', u'maximum': 3, u'minimum': 0, u'type': u'integer'}, u'LEVSHIFT': {u'additionalItems': False, u'description': u'Eigenvalue level shifting', u'items': [{u'exclusiveMinimum': True, u'minimum': 0, u'type': u'integer', u'description': u'The level shifter is set to ISHIFT*0.1 hartree'}, {u'minimum': 0, u'type': u'integer', u'description': u'locking on/off', u'maximum': 1}], u'minItems': 2, u'type': u'array'}, u'MADELIND': {u'description': u'reciprocal lattice vector indices for Madelung sums', u'exclusiveMinimum': True, u'minimum': 0, u'type': u'integer'}, u'MAXCYCLE': {u'description': u'maximum number of cycles', u'exclusiveMinimum': True, u'minimum': 0, u'type': u'integer'}, u'NOBIPCOU': {u'description': u'Coulomb bielectronic integrals computed exactly', u'type': u'boolean'}, u'NOBIPEXCH': {u'description': u'Exchange bielectronic integrals computed exactly', u'type': u'boolean'}, u'NOBIPOLA': {u'description': u'All bielectronic integrals computed exactly', u'type': u'boolean'}, u'POLEORDR': {u'description': u'Maximum order of multipolar expansion', u'exclusiveMinimum': True, u'minimum': 0, u'type': u'integer'}, u'SMEAR': {u'description': u'temperature smearing of Fermi surface', u'minimum': 0, u'type': u'number'}, u'TOLDEE': {u'description': u'convergence on total energy', u'exclusiveMinimum': True, u'minimum': 0, u'type': u'integer'}, u'TOLINTEG': {u'description': u'Bipolar expansion approximation control', u'items': {u'exclusiveMinimum': True, u'minimum': 0, u'type': u'integer'}, u'maxItems': 5, u'minItems': 5, u'type': u'array'}, u'TOLPSEUD': {u'description': u'Pseudopotential tolerance', u'exclusiveMinimum': True, u'minimum': 0, u'type': u'integer'}}, u'type': u'object'}, u'post_scf': {u'description': u'keywords for post SCF calculations', u'items': {u'enum': [u'POSTSCF', u'EXCHGENE', u'GRADCAL', u'PPAN'], u'type': u'string', u'uniqueItems': True}, u'type': u'array'}, u'single': {u'enum': [u'RHF', u'UHF', u'MP2'], u'type': u'string'}, u'spinlock': {u'additionalProperties': False, u'description': u'the difference between alpha and beta electrons is fixed for initial scf cycles', u'maxProperties': 1, u'minProperties': 1, u'properties': {u'BETALOCK': {u'description': u'lock the number of beta electrons [nbeta, ncycles]', u'items': {u'type': u'integer'}, u'maxItems': 2, u'minItems': 2, u'type': u'array'}, u'SPINLOC2': {u'description': u'fills separately the alpha and beta bands with the appropriate # of electrons [nalpha-nbeta, ncycles]', u'items': [{u'type': u'number'}, {u'type': u'integer'}], u'maxItems': 2, u'minItems': 2, u'type': u'array'}, u'SPINLOCK': {u'description': u'shift the eigenvalues in order to lock the system in a specific spin state [nalpha-nbeta, ncycles]', u'items': {u'type': u'integer'}, u'maxItems': 2, u'minItems': 2, u'type': u'array'}}, u'type': u'object'}}, u'required': [u'k_points'], u'title': u'Block 3', u'type': u'object'}, u'title': {u'description': u'the title of the run', u'type': u'string'}}, u'required': [u'scf'], u'title': u'CRYSTAL17 Input', u'type': u'object'}
classmethod prepare_and_validate(param_dict, structure, settings, basis_family=None, flattened=False)[source]

prepare and validate the inputs to the calculation

Parameters:
  • input – dict giving data to create the input .d12 file
  • structure – the StructureData
  • settings – StructSettingsData giving symmetry operations, etc
  • basis_family – string of the BasisSetFamily to use
  • flattened – whether the input dictionary is flattened
Returns:

parameters

settings_schema

A class that, when used as a decorator, works as if the two decorators @property and @classmethod where applied together (i.e., the object works as a property, both for the Class and for any of its instance; and is called with the class cls rather than with the instance as its first argument).

use_basisset_from_family(family_name)[source]

Set the basis set to use for all atomic types, picking basis sets from the family with name family_name.

Note:The structure must already be set.
Parameters:family_name – the name of the group containing the basis sets