<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Solvengineer Blog</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/" />
    <link rel="self" type="application/atom+xml" href="http://solvengineer.com/blog/atom.xml" />
   <id>tag:solvengineer.com,2008:/blog/1</id>
    <link rel="service.post" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1" title="Solvengineer Blog" />
    <updated>2008-06-01T15:15:48Z</updated>
    <subtitle>News, articles, tips in the fields of technology, with a focus on engineering and scientific computing.
Visit our parent site at http://www.solvengineer.com.
</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.2ysb5-20051201</generator>
 
<entry>
    <title>A new solvengineer.com application: Vector View!</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2008/06/a_new_solvengineercom_applicat.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=19" title="A new solvengineer.com application: Vector View!" />
    <id>tag:solvengineer.com,2008:/blog//1.19</id>
    
    <published>2008-06-01T14:07:11Z</published>
    <updated>2008-06-01T15:15:48Z</updated>
    
    <summary>How many times did you wish there was an easy way to visualize a bunch of vectors that you calculated, but had no idea if your numbers were correct? Maybe not that many, but I sure do need something like...</summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[<p>How many times did you wish there was an easy way to visualize a bunch of vectors that you calculated, but had no idea if your numbers were correct? Maybe not that many, but I sure do need something like that in my work.</p><p>So I created a little applet, <a title="Vector View" href="http://www.solvengineer.com/vectorview.html" target="_blank">Vector View</a>. Since I don't know Java, I used <a href="http://www.processing.org" target="_blank"><em>Processing</em></a>, a freeware development environment that outputs Java code. Read more about <em>Processing</em> <a href="http://solvengineer.com/blog/2007/06/freeware_programming_language.html" target="_blank">here</a>.</p><p>&nbsp;Give <a title="Vector View" href="http://www.solvengineer.com/vectorview.html" target="_blank">Vector View</a> a try and let me know how it works out for you!<br /></p>]]>
        
    </content>
</entry>
<entry>
    <title>Why I don&apos;t  *really* need Internet on my phone</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2008/03/why_i_dont_really_need_interne.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=18" title="Why I don't  *really* need Internet on my phone" />
    <id>tag:solvengineer.com,2008:/blog//1.18</id>
    
    <published>2008-03-18T02:17:50Z</published>
    <updated>2008-03-18T02:33:05Z</updated>
    
    <summary><![CDATA[Recently I bought an used Blackberry off Ebay. I was planning to use it amongst others for browsing on my At&amp;T generic data plan. But, surprise surprise, Blackberries can go online only through the Blackberry Data Plan, the cheapest variant...]]></summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[<p>Recently I bought an used Blackberry off Ebay. I was planning to use it amongst others for browsing on my At&amp;T generic data plan. But, surprise surprise, Blackberries can go online only through the Blackberry Data Plan, the cheapest variant of which is 30 dollars per month. I was paying at the time only 10 dollars per month for a Media basic plan that included one megabyte of data per month. The browsing I was doing was infrequent and it involved mainly checking the weather, news, occasional frustrating attempts to get maps or directions, and checking my email.</p><p>&nbsp;</p><p>I was really set to get my 7280 to go online, and for a while I was hanging onto threads of hope from&nbsp; websites like <a target="_blank" href="http://blackberryfaq.com/index.php/Main_Page">blackberryfaq.com</a> . It seems it is possible to get at least some Crackberries to go online on a generic data plan. But trying out all their tutorials, countless resets and forages into the deepest features under the wrench icon yielded no result. The third party browser Opera mini (the phone's browser icon refused to appear), could not connect to the Internet. I was undecided whether to fork out the extra 20 dollars per month, so I started looking for alternatives. First, checking email via SMS. I found a free service called <a target="_blank" href="https://www2.teleflip.com/">teleflip.com</a> which, when tied to an email address, will send incoming emails to the phone as text messages. Only mail coming from addresses added to a list is forwarded to the phone, and you can reply via text to these people. The service is fairly easy to set up and overall user friendly. You will need to give them your password. I made an email account just for this purpose, and set up filters in gmail to forward emails coming from certain addresses to the &quot;phone account&quot;.</p><p>&nbsp;Encouraged by my success in setting up email exchanges through SMS, I googled a way to get other information services via the same method. And Google itself came to the rescue, with its <a target="_blank" href="http://www.google.com/intl/en_us/mobile/sms/">SMS</a> service.</p><p>Most of the information one would need on his or her phone can be accessed by texting a Google number with a query. Weather, directions, dictionary, translation, business listings and much more...Google will text you right back with the answer. The web page shows how to format the outgoing message via examples.</p><p>Needless to say I cancelled my media plan and switch to an SMS plan, saving 5 dollars per month in the process&nbsp; :)<br /></p><p>&nbsp;</p><a title="Digg This" target="_blank" href="http://digg.com/submit?url=http://solvengineer.com/blog/2008/03/why_i_dont_really_need_interne.html&amp;title=Why I don't need Internet on my Phone&amp;media=news&amp;topic=internet">Digg This!<br /></a><p>&nbsp;</p>]]>
        
    </content>
</entry>
<entry>
    <title>STL to DXF Batch Converter - free software</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2008/03/stl_to_dxf_batch_converter.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=17" title="STL to DXF Batch Converter - free software" />
    <id>tag:solvengineer.com,2008:/blog//1.17</id>
    
    <published>2008-03-09T03:38:25Z</published>
    <updated>2008-03-09T04:09:31Z</updated>
    
    <summary><![CDATA[I created an Excel VBA Macro that converts Stereolitography STL files (ASCII format) into AutoCAD DXF files (again, ASCII format). It can convert multiple files in a single run.You can find the program in the solvengineer.com Codes page.&nbsp;A free and...]]></summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[<p>I created an Excel VBA Macro that converts <a href="http://people.scs.fsu.edu/~burkardt/data/stla/stla.html" target="_blank">Stereolitography STL files</a> (ASCII format) into <a href="http://en.wikipedia.org/wiki/AutoCAD_DXF">AutoCAD DXF</a> files (again, ASCII format). It can convert multiple files in a single run.<br /></p><p>You can find the program in the <a href="http://www.solvengineer.com/codes.html" target="_blank">solvengineer.com Codes page.&nbsp;</a></p><p>A free and easy way to create STL files is to build a model in <a href="http://sketchup.google.com/" target="_blank">Google Sketchup</a> and export it to an STL file via an&nbsp; <a href="http://www.ohyeahcad.com/download/index.php" target="_blank">STL export plugin. </a></p><p>You can download a free DXF viewer, EDrawings 2008, <a href="http://www.solidworks.com/pages/programs/eDrawings/e2_register.html?CFID=23059401&amp;CFTOKEN=92224229" target="_blank">here</a>.&nbsp;</p><p>&nbsp;Enjoy!</p><p>&nbsp;</p><p><a href="http://digg.com/submit?url=http://solvengineer.com/blog/2008/03/stl_to_dxf_batch_converter.html&amp;title=STL to DXF Batch COnverter&amp;media=news&amp;topic=software" target="_blank">Digg This!&nbsp;</a></p>]]>
        
    </content>
</entry>
<entry>
    <title>Light Sport Aircraft Entry Cessna  162 Skycatcher versus the Cessna 150/152</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2008/03/lsa_entry_cessna_162_skycatche.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=16" title="Light Sport Aircraft Entry Cessna  162 Skycatcher versus the Cessna 150/152" />
    <id>tag:solvengineer.com,2008:/blog//1.16</id>
    
    <published>2008-03-02T17:02:29Z</published>
    <updated>2008-03-04T00:16:37Z</updated>
    
    <summary><![CDATA[ I'm really looking forward to this Sport Pilot thing to take off, pun intended. I've always wanted to fly, took lessons numerous times,&nbsp;and in one occasion made it past the solo stage. But lack of money, need to relocate...]]></summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[  <p>I'm really looking forward to this Sport Pilot thing to take off, pun intended. I've always wanted to fly, took lessons numerous times,&nbsp;and in one occasion made it past the solo stage. But lack of money, need to relocate and other issues always thwarted my dream of getting my Private Pilot's License.</p>  <p>But the PPL requires a big commitment in terms of time and money.&nbsp; And some of the skill sets you are required to demonstrate proficiency in during the check-ride I am confident I wouldn't be&nbsp;applying during the first few years after I get the license. That is, I would be content to, for a while, just fly around in a small airplane sightseeing and landing at airports near my home base. </p>  <p>This kind of flying is what the <a href="http://www.aopa.org/members/files/fars/far-61.html#14:2.0.1.1.2.10" target="_blank">Sport Pilot</a> license was created to promote. Right now, although there is a healthy variety of aircraft that qualify under the <a href="http://www.aopa.org/whatsnew/regulatory/sport_rule.pdf" target="_blank">Sport Aircraft rule</a>, not all <a href="http://www.sportpilot.org/instructors/index.html" target="_blank">flight schools</a> are offering this type of training on the menu. </p>  <p>&nbsp;</p>  <p>But one can still plan and try to get informed, and knowing as much as possible about the aircraft choices available should one embark on the Sport Pilot journey is of paramount importance. Most offerings come from small and relatively unknown companies, many based in Europe where their products have been flying for a while. That is because operating costs for general aviation are much higher in the Old World than here in the US, which creates a market for cheap, unsophisticated aircraft.</p>  <p>The biggest and most respected manufacturer of trainers in the US, Cessna, has decided to enter what it see as a lucrative market and announced the imminent addition of an LSA aircraft to its stable, the <a href="http://se.cessna.com/skycatcher/" target="_blank">Cessna 162 SkyCatcher</a>. The prototype is slated to fly this year.</p>  <p>In number and looks, the aircraft appears to be an update to the venerable <a href="http://en.wikipedia.org/wiki/Cessna_152" target="_blank">Cessna 152</a>, a widely used trainer in which I had the pleasure of getting about forty hours of dual instruction and solo flying.</p>  <p>I'm going to compare the two aircraft based on the specifications published on the Cessna website and a 1976 <a href="http://en.wikipedia.org/wiki/Cessna_150" target="_blank">Cessna 150</a> POH that I have around the house. The 150 was the predecessor of the 152, and since it is a more basic aircraft, I believe it is closer to the Sport Pilot limits than the Cessna 152.&nbsp; &nbsp; </p>  <p>The biggest difference is the Maximum Gross Weight. The 150 comes in at a 'hefty' 1600lb&nbsp;while the 162 weighs only 1320lb...which not coincidentally is the maximum gross weight allowed for Sport Pilot aircraft. While obviously this is just a regulatory number, and it is likely that the 162 can fly at a higher gross weight, it turns out that the SkyCatcher is truthfully about 300 pounds lighter than the 150 Commuter, if we compare the empty weights: 830 pounds versus 1104.</p>  <p>&nbsp;</p>  <p>This is definitely good news, since both aircraft use variations of the same engine, the Teledyne O200 rated at 100BHP. In terms of performance, the 162 beats the 150 in both cruise speed and rate of climb. In terms of range, the 162 again beats the 150. The 162 has 24 gallons of usable fuel while the 150 only has 22.5, with the option of adding long range tanks for a total of 35 gallons. At the same time, the useful load of the 162 is only slightly less than that of the 150, 490lbs vs. 496lbs.</p>  <p>The Cessna 162 SkyCatcher is equipped for day and night VFR flying, and sports a glass cockpit with two displays.&nbsp; No doubt some of the weight savings that allows this airplane to outperform its ancestor came from the instrument panel, and part of that was realized through technological advances, and the rest through sheer simplicity. After all, a Light Sport aircraft does not need to be IFR certified :)</p>  <p>&nbsp;</p>  <p>Let's hope that the SkyCatcher is as sturdy as the 152. I've made some pretty bad landings in that little plane, and it stayed in one piece. In fact, there is a version of the 152, called the Aerobat , which has been certified for aerobatic flying.</p>  <p>I'm looking forward to reading the specs on production 162s and I hope they will not change, because right now it seems Cessna has a winner in their stable.&nbsp;</p>  <p>&nbsp;</p><p><a href="http://digg.com/submit?url=http://solvengineer.com/blog/2008/03/lsa_entry_cessna_162_skycatche.html&amp;title=Cessna 162&amp;bodytext=LSA Cessna 162 vs. Cessna 150&amp;media=news&amp;topic=#educational" target="_blank">&nbsp;Digg This!</a><br /></p><a target="_blank" href="  &lt;script src=&quot;http://digg.com/tools/diggthis.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;"><br /></a><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p>]]>
        
    </content>
</entry>
<entry>
    <title>LEGO Digital Designer, or how to relive your childhood</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2008/02/lego_digital_designer_or_how_t.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=15" title="LEGO Digital Designer, or how to relive your childhood" />
    <id>tag:solvengineer.com,2008:/blog//1.15</id>
    
    <published>2008-02-20T02:02:25Z</published>
    <updated>2008-02-20T02:21:54Z</updated>
    
    <summary><![CDATA[This is a neat free software that allows you to build a LEGO model on your computer, from a library of parts. Apparently you can then&nbsp; send it to LEGO and buy it, but the model I built had some...]]></summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[<p>This is a <a href="http://ldd.lego.com/" target="_blank">neat free software</a> that allows you to build a LEGO model on your computer, from a library of parts. Apparently you can then&nbsp; send it to LEGO and buy it, but the model I built had some parts that they didn't have, so I couldn't check that feature.</p><p>&nbsp;</p><p>The program automaticaly generates a building guide that helps you build the model in real space, if you buy the parts.</p><p>It's really fun to use and the part library is quite extensive. At the same time, the interface can be frustrating at times, and as the model gets bigger the frame rate when moving parts around or when navigating gets a bit choppy.&nbsp;</p><p>&nbsp;Check out the WW2 Navy Fighter I built. It has folding wings, retractable landing gear and moving contrrol surfaces. Lego is sure missing out by not leting me upload this great model to their library ;)</p><p>&nbsp;</p><p><a href="http://img179.imageshack.us/img179/7177/lddscreenshot1lw8.png" target="_blank"><img width="300" border="0" align="middle" src="http://img179.imageshack.us/img179/7177/lddscreenshot1lw8.png" /></a>&nbsp;</p><a href="http://img412.imageshack.us/img412/8431/lddscreenshot2xg1.png" target="_blank"><img width="300" border="0" align="middle" src="http://img412.imageshack.us/img412/8431/lddscreenshot2xg1.png" /></a><br /><p>&nbsp;</p><p>&nbsp;</p><a href="http://img412.imageshack.us/img412/5428/lddscreenshot3rd5.png" target="_blank"><img width="300" border="0" align="middle" src="http://img412.imageshack.us/img412/5428/lddscreenshot3rd5.png" /></a>]]>
        
    </content>
</entry>
<entry>
    <title>Freeware programming language - IDE alert: &apos;Processing&apos;</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2007/06/freeware_programming_language.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=13" title="Freeware programming language - IDE alert: 'Processing'" />
    <id>tag:solvengineer.com,2007:/blog//1.13</id>
    
    <published>2007-06-13T02:44:24Z</published>
    <updated>2007-06-13T02:44:29Z</updated>
    
    <summary><![CDATA[Well, boys and girls, it is almost bed time. I know I haven't posted in a while, but life's been pretty busy - in a rewarding way - lately.&nbsp;And in order to manage life's challenges in a more efficient manner,...]]></summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[<p>Well, boys and girls, it is almost bed time. I know I haven't posted in a while, but life's been pretty busy - in a rewarding way - lately.</p><p>&nbsp;</p><p>And in order to manage life's challenges in a more efficient manner, your favourite engineer has been looking for an user friendly programming language geared towards creating&nbsp; graphically-rich web applets. A free download. That goes without saying.<br /></p><p>&nbsp;</p><p>And seems like we found it! It's called 'processing' and in essence it is a simplified version of Java. But one that includesa rich library of drawing and scripting functions, and lots of tools to make your life easier, like optional simplified programming mode, where each instruction is immediately executed and&nbsp; simplified or full featured 2d and 3d drawing modes.</p><p>&nbsp;</p><p>Get it at <a href="http://www.processing.org">www.processing.org&nbsp;</a></p><p>Disclaimer: This is a spur of the moment post, driven by thee xcitement of finding this gem.&nbsp;</p><p>As I play more with this I will let ya'all know how good it really is.<br /></p><p>&nbsp;</p>]]>
        
    </content>
</entry>
<entry>
    <title>myspacesecondlife</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2007/04/myspacesecondlife.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=12" title="myspacesecondlife" />
    <id>tag:solvengineer.com,2007:/blog//1.12</id>
    
    <published>2007-04-29T22:25:41Z</published>
    <updated>2007-04-29T22:25:50Z</updated>
    
    <summary>What happens when you don&apos;t have a great idea of your own?Take two successful ventures and put them together. A social networking site with a virtual reality world tacked to it? Hey...everyone is talking about Second Life, Sweden even has...</summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[<p>What happens when you don't have a great idea of your own?</p><p>Take two successful ventures and put them together. A social networking site with a virtual reality world tacked to it? Hey...everyone is talking about Second Life, Sweden even has an embassy there.</p><p>And EVERYONE has a Myspace. Let's make a myspace WITH a 3D world!</p><p>This wil surely get all the people who like both Myspace and Second Life to come to <a href="http://www.kaneva.com">www.kaneva.com</a></p><p>&nbsp;</p><p>Very kanieving...........but.....I can smell the lawsuits coming.<br /> </p><p><br /></p><p>&nbsp;</p>]]>
        
    </content>
</entry>
<entry>
    <title>The roadable aircraft for the masses has arrived.</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2007/04/the_roadable_aircraft_for_the.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=11" title="The roadable aircraft for the masses has arrived." />
    <id>tag:solvengineer.com,2007:/blog//1.11</id>
    
    <published>2007-04-23T15:17:45Z</published>
    <updated>2007-04-23T15:23:17Z</updated>
    
    <summary><![CDATA[....as a homebuilder kit right now, with the aircraft being cathegorized as experimental by the FAA.&nbsp;...and it's a flying single seat motorcycle(3 wheeled), not a flying car.Also, it's an autogyro, not an aeroplane...but that's even better because it can take-off...]]></summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[<p>....as a homebuilder kit right now, with the aircraft being cathegorized as experimental by the FAA.<br /></p><p>&nbsp;</p><p>...and it's a flying single seat motorcycle(3 wheeled), not a flying car.Also, it's an autogyro, not an aeroplane...but that's even better because it can take-off and land with very short rollouts. Take-off and landing distance is less than 200 feet. best thing....the rotor folds, so it fits easily in your garage!</p><p>&nbsp;<img width="204" height="111" border="0" align="middle" title="scycycle" alt="scycycle" src="http://www.thebutterflyllc.com/sscycle/images/012.jpg" /><br /></p><br /><p>&nbsp;</p><p>This beautiful contraption is called the <a title="sky cycle" href="http://www.thebutterflyllc.com/sscycle/sscycle.htm">Super Sky Cycle</a> and comes from a company called The <a title="b" href="http://www.thebutterflyllc.com/">Butterfly LLC</a>. They have other gyroplanes available, but the Sky Cycle is the only one that is currently roadable. As in you can get it licensed as a motorcycle and ride to work in it. </p><p>The engine can engage the two rear wheels for a highway speed of up to 55mph. Airspeed is said to be over 100mph. This is not lightning fast, but plenty for commuting and pleasure flying.<br /></p><p>An enclosed composite body is in the works, which would make this truly practical for the road, especially if you plan on riding into anything other than a typical Florida day.</p><p>&nbsp;</p><p>Autogyros(also known as gyroplanes), although they look like helicopters, function on a different principle: The rotor is spun&nbsp; by incoming air, so some forward speed is needed to fly. For landing, it usually comes in at an angle, then flares, like a helicopter does when autorotating.The engine controls a propeller that generates forward speed.<br /> </p><p>&nbsp;</p>There were autogyros that had the rotor connect to the engine for brief periods, thus allowing vertical take-offs and landings. However, I believe in this case it would make the whole design very complicated and too heavy, because the engine already connects to the transaxle for road usage<p>&nbsp;</p><p>Best of luck to The Butterfly LLC and we're waiting to see even more roadable models, and maybe certified, production aircraft as well!</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;<br /></p>]]>
        
    </content>
</entry>
<entry>
    <title>&apos;Rip &apos; graphs from anywhere - very useful free tool for scientists and engineers (via lifehacker.com)</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2007/04/rip_graphs_from_anywhere_very.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=10" title="'Rip ' graphs from anywhere - very useful free tool for scientists and engineers (via lifehacker.com)" />
    <id>tag:solvengineer.com,2007:/blog//1.10</id>
    
    <published>2007-04-19T18:51:13Z</published>
    <updated>2007-04-19T18:51:13Z</updated>
    
    <summary>The freeware Engauge Digitizer can extract graphs from common image formats such as BMP, GIF, JPEG, PNG, XPM and export data to Excel, Open Office Calc, Matlab, gnuplot and Mathematica.Perfect if you want to use that data graph in a...</summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[<p>The freeware <a href="http://digitizer.sourceforge.net/" target="_blank" title="engauge">Engauge Digitizer</a> can extract graphs from common image formats such as BMP, GIF, JPEG, PNG, XPM and export data to Excel, Open Office Calc, Matlab, gnuplot and Mathematica.</p><p>Perfect if you want to use that data graph in a book, paper or PDF file for your own project! No more having to manually extract data points from a curve.</p><p>This one is a keeper folks.&nbsp;</p>]]>
        
    </content>
</entry>
<entry>
    <title>Photographs Converted to 3D models (via www.gizmag.com)</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2007/04/photographs_converted_to_3d_mo.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=9" title="Photographs Converted to 3D models (via www.gizmag.com)" />
    <id>tag:solvengineer.com,2007:/blog//1.9</id>
    
    <published>2007-04-19T17:20:32Z</published>
    <updated>2007-04-19T17:22:12Z</updated>
    
    <summary>This ranks high up in the cool factor if is true. A company called fotowoosh claims to have developed an algorithm to estimate depth in photographs and to transform said photographs into 3d models.They have some animations on their site...</summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[<p>This ranks high up in the cool factor if is true. A company called <a title="fotowoosh" target="_blank" href="http://fotowoosh.com">fotowoosh</a> claims to have developed an algorithm to estimate depth in photographs and to transform said photographs into 3d models.</p><p>They have some animations on their site showing walkthrough 'inside' a photo and I must admit that the result is stunning.</p><p>&nbsp;</p><p>The website doesn't state one way or another, but I have a feeling the algorithm is not fully automatic. I believe the user is prompted to select the correct perspective from various 3D outcomes&nbsp; the algorithm generates. </p><p>As you know, it takes two eyes -2 2D dimensional images - to create perspective in your brain. Fotowoosh would work with only one image, so they lack some information needed to figure out the distance of objects in the photo. The algorithm somehow figures that out by analyzing 'lines' in the photo to determine where objects meet the ground , and also using the horizon somehow as a baseline - although I did see on their website converted indoor photos where no horizon was visible. It also relies on 'training images' - probably images manually converted to 3D.<br /></p><p>In any case, if you've seen those optical illusion illustrations where an object appears alternatively to be a solid brick or a missing brick like <a title="illusion" href="http://hlavolamy.szm.sk/images/sex-en.gif">this one</a>, sometimes even the brain can be fooled when translating a 2D image to 3D. So a computer algorithm would encounter that issue much more often, being that it lacks the power of interpretation based on prior knowledge that humans have.</p><p>&nbsp;</p><p>That's why I think the algorithm cannot fully come up with a 3D model on its own. we'll have towait and see.</p><p>You can sign up for the fotowoosh beta on their website.&nbsp;</p>]]>
        
    </content>
</entry>
<entry>
    <title>Cool WW2 Cutaway  Site</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2007/04/cool_ww2_cutaway_site.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=7" title="Cool WW2 Cutaway  Site" />
    <id>tag:solvengineer.com,2007:/blog//1.7</id>
    
    <published>2007-04-13T17:07:59Z</published>
    <updated>2007-04-13T17:07:59Z</updated>
    
    <summary>I forgot to mention in the intron on the site that I am also a WW2 buff. Mainly air combat, but also technology of the era in general.And this site, which I found mentioned in makezine.com, has cutaway drawings of...</summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[<p>I forgot to mention in the intron on the site that I am also a WW2 buff. Mainly air combat, but also technology of the era in general.</p><p>And <a href="http://www.cyber-heritage.co.uk/cutaway/" title="cut">this site</a>, which I found mentioned in makezine.com, has cutaway drawings of all kinds of military mechanical monsters from the second world war. So now you can see how everything works!<br /></p><p>&nbsp;</p>]]>
        
    </content>
