[cig-commits] r19616 - in short/3D/PyLith/trunk/modulesrc: faults friction topology

brad at geodynamics.org brad at geodynamics.org
Fri Feb 10 21:37:58 PST 2012


Author: brad
Date: 2012-02-10 21:37:58 -0800 (Fri, 10 Feb 2012)
New Revision: 19616

Modified:
   short/3D/PyLith/trunk/modulesrc/faults/Fault.i
   short/3D/PyLith/trunk/modulesrc/faults/FaultCohesive.i
   short/3D/PyLith/trunk/modulesrc/friction/FrictionModel.i
   short/3D/PyLith/trunk/modulesrc/friction/RateStateAgeing.i
   short/3D/PyLith/trunk/modulesrc/friction/SlipWeakening.i
   short/3D/PyLith/trunk/modulesrc/friction/SlipWeakeningTime.i
   short/3D/PyLith/trunk/modulesrc/friction/StaticFriction.i
   short/3D/PyLith/trunk/modulesrc/friction/TimeWeakening.i
   short/3D/PyLith/trunk/modulesrc/topology/SubMesh.i
Log:
Merge from stable.

Modified: short/3D/PyLith/trunk/modulesrc/faults/Fault.i
===================================================================
--- short/3D/PyLith/trunk/modulesrc/faults/Fault.i	2012-02-11 05:31:23 UTC (rev 19615)
+++ short/3D/PyLith/trunk/modulesrc/faults/Fault.i	2012-02-11 05:37:58 UTC (rev 19616)
@@ -65,13 +65,38 @@
        */
       const char* label(void) const;
 
-      /** Get the number of vertices on the fault.
+      /** Get dimension of mesh.
        *
+       * @returns Dimension of mesh.
+       */
+      int dimension(void) const;
+
+      /** Get representative cone size for mesh.
+       *
+       * @returns Representative cone size for mesh.
+       */
+      int coneSize(void) const;
+  
+      /** Get number of vertices in mesh.
+       *
+       * @returns Number of vertices in mesh.
+       */
+      int numVertices(void) const;
+  
+      /** Get number of cells in mesh.
+       *
+       * @returns Number of cells in mesh.
+       */
+      int numCells(void) const;
+
+      /** Get the number of vertices associated with the fault (before
+       * fault mesh exists).
+       *
        * @param mesh PETSc mesh
        * @return Number of vertices on the fault.
        */
       virtual
-      int numVertices(const topology::Mesh& mesh) const = 0;
+      int numVerticesNoMesh(const topology::Mesh& mesh) const = 0;
 
       /** Adjust mesh topology for fault implementation.
        *

Modified: short/3D/PyLith/trunk/modulesrc/faults/FaultCohesive.i
===================================================================
--- short/3D/PyLith/trunk/modulesrc/faults/FaultCohesive.i	2012-02-11 05:31:23 UTC (rev 19615)
+++ short/3D/PyLith/trunk/modulesrc/faults/FaultCohesive.i	2012-02-11 05:37:58 UTC (rev 19616)
@@ -63,12 +63,13 @@
        */
       void faultMeshFilename(const char* filename);
       
-      /** Get the number of vertices on the fault.
+      /** Get the number of vertices associated with the fault (before
+       * fault mesh exists).
        *
        * @param mesh PETSc mesh
        * @return Number of vertices on the fault.
        */
