| 查看: 2837 | 回復(fù): 26 | ||
[求助]
幫忙講解一下 文件的讀取
|
|
幫忙講解一下 subroutine get_token(token, id) type(dtsets_list), pointer :: token integer, intent(in) :: id type(dtsets_list), pointer :: tmpLst if (AB_DBG) write(0,*) "AB module: request list element ", id nullify(token) tmpLst => my_dtsets do if (.not. associated(tmpLst)) then exit end if if (tmpLst%id == id .and. associated(tmpLst%dtsets)) then token => tmpLst return end if tmpLst => tmpLst%next end do end subroutine get_token 這個程序是怎么從id的這個文件讀取變量?能否講一下if中的意義?謝謝! |

至尊木蟲 (職業(yè)作家)
至尊木蟲 (職業(yè)作家)
|
謝謝您!是要這個定義嗎? type, private :: dtsets_list integer :: id type(dtsets_list), pointer :: next => null() type(dtsets_list), pointer :: prev => null() type(dataset_type), pointer :: dtsets(:) type(pspheader_type), pointer :: pspheads(:) integer :: mxgw_nqlwl, mxnatom, mxntypat, mxlpawu, mxmband_upper, mxnatpawu, & & mxnatsph, mxnconeq, mxnimage, mxnkptgw, mxnatvshift, & & mxnkpt, mxnnos, mxnqptdm, mxnsppol, mxnsym, mxnspinor, mxmband integer :: istatr, istatshft, dmatpuflag, papiopt, timopt end type dtsets_list 是不是還得知道dtsets(:),pspheads(:)? type(pspheader_type),pointer :: pspheads(:) type dataset_type integer :: accesswff integer :: awtr integer :: bandpp integer :: bdeigrf integer :: berryopt integer :: berrystep integer :: brvltt integer :: bs_nstates integer :: cd_use_tangrid integer :: bs_hayd_term integer :: chkexit integer :: chkprim integer :: chksymbreak integer :: delayperm integer :: dmatpuopt integer :: dmatudiag integer :: dmft_dc integer :: dmft_iter integer :: dmft_nwli integer :: dmft_nwlo integer :: dmft_rslf integer :: dmft_solv integer :: dmftbandi integer :: dmftbandf integer :: dmftcheck integer :: enunit integer :: exchn2n3d integer :: fftgw integer :: fft_opt_lob integer :: frzfermi integer :: getcell integer :: getddk integer :: getden integer :: getgam_eig2nkq integer :: getkss integer :: getocc integer :: getpawden integer :: getqps integer :: getscr integer :: getsuscep integer :: getvel integer :: getwfk integer :: getwfq integer :: getxcart integer :: getxred integer :: get1den integer :: get1wf integer :: getbseig integer :: getbsreso integer :: getbscoup integer :: gethaydock integer :: gw_eet integer :: gw_eet_nband integer :: gw_eet_inclvkb integer :: gwcalctyp integer :: gwcomp integer :: gwgamma integer :: gwrpacorr integer :: gw_nqlwl integer :: gw_nstep integer :: gw_sigxcore integer :: gwmem integer :: gwpara integer :: gw_sctype integer :: iboxcut integer :: icoulomb integer :: icutcoul integer :: idyson integer :: ieig2rf integer :: iextrapwf integer :: ikhxc integer :: imgmov integer :: inclvkb integer :: intexact integer :: intxc integer :: ionmov integer :: iprcch integer :: iprcel integer :: iprctfvw integer :: iprcfc integer :: irdddk integer :: irdden integer :: irdhaydock integer :: irdkss integer :: irdpawden integer :: irdqps integer :: irdscr integer :: irdsuscep integer :: irdwfk integer :: irdwfq integer :: ird1den integer :: ird1wf integer :: irdbseig integer :: irdbsreso integer :: irdbscoup integer :: iscf integer :: isecur integer :: istatr integer :: istatshft integer :: ixc integer :: ixcpositron integer :: jdtset ! jdtset contains the actual number of the dataset integer :: jellslab integer :: kptopt integer :: kssform integer :: ldgapp integer :: localrdwf integer :: maxnsym integer :: mband integer :: mffmem integer :: mgfft integer :: mgfftdg integer :: mkmem integer :: mkqmem integer :: mk1mem integer :: nnos integer :: mpw integer :: mqgrid integer :: mqgriddg integer :: natom integer :: natpawu integer :: natrd integer :: natsph integer :: natvshift integer :: nbandkss integer :: nbandsus integer :: nbdblock integer :: nbdbuf integer :: nberry integer :: nconeq integer :: nctime integer :: ndtset integer :: ndynimage integer :: ndyson integer :: nfft integer :: nfftdg integer :: nfreqim integer :: nfreqre integer :: nfreqsp integer :: nfreqsus integer :: diismemory integer :: ngroup_rf integer :: nimage integer :: nkptgw integer :: nkpt integer :: nline integer :: nnsclo integer :: nomegasf integer :: nomegasi integer :: nomegasrd integer :: npband integer :: npfft integer :: npimage integer :: npkpt integer :: npsp integer :: npspalch integer :: npulayit integer :: npweps integer :: npwkss integer :: npwsigx integer :: npwwfn integer :: nqpt integer :: nqptdm integer :: nscforder integer :: nsheps integer :: nshiftk integer :: nshsigx integer :: nshwfn integer :: nspden integer :: nspinor integer :: nsppol integer :: nstep integer :: nsym integer :: ntime integer :: ntimimage integer :: ntypalch integer :: ntypat integer :: ntyppure integer :: nwfshist integer :: occopt integer :: optcell integer :: optdriver integer :: optforces integer :: optfreqsus integer :: optnlxccc integer :: optstress integer :: ortalg integer :: paral_kgb integer :: paral_rf integer :: pawcpxocc integer :: pawfatbnd integer :: pawlcutd integer :: pawlmix integer :: pawmixdg integer :: pawnhatxc integer :: pawnphi integer :: pawntheta integer :: pawnzlm integer :: pawoptmix integer :: pawprtden integer :: pawprtdos integer :: pawprtvol integer :: pawprtwf integer :: pawprt_k integer :: pawprt_b integer :: pawspnorb integer :: pawstgylm integer :: pawusecp integer :: macro_uj integer :: pawujat integer :: pawxcdev integer :: pitransform integer :: positron integer :: posnstep integer :: ppmodel integer :: prepanl integer :: prepgkk integer :: prepscphon integer :: prtbbb integer :: prtbltztrp integer :: prtcif integer :: prtcml integer :: prtcs integer :: prtden integer :: prtdensph integer :: prtdipole integer :: prtdos integer :: prtdosm integer :: prtefg integer :: prteig integer :: prtelf integer :: prtfc integer :: prtfsurf integer :: prtgden integer :: prtgeo integer :: prtgkk integer :: prtkden integer :: prtkpt integer :: prtlden integer :: prtnabla integer :: prtnest integer :: prtpmp integer :: prtposcar integer :: prtpot integer :: prtspcur integer :: prtstm integer :: prtvha integer :: prtvhxc integer :: prtvol integer :: prtvxc integer :: prtwant integer :: prtwf integer :: prtxangst integer :: prtxcart integer :: prtxml integer :: prtxred integer :: prt1dm integer :: ptgroupma integer :: rdmnb integer :: random_atpos integer :: recgratio integer :: recnpath integer :: recnrec integer :: recptrott integer :: rectesteg integer :: restartxf integer :: rfasr integer :: rfddk integer :: rfelfd integer :: rfmeth integer :: rfphon integer :: rfstrs integer :: rfuser integer :: rf1elfd integer :: rf1phon integer :: rf2elfd integer :: rf2phon integer :: rf3elfd integer :: rf3phon integer :: signperm integer :: smdelta integer :: spgaxor integer :: spgorig integer :: spgroup integer :: spmeth integer :: suskxcrs integer :: symmorphi integer :: symchi integer :: symsigma integer :: td_mexcit integer :: tfkinfunc integer :: timopt integer :: tl_nprccg integer :: usedmatpu integer :: usedmft integer :: useexexch integer :: usekden integer :: usepaw integer :: usepawu integer :: userec integer :: useria integer :: userib integer :: useric integer :: userid integer :: userie integer :: usewvl integer :: usexcnhat integer :: useylm integer :: use_slk integer :: vacnum integer :: vdw_nfrag integer :: vdw_xc integer :: wfoptalg integer :: wvl_nprccg integer :: w90iniprj integer :: w90prtunk integer :: xclevel !Integer arrays integer :: bdberry(4) integer :: cd_subset_freq(2) integer :: kptrlatt(3,3) integer :: ngfft(18) integer :: ngfftdg(18) integer :: nloalg(5) integer :: qprtrb(3) integer :: rfatpol(2) integer :: rfdir(3) integer :: rf1atpol(2) integer :: rf1dir(3) integer :: rf2atpol(2) integer :: rf2dir(3) integer :: rf3atpol(2) integer :: rf3dir(3) integer :: scphon_supercell(3) integer :: supercell(3) integer :: vdw_supercell(3) integer :: vdw_typfrag(100) !Integer pointers integer, pointer :: algalch(:) ! algalch(ntypalch) integer, pointer :: bdgw(:,:,:) ! bdgw(2,nkptgw,nsppol) integer, pointer :: dynimage(:) ! dynimage(nimage or mxnimage) integer, pointer :: iatfix(:,:) ! iatfix(3,natom) integer, pointer :: iatsph(:) ! iatsph(natsph) integer, pointer :: istwfk(:) ! istwfk(nkpt) integer, pointer :: kberry(:,:) ! kberry(3,nberry) integer, pointer :: lexexch(:) ! lexexch(ntypat) integer, pointer :: lpawu(:) ! lpawu(ntypat) integer, pointer :: nband(:) ! nband(nkpt*nsppol) integer, pointer :: so_psp(:) ! so_psp(npsp) integer, pointer :: symafm(:) ! symafm(nsym) integer, pointer :: symrel(:,:,:) ! symrel(3,3,nsym) integer, pointer :: typat(:) ! typat(natom) !Real real(dp) :: bmass real(dp) :: boxcutmin real(dp) :: bxctmindg real(dp) :: cd_halfway_freq real(dp) :: cd_max_freq real(dp) :: charge real(dp) :: cpus real(dp) :: diecut real(dp) :: diegap real(dp) :: dielam real(dp) :: dielng real(dp) :: diemac real(dp) :: diemix real(dp) :: diemixmag real(dp) :: dilatmx real(dp) :: dmft_mxsf real(dp) :: dosdeltae real(dp) :: dtion real(dp) :: ecut real(dp) :: ecuteps real(dp) :: ecutsigx real(dp) :: ecutsm real(dp) :: ecutwfn real(dp) :: effmass real(dp) :: elph2_imagden real(dp) :: eshift real(dp) :: esmear real(dp) :: exchmix real(dp) :: fband real(dp) :: fixmom real(dp) :: freqremin real(dp) :: freqremax real(dp) :: freqspmax real(dp) :: freqsusin real(dp) :: freqsuslo real(dp) :: friction real(dp) :: fxcartfactor real(dp) :: gwencomp real(dp) :: gw_eet_scale real(dp) :: gw_toldfeig real(dp) :: kptnrm real(dp) :: kptrlen real(dp) :: mdftemp real(dp) :: mditemp real(dp) :: mdwall real(dp) :: nelect real(dp) :: noseinert real(dp) :: omegasimax real(dp) :: omegasrdmax real(dp) :: pawecutdg real(dp) :: pawovlp real(dp) :: pawujrad real(dp) :: pawujv real(dp) :: posocc real(dp) :: postoldfe real(dp) :: postoldff real(dp) :: ppmfrq real(dp) :: recrcut real(dp) :: recefermi real(dp) :: rectolden real(dp) :: rhoqpmix real(dp) :: rcut real(dp) :: sciss real(dp) :: scphon_temp real(dp) :: slabwsrad real(dp) :: slabzbeg real(dp) :: slabzend real(dp) :: soenergy real(dp) :: spbroad real(dp) :: spnorbscl real(dp) :: stmbias real(dp) :: strfact real(dp) :: strprecon real(dp) :: td_maxene real(dp) :: tl_radius real(dp) :: toldfe real(dp) :: toldff real(dp) :: tolimg real(dp) :: tolmxf real(dp) :: tolrff real(dp) :: tolsym real(dp) :: tolvrs real(dp) :: tolwfr real(dp) :: tphysel real(dp) :: tsmear real(dp) :: userra real(dp) :: userrb real(dp) :: userrc real(dp) :: userrd real(dp) :: userre real(dp) :: vacwidth real(dp) :: vis real(dp) :: wvl_hgrid real(dp) :: wvl_crmult real(dp) :: wvl_frmult real(dp) :: wvl_cpmult real(dp) :: wvl_fpmult real(dp) :: zcut !Real arrays real(dp) :: boxcenter(3) real(dp) :: bfield(3) real(dp) :: efield(3) real(dp) :: genafm(3) real(dp) :: qptn(3) real(dp) :: strtarget(6) real(dp) :: vcutgeo(3) real(dp) :: vprtrb(2) real(dp) :: zeemanfield(3) !Real pointers real(dp), pointer :: acell_orig(:,:) ! acell_orig(3,nimage) real(dp), pointer :: amu(:) ! amu(ntypat) real(dp), pointer :: atvshift(:,:,:) ! atvshift(16,nsppol,natom) real(dp), pointer :: corecs(:) ! corecs(ntypat) real(dp), pointer :: densty(:,:) ! densty(ntypat,4) real(dp), pointer :: dmatpawu(:,:,:,:) ! dmatpawu(2*lpawu+1,2*lpawu+1,nsppol*nspinor,natpu) ! where natpu=number of atoms with lpawu/=1 real(dp), pointer :: gw_qlwl(:,:) ! gw_qlwl(3,gw_nqlwl) real(dp), pointer :: jpawu(:) ! jpawu(ntypat) real(dp), pointer :: kpt(:,:) ! kpt(3,nkpt) real(dp), pointer :: kptgw(:,:) ! kptgw(3,nkptgw) real(dp), pointer :: kptns(:,:) ! kptns(3,nkpt) ! k-points renormalized and shifted. The ones that should be used inside the code. real(dp), pointer :: mixalch(:,:) ! mixalch(npspalch,ntypalch) real(dp), pointer :: occ_orig(:) ! occ_orig(mband*nkpt*nsppol) real(dp), pointer :: ptcharge(:) ! ptcharge(ntypat) real(dp), pointer :: qmass(:) ! qmass(nnos) real(dp), pointer :: qptdm(:,:) ! qptdm(3,nqptdm) real(dp), pointer :: quadmom(:) ! quadmom(ntypat) real(dp), pointer :: ratsph(:) ! ratsph(ntypat) real(dp), pointer :: rprim_orig(:,:,:) ! rprim_orig(3,3,nimage) real(dp), pointer :: rprimd_orig(:,:,:) ! rprimd_orig(3,3,nimage) real(dp), pointer :: shiftk(:,:) ! shiftk(3,nshiftk) real(dp), pointer :: spinat(:,:) ! spinat(3,natom) real(dp), pointer :: tnons(:,:) ! tnons(3,nsym) real(dp), pointer :: upawu(:) ! upawu(ntypat) real(dp), pointer :: vel_orig(:,:,:) ! vel_orig(3,natom,nimage) real(dp), pointer :: wtatcon(:,:,:) ! wtatcon(3,natom,nconeq) real(dp), pointer :: wtk(:) ! wtk(nkpt) real(dp), pointer :: xred_orig(:,:,:) ! xred_orig(3,natom,nimage) real(dp), pointer :: ziontypat(:) ! ziontypat(ntypat) real(dp), pointer :: znucl(:) ! znucl(npsp) !BEGIN VARIABLES FOR @Bethe-Salpeter integer :: bs_algorithm integer :: bs_haydock_niter integer :: bs_exchange_term integer :: bs_coulomb_term integer :: bs_calctype integer :: bs_coupling real(dp) :: bs_haydock_tol integer :: bs_eh_basis_set(2) real(dp) :: bs_eh_cutoff(3) real(dp) :: bs_freq_mesh(3) !END VARIABLES FOR @Bethe-Salpeter. ! Types type(wvl_internalVars_type) :: wvl end type dataset_type 這個 type pspheader_type ! WARNING : if you modify this datatype, please check whether there might be creation/destruction/copy routines, ! declared in another part of ABINIT, that might need to take into account your modification. integer :: nproj(0:3) ! number of scalar projectors for each angular momentum integer :: nprojso(3) ! number of spin-orbit projectors for each angular momentum integer :: lmax ! maximum l quantum number (-1 if only local) ! Example : s only -> lmax=0 ! s and p -> lmax=1 ! d only -> lmax=2 integer :: pspcod ! code number of the pseudopotential integer :: pspdat ! date of generation of the pseudopotential integer :: pspxc ! exchange-correlation functional integer :: pspso ! spin-orbit characteristics integer :: xccc ! =0 if no XC core correction, non-zero if XC core correction real(dp) :: zionpsp ! charge of the ion made of core electrons only real(dp) :: znuclpsp ! atomic number of the nuclei real(dp) :: GTHradii(0:4) ! Radii values for GTH (and HGH) family potentials character(len=fnlen) :: filpsp ! name of the psp file character(len=fnlen) :: title ! content of first line read from the psp file type(pspheader_paw_type) :: pawheader ! only for PAW psps. See above end type pspheader_type |

