# Bar.py from numpy import pi class Bar(): def __init__(self, radius:float=0.1, k:float=0.5, h:float=0.0025): self.radius:float = radius self.k:float = k self.h:float = h self.update_properties() def update_properties(self): self.area:float = pi*self.radius**2 self.p: float = 2*pi*self.radius self.alpha = ((self.h*self.p)/(self.k*self.area))**0.5 def set_k(self, k:float): self.k = k self.update_properties() def set_k_ratio(ratio: float, bar1:'Bar', bar2:'Bar'): '''Sets the value of bar2.k = ratio*bar1.k and updates internal properties''' bar2.set_k(bar1.k*ratio)