public MathObject CalculateReflectionCoefficientByAngle(ThetaDegrees angle)
        {
            if (this.MaterialConductivityFactor == MaterialConductivityFactor.Conductor)
            {
                return(CalculateReflectionCoefficientByAngleForConductor(angle));
            }

            return(CalculateReflectionCoefficientByAngleForDielectric(angle));
        }
Пример #2
0
 public SecondLabCalculatingObject(TraceLength traceLength, WaveLength waveLength,
                                   ThetaDegrees thetaDegrees, RelativeTraceLength relativeTraceLength, DiafragmRadius diafragmRadius, bool isDirected, bool reverseRelativeDistance)
 {
     this.traceLength             = traceLength;
     this.waveLength              = waveLength;
     this.thetaDegrees            = thetaDegrees;
     this.relativeTraceLength     = relativeTraceLength;
     this.isDirected              = isDirected;
     this.diafragmRadius          = diafragmRadius;
     this.reverseRelativeDistance = reverseRelativeDistance;
 }
 public ThirdLabCalculationObject(Conductivity conductivity, ElectricalPermeability electricalPermeability, WaveLength waveLength, Height transmitterHeight, Height receiverHeight, ThetaDegrees thetaDegrees, TraceLength traceLength, PolarizationType polarizationType)
 {
     this.conductivity           = conductivity;
     this.electricalPermeability = electricalPermeability;
     this.waveLength             = waveLength;
     this.transmitterHeight      = transmitterHeight;
     this.receiverHeight         = receiverHeight;
     this.thetaDegrees           = thetaDegrees;
     this.traceLength            = traceLength;
     this.PolarizationType       = polarizationType;
 }
        private MathObject CalculateReflectionCoefficientByAngleForDielectric(ThetaDegrees angle)
        {
            if (this.PolarizationType == PolarizationType.Horizontal)
            {
                var res = Math.Abs((Math.Sin(angle.Radians) - Math.Sqrt(this.electricalPermeability.Value -
                                                                        Math.Pow(Math.Cos(angle.Radians), 2))) / (Math.Sin(angle.Radians) + Math.Sqrt(this.electricalPermeability.Value -
                                                                                                                                                      Math.Pow(Math.Cos(angle.Radians), 2))));
                return((MathObject)res);
            }

            return((MathObject)Math.Abs((this.electricalPermeability * Math.Sin(angle.Radians) - Math.Sqrt(this.electricalPermeability.Value -
                                                                                                           Math.Pow(Math.Cos(angle.Radians), 2))) / (this.electricalPermeability * Math.Sin(angle.Radians) + Math.Sqrt(this.electricalPermeability.Value -
                                                                                                                                                                                                                       Math.Pow(Math.Cos(angle.Radians), 2)))));
        }
 private MathObject CalculateReflectionCoefficientByAngleForConductor(ThetaDegrees angle)
 {
     return(new MathObject(1, MetricPrefixes.One, UnitsOfMeasurement.Units));
 }