Exemplo n.º 1
0
    def _get_fe_grid_roof(self):
        hp_shell = GeoHPShell(thickness = 0.6)

        square_to_circle = GeoSquare2Circle(post_transform = hp_shell,
                                             circle_radius = 0.15,
                                             #Scircle_center = [4.0, 4.0, 0.0],
                                             square_edge = 0.6)
        fe_grid = FEGrid(coord_min = (-1.0, -1.0, 0.0),
                          coord_max = (1.0, 1.0, 1.0),
                          geo_transform = square_to_circle,
                          shape = (self.n_elems_xy, self.n_elems_xy, self.n_elems_z),
                          fets_eval = self.fe_roof)

        mid_idx = self.mid_idx
        idx_min, idx_max = self.idx_min, self.idx_max
        print 'idx_min', idx_min
        print 'idx_max', idx_max
        interior_elems = fe_grid[ idx_min:idx_max, idx_min:idx_max, :, :, :, : ].elems
        fe_grid.inactive_elems = list(interior_elems)
        print 'elems', interior_elems
        return fe_grid