File: sphereisos.py

package info (click to toggle)
python-scipy 0.5.2-0.1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 33,888 kB
  • ctags: 44,231
  • sloc: ansic: 156,256; cpp: 90,347; python: 89,604; fortran: 73,083; sh: 1,318; objc: 424; makefile: 342
file content (77 lines) | stat: -rw-r--r-- 2,709 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
## Automatically adapted for scipy Oct 31, 2005 by

# Copyright (c) 1996, 1997, The Regents of the University of California.
# All rights reserved.  See Legal.htm for full text and disclaimer.

from scipy import *
from numpy.core.umath import *
from PR import *
from mesh3d import *
from graph3d import *
from plane import *
from GistPlotter import *

def paws ( ) :
    i = raw_input ("Type in any string to continue; ^C to return to prompt. ")
    return

print "Test of slices through an imploding sphere. Type demo () to see the test."
paws ()

def demo () :
    f = PR ('./bills_plot')
    n_nodes = f.NumNodes
    n_z = f.NodesOnZones
    x = f.XNodeCoords
    y = f.YNodeCoords
    z = f.ZNodeCoords
    c = f.ZNodeVelocity
    n_zones = f.NumZones
    # Put vertices in right order for Gist
## n_z = transpose (
##    take (transpose (n_z), array ( [0, 1, 3, 2, 4, 5, 7, 6]),axis=0))

    m1 = Mesh3d (x = x, y = y, z = z, c = c, avs = 1, hex = [n_zones, n_z])

    s1 = sslice (m1, .9 * max (c), varno = 1)
    s11 = sslice (m1, -1.8, varno = 1)
## pyz = Plane (array ([1., 0., 0.], Float ), zeros (3, Float))
    pyz = Plane (array ([1., 0., 0.], Float ), array ( [0.0001, 0., 0.], Float))
    pxz = Plane (array ([0., 1., 0.], Float ), array ( [0., 0.0001, 0.], Float))
    p2 = Plane (array ([1., 0., 0.], Float ), array ( [0.35, 0., 0.], Float))

    s2 = sslice (m1, pyz, varno = 1, opt_3d = ["wm", "s4"])
    s22 = sslice (m1, p2, varno = 1, opt_3d = ["wm", "s4"])
    s23 = sslice (m1, pxz, varno = 1, opt_3d = ["wm", "s4"])

## pl = GistPlotter.Plotter (" ", hcp = "talk.ps", dump = 1, dpi = 75)
## g1 = Graph3d( [s2, s22, s23], plotter = pl, color_card = "rainbowhls",
##      opt_3d = ["wm", "s4"], mask = "min", color_bar = 1, split = 0)
    g1 = Graph3d( [s2, s22, s23], color_card = "rainbowhls",
         opt_3d = ["wm", "s4"], mask = "min", color_bar = 1, split = 0,
         hardcopy = "talk.ps")
    g1.plot ()
    paws ()
    g1.change (split = 1)
    g1.plot ()
    paws ()
    g1.set_surface_list ( [s11, s2, s22, s23])
    g1.plot ()
    paws ()
    s2 = sslice (m1, .9 * min (c), varno = 1, opt_3d = "w3")
    s3 = sslice (m1, .5 * min (c), varno = 1, opt_3d = "w3")
    s4 = sslice (s2, -pyz, opt_3d = "w3")
    s5 = sslice (m1, .5 * max (c), varno = 1, opt_3d = "w3")
    s6 = sslice (s5, -pyz, opt_3d = "w3")
    g1.set_surface_list ( [s1, s2, s6])
    g1.plot ()
    paws ()
    # Do multiple slices
    slice_list = []
    for i in range (8) :
        sl = sslice (m1, .9 * min (c) + i * (.9 * max (c) - .9 * min (c)) / 8.,
           varno = 1, opt_3d = "none")
        slice_list.append (sslice (sl, pxz))
    g1.set_surface_list ( slice_list)
    g1.plot ()
    paws ()