Skip to content

Commit 23d50e8

Browse files
authored
Add files via upload
includes the necessary commands to create meshes from geometrical objects using mshr
1 parent 3a0c93a commit 23d50e8

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

src/fmshr.jl

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
@pyimport mshr
2+
@fenicsclass Geometry
3+
4+
#functions necessary for creating meshes from geometrical objects.
5+
#2D objects below
6+
Circle(centre,radius) = Geometry(mshr.Circle(centre,radius))
7+
Rectangle(corner1,corner2)=Geometry(mshr.Rectangle(corner1,corner2))
8+
Ellipse(centre,horizontal_semi_axis,vertical_semi_axis,fragments)=Geometry(mshr.Ellipse(centre,horizontal_semi_axis,vertical_semi_axis,fragments))
9+
10+
#3d objects below
11+
Box(corner1,corner2) = Geometry(mshr.Box(corner1,corner2))
12+
Cone(top,bottom,bottom_radius,slices::Int)=Geometry(mshr.Cone(top,bottom,bottom_radius,slices))
13+
Sphere(centre,radius) = Geometry(mshr.Sphere(centre,radius))
14+
15+
generate_mesh(geom_object::Geometry,size::Int)=Mesh(mshr.generate_mesh(geom_object.pyobject,size))
16+
17+
+(geom_object1::Geometry, geom_object2::Geometry) = Geometry(geom_object1.pyobject[:__add__](geom_object2.pyobject))
18+
-(geom_object1::Geometry, geom_object2::Geometry) = Geometry(geom_object1.pyobject[:__sub__](geom_object2.pyobject))
19+
*(geom_object1::Geometry, geom_object2::Geometry) = Geometry(geom_object1.pyobject[:__mul__](geom_object2.pyobject))
20+
21+
export Circle,Rectangle,Ellipse,Box,Cone,Sphere,generate_mesh

0 commit comments

Comments
 (0)