Simulation: Difference between revisions
No edit summary |
|||
Line 80: | Line 80: | ||
(''Can someone please analyze and comment on this FEniCS project?'') | (''Can someone please analyze and comment on this FEniCS project?'') | ||
http://www.fenics.org/wiki/FEniCS_Project | http://www.fenics.org/wiki/FEniCS_Project | ||
http://libmesh.sourceforge.net/ | |||
Complete list [http://en.wikipedia.org/wiki/List_of_finite_element_software_packages] | Complete list [http://en.wikipedia.org/wiki/List_of_finite_element_software_packages] |
Revision as of 06:30, 23 July 2008
<issues search = "false" filter = "false"/>
Simulation and Engineering Software
Scenarios
Imagine you built a simulator so that when you added weight to the climber, the ribbon dimensions got bigger. If a spreadsheet created calculations that boiled down to simple algebraic formulas, those could be put into a video game. If someone improves the spreadsheet, they can swap in different algebraic constants.
Collaboration
For sharing documents and spreadsheets, we will use OpenOffice.org It is free, uses a good XML file format, runs on all platforms, has spreadsheets you can embed in a document, support for math, diagrams, PDF, etc., etc Having everything in one tool helps to keep things organized, make it easy to collaborate. Keith worked on text engines for 5 years, and just wrote a book using the OpenOffice writer and is sure it is good enough.
OpenOffice has the ability to merge documents, and to do change-tracking, and there other solutions, because underlying the OpenOffice document is a bunch of textual XML which can easily be merged and diffed. As more people start working on documents at the same time, we can find what works best.
In general it should not be a problem: People can read an (old version) of a binary document all they want, and if they want to edit it, they should make sure they have the latest copy, make changes, and then upload them right away. The idea that our spreadsheets will be so busy that there will be merge conflicts is very optimistic!
We could try various things like GoogleDocs for spreadsheet collaboration, but we throw away like 90% of our features! I think that is a bad idea.
Spreadsheets
A Spreadsheet is a monster tool, but the various pieces need to be linked or otherwise integrated. Just think how many places a spreadsheet cost calculator must go to come up with a "final" number! Spreadsheets get very cool when you start to combine the data from various pieces together. Every separate spreadsheet is a locked up silo of information, unless it is linking to other ones. We have 16 spreadsheets in our archives, and that number already is too big. If you were to build a finite element analysis engine inside a spreadsheet, I would suggest that be a separate one! It is possible to have our models and simulations be huge and easy to approach. You just organize the data into Sheets, Create headings, make important boxes be highlighted, etc.
Complete list:
Some available spreadsheets:
- File:Energy worksht.ods
- File:Cable worksheet.ods
- File:Off-Equator Cable.ods
- File:Length Vs Climbers.ods
Additional spreadsheets available in the archive require cleaning
- File:Climber mass.ods
- File:SEMassTaper.ods
- File:Interplanetary+Orbits.ods
- File:E&S Orbit.ods
- File:Deployment Mass Calcs New.ods
- File:Climber Number.ods
- File:Climber Mass.ods
- File:Asteroid.ods
- File:Angular Momentum New.ods
Collada
We will use the Collada format which is open, XML, has 3-D and physics capabilities. Collada introduction: http://keithcu.com/cgi-bin/hg.cgi?raw-file/6bcb243bfc7d/docs/COLLADA.odp
Blender
Blender is the Ferrari of 3-D graphics packages. Like a Ferrari, it is missing creature comforts like cupholders, but it is extremely powerful, has a huge community, has physics simulation capabilities built in and supports Collada.
Monster feature list: http://www.blender.org/features-gallery/features/
Gallery of pretty pictures: http://www.blender.org/features-gallery/gallery/art-gallery/
Online Manual TOC: http://wiki.blender.org/index.php/Manual
Complete Tutorial: [1]
UI Intro: [2]
Various tutorials: [3]
Wikibook: [4]
Help organize / simplify this list and put your comments by these documents
Physics Models
Dynamics, basic principles relationships, materials properties.
Blender comes with a physics engine, and a simulation UI, etc. so we should start by doing all the physics work inside the existing engine inside Blender and leaving the below for the walk phase.
We believe that http://www.ode.org could be a good simulation engine for realtime, or batch-processed calculations. With Ode.Net, we can program it in C#. We can connect it to a C# wrapper around Ogre, and have a high quality game engine to display the simulations run by Ode. However, some have also put (or attempted to put) ODE into Blender, and that is another way.
Intro to a physics game engine: http://keithcu.com/cgi-bin/hg.cgi?raw-file/073cec0e2635/docs/dynamics.pdf
Discussion of Ogre, Ode, Blender, etc: http://www.ogre3d.org/phpBB2/viewtopic.php?p=276861&sid=ce193664e1d3d7c4af509e6f4e2718c6
More discussions: Codebase_Analysis#Physics_Engines
Finite Element Analysis
Matlab-type: http://en.wikipedia.org/wiki/GNU_Octave
Does many things including FEA.
(Can someone please analyze and comment on this FEniCS project?) http://www.fenics.org/wiki/FEniCS_Project
http://libmesh.sourceforge.net/
Complete list [5]
K3D
This is a powerful, but simpler 3-D program we are also considering using: http://www.k-3d.org/wiki/Main_Page
This is what people will use if they are going to spend 5 minutes looking around, but they will use Blender if they are going to spend 5 hours.
Other Software
NASA's free code: http://opensource.arc.nasa.gov/