, but this code // executes before the first paint, when

ÃÛÌÒapp

is not yet present. The // classes are added to so styling immediately reflects the current // toolbar state. The classes are removed after the toolbar completes // initialization. const classesToAdd = ['toolbar-loading', 'toolbar-anti-flicker']; if (toolbarState) { const { orientation, hasActiveTab, isFixed, activeTray, activeTabId, isOriented, userButtonMinWidth } = toolbarState; classesToAdd.push( orientation ? `toolbar-` + orientation + `` : 'toolbar-horizontal', ); if (hasActiveTab !== false) { classesToAdd.push('toolbar-tray-open'); } if (isFixed) { classesToAdd.push('toolbar-fixed'); } if (isOriented) { classesToAdd.push('toolbar-oriented'); } if (activeTray) { // These styles are added so the active tab/tray styles are present // immediately instead of "flickering" on as the toolbar initializes. In // instances where a tray is lazy loaded, these styles facilitate the // lazy loaded tray appearing gracefully and without reflow. const styleContent = ` .toolbar-loading #` + activeTabId + ` { background-image: linear-gradient(rgba(255, 255, 255, 0.25) 20%, transparent 200%); } .toolbar-loading #` + activeTabId + `-tray { display: block; box-shadow: -1px 0 5px 2px rgb(0 0 0 / 33%); border-right: 1px solid #aaa; background-color: #f5f5f5; z-index: 0; } .toolbar-loading.toolbar-vertical.toolbar-tray-open #` + activeTabId + `-tray { width: 15rem; height: 100vh; } .toolbar-loading.toolbar-horizontal :not(#` + activeTray + `) > .toolbar-lining {opacity: 0}`; const style = document.createElement('style'); style.textContent = styleContent; style.setAttribute('data-toolbar-anti-flicker-loading', true); document.querySelector('head').appendChild(style); if (userButtonMinWidth) { const userButtonStyle = document.createElement('style'); userButtonStyle.textContent = `#toolbar-item-user {min-width: ` + userButtonMinWidth +`px;}` document.querySelector('head').appendChild(userButtonStyle); } } } document.querySelector('html').classList.add(...classesToAdd); })(); Matthew Heun | ÃÛÌÒapp

ÃÛÌÒapp

Skip to main content

Dr. Matthew Heun

Professor

Biography

After completing his Ph.D., Dr. Heun worked at NASA’s Jet Propulsion Laboratory (JPL), Pasadena, CA, where he led studies and experiments related to planetary exploration with balloon systems. After working at JPL, Dr. Heun joined Global Aerospace Corporation (GAC), a start-up aerospace R&D company, as its first full-time employee. At GAC, Dr. Heun proposed, led, and completed several projects in support of NASA’s Earth Science activities. Dr. Heun spent his 2009 sabbatical in South Africa at the and the where he taught and participated in sustainable energy development.

 

Read Professor Heun's News & Stories  (August 8, 2008)

Education

Ph.D. in Mechanical Engineering, University of Illinois, 1995

Dr. Heun graduated from ÃÛÌÒapp with a BSE in 1989. He completed is M.S. in Mechanical Engineering in 1990 and finished his Ph.D. in 1995, both at the University of Illinois. During that time, he worked as a research assistant in the Air Conditioning and Refrigeration Center (ACRC) at the University of Illinois. His work at the ACRC focused on the optimization of heat exchangers using ozone-friendly refrigerants.

 

Academic Interests

  • Impact of Energy Return on Investment (EROI) on energy prices
  • Sustainable Development in the Developing World Context
  • Renewable Energy Systems
  • Lithium-ion battery performance modeling for space applications
  • Balloon and lighter-than-air vehicle system design and optimization
  • Biological analogs for robotic group behavior
  • Passive trajectory control for stratospheric balloon systems
  • Thermal systems optimization
  • Survivable systems for planetary exploration

Publications

Research and Scholarship