public void ConvertVectorFieldComponents() { double radialPart = 1; double azimuthalPart = 2; double longitudinalPart = 3; SpatialVector vector1 = SpatialVector.ConvertCylindricalToEuclideanVectorFieldComponents( 1, 0, radialPart, azimuthalPart, longitudinalPart); Assert.AreEqual(1, vector1.X); Assert.AreEqual(2, vector1.Y); Assert.AreEqual(3, vector1.Z); SpatialVector vector2 = SpatialVector.ConvertCylindricalToEuclideanVectorFieldComponents( 0, 1, radialPart, azimuthalPart, longitudinalPart); Assert.AreEqual(-2, vector2.X); Assert.AreEqual(1, vector2.Y); Assert.AreEqual(3, vector2.Z); SpatialVector vector3 = SpatialVector.ConvertCylindricalToEuclideanVectorFieldComponents( -1, 0, radialPart, azimuthalPart, longitudinalPart); Assert.AreEqual(-1, vector3.X); Assert.AreEqual(-2, vector3.Y); Assert.AreEqual(3, vector3.Z); SpatialVector vector4 = SpatialVector.ConvertCylindricalToEuclideanVectorFieldComponents( 0, -1, radialPart, azimuthalPart, longitudinalPart); Assert.AreEqual(2, vector4.X); Assert.AreEqual(-1, vector4.Y); Assert.AreEqual(3, vector4.Z); }
public SpatialVector CalculateMagneticField( double t_fm, double x_fm, double y_fm, double z_fm, double conductivity_MeV ) { double effectiveTime_fm = CalculateEffectiveTime(t_fm, z_fm); double radialDistance_fm = CalculateRadialDistance(x_fm, y_fm); double azimuthalField = CalculateAzimuthalMagneticComponent(effectiveTime_fm, radialDistance_fm, conductivity_MeV); return(SpatialVector.ConvertCylindricalToEuclideanVectorFieldComponents( x_fm, y_fm, 0, azimuthalField, 0)); }
public SpatialVector CalculateMagneticFieldInLCF( double properTime_fm, double x_fm, double y_fm, double rapidity, double conductivity_MeV ) { double effectiveTime_fm = CalculateEffectiveTimeFromLCFCoordinates(properTime_fm, rapidity); double radialDistance_fm = CalculateRadialDistance(x_fm, y_fm); double azimuthalField = CalculateAzimuthalMagneticComponentInLCF(effectiveTime_fm, radialDistance_fm, rapidity, conductivity_MeV); return(SpatialVector.ConvertCylindricalToEuclideanVectorFieldComponents( x_fm, y_fm, 0, azimuthalField, 0)); }
public SpatialVector CalculateElectricField( double t_fm, double x_fm, double y_fm, double z_fm, double conductivity_MeV ) { double effectiveTime_fm = CalculateEffectiveTime(t_fm, z_fm); double radialDistance_fm = CalculateRadialDistance(x_fm, y_fm); double longitudinalField = CalculateLongitudinalElectricComponent(effectiveTime_fm, radialDistance_fm, conductivity_MeV); double radialField = CalculateRadialElectricComponent(effectiveTime_fm, radialDistance_fm, conductivity_MeV); return(SpatialVector.ConvertCylindricalToEuclideanVectorFieldComponents( x_fm, y_fm, radialField, 0, longitudinalField)); }