|
2 | 2 | #These are the commands to define the Mesh class in Julia.
|
3 | 3 | #Tests for these can be found in the test_create.jl and test_pycreate.jl
|
4 | 4 |
|
5 |
| -#necessary imports for some specific mesh operations. |
6 |
| -@pyimport mshr |
7 | 5 |
|
8 | 6 | @fenicsclass Mesh #https://fenicsproject.org/olddocs/dolfin/1.5.0/python/programmers-reference/cpp/mesh/Mesh.html
|
9 | 7 | #are converted automatically by PyCall
|
@@ -78,33 +76,9 @@ BoxMesh(p0, p1, nx::Int, ny::Int, nz::Int)= Mesh(fenics.BoxMesh(p0,p1,nx,ny,nz))
|
78 | 76 |
|
79 | 77 | RectangleMesh(p0,p1,nx::Int,ny::Int,diagdir::Union{String,Symbol}="right") = Mesh(fenics.RectangleMesh(p0,p1,nx,ny))
|
80 | 78 |
|
81 |
| - |
82 |
| - |
83 |
| - |
84 | 79 | export UnitTriangleMesh, UnitTetrahedronMesh, UnitSquareMesh, UnitQuadMesh,
|
85 | 80 | UnitIntervalMesh, UnitCubeMesh, BoxMesh, RectangleMesh, Mesh
|
86 | 81 |
|
87 |
| -@fenicsclass Geometry |
88 |
| - |
89 |
| -#functions necessary for creating meshes from geometrical objects. |
90 |
| -#2D objects below |
91 |
| -Circle(centre,radius) = Geometry(mshr.Circle(centre,radius)) |
92 |
| -Rectangle(corner1,corner2)=Geometry(mshr.Rectangle(corner1,corner2)) |
93 |
| -Ellipse(centre,horizontal_semi_axis,vertical_semi_axis,fragments)=Geometry(mshr.Ellipse(centre,horizontal_semi_axis,vertical_semi_axis,fragments)) |
94 |
| - |
95 |
| -#3d objects below |
96 |
| -Box(corner1,corner2) = Geometry(mshr.Box(corner1,corner2)) |
97 |
| -Cone(top,bottom,bottom_radius,slices::Int)=Geometry(mshr.Cone(top,bottom,bottom_radius,slices)) |
98 |
| -Sphere(centre,radius) = Geometry(mshr.Sphere(centre,radius)) |
99 |
| - |
100 |
| -generate_mesh(geom_object::Geometry,size::Int)=Mesh(mshr.generate_mesh(geom_object.pyobject,size)) |
101 |
| - |
102 |
| -+(geom_object1::Geometry, geom_object2::Geometry) = Geometry(geom_object1.pyobject[:__add__](geom_object2.pyobject)) |
103 |
| --(geom_object1::Geometry, geom_object2::Geometry) = Geometry(geom_object1.pyobject[:__sub__](geom_object2.pyobject)) |
104 |
| -*(geom_object1::Geometry, geom_object2::Geometry) = Geometry(geom_object1.pyobject[:__mul__](geom_object2.pyobject)) |
105 |
| - |
106 |
| -export Circle,Rectangle,Ellipse,Box,Cone,Sphere,generate_mesh |
107 |
| - |
108 | 82 | function pyUnitTriangleMesh()
|
109 | 83 | pycall(fenics.UnitTriangleMesh::PyObject,PyObject::Type)
|
110 | 84 | end
|
|
0 commit comments