Difference between revisions of "Resurrecting Impact"
Jump to navigation
Jump to search
PeterHarding (talk | contribs) (Created page with "= 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. = Background = See: * https://impact.org * https://jogl.org == JOGL == A build occurred in August 2023 and I have be...") |
PeterHarding (talk | contribs) (→JOGL) |
||
(11 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
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. | 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 supported with a number of other Finite Element Analysis tools - such as GID | |||
Line 9: | Line 15: | ||
* https://impact.org | * https://impact.org | ||
* https://jogl.org | * https://jogamp.org/jogl/ | ||
* https://jogamp.org/jogl/www/ | |||
* https://jogamp.org/gluegen/www/ | |||
* https://sourceforge.net/projects/impact/ | |||
* https://impact.sourceforge.net/index_us.html | |||
= 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 | |||
<pre> | |||
- src The Java source code | |||
-- gui | |||
-- j3d | |||
... | |||
-- utils | |||
-- houskeeping Various stand alone Java apps for testing various bits (such as JOGL) | |||
- 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 .gitignored) | |||
<pre> | |||
As well as the Java code, I have started to play around with reimplementing the front end in SwiftUI (for mac and iPad) and also in Go lang mostly the back-end - but it turns out there are libraries which can support Cocoa apps on macOS. So I am experimenting with this. | |||
Separate repos for these experiments can be found here along with other experimental code: | |||
* https://gitlab.com/performiq/impact | |||
= Links = | |||
* https://jogamp.org/wiki/index.php/Downloading_and_installing_JOGL | |||
= Dependencies = | |||
== JOGL == | == JOGL == | ||
A build occurred in August 2023 and I have been able to use this for simple OpenGLJava programs. | 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 | |||
* https://github.com/JogAmp | |||
* https://github.com/JogAmp/jogl | |||
* https://github.com/JogAmp/gluegen | |||
= 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... | |||
* | |||
= Go Notes = | |||
* https://github.com/therecipe/qt | |||
* https://fyne.io/ | |||
* | |||
* | |||
= Swift/SwiftUI Notes = | |||
* | |||
* | |||
* | |||
= Also See = | |||
* https://admin.performiq.com/kb/index.php/Java_Permissions_Note | |||
* https://performiq.com/kb/index.php/JOGL_Notes | |||
* | |||
* | |||
Latest revision as of 10:46, 27 January 2025
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 supported with a number of other Finite Element Analysis tools - such as GID
Background
See:
- https://impact.org
- https://jogamp.org/jogl/
- https://jogamp.org/jogl/www/
- https://jogamp.org/gluegen/www/
- https://sourceforge.net/projects/impact/
- https://impact.sourceforge.net/index_us.html
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 The Java source code -- gui -- j3d ... -- utils -- houskeeping Various stand alone Java apps for testing various bits (such as JOGL) - 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 .gitignored)As well as the Java code, I have started to play around with reimplementing the front end in SwiftUI (for mac and iPad) and also in Go lang mostly the back-end - but it turns out there are libraries which can support Cocoa apps on macOS. So I am experimenting with this. Separate repos for these experiments can be found here along with other experimental code: * https://gitlab.com/performiq/impactLinks
* https://jogamp.org/wiki/index.php/Downloading_and_installing_JOGLDependencies
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 * https://github.com/JogAmp * https://github.com/JogAmp/jogl * https://github.com/JogAmp/gluegenJava 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... *Go Notes
* https://github.com/therecipe/qt * https://fyne.io/ * *Swift/SwiftUI Notes
* * *Also See
* https://admin.performiq.com/kb/index.php/Java_Permissions_Note * https://performiq.com/kb/index.php/JOGL_Notes * *