Skip to content

Support for sisl types #51

@pfebrer

Description

@pfebrer

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions