Scripts and User Functions Center

Design of dielectric lens using User Functions

This document shows an example of how to use the user functions. This specific case has been detailed the process to design a circular dielectric lens with newFASANT. The antenna will be made as the combination of conical horn, corrected by dielectric lens plugged over its aperture.

Thumb geo seconddesign Thumb mesh seconddesign Thumb 3dradiationpattern seconddesign
double getLensThickness2(double step) {
  // Find the distance of phase2
  // Phase = (distance / lambda) * 2 * PI
  double z0 = 0.0562;          //Distance of initialPhase1
  double zPlane = 1;           //ZPosition of Observation Plane
  double freq = 8E9;           //Frequency in Hz
  double epsReal = 2.7;        //Dielectric constant
  double lambda = 3E8 / freq;  //Lambda_0
  double lambdaMaterial = (lambda / Math.sqrt(epsReal)); //Lambda_m
  double initialThickness = 0.02;
  double minimumThickness = 0.005;
  double error = 1E-6;
  // Calculate Initial Phase
  double initialPhase1 = (z0 / lambda) * 2 * Math.PI;
  double initialPhase2 = (initialThickness / lambdaMaterial) * 2 * Math.PI;
  double initialPhase3 = ((zPlane - initialThickness - z0) / lambda) * 2 * Math.PI;
  double initialPhaseTotal = initialPhase1 + initialPhase2 + 	initialPhase3;
  // Calculate Initial Thickness
  double phase1 = (Math.sqrt(Math.pow(z0,2)+Math.pow(step,2)) / lambda) * 2 * Math.PI;
  double phase3 = initialPhase3;
  double phase2 = initialPhaseTotal - phase3 - phase1;
  double thickness = lambdaMaterial * (phase2 / (2*Math.PI));
  // Find the correct thickness
  double diff = Double.MAX_VALUE;
  while (Math.abs(diff)>error) {
    phase3 = ((zPlane - thickness - z0) / lambda) * 2 * Math.PI;
    phase2 = (thickness/lambdaMaterial) * 2 * Math.PI;
    diff = initialPhaseTotal - (phase1 + phase2 + phase3);
    thickness = thickness + lambdaMaterial * diff / (2 * Math.PI);
    if (thickness < minimumThickness) {
      thickness += lambdaMaterial;
      initialPhaseTotal += 2*Math.PI;
    }
  }
  return thickness; 
}

Did you find this information useful?

We use cookies on this website to improve your navigation experience on this site. By using this site, you agree to our cookie policy.

I agree