Carol Song Sr. Research Scientist Rosen Center for Advanced Computing Thanks to M. McLennan for the Rappture slides!
What is a HUB A hub is a web based collaboration environment built on many open source packages. Provides interactive online tools, content hosting, learning, collaboration, and community building capabilities. Apache web server Joomla content management system MySQL database (storing content, stats, etc) LDAP for authentication PHP web scripting
Example HUBs The very original Many other hubs listed in “hubs to watch” Note: Workshop on HUBzero, April 13-14, Indianapolis Environmental research related:
Main features in a HUB Online simulation tools User contributed materials Tools Online presentation, learning modules, podcasts Course related materials (assignments, projects, lectures) Datasets (being developed by a couple HUBs) Usage statistics User reviews, rating, tagging, profile Citations Groups (wiki, forum) Support tools (ticket system, feedback, Q&A, knowledgebase, poll…)
Developing tools in a hub Tools delivered through a web browser with graphical user interfaces Interactive Visualization Any tool that already has a GUI can be deployed into a hub VNC technology (virtual network computing) Legacy tools can be wrapped using Rappture GUI generation Rappture comes in a hub
Take a look at some tools Nanohub.org DRINET Workspace
What is Rappture? Scientist Rapid Application Infrastructure Created by NCN in Nov 2004 Open Source (rappture.org)rappture.org Create standard desktop apps Works with your favorite programming language Rappture = Simulation Code
tool.xml How does it work? executable Rappture GUI description of tool, including inputs and outputs Produces the user interface automatically!
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
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.
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
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
Grid points Number of nodes used in the simulation mesh Grid points Number of nodes used in the simulation mesh Constrain input values Start with this by default Buttons to adjust value up/down Like a, but accepts only integer values
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
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
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
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
Better User Interfaces Temperature gauge Validation of inputs Units conversion Adjust knob to compare simulations Zoom in/out
More Information What is Rappture? Getting Started Documentation Downloads Mailing list: Post: Subscribe: with subject subscribe Examples: /apps/rappture/current/examples In your workspace, type: /apps/rappture/copy_rappture_examples cd rappture_examples ls
Information Introducing the Rappture Toolkit More Rappture objects More presentations on tool development HUBzero information
What to do next If you want to experiment and be hands-on, register at for a free account. Feel free to ask questions – we have several people in the group that can help. Collaborate!