24СʱÈÈÃŰæ¿éÅÅÐаñ    

²é¿´: 4211  |  »Ø¸´: 18
µ±Ç°Ö»ÏÔʾÂú×ãÖ¸¶¨Ìõ¼þµÄ»ØÌû£¬µã»÷ÕâÀï²é¿´±¾»°ÌâµÄËùÓлØÌû

fly_elephan

Òø³æ (СÓÐÃûÆø)

[½»Á÷] vasp¼ÆËã½á¹û´¦Àí̬ÃܶÈÒªÓõ½µÄ³ÌÐò ÒÑÓÐ7È˲ÎÓë

ÔÚ²ÄÁϵçÑ§ÌØÐÔµÄÑо¿ÖУ¬ÄÜ´øºÍ̬ÃܶÈÊÇÎÒÃÇ×î¹ØÐĵģ¬ÏÂÃæµÄÕâ¸ö³ÌÐò¿ÉÒÔÓÃÓÚvasp¼ÆËã½á¹ûµÄ´¦Àí£¬¿ÉÒÔ·ÖÀë³ö×Ü̬ÃܶȺͷÖ̬Ãܶȣ¬Õâ¸ö³ÌÐòÊÇÎÒÃÇÑо¿ËùÓÃÁ˺ܾõ쬾ø¶ÔûÎÊÌ⣬ÓÐ×ÊÔ´´ó¼Ò¹²Ïí£¬»¶Ó­ÏÂÔØ¡£
#! /bin/ksh
# Script to break the VASP DOSCAR file into segments for
# each atomic site.
# JMS NRL 5/0/02

# Modified to also align the Fermi level from the ground state
# to E=0.0
# JMS NRL 6/19/02


# Executables reside here
BIN=~/tzyy/AlP/swnt10


