/[escript]/trunk/dudley/py_src/readers.py
ViewVC logotype

Contents of /trunk/dudley/py_src/readers.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3432 - (show annotations)
Fri Jan 7 01:32:07 2011 UTC (8 years, 3 months ago) by jfenwick
File MIME type: text/x-python
File size: 2716 byte(s)
Made import statements a bit more specific to clean up the epydoc
1
2 ########################################################
3 #
4 # Copyright (c) 2003-2010 by University of Queensland
5 # Earth Systems Science Computational Center (ESSCC)
6 # http://www.uq.edu.au/esscc
7 #
8 # Primary Business: Queensland, Australia
9 # Licensed under the Open Software License version 3.0
10 # http://www.opensource.org/licenses/osl-3.0.php
11 #
12 ########################################################
13
14 __copyright__="""Copyright (c) 2003-2010 by University of Queensland
15 Earth Systems Science Computational Center (ESSCC)
16 http://www.uq.edu.au/esscc
17 Primary Business: Queensland, Australia"""
18 __license__="""Licensed under the Open Software License version 3.0
19 http://www.opensource.org/licenses/osl-3.0.php"""
20 __url__="https://launchpad.net/escript-finley"
21
22 """
23 some mesh handling
24
25 :var __author__: name of author
26 :var __licence__: licence agreement
27 :var __url__: url entry point on documentation
28 :var __version__: version
29 :var __date__: date of the version
30 """
31
32 __author__="Lutz Gross, l.gross@uq.edu.au, Joel Fenwick"
33
34 from esys.pycad.gmsh import Design as GMSHDesign
35 from dudleycpp import ReadGmsh
36
37 def MakeDomain(design,integrationOrder=-1, reducedIntegrationOrder=-1, optimizeLabeling=True, useMacroElements=False):
38 """
39 Creates a Dudley `Domain` from a `esys.pycad.design.Design` object.
40 Currently only gmsh is supported.
41
42 :param design: the geometry
43 :type design: `esys.pycad.design.Design`
44 :param integrationOrder: integration order. If -1 the default is used.
45 :type integrationOrder: ``int``
46 :param reducedIntegrationOrder: reduced integration order. If -1 the
47 default is used.
48 :type reducedIntegrationOrder: ``int``
49 :param optimizeLabeling: if set the labeling of the mesh nodes is optimized
50 :type optimizeLabeling: ``bool``
51 :param useMacroElements: uses macro elements.
52 :type useMacroElements: ``bool``
53 :return: the Finley domain defined by the design
54 :rtype: `Domain`
55 """
56 if useMacroElements:
57 raise TypeError("Dudley does not support macro elements")
58 if isinstance(design, GMSHDesign):
59 design.setElementOrder(1)
60 ff=design.getFileFormat()
61 design.setFileFormat(design.GMSH)
62 mshname=design.getMeshHandler()
63 dom = ReadGmsh(mshname,
64 design.getDim(),
65 integrationOrder,
66 reducedIntegrationOrder,
67 optimizeLabeling,
68 useMacroElements)
69 design.setFileFormat(ff)
70 else:
71 raise TypeError("Dudley does not support %s designs."%design.__class__.__name__)
72 # fill in the tag map
73 design.getTagMap().passToDomain(dom)
74 return dom
75

  ViewVC Help
Powered by ViewVC 1.1.26