using System; namespace Science.Physics.GeneralPhysics { /// /// CircuitRL /// public class CircuitRL { private Resistance r; private Inductance l; private ElectricPotentialDifference e; private ElectricCurrent i; private bool charging = true; public CircuitRL() { } public CircuitRL(Resistance R, Inductance L, ElectricPotentialDifference E) { r = R; l = L; e = E; } public CircuitRL(Resistance R, Inductance L, ElectricCurrent I) { r = R; l = L; i = I; charging = false; } public double Current(Time t) { if(charging) return e.V/r.Ohm*(1.0-Math.Exp(-t.s/TimeConstant)); else return i.A*Math.Exp(-t.s/TimeConstant); } public double TimeConstant { get{return l.H/r.Ohm;} } } }