1
"This module provides simple C++ code for verification of UFC code."
3
__author__ = "Kristian B. Oelgaard (k.b.oelgaard@gmail.com)"
4
__date__ = "2010-01-18"
5
__copyright__ = "Copyright (C) 2010 Kristian B. Oelgaard"
6
__license__ = "GNU GPL version 3 or any later version"
8
# Common code for all integral types
9
evaluate_basis_code = """\
20
// FIXME: This will not work for TensorElements
21
int N = element.value_dimension(0);
24
double* dof_values = new double[N];
25
for (int i = 0; i < N; i++)
28
// Create cell and fill with some arbitrary data
29
double cell_coordinates[8][3] = {{0.90, 0.34, 0.45},
38
cell.coordinates = new double * [8];
39
for (int i = 0; i < 8; i++)
41
cell.coordinates[i] = new double[3];
42
for (int j = 0; j < 3; j++)
43
cell.coordinates[i][j] = cell_coordinates[i][j];
46
// Random coordinates where we want to evaluate the basis functions
47
double coordinates[3] = {0.32, 0.51, 0.05};
49
// Loop element space dimension and call evaluate_basis.
50
for (unsigned int i = 0; i < element.space_dimension(); i++)
52
element.evaluate_basis(i, dof_values, coordinates, cell);
54
for (int j = 0; j < N; j++)
55
std::cout << dof_values[j] << " ";
57
std::cout << std::endl;