Numerical-Simulation/HW4/Bar.py

25 lines
695 B
Python

# 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)