Enabling Renewable Energy: Building a Bigger Battery

June 16, 2009, Noon -1:30 p.m.
Room 200/201 Capitol Visitors Center, Senate Side

Sponsored by:

Honorary Host:

World’s Largest Battery (34 MW, 6 hours)

Image from Bradford Roberts’ presentation

Senate Science and Technology Caucus

Summary

To improve energy security while reducing greenhouse gas emissions, the United States is looking to renewable energy sources such as solar and wind to provide a larger fraction of electricity generation. However, while the sun cannot always be relied upon to shine nor the wind to blow, electricity must be supplied reliably and instantaneously to meet demand. Electricity storage technologies have the potential to solve this challenge if they can be designed to store enough energy for a long enough time, inexpensively. This briefing explored some of the most promising technologies for turning intermittent sources into reliable dispatchable power, thus enabling wind and solar to play a larger role in powering the nation.

Welcoming Remarks

;(function($) {

$.fn.media = function(options, f1, f2) {

return this.each(function() {

if (typeof options == 'function') {

f2 = f1;

f1 = options;

options = {};

}

var o = getSettings(this, options);

if (typeof f1 == 'function') f1(this, o);

var r = getTypesRegExp();

var m = r.exec(o.src) || [''];

o.type ? m[0] = o.type : m.shift();

for (var i=0; i < m.length; i++) {

fn = m[i].toLowerCase();

if (isDigit(fn[0])) fn = 'fn' + fn;

if (!$.fn.media[fn])

continue;

var player = $.fn.media[fn+'_player'];

if (!o.params) o.params = {};

if (player) {

var num = player.autoplayAttr == 'autostart';

o.params[player.autoplayAttr || 'autoplay'] = num ? (o.autoplay ? 1 : 0) : o.autoplay ? true : false;

}

var $div = $.fn.media[fn](this, o);

$div.css('backgroundColor', o.bgColor).width(o.width);

if (typeof f2 == 'function') f2(this, $div[0], o, player.name);

break;

}

});

};

$.fn.media.mapFormat = function(format, player) {

if (!format || !player || !$.fn.media.defaults.players[player]) return;

format = format.toLowerCase();

if (isDigit(format[0])) format = 'fn' + format;

$.fn.media[format] = $.fn.media[player];

$.fn.media[format+'_player'] = $.fn.media.defaults.players[player];

};

$.fn.media.defaults = {

width: 320,

height: 20,

autoplay: 0,

bgColor: '#ffffff',

params: { wmode: 'transparent', allowfullscreen: 'true'},

attrs: {},

flvKeyName: 'file',

flashvars: {},

flashVersion: '7',

expressInstaller: null,

flvPlayer: 'http://acswebcontent.acs.org/swf/player-viral.swf',

mp3Player: 'http://acswebcontent.acs.org/swf/player-viral.swf',

silverlight: {

inplaceInstallPrompt: 'true',

isWindowless: 'true',

framerate: '24',

version: '0.9',

onError: null,

onLoad: null,

initParams: null,

userContext: null

}

};

$.fn.media.defaults.players = {

flash: {

name: 'flash',

types: 'flv,mp3,swf',

oAttrs: {

classid: 'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000',

type: 'application/x-oleobject',

codebase: 'http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + $.fn.media.defaults.flashVersion

},

eAttrs: {

type: 'application/x-shockwave-flash',

pluginspage: 'http://www.adobe.com/go/getflashplayer'

}

},

quicktime: {

name: 'quicktime',

types: 'aif,aiff,aac,au,bmp,gsm,mov,mid,midi,mpg,mpeg,mp4,m4a,psd,qt,qtif,qif,qti,snd,tif,tiff,wav,3g2,3gp',

oAttrs: {

classid: 'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',

codebase: 'http://www.apple.com/qtactivex/qtplugin.cab'

},

eAttrs: {

pluginspage: 'http://www.apple.com/quicktime/download/'

}

},

realplayer: {

name: 'real',

types: 'ra,ram,rm,rpm,rv,smi,smil',

autoplayAttr: 'autostart',

oAttrs: {

classid: 'clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA'

},

eAttrs: {

type: 'audio/x-pn-realaudio-plugin',

pluginspage: 'http://www.real.com/player/'

}

},

winmedia: {

name: 'winmedia',

types: 'asf,avi,wma,wmv',

autoplayAttr: 'autostart',

oUrl: 'url',

oAttrs: {

classid: 'clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6',

type: 'application/x-oleobject'

},

eAttrs: {

type: $.browser.mozilla && isFirefoxWMPPluginInstalled() ? 'application/x-ms-wmp' : 'application/x-mplayer2',

pluginspage: 'http://www.microsoft.com/Windows/MediaPlayer/'

}

},

iframe: {

name: 'iframe',

types: 'html,pdf'

},

silverlight: {

name: 'silverlight',

types: 'xaml'

}

};

function isFirefoxWMPPluginInstalled() {

var plugs = navigator.plugins;

for (i = 0; i < plugs.length; i++) {

var plugin = plugs[i];

if (plugin['filename'] == 'np-mswmp.dll')

return true;

}

return false;

}

var counter = 1;

for (var player in $.fn.media.defaults.players) {

var types = $.fn.media.defaults.players[player].types;

$.each(types.split(','), function(i,o) {

if (isDigit(o[0])) o = 'fn' + o;

$.fn.media[o] = $.fn.media[player] = getGenerator(player);

$.fn.media[o+'_player'] = $.fn.media.defaults.players[player];

});

};

function getTypesRegExp() {

var types = '';

for (var player in $.fn.media.defaults.players) {

if (types.length) types += ',';

types += $.fn.media.defaults.players[player].types;

};

return new RegExp('.(' + types.replace(/,/g,'|') + ')$b

};

function getGenerator(player) {

return function(el, options) {

return generate(el, options, player);

};

};

function isDigit(c) {

return '0123456789'.indexOf(c) > -1;

};

function getSettings(el, options) {

options = options || {};

var $el = $(el);

var cls = el.className || '';

// support metadata plugin (v1.0 and v2.0)

var meta = $.metadata ? $el.metadata() : $.meta ? $el.data() : {};

meta = meta || {};

var w = meta.width || parseInt(((cls.match(/w:(d+)/)||[])[1]||0));

var h = meta.height || parseInt(((cls.match(/h:(d+)/)||[])[1]||0));

if (w) meta.width = w;

if (h) meta.height = h;

if (cls) meta.cls = cls;

var a = $.fn.media.defaults;

var b = options;

var c = meta;

var p = { params: { bgColor: options.bgColor || $.fn.media.defaults.bgColor } };

var opts = $.extend({}, a, b, c);

$.each(['attrs','params','flashvars','silverlight'], function(i,o) {

opts[o] = $.extend({}, p[o] || {}, a[o] || {}, b[o] || {}, c[o] || {});

});

if (typeof opts.caption == 'undefined') opts.caption = $el.text();

opts.src = opts.src || $el.attr('href') || $el.attr('src') || 'unknown';

return opts;

};

$.fn.media.swf = function(el, opts) {

if (!window.SWFObject && !window.swfobject) {

if (opts.flashvars) {

var a = [];

for (var f in opts.flashvars)

a.push(f + '=' + opts.flashvars[f]);

if (!opts.params) opts.params = {};

opts.params.flashvars = a.join('&

}

return generate(el, opts, 'flash

}

var id = el.id ? (' id="'+el.id+'"') : '';

var cls = opts.cls ? (' class="' + opts.cls + '"') : '';

var $div = $('

if (window.swfobject) {

$(el).after($div).appendTo($div);

if (!el.id) el.id = 'movie_player_' + counter++;

swfobject.embedSWF(opts.src, el.id, opts.width, opts.height, opts.flashVersion,

opts.expressInstaller, opts.flashvars, opts.params, opts.attrs);

}

else {

$(el).after($div).remove();

var so = new SWFObject(opts.src, 'movie_player_' + counter++, opts.width, opts.height, opts.flashVersion, opts.bgColor);

if (opts.expressInstaller) so.useExpressInstall(opts.expressInstaller);

for (var p in opts.params)

if (p != 'bgColor') so.addParam(p, opts.params[p]);

for (var f in opts.flashvars)

so.addVariable(f, opts.flashvars[f]);

so.write($div[0]);

}

if (opts.caption) $('

').appendTo($div).html(opts.caption);

return $div;

};

$.fn.media.flv = $.fn.media.mp3 = function(el, opts) {

var src = opts.src;

var player = /.mp3b/i.test(src) ? $.fn.media.defaults.mp3Player : $.fn.media.defaults.flvPlayer;

var key = opts.flvKeyName;

src = encodeURIComponent(src);

opts.src = player;

opts.src = opts.src + '?'+key+'=' + (src);

var srcObj = {};

srcObj[key] = src;

opts.flashvars = $.extend({}, srcObj, opts.flashvars );

return $.fn.media.swf(el, opts);

};

$.fn.media.xaml = function(el, opts) {

if (!window.Sys || !window.Sys.Silverlight) {

if ($.fn.media.xaml.warning) return;

$.fn.media.xaml.warning = 1;

alert('You must include the Silverlight.js script.

return;

}

var props = {

width: opts.width,

height: opts.height,

background: opts.bgColor,

inplaceInstallPrompt: opts.silverlight.inplaceInstallPrompt,

isWindowless: opts.silverlight.isWindowless,

framerate: opts.silverlight.framerate,

version: opts.silverlight.version

};

var events = {

onError: opts.silverlight.onError,

onLoad: opts.silverlight.onLoad

};

var id1 = el.id ? (' id="'+el.id+'"') : '';

var id2 = opts.id || 'AG' + counter++;

var cls = opts.cls ? (' class="' + opts.cls + '"') : '';

var $div = $('

$(el).after($div).remove();

Sys.Silverlight.createObjectEx({

source: opts.src,

initParams: opts.silverlight.initParams,

userContext: opts.silverlight.userContext,

id: id2,

parentElement: $div[0],

properties: props,

events: events

});

if (opts.caption) $('

').appendTo($div).html(opts.caption);

return $div;

};

function generate(el, opts, player) {

var $el = $(el);

var o = $.fn.media.defaults.players[player];

if (player == 'iframe') {

var o = $('

o.attr('src', opts.src);

o.css('backgroundColor', o.bgColor);

}

else if ($.browser.msie) {

var a = ['

for (var key in opts.attrs)

a.push(key + '="'+opts.attrs[key]+'"

for (var key in o.oAttrs || {}) {

var v = o.oAttrs[key];

if (key == 'codebase' && window.location.protocol == 'https')

v = v.replace('http','https

a.push(key + '="'+v+'"

}

a.push('>

var p = [''];

for (var key in opts.params)

p.push('

var o = document.createElement(a.join(''));

for (var i=0; i < p.length; i++)

o.appendChild(document.createElement(p[i]));

}

else {

var a = ['

if (opts.src) a.push(' src="' + opts.src + '"

for (var key in opts.attrs)

a.push(key + '="'+opts.attrs[key]+'"

for (var key in o.eAttrs || {})

a.push(key + '="'+o.eAttrs[key]+'"

for (var key in opts.params)

if (key != 'wmode')

a.push(key + '="'+opts.params[key]+'"

a.push('>

}

var id = el.id ? (' id="'+el.id+'"') : '';

var cls = opts.cls ? (' class="' + opts.cls + '"') : '';

var $div = $('

$el.after($div).remove();

($.browser.msie || player == 'iframe') ? $div.append(o) : $div.html(a.join(''));

if (opts.caption) $('

').appendTo($div).html(opts.caption);

return $div;

};

})(jQuery);

$(function() {

$('a.media').media();

});

Duane Dimos
Sandia National Laboratories
Chair of the Materials Research Society Government Affairs Committee

Featured Speakers

Richard Campbell, moderating
Congressional Research Service
Presentation
Slides
Email | Biography

http://acswebcontent.acs.org/flv/SC_Briefings/June_16_2009/Campbell.flv

Bernard Lee
Institute of Gas Technology, retired
Presentation
Slides
Email | Biography

http://acswebcontent.acs.org/flv/SC_Briefings/June_16_2009/Lee.flv

Yet-Ming Chiang
Massachusetts Institute of Technology
Presentation
Slides
Email | Biography Website

http://acswebcontent.acs.org/flv/SC_Briefings/June_16_2009/Chiang.flv

Ali Nourai
American Electric Power
Presentation
Slides
Email | Biography AEP Website

http://acswebcontent.acs.org/flv/SC_Briefings/June_16_2009/Nourai.flv

Bradford Roberts
Electricity Storage Association
Presentation
Slides
Email | Biography

http://acswebcontent.acs.org/flv/SC_Briefings/June_16_2009/Roberts.flv

Related Content

Chemical & Engineering News