Download presentation
Presentation is loading. Please wait.
Published byMorgan Bishop Modified over 8 years ago
1
1 Introducing the Rappture Toolkit Michael McLennan Software Architect HUBzero™ Platform for Scientific Collaboration This work licensed under Creative Commons See license online: by-nc-sa/3.0
2
2 Publish ANY X11/Linux Tool GNU Chess MATLAB Program
3
3 What if you have a C/C++ or Fortran program? #include int main(int argc, char *argv[]) { double T, Ef, E, dE, kT, Emin, Emax, f; printf("Enter the Fermi energy in eV:\n"); scanf("%lg", &Ef); printf("Enter the Temperature in K:\n"); scanf("%lg", &T); kT = 8.61734e-5 * T; Emin = Ef - 10*kT; Emax = Ef + 10*kT; E = Emin; dE = 0.005*(Emax-Emin); while (E < Emax) { f = 1.0/(1.0 + exp((E - Ef)/kT)); printf("%f %f\n",f, E); E = E + dE; } return 0; } #include int main(int argc, char *argv[]) { double T, Ef, E, dE, kT, Emin, Emax, f; printf("Enter the Fermi energy in eV:\n"); scanf("%lg", &Ef); printf("Enter the Temperature in K:\n"); scanf("%lg", &T); kT = 8.61734e-5 * T; Emin = Ef - 10*kT; Emax = Ef + 10*kT; E = Emin; dE = 0.005*(Emax-Emin); while (E < Emax) { f = 1.0/(1.0 + exp((E - Ef)/kT)); printf("%f %f\n",f, E); E = E + dE; } return 0; }
4
4 The Rappture Toolkit Scientist Rapid Application Infrastructure Released in May 2005 Open Source (rappture.org)rappture.org Create standard desktop apps Works with your favorite programming language Rappture = Simulation Code
5
5 Create tools like this Demo at http://hubzero.org/tour >>http://hubzero.org/tour
6
6 Used to Create/Deploy Hundreds of Tools
7
7 tool.xml How does it work? executable Rappture GUI description of tool, including inputs and outputs Produces the user interface automatically!
8
8 Focus on tool.xml executable Same objects act as either inputs or outputs * * not always true, but should be tool.xml Rappture GUI Produces the user interface automatically! This is my tool. … This is my tool. … description of tool, including inputs and outputs
9
9 Tour the zoo Zoo of Examples Complete catalog of data objects onlineComplete catalog See screen shots Copy xml code
10
10 Similar structure Multiple curves This is an example that has multiple curves. … Ambient temperature This is the temperature in the environment around the device. … All objects have an section with and This is the temperature in the environment around the device. This is an example that has multiple curves.
11
11 Voltage Sweep +/- This determines the voltage sweep used to obtain results from the model. R0lGODlhGgASAKEBAAAAAP///////////yH+FUNyZWF0ZWQgd2l0a CBUaGUgR0lNUAAh+QQBCgAB ACwAAAAAGgASAAACLoyPqcvtD8CRj8VZrYw8h/tRn2eA4Eiaosa1q ttC1EmW81qrtbYvdG8DCodE RQEAOw== V 0V 10V purple 4V Voltage Sweep +/- This determines the voltage sweep used to obtain results from the model. R0lGODlhGgASAKEBAAAAAP///////////yH+FUNyZWF0ZWQgd2l0a CBUaGUgR0lNUAAh+QQBCgAB ACwAAAAAGgASAAACLoyPqcvtD8CRj8VZrYw8h/tRn2eA4Eiaosa1q ttC1EmW81qrtbYvdG8DCodE RQEAOw== V 0V 10V purple 4V Optional system of units Constrain input values Start with this by default Optional color is used if min/max values are set Optional base-64 (mime) encoded GIF image for icon Real number with optional units
12
12 Presets create a little drop-down menu of common choices Ambient temperature This is the temperature in the environment around the device. K 50K 1000K 300K 300K 300K (room temperature) 77K 77K (liquid nitrogen) Ambient temperature This is the temperature in the environment around the device. K 50K 1000K 300K 300K 300K (room temperature) 77K 77K (liquid nitrogen) Temperature gauge appears if units are for temperature Real number with optional units
13
13 Grid points Number of nodes used in the simulation mesh. 10 1000 100 Grid points Number of nodes used in the simulation mesh. 10 1000 100 Constrain input values Start with this by default Buttons to adjust value up/down Like a, but accepts only integer values
14
14 Impact Ionization Model Used to enable/disable the effects of impact ionization on the mobility model. yes Impact Ionization Model Used to enable/disable the effects of impact ionization on the mobility model. yes Start with this by default Simple on/off value
15
15 Carrier Statistics Determines the model… Boltzmann From the Boltzmann transport equation bte … Boltzmann Carrier Statistics Determines the model… Boltzmann From the Boltzmann transport equation bte … Boltzmann This by default Set of mutually exclusive options Optional. If specified, then report this value when this option is selected
16
16 Title Title for all plots. untitled Title Title for all plots. untitled Quick line of text, or even a whole file! Binary files too. Input This is the control file for the program. EXAMPLE:.print ac vm(11) 40x10 Enter your SPICE commands here. Input This is the control file for the program. EXAMPLE:.print ac vm(11) 40x10 Enter your SPICE commands here. width x height in characters
17
17 R0lGODlhtAA8APcAAFeBu////0VurKW829Ld7YSjQ1 8Y+r0rHE31aAus3Y6VJ5sEpysEdvrXeVwlV+uVB6tVZ/uEhwrlV/u tkZol5yy0092q0dqmVV+t053tElxr0VmlEVnlU92qlR8tFN7sk12s... R0lGODlhtAA8APcAAFeBu////0VurKW829Ld7YSjQ1 8Y+r0rHE31aAus3Y6VJ5sEpysEdvrXeVwlV+uVB6tVZ/uEhwrlV/u tkZol5yy0092q0dqmVV+t053tElxr0VmlEVnlU92qlR8tFN7sk12s... Data for image processing GIF, JPEG, or PNG in base-64 format Can use as a decoration on the input side, but there are better ways to do that now.better ways
18
18 Better User Interfaces Temperature gauge Validation of inputs Units conversion Adjust knob to compare simulations Zoom in/out
19
19 More Information http://rappture.org What is Rappture? Getting Started Documentation Downloads Mailing list: Post: rappture@lists.nanohub.org Subscribe: rappture-request@lists.nanohub.org with subject subscribe Examples: /apps/rappture/current/examples In your workspace, type: /apps/rappture/copy_rappture_examples cd rappture_examples ls
20
20 Exercise #2: Create a Rappture Interface Write the tool.xml file to create this tool: See https://rappture.org/wiki/rappture_xml_elements
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.