[cig-commits] [commit] master: py: Rename functions to be more Pythonic. (58e54c7)
cig_noreply at geodynamics.org
cig_noreply at geodynamics.org
Wed Jan 7 16:50:54 PST 2015
Repository : https://github.com/geodynamics/specfem1d
On branch : master
Link : https://github.com/geodynamics/specfem1d/compare/c63d455e0ff0075e43cb487147ab0bc101d4019c...81ba23d88e3baad884dd78c47c7581ffe856f7b2
>---------------------------------------------------------------
commit 58e54c71d788dd434541fea3e1f21a4d14c5d2a7
Author: Elliott Sales de Andrade <quantum.analyst at gmail.com>
Date: Wed Jan 7 19:38:03 2015 -0500
py: Rename functions to be more Pythonic.
That is, drop the CamelCase, and spell out names.
>---------------------------------------------------------------
58e54c71d788dd434541fea3e1f21a4d14c5d2a7
Python_version/functions.py | 26 +++++++++++++++-----------
Python_version/grid.py | 8 ++++++--
Python_version/main_for_Python_version.py | 6 +++---
3 files changed, 24 insertions(+), 16 deletions(-)
diff --git a/Python_version/functions.py b/Python_version/functions.py
index 6adced7..84f0022 100644
--- a/Python_version/functions.py
+++ b/Python_version/functions.py
@@ -11,14 +11,15 @@ elements simulations.
import numpy as np
-def estimateDt(grid,param):
+def estimate_timestep(grid, param):
dzMin=(grid.z[1:]-grid.z[:len(grid.z)-1]).min()
dh=param.length/(len(grid.z)-1)
vMax = np.sqrt(param.meanMu/param.meanRho).max()
dt = param.cfl*dh/vMax # param.CFL*dzMin/vMax # TODO : See why...?!
return dt
-# z0=((ksi+1)/(1-ksi)*ticks[elt_number+1]+ticks[elt_number])*1/(1+(ksi+1)/(1-ksi))
-def invProjection(ksi, elt_number, ticks):
+
+
+def project_inverse(ksi, elt_number, ticks):
"""From the abscissa of a point (ksi) onto the reference interval,
the number of the element to which it belongs (elt_number) and
the abscissa of the borders of the elements (ticks) returns
@@ -26,12 +27,13 @@ def invProjection(ksi, elt_number, ticks):
z0=1./2.*((ksi+1.)*ticks[elt_number+1]+(1.-ksi)*ticks[elt_number])
return z0
-def makeStiffness(grid,param):
+
+def make_stiffness_matrix(grid, param):
"""Computation of stiffness matrices"""
Ke=np.zeros((param.nSpec,param.nGLL,param.nGLL),dtype='d')
for e in np.arange(param.nSpec):
- if param.axisym and e == 0 : # The first element
- Ke[e,:,:]=makeStiffness0(grid,param) # Build the stiffness matrix for first element
+ if param.axisym and e == 0:
+ Ke[e,:,:] = _make_stiffness_first_elem(grid, param)
else:
for i in np.arange(param.nGLL):
for j in np.arange(param.nGLL):
@@ -44,11 +46,12 @@ def makeStiffness(grid,param):
else:
sumk+=param.wGLL[k]*grid.mu[e,k]*param.deriv[i,k]* \
param.deriv[j,k]*(grid.dKsiDx[e,k]**2)* \
- grid.dXdKsi[e,k]*invProjection(param.ksiGLL[k],e,grid.ticks)/invProjection(param.ksiGLL[i],e,grid.ticks)
+ grid.dXdKsi[e,k]*project_inverse(param.ksiGLL[k],e,grid.ticks)/project_inverse(param.ksiGLL[i],e,grid.ticks)
Ke[e,i,j]= sumk
return Ke
-def makeStiffness0(grid,param):
+
+def _make_stiffness_first_elem(grid, param):
"""Computation of stiffness matrix for the first element"""
K0=np.zeros((param.nGLJ,param.nGLJ),dtype='d')
for i in np.arange(param.nGLJ):
@@ -60,16 +63,17 @@ def makeStiffness0(grid,param):
K0[i,j]= sumk
return K0
-def makeMass(grid,param):
+
+def make_mass_matrix(grid,param):
"""Computation of global mass matrix"""
M=np.zeros(param.nGlob,dtype='d')
for e in np.arange(param.nSpec):
for i in np.arange(param.nGLL):
if param.axisym and e != 0:
- Me=param.wGLL[i]*grid.rho[e,i]*grid.dXdKsi[e,i]#*invProjection(param.ksiGLL[i],e,grid.ticks) # Axisym
+ Me=param.wGLL[i]*grid.rho[e,i]*grid.dXdKsi[e,i]#*project_inverse(param.ksiGLL[i],e,grid.ticks) # Axisym
if param.axisym and e == 0:
Me=param.wGLJ[i]*grid.rho[e,i]*grid.dXdKsi[e,i]
else:
- Me=param.wGLL[i]*grid.rho[e,i]*grid.dXdKsi[e,i]#*invProjection(param.ksiGLL[i],e,grid.ticks)
+ Me=param.wGLL[i]*grid.rho[e,i]*grid.dXdKsi[e,i]#*project_inverse(param.ksiGLL[i],e,grid.ticks)
M[param.ibool[e,i]]+=Me
return M
diff --git a/Python_version/grid.py b/Python_version/grid.py
index 9003831..9eaf19e 100644
--- a/Python_version/grid.py
+++ b/Python_version/grid.py
@@ -28,9 +28,13 @@ class OneDimensionalGrid(object):
self.mu[e,i] = param.meanMu
for i in np.arange(param.nGlob-1)+1:
if i < param.nGLJ:
- self.z[i]=functions.invProjection(param.ksiGLJ[i],0,self.ticks)
+ self.z[i] = functions.project_inverse(param.ksiGLJ[i], 0,
+ self.ticks)
if i >= param.nGLL and i < param.nGlob-1:
- self.z[i]=functions.invProjection(param.ksiGLL[i%param.N],i//param.N,self.ticks)
+ self.z[i] = functions.project_inverse(
+ param.ksiGLL[i % param.N],
+ i // param.N,
+ self.ticks)
else:
self.z[param.nGlob-1]=self.ticks[len(self.ticks)-1]
elif param.gridType == 'gradient':
diff --git a/Python_version/main_for_Python_version.py b/Python_version/main_for_Python_version.py
index b57ddb7..984ed12 100644
--- a/Python_version/main_for_Python_version.py
+++ b/Python_version/main_for_Python_version.py
@@ -29,16 +29,16 @@ grid = OneDimensionalGrid(param)
if param.plot:
grid.plot()
-param.dt=functions.estimateDt(grid,param) # estimate the time step in seconds
+param.dt = functions.estimate_timestep(grid, param)
source=Source(param) # Initialize the source
if param.plot:
source.plotSource()
# Computation of stiffness matrices
-Ke=functions.makeStiffness(grid,param)
+Ke = functions.make_stiffness_matrix(grid, param)
# Computation of global mass matrices
-M=functions.makeMass(grid,param)
+M = functions.make_mass_matrix(grid, param)
# Time integration
u=np.zeros(param.nGlob,dtype='d')
More information about the CIG-COMMITS
mailing list