Biogas plants today emit large amounts of CO2. Approximately 40
percent of the gas created in biogas plants is CO2, which is emitted
directly from the chimney. But now researchers from the University of
Southern Denmark have successfully converted CO2 into
sustainable energy in the form of biomethane.
– We are very satisfied with the quality of our biomethane. We are now up
to having 97 per cent methane, says researcher Muhammad Tahir Ashraf from
the Department of Green Technology, who for the past two years has refined
the technology that can convert CO2 to sustainable energy.
Methane makes up the remaining 60 percent of the biogas generated at biogas
plants. Methane has a high calorific value, and it is therefore the gas
that smokes further into the natural gas network in Denmark and provides
sustainable heat and electricity.
Why is biomethane CO2 neutral?
- Biomethane is known as renewable natural gas and is produced by upgrading
biogas from the biogas plants
-
Methane is a potent greenhouse gas, but biomethane is CO2
-neutral because plants absorb CO2 as they grow
-
When the plants are eaten by a pig, part of the CO2 enters the
manure and enters the biogas plant, where it is converted into biomethane
and CO2
When scientists can convert CO2 to biomethane, the biogas plants
are looking into a whole new era. By capturing the large amount of CO 2, they can boost the production of biomethane and avoid an
environmental problem.
– It is really positive that the University of Southern Denmark is at the
forefront of development and contributes to the fact that we are now well
on our way to a green transition, where not least trucks, ships and
aircraft can be supplied with green energy, says Frank Rosager, director of
the industry organization Biogas Denmark.
Way to store wind energy
At the University of Southern Denmark, two mini reactors are converting CO 2 to methane by adding hydrogen. In this way, the greenhouse gas
CO2 is conjured into sustainable energy, which in the future can
also be used for sustainable fuels for trucks, ships or aircraft.
– Here in the laboratory, we add hydrogen directly, but in the future
biogas plant, we will utilise excess electricity from renewable energy
sources, such as wind and solar energy, for the production of hydrogen,
says Muhammad Tahir Ashraf.
He points out that by utilising excess wind and solar energy to produce
methane, another major energy problem is being solved.
- System.Web.HttpUnhandledException (0x80004005): An unhandled exception occurred. ---> System.Web.HttpCompileException (0x80004005): c:\home\site\wwwroot\Views\Article\ArticleQuote.cshtml(17): error CS1061: 'Cabana.SDU.Feature.Article.ArticleQuote' does not contain a definition for 'Text' and no extension method 'Text' accepting a first argument of type 'Cabana.SDU.Feature.Article.ArticleQuote' could be found (are you missing a using directive or an assembly reference?)
- at System.Web.Compilation.BuildManager.PostProcessFoundBuildResult(BuildResult result, Boolean keyFromVPP, VirtualPath virtualPath)
- at System.Web.Compilation.BuildManager.GetBuildResultFromCacheInternal(String cacheKey, Boolean keyFromVPP, VirtualPath virtualPath, Int64 hashCode, Boolean ensureIsUpToDate)
- at System.Web.Compilation.BuildManager.GetVPathBuildResultFromCacheInternal(VirtualPath virtualPath, Boolean ensureIsUpToDate)
- at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
- at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
- at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)
- at System.Web.Compilation.BuildManager.GetCompiledType(VirtualPath virtualPath)
- at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
- at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
- at Sitecore.Mvc.Pipelines.MvcEvents.Exception.ShowAspNetErrorMessage.ShowErrorMessage(ExceptionContext exceptionContext, ExceptionArgs args)
- at Sitecore.Mvc.Pipelines.MvcEvents.Exception.ShowAspNetErrorMessage.Process(ExceptionArgs args)
- at (Object , Object )
- at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
- at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists)
- at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain)
- at Sitecore.Mvc.Pipelines.PipelineService.RunPipeline[TArgs](String pipelineName, TArgs args)
- at Sitecore.Mvc.Filters.PipelineBasedRequestFilter.OnException(ExceptionContext exceptionContext)
- at System.Web.Mvc.ControllerActionInvoker.InvokeExceptionFilters(ControllerContext controllerContext, IList`1 filters, Exception exception)
- at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
- at System.Web.Mvc.Controller.ExecuteCore()
- at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
- at Sitecore.Mvc.Controllers.ControllerRunner.ExecuteController(Controller controller)
- at Sitecore.Mvc.Controllers.ControllerRunner.Execute(TextWriter writer)
- at Sitecore.Mvc.Pipelines.Response.RenderRendering.ExecuteRenderer.Render(Renderer renderer, TextWriter writer, RenderRenderingArgs args)
- at Sitecore.Mvc.Pipelines.Response.RenderRendering.ExecuteRenderer.Process(RenderRenderingArgs args)
- at Helpfulcore.RenderingExceptions.Pipelines.RenderRendering.ExecuteRenderer.Process(RenderRenderingArgs args)
– In this way, the system acts as a gas battery. Energy from wind cannot be
stored today, but when there is excess wind energy, the future biogas plant
can use it to convert CO2 to biomethane, and biomethane is a gas
that is easy to store and utilise in the existing natural gas network, says
Muhammad Tahir Ashraf.
Power-to-X
Electricity from wind and solar can become climate-friendly fuel for planes, ships, trucks. The technology is called Power-to-X and means in its simplest form that you take power, an energy form such as electricity, and convert it to another energy form.
For the Danish biogas plants, the project provides the opportunity for the
biogas plants to become central in a well-functioning green energy system,
where solar-, wind- and biogas production play together optimally.
– Since Denmark gets a large surplus of electricity from solar and wind,
everyone points to Power-to-X as the future solution for green
conversion of especially the heavy transport. With the project here, we
have got Power-to-Methane, which brings us a big step forward towards the
goal, states director Frank Rosager.
Ready for a large biogas plant
Muhammad Tahir Ashraf is looking at the two reactors, each containing
approximately one litre in size.
– We have been running trials non-stop for more than 1000 days, and we are
now so satisfied with the quality of methane, that at the end of the year
we are ready to test the technology in two 1000 litre reactors at Nature
Energy Holsted, says Muhammad Tahir Ashraf:
– We have run many tests to find the right procedures for operation and the
design of the reactors. There must be an optimal run of the biogas
production and at the same time as we convert CO2 to methane.
Money in biogas
In the report, The Energy Crop Analysis that the Department of Green
Technology, SDU and Seges, part of The Danish Agriculture & Food
Council, have prepared on behalf of the Danish Energy Agency, the optimal
biogas potential in Denmark is calculated to be around 90 PJ/year.
The report, which was published earlier this year, concludes that this
figure will increase to 160 PJ/year if the potential of converting CO 2 to methane is utilised. This corresponds to about 10 times
more than the estimated biogas production in the period 2018-2019.
– When the methane is burned and becomes, for example, heat, you are left
with CO2 once again. One can imagine that in the long run, we
can also reuse the CO2 in the system - or collect it from other
sources. In that case, there is no limit to the production of methane, says
Muhammad Tahir Ashraf.
- System.Web.HttpUnhandledException (0x80004005): An unhandled exception occurred. ---> System.Web.HttpCompileException (0x80004005): c:\home\site\wwwroot\Views\Article\ArticleQuote.cshtml(17): error CS1061: 'Cabana.SDU.Feature.Article.ArticleQuote' does not contain a definition for 'Text' and no extension method 'Text' accepting a first argument of type 'Cabana.SDU.Feature.Article.ArticleQuote' could be found (are you missing a using directive or an assembly reference?)
- at System.Web.Compilation.BuildManager.PostProcessFoundBuildResult(BuildResult result, Boolean keyFromVPP, VirtualPath virtualPath)
- at System.Web.Compilation.BuildManager.GetBuildResultFromCacheInternal(String cacheKey, Boolean keyFromVPP, VirtualPath virtualPath, Int64 hashCode, Boolean ensureIsUpToDate)
- at System.Web.Compilation.BuildManager.GetVPathBuildResultFromCacheInternal(VirtualPath virtualPath, Boolean ensureIsUpToDate)
- at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
- at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
- at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)
- at System.Web.Compilation.BuildManager.GetCompiledType(VirtualPath virtualPath)
- at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
- at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
- at Sitecore.Mvc.Pipelines.MvcEvents.Exception.ShowAspNetErrorMessage.ShowErrorMessage(ExceptionContext exceptionContext, ExceptionArgs args)
- at Sitecore.Mvc.Pipelines.MvcEvents.Exception.ShowAspNetErrorMessage.Process(ExceptionArgs args)
- at (Object , Object )
- at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
- at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists)
- at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain)
- at Sitecore.Mvc.Pipelines.PipelineService.RunPipeline[TArgs](String pipelineName, TArgs args)
- at Sitecore.Mvc.Filters.PipelineBasedRequestFilter.OnException(ExceptionContext exceptionContext)
- at System.Web.Mvc.ControllerActionInvoker.InvokeExceptionFilters(ControllerContext controllerContext, IList`1 filters, Exception exception)
- at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
- at System.Web.Mvc.Controller.ExecuteCore()
- at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
- at Sitecore.Mvc.Controllers.ControllerRunner.ExecuteController(Controller controller)
- at Sitecore.Mvc.Controllers.ControllerRunner.Execute(TextWriter writer)
- at Sitecore.Mvc.Pipelines.Response.RenderRendering.ExecuteRenderer.Render(Renderer renderer, TextWriter writer, RenderRenderingArgs args)
- at Sitecore.Mvc.Pipelines.Response.RenderRendering.ExecuteRenderer.Process(RenderRenderingArgs args)
- at Helpfulcore.RenderingExceptions.Pipelines.RenderRendering.ExecuteRenderer.Process(RenderRenderingArgs args)
Thus, the two reactors in the laboratory at the University of Southern
Denmark are well on their way to paving the way for biogas plants 2.0,
where the future biogas plants will have a completely different foundation
of business when manure and food waste are supplemented with CO2
.
– We must not only create climate sustainable solutions but also
economically sustainable solutions, otherwise, the solution will not be
attractive to private biogas plants.
– For example, our goal has been for our finished solution on a reactor
size to be only 10 per cent of the total size of the biogas plant. We have
achieved that goal, and the biogas owners are very satisfied with that,
emphasises Muhammad Tahir Ashraf.
Photo: Klaus Elkær, University of Southern Denmark.
The science is a part of the project eFuel
-
Participants: NGF Nature Energy Biogas A/S, University of Southern Denmark, Technical University of Denmark (DTU), Biogasclean A/S, Biogasclean Asis Co., Ltd., ERHVERVSHUS FYN P/S
-
Appropriation: DKK 16.59 million from the Energy Technology Development and Demonstration Program (EUDP)
-
More about eFuel