# 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.

## Physics Models

Dynamics, basic principles relationships, materials properties. We believe that http://www.ode.org could be a good simulation engine for realtime, or non-realtime calculations. Here is an excellent summary document: http://keithcu.com/cgi-bin/hg.cgi?raw-file/073cec0e2635/docs/dynamics.pdf

If someone wants to to help the get thing going, let me know! I have read that some people have put ODE into blender, so that is another possibility!

We are getting all of this code going for the Vision project.

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

(Can someone please analyze this FEniCS project?)

Complete list [1]

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.

Ribbon dimensions, performance trade-offs, overall interactions matrix.

## Collaboration

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.

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

People complain that it is a little hard to get into, but many who have used it for months come to love it. It is extremely powerful and it has some physics simulation capabilities built in and supports Collada.

Complete tutorial: [2]

UI Intro: [3]

Various tutorials: [4]

Wikibook: [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/

Matlab-type: http://en.wikipedia.org/wiki/GNU_Octave