<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://ascend4.org/index.php?action=history&amp;feed=atom&amp;title=Thin-walled_tank%2FBuilding_complex_models</id>
	<title>Thin-walled tank/Building complex models - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://ascend4.org/index.php?action=history&amp;feed=atom&amp;title=Thin-walled_tank%2FBuilding_complex_models"/>
	<link rel="alternate" type="text/html" href="https://ascend4.org/index.php?title=Thin-walled_tank/Building_complex_models&amp;action=history"/>
	<updated>2026-05-03T20:33:28Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://ascend4.org/index.php?title=Thin-walled_tank/Building_complex_models&amp;diff=3468&amp;oldid=prev</id>
		<title>SreenathaB: /* Partitioning our thin-walled tank model */</title>
		<link rel="alternate" type="text/html" href="https://ascend4.org/index.php?title=Thin-walled_tank/Building_complex_models&amp;diff=3468&amp;oldid=prev"/>
		<updated>2012-04-04T16:05:50Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Partitioning our thin-walled tank model&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:05, 4 April 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l41&quot;&gt;Line 41:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 41:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;END tank_end;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;END tank_end;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Debugging this model should be relatively simple.  There are only two variables and one equation relating them.  We can immediately see that the area should be 3.1416 m^2 when the diameter is &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;1 &lt;/del&gt;m.  We could also change D interactively to 10 m and see if the area becomes 314.16 m^2 to further check it.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Debugging this model should be relatively simple.  There are only two variables and one equation relating them.  We can immediately see that the area should be 3.1416 m^2 when the diameter is &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2 &lt;/ins&gt;m.  We could also change D interactively to 10 m and see if the area becomes 314.16 m^2 to further check it.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A model for the tank side would be:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A model for the tank side would be:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l70&quot;&gt;Line 70:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 70:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Again debugging this model would be very quick.  The area for our test case would be 31.416 m^2.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Again debugging this model would be very quick.  The area for our test case would be 31.416 m^2.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Constructing the whole model from its parts ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Constructing the whole model from its parts ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-3133:rev-3468:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>SreenathaB</name></author>
	</entry>
	<entry>
		<id>https://ascend4.org/index.php?title=Thin-walled_tank/Building_complex_models&amp;diff=3133&amp;oldid=prev</id>
		<title>Jpye: /* Constructing the whole model from its parts */</title>
		<link rel="alternate" type="text/html" href="https://ascend4.org/index.php?title=Thin-walled_tank/Building_complex_models&amp;diff=3133&amp;oldid=prev"/>
		<updated>2011-11-13T11:46:01Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Constructing the whole model from its parts&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:46, 13 November 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l77&quot;&gt;Line 77:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 77:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;a4c&amp;quot;&amp;gt;(* this is file twt0310.a4c *)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;a4c&amp;quot;&amp;gt;(* this is file twt0310.a4c *)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;REQUIRE &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;amp;quot;&lt;/del&gt;atoms.a4l&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;amp;quot;&lt;/del&gt;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;REQUIRE &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/ins&gt;atoms.a4l&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/ins&gt;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;MODEL tank_end;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;MODEL tank_end;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-352:rev-3133:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Jpye</name></author>
	</entry>
	<entry>
		<id>https://ascend4.org/index.php?title=Thin-walled_tank/Building_complex_models&amp;diff=352&amp;oldid=prev</id>
		<title>Jpye at 01:22, 17 May 2010</title>
		<link rel="alternate" type="text/html" href="https://ascend4.org/index.php?title=Thin-walled_tank/Building_complex_models&amp;diff=352&amp;oldid=prev"/>
		<updated>2010-05-17T01:22:12Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 01:22, 17 May 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;div style=&quot;float:right;width:33ex;padding-left:3px;margin-left:10px;margin-bottom:10px;border:solid 2pt grey;background-color: #eee&quot;&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{thinwalled}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;Thin-walled&#039;&#039;&#039; tank tutorial&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;[[Thin-walled_tank|&amp;amp;larr;Return to start]]&amp;lt;/small&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[Thin-walled_tank/Introduction|Introduction]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[Thin-walled_tank/Adding_methods_to_a_model|Adding methods to a model]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[Thin-walled_tank/Arrays|Arrays]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &amp;lt;strong class=&quot;selflink&quot;&amp;gt;Building complex models&amp;lt;/strong&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[Thin-walled_tank/Parameterized_models|Parameterised models]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;See also [[Category:Tutorials|Other tutorials]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/div&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Introduction==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Introduction==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In this part of the tutorial, we show how ASCEND supports &amp;quot;part/whole&amp;quot; modeling to aid the creation of complex models.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In this part of the tutorial, we show how ASCEND supports &amp;quot;part/whole&amp;quot; modeling to aid the creation of complex models.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-94:rev-352:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Jpye</name></author>
	</entry>
	<entry>
		<id>https://ascend4.org/index.php?title=Thin-walled_tank/Building_complex_models&amp;diff=94&amp;oldid=prev</id>
		<title>UploadBot: Restored page from Google Cache, uploaded by John Pye</title>
		<link rel="alternate" type="text/html" href="https://ascend4.org/index.php?title=Thin-walled_tank/Building_complex_models&amp;diff=94&amp;oldid=prev"/>
		<updated>2010-05-13T13:49:24Z</updated>

		<summary type="html">&lt;p&gt;Restored page from Google Cache, uploaded by John Pye&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;div style=&amp;quot;float:right;width:33ex;padding-left:3px;margin-left:10px;margin-bottom:10px;border:solid 2pt grey;background-color: #eee&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Thin-walled&amp;#039;&amp;#039;&amp;#039; tank tutorial&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;[[Thin-walled_tank|&amp;amp;larr;Return to start]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[Thin-walled_tank/Introduction|Introduction]]&lt;br /&gt;
