[cig-commits] r16379 - in short/3D/PyLith/trunk: . doc/install libsrc/problems

brad at geodynamics.org brad at geodynamics.org
Wed Mar 3 20:10:45 PST 2010


Author: brad
Date: 2010-03-03 20:10:44 -0800 (Wed, 03 Mar 2010)
New Revision: 16379

Modified:
   short/3D/PyLith/trunk/TODO
   short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu.txt
   short/3D/PyLith/trunk/doc/install/Cluster_Rocks-4.3-Intel64.txt
   short/3D/PyLith/trunk/libsrc/problems/SolverNonlinear.cc
Log:
Added temporary kludge for initial fault tractions. Call constrainSolnSpace() at the beginning of SolverNonlinear::solve(). Should add initial tractions to FaultCohesiveDyn::reformResidual().

Modified: short/3D/PyLith/trunk/TODO
===================================================================
--- short/3D/PyLith/trunk/TODO	2010-03-04 03:39:03 UTC (rev 16378)
+++ short/3D/PyLith/trunk/TODO	2010-03-04 04:10:44 UTC (rev 16379)
@@ -38,6 +38,12 @@
 FRICTION
 ----------------------------------------------------------------------
 
+FaultCohesiveDyn
+  adjustSoln()
+  reformResidual()
+    Impose initial fault tractions in reformResidual().
+    temporary kludge is to call constrainSolnSpace() in solve.
+
 6. Other fault constitutive models [Surendra]
   Rate- and state-friction with aging law
   Rate- and state-friction with slip law (only if desired)

Modified: short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu.txt
===================================================================
--- short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu.txt	2010-03-04 03:39:03 UTC (rev 16378)
+++ short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu.txt	2010-03-04 04:10:44 UTC (rev 16379)
@@ -183,11 +183,11 @@
     LANG_FLAGS="--with-clanguage=c++"
     BUILD_FLAGS="--with-mpi-compilers=0 --with-gnu-compilers=1 --with-shared=1 --with-dynamic=1 --with-64-bit-points=1 --with-large-file-io=1 --CC=gcc --CXX=g++ --FC=g77 --F77=g77"
     MPI_FLAGS="--with-mpi-dir=${TOOLS_DIR}/mpich2-1.0.4p1/gcc-3.4_64 --with-mpi-shared=0"
-    LIBS="-L${PVFS2_LIBDIR} -lpvfs2 -lssl -lpthread -lrt"
+    LIBS=""
     OPTIONS="--with-lgrind=0 --download-tetgen"
     PART_FLAGS="--with-chaco=1 --download-chaco=1 --with-parmetis=1 --with-parmetis-dir=${TOOLS_DIR}/parmetis-3.1/gcc-3.4_64"
     SIEVE_FLAGS="--with-sieve=1 --with-boost=1 --download-boost=1"
-    config/configure.py ${ARCH_FLAGS} ${LANG_FLAGS} ${BUILD_FLAGS} --with-blas-lapack-lib="-L${ACML_LIBDIR} -lacml -lacml_mv" ${MPI_FLAGS} --LIBS="-L${PVFS2_LIBDIR} -lpvfs2 -lssl" ${OPTIONS} ${PART_FLAGS} ${SIEVE_FLAGS}
+    config/configure.py ${ARCH_FLAGS} ${LANG_FLAGS} ${BUILD_FLAGS} --with-blas-lapack-lib="-L${ACML_LIBDIR} -lacml -lacml_mv" ${MPI_FLAGS} --LIBS="" ${OPTIONS} ${PART_FLAGS} ${SIEVE_FLAGS}
     make
     make test
 