-      int numVertices(const topology::Mesh& mesh) const;
+      int numVerticesNoMesh(const topology::Mesh& mesh) const;
 
       /** Adjust mesh topology for fault implementation.
        *

Modified: short/3D/PyLith/trunk/modulesrc/friction/FrictionModel.i
===================================================================
--- short/3D/PyLith/trunk/modulesrc/friction/FrictionModel.i	2012-02-11 05:31:23 UTC (rev 19615)
+++ short/3D/PyLith/trunk/modulesrc/friction/FrictionModel.i	2012-02-11 05:37:58 UTC (rev 19616)
@@ -149,6 +149,21 @@
 				const PylithScalar normalTraction);
   
 
+      /** Compute change in friction for a change in slip (Jacobian).
+       *
+       * @pre Must call retrievePropsAndVars for cell before calling
+       * calcFriction().
+       *
+       * @param slip Current slip at location.
+       * @param slipRate Current slip rate at location.
+       * @param normalTraction Normal traction at location.
+       *
+       * @returns Change in friction for a chance in slip (dT/dD).
+       */
+      PylithScalar calcFrictionSlope(const PylithScalar slip,
+			       const PylithScalar slipRate,
+			       const PylithScalar normalTraction);
+  
       /** Compute friction at vertex.
        *
        * @pre Must call retrievePropsAndVars for cell before calling
@@ -246,6 +261,27 @@
 				 const PylithScalar* stateVars,
 				 const int numStateVars) = 0;
 
+      /** Compute change in friction for a change in slip (Jacobian).
+       *
+       * @param slip Current slip at location.
+       * @param slipRate Current slip rate at location.
+       * @param normalTraction Normal traction at location.
+       * @param properties Properties at location.
+       * @param numProperties Number of properties.
+       * @param stateVars State variables at location.
+       * @param numStateVars Number of state variables.
+       *
+       * @returns Change in friction for a chance in slip (dT/dD).
+       */
+      virtual
+      PylithScalar _calcFrictionSlope(const PylithScalar slip,
+				const PylithScalar slipRate,
+				const PylithScalar normalTraction,
+				const PylithScalar* properties,
+				const int numProperties,
+				const PylithScalar* stateVars,
+				const int numStateVars) = 0;
+  
       /** Update state variables (for next time step).
        *
        * @param t Current time.

Modified: short/3D/PyLith/trunk/modulesrc/friction/RateStateAgeing.i
===================================================================
--- short/3D/PyLith/trunk/modulesrc/friction/RateStateAgeing.i	2012-02-11 05:31:23 UTC (rev 19615)
+++ short/3D/PyLith/trunk/modulesrc/friction/RateStateAgeing.i	2012-02-11 05:37:58 UTC (rev 19616)
@@ -90,6 +90,44 @@
 				 const PylithScalar* stateVars,
 				 const int numStateVars);
 
+      /** Compute change in friction for a change in slip (Jacobian).
+       *
+       * @param slip Current slip at location.
+       * @param slipRate Current slip rate at location.
+       * @param normalTraction Normal traction at location.
+       * @param properties Properties at location.
+       * @param numProperties Number of properties.
+       * @param stateVars State variables at location.
+       * @param numStateVars Number of state variables.
+       *
+       * @returns Change in friction for a chance in slip (dT/dD).
+       */
+      PylithScalar _calcFrictionSlope(const PylithScalar slip,
+				const PylithScalar slipRate,
+				const PylithScalar normalTraction,
+				const PylithScalar* properties,
+				const int numProperties,
+				const PylithScalar* stateVars,
+				const int numStateVars);
+
+      /** Update state variables (for next time step).
+       *
+       * @param slip Current slip at location.
+       * @param slipRate Current slip rate at location.
+       * @param normalTraction Normal traction at location.
+       * @param stateVars State variables at location.
+       * @param numStateVars Number of state variables.
+       * @param properties Properties at location.
+       * @param numProperties Number of properties.
+       */
+      void _updateStateVars(const PylithScalar slip,
+			    const PylithScalar slipRate,
+			    const PylithScalar normalTraction,
+			    PylithScalar* const stateVars,
+			    const int numStateVars,
+			    const PylithScalar* properties,
+			    const int numProperties);
+  
     }; // class RateStateAgeing
 
   } // friction

Modified: short/3D/PyLith/trunk/modulesrc/friction/SlipWeakening.i
===================================================================
--- short/3D/PyLith/trunk/modulesrc/friction/SlipWeakening.i	2012-02-11 05:31:23 UTC (rev 19615)
+++ short/3D/PyLith/trunk/modulesrc/friction/SlipWeakening.i	2012-02-11 05:37:58 UTC (rev 19616)
@@ -89,6 +89,44 @@
 				 const PylithScalar* stateVars,
 				 const int numStateVars);
 
+      /** Compute change in friction for a change in slip (Jacobian).
+       *
+       * @param slip Current slip at location.
+       * @param slipRate Current slip rate at location.
+       * @param normalTraction Normal traction at location.
+       * @param properties Properties at location.
+       * @param numProperties Number of properties.
+       * @param stateVars State variables at location.
+       * @param numStateVars Number of state variables.
+       *
+       * @returns Change in friction for a chance in slip (dT/dD).
+       */
+      PylithScalar _calcFrictionSlope(const PylithScalar slip,
+				const PylithScalar slipRate,
+				const PylithScalar normalTraction,
+				const PylithScalar* properties,
+				const int numProperties,
+				const PylithScalar* stateVars,
+				const int numStateVars);
+  
+      /** Update state variables (for next time step).
+       *
+       * @param slip Current slip at location.
+       * @param slipRate Current slip rate at location.
+       * @param normalTraction Normal traction at location.
+       * @param stateVars State variables at location.
+       * @param numStateVars Number of state variables.
+       * @param properties Properties at location.
+       * @param numProperties Number of properties.
+       */
+      void _updateStateVars(const PylithScalar slip,
+			    const PylithScalar slipRate,
+			    const PylithScalar normalTraction,
+			    PylithScalar* const stateVars,
+			    const int numStateVars,
+			    const PylithScalar* properties,
+			    const int numProperties);
+      
     }; // class SlipWeakening
 
   } // friction

Modified: short/3D/PyLith/trunk/modulesrc/friction/SlipWeakeningTime.i
===================================================================
--- short/3D/PyLith/trunk/modulesrc/friction/SlipWeakeningTime.i	2012-02-11 05:31:23 UTC (rev 19615)
+++ short/3D/PyLith/trunk/modulesrc/friction/SlipWeakeningTime.i	2012-02-11 05:37:58 UTC (rev 19616)
@@ -83,6 +83,26 @@
 				 const PylithScalar* stateVars,
 				 const int numStateVars);
 
