using System; namespace Science.Physics.GeneralPhysics { /// /// Capacitance /// public class Capacitance : Scalar { public Capacitance() { } public Capacitance(ElectricCharge Q, ElectricPotentialDifference V) { this.Magnitude = Q.C / V.V; } public Capacitance(Area A, Length d) { this.Magnitude = Constant.PermittivityOfFreeSpace*A.mSQUARE/d.m; } private double kappa; public double DielectricConstant { set{kappa = value; this.Magnitude *= kappa;} } public double F { get{return this.Magnitude;} set{this.Magnitude = value;} } public static Capacitance Parallel(Capacitance C1, Capacitance C2) { Capacitance C = new Capacitance(); C.F = C1.F + C2.F; return C; } public static Capacitance Series(Capacitance C1, Capacitance C2) { Capacitance C = new Capacitance(); C.F = C1.F*C2.F/(C1.F+C2.F); return C; } public double Energy(ElectricPotentialDifference V) { return 0.5*F*V.V*V.V; } public double Reactance(Frequency f) { return 1.0/2.0/Math.PI/f.Hz/F; } public override string ToString() { return base.ToString() + "(F)"; } } }