Subscriber to earn $20 daily

requestTimeout / 1000); return $value == 0 ? 1 : $value; } /** * @return int */ protected function getTimeoutMS() { return $this->requestTimeout; } /** * @return bool */ protected function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } /** * @param string $url * @return bool|string */ private function getCurl($url) { if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) { return false; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => $this->getTimeout(), CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(), CURLOPT_CONNECTTIMEOUT => $this->getTimeout(), CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(), )); $version = curl_version(); $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http'; curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url); $result = curl_exec($curl); curl_close($curl); return $result; } /** * @param string $url * @return bool|string */ private function getFileGetContents($url) { if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') || ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) { return false; } $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http'; $context = stream_context_create(array( $scheme => array( 'timeout' => $this->getTimeout(), // seconds 'user_agent' => $this->requestUserAgent . ' (fgc)', ), )); return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context); } /** * @param string $url * @return bool|string */ private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout()); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) { return false; } $out = "GET {$url} HTTP/1.1\r\n"; $out .= "Host: {$this->requestDomainName}\r\n"; $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); $code = isset($parts[1]) ? $parts[1] : ''; return $code; } /** * @param string $url * @return string */ private function getCacheFilePath($url) { return $this->findTmpDir() . '/pa-code-v2-' . md5($url) . '.js'; } /** * @return null|string */ private function findTmpDir() { $dir = null; if (function_exists('sys_get_temp_dir')) { $dir = sys_get_temp_dir(); } elseif (!empty($_ENV['TMP'])) { $dir = realpath($_ENV['TMP']); } elseif (!empty($_ENV['TMPDIR'])) { $dir = realpath($_ENV['TMPDIR']); } elseif (!empty($_ENV['TEMP'])) { $dir = realpath($_ENV['TEMP']); } else { $filename = tempnam(dirname(__FILE__), ''); if (file_exists($filename)) { unlink($filename); $dir = realpath(dirname($filename)); } } return $dir; } /** * @param string $file * @return bool */ private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) < $this->cacheTtl * 60); } /** * @param string $url * @return bool|string */ private function getCode($url) { $code = false; if (!$code) { $code = $this->getCurl($url); } if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } return $code; } /** * @param array $code * @return string */ private function getTag($code) { $codes = explode('{[DEL]}', $code); if (isset($codes[0])) { if (isset($_COOKIE['aabc'])) { return $codes[0]; } else { return (isset($codes[1]) ? $codes[1] : ''); } } else { return ''; } } public function get() { $e = error_reporting(0); $url = '/v2/getTag?' . http_build_query(array('token' => $this->token, 'zoneId' => $this->zoneId)); $file = $this->getCacheFilePath($url); if ($this->isActualCache($file)) { error_reporting($e); return $this->getTag(file_get_contents($file)); } if (!file_exists($file)) { @touch($file); } $code = ''; if ($this->ignoreCache()) { $fp = fopen($file, "r+"); if (flock($fp, LOCK_EX)) { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } else { $fp = fopen($file, 'r+'); if (!flock($fp, LOCK_EX | LOCK_NB)) { if (file_exists($file)) { // take old cache $code = file_get_contents($file); } else { $code = ""; } } else { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } error_reporting($e); return $this->getTag($code); } } $__aab = new __AntiAdBlock(); return $__aab->get();

Monday, 1 March 2021

Hyzon Motors’ hydrogen fuel ambitions include two US factories

Hyzon Motors plans to produce fuel cells, including a critical component required to power hydrogen vehicles, at two U.S. factories in a move aimed at kickstarting domestic production at a commercial scale.

The hydrogen-powered truck and bus manufacturer has already leased a 28,000-square-foot facility in the Chicago suburb of Bolingbrook and plans to expand it by an additional 80,000 square feet. Production at the Chicago facility is expected to begin in the fourth quarter of 2021. The announcement comes just three weeks after Hyzon announced it would become a publicly traded company through a merger with Decarbonization Plus Acquisition Corporation in a deal valued at $2.1 billion, and a little over one week after revealing plans to renovate a 78,000-square-foot factory in Monroe County, New York.

Hyzon is a new name with a nearly two decades of experience. The company was established in March of last year after spinning off from Singapore’s Horizon Fuel Cell Technologies, which has been developing commercial applications for fuel cells since 2003. Hyzon inked a deal in February with the New Zealand company Hiringa Energy for up to 1,500 fuel cell trucks on New Zealand’s roads by 2026. Now it is setting its sights on the North American hydrogen fuel cell vehicle market. Due to the lack of an established domestic hydrogen fueling network, the company is targeting heavy-duty vehicle customers that have a “back-to-base” business model.

Hyzon’s decision to build factories in the United States is noteworthy because production of fuel cell materials in the country lags far behind Europe and Asia. The U.S. also lacks the kind of national hydrogen refueling and infrastructure network found abroad.

“Hydrogen is much more available in places like Germany or The Netherlands,” Hyzon CEO Craig Knight said in an interview with TechCrunch. “There’s already a number of commercial vehicle stations where you can just pull up and pay to fill up like you do with gasoline today in the U.S. It won’t be long before that is a reality, but for the moment we limit the dependence on networks of hydrogen stations by focusing on the customers that use back-to-base operating models, where you only need one piece of hydrogen infrastructure to fuel dozens or even sometimes hundreds of vehicles in a given area.”

Much of the hydrogen that’s produced in the U.S. is so-called “grey hydrogen,” or hydrogen that’s produced from natural gas. An increasing number of companies are pursuing “green hydrogen,” or hydrogen produced via electrolysis powered by renewable energy. Hyzon sources both types for its operations. Hydrogen production remains one of the main factors determining the rate of scale for fuel cell producers.

The Chicago facility will design, develop and produce the membrane electrode assembly, the fuel cell component that helps trigger the electrochemical reaction required to produce power. The company anticipates the new facility will be able to produce enough MEAs for up to 12,000 fuel cell-powered trucks annually.

Finished MEAs will be sent to the company’s recently announced fuel cell stack and system assembly plant in Monroe County, where the components will be assembled into complete fuel cells. From there, the fuel cells will be delivered to a partner truck manufacturer to be assembled into commercial heavy-duty vehicles. The company’s main assembly partner in the United States is Berkshire Hathaway subsidiary Fontaine Modification.

Hydrogen fuel cell technology is finding use cases in heavy-duty vehicles because trucking companies are frequently paid by how much weight they can transport, and how quickly they can do it. The time investment of battery charging and the loss of carrying capacity makes fuel cells an attractive alternative for companies looking to decarbonize their vehicle fleets.

Hyzon sees positive network effects and economies of scale associated with hydrogen fuel cell adoption — and increasing marginal costs of electric battery adoption. Although the company has not announced plans to dive into the light-duty vehicle market, it remains bullish on the value proposition of hydrogen fuel cells.

“We think at some point it becomes an increasing marginal cost of adoption for battery electric, because you run into infrastructure limitations around the electricity grid, around the size of depots and the capacity to build the charging infrastructure,” Knight said. “We believe there’s a dis-economy of scale attached to going battery electric when you’ve got really high utilization. We believe that some of the lighter vehicles will also start to move onto hydrogen. We’re not totally dependent on that for our model, but that’s our belief.”

Hyzon, which expects to be listed on the Nasdaq in late May or early June, will be listed under the ticker HYZN.



from TechCrunch https://ift.tt/3b4jVti
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support