From b54272bb85e920dbcdace79ff58a56d7c2b88421 Mon Sep 17 00:00:00 2001 From: Stephen Mardson McQuay Date: Tue, 7 Jun 2011 21:43:03 -0600 Subject: [PATCH] simplified a module, and adjusted tests for imports --- gmsh/gmsh.3D.geo | 2 +- interp/grid/__init__.py | 24 ++++++++++++++++++++++-- interp/grid/simplex.py | 20 -------------------- test/baker2dorder.py | 6 +++--- test/cubic2d.py | 6 +++--- test/quadratic2d.py | 6 +++--- 6 files changed, 32 insertions(+), 32 deletions(-) diff --git a/gmsh/gmsh.3D.geo b/gmsh/gmsh.3D.geo index e7b1f4a..077191f 100644 --- a/gmsh/gmsh.3D.geo +++ b/gmsh/gmsh.3D.geo @@ -1,4 +1,4 @@ -a = 0.0885; +a = 0.885; Point(0) = {0, 0, 0, a}; Point(1) = {1, 0, 0, a}; Point(2) = {1, 1, 0, a}; diff --git a/interp/grid/__init__.py b/interp/grid/__init__.py index 5078fb2..3b76d9e 100644 --- a/interp/grid/__init__.py +++ b/interp/grid/__init__.py @@ -8,7 +8,7 @@ import numpy as np from scipy.spatial import KDTree from interp.baker import run_baker -import interp.grid.simplex +from interp.baker import get_phis import logging log = logging.getLogger("interp") @@ -233,7 +233,7 @@ class cell(object): this simply calls grid.simplex.contains """ - return interp.grid.simplex.contains(X, [G.verts[i] for i in self.verts]) + return contains(X, [G.verts[i] for i in self.verts]) def __str__(self): # neighbors = [str(i.name) for i in self.neighbors] @@ -246,3 +246,23 @@ class cell(object): ) __repr__ = __str__ + + +TOL = 1e-8 + +def contains(X, R): + """ + tests if X (point) is in R + + R is a simplex, represented by a list of n-degree coordinates + + it now correctly checks for 2/3-D verts + + TODO: write unit test ... + """ + phis = get_phis(X, R) + + r = True + if [i for i in phis if i < 0.0 - TOL]: + r = False + return r diff --git a/interp/grid/simplex.py b/interp/grid/simplex.py index 19699f9..e69de29 100644 --- a/interp/grid/simplex.py +++ b/interp/grid/simplex.py @@ -1,20 +0,0 @@ -from interp.baker import get_phis - -TOL = 1e-8 - -def contains(X, R): - """ - tests if X (point) is in R - - R is a simplex, represented by a list of n-degree coordinates - - it now correctly checks for 2/3-D verts - - TODO: write unit test ... - """ - phis = get_phis(X, R) - - r = True - if [i for i in phis if i < 0.0 - TOL]: - r = False - return r diff --git a/test/baker2dorder.py b/test/baker2dorder.py index e41427f..974f924 100644 --- a/test/baker2dorder.py +++ b/test/baker2dorder.py @@ -6,7 +6,7 @@ from interp import baker from interp.grid import grid import numpy as np -from interp.grid.simplex import contains +from interp.grid import contains def exact_func(point): x = point[0] @@ -78,8 +78,8 @@ class Test(unittest.TestCase): self.answer = baker.run_baker(self.X,self.R,self.S) - # def test_R_contains_X(self): - # self.assertTrue(contains(self.X, self.R.verts)) + def test_R_contains_X(self): + self.assertTrue(contains(self.X, self.R.verts)) def test_1(self): a,b,c,d,e,f = (0,1, 1,2, 2,0) diff --git a/test/cubic2d.py b/test/cubic2d.py index 286ab28..27ffad0 100644 --- a/test/cubic2d.py +++ b/test/cubic2d.py @@ -2,10 +2,10 @@ import unittest -from interp.baker import run_baker +from interp.baker import run_baker -from interp.grid import grid -from interp.grid.simplex import contains +from interp.grid import grid +from interp.grid import contains def exact_func(X): x = X[0] diff --git a/test/quadratic2d.py b/test/quadratic2d.py index 1882799..fe45cc7 100644 --- a/test/quadratic2d.py +++ b/test/quadratic2d.py @@ -2,10 +2,10 @@ import unittest -from interp.baker import run_baker +from interp.baker import run_baker -from interp.grid import grid -from interp.grid.simplex import contains +from interp.grid import grid +from interp.grid import contains def exact_func(X): x = X[0]