示例#1
0
 def get_soap_fingerprint(self):
     qp = self.ctx.quippy_atoms
     soapargs = self.inputs.soapargs.get_dict()
     spkit = get_spkit(qp)
     soap = get_soap(qp, spkit=spkit,
                     spkitMax=self.inputs.spkit_max.get_dict(), **kwargs)
     self.out('soap', Dict(soap))
示例#2
0
def get_raw_soap_wrapper(kwargs):
    fpointer = kwargs.pop('fpointer')
    # need to copy the frame to avoid seg fault in quip if rerun the procedure on the same name space
    frame = qp.Atoms(fpointer=fpointer).copy()
    kwargs.update({'atoms': frame, 'spkit': get_spkit(frame)})
    idx = kwargs.pop('idx')
    return (idx, get_soap(**kwargs))
示例#3
0
 def get_soap_fingerprint(self):
     qp = self.ctx.quippy_atoms
     soapargs = self.inputs.soapargs.get_dict()
     spkit = get_spkit(qp)
     soap = get_soap(qp, spkit=spkit,
                     spkitMax=self.inputs.spkit_max.get_dict(), **soapargs)
     soap_array = np.array(soap.values())
     self.out('soap', ArraData(soap_array))
示例#4
0
    def get(self):
        parser = flask_restful.reqparse.RequestParser()
        argument_names = [
            'atoms', 'spkitMax', 'nocenters', 'gaussian_width', 'spkit',
            'cutoff', 'cutoff_transition_width', 'nmax', 'lmax'
        ]
        for argument_name in argument_names:
            parser.add_argument(ARGUMENTS[argument_name])
        args = parser.parse_args(strict=True)
        args['atoms'] = atoms_utils.loads(args['atoms'])
        args['atoms'] = ase2qp(args['atoms'])
        args['spkitMax'] = json.loads(args['spkitMax'])
        if not args['spkit']:
            args['spkit'] = get_spkit(args['atoms'])
        # args['atoms'] = [args['atoms']]
        soaps = get_soap(**args)
        # soaps = {key: value.tolist() for key, value in soaps.iteritems()}
        soaps = soaps.tolist()

        return flask.jsonify(soaps)
示例#5
0
def get_raw_soap_dim(frame, soap_params):
    raw_soap = get_soap(frame, spkit=get_spkit(frame), **soap_params)
    Ncenter, Ncoef = raw_soap.shape
    return Ncoef