Resurrecting Impact
Revision as of 20:39, 22 January 2025 by PeterHarding (talk | contribs)
Impact Uplift Notes
I have been working with Damian McGuckin of PacificESI to see if it is feasible to resurrect the Impact finite element analysis package. This is implemented in Java but depends on a very old Java OpenGL library JOGL v1. JOGL was refactored a decade or so ago (into v2) to support new graphics technology such as GPU shaders.
Overview
- A Swing GUI is included for working with the config files - java run gui.ImpactGUI
- A CLI mechanism to run an analysis - java run.Impact SomeModel.in
- Integration is provided for GID
Background
See:
- https://impact.org
- https://jogamp.org/jogl/
- https://jogamp.org/jogl/www/
- https://jogamp.org/gluegen/www/
Components
- run - Run various code
- Java UI - gui
- Java 3D - j3d (See j3d.org) - Java code is included in the project.
- Jama - Java Matrix (code included)
- jp - code included
- uka - code included
Code
I have set up working repos in GitLab.com as follows:
- https://gitlab.com/performiq/impact-java-orig (git@gitlab.com:performiq/impact/impact-java-orig.git) - a copy of the original code drop that Damian gave me
- https://gitlab.com/performiq/impact-java-updated (git@gitlab.com:performiq/impact/impact-java-updated.git) - I have started to reorganisr and refactor the repo
- https://gitlab.com/performiq/impact-java-rebooted (git@gitlab.com:performiq/impact/impact-java-rebooted.git) - A file by file rebuild of the repo
Note: In the original code base classes and images were all mixed in with the source. Scripts and config files along with other stuff were dumped at the top level. I have started to structure the repo to separate these out. I am using Eclipse as an IDE for the Java variants.
Repository Structure
- src -- gui -- j3d ... -- utils - classes (Java compiled class files) - bin Scripts (following the UNIX convention) - config Configuration files - data - doc. Markdown files - examples *.in and results examples - html HTML documentation - a copy of the Impact web site? - images Non source images - interfaces Gmsh and Impact.gid integration documentation - lib Libraries (JOGL, etc.) - resources -- images - trials A temp folder for storing intermediate results files in (is .ignored)JOGL
A build occurred in August 2023 and I have been able to use this for simple OpenGLJava programs. * https://jogamp.org/jogl/doc/Overview-OpenGL-Evolution-And-JOGL.htmlJava Notes
* https://jausoft.com/blog/2023/02/22/reimagine-java-on-desktop-bare-metal-devices/ * https://opengl.j3d.org/installing.html - This is ancient and out of date... *Also See
* https://admin.performiq.com/kb/index.php/Java_Permissions_Note