Contents
SLFFEA HOME
SLFCFD HOME
SLFCEM HOME
GUI
Image Gallery
Download
Philosophy
Preamble
FAQ
GNU/Linux
Update
Development
Acknowledgments
Links
CFD
Periodic Table
Stuff About Me
San Le
Artwork
Email
|
Updates to SLFFEA
Updated 8/9/06
Here is a summary of the updates as of 8/9/06:
For data with prestressed elements for the triangle and tetrahedral elements, I
had to make a slight modification of the *reader.c codes. Because the stresses
are constant throughout each element, there is no gauss data point data to read.
So I removed the lines:
fscanf( o4,"%d",&dum2);
printf( " node (%1d)",dum2);
in /slffea-1.*/tetra/tetra/tereader.c and ~/slffea-1.*/tri/tri/trreader.c for the
tetrahedron and triangle respectively. In tereader.c, these lines occur at around
line 215 and in the triangle, they occur around line 194. Most people won't be
affected by this unless you use prestressed elements.
|
Here is a summary of the updates as of 3/12/06:
The mesh generator for the Saint Venant problem needed to be fixed. Somehow,
the good version was lost and I only had an earlier not finished code in its
place. The generator is for the brick element:
~/slffea-1.3/brick/brick/meshtorsion.c
|
Here is a summary of the updates as of 3/6/06:
Took a break to work on SLFCFD. You can see it at:
www.slfcfd.com
|
Here is a summary of the updates as of 5/15/05:
I've modified the shell code so that it can handle shells defined by 4 nodes in
addition to 8 nodes. If the shell is defined by 4 nodes only, you will need to
specify a thickness. NOTE THAT 4 NODE SHELLS ARE NOT NECESSARILY SHELLS OF
CONSTANT THICKNESS! Here is some information on the new element:
- The thicknesses of 4 node shells will be averaged over the shared nodes
of adjacent elements to generate a set of corresponding top nodes.
- As an example, the first part of a new shell data file might look like:
numel numnp nmat nmode integ_flag This is a shell cylinder
56 72 8 0 1
matl no., E mod., Poiss. Ratio, density, shear fac. , thickness
0 393000000.0000 0.3300 2770.0000 0.8333 4.0
1 432000000.0000 0.3300 2770.0000 0.8333 2.0
2 392000000.0000 0.3100 2770.0000 0.8333 1.414
3 389000000.0000 0.3300 2770.0000 0.8333 1.0
4 322300000.0000 0.3300 2770.0000 0.8333 1.0
5 392900000.0000 0.0000 2770.0000 0.8333 1.414
6 922000000.0000 0.0000 2770.0000 0.8333 2.0
7 432000000.0000 0.3300 2770.0000 0.8333 4.0
- I take the cross product of shell edges to get normals at nodes, which are
then used to generate corresponding top nodes.
- This shell code can still read the old shell data files.
- The graphics code for the shell was modified to handle the new data format
although it will still work with the old.
- I am providing 2 new meshes which illustrate this new element. One is the
roof problem now defined by 4 node shells.
These changes are significant, but I will continue to call it version 1.27.
|
Here is a summary of the updates as of 3/17/05:
This is the first update I have made in about 2 years. It pertains mostly
to the beam element, but there were small fixes in everything else as well
as the earlier codes. The additions to the beam include:
- Added 2 new beam element types.
-
Added Reisner-Midlin (shear deformable) Beam
-
Added hinge element
- The beam also writes out stress and strain components xy and zx. For some
elements, like the truss, these components are zero. This can be true for
the Euler-Bernoulli non-shear deformable beam as well, and you can see the
file ~/slffea-1.3/beam/beam/notes to read what it means when these values
are non-zero. I also maintain a lot of extra code which allows you to compare
the different methods of calculation. I expected that all the different
methods should ultimately give the same results, so I did an extensive study to
confirm this. So while there are only 4 distinct elements, there are actually
a total of 9 element types. You can read about all this in the "notes" files.
- This beam code can still read the old beam data files, although the output
will reflect the new data format.
- The graphics code for the beam was modified to handle the new data format
although it will still work with the old.
These changes are significant, so I will bump the version number to 1.27. Of course,
it will still extract the tarfile to slffea-1.3.
|
Here is a summary of the updates as of 1/29/03:
Fixed a bug in truss Makefile for all versions. At approximately
line 66 in:
~/slffea-1.*/truss/truss/Makefile
change:
tswirter.o: tswirter.c
$(CC) -c tswirter.c
to
tswriter.o: tswriter.c
$(CC) -c tswriter.c
Somehow, the compiler is able to overcome this typo.
I've also added a large deformation truss element for
slffea-1.25.
This element has some interesting properties which you can read about in:
~/slffea-1.3/truss/truss/README
|
Here is a summary of the updates as of 1/15/03:
Fixed a bug in truss graphics code for all versions. At approximately
line 450 - 500 in:
~/slffea-1.*/truss/truss_gr/tspost.c
change:
if( !input_flag )
{
for ( i = 0; i < numnp; ++i)
{
*(coord0 + nsd*i) = *(coord+nsd*i) + *(U+ndof*i);
*(coord0 + nsd*i + 1) = *(coord+nsd*i+1) + *(U+ndof*i+1);
*(coord0 + nsd*i + 2) = *(coord+nsd*i+2) + *(U+ndof*i+2);
}
}
to
if( !input_flag )
{
for ( i = 0; i < numnp; ++i)
{
*(coord0 + nsd*i) = *(coord+nsd*i) - *(U+ndof*i);
*(coord0 + nsd*i + 1) = *(coord+nsd*i+1) - *(U+ndof*i+1);
*(coord0 + nsd*i + 2) = *(coord+nsd*i+2) - *(U+ndof*i+2);
}
}
Also, the pre-compiled binary package
slffeabin.tgz
for slffea-1.0 is now compiled using dynamic Mesa libraries rather than static. This
makes the tarfile much smaller and since most Linux distributions come with Mesa,
there should be no problem.
|
Here is a summary of the updates as of 7/10/02:
This isn't really a bug but an omission. For the truss codes, I
forgot to replace a few instances of bzero with memset.
You can make the change yourself by replacing all the bzero's with
memset's in the codes:
~/slffea-1.*/truss/truss/tsmasmbl.c
and
~/slffea-1.*/truss/truss/tsmassp.c
Unix and Linux users should see no difference, only those trying to compile on
Windows. Thanks to Erik Hansen for pointing this out.
|
Here is a summary of the updates as of 6/20/02:
Fixed a very minor bug in both science and graphics codes. To
make the fix yourself, edit in the science directories of
all the elements the file *id.c changing line 28 from:
int dof, neqn;
to
extern int dof, neqn;
and in *lanczos.c, on line 43, from:
int iteration_max;
to:
extern int iteration_max;
In the graphics, change line 31 of ~/slffea-1.*/common_gr/mshcommon.c from:
double AxisMax_x, AxisMax_y, AxisMax_z, AxisMin_x, AxisMin_y, AxisMin_z;
to:
extern double AxisMax_x, AxisMax_y, AxisMax_z, AxisMin_x, AxisMin_y, AxisMin_z;
and in ~/slffea-1.*/beam/beam_gr/bmmshdsp.c, line 43 from:
XYZF_GR *dist_load_vec;
to:
extern XYZF_GR *dist_load_vec;
I've had this type of bug before, and gcc never catches it. Thanks to
Tom Impelluso,
for finding it by compiling on an SGI.
|
Here is a summary of the updates as of 1/28/02:
I've just released a new development code, which I will call
slffea-1.25,
although the extracted tarfile will produce a slffea-1.3 directory. In this
release, I have only modified the graphics:
- I rescale the entire mesh coordinates and displacements based on
the absolute largest coordinate dimension. This was necessary
because the graphical display had a problem when dimensions were larger than 1000
or smaller than .1.
- I added a transparency feature where you can see through the mesh.(Press
the hotkey "t").
- I added toggling on and off of the wire frame. (Press
the hotkey "j").
- The numbering of hash marks on the axes is also improved. Now the
numbers maintain their orientation with the viewer.
Beyond the above, I'm still deciding what I should work on next. Currently,
I'm inclined towards the EM code, which if successful, will move things up
to version 1.3. This code is pretty stable so you should probably use it
instead of 1.2.
|
On January 10th, 2002 I presented SLFFEA Version 1.2
at
KPLUG - Kernel Panic Linux Users Group - San Diego
. The meeting was held at:
Room: 401 & 402
San Diego County Office of Education
6401 Linda Vista Road
San Diego, CA
Time: 7:00 to 9:00 PM
|
Here is a summary of the updates as of 11/27/01:
Version 1.2 is finally here.
You can get it at the
download page. There
have been major changes made to the code as well as input files. Here
are the most significant:
Science Code Changes
Graphics Code Changes
I will reiterate the notes for when I put up the development
code on 7/14/01:
- Rendering improved-Now rendering retains the colors of the current
analyzed quantity.
- Cutting planes-This is a very exciting addition to the GUI
because it allows you to cut away layers of the mesh and look inside.
Please use it. Press the hotkey "s" and the cutting planes will appear.
Now you can use the arrow keys to move the x and y cutting planes.
Also, < and > move the z cutting plane.
- Labeled axes-I have added numerical labeling of the hash marks
on the axes.
|
Go
here
to see the previous update page listing the modifications leading to Version
1.2.
|
Go
here
to see the previous update page listing the modifications leading to Version
1.1.
|
|