예제 #1
0
            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
예제 #2
0
        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