* [[Thin-walled_tank/Adding_methods_to_a_model|Adding methods to a model]]&lt;br /&gt;
* [[Thin-walled_tank/Arrays|Arrays]]&lt;br /&gt;
* &amp;lt;strong class=&amp;quot;selflink&amp;quot;&amp;gt;Building complex models&amp;lt;/strong&amp;gt;&lt;br /&gt;
* [[Thin-walled_tank/Parameterized_models|Parameterised models]]&lt;br /&gt;
&lt;br /&gt;
See also [[Category:Tutorials|Other tutorials]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
In this part of the tutorial, we show how ASCEND supports &amp;quot;part/whole&amp;quot; modeling to aid the creation of complex models.&lt;br /&gt;
&lt;br /&gt;
To understand a complex entity, we typically partition it into a set of interconnected less complex parts, recursively partitioning those parts until we reach relatively simple parts we can understand directly.  As an example, a chemical plant comprises separation units, reaction vessels, tanks, pumps, heat exchangers and so forth interconnected in part by having the outflow of one part be the inflow into another.  We further decompose a separation unit such as a distillation column into trays, a condenser, a reboiler and so forth.&lt;br /&gt;
&lt;br /&gt;
Similarly we can decompose a home into a collection of floors interconnected by stairways.  We further decompose the floors into the rooms and hallways on those floors.  We can also have a heating and air conditioning system, a water distribution system, and an electrical distribution system - mimicking the standard blueprints we often create when planning its construction.  Many of the parts may reference the same item - a faucet, for example, belonging to both a sink in a bathroom and the water distribution system. By referencing them in both parts but declaring them to be the same faucet, we interconnect our parts to construct our home.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Models in ASCEND comprise variables, equations relating those variables, and instances of more complex types.  We interconnect these instances by sharing variables and subparts among them.&lt;br /&gt;
&lt;br /&gt;
Aside from being a natural way to develop models so we can understand them, we gain many other benefits from a part/whole view.  Most importantly, we can debug by first debugging the simple parts, then the more complex parts constructed from them, and so forth.  More esoterically, it turns out that we can make better decisions when solving a complex model if we understand its part/whole construction - e.g., we can solve much faster because we can select pivots that cause substantially less fill when solving the underlying linearized equations for the Newton-based solver we are using.  We can also construct a compiler that is an order of magnitude faster if it can know the model&amp;#039;s part/whole structure.&lt;br /&gt;
&lt;br /&gt;
We shall illustrate the way we can decompose a model into its parts with our &amp;#039;&amp;#039;&amp;#039;thin-walled&amp;#039;&amp;#039;&amp;#039; tank example.  This example is so simple that this decomposition may appear to complicate our modeling life.  Accept this effort only as a way to illustrate the part/whole capabilities of ASCEND.&lt;br /&gt;
&lt;br /&gt;
See also [[Object-oriented_modelling|Object-oriented modeling]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Partitioning our &amp;#039;&amp;#039;&amp;#039;thin-walled&amp;#039;&amp;#039;&amp;#039; tank model ==&lt;br /&gt;
&lt;br /&gt;
We can partition our &amp;#039;&amp;#039;&amp;#039;thin-walled&amp;#039;&amp;#039;&amp;#039; tank into three parts: two ends and a sidewall.  They share a common tank diameter.  A model for an end is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;a4c&amp;quot;&amp;gt;MODEL tank_end;&lt;br /&gt;
    (* variables *)&lt;br /&gt;
    D   IS_A distance;&lt;br /&gt;
&lt;br /&gt;
    A   IS_A area;&lt;br /&gt;
&lt;br /&gt;
    (* equation *)&lt;br /&gt;
    A=3.1416*D^2/4;&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
    METHOD specify;&lt;br /&gt;
        FIX D;&lt;br /&gt;
    END specify;&lt;br /&gt;
&lt;br /&gt;
    METHOD values;&lt;br /&gt;
        D := 1 {m};&lt;br /&gt;
    END values;&lt;br /&gt;
&lt;br /&gt;
END tank_end;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Debugging this model should be relatively simple.  There are only two variables and one equation relating them.  We can immediately see that the area should be 3.1416 m^2 when the diameter is 1 m.  We could also change D interactively to 10 m and see if the area becomes 314.16 m^2 to further check it.&lt;br /&gt;
&lt;br /&gt;
A model for the tank side would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;a4c&amp;quot;&amp;gt;MODEL tank_side;&lt;br /&gt;
    (* variables *)&lt;br /&gt;
&lt;br /&gt;
    D,&lt;br /&gt;
    H   IS_A distance;&lt;br /&gt;
    A   IS_A area;&lt;br /&gt;
&lt;br /&gt;
    (* equation *)&lt;br /&gt;
    A=3.1416*D*H;&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
&lt;br /&gt;
    METHOD specify;&lt;br /&gt;
        FIX D;&lt;br /&gt;
        FIX H;&lt;br /&gt;
&lt;br /&gt;
    END specify;&lt;br /&gt;
    METHOD values;&lt;br /&gt;
        D := 1 {m};&lt;br /&gt;
&lt;br /&gt;
        H := 10 {m};&lt;br /&gt;
    END values;&lt;br /&gt;
END tank_side;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again debugging this model would be very quick.  The area for our test case would be 31.416 m^2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Constructing the whole model from its parts ==&lt;br /&gt;
&lt;br /&gt;
We construct the overall tank model file, including the above two part models, by adding a top level model built of the parts.  We interconnect the parts using ARE_THE_SAME statements to merge shared variables.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;a4c&amp;quot;&amp;gt;(* this is file twt0310.a4c *)&lt;br /&gt;
REQUIRE &amp;amp;quot;atoms.a4l&amp;amp;quot;;&lt;br /&gt;
&lt;br /&gt;
MODEL tank_end;&lt;br /&gt;
    (* variables *)&lt;br /&gt;
    D   IS_A distance;&lt;br /&gt;
    A   IS_A area;&lt;br /&gt;
&lt;br /&gt;
    (* equation *)&lt;br /&gt;
    A=3.1416*D^2/4;&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
&lt;br /&gt;
    METHOD specify;&lt;br /&gt;
        FIX D;&lt;br /&gt;
    END specify;&lt;br /&gt;
&lt;br /&gt;
    METHOD values;&lt;br /&gt;
        D := 1 {m};&lt;br /&gt;
    END values;&lt;br /&gt;
&lt;br /&gt;
END tank_end;&lt;br /&gt;
&lt;br /&gt;
MODEL tank_side;&lt;br /&gt;
    (* variables *)&lt;br /&gt;
    D,&lt;br /&gt;
&lt;br /&gt;
    H   IS_A distance;&lt;br /&gt;
    A   IS_A area;&lt;br /&gt;
&lt;br /&gt;
    (* equation *)&lt;br /&gt;
&lt;br /&gt;
    A=3.1416*D*H;&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
    METHOD specify;&lt;br /&gt;
&lt;br /&gt;
        FIX D;&lt;br /&gt;
        FIX H;&lt;br /&gt;
    END specify;&lt;br /&gt;
&lt;br /&gt;
    METHOD values;&lt;br /&gt;
        D := 1 {m};&lt;br /&gt;
        H := 10 {m};&lt;br /&gt;
&lt;br /&gt;
    END values;&lt;br /&gt;
END tank_side;&lt;br /&gt;
&lt;br /&gt;
MODEL partitioned_thin_walled_tank;&lt;br /&gt;
&lt;br /&gt;
    (* variables *)&lt;br /&gt;
    wall_thickness  IS_A distance;&lt;br /&gt;
    wall_area       IS_A area;&lt;br /&gt;
&lt;br /&gt;
    wall_vol        IS_A volume;&lt;br /&gt;
    metal_density   IS_A mass_density;&lt;br /&gt;
    metal_mass      IS_A mass;&lt;br /&gt;
&lt;br /&gt;
    (* parts *)&lt;br /&gt;
    top,&lt;br /&gt;
    bottom          IS_A tank_end;&lt;br /&gt;
    side            IS_A tank_side;&lt;br /&gt;
&lt;br /&gt;
    (* interconnecting *)&lt;br /&gt;
    top.D,&lt;br /&gt;
    bottom.D,&lt;br /&gt;
    side.D          ARE_THE_SAME;&lt;br /&gt;
&lt;br /&gt;
    (* equations *)&lt;br /&gt;
    wall_area  = top.A + bottom.A + side.A;&lt;br /&gt;
&lt;br /&gt;
    wall_vol   = wall_thickness*wall_area;&lt;br /&gt;
    metal_mass = metal_density*wall_vol;&lt;br /&gt;
&lt;br /&gt;
METHODS&lt;br /&gt;
    METHOD specify;&lt;br /&gt;
        RUN top.specify;     (* fixes diameter *)&lt;br /&gt;
&lt;br /&gt;
        RUN bottom.specify;  (* fixes diameter *)&lt;br /&gt;
        RUN side.specify;    (* fixes diameter and height *)&lt;br /&gt;
&lt;br /&gt;
   (* Note that these three specify methods all FIX the diameter, and&lt;br /&gt;
   these three diameters are the same variable for our model.  There&lt;br /&gt;
   is no harm in setting the same fixed flag to TRUE three times&lt;br /&gt;
   so we have nothing to &amp;amp;quot;touch up&amp;amp;quot; here. Generally, running the&lt;br /&gt;
   specify methods for all the parts will fix some variables we&lt;br /&gt;
&lt;br /&gt;
   will need to unfix or not fix some that we need yet to fix. *)&lt;br /&gt;
        FIX metal_thickness;&lt;br /&gt;
        FIX metal_density;&lt;br /&gt;
        FIX wall_thickness;&lt;br /&gt;
&lt;br /&gt;
    END specify;&lt;br /&gt;
&lt;br /&gt;
    METHOD values;&lt;br /&gt;
        side.D         := 20.0 {cm};&lt;br /&gt;
&lt;br /&gt;
        side.H         := side.D/10.0;&lt;br /&gt;
        wall_thickness := 0.15 {cm};&lt;br /&gt;
&lt;br /&gt;
        metal_density  := 7.85 {g/cm^3};&lt;br /&gt;
    END values;&lt;br /&gt;
&lt;br /&gt;
    METHOD setup;&lt;br /&gt;
&lt;br /&gt;
        RUN specify;&lt;br /&gt;
        RUN values;&lt;br /&gt;
    END setup;&lt;br /&gt;
&lt;br /&gt;
END partitioned_thin_walled_tank;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We see two items related to syntax here that we should highlight.  &lt;br /&gt;
&lt;br /&gt;
First we reference a variable that is inside a part using a &amp;quot;dot&amp;quot; notation; e.g., we refer to the diameter for the top as top.D.  We use the same notation to run a method belonging to a part; e.g., to run the specify METHOD for the bottom, we wrote RUN bottom.specify. This notation recurses; namely, a.b.c refers to c, a variable in part b of part a. &lt;br /&gt;
&lt;br /&gt;
Second, we interconnected our model by declaring variables in the model to be the same variable - an activity we call &amp;quot;merging.&amp;quot;  Here we merged the diameters of the parts by declaring that top.D, bottom.D and side.D are the same variable.  This merging generalizes: we can merge complete parts, not just variables.  We could, were it appropriate, declare the top and bottom to be the same part if we wished with the statement &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;a4c&amp;quot;&amp;gt;top, bottom ARE_THE_SAME;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
&lt;br /&gt;
In this section of the tutorial, we illustrated that ASCEND supports part/whole modeling, a powerful concept for constructing complex models.  Two capabilities are critical for part/whole modeling: (1) that we can build models out of instances of other model types and (2) that we can interconnect those parts when constructing the whole model.&lt;br /&gt;
&lt;br /&gt;
Later in this tutorial we shall introduce two other ways to interconnect parts - through the use of passed parameters and through aliasing.  Using passed parameters is an essential ingredient for improving the sharability of models.  Aliasing decreases compiling times.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Continue with [[Thin-walled_tank/Arrays|the next section, Arrays]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Category:Examples]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>UploadBot</name></author>
	</entry>
</feed>