Heterogeneous reactions and reactors
Date: 2012-10-28
Click: 1724
Three main types of reactors are classified based on their feeding mode, batch, semi batch and continuous flow. In a pure batch reactor, there is no flow in or out of the reactor while the reaction occurs. Semi batch reactors are also known as fed-batch reactors because feeds can be added at different stages of the reaction. Continuous flow reactors have both inlet and outlet flows while the reaction takes place. Regardless of the reactor type, it is imperative to understand the reactions taking place within the mixing vessel.

When a chemical reaction occurs within a reactor, many complex problems arise. Two of the biggest problems can be categorized into whether the reaction is governed by mass transfer or reaction rate. In general, if a reaction is very fast the reaction is mass transfer controlled and if the reaction is very slow, the chemical kinetics are the controlling factor.
In very slow reactions, the chemical kinetics has a very small impact with respect to the mass transfer rate. This indicates that no molar ratio change for reactants within the mixer is necessary and that strenuous mixing would have no effect on the reaction. When slow reactions occur, the reaction rate is increased when mixing occurs but selectivity is usually unaffected. For fast reactions and very fast reactions, mixing has more of an impact on the reaction. Both conversion and selectivity need to be carefully accessed in these cases.

For heterogeneous reactions, mass transfer limitations at chemical compound boundaries have a direct impact on reaction. The reasoning for this is that in heterogeneous reactions, the molar ratios can’t be maintained. The impact of mass transfer limitations has a direct impact on selectivity; it is one of the main distinct reasons why selectivity for homogeneous and heterogeneous reactions differs.

The intensity of mixing and the time spent in the mixing vessel have a direct impact on mass transfer and kinetic rates. In homogenous reactions, local molar ratios and chemical kinetics are most affected by the degree and intensity of mixing while for heterogeneous reactions; global molar ratios, mass transfer rates and chemical kinetics are most affected. The extent of mixing has a direct impact on reactions as mentioned earlier. In most heterogeneous reactions there is a mass transfer boundary between reactants and depending on the intensity of mixing, this boundary can shift and different products can form. Along with the intensity of mixing, the time spent inside of the reactor has a large impact on selectivity.

Category: Technical Documents
Author: 佚名
Original Link: Read Original
Previous: No information found
Next: No information found
FreeMarker template error (HTML_DEBUG mode; use RETHROW in production!)

The following has evaluated to null or missing:
==> langConfig  [in template "public_include/wap/module/version_1/language.html" at line 49, column 14]

----
Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #if langConfig.status?string = "false"  [in template "public_include/wap/module/version_1/language.html" at line 49, column 9]
	- Reached through: #include "/public_include/wap/module/...  [in template "tpl/2018/03/17/2613443926933696//wap/en/com_5.html" at line 5, column 1]
	- Reached through: #include "com_5.html"  [in template "tpl/2018/03/17/2613443926933696//wap/en/displaynews.html" at line 69, column 6]
----

