source: trunk/examples/zoo/cloud/cloud.tcl @ 1587

Last change on this file since 1587 was 1587, checked in by dkearney, 13 years ago

removing tabs from files and removing output sections from the tool.xml's in zoo examples.
tool.xml's should not include output sections, it is confusing and inefficient for users learning
to use rappture.

File size: 2.1 KB
Line 
1# ----------------------------------------------------------------------
2#  EXAMPLE: Rappture <cloud> elements
3# ======================================================================
4#  AUTHOR:  Michael McLennan, Purdue University
5#  Copyright (c) 2004-2005  Purdue Research Foundation
6#
7#  See the file "license.terms" for information on usage and
8#  redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
9# ======================================================================
10package require Rappture
11
12# open the XML file containing the run parameters
13set driver [Rappture::library [lindex $argv 0]]
14
15# get the formula and make it ready for evaluation
16set formula [$driver get input.string(formula).current]
17regsub -all {[xyz]} $formula {$\0} formula
18
19# get the number of points for the cloud
20set npts [$driver get input.integer(npts).current]
21
22#
23# Generate the 2D mesh and field values...
24#
25$driver put output.cloud(m2d).about.label "2D Mesh"
26$driver put output.cloud(m2d).units "um"
27$driver put output.cloud(m2d).hide "yes"
28
29$driver put output.field(f2d).about.label "2D Field"
30$driver put output.field(f2d).component.mesh "output.cloud(m2d)"
31set z 1
32for {set n 0} {$n < $npts} {incr n} {
33    set x [expr {rand()}]
34    set y [expr {rand()}]
35    $driver put -append yes output.cloud(m2d).points "$x $y\n"
36
37    set fval [expr $formula]
38    $driver put -append yes output.field(f2d).component.values "$fval\n"
39}
40
41#
42# Generate the 3D mesh and field values...
43#
44$driver put output.cloud(m3d).about.label "3D Mesh"
45$driver put output.cloud(m3d).units "um"
46$driver put output.cloud(m3d).hide "yes"
47
48$driver put output.field(f3d).about.label "2D Field"
49$driver put output.field(f3d).component.mesh "output.cloud(m3d)"
50for {set n 0} {$n < $npts} {incr n} {
51    set x [expr {rand()}]
52    set y [expr {rand()}]
53    set z [expr {rand()}]
54    $driver put -append yes output.cloud(m3d).points "$x $y $z\n"
55
56    set fval [expr $formula]
57    $driver put -append yes output.field(f3d).component.values "$fval\n"
58}
59
60#
61# Save the updated XML describing the run...
62#
63Rappture::result $driver
64exit 0
Note: See TracBrowser for help on using the repository browser.