jurabr / ddfor

Direct stiffness method code for retrocomputing.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DDFOR 1.0: Simple direct stiffness method solver (for statics of frames).

This program is written in the K&R syntax of the C programming language.
It is meant for retrocomputing (computers from 80').

Licensed under the GNU GPL version 2.


MANUAL
======

Introduction
------------

The code can solve beams and frames in x-y plane. Only static loads (forces 
in nodes, moments in nodes, continuous loads on beams are allowed).

The code uses the Direct Stiffness Method
(http://en.wikipedia.org/wiki/Direct_stiffness_method)


Usage
-----

ddfor [inputfile [outputfile] [elementforcesfile] [plotfile] [mode]]

If no "inputfile" is given then program pseudo-interactively asks for data 
(note: there is no command line editing and no undo). The pseudo-interactive 
feature may not work in no-POSIX environments (in DOS). 

If no "outputfile" is defined then results will by written to the terminal.
Detailed list of internal forces is only available if the "elementforcesfile"
file name is provided. 

The "plotfile" can be used to save data in Gnuplot-compatible form. The 2nd 
and 3rd columns cover X and Y coordinates, the 4th and 5th are for  N, the 6th
and 7th are for V and the 8th and 9th are for M internal forces.

If name of any of the output files starts with the "0" or the "-" characters
the this file is not written.

The "mode" have to be:
- non-present of 0 for statics
- 1 for stability
- 2 or mode for modal analysis (the number >2 means number of frequencies 
  to be computed). Note: there is a bug for higher modal frequencies -
  do not use them!


Conventions
-----------

X-Y axes orientation:

^ Y
|
o---> X

Positive forces and displacements orientation:

^ +FY, +uy
|
o---> +FX,+ux

Positive load on beams:

-> -> -> -> -> ->  +n (in direction of beam axis ... type 1)

vvvvvvvvvvvvvvvvvv +v (normal to  beam ... type 2)


Element types:
--------------

0 .. |---| .. no hinges 
1 .. o---| .. hinge at start
2 .. |---o .. hinge at end
3 .. o---o .. two hinges 


Boundary conditions types
-------------------------

1 .. displacement in X direction (ux)
2 .. displacement in Y direction (uy)
3 .. rotation 


Loads (in nodes) types
----------------------

1 .. force in X direction (Fx)
2 .. force in Y direction (Fy)
3 .. moment 


Element loads types
-------------------

1 .. continuous load in X direction (n)
2 .. continuous load in Y direction (v)


Graphical output recomendations
-------------------------------

The Gnuplot software can be used for visualiztion of results 
( http://www.gnuplot.info ). The output is comatible with 
the Gnuplot 3.2 and better. The command syntax is:

Geometry of structure:
plot "plotfile" using 2:4 with linespoints

Normal forces:
plot "plotfile" using 2:4 with lines,"plotfile" using 2:5

Shear forces:
plot "plotfile" using 2:4 with lines,"plotfile" using 2:7

Bending moments:
plot "plotfile" using 2:4 with lines,"plotfile" using 2:9



Compatibility (tested)
----------------------

GNU/Linux (Ubuntu/x86)
GNU/Linux (Debian/armhf)
GNU/Linux (Debian/arm)
GNU/Linux (OpenWRT/mipsel)
2.11BSD (PDP-11)
IRIX 6.5 (SGI MIPS)
IRIX 5.3 (SGI MIPS)
Mac OS 10.3 (PowerPC)
MS-DOS 2.x (Atari Portfolio)
MS-DOS 3.x (HP 95LX, Psion MC600)
MS-DOS 5.x (HP 200LX)

About

Direct stiffness method code for retrocomputing.


Languages

Language:C 97.2%Language:Gnuplot 2.1%Language:Makefile 0.5%Language:Batchfile 0.1%