Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Introducing the Rappture Toolkit Michael McLennan Software Architect HUBzero™ Platform for Scientific Collaboration This work licensed under Creative.

Similar presentations


Presentation on theme: "1 Introducing the Rappture Toolkit Michael McLennan Software Architect HUBzero™ Platform for Scientific Collaboration This work licensed under Creative."— Presentation transcript:

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


Download ppt "1 Introducing the Rappture Toolkit Michael McLennan Software Architect HUBzero™ Platform for Scientific Collaboration This work licensed under Creative."

Similar presentations


Ads by Google