Class AberrationModel

java.lang.Object
org.episteme.natural.physics.classical.waves.optics.AberrationModel

public class AberrationModel extends Object
Models for optical aberrations. *

Reference:
Zeigler, B. P., Praehofer, H., invalid input: '&' Kim, T. G. (2000). Theory of Modeling and Simulation. Academic Press.

Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Method Details

    • sphericalAberration

      public static Real sphericalAberration(Real rayHeight, Real focalLength, Real index)
      Approximates longitudinal spherical aberration for a simple lens. LSA ≈ k * h² / f This is a simplified model.
      Parameters:
      rayHeight - Height of ray from optical axis (h)
      focalLength - Paraxial focal length (f)
      index - Refractive index (n)
      Returns:
      Longitudinal Spherical Aberration (LSA) estimate
    • chromaticAberration

      public static Real chromaticAberration(Real fBlue, Real fRed)
      Axial chromatic aberration. ACA = f_red - f_blue
      Parameters:
      fBlue - Focal length for blue light
      fRed - Focal length for red light
      Returns:
      Axial Chromatic Aberration
    • comaAberration

      public static Real comaAberration(Real rayHeight, Real fieldAngle, Real focalLength, Real shapeCoeff)
      Coma aberration estimate. Coma produces comet-shaped blur for off-axis points. Sagittal coma ≈ 3 * k * h² * θ / f²
      Parameters:
      rayHeight - Height of ray from axis (h)
      fieldAngle - Off-axis field angle (θ in radians)
      focalLength - Focal length (f)
      shapeCoeff - Shape factor coefficient (depends on lens configuration)
      Returns:
      Coma aberration estimate
    • astigmatism

      public static Real astigmatism(Real fieldAngle, Real focalLength, Real astCoeff)
      Astigmatism aberration. Causes different focal lengths for tangential vs sagittal rays. ΔS ≈ k * θ² * f
      Parameters:
      fieldAngle - Off-axis field angle (θ in radians)
      focalLength - Focal length
      astCoeff - Astigmatism coefficient
      Returns:
      Astigmatic focus difference
    • petzvalCurvature

      public static Real petzvalCurvature(Real focalLength, Real sumInverseN)
      Field curvature (Petzval curvature). Image surface is curved rather than flat. Radius of curvature R_p = f / Σ(1/n_i)
      Parameters:
      focalLength - System focal length
      sumInverseN - Sum of 1/n for each lens element
      Returns:
      Petzval radius of curvature
    • distortion

      public static Real distortion(Real radialDistance, Real k1, Real k2)
      Barrel/pincushion distortion. r' = r * (1 + k₁*r² + k₂*r⁴ + ...)
      Parameters:
      radialDistance - Distance from optical center (r)
      k1 - Third-order distortion coefficient
      k2 - Fifth-order distortion coefficient (optional)
      Returns:
      Distorted radial position
    • abbeNumber

      public static Real abbeNumber(Real nD, Real nF, Real nC)
      Calculates the Abbe number (dispersion) for a material. V = (n_d - 1) / (n_F - n_C)
      Parameters:
      nD - Index at 587.6nm (yellow, Fraunhofer D line)
      nF - Index at 486.1nm (blue, Fraunhofer F line)
      nC - Index at 656.3nm (red, Fraunhofer C line)
      Returns:
      Abbe number