Exemplo n.º 1
0
 def get_yield_function(self,stress):
     if material_type=='druckerprager':   #yf=J_2**0.5+alpha*tr(stress)-k
         from mesh import Point
         poi=Point()
         m=poi.get_mean_stress(stress)
         J2=poi.get_second_invariant_of_deviatoric_stress(stress)
         yf=J2**0.5+3*alpha*m-k
     return yf
    def get_yield_function(self, stress):
        if material_type == "druckerprager":  # yf=J_2**0.5+alpha*tr(stress)-k
            from mesh import Point

            poi = Point()
            m = poi.get_mean_stress(stress)
            J2 = poi.get_second_invariant_of_deviatoric_stress(stress)
            yf = J2 ** 0.5 + 3 * alpha * m - k
        return yf
Exemplo n.º 3
0
 def get_derivative_of_yield_function(self,stress):
     import numpy as np
     if material_type=='druckerprager':
         from mesh import Point
         poi=Point()
         J2=poi.get_second_invariant_of_deviatoric_stress(stress)
         J2+=1.e-10
         dJ2=np.empty(3,dtype=float)
         for i in range(3):
             j=(i+1)%3
             k=(i+2)%3
             dJ2[i]=(2*stress[i]-stress[j]-stress[k])/3
         dyf=np.empty(6,dtype=float)
         dyf[0]=0.5*dJ2[0]*J2**(-0.5)+alpha
         dyf[1]=0.5*dJ2[1]*J2**(-0.5)+alpha
         dyf[2]=0.5*dJ2[2]*J2**(-0.5)+alpha
         dyf[3]=stress[3]*J2**(-0.5)
         dyf[4]=stress[4]*J2**(-0.5)
         dyf[5]=stress[5]*J2**(-0.5)
     return dyf
    def get_derivative_of_yield_function(self, stress):
        import numpy as np

        if material_type == "druckerprager":
            from mesh import Point

            poi = Point()
            J2 = poi.get_second_invariant_of_deviatoric_stress(stress)
            J2 += 1.0e-10
            dJ2 = np.empty(3, dtype=float)
            for i in range(3):
                j = (i + 1) % 3
                k = (i + 2) % 3
                dJ2[i] = (2 * stress[i] - stress[j] - stress[k]) / 3
            dyf = np.empty(6, dtype=float)
            dyf[0] = 0.5 * dJ2[0] * J2 ** (-0.5) + alpha
            dyf[1] = 0.5 * dJ2[1] * J2 ** (-0.5) + alpha
            dyf[2] = 0.5 * dJ2[2] * J2 ** (-0.5) + alpha
            dyf[3] = stress[3] * J2 ** (-0.5)
            dyf[4] = stress[4] * J2 ** (-0.5)
            dyf[5] = stress[5] * J2 ** (-0.5)
        return dyf