示例#1
0
 def remotedata(self):
     """Create an remote data"""
     from aiida.orm import RemoteData
     rmd = RemoteData()
     rmd.computer = self.localhost
     rmd.set_remote_path(str(self._workdir))
     return rmd
示例#2
0
    def _generate_remote_data(computer, remote_path, entry_point_name=None):
        """Generate a RemoteData node, loctated at remote_path"""
        from aiida.common.links import LinkType
        from aiida.orm import CalcJobNode, RemoteData
        from aiida.plugins.entry_point import format_entry_point_string

        entry_point = format_entry_point_string('aiida.calculations',
                                                entry_point_name)

        remote = RemoteData(remote_path=remote_path)
        remote.computer = computer

        if entry_point_name is not None:
            creator = CalcJobNode(computer=computer, process_type=entry_point)
            creator.set_option('resources', {
                'num_machines': 1,
                'num_mpiprocs_per_machine': 1
            })
            #creator.set_attribute('prefix', 'aiida')
            remote.add_incoming(creator,
                                link_type=LinkType.CREATE,
                                link_label='remote_folder')
            creator.store()

        return remote
示例#3
0
    def _generate_remote_data(computer,
                              remote_path,
                              entry_point_name=None,
                              extras_root=[]):
        """Return a `KpointsData` with a mesh of npoints in each direction."""
        from aiida.common.links import LinkType
        from aiida.orm import CalcJobNode, RemoteData, Dict
        from aiida.plugins.entry_point import format_entry_point_string

        entry_point = format_entry_point_string('aiida.calculations',
                                                entry_point_name)

        remote = RemoteData(remote_path=remote_path)
        remote.computer = computer

        if entry_point_name is not None:
            creator = CalcJobNode(computer=computer, process_type=entry_point)
            creator.set_option('resources', {
                'num_machines': 1,
                'num_mpiprocs_per_machine': 1
            })
            remote.add_incoming(creator,
                                link_type=LinkType.CREATE,
                                link_label='remote_folder')

            for extra in extras_root:
                to_link = extra[0]
                if isinstance(to_link, dict):
                    to_link = Dict(dict=to_link)
                to_link.store()
                creator.add_incoming(to_link,
                                     link_type=LinkType.INPUT_CALC,
                                     link_label=extra[1])

            creator.store()

        return remote