using System;
namespace Science.Physics.GeneralPhysics
{
///
/// Hydrogen
///
public class Hydrogen
{
public Hydrogen()
{
}
private int n = 1, l = 0, m = 0;
private int from = 2, to = 1;
public Photon EmitPhoton()
{
Photon gamma = new Photon();
gamma.Wavelength = 1.0/(Constant.RydbergConstant
*(1.0/to/to
- 1.0/from/from));
return gamma;
}
public int TransitonFrom
{
set{from=value;}
}
public int TransitonTo
{
set{to=value;}
}
public double HydrogenRadiusNanoMeter
{
get{return 0.0529*n*n;}
}
public double HydrogenEnergyElectronVolt
{
get{return -13.606/n/n;}
}
public int PrincipalQuantumNumber
{
get{return n;}
set{n=value;}
}
public int OribitalQuantumNumber
{
get{return l;}
set{l=value;}
}
public int OribitalMagneticQuantumNumber
{
get{return m;}
set{m=value;}
}
public Calculus.Function GroundStateWaveFunction
{
get { F1s = new Calculus.Function(func1s); return F1s; }
}
private Calculus.Function F1s;
private double func1s(double r)
{
return 1.0/Math.Sqrt(Math.PI*0.0529*0.0529*0.0529)
*Math.Exp(-r/0.0529);
}
}
}