91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 14.22MB
    文件類型: .tar
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2023-07-26
  • 語(yǔ)言: ASP
  • 標(biāo)簽:

資源簡(jiǎn)介

程序亮點(diǎn) 1. VASP使用PAW方法或超軟贗勢(shì),因此基組尺寸非常小,描述體材料一般需要每原子不超過(guò)100個(gè)平面波,大多數(shù)情況下甚至每原子50個(gè)平面波就能得到可靠結(jié)果。 2. 在平面波程序中,某些部分代碼的執(zhí)行是三次標(biāo)度。在VASP中,三次標(biāo)度部分的前因子足可忽略,導(dǎo)致關(guān)于體系尺寸的高效標(biāo)度。因此可以在實(shí)空間求解勢(shì)的非局域貢獻(xiàn),并使正交化的次數(shù)最少。當(dāng)體系具有大約2000個(gè)電子能帶時(shí),三次標(biāo)度部分與其它部分可比,因此VASP可用于直到4000個(gè)價(jià)電子的體系。 3. VASP使用傳統(tǒng)的自洽場(chǎng)循環(huán)計(jì)算電子基態(tài)。這一方案與數(shù)值方法組合會(huì)實(shí)現(xiàn)有效、穩(wěn)定、快速的Kohn-Sham方程自洽求解方案。程序使用的迭代矩陣對(duì)角化方案(RMM-DISS和分塊Davidson)可能是目前最快的方案。 4. VASP包含全功能的對(duì)稱性代碼,可以自動(dòng)確定任意構(gòu)型的對(duì)稱性。 5. 對(duì)稱性代碼還用于設(shè)定Monkhorst-Pack特殊點(diǎn),可以有效計(jì)算體材料和對(duì)稱的團(tuán)簇。Brillouin區(qū)的積分使用模糊方法或四面體方法。四面體方法可以用Blöchl校正去掉線性四面體方法的二次誤差,實(shí)現(xiàn)更快的k點(diǎn)收斂速度。

資源截圖

代碼片段和文件信息

/*
?*?Some?functions?callable?from?fortran?to?use?shared?memory
?*?wv?2011
?*?shmem?stuff?from?Willem?Vermin?SARA
?*/
#include?
#include?
#include?
#include?
#include?
#include?
/*
?*?get?a?shared?memory?segment
?*?input:?size?(fortran?integer*8)
?*?output:?shmem?id
?*/
void?getshmem_(size_t?*size?int*id)
{
??key_t?key;
??int?shmflg;
??int?shmid;
??key?=?IPC_PRIVATE;
??shmflg?=?IPC_CREAT?|?IPC_EXCL?|?0600?|?SHM_NORESERVE?;
??shmid?=?shmget(key?*size?shmflg);
??if?(shmid?==?-1)
??{
????fprintf(stderr“%s?in?%s:?cannot?create?shared?segment?%ld?\n“__FUNCTION____FILE__*size);
????perror(0);
????exit(1);
??}
??*id?=?shmid;
}

void?getshmem_error_(size_t?*size?int*id)
{
??key_t?key;
??int?shmflg;
??int?shmid;
??key?=?IPC_PRIVATE;
??shmflg?=?IPC_CREAT?|?IPC_EXCL?|?0600?|?SHM_NORESERVE?;
??shmid?=?shmget(key?*size?shmflg);
??*id?=?shmid;
}
/*
?*?attach?shared?memory?to?a?pointer
?*?input:?shhmid:?shared?memory?id
?*?output:?address?(fortran?integer*8)
?*/
void?attachshmem_(int?*shmid?void?**address)
{
??void?*shmaddr*r;
??int?shmflg;
??shmflg?=?0;
??shmaddr?=?0;

??r?=?shmat(*shmid?shmaddr?shmflg);
??if?(r?==?(void*)?-1)
??{
????fprintf(stderr“%s?in?%s:?cannot?get?address?of?shared?segment\n“__FUNCTION____FILE__);
????perror(0);
????exit(1);
??}
??*address?=?r;
}
/*
?*?detach?shared?memory?from?pointer
?*?input:?address?(fortran?integer*8)
?*/
void?detachshmem_(void?**address)
{
??int?r;
??r?=?shmdt(*address);
??if?(r?==?-1)
??{
????fprintf(stderr“%s?in?%s:%d:?cannot?detach?shared?segment\n“__FUNCTION____FILE____LINE__);
????perror(0);
????exit(1);
??}
}
/*
?*?destroy?shared?memory
?*?input:?shmid:?shared?memory?id
?*/
void?destroyshmem_(int?*shmid)
{
??struct?shmid_ds?buf;
??int?r?=?shmctl(*shmidIPC_RMID&buf);
??if?(r?==?-1)
??{
????fprintf(stderr“%s?in?%s:%d:?cannot?destroy?shared?segment\n“__FUNCTION____FILE____LINE__);
????perror(0);
????exit(1);
??}
}


/*
?*?get?a?set?of?semaphores
?*?input:?size?
?*?output:?semaphores?id
?*/
void?getsem_(int?*size?int*id)
{
??key_t?key;
??int?semflg;
??int?semid;
??int?mysize;
??int?i?rc;
??short??sarray[(*size)+1];

??key?=?IPC_PRIVATE;
??semflg?=?IPC_CREAT?|?IPC_EXCL?|?0600;
??semflg?=?IPC_CREAT?|?0600;
??mysize=(*size)+1?;
??/*?here?I?have?an?odd?problem:?using?*size+1?instead?of?mysize?
?????sometimes?failed
?????very?odd?some?cross?C-Fortran?problem?no?idea??????????*/
??semid?=?semget(key?mysize?semflg);
??if?(semid?==?-1)
??{
????perror(0);
????fprintf(stderr“%s?in?%s:?cannot?create?semaphores?\n“__FUNCTION____FILE__);
????fprintf(stderr“requested?size?was?%d\n“?mysize);
????exit(1);
??}
??/*????????‘1‘?--??The?shared?memory?segment?is?being?used.???????*/
??/*????????‘0‘?--??The?shared?memory?segment?is?freed.????????????*/
??/*?the?very?first?sempaphore?can?be??used?to?loc?all?others?
?????currently?this?is?not?entirely?thread?save?and?might?fail?if?no?barrier
?????is?used?before?this?lock?since?we?do?not

評(píng)論

共有 條評(píng)論

相關(guān)資源