CalculiX Launcher v2 (outdated, storage for links)

All programs comes with their own licenses WITHOUT ANY WARRANTY
read more it at official websites: ,

This is outdated version, please don't use it!

Stable (old) version of CalculiX Launcher for Ubuntu (CalculiX CCX 2.8p2+2.9 MT, with Mohr Coulomb user model for testing). You may obtain it here:

Launcher-02 for Linux (Ubuntu tested) 64 bit
@Google Drive:

@Yandex Drive:

Launcher-02 for Linux (Ubuntu tested) 32 bit
@Google Drive:
@Yandex Drive:



Patches (linux only) for Launcher v2 to get some new functions of Launcher v3 beta (current full version of Launcher 3 is here) 

Changes: CCX2.10+CCX2.8p2, CCX Wizard


 Launcher-02 for Windows 32-64 bit.
@Google Drive:

@Yandex Drive:



Salome-MECA 64-bit for Linux can be downloaded here:
md5sum A78EAE0B1937F06CED8E7F570B05F94B
tgz with Linux run file (just ./run it to install)

Salome-MECA 2013-1 32 bit for Linux
md5sum c64a303e33607cb376dd21e95ed8057c
Salome for Windows (64 bit)
md5sum 5A1B19A27905AE540DD4731500A31FE3
Windows exe archive (just unzip it to C:\ and run salome_run.bat file)

Read more about Salome at here.

CalculiX CGX as Postprocessor