</entry>
<entry>
    <title>Lifting Body Revival</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2007/04/lifting_body_revival.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=6" title="Lifting Body Revival" />
    <id>tag:solvengineer.com,2007:/blog//1.6</id>
    
    <published>2007-04-13T15:48:11Z</published>
    <updated>2007-04-17T17:01:03Z</updated>
    
    <summary>Among the alt.space companies - small private companies that strive to provide cheap(er) commercial access to space - Spacedev stands out because they are planning to build a lifting body design upper stage based on the NASA Langley 1980s potential...</summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[<p>Among the alt.space companies - small private companies that strive to provide cheap(er) commercial access to space - <a href="http://www.spacedev.com/newsite/templates/homepage.php?pid=2" title="Spacedev">Spacedev</a> stands out because they are planning to build a lifting body design upper stage based on the NASA Langley 1980s potential Shuttle complement Space Transportation System (but thought of a athreat to the Shuttle and thus cancelled...aaarrgh politics suck) <a href="http://www.astronautix.com/craft/hl20.htm" title="HL-20">HL-20</a>. </p><p>Aptly named the <a href="http://www.spacedev.com/newsite/templates/subpage2_article.php?pid=542&amp;subNav=11&amp;subSel=3&amp;subNav=11&amp;subSel=3" title="Dreamchaser">Dreamchaser,</a> the reusable craft might be launched into orbit, according to <a href="http://www.spacedev.com/newsite/templates/subpage_article.php?pid=602" title="announcement">a recent announcement</a>,&nbsp; atop the Atlas V rocket developed by the United Launch Alliance. Talk about anachronisms. An 80s spacecraft flying atop a 60s rocket, hopefully in the 20-teens. Yes, I know the Atlas has evolved over these 5 decades and is almost nothing like the converted ICBM that put the first American in orbit.<br />But still...</p><p>&nbsp;</p><p>For those interested in <a href="http://www.astronautix.com/project/nasgbody.htm" title="lb">lifting bodies</a> and their advantages versus the capsule design currently favored by NASA and most Commercial Access To Space (COTS) providers, this <a href="http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19940032752_1994032752.pdf" title="paper">paper</a> which describes the RTLS (return to launch site) abort modes for the HL20 should provide a not so fascinating read.</p><p>But since I used it for a presentation during an optimization class in college, I think everyone should read it! :)&nbsp;</p>]]>
        
    </content>
