3 Created on Sun Jul 29 20:00:32 2018 9 from __future__
import print_function
17 def demo(iout=1,run='',data='../data'):
18 """ Demonstrates the use of packet procedures""" 19 snapfile=os.path.join(data,run,
'snapshots.dat')
20 assert os.path.isfile(snapfile),
'the file '+snapfile+
' must exist' 21 original = np.get_printoptions()
22 np.set_printoptions(formatter={
'float':
'{:6.3f}'.format})
25 e=
'==================================' 28 print(e[0:l1],s,e[0:l2])
32 for i
in range(a.shape[0]):
33 for j
in range(a.shape[1]):
34 for k
in range(a.shape[2]):
35 a[i,j,k]=(i-1)**2+(j-2)**3+(k-2)**4
37 print (
'maxloc(a) =', i,
', value =', a[i[0],i[1],i[2]])
40 print (
'minloc(a) =', i,
', value =', a[i[0],i[1],i[2]])
46 print (
'patch_at: id =',p1.id,
'position =',p1.position)
49 for a
in (
True,
False):
51 c=ds.corners(pp[0],active=a)
52 print(
' one: {} {}'.format(c[0],c[1]))
53 c=ds.corners(pp,active=a)
54 print(
'many: {} {}'.format(c[0],c[1]))
58 print (
'is_inside: id =',p.id,
'position =',p.position,
'result',
61 _print(
'count_inside')
63 print (
'count_inside: id =',p.id,
'position =',p.position,
'result',
64 ds.count_inside(pt,p))
66 _print(
'indices_and_weights')
67 (i,w)=ds.indices_and_weights(pt,p1)
70 _print(
'patches_along:')
71 ds.patches_along(pt,pp,verbose=2)
72 _print(
'patches_along_x:')
73 ds.patches_along_x(pt,pp,verbose=2)
74 _print(
'patches_along_y:')
75 ds.patches_along_x(pt,pp,verbose=2)
76 _print(
'patches_along_z:')
77 ds.patches_along_x(pt,pp,verbose=2)
79 _print(
'values_along')
81 print(
'variable index =',iv)
82 x,v=ds.values_along(pt,pp,dir=0,iv=iv)
83 print(
'xmin,xmax =',x.min(),x.max())
84 print(
'vmin,vmax =',v.min(),v.max())
86 _print(
'shell_values:')
87 shv=ds.shell_values(pp,verbose=1)
88 shv.radial_components()
90 print(
'variable min max (in shell)')
91 for key
in shv.var.keys():
92 v=np.array(shv.var[key])
93 print(
'{:>8} {:12.3e} {:12.3e} {}'.format(key,v.min(),v.max(),v.shape))
94 print(
'average mass flux:',shv.mass_flux())
96 np.set_printoptions(**original)
98 if __name__ ==
'__main__':