SyFi  0.3
element_indexing.ElementIndexingTest Class Reference

List of all members.

Public Member Functions

def __init__
def setUp
def tearDown
def testSetup
def testScalarArgument
def testScalarCoefficient
def testVectorArgument
def testVectorCoefficient

Public Attributes

 options

Detailed Description

Definition at line 39 of file element_indexing.py.


Constructor & Destructor Documentation

def element_indexing.ElementIndexingTest.__init__ (   self,
  args,
  kwargs 
)

Definition at line 40 of file element_indexing.py.

00040 
00041     def __init__(self, *args, **kwargs):
00042         unittest.TestCase.__init__(self, *args, **kwargs)
00043         shutil.rmtree(_done_test_temp_dir, ignore_errors=True)
00044         os.mkdir(_done_test_temp_dir)
    

Member Function Documentation

Definition at line 45 of file element_indexing.py.

References element_indexing.ElementIndexingTest.options.

00045 
00046     def setUp(self):
00047         #print "Running sfc jit test in testdir"
00048         #print "Imported SyFi from location", SyFi.__file__
00049         #print "Imported sfc  from location", sfc.__file__
00050         self.options = sfc.default_parameters()
00051         self.options.compilation.cache_dir = os.path.abspath("test_cache")
00052         # Generate code in a clean directory:
00053         shutil.rmtree(_test_temp_dir, ignore_errors=True)
00054         os.mkdir(_test_temp_dir)
00055         os.chdir(_test_temp_dir)
    

Definition at line 56 of file element_indexing.py.

00056 
00057     def tearDown(self):
00058         dirs = glob.glob("*")
00059         os.chdir("..")
00060         for d in dirs:
00061             os.rename(os.path.join(_test_temp_dir, d), os.path.join(_done_test_temp_dir, d))
    

Definition at line 65 of file element_indexing.py.

00065 
00066     def testScalarArgument(self):
00067         polygon = "triangle"
00068         degree = 1
00069         element = FiniteElement("CG", polygon, degree)
00070         v = Argument(element)
00071         a = v*dx
00072         form, module, formdata = sfc.jit(a, parameters = self.options)
00073         # Test form properties
00074         self.assertTrue(form.rank() == 1)
00075         self.assertTrue(form.num_coefficients() == 0)
00076         self.assertTrue(num_integrals(form) == (1,0,0))
00077         # TODO: Test values
00078         #const = 1.23
00079         #A = assemble_on_cell(form, polygon, coeffs=[const])
00080         #self.assertAlmostEqual(A, const*cell2volume[polygon])

Definition at line 81 of file element_indexing.py.

References cell_assembly.assemble_on_cell(), element_indexing.num_integrals(), and element_indexing.ElementIndexingTest.options.

00081 
00082     def testScalarCoefficient(self):
00083         polygon = "triangle"
00084         degree = 1
00085         element = FiniteElement("CG", polygon, degree)
00086         f = Coefficient(element)
00087         a = f*dx
00088         form, module, formdata = sfc.jit(a, parameters = self.options)
00089         # Test form properties
00090         self.assertTrue(form.rank() == 0)
00091         self.assertTrue(form.num_coefficients() == 1)
00092         self.assertTrue(num_integrals(form) == (1,0,0))
00093         # Test values
00094         const = 1.23
00095         A = assemble_on_cell(form, polygon, coeffs=[const])
00096         self.assertAlmostEqual(A, const*cell2volume[polygon])

Definition at line 62 of file element_indexing.py.

00062 
00063     def testSetup(self):
00064         pass

Definition at line 97 of file element_indexing.py.

References element_indexing.num_integrals(), and element_indexing.ElementIndexingTest.options.

00097 
00098     def testVectorArgument(self):
00099         polygon = "triangle"
00100         degree = 1
00101         element = VectorElement("CG", polygon, degree)
00102         v = Argument(element)
00103         a = v[0]*dx
00104         form, module, formdata = sfc.jit(a, parameters = self.options)
00105         # Test form properties
00106         self.assertTrue(form.rank() == 1)
00107         self.assertTrue(form.num_coefficients() == 0)
00108         self.assertTrue(num_integrals(form) == (1,0,0))
00109         # TODO: Test values
00110         #const = ("1.23", "4.56")
00111         #A = assemble_on_cell(form, polygon, coeffs=[const])
00112         #self.assertAlmostEqual(A, (float(const[0]) + float(const[1]))*cell2volume[polygon])

Definition at line 113 of file element_indexing.py.

References cell_assembly.assemble_on_cell(), element_indexing.num_integrals(), and element_indexing.ElementIndexingTest.options.

00113 
00114     def testVectorCoefficient(self):
00115         polygon = "triangle"
00116         degree = 1
00117         element = VectorElement("CG", polygon, degree)
00118         f = Coefficient(element)
00119         a = (f[0] + f[1])*dx
00120         form, module, formdata = sfc.jit(a, parameters = self.options)
00121         # Test form properties
00122         self.assertTrue(form.rank() == 0)
00123         self.assertTrue(form.num_coefficients() == 1)
00124         self.assertTrue(num_integrals(form) == (1,0,0))
00125         # Test values
00126         const = ("1.23", "4.56")
00127         A = assemble_on_cell(form, polygon, coeffs=[const])
00128         self.assertAlmostEqual(A, (float(const[0]) + float(const[1]))*cell2volume[polygon])
00129 


Member Data Documentation


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines