About iADD

Welcome to the Illinois Astrophysical Dynamics Demos! This is an educational web site dedicated to the use of simulations to teach astrophysics. The site is organized around several areas that are important in modern astronomy. Each offers visualizations of precomputed simulations for beginners and the opportunity to run your own simulations for the adventurous. Each area also features a description of the science involved in the simulations. One of our plans is to build lessons around the simulations hosted here that can be used in secondary and college-level coursework.

iADD is descended from the former Digital Demo Room at Illinois run by Prof. Charles Gammie's group.

Getting started

You can browse articles and precomputed simulations as a guest, but to explore more advanced features of the site you will need to register. It's free and will give you access to our online simulation tools and other features.

Terms of use

Please read our Terms of Use and Privacy Policy governing your use of this site. If you have questions or encounter problems, please contact us.

Debug Console

Close14 MBRequestSessionTimelineDatabase17Events25
$_GET
Array( ) Array(

)
$_POST
Array( ) Array(

)
$_COOKIE
Array( 81f30cf708470b974874c8a96a6bcdb2 => 80b2ea7d2986b273d50e82edba1c69b6, d482552ea4a74f85... Array(
81f30cf708470b974874c8a96a6bcdb2 => 80b2ea7d2986b273d50e82edba1c69b6,
d482552ea4a74f85af0bb3d73890dabc => 5 E 45E43105E E 2444543 7406F5D 11B 37E B4A 3 05F41134B514059 4 951135F765817 3 B5C1243 B5612 F16 3 B 2 A1B 1 8 751 359 356 55C5C 25356 F50 0 C 8 3 8 2 7565255545A E 952 F1B 3165952 2164044 C 016 A17 25056 31A5E 052505751 3 1 B 1 8 65B B F56 753 851 A 5 0 05650555B555D5B E44 B4358 6 A16164A515412 24A 256515C1A C 25557 155 6 0 A5A5C F5A54 7 3 6 7 0515D B5D545258 85B535A 4 E16 94A
)
$_SERVER
Array( REDIRECT_UNIQUE_ID => aDopWXbqZtx0NHuPu2QN-wAAAAI, REDIRECT_SCRIPT_URL => /about, RE... Array(
REDIRECT_UNIQUE_ID => aDopWXbqZtx0NHuPu2QN-wAAAAI,
REDIRECT_SCRIPT_URL => /about,
REDIRECT_SCRIPT_URI => https://iadd.astro.illinois.edu/about,
REDIRECT_HTTPS => on,
REDIRECT_SSL_TLS_SNI => iadd.astro.illinois.edu,
REDIRECT_STATUS => 200,
UNIQUE_ID => aDopWXbqZtx0NHuPu2QN-wAAAAI,
SCRIPT_URL => /about,
SCRIPT_URI => https://iadd.astro.illinois.edu/about,
HTTPS => on,
SSL_TLS_SNI => iadd.astro.illinois.edu,
HTTP_ACCEPT => */*,
HTTP_USER_AGENT => Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com),
HTTP_COOKIE => 81f30cf708470b974874c8a96a6bcdb2=80b2ea7d2986b273d50e82edba1c69b6; d482552ea4a74f85af0bb3d73890dabc=+5+E+45E43105E+E+2444543+7406F5D+11B+37E+B4A+3+05F41134B514059+4+951135F765817+3+B5C1243+B5612+F16+3+B+2+A1B+1+8+751+359+356+55C5C+25356+F50+0+C+8+3+8+2+7565255545A+E+952+F1B+3165952+2164044+C+016+A17+25056+31A5E+052505751+3+1+B+1+8+65B+B+F56+753+851+A+5+0+05650555B555D5B+E44+B4358+6+A16164A515412+24A+256515C1A+C+25557+155+6+0+A5A5C+F5A54+7+3+6+7+0515D+B5D545258+85B535A+4+E16+94A,
HTTP_ACCEPT_ENCODING => gzip, br, zstd, deflate,
HTTP_HOST => iadd.astro.illinois.edu,
PATH => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin,
SERVER_SIGNATURE => ,
SERVER_SOFTWARE => Apache/2.4.37 (AlmaLinux) OpenSSL/1.1.1k PHP/5.6.40 mod_python/3.5.0 Python/2.7.18 SVN/1.10.2,
SERVER_NAME => iadd.astro.illinois.edu,
SERVER_ADDR => 128.174.51.20,
SERVER_PORT => 443,
REMOTE_ADDR => 216.73.216.182,
DOCUMENT_ROOT => /var/www/iadd,
REQUEST_SCHEME => https,
CONTEXT_PREFIX => ,
CONTEXT_DOCUMENT_ROOT => /var/www/iadd,
SERVER_ADMIN => root@localhost,
SCRIPT_FILENAME => /var/www/iadd/index.php,
REMOTE_PORT => 54723,
REDIRECT_URL => /about,
GATEWAY_INTERFACE => CGI/1.1,
SERVER_PROTOCOL => HTTP/1.1,
REQUEST_METHOD => GET,
QUERY_STRING => ,
REQUEST_URI => /about,
SCRIPT_NAME => /index.php,
PHP_SELF => /index.php,
REQUEST_TIME_FLOAT => 1748642137.984,
REQUEST_TIME => 1748642137
)
separator .
orderBy id
orderDir asc
1 registerIP
2 access
always
renew
tracker.sid 80b2ea7d2986b273d50e82edba1c69b6
tracker.ssid 80b2ea7d2986b273d50e82edba1c69b6
tracker.rsid 80b2ea7d2986b273d50e82edba1c69b6
  • site 0.043 seconds (+0.043); 8.75 MB (+8.750) - afterInitialise
  • site 0.060 seconds (+0.017); 10.00 MB (+1.250) - afterRoute
  • site 0.097 seconds (+0.037); 12.75 MB (+2.750) - afterDispatch
  • site 0.105 seconds (+0.008); 13.00 MB (+0.250) - beforeRenderModule mod_custom (Hub Footer)
  • site 0.106 seconds (+0.001); 13.25 MB (+0.250) - afterRenderModule mod_custom (Hub Footer)
  • site 0.108 seconds (+0.002); 13.50 MB (+0.250) - beforeRenderModule mod_collect (Collect)
  • site 0.109 seconds (+0.001); 13.50 MB (0.000) - afterRenderModule mod_collect (Collect)
  • site 0.110 seconds (+0.000); 13.50 MB (0.000) - beforeRenderModule mod_menu (Main Menu)
  • site 0.113 seconds (+0.003); 13.50 MB (0.000) - afterRenderModule mod_menu (Main Menu)
  • site 0.115 seconds (+0.001); 13.75 MB (+0.250) - onAfterRender
  • site 0.116 seconds (+0.002); 13.75 MB (0.000) - sessionStore
14 MB

17 Queries Logged: 0.011617422103882 seconds

  1. SELECT data
      FROM `jos_session`
      WHERE `session_id` = '80b2ea7d2986b273d50e82edba1c69b6'
  2. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_languages'
  3. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_members'
  4. SELECT b.id
      FROM `jos_usergroups` AS `a`
      LEFT JOIN jos_usergroups AS b
      ON b.lft <= a.lft
      AND b.rgt >= a.rgt
      WHERE `a`.`id` = '1'
  5. SELECT *
      FROM `jos_viewlevels`
  6. SELECT folder AS type,element AS name,protected,params
      FROM `jos_extensions`
      WHERE `enabled` >= '1'
      AND `type` = 'plugin'
      AND `state` >= '0'
      AND `access` IN ('1','1','4')
      ORDER BY `ordering` ASC
  7. SELECT m.id,m.menutype,m.title,m.alias,m.note,m.path AS route,m.link,m.type,m.level,m.language,m.browserNav,m.access,m.params,m.home,m.img,m.template_style_id,m.component_id,m.parent_id,e.element AS component
      FROM `jos_menu` AS `m`
      LEFT JOIN jos_extensions AS e
      ON e.extension_id = m.component_id
      WHERE `m`.`published` = '1'
      AND `m`.`parent_id` > '0'
      AND `m`.`client_id` = '0'
      ORDER BY `m`.`lft` ASC
  8. SELECT jos_template_styles.id,jos_template_styles.home,jos_template_styles.template,jos_template_styles.params,jos_extensions.protected
      FROM `jos_template_styles`
      INNER JOIN jos_extensions
      ON jos_extensions.element = jos_template_styles.template
      WHERE `jos_template_styles`.`client_id` = '0'
      AND `jos_extensions`.`enabled` = '1'
      AND `jos_extensions`.`type` = 'template'
      AND jos_extensions.`client_id` = `jos_template_styles`.`client_id`
      ORDER BY `home` DESC
  9. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_content'
  10. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_categories'
  11. SELECT a.rules
      FROM `jos_assets` AS `a`
      WHERE `a`.`id` = '1'
      GROUP BY a.id, a.rules, a.lft
  12. SELECT b.rules
      FROM `jos_assets` AS `a`
      LEFT JOIN jos_assets AS b
      ON b.lft <= a.lft
      AND b.rgt >= a.rgt
      WHERE `a`.`name` = 'com_content'
      GROUP BY b.id, b.rules, b.lft
      ORDER BY `b`.`lft` ASC
  13. SELECT a.*,a.id,a.asset_id,a.title,a.alias,a.title_alias,a.introtext,a.fulltext,
      CASE WHEN badcats.id IS NULL THEN a.state ELSE 0 END AS state,a.mask,a.catid,a.created,a.created_by,a.created_by_alias,
      CASE WHEN a.modified IS NULL THEN a.created ELSE a.modified END AS modified,a.modified_by,a.checked_out,a.checked_out_time,a.publish_up,a.publish_down,a.images,a.urls,a.attribs,a.version,a.parentid,a.ordering,a.metakey,a.metadesc,a.access,a.hits,a.metadata,a.featured,a.language,a.xreference,c.title AS category_title,c.alias AS category_alias,c.access AS category_access,u.name AS author,parent.title AS parent_title,parent.id AS parent_id,parent.path AS parent_route,parent.alias AS parent_alias,ROUND(v.rating_sum / v.rating_count, 0) AS rating,v.rating_count AS rating_count
      FROM `jos_content` AS `a`
      LEFT JOIN jos_categories AS c
      ON c.id = a.catid
      LEFT JOIN jos_users AS u
      ON u.id = a.created_by
      LEFT JOIN jos_categories as parent
      ON parent.id = c.parent_id
      LEFT JOIN jos_content_rating AS v
      ON a.id = v.content_id
      LEFT
      OUTER JOIN (SELECT cat.id as id
      FROM jos_categories AS cat JOIN jos_categories AS parent
      ON cat.lft BETWEEN parent.lft
      AND parent.rgt
      WHERE parent.extension = 'com_content'
      AND parent.published <= 0
      GROUP BY cat.id) AS badcats
      ON badcats.id = c.id
      WHERE `a`.`id` = '3'
      AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= '2025-05-30 21:55:38' )
      AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= '2025-05-30 21:55:38' )
      AND `a`.`state` IN ('1','2')
  14. SELECT c.*,
      CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(':', c.id, c.alias) ELSE c.id END as slug
      FROM `jos_categories` AS `c`
      LEFT JOIN jos_categories AS s
      ON (s.lft <= c.lft
      AND s.rgt >= c.rgt) OR (s.lft > c.lft
      AND s.rgt < c.rgt)
      LEFT JOIN (SELECT cat.id as id
      FROM jos_categories AS cat JOIN jos_categories AS parent
      ON cat.lft BETWEEN parent.lft
      AND parent.rgt
      WHERE parent.extension = 'com_content'
      AND parent.published != 1
      GROUP BY cat.id) AS badcats
      ON badcats.id = c.id
      WHERE (`c`.`extension` = 'com_content' OR `c`.`extension` = 'system' )
      AND `c`.`access` IN ('1','1','4')
      AND `c`.`published` = '1'
      AND `s`.`id` = '2'
      AND badcats.id is null
      GROUP BY c.id,c.asset_id,c.access,c.alias,c.checked_out,c.checked_out_time,c.created_time,c.created_user_id,c.description,c.extension,c.hits,c.language,c.level,c.lft,c.metadata,c.metadesc,c.metakey,c.modified_time,c.note,c.params,c.parent_id,c.path,c.published,c.rgt,c.title,c.modified_user_id
      ORDER BY `c`.`lft` ASC
  15. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_users'
  16. SELECT m.id,m.title,m.module,m.position,m.content,m.showtitle,m.params,mm.menuid,e.protected
      FROM `jos_modules` AS `m`
      LEFT JOIN jos_modules_menu AS mm
      ON mm.moduleid = m.id
      LEFT JOIN jos_extensions AS e
      ON e.element = m.module
      AND e.client_id = m.client_id
      WHERE `m`.`published` = '1'
      AND `e`.`enabled` = '1'
      AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= '2025-05-30 21:55:38' )
      AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= '2025-05-30 21:55:38' )
      AND `m`.`access` IN ('1','1','4')
      AND `m`.`client_id` = '0'
      AND (`mm`.`menuid` = '7' OR `mm`.`menuid` <= '0' )
      ORDER BY `m`.`position` ASC,`m`.`ordering` ASC
  17. UPDATE `jos_session`
      SET `data` = '__default|a:9:{s:15:\"session.counter\";i:2;s:19:\"session.timer.start\";i:1748642134;s:18:\"session.timer.last\";i:1748642134;s:17:\"session.timer.now\";i:1748642138;s:8:\"registry\";O:23:\"Hubzero\\Config\\Registry\":2:{s:7:\"\0*\0data\";O:8:\"stdClass\":1:{s:1:\"0\";s:7:\"session\";}s:9:\"separator\";s:1:\".\";}s:4:\"user\";C:17:\"Hubzero\\User\\User\":22:{a:1:{s:5:\"guest\";b:1;}}s:11:\"tracker.sid\";s:32:\"80b2ea7d2986b273d50e82edba1c69b6\";s:12:\"tracker.ssid\";s:32:\"80b2ea7d2986b273d50e82edba1c69b6\";s:12:\"tracker.rsid\";s:32:\"80b2ea7d2986b273d50e82edba1c69b6\";}',`time` = '1748642138',`ip` = '216.73.216.182'
      WHERE `session_id` = '80b2ea7d2986b273d50e82edba1c69b6'

13 Query Types Logged, Sorted by Occurrences.

SELECT Tables:
  1. 5 × SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
  2. 1 × SELECT b.rules
      FROM `jos_assets` AS `a`
      LEFT JOIN jos_assets AS b
      ON b.lft <= a.lft
      AND b.rgt >= a.rgt
  3. 1 × SELECT a.*,a.id,a.asset_id,a.title,a.alias,a.title_alias,a.introtext,a.fulltext,
      CASE WHEN badcats.id IS NULL THEN a.state ELSE 0 END AS state,a.mask,a.catid,a.created,a.created_by,a.created_by_alias,
      CASE WHEN a.modified IS NULL THEN a.created ELSE a.modified END AS modified,a.modified_by,a.checked_out,a.checked_out_time,a.publish_up,a.publish_down,a.images,a.urls,a.attribs,a.version,a.parentid,a.ordering,a.metakey,a.metadesc,a.access,a.hits,a.metadata,a.featured,a.language,a.xreference,c.title AS category_title,c.alias AS category_alias,c.access AS category_access,u.name AS author,parent.title AS parent_title,parent.id AS parent_id,parent.path AS parent_route,parent.alias AS parent_alias,ROUND(v.rating_sum / v.rating_count, 0) AS rating,v.rating_count AS rating_count
      FROM `jos_content` AS `a`
      LEFT JOIN jos_categories AS c
      ON c.id = a.catid
      LEFT JOIN jos_users AS u
      ON u.id = a.created_by
      LEFT JOIN jos_categories as parent
      ON parent.id = c.parent_id
      LEFT JOIN jos_content_rating AS v
      ON a.id = v.content_id
      LEFT
      OUTER JOIN (SELECT cat.id as id
      FROM jos_categories AS cat JOIN jos_categories AS parent
      ON cat.lft BETWEEN parent.lft
      AND parent.rgt
  4. 1 × SELECT m.id,m.title,m.module,m.position,m.content,m.showtitle,m.params,mm.menuid,e.protected
      FROM `jos_modules` AS `m`
      LEFT JOIN jos_modules_menu AS mm
      ON mm.moduleid = m.id
      LEFT JOIN jos_extensions AS e
      ON e.element = m.module
      AND e.client_id = m.client_id
  5. 1 × SELECT a.rules
      FROM `jos_assets` AS `a`
  6. 1 × SELECT c.*,
      CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(':', c.id, c.alias) ELSE c.id END as slug
      FROM `jos_categories` AS `c`
      LEFT JOIN jos_categories AS s
      ON (s.lft <= c.lft
      AND s.rgt >= c.rgt) OR (s.lft > c.lft
      AND s.rgt < c.rgt)
      LEFT JOIN (SELECT cat.id as id
      FROM jos_categories AS cat JOIN jos_categories AS parent
      ON cat.lft BETWEEN parent.lft
      AND parent.rgt
  7. 1 × SELECT m.id,m.menutype,m.title,m.alias,m.note,m.path AS route,m.link,m.type,m.level,m.language,m.browserNav,m.access,m.params,m.home,m.img,m.template_style_id,m.component_id,m.parent_id,e.element AS component
      FROM `jos_menu` AS `m`
      LEFT JOIN jos_extensions AS e
      ON e.extension_id = m.component_id
  8. 1 × SELECT b.id
      FROM `jos_usergroups` AS `a`
      LEFT JOIN jos_usergroups AS b
      ON b.lft <= a.lft
      AND b.rgt >= a.rgt
  9. 1 × SELECT *
      FROM `jos_viewlevels
  10. 1 × SELECT folder AS type,element AS name,protected,params
      FROM `jos_extensions`
  11. 1 × SELECT data
      FROM `jos_session`
  12. 1 × SELECT jos_template_styles.id,jos_template_styles.home,jos_template_styles.template,jos_template_styles.params,jos_extensions.protected
      FROM `jos_template_styles`
      INNER JOIN jos_extensions
      ON jos_extensions.element = jos_template_styles.template
OTHER Tables:
  1. 1 × UPDATE `jos_session`
      SET `data` = '__default|a:9:{s:15:\"session.counter\";i:2;s:19:\"session.timer.start\";i:1748642134;s:18:\"session.timer.last\";i:1748642134;s:17:\"session.timer.now\";i:1748642138;s:8:\"registry\";O:23:\"Hubzero\\Config\\Registry\":2:{s:7:\"\0*\0data\";O:8:\"stdClass\":1:{s:1:\"0\";s:7:\"session\";}s:9:\"separator\";s:1:\".\";}s:4:\"user\";C:17:\"Hubzero\\User\\User\":22:{a:1:{s:5:\"guest\";b:1;}}s:11:\"tracker.sid\";s:32:\"80b2ea7d2986b273d50e82edba1c69b6\";s:12:\"tracker.ssid\";s:32:\"80b2ea7d2986b273d50e82edba1c69b6\";s:12:\"tracker.rsid\";s:32:\"80b2ea7d2986b273d50e82edba1c69b6\";}',`time` = '1748642138',`ip` = '216.73.216.182'
  • onAfterInitialise Method plgSystemP3p::onAfterInitialise /core/plugins/system/p3p/p3p.php:21
  • onAfterInitialise Method plgSystemRemember::onAfterInitialise /core/plugins/system/remember/remember.php:20
  • onAfterInitialise Method plgSystemHubzero::onAfterInitialise /core/plugins/system/hubzero/hubzero.php:21
  • onAfterInitialise Method plgSystemXFeed::onAfterInitialise /core/plugins/system/xfeed/xfeed.php:21
  • onAfterInitialise Method plgSystemSupergroup::onAfterInitialise /core/plugins/system/supergroup/supergroup.php:113
  • onAfterInitialise Method plgSystemReferrerpolicy::onAfterInitialise /core/plugins/system/referrerpolicy/referrerpolicy.php:21
  • onAfterRoute Method plgSystemJquery::onAfterRoute /core/plugins/system/jquery/jquery.php:21
  • onAfterRoute Method plgSystemSpamjail::onAfterRoute /core/plugins/system/spamjail/spamjail.php:21
  • onAfterRoute Method plgSystemIncomplete::onAfterRoute /core/plugins/system/incomplete/incomplete.php:21
  • onAfterRoute Method plgSystemUnconfirmed::onAfterRoute /core/plugins/system/unconfirmed/unconfirmed.php:21
  • onAfterRoute Method plgSystemUnapproved::onAfterRoute /core/plugins/system/unapproved/unapproved.php:21
  • onAfterRoute Method plgSystemPassword::onAfterRoute /core/plugins/system/password/password.php:21
  • onContentPrepare Method plgContentLoadmodule::onContentPrepare /core/plugins/content/loadmodule/loadmodule.php:35
  • onContentPrepare Method plgContentEmailcloak::onContentPrepare /core/plugins/content/emailcloak/emailcloak.php:25
  • onContentPrepare Method plgContentPagebreak::onContentPrepare /core/plugins/content/pagebreak/pagebreak.php:35
  • onContentPrepare Method plgContentXhubtags::onContentPrepare /core/plugins/content/xhubtags/xhubtags.php:25
  • onContentPrepare Method plgContentFormatwiki::onContentPrepare /core/plugins/content/formatwiki/formatwiki.php:63
  • onContentPrepare Method plgContentFormathtml::onContentPrepare /core/plugins/content/formathtml/formathtml.php:105
  • onContentPrepare Method plgContentExternalhref::onContentPrepare /core/plugins/content/externalhref/externalhref.php:41
  • onContentBeforeDisplay Method plgContentPagenavigation::onContentBeforeDisplay /core/plugins/content/pagenavigation/pagenavigation.php:25
  • onContentBeforeDisplay Method plgContentVote::onContentBeforeDisplay /core/plugins/content/vote/vote.php:32
  • onAfterDispatch Method plgSystemMobile::onAfterDispatch /core/plugins/system/mobile/mobile.php:22
  • onAfterDispatch Method plgSystemDebug::onAfterDispatch /core/plugins/system/debug/debug.php:60
  • onAfterDispatch Method PlgSystemHighlight::onAfterDispatch /core/plugins/system/highlight/highlight.php:25
  • onAfterRender Method plgSystemSef::onAfterRender /core/plugins/system/sef/sef.php:21