diff --git a/SimPEG/mesh/BaseMesh.py b/SimPEG/mesh/BaseMesh.py index 6a9a8032..2647cf44 100644 --- a/SimPEG/mesh/BaseMesh.py +++ b/SimPEG/mesh/BaseMesh.py @@ -102,7 +102,7 @@ class BaseMesh(object): elif xType in ['F', 'E']: # This will only deal with components of fields, not full 'F' or 'E' xx = mkvc(xx) # unwrap it in case it is a matrix - nn = self.nF if xType == 'F' else self.nE + nn = self.nFv if xType == 'F' else self.nEv nn = np.r_[0, nn] nx = [0, 0, 0] @@ -331,7 +331,7 @@ class BaseMesh(object): return locals() nEz = property(**nEz()) - def nE(): + def nEv(): doc = """ Total number of edges in each direction @@ -346,6 +346,18 @@ class BaseMesh(object): """ fget = lambda self: np.array([np.prod(x) for x in [self.nEx, self.nEy, self.nEz] if not x is None]) return locals() + nEv = property(**nEv()) + + def nE(): + doc = """ + Total number of edges. + + :rtype: int + :return: sum([prod(nEx), prod(nEy), prod(nEz)]) + + """ + fget = lambda self: np.sum(self.nEv) + return locals() nE = property(**nE()) def nFx(): @@ -391,7 +403,7 @@ class BaseMesh(object): return locals() nFz = property(**nFz()) - def nF(): + def nFv(): doc = """ Total number of faces in each direction @@ -406,6 +418,19 @@ class BaseMesh(object): """ fget = lambda self: np.array([np.prod(x) for x in [self.nFx, self.nFy, self.nFz] if not x is None]) return locals() + nFv = property(**nFv()) + + + def nF(): + doc = """ + Total number of faces. + + :rtype: int + :return: sum([prod(nFx), prod(nFy), prod(nFz)]) + + """ + fget = lambda self: np.sum(self.nFv) + return locals() nF = property(**nF()) def normals(): @@ -418,13 +443,13 @@ class BaseMesh(object): def fget(self): if self.dim == 2: - nX = np.c_[np.ones(self.nF[0]), np.zeros(self.nF[0])] - nY = np.c_[np.zeros(self.nF[1]), np.ones(self.nF[1])] + nX = np.c_[np.ones(self.nFv[0]), np.zeros(self.nFv[0])] + nY = np.c_[np.zeros(self.nFv[1]), np.ones(self.nFv[1])] return np.r_[nX, nY] elif self.dim == 3: - nX = np.c_[np.ones(self.nF[0]), np.zeros(self.nF[0]), np.zeros(self.nF[0])] - nY = np.c_[np.zeros(self.nF[1]), np.ones(self.nF[1]), np.zeros(self.nF[1])] - nZ = np.c_[np.zeros(self.nF[2]), np.zeros(self.nF[2]), np.ones(self.nF[2])] + nX = np.c_[np.ones(self.nFv[0]), np.zeros(self.nFv[0]), np.zeros(self.nFv[0])] + nY = np.c_[np.zeros(self.nFv[1]), np.ones(self.nFv[1]), np.zeros(self.nFv[1])] + nZ = np.c_[np.zeros(self.nFv[2]), np.zeros(self.nFv[2]), np.ones(self.nFv[2])] return np.r_[nX, nY, nZ] return locals() normals = property(**normals()) @@ -439,13 +464,13 @@ class BaseMesh(object): def fget(self): if self.dim == 2: - tX = np.c_[np.ones(self.nE[0]), np.zeros(self.nE[0])] - tY = np.c_[np.zeros(self.nE[1]), np.ones(self.nE[1])] + tX = np.c_[np.ones(self.nEv[0]), np.zeros(self.nEv[0])] + tY = np.c_[np.zeros(self.nEv[1]), np.ones(self.nEv[1])] return np.r_[tX, tY] elif self.dim == 3: - tX = np.c_[np.ones(self.nE[0]), np.zeros(self.nE[0]), np.zeros(self.nE[0])] - tY = np.c_[np.zeros(self.nE[1]), np.ones(self.nE[1]), np.zeros(self.nE[1])] - tZ = np.c_[np.zeros(self.nE[2]), np.zeros(self.nE[2]), np.ones(self.nE[2])] + tX = np.c_[np.ones(self.nEv[0]), np.zeros(self.nEv[0]), np.zeros(self.nEv[0])] + tY = np.c_[np.zeros(self.nEv[1]), np.ones(self.nEv[1]), np.zeros(self.nEv[1])] + tZ = np.c_[np.zeros(self.nEv[2]), np.zeros(self.nEv[2]), np.ones(self.nEv[2])] return np.r_[tX, tY, tZ] return locals() tangents = property(**tangents()) diff --git a/SimPEG/mesh/Cyl1DMesh.py b/SimPEG/mesh/Cyl1DMesh.py index 93b82b25..d9b62273 100644 --- a/SimPEG/mesh/Cyl1DMesh.py +++ b/SimPEG/mesh/Cyl1DMesh.py @@ -110,6 +110,12 @@ class Cyl1DMesh(object): return locals() nFz = property(**nFz()) + def nFv(): + doc = "Total number of faces in each direction" + fget = lambda self: np.array([self.nFr, self.nFz]) + return locals() + nF = property(**nF()) + def nF(): doc = "Total number of faces" fget = lambda self: self.nFr + self.nFz diff --git a/SimPEG/mesh/InnerProducts.py b/SimPEG/mesh/InnerProducts.py index f0ac4ab0..5c2e7b5f 100644 --- a/SimPEG/mesh/InnerProducts.py +++ b/SimPEG/mesh/InnerProducts.py @@ -174,8 +174,8 @@ def getFaceInnerProduct(mesh, mu=None, returnP=False): def Pxxx(pos): ind1 = sub2ind(mesh.nFx, np.c_[ii + pos[0][0], jj + pos[0][1], kk + pos[0][2]]) - ind2 = sub2ind(mesh.nFy, np.c_[ii + pos[1][0], jj + pos[1][1], kk + pos[1][2]]) + mesh.nF[0] - ind3 = sub2ind(mesh.nFz, np.c_[ii + pos[2][0], jj + pos[2][1], kk + pos[2][2]]) + mesh.nF[0] + mesh.nF[1] + ind2 = sub2ind(mesh.nFy, np.c_[ii + pos[1][0], jj + pos[1][1], kk + pos[1][2]]) + mesh.nFv[0] + ind3 = sub2ind(mesh.nFz, np.c_[ii + pos[2][0], jj + pos[2][1], kk + pos[2][2]]) + mesh.nFv[0] + mesh.nFv[1] IND = np.r_[ind1, ind2, ind3].flatten() @@ -286,7 +286,7 @@ def getFaceInnerProduct2D(mesh, mu=None, returnP=False): def Pxx(pos): ind1 = sub2ind(mesh.nFx, np.c_[ii + pos[0][0], jj + pos[0][1]]) - ind2 = sub2ind(mesh.nFy, np.c_[ii + pos[1][0], jj + pos[1][1]]) + mesh.nF[0] + ind2 = sub2ind(mesh.nFy, np.c_[ii + pos[1][0], jj + pos[1][1]]) + mesh.nFv[0] IND = np.r_[ind1, ind2].flatten() @@ -387,8 +387,8 @@ def getEdgeInnerProduct(mesh, sigma=None, returnP=False): def Pxxx(pos): ind1 = sub2ind(mesh.nEx, np.c_[ii + pos[0][0], jj + pos[0][1], kk + pos[0][2]]) - ind2 = sub2ind(mesh.nEy, np.c_[ii + pos[1][0], jj + pos[1][1], kk + pos[1][2]]) + mesh.nE[0] - ind3 = sub2ind(mesh.nEz, np.c_[ii + pos[2][0], jj + pos[2][1], kk + pos[2][2]]) + mesh.nE[0] + mesh.nE[1] + ind2 = sub2ind(mesh.nEy, np.c_[ii + pos[1][0], jj + pos[1][1], kk + pos[1][2]]) + mesh.nEv[0] + ind3 = sub2ind(mesh.nEz, np.c_[ii + pos[2][0], jj + pos[2][1], kk + pos[2][2]]) + mesh.nEv[0] + mesh.nEv[1] IND = np.r_[ind1, ind2, ind3].flatten() @@ -499,7 +499,7 @@ def getEdgeInnerProduct2D(mesh, sigma=None, returnP=False): def Pxx(pos): ind1 = sub2ind(mesh.nEx, np.c_[ii + pos[0][0], jj + pos[0][1]]) - ind2 = sub2ind(mesh.nEy, np.c_[ii + pos[1][0], jj + pos[1][1]]) + mesh.nE[0] + ind2 = sub2ind(mesh.nEy, np.c_[ii + pos[1][0], jj + pos[1][1]]) + mesh.nEv[0] IND = np.r_[ind1, ind2].flatten() diff --git a/SimPEG/mesh/TensorMesh.py b/SimPEG/mesh/TensorMesh.py index 6cc5d8a6..90f8fd10 100644 --- a/SimPEG/mesh/TensorMesh.py +++ b/SimPEG/mesh/TensorMesh.py @@ -396,7 +396,7 @@ class TensorMesh(BaseMesh, TensorView, DiffOperators, InnerProducts): ind = 0 if 'x' in locType else 1 if 'y' in locType else 2 if 'z' in locType else -1 if locType in ['Fx','Fy','Fz','Ex','Ey','Ez'] and self.dim >= ind: - nF_nE = self.nF if 'F' in locType else self.nE + nF_nE = self.nFv if 'F' in locType else self.nEv components = [spzeros(loc.shape[0], n) for n in nF_nE] components[ind] = interpmat(loc, *self.getTensor(locType)) Q = sp.hstack(components) diff --git a/SimPEG/tests/test_LogicallyOrthogonalMesh.py b/SimPEG/tests/test_LogicallyOrthogonalMesh.py index 7f656aae..5f792c2f 100644 --- a/SimPEG/tests/test_LogicallyOrthogonalMesh.py +++ b/SimPEG/tests/test_LogicallyOrthogonalMesh.py @@ -44,43 +44,43 @@ class BasicLOMTests(unittest.TestCase): def test_tangents(self): T = self.LOM2.tangents - self.assertTrue(np.all(self.LOM2.r(T, 'E', 'Ex', 'V')[0] == np.ones(self.LOM2.nE[0]))) - self.assertTrue(np.all(self.LOM2.r(T, 'E', 'Ex', 'V')[1] == np.zeros(self.LOM2.nE[0]))) - self.assertTrue(np.all(self.LOM2.r(T, 'E', 'Ey', 'V')[0] == np.zeros(self.LOM2.nE[1]))) - self.assertTrue(np.all(self.LOM2.r(T, 'E', 'Ey', 'V')[1] == np.ones(self.LOM2.nE[1]))) + self.assertTrue(np.all(self.LOM2.r(T, 'E', 'Ex', 'V')[0] == np.ones(self.LOM2.nEv[0]))) + self.assertTrue(np.all(self.LOM2.r(T, 'E', 'Ex', 'V')[1] == np.zeros(self.LOM2.nEv[0]))) + self.assertTrue(np.all(self.LOM2.r(T, 'E', 'Ey', 'V')[0] == np.zeros(self.LOM2.nEv[1]))) + self.assertTrue(np.all(self.LOM2.r(T, 'E', 'Ey', 'V')[1] == np.ones(self.LOM2.nEv[1]))) T = self.LOM3.tangents - self.assertTrue(np.all(self.LOM3.r(T, 'E', 'Ex', 'V')[0] == np.ones(self.LOM3.nE[0]))) - self.assertTrue(np.all(self.LOM3.r(T, 'E', 'Ex', 'V')[1] == np.zeros(self.LOM3.nE[0]))) - self.assertTrue(np.all(self.LOM3.r(T, 'E', 'Ex', 'V')[2] == np.zeros(self.LOM3.nE[0]))) + self.assertTrue(np.all(self.LOM3.r(T, 'E', 'Ex', 'V')[0] == np.ones(self.LOM3.nEv[0]))) + self.assertTrue(np.all(self.LOM3.r(T, 'E', 'Ex', 'V')[1] == np.zeros(self.LOM3.nEv[0]))) + self.assertTrue(np.all(self.LOM3.r(T, 'E', 'Ex', 'V')[2] == np.zeros(self.LOM3.nEv[0]))) - self.assertTrue(np.all(self.LOM3.r(T, 'E', 'Ey', 'V')[0] == np.zeros(self.LOM3.nE[1]))) - self.assertTrue(np.all(self.LOM3.r(T, 'E', 'Ey', 'V')[1] == np.ones(self.LOM3.nE[1]))) - self.assertTrue(np.all(self.LOM3.r(T, 'E', 'Ey', 'V')[2] == np.zeros(self.LOM3.nE[1]))) + self.assertTrue(np.all(self.LOM3.r(T, 'E', 'Ey', 'V')[0] == np.zeros(self.LOM3.nEv[1]))) + self.assertTrue(np.all(self.LOM3.r(T, 'E', 'Ey', 'V')[1] == np.ones(self.LOM3.nEv[1]))) + self.assertTrue(np.all(self.LOM3.r(T, 'E', 'Ey', 'V')[2] == np.zeros(self.LOM3.nEv[1]))) - self.assertTrue(np.all(self.LOM3.r(T, 'E', 'Ez', 'V')[0] == np.zeros(self.LOM3.nE[2]))) - self.assertTrue(np.all(self.LOM3.r(T, 'E', 'Ez', 'V')[1] == np.zeros(self.LOM3.nE[2]))) - self.assertTrue(np.all(self.LOM3.r(T, 'E', 'Ez', 'V')[2] == np.ones(self.LOM3.nE[2]))) + self.assertTrue(np.all(self.LOM3.r(T, 'E', 'Ez', 'V')[0] == np.zeros(self.LOM3.nEv[2]))) + self.assertTrue(np.all(self.LOM3.r(T, 'E', 'Ez', 'V')[1] == np.zeros(self.LOM3.nEv[2]))) + self.assertTrue(np.all(self.LOM3.r(T, 'E', 'Ez', 'V')[2] == np.ones(self.LOM3.nEv[2]))) def test_normals(self): N = self.LOM2.normals - self.assertTrue(np.all(self.LOM2.r(N, 'F', 'Fx', 'V')[0] == np.ones(self.LOM2.nF[0]))) - self.assertTrue(np.all(self.LOM2.r(N, 'F', 'Fx', 'V')[1] == np.zeros(self.LOM2.nF[0]))) - self.assertTrue(np.all(self.LOM2.r(N, 'F', 'Fy', 'V')[0] == np.zeros(self.LOM2.nF[1]))) - self.assertTrue(np.all(self.LOM2.r(N, 'F', 'Fy', 'V')[1] == np.ones(self.LOM2.nF[1]))) + self.assertTrue(np.all(self.LOM2.r(N, 'F', 'Fx', 'V')[0] == np.ones(self.LOM2.nFv[0]))) + self.assertTrue(np.all(self.LOM2.r(N, 'F', 'Fx', 'V')[1] == np.zeros(self.LOM2.nFv[0]))) + self.assertTrue(np.all(self.LOM2.r(N, 'F', 'Fy', 'V')[0] == np.zeros(self.LOM2.nFv[1]))) + self.assertTrue(np.all(self.LOM2.r(N, 'F', 'Fy', 'V')[1] == np.ones(self.LOM2.nFv[1]))) N = self.LOM3.normals - self.assertTrue(np.all(self.LOM3.r(N, 'F', 'Fx', 'V')[0] == np.ones(self.LOM3.nF[0]))) - self.assertTrue(np.all(self.LOM3.r(N, 'F', 'Fx', 'V')[1] == np.zeros(self.LOM3.nF[0]))) - self.assertTrue(np.all(self.LOM3.r(N, 'F', 'Fx', 'V')[2] == np.zeros(self.LOM3.nF[0]))) + self.assertTrue(np.all(self.LOM3.r(N, 'F', 'Fx', 'V')[0] == np.ones(self.LOM3.nFv[0]))) + self.assertTrue(np.all(self.LOM3.r(N, 'F', 'Fx', 'V')[1] == np.zeros(self.LOM3.nFv[0]))) + self.assertTrue(np.all(self.LOM3.r(N, 'F', 'Fx', 'V')[2] == np.zeros(self.LOM3.nFv[0]))) - self.assertTrue(np.all(self.LOM3.r(N, 'F', 'Fy', 'V')[0] == np.zeros(self.LOM3.nF[1]))) - self.assertTrue(np.all(self.LOM3.r(N, 'F', 'Fy', 'V')[1] == np.ones(self.LOM3.nF[1]))) - self.assertTrue(np.all(self.LOM3.r(N, 'F', 'Fy', 'V')[2] == np.zeros(self.LOM3.nF[1]))) + self.assertTrue(np.all(self.LOM3.r(N, 'F', 'Fy', 'V')[0] == np.zeros(self.LOM3.nFv[1]))) + self.assertTrue(np.all(self.LOM3.r(N, 'F', 'Fy', 'V')[1] == np.ones(self.LOM3.nFv[1]))) + self.assertTrue(np.all(self.LOM3.r(N, 'F', 'Fy', 'V')[2] == np.zeros(self.LOM3.nFv[1]))) - self.assertTrue(np.all(self.LOM3.r(N, 'F', 'Fz', 'V')[0] == np.zeros(self.LOM3.nF[2]))) - self.assertTrue(np.all(self.LOM3.r(N, 'F', 'Fz', 'V')[1] == np.zeros(self.LOM3.nF[2]))) - self.assertTrue(np.all(self.LOM3.r(N, 'F', 'Fz', 'V')[2] == np.ones(self.LOM3.nF[2]))) + self.assertTrue(np.all(self.LOM3.r(N, 'F', 'Fz', 'V')[0] == np.zeros(self.LOM3.nFv[2]))) + self.assertTrue(np.all(self.LOM3.r(N, 'F', 'Fz', 'V')[1] == np.zeros(self.LOM3.nFv[2]))) + self.assertTrue(np.all(self.LOM3.r(N, 'F', 'Fz', 'V')[2] == np.ones(self.LOM3.nFv[2]))) def test_grid(self): self.assertTrue(np.all(self.LOM2.gridFx == self.TM2.gridFx)) diff --git a/SimPEG/tests/test_basemesh.py b/SimPEG/tests/test_basemesh.py index 5762de57..d81a8553 100644 --- a/SimPEG/tests/test_basemesh.py +++ b/SimPEG/tests/test_basemesh.py @@ -38,15 +38,17 @@ class TestBaseMesh(unittest.TestCase): def test_mesh_numbers(self): c = self.mesh.nC == 36 - f = np.all(self.mesh.nF == [42, 54, 48]) - e = np.all(self.mesh.nE == [72, 56, 63]) + fv = np.all(self.mesh.nFv == [42, 54, 48]) + ev = np.all(self.mesh.nEv == [72, 56, 63]) + f = np.all(self.mesh.nF == np.sum([42, 54, 48])) + e = np.all(self.mesh.nE == np.sum([72, 56, 63])) - self.assertTrue(np.all([c, f, e])) + self.assertTrue(np.all([c, fv, ev, f, e])) def test_mesh_r_E_V(self): - ex = np.ones(self.mesh.nE[0]) - ey = np.ones(self.mesh.nE[1])*2 - ez = np.ones(self.mesh.nE[2])*3 + ex = np.ones(self.mesh.nEv[0]) + ey = np.ones(self.mesh.nEv[1])*2 + ez = np.ones(self.mesh.nEv[2])*3 e = np.r_[ex, ey, ez] tex = self.mesh.r(e, 'E', 'Ex', 'V') tey = self.mesh.r(e, 'E', 'Ey', 'V') @@ -60,9 +62,9 @@ class TestBaseMesh(unittest.TestCase): self.assertTrue(np.all(tez == ez)) def test_mesh_r_F_V(self): - fx = np.ones(self.mesh.nF[0]) - fy = np.ones(self.mesh.nF[1])*2 - fz = np.ones(self.mesh.nF[2])*3 + fx = np.ones(self.mesh.nFv[0]) + fy = np.ones(self.mesh.nFv[1])*2 + fz = np.ones(self.mesh.nFv[2])*3 f = np.r_[fx, fy, fz] tfx = self.mesh.r(f, 'F', 'Fx', 'V') tfy = self.mesh.r(f, 'F', 'Fy', 'V') @@ -146,14 +148,16 @@ class TestMeshNumbers2D(unittest.TestCase): def test_mesh_numbers(self): c = self.mesh.nC == 12 - f = np.all(self.mesh.nF == [14, 18]) - e = np.all(self.mesh.nE == [18, 14]) + fv = np.all(self.mesh.nFv == [14, 18]) + ev = np.all(self.mesh.nEv == [18, 14]) + f = np.all(self.mesh.nF == np.sum([14, 18])) + e = np.all(self.mesh.nE == np.sum([18, 14])) - self.assertTrue(np.all([c, f, e])) + self.assertTrue(np.all([c, fv, ev, f, e])) def test_mesh_r_E_V(self): - ex = np.ones(self.mesh.nE[0]) - ey = np.ones(self.mesh.nE[1])*2 + ex = np.ones(self.mesh.nEv[0]) + ey = np.ones(self.mesh.nEv[1])*2 e = np.r_[ex, ey] tex = self.mesh.r(e, 'E', 'Ex', 'V') tey = self.mesh.r(e, 'E', 'Ey', 'V') @@ -165,8 +169,8 @@ class TestMeshNumbers2D(unittest.TestCase): self.assertRaises(AssertionError, self.mesh.r, e, 'E', 'Ez', 'V') def test_mesh_r_F_V(self): - fx = np.ones(self.mesh.nF[0]) - fy = np.ones(self.mesh.nF[1])*2 + fx = np.ones(self.mesh.nFv[0]) + fy = np.ones(self.mesh.nFv[1])*2 f = np.r_[fx, fy] tfx = self.mesh.r(f, 'F', 'Fx', 'V') tfy = self.mesh.r(f, 'F', 'Fy', 'V') diff --git a/SimPEG/utils/sputils.py b/SimPEG/utils/sputils.py index 4f71e69e..e066322b 100644 --- a/SimPEG/utils/sputils.py +++ b/SimPEG/utils/sputils.py @@ -1,5 +1,6 @@ from scipy import sparse as sp from matutils import mkvc +import numpy as np def sdiag(h): diff --git a/docs/api_TestResults.rst b/docs/api_TestResults.rst index 7b276006..77c553ac 100644 --- a/docs/api_TestResults.rst +++ b/docs/api_TestResults.rst @@ -185,8 +185,8 @@ Test Results -->
-

