1 |
gross |
899 |
""" |
2 |
gross |
955 |
block with some fualts |
3 |
gross |
899 |
|
4 |
|
|
@var __author__: name of author |
5 |
|
|
@var __licence__: licence agreement |
6 |
|
|
@var __url__: url entry point on documentation |
7 |
|
|
@var __version__: version |
8 |
|
|
@var __date__: date of the version |
9 |
|
|
""" |
10 |
|
|
|
11 |
|
|
|
12 |
|
|
__copyright__=""" Copyright (c) 2006 by ACcESS MNRF |
13 |
|
|
http://www.access.edu.au |
14 |
|
|
Primary Business: Queensland, Australia""" |
15 |
|
|
__license__="""Licensed under the Open Software License version 3.0 |
16 |
|
|
http://www.opensource.org/licenses/osl-3.0.php""" |
17 |
|
|
__author__="Lutz Gross, l.gross@uq.edu.au" |
18 |
|
|
__url__="http://www.iservo.edu.au/esys/escript" |
19 |
|
|
__version__="$Revision$" |
20 |
|
|
__date__="$Date$" |
21 |
|
|
|
22 |
|
|
from esys.pycad import * |
23 |
gross |
932 |
from esys.pycad.gmsh import Design |
24 |
gross |
955 |
from esys.finley import MakeDomain |
25 |
gross |
899 |
|
26 |
|
|
l=100000. # width and length m (without obsorber) |
27 |
|
|
h=30000. # width and length m (without obsorber) |
28 |
|
|
d_absorber=l*0.10 # thickness of absorbing layer |
29 |
|
|
|
30 |
|
|
b=Brick(Point(0.,0.,-h),Point(l,l,0.)) |
31 |
gross |
932 |
p1=Point(l/5,l/5,-2*h/3) |
32 |
gross |
899 |
p2=p1+[l/5,l/5,0.] |
33 |
|
|
p3=p2+[0,0.,h/5] |
34 |
|
|
p4=p3+[-l/5,-l/5,0.] |
35 |
|
|
l1=Line(p1,p2) |
36 |
|
|
l2=Line(p2,p3) |
37 |
|
|
l3=Line(p3,p4) |
38 |
|
|
l4=Line(p4,p1) |
39 |
|
|
c1=CurveLoop(l1,l2,l3,l4) |
40 |
gross |
932 |
c1.setLocalScale(0.1) |
41 |
gross |
899 |
q1=Point(2*l/3,2*l/3,-2*h/3,local_scale=0.3) |
42 |
|
|
q2=q1+[-l/4,l/4,0.] |
43 |
|
|
q3=q2+[0,0.,h/3] |
44 |
|
|
q4=q3+[l/4,-l/4,0.] |
45 |
|
|
m1=Line(q1,q2) |
46 |
|
|
m2=Line(q2,q3) |
47 |
|
|
m3=Line(q3,q4) |
48 |
|
|
m4=Line(q4,q1) |
49 |
|
|
c2=CurveLoop(m1,m2,m3,m4) |
50 |
gross |
932 |
c2.setLocalScale(0.1) |
51 |
gross |
955 |
dsgn=Design(element_size=h/5) |
52 |
gross |
932 |
dsgn.addItems(Volume(SurfaceLoop(*tuple(b.getSurfaces()+[PlaneSurface(c1),PlaneSurface(c2)])))) |
53 |
gross |
955 |
dsgn.setScriptFileName("faults.geo") |
54 |
|
|
dsgn.setMeshFileName("faults.msh") |
55 |
|
|
dom=MakeDomain(dsgn,integrationOrder=-1, reducedIntegrationOrder=-1, optimizeLabeling=True) |
56 |
|
|
dom.write("faults.fly") |