OpenGL simulation of the 3D geometry of a system of crystal growth
written by Arye Meir
This project is an openGl - Mesa visualization of a demo for computing the temperature field ,during the solidification of a crystal from the melt .
It is basically a tool for the visualization of the domain on which we do our computations; by this we apply tools for the better understanding of the geometry constraints we apply during the evaluations of the radiative terms in the heat equations;
The program gives some tools for rendering the object like applying clipping plains to cut the object at different plains ,so you can see what a point in the inner crucible sees, applying a point light source to the object ,to get the feeling of what the shadow-temperature field looks like , if we have a point source of radiation-light, rotating the object to see it from different angles and plotting the temperature field as contours on the inner crucible, to show the results of the computations.
The project set of tools- to compile and run the project you should have some files : the openGL-Mesa source file is visualproj.c it needs an input file input.inp : the temperature field points on the inner crucible , you have also the executable visualproj that runs on linux pc's platforms . if you are interested in the temperature field computations program , you need the file st53.f which is the source code and two input files fembspi.res and femb7.inp the first one is the initial guess ,the second one is the set of parameters; you can get the executable for linux platforms st53 ,but you need the input files to run it.
Compiling the programs- for the openGL source you need to get the Makefile then just type make visualproj the makefile assumes you have the Mesa and glut libraries in /usr/lib ,if not ,you should change the libs directory in the make file ,for other platforms you need to know some parameters of the system like: the C compiler, the flags and the location of the Xlibs and the openGL libs (I hope to give an executable for win32 ),for running just type ./visualproj .
For compiling the computational source you need to have a fortran compiler ,then just type f77 -O2 st53.f -o st53 ,then running it by ./st53 there is a part in the source where you can choose to solve the equations for the radiation fluxes (see the documentation file) with a set of lapack commands ,if you choose to do so ,compile with f77 -O2 st53.f -o st53 -llapack this procedures do not depend on the platform you are using.
using the visualproj program - type ./visualproj to run the program , you should see the object , then click on the mouse's right button to get the menu every choice is made just like making choices in windows, if you choose to rotate the object it is done by moving the mouse (like a flight simulator )
Documentation - to get the documentation for the program just follow the link documentation.html there you can get full documentation for the openGL source and a minimal one for the computational source.
Some Theory - You can find the theoretical and mathematical aspects of the problem in Theoretical Analysis.html
Some examples - these are some examples made by me with the visual program using the input file given here.
A plain example of the model
contours on the inner crucible
A diagonal light from a point source
Getting the programs