File: run_linearPDEsOnFinley3.py

package info (click to toggle)
python-escript 5.6-10
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 144,304 kB
  • sloc: python: 592,074; cpp: 136,909; ansic: 18,675; javascript: 9,411; xml: 3,384; sh: 738; makefile: 207
file content (146 lines) | stat: -rw-r--r-- 4,927 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146

########################################################
#
# Copyright (c) 2003-2018 by The University of Queensland
# Earth Systems Science Computational Center (ESSCC)
# http://www.uq.edu.au
#
# Primary Business: Queensland, Australia
# Licensed under the Apache License, version 2.0
# http://www.apache.org/licenses/LICENSE-2.0
#
########################################################

from __future__ import print_function, division

__copyright__="""Copyright (c) 2003-2018 by The University of Queensland
Earth Systems Science Computational Center (ESSCC)
http://www.uq.edu.au
Primary Business: Queensland, Australia"""
__license__="""Licensed under the Apache License, version 2.0
http://www.apache.org/licenses/LICENSE-2.0"""
__url__="https://launchpad.net/escript-finley"

"""
Test suite for the linearPDE  and pdetools test on finley

:remark:

:var __author__: name of author
:var __licence__: licence agreement
:var __url__: url entry point on documentation
:var __version__: version
:var __date__: date of the version
"""

__author__="Lutz Gross, l.gross@uq.edu.au"

import os

import esys.escriptcore.utestselect as unittest
from esys.escriptcore.testing import *
from test_linearPDEs import Test_Helmholtz, Test_LameEquation, Test_Poisson
from test_assemblage import Test_assemblage_2Do1_Contact, Test_assemblage_2Do2_Contact, Test_assemblage_3Do1_Contact, Test_assemblage_3Do2_Contact
from esys.finley import Rectangle, ReadMesh

try:
     FINLEY_TEST_DATA=os.environ['FINLEY_TEST_DATA']
except KeyError:
     FINLEY_TEST_DATA='.'

FINLEY_TEST_MESH_PATH=os.path.join(FINLEY_TEST_DATA,"data_meshes")

NE=8 # number of element in each spatial direction (must be even)

class Test_LameOnFinley(Test_LameEquation):
   RES_TOL=1.e-7
   ABS_TOL=1.e-8
   def setUp(self):
        self.domain = Rectangle(NE, NE, 2, useElementsOnFace=0, useFullElementOrder=True)
   def tearDown(self):
        del self.domain

class Test_PoissonOnFinley(Test_Poisson):
   RES_TOL=1.e-7
   ABS_TOL=1.e-8
   def setUp(self):
        self.domain = Rectangle(NE, NE, 2, useElementsOnFace=0, useFullElementOrder=True)
   def tearDown(self):
        del self.domain

class Test_HelmholtzOnFinley(Test_Helmholtz):
   RES_TOL=1.e-7
   ABS_TOL=1.e-8
   def setUp(self):
        self.domain = Rectangle(NE, NE, 2, useElementsOnFace=0, useFullElementOrder=True)
   def tearDown(self):
        del self.domain

class Test_AssemblePDEwithFinley_2Do1_Contact(Test_assemblage_2Do1_Contact):
   RES_TOL=1.e-7
   ABS_TOL=1.e-8
   def setUp(self):
       self.domain = ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"mesh_2Do1_Contact.fly"))
   def tearDown(self):
        del self.domain

class Test_AssemblePDEwithFinley_2Do2_Contact(Test_assemblage_2Do2_Contact):
   RES_TOL=1.e-7
   ABS_TOL=1.e-8
   def setUp(self):
       self.domain = ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"mesh_2Do2_Contact.fly"))
   def tearDown(self):
        del self.domain

class Test_AssemblePDEwithFinley_3Do1_Contact(Test_assemblage_3Do1_Contact):
   RES_TOL=1.e-7
   ABS_TOL=1.e-8
   def setUp(self):
       self.domain = ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"mesh_3Do1_Contact.fly"))
   def tearDown(self):
        del self.domain

class Test_AssemblePDEwithFinley_3Do2_Contact(Test_assemblage_3Do2_Contact):
   RES_TOL=1.e-7
   ABS_TOL=1.e-8
   def setUp(self):
       self.domain = ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"mesh_3Do2_Contact.fly"))
   def tearDown(self):
        del self.domain


class Test_AssemblePDEwithFinley_2Do1_Contact_withElementsOnFace(Test_assemblage_2Do1_Contact):
   RES_TOL=1.e-7
   ABS_TOL=1.e-8
   def setUp(self):
       self.domain = ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"mesh_2Do1_Contact_withElementsOnFace.fly"))
   def tearDown(self):
        del self.domain

class Test_AssemblePDEwithFinley_2Do2_Contact_withElementsOnFace(Test_assemblage_2Do2_Contact):
   RES_TOL=1.e-7
   ABS_TOL=1.e-8
   def setUp(self):
       self.domain = ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"mesh_2Do2_Contact_withElementsOnFace.fly"))
   def tearDown(self):
        del self.domain

class Test_AssemblePDEwithFinley_3Do1_Contact_withElementsOnFace(Test_assemblage_3Do1_Contact):
   RES_TOL=1.e-7
   ABS_TOL=1.e-8
   def setUp(self):
       self.domain = ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"mesh_3Do1_Contact_withElementsOnFace.fly"))
   def tearDown(self):
        del self.domain

class Test_AssemblePDEwithFinley_3Do2_Contact_withElementsOnFace(Test_assemblage_3Do2_Contact):
   RES_TOL=1.e-7
   ABS_TOL=1.e-8
   def setUp(self):
       self.domain = ReadMesh(os.path.join(FINLEY_TEST_MESH_PATH,"mesh_3Do2_Contact_withElementsOnFace.fly"))
   def tearDown(self):
        del self.domain

if __name__ == '__main__':
    run_tests(__name__, exit_on_failure=True)