cloud.atom
クラス Orbit

java.lang.Object
  上位を拡張 cloud.atom.Orbit

public class Orbit
extends java.lang.Object

電子軌道クラス


フィールドの概要
static double[][] CC
          アダムス−バシュフォース−ムールトン法の補正子係数を格納した配列
static double[][] CP
          アダムス−バシュフォース−ムールトン法の予測子係数を格納した配列
static double CTHETA
          経度波動関数の係数
protected  double[] draddx
          波動関数の x 微分を格納した配列
 double ecount
          縮重度
 double ee
          エネルギー
protected  double l2l
          シュレディンガー方程式の係数
protected  int nn
          データの数
 double[] radius
          波動関数を格納した配列
 ElectricState state
          電子状態
protected  double tol
          収束閾値
protected  int z
          原子番号
 
コンストラクタの概要
Orbit(int z, int nn, ElectricState state)
          電子軌道を構築する
 
メソッドの概要
protected  int abm1(int fit, double[] r, double[] u, double dx)
          アダムス−バシュフォース−ムールトン法で原点から節点までを計算する
protected  int abm2(int fit, double[] r, double[] u, double dx)
          アダムス−バシュフォース−ムールトン法で無限遠点から節点までを計算する
 void calcWaveFuction(double[] r, double[] u, double dx)
          波動関数を計算する
 double density(int index)
          電子密度を返す
protected  double dif2(int index, double[] r, double[] u)
          2 階微分の値を返す
 double energy()
          エネルギーを返す
 DistributionFunction getDistributionFunction(double[] r, int count)
          分布関数を返す
 DistributionFunction getDistributionFunctionX(double[] x, int count)
          分布関数を返す
 Function[] getPhyFunction(int count)
          方位角波動関数を返す
 Function[] getPhyFunction2(int count)
          方位角波動関数の2乗を返す
 Function getPhyFunction2sum(int count)
          方位角波動関数の2乗和を返す
 Function getThetaFunction()
          経度波動関数を返す
 Function getThetaFunction2()
          経度波動関数の2乗を返す
 Function getWaveFunction(double[] r)
          動径波動関数を返す
 Function getWaveFunction2(double[] r)
          動径波動関数の2乗を返す
 Function getWaveFunctionX(double[] x)
          動径波動関数を返す
 Function getWaveFunctionX2(double[] x)
          動径波動関数の2乗を返す
protected  double ke(int index, double[] r, double[] u)
          2 階微分の中の演算子の値を返す
protected  void modify(int fit, double coef)
          波動関数を修正する
protected  void normalize(double[] r, double dx)
          波動関数を規格化する
protected  int search(double[] r, double[] u)
          適合点を探索する
 double singleDensity(int index)
          電子 1 個当たりの電子密度を返す
 void updateEnergy(double[] du, double dx)
          エネルギーを更新する
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

CP

public static final double[][] CP
アダムス−バシュフォース−ムールトン法の予測子係数を格納した配列


CC

public static final double[][] CC
アダムス−バシュフォース−ムールトン法の補正子係数を格納した配列


CTHETA

public static final double CTHETA
経度波動関数の係数


ee

public double ee
エネルギー


z

protected int z
原子番号


nn

protected int nn
データの数


state

public ElectricState state
電子状態


radius

public double[] radius
波動関数を格納した配列


draddx

protected double[] draddx
波動関数の x 微分を格納した配列


l2l

protected double l2l
シュレディンガー方程式の係数


ecount

public double ecount
縮重度


tol

protected double tol
収束閾値

コンストラクタの詳細

Orbit

public Orbit(int z,
             int nn,
             ElectricState state)
電子軌道を構築する

パラメータ:
z - 原子番号
nn - データの数
state - 電子状態
メソッドの詳細

calcWaveFuction

public void calcWaveFuction(double[] r,
                            double[] u,
                            double dx)
波動関数を計算する

パラメータ:
r - 半径を格納した配列
u - 原子核のクーロンポテンシャル項を格納した配列
dx - x の刻み幅

search

protected int search(double[] r,
                     double[] u)
適合点を探索する

パラメータ:
r - 半径を格納した配列
u - 原子核のクーロンポテンシャル項を格納した配列
戻り値:
適合点のインデックス

