|
|||||
|
|||||
News |
|||||
|
|||||
|
|||||
introduction |
|||||
What is this? HMD is an engineering application for finite element modeling. Finite element modeling is a standard technique used in the aerospace industry for computing the structural strength and vibrational properties of aircraft components, such as wings. Finite element modeling is also used in diverse engineering applications such as computing the temperature gradients in structural components and computing fluid flow dynamics. The finite element technique has increasingly been used to calculate the strengths of electromagnetic fields. Engineers doing analysis work at aircraft and aerospace companies might recognize the names of software packages such as ANSYS. HMD for Computer Modeling is a software program similar to ANSYS, of course, on a much smaller scale. Engineering students (at UCSD) might recognize the name of a software program called FELT. HMD for Computer Modeling is a program similar to FELT, with some major differences on the user interface. It is not generally taught to the engineering student this way, but broadly speaking, the standard finite element technique is a recipe for computing the answer to a second-order, partial differential equation in a continuum media. And the continuum media is, broadly speaking, a special case of a Potential Field problem. Engineering disciplines, such as mechanical and electrical engineering, are very compartmentalized in thinking. It is not common to use the same software to calulate the temperature distribution in a plate and also solve the electric potential by transforming the units. Commercial finite element software is therefore designed with completely separate functionality for problems of thermal, structural, or electromagnetic mathematics, so as to best provide an understandable interface to the working engineer. These functional modules are usually sold as separate packages at a considerable price. HMD for Computer Modeling was designed by a humble student of the physical sciences, and therefore presents to the user a finite element problem from the general point-of-view of continuum physics or potential theory. This leaves the user with the task of translating the parameters of a typical engineering problem into general mathematical units consistent with the form of a second-order, partial differential equation. HMD for Computer Modeling is a command-line program. There is no graphical user interface. Furthermore, the creation of a mesh for the computer model is done with a separate program called GMSH, which does have a graphical user interface. The creation of a mesh comprises a considerable proportion of the work involved in a two or three dimensional model. It is, therefore, more fair to the authors of GMSH to call the HMD approach to finite elements a GMSH / HMD system. GMSH is used as a separate program, not linked as a library. GMSH will create an output file which then will be read by the HMD program. As for viewing the output of the model, this can be done with various plotting packages. The output file from HMD will contain scalar magnitude values at x, y, z positions. The 1-dimensional problems are easily viewed with any plotter, for example Gnuplot or Scilab. To view the 2-dimensional output, I have used an Opengl-based package called GMV (which was used to create the plot at the top of this web page) . There are other freely-available Opengl packages that you might try, if you have the scripting skill to transform the HMD output file into the native format of that particular display program. HMD has a built-in function for producing output in GMV format for two-dimensional problems. For three-dimensional problems, I have used a freely-available Opengl-based program called vis5d+, which was designed to view weather and atmospheric physics problems. HMD comes with a utility for converting its output to a vis5d+ input file. As well as creating mesh files, GMSH is also a very capable display program for the output. However, there is no conversion utility provided with the HMD package for displaying the output with GMSH. HMD uses LAPACK for solving the finite element matrices. Originally, The HMD package required the user to download and compile the LAPACK package separately, but now the source code for LAPACK is included with HMD by permission of the LAPACK authors. LAPACK is the same matrix solver used in mathematics software like Matlab and Scilab. |
|||||
|
|||||
download |
|||||
Installation instructions are contained in the user manual as well as a README file. It is a standard tar ball installation, based on the autoconf package manager, for unix-like operating systems. |
|||||
Distributions compatible with g77 |
|||||
In case you are working with older GNU development tools, I am making providing the original g77 project in both a source and binary distribution. The binary was compiled against glibc 2.3.2 and g77 (gcc 3.3.4). |
|||||
Source distribution for g77
|
|||||
Binary distribution built with g77
To install this package, simply copy it to the root directory and unpack it with tar jxvf hmd-bin-3.1.3.tar.bz2whereupon its contents will be copied into the /usr/local path. To uninstall this package use the script uninstall-hmd.sh. |
|||||
|
|||||
The Future Development of HMD |
|||||
The HMD software program was developed between 2001 and 2005. The work stopped around 2005 because I was exhausted from the effort, and because I needed to reconsider how best to improve the software. In addition to that, my time and energy was devoted to writing contemporary space music. The program was originally intended to be a few C functions for building finite element models, but it turned into a mini platform for building a finite element model. A scripting language, similar to Scilab (or Matlab) was created for reading files and as an interactive work space. Then I began looking at ways to expand the software to solve more kinds of problems. A later development to the HMD software was an algorithm I named "cell modeling." It was an experimental idea based on the finite difference of Poisson's equation. It actually works, but as a practical computer algorithm it has several drawbacks. In essence, it is just a fixed-point iteration on a cartesian grid. To be practical it needs to work on an arbitrary spacial subdivision that would be obtained with a common meshing program such as GMSH. In the course of its derivation I noticed how the cell mathematics resembled the Green's function magic rule (see the HMD manual), but I was yet unable to develop this principle. I have since made progress in that work, which I share with you in the following summary: Finite Difference Approximations and Numerical Greens Functions. In 2014 I began new development of the HMD platform. After a hiatus of about 9 years I decided that there has been to much investment of time and energy into HMD to let it drop. In August 2014 the revised project was posted to SourceForge as HMD for Computer Modeling 4.0.0. The initial development resulted in a complete revision of the error handling, a restructuring of the project, and bug fixes in the parser. The cell modeling code mentioned above has been dropped in future revisions. The mission of HMD was originally as a finite element solver, and the support for finite elements is still present. But recent development for HMD has become increasingly in the direction of applied mathematics. In particular, the latest new capability is intended for developing ODE (ordinary differential equation) models. I said developing ODE models, not solving them! Of course there are ODE solvers in the new HMD, but the emphasis is on research, not generating data. |
|||||
|
|||||
|
|||||
|