サンプルJAVAコンピュータープログラム(炭素のドブロイ波計算)

トップページ
分子結合のページに戻る。

下のソースプログラムをそのままテキストエディタ(メモ帳など)にコピー and ペースト すれば、簡単にコンパイルと実行できる。
(この class file name は tetrah なので、このテキストエディタを "tetrah.java" とセーブしてコンパイルしてほしい。)
ここでは 1 MM = 1 × 10-14 meter という新しい単位を使用している。

このサンプルプログラムでは、実行すると、中心電荷 Z を入力する。
この中心電荷の値から、このプログラムは 正四面体構造の炭素の ポテンシャルエネルギーと 力を計算する。
そして ビリアル定理 ( E = -T = 1/2 V ) を用いて、このプログラムは 1軌道に含まれる ドブロイ波を計算する。
画面上には このドブロイ波の数 (= ほぼ 2.0 ) と、各価電子と 中心の C 原子核との距離が表示される。


import java.util.Scanner;
class tetrah {
 public static void main(String[] args) {
 
 Scanner stdIn=new Scanner(System.in);   
 System.out.println("central charge Z ?  ");  
 double Z=stdIn.nextDouble(); 

 double E = 148.024 ;  // E = sum of 1-4 ionization energy of carbon  
 double me=9.1093826e-31; 
 double pai=3.141592653589793; double epsi=8.85418781787346e-12;
 double h=6.62606896e-34; double ele=1.60217653e-19; 

 double ke=(ele*ele)/(4.0*pai*epsi);

 double poten = -2.0 * E * 1.602177e-19;  // poten = potential energy (eV)

                                     // 2r=one side length of tetrahedron
 double r =(ke/poten) * (-(8.0*Z)/Math.sqrt(6.0) + 3.0);  
                                
 double kinetic=-0.5*poten;       // kinetic = total kinetic energy ( Virial )
 double velo=Math.sqrt((kinetic)/(2.0*me));  // velo = electron's velocity (m/s) 

                                 // F = total force acting on one electron
 double F = (ke/(r*r))*(Z*2.0/3.0 - Math.sqrt(6.0)/4.0  );

 double dia=r*Math.sqrt(6)/2.0;  // dia = distance between center and electron
 dia=dia*1.0e14;

 double radius=(me*velo*velo)/F; // rotation radius from centrifugal force
 double debroglie = h/(me*velo);       // de Broglie wavelength of electron
 double wave=(2*pai*radius)/debroglie;  // wave's number in one orbit

 
 System.out.printf("distance between center and electron = %.2f ", dia);
 System.out.printf(" de Broglie wave: %.3f \n", wave);
  
 }}