Hi! Do you think it makes sense to have support for sisl types in the SiestaBaseWorkchain?
Using a very simple serializer for the inputs:
def sisl_serializer(sisl_obj):
'''
Function that converts sisl objects to aiida types.
'''
try:
import sisl
except ModuleNotFoundError:
return
if isinstance(sisl_obj, sisl.Geometry):
return StructureData(ase=sisl_obj.toASE())
elif isinstance(sisl_obj, sisl.MonkhorstPack):
kpoints = KpointsData()
kpoints.set_kpoints_mesh(sisl_obj._diag, sisl_obj._displ)
return kpoints
then you could directly pass geometries from sisl as inputs for an aiida workflow, which I believe it's interesting because sisl can read structures from fdf, XV, etc... and this would probably reduce the friction between siesta users and aiida.
Or maybe it's not worth it because the user may be creating multiple nodes with the same structure without knowing it?
Hi! Do you think it makes sense to have support for sisl types in the
SiestaBaseWorkchain
?Using a very simple serializer for the inputs:
then you could directly pass geometries from sisl as inputs for an aiida workflow, which I believe it's interesting because sisl can read structures from fdf, XV, etc... and this would probably reduce the friction between siesta users and aiida.
Or maybe it's not worth it because the user may be creating multiple nodes with the same structure without knowing it?