the_min_idx = R_min_data['Lowest R'].idxmin() minimum_R[name] = tuple(R_min_data[['Lowest R', 'Mode']].iloc[the_min_idx]) return minimum_R if __name__ == '__main__': import numpy #Create a Simulation object composed of a laminate. sim = Sim(laminate=Laminate( '0_2/p25/0_2s', materialID=5, #5 core_thick=0.01)) #Define and apply load P = Q_(1000, 'N') b = Q_(0.11, 'm') L = Q_(0.51, 'm') M1 = -P * L / (4 * b) N1 = 0.5 * P / b M = Q_([M1.magnitude, 0, 0], M1.units) N = Q_([N1.magnitude, 0, 0], N1.units) #Apply load sim.apply_M(M) sim.apply_N(N) sim.solve() fail = FailureAnalysis(sim) R_data = fail.make_table() # print M # print N
hash_cols = ('FT_hash','FC_hash','MT_hash','MC_hash') all_cols = (max_cols,quad_cols,hash_cols) names = ('max','quad','hash') for cols,name in zip(all_cols,names): R_min_data = find_R_mins(self.R_data,cols) the_min_idx = R_min_data['Lowest R'].idxmin() minimum_R[name] = tuple( R_min_data[['Lowest R','Mode']].iloc[the_min_idx]) return minimum_R if __name__ == '__main__': import numpy #Create a Simulation object composed of a laminate. sim = Sim(laminate = Laminate('0_2/p25/0_2s', materialID = 5, #5 core_thick = 0.01)) #Define and apply load P = Q_(1000,'N'); b = Q_(0.11,'m'); L = Q_(0.51,'m') M1 = -P*L/(4*b); N1 = 0.5*P/b; M = Q_([M1.magnitude,0,0],M1.units) N = Q_([N1.magnitude,0,0],N1.units) #Apply load sim.apply_M(M) sim.apply_N(N) sim.solve() fail = FailureAnalysis(sim) R_data = fail.make_table() # print M # print N