Main CGX cards (Post-processing)
(type commands when CalculiX GraphiX window is active

Use min/max cards to investigate stress distribution
For example max 250000000 will show areas with red color
where stress is > 250000000

Picture above shows Von-Mises stress in the beam, where max. stress value is 83700 psi (US inits) is very localized
Let's type max 50000
Now you can see red areas with stress>50,000 psi (from stress concentration and at the tip of beam where concentrated load is applied)

'scal' ['s'|'v'|'d'] [<value>]

This keyword is used to scale the graphic presentation of values but no values of entities.

scal d 10.
will scale the deformed shape by a factor of 10.

To see this picture, you should select GGX menu:
 Viewing>>Toggle Add-Displacement
Read CGX documentation for more information!


CalculiX CGX as Preprocessor

Main CGX cards (Pre-processing mode)
Type commands when CalculiX GraphiX window is active, see response and output at terminal emulator (black) window.

prnt se

will show list or all groups with number of entities


At picture above the group 'fixed' has 672 nodes, 'bore2' has  1353 nodes
Let's show them in graphic window.

plus n fixed m
plus n bore2 b

In this case 'n' means nodes, 'm' - magenta, 'b' - blue (color).

plot <entity> <group> <color> - will show the group of entities
plus <entity> <group> <color>
 will add the group of entities to existing view

plot n all – show all nodes (group ='all')
plot e VOL1 – show elements of the group 'VOL1'
plot na all – all nodes with their numbers

White w, Black k, Red r, Green g, Blue b, Yellow y,
Magenta m, Nickel 'n' (metallic gray) and turquois t

plus na BC1 r - will add view for nodal group BC1 (red colour)

Measure the distance between nodes
qadd name
Semi-Interactive card to create the new group 'name'
by selection or add new entities for existing group.
See the video-lesson >>
qrem name
Semi-Interactive card to remove entities for existing
group 'name' by selection. See the video-lesson >>
Move or scale model. For example
move all scal 2
will scale all in 2 times.
Write some data to the text file. For example
send all abq
will write all mesh without groups (nodes and elements)
for shell elements renaming the type of element is required
(open file with text editor, search for "*Elements" and rename)
Send card is used to apply boundary conditions (it will create text file, that shell be attached in CCX inp file using *INCLUDE

send load abq pres 1.0
write the file with pressure = 1 for
the group of faces with name = 'load'

send surf abq film 1200. 0.5

will assign the film temperature of 1200 and
the film coefficient 0.5 to all element-faces in set surf.
send surf abq dflux 0.5

will assign the flux of 0.5 to all element-faces in set surf.
send fix1 abq nam
write nodes for the group 'fix1' into
the txt file with 'num' extension
comp name do
Add faces to nodal group 'name', or
add nodes and faces to the elemental group

Read CalculiX CGX documentation for more information!!!


Steam Engine

Really interesting structure, that fits the definition "made of faeces and sticks"
Unfortunately the fabricator don't have money for new pressure gauge, so he should be careful in his experiments.

Getting Started with Scilab

1. Install and run Scilab (it is available in Ubuntu Software Center)
2. Type scinotes or  go to Applications-->SciNotes

//scalar variables

// show string variable in messagebox

sometext='variable b='+string(b)

//get current directory

//change current directory
//to where current file is saved
//at first save it as 'test'

pathname = get_absolute_file_path('test.sce')

//get current directory again

//print sometext as output

//argument of a function

//now the function
function y=f(x)
    if x>=0 then
//plot it

//Let's try arrays

//solve linear system c x = d
//variant1, via Matrix Inverse


//variant2, very simple

//let's get and show 1-st element of array x2

//let's get 2nd column of array 'c'

The example below shows to to build simple electrical circuit with xcos (scicos)

Next simple example shows simple hydraulic circuit

Arduino + Small DC motor

This little engine has the ability to buzz.
You can manage the level with command like

analogWrite(motorPin, speed);

where speed is 0 to 255 means level.

I am using details from Starter Kit
Mosfet transistors [IRF520], (to manage voltage for motor)
1N4007 diod (for protection)
TFK-280SA-22125 MOTOR (6V DC)

See the circuit below (click to enlarge)

//Arduino code (google examples for more details)

const int motorPin =  9; // the number of the motor pin

int switchState = 0;  // variable for reading the switch's status

void setup() {
  // initialize the motor pin as an output:
  pinMode(motorPin, OUTPUT);
  while (! Serial);
  Serial.println("Speed 0 to 255");

void loop()
  if (Serial.available())
    int speed = Serial.parseInt();
    if (speed >= 0 && speed <= 255)
      analogWrite(motorPin, speed);

Connect arduino usb to computer, open terminal emulator (ubuntu) and allow this device to run:
sudo chmod a+rw /dev/ttyACM0

Upload the sketch (see the code above) and open Tools>Serial Monitor
Type any value from 0 to 255 into command line

At 255 it is running at full speed and buzzes very fine. 100 is slower. 50 is very slow. At 30 it stuck.

Unfortunately I don't have propeller now, and can't make this test more interesting. You may google for lessons, where it is combined with temperature sensor for PID control.

Scilab - ODE Second order (mass on spring with damping and external force)


// diff equation
// m*y'' = m*g-c*y-r*y'+u(t)



function ft=u(t)

function wf=w(t)

function dz=f(t,y)



Arduino UNO + TMP36 temperature sensor + Scilab

1. Create circuit with TMP36 sensor (google for examples)

2. Connect arduino to computer via USB port (it is for data exchange and power). In Ubuntu 14 you should allow this device. Open terminal and run

sudo chmod a+rw /dev/ttyACM0

note 'ttyACM0' is optional. You may need to change this line.
In arduino software check for:  Tools>Port

3. Install and run arduino software. Create new sketch (google for details):

int outputpin= 0;

void setup()

//main loop
void loop()
int rawvoltage= analogRead(outputpin);

float volts= (rawvoltage/1024.0) * 5;
float celsius= (volts-0.5)*100;



Go to Sketch > Upload.
Go Tools > Serial Monitor to see output (Temperature, degrees C, each 1 sec)

4. SciLab  > Applications > Module Manager - ATOMS > Real Time > Serial Communication Toolbox for Scilab

Install it and re-run scilab

5. Type Scinotes or go to Applications > SciNotes

Create code like (read help for details and commands):

n=300 // plot 300 data points from serial port "/dev/ttyACM0"
while i<=n
data(i) = strtod(readserial(h)); // char to number
plot(i,data(i),'b-o'); // real time plot
drawnow(); // show data

And run it (arduino monitor should be closed).
You will see output in real time. Scilab is getting string output (temperature) and transfer it to the numbers.

SciLab/Xcos also has special tool for Arduino. You may google videos on youtube for that.