</entry>
<entry>
    <title>A simple tutorial on recursion</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2007/03/a_simple_tutorial_on_recursion.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=5" title="A simple tutorial on recursion" />
    <id>tag:solvengineer.com,2007:/blog//1.5</id>
    
    <published>2007-03-31T16:42:06Z</published>
    <updated>2007-04-17T17:16:09Z</updated>
    
    <summary> One of the neatest tricks for avoiding unnecessary &apos;for&apos; or &apos;while&apos; loops in your program is using a function recursively. Engineers and Scientists without a computer science background usually rely on simple iterative techniques in their codes. But sometimes...</summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[  <p><span style="font-size: 14pt; color: black">One of the neatest tricks for avoiding unnecessary 'for' or 'while' loops in your program is using a function recursively. </span></p><p><span style="font-size: 14pt; color: black">Engineers and Scientists without a computer science background usually rely on simple iterative techniques in their codes. But sometimes we end up with a bunch of nested loops that make the program very slow in execution and cumbersome to debug. Using recursion is an elegant way to avoid loops when an operation is performed iteratively.<br /></span></p><p><span style="font-size: 14pt; color: black">Here's how it works: Basically a function calls itself from inside. The call is made only if a condition is satisfied...otherwise you will have an infinite series of instances of the same function running inside eachother, the coding equivalent of an image in an image in an image.......</span></p>  <p><span style="font-size: 14pt; color: black">Here is a simple C example, using recursion to raise a number to a certain power. </span></p>  <p><span style="font-size: 14pt; color: black">//the function declaration. x is the number to be raised, lim is the power, cur is the current power.(explained below):</span></p>  <p><span style="font-size: 14pt; color: black">int power(int x,int lim,int cur)</span></p>  <p><span style="font-size: 14pt; color: black">&nbsp;</span></p>  <p><span style="font-size: 14pt; color: black">{if (cur&lt;lim)</span></p>  <p><span style="font-size: 14pt; color: black">&nbsp;</span></p>  <p><span style="font-size: 14pt; color: black">//if the current power is less than the set power, x is multiplied with another call of the power function, with the current power incremented by one:</span></p>  <p><span style="font-size: 14pt; color: black">&nbsp;</span></p>  <p><span style="font-size: 14pt; color: black">return x*power(x,lim,cur+1);</span></p>  <p><span style="font-size: 14pt; color: black">else</span></p>  <p><span style="font-size: 14pt; color: black">return x;</span></p>  <p><span style="font-size: 14pt; color: black">//if the desired power has been reached, the function simply returns x...then exits. the previous function also exits, and so on, until we are back in the main program. </span></p>  <p><span style="font-size: 14pt; color: black">} </span></p>  <p><span style="font-size: 14pt; color: black">&nbsp;</span></p>  <p><span style="font-size: 14pt; color: black">main()</span></p>  <p><span style="font-size: 14pt; color: black">{</span></p>  <p><span style="font-size: 14pt; color: black">//note that the first 'cur' value is 1...the next one will be 2...last one will be 3. 3^3 is 27 and that's what the function will return</span></p>  <p><span style="font-size: 14pt; color: black">raised=power(3,3,1);</span></p>  <p><span style="font-size: 14pt; color: black">printf(&quot;%d&quot;, raised);</span></p>  <p><span style="font-size: 14pt; color: black">&nbsp;</span></p>  <p><span style="font-size: 14pt; color: black">}<span>&nbsp; </span></span></p>  <p><span style="font-size: 14pt; color: black">&nbsp;</span></p>  <p><span style="font-size: 14pt; color: black">&nbsp;</span></p>    <p><span style="font-size: 14pt; color: black">Yes, I know there already exists a power function in every language and the above algorithm is going in a very roundabout way to solve a simple arithmetic operation.&nbsp;<img border="0" title="Tongue out" alt="Tongue out" src="http://solvengineer.com/blog-mt/mt-static/plugins/TinyMCE/jscripts/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif" /> However, this example is the simplest way to illustrate the use of recursion in a program.<br />For a more complex problem that can be solved through the use of recursive functions, see the <a href="http://en.wikipedia.org/wiki/Travelling_salesman_problem">traveling salesman problem.</a></span></p>  <p><a href="http://technorati.com/claim/7yrvxqcgr"><span style="font-size: 14pt; color: black"><span><br /></span></span></a></p><br />]]>
        
    </content>