Start Time: 2013-11-05 16:10:07

-

Duration: 0:00:31.280082

+

Start Time: 2013-11-06 11:11:28

+

Duration: 0:00:31.165229

Status: Pass 99

SimPEG Test Report was automatically generated.

@@ -377,15 +377,15 @@ Test Results pt3.2: ==================== checkDerivative ==================== iter h |J0-Jt| |J0+h*dJ'*dx-Jt| Order --------------------------------------------------------- - 0 1.00e-01 3.555e+01 3.750e+01 nan - 1 1.00e-02 1.711e-01 3.662e-01 2.010 - 2 1.00e-03 1.586e-02 3.653e-03 2.001 - 3 1.00e-04 1.915e-03 3.652e-05 2.000 - 4 1.00e-05 1.948e-04 3.652e-07 2.000 - 5 1.00e-06 1.951e-05 3.662e-09 1.999 - 6 1.00e-07 1.951e-06 3.158e-11 2.064 + 0 1.00e-01 3.539e+01 3.808e+01 nan + 1 1.00e-02 1.088e-01 3.784e-01 2.003 + 2 1.00e-03 2.318e-02 3.783e-03 2.000 + 3 1.00e-04 2.659e-03 3.782e-05 2.000 + 4 1.00e-05 2.693e-04 3.782e-07 2.000 + 5 1.00e-06 2.696e-05 3.787e-09 2.000 + 6 1.00e-07 2.696e-06 4.574e-11 1.918 ========================= PASS! ========================= - Testing is important. + You are awesome. @@ -414,15 +414,15 @@ Test Results pt3.3: ==================== checkDerivative ==================== iter h |J0-Jt| |J0+h*dJ'*dx-Jt| Order --------------------------------------------------------- - 0 1.00e-01 5.409e-02 4.593e-03 nan - 1 1.00e-02 5.429e-03 4.574e-05 2.002 - 2 1.00e-03 5.431e-04 4.570e-07 2.000 - 3 1.00e-04 5.431e-05 4.570e-09 2.000 - 4 1.00e-05 5.431e-06 4.570e-11 2.000 - 5 1.00e-06 5.431e-07 4.553e-13 2.002 - 6 1.00e-07 5.431e-08 4.751e-15 1.982 + 0 1.00e-01 5.058e-02 4.612e-03 nan + 1 1.00e-02 5.059e-03 4.602e-05 2.001 + 2 1.00e-03 5.060e-04 4.600e-07 2.000 + 3 1.00e-04 5.060e-05 4.600e-09 2.000 + 4 1.00e-05 5.060e-06 4.600e-11 2.000 + 5 1.00e-06 5.060e-07 4.619e-13 1.998 + 6 1.00e-07 5.060e-08 4.783e-15 1.985 ========================= PASS! ========================= - That was easy! + You are awesome. @@ -451,15 +451,15 @@ Test Results pt3.4: ==================== checkDerivative ==================== iter h |J0-Jt| |J0+h*dJ'*dx-Jt| Order --------------------------------------------------------- - 0 1.00e-01 8.756e+00 7.946e+00 nan - 1 1.00e-02 1.605e-01 7.946e-02 2.000 - 2 1.00e-03 8.894e-03 7.946e-04 2.000 - 3 1.00e-04 8.179e-04 7.946e-06 2.000 - 4 1.00e-05 8.108e-05 7.946e-08 2.000 - 5 1.00e-06 8.100e-06 7.946e-10 2.000 - 6 1.00e-07 8.100e-07 7.947e-12 2.000 + 0 1.00e-01 7.509e+00 7.507e+00 nan + 1 1.00e-02 7.529e-02 7.507e-02 2.000 + 2 1.00e-03 7.725e-04 7.507e-04 2.000 + 3 1.00e-04 9.680e-06 7.507e-06 2.000 + 4 1.00e-05 2.924e-07 7.507e-08 2.000 + 5 1.00e-06 2.248e-08 7.507e-10 2.000 + 6 1.00e-07 2.181e-09 7.507e-12 2.000 ========================= PASS! ========================= - The test be workin! + Testing is important. @@ -498,15 +498,15 @@ Test Results ==================== checkDerivative ==================== iter h |J0-Jt| |J0+h*dJ'*dx-Jt| Order --------------------------------------------------------- - 0 1.00e-01 1.309e-01 4.745e-17 nan - 1 1.00e-02 1.309e-02 4.825e-17 -0.007 - 2 1.00e-03 1.309e-03 5.993e-17 -0.094 - 3 1.00e-04 1.309e-04 6.648e-17 -0.045 - 4 1.00e-05 1.309e-05 6.931e-17 -0.018 - 5 1.00e-06 1.309e-06 6.247e-17 0.045 - 6 1.00e-07 1.309e-07 5.708e-17 0.039 + 0 1.00e-01 2.750e-01 6.208e-17 nan + 1 1.00e-02 2.750e-02 6.731e-17 -0.035 + 2 1.00e-03 2.750e-03 6.483e-17 0.016 + 3 1.00e-04 2.750e-04 5.624e-17 0.062 + 4 1.00e-05 2.750e-05 6.905e-17 -0.089 + 5 1.00e-06 2.750e-06 3.779e-17 0.262 + 6 1.00e-07 2.750e-07 5.028e-17 -0.124 ========================= PASS! ========================= - You are awesome. + The test be workin! @@ -535,15 +535,15 @@ Test Results pt4.2: ==================== checkDerivative ==================== iter h |J0-Jt| |J0+h*dJ'*dx-Jt| Order --------------------------------------------------------- - 0 1.00e-01 3.133e-01 3.168e-02 nan - 1 1.00e-02 3.418e-02 3.168e-04 2.000 - 2 1.00e-03 3.447e-03 3.168e-06 2.000 - 3 1.00e-04 3.449e-04 3.168e-08 2.000 - 4 1.00e-05 3.450e-05 3.168e-10 2.000 - 5 1.00e-06 3.450e-06 3.169e-12 2.000 - 6 1.00e-07 3.450e-07 3.481e-14 1.959 + 0 1.00e-01 5.097e-01 3.406e-02 nan + 1 1.00e-02 4.790e-02 3.406e-04 2.000 + 2 1.00e-03 4.760e-03 3.406e-06 2.000 + 3 1.00e-04 4.757e-04 3.406e-08 2.000 + 4 1.00e-05 4.756e-05 3.406e-10 2.000 + 5 1.00e-06 4.756e-06 3.409e-12 2.000 + 6 1.00e-07 4.756e-07 3.712e-14 1.963 ========================= PASS! ========================= - That was easy! + Once upon a time, a happy little test passed. @@ -583,22 +583,22 @@ Test Results _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 2.76e-01 | - 16 | 6.10e-02 | 4.5221 | 2.1770 - 32 | 1.44e-02 | 4.2290 | 2.0803 + 8 | 2.73e-01 | + 16 | 7.43e-02 | 3.6706 | 1.8760 + 32 | 1.68e-02 | 4.4243 | 2.1454 --------------------------------------------- - Happy little convergence test! + That was easy! randomTensorMesh: Interpolation 1D: CC _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 2.46e-01 | - 16 | 1.11e-01 | 2.2066 | 0.9651 - 32 | 4.07e-02 | 2.7360 | 3.1871 + 8 | 4.10e-01 | + 16 | 1.03e-01 | 3.9943 | 2.3138 + 32 | 2.38e-02 | 4.3129 | 2.1747 --------------------------------------------- - Testing is important. + Go Test Go! @@ -629,22 +629,22 @@ Test Results _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 2.39e-01 | - 16 | 6.89e-02 | 3.4636 | 1.7923 - 32 | 1.78e-02 | 3.8797 | 1.9559 + 8 | 2.67e-01 | + 16 | 6.20e-02 | 4.3031 | 2.1054 + 32 | 1.74e-02 | 3.5710 | 1.8363 --------------------------------------------- - You get a gold star! + That was easy! randomTensorMesh: Interpolation 1D: N _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 5.97e-01 | - 16 | 1.38e-01 | 4.3354 | 1.7681 - 32 | 3.33e-02 | 4.1339 | 2.1579 + 8 | 5.93e-01 | + 16 | 6.78e-02 | 8.7462 | 3.4908 + 32 | 3.76e-02 | 1.8044 | 0.9007 --------------------------------------------- - Yay passed! + You get a gold star! @@ -684,10 +684,10 @@ Test Results _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 7.06e-02 | - 16 | 1.78e-02 | 3.9781 | 1.9921 - 32 | 4.72e-03 | 3.7595 | 1.9106 - 64 | 1.18e-03 | 3.9981 | 1.9993 + 8 | 7.05e-02 | + 16 | 1.77e-02 | 3.9862 | 1.9950 + 32 | 4.41e-03 | 4.0153 | 2.0055 + 64 | 1.17e-03 | 3.7677 | 1.9137 --------------------------------------------- The test be workin! @@ -696,12 +696,12 @@ Test Results _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 9.16e-02 | - 16 | 3.39e-02 | 2.7044 | 1.6128 - 32 | 9.31e-03 | 3.6391 | 1.9612 - 64 | 4.10e-03 | 2.2687 | 1.5130 + 8 | 1.89e-01 | + 16 | 4.17e-02 | 4.5168 | 1.7836 + 32 | 9.85e-03 | 4.2370 | 3.1893 + 64 | 2.20e-03 | 4.4807 | 2.0262 --------------------------------------------- - Testing is important. + And then everyone was happy. @@ -732,24 +732,24 @@ Test Results _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 7.04e-02 | - 16 | 1.88e-02 | 3.7329 | 1.9003 - 32 | 4.77e-03 | 3.9517 | 1.9825 - 64 | 1.19e-03 | 4.0081 | 2.0029 + 8 | 7.03e-02 | + 16 | 1.71e-02 | 4.1134 | 2.0403 + 32 | 4.76e-03 | 3.5912 | 1.8445 + 64 | 1.12e-03 | 4.2361 | 2.0827 --------------------------------------------- - Testing is important. + You are awesome. randomTensorMesh: Interpolation 2D: Ex _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 1.96e-01 | - 16 | 4.30e-02 | 4.5625 | 2.7996 - 32 | 2.01e-02 | 2.1406 | 1.0860 - 64 | 3.32e-03 | 6.0522 | 2.4217 + 8 | 1.56e-01 | + 16 | 3.08e-02 | 5.0805 | 2.2001 + 32 | 1.55e-02 | 1.9870 | 1.1651 + 64 | 2.69e-03 | 5.7523 | 2.4072 --------------------------------------------- - You get a gold star! + Happy little convergence test! @@ -780,24 +780,24 @@ Test Results _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 7.01e-02 | - 16 | 1.88e-02 | 3.7175 | 1.8943 - 32 | 4.59e-03 | 4.1014 | 2.0361 - 64 | 1.19e-03 | 3.8653 | 1.9506 + 8 | 7.02e-02 | + 16 | 1.72e-02 | 4.0871 | 2.0311 + 32 | 4.79e-03 | 3.5869 | 1.8427 + 64 | 1.14e-03 | 4.2023 | 2.0712 --------------------------------------------- - The test be workin! + Go Test Go! randomTensorMesh: Interpolation 2D: Ey _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 1.92e-01 | - 16 | 5.13e-02 | 3.7457 | 2.6593 - 32 | 1.09e-02 | 4.7164 | 2.0227 - 64 | 4.07e-03 | 2.6707 | 1.4891 + 8 | 1.31e-01 | + 16 | 2.59e-02 | 5.0781 | 5.2443 + 32 | 1.23e-02 | 2.0999 | 0.8534 + 64 | 3.11e-03 | 3.9548 | 2.0421 --------------------------------------------- - Go Test Go! + You are awesome. @@ -828,24 +828,24 @@ Test Results _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 7.06e-02 | - 16 | 1.78e-02 | 3.9781 | 1.9921 - 32 | 4.72e-03 | 3.7595 | 1.9106 - 64 | 1.18e-03 | 3.9981 | 1.9993 + 8 | 7.05e-02 | + 16 | 1.77e-02 | 3.9862 | 1.9950 + 32 | 4.41e-03 | 4.0153 | 2.0055 + 64 | 1.17e-03 | 3.7677 | 1.9137 --------------------------------------------- - Yay passed! + You are awesome. randomTensorMesh: Interpolation 2D: Fx _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 9.82e-02 | - 16 | 5.58e-02 | 1.7592 | 6.6696 - 32 | 6.57e-03 | 8.4887 | 2.2061 - 64 | 4.28e-03 | 1.5342 | 0.6081 + 8 | 9.96e-02 | + 16 | 1.73e-02 | 5.7675 | 2.0865 + 32 | 1.01e-02 | 1.7044 | 1.2299 + 64 | 2.77e-03 | 3.6586 | 1.7076 --------------------------------------------- - The test be workin! + Happy little convergence test! @@ -876,24 +876,24 @@ Test Results _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 7.57e-02 | - 16 | 1.88e-02 | 4.0222 | 2.0080 - 32 | 4.72e-03 | 3.9905 | 1.9966 - 64 | 1.18e-03 | 4.0110 | 2.0040 + 8 | 7.59e-02 | + 16 | 1.90e-02 | 3.9961 | 1.9986 + 32 | 4.59e-03 | 4.1347 | 2.0478 + 64 | 1.20e-03 | 3.8324 | 1.9383 --------------------------------------------- - That was easy! + Testing is important. randomTensorMesh: Interpolation 2D: Fy _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 6.72e-02 | - 16 | 3.28e-02 | 2.0482 | 1.6433 - 32 | 1.13e-02 | 2.9135 | 2.1786 - 64 | 3.35e-03 | 3.3628 | 1.6438 + 8 | 3.03e-01 | + 16 | 4.25e-02 | 7.1320 | 1.7548 + 32 | 1.32e-02 | 3.2231 | 1.6324 + 64 | 3.93e-03 | 3.3594 | 1.7875 --------------------------------------------- - Yay passed! + Once upon a time, a happy little test passed. @@ -924,22 +924,22 @@ Test Results _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 7.04e-02 | - 16 | 1.88e-02 | 3.7329 | 1.9003 - 32 | 4.77e-03 | 3.9517 | 1.9825 - 64 | 1.19e-03 | 4.0081 | 2.0029 + 8 | 7.03e-02 | + 16 | 1.71e-02 | 4.1134 | 2.0403 + 32 | 4.76e-03 | 3.5912 | 1.8445 + 64 | 1.12e-03 | 4.2361 | 2.0827 --------------------------------------------- - Once upon a time, a happy little test passed. + You get a gold star! randomTensorMesh: Interpolation 2D: N _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 1.24e-01 | - 16 | 6.30e-02 | 1.9636 | 1.2918 - 32 | 2.15e-02 | 2.9310 | 1.6864 - 64 | 4.96e-03 | 4.3359 | 1.9158 + 8 | 2.66e-01 | + 16 | 4.38e-02 | 6.0739 | 2.6888 + 32 | 1.80e-02 | 2.4281 | 1.3972 + 64 | 4.17e-03 | 4.3256 | 2.4146 --------------------------------------------- Happy little convergence test! @@ -981,24 +981,24 @@ Test Results _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 7.36e-02 | - 16 | 1.74e-02 | 4.2291 | 2.0803 - 32 | 4.16e-03 | 4.1900 | 2.0669 - 64 | 9.48e-04 | 4.3858 | 2.1328 + 8 | 7.31e-02 | + 16 | 1.74e-02 | 4.2000 | 2.0704 + 32 | 4.72e-03 | 3.6872 | 1.8825 + 64 | 1.18e-03 | 4.0013 | 2.0005 --------------------------------------------- - That was easy! + You get a gold star! randomTensorMesh: Interpolation CC _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 2.30e-01 | - 16 | 1.70e-02 | 13.5276 | 3.5152 - 32 | 6.70e-03 | 2.5405 | 1.2651 - 64 | 1.88e-03 | 3.5689 | 1.8184 + 8 | 1.08e-01 | + 16 | 4.56e-02 | 2.3716 | 0.8977 + 32 | 1.24e-02 | 3.6634 | 2.2794 + 64 | 1.88e-03 | 6.6126 | 2.7981 --------------------------------------------- - That was easy! + Once upon a time, a happy little test passed. @@ -1030,23 +1030,23 @@ Test Results h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ 8 | 6.98e-02 | - 16 | 1.79e-02 | 3.8902 | 1.9598 - 32 | 4.41e-03 | 4.0681 | 2.0244 - 64 | 1.18e-03 | 3.7418 | 1.9037 + 16 | 1.88e-02 | 3.7045 | 1.8893 + 32 | 4.59e-03 | 4.1091 | 2.0388 + 64 | 1.14e-03 | 4.0151 | 2.0055 --------------------------------------------- - Happy little convergence test! + You get a gold star! randomTensorMesh: Interpolation Ex _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 2.92e-01 | - 16 | 8.20e-02 | 3.5597 | 4.3217 - 32 | 9.49e-03 | 8.6460 | 1.9353 - 64 | 2.89e-03 | 3.2854 | 1.7236 + 8 | 5.50e-02 | + 16 | 4.71e-02 | 1.1678 | 0.2570 + 32 | 1.67e-02 | 2.8100 | 1.5992 + 64 | 3.48e-03 | 4.8177 | 2.1148 --------------------------------------------- - Testing is important. + Happy little convergence test! @@ -1078,23 +1078,23 @@ Test Results h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ 8 | 7.04e-02 | - 16 | 1.87e-02 | 3.7726 | 1.9155 - 32 | 4.61e-03 | 4.0477 | 2.0171 - 64 | 1.09e-03 | 4.2392 | 2.0838 + 16 | 1.88e-02 | 3.7354 | 1.9013 + 32 | 4.79e-03 | 3.9340 | 1.9760 + 64 | 1.10e-03 | 4.3414 | 2.1181 --------------------------------------------- - You are awesome. + And then everyone was happy. randomTensorMesh: Interpolation Ey _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 1.30e-01 | - 16 | 4.52e-02 | 2.8770 | 1.4488 - 32 | 1.36e-02 | 3.3196 | 2.2159 - 64 | 2.81e-03 | 4.8481 | 1.8199 + 8 | 1.82e-01 | + 16 | 3.48e-02 | 5.2148 | 2.2201 + 32 | 1.58e-02 | 2.2094 | 1.1758 + 64 | 3.31e-03 | 4.7590 | 2.7468 --------------------------------------------- - You are awesome. + Testing is important. @@ -1125,10 +1125,10 @@ Test Results _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 7.04e-02 | - 16 | 1.87e-02 | 3.7711 | 1.9150 - 32 | 4.61e-03 | 4.0489 | 2.0175 - 64 | 1.15e-03 | 4.0151 | 2.0054 + 8 | 7.03e-02 | + 16 | 1.88e-02 | 3.7298 | 1.8991 + 32 | 4.71e-03 | 3.9968 | 1.9988 + 64 | 1.18e-03 | 3.9906 | 1.9966 --------------------------------------------- Yay passed! @@ -1137,12 +1137,12 @@ Test Results _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 3.81e-01 | - 16 | 3.89e-02 | 9.7974 | 2.2747 - 32 | 2.09e-02 | 1.8614 | 2.2906 - 64 | 3.97e-03 | 5.2691 | 1.7820 + 8 | 8.25e-02 | + 16 | 4.29e-02 | 1.9223 | 2.4876 + 32 | 7.01e-03 | 6.1240 | 2.8538 + 64 | 3.23e-03 | 2.1719 | 0.8988 --------------------------------------------- - Once upon a time, a happy little test passed. + Yay passed! @@ -1173,24 +1173,24 @@ Test Results _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 7.36e-02 | - 16 | 1.74e-02 | 4.2291 | 2.0803 - 32 | 4.16e-03 | 4.1900 | 2.0669 - 64 | 9.48e-04 | 4.3858 | 2.1328 + 8 | 7.31e-02 | + 16 | 1.74e-02 | 4.2000 | 2.0704 + 32 | 4.72e-03 | 3.6872 | 1.8825 + 64 | 1.18e-03 | 4.0013 | 2.0005 --------------------------------------------- - Once upon a time, a happy little test passed. + You get a gold star! randomTensorMesh: Interpolation Fx _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 1.59e-01 | - 16 | 7.66e-02 | 2.0691 | 1.2662 - 32 | 1.01e-02 | 7.5592 | 3.0198 - 64 | 1.82e-03 | 5.5842 | 2.5778 + 8 | 2.20e-01 | + 16 | 3.87e-02 | 5.6726 | 1.9692 + 32 | 8.15e-03 | 4.7505 | 2.5356 + 64 | 2.92e-03 | 2.7923 | 1.1860 --------------------------------------------- - That was easy! + You are awesome. @@ -1222,23 +1222,23 @@ Test Results h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ 8 | 7.61e-02 | - 16 | 1.92e-02 | 3.9682 | 1.9885 - 32 | 4.77e-03 | 4.0172 | 2.0062 - 64 | 1.16e-03 | 4.1081 | 2.0385 + 16 | 1.92e-02 | 3.9642 | 1.9870 + 32 | 4.80e-03 | 4.0009 | 2.0003 + 64 | 1.20e-03 | 4.0149 | 2.0054 --------------------------------------------- - Once upon a time, a happy little test passed. + Happy little convergence test! randomTensorMesh: Interpolation Fy _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 1.45e-01 | - 16 | 5.01e-02 | 2.8858 | 1.2456 - 32 | 8.71e-03 | 5.7525 | 3.4043 - 64 | 1.85e-03 | 4.7102 | 1.9579 + 8 | 7.28e-02 | + 16 | 4.98e-02 | 1.4609 | 0.5300 + 32 | 1.33e-02 | 3.7498 | 2.0025 + 64 | 3.39e-03 | 3.9258 | 2.0079 --------------------------------------------- - The test be workin! + Go Test Go! @@ -1269,22 +1269,22 @@ Test Results _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 7.41e-02 | - 16 | 1.78e-02 | 4.1730 | 2.0611 - 32 | 4.55e-03 | 3.9004 | 1.9636 - 64 | 1.11e-03 | 4.0930 | 2.0332 + 8 | 7.00e-02 | + 16 | 1.77e-02 | 3.9486 | 1.9813 + 32 | 4.72e-03 | 3.7558 | 1.9091 + 64 | 1.18e-03 | 3.9996 | 1.9998 --------------------------------------------- - And then everyone was happy. + Yay passed! randomTensorMesh: Interpolation Fz _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 7.63e-02 | - 16 | 4.19e-02 | 1.8225 | 1.1195 - 32 | 9.07e-03 | 4.6176 | 1.4900 - 64 | 2.70e-03 | 3.3657 | 2.0946 + 8 | 2.23e-01 | + 16 | 2.42e-02 | 9.2112 | 3.4729 + 32 | 1.01e-02 | 2.4067 | 1.3901 + 64 | 2.60e-03 | 3.8724 | 1.5817 --------------------------------------------- Go Test Go! @@ -1318,23 +1318,23 @@ Test Results h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ 8 | 6.98e-02 | - 16 | 1.79e-02 | 3.8902 | 1.9598 - 32 | 4.41e-03 | 4.0681 | 2.0244 - 64 | 1.18e-03 | 3.7418 | 1.9037 + 16 | 1.88e-02 | 3.7045 | 1.8893 + 32 | 4.59e-03 | 4.1091 | 2.0388 + 64 | 1.14e-03 | 4.0151 | 2.0055 --------------------------------------------- - You are awesome. + Once upon a time, a happy little test passed. randomTensorMesh: Interpolation N _____________________________________________ h | error | e(i-1)/e(i) | order ~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~~~~|~~~~~~~~~~ - 8 | 2.76e-01 | - 16 | 4.47e-02 | 6.1758 | 2.9429 - 32 | 1.13e-02 | 3.9576 | 1.7499 - 64 | 4.59e-03 | 2.4595 | 2.1993 + 8 | 1.31e-01 | + 16 | 3.84e-02 | 3.3975 | 2.2016 + 32 | 1.14e-02 | 3.3573 | 1.4353 + 64 | 4.61e-03 | 2.4829 | 1.4794 --------------------------------------------- - And then everyone was happy. + You are awesome. @@ -1426,7 +1426,7 @@ Test Results 16 | 2.42e-03 | 32 | 6.06e-04 | 4.0001 | 2.0000 --------------------------------------------- - Once upon a time, a happy little test passed. + Go Test Go! uniformLOM: Edge Inner Product - Isotropic @@ -1436,7 +1436,7 @@ Test Results 16 | 2.42e-03 | 32 | 6.06e-04 | 4.0001 | 2.0000 --------------------------------------------- - Testing is important. + Happy little convergence test! rotateLOM: Edge Inner Product - Isotropic @@ -1446,7 +1446,7 @@ Test Results 16 | 2.81e-03 | 32 | 7.11e-04 | 3.9432 | 1.9794 --------------------------------------------- - The test be workin! + Go Test Go! @@ -1480,7 +1480,7 @@ Test Results 16 | 6.29e-04 | 32 | 1.57e-04 | 3.9978 | 1.9992 --------------------------------------------- - You are awesome. + Happy little convergence test! uniformLOM: Face Inner Product - Isotropic @@ -1490,7 +1490,7 @@ Test Results 16 | 6.29e-04 | 32 | 1.57e-04 | 3.9978 | 1.9992 --------------------------------------------- - Yay passed! + Testing is important. rotateLOM: Face Inner Product - Isotropic @@ -1500,7 +1500,7 @@ Test Results 16 | 3.08e-04 | 32 | 7.07e-05 | 4.3564 | 2.1231 --------------------------------------------- - And then everyone was happy. + Go Test Go! @@ -1534,7 +1534,7 @@ Test Results 16 | 6.99e-03 | 32 | 1.75e-03 | 3.9996 | 1.9998 --------------------------------------------- - Yay passed! + You get a gold star! uniformLOM: Edge Inner Product - Anisotropic @@ -1544,7 +1544,7 @@ Test Results 16 | 6.99e-03 | 32 | 1.75e-03 | 3.9996 | 1.9998 --------------------------------------------- - Happy little convergence test! + The test be workin! rotateLOM: Edge Inner Product - Anisotropic @@ -1588,7 +1588,7 @@ Test Results 16 | 2.68e-03 | 32 | 6.69e-04 | 3.9982 | 1.9993 --------------------------------------------- - You are awesome. + Testing is important. uniformLOM: Face Inner Product - Anisotropic @@ -1608,7 +1608,7 @@ Test Results 16 | 2.15e-03 | 32 | 5.25e-04 | 4.0845 | 2.0302 --------------------------------------------- - The test be workin! + That was easy! @@ -1642,7 +1642,7 @@ Test Results 16 | 6.79e-03 | 32 | 1.70e-03 | 3.9996 | 1.9998 --------------------------------------------- - And then everyone was happy. + You are awesome. uniformLOM: Edge Inner Product - Full Tensor @@ -1652,7 +1652,7 @@ Test Results 16 | 6.79e-03 | 32 | 1.70e-03 | 3.9996 | 1.9998 --------------------------------------------- - You get a gold star! + Go Test Go! rotateLOM: Edge Inner Product - Full Tensor @@ -1662,7 +1662,7 @@ Test Results 16 | 7.49e-03 | 32 | 1.89e-03 | 3.9617 | 1.9861 --------------------------------------------- - The test be workin! + And then everyone was happy. @@ -1696,7 +1696,7 @@ Test Results 16 | 3.10e-03 | 32 | 7.74e-04 | 3.9981 | 1.9993 --------------------------------------------- - Testing is important. + Once upon a time, a happy little test passed. uniformLOM: Face Inner Product - Full Tensor @@ -1716,7 +1716,7 @@ Test Results 16 | 2.54e-03 | 32 | 6.23e-04 | 4.0741 | 2.0265 --------------------------------------------- - You are awesome. + That was easy! @@ -1763,7 +1763,7 @@ Test Results 64 | 2.18e-02 | 4.0001 | 2.0000 128 | 5.46e-03 | 4.0000 | 2.0000 --------------------------------------------- - Go Test Go! + You get a gold star! uniformLOM: 2D Edge Inner Product - Isotropic @@ -1777,7 +1777,7 @@ Test Results 64 | 2.18e-02 | 4.0001 | 2.0000 128 | 5.46e-03 | 4.0000 | 2.0000 --------------------------------------------- - And then everyone was happy. + Go Test Go! rotateLOM: 2D Edge Inner Product - Isotropic @@ -1791,7 +1791,7 @@ Test Results 64 | 2.00e-02 | 4.0155 | 2.0056 128 | 5.00e-03 | 4.0038 | 2.0014 --------------------------------------------- - You get a gold star! + And then everyone was happy. @@ -1829,7 +1829,7 @@ Test Results 64 | 2.53e-02 | 4.0000 | 2.0000 128 | 6.32e-03 | 4.0000 | 2.0000 --------------------------------------------- - And then everyone was happy. + Testing is important. uniformLOM: 2D Face Inner Product - Isotropic @@ -1843,7 +1843,7 @@ Test Results 64 | 2.53e-02 | 4.0000 | 2.0000 128 | 6.32e-03 | 4.0000 | 2.0000 --------------------------------------------- - Yay passed! + That was easy! rotateLOM: 2D Face Inner Product - Isotropic @@ -1857,7 +1857,7 @@ Test Results 64 | 2.30e-02 | 4.0132 | 2.0048 128 | 5.74e-03 | 4.0009 | 2.0003 --------------------------------------------- - And then everyone was happy. + Go Test Go! @@ -1895,7 +1895,7 @@ Test Results 64 | 1.30e-01 | 4.0000 | 2.0000 128 | 3.24e-02 | 4.0000 | 2.0000 --------------------------------------------- - You are awesome. + Once upon a time, a happy little test passed. uniformLOM: 2D Face Inner Product - Anisotropic @@ -1909,7 +1909,7 @@ Test Results 64 | 1.30e-01 | 4.0000 | 2.0000 128 | 3.24e-02 | 4.0000 | 2.0000 --------------------------------------------- - And then everyone was happy. + You are awesome. rotateLOM: 2D Face Inner Product - Anisotropic @@ -1923,7 +1923,7 @@ Test Results 64 | 1.28e-01 | 4.0007 | 2.0003 128 | 3.19e-02 | 3.9975 | 1.9991 --------------------------------------------- - And then everyone was happy. + Once upon a time, a happy little test passed. @@ -1961,7 +1961,7 @@ Test Results 64 | 3.66e-02 | 4.0000 | 2.0000 128 | 9.14e-03 | 4.0000 | 2.0000 --------------------------------------------- - And then everyone was happy. + You are awesome. uniformLOM: 2D Edge Inner Product - Anisotropic @@ -1975,7 +1975,7 @@ Test Results 64 | 3.66e-02 | 4.0000 | 2.0000 128 | 9.14e-03 | 4.0000 | 2.0000 --------------------------------------------- - You get a gold star! + The test be workin! rotateLOM: 2D Edge Inner Product - Anisotropic @@ -1989,7 +1989,7 @@ Test Results 64 | 2.23e-02 | 4.0739 | 2.0264 128 | 5.54e-03 | 4.0255 | 2.0092 --------------------------------------------- - Testing is important. + Happy little convergence test! @@ -2027,7 +2027,7 @@ Test Results 64 | 1.52e-01 | 4.0000 | 2.0000 128 | 3.80e-02 | 4.0000 | 2.0000 --------------------------------------------- - Yay passed! + Happy little convergence test! uniformLOM: 2D Face Inner Product - Full Tensor @@ -2041,7 +2041,7 @@ Test Results 64 | 1.52e-01 | 4.0000 | 2.0000 128 | 3.80e-02 | 4.0000 | 2.0000 --------------------------------------------- - Once upon a time, a happy little test passed. + Happy little convergence test! rotateLOM: 2D Face Inner Product - Full Tensor @@ -2055,7 +2055,7 @@ Test Results 64 | 1.45e-01 | 4.0074 | 2.0027 128 | 3.62e-02 | 3.9984 | 1.9994 --------------------------------------------- - And then everyone was happy. + Once upon a time, a happy little test passed. @@ -2093,7 +2093,7 @@ Test Results 64 | 3.78e-03 | 4.0001 | 2.0000 128 | 9.46e-04 | 4.0000 | 2.0000 --------------------------------------------- - You get a gold star! + You are awesome. uniformLOM: 2D Edge Inner Product - Full Tensor @@ -2107,7 +2107,7 @@ Test Results 64 | 3.78e-03 | 4.0001 | 2.0000 128 | 9.46e-04 | 4.0000 | 2.0000 --------------------------------------------- - Testing is important. + Yay passed! rotateLOM: 2D Edge Inner Product - Full Tensor @@ -2121,7 +2121,7 @@ Test Results 64 | 1.98e-02 | 3.8708 | 1.9526 128 | 5.03e-03 | 3.9418 | 1.9789 --------------------------------------------- - Testing is important. + Yay passed! @@ -2166,7 +2166,7 @@ Test Results 16 | 3.95e-02 | 3.7462 | 1.9054 32 | 1.00e-02 | 3.9364 | 1.9769 --------------------------------------------- - You are awesome. + Testing is important. uniformLOM: Curl @@ -2178,7 +2178,7 @@ Test Results 16 | 3.95e-02 | 3.7462 | 1.9054 32 | 1.00e-02 | 3.9364 | 1.9769 --------------------------------------------- - The test be workin! + Once upon a time, a happy little test passed. rotateLOM: Curl @@ -2190,7 +2190,7 @@ Test Results 16 | 1.70e-02 | 5.2040 | 2.3796 32 | 3.77e-03 | 4.5126 | 2.1740 --------------------------------------------- - Happy little convergence test! + You get a gold star! @@ -2234,7 +2234,7 @@ Test Results 16 | 1.19e-01 | 3.7462 | 1.9054 32 | 3.01e-02 | 3.9364 | 1.9769 --------------------------------------------- - That was easy! + Testing is important. uniformLOM: Face Divergence @@ -2245,7 +2245,7 @@ Test Results 16 | 1.19e-01 | 3.7462 | 1.9054 32 | 3.01e-02 | 3.9364 | 1.9769 --------------------------------------------- - Once upon a time, a happy little test passed. + The test be workin! rotateLOM: Face Divergence @@ -2256,7 +2256,7 @@ Test Results 16 | 9.53e-04 | 9.5374 | 3.2536 32 | 2.75e-04 | 3.4594 | 1.7905 --------------------------------------------- - That was easy! + You are awesome. @@ -2301,7 +2301,7 @@ Test Results 32 | 2.01e-02 | 3.9364 | 1.9769 64 | 5.04e-03 | 3.9841 | 1.9943 --------------------------------------------- - That was easy! + And then everyone was happy. uniformLOM: Face Divergence 2D @@ -2313,7 +2313,7 @@ Test Results 32 | 2.01e-02 | 3.9364 | 1.9769 64 | 5.04e-03 | 3.9841 | 1.9943 --------------------------------------------- - The test be workin! + Go Test Go! rotateLOM: Face Divergence 2D @@ -2325,7 +2325,7 @@ Test Results 32 | 2.01e-02 | 3.9364 | 1.9769 64 | 5.57e-03 | 3.6062 | 1.8505 --------------------------------------------- - Go Test Go! + You get a gold star! @@ -2370,7 +2370,7 @@ Test Results 16 | 1.34e-04 | 3.9116 | 1.9678 32 | 3.39e-05 | 3.9578 | 1.9847 --------------------------------------------- - Yay passed! + You are awesome. uniformLOM: Nodal Gradient @@ -2382,7 +2382,7 @@ Test Results 16 | 1.34e-04 | 3.9116 | 1.9678 32 | 3.39e-05 | 3.9578 | 1.9847 --------------------------------------------- - You get a gold star! + That was easy! rotateLOM: Nodal Gradient @@ -2394,7 +2394,7 @@ Test Results 16 | 1.80e-04 | 3.6283 | 1.8593 32 | 4.66e-05 | 3.8703 | 1.9525 --------------------------------------------- - You get a gold star! + And then everyone was happy. @@ -2439,7 +2439,7 @@ Test Results 16 | 1.34e-04 | 3.9116 | 1.9678 32 | 3.39e-05 | 3.9578 | 1.9847 --------------------------------------------- - Go Test Go! + Once upon a time, a happy little test passed. uniformLOM: Nodal Gradient 2D @@ -2451,7 +2451,7 @@ Test Results 16 | 1.34e-04 | 3.9116 | 1.9678 32 | 3.39e-05 | 3.9578 | 1.9847 --------------------------------------------- - You are awesome. + Happy little convergence test! rotateLOM: Nodal Gradient 2D @@ -2463,7 +2463,7 @@ Test Results 16 | 1.80e-04 | 3.6343 | 1.8617 32 | 4.64e-05 | 3.8804 | 1.9562 --------------------------------------------- - Go Test Go! + Once upon a time, a happy little test passed. @@ -2610,7 +2610,7 @@ Test Results 20 | 7.96e-03 | 1.5342 | 1.9182 24 | 5.59e-03 | 1.4258 | 1.9458 --------------------------------------------- - Go Test Go! + Testing is important. @@ -2645,7 +2645,7 @@ Test Results 20 | 9.35e-01 | 1.5271 | 1.8974 24 | 6.58e-01 | 1.4223 | 1.9320 --------------------------------------------- - Testing is important. + Go Test Go! @@ -2683,17 +2683,17 @@ Test Results pt19.1: ==================== checkDerivative ==================== iter h |J0-Jt| |J0+h*dJ'*dx-Jt| Order --------------------------------------------------------- - 0 1.00e-01 8.863e-02 1.778e-01 nan - 1 1.00e-02 8.915e-03 1.784e-02 0.999 - 2 1.00e-03 8.921e-04 1.784e-03 1.000 - 3 1.00e-04 8.921e-05 1.784e-04 1.000 - 4 1.00e-05 8.921e-06 1.784e-05 1.000 - 5 1.00e-06 8.921e-07 1.784e-06 1.000 - 6 1.00e-07 8.921e-08 1.784e-07 1.000 + 0 1.00e-01 2.897e-01 5.751e-01 nan + 1 1.00e-02 2.862e-02 5.719e-02 1.002 + 2 1.00e-03 2.857e-03 5.714e-03 1.000 + 3 1.00e-04 2.857e-04 5.713e-04 1.000 + 4 1.00e-05 2.857e-05 5.713e-05 1.000 + 5 1.00e-06 2.857e-06 5.713e-06 1.000 + 6 1.00e-07 2.857e-07 5.713e-07 1.000 ********************************************************* <<<<<<<<<<<<<<<<<<<<<<<<< FAIL! >>>>>>>>>>>>>>>>>>>>>>>>> ********************************************************* - Testing is important. Do it again. + Coffee break? @@ -2722,15 +2722,15 @@ Test Results pt19.2: ==================== checkDerivative ==================== iter h |J0-Jt| |J0+h*dJ'*dx-Jt| Order --------------------------------------------------------- - 0 1.00e-01 2.825e-01 1.846e-02 nan - 1 1.00e-02 2.803e-02 1.930e-04 1.981 - 2 1.00e-03 2.799e-03 1.939e-06 1.998 - 3 1.00e-04 2.799e-04 1.940e-08 2.000 - 4 1.00e-05 2.799e-05 1.940e-10 2.000 - 5 1.00e-06 2.799e-06 1.940e-12 2.000 - 6 1.00e-07 2.799e-07 1.947e-14 1.998 + 0 1.00e-01 2.519e-01 1.060e-02 nan + 1 1.00e-02 2.478e-02 1.129e-04 1.973 + 2 1.00e-03 2.473e-03 1.137e-06 1.997 + 3 1.00e-04 2.473e-04 1.137e-08 2.000 + 4 1.00e-05 2.473e-05 1.137e-10 2.000 + 5 1.00e-06 2.473e-06 1.137e-12 2.000 + 6 1.00e-07 2.473e-07 1.144e-14 1.998 ========================= PASS! ========================= - The test be workin! + Yay passed! @@ -2759,15 +2759,15 @@ Test Results pt19.3: ==================== checkDerivative ==================== iter h |J0-Jt| |J0+h*dJ'*dx-Jt| Order --------------------------------------------------------- - 0 1.00e-01 1.229e-01 5.540e-03 nan - 1 1.00e-02 1.249e-02 5.407e-05 2.011 - 2 1.00e-03 1.251e-03 5.393e-07 2.001 - 3 1.00e-04 1.251e-04 5.392e-09 2.000 - 4 1.00e-05 1.251e-05 5.391e-11 2.000 - 5 1.00e-06 1.251e-06 5.391e-13 2.000 - 6 1.00e-07 1.251e-07 5.336e-15 2.004 + 0 1.00e-01 1.580e-01 6.200e-03 nan + 1 1.00e-02 1.599e-02 6.068e-05 2.009 + 2 1.00e-03 1.601e-03 6.055e-07 2.001 + 3 1.00e-04 1.601e-04 6.054e-09 2.000 + 4 1.00e-05 1.601e-05 6.054e-11 2.000 + 5 1.00e-06 1.601e-06 6.053e-13 2.000 + 6 1.00e-07 1.601e-07 6.020e-15 2.002 ========================= PASS! ========================= - Testing is important. + You get a gold star!