日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

计算约化重叠积分氟化氢HF

發布時間:2025/4/5 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算约化重叠积分氟化氢HF 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

計算F原子的(2,1,0)電子和H原子(1,0,0)電子的重疊積分

F原子核外電子的角量子數不為0,這個重疊積分的計算方法為

其中ζa和ζb是斯萊特規則下的核電荷數,R是兩個原子核距離為1.733,α和β是斯萊特規則的核電荷數與原子核距離的乘積。式中

即為約化重疊積分,表達是為

其中

是勒讓德多項式的系數,對于F的(2,1,0)電子系數有兩個,分別是0和8.

H電子的系數只有1個是8

式中的計算方法為

代入

Sab ( 2.6,1,?? 2, 1 , 0 ,1 ,0 , 2.6*R ,1*R) =0.29891181959547

Java代碼

import java.io.DataInputStream;

import java.io.FileWriter;

import java.io.IOException;

import java.io.InputStream;

import java.text.ParseException;

public class HFoverlap {

??

?? static double R=1.733;

??

?? //https://blog.csdn.net/georgesale/article/details/118762949?spm=1001.2014.3001.5501

public static? double calc2( String stra ) throws IOException, ParseException, InterruptedException {

?????

????? FileWriter fileWriter5 = new FileWriter("d:/工業/hk/python/表達式.csv");

?????

????? //stra="hin( fx1,fx1)";

????? //stra="jin( rj1,rj2)";

?????

????? stra=stra.replaceAll(",","#");

??????????

????? fileWriter5.write( stra + "\r\n");

????? fileWriter5.flush();

?????

????? String exe = "python";

????? String command = "D:/Download/cal.py";

?????

????? String[] cmdArr = new String[] {exe ,command? };

????? Process process = Runtime.getRuntime().exec(cmdArr);

????? InputStream is = process.getInputStream();

????? DataInputStream dis = new DataInputStream(is);

????? String str = dis.readLine();

????? process.waitFor();

????? System.out.println(str);

?????

????? double df= Double.parseDouble(str.trim());??

????? return df;

?? }

???? public static double overLap( int n1,int n2 ,int c, int d, int m ,

??? ???? ?double α1 ,double β1

??? ???? ?

??? ???? ?) throws? IOException, ParseException, InterruptedException {

??? ? ?

?? ??

??? ? ?String f1= "sympy.exp(-0.5*("+α1+"+"+β1+")*μ-0.5*("+α1+"-"+β1+")*v )";

??? ? ?

??? ? ?String f2="(μ*μ-1)**"+m+"*(1-v*v)**"+m+"*(1+μ*v)**"+c+"*(1-μ*v)**"+d+"*(μ+v)**("+n1+"-"+m+"-"+c+")*(μ-v)**("+n2+"-"+m+"-"+d+")";??? ?? ????????

??? ??????? ?

??? ? ?String d2 ="(integrate(integrate("+f1+" *"+ f2+" , (μ, 1, float('inf'))),(v, -1, 1)))";

??? ? ?//System.out.println(? str+" ** "? );

??? ? ?

??? ? ?double ds=calc2(? d2 );

??? ? ?

??? ? return ds;

???? }

????

???? public static? double FACT( double n ) throws IOException, ParseException {

???????

???????

??????? double prodt=1.0;

??????? for(int a=1 ;a<n+1 ;a++)

??????? {

?????????? prodt=prodt*a;

??????? }

???????

??????? ?

???????

??????? return prodt;

???????

????? }

????

???? //9.6-21?? 574

???? public static? double D( int L1,int L2,int m ) throws IOException, ParseException {

??? ? ?

??? ? ?double ss1=0;

??? ? ?

??? ? ?ss1 = (FACT(m + 1) / 8) * (FACT(m + 1) / 8) *?

??? ??????? Math.pow( ( (2 * L1 + 1) * FACT(L1 - m) * (2 * L2 + 1) * FACT(L2 - m) / (4.0 * FACT(L1 + m) * FACT(L2 + m))) ,0.5 );

??? ? ?? ?

??? ? ?System.out.println(? ss1+" ** ss1"? );

??? ? ?

??? ? ?return ss1;

???? }

????

???? //9.6-24

???? public static? double SS( int n1,int L1 ,int m ,int n2 ,int L2 ,double α1 ,double β1 ) throws IOException, ParseException, InterruptedException {

??? ? ?double d1=D(L1,L2,m);

??? ? ?int[] cL1= {0,8};

??? ? ?int[] cL2= {8};

??? ? ?double d2=0;

??? ? ?

??? ? ?for(int c=0 ;c<L1-m+1;c++){

??? ???? ?for(int d=0;d<L2-m+1;d++){

??? ??????? ?

??? ??????? ?d2 =d2+ cL1[c]*cL2[d]* overLap( n1, n2 , c,? d,? m , α1 , β1);

??? ??????? ??

??? ??????? ?System.out.println(? d2+"? "+d1+" ** d2"? );

??? ???? ?}

??? ? ?}

??? ? ?

??? ? ?System.out.println(? d2+" ** d2"? );

??? ? ?

??? ? ?return d2*d1;

???? }

???? ?

??? //9.6-31?? B.40

???? public static? double Sab(double za,double zb, int n1,int L1 ,int m ,int n2 ,int L2 ,double α1 ,double β1 ) throws IOException, ParseException, InterruptedException {

??? ? ?

??? ? ?double d1= Math.pow((2*za),(n1+0.5))* Math.pow((2*zb) ,(n2+0.5) )/? Math.pow( (? FACT(2*n1)*FACT(2*n2) ),0.5)? * Math.pow( (R/2),(n1+n2+1)) ;

??? ? ?double d2=SS(n1,L1,m,n2,L2,α1 ,β1);

??? ? ?double d=d1*d2;

??? ? ?

??? ? ?System.out.println( d1+"? "+d2+" "+ d+" Sab "? );

????? return d;

??? ? ?

???? }

????

?public static? void so(?? ) throws IOException, ParseException, InterruptedException {

?? double d= Sab ( 2.6,1,?? 2, 1 , 0 ,1 ,0 , 2.6*R ,1*R); //3-6

??? ? ?System.out.println(? d+" Sab "? )? ? ?

???? }

??? ? ????

????

???? public static void main(String[] args) throws IOException, ParseException, InterruptedException {

??? ? ?so(?? );

?

??? ?

??? ???? }

}

《量子化學》徐光憲

Approximate Molecular Orbital Theory by Pople John A., Beveridge David L. (z-lib.org)

總結

以上是生活随笔為你收集整理的计算约化重叠积分氟化氢HF的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。