Example #1
0
 def _update_density(self):
     """
         Computes density of the group.
     """
     density = 0
     area = self.area
     real_area = area*(self._scale**2)
     for rod_ in self:
         distance = methods.distance_between_points(self.center, rod_.center)
         density += rod_.area*methods.norm_gaussian(distance, rad=self.radius)
     if not density or not real_area:
         density = 0
     else:
         density = float(density)/real_area
     return density
Example #2
0
 def __init__(self, center, rad, zone_coords, rods, kappas, real_kappas, allowed_kappa_error, real_rad):
     """
         Initialization
     """
     self._main_coords = zone_coords
     pos_rad = methods.distance_between_points(center, (zone_coords[0], zone_coords[1]))
     if pos_rad > zone_coords[2]-rad:
         rad = methods.same_area_rad(rad, pos_rad, zone_coords[2])
     self._zone_coords = (center[0], center[1], rad)
     self._real_radius = real_rad # + real_kappas
     self._scale = real_rad*1.0/rad
     self._rods = queue.Queue(rods)
     self._kappas = kappas
     self._real_kappas = real_kappas
     self._allowed_kappa_error = allowed_kappa_error
Example #3
0
 def area(self):
     """
         Area of subsystem
     """
     position_rad = methods.distance_between_points(self.main_center, self.center)
     return methods.effective_area(self.radius, position_rad, self.main_radius)