using System; namespace Science.Physics.GeneralPhysics { /// /// ElectricField /// public class ElectricField : Vector { private void SetDim() { this.DimensionMass = 1; this.DimensionLength = 1; this.DimensionTime = -2; this.DimensionCharge = -1; } public ElectricField() { SetDim(); } public ElectricField(Vector.Field E) : base(E) { SetDim(); } public ElectricField(ElectricForce F, ElectricCharge testq) { SetDim(); this.X = F.X/testq.C; this.Y = F.Y/testq.C; this.Z = F.Z/testq.C; } public ElectricField(ElectricCharge q, Position r, Position p) { Vector del = p - r; Position delr = new Position(); delr.X = del.X; delr.Y = del.Y; delr.Z = del.Z; Vector E = Constant.CoulombConstant*q.C/delr.Norm /delr.Norm/delr.Norm*delr; this.X = E.X; this.Y = E.Y; this.Z = E.Z; } public double NPERC { get{return this.Norm;} } public double VPERm { get{return this.Norm;} } public ElectricField(ElectricPotential VStatic, Position x) { Time t = new Time(); Vector v = VectorCalculus.Gradient(VStatic, x, t); this.X = -v.X; this.Y = -v.Y; this.Z = -v.Z; } public override string ToString() { return base.ToString() + "(V/m)"; } } }