/[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 2748 - (show annotations)
Tue Nov 17 07:32:59 2009 UTC (10 years ago) by gross
File MIME type: text/x-python
File size: 2666 byte(s)
Macro elements are implemented now. VTK writer for macro elements still needs testing.
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, useMacroElements=False):
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 :param useMacroElements: uses macro elements.
53 :type useMacroElements: ``bool``
54 :return: the Finley domain defined by the design
55 :rtype: `Domain`
56 """
57 if isinstance(design, GMSHDesign):
58 if useMacroElements: design.setElementOrder(2)
59 ff=design.getFileFormat()
60 design.setFileFormat(design.GMSH)
61 mshname=design.getMeshHandler()
62 dom = ReadGmsh(mshname,
63 design.getDim(),
64 integrationOrder,
65 reducedIntegrationOrder,
66 optimizeLabeling,
67 useMacroElements)
68 design.setFileFormat(ff)
69 else:
70 raise TypeError("Finley does not support %s designs."%design.__class__.__name__)
71 # fill in the tag map
72 design.getTagMap().passToDomain(dom)
73 return dom
74

  ViewVC Help
Powered by ViewVC 1.1.26