abm1

protected int abm1(int fit,
                   double[] r,
                   double[] u,
                   double dx)
アダムス−バシュフォース−ムールトン法で原点から節点までを計算する

パラメータ:
fit - 適合点のインデックス
r - 半径を格納した配列
u - 原子核のクーロンポテンシャル項を格納した配列
dx - x の刻み幅

abm2

protected int abm2(int fit,
                   double[] r,
                   double[] u,
                   double dx)
アダムス−バシュフォース−ムールトン法で無限遠点から節点までを計算する

パラメータ:
fit - 適合点のインデックス
r - 半径を格納した配列
u - 原子核のクーロンポテンシャル項を格納した配列
dx - x の刻み幅

dif2

protected double dif2(int index,
                      double[] r,
                      double[] u)
2 階微分の値を返す

パラメータ:
index - データのインデックス
r - 半径を格納した配列
u - 原子核のクーロンポテンシャル項を格納した配列
戻り値:
2階微分の値

ke

protected double ke(int index,
                    double[] r,
                    double[] u)
2 階微分の中の演算子の値を返す

パラメータ:
index - データのインデックス
r - 半径を格納した配列
u - 原子核のクーロンポテンシャル項を格納した配列
戻り値:
2階微分の中の演算子の値

modify

protected void modify(int fit,
                      double coef)
波動関数を修正する

パラメータ:
fit - 適合点のインデックス
coef - 補正係数

normalize

protected void normalize(double[] r,
                         double dx)
波動関数を規格化する

パラメータ:
r - 半径を格納した配列
dx - x の刻み幅

updateEnergy

public void updateEnergy(double[] du,
                         double dx)
エネルギーを更新する

パラメータ:
du - 原子核のクーロンポテンシャル項の変化量を格納した配列
dx - x の刻み幅

singleDensity

public double singleDensity(int index)
電子 1 個当たりの電子密度を返す

パラメータ:
index - 電子密度のインデックス
戻り値:
指定された位置の電子 1 個当たりの電子密度

density

public double density(int index)
電子密度を返す

パラメータ:
index - 電子密度のインデックス
戻り値:
指定された位置の電子密度

energy

public double energy()
エネルギーを返す

戻り値:
電子軌道のエネルギー

getWaveFunction

public Function getWaveFunction(double[] r)
動径波動関数を返す

パラメータ:
r - 半径を格納した配列
戻り値:
動径波動関数

getWaveFunctionX

public Function getWaveFunctionX(double[] x)
動径波動関数を返す

パラメータ:
x - x を格納した配列
戻り値:
動径波動関数

getThetaFunction

public Function getThetaFunction()
経度波動関数を返す

戻り値:
経度波動関数

getPhyFunction

public Function[] getPhyFunction(int count)
方位角波動関数を返す

パラメータ:
count - データ分割数
戻り値:
方位角波動関数を格納した配列

getWaveFunction2

public Function getWaveFunction2(double[] r)
動径波動関数の2乗を返す

パラメータ:
r - 半径を格納した配列
戻り値:
動径波動関数の2乗

getWaveFunctionX2

public Function getWaveFunctionX2(double[] x)
動径波動関数の2乗を返す

パラメータ:
x - x を格納した配列
戻り値:
動径波動関数の2乗

getThetaFunction2

public Function getThetaFunction2()
経度波動関数の2乗を返す

戻り値:
経度波動関数の2乗

getPhyFunction2

public Function[] getPhyFunction2(int count)
方位角波動関数の2乗を返す

パラメータ:
count - データ分割数
戻り値:
方位角波動関数の2乗を格納した配列

getPhyFunction2sum

public Function getPhyFunction2sum(int count)
方位角波動関数の2乗和を返す

パラメータ:
count - データ分割数
戻り値:
方位角波動関数の2乗和

getDistributionFunction

public DistributionFunction getDistributionFunction(double[] r,
                                                    int count)
分布関数を返す

パラメータ:
r - 半径を格納した配列
count - 方位角データ分割数
戻り値:
分布関数

getDistributionFunctionX

public DistributionFunction getDistributionFunctionX(double[] x,
                                                     int count)
分布関数を返す

パラメータ:
x - x を格納した配列
count - 方位角データ分割数
戻り値:
分布関数