Alternative Energy Engineering: An Introduction
Brown University