[cig-commits] r18893 - in short/3D/PyLith/trunk: . doc/userguide/governingeqns libsrc/pylith/problems libsrc/pylith/topology pylith/problems tests/2d/frictionslide
brad at geodynamics.org
brad at geodynamics.org
Fri Sep 9 14:41:51 PDT 2011
Author: brad
Date: 2011-09-09 14:41:50 -0700 (Fri, 09 Sep 2011)
New Revision: 18893
Modified:
short/3D/PyLith/trunk/configure.ac
short/3D/PyLith/trunk/doc/userguide/governingeqns/governingeqns.lyx
short/3D/PyLith/trunk/libsrc/pylith/problems/SolverNonlinear.cc
short/3D/PyLith/trunk/libsrc/pylith/topology/Field.cc
short/3D/PyLith/trunk/pylith/problems/Formulation.py
short/3D/PyLith/trunk/tests/2d/frictionslide/Makefile.am
Log:
Merge from stable.
Modified: short/3D/PyLith/trunk/configure.ac
===================================================================
--- short/3D/PyLith/trunk/configure.ac 2011-09-09 21:33:55 UTC (rev 18892)
+++ short/3D/PyLith/trunk/configure.ac 2011-09-09 21:41:50 UTC (rev 18893)
@@ -151,7 +151,7 @@
#CIT_CHECK_LIB_MPI
# PETSC
-CIT_PATH_PETSC([3.1.0])
+CIT_PATH_PETSC([3.2.0])
CIT_HEADER_PETSC
CIT_CHECK_LIB_PETSC
CIT_CHECK_LIB_PETSC_SIEVE
Modified: short/3D/PyLith/trunk/doc/userguide/governingeqns/governingeqns.lyx
===================================================================
--- short/3D/PyLith/trunk/doc/userguide/governingeqns/governingeqns.lyx 2011-09-09 21:33:55 UTC (rev 18892)
+++ short/3D/PyLith/trunk/doc/userguide/governingeqns/governingeqns.lyx 2011-09-09 21:41:50 UTC (rev 18893)
@@ -1174,8 +1174,11 @@
\end_inset
-Note that because the trial solution satisfies the Dirichlet boundary condition,
- the number of basis functions for
+Note that because the weighting function is zero on
+\begin_inset Formula $S_{u}$
+\end_inset
+
+, the number of basis functions for
\begin_inset Formula $\vec{u}$
\end_inset
Modified: short/3D/PyLith/trunk/libsrc/pylith/problems/SolverNonlinear.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/pylith/problems/SolverNonlinear.cc 2011-09-09 21:33:55 UTC (rev 18892)
+++ short/3D/PyLith/trunk/libsrc/pylith/problems/SolverNonlinear.cc 2011-09-09 21:41:50 UTC (rev 18893)
@@ -390,7 +390,24 @@
if (a == 0.0) {
lambdatemp = -initslope/(2.0*b);
} else {
+
+ // MATT: Check this
+ //
+ // Temporary fix by Brad to keep lambda in proper
+ // range. Necessary due to underflow and overflow of a, b, c,
+ // and d.
+#if 0
lambdatemp = (-b + sqrt(d))/(3.0*a);
+#else
+ if ((-b + sqrt(d) > 0.0 && a > 0.0) ||
+ (-b + sqrt(d) < 0.0 && a < 0.0)) {
+ lambdatemp = (-b + sqrt(d))/(3.0*a);
+ } else {
+ lambdatemp = 0.05*lambda;
+ } // else
+#endif
+
+
} // if/else
lambdaprev = lambda;
gnormprev = *gnorm;
@@ -400,6 +417,9 @@
lambda = .1*lambda;
else
lambda = lambdatemp;
+
+
+
ierr = VecWAXPY(w,-lambda,y,x);CHKERRQ(ierr);
if (snes->nfuncs >= snes->max_funcs) {
ierr = PetscInfo1(snes,"Exceeded maximum function evaluations, "
Modified: short/3D/PyLith/trunk/libsrc/pylith/topology/Field.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/pylith/topology/Field.cc 2011-09-09 21:33:55 UTC (rev 18892)
+++ short/3D/PyLith/trunk/libsrc/pylith/topology/Field.cc 2011-09-09 21:41:50 UTC (rev 18893)
@@ -1158,8 +1158,10 @@
for (typename chart_type::const_iterator c_iter = chart.begin();
c_iter != chartEnd;
++c_iter) {
- assert(spaceDim == _section->getFiberDimension(*c_iter));
- _section->setFiberDimension(*c_iter, 1, fibration);
+ if (_section->getFiberDimension(*c_iter) > 0) {
+ assert(spaceDim == _section->getFiberDimension(*c_iter));
+ _section->setFiberDimension(*c_iter, 1, fibration);
+ } // if
} // for
} // splitDefault
Modified: short/3D/PyLith/trunk/pylith/problems/Formulation.py
===================================================================
--- short/3D/PyLith/trunk/pylith/problems/Formulation.py 2011-09-09 21:33:55 UTC (rev 18892)
+++ short/3D/PyLith/trunk/pylith/problems/Formulation.py 2011-09-09 21:41:50 UTC (rev 18893)
@@ -476,7 +476,7 @@
solution.newSection(solution.VERTICES_FIELD, dimension)
solution.vectorFieldType(solution.VECTOR)
solution.scale(lengthScale.value)
- if self.splitFields:
+ if self.splitFields():
solution.splitDefault()
for integrator in self.integratorsMesh + self.integratorsSubMesh:
integrator.splitField(solution)
Modified: short/3D/PyLith/trunk/tests/2d/frictionslide/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/tests/2d/frictionslide/Makefile.am 2011-09-09 21:33:55 UTC (rev 18892)
+++ short/3D/PyLith/trunk/tests/2d/frictionslide/Makefile.am 2011-09-09 21:41:50 UTC (rev 18893)
@@ -19,10 +19,14 @@
dist_noinst_DATA =\
pylithapp.cfg \
quad4.mesh \
+ ratestate.cfg \
ratestate_stable.cfg \
ratestate_weak.cfg \
velocitysteps.timedb \
- plot_friction.py
+ plot_friction.py \
+ tension.cfg \
+ tension_axial.timedb \
+ tension_shear.timedb
# End of file
More information about the CIG-COMMITS
mailing list