diff --git a/src/ClassifyMin.py b/src/ClassifyMin.py index b4e83546657d1c92d0f0a8d4b27f42aaeb2a6e7b..459566d4ab0f1bb5a7e5537bfcd05ac7e5342edd 100644 --- a/src/ClassifyMin.py +++ b/src/ClassifyMin.py @@ -32,7 +32,7 @@ def determinant(q1,q2,q3,q12): # TODO General:M def harmonicMean(mu_1, beta, theta): - return mu_1*(beta/(theta+(1-theta)*beta)) + return mu_1*(beta/(theta+((1-theta)*beta))) def arithmeticMean(mu_1, beta, theta): @@ -40,11 +40,13 @@ def arithmeticMean(mu_1, beta, theta): def prestrain_b1(rho_1, beta, alpha, theta): - return (3.0*rho_1/2.0)*beta*(1-(theta*(1+alpha))) + return (3.0*rho_1/2.0)*(1-(theta*(1+alpha))) + # return (3.0*rho_1/2.0)*beta*(1-(theta*(1+alpha))) def prestrain_b2(rho_1, beta, alpha, theta): - return (3.0*rho_1/(4.0*((1.0-theta) + theta*beta)))*(1-theta*(1+beta*alpha)) + return (3.0*rho_1/(2.0*((1.0-theta) + theta*beta)))*(1-theta*(1+beta*alpha)) + # return (3.0*rho_1/(4.0*((1.0-theta) + theta*beta)))*(1-theta*(1+beta*alpha)) # Define function to be minimized @@ -72,6 +74,11 @@ def classifyMin_ana(alpha,beta,theta,q3,mu_1,rho_1,print_Cases=False, print_Outp # print('q2: ', q2) b1 = prestrain_b1(rho_1, beta, alpha,theta) b2 = prestrain_b2(rho_1, beta, alpha,theta) + + # print('alpha:',alpha) + # print('beta:',beta) + # print('theta:',theta) + return classifyMin(q1, q2, q3, q12, b1, b2, print_Cases, print_Output) @@ -147,6 +154,7 @@ def classifyMin(q1, q2, q3, q12, b1, b2, print_Cases=False, print_Output=False) # ------------------------------------ Parabolic Case ----------------------------------- if abs(determinant) < epsilon: if print_Cases: print('P : parabolic case (determinant equal zero)') + print('P : parabolic case (determinant equal zero)') # if print_Cases: print('P : parabolic case (determinant equal zero)') # check if B is in range of A @@ -283,6 +291,9 @@ def classifyMin(q1, q2, q3, q12, b1, b2, print_Cases=False, print_Output=False) # compute a3 # a3 = math.sqrt(2.0*a1*a2) # never needed? + # print('a1:', a1) + # print('a2:', a2) + # compute the angle <(e,e_1) where Minimizer = kappa* (e (x) e) e = [math.sqrt((a1/(a1+a2))), math.sqrt((a2/(a1+a2)))] angle = math.atan2(e[1], e[0]) @@ -294,6 +305,9 @@ def classifyMin(q1, q2, q3, q12, b1, b2, print_Cases=False, print_Output=False) Minimizer = np.array([[a1, math.sqrt(a1*a2)], [math.sqrt(a1*a2), a2]],dtype=object) # Minimizer = np.array([[a1, math.sqrt(a1*a2)], [math.sqrt(a1*a2), a2]]) + # MinimizerVec = np.array([a1, a2],dtype=object) + MinimizerVec = np.array([a1, a2]) + if print_Output: print('--- Output ClassifyMin ---') print("Minimizing Matrix G:") @@ -303,6 +317,7 @@ def classifyMin(q1, q2, q3, q12, b1, b2, print_Cases=False, print_Output=False) print("kappa = ", kappa) return Minimizer, angle, type, kappa + # return MinimizerVec, angle, type, kappa #return Minimizer Vector instead # ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ diff --git a/src/ClassifyMinVec.py b/src/ClassifyMinVec.py index c66307b46939a13934e94de0bc988327ce1e6c2f..e8230beffd3f2b2049425f6d524a9a21c1f6b82f 100644 --- a/src/ClassifyMinVec.py +++ b/src/ClassifyMinVec.py @@ -40,11 +40,13 @@ def arithmeticMean(mu_1, beta, theta): def prestrain_b1(rho_1, beta, alpha, theta): - return (3.0*rho_1/2.0)*beta*(1-(theta*(1+alpha))) + return (3.0*rho_1/2.0)*(1-(theta*(1+alpha))) + # return (3.0*rho_1/2.0)*beta*(1-(theta*(1+alpha))) def prestrain_b2(rho_1, beta, alpha, theta): - return (3.0*rho_1/(4.0*((1.0-theta) + theta*beta)))*(1-theta*(1+beta*alpha)) + return (3.0*rho_1/(2.0*((1.0-theta) + theta*beta)))*(1-theta*(1+beta*alpha)) + # return (3.0*rho_1/(4.0*((1.0-theta) + theta*beta)))*(1-theta*(1+beta*alpha)) # Define function to be minimized