Forum EPWhttp://epwforum.uk/ Possibility to calculate mobility for 2d materials using EPWhttp://epwforum.uk/viewtopic.php?f=6&t=728 Page 1 of 1

 Author: CHOU [ Thu Nov 15, 2018 6:28 am ] Post subject: Possibility to calculate mobility for 2d materials using EPW Dear all,I have been trying to use EPW to calculate mobility for 2d MoO3 for a long time. I saw that EPW could not calculate mobility for 2d materials and if wanted to do it, had to treat it as 3d, put more k points along the vacuum direction. So I used 8*8*2 mesh. But it always failed in the restart section.Output file with the following information. " Fermi Surface thickness = 10.000000 eV This is computed with respect to the fine Fermi level -4.732800 eV Only states between -14.732800 eV and 5.267200 eV will be included Progression iq (fine) = 50/ 1024 Progression iq (fine) = 100/ 1024 Progression iq (fine) = 150/ 1024 Progression iq (fine) = 200/ 1024 Progression iq (fine) = 250/ 1024 Progression iq (fine) = 300/ 1024 Progression iq (fine) = 350/ 1024 Progression iq (fine) = 400/ 1024 Progression iq (fine) = 450/ 1024 Progression iq (fine) = 500/ 1024 Progression iq (fine) = 550/ 1024 Progression iq (fine) = 600/ 1024 Progression iq (fine) = 650/ 1024 Progression iq (fine) = 700/ 1024 Progression iq (fine) = 750/ 1024 Progression iq (fine) = 800/ 1024 Progression iq (fine) = 850/ 1024 Progression iq (fine) = 900/ 1024 Progression iq (fine) = 950/ 1024 Progression iq (fine) = 1000/ 1024 Creation of a restart point"Then it could not continue the calculation and killed. I wonder if there are any successful calculation for 2d materials. If putting more k-points along the vacuum direction and treating it as 3d, it must be okay. Or just maybe work it. And I also want to know the reason why epw couldn't calculate mobility for 2d materials.If anyone could answer my questions, I would appreciate very much, since I have been confused for a long time.Best wishes,Chou

 Author: sponce [ Mon Nov 19, 2018 5:33 pm ] Post subject: Re: Possibility to calculate mobility for 2d materials using Hello Chou, Indeed it should be possible to do mobility in 2d materials by treating them as 3D. In your case it seems there is a crash when the code try to write data to file (at the restart point). Most likely if you change the input parameter "restart_freq=500" it will crash at 500 q-point. Please give more info about the crash and maybe provide input/output to help assess the issue. Best wishes, Samuel

 Author: CHOU [ Wed Nov 21, 2018 8:55 am ] Post subject: Re: Possibility to calculate mobility for 2d materials using Hello Samuel，Thank you very much for your reply.Here is my input file.scf.in&CONTROLcalculation='scf'restart_mode='from_scratch'outdir='./'pseudo_dir='/home/k0116/k011622/pseudo'prefix= 'MoO3'etot_conv_thr=1.0D-09forc_conv_thr=1.0D-09wf_collect=.true.tstress=.true.tprnfor=.true./&SYSTEMibrav=8celldm(1)=6.954407601celldm(2)=1.069190824celldm(3)=7.625614123nat=8ntyp=2ecutwfc=90.0nbnd =60nspin=1/&ELECTRONSconv_thr=1.0e-09mixing_beta=0.4/ATOMIC_SPECIESMo 95.94 Mo_ONCV_PBE-1.0.upfO 15.999 O_ONCV_PBE-1.0.upfATOMIC_POSITIONS crystalMo 0.750000000 0.571487762 -0.054029957Mo 0.250000000 0.428512280 0.054029957O 0.250000000 0.497852060 -0.03412717O 0.750000000 0.502148112 0.034127155O 0.750000000 0.015453203 -0.046343122O 0.250000000 0.984546858 0.046343102O 0.750000000 0.531000473 -0.113557105O 0.250000000 0.468999251 0.113557105K_POINTS automatic8 8 2 0 0 0nscf.in&CONTROLcalculation='nscf'restart_mode='from_scratch'outdir='./'pseudo_dir='/home/k0116/k011622/pseudo'prefix= 'MoO3'etot_conv_thr=1.0D-09forc_conv_thr=1.0D-09wf_collect=.true.tstress=.true.tprnfor=.true./&SYSTEMibrav=8celldm(1)=6.954407601celldm(2)=1.069190824celldm(3)=7.625614123nat=8ntyp=2ecutwfc=90.0nbnd =60nspin=1nr1=50nr2=54nr3=380/&ELECTRONSconv_thr=1.0e-09mixing_beta=0.4/ATOMIC_SPECIESMo 95.94 Mo_ONCV_PBE-1.0.upfO 15.999 O_ONCV_PBE-1.0.upfATOMIC_POSITIONS crystalMo 0.750000000 0.571487762 -0.054029957Mo 0.250000000 0.428512280 0.054029957O 0.250000000 0.497852060 -0.03412717O 0.750000000 0.502148112 0.034127155O 0.750000000 0.015453203 -0.046343122O 0.250000000 0.984546858 0.046343102O 0.750000000 0.531000473 -0.113557105O 0.250000000 0.468999251 0.113557105K_POINTS crystal1280.0 0.0 0.0 0.00781250.0 0.0 0.5 0.00781250.0 0.125 0.0 0.00781250.0 0.125 0.5 0.00781250.0 0.25 0.0 0.00781250.0 0.25 0.5 0.00781250.0 0.375 0.0 0.00781250.0 0.375 0.5 0.00781250.0 0.5 0.0 0.00781250.0 0.5 0.5 0.00781250.0 0.625 0.0 0.00781250.0 0.625 0.5 0.00781250.0 0.75 0.0 0.00781250.0 0.75 0.5 0.00781250.0 0.875 0.0 0.00781250.0 0.875 0.5 0.00781250.125 0.0 0.0 0.00781250.125 0.0 0.5 0.00781250.125 0.125 0.0 0.00781250.125 0.125 0.5 0.00781250.125 0.25 0.0 0.00781250.125 0.25 0.5 0.00781250.125 0.375 0.0 0.00781250.125 0.375 0.5 0.00781250.125 0.5 0.0 0.00781250.125 0.5 0.5 0.00781250.125 0.625 0.0 0.00781250.125 0.625 0.5 0.00781250.125 0.75 0.0 0.00781250.125 0.75 0.5 0.00781250.125 0.875 0.0 0.00781250.125 0.875 0.5 0.00781250.25 0.0 0.0 0.00781250.25 0.0 0.5 0.00781250.25 0.125 0.0 0.00781250.25 0.125 0.5 0.00781250.25 0.25 0.0 0.00781250.25 0.25 0.5 0.0078125...epw.in--&inputepwprefix= 'MoO3'amass(1)= 95.94amass(2)= 15.999outdir='./'iverbosity =0elph = .true.epbwrite = .true.epbread = .false.lpolar = .true.epwwrite = .true.epwread = .false.nbndsub = 28nbndskip = 14lifc = .true.asr_typ = simple!wannier control tagswannierize = .true.num_iter = 1000iprint = 2dis_win_min= -11.73dis_win_max= 4.775dis_froz_min = -11.73dis_froz_max = -0.165proj(1) = 'Mo:d'proj(2) = 'O:p'wdata(1) = 'bands_plot = .true.'wdata(2) = 'begin kpoint_path'wdata(3) = 'G 0.000 0.000 0.000 X 0.500 0.000 0.000'wdata(4) = 'X 0.500 0.000 0.000 S 0.500 0.500 0.000'wdata(5) = 'S 0.500 0.500 0.000 Y 0.000 0.500 0.000'wdata(6) = 'Y 0.000 0.500 0.000 G 0.000 0.000 0.000'wdata(7) ='end kpoint_path'wdata(8) ='bands_plot_format = gnuplot'wdata(9) ='dis_num_iter = 1000 ' !set maximum iteration numberwdata(10) = 'guiding_centres = .true.'wdata(11) = 'num_print_cycles = 10'wdata(12) = 'dis_mix_ratio = 1.0'!wdata(13) = 'use_ws_distance = T'!epc calculation control tagselecselfen = .false.phonselfen = .false.a2f = .false.fsthick = 10.0 ! eVeptemp = 100 ! Kdegaussw = 0.01 ! eVefermi_read = .true.fermi_energy = -4.7328 !K valence topdvscf_dir = '/home/k0116/k011622/MoO3/2d/ph/phonon3/save'mp_mesh_k =.true.band_plot = .true!Wannier fine meshfilkf = '/home/k0116/k011622/MoO3/2d/mesh/path1.dat'!nkf1 = 80 !replace by appropriate number!nkf2 = 80 !replace by appropriate number!nkf3 = 1 !replace by appropriate number!if you want to calculate on specific path, please usefilqf = '/home/k0116/k011622/MoO3/2d/mesh/path1.dat'!nqf1 = 120 !replace by appropriate number!nqf2 = 120 !replace by appropriate number!nqf3 = 1 !replace by appropriate number!original meshnk1 =8nk2 =8nk3 =2nq1 =8nq2 =8nq3 =2/50 cartesian 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 -0.655684895583589E-01 0.000000000000000E+00 0.116910842474645E+00 0.000000000000000E+00 0.000000000000000E+00 0.116910842474645E+00 -0.655684895583589E-01 0.000000000000000E+00 0.233821684949290E+00 0.000000000000000E+00 0.000000000000000E+00 0.233821684949290E+00 -0.655684895583589E-01 0.000000000000000E+00 0.350732527423935E+00 0.000000000000000E+00 0.000000000000000E+00 0.350732527423935E+00 -0.655684895583589E-01 0.000000000000000E+00 -0.467643369898580E+00 0.000000000000000E+00 0.000000000000000E+00 -0.467643369898580E+00 -0.655684895583589E-01 0.125000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.125000000000000E+00 0.000000000000000E+00 -0.655684895583589E-01 0.125000000000000E+00 0.116910842474645E+00 0.000000000000000E+00 0.125000000000000E+00 0.116910842474645E+00 -0.655684895583589E-01 0.125000000000000E+00 0.233821684949290E+00 0.000000000000000E+00 0.125000000000000E+00 0.233821684949290E+00 -0.655684895583589E-01 0.125000000000000E+00 0.350732527423935E+00 0.000000000000000E+00 0.125000000000000E+00 0.350732527423935E+00 -0.655684895583589E-01 0.125000000000000E+00 -0.467643369898580E+00 0.000000000000000E+00 0.125000000000000E+00 -0.467643369898580E+00 -0.655684895583589E-01 0.250000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.250000000000000E+00 0.000000000000000E+00 -0.655684895583589E-01 0.250000000000000E+00 0.116910842474645E+00 0.000000000000000E+00 0.250000000000000E+00 0.116910842474645E+00 -0.655684895583589E-01 0.250000000000000E+00 0.233821684949290E+00 0.000000000000000E+00 0.250000000000000E+00 0.233821684949290E+00 -0.655684895583589E-01 0.250000000000000E+00 0.350732527423935E+00 0.000000000000000E+00 0.250000000000000E+00 0.350732527423935E+00 -0.655684895583589E-01 0.250000000000000E+00 -0.467643369898580E+00 0.000000000000000E+00 0.250000000000000E+00 -0.467643369898580E+00 -0.655684895583589E-01 0.375000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.375000000000000E+00 0.000000000000000E+00 -0.655684895583589E-01 0.375000000000000E+00 0.116910842474645E+00 0.000000000000000E+00 0.375000000000000E+00 0.116910842474645E+00 -0.655684895583589E-01 0.375000000000000E+00 0.233821684949290E+00 0.000000000000000E+00 0.375000000000000E+00 0.233821684949290E+00 -0.655684895583589E-01 0.375000000000000E+00 0.350732527423935E+00 0.000000000000000E+00 0.375000000000000E+00 0.350732527423935E+00 -0.655684895583589E-01 0.375000000000000E+00 -0.467643369898580E+00 0.000000000000000E+00 0.375000000000000E+00 -0.467643369898580E+00 -0.655684895583589E-01 -0.500000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 -0.500000000000000E+00 0.000000000000000E+00 -0.655684895583589E-01 -0.500000000000000E+00 0.116910842474645E+00 0.000000000000000E+00 -0.500000000000000E+00 0.116910842474645E+00 -0.655684895583589E-01 -0.500000000000000E+00 0.233821684949290E+00 0.000000000000000E+00 -0.500000000000000E+00 0.233821684949290E+00 -0.655684895583589E-01 -0.500000000000000E+00 0.350732527423935E+00 0.000000000000000E+00 -0.500000000000000E+00 0.350732527423935E+00 -0.655684895583589E-01 -0.500000000000000E+00 -0.467643369898580E+00 0.000000000000000E+00 -0.500000000000000E+00 -0.467643369898580E+00 -0.655684895583589E-01epw2.in--&inputepwprefix= 'MoO3'amass(1)= 95.94amass(2)= 15.999outdir='./'iverbosity =0elph = .true.epbwrite = .false.epbread = .false.lpolar = .true.epwwrite = .false.epwread = .true.nbndsub = 28nbndskip = 14restart = .true.restart_freq= 1024kmaps = .true.lifc = .true.asr_typ = simple!wannier control tagswannierize = .false.num_iter = 1000iprint = 2dis_win_min= -11.73dis_win_max= 4.775dis_froz_min = -11.73dis_froz_max = -0.165proj(1) = 'Mo:d'proj(2) = 'O:p'wdata(1) = 'bands_plot = .true.'wdata(2) = 'begin kpoint_path'wdata(3) = 'G 0.000 0.000 0.000 X 0.500 0.000 0.000'wdata(4) = 'X 0.500 0.000 0.000 S 0.500 0.500 0.000'wdata(5) = 'S 0.500 0.500 0.000 Y 0.000 0.500 0.000'wdata(6) = 'Y 0.000 0.500 0.000 G 0.000 0.000 0.000'wdata(7) ='end kpoint_path'wdata(8) ='bands_plot_format = gnuplot'wdata(9) ='dis_num_iter = 1000 ' !set maximum iteration numberwdata(10) = 'guiding_centres = .true.'wdata(11) = 'num_print_cycles = 10'wdata(12) = 'dis_mix_ratio = 1.0'!wdata(13)= 'use_ws_distance = T'!mobilityscattering = .true.scattering_serta = .true.int_mob = .true.carrier = .true.ncarrier = 1E13scissor = 0.1nstemp = 5tempsmin = 100tempsmax = 500!epc calculation control tagselecselfen = .false.phonselfen = .false.a2f = .false.fsthick = 10.0 ! eVeptemp = 100 ! Kdegaussw = 0.01 ! eVefermi_read = .true.fermi_energy = -4.7328 !K valence topdvscf_dir = '/home/k0116/k011622/MoO3/2d/ph/phonon3/save'mp_mesh_k =.true.!band_plot = .true!Wannier fine mesh!filkf = '/home/k0116/k011622/MoO3/2d/mesh/path1.dat'nkf1 = 16 !replace by appropriate numbernkf2 = 16 !replace by appropriate numbernkf3 = 4 !replace by appropriate number!if you want to calculate on specific path, please use!filqf = '/home/k0116/k011622/MoO3/2d/mesh/path1.dat'nqf1 = 16 !replace by appropriate numbernqf2 = 16 !replace by appropriate numbernqf3 = 4 !replace by appropriate number!original meshnk1 =8nk2 =8nk3 =2nq1 =8nq2 =8nq3 =2/50 cartesian 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 -0.655684895583589E-01 0.000000000000000E+00 0.116910842474645E+00 0.000000000000000E+00 0.000000000000000E+00 0.116910842474645E+00 -0.655684895583589E-01 0.000000000000000E+00 0.233821684949290E+00 0.000000000000000E+00 0.000000000000000E+00 0.233821684949290E+00 -0.655684895583589E-01 0.000000000000000E+00 0.350732527423935E+00 0.000000000000000E+00 0.000000000000000E+00 0.350732527423935E+00 -0.655684895583589E-01 0.000000000000000E+00 -0.467643369898580E+00 0.000000000000000E+00 0.000000000000000E+00 -0.467643369898580E+00 -0.655684895583589E-01 0.125000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.125000000000000E+00 0.000000000000000E+00 -0.655684895583589E-01 0.125000000000000E+00 0.116910842474645E+00 0.000000000000000E+00 0.125000000000000E+00 0.116910842474645E+00 -0.655684895583589E-01 0.125000000000000E+00 0.233821684949290E+00 0.000000000000000E+00 0.125000000000000E+00 0.233821684949290E+00 -0.655684895583589E-01 0.125000000000000E+00 0.350732527423935E+00 0.000000000000000E+00..For output file, I think scf.out , nscf.out and epw.out are all normal. And epw2.out just like I showed, suddenly killed itself.If you can help with it, I will appreciate it very much.Best wishes,Chou

 Author: sponce [ Thu Nov 22, 2018 10:40 am ] Post subject: Re: Possibility to calculate mobility for 2d materials using Dear CHOU, I do not see anything wrong in your input I think. You can try:- mp_mesh_k =.false. (disable k-point symmetry), much slower- run with 1 cpu interactively with restart_freq= 2, this way it will crash very quickly. Hopefully the code will tell you at which line exactly it crashed. - try using the most recent development version of EPW (from gitlab).Best wishes, Samuel

 Author: CHOU [ Thu Dec 06, 2018 9:31 am ] Post subject: Re: Possibility to calculate mobility for 2d materials using Dear Samuel,Thank you very much for your ideas.I have solved the problem and got the mobility successfully with defaulting the mp_mesh_k. Best wishes,CHOU

 Author: CHOU [ Thu Jan 10, 2019 9:36 am ] Post subject: Re: Possibility to calculate mobility for 2d materials using Dear Samuel,Although I calculated the mobility of 2d materials, but the mobility in the z axis was very large, which is not true for the real situation. Is it okay if I just pick up the mobility in x-axis and y-axis to analyze the materials and ignore the z-axis' mobility?Or I change the codes in transport.f90 CALL rdiagh(3,Sigma_m(:,:,itemp),3,sigma_eig,sigma_vect)to CALL rdiagh(2,Sigma_m(:,:,itemp),2,sigma_eig,sigma_vect),to only include the xy part for calculation, is it true for 2d materials?Best wishes,Chou

 Author: sponce [ Thu Feb 14, 2019 2:22 pm ] Post subject: Re: Possibility to calculate mobility for 2d materials using I would recommand not to use diagonalization at all (i.e. do not call CALL rdiagh). However in that case you should also print off diagonal elements to make sure that they are small. Best wishes, Samuel

 Page 1 of 1 All times are UTC Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Grouphttp://www.phpbb.com/