Esempio n. 1
0
    def load(cls, filename, project=None, settings={}):
        r"""
        """
        # Parse the link1 file
        filename = cls._parse_filename(filename=filename, ext='dict')
        with open(filename, mode='rb') as f:
            net = pk.load(f)

        network = GenericNetwork(project=project)
        network = cls._update_network(network=network, net=net)
        # The following list of props comes from porespy but are not good
        for item in [
                'pore.diameter', 'pore.area', 'throat.conduit_lengths.pore1',
                'throat.conduit_lengths.pore2',
                'throat.conduit_lengths.throat', 'throat.endpoints.head',
                'throat.endpoints.tail', 'throat.diameter', 'throat.length',
                'throat.volume'
        ]:
            network.pop(item, None)

        # Deal with a few other PoreSpy specific issues
        network['pore.region_volume'] = network.pop('pore.volume')

        Imported(network=network, settings=settings)

        return network.project
Esempio n. 2
0
    def import_data(cls, filename, project=None, settings={}):
        r"""
        Load a network extracted using the PoreSpy package

        Parameters
        ----------
        filename : str or dict
            Can either be a filename point to a pickled dictionary, or an
            actual dictionary.  The second option lets users avoid the
            step of saving the dictionary to a file
        project : OpenPNM Project object
            If given, the loaded network and geometry will be added to this
            project, otherwise a new one will be created.
        """
        # Parse the filename
        if isinstance(filename, dict):
            net = filename
        else:
            filename = cls._parse_filename(filename=filename, ext='dict')
            with open(filename, mode='rb') as f:
                net = pk.load(f)

        network = GenericNetwork(project=project)
        network = cls._update_network(network=network, net=net)
        # The following list of props comes from porespy but are not good
        for item in [
                'pore.diameter', 'pore.area', 'throat.conduit_lengths.pore1',
                'throat.conduit_lengths.pore2',
                'throat.conduit_lengths.throat', 'throat.endpoints.head',
                'throat.endpoints.tail', 'throat.diameter', 'throat.length',
                'throat.volume'
        ]:
            network.pop(item, None)

        # Deal with a few other PoreSpy specific issues
        network['pore.region_volume'] = network.pop('pore.volume')

        Imported(network=network, settings=settings)

        return network.project