[cig-commits] r15170 - in short/3D/PyLith/trunk: . examples/3d/hex8 examples/3d/tet4 examples/bar_shearwave/hex8 examples/bar_shearwave/quad4 examples/bar_shearwave/tet4 examples/bar_shearwave/tri3 examples/greensfns/hex8 examples/twocells/twohex8 examples/twocells/twoquad4 examples/twocells/twotet4 examples/twocells/twotet4-geoproj examples/twocells/twotri3 libsrc/topology modulesrc/topology pylith/bc pylith/topology tests/1d/line2 tests/1d/line3 tests/2d/quad4 unittests/libtests/bc unittests/libtests/bc/data
brad at geodynamics.org
brad at geodynamics.org
Tue Jun 9 23:16:53 PDT 2009
Author: brad
Date: 2009-06-09 23:16:49 -0700 (Tue, 09 Jun 2009)
New Revision: 15170
Removed:
short/3D/PyLith/trunk/examples/3d/hex8/gftest/
Modified:
short/3D/PyLith/trunk/TODO
short/3D/PyLith/trunk/examples/3d/hex8/pylithapp.cfg
short/3D/PyLith/trunk/examples/3d/hex8/savageprescott.cfg
short/3D/PyLith/trunk/examples/3d/tet4/pylithapp.cfg
short/3D/PyLith/trunk/examples/bar_shearwave/hex8/shearwave.cfg
short/3D/PyLith/trunk/examples/bar_shearwave/quad4/shearwave.cfg
short/3D/PyLith/trunk/examples/bar_shearwave/tet4/shearwave.cfg
short/3D/PyLith/trunk/examples/bar_shearwave/tri3/shearwave.cfg
short/3D/PyLith/trunk/examples/greensfns/hex8/pylithapp.cfg
short/3D/PyLith/trunk/examples/twocells/twohex8/pylithapp.cfg
short/3D/PyLith/trunk/examples/twocells/twoquad4/pylithapp.cfg
short/3D/PyLith/trunk/examples/twocells/twotet4-geoproj/pylithapp.cfg
short/3D/PyLith/trunk/examples/twocells/twotet4/pylithapp.cfg
short/3D/PyLith/trunk/examples/twocells/twotri3/pylithapp.cfg
short/3D/PyLith/trunk/libsrc/topology/Jacobian.cc
short/3D/PyLith/trunk/libsrc/topology/Jacobian.hh
short/3D/PyLith/trunk/modulesrc/topology/Jacobian.i
short/3D/PyLith/trunk/pylith/bc/ZeroDispDB.py
short/3D/PyLith/trunk/pylith/topology/Jacobian.py
short/3D/PyLith/trunk/tests/1d/line2/axialextension.cfg
short/3D/PyLith/trunk/tests/1d/line2/dislocation.cfg
short/3D/PyLith/trunk/tests/1d/line3/axialextension.cfg
short/3D/PyLith/trunk/tests/1d/line3/dislocation.cfg
short/3D/PyLith/trunk/tests/2d/quad4/axialsheardisp.cfg
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBC.cc
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBCMulti.cc
short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundary.cc
short/3D/PyLith/trunk/unittests/libtests/bc/TestPointForce.cc
short/3D/PyLith/trunk/unittests/libtests/bc/data/hex8_force.spatialdb
short/3D/PyLith/trunk/unittests/libtests/bc/data/line2_force.spatialdb
short/3D/PyLith/trunk/unittests/libtests/bc/data/quad4_force.spatialdb
short/3D/PyLith/trunk/unittests/libtests/bc/data/tet4_force.spatialdb
short/3D/PyLith/trunk/unittests/libtests/bc/data/tri3_force.spatialdb
short/3D/PyLith/trunk/unittests/libtests/bc/data/tri3_force_change.spatialdb
short/3D/PyLith/trunk/unittests/libtests/bc/data/tri3_force_rate.spatialdb
Log:
Switched to default matrix type to sbaij. Updated parameter settings to use correct nonzero shift. Added use of units to UniformDB.
Modified: short/3D/PyLith/trunk/TODO
===================================================================
--- short/3D/PyLith/trunk/TODO 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/TODO 2009-06-10 06:16:49 UTC (rev 15170)
@@ -19,17 +19,15 @@
CellFilterAvg (_fieldAvg)
VertexFilterVecNorm (_fieldVecNorm)
-
field split
Brad
Update Neumann
ArbitratySlipFn (final slip, start time)
- UniformDB units
- symmetric matrix (preconditioner?)
full-scale testing
cleanup
test uniform refinement
+ symmetric matrix (preconditioner? sub_pc_factor_shift_nonzero_positive_definite)
Charles
Modified: short/3D/PyLith/trunk/examples/3d/hex8/pylithapp.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/3d/hex8/pylithapp.cfg 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/examples/3d/hex8/pylithapp.cfg 2009-06-10 06:16:49 UTC (rev 15170)
@@ -14,9 +14,7 @@
##implicitelasticity = 1
##faultcohesivekin = 1
##fiatlagrange = 1
-#quadrature3d = 1
-
-[pylithapp.journal.debug]
+quadrature3d = 1
##pylithapp = 1
##problem = 1
##implicit = 1
@@ -76,9 +74,15 @@
[pylithapp.petsc]
ksp_rtol = 1.0e-8
pc_type = asm
-##ksp_monitor = true
-##ksp_view = true
-##log_summary = true
+# Change the preconditioner settings (must turn off
+# shift_positive_definite and turn on shift_nonzero).
+sub_pc_factor_shift_positive_definite = 0
+sub_pc_factor_shift_nonzero =
+
+ksp_monitor = true
+ksp_view = true
+log_summary = true
ksp_max_it = 100
ksp_gmres_restart = 50
#start_in_debugger = true
+
Modified: short/3D/PyLith/trunk/examples/3d/hex8/savageprescott.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/3d/hex8/savageprescott.cfg 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/examples/3d/hex8/savageprescott.cfg 2009-06-10 06:16:49 UTC (rev 15170)
@@ -61,8 +61,7 @@
db_rate = spatialdata.spatialdb.UniformDB
db_rate.label = Dirichlet rate BC on +x
db_rate.values = [displacement-rate-x,displacement-rate-y,rate-start-time]
-# Velocity of -1.0 cm/yr (-3.1688087814028952e-10 m/s)
-db_rate.data = [0.0,-3.1688087814028952e-10,0.0]
+db_rate.data = [0.0*cm/year,-1.0*cm/year,0.0*cm/year]
[pylithapp.timedependent.bc.x_neg]
fixed_dof = [0, 1]
@@ -71,8 +70,7 @@
db_rate = spatialdata.spatialdb.UniformDB
db_rate.label = Dirichlet rate BC on -x
db_rate.values = [displacement-rate-x,displacement-rate-y,rate-start-time]
-# Velocity of +1.0 cm/yr (+3.1688087814028952e-10 m/s)
-db_rate.data = [0.0,+3.1688087814028952e-10,0.0]
+db_rate.data = [0.0*cm/year,+1.0*cm/year,0.0*cm/year]
[pylithapp.timedependent.bc.z_neg]
fixed_dof = [2]
Modified: short/3D/PyLith/trunk/examples/3d/tet4/pylithapp.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/3d/tet4/pylithapp.cfg 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/examples/3d/tet4/pylithapp.cfg 2009-06-10 06:16:49 UTC (rev 15170)
@@ -84,6 +84,11 @@
[pylithapp.petsc]
ksp_rtol = 1.0e-8
pc_type = asm
+# Change the preconditioner settings (must turn off
+# shift_positive_definite and turn on shift_nonzero).
+sub_pc_factor_shift_positive_definite = 0
+sub_pc_factor_shift_nonzero =
+
ksp_monitor = true
ksp_view = true
log_summary = true
Modified: short/3D/PyLith/trunk/examples/bar_shearwave/hex8/shearwave.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/bar_shearwave/hex8/shearwave.cfg 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/examples/bar_shearwave/hex8/shearwave.cfg 2009-06-10 06:16:49 UTC (rev 15170)
@@ -177,6 +177,11 @@
[pylithapp.petsc]
ksp_type = gmres
pc_type = asm
+# Change the preconditioner settings (must turn off
+# shift_positive_definite and turn on shift_nonzero).
+sub_pc_factor_shift_positive_definite = 0
+sub_pc_factor_shift_nonzero =
+
ksp_rtol = 1.0e-8
ksp_atol = 1.0e-10
ksp_max_it = 50
Modified: short/3D/PyLith/trunk/examples/bar_shearwave/quad4/shearwave.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/bar_shearwave/quad4/shearwave.cfg 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/examples/bar_shearwave/quad4/shearwave.cfg 2009-06-10 06:16:49 UTC (rev 15170)
@@ -181,6 +181,11 @@
[pylithapp.petsc]
ksp_type = gmres
pc_type = asm
+# Change the preconditioner settings (must turn off
+# shift_positive_definite and turn on shift_nonzero).
+sub_pc_factor_shift_positive_definite = 0
+sub_pc_factor_shift_nonzero =
+
ksp_rtol = 1.0e-8
ksp_atol = 1.0e-10
ksp_max_it = 50
Modified: short/3D/PyLith/trunk/examples/bar_shearwave/tet4/shearwave.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/bar_shearwave/tet4/shearwave.cfg 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/examples/bar_shearwave/tet4/shearwave.cfg 2009-06-10 06:16:49 UTC (rev 15170)
@@ -194,6 +194,11 @@
[pylithapp.petsc]
ksp_type = gmres
pc_type = asm
+# Change the preconditioner settings (must turn off
+# shift_positive_definite and turn on shift_nonzero).
+sub_pc_factor_shift_positive_definite = 0
+sub_pc_factor_shift_nonzero =
+
ksp_rtol = 1.0e-8
ksp_atol = 1.0e-10
ksp_max_it = 50
Modified: short/3D/PyLith/trunk/examples/bar_shearwave/tri3/shearwave.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/bar_shearwave/tri3/shearwave.cfg 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/examples/bar_shearwave/tri3/shearwave.cfg 2009-06-10 06:16:49 UTC (rev 15170)
@@ -181,6 +181,11 @@
[pylithapp.petsc]
ksp_type = gmres
pc_type = asm
+# Change the preconditioner settings (must turn off
+# shift_positive_definite and turn on shift_nonzero).
+sub_pc_factor_shift_positive_definite = 0
+sub_pc_factor_shift_nonzero =
+
ksp_rtol = 1.0e-8
ksp_atol = 1.0e-10
ksp_max_it = 50
Modified: short/3D/PyLith/trunk/examples/greensfns/hex8/pylithapp.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/greensfns/hex8/pylithapp.cfg 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/examples/greensfns/hex8/pylithapp.cfg 2009-06-10 06:16:49 UTC (rev 15170)
@@ -75,6 +75,11 @@
[pylithapp.petsc]
ksp_rtol = 1.0e-8
pc_type = asm
+# Change the preconditioner settings (must turn off
+# shift_positive_definite and turn on shift_nonzero).
+sub_pc_factor_shift_positive_definite = 0
+sub_pc_factor_shift_nonzero =
+
ksp_monitor = true
ksp_view = true
log_summary = true
Modified: short/3D/PyLith/trunk/examples/twocells/twohex8/pylithapp.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twohex8/pylithapp.cfg 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/examples/twocells/twohex8/pylithapp.cfg 2009-06-10 06:16:49 UTC (rev 15170)
@@ -81,7 +81,7 @@
# using a spatial database file.
properties_db = spatialdata.spatialdb.UniformDB
properties_db.values = [vp,vs,density,viscosity]
-properties_db.data = [5773.502691896258, 3333.333333333333, 2700.0, 1.0e18]
+properties_db.data = [5773.502691896258*m/s,3333.333333333333*m/s,2700.0*kg/m**3,1.0e18*Pa*s]
# If we instead wanted to used the 'matprops.spatialdb' file to define
# material properties we would comment out the three 'db' lines above
@@ -101,5 +101,10 @@
# ----------------------------------------------------------------------
[pylithapp.petsc]
pc_type = jacobi
+# Change the preconditioner settings (must turn off
+# shift_positive_definite and turn on shift_nonzero).
+sub_pc_factor_shift_positive_definite = 0
+sub_pc_factor_shift_nonzero =
+
# start_in_debugger = true
# debugger_timeout = 100
Modified: short/3D/PyLith/trunk/examples/twocells/twoquad4/pylithapp.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twoquad4/pylithapp.cfg 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/examples/twocells/twoquad4/pylithapp.cfg 2009-06-10 06:16:49 UTC (rev 15170)
@@ -94,5 +94,10 @@
# documentation.
[pylithapp.petsc]
pc_type = bjacobi
+# Change the preconditioner settings (must turn off
+# shift_positive_definite and turn on shift_nonzero).
+sub_pc_factor_shift_positive_definite = 0
+sub_pc_factor_shift_nonzero =
+
# start_in_debugger = true
# debugger_timeout = 100
Modified: short/3D/PyLith/trunk/examples/twocells/twotet4/pylithapp.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twotet4/pylithapp.cfg 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/examples/twocells/twotet4/pylithapp.cfg 2009-06-10 06:16:49 UTC (rev 15170)
@@ -95,5 +95,10 @@
# documentation.
[pylithapp.petsc]
pc_type = jacobi
+# Change the preconditioner settings (must turn off
+# shift_positive_definite and turn on shift_nonzero).
+sub_pc_factor_shift_positive_definite = 0
+sub_pc_factor_shift_nonzero =
+
# start_in_debugger = true
# debugger_timeout = 100
Modified: short/3D/PyLith/trunk/examples/twocells/twotet4-geoproj/pylithapp.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twotet4-geoproj/pylithapp.cfg 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/examples/twocells/twotet4-geoproj/pylithapp.cfg 2009-06-10 06:16:49 UTC (rev 15170)
@@ -97,6 +97,11 @@
# ----------------------------------------------------------------------
[pylithapp.petsc]
pc_type = jacobi
+# Change the preconditioner settings (must turn off
+# shift_positive_definite and turn on shift_nonzero).
+sub_pc_factor_shift_positive_definite = 0
+sub_pc_factor_shift_nonzero =
+
ksp_rtol = 1.0e-10
ksp_monitor = true
ksp_view = true
Modified: short/3D/PyLith/trunk/examples/twocells/twotri3/pylithapp.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twotri3/pylithapp.cfg 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/examples/twocells/twotri3/pylithapp.cfg 2009-06-10 06:16:49 UTC (rev 15170)
@@ -94,5 +94,10 @@
# documentation.
[pylithapp.petsc]
pc_type = jacobi
+# Change the preconditioner settings (must turn off
+# shift_positive_definite and turn on shift_nonzero).
+sub_pc_factor_shift_positive_definite = 0
+sub_pc_factor_shift_nonzero =
+
# start_in_debugger = true
# debugger_timeout = 100
Modified: short/3D/PyLith/trunk/libsrc/topology/Jacobian.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/Jacobian.cc 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/libsrc/topology/Jacobian.cc 2009-06-10 06:16:49 UTC (rev 15170)
@@ -131,5 +131,60 @@
err = PetscViewerDestroy(viewer); CHECK_PETSC_ERROR(err);
} // write
+// ----------------------------------------------------------------------
+// Verify symmetry of matrix.
+void
+pylith::topology::Jacobian::verifySymmetry(void) const
+{ // verifySymmetry
+ const PetscMat matSparse = _matrix;
+ int nrows = 0;
+ int ncols = 0;
+ MatGetSize(matSparse, &nrows, &ncols);
+
+ PetscMat matDense;
+ PetscMat matSparseAIJ;
+ MatConvert(matSparse, MATSEQAIJ, MAT_INITIAL_MATRIX, &matSparseAIJ);
+ MatConvert(matSparseAIJ, MATSEQDENSE, MAT_INITIAL_MATRIX, &matDense);
+
+ double_array vals(nrows*ncols);
+ int_array rows(nrows);
+ int_array cols(ncols);
+ for (int iRow=0; iRow < nrows; ++iRow)
+ rows[iRow] = iRow;
+ for (int iCol=0; iCol < ncols; ++iCol)
+ cols[iCol] = iCol;
+ MatGetValues(matDense, nrows, &rows[0], ncols, &cols[0], &vals[0]);
+ const double tolerance = 1.0e-06;
+ bool isSymmetric = true;
+ for (int iRow=0; iRow < nrows; ++iRow)
+ for (int iCol=0; iCol < ncols; ++iCol) {
+ const int indexIJ = ncols*iRow+iCol;
+ const int indexJI = nrows*iCol+iRow;
+ const double valIJ = vals[indexIJ];
+ const double valJI = vals[indexJI];
+ if (fabs(valIJ) > 1.0)
+ if (fabs(1.0 - valJI/valIJ) > tolerance) {
+ std::cerr << "Mismatch: "
+ << "(" << iRow << ", " << iCol << ") = " << valIJ
+ << ", (" << iCol << ", " << iRow << ") = " << valJI
+ << std::endl;
+ isSymmetric = false;
+ } // if
+ else
+ if (fabs(valJI - valIJ) > tolerance) {
+ std::cerr << "Mismatch: "
+ << "(" << iRow << ", " << iCol << ") = " << valIJ
+ << ", (" << iCol << ", " << iRow << ") = " << valJI
+ << std::endl;
+ isSymmetric = false;
+ } // if
+ } // for
+ MatDestroy(matDense);
+ MatDestroy(matSparseAIJ);
+ if (!isSymmetric)
+ throw std::runtime_error("Jacobian matrix is not symmetric.");
+} // verifySymmetry
+
+
// End of file
Modified: short/3D/PyLith/trunk/libsrc/topology/Jacobian.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/Jacobian.hh 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/libsrc/topology/Jacobian.hh 2009-06-10 06:16:49 UTC (rev 15170)
@@ -79,6 +79,9 @@
*/
void write(const char* filename);
+ /// Verify symmetry of matrix. For debugger purposes only.
+ void verifySymmetry(void) const;
+
// PRIVATE MEMBERS //////////////////////////////////////////////////////
private :
Modified: short/3D/PyLith/trunk/modulesrc/topology/Jacobian.i
===================================================================
--- short/3D/PyLith/trunk/modulesrc/topology/Jacobian.i 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/modulesrc/topology/Jacobian.i 2009-06-10 06:16:49 UTC (rev 15170)
@@ -72,6 +72,9 @@
*/
void write(const char* filename);
+ /// Verify symmetry of matrix. For debugger purposes only.
+ void verifySymmetry(void) const;
+
}; // Jacobian
} // topology
Modified: short/3D/PyLith/trunk/pylith/bc/ZeroDispDB.py
===================================================================
--- short/3D/PyLith/trunk/pylith/bc/ZeroDispDB.py 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/pylith/bc/ZeroDispDB.py 2009-06-10 06:16:49 UTC (rev 15170)
@@ -46,8 +46,9 @@
import pyre.inventory
+ from pyre.units.length import m
values = ["displacement-x", "displacement-y", "displacement-z"]
- data = [0.0, 0.0, 0.0]
+ data = [0.0*m, 0.0*m, 0.0*m]
# PUBLIC METHODS /////////////////////////////////////////////////////
Modified: short/3D/PyLith/trunk/pylith/topology/Jacobian.py
===================================================================
--- short/3D/PyLith/trunk/pylith/topology/Jacobian.py 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/pylith/topology/Jacobian.py 2009-06-10 06:16:49 UTC (rev 15170)
@@ -33,7 +33,7 @@
"""
# If matrix type has not been set, then set it to a value that will work.
if matrixType == "unknown":
- matrixType = "aij"
+ matrixType = "sbaij"
ModuleJacobian.__init__(self, fields, matrixType)
return
Modified: short/3D/PyLith/trunk/tests/1d/line2/axialextension.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/1d/line2/axialextension.cfg 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/tests/1d/line2/axialextension.cfg 2009-06-10 06:16:49 UTC (rev 15170)
@@ -68,6 +68,11 @@
[axialextension.petsc]
ksp_rtol = 1.0e-8
pc_type = asm
+# Change the preconditioner settings (must turn off
+# shift_positive_definite and turn on shift_nonzero).
+sub_pc_factor_shift_positive_definite = 0
+sub_pc_factor_shift_nonzero =
+
ksp_max_it = 100
ksp_gmres_restart = 50
#ksp_monitor = true
Modified: short/3D/PyLith/trunk/tests/1d/line2/dislocation.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/1d/line2/dislocation.cfg 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/tests/1d/line2/dislocation.cfg 2009-06-10 06:16:49 UTC (rev 15170)
@@ -85,6 +85,11 @@
[dislocation.petsc]
ksp_rtol = 1.0e-8
pc_type = asm
+# Change the preconditioner settings (must turn off
+# shift_positive_definite and turn on shift_nonzero).
+sub_pc_factor_shift_positive_definite = 0
+sub_pc_factor_shift_nonzero =
+
ksp_max_it = 100
ksp_gmres_restart = 50
#ksp_monitor = true
Modified: short/3D/PyLith/trunk/tests/1d/line3/axialextension.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/1d/line3/axialextension.cfg 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/tests/1d/line3/axialextension.cfg 2009-06-10 06:16:49 UTC (rev 15170)
@@ -69,6 +69,11 @@
[axialextension.petsc]
ksp_rtol = 1.0e-8
pc_type = asm
+# Change the preconditioner settings (must turn off
+# shift_positive_definite and turn on shift_nonzero).
+sub_pc_factor_shift_positive_definite = 0
+sub_pc_factor_shift_nonzero =
+
ksp_max_it = 100
ksp_gmres_restart = 50
#ksp_monitor = true
Modified: short/3D/PyLith/trunk/tests/1d/line3/dislocation.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/1d/line3/dislocation.cfg 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/tests/1d/line3/dislocation.cfg 2009-06-10 06:16:49 UTC (rev 15170)
@@ -83,6 +83,11 @@
[dislocation.petsc]
ksp_rtol = 1.0e-8
pc_type = asm
+# Change the preconditioner settings (must turn off
+# shift_positive_definite and turn on shift_nonzero).
+sub_pc_factor_shift_positive_definite = 0
+sub_pc_factor_shift_nonzero =
+
ksp_max_it = 100
ksp_gmres_restart = 50
#ksp_monitor = true
Modified: short/3D/PyLith/trunk/tests/2d/quad4/axialsheardisp.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/quad4/axialsheardisp.cfg 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/tests/2d/quad4/axialsheardisp.cfg 2009-06-10 06:16:49 UTC (rev 15170)
@@ -89,6 +89,11 @@
[pylithapp.petsc]
ksp_rtol = 1.0e-8
pc_type = asm
+# Change the preconditioner settings (must turn off
+# shift_positive_definite and turn on shift_nonzero).
+sub_pc_factor_shift_positive_definite = 0
+sub_pc_factor_shift_nonzero =
+
ksp_max_it = 100
ksp_gmres_restart = 50
#ksp_monitor = true
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBC.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBC.cc 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBC.cc 2009-06-10 06:16:49 UTC (rev 15170)
@@ -468,13 +468,18 @@
"displacement-rate-y",
"displacement-rate-z",
"rate-start-time"};
+ const char* units[] = {
+ "m",
+ "m",
+ "m",
+ "s"};
const double values[numValues] = {
_data->valueRate,
_data->valueRate,
_data->valueRate,
_data->tRef,
};
- dbRate.setData(names, values, numValues);
+ dbRate.setData(names, units, values, numValues);
const double upDir[] = { 0.0, 0.0, 1.0 };
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBCMulti.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBCMulti.cc 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBCMulti.cc 2009-06-10 06:16:49 UTC (rev 15170)
@@ -26,7 +26,6 @@
#include "spatialdata/geocoords/CSCart.hh" // USES CSCart
#include "spatialdata/spatialdb/SimpleDB.hh" // USES SimpleDB
#include "spatialdata/spatialdb/SimpleIOAscii.hh" // USES SimpleIOAscii
-#include "spatialdata/spatialdb/UniformDB.hh" // USES UniformDB
// ----------------------------------------------------------------------
typedef pylith::topology::Mesh::SieveMesh SieveMesh;
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundary.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundary.cc 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestDirichletBoundary.cc 2009-06-10 06:16:49 UTC (rev 15170)
@@ -126,13 +126,19 @@
"displacement-rate-z",
"rate-start-time",
};
+ const char* units[numValues] = {
+ "m",
+ "m",
+ "m",
+ "s",
+ };
const double values[numValues] = {
_data->valueRate,
_data->valueRate,
_data->valueRate,
_data->tRef,
};
- dbRate.setData(names, values, numValues);
+ dbRate.setData(names, units, values, numValues);
const double upDir[] = { 0.0, 0.0, 1.0 };
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/TestPointForce.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/TestPointForce.cc 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/TestPointForce.cc 2009-06-10 06:16:49 UTC (rev 15170)
@@ -222,11 +222,17 @@
"force-rate-z",
"rate-start-time",
};
+ const char* units[numValues] = {
+ "newton",
+ "newton",
+ "newton",
+ "s",
+ };
const double values[numValues] = { _data->forceRate,
_data->forceRate,
_data->forceRate,
_data->tRef};
- dbRate.setData(names, values, numValues);
+ dbRate.setData(names, units, values, numValues);
} // rate db
const double upDir[] = { 0.0, 0.0, 1.0 };
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/data/hex8_force.spatialdb
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/hex8_force.spatialdb 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/hex8_force.spatialdb 2009-06-10 06:16:49 UTC (rev 15170)
@@ -2,7 +2,7 @@
SimpleDB {
num-values = 3
value-names = force-x force-y force-z
- value-units = Pa*m**2 Pa*m**2 Pa*m**2
+ value-units = newton newton newton
num-locs = 4
data-dim = 1
space-dim = 3
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/data/line2_force.spatialdb
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/line2_force.spatialdb 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/line2_force.spatialdb 2009-06-10 06:16:49 UTC (rev 15170)
@@ -2,7 +2,7 @@
SimpleDB {
num-values = 1
value-names = force-x
- value-units = Pa*m**2
+ value-units = newton
num-locs = 2
data-dim = 1
space-dim = 1
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/data/quad4_force.spatialdb
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/quad4_force.spatialdb 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/quad4_force.spatialdb 2009-06-10 06:16:49 UTC (rev 15170)
@@ -2,7 +2,7 @@
SimpleDB {
num-values = 2
value-names = force-x force-y
- value-units = Pa*m**2 Pa*m**2
+ value-units = newton newton
num-locs = 3
data-dim = 2
space-dim = 2
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/data/tet4_force.spatialdb
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/tet4_force.spatialdb 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/tet4_force.spatialdb 2009-06-10 06:16:49 UTC (rev 15170)
@@ -2,7 +2,7 @@
SimpleDB {
num-values = 2
value-names = force-y force-z
- value-units = Pa*m**2 Pa*m**2
+ value-units = newton newton
num-locs = 1
data-dim = 0
space-dim = 3
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/data/tri3_force.spatialdb
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/tri3_force.spatialdb 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/tri3_force.spatialdb 2009-06-10 06:16:49 UTC (rev 15170)
@@ -2,7 +2,7 @@
SimpleDB {
num-values = 2
value-names = force-x force-y
- value-units = Pa*m**2 Pa*m**2
+ value-units = newton newton
num-locs = 2
data-dim = 1
space-dim = 2
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/data/tri3_force_change.spatialdb
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/tri3_force_change.spatialdb 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/tri3_force_change.spatialdb 2009-06-10 06:16:49 UTC (rev 15170)
@@ -2,7 +2,7 @@
SimpleDB {
num-values = 3
value-names = force-x force-y change-start-time
- value-units = Pa*m**2 Pa*m**2 s
+ value-units = newton newton s
num-locs = 2
data-dim = 1
space-dim = 2
Modified: short/3D/PyLith/trunk/unittests/libtests/bc/data/tri3_force_rate.spatialdb
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/bc/data/tri3_force_rate.spatialdb 2009-06-10 06:13:18 UTC (rev 15169)
+++ short/3D/PyLith/trunk/unittests/libtests/bc/data/tri3_force_rate.spatialdb 2009-06-10 06:16:49 UTC (rev 15170)
@@ -2,7 +2,7 @@
SimpleDB {
num-values = 3
value-names = force-rate-x force-rate-y rate-start-time
- value-units = Pa*m**2 Pa*m**2 s
+ value-units = newton/s newton/s s
num-locs = 2
data-dim = 1
space-dim = 2
More information about the CIG-COMMITS
mailing list