diff --git a/sharc/antenna/antenna.py b/sharc/antenna/antenna.py index 50cc3352..097c35ed 100644 --- a/sharc/antenna/antenna.py +++ b/sharc/antenna/antenna.py @@ -21,6 +21,7 @@ class Antenna(ABC): def __init__(self): self.beams_list = [] self.w_vec_list = [] + self.uses_beamforming = False @abstractmethod def calculate_gain(self, *args, **kwargs) -> np.array: diff --git a/sharc/antenna/antenna_beamforming_imt.py b/sharc/antenna/antenna_beamforming_imt.py index d041c249..a58bbc18 100644 --- a/sharc/antenna/antenna_beamforming_imt.py +++ b/sharc/antenna/antenna_beamforming_imt.py @@ -60,6 +60,7 @@ def __init__( referenced in the x axis """ super().__init__() + self.uses_beamforming = True self.param = par self.subarray = None diff --git a/sharc/simulation.py b/sharc/simulation.py index 12080722..06edf1f3 100644 --- a/sharc/simulation.py +++ b/sharc/simulation.py @@ -473,12 +473,13 @@ def select_ue(self, random_number_gen: np.random.RandomState): Select K UEs randomly from all the UEs linked to one BS as “chosen” UEs. These K “chosen” UEs will be scheduled during this snapshot. """ + if not self.bs.antenna[0].uses_beamforming: + return + if self.wrap_around_enabled: self.bs_to_ue_d_2D, self.bs_to_ue_d_3D, self.bs_to_ue_phi, self.bs_to_ue_theta = \ self.bs.get_dist_angles_wrap_around(self.ue) else: - self.bs_to_ue_d_2D = self.bs.get_distance_to(self.ue) - self.bs_to_ue_d_3D = self.bs.get_3d_distance_to(self.ue) self.bs_to_ue_phi, self.bs_to_ue_theta = self.bs.get_pointing_vector_to( self.ue, )