</entry>
<entry>
    <title>Free Scientific Computing Magazine!</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2007/03/free_scientific_computing_maga.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=4" title="Free Scientific Computing Magazine!" />
    <id>tag:solvengineer.com,2007:/blog//1.4</id>
    
    <published>2007-03-26T18:28:15Z</published>
    <updated>2007-03-26T18:29:17Z</updated>
    
    <summary><![CDATA[Who doesn't like free stuff? Well, I know I do!&nbsp;The folks at Scientific Computing Magazine offer free subscriptions to the paper version of their magazine (website http://www.scientific-computing.com) to qualified entities. It took a while to get my first copy, but...]]></summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[<p>Who doesn't like free stuff? Well, I know I do!</p><p>&nbsp;</p><p>The folks at Scientific Computing Magazine offer free subscriptions to the paper version of their magazine (website http://www.scientific-computing.com) to qualified entities. It took a while to get my first copy, but hey, it was free. The content is great, on a par with any other computing, scientific or engineering magazine out there. The topics covered are quite diverse, but this particular issue seemed to focus on a lot of chemistry packages.</p><p>&nbsp;</p><p><a href="http://www.scientific-computing.com/subscribe.html" title="Subscribe">Subscribe</a> here and if you qualify you can expect the first issue of the magazine to arrive in a few months. <br /></p>]]>
        
    </content>
</entry>
<entry>
    <title>A programming tutorial and a peek inside the programmer&apos;s mind....</title>
    <link rel="alternate" type="text/html" href="http://solvengineer.com/blog/2006/12/a_programming_tutorial_and_a_peek_inside_the_programmers_mind.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://solvengineer.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=3" title="A programming tutorial and a peek inside the programmer's mind...." />
    <id>tag:solvengineer.com,2006:/blog//1.3</id>
    
    <published>2006-12-27T01:38:26Z</published>
    <updated>2007-01-02T18:37:14Z</updated>
    
    <summary>This blog will show how I create a program. I tried to put down the thought process as I wrote the code.This Scilab program will calculate the shear forces distributed to a fastener pattern by a load in the same...</summary>
    <author>
        <name>solvengineer</name>
        
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://solvengineer.com/blog/">
        <![CDATA[<p>This blog will show how I create a program. I tried to put down the thought process as I wrote the code.</p><p>This Scilab program will calculate the shear forces distributed to a fastener pattern by a load in the same plan as the fasteners, but whose location can be different from the location of the centroid of the fastener pattern. Direct shear and axial loads are distributed only as a function of the fastener material and diameter, not the fastener location.</p><p>The moment resulting from the eccentricity of the applied force and any applied couple moments are also distributed to the fasteners as shear forces.</p>&nbsp;The theory behind the solution of such problems can be found in many books or articles. <p>To start, I pasted the 'Moments of Inertia' code into Scilab because it has a similar structure to what I am trying to accomplish. I went through the variables initialization and input section of the older program and changed names and erased or new variables as needed to fit the current problem.</p><p>Sometimes I realize I need more variables and I have to revisit this section of the code. Rather than comment a lot, I make the variable names as suggestive as possible. I believe it helps people who read this code not to have to refer to comments all the time.</p><p>Here is the code in its first iteration. Let&rsquo;s see if this works:</p><p>____________________________________________________________________________________________</p><p>fasteners=evstr(input(&quot;Number of fasteners?&quot;));</p><p>x=zeros(10);</p><p>y=zeros(10);</p><p>diam=zeros(10);</p><p>ShearU=zeros(10);</p><p>area=zeros(10);</p><p>DiamSq=zeros(10);</p><p>DiamSqX=zeros(10);</p><p>DiamSqY=zeros(10);</p><p>rSquare=zeros(10);</p><p>SumShearUrSquare=0;</p><p>ShearUr=zeros(10);</p><p>ShearUr2=zeros(10);</p><p>ShearX=zeros(10);</p><p>ShearY=zeros(10);</p><p>ShearMomentX=zeros(10);</p><p>ShearMomentY=zeros(10);</p><p>SumDiamSq=0;</p><p>SumDiamSqX=0;</p><p>SumDiamSqY=0;</p><p>Xcentroid=0;</p><p>Ycentroid=0;</p><p>SumSU=0;</p><p>Mreaction=0;</p><p>Preaction=0;</p><p>Vreacgtion=0;</p><p>P=evstr(input(&quot;Axial Force Component?&quot;));</p><p>V=evstr(input(&quot;Shear Force Component?&quot;));</p><p>forcex=(input(&quot;X location of force?&quot;));</p><p>forcey=(input(&quot;Y location of force?&quot;));</p><p>for i=1:fasteners</p><p>printf(&quot;for fastener %d \n&quot;,i);</p><p>x(i)=evstr(input(&quot;Input x coordinate of fastener center&quot;));</p><p>y(i)=evstr(input(&quot;Input y coordinate of fastener center&quot;));</p><p>diam(i)=evstr(input(&quot;Input diameter of fastener&quot;));</p><p>ShearU(i)=evstr(input(&quot;Input Ultimate Shear Strength of fastener&quot;));</p>&nbsp;<br /><p>The variables needed to calculate the centroid will be computed during this cycle as well.</p>&nbsp;<br /><p>DiamSq(i)=diam(i)^2;</p><p>DiamSqX(i)=DiamSq(i)*x(i);</p><p>DiamSqY(i)=DiamSq(i)*y(i);</p>&nbsp;<br /><p>As these variables are calculated, they are added to summing variables</p>&nbsp;<br /><p>SumDiamSq=SumDiamSq+DiamSq(i);</p><p>SumDiamSqX=SumDiamSqX+DiamSqX(i);</p><p>SumDiamSqY=SumDiamSqY+DiamSqY(i);</p>&nbsp;<br /><p>Reviewing the formulas, we see that the sum of the ultimate shear strengths is needed to distribute the shear and axial loads to the fasteners. </p>&nbsp;<br /><p>SumSU=SumSU+ShearU(i);</p><p>end</p>&nbsp;<br /><p>At the end of this first for cycle we have enough information to calculate the position of the centroid.</p>&nbsp;<br /><p>Xcentroid=SumDiamSqX/SumDiamSq;</p><p>Ycentroid=SumDiamSqY/SumDiamSq;</p>&nbsp;<br /><p>Another 'for' cycle is needed to calculate auxiliary variables used to distribute the shear forces to each fastener. r is the position vector from the centroid to each fastener.</p><p>for i=1:fasteners</p><p>rSquare(i)=(x(i)-Xcentroid)^2+(y(i)-Ycentroid)^2;</p>&nbsp;<br /><p>the products of the ultimate shear strength and r squared will also have to be summed. Quite a lot of boring coding here :)</p>&nbsp;<br /><p>SumShearUrSquare=SumShearUrSquare+rSquare(i)*ShearU(i);</p><p>end</p>&nbsp;<br /><p>The eccentricity of the applied load will generate a reaction moment at the centroid of the fastener pattern. Also, the force components will reverse direction (these are forces and moments transmitted to fasteners).</p><p>A little thinking here: if the problem were solved by hand, we could assume positive directions for forces and moments. They would be drawn as arrows on the FBD, and if calculations gave negative results the direction of the arrows on the FBD would be reversed. The program cannot see the FBD, thus we need to keep the sign until the very end. Also, any moment computation will have to be done through the cross product of the force and moment vectors.</p><p>First we need to determine the shear and axial forces at the centroid of the fastener pattern, and the moment generated by the eccentricity of the applied load. For the moment, the right hand rule convention is used, going into the 'board' (or clockwise).</p><p>Not being able to infer right away which sign to place on the variables V and P to get the correct direction for the reaction moment, I used an example problem in the book and set the signs to give me the same result.</p>&nbsp;<br /><p>Mreaction=V*(forcex-Xcentroid)+P*(forcey-Ycentroid);</p><p>Preaction=-P;</p><p>Vreaction=-V;</p>&nbsp;<br /><p>Now we can finally distribute these loads to the fasteners! Note that the sign of the forces will have to be AGAIN reversed to show forces acting ON the fasteners. Rather unnecessary, but hey, I'm just following the book. A better approach might be to have a clear idea of the solution BEFORE you start coding. I prefer to get directly to the program, rather than draw flowcharts or write pseudocode.</p>&nbsp;<br /><p>for i=1:fasteners</p><p>ShearX(i)=-Preaction*ShearU(i)/SumSU;</p><p>ShearY(i)=-Vreaction*ShearU(i)/SumSU;</p>&nbsp;<br /><p>For the moment created fastener shear forces, we have to again make sure that the sign we assign to each variable will generate a forces pointing in the correct direction according to the direction of the moment at the centroid of the pattern. We can do that by visually inspecting an example problem already worked by hand.</p>&nbsp;<br /><p>ShearMomentX(i)=-Mreaction*ShearU(i)*(y(i)-Ycentroid)/SumShearUrSquare;</p><p>ShearMomentY(i)=Mreaction*ShearU(i)*(x(i)-Xcentroid)/SumShearUrSquare;</p>&nbsp;<br /><p>The X and Y components from the direct forces and the moment are summed and the results displayed</p>&nbsp;<br /><p>ShearX(i)=ShearX(i)+ShearMomentX(i);</p><p>ShearY(i)=ShearY(i)+ShearMomentY(i);</p><p>printf('Fastener %d incurs a horizontal shear force of %f and a vertical shear force of %f\n',i,ShearX(i),ShearY(i));</p><p>end</p>&nbsp;___________________________________________________________________________________________<br /><p>To correct for syntax errors...I just run the program and make changes until I get no errors. This is the first stage of debugging. The second stage will be to compare the results with 'the book' and make more changes as needed. The code might change, sometimes significantly, so I will paste it here again. Scilab is case sensitive....this might take some time.</p><p>Once all the syntax errors have been corrected and we're actually getting results, it's time for phase two of the debugging process: making sure the values we get are correct.</p><p>For that we will use a solved example problem and see if we get the same results as the solved example used for reference.</p><p>And here is the final result, which yields correct values for the distributed shear forces on each fastener. This is final iteration will go into the program library at <a href="http://www.solvengineer.com/codes.html">http://www.solvengineer.com/codes.html</a></p><p>Scroll down to the end to see how the code was debugged.</p><p>___________________________________________________________________________________________&nbsp;<br /></p><p>fasteners=evstr(input(&quot;Number of fasteners?&quot;));</p><p>x=zeros(10);</p><p>y=zeros(10);</p><p>diam=zeros(10);</p><p>ShearU=zeros(10);</p><p>area=zeros(10);</p><p>DiamSq=zeros(10);</p><p>DiamSqX=zeros(10);</p><p>DiamSqY=zeros(10);</p><p>rSquare=zeros(10);</p><p>SumShearUrSquare=0;</p><p>ShearUr=zeros(10);</p><p>ShearUr2=zeros(10);</p><p>ShearX=zeros(10);</p><p>ShearY=zeros(10);</p><p>ShearMomentX=zeros(10);</p><p>ShearMomentY=zeros(10);</p><p>SumDiamSq=0;</p><p>SumDiamSqX=0;</p><p>SumDiamSqY=0;</p><p>Xcentroid=0;</p><p>Ycentroid=0;</p><p>SumSU=0;</p><p>Mreaction=0;</p><p>Preaction=0;</p><p>Vreacgtion=0;</p><p>AppliedMoment=0;</p><p>P=evstr(input(&quot;Axial Force Component?&quot;));</p><p>V=evstr(input(&quot;Shear Force Component?&quot;));</p><p>forcex=evstr(input(&quot;X location of force?&quot;));</p><p>forcey=evstr(input(&quot;Y location of force?&quot;));</p><p>AppliedMoment=evstr(input(&quot;Applied Moment? (Right Hand Rule sign convention going in is positive)&quot;));</p><p>for i=1:fasteners</p><p>printf(&quot;for fastener %d \n&quot;,i);</p><p>x(i)=evstr(input(&quot;Input x coordinate of fastener center&quot;));</p><p>y(i)=evstr(input(&quot;Input y coordinate of fastener center&quot;));</p><p>diam(i)=evstr(input(&quot;Input diameter of fastener&quot;));</p><p>ShearU(i)=evstr(input(&quot;Input Ultimate Shear Strength of fastener&quot;));</p><p>DiamSq(i)=diam(i)^2;</p><p>DiamSqX(i)=DiamSq(i)*x(i);</p><p>DiamSqY(i)=DiamSq(i)*y(i);</p><p>SumDiamSq=SumDiamSq+DiamSq(i);</p><p>SumDiamSqX=SumDiamSqX+DiamSqX(i);</p><p>SumDiamSqY=SumDiamSqY+DiamSqY(i);</p><p>SumSU=SumSU+ShearU(i);</p><p>end</p><p>Xcentroid=SumDiamSqX/SumDiamSq;</p><p>Ycentroid=SumDiamSqY/SumDiamSq;</p><p>for i=1:fasteners</p><p>rSquare(i)=(x(i)-Xcentroid)^2+(y(i)-Ycentroid)^2;</p><p>SumShearUrSquare=SumShearUrSquare+rSquare(i)*ShearU(i);</p><p>end</p><p>Mreaction=-P*(forcey-Ycentroid)+V*(forcex-Xcentroid)-AppliedMoment;</p><p>Preaction=-P;</p><p>Vreaction=-V;</p><p>for i=1:fasteners</p><p>ShearX(i)=-Preaction*ShearU(i)/SumSU;</p><p>ShearY(i)=-Vreaction*ShearU(i)/SumSU;</p><p>ShearMomentX(i)=-Mreaction*ShearU(i)*(y(i)-Ycentroid)/SumShearUrSquare;</p><p>ShearMomentY(i)=Mreaction*ShearU(i)*(x(i)-Xcentroid)/SumShearUrSquare;</p><p>printf(&quot;Fastener %d incurs an axial force (horizontal load component) of %f\n&quot;,i,ShearX(i)); </p><p>ShearX(i)=ShearX(i)+ShearMomentX(i);</p><p>printf(&quot;Fastener %d incurs a shear force (vertical load component) of %f\n&quot;,i,ShearY(i));</p><p>ShearY(i)=ShearY(i)+ShearMomentY(i);</p><p>printf(&quot;Fastener %d incurs a horizontal load from the centroid moment of %f and a vertical load from the centroid moment of %f\n&quot;,i,ShearMomentX(i),ShearMomentY(i));</p><p>printf('Fastener %d incurs a horizontal shear force of %f and a vertical shear force of %f\n',i,ShearX(i),ShearY(i));</p><p>end</p><p>printf(&quot;Fastener %d incurs an axial force (horizontal load component) of %f\n&quot;,i,ShearX(i)); </p><p>ShearX(i)=ShearX(i)+ShearMomentX(i);</p><p>printf(&quot;Fastener %d incurs a shear force (vertical load component) of %f\n&quot;,i,ShearY(i));</p><p>ShearY(i)=ShearY(i)+ShearMomentY(i);</p><p>printf(&quot;Fastener %d incurs a horizontal load from the centroid moment of %f and a vertical load from the centroid moment of %f\n&quot;,i,ShearMomentX(i),ShearMomentY(i));</p><p>printf('Fastener %d incurs a horizontal shear force of %f and a vertical shear force of %f\n',i,ShearX(i),ShearY(i));</p><p>end</p>____________________________________________________________________________________________&nbsp;<br /><p>After all the syntax error have been corrected, we run the program&nbsp;again and compare the&nbsp;fastener shear forces&nbsp;with the results from a solved problem. Unfortunately,&nbsp;our results are WRONG! Not a big surprise, that's what happens 99 times out of 100. Let's start fixing.</p><p>Running the program again we discover that the fastener forces from the horizontal and vertical loads (P and V) are correct. This means the moment at the centroid has not been distributed correctly to the fastener pattern.</p><p>First we need to verify if the sign of the moment-distributed loads is correct. Comparing the first fastener with the known results shows both the horizontal and vertical components are reversed.</p><p>This might give us a starting point in debugging the coded moment equations! However, the magnitudes are also incorrect so most likely there are multiple errors in the program.</p><p>An easy way to determine if at least the computed moment at the centroid is correct is to run the program again and find out the value of the moment from the command line (no need to load the code with displaying even more variables who are not needed)</p><p>The reaction moment - remember, this has the opposite sign as the moment generating the loads in the fasteners, is found to have the opposite sign as we established by the RHR, and is different in magnitude as well.</p><p>Mreaction=V*(forcex-Xcentroid)+P*(forcey-Ycentroid);</p><p>Looking at the formula, it seems X centroid and Y centroid have been miscalculated somehow. We can find their values easily from the command line. But it turns out Xcentroid and Ycentroid are correct.....&nbsp;<br /></p><p>So much for an easy fix :P We need to go over the way Mreaction was calculated again. We try to match the formula shown in the hand calculation of<span>&nbsp; </span>M reaction, keeping in mind that the distances between the applied loads and the centroid might be negative numbers. If we get the formula right for this instance, it will work for any case. (hopefully).No, for real. You can verify yourselves.</p><p>Looks like we made a mistake the first time. Let's try this: Mreaction=-P*(forcey-Ycentroid)+V*(forcex-Xcentroid);.</p><p>Running the program again, we finally get the right results. Further testing is necessary to ensure this program works for all cases. In order to make the program apply to more real-life situations, we are going to add a couple moment to the applied forces.</p>The changes in the code should be miminal: AppliedMoment=evstr(input(&quot;Applied Moment? (Right Hand Rule sign convention going in is positive)&quot;)); <p>When we calculate the reaction moment the AppliedMoment will be added with a negative sign. Mreaction=-P*(forcey-Ycentroid)+V*(forcex-Xcentroid)-AppliedMoment; based on the RHR convention established.</p>Testing on yet another solved problem yields the correct answers! <p>Note: this program assumed that the direct axial and shear loads are distributed equally among similar fasteners (the only differences resulting from the different ultimate strengths), regardless of their position. In more realistic analysis scenarios, outer fasteners on a splice joint would be loaded more than the inner fasteners.</p><span>I hope this blog will help the scientific programmer understand some of the basics of solving real-world problems using the greatest automation tool ever created, the computer.</span>]]>
        
    </content>
</entry>

</feed> 

