Main Calculation ImmigrationΒΆ
In order to immigrate existing CRYSTAL17 calculations,
the create_inputs()
function has been written
to take a .d12
and .out
file set
and create the inputs required for crystal17.main
:
>>> from aiida_crystal17.tests import TEST_DIR
>>> from aiida_crystal17.parsers.migrate import create_inputs
>>> inpath = os.path.join(TEST_DIR, "input_files",
... 'nio_sto3g_afm.crystal.d12')
>>> outpath = os.path.join(TEST_DIR, "output_files",
... 'nio_sto3g_afm.crystal.out')
>>> inputs = create_inputs(inpath, outpath)
>>> print(inputs)
{'basis':
{'Ni': <BasisSetData: uuid: f5edf8a7-23ca-4383-8aca-07cf22fdfbc4 (unstored)>,
'O': <BasisSetData: uuid: 95859f1b-3822-4b60-92b2-238ec5a1931c (unstored)>},
'parameters': <ParameterData: uuid: 16d9deb4-150a-455f-9055-cca6b1e0d93d (unstored)>,
'structure': <StructureData: uuid: efaff664-41cc-4339-98d7-ea7594dfce52 (unstored)>,
'settings': <ParameterData: uuid: 0ef11c68-32a5-4f5b-a783-d2e24da74328 (unstored)>}
This function is used by the migrate_as_main()
function,
to create a full imitation of a crystal17.main
calculation:
>>> from aiida import load_dbenv
>>> load_dbenv()
>>> from aiida_crystal17.workflows.cry_main_immigrant import migrate_as_main
>>> inpath = os.path.join("input_files", 'nio_sto3g_afm.crystal.d12')
>>> outpath = os.path.join("output_files", 'nio_sto3g_afm.crystal.out')
>>> node = migrate_as_main(TEST_DIR, inpath, outpath)
>>> print(node.pk)
2474
In the terminal this then looks like:
>>> verdi calculation show 2474
----------- ----------------------------------------------------------------------------------------------------------------------
type WorkCalculation
pk 2474
uuid b1812e1a-2576-4c70-8376-595dcde324b2
label CryMainImmigrant
description an immigrated CRYSTAL17 calculation into the <class 'aiida_crystal17.calculations.cry_main.CryMainCalculation'> format
ctime 2018-09-09 00:51:27.256031+00:00
mtime 2018-09-09 00:51:28.485742+00:00
----------- ----------------------------------------------------------------------------------------------------------------------
##### INPUTS:
Link label PK Type
------------ ---- -------------
basis_Ni 2456 BasisSetData
basis_O 2453 BasisSetData
parameters 2471 ParameterData
structure 2472 StructureData
settings 2473 ParameterData
##### OUTPUTS:
Link label PK Type
----------------- ---- -------------
output_parameters 2476 ParameterData
retrieved 2478 FolderData
Note
There is also a crystal17.immigrant
calculation plugin,
which works the same as PWscf immigration.
However, since this approach no longer works in
aiida>=1.0
, it will be subject to change
(see this ongoing issue).