/[escript]/trunk/finley/py_src/factorywrappers.py
ViewVC logotype

Contents of /trunk/finley/py_src/factorywrappers.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4945 - (show annotations)
Thu May 15 09:07:06 2014 UTC (7 years, 5 months ago) by jfenwick
File MIME type: text/x-python
File size: 3877 byte(s)
Untested code for adding dirac points to finley domains. Still to do: load(), unit tests
1
2 ##############################################################################
3 #
4 # Copyright (c) 2011-2014 by University of Queensland
5 # http://www.uq.edu.au
6 #
7 # Primary Business: Queensland, Australia
8 # Licensed under the Open Software License version 3.0
9 # http://www.opensource.org/licenses/osl-3.0.php
10 #
11 # Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 # Development 2012-2013 by School of Earth Sciences
13 # Development from 2014 by Centre for Geoscience Computing (GeoComp)
14 #
15 ##############################################################################
16
17 __copyright__="""Copyright (c) 2011-2014 by University of Queensland
18 http://www.uq.edu.au
19 Primary Business: Queensland, Australia"""
20 __license__="""Licensed under the Open Software License version 3.0
21 http://www.opensource.org/licenses/osl-3.0.php"""
22 __url__="https://launchpad.net/escript-finley"
23
24
25 from .finleycpp import __Brick_driver, __Rectangle_driver, __ReadMesh_driver, __ReadGmsh_driver
26
27
28 def ReadMesh(filename, integrationOrder=-1, reducedIntegrationOrder=-1, optimize=True, **kwargs):
29 points=[]
30 tags=[]
31 if 'diracPoints' in kwargs:
32 points=kwargs['diracPoints']
33 if 'diracTags' in kwargs:
34 tags=kwargs['diracTags']
35 args=[filename, integrationOrder, reducedIntegrationOrder, optimize, points, tags];
36 if 'escriptworld' in kwargs:
37 args+=[kwargs['escriptworld']]
38 else:
39 args+=[None]
40 return __ReadMesh_driver(args)
41
42
43
44 def ReadGmsh(fileName, numDim, integrationOrder=-1, reducedIntegrationOrder=-1, optimize=True,
45 useMacroElements=False, **kwargs):
46 points=[]
47 tags=[]
48 if 'diracPoints' in kwargs:
49 points=kwargs['diracPoints']
50 if 'diracTags' in kwargs:
51 tags=kwargs['diracTags']
52 args=[fileName, numDim, integrationOrder, reducedIntegrationOrder, optimize,
53 useMacroElements, points, tags];
54 if 'escriptworld' in kwargs:
55 args+=[kwargs['escriptworld']]
56 else:
57 args+=[None]
58 return __ReadGmsh_driver(args)
59
60
61 def Rectangle(n0=1, n1=1, order=1, l0=1.0, l1=1.0, periodic0=False, periodic1=False, integrationOrder=-1,
62 reducedIntegrationOrder=-1, useElementsOnFace=None, useFullElementOrder=0, optimize=0, **kwargs):
63 points=[]
64 tags=[]
65 if 'diracPoints' in kwargs:
66 points=kwargs['diracPoints']
67 if 'diracTags' in kwargs:
68 tags=kwargs['diracTags']
69 faceon=useElementsOnFace
70 if useElementsOnFace is None: #We want to use 1 as the default, but only where it makes sense
71 if useFullElementOrder or order==-1:
72 faceon=0 #Don't use it
73 else:
74 faceon=1
75 args=[n0, n1, order, l0, l1, periodic0, periodic1, integrationOrder,
76 reducedIntegrationOrder, faceon, useFullElementOrder, optimize, points, tags];
77 if 'escriptworld' in kwargs:
78 args+=[kwargs['escriptworld']]
79 else:
80 args+=[None]
81 return __Rectangle_driver(args)
82
83 def Brick(n0=1, n1=1, n2=1, order=1, l0=1.0, l1=1.0, l2=1.0, periodic0=0, periodic1=0, periodic2=0,
84 integrationOrder=-1, reducedIntegrationOrder=-1, useElementsOnFace=1, useFullElementOrder=0,
85 optimize=0, **kwargs):
86 points=[]
87 tags=[]
88 if 'diracPoints' in kwargs:
89 points=kwargs['diracPoints']
90 if 'diracTags' in kwargs:
91 tags=kwargs['diracTags']
92 faceon=useElementsOnFace
93 if useElementsOnFace is None: #We want to use 1 as the default, but only where it makes sense
94 if useFullElementOrder or order==-1:
95 faceon=0 #Don't use it
96 else:
97 faceon=1
98 args=[n0, n1, n2, order, l0, l1, l2, periodic0, periodic1, periodic2,
99 integrationOrder, reducedIntegrationOrder, faceon, useFullElementOrder,
100 optimize, points, tags];
101 if 'escriptworld' in kwargs:
102 args+=[kwargs['escriptworld']]
103 else:
104 args+=[None]
105 return __Brick_driver(args)

  ViewVC Help
Powered by ViewVC 1.1.26