using System;
namespace Science.Physics.GeneralPhysics
{
///
/// Entrope
///
public class Entropy : Scalar
{
public Entropy()
{
}
private Heat q;
public double Difference(Heat Q, Temperature Ti, Temperature Tf)
{
q = Q;
Calculus.Function f = new Calculus.Function(dQOVERdTOVERT);
return Calculus.Integration1D(f,Ti.K,Tf.K);
}
public double JPERK
{
get{return this.Magnitude;}
set{this.Magnitude = value;}
}
private double dQOVERdTOVERT(double T)
{
return q.DerivativeWithRespectToTemperature(T)/T;
}
private double W;
public double NumberOfMicrostates
{
get{return W;}
set
{
W = value;
this.Magnitude = Constant.BolzmannConstant*Math.Log(W);
}
}
public override string ToString()
{
return base.ToString() + "(J/K)";
}
}
}