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 9/24/00
Here is a summary of the updates as of 9/24/00:
Fixed bugs in graphics code for truss in slffea-1.09 and slffea-1.0. You should
just make the fix yourself, since I'd rather not upload everything again. In
the include file ~/slffea-1.1/truss/truss_gr/tsstrcgr.h, change:
double xx;
for the structure ISTRESS and ISTRAIN to:
int xx;
Note that when you change an include file, you should do a
make clean
and rebuild all the object files and executatble again.
|
Here is a summary of the updates as of 9/2/00:
This bug fix applies to the QR code in the generic Lanczos program I put
up at my development page so it should not
effect your current use of SLFFEA unless you are trying to implement
modal analysis by yourself. This was the nastiest bug I've ever had to fix,
and it is very telling about why no one seems able to contribute to SLFFEA .
The difficulty was due to the following:
- The code had a "Segmentation fault" at a point which was far away
from where the actual error occurred. I thought it was due to a memory leak
(the worst type of bug), but it turned out to be improper indexing of a pointer
to a non-existent location.
- It only occurs for a very unique data set, and only if one of the numbers in
the set has 9 significant digits instead of 7. I was very tempted to dismiss
the problem as some quirk in the numerics since every other data set worked, but
couldn't resist trying to find out the exact cause of this very particular bug.
That difference of 2 significant digits caused convergence to the desired eigenvalues
from the left instead of the right, which almost never happens. It led
to a situation which I had not considered, namely the T matrix evolving into
a diagonal matrix except for a 2 X 2 sub-matrix at the bottom right.
- I hadn't looked at my implementation of QR for several months and it
was pretty tricky trying to figure out what it did. I suspect that if it's
this hard for me to figure out my own code, then it must be really difficult
for any coder that may be out there.
The reason I'm documenting all the above is to make a record of
the effort it took to track this bug down. I don't think I'll upload
a new version of slffea-1.09 unless someone is working on modal analysis
and wants me to.
|
Here is a summary of the updates as of 8/22/00:
Fixed bugs in graphics codes for shell, quad, and plate. For the shell,
there was sometimes the problem that when you amplified the deformation,
the face on the opposite side would slice through to the face you were
looking at. I finally understood what caused this and made the fix.
Also, fixed the rendering for the plate and the quad
graphics codes. Basically, I calculated the norms incorrectly so that
they were pointing in the wrong direction. So I'm modifying slffea-1.0
and slffea-1.09. And yes, I'm still working on adding modal analysis.
|
Here is a summary of the updates as of 7/8/00:
Made another small modification in the Conjugate Gradient solver. I replaced
all instances of:
check=matXT(P_el .... )
with
check=matX(P_el .... )
in ~/slffea-1.1/brick/brick2/br2conj.c. This should not have made any difference
because I'm dealing with symmetric matrices, but nevertheless, there is
a slight change in the results. I think this is due to the fact that iterative
methods accumulate small error. The discrepancies here are about O(10e-4),
and this is true for both the Windows and Linux versions.
|
Here is a summary of the updates as of 7/7/00:
Found a bug in the brick2 code ~/slffea-1.1/brick/brick2/br2kasmbl.c
and ~/slffea-1.1/brick/brick2/brcasmbl.c for slffea-1.09. This isn't necessarily
a bug, but should be rewritten since it vastly improves performance in the Conjugate
Gradient solver. On line 375 of br2kasmbl.c, change:
*(K_diag + *(dof_el+j)) = *(K_el + neqel*j + j);
to
*(K_diag + *(dof_el+j)) += *(K_el + neqel*j + j);;
and in brcasmbl.c, for line 216, change:
*(TK_diag + *(Tdof_el+j)) = *(K_el + Tneqel*j + j);
to
*(TK_diag + *(Tdof_el+j)) += *(K_el + Tneqel*j + j);
and on line 357, change:
*(TK_diag + *(TBdof_el+j)) = *(K_el + TBneqel*j + j);
to
*(TK_diag + *(TBdof_el+j)) += *(K_el + TBneqel*j + j);
I've made other small fixes here and there, so it may be worth it to
download again. Why aren't people finding these things?
|
Here is a summary of the updates as of 6/22/00:
Found a bug in the beam code ~/slffea-1.1/beam/beam/bmmasmbl.c for slffea-1.09. This
is the mass assemble subroutine used in eigenvalue analysis, so it shouldn't effect
anything you've been working on. Unfortunately, it messes up the compile. You can
make the change yourself by doing a search for memset and adding a zero between
the two existing variables. So for instance, on line 93 of bmmasmbl.c, change:
memset(rotate,nsdsq*sof);
to
memset(rotate,0,nsdsq*sof);
You should do this for all other memset calls in bmmasmbl.c. I don't know why gcc did not
pick this up in the compile. I'm currently using Slackware 4.0, and it was an attempt
to compile under RedHat 6.1 that the error was found. Thanks to Irene, who is
just beginning to learn programming, for helping me find this problem. Why didn't anyone
else find it?
|
Here is a summary of the updates as of 6/15/00:
Found a mistake in the shell science code. In ~/slffea-1.1/shell/shell/shkasmbl.c,
I call the function shshg twice when calculating the stresses and strains.
Since this does not have any effect on the code(except for slowing
things down a little), I'm not going to bother uploading everything.
Just make the fix yourself by removing the lines 322 and 323 in
~/slffea-1.1/shell/shell/shkasmbl.c or lines 311 and 312 in
~/slffea-1.0/shell/shell/shkasmbl.c:
|
Here is a summary of the updates as of 6/10/00:
Found a bug in the Open Inventor data conversion code for the shell. Since
I doubt anyone uses this code, I'm not going to bother uploading
everything. If you want, just make the fix yourself in
~/slffea-1.1/shell/shell_gr/shinvent.c(or slffea-1.0). Get rid of all references
to "mem_sh_double".
|
Here is a summary of the updates as of 6/4/00:
Found a bug in slffea-1.1 and slffea-1.0 in the graphics
codes for the quad element. I forgot to
display the nodal coordinates for the Node ID.
You can make the change yourself by going to line
874 in ~/slffea-1.0/quad/quad_gr and putting in:
fpointx = *(coord + nsd*node_choice);
fpointy = *(coord + nsd*node_choice + 1);
fpointz = 0.0;
if(!After_flag)
{
fpointx = *(coord0 + nsd*node_choice);
fpointy = *(coord0 + nsd*node_choice + 1);
fpointz = 0.0;
}
sprintf( BoxData[0], "%4d ", node_choice);
strcpy( BoxData[1], "coord x");
sprintf( BoxData[2], "%10.3e ", fpointx);
strcpy( BoxData[3], "coord y");
sprintf( BoxData[4], "%10.3e ", fpointy);
strcpy( BoxData[5], "coord z");
sprintf( BoxData[6], "%10.3e ", fpointz);
sprintf( BoxData[7], " " );
or line 912 in ~/slffea-1.1/quad/quad_gr and putting in:
fpointx = *(coord + nsd*node_choice);
fpointy = *(coord + nsd*node_choice + 1);
fpointz = 0.0;
if(!After_flag)
{
fpointx = *(coord0 + nsd*node_choice);
fpointy = *(coord0 + nsd*node_choice + 1);
fpointz = 0.0;
}
sprintf( BoxData[0], "%4d ", node_choice);
strcpy( BoxData[2], "coord x");
sprintf( BoxData[4], "%10.3e ", fpointx);
strcpy( BoxData[6], "coord y");
sprintf( BoxData[8], "%10.3e ", fpointy);
strcpy( BoxData[10], "coord z");
sprintf( BoxData[12], "%10.3e ", fpointz);
sprintf( BoxData[14], " " );
sprintf( BoxData[16], " " );
Also, I found a bug in the thermal brick code. Go to the file
~/slffea-1.1/brick/brick2gr/br2param2.c and change line 136 to:
&min_strain.I, &max_strain.I);
Also, you should replace all instances of "_el" with "_node"
in br2param2.c. This replacement won't effect the data. It's
just for cleaning up the code. In vi, you can do it by typing
in:
:1,$s/_el/_node/g
|
Here is a summary of the updates as of 5/30/00:
Found a bug in the thermal brick code. Go to the file
~/slffea-1.1/brick/brick2gr/br2writer.c and change line 80 to:
fprintf( o3, " %8.2e %8.2e %8.2e %8.2e %8.2e %8.2e %8.2e\n ",
|
Here is a summary of the updates as of 5/26/00:
Found a few bugs in the thermal brick code. First, go to the file
~/slffea-1.1/brick/brick2gr/br2param2.c and change lines 81 and 82 to:
fscanf( brdata,"%20s %d %d %lf %lf\n", char_dum, &node_T_min,
&node_T_max, &min_T, &max_T);
Also, change line 39 in br2mshkey.c to:
extern double *heat_el, *heat_node, *T, *Q;
The above didn't seem to cause any errors, but you should make the
change anyway. I have also made some improvements in various files
such as brmenu.c for both the brick and brick 2 elements which may
make it worthwhile to download everything again. Lastly, the file
which contains max and min data for the brick 2 element now writes
to and reads from br2view.dat.
|
Here is a summary of the updates as of 5/14/00:
I added a new thermal brick
element which can handle temperature loads as well as orthotropy. I've also
decided to include the eigenvalue code that I'm currently working
on because it is too difficult to maintain 3 different codes(those
who visit often know what I'm talking about). The
eigenvalue work is being done on the beam and brick and has
no effect on linear analysis. Just make sure that nmode is always
set to zero in the input files for the beam and brick.
This new element has many features which have not yet been added
to the other elements. You can read about what they are
here. In addition
I have also included a Windows Port of the code for this
brick element as binaries. This should work on all Windows 9*
and NTs. If there are a lot of request for
the corresponding code, I will put that up as well. I'm also
increasing the version number to slffea-1.09.
|
Here is a summary of the updates as of 4/23/00:
I have made many small changes in slffea-1.07 and have modified the beam
code so that you can have both truss and beam elements. So now the data
for connectivity looks like:
el no.,connectivity, matl no, element type
0 0 1 0 2
1 1 2 0 2
2 2 3 0 2
3 3 4 0 1
4 4 5 0 1
.
.
.
where the 2 in the last column represents the beam element type, and
a 1 represents a truss element. I have also modified the graphics
code for the beam and fixed a bug in ~/slffea-1.1/beam/beam_gr/bmparam2.c
on lines 113-115 and 168-170. The variables on these lines should be
strain, not stress. Because these changes are somewhat significant,
I'm calling the code 1.08. There are many others, so it is worth it
to download again. Thanks to Dr. Piau for recommending this addition
and for a particularly insightful email on how it could easily be done.
|
Here is a summary of the updates as of 4/7/00:
Made another improvement in the screendump for slffea-1.07 and slffea-1.0.
I found out that the targa format needs dimensions which are divisible by 4.
So replace all the if statements in ~/slffea-1.1/common_gr/screenshot.c
or ~/slffea-1.0/common_gr/screenshot.c by the lines below:
/* The width and height have to be multiples of 4. Targa seems to
require this, or else rescaling of the box will result in
distortion of the image
*/
dum = width%4;
width -= dum;
dum = height%4;
height -= dum;
|
Here is a summary of the updates as of 4/2/00:
A bug was found by
Zoran Constantinescu
.
In ~/slffea-1.1/beam/beam_gr/bmpost.c
on line 424 change the code to:
sofmISTRESS=numel;
instead of:
sofmSTRESS=numel;
The file slffea11.tgz has been updated. Many thanks to Zoran.
|
Here is a summary of the updates as of 3/29/00:
Made big improvement in screendump program for slffea-1.07 and slffea-1.0. Before,
if you resized the window, the screendump would result in a distorted image because
there needs to be certain allowable aspect ratios. The code below for
~/slffea-1.1/common_gr/screenshot.c will show you how I fixed it and how you should
make your fix. Below:
unsigned char Header[18];
add this code:
int dum;
/* Set dimensions of window to specified size. Targa seems to
require this, or else rescaling of the box will result in
distortion of the image
*/
dum = 700;
if(width < 700)
{
dum = 680;
if(width < 650)
{
dum = 620;
if(width < 600)
{
dum = 580;
if(width < 550)
{
dum = 520;
if(width < 500)
{
dum = 480;
if(width < 450)
{
dum = 420;
if(width < 400)
{
dum = 380;
if(width < 350)
{
dum = 320;
if(width < 300)
{
dum = 280;
if(width < 250)
{
dum = 220;
}
}
}
}
}
}
}
}
}
}
width = dum;
dum = 700;
if(height < 700)
{
dum = 680;
if(height < 650)
{
dum = 620;
if(height < 600)
{
dum = 580;
if(height < 550)
{
dum = 520;
if(height < 500)
{
dum = 480;
if(height < 450)
{
dum = 420;
if(height < 400)
{
dum = 380;
if(height < 350)
{
dum = 320;
if(height < 300)
{
dum = 280;
if(height < 250)
{
dum = 220;
}
}
}
}
}
}
}
}
}
}
height = dum;
I have also uploaded a new slffea-1.0 binaries package which includes these changes
and is much smaller than the previous one. Of course, sources for slffea-1.0 and
slffea-1.07 are updated as well.
|
Here is a summary of the updates as of 3/24/00:
Major Changes!! to slffea-1.05 so I'm calling it slffea-1.07. There are
several new features so it's worth it to download again. Among them are:
-
Color bar changed to better match other scientific visualization packages
particularly ANSYS. I've also improved the way you can customize the colors.
So if you liked the way slffea looked before, you can change back to those
original colors. I've updated some of the images on these pages to reflect
the color changes.
-
Color bar numbers now go from minimum to maximum values. Before, they only went
from minimum to maximum - (maximum - minimum)/8.0.
-
A file called *view.dat is generated for every element. This file
contains statistical data about the mesh and can be used to change the
range of values over which the colors are displayed. For instance, if
the min and max displacement x for a brick problem are 0.0 and 5.0e-3,
you can edit the file brview.dat and change the maximum value to 3.0e-3
to give more detail about the displacement x in this range.
-
The hotkeys 'i' and 'o' have more functionality relating to orthographic
viewing. As you know, if you press the hotkey 'p', you go from a
perspective view to an orthographic view. When this happens, moving
in and out in the mesh has no effect on how the mesh was displayed. But
now, by pressing 'i' or 'o', you can zoom in and out and see the mesh in
as much detail as desired without going inside the mesh itself. To
see this feature, I suggest you activate the mesh window, press 'p' and
then 'i' a few times.
-
New memory manager functions. Now there are subroutines which do all the
memory allocation. This helps clean things up.
|
Here is a summary of the updates as of 3/23/00:
Added binaries package of slffea-1.0 compiled for Linux. This file is
VERY big(3.5 Megs) even after removing all the source. It's using up a lot
of my space, so I'll keep it here only if it is popular.
|
Here is a summary of the updates as of 3/15/00:
I made a small improvement in the colors on the color scale for
slffea-1.1 and slffea-1.0. This is a very minor modification,
so just make the change below. In ~/slffea-1.1/common_gr/color_gr.h, change to:
GLfloat MeshColor[boxnumber+1][3] = { 0.0, 0.0, 1.0,
0.627, 0.1255, 0.941,
1.0, 0.0, 1.0,
0.8157, 0.1255, 0.5647,
1.0, 0, 0,
1.0, 0.55, 0, <--------- Change is here
1.0, 0.647, 0,
1.0, 1.0, 0,
0.0, 1.0, 0.0 };
and also:
GLfloat orangeRed[3] = { 1.0, 0.55, 0 };
instead of:
GLfloat orangeRed[3] = { 1.0, 0.27, 0 };
Unfortunately, when you change include files, you have to rebuild everything
again. So do a:
cd ~/slffea-1.1/
make clean_gui
make gui
if you are not downloading for the first time.
|
Here is a summary of the updates as of 3/1/00:
Fixed small bug in Makefiles in /slffea-1.1/common/Makefile and /slffea-1.0/common/Makefile.
This was a very minor error and has no effect on the compilation, so just make the
change below. In /slffea-1.1/common/Makefile, change to:
lm.o: lm.c
$(CC) -c lm.c
instead of:
idlm.o: idlm.c
$(CC) -c idlm.c
Again, a very trivial error.
|
Here is a summary of the updates as of 2/4/00:
For the shell patch test code, ~/slffea-1.1/shell/shell/shpatch.c, I added one
more fixed point in node 1 in x and y since it may be underprescribed otherwise.
Instead of downloading again, you should make the fix yourself. In the file
~/slffea-1.1/shell/shell/shpatch.c or ~/slffea-1.0/shell/shell/shpatch.c on
line 160 and 178, add the line:
fprintf( o4, "%4d %14.6e\n",1,0.0);
Since most people would rather just deal with the patch test files, go to
~/slffea-1.1/data/sh/patch.phi or ~/slffea-1.0/data/sh/patch.phi and add
fixed displacements for node 1 in both x and y.
I also added mesh generators for the building problem
~/slffea-1.1/beam/beam/meshbuild.c and a 3-D layered inclusion problem
~/slffea-1.1/brick/brick/meshwedge.c.
|
Here is a summary of the updates as of 1/19/00:
Fixed small bug related to #define in /slffea-1.1/beam/beam_gr/bmsort.c.
Instead of downloading again, you can also make the fix yourself. In the file
/slffea-1.1/beam/beam_gr/bmsort.c, change the code to:
#define big 1e10
instead of 1.0e10.
|
Here is a summary of the updates as of 1/16/00:
I was given a file which will cause a problem with bmpost, so I cleaned up some
sloppy programming in the memory management for all the codes. Instead of downloading
again, you can also make the fix yourself. In the file /slffea-1.1/beam/beam_gr/bmpost.c
/slffea-1.0/beam/beam_gr/bmpost.c, on lines allocating memory for the integers(about
470-500) change the code to:
/* For the integers */
sofmi= numel*npel+numel+numnp+1+numel+1+2+dof;
mem_int=(int *)calloc(sofmi,sizeof(int));
if(!mem_int )
{
printf( "failed to allocate memory for integers\n ");
exit(1);
}
ptr_inc = 0;
connecter=(mem_int+ptr_inc); ptr_inc += numel*npel;
el_matl=(mem_int+ptr_inc); ptr_inc += numel;
bc.force =(mem_int+ptr_inc); ptr_inc += numnp+1;
bc.dist_load=(mem_int+ptr_inc); ptr_inc += numel+1;
bc.num_force=(mem_int+ptr_inc); ptr_inc += 1;
bc.num_dist_load=(mem_int+ptr_inc); ptr_inc += 1;
U_color=(mem_int+ptr_inc); ptr_inc += dof;
el_matl_color = el_matl;
though if you want all the clean-up, you will have to download again.
|
Here is a summary of the updates as of 12/13/99:
I made some changes in the data writing routine for slffea-1.1 and slffea-1.0. These
changes pertain to how applied loads and reaction forces are written out. This isn't
necessarily an improvement, except for the beam science code which now writes out the
applied loads which came from the distributed loads. In most cases, the data output
files do not change. The only times they do are when the loads were not sequentially
written.
|
Here is a summary of the updates as of 12/1/99:
I found a bug in the beam graphics codes for slffea-1.1 and slffea-1.0. It pertains to the
drawing of the moments. Instead of downloading again, you can also
make the fix yourself. In the file /slffea-1.1/beam/beam_gr/bmbc_vec.c or
/slffea-1.0/beam/beam_gr/bmbc_vec.c, on line 514, change the code to:
if( fdum4 > SMALL)
|
Here is a summary of the updates as of 11/26/99:
Remove the input file /slffea-1.1/data/qd/q2. I was using it to test
the program, so it really isn't usable as an input example.
Also, I found a bug in the truss graphics code for slffea-1.1 and slffea-1.0.
Instead of downloading again, you can also make the fix yourself.
In the file /slffea-1.1/truss/truss_gr/tspost.c, on line 497, and
in the file /slffea-1.0/truss/truss_gr/tspost.c, on line 509, change
the code to:
*(coord0 + nsd*i + 2) = *(coord+nsd*i+2) + *(U+ndof*i+2);
|
Here is a summary of the updates as of 11/22/99:
I found a bug in the non-linear brick code for slffea-1.1 and slffea-1.0. It pertains to the
way the mass matrix is created. Instead of downloading again, you can also
make the fix yourself. In the file /slffea-1.1/brick/brick_nl/brfmasmbl.c,
at the bottom, change the code to:
*(mass+*(dof_el+ndof*j)) += *(mass_el + ndof*j);
*(mass+*(dof_el+ndof*j+1)) += *(mass_el + ndof*j + 1);
*(mass+*(dof_el+ndof*j+2)) += *(mass_el + ndof*j + 2);
|
Here is a summary of the updates as of 10/27/99:
I found a bug in the beam graphics codes for slffea-1.05. It pertains to the
way the distributed loads are drawn. Instead of downloading again, you can also
make the fix yourself. In the file /slffea-1.1/beam/beam_gr/bmparam.c, define a new
variable:
int el_num;
at the top, and at the bottom, change the code to:
for( i = 0; i < bc.num_dist_load[0]; ++i )
{
/* Calculate dist_load_vec */
el_num = bc.dist_load[i];
dist_load_vec_length =
*(dist_load + 2*el_num )*(*(dist_load + 2*el_num )) +
*(dist_load + 2*el_num + 1)*(*(dist_load + 2*el_num + 1)) +
SMALL;
dist_load_vec_length = sqrt(dist_load_vec_length);
dist_load_vec0[i].qy = -
*(dist_load + 2*el_num )*.5/dist_load_vec_length;
dist_load_vec0[i].qz = -
*(dist_load + 2*el_num + 1)*.5/dist_load_vec_length;
/*printf(" dist_load %d %10.5e %10.5e %10.5e %10.5e %10.5e\n",
i, dist_load_vec_length, *(dist_load + 2*el_num ), *(dist_load + 2*el_num + 1),
dist_load_vec0[i].qy, dist_load_vec0[i].qz);*/
}
|
Here is a summary of the updates as of 10/11/99:
Somehow, the Makefile of the beam got erased for slffea-1.05. I've
put it back in. Sorry about that. Thanks to Chuck Stuart for pointing
this out.
|
Here is a summary of the updates as of 9/30/99:
For slffea-1.05, I modified dotX so that the argument list now reads:
int dotX( double *C, double *A,double *B, int n)
instead of
int dotX( double *A,double *B, double *C, int n)
This was done to make it more consistent with matX and matXT. Of
course, this resulted in changes to all programs using dotX.
I also have added text executables within each data directory which
will run the correct scientific or graphics binary in the corresponding
program directory. For instance, if you are in the /slffea-1.1/data/bm
directory, you can run the beam codes by just typing bm and
bmpost.
|
Here is a summary of the updates as of 9/12/99:
I didn't find any bugs so the changes I made relate to only slffea-1.1. The first
two codes to have major changes are:
~/slffea-1.1/common/crossx.c
~/slffea-1.1/common/matx.c.
the vector cross product and matrix multiply respectively. I also made some
very minor changes in the graphics codes which you can ignore.
For the beam, you can now specify the local z axis for an element. Before, this
was done automatically by the code. Note that for this change, I added to the beam
input files the lines:
element with specified local z axis: x, y, z component
38 0.0 0.0 1.000
39 0.0 1.414 1.414
-10
right above the:
prescribed displacement x: node disp value
line. If you still want the program to determine all the local axes for you, then
just have the -10 terminator flag without any data.
From this point forward, I will be working on adding modal analysis for all linear
elements.
|
Here is a summary of the updates as of 9/8/99:
The only significant change is on lines 104 and 114 of ~/slffea-1.0/beam/beam/fembeam.c,
where you should change them to:
sofmf=numnp*nsd+numel*(nsd-1)+2*dof;
and
dist_load=(mem_double+ptr_inc); ptr_inc += numel*(nsd-1);
respectively. Do this for version 1.1 also if you have it. Don't bother re-downloading. In
terms of version 1.1, I'm working on the beam element, so it has important
differences from 1.1 of the last update. It still runs like before, and uses the same
data files though.
|
Here is a summary of the updates as of 9/6/99:
I have added a new version of the code slffea-1.05. I am currently naming it
slffea-1.1 because all the sources and Makefiles refer to it as slffea-1.1.
This new version cleans up the inefficient memory allocation of the stress0(or moment0)
variables. I had wanted to make this improvement for a while, and it was actually
quite simple. I'll be working on the beam element next, and then
try to add modal analysis with the Lanczos method. If and when this is completed,
I'll officially consider that version 1.1.
Also, In the course of doing these modifications, I discovered a few
very minor bugs which I have fixed in 1.0 as well. My advice to you
would be to download 1.05 instead of 1.0 before I make the next update which
may make some minor changes in the format of the input files.
|
Here is a summary of the updates as of 9/3/99:
Fixed small bug on line 71 of ~/slffea-1.0/shell/shell/shpatch.c. Removed
one "%lf" since I am only scanning in 3 values, not four. This should not
affect you unless you were using the tools to run the patch test for the shell.
Removed stray tab in graphics Makefiles. Again, this update has no effect in
GNU/Linux, just on an SGI.
|
Here is a summary of the updates as of 9/2/99:
Fixed small bug relating to variable "name". Worked fine
on GNU/Linux, but caused problems on SGI.
|
Here is a summary of the updates as of 8/29/99:
Made small modifications in graphics Makefiles.
|
Here is a summary of the updates as of 8/13/99:
Fixed bug in beam element. I had assigned the stresses and moments incorrectly,
where I switched the xx and zz moments. Modified code and input/output files. I also
indicate in the data files that the moments apply to the local beam coordinate system.
Later, I may add the ability to specify your own local axes on the beam. This will slightly
change the beam input files.
|
Here is a summary of the updates as of 7/20/99:
Started with a simple
truss code
and added 6 more elements including GUIs for each
type.
|
|