if [ $# -ne 0 ]; then
        echo "Usage: split_dos"
        exit 2
fi

# Script to split the DOSCAR file into the atomic
# projections labeled by atom number
dosfile=DOSCAR
outfile=OUTCAR
infile=INCAR


# Token for splitting the files
token=$(sed -n '6 p' $dosfile | awk '{print $1}')

# Number of points
nl=$(sed -n '6 p' $dosfile | awk '{print $3}')

# Number of atoms
natom=$(sed -n '1 p' $dosfile | awk '{print $1}')


# Get the Fermi level if the OUTCAR file is present,
# else we set it to zero.
if [ -a $outfile ]; then
    echo "The" $outfile "exists, we use it to get the Fermi level,"
    echo "the RWIGS tag and the number of spins."
    efermi=$(grep "E-fermi" $outfile | tail -1 | awk '{print $3}')
    echo "Fermi level:" $efermi
    nspin=$(grep "ISPIN" $outfile | tail -1 | awk '{print $3}')
    if [ $nspin -eq 2 ]; then
        echo "Spin polarized calculation"
    else
        echo "Unpolarized calculation"
    fi

# 2.a
# JMS 2/3/03 Modified to accept specification by LORBIT token.
#
    lorbit=$(grep "LORBIT" $outfile | tail -1 | awk '{print $3}')
    if [ $lorbit -ge 10 ]; then
        echo "LORBIT > 10"
        echo "WARNING: not completely test for vasp.4.*"
        echo "Use at your own risk. Please check results for consistency."
        form=1
    else
# 2.a
        rwigs=$(grep "RWIGS" $outfile | tail -1 | awk '{print $3}' | sed 's/\.//g')
        if [ $rwigs -eq -100 ]; then
            echo "RWIGS token not set"
            form=0
        else
            echo "RWIGS token set"
            form=1
        fi
# 2.a
    fi
# 2.a

else
    echo "The" $outfile "does not exist, we set the Fermi level to 0"
    echo "assume an unpolarized calculation, and RWIGS not set"
    form=0
    nspin=1
    efermi=0.0
fi

# If the outcar file is not present and you wish to set something by hand
# you should do it here. Uncomment the tokens below and set them by hand.

#efermi=2.255
#form=
#nspin=



# Get the atomic coordinates
$BIN/vp >| tmp.dat
tail -$natom tmp.dat | awk '{printf "%s %12.8f %12.8f %12.8f \n", "#", $2, $3, $4}' >| tmp.dat2


# Total is first DOS
if [ $form -eq 0 ]; then
i=0
else
i=0
fi


start=7
end=$((start+nl-1))
#echo $start $end
#exit 0
rm -f DOS0
if [ $form -eq 1 ]; then

    while [ $i -le $natom ]; do

            #echo $i $start $end

        if [ $i -gt 0 ]; then
            sed -n ''$i' p' tmp.dat2 >| DOS$i
        fi

        if [ $i -gt 0 ]; then

# Atomic projected DOS
            if [ $nspin -eq 2 ]; then
                sed -n ''$start','$end' p' $dosfile | awk '{printf "%12.8f %12.8f %12.8f %12.8f %12.8f %12.8f %12.8f \n", $1+(-1)*'$efermi', $2, -1*$3, $4, -1*$5, $6, -1*$7}' >> DOS$i
            else
                sed -n ''$start','$end' p' $dosfile | awk '{printf "%12.8f %12.8f %12.8f %12.8f \n", $1+(-1)*'$efermi', $2, $3, $4 }' >> DOS$i
            fi               

        else

# Total DOS
            if [ $nspin -eq 2 ]; then
                sed -n ''$start','$end' p' $dosfile | awk '{printf "%12.8f %12.8f %12.8f %12.8f %12.8f \n", $1+(-1)*'$efermi', $2, -1*$3, $4, -1*$5 }' >> DOS$i
            else
                sed -n ''$start','$end' p' $dosfile | awk '{printf "%12.8f %12.8f %12.8f \n", $1+(-1)*'$efermi', $2, $3 }' >> DOS$i
            fi

        fi

        start=$((end+2))
        end=$((start+nl-1))
        i=$((i+1))
    done

else

    while [ $i -le 0 ]; do

            #echo $i $start $end

        if [ $i -gt 0 ]; then
            sed -n ''$i' p' tmp.dat2 >| DOS$i
        fi

        if [ $i -gt 0 ]; then

# Atomic projected DOS
            if [ $nspin -eq 2 ]; then
                sed -n ''$start','$end' p' $dosfile | awk '{printf "%12.8f %12.8f %12.8f %12.8f %12.8f %12.8f %12.8f \n", $1+(-1)*'$efermi', $2, -1*$3, $4, -1*$5, $6, -1*$7}' >> DOS$i
            else
                sed -n ''$start','$end' p' $dosfile | awk '{printf "%12.8f %12.8f %12.8f %12.8f \n", $1+(-1)*'$efermi', $2, $3, $4 }' >> DOS$i
            fi               

        else

# Total DOS
            if [ $nspin -eq 2 ]; then
                sed -n ''$start','$end' p' $dosfile | awk '{printf "%12.8f %12.8f %12.8f %12.8f %12.8f \n", $1+(-1)*'$efermi', $2, -1*$3, $4, -1*$5 }' >> DOS$i
            else
                sed -n ''$start','$end' p' $dosfile | awk '{printf "%12.8f %12.8f %12.8f \n", $1+(-1)*'$efermi', $2, $3 }' >> DOS$i
            fi

        fi

        start=$((end+2))
        end=$((start+nl-1))
        i=$((i+1))
    done

fi

exit 0
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

» ±¾Ö÷ÌâÏà¹ØÉ̼ÒÍÆ¼ö: (ÎÒÒ²ÒªÔÚÕâÀïÍÆ¹ã)

» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

wujing110

½û³æ (ÕýʽдÊÖ)

¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
±¾ÌûÄÚÈݱ»ÆÁ±Î

3Â¥2011-11-14 11:21:03
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
²é¿´È«²¿ 19 ¸ö»Ø´ð

cenwanglai

ÈÙÓþ°æÖ÷ (ÖªÃû×÷¼Ò)

ÀϺÍɽâ«ËöÅɾŶÎ

ÓÅÐã°æÖ÷

¡ï ¡ï ¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
zzy870720z(½ð±Ò+2): ллָ½Ì 2011-05-30 15:23:30
Õâ¸ö³ÌÐòvtstool codeÖÐÓеġ£

ÄãÃÇ×é¿´ÆðÀ´ÊÇ×öµ¥±ÚÄÉÃ׹ܵģ¬ËùÒÔÕâ¸ö½Å±¾¿ÉÒÔÒ»Ö±ÓÃ×Å¡£

Èç¹ûº¬ÓÐfµç×Ó£¬¾ÍûÓа취ÓÃÁË¡£LORBIT = 11ºÍLORBIT = 10ÊÇÓкܴó²îÒìµÄ£¬Õâ¸ö½Å±¾ÐèÒªÐ޸IJÅÄÜÓá£

» ±¾ÌûÒÑ»ñµÃµÄºì»¨£¨×îÐÂ10¶ä£©

2Â¥2011-05-30 11:01:16
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

cenwanglai

ÈÙÓþ°æÖ÷ (ÖªÃû×÷¼Ò)

ÀϺÍɽâ«ËöÅɾŶÎ

ÓÅÐã°æÖ÷

¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
ÒýÓûØÌû:
3Â¥: Originally posted by wujing110 at 2011-11-14 11:21:03:
ÇëÎÊÇø³¤Í¯Ð¬£¬LORBIT = 11ʱºòÓ¦¸ÃÔõô¸Äѽ£¿ÎÒÉèÖÃLORBIT = 11£¬Ò»¹²ÓÐ19ÁÐÊý¾Ý£¬µ«ÊÇÎÒÏÖÔÚÖ»ÏëÒª s+,s-,p+,p-,d+,d-£¬ÄÇЩ½Ç¶¯Á¿·ÖÁ¿ÒªÒ»ÁÐÒ»ÁмӳÉ×ܵÄô£¿

Êǰ¡¡£µÚËÄÁе½¾ÅÁÐÊÇpµÄÈý¸ö·ÖÁ¿¼°ÉÏÏÂÐý¡£Èý¸öÆæÊýÁÐÏà¼ÓµÄp+£¬Èý¸öżÊýÁÐÏà¼ÓµÄp-¡£ºóÃæ10ÁÐÊÇd·ÖÁ¿¼°×ÔÐý¡£ÉÏÐýºÍÏÂÐý·Ö±ðÏà¼Ó¡£

¿ÉÒÔÓÃexcel»òÕßoriginÀ´×öÁеÄÏà¼Ó¡£
4Â¥2011-11-14 13:21:54
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

gougou531

½û³æ (ÕýʽдÊÖ)

¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
±¾ÌûÄÚÈݱ»ÆÁ±Î

5Â¥2011-11-14 14:05:43
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[»ù½ðÉêÇë] ÄÄλ¸ßÈËÖÐÁË£¬°Ñ²éѯµ½µÄ½ØÍ¼Ìù³öÀ´ÈÃÎÒ¿´¿´£¬ÈÃÎÒ³¤³¤¼ûʶ +3 yuleib84 2026-08-26 3/150 2026-08-26 12:34 by xiacongxu
[»ù½ðÉêÇë] Ôõô²é°¡ +4 huang1991js 2026-08-26 4/200 2026-08-26 11:26 by panjy.cn
[»ù½ðÉêÇë] ¹úºÏÀïÃæÄÜ¿´µ½ÁË +7 Ò»»³Ü°Çï 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[»ù½ðÉêÇë] ÄÜ·ñÍ˳ö²ÎÓëµÄÃæÉÏÏîÄ¿½â³ýÏÞÏî +22 koalala 2026-08-24 25/1250 2026-08-26 11:14 by dxcharlary
[»ù½ðÉêÇë] ÏîÄ¿ÐÅÏ¢ºÍ¾­·ÑÐÅÏ¢ÔÚϵͳÀï¶¼¿ÉÒÔ¿´µ½ÁË +6 wittyboy 2026-08-26 14/700 2026-08-26 10:55 by wittyboy
[»ù½ðÉêÇë] Ôõô¿´Çà»ùÖÐÁËûÓа¡ +4 Ò¶¾Å΢ 2026-08-26 4/200 2026-08-26 10:52 by xiacongxu
[Ö°³¡ÈËÉú] ѧÉúײ¼û¸¨µ¼Ô±ËÍÍâÂô£¬µÚ¶þÌìÈ«°à¶¼³ÁĬÁË +3 ¾¨ÓãÈÚ½ð_Õã½­_É 2026-08-22 3/150 2026-08-26 09:01 by zzuzxg
[»ù½ðÉêÇë] ¹úºÏÏÖÔڲ鲻µ½ÁËÂ𣿠+10 chengyan1220 2026-08-24 20/1000 2026-08-26 08:57 by peasantsprig
[»ù½ðÉêÇë] 2026Äê8ÔÂ25ÈÕ¹ú×ÔÈ»·Å°ñǰͻȻÊÕµ½ÁÐÈëÆÀÉóר¼ÒÓʼþ£¬ÓйØÏµÂ𣿠+24 ľˮ˼¶¹ 2026-08-25 27/1350 2026-08-26 08:26 by yanchen918
[»ù½ðÉêÇë] ÓÐûÓдóÉñ°ïÎÒ¿´¿´»ù½ð´úÂë 28+4 1234567wang 2026-08-24 10/500 2026-08-25 19:15 by lfy8008
[»ù½ðÉêÇë] ·Å°ñǰµÄ²»µ­¶¨ 20+4 snowwithsea 2026-08-19 19/950 2026-08-25 17:57 by chick875
[»ù½ðÉêÇë] ½ñÈÕ²»·Å°ñ£¿Íø´«¹ú×ÔȻԤ¼Æ 8 Ô 27 Èտɲé½á¹û +17 ҽѧÀÏÄк¢ 2026-08-20 22/1100 2026-08-25 15:36 by ҽѧÀÏÄк¢
[»ù½ðÉêÇë] ûÓÐÈκÎÏûÏ¢-ÊDz»ÊǾÍÁ¹ÁË +9 ͼÀ²Í¼À² 2026-08-24 10/500 2026-08-25 11:59 by ÄϺ£Ð¡¸ç
[½Ìʦ֮¼Ò] µ¼Ê¦Í²ۣºÎÒÔõô̯ÉÏÁËÕâô¸ö¼«Æ·Ñо¿Éú£¡ +3 ËÕ¶«ÆÂ¶þÊÀ 2026-08-23 3/150 2026-08-25 10:35 by shisan1313
[»ù½ðÉêÇë] ÎÒÃæÉÏÍêµ°ÁË +13 ÇÒÌý»¢Ð¥ 2026-08-20 14/700 2026-08-25 09:10 by mrkang
[»ù½ðÉêÇë] ½¨Òé»ù½ð·¢²¼Ìáǰ¸ø³öÃ÷È·µÄʱ¼äµã +13 kulium 2026-08-21 16/800 2026-08-24 16:27 by superceng
[»ù½ðÉêÇë] ʱ¼ä´Á½ñÌ죬20ºÅ±äÁË +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[»ù½ðÉêÇë] ¿´À´½ñÌì²»»á·Å°ñÁË£¿ +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[»ù½ðÉêÇë] ʱ¼ä´ÁÓÖ±äÁË +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by ×Ïɼ´¼
[»ù½ðÉêÇë] ½ñÌì·Å°ñûϷÁ衃 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û