tag:blogger.com,1999:blog-58228050282918377382017-03-25T11:25:09.579-04:00Various Consequences<a href="http://www.newyorker.com/archive/1962/06/02/1962_06_02_031_TNY_CARDS_000272048">... against so much unfairness of things, various consequences ensued ...</a>Joshua Stultshttp://www.blogger.com/profile/03506970399027046387noreply@blogger.comBlogger309125tag:blogger.com,1999:blog-5822805028291837738.post-76482880202438328692017-03-25T11:19:00.000-04:002017-03-25T11:25:09.615-04:00Innovation, Entropy and Exoplanets<div class="separator" style="clear: both; text-align: center;"><a href="https://2.bp.blogspot.com/-XNrHNwvM1s0/WNaLtRRv5iI/AAAAAAAAC1c/ScWnNthwDBMsr8F9fD_SzuimxQQKicdTwCLcB/s1600/popular-entropy.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="190" src="https://2.bp.blogspot.com/-XNrHNwvM1s0/WNaLtRRv5iI/AAAAAAAAC1c/ScWnNthwDBMsr8F9fD_SzuimxQQKicdTwCLcB/s400/popular-entropy.png" width="400" /></a></div>I enjoy <a href="http://www.shipulski.com/">Shipulski on Design</a> for the short articles on innovation. They are generally not technical at all. I like to think of most of the posts as <i>innovation poetry</i> to put your thoughts along the right lines of effort. <a href="http://www.shipulski.com/2017/03/22/maximize-the-learning-ratio/">This recent post</a> has a huge, interesting technical iceberg riding under the surface though. <br /><blockquote>If you run an experiment where you are 100% sure of the outcome, your learning is zero. You already knew how it would go, so there was no need to run the experiment. The least costly experiment is the one you didn’t have to run, so don’t run experiments when you know how they’ll turn out. If you run an experiment where you are 0% sure of the outcome, your learning is zero. These experiments are like buying a lottery ticket – you learn the number you chose didn’t win, but you learned nothing about how to choose next week’s number. You’re down a dollar, but no smarter.<br /><br />The learning ratio is maximized when energy is minimized (the simplest experiment is run) and probability the experimental results match your hypothesis (expectation) is 50%. In that way, half of the experiments confirm your hypothesis and the other half tell you why your hypothesis was off track.<br /><a href="http://www.shipulski.com/2017/03/22/maximize-the-learning-ratio/">Maximize The Learning Ratio</a></blockquote><br /><a name='more'></a><br />In the very simple case of accepting or rejecting a hypothesis, Shipulski's advice amounts to <a href="https://scholar.google.com/scholar?q=maximum+entropy+sampling">maximum entropy sampling</a>. That is testing where you have the greatest uncertainty between the two outcomes. <br /><br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://www.giss.nasa.gov/meetings/cess2011/presentations/loredo.pdf" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="314" src="https://2.bp.blogspot.com/-NahK0zhrpxU/WNaDkvhiw0I/AAAAAAAAC1I/P7Xe53m1MtY7fMwUyUXZ98WEDTtLvCnKACLcB/s400/scientific-method.png" width="400" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Classical Scientific Method</td></tr></tbody></table><br />This is an initial step towards <a href="https://en.wikipedia.org/wiki/Bayesian_experimental_design">Bayesian Experimental Design</a>. Repeatedly applying this method is what the <a href="https://exoplanets.nasa.gov/resources/1055/">folks who search for exoplanets</a> term "<a href="https://www.giss.nasa.gov/meetings/cess2011/presentations/loredo.pdf">Bayesian Adaptive Exploration</a>."<br /><br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://www.giss.nasa.gov/meetings/cess2011/presentations/loredo.pdf" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="280" src="https://2.bp.blogspot.com/-2sUoqoQmt9I/WNaDpK-tVoI/AAAAAAAAC1M/55rP03dQWUUr7lV1Ha7aDbKWUFJEOS1tACLcB/s400/bayesian-adaptive-exploration.png" width="400" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Modern Scientific Method</td></tr></tbody></table><br />I think we intuitively do something like <a href="http://www.astro.cornell.edu/staff/loredo/bayes/bae.pdf">Bayesian Adaptive Exploration</a> when we're searching for knowledge, but this provides a mathematical and computational framework for getting really rigorous about our search. This is especially important for <a href="https://en.wikipedia.org/wiki/Wicked_problem">wicked problems</a> where our intuition can be unreliable. <br /><br /><h3>Further reading:</h3>[1] Shewry, M.C., H.P. Wynn, <a href="http://dx.doi.org/10.1080/02664768700000020">Maximum entropy sampling</a>. Journal of Applied Statistics. 14 (1987), 2, 165--170. doi: 10.1080/02664768700000020. <br />[2] Lindley, D. V. <a href="http://projecteuclid.org/download/pdf_1/euclid.aoms/1177728069">On a Measure of the Information Provided by an Experiment</a>. Ann. Math. Statist. 27 (1956), no. 4, 986--1005. doi:10.1214/aoms/1177728069. <a href="http://projecteuclid.org/euclid.aoms/1177728069">http://projecteuclid.org/euclid.aoms/1177728069</a>. <br />[3] Chaloner, Kathryn; Verdinelli, Isabella (1995), "<a href="http://homepage.divms.uiowa.edu/~gwoodwor/AdvancedDesign/Chaloner%20Verdinelli.pdf">Bayesian experimental design: a review</a>" (PDF), Statistical Science, 10 (3): 273–304, <a href="https://dx.doi.org/10.1214%2Fss%2F1177009939">doi:10.1214/ss/1177009939</a><br />[4] <a href="http://www.astro.cornell.edu/staff/loredo/">Loredo, T</a>. <a href="https://www.giss.nasa.gov/meetings/cess2011/presentations/loredo.pdf">Optimal Scheduling of Exoplanet Observations via Bayesian Adaptive Exploration</a>. GISS Workshop — 25 Feb 2011. <br />[5] <a href="http://www.astro.cornell.edu/staff/loredo/">Loredo, T</a>. <a href="http://ada6.cosmostat.org/Presentations/ada10-exoplanets.pdf">Bayesian methods for exoplanet science: Planet detection, orbit estimation, and adaptive observing</a>. ADA VI — 6 May 2010. <br />[6] <a href="https://en.wikipedia.org/wiki/Bayesian_experimental_designhttps://en.wikipedia.org/wiki/Bayesian_experimental_design">Bayesian Experimental Design</a>, on the wikipedia. Maximize utility (expected information) of your next test point. <br />[7] <a href="http://www.variousconsequences.com/2009/12/dueling-bayesians.html">Dueling Bayesians</a>. The link to the video is broken, but the subsection on Bayesian design of validation experiments is relevant. Your design strategy has to change if your experimental goal becomes validation rather than discovery. Joshua Stultshttp://www.blogger.com/profile/03506970399027046387noreply@blogger.com0tag:blogger.com,1999:blog-5822805028291837738.post-7041605320606141522017-03-07T07:32:00.001-05:002017-03-07T07:32:11.077-05:00NASA Open Source Software 2017 Catalog<div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-6ZcG0Gm1eJA/WL6oI64xMkI/AAAAAAAACxM/nh0J9mJyAAAK5ma4RW2BtZRRhGSh2ryewCLcB/s1600/nasa-software.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="140" src="https://1.bp.blogspot.com/-6ZcG0Gm1eJA/WL6oI64xMkI/AAAAAAAACxM/nh0J9mJyAAAK5ma4RW2BtZRRhGSh2ryewCLcB/s400/nasa-software.png" width="400" /></a></div><br />NASA has released its <a href="https://www.nasa.gov/press-release/nasa-releases-software-catalog-granting-the-public-free-access-to-technologies-for">2017-2018 Software Catalog</a> under their <a href="http://technology.nasa.gov/">Technology Transfer Program</a>. A <a href="https://technology.nasa.gov/NASA_Software_Catalog_2017-18.pdf">pdf version of the catalog</a> is available, or you can <a href="https://software.nasa.gov/">browse by category</a>. The <a href="https://code.nasa.gov/">NASA open code repository</a> is already on my list of <a href="http://www.variousconsequences.com/p/open-source-aeronautical-engineering.html">Open Source Aeronautical Engineering tools</a>. Of course many of the codes included in that list from <a href="http://www.pdas.com/">PDAS</a> are legacy NASA codes that were distributed on various media in the days before the internet. Joshua Stultshttp://www.blogger.com/profile/03506970399027046387noreply@blogger.com0tag:blogger.com,1999:blog-5822805028291837738.post-6077917450003407212016-12-17T10:33:00.000-05:002016-12-17T10:37:03.788-05:00Hybrid Parallelism Approaches for CFD<div class="separator" style="clear: both; text-align: center;"><a href="http://conferences.computer.org/sc/2012/papers/1000a040.pdf" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://1.bp.blogspot.com/-FF15tyJJKLE/WFVYMQJIMtI/AAAAAAAACwE/kk5sqXgk6iYG7nMTiNebtwGxJrUFfzBdgCLcB/s320/hybrid-cfd-2d-pressure-wave-ver.png" width="270" height="320" /></a></div>This previous post, <a href="http://www.variousconsequences.com/2016/11/plenty-of-room-at-exascale.html">Plenty of Room at Exascale</a>, focuses on one specific commercial approach to scaling CFD to large problems on heterogeneous hardware (CPU & GPU) clusters. Here's some more references I found interesting reading on this sort of approach. <br /><br /><h3>Strategies</h3><a href="https://arxiv.org/pdf/1309.3018v1.pdf">Recent progress and challenges in exploiting graphics processors in computational fluid dynamics</a> provides some general strategies for using multiple levels of parallelism accross GPUs, CPU cores and cluster nodes based on that review of the literature: <br /><ul><li>Global memory should be arranged to coalesce read/write requests, which can improve performance by an order of magnitude (theoretically, up to 32 times: the number of threads in a warp)</li><li>Shared memory should be used for global reduction operations (e.g., summing up residual values, finding maximum values) such that only one value per block needs to be returned<br /></li><li>Use asynchronous memory transfer, as shown by <a href="http://www.idav.ucdavis.edu/func/return_pdf?pub_id=1040">Phillips et al.</a> and <a href="http://scholarworks.boisestate.edu/mecheng_facpubs/38/">DeLeon et al.</a> when parallelizing solvers across multiple GPUs, to limit the idle time of either the CPU or GPU.</li><li>Minimize slow CPU-GPU communication during a simulation by performing all possible calculations on the GPU.</li></ul><br /><a name='more'></a><br /><h3>Example Implementations</h3><br />There are two example implementations on github that were used to illustrate the scaling with grid size for some simple 2D problems: <br /><ul><li><a href="https://github.com/kyleniemeyer/laplace_gpu">Laplace solver running on GPU using CUDA, with CPU version for comparison </a></li><li><a href="https://github.com/kyleniemeyer/lid-driven-cavity_gpu">Solves lid-driven cavity problem using finite difference method on GPU, with equivalent CPU version for comparison. </a></li></ul><br />One of the interesting references from <a href="https://arxiv.org/pdf/1309.3018v1.pdf">the paper</a> mentioned above is <a href="http://conferences.computer.org/sc/2012/papers/1000a040.pdf">Hybridizing S3D into an Exascale Application using OpenACC</a>. They take an approach to use a combination of <a href="http://www.openacc.org/">OpenACC</a> directives for GPU processing, <a href="http://www.openmp.org/">OpenMP</a> directives for multi-core processing, and <a href="https://www.open-mpi.org/">MPI</a> for multi-node processing. Their three-level hybrid approach performs better than any single approach alone, and by making some clever algorithm tweaks they are able to run the same code on a node without a GPU without too much performance hit. Joshua Stultshttp://www.blogger.com/profile/03506970399027046387noreply@blogger.com1tag:blogger.com,1999:blog-5822805028291837738.post-14850271248054904152016-11-19T13:34:00.001-05:002016-11-19T13:34:23.480-05:00Plenty of Room at Exascale<div class="separator" style="clear: both; text-align: center;"><a href="https://2.bp.blogspot.com/-SSxW1Ga0j1c/WDCTZEVbALI/AAAAAAAACvU/ESk0T-ixV0Ip6C8vw8MpMgz0GL_yyqiRQCLcB/s1600/exascale-cover-crop-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="105" src="https://2.bp.blogspot.com/-SSxW1Ga0j1c/WDCTZEVbALI/AAAAAAAACvU/ESk0T-ixV0Ip6C8vw8MpMgz0GL_yyqiRQCLcB/s400/exascale-cover-crop-2.png" width="400" /></a></div><br />The folks at <a href="http://envenio.ca/">Envenio</a> have posted an interesting marketing video on <a href="http://envenio.ca/cfdsuite/">their solver</a>. <br /><br /><iframe allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/lUm1DglaFGA" width="560"></iframe><br /><br /><a name='more'></a><br />It references several reports on future scaling of <a href="https://en.wikipedia.org/wiki/High-performance_computing">HPC</a> architectures and <a href="https://en.wikipedia.org/wiki/Computational_fluid_dynamics">CFD</a> software solutions towards "<a href="https://en.wikipedia.org/wiki/Exascale_computing">exascale</a>." At the risk of being identified as un-trendy, I'll admit I'm still excited about giga- and tera-scale applications, but I expect the excitement to continue out to 2030. Our decision makers, investors and product developers never seem to lack for want of certainty no matter how many cores we throw at problems. <br /><br />The Envenio solver uses some interesting approaches to balancing load accross different types of hardware (i.e. CPU & GPU). They allow blocks (in their terminology "Cells", which are collections of control volumes and interfaces) to be single or double precision in the same calculation. This enables efficient use of GPUs. The solver is capable of doing off-line "auto-tuning" to support smart load-balancing choices for specific hardware configurations. They also do a time-domain decomposition using "coarse" and "fine" time integrators in a predictor-corrector style. They claim that using the GPUs gives them a 20x speed-up, and their unique time integration approach gives another 2x. <br /><br />Clusters of heterogeneous commodity hardware makes the software engineering challenge a lot more complex. Commercial solution providers are chipping away at the problem as we march towards exascale. As always, the biggest room is the room for improvement.<br /><br />Here's some links to the reports referenced in the video, or relevant background info: <br /><ul><li><a href="https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20140003093.pdf">CFD Vision 2030: A Path to Revolutionary Computational Aerosciences</a></li><li><a href="http://science.energy.gov/~/media/ascr/pdf/research/am/docs/EMWGreport.pdf">Applied Mathematics Research for Exascale Computing</a></li><li><br /><a href="http://science.energy.gov/~/media/ascr/ascac/pdf/reports/Exascale_subcommittee_report.pdf">Opportunities and Challenges of Exascale Computing</a><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://science.energy.gov/~/media/ascr/ascac/pdf/reports/Exascale_subcommittee_report.pdf" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt=" Opportunities and Challenges of Exascale Computing" border="0" height="184" src="https://2.bp.blogspot.com/-IowyEBIDEhw/WDBrWkfR1lI/AAAAAAAACvE/Sjop7WKpDVov7W2RSUyFgtenwfe1aoMiQCLcB/s200/opportunities_challenges_exascale_cover_cropped.png" width="200" /></a></div></li><li><a href="http://www.lanl.gov/conferences/salishan/salishan2014/Mavriplis.pdf">Exascale Opportunities for Aerospace Engineering</a>: a presentation by <a href="http://www.uwyo.edu/mechanical/faculty-staff/dimitri-mavriplis/">Dimitri Mavriplis</a></li><li><a href="https://arxiv.org/pdf/1309.3018v1.pdf">Recent progress and challenges in exploiting graphics processors<br />in computational fluid dynamics</a></li> <li><a href="https://en.wikipedia.org/wiki/Parareal">Parareal algorithm</a></li></ul><br /><br />Joshua Stultshttp://www.blogger.com/profile/03506970399027046387noreply@blogger.com0tag:blogger.com,1999:blog-5822805028291837738.post-75309869531729668352016-08-03T07:26:00.000-04:002016-08-03T07:26:23.103-04:00Hypersonics Basic and Applied Lectures<iframe width="640" height="360" src="https://www.youtube.com/embed/videoseries?list=PLndEULTswG5aTuZ4gGTCZ-PWx3JUCFjyk" frameborder="0" allowfullscreen></iframe>Joshua Stultshttp://www.blogger.com/profile/03506970399027046387noreply@blogger.com0tag:blogger.com,1999:blog-5822805028291837738.post-16469622225789642022016-07-06T18:49:00.001-04:002016-07-06T18:53:06.157-04:00Exciting 3D Print Service Developments<p>It has never been easier to go from a design in your head to parts in your hand. The barriers to entry are low on the front end. There are all sorts of free and open source <a href="https://inkscape.org/en/">drawing</a>, <a href="http://meshlab.sourceforge.net/">mesh editing</a>, <a href="https://www.blender.org/">modeling</a> or <a href="http://brlcad.org/">CAD</a> applications. On the fabrication end of things, services like <a href="https://www.shapeways.com/">shapeways</a>, and <a href="https://i.materialise.com/">imaterialise</a> continue to improve their delivery times, material options and prices. <br /><br /><p>One of the recent developments that deserves some attention is in metal 3D printing. <a href="https://i.materialise.com/">imaterialise</a> has offered parts in <a href="https://en.wikipedia.org/wiki/Direct_metal_laser_sintering">DMLS</a> titanium for a while, but they've been pretty pricey. They have now significantly <a href="https://i.materialise.com/blog/3d-printed-titanium-price-drop/">reduced the prices on Ti parts</a>, and are now offering a <a href="https://i.materialise.com/blog/3d-printed-aluminum/">trial with aluminum</a>. Not to be left out, Shapeways has graduated <a href="https://en.wikipedia.org/wiki/Selective_laser_melting">SLM</a> <a href="https://www.shapeways.com/blog/archives/23338-strong-yet-light-introducing-aluminum.html">aluminum</a> from its pilot program. <br /><br /><p>It's great to see such thriving competition in this space. I'm working on some models specifically for this metal powder-bed fusion technology. What will you print? Joshua Stultshttp://www.blogger.com/profile/03506970399027046387noreply@blogger.com0tag:blogger.com,1999:blog-5822805028291837738.post-59575585195188716082015-12-23T16:34:00.001-05:002015-12-23T16:36:25.224-05:00Hamiltonian Monte Carlo with Stan<div class="separator" style="clear: both; text-align: center;"><a href="http://mc-stan.org/" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="http://1.bp.blogspot.com/-AZdoau8LK7o/VnsPyPxUigI/AAAAAAAACpQ/23T9y5zVqSY/s400/stan-logo.png" width="400" /></a></div><a href="http://mc-stan.org/">Stan</a> is a library for doing Bayesian statistical inference. One of the really cool capabilities it has is the Hamiltonian Monte Carlo (HMC) method rather than the more common Markov Chain approaches. There are interfaces for using the library from Python, R or the command line: <br /><blockquote>Stan is based on a probabilistic programming language for specifying models in terms of probability distributions. Stan’s modeling language is is portable across all interfaces (PyStan, RStan, CmdStan).<br /></blockquote><br />I found <a href="https://www.youtube.com/watch?v=pHsuIaPbNbY">this video</a> from the <a href="http://mc-stan.org/documentation/">documentation page</a> a very understandable description of the Hamiltonian Monte Carlo approach used by Stan. It's neat to see how using a deterministic dynamics can improve on random walks. I'm reminded of <a href="http://amzn.to/1Tibfhb">Jaynes</a>: "It appears to be a quite general principle that, whenever there is a randomized way of doing something, then there is a nonrandomized way that delivers better performance but requires more thought."Joshua Stultshttp://www.blogger.com/profile/03506970399027046387noreply@blogger.com0tag:blogger.com,1999:blog-5822805028291837738.post-66179048242852261862015-09-23T13:30:00.002-04:002015-09-23T13:30:48.811-04:00A One-Equation Local Correlation-Based Transition Model<div class="separator" style="clear: both; text-align: center;"><a href="http://link.springer.com/article/10.1007/s10494-015-9622-4" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-8TgCANTrBqs/VgLea0Qs0aI/AAAAAAAACn8/-2_m3Ig8g1Q/s400/flow-turbulence-combustion.jpg" /></a></div>This <a href="http://link.springer.com/article/10.1007/s10494-015-9622-4">article</a> is available for free download until 15 Oct 2015, h/t <a href="http://www.ansys-blog.com/taking-laminar-turbulent-transition-modeling-to-the-next-level/">ANSYS blog</a>. <br /><br />Here's the Abstract: <br /><blockquote>A model for the prediction of laminar-turbulent transition processes was formulated. It is based on the LCTM (‘Local Correlation-based Transition Modelling’) concept, where experimental correlations are being integrated into standard convection-diffusion transport equations using local variables. The starting point for the model was the γ-Re θ model already widely used in aerodynamics and turbomachinery CFD applications. Some of the deficiencies of the γ-Re θ model, like the lack of Galilean invariance were removed. Furthermore, the Re θ equation was avoided and the correlations for transition onset prediction have been significantly simplified. The model has been calibrated against a wide range of Falkner-Skan flows and has been applied to a variety of test cases.<br /></blockquote>Keywords: Laminar-turbulent transition, Correlation, Local variables<br />Authors: Florian R. Menter, Pavel E. Smirnov , Tao Liu, Ravikanth Avancha<br /><br />Transition location, and subsequent turbulence modeling remain the largest source of uncertainty for most engineering flows. Even for chemically reacting flows the source of uncertainty is often less the parameters and reactions for the chemistry, and more the uncertainty in the fluid state driven by shortcomings in turbulence and transition modeling. Joshua Stultshttp://www.blogger.com/profile/03506970399027046387noreply@blogger.com0tag:blogger.com,1999:blog-5822805028291837738.post-89856162081259282652015-03-22T18:14:00.001-04:002015-03-22T18:14:13.952-04:00Reliability Growth: Enhancing Defense System Reliability<div class="separator" style="clear: both; text-align: center;"><a href="http://sites.nationalacademies.org/DBASSE/CNSTAT/Enhancing_Defense_System_Reliability/index.htm" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-HsAysHrYP0k/VQ87iQfiGeI/AAAAAAAACj4/0ofyx0zaemg/s1600/dbasse_090457.jpg" height="320" width="212" /></a></div><br />This <a href="http://www.nap.edu/catalog/18987/reliability-growth-enhancing-defense-system-reliability">report</a> (<a href="http://download.nap.edu/cart/download.cgi?&record_id=18987">pdf</a>) from the National academies on reliability growth is interesting. There's a lot of good stuff on design for reliability, physics of failure, highly accelerated life testing, accelerated life testing and reliability growth modeling. Especially useful is the discussion about the suitability of assumptions underlying some of the different reliability growth models. <br /><br />The authors provide a thorough critique of <a href="http://www.sre.org/pubs/Mil-Hdbk-217F.pdf">MIL-HDBK-217</a>, Reliability Prediction of Electronic Equipment, in <a href="http://download.nap.edu/cart/download.cgi?&record_id=18987&file=203-246">Appendix D</a>, which is probably worth the price of admission by itself. If you're concerned with product reliability you should read this report (lots of good pointers to the lit). <br />Joshua Stultshttp://www.blogger.com/profile/03506970399027046387noreply@blogger.com0tag:blogger.com,1999:blog-5822805028291837738.post-48632739602041351652015-01-13T21:55:00.002-05:002015-01-13T21:55:42.041-05:00Guidelines for Planning and Evidence for Assessing a Well-Designed Experiment<div class="separator" style="clear: both; text-align: center;"><a href="http://scholar.google.com/scholar?cluster=12217974081568119227" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-ZOmEme_tbD8/VLXVHj88z-I/AAAAAAAACis/4-0edcGE8No/s320/08982112.2013.803574.fp.png_v03.png" /></a></div><br />This paper is full of great guidance for planning a campaign of experimentation, or assessing the sufficiency of a plan that already exists. The authors break up the effort into four phases: <br /><ol><li>Plan a Series of Experiments to Accelerate Discovery</li><li><ol><li>Design Alternatives to Span the Factor Space</li><li>Decide on a Design Strategy to Control the Risk of Wrong Conclusions</li></ol></li><li>Execute the Test</li><li>Analyze the Experimental Design</li></ol>They give a handy checklist for each phase (reproduced below). The checklists are comprehensive (significantly more than my little <a href="https://www.linkedin.com/pulse/5-questions-you-need-ask-test-joshua-stults">list of questions</a>) and I think they stand-alone, but the whole paper is well worth a read. Design of experiments is more than just math, as this paper stresses it is a strategy for discovery.<br /><a name='more'></a><br /><b>Phase I. Plan a Series of Experiments to Accelerate Discovery</b><br /><ul><li> Agree upon a problem statement with a synopsis of historical research<br /><ul><li>Documentation of research and references</li><li>Problem statement that is clear, concise and agreed to by entire test team</li><li>Clear, concise, comprehensive objectives for each stage of testing</li><li>Objectives that are specific, measureable, achievable, relevant, and timely (SMART) </li><li>Clearly defined evaluation criteria for determining success</li></ul></li><li> List the output performance measures and specify the anticipated precision, emphasizing continuous responses <br /><ul><li>Table of largely continuous numeric responses, with associated details</li><li>Estimates of anticipated ranges of response values</li><li>Specific sources of measurement error and estimates of error variability</li><li>Description of amount of change to the response that is of scientific or operational interest; justification of such a shift</li></ul></li><li> Brainstorm all known system factors especially control factors to vary, those to hold constant and those allowed to vary (nuisance), as well as control factor levels, and test point collection strategy<br /><ul><li>Fishbone diagrams, tables of all factors considered, separated by type</li><li>Control factors provided with min and max, as well as desired low and high values</li><li>Hold constant factors provided with reason for limitations and scope reductions</li><li>Nuisance factors provided with ways to potentially reduce the variability contribution to each</li></ul></li><li> Determine baseline estimate of resources (test assets available, operators, experiment location scheduling, etc.) needed for testing, including limitations<br /><ul><li>Resource, budgeting, and scheduling restrictions should be clearly articulated and initial estimate most restrictive</li><li>Risks associated with test execution estimated, including safety, ability to secure test resources, issues with interrupting normal operations, test staffing, etc.</li></ul></li></ul><br /><b>Phase IIa. Design Alternatives to Span the Factor Space</b> <br /><ul><li> Refine and make ready for experimental design the list of candidate control factors<br /><ul><li>Detailed description of control factors with discussing challenges in setting factor levels</li><li>Unit of measurement (real, physical values preferred over labels)</li><li>Range of physical levels; levels chosen for experimental design</li><li>Estimated priority of factor in describing system performance</li><li>Expense/difficulty of controlling level: easy-, hard-, very hard-to-change</li><li>Proposed strategy of experimental control for each factor: constant, matrix variable, or noise (covariate, randomized, or random effect if noise)</li></ul></li><li> State the anticipated statistical model polynomial order based on existing knowledge of the system and test objective<br /><ul><li>Understanding of capability and need for first, second, and possibly third order polynomials (Screening and characterization objectives typically require first order plus interaction models, while mapping and optimization objetives are at least second order)</li><li>Guidance from system experts regarding likely potential interactions</li><li>Probability of and interest in nonlinear relationships for all numeric factors</li></ul></li><li> Provide details of the initial alternative design strategies for the planned model, power, and factor types<br /><ul><li>Type of statistical design considered (e.g. factorial, fractional factorial, response surface, optimal) to accomodate model of interest</li><li>Dimension of the design, or the number of factors and levels planned</li><li>Design constraints due to factor setting physical limitations (e.g. A+B < 10), disallowed factor combinations, safety, resource restrictions</li><li>Strategy for hard-to-change factors, blocking, and replication</li><!--10--></ul></li><li> Plan to test-analyze-test in a sequential fashion to maximize knowledge and efficiency<br /><ul><li>Consideration of likely re-design strategies following initial exploration (e.g. augmentation for decoupling of higher order models, replication, or validation)</li><li>Estimated number of test phases, purpose of the phase (e.g. model augmentation to estimate interactions), number of runs for each phase, and total number of resources required</li><li>Strategy for sequences of tests based on test periods scheduled</li></ul></li><li> Append management reserve based on anticipated risks of not completing test runs<br /><ul><li>Documentation that quantifies or details risks of interruptions, aborts, bad data points, unacceptable outside influences, and technological maturity</li><li>Consideration of a resource reserve of 10-30% (experience across wide variety of tests suggests this is typically adequate)</li></ul></li></ul><br /><b>Phase IIb. Deciding on a Design Strategy to Control Risk of Wrong Conclusions</b> <br /><ul><li> Report statistical power and type I error probability of incorrectly declaring a factor significant for proposed model effects and key performance measures (e.g. distance, accuracy, task time)<br /><ul><li>Type I error level (alpha) is appropriate for risk mitigation and justified for given testing</li><li>Values for delta clearly derived and justified from expert and decision maker input</li><li>Estimates of sigma provided from relevant historical data, pilot test, or expert judgment</li><li>Power values reported by factor type if mixed-level design</li></ul></li><li> Report metrics per statistical design, weight metrics, and report final design scores<br /><ul><li>Design approaches specified and justified</li><li>Power (designs for screening) or prediction variance estimation (response surface designs)</li><li>Alignment between model order and design capability (i.e. adequately estimate terms plus additional points to guard against model misspecification or lack of fit)</li><li>Sufficient replication to estimate pure error</li><li>Validation strategy</li><li>Flexibility in testing sequentially</li><li>Ability to predict well new observations</li></ul></li><li> Decide on final set of designs to accomplish all test objectives<br /><ul><li>Confirmation of limitations and restrictions, including hard-to-change factors</li><li>Comparison of measurement metrics across designs, with metrics weighting if appropriate</li><li>Designs graded the highest from multiple criteria compared to alternative designs chosen</li></ul></li><li> Decide final sequential strategy for experimentation all design phases and test schedule<br /><ul><li>Estimates of test entries and time per event</li><li>Priorities set to obtain essential test points (e.g. complete fractional factorial design)</li><li>Replicates as blocks, or blocking effects separate from model effects</li><li>Addition of test events only as necessary to build on existing knowledge</li><li>Strategy for validation points and model checking</li></ul></li></ul><br /><b>Phase III. Execute the Test</b><br /><ul><li> Maximize efficiency in test execution and carefully define a test event<br /><ul><li>Test team definition of start and finish of a test event; standard operating procedures to consistently repeat setup</li><li>Efficient strategy to transition from one test event to the next</li><li>Methods to collect multiple responses per test event</li><li>Clearly defined circumstances for 'go or no-go' decisions prior to run execution</li></ul></li><li> Name the execution order plan to suppress background change influence (e.g. randomized) and justify the method<br /><ul><li>Default is completely randomized</li><li>Randomization with local control of error or blocks as appropriate</li><li>Restricted randomization with split plot designs and analysis</li><li>Analysis of covariance with observable, but uncontrollable variables</li><li>Reduction of measurement error with repeated measures or subsampling</li></ul></li><li> Describe specific procedure to control background variability<br /><ul><li>Hold constant and nuissance variables readdressed</li><li>Process flow diagrams revisited to ensure standard operating procedures established</li><li>Practice runs to minimize error and lessen impact of learning curve</li><li>Procedures in place to reduce set point error (deviation between intended and actual input values)</li></ul></li><li> Provide sequential approach to testing details<br /><ul><li>Rough approach: screen many factors, decouple or improve model, add higher order effects, validate</li><li>"Must have" test points identified in case of shortened or interrupted testing</li></ul></li><li> Describe approach to ensure independence of successive observations (e.g. batching observations, resetting input levels)<br /><ul><li>Test input conditions reset after every test point</li><li>Decisions for combining multiple observations per test event (e.g. averaging 2 sec of 20Hz data)</li></ul></li></ul><br /><b>Phase IV. Analyze the Experimental Design </b><br /><ul><li> Ensure test objectives align with the analysis objectives--screen, characterize, compare, predict, optimize, or map <br /><ul><li>Objectives have SMART responses that directly address stated goals</li><li>Designs are suited to the analysis objectives (e.g. second order design for an optimize)</li></ul></li><li> Assess the ability of the design to statistically analyze and model the responses <br /><ul><li>Explanation of modeling strategy to include alternative analysis techniques</li><li>Intent to determine factor significance, quantify uncertainty, display models graphically, and provide intervals for estimation and prediction</li><li>Diagnostics of model quality (VIF's, prediction variance, regression coefficient variance, coefficient of determination)</li></ul></li><li> Compare the design strategy to the intended general model<br /><ul><li>General model intended for the design--linear, interaction, etc</li><li>Strategy to enable fitting the general model, estimating error, and fitting a model more complex than assumed (lack of fit)</li><li>Confounding effects description--e.g. resolution or correlation of effects of interest</li></ul></li><li> Detail the sequential model-building strategy and validation phase outlined <br /><ul><li>Strategy for initial design augmentation to resolve confounding--foldover, predict-confirm, etc</li><li>Estimate of number of augmenting runs required</li><li>Strategy for alternating augmentation test phases based on analysis of earlier phases</li></ul></li></ul>Joshua Stultshttp://www.blogger.com/profile/03506970399027046387noreply@blogger.com0tag:blogger.com,1999:blog-5822805028291837738.post-92018251565483570912014-12-30T22:13:00.003-05:002015-01-25T08:43:03.253-05:00Starscraper Sounding Rocket Kickstarter<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-I1yQzmuGTtc/VKNmrjl-EbI/AAAAAAAAChs/5AJqXjh9GP8/s1600/BURPG-hybrid-rocket-dev.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-I1yQzmuGTtc/VKNmrjl-EbI/AAAAAAAAChs/5AJqXjh9GP8/s320/BURPG-hybrid-rocket-dev.jpg" /></a></div>The <a href="http://www.burocket.org/">Boston University Rocket Propulsion Group (BURPG)</a> is developing a sounding rocket designed to top 150km and funding it partially through a <a href="https://www.kickstarter.com/projects/burpg/starscraper-the-next-generation-of-suborbital-rock">kickstarter campaign</a>. They plan on launching from Blackrock next year like <a href="http://www.variousconsequences.com/2011/11/qu8k-accelerometer-data.html">Qu8k</a>, but this is a more ambitious and complex effort. <br /><br /><a href="http://www.burocket.org/rockets/starscraper/">The rocket</a> will be controlled using fluid injection thrust vectoring. The thrust levels of their hybrid motor are comparable to Qu8k, but it is a significantly larger (30 vs 14ft long, 12 vs 8in diameter) and heavier (1100 vs 320 lbs) and aims higher (150km vs 120kft). It's hard to tell, but it also seems to be an order of magnitude or so more expensive. <br /><br />The advantage the BURPG folks claim for their concept over traditional solid fuel sounding rockets is a gentler ride for payloads on the longer, smoother burning hybrid.<br />Joshua Stultshttp://www.blogger.com/profile/03506970399027046387noreply@blogger.com0tag:blogger.com,1999:blog-5822805028291837738.post-30022812694212249312014-12-20T10:23:00.002-05:002014-12-20T10:23:37.092-05:00Gaussian Processes for Machine Learning<div class="separator" style="clear: both; text-align: center;"><a href="http://www.gaussianprocess.org/gpml/" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-5k2P6rdl7YQ/VJWTu7GcOOI/AAAAAAAAChY/9UujHJkSAg4/s1600/rwcover.gif" height="200" width="160" /></a></div>What a great resource for learning about Gaussian Processes: <a href="http://www.gaussianprocess.org/">The Gaussian Processes Web Site</a>.<br /><ul><li> The <a href="http://www.gaussianprocess.org/gpml/">Gaussian Processes for Machine Learning</a> book.<br /></li><li> Software <a href="http://www.gaussianprocess.org/#code">around the web</a>, and <a href="http://www.gaussianprocess.org/gpml/code">to go with the book</a><br /></li><li> <a href="http://www.gaussianprocess.org/gpml/data">Data Sets </a> </li><li> <a href="http://www.gaussianprocess.org/#tut">Tutorials</a> <br /></li></ul><a name='more'></a><br />About the book: <br /><blockquote class="tr_bq">Gaussian processes (GPs) provide a principled, practical, probabilistic approach to learning in kernel machines. GPs have received increased attention in the machine-learning community over the past decade, and this book provides a long-needed systematic and unified treatment of theoretical and practical aspects of GPs in machine learning. The treatment is comprehensive and self-contained, targeted at researchers and students in machine learning and applied statistics.<br /><br />The book deals with the supervised-learning problem for both regression and classification, and includes detailed algorithms. A wide variety of covariance (kernel) functions are presented and their properties discussed. Model selection is discussed both from a Bayesian and a classical perspective. Many connections to other well-known techniques from machine learning and statistics are discussed, including support-vector machines, neural networks, splines, regularization networks, relevance vector machines and others. Theoretical issues including learning curves and the PAC-Bayesian framework are treated, and several approximation methods for learning with large datasets are discussed. The book contains illustrative examples and exercises, and code and datasets are available on the Web. Appendixes provide mathematical background and a discussion of Gaussian Markov processes.</blockquote>Joshua Stultshttp://www.blogger.com/profile/03506970399027046387noreply@blogger.com3tag:blogger.com,1999:blog-5822805028291837738.post-60622978056500538182014-12-06T17:04:00.000-05:002014-12-06T17:05:44.417-05:00Fully Scripted Open Source Topology Optimization<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-7atD10x2_ZE/VIEaEVLyQbI/AAAAAAAAChA/ue0CQE8JpNk/s1600/diagonal-view.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://2.bp.blogspot.com/-7atD10x2_ZE/VIEaEVLyQbI/AAAAAAAAChA/ue0CQE8JpNk/s400/diagonal-view.png" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><a href="https://makerware.thingiverse.com/thing:244703/">Helical Extruder Gear</a> for <a href="http://printrbot.com/">Printrbot</a> with Optimized Topology</td></tr></tbody></table><br />I've used a couple different methods for stringing together open source tools to do topology optimization, but they have all required some interactive user input. Here are some previous posts demonstrating those manual methods: <br /><ul><li><a href="http://www.variousconsequences.com/2012/12/open-source-topology-optimization-for.html">Open Source Topology Optimization for 3D Printing</a></li><li><a href="http://www.variousconsequences.com/2012/12/octet-truss-for-topology-optimization.html">Octet Truss for Topology Optimization</a></li><li><a href="http://www.daytondiode.org/2013/12/prusa-mendel-reprap-frame-vertex-topology-optimization-topy.html">Prusa Mendel RepRap Frame Vertex Topology Optimization Using ToPy</a></li><li><a href="http://www.variousconsequences.com/2014/06/3-in-tack-strip-bracket-topopt.html">3-in Tack Strip Bracket TopOpt</a></li></ul>Those approaches are fine if you've got time to fiddle with interactive software, but I wanted to do some parametric studies, so I need an automated approach that would be scalable to lots and lots of optimizations. <br /><a name='more'></a><br />Here's the basic steps of the automated workflow (only in 2D so far, all files <a href="https://github.com/jstults/topopt-helical-printrbot-gear">on github</a>): <br /><ol><li>Define a design space and boundary / load conditions in a tpd file for ToPy</li><li>Run the optimizations. Here's <a href="https://github.com/jstults/topopt-helical-printrbot-gear/blob/master/run-jobs.py">a python script</a> that defines a bunch of tpd files and cunches through the jobs using <a href="https://docs.python.org/2/library/itertools.html">itertools</a> and <a href="https://docs.python.org/2/library/multiprocessing.html">multiprocessing</a>.</li><li>Trace the bitmap with <a href="http://www.pstoedit.net/">pstoedit</a> and export a dxf with <a href="http://potrace.sourceforge.net/">potrace</a></li><li>Import dxf file and process in <a href="http://www.openscad.org/">OpenSCAD</a></li><li>Export stl for printing or whatever</li></ol><a href="https://github.com/jstults/topopt-helical-printrbot-gear/blob/master/image2dxf.py">Here's a script</a> that does those last few steps.<br /><br /><iframe allowfullscreen="" frameborder="0" height="360" src="//www.youtube.com/embed/FU2_tWozkuM" width="480"></iframe><br /><br /><script src="https://embed.github.com/view/3d/jstults/topopt-helical-printrbot-gear/master/gears.stl?height=360&width=480"></script>Joshua Stultshttp://www.blogger.com/profile/03506970399027046387noreply@blogger.com0tag:blogger.com,1999:blog-5822805028291837738.post-76903326368601410502014-11-20T05:00:00.000-05:002014-11-20T05:00:02.137-05:00119 Open Source Aeronautical Engineering Tools<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-7MHisnA7fYs/VG1icY_3FEI/AAAAAAAACgo/4NjWvt-aeT0/s1600/WordItOut-word-cloud-591131.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-7MHisnA7fYs/VG1icY_3FEI/AAAAAAAACgo/4NjWvt-aeT0/s320/WordItOut-word-cloud-591131.png" /></a></div>I posted a <a href="https://www.linkedin.com/pulse/article/20141109222340-138794715-33-open-source-aeronautical-engineering-tools?trk=prof-post">list of 33 open source aeronautical engineering tools</a> on LinkedIn a couple days ago. One of the comments was a question about how open they all really were so I added a column to the list for the license and any non-free dependencies (i.e. Matlab). I went ahead and made an entry for each of the pieces of software from Ralph Carmichael's <a href="http://www.pdas.com/">PDAS collection</a>, which added 84 public domain pieces of software. In addition, there are 23 with various flavors of GNU, 4 BSD-style, and 3 NASA open source agreement (NOSA) codes. See the whole list below the fold. Please suggest adds/changes/deletes in the comments. <br /><a name='more'></a><br /><table><tr> <th>Name</th> <th>License</th> <th>Non-free Dependency</th> <th>Description</th> </tr><tr><td><a href="http://www.pdas.com/3view.html">3-view</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Perspective views of an arbitrary configuration defined by wireframe meshes of gridpoints with hidden line removal. Written by David Hedgley of NASA Dryden. A very simple program called 3view is also included that produces plan, side, and rear views from the same input file. / HLP</td></tr><tr><td><a href="http://www.pdas.com/abaxi.html">Ablation Dynamics</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Analyze the transient response of an ablating axisymmetric body, including the effect of shape change. / ABAXI</td></tr><tr><td><a href="http://www.pdas.com/ablate.html">Ablative Nozzle Materials</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Predict the ablation performance of rocket nozzle heat protection materials. (work-in-progress) / ABLATE</td></tr><tr><td><a href="http://www.pdas.com/elastic.html">Aeroelastic Analysis</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Estimate the planform and aeroelastic effect on stability derivatives and induced drag. (work-in-progress) / ELASTIC</td></tr><tr><td><a href="http://www.pdas.com/aries.html">Aircraft roll-out iterative energy simulation program</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Analyze brake performance during landing rollout. It incorporates actual flight data from telemetry. Developed for the Space Shuttle vehicle. (work-in-progress) / ARIES</td></tr><tr><td><a href="http://www.pdas.com/atc.html">Analysis of Aircraft Motions</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Derive aircraft motions, forces, and accelerations from radar range data. / ATC</td></tr><tr><td><a href="http://www.pdas.com/anduct.html">Annular Duct Velocity</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Compute the velocity distribution along an arbitrary line between the inner and outer walls of an annular duct with axisymmetric swirling flow. (work-in-progress) / ANDUCT</td></tr><tr><td><a href="http://www.pdas.com/rogers.html">Arrow Wing Wave Drag</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Closed form solution for the wave drag of an arrow or delta wing with sharp edges based on work of Rogers and Puckett and Stewart. / ROGERS</td></tr><tr><td><a href="http://www.pdas.com/atmos.html">Atmosphere</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Characteristics of the 1976 standard atmosphere to 1000 km altitude. An atmosphere procedure is given that you may include in your own programs. Separate versions are supplied in Basic, C, Fortran, Pascal, C++, and Fortran90, Visual Basic and Delphi, IDL, and Python. Sample programs are included that print an atmosphere table. Non-standard atmosphere routines (hot, cold, polar, tropical) are also included. / ATMOS</td></tr><tr><td><a href="http://www.pdas.com/aipp.html">Atmospheric interaction plume</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Predict the gas dynamic and chemical properties of underexpanded rocket plumes. (work-in-progress) / AIPP</td></tr><tr><td><a href=" http://web.mit.edu/drela/Public/web/avl/ ">AVL </a></td><td><a href="http://web.mit.edu/drela/Public/web/gpl.txt">GNU GPL</a></td><td></td><td>aerodynamics, vortex lattice code</td></tr><tr><td><a href=" http://www.blender.org ">Blender </a></td><td><a href="http://www.blender.org/about/license/">GNU GPL</a></td><td></td><td>3D modeling and animation tool. Demonstrated for shape deformation to support optimal design.</td></tr><tr><td><a href=" http://brlcad.org/">BRLCAD</a></td><td><a href="http://sourceforge.net/projects/brlcad/">BSD, GNU LGPLv2</a></td><td></td><td>open source solid modeling system that includes interactive geometry editing, high-performance ray-tracing for rendering and geometric analysis, image and signal-processing tools</td></tr><tr><td><a href=" http://calculix.de/">Calculix</a></td><td><a href="">GNU GPL</a></td><td></td><td>finite element solver</td></tr><tr><td><a href="http://www.pdas.com/cas2d.html">Cascade Flow (2D)</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Nonrotating Blade-To-Blade, Steady, Potential Transonic Cascade Flow Analysis Code (work-in-progress) / CAS2D</td></tr><tr><td><a href=" http://www.ceasiom.com/index.php">CEASIOM</a></td><td><a href="http://www.ceasiom.com/license/ceasiom-eula.html">CEASIOM EULA</a></td><td>MATLAB</td><td>conceptual aircraft design </td></tr><tr><td><a href="http://www.pdas.com/celest.html">Celestial Coordinate Transformations</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>There are at least three basic frames of reference for celestial coordinates: equatorial, ecliptic, and galactic. This module contains subroutines for performing transformations from one system into another. / CELEST</td></tr><tr><td><a href="http://www.cgal.org/">CGAL</a></td><td><a href="http://www.cgal.org/license.html">GNU GPL, LGPL</a></td><td></td><td>Computational Geometry Algorithms Library, unstructured mesh generation capability</td></tr><tr><td><a href="http://www.pdas.com/coldarc.html">Cold Arc</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Dissociated air flow effects during plasma arc testing. (work-in-progress) / COLDARC</td></tr><tr><td><a href="http://www.pdas.com/vucalc.html">Compressible Flow Calculator</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Make calculations involving isentropic flow, normal shock waves, oblique shock waves, Rayleigh and Fanno flow, and characteristics of the standard atmosphere. / VUCALC</td></tr><tr><td><a href="http://www.pdas.com/fmm.html">Computer Methods for Mathematical Calculation</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>The software from the classic textbook by Forsythe, Malcolm and Moler has been rewritten in modern Fortran along with the sample problems and a number of the end-of-chapter problems. You probably need a copy of the book. / FMM</td></tr><tr><td><a href="http://www.pdas.com/corel.html">Conical Relaxation</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Conical relaxation program for supersonic wing design and analysis (work-in-progress) / COREL</td></tr><tr><td><a href="http://www.pdas.com/conplot.html">Contour Plotting (I)</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>A General Algorithm For The Construction Of Contour Plots / CONPLOT</td></tr><tr><td><a href="http://www.pdas.com/contour.html">Contour Plotting (II)</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Generalized digital contouring program / CONTOUR</td></tr><tr><td><a href="http://opensource.gsfc.nasa.gov/projects/HSEG/index.php">Core RHSEG</a></td><td><a href="http://opensource.gsfc.nasa.gov/nosa.php">NOSA</a></td><td></td><td>image segmentation</td></tr><tr><td><a href="http://dakota.sandia.gov/">Dakota</a></td><td><a href="https://dakota.sandia.gov/license.html">GNU LGPL</a></td><td></td><td>optimization, parameter estimation, sensitivity analysis and uncertainty quantification</td></tr><tr><td><a href="http://www.pdas.com/datcom.html">Digital Datcom</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Estimate stability and control characteristics of a wide variety of airplane and missile configurations with this famous USAF program. Has all example cases from the document, both input and output. / DATCOM</td></tr><tr><td><a href="http://www.pdas.com/diverge.html">Divergence</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Aeroelastic divergence characteristics of unguided, slender body, multi-stage launch vehicles (work-in-progress) / DIVERGE</td></tr><tr><td><a href="http://www.csc.fi/english/pages/elmer">Elmer</a></td><td><a href="http://sourceforge.net/projects/elmerfem/">GNU GPLv2</a></td><td></td><td>finite element solver</td></tr><tr><td><a href="http://www.pdas.com/eppler.html">Eppler</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>The well-known Eppler airfoil program including boundary layer analysis. / EPPLER</td></tr><tr><td><a href="http://docs.scipy.org/doc/numpy-dev/f2py/">F2PY</a></td><td><a href="https://sysbio.ioc.ee/projects/f2py2e/">GNU LGPL</a></td><td></td><td>Fortran to Python interface generator. F2PY is a python package (with a command line tool f2py and a module f2py2e) that facilitates creating/building Python C/API extension modules that make it possible to call Fortran77/90/95 external subroutines and Fortran 90/95 module subroutines as well as C functions, and to access Fortran 77 COMMON blocks and Fortran 90/95 module data, including allocatable arrays from Python.</td></tr><tr><td><a href="http://www.pdas.com/fairdata.html">Fair Data</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Compute the coefficients of a smoothing spline that approximates a set of data. Originally designed to be used for wind tunnel data but may be applicable to diverse applications. / FAIRDATA</td></tr><tr><td><a href="http://www.pdas.com/fsd.html">Flexible spacecraft dynamics</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Simulate a large class of flexible and rigid spacecraft. The flexibility is treated continuously (by use of shape functions) rather than by finite elements. (work-in-progress) / FSD</td></tr><tr><td><a href="http://www.flightgear.org/">FlightGear</a></td><td><a href="http://www.flightgear.org/about/">GNU GPL</a></td><td></td><td>FlightGear is an open-source flight simulator. The goal of the FlightGear project is to create a sophisticated and open flight simulator framework for use in research or academic environments, pilot training, as an industry engineering tool, for DIY'ers to pursue their favorite interesting flight simulation idea, and last but certainly not least as a fun, realistic, and challenging desktop flight simulator.</td></tr><tr><td><a href="http://www.pdas.com/inlet.html">Flow Field in Supersonic Inlet</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Based on 2D or axisymmetric method of characteristics. NASA Ames program by Virginia Sorensen. / INLET</td></tr><tr><td><a href="http://www.pdas.com/fluid.html">Fluid Properties</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>A companion program to GasProperties computes thermodynamic and transport properties of many gases. Treats air and steam as well as pure fluids. From NASA Glenn (Lewis). / FLUID</td></tr><tr><td><a href="http://www.pdas.com/flutter.html">Flutter Analysis by Strip Theory</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>A modified strip analysis has been developed for rapidly predicting flutter of finite-span, swept or unswept wings at subsonic to hypersonic speeds. (work-in-progress) / FLUTTER</td></tr><tr><td><a href="http://www.freecadweb.org/">FreeCAD</a></td><td><a href="http://www.freecadweb.org/wiki/index.php?title=About_FreeCAD">GNU LGPL</a></td><td></td><td>parametric 3D modeler</td></tr><tr><td><a href=" http://www.freefem.org/ff++/">FreeFEM++</a></td><td><a href="http://www.freefem.org/ff++/ff++/COPYRIGHT">GNU LGPLv2.1</a></td><td></td><td>a partial differential equation solver</td></tr><tr><td><a href="http://www.pdas.com/gasp.html">GasProperties</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Compute real gas properties of ten important gases over a wide range of temperatures and pressures. Covers cryogenic regions and saturated liquid/gas regions. From NASA Glenn (Lewis). / GASP</td></tr><tr><td><a href="http://www.pdas.com/2wgs.html">Geometry Conversion</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Convert the geometry information for the WaveDrag,WingBody, and PanAir into WGS for input to the hidden-line program or ThreeView. Display your vehicle concepts. / 2WGS</td></tr><tr><td><a href="http://geuz.org/gmsh/">gmsh</a></td><td><a href="http://geuz.org/gmsh#Licensing">GNU GPLv2</a></td><td></td><td>3D finite element grid generator with a build-in CAD engine and post-processor</td></tr><tr><td><a href="http://www.pdas.com/grape.html">GRAPE</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Two-Dimensional Grids About Airfoils And Other Shapes By The Use Of Poisson's Equation> / GRAPE</td></tr><tr><td><a href="http://people.nas.nasa.gov/~bgreen/growler/">Growler</a></td><td><a href="http://opensource.org/licenses/NASA-1.3">NOSA</a></td><td></td><td>distributed object and event architecture</td></tr><tr><td><a href="http://heeks.net/">HeeksCAD/CNC</a></td><td><a href="http://code.google.com/p/heekscad/">BSD 3-clause</a></td><td></td><td>3D CAD application with extensive CAM features</td></tr><tr><td><a href=" https://hifiles.stanford.edu/">HiFiLES</a></td><td><a href="https://github.com/HiFiLES/HiFiLES-solver/blob/master/Licence_Agreement.rtf">GNU GPLv3</a></td><td></td><td>High Fidelity Large Eddy Simulation (HiFiLES) is an open-source, high-order, compressible flow solver for unstructured grids built from the ground up to take full advantage of parallel computing architectures. It is specially well-suited for Graphical Processing Unit (GPU) architectures. HiFiLES is written in C++. The code uses the MPI protocol to run on multiple processors, and CUDA to harness GPU performance.</td></tr><tr><td><a href="http://www.pdas.com/hyper.html">Hypersonic Aerodynamics for Arbitrary Bodies.</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>This is a totally new program based on the USAF program written by Gentry, Smyth and Oliver of Douglas Aircraft. Currently, only the inviscid methods are coded. The geometry is supplied in LaWgs (Langley Wireframe Geometry Standard). (work-in-progress) / HYPER </td></tr><tr><td><a href="http://www.pdas.com/induced.html">Induced Drag from Span Load Distribution.</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>This is a popular algorithm for computing the span load distribution on a planar wing when only a few sparse values of the loading are known. / INDUCED</td></tr><tr><td><a href="http://www.pdas.com/tomars.html">Interplanetary Mission Planner</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>A flexible interplanetary mission analysis program using patched conics. (work-in-progress) / TOMARS</td></tr><tr><td><a href="http://www.pdas.com/ipeg.html">IPEG</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Improved Price Estimation Guidelines (work-in-progress) / IPEG</td></tr><tr><td><a href=" http://jsbsim.sourceforge.net/">JSBSIM</a></td><td><a href="http://sourceforge.net/projects/jsbsim">GNU LGPLv2</a></td><td></td><td>flight dynamics model including fully configurable flight control system, aerodynamics, propulsion, landing gear arrangement, rotational earth effects on the equations of motion and output formats</td></tr><tr><td><a href="http://www.pdas.com/kernel.html">Kernel Function</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Compute unsteady aerodynamics with a kernel function technique which uses assumed pressure functions with unknown coefficients. (work-in-progress) / KERNEL</td></tr><tr><td><a href="http://www.pdas.com/linintrp.html">Line Interpolation </a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Tools to help you get those needed data points when doing an airplane layout. / LININTRP</td></tr><tr><td><a href="http://www.pdas.com/lineint.html">Line Intersection</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Tools to help you get those needed data points when doing an airplane layout. / LININTRP</td></tr><tr><td><a href="http://www.pdas.com/longlib.html">LONGLIB</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>A Graphics Library for Engineering Plots. (work-in-progress) / LONGLIB</td></tr><tr><td><a href="http://www.pdas.com/relay.html">Mars Relay Communication Link </a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Evaluates the communication link between a Mars lander, a Mars orbiter, and Earth. Designed for the Viking mission. (work-in-progress) / RELAY</td></tr><tr><td><a href="http://www.pdas.com/massprop.html">Mass Properties of a Rigid Structure</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Rapidly calculate the mass properties of complex rigid structural systems. / MASSPROP</td></tr><tr><td><a href="http://matplotlib.org/">Matplotlib</a></td><td><a href="http://matplotlib.org/users/license.html">BSD compatible</a></td><td></td><td>matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. matplotlib can be used in python scripts, the python and ipython shell, web application servers, and six graphical user interface toolkits.</td></tr><tr><td><a href="http://www.pdas.com/getmac.html">Mean Aerodynamic Chord</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Compute the mean aerodynamic chord of a wing of arbitrary planform. / GETMAC</td></tr><tr><td><a href="http://www.pdas.com/mislift.html">Missile Lift</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Aerodynamic Lift On Wing-Body Combinations At Small Angles Of Attack In Supersonic Flow (work-in-progress) / MISLIFT</td></tr><tr><td><a href="http://www.pdas.com/nseg.html">Mission Analysis</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>A segmented mission analysis program for low and high speed aircraft. (work-in-progress) / NSEG</td></tr><tr><td><a href="http://www.pdas.com/naca456.html">NACA Airfoils.</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>The coordinates of 4-digit, 4-digit-modified, 5-digit, 6-series, and 16-series airfoils may be accurately calculated. Newly modified to present upper and lower surface points at the same x-coordinate. Totally recoded in modern Fortran using modules. / NACA456</td></tr><tr><td><a href="http://code.nasa.gov/">NASA Open Source Repository</a></td><td><a href="">various</a></td><td></td><td>A home for the current state of open source software at NASA. Hosts distributed version control, documentation, and planning/management tools that are intended to lower the barriers to entry for software projects to go open.</td></tr><tr><td><a href="http://www.pdas.com/nastplt.html">NASTRAN plotting post processor</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Plot the results from NASTRAN. (work-in-progress) / NASTPLT</td></tr><tr><td><a href="http://www.pdas.com/exhaust.html">Nozzle Exhaust</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Analysis of three-dimensional supersonic nozzle exhaust flow fields (work-in-progress) / EXHAUST</td></tr><tr><td><a href="http://www.opencascade.org/">OpenCASCADE</a></td><td><a href="http://www.opencascade.org/occt/faq">GNU LGPLv2.1</a></td><td></td><td>3D modeling and visualization</td></tr><tr><td><a href="http://www.openfoam.org/">OpenFOAM</a></td><td><a href="http://openfoam.org/license.php">GNU GPL</a></td><td></td><td>computational fluid dynamics (CFD) package for complex fluid flows involving chemical reactions, turbulence and heat transfer, to solid dynamics and electromagnetics, also includes tools for meshing</td></tr><tr><td><a href="http://openmdao.org/">OpenMDAO</a></td><td><a href="http://openmdao.org/what-is-openmdao/why-open-source/">Apache V. 2.0</a></td><td></td><td>multi-disciplinary analysis and optimization</td></tr><tr><td><a href="http://openopt.org/Welcome">OpenOpt</a></td><td><a href="http://openopt.org/license">BSD 4-clause</a></td><td></td><td>numerical optimization</td></tr><tr><td><a href="http://www.openscad.org/">OpenSCAD</a></td><td><a href="http://www.openscad.org/about.html#license">GNU GPLv2</a></td><td></td><td>software for creating solid 3D CAD objects</td></tr><tr><td><a href="http://www.openvsp.org/">OpenVSP</a></td><td><a href="http://openvsp.org/license.shtml">NOSA</a></td><td></td><td>open source parametric aircraft geometry tool, vehicle sketch pad</td></tr><tr><td><a href="http://www.pdas.com/goptics.html">Optical Systems Analysis</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>A General Optical Systems Evaluation Program (work-in-progress) / GOPTICS</td></tr><tr><td><a href="http://www.pdas.com/oracls.html">Optimal Regulator Algorithms for the Control of Linear Systems</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Design controllers and optimal filters for systems which can be modeled by linear, time-invariant differential and difference equations. / ORACLS </td></tr><tr><td><a href="http://www.pdas.com/optim.html">Optimum Flight Path (I)</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>A vertical profile which minimizes aircraft fuel burn or direct operating cost (work-in-progress) / OPTIM</td></tr><tr><td><a href="http://www.pdas.com/opttraj.html">Optimum Flight Path (II)</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Optimum Trajectory of a Turbofan Airplane / OPTTRAJ</td></tr><tr><td><a href="http://www.pdas.com/pablo.html">Pablo</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Compute aerodynamic properties of an airfoil with boundary layer. Similar to Eppler, but coded with MatLab. / PABLO</td></tr><tr><td><a href="http://www.pdas.com/panair.html">Panair (A502)</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>High order aerodynamic panel code. The most versatile and accurate of all the linear theory panel codes. Subsonic/supersonic solutions with linear source strength variation and quadratic doublet strength variation. Very versatile boundary condition specifications. / PANAIR</td></tr><tr><td><a href="http://www.pdas.com/panin.html">PanAir input pre-processor</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Helps create the carefully formatted input files to PanAir. / PANIN</td></tr><tr><td><a href="http://www.pdas.com/pilot.html">Parametrized Investigation of Launch Opportunities and Trajectories</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Delimits launch widows to define the dates and times of day that a satellite may be launched to satisfy mission constraints. (work-in-progress) / PILOT</td></tr><tr><td><a href="http://www.pdas.com/">PDAS</a></td><td><a href="http://www.pdas.com/">public domain</a></td><td></td><td>Public Domain Aeronautical Software</td></tr><tr><td><a href="http://www.pdas.com/quartic.html">Polynomial Root Finder</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Solves quartic/cubic/quadratic polynomial equations with real coefficients taking special care in accuracy and precision. / QUARTIC</td></tr><tr><td><a href="http://www.pyopt.org/">pyOpt</a></td><td><a href="http://www.pyopt.org/reference/license.html">GNU LGPL</a></td><td></td><td>numerical optimization</td></tr><tr><td><a href="http://www.pdas.com/quiz.html">Quiz Program</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>An educational drill program that will teach you the aviation phonetic alphabet, 3-letter airport codes and more. Easily adaptable to other instructional tasks. / QUIZ</td></tr><tr><td><a href="http://www.pdas.com/rspline.html">Rational Spline Subroutines</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Scientific data often contains random errors that make plotting and curve-fitting difficult. The Rational-Spline Approximation with Automatic Tension Adjustment algorithm leads to a flexible, smooth representation of experimental data. / RSPLINE</td></tr><tr><td><a href="http://www.pdas.com/rotor.html">Rotorcraft</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Aeroelastic Analysis for Rotorcraft in Flight or in a Wind Tunnel (work-in-progress) / ROTOR</td></tr><tr><td><a href="http://www.scilab.org/">Scilab</a></td><td><a href="http://www.scilab.org/scilab/license">CeCILL</a></td><td></td><td>numerical computing</td></tr><tr><td><a href=" http://www.scipy.org">SciPy</a></td><td><a href="http://www.scipy.org/scipylib/license.html">SciPy License</a></td><td></td><td>scientific computing with python</td></tr><tr><td><a href="http://www.pdas.com/hlp.html">Silhouette</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Perspective views of an arbitrary configuration defined by wireframe meshes of gridpoints with hidden line removal. Written by David Hedgley of NASA Dryden. A very simple program called 3view is also included that produces plan, side, and rear views from the same input file. / HLP</td></tr><tr><td><a href="http://www.pdas.com/sneak.html">Sneak Circuit Analysis</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Analyzes electrical circuits to assist in the design of wiring bundles. (work-in-progress) / SNEAK</td></tr><tr><td><a href="http://www.pdas.com/solararr.html">Solar Powered Satellite</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Computes the solar energy incident on photoelectric array and determines the thermal radiation gained and lost. Once these are known, the amount of power which can be generated and the temperature of the array is determined. / SOLARARR</td></tr><tr><td><a href="http://www.pdas.com/boom.html">Sonic Boom</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>This program computes the propagation of a sonic boon through the earth's atmosphere. / BOOM</td></tr><tr><td><a href="http://www.pdas.com/sssp.html">Space Shuttle Synthesis Program </a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Conceptual design synthesis of one- or two-stage launch vehicles. (work-in-progress) / SSSP</td></tr><tr><td><a href=" http://su2.stanford.edu/">SU2</a></td><td><a href="https://github.com/su2code/SU2/wiki/License">GNU LGPLv2.1</a></td><td></td><td>Stanford University Unstructured CFD code</td></tr><tr><td><a href="http://www.pdas.com/shifarc.html">Super/Hypersonic Inviscid Flow</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Computes the inviscid supersonic/hypersonic flowfield about complex vehicle geometries. (work-in-progress) / SHIFARC</td></tr><tr><td><a href="http://www.pdas.com/w12sc3.html">Supersonic Wing Analysis</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Combines source and vortex panel singularities for calculating the linear theory estimate of supersonic configuration aerodynamics. (work-in-progress) / W12SC3</td></tr><tr><td><a href="http://www.pdas.com/tea201.html">Supersonic Wing Design</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>The famous Carlson-Middleton program for supersonic wing design. (work-in-progress) / TEA201</td></tr><tr><td><a href="http://www.pdas.com/tol.html">Takeoff and Landing of Transport Aircraft</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>This program provides for the detailed performance analysis of the takeoff and landing capabilities of specific aircraft designs and allows for sensitivity studies. The program calculates aircraft performance in accordance with the airworthiness standards of the Federal Aviation Regulations. (work-in-progress) / TOL</td></tr><tr><td><a href="http://www.pdas.com/tandem.html">Tandem Blade Flowfield</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Velocities And Streamlines on a Blade-To-Blade Stream Surface of a Tandem Blade Turbomachine. (work-in-progress) / TANDEM</td></tr><tr><td><a href="http://www.pdas.com/tps.html">Thermal Protection System</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Multidimensional Heat Conduction Program (work-in-progress) / TPS</td></tr><tr><td><a href="http://www.pdas.com/therm1d.html">Thermal Response</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>One-Dimensional Numerical Analysis Of The Transient Thermal Response Of Multilayer Insulative Systems (work-in-progress) / THERM1D</td></tr><tr><td><a href="http://www.pdas.com/aofa.html">Three-Dimensional Supersonic Viscous Flow</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Determine the viscous and inviscid flow about a body of revolution at angle of attack. (work-in-progress) / AOFA</td></tr><tr><td><a href="http://www.pdas.com/tidy.html">Tidy</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>A program for renumbering statements in a Fortran program. / TIDY</td></tr><tr><td><a href="http://sscweb.gsfc.nasa.gov/tipsod/">TIPSOD</a></td><td><a href=""></a></td><td></td><td>data visualization</td></tr><tr><td><a href=" https://code.google.com/p/topy/">ToPy</a></td><td><a href="https://code.google.com/p/topy/">GNU GPLv3</a></td><td></td><td>A program (written in Python) to solve one of three types of topology optimisation problems. You type a simple text input file (TPD file) and define one of the following three problems: minimum compliance, heat conduction, or mechanism design (synthesis).</td></tr><tr><td><a href="http://www.redhammer.se/tornado/">Tornado</a></td><td><a href="http://www.redhammer.se/tornado/DL.html">GNU GPLv2</a></td><td>MATLAB</td><td>aerodynamics</td></tr><tr><td><a href="http://www.pdas.com/monitor.html">Trajectory Operations and Requirements</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Monte Carlo Investigation Of Trajectory Operations And Requirements. (work-in-progress) / MONITOR</td></tr><tr><td><a href="http://www.pdas.com/rblade.html">Turbine Rotor Blade</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Design of Two-Dimensional Supersonic Turbine Rotor Blades with Boundary-Layer Correction (work-in-progress) / RBLADE</td></tr><tr><td><a href="http://www.pdas.com/turbsf.html">Turbulent skin friction</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>A coding of the reference temperature method of Barbara Short and Simon Sommer of NASA Ames. / TURBSF</td></tr><tr><td><a href="http://www.pdas.com/vascomp.html">V/STOL Aircraft Sizing and Performance</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Performs comparative design study of V/STOL aircraft systems yielding aircraft size and mission performance data. (work-in-progress) / VASCOMP</td></tr><tr><td><a href="http://www.pdas.com/vasp.html">Variable Dimension Automatic Synthesis Program</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>VASP is a variable dimension Fortran version of the Automatic Synthesis Program, used to implement Kalman filtering and control theory. / VASP</td></tr><tr><td><a href="http://www.pdas.com/vmaco.html">Variable Metric Algorithm for Constrained Optimization</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>The algorithm is based upon a variable metric method presented by M.J.D. Powell and a quadratic programming method by R. Fletcher. VMACO is a non-linear program developed to calculate the least value of a function of n variables subject to general constraints (both equality and inequality). / VMACO</td></tr><tr><td><a href="http://www.pdas.com/wgs2wrl.html">Virtual Reality</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>This program makes a VRML model (a .wrl file) from a wireframe geometry in LaWGS format. (work-in-progress) / VRML</td></tr><tr><td><a href="http://www.pdas.com/viewer.html">Visualize Three-Dimensional Surfaces</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Visualize a function of two variables. / VIEWER</td></tr><tr><td><a href="http://www.pdas.com/vlmd.html">Vortex Lattice Minimum Drag (VLMD)</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>This is one of many versions of the vortex lattice aerodynamic program from the low speed aerodynamics group at NASA Langley. / VLMD</td></tr><tr><td><a href="http://www.pdas.com/wavedrag.html">Wave Drag by Area Rule</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>This is the famous Harris Wave Drag Program from NASA Langley. / WAVEDRAG</td></tr><tr><td><a href="http://www.pdas.com/wingbody.html">WingBody panel code</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Subsonic/Supersonic Aerodynamics of simple wing-body-tail combinations. This is the Woodward panel code that includes calculation of the wing shape for minimum drag in supersonic cruise. / WINGBODY</td></tr><tr><td><a href="http://www.pdas.com/makewgs.html">Wireframe generator</a></td><td><a href="http://www.pdas.com">public domain</a></td><td></td><td>Creates wireframe models of simple wings and bodies. / MAKEWGS</td></tr><tr><td><a href="http://www.xflr5.com/xflr5.htm">XFLR5</a></td><td><a href="http://www.xflr5.com/">GNU GPL</a></td><td></td><td>analysis tool for airfoils, wings and planes operating at low Reynolds Numbers</td></tr><tr><td><a href="http://web.mit.edu/drela/Public/web/xfoil/">XFoil</a></td><td><a href="http://web.mit.edu/drela/Public/web/gpl.txt">GNU GPL</a></td><td></td><td>interactive program for the design and analysis of subsonic isolated airfoils</td></tr></table>Joshua Stultshttp://www.blogger.com/profile/03506970399027046387noreply@blogger.com4tag:blogger.com,1999:blog-5822805028291837738.post-28429871711550911712014-08-18T21:50:00.000-04:002014-08-18T21:50:34.098-04:00Validation & Verification in Physics of PlasmasPhysics of Plasmas is making a collection of 20 papers on verification and validation available for free download for a limited time. <br /><blockquote>Theoretical models, both analytical and numerical, are playing an increasingly important role in predicting complex plasma behavior, and providing a scientific understanding of the underlying physical processes. <br /><br />Since the ability of a theoretical model to predict plasma behavior is a key measure of the model’s accuracy and its ability to advance scientific understanding, it is <i>Physics of Plasmas</i>’ Editorial Policy to encourage the submission of manuscripts whose primary focus is the verification and/or validation of codes and analytical models aimed at predicting plasma behavior.<br /></blockquote><br /><a name='more'></a><br /><br />Quite a nice collection:<br /><ul><li> <a href="http://aip-info.org/1XPS-2P8QU-C9T53M-17D0T9-1/c.aspx">Verification methodology for plasma simulations and application to a scrape-off layer turbulence code</a></li><li><a href="http://aip-info.org/1XPS-2P8QU-C9T53M-17D0TA-1/c.aspx" >Validation of plasma shape reconstruction by Cauchy condition surface method in KSTAR</a></li><li><a href="http://aip-info.org/1XPS-2P8QU-C9T53M-17D0TB-1/c.aspx" >Wave dispersion in the hybrid-Vlasov model: Verification of Vlasiator</a></li><li><a href="http://aip-info.org/1XPS-2P8QU-C9T53M-17D0TC-1/c.aspx">Experimental validation of Mueller-Stokes theory and investigation of the influence of the Cotton-Mouton effect on polarimetry in a magnetized fusion plasma</a></li><li><a href="http://aip-info.org/1XPS-2P8QU-C9T53M-17D0TD-1/c.aspx">A verification of the gyrokinetic microstability codes GEM, GYRO, and GS2</a></li><li><a href="http://aip-info.org/1XPS-2P8QU-C9T53M-17D0TE-1/c.aspx">Verification of particle simulation of radio frequency waves in fusion plasmas</a></li><li><a href="http://aip-info.org/1XPS-2P8QU-C9T53M-17D0TF-1/c.aspx">Validation of single-fluid and two-fluid magnetohydrodynamic models of the helicity injected torus spheromak experiment with the NIMROD code</a></li><li><a href="http://aip-info.org/1XPS-2P8QU-C9T53M-17D0TG-1/c.aspx">Numerical verification of Orbit and Nemato codes for magnetic topology diagnosis</a></li><li><a href="http://aip-info.org/1XPS-2P8QU-C9T53M-17D0TH-1/c.aspx" >Experimental evidence of ion acoustic soliton chain formation and validation of nonlinear fluid theory</a></li><li><a href="http://aip-info.org/1XPS-2P8QU-C9T53M-17D0TI-1/c.aspx">Verification of electromagnetic fluid-kinetic hybrid electron model in global gyrokinetic particle simulation</a></li><li><a href="http://aip-info.org/1XPS-2P8QU-C9T53M-17D0TJ-1/c.aspx">Verification and validation of linear gyrokinetic simulation of Alfvén eigenmodes in the DIII-D tokamak</a></li><li><a href="http://aip-info.org/1XPS-2P8QU-C9T53M-17D0TK-1/c.aspx">Validation of electron temperature gradient turbulence in the Columbia Linear Machine</a></li><li><a href="http://aip-info.org/1XPS-2P8QU-C9T53M-17D0TL-1/c.aspx">Evidence cross-validation and Bayesian inference of MAST plasma equilibria</a></li><li><a href="http://aip-info.org/1XPS-2P8QU-C9T53M-17D0TM-1/c.aspx">Advances in validating gyrokinetic turbulence models against L- and H-mode plasmas</a></li><li><a href="http://aip-info.org/1XPS-2P8QU-C9T53M-17D0TN-1/c.aspx">Analysis of plasma instabilities and verification of the BOUT code for the Large Plasma Device</a></li><li><a href="http://aip-info.org/1XPS-2P8QU-C9T53M-17D0TO-1/c.aspx">On the application of electron cyclotron emission imaging to the validation of theoretical models of magnetohydrodynamic activity</a></li><li><a href="http://aip-info.org/1XPS-2P8QU-C9T53M-17D0TP-1/c.aspx">Methodology for turbulence code validation: Quantification of simulation-experiment agreement and application to the TORPEX experiment</a></li><li><a href="http://aip-info.org/1XPS-2P8QU-C9T53M-17D0TQ-1/c.aspx">Nonlinear three-dimensional verification of the SPECYL and PIXIE3D magnetohydrodynamics codes for fusion plasmas</a></li><li><a href="http://aip-info.org/1XPS-2P8QU-C9T53M-17D0TR-1/c.aspx">A synthetic diagnostic for validation of electron gyroradius scale turbulence simulations against coherent scattering measurements</a></li><li><a href="http://aip-info.org/1XPS-2P8QU-C9T53M-17D0TS-1/c.aspx">Verification and validation for magnetic fusion</a></li></ul><br />I started at the bottom of the list with "Verification and validation for magnetic fusion." That one gives a bit of philosophy and some high-level review of the state of the art in this particular field. I especially liked this part:<br /><blockquote>Strictly speaking we do not verify and validate codes. Technically we verify a set of calculations, then draw inferences about the validity of a code. Similarly, one validates a set of simulations, then draws inferences about the underlying model. <br /></blockquote>A careful grid convergence study can give results that allow an estimate of the order of accuracy of the solution method, and can be a strong bit of evidence that you've implemented things correctly. This estimate is based on an error <i>ansatz</i> (a model of the leading truncation error term). The values of the error functional for each solution in the grid convergence study allow for estimates of the values of the parameters in this (very simple) model. Even in a "purely mathematical" exercise such as verification, we can never escape uncertainty! <br /><br />I also like this focus on the pragmatic: <br /><blockquote>The conditional nature of the definitions of both V&V should be noted. To avoid unbounded philosophical questions, V&V are best defined 1. for a targeted class of problems and applications, 2. for a set of specified variables and 3. at a specified level of accuracy. Together, the goal of validation and verification is an assessment of the extent to which a simulation represents true system behavior sufficiently to be useful.<br /></blockquote>When one says a code is validated, the natural thing to ask is, "for what purpose?"<br /><br />The other interesting looking one in the collection that I have only skimmed so far is "Evidence cross-validation and Bayesian inference of MAST plasma equilibria." I can <a href="http://www.variousconsequences.com/search/label/Jaynes">heartily commend their first reference</a>. <br /><br />Please highlight more V&V goodness in the comments, and enjoy!Joshua Stultshttp://www.blogger.com/profile/03506970399027046387noreply@blogger.com0tag:blogger.com,1999:blog-5822805028291837738.post-27190379230420856632014-07-19T17:11:00.000-04:002014-07-19T17:11:39.104-04:00FreeFem++ Topology Optimization Scripts<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-AIOAP646jHg/U8rexScJJ1I/AAAAAAAACeg/Wm7EYJZAjXU/s1600/cantilever.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-AIOAP646jHg/U8rexScJJ1I/AAAAAAAACeg/Wm7EYJZAjXU/s1600/cantilever.png" height="200" width="400" /></a></div><br />There are lots of open source topology optimization options out there (e.g. <a href="http://www.topopt.dtu.dk/?q=node/2">99 line code</a>, <a href="https://www.blogger.com/blogger.g?blogID=5822805028291837738">ToPy</a>) that I've <a href="http://www.variousconsequences.com/2012/12/open-source-topology-optimization-for.html">written about before</a>. One that I haven't posted about yet is a collection of <a href="http://www.cmap.polytechnique.fr/~allaire/freefem_en.html">FreeFem++ scripts</a> by Allaire, et al. that illustrate a variety of topology optimization approaches and problems. <a href="http://www.freefem.org/ff++/">FreeFem++</a> is a partial differential equation solver based on the finite element method. FreeFem++problems are defined in scripts that use a high level language. FreeFem++ itself is written in C++. <br /><br /><a name='more'></a><br />Here's a list of the scripts they've shared for doing shape/topology optimization with FreeFem++: <br /><dl><dt><a href="http://www.cmap.polytechnique.fr/~allaire/map562/plate.edp">plate.edp</a></dt><dd>parametric optimization of a plate with varying thickness</dd><dt><a href="http://www.cmap.polytechnique.fr/~allaire/map562/counterex.edp">counterex.edp</a></dt><dd>parametric optimization, minimization of a least-square criterion for an elastic plate with varying thickness (example of non-convergence under mesh refinement)</dd><dt><a href="http://www.cmap.polytechnique.fr/~allaire/map562/cantilever_en.edp">cantilever_en.edp</a></dt><dd>geometric shape optimization, compliance minimization of a cantilever</dd><dt><a href="http://www.cmap.polytechnique.fr/~allaire/map562/torsion_en.edp">torsion_en.edp</a></dt><dd>topology optimization, maximization of the rigidity of a two-phase elastic bar under torsion</dd><dt><a href="http://www.cmap.polytechnique.fr/~allaire/map562/cantilever.homog.edp">cantilever.homog.edp</a></dt><dd>topology optimization, Compliance minimization of a cantilever (with composite penalization)</dd><dt><a href="http://www.cmap.polytechnique.fr/~allaire/map562/cantilever.homog.struct.edp">cantilever.homog.struct.edp</a></dt><dd>topology optimization, compliance minimization of a cantilever with a structured mesh </dd><dt><a href="http://www.cmap.polytechnique.fr/~allaire/map562/pont.homog.struct.edp">pont.homog.struct.edp</a></dt><dd>topology optimization, compliance minimization of an arch with a structured mesh </dd><dt><a href="http://www.cmap.polytechnique.fr/~allaire/map562/levelset-cantilever.edp">levelset-cantilever.edp</a></dt><dd>compliance minimization for a cantilever by the level set method </dd> </dl>There are some <a href="http://www.cmap.polytechnique.fr/~optopo/OptFree">additional scripts</a> that go along with the paper <a href="http://www.cmap.polytechnique.fr/preprint/repository/586.pdf">Structural Optimization with FreeFem++</a> posted as well. The scripts are very much in the educational spirit of the <a href="http://www.topopt.dtu.dk/?q=node/2">99 line code</a>. They are concise and well commented. <br /><br />The several of the scripts I've tried work in the latest version of FreeFem++ that's packaged for Fedora (3.30). Joshua Stultshttp://www.blogger.com/profile/03506970399027046387noreply@blogger.com0tag:blogger.com,1999:blog-5822805028291837738.post-8969926469869574132014-07-01T05:00:00.000-04:002014-07-01T06:27:12.652-04:00UAVs for Film and ProfitYesterday's AIAA Daily Launch had a great round-up of some recent UAV news: <br /><ul><li><a href="http://online.wsj.com/articles/drone-dogfight-big-defense-firms-versus-techies-1403891039">Wall Street Journal</a> (6/27, Nicas, Subscription Publication) reported on the ongoing fight over U.S. unmanned aircraft rules, which is pitting high-tech entrepreneurs against major aerospace and defense companies. <br /><li><a href="http://www.bostonglobe.com/news/nation/2014/06/28/crashes-mount-military-flies-more-drones/5HQK3l5h1mm7s3i4R950yI/story.html">Washington Post</a> (6/28, Whitlock) reported that a majority of U.S. military UAV accidents occur abroad, but “at least 49 large drones have crashed during test or training flights near domestic bases since 2001, according to a yearlong Washington Post investigation.”<br /><li><a href="http://www.csmonitor.com/World/Latest-News-Wires/2014/0628/Why-US-drones-are-now-operating-in-Iraq">AP</a> (6/28, Jelinek) reported that the Pentagon announced armed UAVs are “flying over Baghdad to protect U.S. troops that recently arrived to assess Iraq’s deteriorating security.” <br /><li><a href="http://www.sun-sentinel.com/news/palm-beach/boynton-beach/fl-boynton-beach-drone-open-sky-20140629,0,6623369.story">South Florida Sun Sentinel</a> (6/29, Anthony) reported that Boynton Beach is dropping plans to ban drones in order to boost its “fledgling image as a technological hot spot — a place that welcomes engineers and innovation.” <br /><li><a href="">South Bend (IN) Tribune</a> (6/29, Sheckler) reported that as UAVs become cheaper and more available to the public, and their popularity grows among hobbyists and entrepreneurs, “they will increasingly raise questions about how to best regulate them, and how to balance concerns about safety and privacy.” <br /><li><a href="http://www.hollywoodreporter.com/behind-screen/drones-movie-shoots-debate-rages-715311">Hollywood Reporter</a> (6/27, Giardina) reported that Hollywood movie studios are interested in using UAVs in filming “because they hold the promise of new creative options, real cost savings and possibly even safer sets.” Federal law prohibits the commercial use of UAVs, so filmmakers choose to shoot in countries with lax UAV laws to get the shots needed for their films. <br /></ul>Most interesting are the petitions of the seven aerial photography companies for exemptions for commercial filming operations. As the <a href="http://www.faa.gov/news/press_releases/news_story.cfm?newsId=16294">FAA press release</a> says, the seven Section 333 Exemption Applications for Commercial Operations of Unmanned Aircraft are available on <a href="http://www.regulations.gov/">regulations.gov</a>: <ul><li> <a href="http://www.regulations.gov/#!documentDetail;D=FAA-2014-0352-0001">Filed by Astraeus Aeria</a><br /><li> <a href="http://www.regulations.gov/#!documentDetail;D=FAA-2014-0353-0001">Filed by Aerial MOB, LLC</a><br /><li> <a href="http://www.regulations.gov/#!documentDetail;D=FAA-2014-0354-0001">Filed by HeliVideo Productions LLC</a><br /><li> <a href="http://www.regulations.gov/#!documentDetail;D=FAA-2014-0355-0001">Filed by Flying-Cam Inc.</a><br /><li> <a href="http://www.regulations.gov/#!documentDetail;D=FAA-2014-0356-0001">Filed by RC Pro Productions Consulting LLC dba Vortex Aerial</a><br /><li> <a href="http://www.regulations.gov/#!documentDetail;D=FAA-2014-0357-0001">Filed by Pictorvision Inc.</a><br /><li> <a href="http://www.regulations.gov/#!documentDetail;D=FAA-2014-0358-0001">Filed by Snaproll Media LLC</a><br /></ul>I think it is interesting that these companies are taking this approach, because in some fillings by Pirker they specifically call out historical use of remote control aircraft for movies and TV (<a href="http://www.variousconsequences.com/2013/10/commercial-model-aircraft-use.html">one of four broad categories of commercial use</a> they cite). The applications have 18 "limitations and conditions" under which commercial operations will take place. They also make this interesting claim: "These limitations provide for at least an equivalent or even higher level of safety to operations under the current regulatory structure because the proposed operations represent a safety enhancement to the already safe movie and television filming operations conducted with conventional aircraft." <div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-P0xOnLH2qKc/U7Hvk0WnPOI/AAAAAAAACd8/nHI_Z_njQzQ/s1600/helo-filming.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-P0xOnLH2qKc/U7Hvk0WnPOI/AAAAAAAACd8/nHI_Z_njQzQ/s400/helo-filming.png" /></a></div>To drive that point home they show a couple pictures of a manned helicopter filming as it currently occurs. <br /><br />Joshua Stultshttp://www.blogger.com/profile/03506970399027046387noreply@blogger.com0tag:blogger.com,1999:blog-5822805028291837738.post-61924445364665115912014-06-29T08:13:00.001-04:002014-06-29T21:13:07.630-04:00 3-in Tack Strip Bracket TopOpt<script src="https://embed.github.com/view/3d/jstults/3-in-Tack-Strip-Bracket-TopOpt/master/brkt.stl?height=320&width=560"></script><br />I found <a href="https://www.thingiverse.com/thing:377269">a useful bracket</a> on thingiverse for mounting things on a 3-in tack strip. Of course I thought this was a perfect opportunity for a bit of topology optimization. All of the design files and the stl (rendered above) are <a href="https://github.com/jstults/3-in-Tack-Strip-Bracket-TopOpt">available on GitHub</a>. The part is also <a href="http://www.thingiverse.com/thing:378238">on thingiverse</a>. <br /><br />Here's a video showing the progress of the optimization: <br /><iframe width="480" height="360" src="//www.youtube.com/embed/GOsjncsgqUs" frameborder="0" allowfullscreen></iframe><br /><br />Rendered with a wave texture in Cycles to give the layered look it would have from an FDM machine, not quite right, but pretty close:<br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-UBsYqVkLAmM/U7C5lrXTdnI/AAAAAAAACdo/FAE9Grwo-4U/s1600/brkt_layer_render-crop.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-UBsYqVkLAmM/U7C5lrXTdnI/AAAAAAAACdo/FAE9Grwo-4U/s400/brkt_layer_render-crop.png" /></a></div>Joshua Stultshttp://www.blogger.com/profile/03506970399027046387noreply@blogger.com3tag:blogger.com,1999:blog-5822805028291837738.post-52503421037993027162014-06-26T20:01:00.000-04:002014-06-26T20:04:11.319-04:00HiFiLES v0.1 Release<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-hvd6MPWkzKY/U6yy0fFKmHI/AAAAAAAACcU/iesxqVXGBcQ/s1600/hifiles-density-t1050010-jet-cropped.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-hvd6MPWkzKY/U6yy0fFKmHI/AAAAAAAACcU/iesxqVXGBcQ/s1600/hifiles-density-t1050010-jet-cropped.png" height="85" width="400" /></a></div>The folks at the <a href="http://aero-comlab.stanford.edu/">Stanford Aerospace Computing Lab</a> have recently released version 0.1 of <a href="https://hifiles.stanford.edu/">HiFiLES</a>. "HiFiLES is a high-order Flux Reconstruction solver for the Euler and Navier Stokes equations, capable of simulating high Reynolds number turbulent flows and transonic/supersonic regimes on unstructured grids."<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-039qTPEFDjg/U6yy4cnw2RI/AAAAAAAACcc/ULE2k4pf6Dg/s1600/hifiles-0.1-rel-flyer.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-039qTPEFDjg/U6yy4cnw2RI/AAAAAAAACcc/ULE2k4pf6Dg/s1600/hifiles-0.1-rel-flyer.png" height="200" width="153" /></a></div><br />From the release notes:<br /><div class="quote"><!--l. 14--><br /><div class="noindent">High-order numerical methods for flow simulations capture complex phenomena like vortices and separation regions using fewer degrees of freedom than their low-order counterparts. The High Fidelity (HiFi) provided by the schemes, combined with turbulence models for small scales and wall interactions, gives rise to a powerful Large Eddy Simulation (LES) software package. HiFiLES is an open-source, high-order, compressible flow solver for unstructured grids built from the ground up to take full advantage of parallel computing architectures. It is specially well-suited for Graphical Processing Unit (GPU) architectures. HiFiLES is written in C++. The code uses the MPI protocol to run on multiple processors, and CUDA to harness GPU performance.</div></div><!--l. 17--><br /><div class="indent">The main reference for the code right now is this V&V paper.<span class="cite">[<a href="https://www.blogger.com/blogger.g?blogID=5822805028291837738#Xlopezverification">1</a>]</span> The code uses an Energy Stable Flux Reconstruction (ESFR) scheme. Here are a couple papers on that approach.<span class="cite">[<a href="https://www.blogger.com/blogger.g?blogID=5822805028291837738#Xvincent2011new">2</a>, <a href="https://www.blogger.com/blogger.g?blogID=5822805028291837738#Xcastonguay2012new">3</a>]</span>.<br /></div><br /><h3 class="likesectionHead"><a href="https://www.blogger.com/null" id="x1-1000"></a>References</h3><!--l. 1--><div class="noindent"></div><div class="thebibliography"><div class="bibitem"><span class="biblabel"> [1]<span class="bibsp"> </span></span><a href="https://www.blogger.com/null" id="Xlopezverification"></a>López-Morales, M. R., Bull, J., Crabill, J., Economon, T. D., Manosalvas, D., Romero, J., Sheshadri, A., Watkins II, J. E., Williams, D., Palacios, F., et al., “<a href="http://arc.aiaa.org/doi/abs/10.2514/6.2014-3168">Verification and Validation of HiFiLES: a High-Order LES unstructured solver on multi-GPU platforms</a>,” .<br /></div><div class="bibitem"><span class="biblabel"> [2]<span class="bibsp"> </span></span><a href="https://www.blogger.com/null" id="Xvincent2011new"></a>Vincent, P. E., Castonguay, P., and Jameson, A., “<a href="http://aero-comlab.stanford.edu/Papers/vincent_jsc_2010.pdf">A new class of high-order energy stable flux reconstruction schemes</a>,” <span class="cmti-10">Journal of Scientific Computing</span>, Vol. 47, No. 1, 2011, pp. 50–72.<br /></div><div class="bibitem"><span class="biblabel"> [3]<span class="bibsp"> </span></span><a href="https://www.blogger.com/null" id="Xcastonguay2012new"></a>Castonguay, P., Vincent, P. E., and Jameson, A., “<a href="http://aero-comlab.stanford.edu/Papers/castonguay_jsc_2011.pdf">A new class of high-order energy stable flux reconstruction schemes for triangular elements</a>,” <span class="cmti-10">Journal of Scientific Computing</span>, Vol. 51, No. 1, 2012, pp. 224–256.<br /></div></div><br /><br /><br />Joshua Stultshttp://www.blogger.com/profile/03506970399027046387noreply@blogger.com1tag:blogger.com,1999:blog-5822805028291837738.post-48759388923504067032014-06-05T06:41:00.002-04:002014-06-05T06:50:53.407-04:00Emerging and Readily Available Technologies and National Security<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-qaE_0LuEYi4/U5BFTs5cTII/AAAAAAAACbY/mCmiQlyAquU/s1600/18512-0309293340-covers450.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-qaE_0LuEYi4/U5BFTs5cTII/AAAAAAAACbY/mCmiQlyAquU/s200/18512-0309293340-covers450.jpg" /></a></div><br />Here's the description of this report from the NAP site: <br /><blockquote>Emerging and Readily Available Technologies and National Security is a study on the ethical, legal, and societal issues relating to the research on, development of, and use of rapidly changing technologies with low barriers of entry that have potential military application, such as information technologies, synthetic biology, and nanotechnology. The report also considers the ethical issues associated with robotics and autonomous systems, prosthetics and human enhancement, and cyber weapons. These technologies are characterized by readily available knowledge access, technological advancements that can take place in months instead of years, the blurring of lines between basic research and applied research, and a high uncertainty about how the future trajectories of these technologies will evolve and what applications will be possible.<br /></blockquote><a name='more'></a><br /><blockquote>Emerging and Readily Available Technologies and National Security is a study on the ethical, legal, and societal issues relating to the research on, development of, and use of rapidly changing technologies with low barriers of entry that have potential military application, such as information technologies, synthetic biology, and nanotechnology. The report also considers the ethical issues associated with robotics and autonomous systems, prosthetics and human enhancement, and cyber weapons. These technologies are characterized by readily available knowledge access, technological advancements that can take place in months instead of years, the blurring of lines between basic research and applied research, and a high uncertainty about how the future trajectories of these technologies will evolve and what applications will be possible.<br /></blockquote><br />I think it's funny that the original DARPA charter for the study used the term "democratized" (what an ugly word) rather than "emerging and readily available" to refer to the technologies. Democratized is a <a href="http://caewatch.com/cfd-in-2013-what-will-be-changed-what-will-not/">a popular buzzword</a> found in marketing copy about computer aided engineering solutions. It seems to illicit similar disdain in that setting as well. <br /><br />The report raises lots of questions. I was glad to notice that they acknowledge that addressing compatibility of weapons technologies with the Law of Armed Conflict has a long tradition in the US Department of Defense. Managing the application of force ethically is not new even if the tools used to apply force are changing. I'm not sure that the issues raised are novel. For example, "What limits, if any, should be placed on the development of cyber weapons, given the nature and extent of the economic damage that they can cause?" This is already well addressed by the concepts of <a href="http://en.wikipedia.org/wiki/Proportionality_%28law%29">Proportionality</a> and <a href="http://en.wikipedia.org/wiki/Distinction_%28law%29">Distinction</a>.<br /><br />The full report is free to download with registration:<br />National Research Council and National Academy of Engineering. <a href="http://www.nap.edu/catalog.php?record_id=18512">Emerging and Readily Available Technologies and National Security A Framework for Addressing Ethical, Legal, and Societal Issues</a>. Washington, DC: The National Academies Press, 2014.Joshua Stultshttp://www.blogger.com/profile/03506970399027046387noreply@blogger.com0tag:blogger.com,1999:blog-5822805028291837738.post-56105773344725935602014-05-28T21:01:00.001-04:002014-11-15T08:06:17.609-05:00SpaceX SuperDraco Made with DMLS<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-WaK58aJcvls/U4aB_zUveHI/AAAAAAAACas/jlxhJmRnK8o/s1600/superdraco_fire_pic.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://2.bp.blogspot.com/-WaK58aJcvls/U4aB_zUveHI/AAAAAAAACas/jlxhJmRnK8o/s400/superdraco_fire_pic.jpg" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><a href="http://www.spacex.com/press/2014/05/27/spacex-completes-qualification-testing-superdraco-thruster">SpaceX completes Super Draco Qual</a></td></tr></tbody></table>From the press release: <br /><blockquote>The SuperDraco engine chamber is manufactured using state-of-the-art direct metal laser sintering (DMLS), otherwise known as 3D printing. The chamber is regeneratively cooled and printed in Inconel, a high-performance superalloy that offers both high strength and toughness for increased reliability.<br /><br />“Through 3D printing, robust and high-performing engine parts can be created at a fraction of the cost and time of traditional manufacturing methods,” said Elon Musk, Chief Designer and CEO. “SpaceX is pushing the boundaries of what additive manufacturing can do in the 21st century, ultimately making our vehicles more efficient, reliable and robust than ever before.”</blockquote><br /><a name='more'></a><br /><a href="https://www.youtube.com/watch?v=-gqqcanwpG0">Paul Breed's interview</a> inspired me to pursue <a href="http://www.variousconsequences.com/2012/09/dmls-wind-tunnel-models.html">DMLS for some wind tunnel models</a>, and I think the <a href="http://www.rocketmoonlighting.com/projects/printed-chamber">RocketMoonlighting printed engines</a> are pretty awesome. SpaceX's applications of DMLS to such a large motor is pretty exciting for a couple reasons though. This is a <i>production</i> engine that will be for a <i>human rated</i> vehicle. Of course, <a href="http://www.ge.com/stories/additive-manufacturing">GE is already printing</a> small (but important) production engine parts like fuel injectors, and has been using additive manufacturing for test components for a while. I'd be interested to see how much of the Super Draco is actually 3-D printed. Is it just a fuel injector like GE, or is it more in line with the RocketMoonlighting engine that is entirely printed? <br /><br />A common thread in all these applications (regeneratively cooled engines, wind tunnel models, fuel injectors) is high internal complexity (passages for fluid flow or instrumentation) that can be had at greatly reduced parts count and fabrication complexity with an additive manufacturing method. These types of applications are squarely within the competitive advantage sweet spot for additive processes. Joshua Stultshttp://www.blogger.com/profile/03506970399027046387noreply@blogger.com1tag:blogger.com,1999:blog-5822805028291837738.post-86510926078939996372014-03-05T21:13:00.001-05:002014-03-05T21:45:03.420-05:00SAC-D Hearing on National Security Space Launch Programs<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-ifV5ihNKTLw/UxfRQQ0a-TI/AAAAAAAACYk/qfrQbXcFGJQ/s1600/eelv-cost-growth.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-ifV5ihNKTLw/UxfRQQ0a-TI/AAAAAAAACYk/qfrQbXcFGJQ/s400/eelv-cost-growth.png" /></a></div>The Senate Appropriations Committee, Defense Subcommittee (SAC-D) held a hearing on 5 March concerning <a href="http://www.appropriations.senate.gov/ht-defense.cfm?method=hearings.view&id=c79ea7af-1e67-4de7-967b-95b4a78e3e35">National Security Space Launch Programs</a>. The written testimony and webcast is available from the Senate website: <br /><ul><li><a href="https://www.blogger.com/ht-defense.cfm?method=hearings.download&id=a32fb182-f9e9-4cc7-9864-bd2c692ee915">Dr. Scott Pace</a></li><li><a href="https://www.blogger.com/ht-defense.cfm?method=hearings.download&id=f9d474e4-cafa-4641-9cf4-0b7171ef48f6">Elon Musk</a></li><li><a href="https://www.blogger.com/ht-defense.cfm?method=hearings.download&id=50596623-ced1-452d-9120-7fa489701e07">GAO PowerPoint</a> See also this recent GAO report: <a href="http://www.gao.gov/products/GAO-14-377R">The Air Force's Evolved Expendable Launch Vehicle Competitive Procurement</a></li><li><a href="https://www.blogger.com/ht-defense.cfm?method=hearings.download&id=ecd2f78d-6388-433d-9974-87ffc80b3650">Michael Gass</a></li><li><a href="http://www.appropriations.senate.gov/webcasts.cfm?method=webcasts.view&id=9e2eaa52-fcb3-42e5-b9f0-a7874d591791">Webcast</a></li></ul>Chairman Durbin's opening statement emphasized that this hearing had some features that were a bit unusual,<br /><blockquote>It's been the general practice of the appropriations committee to direct questions about acquisitions programs to the government officials responsible for the use of tax-payer money. Today, we're taking a different approach by going into the details of the EELV program with the two companies most involved in the upcoming competition, as well as two distinguished experts in space acquisitions. </blockquote><a name='more'></a><br />Later in the hearing he also noted that SpaceX and ULA were requested to provide 10 questions for the record for the other one to answer. I wonder what those twenty questions are, and if the two companies will answer them "appropriately and in a timely manner"? <br /><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-4fSmu6X7lBs/UxfYMw6Xi8I/AAAAAAAACY0/uYXQoMkm5eE/s1600/nssl-sacd-hearing-witnesses.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-4fSmu6X7lBs/UxfYMw6Xi8I/AAAAAAAACY0/uYXQoMkm5eE/s400/nssl-sacd-hearing-witnesses.png" /></a></div>Michael Gass of ULA plays to the strengths you'd expect him to: it may be expensive, but when the nation needs us, we get the hardware where it has to go reliably. <br /><br />I like this point that Elon Musk makes in his spoken testimony,<br /><blockquote>The impacts of relying on monopoly providers since 2006 were predictable and they've borne out.</blockquote>The price consequences of monopoly are <a href="http://www.variousconsequences.com/2011/04/acquisition-death-spirals.html">so predictable</a>, and so often ignored. His 5 points are,<br /><ol><li>The Air Force and other agencies are paying too much for space launch services</li><li>SpaceX has to meet requirements that were never demanded of the incumbent provider</li><li>Robust competition must begin this calendar year; SpaceX recently learned that only one launch may be awarded this year</li><li>Eliminate the $1 billion/year subsidy to ULA which creates an un-level playing field for competition</li><li>Falcon Rockets are made in America (U-S-A! U-S-A!)</li></ol><br />Gass makes some interesting points about investments in advanced propulsion technology being a bit unstable in the US compared to the Soviets. Musk suggested that it makes sense to support two families of rockets: Delta and Falcon. He recommends that we phase out the Atlas 5 which relies on the significant foreign input (Russian engines). In response to questions from Sen Feinstein Musk mentions an interesting approach of using a fixed-cost contract for the "basic vehicle", but cost-plus for any mission unique requirements or to provide operational flexibility. <br />Joshua Stultshttp://www.blogger.com/profile/03506970399027046387noreply@blogger.com1tag:blogger.com,1999:blog-5822805028291837738.post-20373497896385151852014-02-21T14:30:00.004-05:002014-02-21T14:30:51.917-05:00SU2 Community Verification Studies<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-bIn89QT413Q/UweowaNstBI/AAAAAAAACXE/rYDqH38lXss/s1600/vortex.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-bIn89QT413Q/UweowaNstBI/AAAAAAAACXE/rYDqH38lXss/s400/vortex.png" /></a></div>I think there is quite a bit of excitement and community involvement building around the SU2 code. Other than all of the updates and improvements in the <a href="http://www.variousconsequences.com/2014/01/su2-v3-released.html">recently released version 3</a> and <a href="http://www.cfd-online.com/Forums/su2-news-announcements/130055-release-su2_edu-1-1-a.html">SU2_EDU release</a>, I am excited to see the wider community start to do some <a href="http://www.cfd-online.com/Forums/su2/129537-temporal-spacial-grid-convergence-study.html">serious verification studies</a>. The advecting vortex case linked in that discussion thread would be a good one to add to the Test Case collection. <br /><br />The core SU2 devs have <a href="http://su2.stanford.edu/documents/SU2_AIAA_SciTech2014.pdf">a recent AIAA pape</a>r on verification/validation cases that they have successfully run with SU2 and compared favorably to other codes. One thing that is conspicuously absent is grid convergence studies to verify order of accuracy. This is an ideal place for the community to contribute because you don't have to have hugely in-depth knowledge of the source code base to run a grid convergence study or contribute a tutorial or test case (though you do have to be a fairly competent user). Much to their credit, the SU2 team is <a href="http://su2.stanford.edu/solicitation.html">soliciting just this kind of contribution</a> (my emphasis):<br /><blockquote>Expanded tutorials: we would like additional tutorials that complement the existing set found in the web-based documentation. The tutorials can either detail and explain the functionality of SU2 (shape optimization, parallel computing, mesh deformation, etc.) or demonstrate general CFD knowledge (highlighting good meshes vs. bad meshes, the importance of CFL number, etc.). Tutorials are intended to be tools for teaching and learning, and they should follow the same style as the existing tutorials. They must provide any mesh or config files that are necessary for their completion. <b>New or unique verification and validation cases</b> would be of particular interest here. <br /></blockquote><br />Exciting times in open source CFD!Joshua Stultshttp://www.blogger.com/profile/03506970399027046387noreply@blogger.com0tag:blogger.com,1999:blog-5822805028291837738.post-48178344921459402462014-02-06T20:42:00.001-05:002014-02-06T20:42:06.780-05:00TPS Sizing with Complex Step Method<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-IPzciEaKbmA/UvQ1gcMkDxI/AAAAAAAACWU/nbbW7GOn5zg/s1600/tps-sizing-optimization-using-complex-variable-differentiation-sensitivity.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://4.bp.blogspot.com/-IPzciEaKbmA/UvQ1gcMkDxI/AAAAAAAACWU/nbbW7GOn5zg/s400/tps-sizing-optimization-using-complex-variable-differentiation-sensitivity.png" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">TPS Sizing Optimization Using Complex Variable Differentiation Sensitivity</td></tr></tbody></table>I stumbled upon an <a href="http://tfaws.nasa.gov/TFAWS03/software_training/shapb_zonair_demo.pdf">interesting old presentation</a> that shows a neat application of the <a href="http://www.variousconsequences.com/2008/12/complex-step-subtractive-cancellation.html">complex step method</a> of calculating numerical derivatives for use in optimizing thermal protection system (TPS) thickness. The great thing about the method is that it is minimally intrusive.<br /><a name='more'></a><br />As long as you can change the reals in your old analysis code to be complex data types, then you can run it as you normally would except with a small imaginary perturbation to give the derivative. This is often a much more tractable approach than deriving an adjoint for a legacy code. <br /><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-lVtutlvMz_U/UvQ3dRNeg7I/AAAAAAAACWg/KG9tBY9pHWo/s1600/development-optimization-procedure-tps-sizing.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://1.bp.blogspot.com/-lVtutlvMz_U/UvQ3dRNeg7I/AAAAAAAACWg/KG9tBY9pHWo/s400/development-optimization-procedure-tps-sizing.png" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Development of an Optimization Procedure for TPS Sizing</td></tr></tbody></table>Joshua Stultshttp://www.blogger.com/profile/03506970399027046387noreply@blogger.com0tag:blogger.com,1999:blog-5822805028291837738.post-32092683446438538422014-01-15T20:38:00.002-05:002014-01-15T20:40:50.199-05:00SU2 v3 ReleasedThe folks at <a href="http://adl.stanford.edu/">Stanford Aerospace Design Lab</a> have released a new major version of <a href="http://su2.stanford.edu/">Stanford University Unstructured (SU2)</a>. Here's the announcement: <br /><blockquote>Dear Colleague,<br /><br />Since its introduction in January 2012, SU2, The Open-Source CFD Code, has been downloaded thousands of times by users and developers in academia, government, and industry, including many leading companies and universities. As an open-source project, the growth of active user and developer communities is a crucial goal for SU2. Given the incredibly positive response, we are pleased to announce a new version of the code with major improvements and a entirely new package for educational purposes.<br /><br />This release marks the third major version of the SU2 open-source code (<a href="http://su2.stanford.edu/">su2.stanford.edu</a>). SU2 is a collection of C++ software tools for performing Partial Differential Equation (PDE) analysis and for solving PDE-constrained optimization problems, with special emphasis on Computational Fluid Dynamics (CFD) and aerodynamic shape design.<br /><br />We'd like to ask you to please distribute this announcement with the attached flyer to any colleagues and students in your department that might be interested.<br /><br />Version 3.0 has a number of major additional capabilities:<br /><br />• Adjoint-based RANS shape optimization.<br />• New unsteady analysis and design optimization capability.<br />• Upgrades to the underlying parallelization and file I/O.<br />• Significant improvements to the accuracy, performance, and robustness of the software suite.<br /><br />Alongside Version 3.0 of SU2, we are introducing SU2 Educational (SU2_EDU): a new, educational version of the Euler/Navier-Stokes/RANS solver from the SU2 suite. The simplified structure of SU2_EDU makes it suitable for students and beginners in CFD. By focusing on a handful of key numerical methods and capabilities, SU2_EDU is ideal for use in CFD courses, for independent studies, or just to learn about a new field!<br /><br />SU2_EDU is also geared toward anyone interested in high-fidelity airfoil analysis. The initial version of SU2_EDU is an intuitive, easy to use tool for computing the performance of airfoils in inviscid, laminar, or turbulent flow including non-linear effects in the transonic regime, that only requires the airfoil coordinates.<br /><br />Finally, we would like to thank the open-source community for their interest, help, and support.<br /><br /><a href="mailto:susquared-dev@lists.stanford.edu">The SU2 team</a> <br /></blockquote><br />One of the most interesting parts to me is the new SU2_EDU version. I've downloaded the code, but haven't had a chance to browse it or run any examples yet. I think this is a neat idea that will hopefully lower the barriers to entry <a href="http://www.variousconsequences.com/2013/03/playing-around-with-su2-compressible.html?showComment=1364389040506#c78784256680640737">that George pointed out previously</a>. <br />Joshua Stultshttp://www.blogger.com/profile/03506970399027046387noreply@blogger.com0