Java stack trace (for programmers):
----
freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...]
	at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134)
	at freemarker.core.UnexpectedTypeException.newDesciptionBuilder(UnexpectedTypeException.java:80)
	at freemarker.core.UnexpectedTypeException.<init>(UnexpectedTypeException.java:43)
	at freemarker.core.NonHashException.<init>(NonHashException.java:49)
	at freemarker.core.Dot._eval(Dot.java:48)
	at freemarker.core.Expression.eval(Expression.java:81)
	at freemarker.core.BuiltInsForMultipleTypes$stringBI._eval(BuiltInsForMultipleTypes.java:692)
	at freemarker.core.Expression.eval(Expression.java:81)
	at freemarker.core.EvalUtil.compare(EvalUtil.java:111)
	at freemarker.core.ComparisonExpression.evalToBoolean(ComparisonExpression.java:62)
	at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:48)
	at freemarker.core.Environment.visit(Environment.java:327)
	at freemarker.core.Environment.visit(Environment.java:333)
	at freemarker.core.Environment.include(Environment.java:2509)
	at freemarker.core.Include.accept(Include.java:171)
	at freemarker.core.Environment.visit(Environment.java:327)
	at freemarker.core.Environment.visit(Environment.java:333)
	at freemarker.core.Environment.include(Environment.java:2509)
	at freemarker.core.Include.accept(Include.java:171)
	at freemarker.core.Environment.visit(Environment.java:327)
	at freemarker.core.Environment.visit(Environment.java:333)
	at freemarker.core.Environment.process(Environment.java:306)
	at freemarker.ext.servlet.FreemarkerServlet.processEnvironment(FreemarkerServlet.java:946)
	at freemarker.ext.servlet.FreemarkerServlet.process(FreemarkerServlet.java:910)
	at freemarker.ext.servlet.FreemarkerServlet.doGet(FreemarkerServlet.java:769)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at com.kenfor.iyong.web.util.filter.NotAllowedToTunFilesFilter.doFilter(NotAllowedToTunFilesFilter.java:154)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at com.kenfor.iyong.web.util.filter.InvalidXSSFilter.doFilter(InvalidXSSFilter.java:40)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
	at com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve.invoke(RedisSessionHandlerValve.java:26)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
	at org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:873)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:687)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)

FreeMarker template error: The following has evaluated to null or missing: ==> langConfig [in template "public_include/wap/module/version_1/language.html" at line 49, column 14] ---- Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #if langConfig.status?string = "false" [in template "public_include/wap/module/version_1/language.html" at line 49, column 9] - Reached through: #include "/public_include/wap/module/... [in template "tpl/2018/03/17/2613443926933696//wap/en/com_5.html" at line 5, column 1] - Reached through: #include "com_5.html" [in template "tpl/2018/03/17/2613443926933696//wap/en/displaynews.html" at line 69, column 6] ---- Java stack trace (for programmers): ---- freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...] at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134) at freemarker.core.UnexpectedTypeException.newDesciptionBuilder(UnexpectedTypeException.java:80) at freemarker.core.UnexpectedTypeException.(UnexpectedTypeException.java:43) at freemarker.core.NonHashException.(NonHashException.java:49) at freemarker.core.Dot._eval(Dot.java:48) at freemarker.core.Expression.eval(Expression.java:81) at freemarker.core.BuiltInsForMultipleTypes$stringBI._eval(BuiltInsForMultipleTypes.java:692) at freemarker.core.Expression.eval(Expression.java:81) at freemarker.core.EvalUtil.compare(EvalUtil.java:111) at freemarker.core.ComparisonExpression.evalToBoolean(ComparisonExpression.java:62) at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:48) at freemarker.core.Environment.visit(Environment.java:327) at freemarker.core.Environment.visit(Environment.java:333) at freemarker.core.Environment.include(Environment.java:2509) at freemarker.core.Include.accept(Include.java:171) at freemarker.core.Environment.visit(Environment.java:327) at freemarker.core.Environment.visit(Environment.java:333) at freemarker.core.Environment.include(Environment.java:2509) at freemarker.core.Include.accept(Include.java:171) at freemarker.core.Environment.visit(Environment.java:327) at freemarker.core.Environment.visit(Environment.java:333) at freemarker.core.Environment.process(Environment.java:306) at freemarker.ext.servlet.FreemarkerServlet.processEnvironment(FreemarkerServlet.java:946) at freemarker.ext.servlet.FreemarkerServlet.process(FreemarkerServlet.java:910) at freemarker.ext.servlet.FreemarkerServlet.doGet(FreemarkerServlet.java:769) at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at com.kenfor.iyong.web.util.filter.NotAllowedToTunFilesFilter.doFilter(NotAllowedToTunFilesFilter.java:154) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at com.kenfor.iyong.web.util.filter.InvalidXSSFilter.doFilter(InvalidXSSFilter.java:40) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve.invoke(RedisSessionHandlerValve.java:26) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528) at org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:873) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:687) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)