金蟲 (正式寫手)
金蟲 (正式寫手)
金蟲 (正式寫手)
金蟲 (正式寫手)

| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 一志愿西安交通大學(xué)材料工程專業(yè) 282分求調(diào)劑 +5 | 楓橋ZL 2026-03-18 | 5/250 |
|
|---|---|---|---|---|
|
[考研] 267一志愿南京工業(yè)大學(xué)0817化工求調(diào)劑 +10 | SUICHILD 2026-03-12 | 10/500 |
|
|
[考研] 材料工程專碩調(diào)劑 +5 | 204818@lcx 2026-03-17 | 6/300 |
|
|
[考研] 266求調(diào)劑 +5 | 陽陽哇塞 2026-03-14 | 9/450 |
|
|
[考研] 297求調(diào)劑 +8 | 戲精丹丹丹 2026-03-17 | 8/400 |
|
|
[考研] 312求調(diào)劑 +8 | 陌宸希 2026-03-16 | 9/450 |
|
|
[考研] 301求調(diào)劑 +9 | yy要上岸呀 2026-03-17 | 9/450 |
|
|
[考研] 277調(diào)劑 +5 | 自由煎餅果子 2026-03-16 | 6/300 |
|
|
[考研] 085601求調(diào)劑 +4 | Du.11 2026-03-16 | 4/200 |
|
|
[考研] 一志愿南京大學(xué),080500材料科學(xué)與工程,調(diào)劑 +4 | Jy? 2026-03-16 | 4/200 |
|
|
[考研] 275求調(diào)劑 +4 | 太陽花天天開心 2026-03-16 | 4/200 |
|
|
[考研] 333求調(diào)劑 +3 | 文思客 2026-03-16 | 7/350 |
|
|
[考研] 0854控制工程 359求調(diào)劑 可跨專業(yè) +3 | 626776879 2026-03-14 | 9/450 |
|
|
[基金申請]
今年的國基金是打分制嗎?
50+3
|
zhanghaozhu 2026-03-14 | 3/150 |
|
|
[考研] 304求調(diào)劑 +3 | 曼殊2266 2026-03-14 | 3/150 |
|
|
[考研] 一志愿哈工大材料324分求調(diào)劑 +5 | 閆旭東 2026-03-14 | 5/250 |
|
|
[考研] 求材料調(diào)劑 085600英一數(shù)二總分302 前三科235 精通機(jī)器學(xué)習(xí) 一志愿哈工大 +4 | 林yaxin 2026-03-12 | 4/200 |
|
|
[考研] 0856材料與化工301求調(diào)劑 +5 | 奕束光 2026-03-13 | 5/250 |
|
|
[考研] 085600材料與化工 309分請求調(diào)劑 +7 | dtdxzxx 2026-03-12 | 8/400 |
|
|
[考研] 321求調(diào)劑(食品/專碩) +3 | xc321 2026-03-12 | 6/300 |
|