SyFi 0.3
|
Public Member Functions | |
def | __init__ |
def | setUp |
def | tearDown |
def | testSetup |
def | testJitVolumeInterval |
def | testJitVolumeTriangle |
def | testJitVolumeTetrahedron |
def | testJitConstantInterval |
def | testJitConstantTriangle |
def | testJitConstantTetrahedron |
Public Attributes | |
options | |
Private Member Functions | |
def | _testJitVolume |
def | _testJitVolumeQuadrilateral |
def | _testJitVolumeHexahedron |
def | _testJitConstant |
def | _testJitConstantQuadrilateral |
def | _testJitConstantHexahedron |
Definition at line 37 of file volumes.py.
def volumes::VolumeTest::__init__ | ( | self, | |
args, | |||
kwargs | |||
) |
Definition at line 38 of file volumes.py.
def volumes::VolumeTest::_testJitConstant | ( | self, | |
polygon, | |||
degree | |||
) | [private] |
Test that the integral of a constant coefficient over a unit cell mesh equals the constant times the volume of the unit cell.
Definition at line 89 of file volumes.py.
00090 : 00091 """Test that the integral of a constant coefficient over a unit 00092 cell mesh equals the constant times the volume of the unit cell.""" 00093 element = FiniteElement("CG", polygon, degree) 00094 f = Function(element) 00095 a = f*dx 00096 form = sfc.jit(a, options = self.options) 00097 self.assertTrue(form.rank() == 0) 00098 self.assertTrue(form.num_coefficients() == 1) 00099 self.assertTrue(num_integrals(form) == (1,0,0)) 00100 const = 1.23 00101 A = assemble_on_cell(form, polygon, coeffs=[const]) 00102 self.assertAlmostEqual(A, const*cell2volume[polygon])
def volumes::VolumeTest::_testJitConstantHexahedron | ( | self | ) | [private] |
Definition at line 123 of file volumes.py.
00123 : # Not supported by dolfin yet 00124 polygon = "hexahedron" 00125 self._testJitConstant(polygon, 1) 00126 self._testJitConstant(polygon, 2) 00127 00128
def volumes::VolumeTest::_testJitConstantQuadrilateral | ( | self | ) | [private] |
Definition at line 118 of file volumes.py.
00118 : # Not supported by dolfin yet 00119 polygon = "quadrilateral" 00120 self._testJitConstant(polygon, 1) 00121 self._testJitConstant(polygon, 2) 00122
def volumes::VolumeTest::_testJitVolume | ( | self, | |
polygon | |||
) | [private] |
Definition at line 63 of file volumes.py.
00064 : 00065 "Test that the integral of 1.0 over a unit cell equals the length/area/volume of the unit cell." 00066 c = Constant(polygon) 00067 a = c*dx 00068 form = sfc.jit(a, options = self.options) 00069 self.assertTrue(form.rank() == 0) 00070 self.assertTrue(form.num_coefficients() == 1) 00071 self.assertTrue(num_integrals(form) == (1,0,0)) 00072 A = assemble_on_cell(form, polygon, coeffs=[1.0]) 00073 self.assertAlmostEqual(A, cell2volume[polygon])
def volumes::VolumeTest::_testJitVolumeHexahedron | ( | self | ) | [private] |
Definition at line 86 of file volumes.py.
00086 : # Not supported by dolfin yet 00087 self._testJitVolume("hexahedron") 00088
def volumes::VolumeTest::_testJitVolumeQuadrilateral | ( | self | ) | [private] |
Definition at line 83 of file volumes.py.
00083 : # Not supported by dolfin yet 00084 self._testJitVolume("quadrilateral") 00085
def volumes::VolumeTest::setUp | ( | self | ) |
Definition at line 43 of file volumes.py.
00044 : 00045 #print "Running sfc jit test in testdir" 00046 #print "Imported SyFi from location", SyFi.__file__ 00047 #print "Imported sfc from location", sfc.__file__ 00048 self.options = sfc.default_options() 00049 self.options.compilation.cache_dir = os.path.abspath("test_cache") 00050 # Generate code in a clean directory: 00051 shutil.rmtree(_test_temp_dir, ignore_errors=True) 00052 os.mkdir(_test_temp_dir) 00053 os.chdir(_test_temp_dir)
def volumes::VolumeTest::tearDown | ( | self | ) |
Definition at line 54 of file volumes.py.
def volumes::VolumeTest::testJitConstantInterval | ( | self | ) |
Definition at line 103 of file volumes.py.
def volumes::VolumeTest::testJitConstantTetrahedron | ( | self | ) |
Definition at line 113 of file volumes.py.
def volumes::VolumeTest::testJitConstantTriangle | ( | self | ) |
Definition at line 108 of file volumes.py.
def volumes::VolumeTest::testJitVolumeInterval | ( | self | ) |
Definition at line 74 of file volumes.py.
def volumes::VolumeTest::testJitVolumeTetrahedron | ( | self | ) |
Definition at line 80 of file volumes.py.
def volumes::VolumeTest::testJitVolumeTriangle | ( | self | ) |
Definition at line 77 of file volumes.py.
def volumes::VolumeTest::testSetup | ( | self | ) |
Definition at line 60 of file volumes.py.
Definition at line 43 of file volumes.py.