+      /** Compute change in friction for a change in slip (Jacobian).
+       *
+       * @param slip Current slip at location.
+       * @param slipRate Current slip rate at location.
+       * @param normalTraction Normal traction at location.
+       * @param properties Properties at location.
+       * @param numProperties Number of properties.
+       * @param stateVars State variables at location.
+       * @param numStateVars Number of state variables.
+       *
+       * @returns Change in friction for a chance in slip (dT/dD).
+       */
+      PylithScalar _calcFrictionSlope(const PylithScalar slip,
+				const PylithScalar slipRate,
+				const PylithScalar normalTraction,
+				const PylithScalar* properties,
+				const int numProperties,
+				const PylithScalar* stateVars,
+				const int numStateVars);
+  
     }; // class SlipWeakeningTime
 
   } // friction

Modified: short/3D/PyLith/trunk/modulesrc/friction/StaticFriction.i
===================================================================
--- short/3D/PyLith/trunk/modulesrc/friction/StaticFriction.i	2012-02-11 05:31:23 UTC (rev 19615)
+++ short/3D/PyLith/trunk/modulesrc/friction/StaticFriction.i	2012-02-11 05:37:58 UTC (rev 19616)
@@ -83,6 +83,26 @@
 				 const PylithScalar* stateVars,
 				 const int numStateVars);
 
+      /** Compute change in friction for a change in slip (Jacobian).
+       *
+       * @param slip Current slip at location.
+       * @param slipRate Current slip rate at location.
+       * @param normalTraction Normal traction at location.
+       * @param properties Properties at location.
+       * @param numProperties Number of properties.
+       * @param stateVars State variables at location.
+       * @param numStateVars Number of state variables.
+       *
+       * @returns Change in friction for a chance in slip (dT/dD).
+       */
+      PylithScalar _calcFrictionSlope(const PylithScalar slip,
+				const PylithScalar slipRate,
+				const PylithScalar normalTraction,
+				const PylithScalar* properties,
+				const int numProperties,
+				const PylithScalar* stateVars,
+				const int numStateVars);
+  
     }; // class StaticFriction
 
   } // friction

Modified: short/3D/PyLith/trunk/modulesrc/friction/TimeWeakening.i
===================================================================
--- short/3D/PyLith/trunk/modulesrc/friction/TimeWeakening.i	2012-02-11 05:31:23 UTC (rev 19615)
+++ short/3D/PyLith/trunk/modulesrc/friction/TimeWeakening.i	2012-02-11 05:37:58 UTC (rev 19616)
@@ -83,6 +83,44 @@
 				 const PylithScalar* stateVars,
 				 const int numStateVars);
 
+      /** Compute change in friction for a change in slip (Jacobian).
+       *
+       * @param slip Current slip at location.
+       * @param slipRate Current slip rate at location.
+       * @param normalTraction Normal traction at location.
+       * @param properties Properties at location.
+       * @param numProperties Number of properties.
+       * @param stateVars State variables at location.
+       * @param numStateVars Number of state variables.
+       *
+       * @returns Change in friction for a chance in slip (dT/dD).
+       */
+      PylithScalar _calcFrictionSlope(const PylithScalar slip,
+				const PylithScalar slipRate,
+				const PylithScalar normalTraction,
+				const PylithScalar* properties,
+				const int numProperties,
+				const PylithScalar* stateVars,
+				const int numStateVars);
+  
+      /** Update state variables (for next time step).
+       *
+       * @param slip Current slip at location.
+       * @param slipRate Current slip rate at location.
+       * @param normalTraction Normal traction at location.
+       * @param stateVars State variables at location.
+       * @param numStateVars Number of state variables.
+       * @param properties Properties at location.
+       * @param numProperties Number of properties.
+       */
+      void _updateStateVars(const PylithScalar slip,
+			    const PylithScalar slipRate,
+			    const PylithScalar normalTraction,
+			    PylithScalar* const stateVars,
+			    const int numStateVars,
+			    const PylithScalar* properties,
+			    const int numProperties);
+      
     }; // class TimeWeakening
 
   } // friction

Modified: short/3D/PyLith/trunk/modulesrc/topology/SubMesh.i
===================================================================
--- short/3D/PyLith/trunk/modulesrc/topology/SubMesh.i	2012-02-11 05:31:23 UTC (rev 19615)
+++ short/3D/PyLith/trunk/modulesrc/topology/SubMesh.i	2012-02-11 05:37:58 UTC (rev 19616)
@@ -81,6 +81,24 @@
        */
       int dimension(void) const;
 
+      /** Get representative cone size for mesh.
+       *
+       * @returns Representative cone size for mesh.
+       */
+      int coneSize(void) const;
+      
+      /** Get number of vertices in mesh.
+       *
+       * @returns Number of vertices in mesh.
+       */
+      int numVertices(void) const;
+      
+      /** Get number of cells in mesh.
+       *
+       * @returns Number of cells in mesh.
+       */
+      int numCells(void) const;
+
       /** Get MPI communicator associated with mesh.
        *
        * @returns MPI communicator.



More information about the CIG-COMMITS mailing list