[cig-commits] r8256 - in cs/spatialdata-0.1/trunk: libsrc/spatialdb
modulesrc/spatialdb spatialdata/spatialdb tests/libtests/spatialdb
brad at geodynamics.org
brad at geodynamics.org
Fri Nov 9 08:04:15 PST 2007
Author: brad
Date: 2007-11-09 08:04:14 -0800 (Fri, 09 Nov 2007)
New Revision: 8256
Modified:
cs/spatialdata-0.1/trunk/libsrc/spatialdb/GravityField.cc
cs/spatialdata-0.1/trunk/libsrc/spatialdb/GravityField.hh
cs/spatialdata-0.1/trunk/modulesrc/spatialdb/spatialdb.pyxe.src
cs/spatialdata-0.1/trunk/spatialdata/spatialdb/GravityField.py
cs/spatialdata-0.1/trunk/tests/libtests/spatialdb/TestGravityField.cc
cs/spatialdata-0.1/trunk/tests/libtests/spatialdb/TestGravityField.hh
Log:
Changed GravityField upDir to gravityDir, since direction of gravitational body force does not strictly match 'up' direction in real Earth (ellipsoid versus sphere).
Modified: cs/spatialdata-0.1/trunk/libsrc/spatialdb/GravityField.cc
===================================================================
--- cs/spatialdata-0.1/trunk/libsrc/spatialdb/GravityField.cc 2007-11-09 00:48:49 UTC (rev 8255)
+++ cs/spatialdata-0.1/trunk/libsrc/spatialdb/GravityField.cc 2007-11-09 16:04:14 UTC (rev 8256)
@@ -33,9 +33,9 @@
_queryVals(new int[3]),
_querySize(3)
{ // constructor
- _upDir[0] = 0.0;
- _upDir[1] = 0.0;
- _upDir[2] = 1.0;
+ _gravityDir[0] = 0.0;
+ _gravityDir[1] = 0.0;
+ _gravityDir[2] = -1.0;
if (0 == _csECEF)
throw std::runtime_error("Error while initializing ECEF coordinate "
@@ -59,17 +59,17 @@
} // destructor
// ----------------------------------------------------------------------
-// Set up direction (direction opposite of gravity) in database.
+// Set direction of gravitational body force.
void
-spatialdata::spatialdb::GravityField::upDir(const double x,
- const double y,
- const double z)
-{ // upDir
+spatialdata::spatialdb::GravityField::gravityDir(const double x,
+ const double y,
+ const double z)
+{ // gravityDir
const double mag = sqrt(x*x + y*y + z*z);
- _upDir[0] = x / mag;
- _upDir[1] = y / mag;
- _upDir[2] = z / mag;
-} // upDir
+ _gravityDir[0] = x / mag;
+ _gravityDir[1] = y / mag;
+ _gravityDir[2] = z / mag;
+} // gravityDir
// ----------------------------------------------------------------------
// Set values to be returned by queries.
@@ -136,14 +136,14 @@
if (geocoords::CoordSys::CARTESIAN == cs->csType())
for (int i=0; i < _querySize; ++i)
- vals[i] = -_acceleration*_upDir[_queryVals[i]];
+ vals[i] = _acceleration*_gravityDir[_queryVals[i]];
else {
const geocoords::CSGeo* csGeo = dynamic_cast<const geocoords::CSGeo*>(cs);
- double upDir[3];
+ double radialDir[3];
const int numLocs = 1;
- csGeo->radialDir(upDir, coords, numLocs, numDims);
+ csGeo->radialDir(radialDir, coords, numLocs, numDims);
for (int i=0; i < _querySize; ++i)
- vals[i] = -_acceleration*upDir[_queryVals[i]];
+ vals[i] = -_acceleration*radialDir[_queryVals[i]];
} // if/else
return 0;
Modified: cs/spatialdata-0.1/trunk/libsrc/spatialdb/GravityField.hh
===================================================================
--- cs/spatialdata-0.1/trunk/libsrc/spatialdb/GravityField.hh 2007-11-09 00:48:49 UTC (rev 8255)
+++ cs/spatialdata-0.1/trunk/libsrc/spatialdb/GravityField.hh 2007-11-09 16:04:14 UTC (rev 8256)
@@ -46,15 +46,16 @@
/// Default destructor.
~GravityField(void);
- /** Set up direction (direction opposite of gravity) in database.
+ /** Set direction of gravitational body force. Used only with
+ * Cartesian coordinate system.
*
- * @param x X component of up direction
- * @param y Y component of up direction
- * @param z Z component of up direction
+ * @param x X component of direction
+ * @param y Y component of direction
+ * @param z Z component of direction
*/
- void upDir(const double x,
- const double y,
- const double z);
+ void gravityDir(const double x,
+ const double y,
+ const double z);
/** Set gravitational acceleration.
*
@@ -109,7 +110,7 @@
private :
// PRIVATE MEMBERS /////////////////////////////////////////////////////
- double _upDir[3]; ///< Up direction for use with Cartesian coordinates.
+ double _gravityDir[3]; ///< Direction of gravitational body force.
double _acceleration; ///< Acceleration due to gravity.
geocoords::CSGeo* _csECEF; ///< Earth-centered/Earth-fixed coordinate system.
int* _queryVals; ///< Indices of values to be returned in queries.
Modified: cs/spatialdata-0.1/trunk/modulesrc/spatialdb/spatialdb.pyxe.src
===================================================================
--- cs/spatialdata-0.1/trunk/modulesrc/spatialdb/spatialdb.pyxe.src 2007-11-09 00:48:49 UTC (rev 8255)
+++ cs/spatialdata-0.1/trunk/modulesrc/spatialdb/spatialdb.pyxe.src 2007-11-09 16:04:14 UTC (rev 8256)
@@ -501,20 +501,20 @@
return
- def upDir(self, up):
+ def gravityDir(self, up):
"""
- Set up direction (direction opposite of gravity).
+ Set direction of gravitational body force.
"""
- # create shim for method 'upDir'
- #embed{ void GravityField_upDir(void* pObj, double x, double y, double z)
+ # create shim for method 'gravityDir'
+ #embed{ void GravityField_gravityDir(void* pObj, double x, double y, double z)
assert(0 != pObj);
- ((spatialdata::spatialdb::GravityField*) pObj)->upDir(x, y, z);
+ ((spatialdata::spatialdb::GravityField*) pObj)->gravityDir(x, y, z);
#}embed
if len(up) != 3:
raise ValueError("Up direction must be a 3 component list or tuple.")
(x, y, z) = map(float, up)
- GravityField_upDir(self.thisptr, x, y, z)
+ GravityField_gravityDir(self.thisptr, x, y, z)
return
Modified: cs/spatialdata-0.1/trunk/spatialdata/spatialdb/GravityField.py
===================================================================
--- cs/spatialdata-0.1/trunk/spatialdata/spatialdb/GravityField.py 2007-11-09 00:48:49 UTC (rev 8255)
+++ cs/spatialdata-0.1/trunk/spatialdata/spatialdb/GravityField.py 2007-11-09 16:04:14 UTC (rev 8256)
@@ -37,7 +37,8 @@
## Python object for managing GravityField facilities and properties.
##
## \b Properties
- ## @li \b up_dir Direction opposite of gravity ("up").
+ ## @li \b up_dir Direction of gravitational body force
+ ## (used only with a Cartesian coordinate system).
## @li \b acceleration Gravitational acceleration.
##
## \b Facilities
@@ -45,8 +46,9 @@
import pyre.inventory
- upDir = pyre.inventory.list("up_dir", default=[0,0,1])
- upDir.meta['tip'] = "Direction opposite of gravity ('up')."
+ gravityDir = pyre.inventory.list("gravity_dir", default=[0,0,-1])
+ gravityDir.meta['tip'] = "Direction of gravitational body force. " \
+ "(used only with a Cartesian coordinate system."
from pyre.units.length import meter
from pyre.units.time import second
@@ -72,7 +74,7 @@
Initialize database.
"""
SpatialDB.initialize(self)
- self.cppHandle.upDir(self.upDir)
+ self.cppHandle.gravityDir(self.gravityDir)
self.cppHandle.gravAcceleration(self.acceleration.value)
return
@@ -85,7 +87,7 @@
"""
SpatialDB._configure(self)
self._validate(self.inventory)
- self.upDir = self.inventory.upDir
+ self.gravityDir = self.inventory.gravityDir
self.acceleration = self.inventory.acceleration
return
@@ -94,13 +96,14 @@
"""
Validate parameters.
"""
- if (len(data.upDir) != 3):
- raise ValueError("Up direction must be a 3 component list or tuple.")
+ if (len(data.gravityDir) != 3):
+ raise ValueError, \
+ "Gravity direction must be a 3 component list or tuple."
try:
- dataFloat = map(float, data.upDir)
+ dataFloat = map(float, data.gravityDir)
except:
raise ValueError, \
- "'upDir' must contain floating point values."
+ "'gravityDir' must contain floating point values."
return
Modified: cs/spatialdata-0.1/trunk/tests/libtests/spatialdb/TestGravityField.cc
===================================================================
--- cs/spatialdata-0.1/trunk/tests/libtests/spatialdb/TestGravityField.cc 2007-11-09 00:48:49 UTC (rev 8255)
+++ cs/spatialdata-0.1/trunk/tests/libtests/spatialdb/TestGravityField.cc 2007-11-09 16:04:14 UTC (rev 8256)
@@ -46,28 +46,30 @@
} // testLabel
// ----------------------------------------------------------------------
-// Test upDir().
+// Test gravityDir().
void
-spatialdata::spatialdb::TestGravityField::testUpDir(void)
-{ // testUpDir
+spatialdata::spatialdb::TestGravityField::testGravityDir(void)
+{ // testGravityDir
GravityField db;
const double tolerance = 1.0e-06;
{ // Test default
- const double upDir[] = { 0.0, 0.0, 1.0 };
+ const double gravityDir[] = { 0.0, 0.0, -1.0 };
for (int i=0; i < 3; ++i)
- CPPUNIT_ASSERT_DOUBLES_EQUAL(upDir[i], db._upDir[i], tolerance);
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(gravityDir[i], db._gravityDir[i],
+ tolerance);
} // Test default
{ // Test user-specified
- const double upDir[] = { 1.1, 2.2, 3.3 };
+ const double gravityDir[] = { 1.1, 2.2, 3.3 };
const double mag = 1.1*sqrt(1 + 4 + 9);
- db.upDir(upDir[0], upDir[1], upDir[2]);
+ db.gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
for (int i=0; i < 3; ++i)
- CPPUNIT_ASSERT_DOUBLES_EQUAL(upDir[i]/mag, db._upDir[i], tolerance);
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(gravityDir[i]/mag, db._gravityDir[i],
+ tolerance);
} // Test user-specified
-} // testUpDir
+} // testGravityDir
// ----------------------------------------------------------------------
// Test acceleration().
@@ -110,13 +112,13 @@
{ // testQueryCart2
const int spaceDim = 2;
const double gacc = 2.0;
- const double upDir[] = { 0.6, 0.8, 0.0 };
+ const double gravityDir[] = { -0.6, -0.8, 0.0 };
const double gravityE[] = { -1.2, -1.6 };
const int querySize = spaceDim;
const char* queryNames[] = { "x", "y" };
GravityField db;
- db.upDir(upDir[0], upDir[1], upDir[2]);
+ db.gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
db.gravAcceleration(gacc);
db.open();
db.queryVals(queryNames, querySize);
@@ -142,12 +144,12 @@
{ // testQueryCart3
const int spaceDim = 3;
const double gacc = 2.0;
- const double upDir[] = { 0.3, 0.4, -0.5 };
+ const double gravityDir[] = { 0.3, 0.4, -0.5 };
const double sqrt2 = sqrt(2.0);
- const double gravityE[] = { -0.6*sqrt2, -0.8*sqrt2, 1.0*sqrt2 };
+ const double gravityE[] = { 0.6*sqrt2, 0.8*sqrt2, -1.0*sqrt2 };
GravityField db;
- db.upDir(upDir[0], upDir[1], upDir[2]);
+ db.gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
db.gravAcceleration(gacc);
db.open();
Modified: cs/spatialdata-0.1/trunk/tests/libtests/spatialdb/TestGravityField.hh
===================================================================
--- cs/spatialdata-0.1/trunk/tests/libtests/spatialdb/TestGravityField.hh 2007-11-09 00:48:49 UTC (rev 8255)
+++ cs/spatialdata-0.1/trunk/tests/libtests/spatialdb/TestGravityField.hh 2007-11-09 16:04:14 UTC (rev 8256)
@@ -39,7 +39,7 @@
CPPUNIT_TEST( testConstructor );
CPPUNIT_TEST( testLabel );
- CPPUNIT_TEST( testUpDir );
+ CPPUNIT_TEST( testGravityDir );
CPPUNIT_TEST( testAcceleration );
CPPUNIT_TEST( testQueryVals );
CPPUNIT_TEST( testQueryCart2 );
@@ -60,8 +60,8 @@
/// Test label()
void testLabel(void);
- /// Test upDir()
- void testUpDir(void);
+ /// Test gravityDir()
+ void testGravityDir(void);
/// Test acceleration()
void testAcceleration(void);
More information about the cig-commits
mailing list