optical_waveguide.geo 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. // Waveguide width and height [um]:
  2. w = 0.5;
  3. h = 0.25;
  4. // Distance between waveguides [um]:
  5. d = 0.1;
  6. // Outer box width and height:
  7. bw = 4;
  8. bh = 2;
  9. tw = 0.02;
  10. tout = 0.2;
  11. Point(1) = {-d/2-w, -h/2, 0, tw};
  12. Point(2) = {-d/2, -h/2, 0, tw};
  13. Point(3) = {-d/2, h/2, 0, tw};
  14. Point(4) = {-d/2-w, h/2, 0, tw};
  15. Point(5) = {d/2, -h/2, 0, tw};
  16. Point(6) = {d/2+w, -h/2, 0, tw};
  17. Point(7) = {d/2+w, h/2, 0, tw};
  18. Point(8) = {d/2, h/2, 0, tw};
  19. Line(1) = {1, 2};
  20. Line(2) = {2, 3};
  21. Line(3) = {3, 4};
  22. Line(4) = {4, 1};
  23. Line(5) = {5, 6};
  24. Line(6) = {6, 7};
  25. Line(7) = {7, 8};
  26. Line(8) = {8, 5};
  27. Line Loop(1) = {1, 2, 3, 4};
  28. Plane Surface(1) = {1};
  29. Line Loop(2) = {5, 6, 7, 8};
  30. Plane Surface(2) = {2};
  31. Point(9) = {-bw/2, -bh/2, 0, tout};
  32. Point(10) = {bw/2, -bh/2, 0, tout};
  33. Point(11) = {bw/2, bh/2, 0, tout};
  34. Point(12) = {-bw/2, bh/2, 0, tout};
  35. Line(9) = {9, 10};
  36. Line(10) = {10, 11};
  37. Line(11) = {11, 12};
  38. Line(12) = {12, 9};
  39. Line Loop(3) = {12, 9, 10, 11};
  40. Line Loop(4) = {4, 1, 2, 3};
  41. Line Loop(5) = {5, 6, 7, 8};
  42. Plane Surface(3) = {3, 4, 5};
  43. // Mesh scaling factor:
  44. Mesh.ScalingFactor = 1e-6;
  45. // Left waveguide:
  46. Physical Surface(1) = {1};
  47. // Right waveguide:
  48. Physical Surface(2) = {2};
  49. // Clad:
  50. Physical Surface(3) = {3};
  51. // Whole domain:
  52. Physical Surface(4) = {1,2,3};