Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Efield[r_?NumericQ, z_?NumericQ, [Alpha]_?NumericQ] := (
- 2 [Pi])/([Lambda]laser z)*w0*w[z]*
- NIntegrate[
- Exp[-x^2]*
- Exp[I*[Pi]*(a [z] x^2 - x/[CapitalDelta][[Alpha], z])]*
- BesselJ[0, [Beta] [r, z] x]*x, {x, 0, [Infinity]}]
- Intensity[r_?NumericQ, z_?NumericQ, [Alpha]_?NumericQ] :=
- Abs[Efield[r, z, [Alpha]]]^2
- PowerLens =
- NIntegrate[(Intensity[r, distance, conv*20])*
- r*2 [Pi], {r, 0, 1}]
- nm = 10^-6 mm;
- mm = 10^-3;
- [Mu]m = 10^-3 mm;
- [Lambda]laser = 532 nm;
- klaser = (2 [Pi])/[Lambda]laser;
- w0 = 5 mm;
- flens = 50 mm;
- ng = 1.5;
- conv = (2 [Pi])/360;
- Gaussian beam parameters
- zR = [Pi] w0^2/[Lambda]laser // N
- w[z_] = w0*Sqrt[1 + z^2/zR^2]
- Rc[z_] = z*(1 + zR^2/z^2)
- Guoy[z_] = ArcTan[z/zR]
- GaussianBeamField[[Rho]_, z_] = (w0/w[z])*Exp[-[Rho]^2/w[z]^2]*
- Exp[I*(klaser z - Guoy[z] + (klaser [Rho]^2)/(2 Rc[z]))]
- GaussianBeamIntensity[[Rho]_, z_] =
- Abs[GaussianBeamField[[Rho], z] ]^2 // ComplexExpand
- Normalisation[z_] :=
- Integrate[2 [Pi]*[Rho]*GaussianBeamIntensity[[Rho], z], {[Rho],
- 0, [Infinity]}, Assumptions -> {Element[{[Rho], z}, Reals]}]
- GaussianBeamIntensityNormalised[[Rho]_, z_] = (1/Normalisation[0])*
- GaussianBeamIntensity[[Rho], z]
- b[[Alpha]_] = (2 [Pi] (ng - 1) )/[Lambda]laser Tan[[Alpha]]
- [CapitalDelta][[Alpha]_, z_] = [Pi]/(b[[Alpha]]*w[z])
- [Beta][r_, z_] = (2 [Pi] w[z] r)/([Lambda]laser z)
- a[z_] = w[z]^2/[Lambda]laser*(1/z + (1/Rc[z] - 1/flens))
- Efield[r_?NumericQ, z_?NumericQ, [Alpha]_?NumericQ] := (
- 2 [Pi])/([Lambda]laser z)*w0*w[z]*
- NIntegrate[
- Exp[-x^2]*Exp[I*[Pi]*(a [z] x^2 - x/[CapitalDelta][[Alpha], z])]*
- BesselJ[0, [Beta] [r, z] x]*x, {x, 0, [Infinity]}]
- Intensity[r_?NumericQ, z_?NumericQ, [Alpha]_?NumericQ] :=
- Abs[Efield[r, z, [Alpha]]]^2
- p1 = Plot[GaussianBeamIntensityNormalised[r, flens], {r, 0, 15 mm}]
- p2 = Plot[IntensityNormalised[r, flens, 20*conv], {r, 0, 15 mm}]
- Show[p1, p2]
- PowerLens =
- NIntegrate[Intensity[r, flens, conv*20]*r*2 [Pi], {r, 0, [Infinity]}]
Add Comment
Please, Sign In to add comment