|
maketopo.py.html |
|
|
Source file: maketopo.py
|
|
Directory: /home/rjl/git/rjleveque/clawpack-4.x/apps/tsunami/bowl-radial
|
|
Converted: Tue Jul 26 2011 at 12:58:48
using clawcode2html
|
|
This documentation file will
not reflect any later changes in the source file.
|
"""
Module to create topo and qinit data files for this example.
"""
from pyclaw.geotools import topotools
from numpy import *
def maketopo():
"""
Output topography file for the entire domain
"""
nxpoints = 201
nypoints = 201
xlower = -100.e0
xupper = 100.e0
yupper = 100.e0
ylower = -100.e0
outfile= "bowl.topotype2"
topotools.topo2writer(outfile,topo,xlower,xupper,ylower,yupper,nxpoints,nypoints)
def makeqinit():
"""
Create qinit data file
"""
nxpoints = 101
nypoints = 101
xlower = -50.e0
xupper = 50.e0
yupper = 50.e0
ylower = -50.e0
outfile= "hump.xyz"
topotools.topo1writer(outfile,qinit,xlower,xupper,ylower,yupper,nxpoints,nypoints)
def topo(x,y):
"""
Parabolic bowl
"""
# value of z at origin: Try zmin = 80 for shoreline or 250 for no shore
zmin = 80.
z = 1.e-2*(x**2 + y**2) - zmin
return z
def qinit(x,y):
"""
Gaussian hump:
"""
from numpy import where
ze = -((x+0e0)**2 + (y+0e0)**2)/10.
z = where(ze>-10., 40.e0*exp(ze), 0.)
return z
if __name__=='__main__':
maketopo()
makeqinit()