<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>algoNess</title>
	<atom:link href="http://www.algoness.co.za/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.algoness.co.za</link>
	<description>Applied Process Intelligence</description>
	<lastBuildDate>Mon, 04 Jul 2011 11:27:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Slag Ternary Diagramming Tool</title>
		<link>http://www.algoness.co.za/slag-ternary-diagramming-tool/</link>
		<comments>http://www.algoness.co.za/slag-ternary-diagramming-tool/#comments</comments>
		<pubDate>Sun, 06 Feb 2011 06:13:05 +0000</pubDate>
		<dc:creator>jacques.muller</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Slag]]></category>
		<category><![CDATA[ternary diagram]]></category>

		<guid isPermaLink="false">http://www.algoness.co.za/?p=162</guid>
		<description><![CDATA[In this post I introduce and demonstrate a ternary diagramming tool to calculate and analyse metallurgical slag properties, such as viscosity, liquidus temperature, etc.]]></description>
			<content:encoded><![CDATA[<p>In this post I introduce and demonstrate a ternary diagramming tool to calculate and analyse metallurgical slag properties, such as viscosity, liquidus temperature, etc. In short, this could be used to calculate slag liquid viscosity, and then to calculate and plot contours on a ternary diagram. It is also possible to import property values from a .csv file as a function of the varied components plotted on the diagram, and then to calculate and plot the contour values.</p>
<p>The ternary diagramming tool can be found <a href="http://www.algoness.co.za/Blog/ternary_diagramming_tool/algoNess.TernaryDiagrammingMainPage.html">here</a>. This software was again based on the Microsoft Silverlight technology, which make it possible to have rich internet application inside your browser, or to easily install the software on your computer. More on this can be found in a previous <a href="http://www.algoness.co.za/kohonen-organizing-maps-process-applications-silverlight/">post</a>. The ternary diagram software component was developed in a way to easily be used in other applications as well.</p>
<p><span id="more-162"></span><br />
<strong>Background</strong><br />
Before I discuss the features and how to use it, some background information. A ternary diagram is type of diagram typically used to display some information of chemical compositions where 3 components are varied, almost similar to an XY plot where only 2 components are varied. A typical example, a ternary diagram can display contour lines of specific viscosity values of slags consisting of SiO2, CaO, MnO, Al2O3, and MgO. The latter two species need to have constant percentage values, while the other 3 species would have varied values depicted by the 3 axes of the ternary diagram. In actual fact, only 2 species are varied, with the third calculated by difference.</p>
<p>Each point on a ternary diagram would then represent a specific chemical composition, and each point on a line would depict that composition with the property value equal to that on the line. This tool developed makes it possible to estimate the viscosity at over the whole range of compositions on the diagram, and to display the values in the form of contours calculated between the points.</p>
<p>Another popular use of ternary diagrams is the display of stable phases for varying compositions, called ternary phase diagrams. In this case, the lines would depict compositions on the phase boundaries where either phases would appear of disappear with changing composition.</p>
<p>Below the typical configuration of the ternary diagram is shown, as used in this software. The &#8220;A&#8221; depicts the maximum amount of component A, and zero amounts of the components plotted on the &#8220;B&#8221; and &#8220;C&#8221; axes. The line between the &#8220;C&#8221; and &#8220;A&#8221; corner indicates increasing weight percentages of component &#8220;A&#8221;. Components plotted on the &#8220;B&#8221; and &#8220;C&#8221; axes could be interpreted from the diagram in the same way.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TUwVTJx1ldI/AAAAAAAAAHA/hNKFqtjV7p0/s1600/ternary+diagram.png"><img src="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TUwVTJx1ldI/AAAAAAAAAHA/hNKFqtjV7p0/s200/ternary+diagram.png" border="0" alt="" width="198" height="200" /></a></div>
<p><strong>Features</strong><br />
The following features currently exist in the ternary diagramming tool:</p>
<ul>
<li>Ability to plot contours of property values on a ternary diagram configured for systems consisting of at least 3 of the following species: SiO2, CaO, MgO, Al2O3, FeO, Fe2O3, MnO, and P2O5.</li>
<li>Ability to analyse plotted property results by moving the cursor over diagram and observing the chemical composition shown at the cursor.</li>
<li>Ability to configure the diagram by specifying the species (1 or more) to be plotted on each of the axes and the constant species with their values.</li>
<li>Ability to change the scale of each of the 3 axes in order to zoom in on plotted data.</li>
<li>Ability to import slag property data from a .csv text file containing property results for each chemical composition.</li>
<li>Ability to calculate slag liquid viscosity over the range of the ternary diagram using the Urbain model published by K.C. Mills in the Slag Atlas, discussed <a href="http://www.algoness.co.za/tool-calculate-slag-liquid-viscosity-silverlight/">here</a>.</li>
<li>Ability to specify contour values and have the contours calculated and plotted on the ternary diagram.</li>
<li>Ability to save and reopen diagrams, which includes all the configuration data and calculated property contour data.</li>
</ul>
<div>As an example, the following is a screenshot of the main window of this tool showing a ternary diagram of effective slag viscosity for a specific system.</div>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TUwWvBYrynI/AAAAAAAAAHE/HLfmob2Ybfk/s1600/main+window.png"><img src="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TUwWvBYrynI/AAAAAAAAAHE/HLfmob2Ybfk/s400/main+window.png" border="0" alt="" width="400" height="320" /></a></div>
<p>The next sections contains &#8220;How to&#8217;s&#8221; on using the software.</p>
<p><strong>How to: Configure diagram species</strong><br />
This section describes how to configure the diagram, in terms of selecting the varied and constant species.</p>
<p>The diagram configuration can be initiated by a right-click anywhere on the diagram, and selecting &#8220;Configure Diagram&#8221;, as in the following screenshot.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://1.bp.blogspot.com/_-DNqN_ZwhkQ/TUv6_CyrIzI/AAAAAAAAAF4/Gn1YF52JMIY/s1600/configure+1.png"><img src="http://1.bp.blogspot.com/_-DNqN_ZwhkQ/TUv6_CyrIzI/AAAAAAAAAF4/Gn1YF52JMIY/s200/configure+1.png" border="0" alt="" /></a></div>
<p>This would cause the configuration window to popup, and for now the first tab &#8220;Setup&#8221; is used to configure the diagram. This window (below) shows the species on each of the corners and the constant species in the left part of the window, with the available species for configuration on the right. A general note, the &#8220;A&#8221; corner is the top of the triangle, &#8220;B&#8221; the lower left, and &#8220;C&#8221; the lower right corner of the triangle</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TUv8TBq9-yI/AAAAAAAAAF8/4qBX5VX_7tQ/s1600/configure+2.png"><img src="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TUv8TBq9-yI/AAAAAAAAAF8/4qBX5VX_7tQ/s320/configure+2.png" border="0" alt="" width="320" height="283" /></a></div>
<p>In the configuration window above, variable corner species and constant species could be removed by a right-click and selection of &#8220;Remove&#8221;:</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TUv9WWCogwI/AAAAAAAAAGA/iU8DfVsI254/s1600/configure+3.png"><img src="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TUv9WWCogwI/AAAAAAAAAGA/iU8DfVsI254/s200/configure+3.png" border="0" alt="" width="200" height="139" /></a></div>
<p>Similarly, species could be added to the corners by a right-click on a specie in the right-hand list and selection of the appropriate action:</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://2.bp.blogspot.com/_-DNqN_ZwhkQ/TUv-ChP-_zI/AAAAAAAAAGE/9TaU1LRYiH4/s1600/configure+4.png"><img src="http://2.bp.blogspot.com/_-DNqN_ZwhkQ/TUv-ChP-_zI/AAAAAAAAAGE/9TaU1LRYiH4/s200/configure+4.png" border="0" alt="" width="200" height="153" /></a></div>
<p>The above showed how to add P2O5 as a constant specie, in which case the weight percentage of the specie also need to be specified in the window that will automatically popup. This is shown below, with a value of 1% entered for the P2O5 (note the &#8220;%&#8221; must not be entered, only the numerical value):</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://2.bp.blogspot.com/_-DNqN_ZwhkQ/TUv-mnUwnsI/AAAAAAAAAGI/goXkjlOlhN8/s1600/configure+5.png"><img src="http://2.bp.blogspot.com/_-DNqN_ZwhkQ/TUv-mnUwnsI/AAAAAAAAAGI/goXkjlOlhN8/s200/configure+5.png" border="0" alt="" width="200" height="95" /></a></div>
<p>If the &#8220;OK&#8221; button is clicked on the configuration window, the ternary diagram will be re-configured according to the species selected.</p>
<p>It is possible to have more than one variable specie plotted on the axes. For example, the diagram could be configured to plot mass percentage of CaO + MgO on the &#8220;B&#8221; corner axis. This is achieved by adding &#8220;MgO&#8221; and &#8220;CaO&#8221; to the list of corner &#8220;B&#8221; species.</p>
<p><strong>How to: Configure diagram scale</strong><br />
This section illustrates how to change the axes scales in order to zoom in or out of the diagram.</p>
<p>The scale window could be accessed similarly to the setup window by a right-click anywhere on the diagram, selecting &#8220;Configure Diagram&#8221; and then selecting the &#8220;Scale&#8221; tab, partly shown in the following screenshot.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://1.bp.blogspot.com/_-DNqN_ZwhkQ/TUwAkQmm_SI/AAAAAAAAAGQ/8MllZgsqt3A/s1600/scale+1.png"><img src="http://1.bp.blogspot.com/_-DNqN_ZwhkQ/TUwAkQmm_SI/AAAAAAAAAGQ/8MllZgsqt3A/s200/scale+1.png" border="0" alt="" width="135" height="200" /></a></div>
<p>In this window it is possible to enter the weight percentage intervals for the gridlines of each of the axes, and also the minimum and maximum weight percentages of the axes to plot. The lower limit is zero, while the upper limit is 100 minus the sum of the constant species. Again, it should be noted that only the numerical value need to be entered. In the above screenshot then the intervals of the gridlines were all 10%, while the axes were plotted between 0% and 81%, with the sum of the constant species being 19%.</p>
<p>For illustration, the following blank diagram shows how the diagram was configure to display values between 10 and 50% on all the axes, with all gridline intervals of 5%. Not the corners of the triangle being cut off due to the axes maximum values being less than the maximums allowable.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://3.bp.blogspot.com/_-DNqN_ZwhkQ/TUwCACo_KBI/AAAAAAAAAGU/sXwJuvb1voM/s1600/scale+2.png"><img src="http://3.bp.blogspot.com/_-DNqN_ZwhkQ/TUwCACo_KBI/AAAAAAAAAGU/sXwJuvb1voM/s320/scale+2.png" border="0" alt="" width="320" height="307" /></a></div>
<p><strong>How to: Calculate property data</strong><br />
This section shows the first step of adding data to the diagram through the calculation of the slag liquid viscosity. The data calculation window could be obtained by a right-click on the diagram and selecting &#8220;Add Data Layer&#8221; and then the &#8220;Property Raw Data&#8221; as in the following screenshot.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TUwDAs38IXI/AAAAAAAAAGY/03v-qg7vLUA/s1600/add+data+1.png"><img src="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TUwDAs38IXI/AAAAAAAAAGY/03v-qg7vLUA/s320/add+data+1.png" border="0" alt="" width="320" height="209" /></a></div>
<p>In the left section the &#8220;Property Source&#8221; is selected, and in this case the &#8220;Generate Data&#8221; option should be selected. Firstly the property to be calculated must be selected, currently the only option built in is the slag liquid viscosity. Then the temperature at which the property must be calculated need to be entered, and the interval with which it should vary the variable components when calculating the property (In general 1% works well).</p>
<p>The next step is to select the variable species and enter values for constant species in the &#8220;Component Values&#8221; list. Only 3 species can be selected as variable species and constant values can be entered for the non-selected species.</p>
<p>Pressing calculate will generate a range of compositions, with the constant specie values specified and the values of the other 3 species varied between 0 and 100 minus constant specie total to cover the entire ternary diagram. This data will be used to derive contours that will be plotted.</p>
<p>For example, to coincide with the configuration the variable species selected were SiO2, MnO, and CaO. The constant species and values specified were Al2O3 = 13%, and MgO = 6%. Pressing &#8220;Calculate&#8221; generated the results in the right-hand side of the screen, as shown in the screenshot below.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://3.bp.blogspot.com/_-DNqN_ZwhkQ/TUwGPIdlCuI/AAAAAAAAAGk/t5lIe2JR6pY/s1600/add+data+2.png"><img src="http://3.bp.blogspot.com/_-DNqN_ZwhkQ/TUwGPIdlCuI/AAAAAAAAAGk/t5lIe2JR6pY/s200/add+data+2.png" border="0" alt="" width="173" height="200" /></a></div>
<p><strong>How to: Import property data</strong><br />
Should you wish to plot other slag properties than the liquid viscosity calculated here, then the following describes how to import data. The user can select the data calculated in the viscosity table and copy it to Excel, and calculate the properties there using the compositions. The results data could then be imported into this tool.</p>
<p>The property data should be placed in a .csv file with the first columns for the species (as mass fractions), and the last for the property values. The first line should be the header with the names of the species (allowable in this tool only) and then the names of the properties. The following shows a typical .csv file in Excel, with the values of percentage solids, liquid viscosity, and effective viscosity calculated for the range of compositions.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://2.bp.blogspot.com/_-DNqN_ZwhkQ/TUwIEL3mMtI/AAAAAAAAAGo/BnGlAN3gaHA/s1600/import+data+1.png"><img src="http://2.bp.blogspot.com/_-DNqN_ZwhkQ/TUwIEL3mMtI/AAAAAAAAAGo/BnGlAN3gaHA/s320/import+data+1.png" border="0" alt="" width="320" height="238" /></a></div>
<p>To import the data, the &#8220;Create Data Layer&#8221; window and &#8220;Property Raw Data&#8221; tab used in the previous section will again be used. Now the &#8220;Import Data&#8221; option must be selected, and the &#8220;Browse&#8221; button clicked:</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://3.bp.blogspot.com/_-DNqN_ZwhkQ/TUwJI7J2VXI/AAAAAAAAAGs/HBzzUVu4KfA/s1600/import+data+2.png"><img src="http://3.bp.blogspot.com/_-DNqN_ZwhkQ/TUwJI7J2VXI/AAAAAAAAAGs/HBzzUVu4KfA/s320/import+data+2.png" border="0" alt="" width="320" height="173" /></a></div>
<p>Pressing the &#8220;Browse&#8221; button causes a file browse window to popup with which the .csv can be found and selected to be imported. The data will be imported into the data on the right-hand side of the window, similarly to when the liquid viscosities were calculated in the previous section.</p>
<p><strong>How to: Calculate/add/remove contours</strong><br />
Now that property data is available, the contours can be calculated and added to the diagram. This could be done by selection of the &#8220;Property Contour Data&#8221; tab on the window used in the previous section.</p>
<p>This shows the window with which the contours can be configured, calculated and added to the diagram.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://2.bp.blogspot.com/_-DNqN_ZwhkQ/TUwKPGhX72I/AAAAAAAAAGw/xtLEF_WPexM/s1600/contour+1.png"><img src="http://2.bp.blogspot.com/_-DNqN_ZwhkQ/TUwKPGhX72I/AAAAAAAAAGw/xtLEF_WPexM/s320/contour+1.png" border="0" alt="" width="320" height="209" /></a></div>
<p>On the left-hand side of the above window the contour configuration is specified. Firstly the contour values need to specified as a comma-separated list (e.g. 5,10,20, 100). Each series will have a label containing the contour value, it is therefore also possible to specify a pre-fix and post-fix to the contour value for the label.</p>
<p>Next the &#8220;search&#8221; and &#8220;compare&#8221; species need to be selected from the lists of varied species in the data. This forms the basis of the contour calculations and is dependent on the properties plotted and how they vary with regards to composition. Should the contours plotted come out jagged, then these selections should be changed. For example, if the property varies less with regards to the species plotted on the &#8220;B&#8221; and &#8220;C&#8221; axes (i.e. horizontal line expected) then the &#8220;search specie&#8221; would be either that plotted on the &#8220;B&#8221; or &#8220;C&#8221; axes, and the &#8220;compare specie&#8221; that plotted on the &#8220;A&#8221; axis.</p>
<p>Lastly, the property for which the contours need to be calculated have to be selected from the list, if there is more than one in the data.</p>
<p>Pressing the &#8220;Calculate&#8221; button would then generate a tab for each contour in the column on the right. As an example, the contours were calculated for the effective viscosity data imported in the previous section:</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://2.bp.blogspot.com/_-DNqN_ZwhkQ/TUwNtHW35JI/AAAAAAAAAG0/LwKlrPEDRwI/s1600/contour+2.png"><img src="http://2.bp.blogspot.com/_-DNqN_ZwhkQ/TUwNtHW35JI/AAAAAAAAAG0/LwKlrPEDRwI/s320/contour+2.png" border="0" alt="" width="320" height="209" /></a></div>
<p>To add the contours to the diagram, the &#8220;Add Contour Data&#8221; button could be pressed. This will cause the popup to close and plot the contours on the diagram, as partly shown in the screen shot below.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TUwO2tURLRI/AAAAAAAAAG4/zQ9PxKc0pjU/s1600/contour+3.png"><img src="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TUwO2tURLRI/AAAAAAAAAG4/zQ9PxKc0pjU/s400/contour+3.png" border="0" alt="" width="400" height="258" /></a></div>
<p>On the right of the main window in the screen shot above, a list shows chemical composition at the cursor over the diagram. Below this is a list &#8220;Plotted Series&#8221; showing all the contours plotted as series. It is possible to un-check a series to hide it, or to right-click and select &#8220;Delete Series&#8221; to remove it.</p>
<p><strong>How to: Analyse and zoom in</strong><br />
As stated earlier, this tool is useful for analysing contour data on a ternary diagram. To illustrate this, the diagram generated in the previous section was zoomed in by changing the scale of the &#8220;A&#8221; corner axes to be between 0 and 40% SiO2, shown below.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://3.bp.blogspot.com/_-DNqN_ZwhkQ/TUwP69CEYaI/AAAAAAAAAG8/L895p8jAXzg/s1600/explore+1.png"><img src="http://3.bp.blogspot.com/_-DNqN_ZwhkQ/TUwP69CEYaI/AAAAAAAAAG8/L895p8jAXzg/s400/explore+1.png" border="0" alt="" width="400" height="225" /></a></div>
<p>When hovering the mouse cursor over a series, the name of the series will be shown as a tool tip. Left-click on the series would result in the series being highlighted and the series name appearing on the right as &#8220;Selected Series&#8221;. In the screenshot above, the mouse cursor was over the 5 Poise series, but the 6 Poise series was selected (also shown as thicker line).</p>
<p><strong>How to: Save and open diagrams</strong><br />
Diagrams could be saved and opened at a later stage,  and in this section it is illustrated how.</p>
<p>To save and open diagrams are very simple processes, using the &#8220;Open&#8221; and &#8220;Save&#8221; buttons at the top of the main window. To save a diagram with its contour data and configuration click on the &#8220;Save&#8221; button. This opens a common Windows file save dialog window allowing you to browse to or create a new file in the .xtr file format.</p>
<p>To open a file click on the &#8220;Open&#8221; button, which opens up a file open dialog window again allowing you to browse to the saved file in the .xtr format. Note that opening a file will clear the current data and configuration.</p>
<p><strong>Conclusions</strong><br />
To conclude, this post introduced a slag property calculation and ternary diagramming tool, and showing how to use its current features.</p>
<p>As always, please feel free to leave a comment or <a href="http://www.algoness.co.za/contact/">contact us</a> should you have any questions, comments, or suggestions.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.algoness.co.za/slag-ternary-diagramming-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Smelting furnace refractory and freeze lining heat transfer model</title>
		<link>http://www.algoness.co.za/smelting-furnace-refractory-freeze-lining-heat-transfer-model/</link>
		<comments>http://www.algoness.co.za/smelting-furnace-refractory-freeze-lining-heat-transfer-model/#comments</comments>
		<pubDate>Sat, 11 Dec 2010 16:26:23 +0000</pubDate>
		<dc:creator>jacques.muller</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[conduction]]></category>
		<category><![CDATA[convection]]></category>
		<category><![CDATA[freeze lining]]></category>
		<category><![CDATA[Heat transfer]]></category>
		<category><![CDATA[smelting furnace]]></category>

		<guid isPermaLink="false">http://www.algoness.co.za/?p=38</guid>
		<description><![CDATA[In this post I would like to illustrate how to model heat transfer through the refractory of a smelting furnace, and how to estimate the thickness of a freeze lining on the hot face. This is targeted at readers familiar with smelting furnaces, and would like to utilize measured data to evaluate the heat transfer performance, or [...]]]></description>
			<content:encoded><![CDATA[<p>In this post I would like to illustrate how to model heat transfer through the refractory of a smelting furnace, and how to estimate the thickness of a freeze lining on the hot face. This is targeted at readers familiar with smelting furnaces, and would like to utilize measured data to evaluate the heat transfer performance, or alternatively to investigate refractory options. Although complex phenomena exists in the furnace influencing heat transfer and the formation of freeze lining which are in some cases  largely unknown, a simple approach is demonstrated to model the most important effects observed.</p>
<p><span id="more-38"></span></p>
<p><strong>Refractory domain</strong><br />
The image below is a typical view through the smelting furnace sidewall when considering heat transfer, with the lower part of the sidewall refractory in line with the slag bath of particular interest.  In the lower part of the furnace heat is transferred from the electrodes to the slag bath, and conducted through the slag/metal baths and then refractory to where it is lost by whatever convective cooling means.</p>
<p>Build-up and wear of the freeze lining and refractory is driven by thermal (heat transfer), chemical (reactions), and mechanical (wear) phenomena. Should the sidewall be highly conductive and sufficient cooling provided on the shell, slag might solidify on the inside of the sidewall refractory. Increased heat conduction cools the slag close to the sidewall, causing its viscosity to increase and solidify, forming a freeze lining layer. The increased resistance will have heat transfer decrease, as well as the total heat loss from the shell. Also, chemical reactions occurring between the slag bath and freeze lining, and movement in the slag bath influences the freeze lining formation or wear.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TQJsKt6zGWI/AAAAAAAAAD0/wLjx8DBp_Kc/s1600/smelting+furnace+refractory+domain.png"><img src="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TQJsKt6zGWI/AAAAAAAAAD0/wLjx8DBp_Kc/s400/smelting+furnace+refractory+domain.png" border="0" alt="" width="400" height="278" /></a></div>
<p><strong>Model overview</strong><br />
Heat transfer through the refractory in line with the slag bath, and freeze lining formation is of interest. As a simplified solution, one-dimensional (1D) heat transfer through this section is modelled. Heat transfer through the freeze lining and refractory wall can be modelled by applying conductive heat transfer principles, while cooling on the shell can be modelled by convective heat transfer principles. A larger simplification is however required on the freeze lining interface. In this case a constant temperature boundary condition will be assumed.</p>
<p>An important assumption/simplification made for this formulation is that of the hot-face temperature. In theory this is the temperature where the slag has cooled enough to &#8216;stick&#8217; to the sidewall refractory and to withstand mechanical wear. This however unknown to some extent, and becomes a tuning factory in which the model is &#8216;tuned&#8217; to predict more accurate results.</p>
<p>With the above assumptions it should be possible to model heat transfer, with the limitation that to determine the thickness of the freeze lining the heat loss through the sidewall should need to be known. This could easily be calculated however either from thermocouple data, or temperature differential and cooling water flow rate data.</p>
<p><strong>1D heat transfer formulation</strong><br />
In this simplification heat transfer through the refractory in line with the slag bath is formulated. Despite the typical furnace being cylindrical, the equations used here will not be based on cylindrical coordinate system, but rather Cartesian, with x depicting the radial direction through the refractory.</p>
<p>The following illustrate the domain for which heat transfer will be formulated.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TQN-9eRLg-I/AAAAAAAAAEc/TGngU3woHxA/s1600/1D+heat+transfer+domain.png"><img src="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TQN-9eRLg-I/AAAAAAAAAEc/TGngU3woHxA/s1600/1D+heat+transfer+domain.png" border="0" alt="" /></a></div>
<p>Considering conduction, the transient heat equation is given by the following, with <em>k </em>the heat transfer coefficient (W/mK), <em>ρ</em> the refractory density (kg/m3), and <em>Cp </em>the refractory heat capacity (J/kgK) .</p>
<div class="separator" style="clear: both; text-align: center;"><span id='tex_7310'></span></div>
<p><a></a></p>
<div class="separator" style="clear: both; text-align: left;">We will only consider steady state conditions, for the heat transfer (<em>q</em>) in W/m2 is calculated by the following equation in differential form. In this, and equations to follow, <em>q</em> refers the heat transfer in the radial direction in units of W/m2, meaning the heat conducted (W) per meter squared of outer surface. The total heat loss is equal to <em>q</em> multiplied with the outside surface area.</div>
<div class="separator" style="clear: both; text-align: center;"><span id='tex_7698'></span></div>
<p><a></a></p>
<p><span style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: 115%;"> </span>The equation for heat conduction could be discretized, into the following, here shown with the equation for calculating convective heat transfer in terms of the cooling temperature, the surface temperature on the shell, and <em>h</em> the heat transfer coefficient (W/m2K).</p>
<div class="separator" style="clear: both; text-align: center;"><span id='tex_2839'></span></div>
<p><a></a></p>
<div class="separator" style="clear: both; text-align: left;">To further simplify the model, and reduce the need to calculate the outer shell temperature, the thermal resistance analogy is used. This method is similar to electrical resistance, and makes it possible to calculate thermal resistances for the different sections of the domain (sidewall) and then adding them together to yield the total thermal resistance. The total resistance in then given by the following equation, for which it has been assumed that any resistances except that of conduction and convection are negligible (e.g. contact resistance, etc.).</div>
<p><a></a></p>
<div class="separator" style="clear: both; text-align: center;"><span id='tex_93'></span></div>
<p><a></a></p>
<div class="separator" style="clear: both; text-align: left;">The thermal resistances for conduction through each layer and convection from the shell can be calculated by the following, derived from previous equations:</div>
<p><a></a></p>
<div class="separator" style="clear: both; text-align: center;"><span id='tex_5054'></span></div>
<p><a></a></p>
<div class="separator" style="clear: both; text-align: left;">Following the above, the heat transfer through the conducting refractory layers, and convection from the shell are:</div>
<p><a></a></p>
<div class="separator" style="clear: both; text-align: center;"><span id='tex_5017'></span></div>
<p><a></a></p>
<div class="separator" style="clear: both; text-align: left;"><strong>Example</strong></div>
<div class="MsoNormal">For example, consider a furnace with the following particulars regarding the slag, refractory layers, and sidewall cooling.</div>
<ul>
<li>Slag hot face temperature of 1500°C.</li>
<li>Freeze lining thickness to be determined, thermal conductivity 1 W/mK.</li>
<li>Inner refractory thickness 125 mm, thermal conductivity of 1.5 W/mK.</li>
<li>Outer graphite layer thickness 500 mm, thermal conductivity of 17.5 W/mK.</li>
<li>Steel shell thickness 50 mm, thermal conductivity of 50 W/mK.</li>
<li>Shell water cooling with a heat transfer coefficient of 250 W/m2K, and water temperature of 25°C.</li>
<li>Thermocouple at 290 mm from steel inside measuring 185°C, and one at 90 mm from steel measuring 100.5°C.</li>
</ul>
<p>This is illustrated by the following.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TQOFbQT93uI/AAAAAAAAAEk/f1--UesFkUY/s1600/example+domain.png"><img src="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TQOFbQT93uI/AAAAAAAAAEk/f1--UesFkUY/s1600/example+domain.png" border="0" alt="" /></a></div>
<p>We would like to estimate the freeze lining thickness from data provided, by firstly estimating the heat  flow through the entire domain in the radial direction (from left to right). If the cooling water flow rate and temperature differential was provided this could also have been used, but in this case we will have to use the temperature difference and distance between the thermocouples in the graphite layer as follows.</p>
<div class="separator" style="clear: both; text-align: center;"><span id='tex_585'></span></div>
<p><a></a></p>
<div class="separator" style="clear: both; text-align: center;"><span id='tex_6571'></span></div>
<p><a></a></p>
<div class="separator" style="clear: both; text-align: center;"><span id='tex_818'></span></div>
<p><a></a></p>
<div class="separator" style="clear: both; text-align: left;">In the above the heat transfer rate has been estimated as 7438 W/m2, this figure could be validated using the outer surface of the furnace sidewall, and the cooling water data discussed earlier. The next step however is to calculate the thickness of the freeze lining, by calculating the thermal resistances of all the layers and convective cooling, and then using the temperature difference between the hot face and cooling water, and heat loss rate calculated above to estimate the thermal resistance of the freeze lining. With this known, the thickness of the freeze lining can be estimated. The following illustrates the calculation of the total thermal resistance, excluding that of the freeze lining.</div>
<div class="separator" style="clear: both; text-align: center;"><a></a></p>
<div id="_mcePaste"><span id='tex_7405'></span></div>
<p><a></a></p>
<div id="_mcePaste"><span id='tex_4926'></span></div>
<p><a></a></p>
<div id="_mcePaste"><span id='tex_4232'></span></div>
</div>
<div class="separator" style="clear: both; text-align: left;">In the following the thermal resistance of the freeze lining is calculated.</div>
<div class="separator" style="clear: both; text-align: center;"><a></a></p>
<div class="separator" style="clear: both; text-align: center;"><span id='tex_1550'></span></div>
<p><a></a></p>
<div class="separator" style="clear: both; text-align: center;"><span id='tex_2598'></span></div>
<p><a></a></p>
<div class="separator" style="clear: both; text-align: center;"><span id='tex_2378'></span></div>
<p><a></a></p>
</div>
<div class="separator" style="clear: both; text-align: left;">If the above yielded a negative value, it means that the freeze lining will have a negative thickness calculated, implying wear of the refractory and not build up. To determine the amount of wear, the heat transfer coefficient of the refractory need to be used in the following, and not that of the freeze lining. The thickness of the freeze lining is estimated as follows.</div>
<p><a></a></p>
<div class="separator" style="clear: both; text-align: center;"><span id='tex_967'></span></div>
<p><a></a></p>
<div class="separator" style="clear: both; text-align: center;"><span id='tex_9858'></span></div>
<p><a></a></p>
<div class="separator" style="clear: both; text-align: left;">In the above the freeze lining thickness is estimated as being 81 mm thick. All of the calculations were made in an Excel spreadsheet, with the grey background cells marking the values being calculated.</div>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TTBc6bW29QI/AAAAAAAAAFs/hddE1nDTWck/s1600/excel+heat+transfer+calculation.png"><img src="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TTBc6bW29QI/AAAAAAAAAFs/hddE1nDTWck/s640/excel+heat+transfer+calculation.png" border="0" alt="" width="640" height="301" /></a></div>
<div class="separator" style="clear: both; text-align: left;">In the above, the table towards the lower right corner depicts the distances from the front of the freeze lining and temperatures calculated using the same model used above. This is used to plot temperature versus distance from the hot face, showing the temperature distribution throughout the sidewall. In the following it can be seen how the temperature slope is steeper in areas with high thermal conductivities.</div>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://2.bp.blogspot.com/_-DNqN_ZwhkQ/TQObly2SG_I/AAAAAAAAAFA/C3oghs54adw/s1600/temperature+profile.png"><img src="http://2.bp.blogspot.com/_-DNqN_ZwhkQ/TQObly2SG_I/AAAAAAAAAFA/C3oghs54adw/s400/temperature+profile.png" border="0" alt="" width="400" height="291" /></a></div>
<p><strong>Conclusion</strong><br />
In this post simplified one-dimensional heat transfer was used to illustrate how heat transfer could be modelled in a smelting furnace refractory and how the freeze lining thickness could be estimated. This approach could be used to trend the freeze lining thickness over time, using thermocouple data and/or shell cooling water data.</p>
<p>This approach was based on some assumptions and simplifications to cater for uncertain phenomena, and resulted in a model of which the parameters could be &#8216;tuned&#8217; to predict results closer to observed values. The model could also be improved with thermal conductivities measured of the freeze lining by research facilities, as well as calculating more a accurate convective cooling heat transfer coefficients from cooling data.</p>
<p>To investigate this system in more detail, the formulation could be extended to two or three dimensions, and some phenomena included such as movement in the slag bath and slag solidification/melting. This will model the system more realistically catering for the actual phenomena observed. This formulation can be solved following a finite element approach, which is likely to be covered in a post in future.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.algoness.co.za/smelting-furnace-refractory-freeze-lining-heat-transfer-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A tool to calculate slag liquid viscosity using Silverlight</title>
		<link>http://www.algoness.co.za/tool-calculate-slag-liquid-viscosity-silverlight/</link>
		<comments>http://www.algoness.co.za/tool-calculate-slag-liquid-viscosity-silverlight/#comments</comments>
		<pubDate>Mon, 08 Nov 2010 17:43:52 +0000</pubDate>
		<dc:creator>jacques.muller</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Slag]]></category>
		<category><![CDATA[Viscosity]]></category>

		<guid isPermaLink="false">http://www.algoness.co.za/?p=30</guid>
		<description><![CDATA[In this blog I present and discuss a tool to calculate metallurgical slag liquid viscosity. This tool has been developed using the Microsoft Silverlight technology, which will also be discussed in a bit more detail than was done in the previous post. The calculations have also been developed as user defined functions compiled into a [...]]]></description>
			<content:encoded><![CDATA[<p>In this blog I present and discuss a <a href="http://www.algoness.co.za/slag-viscosity-calculation-tool/" target="_blank">tool</a> to calculate metallurgical slag liquid viscosity. This <a href="http://www.algoness.co.za/slag-viscosity-calculation-tool/" target="_blank">tool</a> has been developed using the Microsoft Silverlight technology, which will also be discussed in a bit more detail than was done in the previous <a href="http://algoness.blogspot.com/2010/11/kohonen-self-organizing-maps-for.html">post</a>. The calculations have also been developed as user defined functions compiled into a Microsoft Excel add-in, available on <a href="mailto:info@algoness.co.za">request</a>.</p>
<p><span id="more-30"></span><strong>Viscosity calculation</strong><br />
To start off, let&#8217;s first consider the viscosity calculation. Slag viscosity is an important process variable in pyrometallurgical processes, with the typical importance of relating the slag composition with the ease with which it could be tapped from the furnace. Any material&#8217;s viscosity is determined by its chemical composition and the temperature. In the case of metallurgical slags, a silicate network forms increasing the viscosity. Monoxides have a destructive effect on the silicate bonds, with their presence decreasing the viscosity. These same monoxides however, increase the liquidus temperature, stabilising the formation of solid solution phases which has an increasing effect on <em>effective </em>viscosity.</p>
<p>In practice, the ability to estimate a slag&#8217;s viscosity based on its composition and temperature enables better and more consistent decision making when based on researched relationships, rather than rules of thumb. This also makes it possible to evaluate slags outside the normal operating conditions where experience has not yet been gained.</p>
<p>Numerous research results could be found in literature attempting to derive viscosity models for specific slag systems. A general model based on the Urbain formalism is presented in the Slag Atlas, 2nd Edition (1995) by dr. KC Mills, (Ch.9, pp. 349 &#8211; 354). This model groups the amounts of input species into glass formers (SiO2, P2O5), modifiers (CaO, MgO, Na2O, K2O, CaF2, FeO, MnO, TiO2, and ZrO2), and amphoterics (Al2O3, Fe2O3, and B2O3). Parameters were derived and tuned for these groups from experimental data to model the viscosity from the mole fraction of each component and the temperature. The software presented here provides a tool to estimate the slag viscosity using this Urbain model as published by dr. KC Mills.</p>
<p>This tool allows for the following two calculations:</p>
<ul>
<li><em>Liquid viscosity</em>: Calculates the liquid viscosity for the input chemical composition (mass %&#8217;s) and temperature (°C) using the Urbain model publish by dr. KC Mills in the Slag Atlas, 2nd Ed. It is called the liquid viscosity, based on the assumption that the slag specified is fully liquid at the temperature at which viscosity is calculated (temperature is higher than liquidus).</li>
<li><em>Temperature for viscosity</em>: The viscosity model above is used to solve the temperature (°C) at which a slag will have the target viscosity specified. This is useful in operation to calculate the temperature that a slag need to be knowing the typical viscosity value predicted by this specific model for slag classified as easy to tap.</li>
</ul>
<p><strong>Microsoft Silverlight</strong><br />
The application platform chosen for presenting the calculation tool is Microsoft Silverlight. This is a relatively new technology allowing for <a href="http://en.wikipedia.org/wiki/Microsoft_Silverlight">rich internet applications</a>, that is available in runtime environment as a plug-in to most browsers. Another useful feature is that the applications do not have to run in the browser alone, but could very easily be installed onto a computer, without directly having to download any software, and available off-line.</p>
<p>The viscosity calculation tool has been embedded as a component at the end of this blog, or can be opened in new window by following this <a href="http://www.algoness.co.za/slag-viscosity-calculation-tool/" target="_blank">link</a>. This means that if the Silverlight plug-in is installed, you should see the fully functional application. If this is not visible, but an icon requesting you to install Silverlight for your browser, this link should first be followed, and probably you browser restarted, to be able to see and use this application. More information on installing Silverlight can be found <a href="http://www.microsoft.com/getsilverlight/get-started/install/default.aspx">here</a>.</p>
<p><strong>Out-of-browser application</strong><br />
As noted earlier, the application could be installed onto your computer without having directly to download any software (other than the Silverlight browser plug-in already installed), or requiring administrator privileges. This can be done by merely right-clicking anywhere on the application component in this blog, selecting &#8220;Install algoNess Slag Liquid Viscos&#8230; onto this computer&#8230;&#8221;, and following the requests on the next windows. This is shown below.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://3.bp.blogspot.com/_-DNqN_ZwhkQ/TNerhWOw6OI/AAAAAAAAADc/6rzEkdRAQyo/s1600/Screenshot+1.png"><img src="http://3.bp.blogspot.com/_-DNqN_ZwhkQ/TNerhWOw6OI/AAAAAAAAADc/6rzEkdRAQyo/s1600/Screenshot+1.png" border="0" alt="" /></a></div>
<p>The viscosity calculation application will then be installed onto your computer, placing a shortcut on your Desktop and in the Start Menu, if these options were chosen. The application can be started like any other application, clicking on the shortcuts.</p>
<p>To remove the application, one can remove it using &#8220;Add or Remove Programs&#8221; from the &#8220;Control Panel&#8221;, or by righ-clicking again on the application, and selecting &#8220;Remove this application&#8221;. This is shown below.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://1.bp.blogspot.com/_-DNqN_ZwhkQ/TNestdRrJZI/AAAAAAAAADg/DDoPem7MfL0/s1600/Screenshot+2.png"><img src="http://1.bp.blogspot.com/_-DNqN_ZwhkQ/TNestdRrJZI/AAAAAAAAADg/DDoPem7MfL0/s1600/Screenshot+2.png" border="0" alt="" /></a></div>
<p><strong>Slag liquid viscosity calculation tool</strong><br />
In the frame below the fully functional slag liquid viscosity calculation tool is presented. This calculates the slag viscosity, or temperature for viscosity, as described earlier. The composition is specified and then either the temperature of target viscosity, and clicking the appropriate &#8220;Calculate&#8221; button will initiate the calculations.</p>
<iframe frameborder="0" height="600" scrolling="auto" src="http://www.algoness.co.za/Blog/prop_liqVisc/algoNess.LiquidViscosityTestPage.html" width="100%"></iframe>
]]></content:encoded>
			<wfw:commentRss>http://www.algoness.co.za/tool-calculate-slag-liquid-viscosity-silverlight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kohonen Self Organizing Maps for Process Applications, using Silverlight</title>
		<link>http://www.algoness.co.za/kohonen-organizing-maps-process-applications-silverlight/</link>
		<comments>http://www.algoness.co.za/kohonen-organizing-maps-process-applications-silverlight/#comments</comments>
		<pubDate>Sat, 06 Nov 2010 17:42:49 +0000</pubDate>
		<dc:creator>jacques.muller</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[SOM]]></category>

		<guid isPermaLink="false">http://www.algoness.co.za/?p=28</guid>
		<description><![CDATA[In this blog I will discuss Kohonen self organizing maps (SOM), and how it could be applied to process engineering problems. I will also illustrate its use with a typical example, and then with a process engineering example. For this application I have used the Microsoft .NET framework, writing code in C# with the examples [...]]]></description>
			<content:encoded><![CDATA[<p>In this blog I will discuss Kohonen self organizing maps (SOM), and how it could be applied to process engineering problems. I will also illustrate its use with a typical example, and then with a process engineering example. For this application I have used the Microsoft .NET framework, writing code in C# with the examples having Silverlight frontends. This blog will be focussed on the concept and application, rather the details on exactly how it is programmed. To follow first is short overview of what SOM&#8217;s are, a broader explanation can be found on <a href="http://en.wikipedia.org/wiki/Self-organizing_map">Wikipedia</a>.</p>
<p><span id="more-28"></span><strong>Purpose and uses of SOM&#8217;s</strong><br />
SOM&#8217;s are types of artificial intelligence methods to organize and  reduce high dimensionality of data to the level it can be used to visualize the it and make decisions. When configured and trained, SOM&#8217;s can have several uses to tackle challenges in specifically metallurgical and chemical processes that are not always that easy to model:</p>
<ul>
<li><em>Model the process:</em> The complete vector in the SOM can be found closest to the partial input vector, therefore predicting the unknown elements. In this case, the SOM has to be trained using complete vectors of historical data.</li>
<li><em>Categorization:</em> The SOM will be organized into regions with distinctive element values, indicating specific operating conditions. When an input vector is feed into the SOM it will find the closest vector in the SOM and visually indicate the operating region.</li>
<li><em>Generate random data:</em> A less common use of SOM is to generate data with values distributed according to the input data. For example, it is required to get a list of chemical compositions where the values of components vary between certain values, and only for certain values of other components, and some chemical compositions are available to train a SOM.</li>
<li><em>Fault finding: </em>It might be possible to find a fault occurring that are related to certain conditions in other process variables which are not that obvious. Creating a SOM with all the data will arrange it and might indicate the regions where combinations of certain process conditions occured with the fault. This can also be used just find the cause of some condition in a process variable, rather than a fault.</li>
</ul>
<p><strong>Definition</strong><br />
SOM&#8217;s are usually mapped in a two-dimensional grid of nodes, where each node contains a vector of same dimension as the high-dimensional data input data. The number of nodes in the maps can be any amount, depending on the resolution and accuracy required. After training, the grid will be arranged into  regions representing different conditions in the data vectors. This shows that SOM&#8217;s can therefore also be used for cause-effect type analyses through visual interpretation of the trained SOM.</p>
<p>To illustrate this more clearly, the following shows the typical layout of a SOM in two dimensions. Firstly the grid of the entire map (5 x 5 here) shows the row and column index of each node, then the vectors with values are shown for each node.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://3.bp.blogspot.com/_-DNqN_ZwhkQ/TNUZy6tYmDI/AAAAAAAAADE/M5RQfkcYa9U/s1600/Grid+1.png"><img src="http://3.bp.blogspot.com/_-DNqN_ZwhkQ/TNUZy6tYmDI/AAAAAAAAADE/M5RQfkcYa9U/s400/Grid+1.png" border="0" alt="" width="400" height="290" /></a></div>
<p>For training, the map is initialized with vectors of random but typical values, and then iteratively trained using one training vector at a time. In the training process, the vector closest to the training point is found and adjusted, together with the surrounding nodes, to be closer to the training value. This means that each value in the vector is manipulated, while the neighborhood radius of surrounding nodes decreases as training progresses, as well as the training rate.</p>
<p>After training then, the map would have been organized into region of vectors with related values. If, for example, the SOM is trained to model plant operating conditions, certain regions in the SOM would represent vectors where the values of one or more elements is significantly different and indicating specific operating conditions.</p>
<p><strong>Basic example</strong><br />
One of the most basic examples of SOM&#8217;s is that of a grid of vectors each of length 2, representing an X and Y coordinate plotted on a chart. Each point plotted is connected with a line to the points of all 4 of its neighbours&#8217; in the grid.  The SOM is initialized with random values and when first plotted it&#8217;s a mess with points and lines. As the SOM is trained (also with random values) the points move around, and also their neighbours get moved closer. After training a neat grid has been obtained, and all the nodes have been de-tangled.</p>
<p>The example is shown in the frame below, and requires of your browser to have Microsoft Silverlight installed, which can be done by following the plug-in information displayed in its place below. This application can also be installed by right clicking on it, and selecting the installation option. You can start, stop, and reset the training of the example SOM. Starting it would begin execution of 5000 steps, and resetting it would randomize the vector values. Each node is plotted as a circle on a canvas, with the coordinates of X and Y values in the vector, and the color changed from white to blue depending on the euclidean distance to the neighbor vectors (white the lowest distance).</p>
<iframe frameborder="0" height="210" scrolling="auto" src="http://www.algoness.co.za/Blog/SOM_XY/SilverlightSOMSimpleXYTestPage.html" width="100%"></iframe>
<p>Below is a static image of what the example above could look like after training.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://2.bp.blogspot.com/_-DNqN_ZwhkQ/TNWm7WyFr5I/AAAAAAAAADY/hOtkP3gHRBE/s1600/Example+1.png"><img src="http://2.bp.blogspot.com/_-DNqN_ZwhkQ/TNWm7WyFr5I/AAAAAAAAADY/hOtkP3gHRBE/s200/Example+1.png" border="0" alt="" width="200" height="139" /></a></div>
<p><strong>Higher dimension example</strong><br />
Another typical example is that of defining vectors of length 3 and translating it to colors. For example, let&#8217;s consider a smelting process where the three points represent the mass percentages of three slag species, say SiO2, CaO and MgO.  Historical operational data is available, like that shown in the following table, representing typical slag compositions that has been obtained. Our vector might also be longer, containing values of say, metal tonnage produced, and energy consumption. If we create a SOM and train it with the historical data we would get a tool with which we can categorize new slag compositions, or model unknown values in the vector. The SOM itself would contain organized vectors and of a much higher resolution as the input data.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://3.bp.blogspot.com/_-DNqN_ZwhkQ/TNV6zwtKSqI/AAAAAAAAADI/EpwmI3jA_vc/s1600/Grid+2.png"><img src="http://3.bp.blogspot.com/_-DNqN_ZwhkQ/TNV6zwtKSqI/AAAAAAAAADI/EpwmI3jA_vc/s1600/Grid+2.png" border="0" alt="" /></a></div>
<p>Because the vector is of length 3, we can translate each value to a new value between 0 and 255 to create a new vector of red, green, and blue. This means that in our example nodes depicting high SiO2 content would be more red, and more green nodes for higher CaO, etc. The SOM is initialized with random values for each node, and then iteratively trained with our historical data. While the SOM is trained, one can observe how the nodes&#8217; values changes and grouped into regions of specific colors.</p>
<p>This example was again applied in a Silverlight application below, which can started, stopped, and reset. A difference of note from the previous example is that the SOM grid is now toroidal, meaning that the outer edges are connected when considering each node&#8217;s neighbours.</p>
<iframe frameborder="0" height="210" scrolling="auto" src="http://www.algoness.co.za/Blog/SOM_RGB/SilverlightSOM_XYZTestPage.html" width="100%"></iframe>
<p>Below is a static image of what the example above could look like after training.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://2.bp.blogspot.com/_-DNqN_ZwhkQ/TNWmhUmmbjI/AAAAAAAAADU/x_P44dlwhJU/s1600/Example+1.png"><img src="http://2.bp.blogspot.com/_-DNqN_ZwhkQ/TNWmhUmmbjI/AAAAAAAAADU/x_P44dlwhJU/s200/Example+1.png" border="0" alt="" width="200" height="151" /></a></div>
<p><strong>U-map display</strong><br />
A way to visualize the higher dimensional data, is by means of what is called a U-map. This in essence shows the euclidean distance between each node and its neighbors. A U-map created from the previous example is shown below. The darker blue colors shows larger distances from its neighbors, having some values in the vectors that are significantly different. The darker blue lines are therefore outlines depicting specific regions.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TNWj62bVh2I/AAAAAAAAADM/IwFDHzpTgwU/s1600/UMAP+1.png"><img src="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TNWj62bVh2I/AAAAAAAAADM/IwFDHzpTgwU/s200/UMAP+1.png" border="0" alt="" width="200" height="198" /></a></div>
<p>It is also of use to create U-maps of each variable in the the vector of each node. This is illustrated below was done for our example earlier. White indicates the lowest value of each variable, and blue the highest value. It is possible in this case to observe for the low values in CaO (white) the MgO is high (blue), and visa versa.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://1.bp.blogspot.com/_-DNqN_ZwhkQ/TNWkCmxA-qI/AAAAAAAAADQ/0B6MS2yLnqU/s1600/UMAP+2.png"><img src="http://1.bp.blogspot.com/_-DNqN_ZwhkQ/TNWkCmxA-qI/AAAAAAAAADQ/0B6MS2yLnqU/s640/UMAP+2.png" border="0" alt="" width="640" height="248" /></a></div>
<p><strong>Conclusion</strong><br />
To conclude, it was illustrated what SOM&#8217;s are and how it could be applied to process engineering applications. However, as with any type of artificial intelligence the user of this technology should have a deep understanding of how it works and what is does. It is very risky to use any type of artificial intelligence without  this level of understanding.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.algoness.co.za/kohonen-organizing-maps-process-applications-silverlight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Finite difference heat transfer analyses in Excel</title>
		<link>http://www.algoness.co.za/finite-difference-analyses-excel/</link>
		<comments>http://www.algoness.co.za/finite-difference-analyses-excel/#comments</comments>
		<pubDate>Sat, 30 Oct 2010 17:41:28 +0000</pubDate>
		<dc:creator>jacques.muller</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[FEA]]></category>
		<category><![CDATA[Heat transfer]]></category>

		<guid isPermaLink="false">http://www.algoness.co.za/?p=26</guid>
		<description><![CDATA[In this first blog (after the hello world one) I&#8217;m tackling something I&#8217;ve been wanting to do for some time now. That is setting up and solving a simple heat transfer  problem using the finite difference (FDM) in MS Excel. The aim is to solve the steady-state temperature distribution through a rectangular body, by dividing [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: justify;">
<p>In this first blog (after the hello world one) I&#8217;m tackling something I&#8217;ve been wanting to do for some time now. That is setting up and solving a simple heat transfer  problem using the finite difference (FDM) in MS Excel. The aim is to solve the steady-state temperature distribution through a rectangular body, by dividing it up into nodes and solving the necessary equations only in two dimensions. I&#8217;m going to illustrate a simple one-dimensional heat flow example, followed two-dimensional heat flow example, all programmed into Excel.</p>
<p>Finite difference analyses (FDA&#8217;s) are generally performed to predict the values of physical properties at discrete points throughout a body. In the case of a stationary body where heat transfer is primary phenomena, the temperature could be determined throughout as a function of heating or cooling on the boundaries, and the physical properties (heat transfer coefficient) of the material.</p>
</div>
<div style="text-align: justify;">
<p><span id="more-26"></span>By definition, the FDM refers to a method for the numerical solution of differential equations. The solution to the solving the FDA as a whole that is described here is more methodological, relying rather on Excel&#8217;s ability to solve iterative loops, than performing matrix algebra.</p>
</div>
<div style="text-align: justify;">
<p><strong>Purpose</strong></p>
<p><strong> </strong>Now why would I use Excel for FDM&#8217;s? There are primarily two reasons, and defines the purpose of this post:</p>
</div>
<div style="text-align: justify;">1. Firstly, this helps to illustrates the basic concepts of the FDM, and someone following this should at the end have be able to apply the same principles in any other programming platform, and for problems other than simple heat transfer.</div>
<div style="text-align: justify;">2. Secondly, certain aspects of some problems that extend beyond simple heat transfer are sometimes challenging to solve using available FDM or related software. An example of this could be a system where a material chemically reacts as a function of the composition and temperature in each node, and the chemical reactions need to be modelled using third party software. Although not the most efficient, Excel still remains a fairly flexible platform allowing for integration with many other software components.</div>
<p>Using Excel for to perform a finite difference analysis (FDA) does however have is its downsides. The system will be greatly simplified, and in the simplest form, the domain is only defined with fixed sized nodes being rectangular in shape.</p>
<p><strong>Definition</strong></p>
<div style="text-align: justify;">
<div style="margin: 0px;">To start off with the solution, the partial differential equation of the governing phenomena needs to be defined, in this case heat transfer. To arrive at the PDE, Fourier&#8217;s law is considered that defines that the negative of the gradient of temperature and area perpendicular to the direction heat is flowing. In one-dimensional form heat flux through a node is:</div>
</div>
<div style="text-align: justify;">
<div class="separator" style="clear: both; text-align: center; margin: 0px;"><a style="margin-left: 1em; margin-right: 1em;" href="http://1.bp.blogspot.com/_-DNqN_ZwhkQ/TMveKaAuYJI/AAAAAAAAABs/TB07Airbiks/s1600/eq+1.png"><img style="cursor: move;" src="http://1.bp.blogspot.com/_-DNqN_ZwhkQ/TMveKaAuYJI/AAAAAAAAABs/TB07Airbiks/s1600/eq+1.png" border="0" alt="" /></a></div>
<div style="margin: 0px;">where q is the heat flux (W/m2),  T is the temperature (Kelvin) at a node through which heat is flowing, and k is the conductivity (W/mK) of the material through which heat is flowing.</div>
<div style="margin: 0px;"><strong>1D Heat Transfer</strong></div>
<div style="margin: 0px;">The body for the temperature distribution which needs to be solved is broken up into a number of finite elements, or nodes, as illustrated below. Consider the node numbered x somewhere inside the body. The node to the left is numbered x-1, and to the right is x+1.</div>
</div>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TMwTJwN6UfI/AAAAAAAAACI/ycznBJ61uYE/s1600/domain+1.png"><img src="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TMwTJwN6UfI/AAAAAAAAACI/ycznBJ61uYE/s640/domain+1.png" border="0" alt="" width="640" height="88" /></a></div>
<div style="text-align: justify;">
<p>Heat is flowing through it in the x direction, and because we are only considering the steady state at the moment, the heat flux over the left boundary should be equal to the heat flux over the right boundary. Or in general, the heat flux into the node should be the heat flux out of the node.</p>
<p>The heat balance for the node x can be written as follows, discretized, and reduced to a single equation for the temperature of node x as function of the temperatures to the left and right:</p>
</div>
<div style="text-align: justify;">
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://3.bp.blogspot.com/_-DNqN_ZwhkQ/TMvkoXZePdI/AAAAAAAAACE/USCM_GrSNIQ/s1600/eq+2.png"><img src="http://3.bp.blogspot.com/_-DNqN_ZwhkQ/TMvkoXZePdI/AAAAAAAAACE/USCM_GrSNIQ/s1600/eq+2.png" border="0" alt="" /></a></div>
<p><strong>Boundary conditions</strong><br />
The above sections covered nodes inside the body, but the nodes on the boundaries need different equations to be solved. For illustration, the problem was defined to have convective heat transfer (cooling) on the left side with a heat transfer coefficient of 5 W/m2K, and have a fixed temperature of 1600°C on the right side. The temperature equation for first node can be derived defining the heat flux into the first node as a function of the heat transfer coefficient:</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://1.bp.blogspot.com/_-DNqN_ZwhkQ/TMwV9baIfeI/AAAAAAAAACM/z9dKrk2VyQ4/s1600/eq+3.png"><img src="http://1.bp.blogspot.com/_-DNqN_ZwhkQ/TMwV9baIfeI/AAAAAAAAACM/z9dKrk2VyQ4/s1600/eq+3.png" border="0" alt="" /></a></div>
<p><strong>Application in Excel</strong><br />
The next step is to program these equations into Excel and model the temperature profile in one dimension. The following two pictures show how to setup the solution, and then firstly how to enter the equations for node 0, and then the equations for nodes 1 to 8. Node 9 is simply given the value of 1600.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TMwYYuKNpBI/AAAAAAAAACQ/tOHiHk7MsZw/s1600/excel+1.png"><img src="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TMwYYuKNpBI/AAAAAAAAACQ/tOHiHk7MsZw/s640/excel+1.png" border="0" alt="" width="640" height="266" /></a></div>
<div class="separator" style="clear: both; text-align: center;"></div>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://3.bp.blogspot.com/_-DNqN_ZwhkQ/TMwY6Et26YI/AAAAAAAAACU/_bNUViNI1Z0/s1600/excel+2.png"><img src="http://3.bp.blogspot.com/_-DNqN_ZwhkQ/TMwY6Et26YI/AAAAAAAAACU/_bNUViNI1Z0/s640/excel+2.png" border="0" alt="" width="640" height="268" /></a></div>
<p>The above is then all that&#8217;s required to have Excel solve the heat transfer for our body. Ensure just that &#8220;iterative calculations&#8221; are enabled in the Excel options, and press F9 until the values in cells does not change anymore. To enhance the display of the results, the colors of the cells can be conditionally formatted to the value in the cells:</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TMwaPgWV3YI/AAAAAAAAACY/p_hzuENp48s/s1600/excel+3.png"><img src="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TMwaPgWV3YI/AAAAAAAAACY/p_hzuENp48s/s640/excel+3.png" border="0" alt="" width="640" height="268" /></a></div>
<p>&nbsp;</p>
<p><strong>2D Example</strong><br />
The principles illustrated above in one dimension, can now simply be applied for two dimensions. The following illustrates our example domain. It is a square body, with a fixed temperature at the bottom, convective heat transfer at the top, no heat transfer in the x-direction on the right, and a heat loss value in the x-direction on the left.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://2.bp.blogspot.com/_-DNqN_ZwhkQ/TMxnmtA8L1I/AAAAAAAAAC8/dgTLYL4cF3Q/s1600/domain+2.png"><img src="http://2.bp.blogspot.com/_-DNqN_ZwhkQ/TMxnmtA8L1I/AAAAAAAAAC8/dgTLYL4cF3Q/s320/domain+2.png" border="0" alt="" width="320" height="197" /></a></div>
<p><strong>General internal node</strong><br />
The domain is now divided into nodes in both the x- and y-directions, and the first step is to derive the temperature equation of a general internal node taking into account the heat fluxes in both directions. To follow is the equation that will be programmed for any node not on the boundary:</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://1.bp.blogspot.com/_-DNqN_ZwhkQ/TMwhHgGePxI/AAAAAAAAACk/IAHms_SaRPg/s1600/eq+4.png"><img src="http://1.bp.blogspot.com/_-DNqN_ZwhkQ/TMwhHgGePxI/AAAAAAAAACk/IAHms_SaRPg/s320/eq+4.png" border="0" alt="" width="320" height="150" /></a></div>
<p><strong><br />
</strong><br />
<strong>Right boundary with no x-direction heat flux</strong><br />
The temperature equations for the nodes on the right boundary is very similar to the internal nodes, except starting off that the qx is zero:</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://3.bp.blogspot.com/_-DNqN_ZwhkQ/TMwhnmr9DgI/AAAAAAAAACo/10ny8NvyisA/s1600/eq+5.png"><img src="http://3.bp.blogspot.com/_-DNqN_ZwhkQ/TMwhnmr9DgI/AAAAAAAAACo/10ny8NvyisA/s1600/eq+5.png" border="0" alt="" /></a></div>
<p><strong>Left boundary with heat flux</strong><br />
The left boundary has a heat flux of -5000W in the x-direction, and the temperature equation can again be derived for all the nodes on the left boundary:</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TMxQVkMubnI/AAAAAAAAACs/sYL-kcXEv6E/s1600/eq+6.png"><img src="http://4.bp.blogspot.com/_-DNqN_ZwhkQ/TMxQVkMubnI/AAAAAAAAACs/sYL-kcXEv6E/s1600/eq+6.png" border="0" alt="" /></a></div>
<p><strong>Top boundary with convective heat transfer</strong><br />
Finally the temperature equation is derived for nodes on the top boundary, including a term for convective heat transfer to the top:</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://3.bp.blogspot.com/_-DNqN_ZwhkQ/TMxjDTic3-I/AAAAAAAAACw/WV_EHhtFM-s/s1600/eq+7.png"><img src="http://3.bp.blogspot.com/_-DNqN_ZwhkQ/TMxjDTic3-I/AAAAAAAAACw/WV_EHhtFM-s/s400/eq+7.png" border="0" alt="" width="400" height="160" /></a></div>
<p><strong>Application in Excel</strong><br />
The above temperature equations define the temperature to be calculated for the boundary nodes, and the nodes on the inside, which could now be programmed into Excel. The equations are programmed for each cell as before, but part of an IF-statement linked to a cell with a TRUE or FALSE value. If the value is TRUE then the formula will be executed, else the value of the cell will be an arbitrary value (in this case 100). This is reset the iterative loops should an error occur and propagate to all cells.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://2.bp.blogspot.com/_-DNqN_ZwhkQ/TMxkZnYnX5I/AAAAAAAAAC0/IX6RseuMWs8/s1600/excel+4.png"><img src="http://2.bp.blogspot.com/_-DNqN_ZwhkQ/TMxkZnYnX5I/AAAAAAAAAC0/IX6RseuMWs8/s640/excel+4.png" border="0" alt="" width="640" height="447" /></a></div>
<p>The results above can be interpreted considering the colors provided by the conditional formatting. The warmer colors at the bottom show the body is hotter because of the high fixed temperature, and colder to the top due to the convective cooling. It is also cooler to the left due to the negative heat flux in the x-direction (heat loss to the left).</p>
<p><strong>Next steps</strong><br />
This simple example of heat transfer should provide an understanding of the principles to derive and apply the governing equations to perform a FDA. This could now be extended to mass transfer in the same way, and instead of heat flux the mass rate could be modelled using the Navier Stokes equations as basis. Furthermore, chemical reaction in each node could be computed producing another energy source (or sink) term for the heat transfer equations. On the application side, countour plots can be added of the property matrix, and also XY plots of the flux or property value at sections or on the boundaries of the body.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.algoness.co.za/finite-difference-analyses-excel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hello world</title>
		<link>http://www.algoness.co.za/world/</link>
		<comments>http://www.algoness.co.za/world/#comments</comments>
		<pubDate>Thu, 28 Oct 2010 17:40:24 +0000</pubDate>
		<dc:creator>jacques.muller</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.algoness.co.za/?p=23</guid>
		<description><![CDATA[This is the first post on the algoNess blog! Through this we will be sharing interesting thoughts relating to algoNess&#8217;s mission, illustrating how to apply engineering principles and methodologies in a way to assist decision makers. The focus will always be on following well thought through solutions that are applied as simple as possible. Thank [...]]]></description>
			<content:encoded><![CDATA[<p>This is the first post on the algoNess blog!</p>
<p>Through this we will be sharing interesting thoughts relating to algoNess&#8217;s mission, illustrating how to apply engineering principles and methodologies in a way to assist decision makers. The focus will always be on following well thought through solutions that are applied as simple as possible.</p>
<p>Thank you for taking interest in this blog, and we would like to encourage anyone reading it to participate by sharing your comments, recommendations, and questions. Suggestions on solving interesting challenges you are facing are also always welcome.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.algoness.co.za/world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

