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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2717 - (show annotations)
Wed Oct 14 03:41:20 2009 UTC (10 years, 5 months ago) by gross
File MIME type: text/x-python
File size: 2459 byte(s)
implements https://mantis.esscc.uq.edu.au/view.php?id=426
1
2 ########################################################
3 #
4 # Copyright (c) 2003-2009 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-2009 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"
33
34 from esys.escript import *
35 from esys.pycad.gmsh import Design as GMSHDesign
36 from finleycpp import ReadGmsh
37
38 def MakeDomain(design,integrationOrder=-1, reducedIntegrationOrder=-1, optimizeLabeling=True):
39 """
40 Creates a Finley `Domain` from a `esys.pycad.design.Design` object.
41 Currently only gmsh is supported.
42
43 :param design: the geometry
44 :type design: `esys.pycad.design.Design`
45 :param integrationOrder: integration order. If -1 the default is used.
46 :type integrationOrder: ``int``
47 :param reducedIntegrationOrder: reduced integration order. If -1 the
48 default is used.
49 :type reducedIntegrationOrder: ``int``
50 :param optimizeLabeling: if set the labeling of the mesh nodes is optimized
51 :type optimizeLabeling: ``bool``
52 :return: the Finley domain defined by the design
53 :rtype: `Domain`
54 """
55 if isinstance(design, GMSHDesign):
56 ff=design.getFileFormat()
57 design.setFileFormat(design.GMSH)
58 mshname=design.getMeshHandler()
59 dom = ReadGmsh(mshname,
60 design.getDim(),
61 integrationOrder,
62 reducedIntegrationOrder,
63 optimizeLabeling)
64 design.setFileFormat(ff)
65 else:
66 raise TypeError("Finley does not support %s designs."%design.__class__.__name__)
67 # fill in the tag map
68 design.getTagMap().passToDomain(dom)
69 return dom
70

  ViewVC Help
Powered by ViewVC 1.1.26