Galerkin FEM for elliptic PDEs
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /**
  2. * Trevor P. Irons, XRI Geophysics, LLC
  3. * Test of Coloumbic Magnetic Potential
  4. */
  5. lc = 1e-2; // Target element size
  6. R = .05; // Magnet Radius
  7. D0 = 10; // Top of magnet
  8. D1 = 11; // Bottom of magnet
  9. // Total Solution Space
  10. X0 = -2.;
  11. X1 = 2.;
  12. Y0 = -2.;
  13. Y1 = 2.;
  14. Z0 = 9.;
  15. Z1 = 12.;
  16. ////////////////////////////////////
  17. // North Pole
  18. /*
  19. Point(0) = { 0, 0, D0, lc};
  20. Point(1) = { R, 0, D0, lc};
  21. Point(2) = { 0, R, D0, lc};
  22. Point(3) = {-R, 0, D0, lc};
  23. // Connect up the points
  24. Circle(4) = {1, 0, 3};
  25. Line(5) = {3,1};
  26. Line Loop(6) = {4,5};
  27. Plane Surface(7) = {6};
  28. */
  29. ////////////////////////////////////
  30. // South Pole
  31. Point(8) = { 0, -0.0001, D0, lc};
  32. Point(9) = { R, -0.0001, D0, lc};
  33. Point(10) = { 0, -R, D0, lc};
  34. Point(11) = {-R, -0.0001, D0, lc};
  35. // Connect up the points
  36. Circle(12) = {11, 8, 9};
  37. Line(13) = {9, 11};
  38. Line Loop(14) = {12, 13};
  39. Plane Surface(15) = {14};
  40. //////////////////////////////////////
  41. // Extrude magnet
  42. //Extrude {0, 0, D1-D0} { Surface{7}; }
  43. Extrude {0, 0, D1-D0} { Surface{15}; }
  44. /*
  45. // Large Bounding box
  46. Point(116) = {X0, Y0, Z0};
  47. Point(117) = {X1, Y0, Z0};
  48. Point(118) = {X1, Y1, Z0};
  49. Point(119) = {X0, Y1, Z0};
  50. Line(120) = {116,117};
  51. Line(121) = {117,118};
  52. Line(122) = {118,119};
  53. Line(123) = {119,116};
  54. Line Loop(124) = {120, 121, 122, 123};
  55. Plane Surface(125) = {124};
  56. Extrude {0, 0, Z1-Z0} { Surface{125}; }
  57. */
  58. //////////////////////////////////////
  59. // Volumes
  60. Physical Volume("plus") = {2};
  61. Physical Volume("minus") = {1};
  62. //Physical Volume("background") = {3};