l01=Line(p0,p1) l13=Line(p1,p3) l32=Line(p3,p2) l20=Line(p2,p0) l45=Line(p4,p5) l57=Line(p5,p7) l76=Line(p7,p6) l64=Line(p6,p4) l15=Line(p1,p5) l40=Line(p4,p0) l37=Line(p3,p7) l62=Line(p6,p2) bottom=PlaneSurface(-CurveLoop(l01,l13,l32,l20)) top=PlaneSurface(CurveLoop(l45,l57,l76,l64)) front=PlaneSurface(CurveLoop(l01,l15,-l45,l40)) back=PlaneSurface(CurveLoop(l32,-l62,-l76,-l37)) left=PlaneSurface(CurveLoop(-l40,-l64,l62,l20)) right=PlaneSurface(CurveLoop(-l15,l13,l37,-l57)) v=Volume(SurfaceLoop(top,bottom,front,back,left,right)) des.addItems(v, PropertySet("subduction", left)) des.setScriptFileName("sub.geo") des.setMeshFileName("sub.msh") dom=MakeDomain(des, useMacroElements=True) dom.write("sub.fly")
def getMesh(NE_X, NE_Y, t, d, o, fullOrder, r, l_X): if t == "Hex": if d == 2: dom = Rectangle(n0=NE_X, n1=NE_Y, l0=l_X, order=o, useFullElementOrder=fullOrder, useElementsOnFace=r, optimize=True) else: Brick() dom = Brick(n0=NE_X, n1=NE_Y, n2=NE_Y, l0=l_X, order=o, useFullElementOrder=fullOrder, useElementsOnFace=r, optimize=True) else: des = Design(dim=d, order=o, element_size=min(l_X / max(3, NE_X), 1. / max(3, NE_Y)), keep_files=True) des.setScriptFileName("tester.geo") if d == 2: p0 = Point(0., 0.) p1 = Point(l_X, 0.) p2 = Point(l_X, 1.) p3 = Point(0., 1.) l01 = Line(p0, p1) l12 = Line(p1, p2) l23 = Line(p2, p3) l30 = Line(p3, p0) s = PlaneSurface(CurveLoop(l01, l12, l23, l30)) des.addItems(s, l01, l12, l23, l30) else: p000 = Point(0., 0., 0.) p100 = Point(l_X, 0., 0.) p010 = Point(0., 1., 0.) p110 = Point(l_X, 1., 0.) p001 = Point(0., 0., 1.) p101 = Point(l_X, 0., 1.) p011 = Point(0., 1., 1.) p111 = Point(l_X, 1., 1.) l10 = Line(p000, p100) l20 = Line(p100, p110) l30 = Line(p110, p010) l40 = Line(p010, p000) l11 = Line(p000, p001) l21 = Line(p100, p101) l31 = Line(p110, p111) l41 = Line(p010, p011) l12 = Line(p001, p101) l22 = Line(p101, p111) l32 = Line(p111, p011) l42 = Line(p011, p001) bottom = PlaneSurface(-CurveLoop(l10, l20, l30, l40)) top = PlaneSurface(CurveLoop(l12, l22, l32, l42)) front = PlaneSurface(CurveLoop(l10, l21, -l12, -l11)) back = PlaneSurface(CurveLoop(l30, l41, -l32, -l31)) left = PlaneSurface(CurveLoop(l11, -l42, -l41, l40)) right = PlaneSurface(CurveLoop(-l21, l20, l31, -l22)) vol = Volume(SurfaceLoop(bottom, top, front, back, left, right)) des.addItems(vol) dom = MakeDomain(des) return dom
p6 = Point(0., 1., 1.) p7 = Point(1., 1., 1.) l01 = Line(p0, p1) l13 = Line(p1, p3) l32 = Line(p3, p2) l20 = Line(p2, p0) l45 = Line(p4, p5) l57 = Line(p5, p7) l76 = Line(p7, p6) l64 = Line(p6, p4) l15 = Line(p1, p5) l40 = Line(p4, p0) l37 = Line(p3, p7) l62 = Line(p6, p2) bottom = PlaneSurface(-CurveLoop(l01, l13, l32, l20)) top = PlaneSurface(CurveLoop(l45, l57, l76, l64)) front = PlaneSurface(CurveLoop(l01, l15, -l45, l40)) back = PlaneSurface(CurveLoop(l32, -l62, -l76, -l37)) left = PlaneSurface(CurveLoop(-l40, -l64, l62, l20)) right = PlaneSurface(CurveLoop(-l15, l13, l37, -l57)) v = Volume(SurfaceLoop(top, bottom, front, back, left, right)) des = Design(dim=3, order=2, element_size=1, keep_files=True) des.addItems(v) dom = MakeDomain(des) dom.write("brick.fly")
l01 = Line(p0, p1) l13 = Line(p1, p3) l32 = Line(p3, p2) l20 = Line(p2, p0) l45 = Line(p4, p5) l57 = Line(p5, p7) l76 = Line(p7, p6) l64 = Line(p6, p4) l15 = Line(p1, p5) l40 = Line(p4, p0) l37 = Line(p3, p7) l62 = Line(p6, p2) bottom = PlaneSurface(-CurveLoop(l01, l13, l32, l20)) top = PlaneSurface(CurveLoop(l45, l57, l76, l64)) front = PlaneSurface(CurveLoop(l01, l15, -l45, l40)) back = PlaneSurface(CurveLoop(l32, -l62, -l76, -l37)) left = PlaneSurface(CurveLoop(-l40, -l64, l62, l20)) right = PlaneSurface(CurveLoop(-l15, l13, l37, -l57)) v = Volume(SurfaceLoop(top, bottom, front, back, left, right)) des.addItems(v, PropertySet("subduction", left)) des.setScriptFileName("sub.geo") des.setMeshFileName("sub.msh") dom = MakeDomain(des, useMacroElements=True) dom.write("sub.fly")
l01=Line(p0,p1) l13=Line(p1,p3) l32=Line(p3,p2) l20=Line(p2,p0) l45=Line(p4,p5) l57=Line(p5,p7) l76=Line(p7,p6) l64=Line(p6,p4) l15=Line(p1,p5) l40=Line(p4,p0) l37=Line(p3,p7) l62=Line(p6,p2) bottom=PlaneSurface(-CurveLoop(l01,l13,l32,l20)) top=PlaneSurface(CurveLoop(l45,l57,l76,l64)) front=PlaneSurface(CurveLoop(l01,l15,-l45,l40)) back=PlaneSurface(CurveLoop(l32,-l62,-l76,-l37)) left=PlaneSurface(CurveLoop(-l40,-l64,l62,l20)) right=PlaneSurface(CurveLoop(-l15,l13,l37,-l57)) v=Volume(SurfaceLoop(top,bottom,front,back,left,right)) des=Design(dim=3, order=2, element_size = 1, keep_files=True) des.addItems(v) dom=MakeDomain(des) dom.write("brick.fly")
__copyright__ = """Copyright (c) 2003-2018 by The University of Queensland http://www.uq.edu.au Primary Business: Queensland, Australia""" __license__ = """Licensed under the Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0""" __url__ = "https://launchpad.net/escript-finley" from esys.escript import * from esys.pycad import * from esys.pycad.gmsh import Design from esys.dudley import MakeDomain p0 = Point(0., 0.) p1 = Point(1., 0.) p2 = Point(1., 1.) p3 = Point(0., 1.) l01 = Line(p0, p1) l12 = Line(p1, p2) l23 = Line(p2, p3) l30 = Line(p3, p0) s = PlaneSurface(CurveLoop(l01, l12, l23, l30)) des = Design(dim=2, order=1, element_size=1, keep_files=True) des.setMeshFileName("rec.geo") des.addItems(s) dom = MakeDomain(des) dom.write("rec.fly")
__copyright__="""Copyright (c) 2003-2016 by The University of Queensland http://www.uq.edu.au Primary Business: Queensland, Australia""" __license__="""Licensed under the Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0""" __url__="https://launchpad.net/escript-finley" from esys.escript import * from esys.pycad import * from esys.pycad.gmsh import Design from esys.dudley import MakeDomain p0=Point(0.,0.) p1=Point(1.,0.) p2=Point(1.,1.) p3=Point(0.,1.) l01=Line(p0,p1) l12=Line(p1,p2) l23=Line(p2,p3) l30=Line(p3,p0) s=PlaneSurface(CurveLoop(l01,l12,l23,l30)) des=Design(dim=2, order=1, element_size = 1, keep_files=True) des.setMeshFileName("rec.geo") des.addItems(s) dom=MakeDomain(des) dom.write("rec.fly")