/[escript]/trunk/pycad/examples/faults.py
ViewVC logotype

Diff of /trunk/pycad/examples/faults.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/pycad/examples/structure.py revision 899 by gross, Mon Nov 13 08:02:24 2006 UTC trunk/pycad/examples/faults.py revision 1312 by ksteube, Mon Sep 24 06:18:44 2007 UTC
# Line 1  Line 1 
1    #
2    # $Id$
3    #
4    #######################################################
5    #
6    #           Copyright 2003-2007 by ACceSS MNRF
7    #       Copyright 2007 by University of Queensland
8    #
9    #                http://esscc.uq.edu.au
10    #        Primary Business: Queensland, Australia
11    #  Licensed under the Open Software License version 3.0
12    #     http://www.opensource.org/licenses/osl-3.0.php
13    #
14    #######################################################
15    #
16    
17  """  """
18  seismic wave propagation domain  block with some fualts
19    
20  @var __author__: name of author  @var __author__: name of author
21  @var __licence__: licence agreement  @var __licence__: licence agreement
# Line 20  __version__="$Revision$" Line 36  __version__="$Revision$"
36  __date__="$Date$"  __date__="$Date$"
37    
38  from esys.pycad import *  from esys.pycad import *
39  from esys.pycad.shapes import Brick  from esys.pycad.gmsh import Design
40    from esys.finley import MakeDomain
41    
42  l=100000.           # width and length m (without obsorber)  l=100000.           # width and length m (without obsorber)
43  h=30000.            # width and length m (without obsorber)  h=30000.            # width and length m (without obsorber)
44  d_absorber=l*0.10   # thickness of absorbing layer  d_absorber=l*0.10   # thickness of absorbing layer
45    
46  b=Brick(Point(0.,0.,-h),Point(l,l,0.))  b=Brick(Point(0.,0.,-h),Point(l,l,0.))
47  p1=Point(l/5,l/5,-2*h/3,local_scale=0.3)  p1=Point(l/5,l/5,-2*h/3)
48  p2=p1+[l/5,l/5,0.]  p2=p1+[l/5,l/5,0.]
49  p3=p2+[0,0.,h/5]  p3=p2+[0,0.,h/5]
50  p4=p3+[-l/5,-l/5,0.]  p4=p3+[-l/5,-l/5,0.]
# Line 36  l2=Line(p2,p3) Line 53  l2=Line(p2,p3)
53  l3=Line(p3,p4)  l3=Line(p3,p4)
54  l4=Line(p4,p1)  l4=Line(p4,p1)
55  c1=CurveLoop(l1,l2,l3,l4)  c1=CurveLoop(l1,l2,l3,l4)
56    c1.setLocalScale(0.1)
57  q1=Point(2*l/3,2*l/3,-2*h/3,local_scale=0.3)  q1=Point(2*l/3,2*l/3,-2*h/3,local_scale=0.3)
58  q2=q1+[-l/4,l/4,0.]  q2=q1+[-l/4,l/4,0.]
59  q3=q2+[0,0.,h/3]  q3=q2+[0,0.,h/3]
# Line 45  m2=Line(q2,q3) Line 63  m2=Line(q2,q3)
63  m3=Line(q3,q4)  m3=Line(q3,q4)
64  m4=Line(q4,q1)  m4=Line(q4,q1)
65  c2=CurveLoop(m1,m2,m3,m4)  c2=CurveLoop(m1,m2,m3,m4)
66  b.addSurface(Surface(c1),Surface(c2))  c2.setLocalScale(0.1)
67  dsgn=Design(scale=10000.)  dsgn=Design(element_size=h/5)
68  dsgn.addPrimitives(Volume(b))  dsgn.addItems(Volume(SurfaceLoop(*tuple(b.getSurfaces()+[PlaneSurface(c1),PlaneSurface(c2)]))))
69  f=dsgn.writeFinleyMesh("l.fly")  dsgn.setScriptFileName("faults.geo")
70  print f  dsgn.setMeshFileName("faults.msh")
71    dom=MakeDomain(dsgn,integrationOrder=-1, reducedIntegrationOrder=-1, optimizeLabeling=True)
72    dom.write("faults.fly")

Legend:
Removed from v.899  
changed lines
  Added in v.1312

  ViewVC Help
Powered by ViewVC 1.1.26