Modified: short/3D/PyLith/trunk/doc/install/Cluster_Rocks-4.3-Intel64.txt
===================================================================
--- short/3D/PyLith/trunk/doc/install/Cluster_Rocks-4.3-Intel64.txt	2010-03-04 03:39:03 UTC (rev 16378)
+++ short/3D/PyLith/trunk/doc/install/Cluster_Rocks-4.3-Intel64.txt	2010-03-04 04:10:44 UTC (rev 16379)
@@ -202,20 +202,25 @@
 
 9. Install FIAT (http://www.fenics.org/wiki/FIAT)
 
-  a. Install FIAT.
+  a. Install FIAT. Versions 0.3.x are known to work.
 
-    python setup.py install --prefix=$TOOLS_DIR/fiat-0.3.1/${TOOLS_FORMAT}
+    python setup.py install --prefix=$TOOLS_DIR/fiat-0.3.5/${TOOLS_FORMAT}
 
   b. Set environment variables.
 
-    FIAT_DIR=${TOOLS_DIR}/fiat-0.3.3/${TOOLS_FORMAT}
+    FIAT_DIR=${TOOLS_DIR}/fiat-0.3.5/${TOOLS_FORMAT}
     export PYTHONPATH=${PYTHONPATH}:${FIAT_DIR}/lib/python${PYTHON_VERSION}/site-packages
 
 10. Install the development version of PETSc
   (http://www-unix.mcs.anl.gov/petsc/petsc-as/)
 
+  These instructions cover installing the development version of
+  PETSc. Use mercurial to download the repository rather than
+  downloading a tarball.
+
   a. Clone the source repository.
 
+    cd $TOOLS_DIR/petsc
     hg clone http://petsc.cs.iit.edu/petsc/petsc-dev
     cd petsc-dev/config
     hg clone http://petsc.cs.iit.edu/petsc/BuildSystem BuildSystem
@@ -229,7 +234,7 @@
 
     ARCH_FLAGS="--PETSC_ARCH=linux_${TOOLS_FORMAT}_opt --with-debugging=no"
     LANG_FLAGS="--with-clanguage=c++"
-    BUILD_FLAGS="--with-mpi-compilers=0 --with-gnu-compilers=1 --with-shared=1 --with-dynamic=1 --with-64-bit-points=1 --with-large-file-io=1 --CC=gcc --CXX=g++ --FC=g77 --F77=g77"
+    BUILD_FLAGS="--with-mpi-compilers=0 --with-gnu-compilers=1 --with-shared=1 --with-dynamic=1 --with-64-bit-points=1 --with-large-file-io=1 --CC=gcc --CXX=g++"
     MPI_FLAGS="--with-mpi-dir=${TOOLS_DIR}/mpich2-1.0.4p1/gcc-3.4_64 --with-mpi-shared=0"
     LIBS="-L${PVFS2_LIBDIR} -lpvfs2 -lssl -lpthread -lrt"
     OPTIONS="--with-lgrind=0 --download-tetgen"
@@ -255,6 +260,8 @@
 
 12. Install pythia.
 
+  I place all CIG source code in src/cig.
+
   a. Download the source code from the SVN repository.
 
     svn co http://geodynamics.org/svn/cig/cs/pythia/trunk pythia
@@ -333,7 +340,7 @@
 
   c. Run configure, build, install, and the unit tests.
 
-    ./configure  --enable-pythia --enable-testing  --prefix=${CIG_DIR} CPPFLAGS="-I${PROJ4_INCDIR} -I${CPPUNIT_INCDIR} -I${CIG_INCDIR}"  LDFLAGS="-L${PROJ4_LIBDIR} -L${CPPUNIT_LIBDIR} -L${CIG_LIBDIR} "  LIBS=""  CC=gcc CXX=g++ FC=g77 F77=f77
+    ./configure  --enable-pythia --enable-swig --enable-testing  --prefix=${CIG_DIR} CPPFLAGS="-I${PROJ4_INCDIR} -I${CPPUNIT_INCDIR} -I${CIG_INCDIR}"  LDFLAGS="-L${PROJ4_LIBDIR} -L${CPPUNIT_LIBDIR} -L${CIG_LIBDIR} "  LIBS=""  CC=gcc CXX=g++ FC=g77 F77=f77
     make
     make install
     make check
@@ -350,7 +357,7 @@
 
   c. Run configure, build, install, and the unit tests.
 
-    ./configure  --enable-testing --enable-tetgen --enable-cubit --prefix=${CIG_DIR}  CPPFLAGS="-I${PROJ4_INCDIR} -I${CPPUNIT_INCDIR} -I${CIG_INCDIR} -I${PYTHIA_INCDIR} -I${NETCDF_INCDIR}"  LDFLAGS="-L${PROJ4_LIBDIR} -L${CPPUNIT_LIBDIR} -L${CIG_LIBDIR} -L${NETCDF_LIBDIR}"  LIBS=""  CC=gcc CXX=g++ FC=g77 F77=f77
+    ./configure  --enable-testing --enable-swig --enable-tetgen --enable-cubit --prefix=${CIG_DIR}  CPPFLAGS="-I${PROJ4_INCDIR} -I${CPPUNIT_INCDIR} -I${CIG_INCDIR} -I${PYTHIA_INCDIR} -I${NETCDF_INCDIR}"  LDFLAGS="-L${PROJ4_LIBDIR} -L${CPPUNIT_LIBDIR} -L${CIG_LIBDIR} -L${NETCDF_LIBDIR}"  LIBS=""  CC=gcc CXX=g++ FC=g77 F77=f77
     make
     make install
     make check

Modified: short/3D/PyLith/trunk/libsrc/problems/SolverNonlinear.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/problems/SolverNonlinear.cc	2010-03-04 03:39:03 UTC (rev 16378)
+++ short/3D/PyLith/trunk/libsrc/problems/SolverNonlinear.cc	2010-03-04 04:10:44 UTC (rev 16379)
@@ -109,6 +109,12 @@
 
   PetscErrorCode err = 0;
   const PetscVec solutionVec = solution->vector();
+
+  // BEGIN TEMPORARY KLUDGE
+  assert(0 != _formulation);
+  _formulation->constrainSolnSpace(&solutionVec);
+  // END TEMPORARY KLUDGE
+
   err = SNESSolve(_snes, PETSC_NULL, solutionVec); CHECK_PETSC_ERROR(err);
   
   _logger->eventEnd(solveEvent);



More information about the CIG-COMMITS mailing list