[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