Resurrecting Impact

From PeformIQ Upgrade
Revision as of 20:42, 22 January 2025 by PeterHarding (talk | contribs)
Jump to navigation Jump to search

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:


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:

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 (Graph.conf, opt.conf, Post.conf, Pre.conf, Pro.conf, ...)
- data         Not used yet
- doc          Markdown files (put together by me)
- examples     *.in and results examples
- html         HTML documentation - a copy of the Impact web site?  Was in the doc folder.
- images       Non source images
- interfaces   Gmsh and Impact.gid integration documentation
- lib          Libraries (JOGL, etc.)
- resources
  -- images.   Images referenced from Java source code
- 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.html

Java 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