Simulation

From SpaceElevatorWiki.com
Jump to navigationJump to search

<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:

Additional spreadsheets available in the archive require cleaning

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 a Ferrari of 3-D graphics packages. It is missing 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

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/