add isotropic and anisotropic Barlat1991 yield criteria.
This commit is contained in:
parent
55445af9bc
commit
bef846d294
|
@ -144,12 +144,42 @@ def generalHosford(sigmas, sigma0, a):
|
||||||
return r.ravel()
|
return r.ravel()
|
||||||
|
|
||||||
|
|
||||||
def Barlat1991(sigmas, sigma0, a):
|
def Barlat1991(sigmas, sigma0, order, \
|
||||||
|
a=1.0, b=1.0, c=1.0, f=1.0, g=1.0, h=1.0):
|
||||||
'''
|
'''
|
||||||
residuum of Hershey yield criterion (eq. 2.104, sigma_e = sigma0)
|
residuum of Barlat 1997 yield criterion
|
||||||
'''
|
'''
|
||||||
|
cos = np.cos; pi = np.pi; abs = np.abs
|
||||||
|
A = a*(sigmas[4] - sigmas[8])
|
||||||
|
B = b*(sigmas[8] - sigmas[0])
|
||||||
|
C = c*(sigmas[0] - sigmas[4])
|
||||||
|
F = f*sigmas[5]
|
||||||
|
G = g*sigmas[2]
|
||||||
|
H = h*sigmas[1]
|
||||||
|
I2 = (F*F + G*G + H*H)/3.0 + ((A-C)*(A-C)+(C-B)*(C-B)+(B-A)*(B-A))/54.0
|
||||||
|
I3 = (C-B)*(A-C)*(B-A)/54.0 + F*G*H - \
|
||||||
|
((C-B)*F*F+(A-C)*G*G+(B-A)*H*H)/6
|
||||||
|
theta = np.arccos(I3/pow(I2,1.5))
|
||||||
|
Phi = pow(3.0*I2, order/2.0)* (
|
||||||
|
pow(abs(2.0*cos((2.0*theta + pi)/6.0)), order) +
|
||||||
|
pow(abs(2.0*cos((2.0*theta + pi*3.0)/6.0)), order) +
|
||||||
|
pow(abs(2.0*cos((2.0*theta + pi*5.0)/6.0)), order)
|
||||||
|
)
|
||||||
|
r = Phi - 2.0*pow(sigma0, order)
|
||||||
|
|
||||||
return None
|
return r.ravel()
|
||||||
|
|
||||||
|
def Barlat1991iso(sigmas, sigma0, m):
|
||||||
|
'''
|
||||||
|
residuum of isotropic Barlat 1991 yield criterion (eq. 2.37)
|
||||||
|
'''
|
||||||
|
return Barlat1991(sigmas, sigma0, m)
|
||||||
|
|
||||||
|
def Barlat1991aniso(sigmas, sigma0, m, a,b,c,f,g,h):
|
||||||
|
'''
|
||||||
|
residuum of anisotropic Barlat 1991 yield criterion (eq. 2.37)
|
||||||
|
'''
|
||||||
|
return Barlat1991(sigmas, sigma0, m, a,b,c,f,g,h)
|
||||||
|
|
||||||
|
|
||||||
def Barlat1994(sigmas, sigma0, a):
|
def Barlat1994(sigmas, sigma0, a):
|
||||||
|
|
Loading…
Reference in New Issue