[cig-commits] r4602 -
short/3D/PyLith/branches/pylith-0.8/pylith3d/pylith3d
willic3 at geodynamics.org
willic3 at geodynamics.org
Mon Sep 25 11:13:01 PDT 2006
Author: willic3
Date: 2006-09-25 11:13:01 -0700 (Mon, 25 Sep 2006)
New Revision: 4602
Modified:
short/3D/PyLith/branches/pylith-0.8/pylith3d/pylith3d/ElementTypeDef.py
Log:
Added integration info for surface elements.
Entries are present for quadratic elements even though they are not supported at present.
Modified: short/3D/PyLith/branches/pylith-0.8/pylith3d/pylith3d/ElementTypeDef.py
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/pylith3d/ElementTypeDef.py 2006-09-25 17:34:47 UTC (rev 4601)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/pylith3d/ElementTypeDef.py 2006-09-25 18:13:01 UTC (rev 4602)
@@ -41,34 +41,55 @@
print "Hello from ElementTypeDef.getdef!"
self.numberVolumeElementNodes = self.elementNodes[elementType - 1]
+ self.numberSurfaceElementNodes = self.elementNodes2d[elementType - 1]
if quadratureOrderInt == 1:
self.numberVolumeElementGaussPoints = \
self.elementFullGauss[elementType -1]
+ self.numberSurfaceElementGaussPoints = \
+ self.elementFullGauss2d[elementType -1]
elif quadratureOrderInt == 2:
self.numberVolumeElementGaussPoints = \
self.elementReducedGauss[elementType -1]
+ self.numberSurfaceElementGaussPoints = \
+ self.elementReducedGauss2d[elementType -1]
elif quadratureOrderInt == 3:
self.numberVolumeElementGaussPoints = \
self.elementFullGauss[elementType -1]
+ self.numberSurfaceElementGaussPoints = \
+ self.elementFullGauss2d[elementType -1]
self.numberVolumeElementEquations = \
numberDegreesFreedom * \
self.numberVolumeElementNodes
- self.numberVolumeElementCoordinates = \
+ self.numberSurfaceElementEquations = \
+ numberDegreesFreedom * \
+ self.numberSurfaceElementNodes
+
+ self.numberSurfaceElementCoordinates = \
numberSpaceDimensions * \
- self.numberVolumeElementNodes
+ self.numberSurfaceElementNodes
self.elementTypeInfo = [self.numberVolumeElementNodes,
self.numberVolumeElementGaussPoints,
self.numberVolumeElementEquations,
self.numberVolumeElementCoordinates]
+ self.elementTypeInfo2d = [self.numberSurfaceElementNodes,
+ self.numberSurfaceElementGaussPoints,
+ self.numberSurfaceElementEquations,
+ self.numberSurfaceElementCoordinates]
+
self.pointerToSh = pylith3d.allocateDouble(
(numberSpaceDimensions+1)*
self.numberVolumeElementNodes*
self.numberVolumeElementGaussPoints)
+
+ self.pointerToSh2d = pylith3d.allocateDouble(
+ (numberSpaceDimensions+1)*
+ self.numberSurfaceElementNodes*
+ self.numberSurfaceElementGaussPoints)
self.pointerToShj = pylith3d.allocateDouble(
(numberSpaceDimensions+1)*
@@ -78,6 +99,10 @@
self.pointerToGauss = pylith3d.allocateDouble(
(numberSpaceDimensions+1)*
self.numberVolumeElementGaussPoints)
+
+ self.pointerToGauss2d = pylith3d.allocateDouble(
+ (numberSpaceDimensions+1)*
+ self.numberSurfaceElementGaussPoints)
pylith3d.preshape(
self.pointerToSh,
@@ -87,6 +112,14 @@
elementType,
self.numberVolumeElementNodes,
self.numberVolumeElementGaussPoints)
+
+ pylith3d.preshape2d(
+ self.pointerToSh2d,
+ self.pointerToGauss2d,
+ quadratureOrderInt,
+ elementType,
+ self.numberSurfaceElementNodes,
+ self.numberSurfaceElementGaussPoints)
return
@@ -124,6 +157,35 @@
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, \
8, 8, 8, 8, 8, 8, 8, 8, 8, 2, \
5, 1]
+ self.numberSurfaceElementNodes = 0
+ self.numberSurfaceElementGaussPoints = 0
+ self.numberSurfaceElementEquations = 0
+ self.numberSurfaceElementCoordinates = 0
+ self.elementTypeInfo2d = [0, 0, 0, 0]
+ self.pointerToListArrayElementTypeInfo2d = None
+ self.pointerToSh2d = None
+ self.pointerToGauss2d = None
+ self.elementNodes2d = [ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, \
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, \
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, \
+ 3, 8, 8, 8, 8, 8, 8, 8, 8, 8, \
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, \
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, \
+ 6, 6]
+ self.elementFullGauss2d = [ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, \
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, \
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, \
+ 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, \
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, \
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, \
+ 3, 3]
+ self.elementReducedGauss2d = [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, \
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, \
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, \
+ 1, 1]
return
# version
More information about the cig-commits
mailing list