From e6842c6089d8fc8a9107138db260a774b0a1ca81 Mon Sep 17 00:00:00 2001 From: Shahram Date: Tue, 8 Jun 2021 13:58:11 +0430 Subject: [PATCH] v 1.6.5 --- soc/Eatools_2Dadv.f90 | 81 ++++++++++++++++++++++++ soc/Eatools_2Danalyz.f90 | 58 ++++++++++++++--- soc/Eatools_2Dpoisson.f90 | 2 +- soc/Eatools_2Dshear.f90 | 2 +- soc/Eatools_2Dyoung.f90 | 8 ++- soc/Eatools_2dcal.f90 | 12 ++-- soc/Eatools_db.f90 | 4 +- soc/Eatools_main.f90 | 129 ++++++++++++++++++++------------------ soc/Eatools_poi.f90 | 8 +-- soc/Eatools_welc.f90 | 2 +- soc/Makefile | 6 +- 11 files changed, 221 insertions(+), 91 deletions(-) create mode 100644 soc/Eatools_2Dadv.f90 diff --git a/soc/Eatools_2Dadv.f90 b/soc/Eatools_2Dadv.f90 new file mode 100644 index 0000000..bf3a826 --- /dev/null +++ b/soc/Eatools_2Dadv.f90 @@ -0,0 +1,81 @@ +!``````````````````````````````````````````````````````````````````````````````````````````` +! Copyright (c) 2018 Shahram Yalameha , , ` +! Please report bugs or suggestions to: yalameha93@gmail.com ` +! ` +!``````````````````````````````````````````````````````````````````````````````````````````` +! SUBROUTINE: fOR 2D MATERIAL , CALCULATED shear modulus. + + SUBROUTINE adv_2D(phi,phi_pro,l,pro,method,Max_pro, Min_pro) + implicit none + CHARACTER(len=5) :: pro + CHARACTER(len=3) :: method ! 1 = o 2 = r 3 = q + DOUBLE PRECISION :: Max_pro, Min_pro, phi, val_pro, sai_G, r_G, o_G, G0, G,G_inver, E_inver, poi_inver + DOUBLE PRECISION, DIMENSION(201) :: phi_pro,pro_max_phi + DOUBLE PRECISION, DIMENSION(3,3) :: C,S + Integer :: n,i,j,l + n=3 + + OPEN(58,FILE="Cij-2D.dat",STATUS='OLD',ACTION='READ') + DO i=1,n + READ(58,*) (C(i,j),j=1,n) + ENDDO + close(58) + n=3 + OPEN(51,FILE="Sij-2D.dat",STATUS='OLD',ACTION='READ') + DO i=1,n + READ(51,*) (S(i,j),j=1,n) + ENDDO + close(51) + + IF(method == 'adv' .and. pro == "shear" ) THEN + G_inver = S(1,1) * ( COS(phi)*COS(phi)*SIN(phi)*SIN(phi) ) +& + S(1,2) *-2.D0*( COS(phi)*SIN(phi)*SIN(phi)*COS(phi) ) +& + S(2,2) * ( SIN(phi)*SIN(phi)*COS(phi)*COS(phi) ) +& + S(1,3) * ( SIN(phi)*SIN(phi)*COS(phi)*SIN(phi) - SIN(phi)*COS(phi)*COS(phi)*COS(phi) )+& + S(2,3) * ( COS(phi)*COS(phi)*COS(phi)*SIN(phi) - SIN(phi)*COS(phi)*SIN(phi)*SIN(phi) )+& + S(3,3) * ( COS(phi)*COS(phi)*COS(phi)*COS(phi) - 2.D0*COS(phi)*SIN(phi)*SIN(phi)*COS(phi) + SIN(phi)*SIN(phi)*SIN(phi)*SIN(phi) ) * (1.d0/4.d0) + phi_pro(l) = 1.D0/(4.D0*G_inver) + + ENDIF + !=============================================== + IF(method == 'adv' .and. pro == "young" ) THEN + E_inver = S(1,1) * ( COS(phi)*COS(phi)*COS(phi)*COS(phi) ) +& + S(1,2) *2.d0*( SIN(phi)*COS(phi)*SIN(phi)*COS(phi) ) +& + S(2,2) * ( SIN(phi)*SIN(phi)*SIN(phi)*SIN(phi) ) +& + S(3,3) * ( SIN(phi)*COS(phi)*SIN(phi)*COS(phi) ) +& + S(1,3) *2.d0*( COS(phi)*SIN(phi)*SIN(phi)*SIN(phi) ) +& + S(2,3) *2.d0*( SIN(phi)*COS(phi)*COS(phi)*COS(phi) ) + phi_pro(l) = 1.D0 / E_inver + + endif + IF(method == 'adv' .and. pro == "poi" ) THEN + E_inver = S(1,1) * ( COS(phi)*COS(phi)*COS(phi)*COS(phi) ) +& + S(1,2) *2.d0*( SIN(phi)*COS(phi)*SIN(phi)*COS(phi) ) +& + S(2,2) * ( SIN(phi)*SIN(phi)*SIN(phi)*SIN(phi) ) +& + S(3,3) * ( SIN(phi)*COS(phi)*SIN(phi)*COS(phi) ) +& + S(1,3) *2.d0*( COS(phi)*SIN(phi)*SIN(phi)*SIN(phi) ) +& + S(2,3) *2.d0*( SIN(phi)*COS(phi)*COS(phi)*COS(phi) ) + + poi_inver = S(1,1) * ( SIN(phi)*SIN(phi)*COS(phi)*COS(phi) ) +& + S(1,2) * ( SIN(phi)*SIN(phi)*SIN(phi)*SIN(phi) + COS(phi)*COS(phi)*COS(phi)*COS(phi) )+& + S(2,2) * ( SIN(phi)*SIN(phi)*COS(phi)*COS(phi) ) +& + S(1,3) * ( SIN(phi)*SIN(phi)*COS(phi)*SIN(phi) - SIN(phi)*COS(phi)*COS(phi)*COS(phi) )+& + S(2,3) * ( COS(phi)*COS(phi)*COS(phi)*SIN(phi) - SIN(phi)*COS(phi)*SIN(phi)*SIN(phi) )+& + S(3,3) * ( SIN(phi)*COS(phi)*COS(phi)*SIN(phi) * -1.D0 ) + phi_pro(l) = -(poi_inver / E_inver) + !WRITE(*,*) phi*(180D0/3.1415),phi_pro(l) ,l + IF (l.EQ.0) THEN + Max_pro=phi_pro(l); Min_pro=phi_pro(l); + ELSE + IF (phi_pro(l).GE.Max_pro) THEN + Max_pro=phi_pro(l) + !WRITE(*,*) phi*(180D0/3.1415),Max_pro + END IF + IF (phi_pro(l).LE.Min_pro) THEN + Min_pro=phi_pro(l) + END IF + END IF + ENDIF + !=============================================== + + END SUBROUTINE \ No newline at end of file diff --git a/soc/Eatools_2Danalyz.f90 b/soc/Eatools_2Danalyz.f90 index 4005649..c8043f6 100644 --- a/soc/Eatools_2Danalyz.f90 +++ b/soc/Eatools_2Danalyz.f90 @@ -4,7 +4,7 @@ ! ` !``````````````````````````````````````````````````````````````````````````````````````````` ! SUBROUTINE: fOR 2D MATERIAL , CALCULATE Youngs Modulus, Shear Modulus AND Poissons Ratio -SUBROUTINE analiz_2D_sys() +SUBROUTINE analiz_2D_sys(method) implicit none DOUBLE PRECISION, PARAMETER :: pi=3.141592653589793238462D0 @@ -12,8 +12,8 @@ SUBROUTINE analiz_2D_sys() vv11=0.d0,& vv22=0d0,& vv33=0.0d0,& - NPratio_max=0D0,& - NPratio_min=0.0D0,& + NPratio_max=0D0,Max_pro=0D0,& + NPratio_min=0.0D0,Min_pro=0.0D0,& Pratio_max=0d0,& Pratio_max_phi=0d0,& Pratio_min_phi=0d0,& @@ -21,12 +21,16 @@ SUBROUTINE analiz_2D_sys() MaxPratio,MinPratio,& Maximum,Minimum,MaxShear,MinShear,& Shear_max_phi - - DOUBLE PRECISION, DIMENSION(6000) :: phi_young,phi_poisson=0.d0, poisson2dmax, poisson2dminn, poisson2dminp,phii,phi_shear,& - shear2dmax, shear2dmin - DOUBLE PRECISION, DIMENSION(3) :: vec=0d0 - DOUBLE PRECISION, DIMENSION(3,3) :: c - INTEGER :: Nmesh_phi,j, Nmesh_phiF ,num,i + CHARACTER(len=5) :: pro ! 1 = o 2 = r 3 = q + ChARACTER(LEN=3) :: adv,method + DOUBLE PRECISION :: val_pro, sai_G, r_G, o_G, G0, G_inver, E_inver, E + DOUBLE PRECISION, DIMENSION(201) :: phi_pro,pro_max_phi + + DOUBLE PRECISION, DIMENSION(6000) :: phi_young,phi_poisson=0.d0, poisson2dmax, poisson2dminn, poisson2dminp,phii,phi_shear,& + shear2dmax, shear2dmin + DOUBLE PRECISION, DIMENSION(3) :: vec=0d0 + DOUBLE PRECISION, DIMENSION(3,3) :: c + INTEGER :: Nmesh_phi,j, Nmesh_phiF ,num,i !======================================================== Nmesh_phi = 200 ! mesh @@ -37,6 +41,8 @@ SUBROUTINE analiz_2D_sys() OPEN(61,FILE="young_2d_sys.dat") OPEN(62,FILE="poisson_2d_sys.dat") OPEN(63,FILE="shear_2d_sys.dat") +!method = "adv" +!!pro = "young" DO j=0, Nmesh_phi phi = DBLE(j)/DBLE(Nmesh_phi)*2D0*PI vec(1) = SIN(phi) @@ -44,19 +50,51 @@ SUBROUTINE analiz_2D_sys() vv11 = SIN(phi)**4.0d0 vv22 = COS(phi)**4.0d0 vv33 =(COS(phi)**2.0d0)*(SIN(phi)**2.0d0) + IF(method=="adv") THEN + + phi_pro=0.0 + Max_pro = 0D0 + Min_pro = 3.5D0 + pro = "poi" + call adv_2D(phi,phi_pro,j,pro,method,Max_pro,Min_pro) + phi_poisson=phi_pro(j) + poisson2dmax(j) = Max_pro + IF (Min_pro.GE.0D0) poisson2dminp(j) = Min_pro + IF (Min_pro.LE.0D0) poisson2dminn(j) = Max_pro + WRITE(62,"(F8.4,3F20.16)")phi*(180d0/PI), poisson2dmax(j) ,poisson2dminp(j), poisson2dminn(j) + + pro = "young" + call adv_2D(phi,phi_pro,j,pro,method,Max_pro,Min_pro) + WRITE(61,"(F8.4,2F21.16)") phi*(180D0/PI), phi_pro(j) + phi_young(j)=phi_pro(j) + + + + phi_pro=0.0 + pro = "shear" + call adv_2D(phi,phi_pro,j,pro,method,Max_pro,Min_pro) + WRITE(63,"(F8.4,2F21.16)") phi*(180D0/PI), phi_pro(j) + shear2dmax(j) =phi_pro(j) + + ELSE + CALL yound_2D(vv11,vv22,vv33,phi,phi_young,j ) WRITE(61,"(F8.4,2F21.16)") phi*(180D0/PI), phi_young(j) + ! NPratio_max = 0D0 NPratio_min = 3.5D0 - CALL poisson_2D(vv11,vv22,vv33,phi,phi_poisson,NPratio_max,NPratio_min,j) + CALL poisson_2D(vv11,vv22,vv33,phi,phi_poisson,NPratio_max,NPratio_min,j) poisson2dmax(j) = NPratio_max + !WRITE(*,*) phi*(180D0/3.1415),poisson2dmax(j) IF (NPratio_min.GE.0D0) poisson2dminp(j) = NPratio_min IF (NPratio_min.LE.0D0) poisson2dminn(j) = NPratio_min WRITE(62,"(F8.4,3F20.16)")phi*(180d0/PI), poisson2dmax(j) ,poisson2dminp(j), poisson2dminn(j) + ! CALL shear_2D(vv11,vv22,vv33,phi,phi_shear,MaxShear,j) shear2dmax(j) = MaxShear WRITE(63,"(F8.4,2F20.14)") phi*(180d0/PI), shear2dmax(j) + ENDIF END DO CLOSE(61) diff --git a/soc/Eatools_2Dpoisson.f90 b/soc/Eatools_2Dpoisson.f90 index 67f3223..ddc0a2b 100644 --- a/soc/Eatools_2Dpoisson.f90 +++ b/soc/Eatools_2Dpoisson.f90 @@ -3,7 +3,7 @@ ! Please report bugs or suggestions to: yalameha93@gmail.com ` ! ` !``````````````````````````````````````````````````````````````````````````````````````````` -! SUBROUTINE: fOR 3D MATERIAL , CALCULATED poiison's retio. +! SUBROUTINE: fOR 2D MATERIAL , CALCULATED poiison's retio. SUBROUTINE poisson_2D(vv11,vv22,vv33,phi,phi_poisson,MaxPratio,MinPratio,l) implicit none DOUBLE PRECISION :: vv11,vv22,vv33,Y1,Y2,A,B,T,Y3,MaxPratio,MinPratio,phi,Pe,E diff --git a/soc/Eatools_2Dshear.f90 b/soc/Eatools_2Dshear.f90 index 5647ab5..f7dd987 100644 --- a/soc/Eatools_2Dshear.f90 +++ b/soc/Eatools_2Dshear.f90 @@ -24,7 +24,7 @@ SUBROUTINE shear_2D(vv11,vv22,vv33,phi,phi_shear,MaxShear ,l) READ(51,*) (S(i,j),j=1,n) ENDDO close(51) - She= (S(1,1)+S(2,2)-S(1,2))*vv33+(1.d0/4.d0)*S(3,3)*(vv11+vv22-2.d0*vv33) + She= (S(1,1)+S(2,2)-2.d0*S(1,2))*vv33+(1.d0/4.d0)*S(3,3)*(vv11+vv22-2.d0*vv33) phi_shear(l) =1D0/((4D0*She)) ! method_ 2 by Sij (Recommend) !write(*,*)phi_shear(l) MaxShear=phi_shear(l) diff --git a/soc/Eatools_2Dyoung.f90 b/soc/Eatools_2Dyoung.f90 index 80f628d..7151c18 100644 --- a/soc/Eatools_2Dyoung.f90 +++ b/soc/Eatools_2Dyoung.f90 @@ -5,11 +5,12 @@ !``````````````````````````````````````````````````````````````````````````````````````````` ! SUBROUTINE: fOR 2D MATERIAL , CALCULATED young's modulus. -SUBROUTINE yound_2D(vv11,vv22,vv33,phi,phi_young,l )! +SUBROUTINE yound_2D(vv11,vv22,vv33,phi,phi_young,l)! implicit none - DOUBLE PRECISION :: vv11,vv22,vv33,Y1,Y2,A,B,T,phi,E,Pe + + DOUBLE PRECISION :: vv11,vv22,vv33,Y1,Y2,A,B,T,phi,E,Pe DOUBLE PRECISION, DIMENSION(201) :: phi_young,phi_young_test - DOUBLE PRECISION, DIMENSION(3,3):: C,S + DOUBLE PRECISION, DIMENSION(3,3) :: C,S Integer::n,i,j,l n=3 OPEN(58,FILE="Cij-2D.dat",STATUS='OLD',ACTION='READ') @@ -32,4 +33,5 @@ SUBROUTINE yound_2D(vv11,vv22,vv33,phi,phi_young,l )! !Pe=vv33*(S(1,1)+S(2,2)-S(3,3))+S(1,2)*(vv11+vv22) !phi_young_test(l)=-(Pe/E) !write(*,*)phi_young_test(l) + end SUBROUTINE diff --git a/soc/Eatools_2dcal.f90 b/soc/Eatools_2dcal.f90 index f5371a7..bb4ec75 100644 --- a/soc/Eatools_2dcal.f90 +++ b/soc/Eatools_2dcal.f90 @@ -3,19 +3,19 @@ ! Please report bugs or suggestions to: yalameha93@gmail.com ` ! ` !``````````````````````````````````````````````````````````````````````````````````````````` -! SUBROUTINE: fOR 2D MATERIAL , CALCULATE vectors and (theta, pihi) in the (001) plane +! SUBROUTINE: fOR 2D MATERIAL , CALCULATE vectors and (theta, pih) in the (001) plane SUBROUTINE twoD_calc(vv11,vv12,vv13,vv22,vv23,vv33,mmx,kky,llz,smkl,i,phi,theta,vec) IMPLICIT NONE - DOUBLE PRECISION :: smkl,smkl2,& - twoDTheta=0D0,& + DOUBLE PRECISION :: smkl,smkl2,& + twoDTheta=0D0,& mmx, & kky, & llz, & - vv11,& + vv11,& vv12,& vv13,& - vv22,& + vv22,& vv23,& vv33,theta,phi DOUBLE PRECISION, DIMENSION(3) :: vec @@ -52,7 +52,7 @@ SUBROUTINE twoD_calc(vv11,vv12,vv13,vv22,vv23,vv33,mmx,kky,llz,smkl,i,phi,theta, ENDIF vv11 = vec(1)*vec(1) ; vv12 = vec(1)*vec(2) vv13 = vec(1)*vec(3) ; vv22 = vec(2)*vec(2) - vv23 = vec(2)*vec(3) ; vv33 = vec(3)*vec(3) + vv23 = vec(2)*vec(3) ; vv33 = vec(3)*vec(3) !write(*,*)vv11,vv13,vv23,vv12,vv22,vv33 END SUBROUTINE diff --git a/soc/Eatools_db.f90 b/soc/Eatools_db.f90 index 46622da..283cbc3 100644 --- a/soc/Eatools_db.f90 +++ b/soc/Eatools_db.f90 @@ -9,7 +9,7 @@ Subroutine databank(id,yesno) integer::i,j,stat !read(*,*)id call system("clear") - open (12,file='/home/shahram/Desktop/Cubelast/code/programMY/AAEP/soc/eatools_v1.6.2/db/All_2ID_cop.csv') + open (12,file='/home/shahram/Desktop/Cubelast/code/programMY/AAEP/soc/eatools_v1.6.4/db/All_2ID_cop.csv') do i=1,13122 read(12,* )id2(i) if (id2(i)==id )then @@ -21,7 +21,7 @@ Subroutine databank(id,yesno) close (12) i=0 - open (11,file='/home/shahram/Desktop/Cubelast/code/programMY/AAEP/soc/eatools_v1.6.2/db/Cijs.binery') + open (11,file='/home/shahram/Desktop/Cubelast/code/programMY/AAEP/soc/eatools_v1.6.4/db/Cijs.binery') do i=1,2043900 read(11,'(Z16)',IOSTAT=stat )c1(i) ,c2(i),c3(i),c4(i),c5(i),c6(i) ! write(14,'(B64)')c1(j) ,c2(j),c3(j),c4(j),c5(j),c6(j) diff --git a/soc/Eatools_main.f90 b/soc/Eatools_main.f90 index fbfcee6..4666e6f 100644 --- a/soc/Eatools_main.f90 +++ b/soc/Eatools_main.f90 @@ -21,35 +21,35 @@ PROGRAM AAEP_main DOUBLE PRECISION, PARAMETER :: pi=3.14159265358979323846264338327950D0,ee=0.0001D0 DOUBLE PRECISION, DIMENSION(6,6) :: C1p=0D0,S1=0D0,C=0D0,S=0D0,CP=0D0,C3=0D0,CCo=0d0,Eig3d DOUBLE PRECISION, DIMENSION(10100) :: shear2dmax, Ax,& - shear2dminp, & - shear2dminn, & - comMIN2d, & - comMAX2d, & - bulkmin2d, & - bulkmax2d, & - young2dmin, & - young2dmax, & - hard2dmax, & - hard2dmin, & - poisson2dmax, & - poisson2dminn,& - poisson2dminp,& - LM2d=0D0, & - TMmin2d=0D0, & - TMmax2d=0D0, & - pugh2dmax, & - pugh2dminp, & - pugh2dminn, & - VVG_P_2D, & - VVP_P_2D, & - VV_P_PF_2D, & - VVG_Sf_2D, & - VVP_Sf_2D, & - VV_Sf_PF_2D, & - VVG_Ss_2D, & - VVP_Ss_2D, & - VV_Ss_PF_2D - + shear2dminp, & + shear2dminn, & + comMIN2d, & + comMAX2d, & + bulkmin2d, & + bulkmax2d, & + young2dmin, & + young2dmax, & + hard2dmax, & + hard2dmin, & + poisson2dmax, & + poisson2dminn,& + poisson2dminp,& + LM2d=0D0, & + TMmin2d=0D0, & + TMmax2d=0D0, & + pugh2dmax, & + pugh2dminp, & + pugh2dminn, & + VVG_P_2D, & + VVP_P_2D, & + VV_P_PF_2D, & + VVG_Sf_2D, & + VVP_Sf_2D, & + VV_Sf_PF_2D, & + VVG_Ss_2D, & + VVP_Ss_2D, & + VV_Ss_PF_2D + ChARACTER(LEN=3) :: adv DOUBLE PRECISION, DIMENSION(3,3) :: EVe=0D0, C2D,Eig2d DOUBLE PRECISION, DIMENSION(3) :: vec=0d0,& @@ -57,8 +57,8 @@ PROGRAM AAEP_main vec1=0d0, & EVa, & CElastcode=0d0 - INTEGER :: loop, d2d3 ,Stable !0> Stable, 1> unStable - INTEGER ::i=0, & + INTEGER :: loop, d2d3 ,Stable,adv_mubner !0> Stable, 1> unStable + INTEGER ::i=0, & num=1, & lm,MinTm, & MaxTm, & @@ -101,22 +101,22 @@ PROGRAM AAEP_main G_min2_theta=0D0, & G_min2_phi=0D0, & -Ha_max2 = 0D0,& -Ha_min2 = 0.0D0,& -Ha_max2_theta = 0D0,& -Ha_min2_theta = 0D0, & -Ha_max2_phi = 0D0, & -Ha_min2_phi = 0D0,& - - Pugh_max=0D0, & - Pugh_min=0D0, & - Pugh_Ave=0D0, & - Pugh_max2=0D0, & - Pugh_min2=1D0, & - Pugh_max2_theta=0D0, & - Pugh_max2_phi=0D0, & - Pugh_min2_theta=0D0, & - Pugh_min2_phi=0D0, & +Ha_max2 = 0D0, & +Ha_min2 = 0.0D0, & +Ha_max2_theta = 0D0, & +Ha_min2_theta = 0D0, & +Ha_max2_phi = 0D0, & +Ha_min2_phi = 0D0, & + + Pugh_max=0D0, & + Pugh_min=0D0, & + Pugh_Ave=0D0, & + Pugh_max2=0D0, & + Pugh_min2=1D0, & + Pugh_max2_theta=0D0, & + Pugh_max2_phi=0D0, & + Pugh_min2_theta=0D0, & + Pugh_min2_phi=0D0, & Maxcomp_theta=0D0, & Maxcomp_phi=0D0, & Mincomp_theta=0D0, & @@ -145,9 +145,9 @@ PROGRAM AAEP_main v1maxmax=0D0, & v2maxmax=0D0, & v3maxmax=0D0, & - pmax=0.0001D0, & - pminp=0.0001D0, & - pminn=0.0001D0, & + pmax=0.0001D0, & + pminp=0.0001D0, & + pminn=0.0001D0, & pavep=0D0, & paven=0.0D0, & shmax=0.01D0, & @@ -155,11 +155,11 @@ PROGRAM AAEP_main shminn=0.01D0, & shavep=0D0, & shaven=0D0, & - pughmax=0.01D0, & - pughminp=0.01D0, & - pughminn=0.01D0, & - pughavep=0D0, & - pughaven=0D0, & + pughmax=0.01D0, & + pughminp=0.01D0, & + pughminn=0.01D0, & + pughavep=0D0, & + pughaven=0D0, & comminn=0.1D0, & comminp=0.1D0 REAL(dp) ::SS=1.0_dp,SINver=0.0_dp @@ -173,11 +173,11 @@ PROGRAM AAEP_main c1=0D0, & inter_theta=0D0, & phi=0, & - BINver=0D0,hardvar=0D0, & + BINver=0D0,hardvar=0D0, & a1,a2,a3 DOUBLE PRECISION :: Minyoung=10d8,& - Minbulk=0.0d0, & + Minbulk=0.0d0, & Maxyoung=0D0, & Maxbulk=0D0, & Minyoung_theta=0D0, & @@ -620,6 +620,14 @@ PROGRAM AAEP_main CALL sleep(2) END IF IF (Ncod .eq. 3) then + WRITE(*,*)" > Select using option:" + write(*,*) "=========================" + WRITE(*,*) " Default option => 1 " + WRITE(*,*) " Advanced option => 2 " + write(*,*) "=========================" + read(*,*)adv_mubner + IF (adv_mubner == 2 ) adv = "adv" + IF (adv_mubner == 1 ) adv = "ndv" OPEN(11,FILE="Cij-2D.dat",status='old', err=13691) READ(11,*) C2D(1,1),C2D(1,2),C2D(1,3) READ(11,*) C2D(2,1),C2D(2,2),C2D(2,3) @@ -734,7 +742,7 @@ PROGRAM AAEP_main v23=vec(2)*vec(3) ; v33=vec(3)*vec(3) If (yn_veloc=='Y' .or. yn_veloc=='y') then call callCij (CCO) - call wave_main_AAEP(i,j,theta,phi,vec,CCO,density, VVG_P, & + call wave_main_AAEP(i,j,theta,phi,vec,CCO,density, VVG_P, & VVP_P, & VV_P_PF, & VVG_Sf, & @@ -1942,8 +1950,9 @@ PROGRAM AAEP_main CALL SYSTEM('rm -rf *.gnu') ELSE - IF(d2d3 == 2) then !@@@@@@@@@@@@@@@@@@@@@@@ 2D_3D system start - CALL analiz_2D_sys() + IF(d2d3 == 2) then !@@@@@@@@@@@@@@@@@@@@@@@ 2D_3D system start + CALL analiz_2D_sys(adv) + WRITE(*,*)"#==================================#" PRINT*," > Do you want to prepare the data for ploting? (Y/N):" diff --git a/soc/Eatools_poi.f90 b/soc/Eatools_poi.f90 index 305a34f..a3b4ed0 100644 --- a/soc/Eatools_poi.f90 +++ b/soc/Eatools_poi.f90 @@ -64,7 +64,7 @@ SUBROUTINE CPratio(a1111,MinPratio,MaxPratio,AvePratio,& v23 = v(2)*v(3); v33 = v(3)*v(3) - a1122 = k11*v11*S(1,1) & + a1122 = k11*v11*S(1,1) & +(k11*v22+k22*v11)*S(1,2) & +(k11*v33+k33*v11)*S(1,3) & + k22*v22*S(2,2) & @@ -72,7 +72,7 @@ SUBROUTINE CPratio(a1111,MinPratio,MaxPratio,AvePratio,& + k33*v33*S(3,3) - a1122 =a1122 & + a1122 =a1122 & +(k11*v23+k23*v11)*S(1,4) & +(k11*v13+k13*v11)*S(1,5) & +(k11*v12+k12*v11)*S(1,6) & @@ -86,11 +86,11 @@ SUBROUTINE CPratio(a1111,MinPratio,MaxPratio,AvePratio,& +(k23*v12+k12*v23)*S(4,6)+k13*v13*S(5,5) & +(k13*v12+k12*v13)*S(5,6)+k12*v12*S(6,6) Pratio = -a1122/a1111 - IF (kk.EQ.0) THEN + IF (kk.EQ.0) THEN MaxPratio=Pratio; MinPratio=Pratio; vec1max = v(1); vec2max = v(2); vec3max = v(3) vec1min = v(1); vec2min = v(2); vec3min = v(3) - ELSE + ELSE IF (Pratio.GE.MaxPratio) THEN MaxPratio=Pratio vec1max = v(1); vec2max = v(2); vec3max = v(3) diff --git a/soc/Eatools_welc.f90 b/soc/Eatools_welc.f90 index fe473f3..acc922e 100644 --- a/soc/Eatools_welc.f90 +++ b/soc/Eatools_welc.f90 @@ -18,7 +18,7 @@ SUBROUTINE WELCOME() WRITE(*,'(a)')" |______||_| \__,_||_| \___/ \___/ |_||___/ " WRITE(*,'(a)')" 45 6C 41 74 6F 6F 6C 73 " WRITE(*,'(a)')'========= Shahram Yalameha (c) 2018 ===========' -WRITE(*,'(a)')' v1.6.4 ' +WRITE(*,'(a)')' v1.6.5 ' WRITE(*,'(a)')' From ' WRITE(*,'(a)')' Elastic Tools Project ' WRITE(*,*)' ' diff --git a/soc/Makefile b/soc/Makefile index a1225f2..9fb7ca9 100644 --- a/soc/Makefile +++ b/soc/Makefile @@ -45,13 +45,13 @@ OBJS = Eatools_main.o Eatools_2Dyoung.o Eatools_2Dpoisson.o Eatools_2Dshear.o Eatools_3dPLbul.o Eatools_3dPLpoi.o Eatools_3dPLyou.o Eatools_hkl.o Eatools_cijinv.o \ Eatools_cijinv2D.o Eatools_poi.o Eatools_so.o Eatools_2dcal.o Eatools_2dPLv2.o Eatools_aniso.o \ Eatools_3dPLcom.o Eatools_stability.o Eatools_db.o Eatools_3dPLsh.o Eatools_ang2car.o Eatools_dsyec3.o \ - Eatools_dutester.o Eatools_proelast.o Eatools_sh.o Eatools_welc.o Eatools_pugh.o Eatools_3dPLpugh.o \ - Eatools_wave_start.o Eatools_wave_vgvf.o Eatools_wave_rot.o Eatools_wave_cal.o Eatools_wave_main.o Eatools_2dcal_wave.o + Eatools_dutester.o Eatools_proelast.o Eatools_sh.o Eatools_welc.o Eatools_pugh.o Eatools_3dPLpugh.o Eatools_hardness.o \ + Eatools_wave_start.o Eatools_wave_vgvf.o Eatools_wave_rot.o Eatools_wave_cal.o Eatools_wave_main.o Eatools_2dcal_wave.o Eatools_2Dadv.o OBJS1 = wrl_calylm.o wrl_colorsign.o wrl_end.o wrl_main.o \ wrl_mesh.o wrl_shape.o wrl_spherappear.o wrl_spher.o wrl_start.o wrl_setcolor.o OBJS2 = agr_autoset.f90 agr_curvef.f90 agr_main.f90 agr_minmax.f90 \ agr_polar.f90 agr_setplot.f90 agr_start.f90 agr_winend.f90 agr_win.f90 agr_fzero.o -OBJS3 = gnu_main.o gnu_subs.o gnu_3dmap.o +OBJS3 = gnu_main.o gnu_subs.o gnu_3dmap.o gnu_copyri.o OBJS4 = rho_main.o rho_mass.o $(EXEC): $(OBJS) $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4) Makefile