CalculiX Launcher v2 (outdated, storage for links)

All programs comes with their own licenses WITHOUT ANY WARRANTY
read more it at official websites: http://www.calculix.de , http://gmsh.info

Note
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: https://drive.google.com/file/d/0B5Gr1RAbtb2KTXFYMk5vVFFBLUk/view?usp=sharing

@Yandex Drive: https://yadi.sk/d/3rlAn4qAoR8RE
md5sum
fb6a7f31a889a9075511674ab99187b8  CalculiXLauncher-02.zip


Launcher-02 for Linux (Ubuntu tested) 32 bit
@Google Drive: https://drive.google.com/file/d/0B5Gr1RAbtb2KYzRNQVBleTZWWjA/view?usp=sharing
@Yandex Drive: https://yadi.sk/d/rzrlboOwodv2M

md5sum
91a3c30425e867bcc6bae6dbe3e1a6d8  CalculiXLauncher-02-linux32.zip 


__________________________________________________________

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

https://yadi.sk/d/Fs2Fq2ausdQUL 

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









__________________________________________________________ 

 Launcher-02 for Windows 32-64 bit.
@Google Drive:   https://drive.google.com/file/d/0B5Gr1RAbtb2KRjQ5aGJ1MUctaTg/view?usp=sharing

@Yandex Drive: https://yadi.sk/d/x80dsuHIoR7j8

md5sum
a8fd3053333d7c79826e72610ddb9020  CalculiXLauncher2_win.zip



________________________________________________


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

Salome-MECA 2013-1 32 bit for Linux
https://yadi.sk/d/bWAa9Ft2mZS7J
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.
Type:

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

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

______________________________________________
qdis
Measure the distance between nodes
http://youtu.be/yMdQGxBu9Xw
______________________________________________
qadd name
Semi-Interactive card to create the new group 'name'
by selection or add new entities for existing group.
See the video-lesson >>
http://youtu.be/bqEf3GMPA1I
______________________________________________
qrem name
Semi-Interactive card to remove entities for existing
group 'name' by selection. See the video-lesson >>
http://youtu.be/6WFfEjKBWAM
______________________________________________
move
Move or scale model. For example
move all scal 2
will scale all in 2 times.
______________________________________________
send
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
a=1+1
//expression
b=3+a^2

//Output
// show string variable in messagebox

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

//get current directory
path1=pwd()

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

pathname = get_absolute_file_path('test.sce')
chdir(pathname)

//get current directory again
path2=pwd()


//print sometext as output
print('out.txt',sometext)


//argument of a function
x=[-5:0.1:3]

//now the function
function y=f(x)
    if x>=0 then
        y=x^2
    else
        y=-x
    end
endfunction
//plot it
plot(x,f)


//Let's try arrays
c=[1,1;-2,3]
d=[5;2]

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

c1=c^(-1)
x1=c1*d

//variant2, very simple
x2=
c\d

//let's get and show 1-st element of array x2
messagebox(string(x2(1)))

//let's get 2nd column of array 'c'
cc=c(:,2)














https://youtu.be/N2gRYx5r5Xg


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

 https://youtu.be/d2FLcBLUub4













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);
  Serial.begin(9600);
  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.
 https://youtu.be/CP_ZifhiC-U









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

debug

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

m=1
g=9.81
r=1
c=15

Tm=6
y0=-4
v0=0

function ft=u(t)
    ft=500*sin(t*5*2*%pi)
endfunction

function wf=w(t)
    wf=Wm*sin(t*fw*2*%pi)
endfunction

function dz=f(t,y)
    dz=[y(2),g-c*y(1)/m-r*y(2)/m+u(t)/m]
endfunction


z0=[y0;v0];t0=0;t=0:Tm/1000:Tm;
y=ode(z0,t0,t,f)

y1=y(1,:)
plot(t,y1)



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()
{
Serial.begin(9600);
}

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

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

delay(1000);

}


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"
h=openserial("/dev/ttyACM0","9600,n,8,1")
i=1;
while i<=n
data(i) = strtod(readserial(h)); // char to number
plot(i,data(i),'b-o'); // real time plot
drawnow(); // show data
i=i+1;
end


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.

https://youtu.be/HZ88d_n7Q5M