[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