def __eval_trigo(self, x): if self.coordinate_system is None: raise RuntimeError("reference frame was not created. can not calculate angular function") else: z, d = get_polar_rep(x, center=self.coordinates, ref_frame=self.coordinate_system) radial_component = generalized_exponential(self.__A, self.__B, d, self.__P) angular_component = spherical_harmonic(z, self.__l) return radial_component * angular_component
def __eval_ep_ag(self, x): if self.__P != 1: raise NotImplementedError("still working in a generalized potential") if self.coordinate_system is None: raise RuntimeError("reference frame was not created. can not calculate angular function") else: z, d = get_polar_rep(x, center=self.coordinates, ref_frame=self.coordinate_system) u = electrostatic_potential_xexp_gaussian(self.__B, self.__alpha, d, z) return u * self.__A
def __eval_ep_harmonic(self, x): z, d = get_polar_rep(x, center=self.coordinates, ref_frame=self.coordinate_system) v = pe_harmonic(d, z, self.__l, self.__P, self.__B) * self.__A return v