18 theta=np.linspace(0, 360, num=360, endpoint=
True)*np.pi/180
19 vel=np.zeros(len(theta))
21 for k
in range(len(theta)):
22 xi=
angleAxis(theta[k],slipSystem.unitNormal)
@slipSystem.unitSlip
23 vel[k]=slipSystem.velocity(S,xi,mat.T)
24 ax1.plot(theta*180/np.pi, vel,label=str(mat.T)+
'K')
26 stress=np.linspace(0, 0.02, num=100)
27 vels=np.zeros(len(stress))
28 vele=np.zeros(len(stress))
29 for k
in range(len(stress)):
30 S=np.outer(m,m)*stress[k]
31 xi=
angleAxis(0.0,slipSystem.unitNormal)
@slipSystem.unitSlip
32 vels[k]=slipSystem.velocity(S,xi,mat.T)
33 xi=
angleAxis(0.5*np.pi,slipSystem.unitNormal)
@slipSystem.unitSlip
34 vele[k]=slipSystem.velocity(S,xi,mat.T)
35 ax2.plot(stress*mat.mu_SI/mat.E_SI, vels,label=
'edge '+str(mat.T)+
'K')
36 ax2.plot(stress*mat.mu_SI/mat.E_SI, vele,
'--',label=
'screw '+str(mat.T)+
'K')
40 ax1=plt.subplot(1,2,1)
41 ax2=plt.subplot(1,2,2)
43 mat=pyMoDELib.PolycrystallineMaterialBase(materialFile,T)
44 singleCrystal=pyMoDELib.SingleCrystalBase(mat,np.identity(3))
45 for ssKey, slipSystem
in singleCrystal.slipSystems().items():
46 if ssKey==slipSystemID:
47 m=slipSystem.unitNormal*np.cos(theta_deg*math.pi/180.0)+slipSystem.unitSlip*np.sin(theta_deg*math.pi/180.0)*np.cos(phi_deg*math.pi/180.0)+np.cross(slipSystem.unitNormal, slipSystem.unitSlip)*np.sin(theta_deg*math.pi/180.0)*np.sin(phi_deg*math.pi/180.0)
51 plt.xlabel(
'character angle $[deg]$')
52 plt.ylabel(
' v / c_s [-]')
55 plt.xlabel(
'axial stress/E $[-]$')
56 plt.ylabel(
' v / c_s [-]')
57 fig1.savefig(materialName+
"_"+str(slipSystemID)+
".pdf", bbox_inches=
'tight')