Пример #1
0
    def __initializePoints(self, P_arrays):
        """ Rearrange the list of surfaces into a single vector of unique points 

        Input

        P_arrays: list of ndarrays (nu,nv,3)
            Each element of the list is an nu x nv array of x-y-z coordinates

        """

        self.P = numpy.zeros((self.nP, 3), order='F')
        for k in range(self.nsurf):
            nu = P_arrays[k].shape[0]
            nv = P_arrays[k].shape[1]
            PUBSlib.populatep(self.nP, nu, nv, k + 1, self.nsurf, self.nedge,
                              self.ngroup, self.nvert, self.surf_vert,
                              self.surf_edge, self.edge_group, self.group_n,
                              self.surf_index_P, self.edge_index_P,
                              P_arrays[k], self.P)
        PUBSlib.avgboundaries(self.nP, self.nedge, self.ngroup, self.nvert,
                              self.edge_group, self.group_n, self.vert_count,
                              self.edge_count, self.edge_index_P, self.P)
        self.vert_symm, self.edge_symm = PUBSlib.determinesymm(
            self.symmPlane + 1, 1e-10, 1e-8, self.nP, self.nedge, self.ngroup,
            self.nvert, self.edge_group, self.group_n, self.P)
        self.P = numpy.hstack([self.P, numpy.zeros((self.nP, 3), order='F')])
Пример #2
0
    def __initializePoints(self, P_arrays):
        """ Rearrange the list of surfaces into a single vector of unique points 

        * Input *
        P_arrays: list of ndarrays (nu,nv,3)
            Each element of the list is an nu x nv array of x-y-z coordinates

        """

        self.P = numpy.zeros((self.nP,3),order='F')
        for k in range(self.nsurf):
            nu = P_arrays[k].shape[0]
            nv = P_arrays[k].shape[1]
            PUBSlib.populatep(self.nP, nu, nv, k+1, self.nsurf, self.nedge, self.ngroup, self.nvert, self.surf_vert, self.surf_edge, self.edge_group, self.group_n, self.surf_index_P, self.edge_index_P, P_arrays[k], self.P)
        PUBSlib.avgboundaries(self.nP, self.nedge, self.ngroup, self.nvert, self.edge_group, self.group_n, self.vert_count, self.edge_count, self.edge_index_P, self.P)
        self.vert_symm, self.edge_symm = PUBSlib.determinesymm(self.symmPlane+1, 1e-10, 1e-8, self.nP, self.nedge, self.ngroup, self.nvert, self.edge_group, self.group_n, self.P)
        self.P = numpy.hstack([self.P,numpy.zeros((self.nP,3),order='F')])