Dear list,
I've just released on Sourceforge the first version of SymSAP (a
symbolic structural analysis program). It is written in Maxima
language and features symbolic matrix analysis of structures. It is
designed to help students in Civil/Mechanical Engineering learn
structural analysis. Maybe someone on this list remember that I was
developing such a program... I've not been developing it regularly,
and in this period too I've been very busy, so I didn't write code for
3 months... I'd like to release a more complete an functional version,
but maybe it's time to upload some snippets of code to play with.
I don't know if a similar program already exists (I remember there was
something like this running in Maple), there are tons of free or
freeware softwares to do structural analysis, but in a numeric way. To
learn, it is more useful to understand the functional dependency
between all involved variables (loads, geometry, mechanical
properties) doing some algebra. I hope sombody will find this useful.
As of now, it is only a calculator and offers a poor interaction, but
things will be improved in the future :-)
It's a very very alpha version, anyway SymSAP is already able to do
some tasks (hopefully without errors!):
- it can perform symbolic structural analysis of plane structures
(frames) according to Euler-Bernoulli model
- output includes analytical equations of strains (axial force, shear
and bending moment) and of beam deformation
- it supports deformability hypotheses, i.e. to suppose axial
deformability negligible wrt flexional one (really useful for student
exercises)
- it supports any type of constraint or restraint, even in skewed
directions, elastic, and internal
- it supports concentrated distortions and thermal loads
Files can be found here:
http://sourceforge.net/projects/symsap/
As soon as I will give more consistency to the code and more
documentation is ready, I will release version 0.1. As of now, only a
readme and some commented examples are available, but maybe it is
enough to test the code, especially if there are some Civil or
Mechanical engineers on this list that want to try. I'm writing a
detailed paper with both theoretical backgrounds and implementation
details of SymSAP, but it takes a while to do something good and
useful, and now I've only written a few pages, and in Italian only,
but in my messy paper notes there is all I need to finish the work ;-)
Anyway, I hope that the code is not too hard to understand, especially
if one knows about matrix structure analysis. Maybe someone can
suggest improvements or do a proofreading of the code. Perhaps most of
the Maxima developers will find the code somehow out of a polished
coding style, I did a (bad) mix of Maxima and C++ styles, mostly
because I prefer to give variables a name that fully represents what
thay are.
Feature planning is rich, I'm really late on my roadmap but in the
future SymSAP will support Timoshenko model, 3D structures and
plotting, plus many other minor features. That's what at least the
core code needs to be able to do. To become a really helpful learning
tool, SymSAP will have a GUI, because with that all resolution methods
that students study in an university course would be easily learned,
in addiction to a more simple usage. I hope to start writing it soon.
Thanks to all the Maxima developers and to who helped me!
Stefano